8024760: add more types, fields and constants to VMStructs

Fri, 13 Sep 2013 16:55:44 -0700

author
twisti
date
Fri, 13 Sep 2013 16:55:44 -0700
changeset 5726
69f26e8e09f9
parent 5725
01b268b3080a
child 5727
ae3e68933caf
child 5728
22194f27fbfb
child 5730
6d7eba360ba4

8024760: add more types, fields and constants to VMStructs
Reviewed-by: kvn, coleenp

agent/src/share/classes/sun/jvm/hotspot/CommandProcessor.java file | annotate | diff | comparison | revisions
src/share/vm/gc_implementation/g1/ptrQueue.hpp file | annotate | diff | comparison | revisions
src/share/vm/gc_implementation/g1/vmStructs_g1.hpp file | annotate | diff | comparison | revisions
src/share/vm/memory/universe.cpp file | annotate | diff | comparison | revisions
src/share/vm/memory/universe.hpp file | annotate | diff | comparison | revisions
src/share/vm/oops/klassVtable.hpp file | annotate | diff | comparison | revisions
src/share/vm/oops/methodData.hpp file | annotate | diff | comparison | revisions
src/share/vm/runtime/os.hpp file | annotate | diff | comparison | revisions
src/share/vm/runtime/vmStructs.cpp file | annotate | diff | comparison | revisions
     1.1 --- a/agent/src/share/classes/sun/jvm/hotspot/CommandProcessor.java	Fri Sep 13 04:16:54 2013 -0700
     1.2 +++ b/agent/src/share/classes/sun/jvm/hotspot/CommandProcessor.java	Fri Sep 13 16:55:44 2013 -0700
     1.3 @@ -1213,6 +1213,7 @@
     1.4                  }
     1.5                  HotSpotTypeDataBase db = (HotSpotTypeDataBase)agent.getTypeDataBase();
     1.6                  if (t.countTokens() == 1) {
     1.7 +                    String name = t.nextToken();
     1.8                      out.println("intConstant " + name + " " + db.lookupIntConstant(name));
     1.9                  } else if (t.countTokens() == 0) {
    1.10                      Iterator i = db.getIntConstants();
    1.11 @@ -1235,6 +1236,7 @@
    1.12                  }
    1.13                  HotSpotTypeDataBase db = (HotSpotTypeDataBase)agent.getTypeDataBase();
    1.14                  if (t.countTokens() == 1) {
    1.15 +                    String name = t.nextToken();
    1.16                      out.println("longConstant " + name + " " + db.lookupLongConstant(name));
    1.17                  } else if (t.countTokens() == 0) {
    1.18                      Iterator i = db.getLongConstants();
     2.1 --- a/src/share/vm/gc_implementation/g1/ptrQueue.hpp	Fri Sep 13 04:16:54 2013 -0700
     2.2 +++ b/src/share/vm/gc_implementation/g1/ptrQueue.hpp	Fri Sep 13 16:55:44 2013 -0700
     2.3 @@ -38,6 +38,7 @@
     2.4  
     2.5  class PtrQueueSet;
     2.6  class PtrQueue VALUE_OBJ_CLASS_SPEC {
     2.7 +  friend class VMStructs;
     2.8  
     2.9  protected:
    2.10    // The ptr queue set to which this queue belongs.
     3.1 --- a/src/share/vm/gc_implementation/g1/vmStructs_g1.hpp	Fri Sep 13 04:16:54 2013 -0700
     3.2 +++ b/src/share/vm/gc_implementation/g1/vmStructs_g1.hpp	Fri Sep 13 16:55:44 2013 -0700
     3.3 @@ -31,7 +31,8 @@
     3.4  
     3.5  #define VM_STRUCTS_G1(nonstatic_field, static_field)                          \
     3.6                                                                                \
     3.7 -  static_field(HeapRegion, GrainBytes, size_t)                                \
     3.8 +  static_field(HeapRegion, GrainBytes,        size_t)                         \
     3.9 +  static_field(HeapRegion, LogOfHRGrainBytes, int)                            \
    3.10                                                                                \
    3.11    nonstatic_field(HeapRegionSeq,   _regions, HeapRegion**)                    \
    3.12    nonstatic_field(HeapRegionSeq,   _length,  uint)                            \
     4.1 --- a/src/share/vm/memory/universe.cpp	Fri Sep 13 04:16:54 2013 -0700
     4.2 +++ b/src/share/vm/memory/universe.cpp	Fri Sep 13 16:55:44 2013 -0700
     4.3 @@ -602,7 +602,7 @@
     4.4    }
     4.5  }
     4.6  
     4.7 -static intptr_t non_oop_bits = 0;
     4.8 +intptr_t Universe::_non_oop_bits = 0;
     4.9  
    4.10  void* Universe::non_oop_word() {
    4.11    // Neither the high bits nor the low bits of this value is allowed
    4.12 @@ -616,11 +616,11 @@
    4.13    // Using the OS-supplied non-memory-address word (usually 0 or -1)
    4.14    // will take care of the high bits, however many there are.
    4.15  
    4.16 -  if (non_oop_bits == 0) {
    4.17 -    non_oop_bits = (intptr_t)os::non_memory_address_word() | 1;
    4.18 +  if (_non_oop_bits == 0) {
    4.19 +    _non_oop_bits = (intptr_t)os::non_memory_address_word() | 1;
    4.20    }
    4.21  
    4.22 -  return (void*)non_oop_bits;
    4.23 +  return (void*)_non_oop_bits;
    4.24  }
    4.25  
    4.26  jint universe_init() {
     5.1 --- a/src/share/vm/memory/universe.hpp	Fri Sep 13 04:16:54 2013 -0700
     5.2 +++ b/src/share/vm/memory/universe.hpp	Fri Sep 13 16:55:44 2013 -0700
     5.3 @@ -179,6 +179,8 @@
     5.4    // The particular choice of collected heap.
     5.5    static CollectedHeap* _collectedHeap;
     5.6  
     5.7 +  static intptr_t _non_oop_bits;
     5.8 +
     5.9    // For UseCompressedOops.
    5.10    static struct NarrowPtrStruct _narrow_oop;
    5.11    // For UseCompressedKlassPointers.
     6.1 --- a/src/share/vm/oops/klassVtable.hpp	Fri Sep 13 04:16:54 2013 -0700
     6.2 +++ b/src/share/vm/oops/klassVtable.hpp	Fri Sep 13 16:55:44 2013 -0700
     6.3 @@ -150,6 +150,8 @@
     6.4  //      from_compiled_code_entry_point -> nmethod entry point
     6.5  //      from_interpreter_entry_point   -> i2cadapter
     6.6  class vtableEntry VALUE_OBJ_CLASS_SPEC {
     6.7 +  friend class VMStructs;
     6.8 +
     6.9   public:
    6.10    // size in words
    6.11    static int size() {
     7.1 --- a/src/share/vm/oops/methodData.hpp	Fri Sep 13 04:16:54 2013 -0700
     7.2 +++ b/src/share/vm/oops/methodData.hpp	Fri Sep 13 16:55:44 2013 -0700
     7.3 @@ -72,6 +72,8 @@
     7.4  //
     7.5  // Overlay for generic profiling data.
     7.6  class DataLayout VALUE_OBJ_CLASS_SPEC {
     7.7 +  friend class VMStructs;
     7.8 +
     7.9  private:
    7.10    // Every data layout begins with a header.  This header
    7.11    // contains a tag, which is used to indicate the size/layout
     8.1 --- a/src/share/vm/runtime/os.hpp	Fri Sep 13 04:16:54 2013 -0700
     8.2 +++ b/src/share/vm/runtime/os.hpp	Fri Sep 13 16:55:44 2013 -0700
     8.3 @@ -91,6 +91,8 @@
     8.4  typedef void (*java_call_t)(JavaValue* value, methodHandle* method, JavaCallArguments* args, Thread* thread);
     8.5  
     8.6  class os: AllStatic {
     8.7 +  friend class VMStructs;
     8.8 +
     8.9   public:
    8.10    enum { page_sizes_max = 9 }; // Size of _page_sizes array (8 plus a sentinel)
    8.11  
     9.1 --- a/src/share/vm/runtime/vmStructs.cpp	Fri Sep 13 04:16:54 2013 -0700
     9.2 +++ b/src/share/vm/runtime/vmStructs.cpp	Fri Sep 13 16:55:44 2013 -0700
     9.3 @@ -330,11 +330,13 @@
     9.4    nonstatic_field(Klass,                       _java_mirror,                                  oop)                                   \
     9.5    nonstatic_field(Klass,                       _modifier_flags,                               jint)                                  \
     9.6    nonstatic_field(Klass,                       _super,                                        Klass*)                                \
     9.7 +  nonstatic_field(Klass,                       _subklass,                                     Klass*)                                \
     9.8    nonstatic_field(Klass,                       _layout_helper,                                jint)                                  \
     9.9    nonstatic_field(Klass,                       _name,                                         Symbol*)                               \
    9.10    nonstatic_field(Klass,                       _access_flags,                                 AccessFlags)                           \
    9.11 -  nonstatic_field(Klass,                       _subklass,                                     Klass*)                                \
    9.12 +  nonstatic_field(Klass,                       _prototype_header,                             markOop)                               \
    9.13    nonstatic_field(Klass,                       _next_sibling,                                 Klass*)                                \
    9.14 +  nonstatic_field(vtableEntry,                 _method,                                       Method*)                               \
    9.15    nonstatic_field(MethodData,           _size,                                         int)                                   \
    9.16    nonstatic_field(MethodData,           _method,                                       Method*)                               \
    9.17    nonstatic_field(MethodData,           _data_size,                                    int)                                   \
    9.18 @@ -342,10 +344,15 @@
    9.19    nonstatic_field(MethodData,           _nof_decompiles,                               uint)                                  \
    9.20    nonstatic_field(MethodData,           _nof_overflow_recompiles,                      uint)                                  \
    9.21    nonstatic_field(MethodData,           _nof_overflow_traps,                           uint)                                  \
    9.22 +  nonstatic_field(MethodData,           _trap_hist._array[0],                          u1)                                    \
    9.23    nonstatic_field(MethodData,           _eflags,                                       intx)                                  \
    9.24    nonstatic_field(MethodData,           _arg_local,                                    intx)                                  \
    9.25    nonstatic_field(MethodData,           _arg_stack,                                    intx)                                  \
    9.26    nonstatic_field(MethodData,           _arg_returned,                                 intx)                                  \
    9.27 +  nonstatic_field(DataLayout,           _header._struct._tag,                          u1)                                    \
    9.28 +  nonstatic_field(DataLayout,           _header._struct._flags,                        u1)                                    \
    9.29 +  nonstatic_field(DataLayout,           _header._struct._bci,                          u2)                                    \
    9.30 +  nonstatic_field(DataLayout,           _cells[0],                                     intptr_t)                              \
    9.31    nonstatic_field(MethodCounters,       _interpreter_invocation_count,                 int)                                   \
    9.32    nonstatic_field(MethodCounters,       _interpreter_throwout_count,                   u2)                                    \
    9.33    nonstatic_field(MethodCounters,       _number_of_breakpoints,                        u2)                                    \
    9.34 @@ -357,6 +364,7 @@
    9.35    nonstatic_field(Method,               _access_flags,                                 AccessFlags)                           \
    9.36    nonstatic_field(Method,               _vtable_index,                                 int)                                   \
    9.37    nonstatic_field(Method,               _method_size,                                  u2)                                    \
    9.38 +  nonstatic_field(Method,               _intrinsic_id,                                 u1)                                    \
    9.39    nonproduct_nonstatic_field(Method,    _compiled_invocation_count,                    int)                                   \
    9.40    volatile_nonstatic_field(Method,      _code,                                         nmethod*)                              \
    9.41    nonstatic_field(Method,               _i2i_entry,                                    address)                               \
    9.42 @@ -443,12 +451,19 @@
    9.43       static_field(Universe,                    _bootstrapping,                                bool)                                  \
    9.44       static_field(Universe,                    _fully_initialized,                            bool)                                  \
    9.45       static_field(Universe,                    _verify_count,                                 int)                                   \
    9.46 +     static_field(Universe,                    _non_oop_bits,                                 intptr_t)                              \
    9.47       static_field(Universe,                    _narrow_oop._base,                             address)                               \
    9.48       static_field(Universe,                    _narrow_oop._shift,                            int)                                   \
    9.49       static_field(Universe,                    _narrow_oop._use_implicit_null_checks,         bool)                                  \
    9.50       static_field(Universe,                    _narrow_klass._base,                           address)                               \
    9.51       static_field(Universe,                    _narrow_klass._shift,                          int)                                   \
    9.52                                                                                                                                       \
    9.53 +  /******/                                                                                                                           \
    9.54 +  /* os */                                                                                                                           \
    9.55 +  /******/                                                                                                                           \
    9.56 +                                                                                                                                     \
    9.57 +     static_field(os,                          _polling_page,                                 address)                               \
    9.58 +                                                                                                                                     \
    9.59    /**********************************************************************************/                                               \
    9.60    /* Generation and Space hierarchies                                               */                                               \
    9.61    /**********************************************************************************/                                               \
    9.62 @@ -456,6 +471,7 @@
    9.63    unchecked_nonstatic_field(ageTable,          sizes,                                         sizeof(ageTable::sizes))               \
    9.64                                                                                                                                       \
    9.65    nonstatic_field(BarrierSet,                  _max_covered_regions,                          int)                                   \
    9.66 +  nonstatic_field(BarrierSet,                  _kind,                                         BarrierSet::Name)                      \
    9.67    nonstatic_field(BlockOffsetTable,            _bottom,                                       HeapWord*)                             \
    9.68    nonstatic_field(BlockOffsetTable,            _end,                                          HeapWord*)                             \
    9.69                                                                                                                                       \
    9.70 @@ -495,6 +511,7 @@
    9.71    nonstatic_field(CollectedHeap,               _barrier_set,                                  BarrierSet*)                           \
    9.72    nonstatic_field(CollectedHeap,               _defer_initial_card_mark,                      bool)                                  \
    9.73    nonstatic_field(CollectedHeap,               _is_gc_active,                                 bool)                                  \
    9.74 +  nonstatic_field(CollectedHeap,               _total_collections,                            unsigned int)                          \
    9.75    nonstatic_field(CompactibleSpace,            _compaction_top,                               HeapWord*)                             \
    9.76    nonstatic_field(CompactibleSpace,            _first_dead,                                   HeapWord*)                             \
    9.77    nonstatic_field(CompactibleSpace,            _end_of_live,                                  HeapWord*)                             \
    9.78 @@ -505,7 +522,7 @@
    9.79    nonstatic_field(ContiguousSpace,             _saved_mark_word,                              HeapWord*)                             \
    9.80                                                                                                                                       \
    9.81    nonstatic_field(DefNewGeneration,            _next_gen,                                     Generation*)                           \
    9.82 -  nonstatic_field(DefNewGeneration,            _tenuring_threshold,                           uint)                                   \
    9.83 +  nonstatic_field(DefNewGeneration,            _tenuring_threshold,                           uint)                                  \
    9.84    nonstatic_field(DefNewGeneration,            _age_table,                                    ageTable)                              \
    9.85    nonstatic_field(DefNewGeneration,            _eden_space,                                   EdenSpace*)                            \
    9.86    nonstatic_field(DefNewGeneration,            _from_space,                                   ContiguousSpace*)                      \
    9.87 @@ -552,6 +569,11 @@
    9.88    nonstatic_field(ThreadLocalAllocBuffer,      _desired_size,                                 size_t)                                \
    9.89    nonstatic_field(ThreadLocalAllocBuffer,      _refill_waste_limit,                           size_t)                                \
    9.90       static_field(ThreadLocalAllocBuffer,      _target_refills,                               unsigned)                              \
    9.91 +  nonstatic_field(ThreadLocalAllocBuffer,      _number_of_refills,                            unsigned)                              \
    9.92 +  nonstatic_field(ThreadLocalAllocBuffer,      _fast_refill_waste,                            unsigned)                              \
    9.93 +  nonstatic_field(ThreadLocalAllocBuffer,      _slow_refill_waste,                            unsigned)                              \
    9.94 +  nonstatic_field(ThreadLocalAllocBuffer,      _gc_waste,                                     unsigned)                              \
    9.95 +  nonstatic_field(ThreadLocalAllocBuffer,      _slow_allocations,                             unsigned)                              \
    9.96    nonstatic_field(VirtualSpace,                _low_boundary,                                 char*)                                 \
    9.97    nonstatic_field(VirtualSpace,                _high_boundary,                                char*)                                 \
    9.98    nonstatic_field(VirtualSpace,                _low,                                          char*)                                 \
    9.99 @@ -713,6 +735,13 @@
   9.100                                                                                                                                       \
   9.101    static_field(ClassLoaderDataGraph,           _head,                                         ClassLoaderData*)                      \
   9.102                                                                                                                                       \
   9.103 +  /**********/                                                                                                                       \
   9.104 +  /* Arrays */                                                                                                                       \
   9.105 +  /**********/                                                                                                                       \
   9.106 +                                                                                                                                     \
   9.107 +  nonstatic_field(Array<Klass*>,               _length,                                       int)                                   \
   9.108 +  nonstatic_field(Array<Klass*>,               _data[0],                                      Klass*)                                \
   9.109 +                                                                                                                                     \
   9.110    /*******************/                                                                                                              \
   9.111    /* GrowableArrays  */                                                                                                              \
   9.112    /*******************/                                                                                                              \
   9.113 @@ -720,7 +749,7 @@
   9.114    nonstatic_field(GenericGrowableArray,        _len,                                          int)                                   \
   9.115    nonstatic_field(GenericGrowableArray,        _max,                                          int)                                   \
   9.116    nonstatic_field(GenericGrowableArray,        _arena,                                        Arena*)                                \
   9.117 -  nonstatic_field(GrowableArray<int>,               _data,                                         int*) \
   9.118 +  nonstatic_field(GrowableArray<int>,          _data,                                         int*)                                  \
   9.119                                                                                                                                       \
   9.120    /********************************/                                                                                                 \
   9.121    /* CodeCache (NOTE: incomplete) */                                                                                                 \
   9.122 @@ -763,7 +792,20 @@
   9.123    /* StubRoutines (NOTE: incomplete) */                                                                                              \
   9.124    /***********************************/                                                                                              \
   9.125                                                                                                                                       \
   9.126 +     static_field(StubRoutines,                _verify_oop_count,                             jint)                                  \
   9.127       static_field(StubRoutines,                _call_stub_return_address,                     address)                               \
   9.128 +     static_field(StubRoutines,                _aescrypt_encryptBlock,                        address)                               \
   9.129 +     static_field(StubRoutines,                _aescrypt_decryptBlock,                        address)                               \
   9.130 +     static_field(StubRoutines,                _cipherBlockChaining_encryptAESCrypt,          address)                               \
   9.131 +     static_field(StubRoutines,                _cipherBlockChaining_decryptAESCrypt,          address)                               \
   9.132 +     static_field(StubRoutines,                _updateBytesCRC32,                             address)                               \
   9.133 +     static_field(StubRoutines,                _crc_table_adr,                                address)                               \
   9.134 +                                                                                                                                     \
   9.135 +  /*****************/                                                                                                                \
   9.136 +  /* SharedRuntime */                                                                                                                \
   9.137 +  /*****************/                                                                                                                \
   9.138 +                                                                                                                                     \
   9.139 +     static_field(SharedRuntime,               _ic_miss_blob,                                 RuntimeStub*)                          \
   9.140                                                                                                                                       \
   9.141    /***************************************/                                                                                          \
   9.142    /* PcDesc and other compiled code info */                                                                                          \
   9.143 @@ -853,6 +895,7 @@
   9.144     volatile_nonstatic_field(Thread,            _suspend_flags,                                uint32_t)                              \
   9.145    nonstatic_field(Thread,                      _active_handles,                               JNIHandleBlock*)                       \
   9.146    nonstatic_field(Thread,                      _tlab,                                         ThreadLocalAllocBuffer)                \
   9.147 +  nonstatic_field(Thread,                      _allocated_bytes,                              jlong)                                 \
   9.148    nonstatic_field(Thread,                      _current_pending_monitor,                      ObjectMonitor*)                        \
   9.149    nonstatic_field(Thread,                      _current_pending_monitor_is_from_java,         bool)                                  \
   9.150    nonstatic_field(Thread,                      _current_waiting_monitor,                      ObjectMonitor*)                        \
   9.151 @@ -866,6 +909,7 @@
   9.152    nonstatic_field(JavaThread,                  _pending_async_exception,                      oop)                                   \
   9.153    volatile_nonstatic_field(JavaThread,         _exception_oop,                                oop)                                   \
   9.154    volatile_nonstatic_field(JavaThread,         _exception_pc,                                 address)                               \
   9.155 +  volatile_nonstatic_field(JavaThread,         _is_method_handle_return,                      int)                                   \
   9.156    nonstatic_field(JavaThread,                  _is_compiling,                                 bool)                                  \
   9.157    nonstatic_field(JavaThread,                  _special_runtime_exit_condition,               JavaThread::AsyncRequests)             \
   9.158    nonstatic_field(JavaThread,                  _saved_exception_pc,                           address)                               \
   9.159 @@ -875,6 +919,8 @@
   9.160    nonstatic_field(JavaThread,                  _stack_size,                                   size_t)                                \
   9.161    nonstatic_field(JavaThread,                  _vframe_array_head,                            vframeArray*)                          \
   9.162    nonstatic_field(JavaThread,                  _vframe_array_last,                            vframeArray*)                          \
   9.163 +  nonstatic_field(JavaThread,                  _satb_mark_queue,                              ObjPtrQueue)                           \
   9.164 +  nonstatic_field(JavaThread,                  _dirty_card_queue,                             DirtyCardQueue)                        \
   9.165    nonstatic_field(Thread,                      _resource_area,                                ResourceArea*)                         \
   9.166    nonstatic_field(CompilerThread,              _env,                                          ciEnv*)                                \
   9.167                                                                                                                                       \
   9.168 @@ -1187,7 +1233,7 @@
   9.169    unchecked_nonstatic_field(Array<int>,            _data,                                     sizeof(int))                           \
   9.170    unchecked_nonstatic_field(Array<u1>,             _data,                                     sizeof(u1))                            \
   9.171    unchecked_nonstatic_field(Array<u2>,             _data,                                     sizeof(u2))                            \
   9.172 -  unchecked_nonstatic_field(Array<Method*>, _data,                                     sizeof(Method*))                \
   9.173 +  unchecked_nonstatic_field(Array<Method*>,        _data,                                     sizeof(Method*))                       \
   9.174    unchecked_nonstatic_field(Array<Klass*>,         _data,                                     sizeof(Klass*))                        \
   9.175                                                                                                                                       \
   9.176    /*********************************/                                                                                                \
   9.177 @@ -1203,7 +1249,7 @@
   9.178    /* Miscellaneous fields */                                                                                                         \
   9.179    /************************/                                                                                                         \
   9.180                                                                                                                                       \
   9.181 -  nonstatic_field(CompileTask,                 _method,                                      Method*)                         \
   9.182 +  nonstatic_field(CompileTask,                 _method,                                      Method*)                                \
   9.183    nonstatic_field(CompileTask,                 _osr_bci,                                     int)                                    \
   9.184    nonstatic_field(CompileTask,                 _comp_level,                                  int)                                    \
   9.185    nonstatic_field(CompileTask,                 _compile_id,                                  uint)                                   \
   9.186 @@ -1217,7 +1263,11 @@
   9.187                                                                                                                                       \
   9.188    nonstatic_field(vframeArrayElement,          _frame,                                       frame)                                  \
   9.189    nonstatic_field(vframeArrayElement,          _bci,                                         int)                                    \
   9.190 -  nonstatic_field(vframeArrayElement,          _method,                                      Method*)                         \
   9.191 +  nonstatic_field(vframeArrayElement,          _method,                                      Method*)                                \
   9.192 +                                                                                                                                     \
   9.193 +  nonstatic_field(PtrQueue,                    _active,                                      bool)                                   \
   9.194 +  nonstatic_field(PtrQueue,                    _buf,                                         void**)                                 \
   9.195 +  nonstatic_field(PtrQueue,                    _index,                                       size_t)                                 \
   9.196                                                                                                                                       \
   9.197    nonstatic_field(AccessFlags,                 _flags,                                       jint)                                   \
   9.198    nonstatic_field(elapsedTimer,                _counter,                                     jlong)                                  \
   9.199 @@ -1363,7 +1413,7 @@
   9.200    /* MetadataOopDesc hierarchy (NOTE: some missing) */                    \
   9.201    /**************************************************/                    \
   9.202                                                                            \
   9.203 -  declare_toplevel_type(CompiledICHolder)                          \
   9.204 +  declare_toplevel_type(CompiledICHolder)                                 \
   9.205    declare_toplevel_type(MetaspaceObj)                                     \
   9.206      declare_type(Metadata, MetaspaceObj)                                  \
   9.207      declare_type(Klass, Metadata)                                         \
   9.208 @@ -1374,17 +1424,20 @@
   9.209          declare_type(InstanceClassLoaderKlass, InstanceKlass)             \
   9.210          declare_type(InstanceMirrorKlass, InstanceKlass)                  \
   9.211          declare_type(InstanceRefKlass, InstanceKlass)                     \
   9.212 -    declare_type(ConstantPool, Metadata)                           \
   9.213 -    declare_type(ConstantPoolCache, MetaspaceObj)                  \
   9.214 -    declare_type(MethodData, Metadata)                             \
   9.215 -    declare_type(Method, Metadata)                                 \
   9.216 -    declare_type(MethodCounters, MetaspaceObj)                     \
   9.217 -    declare_type(ConstMethod, MetaspaceObj)                        \
   9.218 +    declare_type(ConstantPool, Metadata)                                  \
   9.219 +    declare_type(ConstantPoolCache, MetaspaceObj)                         \
   9.220 +    declare_type(MethodData, Metadata)                                    \
   9.221 +    declare_type(Method, Metadata)                                        \
   9.222 +    declare_type(MethodCounters, MetaspaceObj)                            \
   9.223 +    declare_type(ConstMethod, MetaspaceObj)                               \
   9.224 +                                                                          \
   9.225 +  declare_toplevel_type(vtableEntry)                                      \
   9.226                                                                            \
   9.227             declare_toplevel_type(Symbol)                                  \
   9.228             declare_toplevel_type(Symbol*)                                 \
   9.229    declare_toplevel_type(volatile Metadata*)                               \
   9.230                                                                            \
   9.231 +  declare_toplevel_type(DataLayout)                                       \
   9.232    declare_toplevel_type(nmethodBucket)                                    \
   9.233                                                                            \
   9.234    /********/                                                              \
   9.235 @@ -1432,6 +1485,7 @@
   9.236             declare_type(ModRefBarrierSet,             BarrierSet)         \
   9.237             declare_type(CardTableModRefBS,            ModRefBarrierSet)   \
   9.238             declare_type(CardTableModRefBSForCTRS,     CardTableModRefBS)  \
   9.239 +  declare_toplevel_type(BarrierSet::Name)                                 \
   9.240    declare_toplevel_type(GenRemSet)                                        \
   9.241             declare_type(CardTableRS,                  GenRemSet)          \
   9.242    declare_toplevel_type(BlockOffsetSharedArray)                           \
   9.243 @@ -1450,6 +1504,8 @@
   9.244    declare_toplevel_type(ThreadLocalAllocBuffer)                           \
   9.245    declare_toplevel_type(VirtualSpace)                                     \
   9.246    declare_toplevel_type(WaterMark)                                        \
   9.247 +  declare_toplevel_type(ObjPtrQueue)                                      \
   9.248 +  declare_toplevel_type(DirtyCardQueue)                                   \
   9.249                                                                            \
   9.250    /* Pointers to Garbage Collection types */                              \
   9.251                                                                            \
   9.252 @@ -2068,6 +2124,7 @@
   9.253    declare_toplevel_type(StubQueue*)                                       \
   9.254    declare_toplevel_type(Thread*)                                          \
   9.255    declare_toplevel_type(Universe)                                         \
   9.256 +  declare_toplevel_type(os)                                               \
   9.257    declare_toplevel_type(vframeArray)                                      \
   9.258    declare_toplevel_type(vframeArrayElement)                               \
   9.259    declare_toplevel_type(Annotations*)                                     \
   9.260 @@ -2076,6 +2133,8 @@
   9.261    /* Miscellaneous types */                                               \
   9.262    /***************/                                                       \
   9.263                                                                            \
   9.264 +  declare_toplevel_type(PtrQueue)                                         \
   9.265 +                                                                          \
   9.266    /* freelist */                                                          \
   9.267    declare_toplevel_type(FreeChunk*)                                       \
   9.268    declare_toplevel_type(Metablock*)                                       \
   9.269 @@ -2106,6 +2165,7 @@
   9.270    /* Useful globals */                                                    \
   9.271    /******************/                                                    \
   9.272                                                                            \
   9.273 +  declare_preprocessor_constant("ASSERT", DEBUG_ONLY(1) NOT_DEBUG(0))     \
   9.274                                                                            \
   9.275    /**************/                                                        \
   9.276    /* Stack bias */                                                        \
   9.277 @@ -2122,6 +2182,8 @@
   9.278    declare_constant(BytesPerWord)                                          \
   9.279    declare_constant(BytesPerLong)                                          \
   9.280                                                                            \
   9.281 +  declare_constant(LogKlassAlignmentInBytes)                              \
   9.282 +                                                                          \
   9.283    /********************************************/                          \
   9.284    /* Generation and Space Hierarchy Constants */                          \
   9.285    /********************************************/                          \
   9.286 @@ -2130,6 +2192,9 @@
   9.287                                                                            \
   9.288    declare_constant(BarrierSet::ModRef)                                    \
   9.289    declare_constant(BarrierSet::CardTableModRef)                           \
   9.290 +  declare_constant(BarrierSet::CardTableExtension)                        \
   9.291 +  declare_constant(BarrierSet::G1SATBCT)                                  \
   9.292 +  declare_constant(BarrierSet::G1SATBCTLogging)                           \
   9.293    declare_constant(BarrierSet::Other)                                     \
   9.294                                                                            \
   9.295    declare_constant(BlockOffsetSharedArray::LogN)                          \
   9.296 @@ -2248,8 +2313,11 @@
   9.297    declare_constant(Klass::_primary_super_limit)                           \
   9.298    declare_constant(Klass::_lh_instance_slow_path_bit)                     \
   9.299    declare_constant(Klass::_lh_log2_element_size_shift)                    \
   9.300 +  declare_constant(Klass::_lh_log2_element_size_mask)                     \
   9.301    declare_constant(Klass::_lh_element_type_shift)                         \
   9.302 +  declare_constant(Klass::_lh_element_type_mask)                          \
   9.303    declare_constant(Klass::_lh_header_size_shift)                          \
   9.304 +  declare_constant(Klass::_lh_header_size_mask)                           \
   9.305    declare_constant(Klass::_lh_array_tag_shift)                            \
   9.306    declare_constant(Klass::_lh_array_tag_type_value)                       \
   9.307    declare_constant(Klass::_lh_array_tag_obj_value)                        \
   9.308 @@ -2268,6 +2336,12 @@
   9.309    declare_constant(ConstMethod::_has_default_annotations)                 \
   9.310    declare_constant(ConstMethod::_has_type_annotations)                    \
   9.311                                                                            \
   9.312 +  /**************/                                                        \
   9.313 +  /* DataLayout */                                                        \
   9.314 +  /**************/                                                        \
   9.315 +                                                                          \
   9.316 +  declare_constant(DataLayout::cell_size)                                 \
   9.317 +                                                                          \
   9.318    /*************************************/                                 \
   9.319    /* InstanceKlass enum                */                                 \
   9.320    /*************************************/                                 \
   9.321 @@ -2402,6 +2476,13 @@
   9.322    declare_constant(Deoptimization::Reason_LIMIT)                          \
   9.323    declare_constant(Deoptimization::Reason_RECORDED_LIMIT)                 \
   9.324                                                                            \
   9.325 +  declare_constant(Deoptimization::Action_none)                           \
   9.326 +  declare_constant(Deoptimization::Action_maybe_recompile)                \
   9.327 +  declare_constant(Deoptimization::Action_reinterpret)                    \
   9.328 +  declare_constant(Deoptimization::Action_make_not_entrant)               \
   9.329 +  declare_constant(Deoptimization::Action_make_not_compilable)            \
   9.330 +  declare_constant(Deoptimization::Action_LIMIT)                          \
   9.331 +                                                                          \
   9.332    /*********************/                                                 \
   9.333    /* Matcher (C2 only) */                                                 \
   9.334    /*********************/                                                 \
   9.335 @@ -2468,6 +2549,16 @@
   9.336    declare_constant(vmSymbols::FIRST_SID)                                  \
   9.337    declare_constant(vmSymbols::SID_LIMIT)                                  \
   9.338                                                                            \
   9.339 +  /****************/                                                      \
   9.340 +  /* vmIntrinsics */                                                      \
   9.341 +  /****************/                                                      \
   9.342 +                                                                          \
   9.343 +  declare_constant(vmIntrinsics::_invokeBasic)                            \
   9.344 +  declare_constant(vmIntrinsics::_linkToVirtual)                          \
   9.345 +  declare_constant(vmIntrinsics::_linkToStatic)                           \
   9.346 +  declare_constant(vmIntrinsics::_linkToSpecial)                          \
   9.347 +  declare_constant(vmIntrinsics::_linkToInterface)                        \
   9.348 +                                                                          \
   9.349    /********************************/                                      \
   9.350    /* Calling convention constants */                                      \
   9.351    /********************************/                                      \
   9.352 @@ -2515,6 +2606,8 @@
   9.353    declare_constant(markOopDesc::biased_lock_bit_in_place)                 \
   9.354    declare_constant(markOopDesc::age_mask)                                 \
   9.355    declare_constant(markOopDesc::age_mask_in_place)                        \
   9.356 +  declare_constant(markOopDesc::epoch_mask)                               \
   9.357 +  declare_constant(markOopDesc::epoch_mask_in_place)                      \
   9.358    declare_constant(markOopDesc::hash_mask)                                \
   9.359    declare_constant(markOopDesc::hash_mask_in_place)                       \
   9.360    declare_constant(markOopDesc::biased_lock_alignment)                    \

mercurial