< prev index next >

src/hotspot/share/asm/codeBuffer.hpp

Print this page
@@ -50,10 +50,13 @@
  
  class CodeOffsets: public StackObj {
  public:
    enum Entries { Entry,
                   Verified_Entry,
+                  Inline_Entry,
+                  Verified_Inline_Entry,
+                  Verified_Inline_Entry_RO,
                   Frame_Complete, // Offset in the code where the frame setup is (for forte stackwalks) is complete
                   OSR_Entry,
                   Exceptions,     // Offset where exception handler lives
                   Deopt,          // Offset where deopt handler lives
                   DeoptMH,        // Offset where MethodHandle deopt handler lives

@@ -65,25 +68,29 @@
  
    enum { frame_never_safe = -1 };
  
  private:
    int _values[max_Entries];
+   void check(int e) const { assert(0 <= e && e < max_Entries, "must be"); }
  
  public:
    CodeOffsets() {
      _values[Entry         ] = 0;
      _values[Verified_Entry] = 0;
+     _values[Inline_Entry  ] = 0;
+     _values[Verified_Inline_Entry] = -1;
+     _values[Verified_Inline_Entry_RO] = -1;
      _values[Frame_Complete] = frame_never_safe;
      _values[OSR_Entry     ] = 0;
      _values[Exceptions    ] = -1;
      _values[Deopt         ] = -1;
      _values[DeoptMH       ] = -1;
      _values[UnwindHandler ] = -1;
    }
  
-   int value(Entries e) { return _values[e]; }
-   void set_value(Entries e, int val) { _values[e] = val; }
+   int value(Entries e) const { check(e); return _values[e]; }
+   void set_value(Entries e, int val) { check(e); _values[e] = val; }
  };
  
  // This class represents a stream of code and associated relocations.
  // There are a few in each CodeBuffer.
  // They are filled concurrently, and concatenated at the end.
< prev index next >