src/share/vm/runtime/vmStructs.cpp
Index Unified diffs Context diffs Sdiffs Patch New Old Previous File Next File 8024760 Sdiff src/share/vm/runtime

src/share/vm/runtime/vmStructs.cpp

Print this page




 313   nonstatic_field(InstanceKlass,               _jni_ids,                                      JNIid*)                                \
 314   nonstatic_field(InstanceKlass,               _osr_nmethods_head,                            nmethod*)                              \
 315   nonstatic_field(InstanceKlass,               _breakpoints,                                  BreakpointInfo*)                       \
 316   nonstatic_field(InstanceKlass,               _generic_signature_index,                           u2)                               \
 317   nonstatic_field(InstanceKlass,               _methods_jmethod_ids,                          jmethodID*)                            \
 318   nonstatic_field(InstanceKlass,               _methods_cached_itable_indices,                int*)                                  \
 319   volatile_nonstatic_field(InstanceKlass,      _idnum_allocated_count,                        u2)                                    \
 320   nonstatic_field(InstanceKlass,               _annotations,                                  Annotations*)                          \
 321   nonstatic_field(InstanceKlass,               _dependencies,                                 nmethodBucket*)                        \
 322   nonstatic_field(nmethodBucket,               _nmethod,                                      nmethod*)                              \
 323   nonstatic_field(nmethodBucket,               _count,                                        int)                                   \
 324   nonstatic_field(nmethodBucket,               _next,                                         nmethodBucket*)                        \
 325   nonstatic_field(InstanceKlass,               _method_ordering,                              Array<int>*)                           \
 326   nonstatic_field(Klass,                       _super_check_offset,                           juint)                                 \
 327   nonstatic_field(Klass,                       _secondary_super_cache,                        Klass*)                                \
 328   nonstatic_field(Klass,                       _secondary_supers,                             Array<Klass*>*)                        \
 329   nonstatic_field(Klass,                       _primary_supers[0],                            Klass*)                                \
 330   nonstatic_field(Klass,                       _java_mirror,                                  oop)                                   \
 331   nonstatic_field(Klass,                       _modifier_flags,                               jint)                                  \
 332   nonstatic_field(Klass,                       _super,                                        Klass*)                                \

 333   nonstatic_field(Klass,                       _layout_helper,                                jint)                                  \
 334   nonstatic_field(Klass,                       _name,                                         Symbol*)                               \
 335   nonstatic_field(Klass,                       _access_flags,                                 AccessFlags)                           \
 336   nonstatic_field(Klass,                       _subklass,                                     Klass*)                                \
 337   nonstatic_field(Klass,                       _next_sibling,                                 Klass*)                                \

 338   nonstatic_field(MethodData,           _size,                                         int)                                   \
 339   nonstatic_field(MethodData,           _method,                                       Method*)                               \
 340   nonstatic_field(MethodData,           _data_size,                                    int)                                   \
 341   nonstatic_field(MethodData,           _data[0],                                      intptr_t)                              \
 342   nonstatic_field(MethodData,           _nof_decompiles,                               uint)                                  \
 343   nonstatic_field(MethodData,           _nof_overflow_recompiles,                      uint)                                  \
 344   nonstatic_field(MethodData,           _nof_overflow_traps,                           uint)                                  \

 345   nonstatic_field(MethodData,           _eflags,                                       intx)                                  \
 346   nonstatic_field(MethodData,           _arg_local,                                    intx)                                  \
 347   nonstatic_field(MethodData,           _arg_stack,                                    intx)                                  \
 348   nonstatic_field(MethodData,           _arg_returned,                                 intx)                                  \




 349   nonstatic_field(MethodCounters,       _interpreter_invocation_count,                 int)                                   \
 350   nonstatic_field(MethodCounters,       _interpreter_throwout_count,                   u2)                                    \
 351   nonstatic_field(MethodCounters,       _number_of_breakpoints,                        u2)                                    \
 352   nonstatic_field(MethodCounters,       _invocation_counter,                           InvocationCounter)                     \
 353   nonstatic_field(MethodCounters,       _backedge_counter,                             InvocationCounter)                     \
 354   nonstatic_field(Method,               _constMethod,                                  ConstMethod*)                          \
 355   nonstatic_field(Method,               _method_data,                                  MethodData*)                           \
 356   nonstatic_field(Method,               _method_counters,                              MethodCounters*)                       \
 357   nonstatic_field(Method,               _access_flags,                                 AccessFlags)                           \
 358   nonstatic_field(Method,               _vtable_index,                                 int)                                   \
 359   nonstatic_field(Method,               _method_size,                                  u2)                                    \

 360   nonproduct_nonstatic_field(Method,    _compiled_invocation_count,                    int)                                   \
 361   volatile_nonstatic_field(Method,      _code,                                         nmethod*)                              \
 362   nonstatic_field(Method,               _i2i_entry,                                    address)                               \
 363   nonstatic_field(Method,               _adapter,                                      AdapterHandlerEntry*)                  \
 364   volatile_nonstatic_field(Method,      _from_compiled_entry,                          address)                               \
 365   volatile_nonstatic_field(Method,      _from_interpreted_entry,                       address)                               \
 366   volatile_nonstatic_field(ConstMethod, _fingerprint,                                  uint64_t)                              \
 367   nonstatic_field(ConstMethod,          _constants,                                    ConstantPool*)                         \
 368   nonstatic_field(ConstMethod,          _stackmap_data,                                Array<u1>*)                            \
 369   nonstatic_field(ConstMethod,          _constMethod_size,                             int)                                   \
 370   nonstatic_field(ConstMethod,          _flags,                                        u2)                                    \
 371   nonstatic_field(ConstMethod,          _code_size,                                    u2)                                    \
 372   nonstatic_field(ConstMethod,          _name_index,                                   u2)                                    \
 373   nonstatic_field(ConstMethod,          _signature_index,                              u2)                                    \
 374   nonstatic_field(ConstMethod,          _method_idnum,                                 u2)                                    \
 375   nonstatic_field(ConstMethod,          _max_stack,                                    u2)                                    \
 376   nonstatic_field(ConstMethod,          _max_locals,                                   u2)                                    \
 377   nonstatic_field(ConstMethod,          _size_of_parameters,                           u2)                                    \
 378   nonstatic_field(ObjArrayKlass,               _element_klass,                                Klass*)                                \
 379   nonstatic_field(ObjArrayKlass,               _bottom_klass,                                 Klass*)                                \


 426      static_field(Universe,                    _boolArrayKlassObj,                            Klass*)                                \
 427      static_field(Universe,                    _byteArrayKlassObj,                            Klass*)                                \
 428      static_field(Universe,                    _charArrayKlassObj,                            Klass*)                                \
 429      static_field(Universe,                    _intArrayKlassObj,                             Klass*)                                \
 430      static_field(Universe,                    _shortArrayKlassObj,                           Klass*)                                \
 431      static_field(Universe,                    _longArrayKlassObj,                            Klass*)                                \
 432      static_field(Universe,                    _singleArrayKlassObj,                          Klass*)                                \
 433      static_field(Universe,                    _doubleArrayKlassObj,                          Klass*)                                \
 434      static_field(Universe,                    _mirrors[0],                                   oop)                                   \
 435      static_field(Universe,                    _main_thread_group,                            oop)                                   \
 436      static_field(Universe,                    _system_thread_group,                          oop)                                   \
 437      static_field(Universe,                    _the_empty_class_klass_array,                  objArrayOop)                           \
 438      static_field(Universe,                    _null_ptr_exception_instance,                  oop)                                   \
 439      static_field(Universe,                    _arithmetic_exception_instance,                oop)                                   \
 440      static_field(Universe,                    _vm_exception,                                 oop)                                   \
 441      static_field(Universe,                    _collectedHeap,                                CollectedHeap*)                        \
 442      static_field(Universe,                    _base_vtable_size,                             int)                                   \
 443      static_field(Universe,                    _bootstrapping,                                bool)                                  \
 444      static_field(Universe,                    _fully_initialized,                            bool)                                  \
 445      static_field(Universe,                    _verify_count,                                 int)                                   \

 446      static_field(Universe,                    _narrow_oop._base,                             address)                               \
 447      static_field(Universe,                    _narrow_oop._shift,                            int)                                   \
 448      static_field(Universe,                    _narrow_oop._use_implicit_null_checks,         bool)                                  \
 449      static_field(Universe,                    _narrow_klass._base,                           address)                               \
 450      static_field(Universe,                    _narrow_klass._shift,                          int)                                   \
 451                                                                                                                                      \






 452   /**********************************************************************************/                                               \
 453   /* Generation and Space hierarchies                                               */                                               \
 454   /**********************************************************************************/                                               \
 455                                                                                                                                      \
 456   unchecked_nonstatic_field(ageTable,          sizes,                                         sizeof(ageTable::sizes))               \
 457                                                                                                                                      \
 458   nonstatic_field(BarrierSet,                  _max_covered_regions,                          int)                                   \

 459   nonstatic_field(BlockOffsetTable,            _bottom,                                       HeapWord*)                             \
 460   nonstatic_field(BlockOffsetTable,            _end,                                          HeapWord*)                             \
 461                                                                                                                                      \
 462   nonstatic_field(BlockOffsetSharedArray,      _reserved,                                     MemRegion)                             \
 463   nonstatic_field(BlockOffsetSharedArray,      _end,                                          HeapWord*)                             \
 464   nonstatic_field(BlockOffsetSharedArray,      _vs,                                           VirtualSpace)                          \
 465   nonstatic_field(BlockOffsetSharedArray,      _offset_array,                                 u_char*)                               \
 466                                                                                                                                      \
 467   nonstatic_field(BlockOffsetArray,            _array,                                        BlockOffsetSharedArray*)               \
 468   nonstatic_field(BlockOffsetArray,            _sp,                                           Space*)                                \
 469   nonstatic_field(BlockOffsetArrayContigSpace, _next_offset_threshold,                        HeapWord*)                             \
 470   nonstatic_field(BlockOffsetArrayContigSpace, _next_offset_index,                            size_t)                                \
 471                                                                                                                                      \
 472   nonstatic_field(BlockOffsetArrayNonContigSpace, _unallocated_block,                         HeapWord*)                             \
 473                                                                                                                                      \
 474   nonstatic_field(CardGeneration,              _rs,                                           GenRemSet*)                            \
 475   nonstatic_field(CardGeneration,              _bts,                                          BlockOffsetSharedArray*)               \
 476   nonstatic_field(CardGeneration,              _shrink_factor,                                size_t)                                \
 477   nonstatic_field(CardGeneration,              _capacity_at_prologue,                         size_t)                                \
 478   nonstatic_field(CardGeneration,              _used_at_prologue,                             size_t)                                \
 479                                                                                                                                      \
 480   nonstatic_field(CardTableModRefBS,           _whole_heap,                                   const MemRegion)                       \
 481   nonstatic_field(CardTableModRefBS,           _guard_index,                                  const size_t)                          \
 482   nonstatic_field(CardTableModRefBS,           _last_valid_index,                             const size_t)                          \
 483   nonstatic_field(CardTableModRefBS,           _page_size,                                    const size_t)                          \
 484   nonstatic_field(CardTableModRefBS,           _byte_map_size,                                const size_t)                          \
 485   nonstatic_field(CardTableModRefBS,           _byte_map,                                     jbyte*)                                \
 486   nonstatic_field(CardTableModRefBS,           _cur_covered_regions,                          int)                                   \
 487   nonstatic_field(CardTableModRefBS,           _covered,                                      MemRegion*)                            \
 488   nonstatic_field(CardTableModRefBS,           _committed,                                    MemRegion*)                            \
 489   nonstatic_field(CardTableModRefBS,           _guard_region,                                 MemRegion)                             \
 490   nonstatic_field(CardTableModRefBS,           byte_map_base,                                 jbyte*)                                \
 491                                                                                                                                      \
 492   nonstatic_field(CardTableRS,                 _ct_bs,                                        CardTableModRefBSForCTRS*)             \
 493                                                                                                                                      \
 494   nonstatic_field(CollectedHeap,               _reserved,                                     MemRegion)                             \
 495   nonstatic_field(CollectedHeap,               _barrier_set,                                  BarrierSet*)                           \
 496   nonstatic_field(CollectedHeap,               _defer_initial_card_mark,                      bool)                                  \
 497   nonstatic_field(CollectedHeap,               _is_gc_active,                                 bool)                                  \

 498   nonstatic_field(CompactibleSpace,            _compaction_top,                               HeapWord*)                             \
 499   nonstatic_field(CompactibleSpace,            _first_dead,                                   HeapWord*)                             \
 500   nonstatic_field(CompactibleSpace,            _end_of_live,                                  HeapWord*)                             \
 501                                                                                                                                      \
 502                                                                                                                                      \
 503   nonstatic_field(ContiguousSpace,             _top,                                          HeapWord*)                             \
 504   nonstatic_field(ContiguousSpace,             _concurrent_iteration_safe_limit,              HeapWord*)                             \
 505   nonstatic_field(ContiguousSpace,             _saved_mark_word,                              HeapWord*)                             \
 506                                                                                                                                      \
 507   nonstatic_field(DefNewGeneration,            _next_gen,                                     Generation*)                           \
 508   nonstatic_field(DefNewGeneration,            _tenuring_threshold,                           uint)                                   \
 509   nonstatic_field(DefNewGeneration,            _age_table,                                    ageTable)                              \
 510   nonstatic_field(DefNewGeneration,            _eden_space,                                   EdenSpace*)                            \
 511   nonstatic_field(DefNewGeneration,            _from_space,                                   ContiguousSpace*)                      \
 512   nonstatic_field(DefNewGeneration,            _to_space,                                     ContiguousSpace*)                      \
 513                                                                                                                                      \
 514   nonstatic_field(EdenSpace,                   _gen,                                          DefNewGeneration*)                     \
 515                                                                                                                                      \
 516   nonstatic_field(Generation,                  _reserved,                                     MemRegion)                             \
 517   nonstatic_field(Generation,                  _virtual_space,                                VirtualSpace)                          \


 535   nonstatic_field(MemRegion,                   _start,                                        HeapWord*)                             \
 536   nonstatic_field(MemRegion,                   _word_size,                                    size_t)                                \
 537                                                                                                                                      \
 538   nonstatic_field(OffsetTableContigSpace,      _offsets,                                      BlockOffsetArray)                      \
 539                                                                                                                                      \
 540   nonstatic_field(OneContigSpaceCardGeneration, _min_heap_delta_bytes,                        size_t)                                \
 541   nonstatic_field(OneContigSpaceCardGeneration, _the_space,                                   ContiguousSpace*)                      \
 542   nonstatic_field(OneContigSpaceCardGeneration, _last_gc,                                     WaterMark)                             \
 543                                                                                                                                      \
 544                                                                                                                                      \
 545                                                                                                                                      \
 546   nonstatic_field(Space,                       _bottom,                                       HeapWord*)                             \
 547   nonstatic_field(Space,                       _end,                                          HeapWord*)                             \
 548                                                                                                                                      \
 549   nonstatic_field(ThreadLocalAllocBuffer,      _start,                                        HeapWord*)                             \
 550   nonstatic_field(ThreadLocalAllocBuffer,      _top,                                          HeapWord*)                             \
 551   nonstatic_field(ThreadLocalAllocBuffer,      _end,                                          HeapWord*)                             \
 552   nonstatic_field(ThreadLocalAllocBuffer,      _desired_size,                                 size_t)                                \
 553   nonstatic_field(ThreadLocalAllocBuffer,      _refill_waste_limit,                           size_t)                                \
 554      static_field(ThreadLocalAllocBuffer,      _target_refills,                               unsigned)                              \





 555   nonstatic_field(VirtualSpace,                _low_boundary,                                 char*)                                 \
 556   nonstatic_field(VirtualSpace,                _high_boundary,                                char*)                                 \
 557   nonstatic_field(VirtualSpace,                _low,                                          char*)                                 \
 558   nonstatic_field(VirtualSpace,                _high,                                         char*)                                 \
 559   nonstatic_field(VirtualSpace,                _lower_high,                                   char*)                                 \
 560   nonstatic_field(VirtualSpace,                _middle_high,                                  char*)                                 \
 561   nonstatic_field(VirtualSpace,                _upper_high,                                   char*)                                 \
 562   nonstatic_field(WaterMark,                   _point,                                        HeapWord*)                             \
 563   nonstatic_field(WaterMark,                   _space,                                        Space*)                                \
 564                                                                                                                                      \
 565   /************************/                                                                                                         \
 566   /* PerfMemory - jvmstat */                                                                                                         \
 567   /************************/                                                                                                         \
 568                                                                                                                                      \
 569   nonstatic_field(PerfDataPrologue,            magic,                                         jint)                                  \
 570   nonstatic_field(PerfDataPrologue,            byte_order,                                    jbyte)                                 \
 571   nonstatic_field(PerfDataPrologue,            major_version,                                 jbyte)                                 \
 572   nonstatic_field(PerfDataPrologue,            minor_version,                                 jbyte)                                 \
 573   nonstatic_field(PerfDataPrologue,            accessible,                                    jbyte)                                 \
 574   nonstatic_field(PerfDataPrologue,            used,                                          jint)                                  \


 696   /* ProctectionDomainEntry */                                                                                                       \
 697   /**************************/                                                                                                       \
 698                                                                                                                                      \
 699   nonstatic_field(ProtectionDomainEntry,       _next,                                         ProtectionDomainEntry*)                \
 700   nonstatic_field(ProtectionDomainEntry,       _protection_domain,                            oop)                                   \
 701                                                                                                                                      \
 702   /*************************/                                                                                                        \
 703   /* LoaderConstraintEntry */                                                                                                        \
 704   /*************************/                                                                                                        \
 705                                                                                                                                      \
 706   nonstatic_field(LoaderConstraintEntry,       _name,                                         Symbol*)                               \
 707   nonstatic_field(LoaderConstraintEntry,       _num_loaders,                                  int)                                   \
 708   nonstatic_field(LoaderConstraintEntry,       _max_loaders,                                  int)                                   \
 709   nonstatic_field(LoaderConstraintEntry,       _loaders,                                      ClassLoaderData**)                     \
 710                                                                                                                                      \
 711   nonstatic_field(ClassLoaderData,             _class_loader,                                 oop)                                   \
 712   nonstatic_field(ClassLoaderData,             _next,                                         ClassLoaderData*)                      \
 713                                                                                                                                      \
 714   static_field(ClassLoaderDataGraph,           _head,                                         ClassLoaderData*)                      \
 715                                                                                                                                      \







 716   /*******************/                                                                                                              \
 717   /* GrowableArrays  */                                                                                                              \
 718   /*******************/                                                                                                              \
 719                                                                                                                                      \
 720   nonstatic_field(GenericGrowableArray,        _len,                                          int)                                   \
 721   nonstatic_field(GenericGrowableArray,        _max,                                          int)                                   \
 722   nonstatic_field(GenericGrowableArray,        _arena,                                        Arena*)                                \
 723   nonstatic_field(GrowableArray<int>,               _data,                                         int*) \
 724                                                                                                                                      \
 725   /********************************/                                                                                                 \
 726   /* CodeCache (NOTE: incomplete) */                                                                                                 \
 727   /********************************/                                                                                                 \
 728                                                                                                                                      \
 729      static_field(CodeCache,                   _heap,                                         CodeHeap*)                             \
 730      static_field(CodeCache,                   _scavenge_root_nmethods,                       nmethod*)                              \
 731                                                                                                                                      \
 732   /*******************************/                                                                                                  \
 733   /* CodeHeap (NOTE: incomplete) */                                                                                                  \
 734   /*******************************/                                                                                                  \
 735                                                                                                                                      \


 746                                                                                                                                      \
 747      static_field(AbstractInterpreter,         _code,                                         StubQueue*)                            \
 748                                                                                                                                      \
 749   /****************************/                                                                                                     \
 750   /* Stubs (NOTE: incomplete) */                                                                                                     \
 751   /****************************/                                                                                                     \
 752                                                                                                                                      \
 753   nonstatic_field(StubQueue,                   _stub_buffer,                                  address)                               \
 754   nonstatic_field(StubQueue,                   _buffer_limit,                                 int)                                   \
 755   nonstatic_field(StubQueue,                   _queue_begin,                                  int)                                   \
 756   nonstatic_field(StubQueue,                   _queue_end,                                    int)                                   \
 757   nonstatic_field(StubQueue,                   _number_of_stubs,                              int)                                   \
 758   nonstatic_field(InterpreterCodelet,          _size,                                         int)                                   \
 759   nonstatic_field(InterpreterCodelet,          _description,                                  const char*)                           \
 760   nonstatic_field(InterpreterCodelet,          _bytecode,                                     Bytecodes::Code)                       \
 761                                                                                                                                      \
 762   /***********************************/                                                                                              \
 763   /* StubRoutines (NOTE: incomplete) */                                                                                              \
 764   /***********************************/                                                                                              \
 765                                                                                                                                      \

 766      static_field(StubRoutines,                _call_stub_return_address,                     address)                               \












 767                                                                                                                                      \
 768   /***************************************/                                                                                          \
 769   /* PcDesc and other compiled code info */                                                                                          \
 770   /***************************************/                                                                                          \
 771                                                                                                                                      \
 772   nonstatic_field(PcDesc,                      _pc_offset,                                    int)                                   \
 773   nonstatic_field(PcDesc,                      _scope_decode_offset,                          int)                                   \
 774   nonstatic_field(PcDesc,                      _obj_decode_offset,                            int)                                   \
 775   nonstatic_field(PcDesc,                      _flags,                                        int)                                   \
 776                                                                                                                                      \
 777   /***************************************************/                                                                              \
 778   /* CodeBlobs (NOTE: incomplete, but only a little) */                                                                              \
 779   /***************************************************/                                                                              \
 780                                                                                                                                      \
 781   nonstatic_field(CodeBlob,                    _name,                                         const char*)                           \
 782   nonstatic_field(CodeBlob,                    _size,                                         int)                                   \
 783   nonstatic_field(CodeBlob,                    _header_size,                                  int)                                   \
 784   nonstatic_field(CodeBlob,                    _relocation_size,                              int)                                   \
 785   nonstatic_field(CodeBlob,                    _content_offset,                               int)                                   \
 786   nonstatic_field(CodeBlob,                    _code_offset,                                  int)                                   \


 836   /* JavaFrameAnchor (NOTE: incomplete) */                                                                                           \
 837   /********************************/                                                                                                 \
 838   volatile_nonstatic_field(JavaFrameAnchor,    _last_Java_sp,                                 intptr_t*)                             \
 839   volatile_nonstatic_field(JavaFrameAnchor,    _last_Java_pc,                                 address)                               \
 840                                                                                                                                      \
 841   /******************************/                                                                                                   \
 842   /* Threads (NOTE: incomplete) */                                                                                                   \
 843   /******************************/                                                                                                   \
 844                                                                                                                                      \
 845      static_field(Threads,                     _thread_list,                                  JavaThread*)                           \
 846      static_field(Threads,                     _number_of_threads,                            int)                                   \
 847      static_field(Threads,                     _number_of_non_daemon_threads,                 int)                                   \
 848      static_field(Threads,                     _return_code,                                  int)                                   \
 849                                                                                                                                      \
 850   nonstatic_field(ThreadShadow,                _pending_exception,                            oop)                                   \
 851   nonstatic_field(ThreadShadow,                _exception_file,                               const char*)                           \
 852   nonstatic_field(ThreadShadow,                _exception_line,                               int)                                   \
 853    volatile_nonstatic_field(Thread,            _suspend_flags,                                uint32_t)                              \
 854   nonstatic_field(Thread,                      _active_handles,                               JNIHandleBlock*)                       \
 855   nonstatic_field(Thread,                      _tlab,                                         ThreadLocalAllocBuffer)                \

 856   nonstatic_field(Thread,                      _current_pending_monitor,                      ObjectMonitor*)                        \
 857   nonstatic_field(Thread,                      _current_pending_monitor_is_from_java,         bool)                                  \
 858   nonstatic_field(Thread,                      _current_waiting_monitor,                      ObjectMonitor*)                        \
 859   nonstatic_field(NamedThread,                 _name,                                         char*)                                 \
 860   nonstatic_field(NamedThread,                 _processed_thread,                             JavaThread*)                           \
 861   nonstatic_field(JavaThread,                  _next,                                         JavaThread*)                           \
 862   nonstatic_field(JavaThread,                  _threadObj,                                    oop)                                   \
 863   nonstatic_field(JavaThread,                  _anchor,                                       JavaFrameAnchor)                       \
 864   nonstatic_field(JavaThread,                  _vm_result,                                    oop)                                   \
 865   nonstatic_field(JavaThread,                  _vm_result_2,                                  Metadata*)                             \
 866   nonstatic_field(JavaThread,                  _pending_async_exception,                      oop)                                   \
 867   volatile_nonstatic_field(JavaThread,         _exception_oop,                                oop)                                   \
 868   volatile_nonstatic_field(JavaThread,         _exception_pc,                                 address)                               \

 869   nonstatic_field(JavaThread,                  _is_compiling,                                 bool)                                  \
 870   nonstatic_field(JavaThread,                  _special_runtime_exit_condition,               JavaThread::AsyncRequests)             \
 871   nonstatic_field(JavaThread,                  _saved_exception_pc,                           address)                               \
 872    volatile_nonstatic_field(JavaThread,        _thread_state,                                 JavaThreadState)                       \
 873   nonstatic_field(JavaThread,                  _osthread,                                     OSThread*)                             \
 874   nonstatic_field(JavaThread,                  _stack_base,                                   address)                               \
 875   nonstatic_field(JavaThread,                  _stack_size,                                   size_t)                                \
 876   nonstatic_field(JavaThread,                  _vframe_array_head,                            vframeArray*)                          \
 877   nonstatic_field(JavaThread,                  _vframe_array_last,                            vframeArray*)                          \


 878   nonstatic_field(Thread,                      _resource_area,                                ResourceArea*)                         \
 879   nonstatic_field(CompilerThread,              _env,                                          ciEnv*)                                \
 880                                                                                                                                      \
 881   /************/                                                                                                                     \
 882   /* OSThread */                                                                                                                     \
 883   /************/                                                                                                                     \
 884                                                                                                                                      \
 885   volatile_nonstatic_field(OSThread,           _interrupted,                                  jint)                                  \
 886                                                                                                                                      \
 887   /************************/                                                                                                         \
 888   /* OopMap and OopMapSet */                                                                                                         \
 889   /************************/                                                                                                         \
 890                                                                                                                                      \
 891   nonstatic_field(OopMap,                      _pc_offset,                                    int)                                   \
 892   nonstatic_field(OopMap,                      _omv_count,                                    int)                                   \
 893   nonstatic_field(OopMap,                      _omv_data_size,                                int)                                   \
 894   nonstatic_field(OopMap,                      _omv_data,                                     unsigned char*)                        \
 895   nonstatic_field(OopMap,                      _write_stream,                                 CompressedWriteStream*)                \
 896   nonstatic_field(OopMapSet,                   _om_count,                                     int)                                   \
 897   nonstatic_field(OopMapSet,                   _om_size,                                      int)                                   \


1202   /************************/                                                                                                         \
1203   /* Miscellaneous fields */                                                                                                         \
1204   /************************/                                                                                                         \
1205                                                                                                                                      \
1206   nonstatic_field(CompileTask,                 _method,                                      Method*)                         \
1207   nonstatic_field(CompileTask,                 _osr_bci,                                     int)                                    \
1208   nonstatic_field(CompileTask,                 _comp_level,                                  int)                                    \
1209   nonstatic_field(CompileTask,                 _compile_id,                                  uint)                                   \
1210   nonstatic_field(CompileTask,                 _next,                                        CompileTask*)                           \
1211   nonstatic_field(CompileTask,                 _prev,                                        CompileTask*)                           \
1212                                                                                                                                      \
1213   nonstatic_field(vframeArray,                 _next,                                        vframeArray*)                           \
1214   nonstatic_field(vframeArray,                 _original,                                    frame)                                  \
1215   nonstatic_field(vframeArray,                 _caller,                                      frame)                                  \
1216   nonstatic_field(vframeArray,                 _frames,                                      int)                                    \
1217                                                                                                                                      \
1218   nonstatic_field(vframeArrayElement,          _frame,                                       frame)                                  \
1219   nonstatic_field(vframeArrayElement,          _bci,                                         int)                                    \
1220   nonstatic_field(vframeArrayElement,          _method,                                      Method*)                         \
1221                                                                                                                                      \




1222   nonstatic_field(AccessFlags,                 _flags,                                       jint)                                   \
1223   nonstatic_field(elapsedTimer,                _counter,                                     jlong)                                  \
1224   nonstatic_field(elapsedTimer,                _active,                                      bool)                                   \
1225   nonstatic_field(InvocationCounter,           _counter,                                     unsigned int)                           \
1226   volatile_nonstatic_field(FreeChunk,          _size,                                        size_t)                                 \
1227   nonstatic_field(FreeChunk,                   _next,                                        FreeChunk*)                             \
1228   nonstatic_field(FreeChunk,                   _prev,                                        FreeChunk*)                             \
1229   nonstatic_field(FreeList<FreeChunk>,         _size,                                        size_t)                                 \
1230   nonstatic_field(FreeList<Metablock>,         _size,                                        size_t)                                 \
1231   nonstatic_field(FreeList<FreeChunk>,         _count,                                       ssize_t)                                \
1232   nonstatic_field(FreeList<Metablock>,         _count,                                       ssize_t)                                \
1233   nonstatic_field(MetablockTreeDictionary,     _total_size,                                  size_t)
1234 
1235 
1236 //--------------------------------------------------------------------------------
1237 // VM_TYPES
1238 //
1239 // This list must enumerate at least all of the types in the above
1240 // list. For the types in the above list, the entry below must have
1241 // exactly the same spacing since string comparisons are done in the


1364   /**************************************************/                    \
1365                                                                           \
1366   declare_toplevel_type(CompiledICHolder)                          \
1367   declare_toplevel_type(MetaspaceObj)                                     \
1368     declare_type(Metadata, MetaspaceObj)                                  \
1369     declare_type(Klass, Metadata)                                         \
1370            declare_type(ArrayKlass, Klass)                                \
1371            declare_type(ObjArrayKlass, ArrayKlass)                        \
1372            declare_type(TypeArrayKlass, ArrayKlass)                       \
1373       declare_type(InstanceKlass, Klass)                                  \
1374         declare_type(InstanceClassLoaderKlass, InstanceKlass)             \
1375         declare_type(InstanceMirrorKlass, InstanceKlass)                  \
1376         declare_type(InstanceRefKlass, InstanceKlass)                     \
1377     declare_type(ConstantPool, Metadata)                           \
1378     declare_type(ConstantPoolCache, MetaspaceObj)                  \
1379     declare_type(MethodData, Metadata)                             \
1380     declare_type(Method, Metadata)                                 \
1381     declare_type(MethodCounters, MetaspaceObj)                     \
1382     declare_type(ConstMethod, MetaspaceObj)                        \
1383                                                                           \


1384            declare_toplevel_type(Symbol)                                  \
1385            declare_toplevel_type(Symbol*)                                 \
1386   declare_toplevel_type(volatile Metadata*)                               \
1387                                                                           \

1388   declare_toplevel_type(nmethodBucket)                                    \
1389                                                                           \
1390   /********/                                                              \
1391   /* Oops */                                                              \
1392   /********/                                                              \
1393                                                                           \
1394   declare_oop_type(markOop)                                               \
1395   declare_oop_type(objArrayOop)                                           \
1396   declare_oop_type(oop)                                                   \
1397   declare_oop_type(narrowOop)                                             \
1398   declare_oop_type(typeArrayOop)                                          \
1399                                                                           \
1400   /*************************************/                                 \
1401   /* MethodOop-related data structures */                                 \
1402   /*************************************/                                 \
1403                                                                           \
1404   declare_toplevel_type(CheckedExceptionElement)                          \
1405   declare_toplevel_type(LocalVariableTableElement)                        \
1406   declare_toplevel_type(ExceptionTableElement)                            \
1407                                                                           \


1415                                                                           \
1416   declare_toplevel_type(CollectedHeap)                                    \
1417            declare_type(SharedHeap,                   CollectedHeap)      \
1418            declare_type(GenCollectedHeap,             SharedHeap)         \
1419   declare_toplevel_type(Generation)                                       \
1420            declare_type(DefNewGeneration,             Generation)         \
1421            declare_type(CardGeneration,               Generation)         \
1422            declare_type(OneContigSpaceCardGeneration, CardGeneration)     \
1423            declare_type(TenuredGeneration,            OneContigSpaceCardGeneration) \
1424   declare_toplevel_type(Space)                                            \
1425   declare_toplevel_type(BitMap)                                           \
1426            declare_type(CompactibleSpace,             Space)              \
1427            declare_type(ContiguousSpace,              CompactibleSpace)   \
1428            declare_type(EdenSpace,                    ContiguousSpace)    \
1429            declare_type(OffsetTableContigSpace,       ContiguousSpace)    \
1430            declare_type(TenuredSpace,                 OffsetTableContigSpace) \
1431   declare_toplevel_type(BarrierSet)                                       \
1432            declare_type(ModRefBarrierSet,             BarrierSet)         \
1433            declare_type(CardTableModRefBS,            ModRefBarrierSet)   \
1434            declare_type(CardTableModRefBSForCTRS,     CardTableModRefBS)  \

1435   declare_toplevel_type(GenRemSet)                                        \
1436            declare_type(CardTableRS,                  GenRemSet)          \
1437   declare_toplevel_type(BlockOffsetSharedArray)                           \
1438   declare_toplevel_type(BlockOffsetTable)                                 \
1439            declare_type(BlockOffsetArray,             BlockOffsetTable)   \
1440            declare_type(BlockOffsetArrayContigSpace,  BlockOffsetArray)   \
1441            declare_type(BlockOffsetArrayNonContigSpace, BlockOffsetArray) \
1442                                                                           \
1443   /* Miscellaneous other GC types */                                      \
1444                                                                           \
1445   declare_toplevel_type(ageTable)                                         \
1446   declare_toplevel_type(Generation::StatRecord)                           \
1447   declare_toplevel_type(GenerationSpec)                                   \
1448   declare_toplevel_type(HeapWord)                                         \
1449   declare_toplevel_type(MemRegion)                                        \
1450   declare_toplevel_type(ThreadLocalAllocBuffer)                           \
1451   declare_toplevel_type(VirtualSpace)                                     \
1452   declare_toplevel_type(WaterMark)                                        \


1453                                                                           \
1454   /* Pointers to Garbage Collection types */                              \
1455                                                                           \
1456   declare_toplevel_type(BarrierSet*)                                      \
1457   declare_toplevel_type(BlockOffsetSharedArray*)                          \
1458   declare_toplevel_type(GenRemSet*)                                       \
1459   declare_toplevel_type(CardTableRS*)                                     \
1460   declare_toplevel_type(CardTableModRefBS*)                               \
1461   declare_toplevel_type(CardTableModRefBS**)                              \
1462   declare_toplevel_type(CardTableModRefBSForCTRS*)                        \
1463   declare_toplevel_type(CardTableModRefBSForCTRS**)                       \
1464   declare_toplevel_type(CollectedHeap*)                                   \
1465   declare_toplevel_type(ContiguousSpace*)                                 \
1466   declare_toplevel_type(DefNewGeneration*)                                \
1467   declare_toplevel_type(EdenSpace*)                                       \
1468   declare_toplevel_type(GenCollectedHeap*)                                \
1469   declare_toplevel_type(Generation*)                                      \
1470   declare_toplevel_type(GenerationSpec**)                                 \
1471   declare_toplevel_type(HeapWord*)                                        \
1472   declare_toplevel_type(MemRegion*)                                       \


2051   declare_unsigned_integer_type(juint)                                    \
2052   declare_unsigned_integer_type(julong)                                   \
2053   declare_toplevel_type(JNIHandleBlock*)                                  \
2054   declare_toplevel_type(JNIid)                                            \
2055   declare_toplevel_type(JNIid*)                                           \
2056   declare_toplevel_type(jmethodID*)                                       \
2057   declare_toplevel_type(Mutex*)                                           \
2058   declare_toplevel_type(nmethod*)                                         \
2059   COMPILER2_PRESENT(declare_unsigned_integer_type(node_idx_t))            \
2060   declare_toplevel_type(ObjectMonitor*)                                   \
2061   declare_toplevel_type(oop*)                                             \
2062   declare_toplevel_type(OopMap**)                                         \
2063   declare_toplevel_type(OopMapCache*)                                     \
2064   declare_toplevel_type(OopMapSet*)                                       \
2065   declare_toplevel_type(VMReg)                                            \
2066   declare_toplevel_type(OSThread*)                                        \
2067    declare_integer_type(ReferenceType)                                    \
2068   declare_toplevel_type(StubQueue*)                                       \
2069   declare_toplevel_type(Thread*)                                          \
2070   declare_toplevel_type(Universe)                                         \

2071   declare_toplevel_type(vframeArray)                                      \
2072   declare_toplevel_type(vframeArrayElement)                               \
2073   declare_toplevel_type(Annotations*)                                     \
2074                                                                           \
2075   /***************/                                                       \
2076   /* Miscellaneous types */                                               \
2077   /***************/                                                       \
2078                                                                           \


2079   /* freelist */                                                          \
2080   declare_toplevel_type(FreeChunk*)                                       \
2081   declare_toplevel_type(Metablock*)                                       \
2082   declare_toplevel_type(FreeBlockDictionary<FreeChunk>*)                  \
2083   declare_toplevel_type(FreeList<FreeChunk>*)                             \
2084   declare_toplevel_type(FreeList<FreeChunk>)                              \
2085   declare_toplevel_type(FreeBlockDictionary<Metablock>*)                  \
2086   declare_toplevel_type(FreeList<Metablock>*)                             \
2087   declare_toplevel_type(FreeList<Metablock>)                              \
2088   declare_type(MetablockTreeDictionary, FreeBlockDictionary<Metablock>)
2089 
2090 
2091 //--------------------------------------------------------------------------------
2092 // VM_INT_CONSTANTS
2093 //
2094 // This table contains integer constants required over in the
2095 // serviceability agent. The "declare_constant" macro is used for all
2096 // enums, etc., while "declare_preprocessor_constant" must be used for
2097 // all #defined constants.
2098 
2099 #define VM_INT_CONSTANTS(declare_constant,                                \
2100                          declare_preprocessor_constant,                   \
2101                          declare_c1_constant,                             \
2102                          declare_c2_constant,                             \
2103                          declare_c2_preprocessor_constant)                \
2104                                                                           \
2105   /******************/                                                    \
2106   /* Useful globals */                                                    \
2107   /******************/                                                    \
2108                                                                           \

2109                                                                           \
2110   /**************/                                                        \
2111   /* Stack bias */                                                        \
2112   /**************/                                                        \
2113                                                                           \
2114   declare_preprocessor_constant("STACK_BIAS", STACK_BIAS)                 \
2115                                                                           \
2116   /****************/                                                      \
2117   /* Object sizes */                                                      \
2118   /****************/                                                      \
2119                                                                           \
2120   declare_constant(oopSize)                                               \
2121   declare_constant(LogBytesPerWord)                                       \
2122   declare_constant(BytesPerWord)                                          \
2123   declare_constant(BytesPerLong)                                          \
2124                                                                           \


2125   /********************************************/                          \
2126   /* Generation and Space Hierarchy Constants */                          \
2127   /********************************************/                          \
2128                                                                           \
2129   declare_constant(ageTable::table_size)                                  \
2130                                                                           \
2131   declare_constant(BarrierSet::ModRef)                                    \
2132   declare_constant(BarrierSet::CardTableModRef)                           \



2133   declare_constant(BarrierSet::Other)                                     \
2134                                                                           \
2135   declare_constant(BlockOffsetSharedArray::LogN)                          \
2136   declare_constant(BlockOffsetSharedArray::LogN_words)                    \
2137   declare_constant(BlockOffsetSharedArray::N_bytes)                       \
2138   declare_constant(BlockOffsetSharedArray::N_words)                       \
2139                                                                           \
2140   declare_constant(BlockOffsetArray::N_words)                             \
2141                                                                           \
2142   declare_constant(CardTableModRefBS::clean_card)                         \
2143   declare_constant(CardTableModRefBS::last_card)                          \
2144   declare_constant(CardTableModRefBS::dirty_card)                         \
2145   declare_constant(CardTableModRefBS::Precise)                            \
2146   declare_constant(CardTableModRefBS::ObjHeadPreciseArray)                \
2147   declare_constant(CardTableModRefBS::card_shift)                         \
2148   declare_constant(CardTableModRefBS::card_size)                          \
2149   declare_constant(CardTableModRefBS::card_size_in_words)                 \
2150                                                                           \
2151   declare_constant(CardTableRS::youngergen_card)                          \
2152                                                                           \


2231                                                                           \
2232   declare_constant(_thread_uninitialized)                                 \
2233   declare_constant(_thread_new)                                           \
2234   declare_constant(_thread_new_trans)                                     \
2235   declare_constant(_thread_in_native)                                     \
2236   declare_constant(_thread_in_native_trans)                               \
2237   declare_constant(_thread_in_vm)                                         \
2238   declare_constant(_thread_in_vm_trans)                                   \
2239   declare_constant(_thread_in_Java)                                       \
2240   declare_constant(_thread_in_Java_trans)                                 \
2241   declare_constant(_thread_blocked)                                       \
2242   declare_constant(_thread_blocked_trans)                                 \
2243                                                                           \
2244   /******************************/                                        \
2245   /* Klass misc. enum constants */                                        \
2246   /******************************/                                        \
2247                                                                           \
2248   declare_constant(Klass::_primary_super_limit)                           \
2249   declare_constant(Klass::_lh_instance_slow_path_bit)                     \
2250   declare_constant(Klass::_lh_log2_element_size_shift)                    \

2251   declare_constant(Klass::_lh_element_type_shift)                         \

2252   declare_constant(Klass::_lh_header_size_shift)                          \

2253   declare_constant(Klass::_lh_array_tag_shift)                            \
2254   declare_constant(Klass::_lh_array_tag_type_value)                       \
2255   declare_constant(Klass::_lh_array_tag_obj_value)                        \
2256                                                                           \
2257   /********************************/                                      \
2258   /* ConstMethod anon-enum */                                             \
2259   /********************************/                                      \
2260                                                                           \
2261   declare_constant(ConstMethod::_has_linenumber_table)                    \
2262   declare_constant(ConstMethod::_has_checked_exceptions)                  \
2263   declare_constant(ConstMethod::_has_localvariable_table)                 \
2264   declare_constant(ConstMethod::_has_exception_table)                     \
2265   declare_constant(ConstMethod::_has_generic_signature)                   \
2266   declare_constant(ConstMethod::_has_method_annotations)                  \
2267   declare_constant(ConstMethod::_has_parameter_annotations)               \
2268   declare_constant(ConstMethod::_has_default_annotations)                 \
2269   declare_constant(ConstMethod::_has_type_annotations)                    \
2270                                                                           \






2271   /*************************************/                                 \
2272   /* InstanceKlass enum                */                                 \
2273   /*************************************/                                 \
2274                                                                           \
2275                                                                           \
2276   /*************************************/                                 \
2277   /* FieldInfo FieldOffset enum        */                                 \
2278   /*************************************/                                 \
2279                                                                           \
2280   declare_constant(FieldInfo::access_flags_offset)                        \
2281   declare_constant(FieldInfo::name_index_offset)                          \
2282   declare_constant(FieldInfo::signature_index_offset)                     \
2283   declare_constant(FieldInfo::initval_index_offset)                       \
2284   declare_constant(FieldInfo::low_packed_offset)                          \
2285   declare_constant(FieldInfo::high_packed_offset)                         \
2286   declare_constant(FieldInfo::field_slots)                                \
2287                                                                           \
2288   /*************************************/                                 \
2289   /* FieldInfo tag constants           */                                 \
2290   /*************************************/                                 \


2385   declare_constant(Deoptimization::Reason_none)                           \
2386   declare_constant(Deoptimization::Reason_null_check)                     \
2387   declare_constant(Deoptimization::Reason_null_assert)                    \
2388   declare_constant(Deoptimization::Reason_range_check)                    \
2389   declare_constant(Deoptimization::Reason_class_check)                    \
2390   declare_constant(Deoptimization::Reason_array_check)                    \
2391   declare_constant(Deoptimization::Reason_intrinsic)                      \
2392   declare_constant(Deoptimization::Reason_bimorphic)                      \
2393   declare_constant(Deoptimization::Reason_unloaded)                       \
2394   declare_constant(Deoptimization::Reason_uninitialized)                  \
2395   declare_constant(Deoptimization::Reason_unreached)                      \
2396   declare_constant(Deoptimization::Reason_unhandled)                      \
2397   declare_constant(Deoptimization::Reason_constraint)                     \
2398   declare_constant(Deoptimization::Reason_div0_check)                     \
2399   declare_constant(Deoptimization::Reason_age)                            \
2400   declare_constant(Deoptimization::Reason_predicate)                      \
2401   declare_constant(Deoptimization::Reason_loop_limit_check)               \
2402   declare_constant(Deoptimization::Reason_LIMIT)                          \
2403   declare_constant(Deoptimization::Reason_RECORDED_LIMIT)                 \
2404                                                                           \







2405   /*********************/                                                 \
2406   /* Matcher (C2 only) */                                                 \
2407   /*********************/                                                 \
2408                                                                           \
2409   declare_c2_preprocessor_constant("Matcher::interpreter_frame_pointer_reg", Matcher::interpreter_frame_pointer_reg()) \
2410                                                                           \
2411   /*********************************************/                         \
2412   /* MethodCompilation (globalDefinitions.hpp) */                         \
2413   /*********************************************/                         \
2414                                                                           \
2415   declare_constant(InvocationEntryBci)                                    \
2416   declare_constant(InvalidOSREntryBci)                                    \
2417                                                                           \
2418   /***************/                                                       \
2419   /* OopMapValue */                                                       \
2420   /***************/                                                       \
2421                                                                           \
2422   declare_constant(OopMapValue::type_bits)                                \
2423   declare_constant(OopMapValue::register_bits)                            \
2424   declare_constant(OopMapValue::type_shift)                               \


2451   /**********************/                                                \
2452                                                                           \
2453   declare_constant(PcDesc::PCDESC_reexecute)                              \
2454   declare_constant(PcDesc::PCDESC_is_method_handle_invoke)                \
2455   declare_constant(PcDesc::PCDESC_return_oop)                             \
2456                                                                           \
2457   /**********************/                                                \
2458   /* frame              */                                                \
2459   /**********************/                                                \
2460                                                                           \
2461   NOT_ZERO(X86_ONLY(declare_constant(frame::entry_frame_call_wrapper_offset)))      \
2462   declare_constant(frame::pc_return_offset)                               \
2463                                                                           \
2464   /*************/                                                         \
2465   /* vmSymbols */                                                         \
2466   /*************/                                                         \
2467                                                                           \
2468   declare_constant(vmSymbols::FIRST_SID)                                  \
2469   declare_constant(vmSymbols::SID_LIMIT)                                  \
2470                                                                           \










2471   /********************************/                                      \
2472   /* Calling convention constants */                                      \
2473   /********************************/                                      \
2474                                                                           \
2475   declare_constant(RegisterImpl::number_of_registers)                     \
2476   declare_constant(ConcreteRegisterImpl::number_of_registers)             \
2477   declare_preprocessor_constant("REG_COUNT", REG_COUNT)                \
2478   declare_c2_preprocessor_constant("SAVED_ON_ENTRY_REG_COUNT", SAVED_ON_ENTRY_REG_COUNT) \
2479   declare_c2_preprocessor_constant("C_SAVED_ON_ENTRY_REG_COUNT", C_SAVED_ON_ENTRY_REG_COUNT)
2480 
2481 
2482 //--------------------------------------------------------------------------------
2483 // VM_LONG_CONSTANTS
2484 //
2485 // This table contains long constants required over in the
2486 // serviceability agent. The "declare_constant" macro is used for all
2487 // enums, etc., while "declare_preprocessor_constant" must be used for
2488 // all #defined constants.
2489 
2490 #define VM_LONG_CONSTANTS(declare_constant, declare_preprocessor_constant, declare_c1_constant, declare_c2_constant, declare_c2_preprocessor_constant) \


2498   /* 64 bits (on 64-bit platforms). */                                    \
2499                                                                           \
2500   declare_constant(markOopDesc::age_bits)                                 \
2501   declare_constant(markOopDesc::lock_bits)                                \
2502   declare_constant(markOopDesc::biased_lock_bits)                         \
2503   declare_constant(markOopDesc::max_hash_bits)                            \
2504   declare_constant(markOopDesc::hash_bits)                                \
2505                                                                           \
2506   declare_constant(markOopDesc::lock_shift)                               \
2507   declare_constant(markOopDesc::biased_lock_shift)                        \
2508   declare_constant(markOopDesc::age_shift)                                \
2509   declare_constant(markOopDesc::hash_shift)                               \
2510                                                                           \
2511   declare_constant(markOopDesc::lock_mask)                                \
2512   declare_constant(markOopDesc::lock_mask_in_place)                       \
2513   declare_constant(markOopDesc::biased_lock_mask)                         \
2514   declare_constant(markOopDesc::biased_lock_mask_in_place)                \
2515   declare_constant(markOopDesc::biased_lock_bit_in_place)                 \
2516   declare_constant(markOopDesc::age_mask)                                 \
2517   declare_constant(markOopDesc::age_mask_in_place)                        \


2518   declare_constant(markOopDesc::hash_mask)                                \
2519   declare_constant(markOopDesc::hash_mask_in_place)                       \
2520   declare_constant(markOopDesc::biased_lock_alignment)                    \
2521                                                                           \
2522   declare_constant(markOopDesc::locked_value)                             \
2523   declare_constant(markOopDesc::unlocked_value)                           \
2524   declare_constant(markOopDesc::monitor_value)                            \
2525   declare_constant(markOopDesc::marked_value)                             \
2526   declare_constant(markOopDesc::biased_lock_pattern)                      \
2527                                                                           \
2528   declare_constant(markOopDesc::no_hash)                                  \
2529   declare_constant(markOopDesc::no_hash_in_place)                         \
2530   declare_constant(markOopDesc::no_lock_in_place)                         \
2531   declare_constant(markOopDesc::max_age)                                  \
2532                                                                           \
2533   /* Constants in markOop used by CMS. */                                 \
2534   declare_constant(markOopDesc::cms_shift)                                \
2535   declare_constant(markOopDesc::cms_mask)                                 \
2536   declare_constant(markOopDesc::size_shift)
2537 




 313   nonstatic_field(InstanceKlass,               _jni_ids,                                      JNIid*)                                \
 314   nonstatic_field(InstanceKlass,               _osr_nmethods_head,                            nmethod*)                              \
 315   nonstatic_field(InstanceKlass,               _breakpoints,                                  BreakpointInfo*)                       \
 316   nonstatic_field(InstanceKlass,               _generic_signature_index,                           u2)                               \
 317   nonstatic_field(InstanceKlass,               _methods_jmethod_ids,                          jmethodID*)                            \
 318   nonstatic_field(InstanceKlass,               _methods_cached_itable_indices,                int*)                                  \
 319   volatile_nonstatic_field(InstanceKlass,      _idnum_allocated_count,                        u2)                                    \
 320   nonstatic_field(InstanceKlass,               _annotations,                                  Annotations*)                          \
 321   nonstatic_field(InstanceKlass,               _dependencies,                                 nmethodBucket*)                        \
 322   nonstatic_field(nmethodBucket,               _nmethod,                                      nmethod*)                              \
 323   nonstatic_field(nmethodBucket,               _count,                                        int)                                   \
 324   nonstatic_field(nmethodBucket,               _next,                                         nmethodBucket*)                        \
 325   nonstatic_field(InstanceKlass,               _method_ordering,                              Array<int>*)                           \
 326   nonstatic_field(Klass,                       _super_check_offset,                           juint)                                 \
 327   nonstatic_field(Klass,                       _secondary_super_cache,                        Klass*)                                \
 328   nonstatic_field(Klass,                       _secondary_supers,                             Array<Klass*>*)                        \
 329   nonstatic_field(Klass,                       _primary_supers[0],                            Klass*)                                \
 330   nonstatic_field(Klass,                       _java_mirror,                                  oop)                                   \
 331   nonstatic_field(Klass,                       _modifier_flags,                               jint)                                  \
 332   nonstatic_field(Klass,                       _super,                                        Klass*)                                \
 333   nonstatic_field(Klass,                       _subklass,                                     Klass*)                                \
 334   nonstatic_field(Klass,                       _layout_helper,                                jint)                                  \
 335   nonstatic_field(Klass,                       _name,                                         Symbol*)                               \
 336   nonstatic_field(Klass,                       _access_flags,                                 AccessFlags)                           \
 337   nonstatic_field(Klass,                       _prototype_header,                             markOop)                               \
 338   nonstatic_field(Klass,                       _next_sibling,                                 Klass*)                                \
 339   nonstatic_field(vtableEntry,                 _method,                                       Method*)                               \
 340   nonstatic_field(MethodData,           _size,                                         int)                                   \
 341   nonstatic_field(MethodData,           _method,                                       Method*)                               \
 342   nonstatic_field(MethodData,           _data_size,                                    int)                                   \
 343   nonstatic_field(MethodData,           _data[0],                                      intptr_t)                              \
 344   nonstatic_field(MethodData,           _nof_decompiles,                               uint)                                  \
 345   nonstatic_field(MethodData,           _nof_overflow_recompiles,                      uint)                                  \
 346   nonstatic_field(MethodData,           _nof_overflow_traps,                           uint)                                  \
 347   nonstatic_field(MethodData,           _trap_hist._array[0],                          u1)                                    \
 348   nonstatic_field(MethodData,           _eflags,                                       intx)                                  \
 349   nonstatic_field(MethodData,           _arg_local,                                    intx)                                  \
 350   nonstatic_field(MethodData,           _arg_stack,                                    intx)                                  \
 351   nonstatic_field(MethodData,           _arg_returned,                                 intx)                                  \
 352   nonstatic_field(DataLayout,           _header._struct._tag,                          u1)                                    \
 353   nonstatic_field(DataLayout,           _header._struct._flags,                        u1)                                    \
 354   nonstatic_field(DataLayout,           _header._struct._bci,                          u2)                                    \
 355   nonstatic_field(DataLayout,           _cells[0],                                     intptr_t)                              \
 356   nonstatic_field(MethodCounters,       _interpreter_invocation_count,                 int)                                   \
 357   nonstatic_field(MethodCounters,       _interpreter_throwout_count,                   u2)                                    \
 358   nonstatic_field(MethodCounters,       _number_of_breakpoints,                        u2)                                    \
 359   nonstatic_field(MethodCounters,       _invocation_counter,                           InvocationCounter)                     \
 360   nonstatic_field(MethodCounters,       _backedge_counter,                             InvocationCounter)                     \
 361   nonstatic_field(Method,               _constMethod,                                  ConstMethod*)                          \
 362   nonstatic_field(Method,               _method_data,                                  MethodData*)                           \
 363   nonstatic_field(Method,               _method_counters,                              MethodCounters*)                       \
 364   nonstatic_field(Method,               _access_flags,                                 AccessFlags)                           \
 365   nonstatic_field(Method,               _vtable_index,                                 int)                                   \
 366   nonstatic_field(Method,               _method_size,                                  u2)                                    \
 367   nonstatic_field(Method,               _intrinsic_id,                                 u1)                                    \
 368   nonproduct_nonstatic_field(Method,    _compiled_invocation_count,                    int)                                   \
 369   volatile_nonstatic_field(Method,      _code,                                         nmethod*)                              \
 370   nonstatic_field(Method,               _i2i_entry,                                    address)                               \
 371   nonstatic_field(Method,               _adapter,                                      AdapterHandlerEntry*)                  \
 372   volatile_nonstatic_field(Method,      _from_compiled_entry,                          address)                               \
 373   volatile_nonstatic_field(Method,      _from_interpreted_entry,                       address)                               \
 374   volatile_nonstatic_field(ConstMethod, _fingerprint,                                  uint64_t)                              \
 375   nonstatic_field(ConstMethod,          _constants,                                    ConstantPool*)                         \
 376   nonstatic_field(ConstMethod,          _stackmap_data,                                Array<u1>*)                            \
 377   nonstatic_field(ConstMethod,          _constMethod_size,                             int)                                   \
 378   nonstatic_field(ConstMethod,          _flags,                                        u2)                                    \
 379   nonstatic_field(ConstMethod,          _code_size,                                    u2)                                    \
 380   nonstatic_field(ConstMethod,          _name_index,                                   u2)                                    \
 381   nonstatic_field(ConstMethod,          _signature_index,                              u2)                                    \
 382   nonstatic_field(ConstMethod,          _method_idnum,                                 u2)                                    \
 383   nonstatic_field(ConstMethod,          _max_stack,                                    u2)                                    \
 384   nonstatic_field(ConstMethod,          _max_locals,                                   u2)                                    \
 385   nonstatic_field(ConstMethod,          _size_of_parameters,                           u2)                                    \
 386   nonstatic_field(ObjArrayKlass,               _element_klass,                                Klass*)                                \
 387   nonstatic_field(ObjArrayKlass,               _bottom_klass,                                 Klass*)                                \


 434      static_field(Universe,                    _boolArrayKlassObj,                            Klass*)                                \
 435      static_field(Universe,                    _byteArrayKlassObj,                            Klass*)                                \
 436      static_field(Universe,                    _charArrayKlassObj,                            Klass*)                                \
 437      static_field(Universe,                    _intArrayKlassObj,                             Klass*)                                \
 438      static_field(Universe,                    _shortArrayKlassObj,                           Klass*)                                \
 439      static_field(Universe,                    _longArrayKlassObj,                            Klass*)                                \
 440      static_field(Universe,                    _singleArrayKlassObj,                          Klass*)                                \
 441      static_field(Universe,                    _doubleArrayKlassObj,                          Klass*)                                \
 442      static_field(Universe,                    _mirrors[0],                                   oop)                                   \
 443      static_field(Universe,                    _main_thread_group,                            oop)                                   \
 444      static_field(Universe,                    _system_thread_group,                          oop)                                   \
 445      static_field(Universe,                    _the_empty_class_klass_array,                  objArrayOop)                           \
 446      static_field(Universe,                    _null_ptr_exception_instance,                  oop)                                   \
 447      static_field(Universe,                    _arithmetic_exception_instance,                oop)                                   \
 448      static_field(Universe,                    _vm_exception,                                 oop)                                   \
 449      static_field(Universe,                    _collectedHeap,                                CollectedHeap*)                        \
 450      static_field(Universe,                    _base_vtable_size,                             int)                                   \
 451      static_field(Universe,                    _bootstrapping,                                bool)                                  \
 452      static_field(Universe,                    _fully_initialized,                            bool)                                  \
 453      static_field(Universe,                    _verify_count,                                 int)                                   \
 454      static_field(Universe,                    _non_oop_bits,                                 intptr_t)                              \
 455      static_field(Universe,                    _narrow_oop._base,                             address)                               \
 456      static_field(Universe,                    _narrow_oop._shift,                            int)                                   \
 457      static_field(Universe,                    _narrow_oop._use_implicit_null_checks,         bool)                                  \
 458      static_field(Universe,                    _narrow_klass._base,                           address)                               \
 459      static_field(Universe,                    _narrow_klass._shift,                          int)                                   \
 460                                                                                                                                      \
 461   /******/                                                                                                                           \
 462   /* os */                                                                                                                           \
 463   /******/                                                                                                                           \
 464                                                                                                                                      \
 465      static_field(os,                          _polling_page,                                 address)                               \
 466                                                                                                                                      \
 467   /**********************************************************************************/                                               \
 468   /* Generation and Space hierarchies                                               */                                               \
 469   /**********************************************************************************/                                               \
 470                                                                                                                                      \
 471   unchecked_nonstatic_field(ageTable,          sizes,                                         sizeof(ageTable::sizes))               \
 472                                                                                                                                      \
 473   nonstatic_field(BarrierSet,                  _max_covered_regions,                          int)                                   \
 474   nonstatic_field(BarrierSet,                  _kind,                                         BarrierSet::Name)                      \
 475   nonstatic_field(BlockOffsetTable,            _bottom,                                       HeapWord*)                             \
 476   nonstatic_field(BlockOffsetTable,            _end,                                          HeapWord*)                             \
 477                                                                                                                                      \
 478   nonstatic_field(BlockOffsetSharedArray,      _reserved,                                     MemRegion)                             \
 479   nonstatic_field(BlockOffsetSharedArray,      _end,                                          HeapWord*)                             \
 480   nonstatic_field(BlockOffsetSharedArray,      _vs,                                           VirtualSpace)                          \
 481   nonstatic_field(BlockOffsetSharedArray,      _offset_array,                                 u_char*)                               \
 482                                                                                                                                      \
 483   nonstatic_field(BlockOffsetArray,            _array,                                        BlockOffsetSharedArray*)               \
 484   nonstatic_field(BlockOffsetArray,            _sp,                                           Space*)                                \
 485   nonstatic_field(BlockOffsetArrayContigSpace, _next_offset_threshold,                        HeapWord*)                             \
 486   nonstatic_field(BlockOffsetArrayContigSpace, _next_offset_index,                            size_t)                                \
 487                                                                                                                                      \
 488   nonstatic_field(BlockOffsetArrayNonContigSpace, _unallocated_block,                         HeapWord*)                             \
 489                                                                                                                                      \
 490   nonstatic_field(CardGeneration,              _rs,                                           GenRemSet*)                            \
 491   nonstatic_field(CardGeneration,              _bts,                                          BlockOffsetSharedArray*)               \
 492   nonstatic_field(CardGeneration,              _shrink_factor,                                size_t)                                \
 493   nonstatic_field(CardGeneration,              _capacity_at_prologue,                         size_t)                                \
 494   nonstatic_field(CardGeneration,              _used_at_prologue,                             size_t)                                \
 495                                                                                                                                      \
 496   nonstatic_field(CardTableModRefBS,           _whole_heap,                                   const MemRegion)                       \
 497   nonstatic_field(CardTableModRefBS,           _guard_index,                                  const size_t)                          \
 498   nonstatic_field(CardTableModRefBS,           _last_valid_index,                             const size_t)                          \
 499   nonstatic_field(CardTableModRefBS,           _page_size,                                    const size_t)                          \
 500   nonstatic_field(CardTableModRefBS,           _byte_map_size,                                const size_t)                          \
 501   nonstatic_field(CardTableModRefBS,           _byte_map,                                     jbyte*)                                \
 502   nonstatic_field(CardTableModRefBS,           _cur_covered_regions,                          int)                                   \
 503   nonstatic_field(CardTableModRefBS,           _covered,                                      MemRegion*)                            \
 504   nonstatic_field(CardTableModRefBS,           _committed,                                    MemRegion*)                            \
 505   nonstatic_field(CardTableModRefBS,           _guard_region,                                 MemRegion)                             \
 506   nonstatic_field(CardTableModRefBS,           byte_map_base,                                 jbyte*)                                \
 507                                                                                                                                      \
 508   nonstatic_field(CardTableRS,                 _ct_bs,                                        CardTableModRefBSForCTRS*)             \
 509                                                                                                                                      \
 510   nonstatic_field(CollectedHeap,               _reserved,                                     MemRegion)                             \
 511   nonstatic_field(CollectedHeap,               _barrier_set,                                  BarrierSet*)                           \
 512   nonstatic_field(CollectedHeap,               _defer_initial_card_mark,                      bool)                                  \
 513   nonstatic_field(CollectedHeap,               _is_gc_active,                                 bool)                                  \
 514   nonstatic_field(CollectedHeap,               _total_collections,                            unsigned int)                          \
 515   nonstatic_field(CompactibleSpace,            _compaction_top,                               HeapWord*)                             \
 516   nonstatic_field(CompactibleSpace,            _first_dead,                                   HeapWord*)                             \
 517   nonstatic_field(CompactibleSpace,            _end_of_live,                                  HeapWord*)                             \
 518                                                                                                                                      \
 519                                                                                                                                      \
 520   nonstatic_field(ContiguousSpace,             _top,                                          HeapWord*)                             \
 521   nonstatic_field(ContiguousSpace,             _concurrent_iteration_safe_limit,              HeapWord*)                             \
 522   nonstatic_field(ContiguousSpace,             _saved_mark_word,                              HeapWord*)                             \
 523                                                                                                                                      \
 524   nonstatic_field(DefNewGeneration,            _next_gen,                                     Generation*)                           \
 525   nonstatic_field(DefNewGeneration,            _tenuring_threshold,                           uint)                                  \
 526   nonstatic_field(DefNewGeneration,            _age_table,                                    ageTable)                              \
 527   nonstatic_field(DefNewGeneration,            _eden_space,                                   EdenSpace*)                            \
 528   nonstatic_field(DefNewGeneration,            _from_space,                                   ContiguousSpace*)                      \
 529   nonstatic_field(DefNewGeneration,            _to_space,                                     ContiguousSpace*)                      \
 530                                                                                                                                      \
 531   nonstatic_field(EdenSpace,                   _gen,                                          DefNewGeneration*)                     \
 532                                                                                                                                      \
 533   nonstatic_field(Generation,                  _reserved,                                     MemRegion)                             \
 534   nonstatic_field(Generation,                  _virtual_space,                                VirtualSpace)                          \


 552   nonstatic_field(MemRegion,                   _start,                                        HeapWord*)                             \
 553   nonstatic_field(MemRegion,                   _word_size,                                    size_t)                                \
 554                                                                                                                                      \
 555   nonstatic_field(OffsetTableContigSpace,      _offsets,                                      BlockOffsetArray)                      \
 556                                                                                                                                      \
 557   nonstatic_field(OneContigSpaceCardGeneration, _min_heap_delta_bytes,                        size_t)                                \
 558   nonstatic_field(OneContigSpaceCardGeneration, _the_space,                                   ContiguousSpace*)                      \
 559   nonstatic_field(OneContigSpaceCardGeneration, _last_gc,                                     WaterMark)                             \
 560                                                                                                                                      \
 561                                                                                                                                      \
 562                                                                                                                                      \
 563   nonstatic_field(Space,                       _bottom,                                       HeapWord*)                             \
 564   nonstatic_field(Space,                       _end,                                          HeapWord*)                             \
 565                                                                                                                                      \
 566   nonstatic_field(ThreadLocalAllocBuffer,      _start,                                        HeapWord*)                             \
 567   nonstatic_field(ThreadLocalAllocBuffer,      _top,                                          HeapWord*)                             \
 568   nonstatic_field(ThreadLocalAllocBuffer,      _end,                                          HeapWord*)                             \
 569   nonstatic_field(ThreadLocalAllocBuffer,      _desired_size,                                 size_t)                                \
 570   nonstatic_field(ThreadLocalAllocBuffer,      _refill_waste_limit,                           size_t)                                \
 571      static_field(ThreadLocalAllocBuffer,      _target_refills,                               unsigned)                              \
 572   nonstatic_field(ThreadLocalAllocBuffer,      _number_of_refills,                            unsigned)                              \
 573   nonstatic_field(ThreadLocalAllocBuffer,      _fast_refill_waste,                            unsigned)                              \
 574   nonstatic_field(ThreadLocalAllocBuffer,      _slow_refill_waste,                            unsigned)                              \
 575   nonstatic_field(ThreadLocalAllocBuffer,      _gc_waste,                                     unsigned)                              \
 576   nonstatic_field(ThreadLocalAllocBuffer,      _slow_allocations,                             unsigned)                              \
 577   nonstatic_field(VirtualSpace,                _low_boundary,                                 char*)                                 \
 578   nonstatic_field(VirtualSpace,                _high_boundary,                                char*)                                 \
 579   nonstatic_field(VirtualSpace,                _low,                                          char*)                                 \
 580   nonstatic_field(VirtualSpace,                _high,                                         char*)                                 \
 581   nonstatic_field(VirtualSpace,                _lower_high,                                   char*)                                 \
 582   nonstatic_field(VirtualSpace,                _middle_high,                                  char*)                                 \
 583   nonstatic_field(VirtualSpace,                _upper_high,                                   char*)                                 \
 584   nonstatic_field(WaterMark,                   _point,                                        HeapWord*)                             \
 585   nonstatic_field(WaterMark,                   _space,                                        Space*)                                \
 586                                                                                                                                      \
 587   /************************/                                                                                                         \
 588   /* PerfMemory - jvmstat */                                                                                                         \
 589   /************************/                                                                                                         \
 590                                                                                                                                      \
 591   nonstatic_field(PerfDataPrologue,            magic,                                         jint)                                  \
 592   nonstatic_field(PerfDataPrologue,            byte_order,                                    jbyte)                                 \
 593   nonstatic_field(PerfDataPrologue,            major_version,                                 jbyte)                                 \
 594   nonstatic_field(PerfDataPrologue,            minor_version,                                 jbyte)                                 \
 595   nonstatic_field(PerfDataPrologue,            accessible,                                    jbyte)                                 \
 596   nonstatic_field(PerfDataPrologue,            used,                                          jint)                                  \


 718   /* ProctectionDomainEntry */                                                                                                       \
 719   /**************************/                                                                                                       \
 720                                                                                                                                      \
 721   nonstatic_field(ProtectionDomainEntry,       _next,                                         ProtectionDomainEntry*)                \
 722   nonstatic_field(ProtectionDomainEntry,       _protection_domain,                            oop)                                   \
 723                                                                                                                                      \
 724   /*************************/                                                                                                        \
 725   /* LoaderConstraintEntry */                                                                                                        \
 726   /*************************/                                                                                                        \
 727                                                                                                                                      \
 728   nonstatic_field(LoaderConstraintEntry,       _name,                                         Symbol*)                               \
 729   nonstatic_field(LoaderConstraintEntry,       _num_loaders,                                  int)                                   \
 730   nonstatic_field(LoaderConstraintEntry,       _max_loaders,                                  int)                                   \
 731   nonstatic_field(LoaderConstraintEntry,       _loaders,                                      ClassLoaderData**)                     \
 732                                                                                                                                      \
 733   nonstatic_field(ClassLoaderData,             _class_loader,                                 oop)                                   \
 734   nonstatic_field(ClassLoaderData,             _next,                                         ClassLoaderData*)                      \
 735                                                                                                                                      \
 736   static_field(ClassLoaderDataGraph,           _head,                                         ClassLoaderData*)                      \
 737                                                                                                                                      \
 738   /**********/                                                                                                                       \
 739   /* Arrays */                                                                                                                       \
 740   /**********/                                                                                                                       \
 741                                                                                                                                      \
 742   nonstatic_field(Array<Klass*>,               _length,                                       int)                                   \
 743   nonstatic_field(Array<Klass*>,               _data[0],                                      Klass*)                                \
 744                                                                                                                                      \
 745   /*******************/                                                                                                              \
 746   /* GrowableArrays  */                                                                                                              \
 747   /*******************/                                                                                                              \
 748                                                                                                                                      \
 749   nonstatic_field(GenericGrowableArray,        _len,                                          int)                                   \
 750   nonstatic_field(GenericGrowableArray,        _max,                                          int)                                   \
 751   nonstatic_field(GenericGrowableArray,        _arena,                                        Arena*)                                \
 752   nonstatic_field(GrowableArray<int>,          _data,                                         int*)                                  \
 753                                                                                                                                      \
 754   /********************************/                                                                                                 \
 755   /* CodeCache (NOTE: incomplete) */                                                                                                 \
 756   /********************************/                                                                                                 \
 757                                                                                                                                      \
 758      static_field(CodeCache,                   _heap,                                         CodeHeap*)                             \
 759      static_field(CodeCache,                   _scavenge_root_nmethods,                       nmethod*)                              \
 760                                                                                                                                      \
 761   /*******************************/                                                                                                  \
 762   /* CodeHeap (NOTE: incomplete) */                                                                                                  \
 763   /*******************************/                                                                                                  \
 764                                                                                                                                      \


 775                                                                                                                                      \
 776      static_field(AbstractInterpreter,         _code,                                         StubQueue*)                            \
 777                                                                                                                                      \
 778   /****************************/                                                                                                     \
 779   /* Stubs (NOTE: incomplete) */                                                                                                     \
 780   /****************************/                                                                                                     \
 781                                                                                                                                      \
 782   nonstatic_field(StubQueue,                   _stub_buffer,                                  address)                               \
 783   nonstatic_field(StubQueue,                   _buffer_limit,                                 int)                                   \
 784   nonstatic_field(StubQueue,                   _queue_begin,                                  int)                                   \
 785   nonstatic_field(StubQueue,                   _queue_end,                                    int)                                   \
 786   nonstatic_field(StubQueue,                   _number_of_stubs,                              int)                                   \
 787   nonstatic_field(InterpreterCodelet,          _size,                                         int)                                   \
 788   nonstatic_field(InterpreterCodelet,          _description,                                  const char*)                           \
 789   nonstatic_field(InterpreterCodelet,          _bytecode,                                     Bytecodes::Code)                       \
 790                                                                                                                                      \
 791   /***********************************/                                                                                              \
 792   /* StubRoutines (NOTE: incomplete) */                                                                                              \
 793   /***********************************/                                                                                              \
 794                                                                                                                                      \
 795      static_field(StubRoutines,                _verify_oop_count,                             jint)                                  \
 796      static_field(StubRoutines,                _call_stub_return_address,                     address)                               \
 797      static_field(StubRoutines,                _aescrypt_encryptBlock,                        address)                               \
 798      static_field(StubRoutines,                _aescrypt_decryptBlock,                        address)                               \
 799      static_field(StubRoutines,                _cipherBlockChaining_encryptAESCrypt,          address)                               \
 800      static_field(StubRoutines,                _cipherBlockChaining_decryptAESCrypt,          address)                               \
 801      static_field(StubRoutines,                _updateBytesCRC32,                             address)                               \
 802      static_field(StubRoutines,                _crc_table_adr,                                address)                               \
 803                                                                                                                                      \
 804   /*****************/                                                                                                                \
 805   /* SharedRuntime */                                                                                                                \
 806   /*****************/                                                                                                                \
 807                                                                                                                                      \
 808      static_field(SharedRuntime,               _ic_miss_blob,                                 RuntimeStub*)                          \
 809                                                                                                                                      \
 810   /***************************************/                                                                                          \
 811   /* PcDesc and other compiled code info */                                                                                          \
 812   /***************************************/                                                                                          \
 813                                                                                                                                      \
 814   nonstatic_field(PcDesc,                      _pc_offset,                                    int)                                   \
 815   nonstatic_field(PcDesc,                      _scope_decode_offset,                          int)                                   \
 816   nonstatic_field(PcDesc,                      _obj_decode_offset,                            int)                                   \
 817   nonstatic_field(PcDesc,                      _flags,                                        int)                                   \
 818                                                                                                                                      \
 819   /***************************************************/                                                                              \
 820   /* CodeBlobs (NOTE: incomplete, but only a little) */                                                                              \
 821   /***************************************************/                                                                              \
 822                                                                                                                                      \
 823   nonstatic_field(CodeBlob,                    _name,                                         const char*)                           \
 824   nonstatic_field(CodeBlob,                    _size,                                         int)                                   \
 825   nonstatic_field(CodeBlob,                    _header_size,                                  int)                                   \
 826   nonstatic_field(CodeBlob,                    _relocation_size,                              int)                                   \
 827   nonstatic_field(CodeBlob,                    _content_offset,                               int)                                   \
 828   nonstatic_field(CodeBlob,                    _code_offset,                                  int)                                   \


 878   /* JavaFrameAnchor (NOTE: incomplete) */                                                                                           \
 879   /********************************/                                                                                                 \
 880   volatile_nonstatic_field(JavaFrameAnchor,    _last_Java_sp,                                 intptr_t*)                             \
 881   volatile_nonstatic_field(JavaFrameAnchor,    _last_Java_pc,                                 address)                               \
 882                                                                                                                                      \
 883   /******************************/                                                                                                   \
 884   /* Threads (NOTE: incomplete) */                                                                                                   \
 885   /******************************/                                                                                                   \
 886                                                                                                                                      \
 887      static_field(Threads,                     _thread_list,                                  JavaThread*)                           \
 888      static_field(Threads,                     _number_of_threads,                            int)                                   \
 889      static_field(Threads,                     _number_of_non_daemon_threads,                 int)                                   \
 890      static_field(Threads,                     _return_code,                                  int)                                   \
 891                                                                                                                                      \
 892   nonstatic_field(ThreadShadow,                _pending_exception,                            oop)                                   \
 893   nonstatic_field(ThreadShadow,                _exception_file,                               const char*)                           \
 894   nonstatic_field(ThreadShadow,                _exception_line,                               int)                                   \
 895    volatile_nonstatic_field(Thread,            _suspend_flags,                                uint32_t)                              \
 896   nonstatic_field(Thread,                      _active_handles,                               JNIHandleBlock*)                       \
 897   nonstatic_field(Thread,                      _tlab,                                         ThreadLocalAllocBuffer)                \
 898   nonstatic_field(Thread,                      _allocated_bytes,                              jlong)                                 \
 899   nonstatic_field(Thread,                      _current_pending_monitor,                      ObjectMonitor*)                        \
 900   nonstatic_field(Thread,                      _current_pending_monitor_is_from_java,         bool)                                  \
 901   nonstatic_field(Thread,                      _current_waiting_monitor,                      ObjectMonitor*)                        \
 902   nonstatic_field(NamedThread,                 _name,                                         char*)                                 \
 903   nonstatic_field(NamedThread,                 _processed_thread,                             JavaThread*)                           \
 904   nonstatic_field(JavaThread,                  _next,                                         JavaThread*)                           \
 905   nonstatic_field(JavaThread,                  _threadObj,                                    oop)                                   \
 906   nonstatic_field(JavaThread,                  _anchor,                                       JavaFrameAnchor)                       \
 907   nonstatic_field(JavaThread,                  _vm_result,                                    oop)                                   \
 908   nonstatic_field(JavaThread,                  _vm_result_2,                                  Metadata*)                             \
 909   nonstatic_field(JavaThread,                  _pending_async_exception,                      oop)                                   \
 910   volatile_nonstatic_field(JavaThread,         _exception_oop,                                oop)                                   \
 911   volatile_nonstatic_field(JavaThread,         _exception_pc,                                 address)                               \
 912   volatile_nonstatic_field(JavaThread,         _is_method_handle_return,                      int)                                   \
 913   nonstatic_field(JavaThread,                  _is_compiling,                                 bool)                                  \
 914   nonstatic_field(JavaThread,                  _special_runtime_exit_condition,               JavaThread::AsyncRequests)             \
 915   nonstatic_field(JavaThread,                  _saved_exception_pc,                           address)                               \
 916    volatile_nonstatic_field(JavaThread,        _thread_state,                                 JavaThreadState)                       \
 917   nonstatic_field(JavaThread,                  _osthread,                                     OSThread*)                             \
 918   nonstatic_field(JavaThread,                  _stack_base,                                   address)                               \
 919   nonstatic_field(JavaThread,                  _stack_size,                                   size_t)                                \
 920   nonstatic_field(JavaThread,                  _vframe_array_head,                            vframeArray*)                          \
 921   nonstatic_field(JavaThread,                  _vframe_array_last,                            vframeArray*)                          \
 922   nonstatic_field(JavaThread,                  _satb_mark_queue,                              ObjPtrQueue)                           \
 923   nonstatic_field(JavaThread,                  _dirty_card_queue,                             DirtyCardQueue)                        \
 924   nonstatic_field(Thread,                      _resource_area,                                ResourceArea*)                         \
 925   nonstatic_field(CompilerThread,              _env,                                          ciEnv*)                                \
 926                                                                                                                                      \
 927   /************/                                                                                                                     \
 928   /* OSThread */                                                                                                                     \
 929   /************/                                                                                                                     \
 930                                                                                                                                      \
 931   volatile_nonstatic_field(OSThread,           _interrupted,                                  jint)                                  \
 932                                                                                                                                      \
 933   /************************/                                                                                                         \
 934   /* OopMap and OopMapSet */                                                                                                         \
 935   /************************/                                                                                                         \
 936                                                                                                                                      \
 937   nonstatic_field(OopMap,                      _pc_offset,                                    int)                                   \
 938   nonstatic_field(OopMap,                      _omv_count,                                    int)                                   \
 939   nonstatic_field(OopMap,                      _omv_data_size,                                int)                                   \
 940   nonstatic_field(OopMap,                      _omv_data,                                     unsigned char*)                        \
 941   nonstatic_field(OopMap,                      _write_stream,                                 CompressedWriteStream*)                \
 942   nonstatic_field(OopMapSet,                   _om_count,                                     int)                                   \
 943   nonstatic_field(OopMapSet,                   _om_size,                                      int)                                   \


1248   /************************/                                                                                                         \
1249   /* Miscellaneous fields */                                                                                                         \
1250   /************************/                                                                                                         \
1251                                                                                                                                      \
1252   nonstatic_field(CompileTask,                 _method,                                      Method*)                                \
1253   nonstatic_field(CompileTask,                 _osr_bci,                                     int)                                    \
1254   nonstatic_field(CompileTask,                 _comp_level,                                  int)                                    \
1255   nonstatic_field(CompileTask,                 _compile_id,                                  uint)                                   \
1256   nonstatic_field(CompileTask,                 _next,                                        CompileTask*)                           \
1257   nonstatic_field(CompileTask,                 _prev,                                        CompileTask*)                           \
1258                                                                                                                                      \
1259   nonstatic_field(vframeArray,                 _next,                                        vframeArray*)                           \
1260   nonstatic_field(vframeArray,                 _original,                                    frame)                                  \
1261   nonstatic_field(vframeArray,                 _caller,                                      frame)                                  \
1262   nonstatic_field(vframeArray,                 _frames,                                      int)                                    \
1263                                                                                                                                      \
1264   nonstatic_field(vframeArrayElement,          _frame,                                       frame)                                  \
1265   nonstatic_field(vframeArrayElement,          _bci,                                         int)                                    \
1266   nonstatic_field(vframeArrayElement,          _method,                                      Method*)                                \
1267                                                                                                                                      \
1268   nonstatic_field(PtrQueue,                    _active,                                      bool)                                   \
1269   nonstatic_field(PtrQueue,                    _buf,                                         void**)                                 \
1270   nonstatic_field(PtrQueue,                    _index,                                       size_t)                                 \
1271                                                                                                                                      \
1272   nonstatic_field(AccessFlags,                 _flags,                                       jint)                                   \
1273   nonstatic_field(elapsedTimer,                _counter,                                     jlong)                                  \
1274   nonstatic_field(elapsedTimer,                _active,                                      bool)                                   \
1275   nonstatic_field(InvocationCounter,           _counter,                                     unsigned int)                           \
1276   volatile_nonstatic_field(FreeChunk,          _size,                                        size_t)                                 \
1277   nonstatic_field(FreeChunk,                   _next,                                        FreeChunk*)                             \
1278   nonstatic_field(FreeChunk,                   _prev,                                        FreeChunk*)                             \
1279   nonstatic_field(FreeList<FreeChunk>,         _size,                                        size_t)                                 \
1280   nonstatic_field(FreeList<Metablock>,         _size,                                        size_t)                                 \
1281   nonstatic_field(FreeList<FreeChunk>,         _count,                                       ssize_t)                                \
1282   nonstatic_field(FreeList<Metablock>,         _count,                                       ssize_t)                                \
1283   nonstatic_field(MetablockTreeDictionary,     _total_size,                                  size_t)
1284 
1285 
1286 //--------------------------------------------------------------------------------
1287 // VM_TYPES
1288 //
1289 // This list must enumerate at least all of the types in the above
1290 // list. For the types in the above list, the entry below must have
1291 // exactly the same spacing since string comparisons are done in the


1414   /**************************************************/                    \
1415                                                                           \
1416   declare_toplevel_type(CompiledICHolder)                                 \
1417   declare_toplevel_type(MetaspaceObj)                                     \
1418     declare_type(Metadata, MetaspaceObj)                                  \
1419     declare_type(Klass, Metadata)                                         \
1420            declare_type(ArrayKlass, Klass)                                \
1421            declare_type(ObjArrayKlass, ArrayKlass)                        \
1422            declare_type(TypeArrayKlass, ArrayKlass)                       \
1423       declare_type(InstanceKlass, Klass)                                  \
1424         declare_type(InstanceClassLoaderKlass, InstanceKlass)             \
1425         declare_type(InstanceMirrorKlass, InstanceKlass)                  \
1426         declare_type(InstanceRefKlass, InstanceKlass)                     \
1427     declare_type(ConstantPool, Metadata)                                  \
1428     declare_type(ConstantPoolCache, MetaspaceObj)                         \
1429     declare_type(MethodData, Metadata)                                    \
1430     declare_type(Method, Metadata)                                        \
1431     declare_type(MethodCounters, MetaspaceObj)                            \
1432     declare_type(ConstMethod, MetaspaceObj)                               \
1433                                                                           \
1434   declare_toplevel_type(vtableEntry)                                      \
1435                                                                           \
1436            declare_toplevel_type(Symbol)                                  \
1437            declare_toplevel_type(Symbol*)                                 \
1438   declare_toplevel_type(volatile Metadata*)                               \
1439                                                                           \
1440   declare_toplevel_type(DataLayout)                                       \
1441   declare_toplevel_type(nmethodBucket)                                    \
1442                                                                           \
1443   /********/                                                              \
1444   /* Oops */                                                              \
1445   /********/                                                              \
1446                                                                           \
1447   declare_oop_type(markOop)                                               \
1448   declare_oop_type(objArrayOop)                                           \
1449   declare_oop_type(oop)                                                   \
1450   declare_oop_type(narrowOop)                                             \
1451   declare_oop_type(typeArrayOop)                                          \
1452                                                                           \
1453   /*************************************/                                 \
1454   /* MethodOop-related data structures */                                 \
1455   /*************************************/                                 \
1456                                                                           \
1457   declare_toplevel_type(CheckedExceptionElement)                          \
1458   declare_toplevel_type(LocalVariableTableElement)                        \
1459   declare_toplevel_type(ExceptionTableElement)                            \
1460                                                                           \


1468                                                                           \
1469   declare_toplevel_type(CollectedHeap)                                    \
1470            declare_type(SharedHeap,                   CollectedHeap)      \
1471            declare_type(GenCollectedHeap,             SharedHeap)         \
1472   declare_toplevel_type(Generation)                                       \
1473            declare_type(DefNewGeneration,             Generation)         \
1474            declare_type(CardGeneration,               Generation)         \
1475            declare_type(OneContigSpaceCardGeneration, CardGeneration)     \
1476            declare_type(TenuredGeneration,            OneContigSpaceCardGeneration) \
1477   declare_toplevel_type(Space)                                            \
1478   declare_toplevel_type(BitMap)                                           \
1479            declare_type(CompactibleSpace,             Space)              \
1480            declare_type(ContiguousSpace,              CompactibleSpace)   \
1481            declare_type(EdenSpace,                    ContiguousSpace)    \
1482            declare_type(OffsetTableContigSpace,       ContiguousSpace)    \
1483            declare_type(TenuredSpace,                 OffsetTableContigSpace) \
1484   declare_toplevel_type(BarrierSet)                                       \
1485            declare_type(ModRefBarrierSet,             BarrierSet)         \
1486            declare_type(CardTableModRefBS,            ModRefBarrierSet)   \
1487            declare_type(CardTableModRefBSForCTRS,     CardTableModRefBS)  \
1488   declare_toplevel_type(BarrierSet::Name)                                 \
1489   declare_toplevel_type(GenRemSet)                                        \
1490            declare_type(CardTableRS,                  GenRemSet)          \
1491   declare_toplevel_type(BlockOffsetSharedArray)                           \
1492   declare_toplevel_type(BlockOffsetTable)                                 \
1493            declare_type(BlockOffsetArray,             BlockOffsetTable)   \
1494            declare_type(BlockOffsetArrayContigSpace,  BlockOffsetArray)   \
1495            declare_type(BlockOffsetArrayNonContigSpace, BlockOffsetArray) \
1496                                                                           \
1497   /* Miscellaneous other GC types */                                      \
1498                                                                           \
1499   declare_toplevel_type(ageTable)                                         \
1500   declare_toplevel_type(Generation::StatRecord)                           \
1501   declare_toplevel_type(GenerationSpec)                                   \
1502   declare_toplevel_type(HeapWord)                                         \
1503   declare_toplevel_type(MemRegion)                                        \
1504   declare_toplevel_type(ThreadLocalAllocBuffer)                           \
1505   declare_toplevel_type(VirtualSpace)                                     \
1506   declare_toplevel_type(WaterMark)                                        \
1507   declare_toplevel_type(ObjPtrQueue)                                      \
1508   declare_toplevel_type(DirtyCardQueue)                                   \
1509                                                                           \
1510   /* Pointers to Garbage Collection types */                              \
1511                                                                           \
1512   declare_toplevel_type(BarrierSet*)                                      \
1513   declare_toplevel_type(BlockOffsetSharedArray*)                          \
1514   declare_toplevel_type(GenRemSet*)                                       \
1515   declare_toplevel_type(CardTableRS*)                                     \
1516   declare_toplevel_type(CardTableModRefBS*)                               \
1517   declare_toplevel_type(CardTableModRefBS**)                              \
1518   declare_toplevel_type(CardTableModRefBSForCTRS*)                        \
1519   declare_toplevel_type(CardTableModRefBSForCTRS**)                       \
1520   declare_toplevel_type(CollectedHeap*)                                   \
1521   declare_toplevel_type(ContiguousSpace*)                                 \
1522   declare_toplevel_type(DefNewGeneration*)                                \
1523   declare_toplevel_type(EdenSpace*)                                       \
1524   declare_toplevel_type(GenCollectedHeap*)                                \
1525   declare_toplevel_type(Generation*)                                      \
1526   declare_toplevel_type(GenerationSpec**)                                 \
1527   declare_toplevel_type(HeapWord*)                                        \
1528   declare_toplevel_type(MemRegion*)                                       \


2107   declare_unsigned_integer_type(juint)                                    \
2108   declare_unsigned_integer_type(julong)                                   \
2109   declare_toplevel_type(JNIHandleBlock*)                                  \
2110   declare_toplevel_type(JNIid)                                            \
2111   declare_toplevel_type(JNIid*)                                           \
2112   declare_toplevel_type(jmethodID*)                                       \
2113   declare_toplevel_type(Mutex*)                                           \
2114   declare_toplevel_type(nmethod*)                                         \
2115   COMPILER2_PRESENT(declare_unsigned_integer_type(node_idx_t))            \
2116   declare_toplevel_type(ObjectMonitor*)                                   \
2117   declare_toplevel_type(oop*)                                             \
2118   declare_toplevel_type(OopMap**)                                         \
2119   declare_toplevel_type(OopMapCache*)                                     \
2120   declare_toplevel_type(OopMapSet*)                                       \
2121   declare_toplevel_type(VMReg)                                            \
2122   declare_toplevel_type(OSThread*)                                        \
2123    declare_integer_type(ReferenceType)                                    \
2124   declare_toplevel_type(StubQueue*)                                       \
2125   declare_toplevel_type(Thread*)                                          \
2126   declare_toplevel_type(Universe)                                         \
2127   declare_toplevel_type(os)                                               \
2128   declare_toplevel_type(vframeArray)                                      \
2129   declare_toplevel_type(vframeArrayElement)                               \
2130   declare_toplevel_type(Annotations*)                                     \
2131                                                                           \
2132   /***************/                                                       \
2133   /* Miscellaneous types */                                               \
2134   /***************/                                                       \
2135                                                                           \
2136   declare_toplevel_type(PtrQueue)                                         \
2137                                                                           \
2138   /* freelist */                                                          \
2139   declare_toplevel_type(FreeChunk*)                                       \
2140   declare_toplevel_type(Metablock*)                                       \
2141   declare_toplevel_type(FreeBlockDictionary<FreeChunk>*)                  \
2142   declare_toplevel_type(FreeList<FreeChunk>*)                             \
2143   declare_toplevel_type(FreeList<FreeChunk>)                              \
2144   declare_toplevel_type(FreeBlockDictionary<Metablock>*)                  \
2145   declare_toplevel_type(FreeList<Metablock>*)                             \
2146   declare_toplevel_type(FreeList<Metablock>)                              \
2147   declare_type(MetablockTreeDictionary, FreeBlockDictionary<Metablock>)
2148 
2149 
2150 //--------------------------------------------------------------------------------
2151 // VM_INT_CONSTANTS
2152 //
2153 // This table contains integer constants required over in the
2154 // serviceability agent. The "declare_constant" macro is used for all
2155 // enums, etc., while "declare_preprocessor_constant" must be used for
2156 // all #defined constants.
2157 
2158 #define VM_INT_CONSTANTS(declare_constant,                                \
2159                          declare_preprocessor_constant,                   \
2160                          declare_c1_constant,                             \
2161                          declare_c2_constant,                             \
2162                          declare_c2_preprocessor_constant)                \
2163                                                                           \
2164   /******************/                                                    \
2165   /* Useful globals */                                                    \
2166   /******************/                                                    \
2167                                                                           \
2168   declare_preprocessor_constant("ASSERT", DEBUG_ONLY(1) NOT_DEBUG(0))     \
2169                                                                           \
2170   /**************/                                                        \
2171   /* Stack bias */                                                        \
2172   /**************/                                                        \
2173                                                                           \
2174   declare_preprocessor_constant("STACK_BIAS", STACK_BIAS)                 \
2175                                                                           \
2176   /****************/                                                      \
2177   /* Object sizes */                                                      \
2178   /****************/                                                      \
2179                                                                           \
2180   declare_constant(oopSize)                                               \
2181   declare_constant(LogBytesPerWord)                                       \
2182   declare_constant(BytesPerWord)                                          \
2183   declare_constant(BytesPerLong)                                          \
2184                                                                           \
2185   declare_constant(LogKlassAlignmentInBytes)                              \
2186                                                                           \
2187   /********************************************/                          \
2188   /* Generation and Space Hierarchy Constants */                          \
2189   /********************************************/                          \
2190                                                                           \
2191   declare_constant(ageTable::table_size)                                  \
2192                                                                           \
2193   declare_constant(BarrierSet::ModRef)                                    \
2194   declare_constant(BarrierSet::CardTableModRef)                           \
2195   declare_constant(BarrierSet::CardTableExtension)                        \
2196   declare_constant(BarrierSet::G1SATBCT)                                  \
2197   declare_constant(BarrierSet::G1SATBCTLogging)                           \
2198   declare_constant(BarrierSet::Other)                                     \
2199                                                                           \
2200   declare_constant(BlockOffsetSharedArray::LogN)                          \
2201   declare_constant(BlockOffsetSharedArray::LogN_words)                    \
2202   declare_constant(BlockOffsetSharedArray::N_bytes)                       \
2203   declare_constant(BlockOffsetSharedArray::N_words)                       \
2204                                                                           \
2205   declare_constant(BlockOffsetArray::N_words)                             \
2206                                                                           \
2207   declare_constant(CardTableModRefBS::clean_card)                         \
2208   declare_constant(CardTableModRefBS::last_card)                          \
2209   declare_constant(CardTableModRefBS::dirty_card)                         \
2210   declare_constant(CardTableModRefBS::Precise)                            \
2211   declare_constant(CardTableModRefBS::ObjHeadPreciseArray)                \
2212   declare_constant(CardTableModRefBS::card_shift)                         \
2213   declare_constant(CardTableModRefBS::card_size)                          \
2214   declare_constant(CardTableModRefBS::card_size_in_words)                 \
2215                                                                           \
2216   declare_constant(CardTableRS::youngergen_card)                          \
2217                                                                           \


2296                                                                           \
2297   declare_constant(_thread_uninitialized)                                 \
2298   declare_constant(_thread_new)                                           \
2299   declare_constant(_thread_new_trans)                                     \
2300   declare_constant(_thread_in_native)                                     \
2301   declare_constant(_thread_in_native_trans)                               \
2302   declare_constant(_thread_in_vm)                                         \
2303   declare_constant(_thread_in_vm_trans)                                   \
2304   declare_constant(_thread_in_Java)                                       \
2305   declare_constant(_thread_in_Java_trans)                                 \
2306   declare_constant(_thread_blocked)                                       \
2307   declare_constant(_thread_blocked_trans)                                 \
2308                                                                           \
2309   /******************************/                                        \
2310   /* Klass misc. enum constants */                                        \
2311   /******************************/                                        \
2312                                                                           \
2313   declare_constant(Klass::_primary_super_limit)                           \
2314   declare_constant(Klass::_lh_instance_slow_path_bit)                     \
2315   declare_constant(Klass::_lh_log2_element_size_shift)                    \
2316   declare_constant(Klass::_lh_log2_element_size_mask)                     \
2317   declare_constant(Klass::_lh_element_type_shift)                         \
2318   declare_constant(Klass::_lh_element_type_mask)                          \
2319   declare_constant(Klass::_lh_header_size_shift)                          \
2320   declare_constant(Klass::_lh_header_size_mask)                           \
2321   declare_constant(Klass::_lh_array_tag_shift)                            \
2322   declare_constant(Klass::_lh_array_tag_type_value)                       \
2323   declare_constant(Klass::_lh_array_tag_obj_value)                        \
2324                                                                           \
2325   /********************************/                                      \
2326   /* ConstMethod anon-enum */                                             \
2327   /********************************/                                      \
2328                                                                           \
2329   declare_constant(ConstMethod::_has_linenumber_table)                    \
2330   declare_constant(ConstMethod::_has_checked_exceptions)                  \
2331   declare_constant(ConstMethod::_has_localvariable_table)                 \
2332   declare_constant(ConstMethod::_has_exception_table)                     \
2333   declare_constant(ConstMethod::_has_generic_signature)                   \
2334   declare_constant(ConstMethod::_has_method_annotations)                  \
2335   declare_constant(ConstMethod::_has_parameter_annotations)               \
2336   declare_constant(ConstMethod::_has_default_annotations)                 \
2337   declare_constant(ConstMethod::_has_type_annotations)                    \
2338                                                                           \
2339   /**************/                                                        \
2340   /* DataLayout */                                                        \
2341   /**************/                                                        \
2342                                                                           \
2343   declare_constant(DataLayout::cell_size)                                 \
2344                                                                           \
2345   /*************************************/                                 \
2346   /* InstanceKlass enum                */                                 \
2347   /*************************************/                                 \
2348                                                                           \
2349                                                                           \
2350   /*************************************/                                 \
2351   /* FieldInfo FieldOffset enum        */                                 \
2352   /*************************************/                                 \
2353                                                                           \
2354   declare_constant(FieldInfo::access_flags_offset)                        \
2355   declare_constant(FieldInfo::name_index_offset)                          \
2356   declare_constant(FieldInfo::signature_index_offset)                     \
2357   declare_constant(FieldInfo::initval_index_offset)                       \
2358   declare_constant(FieldInfo::low_packed_offset)                          \
2359   declare_constant(FieldInfo::high_packed_offset)                         \
2360   declare_constant(FieldInfo::field_slots)                                \
2361                                                                           \
2362   /*************************************/                                 \
2363   /* FieldInfo tag constants           */                                 \
2364   /*************************************/                                 \


2459   declare_constant(Deoptimization::Reason_none)                           \
2460   declare_constant(Deoptimization::Reason_null_check)                     \
2461   declare_constant(Deoptimization::Reason_null_assert)                    \
2462   declare_constant(Deoptimization::Reason_range_check)                    \
2463   declare_constant(Deoptimization::Reason_class_check)                    \
2464   declare_constant(Deoptimization::Reason_array_check)                    \
2465   declare_constant(Deoptimization::Reason_intrinsic)                      \
2466   declare_constant(Deoptimization::Reason_bimorphic)                      \
2467   declare_constant(Deoptimization::Reason_unloaded)                       \
2468   declare_constant(Deoptimization::Reason_uninitialized)                  \
2469   declare_constant(Deoptimization::Reason_unreached)                      \
2470   declare_constant(Deoptimization::Reason_unhandled)                      \
2471   declare_constant(Deoptimization::Reason_constraint)                     \
2472   declare_constant(Deoptimization::Reason_div0_check)                     \
2473   declare_constant(Deoptimization::Reason_age)                            \
2474   declare_constant(Deoptimization::Reason_predicate)                      \
2475   declare_constant(Deoptimization::Reason_loop_limit_check)               \
2476   declare_constant(Deoptimization::Reason_LIMIT)                          \
2477   declare_constant(Deoptimization::Reason_RECORDED_LIMIT)                 \
2478                                                                           \
2479   declare_constant(Deoptimization::Action_none)                           \
2480   declare_constant(Deoptimization::Action_maybe_recompile)                \
2481   declare_constant(Deoptimization::Action_reinterpret)                    \
2482   declare_constant(Deoptimization::Action_make_not_entrant)               \
2483   declare_constant(Deoptimization::Action_make_not_compilable)            \
2484   declare_constant(Deoptimization::Action_LIMIT)                          \
2485                                                                           \
2486   /*********************/                                                 \
2487   /* Matcher (C2 only) */                                                 \
2488   /*********************/                                                 \
2489                                                                           \
2490   declare_c2_preprocessor_constant("Matcher::interpreter_frame_pointer_reg", Matcher::interpreter_frame_pointer_reg()) \
2491                                                                           \
2492   /*********************************************/                         \
2493   /* MethodCompilation (globalDefinitions.hpp) */                         \
2494   /*********************************************/                         \
2495                                                                           \
2496   declare_constant(InvocationEntryBci)                                    \
2497   declare_constant(InvalidOSREntryBci)                                    \
2498                                                                           \
2499   /***************/                                                       \
2500   /* OopMapValue */                                                       \
2501   /***************/                                                       \
2502                                                                           \
2503   declare_constant(OopMapValue::type_bits)                                \
2504   declare_constant(OopMapValue::register_bits)                            \
2505   declare_constant(OopMapValue::type_shift)                               \


2532   /**********************/                                                \
2533                                                                           \
2534   declare_constant(PcDesc::PCDESC_reexecute)                              \
2535   declare_constant(PcDesc::PCDESC_is_method_handle_invoke)                \
2536   declare_constant(PcDesc::PCDESC_return_oop)                             \
2537                                                                           \
2538   /**********************/                                                \
2539   /* frame              */                                                \
2540   /**********************/                                                \
2541                                                                           \
2542   NOT_ZERO(X86_ONLY(declare_constant(frame::entry_frame_call_wrapper_offset)))      \
2543   declare_constant(frame::pc_return_offset)                               \
2544                                                                           \
2545   /*************/                                                         \
2546   /* vmSymbols */                                                         \
2547   /*************/                                                         \
2548                                                                           \
2549   declare_constant(vmSymbols::FIRST_SID)                                  \
2550   declare_constant(vmSymbols::SID_LIMIT)                                  \
2551                                                                           \
2552   /****************/                                                      \
2553   /* vmIntrinsics */                                                      \
2554   /****************/                                                      \
2555                                                                           \
2556   declare_constant(vmIntrinsics::_invokeBasic)                            \
2557   declare_constant(vmIntrinsics::_linkToVirtual)                          \
2558   declare_constant(vmIntrinsics::_linkToStatic)                           \
2559   declare_constant(vmIntrinsics::_linkToSpecial)                          \
2560   declare_constant(vmIntrinsics::_linkToInterface)                        \
2561                                                                           \
2562   /********************************/                                      \
2563   /* Calling convention constants */                                      \
2564   /********************************/                                      \
2565                                                                           \
2566   declare_constant(RegisterImpl::number_of_registers)                     \
2567   declare_constant(ConcreteRegisterImpl::number_of_registers)             \
2568   declare_preprocessor_constant("REG_COUNT", REG_COUNT)                \
2569   declare_c2_preprocessor_constant("SAVED_ON_ENTRY_REG_COUNT", SAVED_ON_ENTRY_REG_COUNT) \
2570   declare_c2_preprocessor_constant("C_SAVED_ON_ENTRY_REG_COUNT", C_SAVED_ON_ENTRY_REG_COUNT)
2571 
2572 
2573 //--------------------------------------------------------------------------------
2574 // VM_LONG_CONSTANTS
2575 //
2576 // This table contains long constants required over in the
2577 // serviceability agent. The "declare_constant" macro is used for all
2578 // enums, etc., while "declare_preprocessor_constant" must be used for
2579 // all #defined constants.
2580 
2581 #define VM_LONG_CONSTANTS(declare_constant, declare_preprocessor_constant, declare_c1_constant, declare_c2_constant, declare_c2_preprocessor_constant) \


2589   /* 64 bits (on 64-bit platforms). */                                    \
2590                                                                           \
2591   declare_constant(markOopDesc::age_bits)                                 \
2592   declare_constant(markOopDesc::lock_bits)                                \
2593   declare_constant(markOopDesc::biased_lock_bits)                         \
2594   declare_constant(markOopDesc::max_hash_bits)                            \
2595   declare_constant(markOopDesc::hash_bits)                                \
2596                                                                           \
2597   declare_constant(markOopDesc::lock_shift)                               \
2598   declare_constant(markOopDesc::biased_lock_shift)                        \
2599   declare_constant(markOopDesc::age_shift)                                \
2600   declare_constant(markOopDesc::hash_shift)                               \
2601                                                                           \
2602   declare_constant(markOopDesc::lock_mask)                                \
2603   declare_constant(markOopDesc::lock_mask_in_place)                       \
2604   declare_constant(markOopDesc::biased_lock_mask)                         \
2605   declare_constant(markOopDesc::biased_lock_mask_in_place)                \
2606   declare_constant(markOopDesc::biased_lock_bit_in_place)                 \
2607   declare_constant(markOopDesc::age_mask)                                 \
2608   declare_constant(markOopDesc::age_mask_in_place)                        \
2609   declare_constant(markOopDesc::epoch_mask)                               \
2610   declare_constant(markOopDesc::epoch_mask_in_place)                      \
2611   declare_constant(markOopDesc::hash_mask)                                \
2612   declare_constant(markOopDesc::hash_mask_in_place)                       \
2613   declare_constant(markOopDesc::biased_lock_alignment)                    \
2614                                                                           \
2615   declare_constant(markOopDesc::locked_value)                             \
2616   declare_constant(markOopDesc::unlocked_value)                           \
2617   declare_constant(markOopDesc::monitor_value)                            \
2618   declare_constant(markOopDesc::marked_value)                             \
2619   declare_constant(markOopDesc::biased_lock_pattern)                      \
2620                                                                           \
2621   declare_constant(markOopDesc::no_hash)                                  \
2622   declare_constant(markOopDesc::no_hash_in_place)                         \
2623   declare_constant(markOopDesc::no_lock_in_place)                         \
2624   declare_constant(markOopDesc::max_age)                                  \
2625                                                                           \
2626   /* Constants in markOop used by CMS. */                                 \
2627   declare_constant(markOopDesc::cms_shift)                                \
2628   declare_constant(markOopDesc::cms_mask)                                 \
2629   declare_constant(markOopDesc::size_shift)
2630 


src/share/vm/runtime/vmStructs.cpp
Index Unified diffs Context diffs Sdiffs Patch New Old Previous File Next File