< prev index next >

src/share/vm/runtime/vmStructs.cpp

Print this page
rev 12906 : [mq]: gc_interface


  32 #include "classfile/dictionary.hpp"
  33 #include "classfile/javaClasses.hpp"
  34 #include "classfile/loaderConstraints.hpp"
  35 #include "classfile/placeholders.hpp"
  36 #include "classfile/stringTable.hpp"
  37 #include "classfile/systemDictionary.hpp"
  38 #include "code/codeBlob.hpp"
  39 #include "code/codeCache.hpp"
  40 #include "code/compressedStream.hpp"
  41 #include "code/location.hpp"
  42 #include "code/nmethod.hpp"
  43 #include "code/pcDesc.hpp"
  44 #include "code/stubs.hpp"
  45 #include "code/vmreg.hpp"
  46 #include "compiler/compileBroker.hpp"
  47 #include "compiler/oopMap.hpp"
  48 #include "gc/parallel/immutableSpace.hpp"
  49 #include "gc/parallel/mutableSpace.hpp"
  50 #include "gc/serial/defNewGeneration.hpp"
  51 #include "gc/serial/tenuredGeneration.hpp"


  52 #include "gc/shared/cardTableRS.hpp"
  53 #include "gc/shared/collectedHeap.hpp"
  54 #include "gc/shared/genCollectedHeap.hpp"
  55 #include "gc/shared/generation.hpp"
  56 #include "gc/shared/generationSpec.hpp"
  57 #include "gc/shared/space.hpp"
  58 #include "interpreter/bytecodeInterpreter.hpp"
  59 #include "interpreter/bytecodes.hpp"
  60 #include "interpreter/interpreter.hpp"
  61 #include "memory/allocation.hpp"
  62 #include "memory/allocation.inline.hpp"
  63 #include "memory/freeBlockDictionary.hpp"
  64 #include "memory/heap.hpp"
  65 #include "memory/metachunk.hpp"
  66 #include "memory/referenceType.hpp"
  67 #include "memory/universe.hpp"
  68 #include "memory/virtualspace.hpp"
  69 #include "oops/arrayKlass.hpp"
  70 #include "oops/arrayOop.hpp"
  71 #include "oops/compiledICHolder.hpp"


 208 // NOTE that there are platform-specific additions to this table in
 209 // vmStructs_<os>_<cpu>.hpp.
 210 
 211 #define VM_STRUCTS(nonstatic_field, \
 212                    static_field, \
 213                    static_ptr_volatile_field, \
 214                    unchecked_nonstatic_field, \
 215                    volatile_nonstatic_field, \
 216                    nonproduct_nonstatic_field, \
 217                    c1_nonstatic_field, \
 218                    c2_nonstatic_field, \
 219                    unchecked_c1_static_field, \
 220                    unchecked_c2_static_field) \
 221                                                                                                                                      \
 222   /******************************************************************/                                                               \
 223   /* OopDesc and Klass hierarchies (NOTE: MethodData* incomplete) */                                                                 \
 224   /******************************************************************/                                                               \
 225                                                                                                                                      \
 226   volatile_nonstatic_field(oopDesc,            _mark,                                         markOop)                               \
 227   volatile_nonstatic_field(oopDesc,            _metadata._klass,                              Klass*)                                \
 228   volatile_nonstatic_field(oopDesc,            _metadata._compressed_klass,                   narrowOop)                             \
 229      static_field(oopDesc,                     _bs,                                           BarrierSet*)                           \
 230   nonstatic_field(ArrayKlass,                  _dimension,                                    int)                                   \
 231   volatile_nonstatic_field(ArrayKlass,         _higher_dimension,                             Klass*)                                \
 232   volatile_nonstatic_field(ArrayKlass,         _lower_dimension,                              Klass*)                                \
 233   nonstatic_field(CompiledICHolder,            _holder_method,                                Method*)                               \
 234   nonstatic_field(CompiledICHolder,            _holder_klass,                                 Klass*)                                \
 235   nonstatic_field(ConstantPool,                _tags,                                         Array<u1>*)                            \
 236   nonstatic_field(ConstantPool,                _cache,                                        ConstantPoolCache*)                    \
 237   nonstatic_field(ConstantPool,                _pool_holder,                                  InstanceKlass*)                        \
 238   nonstatic_field(ConstantPool,                _operands,                                     Array<u2>*)                            \
 239   nonstatic_field(ConstantPool,                _length,                                       int)                                   \
 240   nonstatic_field(ConstantPool,                _resolved_references,                          jobject)                               \
 241   nonstatic_field(ConstantPool,                _reference_map,                                Array<u2>*)                            \
 242   nonstatic_field(ConstantPoolCache,           _length,                                       int)                                   \
 243   nonstatic_field(ConstantPoolCache,           _constant_pool,                                ConstantPool*)                         \
 244   volatile_nonstatic_field(InstanceKlass,      _array_klasses,                                Klass*)                                \
 245   nonstatic_field(InstanceKlass,               _methods,                                      Array<Method*>*)                       \
 246   nonstatic_field(InstanceKlass,               _default_methods,                              Array<Method*>*)                       \
 247   nonstatic_field(InstanceKlass,               _local_interfaces,                             Array<Klass*>*)                        \
 248   nonstatic_field(InstanceKlass,               _transitive_interfaces,                        Array<Klass*>*)                        \


 444   nonstatic_field(BlockOffsetTable,            _end,                                          HeapWord*)                             \
 445                                                                                                                                      \
 446   nonstatic_field(BlockOffsetSharedArray,      _reserved,                                     MemRegion)                             \
 447   nonstatic_field(BlockOffsetSharedArray,      _end,                                          HeapWord*)                             \
 448   nonstatic_field(BlockOffsetSharedArray,      _vs,                                           VirtualSpace)                          \
 449   nonstatic_field(BlockOffsetSharedArray,      _offset_array,                                 u_char*)                               \
 450                                                                                                                                      \
 451   nonstatic_field(BlockOffsetArray,            _array,                                        BlockOffsetSharedArray*)               \
 452   nonstatic_field(BlockOffsetArray,            _sp,                                           Space*)                                \
 453   nonstatic_field(BlockOffsetArrayContigSpace, _next_offset_threshold,                        HeapWord*)                             \
 454   nonstatic_field(BlockOffsetArrayContigSpace, _next_offset_index,                            size_t)                                \
 455                                                                                                                                      \
 456   nonstatic_field(BlockOffsetArrayNonContigSpace, _unallocated_block,                         HeapWord*)                             \
 457                                                                                                                                      \
 458   nonstatic_field(CardGeneration,              _rs,                                           CardTableRS*)                          \
 459   nonstatic_field(CardGeneration,              _bts,                                          BlockOffsetSharedArray*)               \
 460   nonstatic_field(CardGeneration,              _shrink_factor,                                size_t)                                \
 461   nonstatic_field(CardGeneration,              _capacity_at_prologue,                         size_t)                                \
 462   nonstatic_field(CardGeneration,              _used_at_prologue,                             size_t)                                \
 463                                                                                                                                      \
 464   nonstatic_field(CardTableModRefBS,           _whole_heap,                                   const MemRegion)                       \
 465   nonstatic_field(CardTableModRefBS,           _guard_index,                                  const size_t)                          \
 466   nonstatic_field(CardTableModRefBS,           _last_valid_index,                             const size_t)                          \
 467   nonstatic_field(CardTableModRefBS,           _page_size,                                    const size_t)                          \
 468   nonstatic_field(CardTableModRefBS,           _byte_map_size,                                const size_t)                          \
 469   nonstatic_field(CardTableModRefBS,           _byte_map,                                     jbyte*)                                \
 470   nonstatic_field(CardTableModRefBS,           _cur_covered_regions,                          int)                                   \
 471   nonstatic_field(CardTableModRefBS,           _covered,                                      MemRegion*)                            \
 472   nonstatic_field(CardTableModRefBS,           _committed,                                    MemRegion*)                            \
 473   nonstatic_field(CardTableModRefBS,           _guard_region,                                 MemRegion)                             \
 474   nonstatic_field(CardTableModRefBS,           byte_map_base,                                 jbyte*)                                \
 475                                                                                                                                      \
 476   nonstatic_field(CardTableRS,                 _ct_bs,                                        CardTableModRefBSForCTRS*)             \
 477                                                                                                                                      \
 478   nonstatic_field(CollectedHeap,               _reserved,                                     MemRegion)                             \
 479   nonstatic_field(CollectedHeap,               _barrier_set,                                  BarrierSet*)                           \
 480   nonstatic_field(CollectedHeap,               _defer_initial_card_mark,                      bool)                                  \
 481   nonstatic_field(CollectedHeap,               _is_gc_active,                                 bool)                                  \
 482   nonstatic_field(CollectedHeap,               _total_collections,                            unsigned int)                          \
 483                                                                                                                                      \
 484   nonstatic_field(CompactibleSpace,            _compaction_top,                               HeapWord*)                             \
 485   nonstatic_field(CompactibleSpace,            _first_dead,                                   HeapWord*)                             \
 486   nonstatic_field(CompactibleSpace,            _end_of_live,                                  HeapWord*)                             \
 487                                                                                                                                      \
 488   nonstatic_field(ContiguousSpace,             _top,                                          HeapWord*)                             \
 489   nonstatic_field(ContiguousSpace,             _concurrent_iteration_safe_limit,              HeapWord*)                             \
 490   nonstatic_field(ContiguousSpace,             _saved_mark_word,                              HeapWord*)                             \
 491                                                                                                                                      \
 492   nonstatic_field(DefNewGeneration,            _old_gen,                                      Generation*)                           \
 493   nonstatic_field(DefNewGeneration,            _tenuring_threshold,                           uint)                                  \
 494   nonstatic_field(DefNewGeneration,            _age_table,                                    AgeTable)                              \
 495   nonstatic_field(DefNewGeneration,            _eden_space,                                   ContiguousSpace*)                      \
 496   nonstatic_field(DefNewGeneration,            _from_space,                                   ContiguousSpace*)                      \
 497   nonstatic_field(DefNewGeneration,            _to_space,                                     ContiguousSpace*)                      \
 498                                                                                                                                      \
 499   nonstatic_field(Generation,                  _reserved,                                     MemRegion)                             \
 500   nonstatic_field(Generation,                  _virtual_space,                                VirtualSpace)                          \


1524   /******************************************/                            \
1525   /* Generation and space hierarchies       */                            \
1526   /* (needed for run-time type information) */                            \
1527   /******************************************/                            \
1528                                                                           \
1529   declare_toplevel_type(CollectedHeap)                                    \
1530            declare_type(GenCollectedHeap,             CollectedHeap)      \
1531   declare_toplevel_type(Generation)                                       \
1532            declare_type(DefNewGeneration,             Generation)         \
1533            declare_type(CardGeneration,               Generation)         \
1534            declare_type(TenuredGeneration,            CardGeneration)     \
1535   declare_toplevel_type(GenCollectorPolicy)                               \
1536   declare_toplevel_type(Space)                                            \
1537            declare_type(CompactibleSpace,             Space)              \
1538            declare_type(ContiguousSpace,              CompactibleSpace)   \
1539            declare_type(OffsetTableContigSpace,       ContiguousSpace)    \
1540            declare_type(TenuredSpace,                 OffsetTableContigSpace) \
1541   declare_toplevel_type(BarrierSet)                                       \
1542            declare_type(ModRefBarrierSet,             BarrierSet)         \
1543            declare_type(CardTableModRefBS,            ModRefBarrierSet)   \
1544            declare_type(CardTableModRefBSForCTRS,     CardTableModRefBS)  \

1545   declare_toplevel_type(BarrierSet::Name)                                 \
1546   declare_toplevel_type(CardTableRS)                                      \
1547   declare_toplevel_type(BlockOffsetSharedArray)                           \
1548   declare_toplevel_type(BlockOffsetTable)                                 \
1549            declare_type(BlockOffsetArray,             BlockOffsetTable)   \
1550            declare_type(BlockOffsetArrayContigSpace,  BlockOffsetArray)   \
1551            declare_type(BlockOffsetArrayNonContigSpace, BlockOffsetArray) \
1552                                                                           \
1553   /* Miscellaneous other GC types */                                      \
1554                                                                           \
1555   declare_toplevel_type(AgeTable)                                         \
1556   declare_toplevel_type(Generation::StatRecord)                           \
1557   declare_toplevel_type(GenerationSpec)                                   \
1558   declare_toplevel_type(HeapWord)                                         \
1559   declare_toplevel_type(MemRegion)                                        \
1560   declare_toplevel_type(ThreadLocalAllocBuffer)                           \
1561   declare_toplevel_type(VirtualSpace)                                     \
1562   declare_toplevel_type(SATBMarkQueue)                                    \
1563   declare_toplevel_type(DirtyCardQueue)                                   \
1564                                                                           \
1565   /* Pointers to Garbage Collection types */                              \
1566                                                                           \
1567   declare_toplevel_type(BarrierSet*)                                      \
1568   declare_toplevel_type(BlockOffsetSharedArray*)                          \


1569   declare_toplevel_type(CardTableRS*)                                     \
1570   declare_toplevel_type(CardTableModRefBS*)                               \
1571   declare_toplevel_type(CardTableModRefBS**)                              \
1572   declare_toplevel_type(CardTableModRefBSForCTRS*)                        \
1573   declare_toplevel_type(CardTableModRefBSForCTRS**)                       \
1574   declare_toplevel_type(CollectedHeap*)                                   \
1575   declare_toplevel_type(ContiguousSpace*)                                 \
1576   declare_toplevel_type(DefNewGeneration*)                                \
1577   declare_toplevel_type(GenCollectedHeap*)                                \
1578   declare_toplevel_type(Generation*)                                      \
1579   declare_toplevel_type(GenerationSpec**)                                 \
1580   declare_toplevel_type(HeapWord*)                                        \
1581   declare_toplevel_type(HeapWord* volatile)                               \
1582   declare_toplevel_type(MemRegion*)                                       \
1583   declare_toplevel_type(OffsetTableContigSpace*)                          \
1584   declare_toplevel_type(Space*)                                           \
1585   declare_toplevel_type(TenuredGeneration*)                               \
1586   declare_toplevel_type(ThreadLocalAllocBuffer*)                          \
1587                                                                           \
1588   declare_toplevel_type(BarrierSet::FakeRtti)                             \
1589                                                                           \
1590   /************************/                                              \
1591   /* PerfMemory - jvmstat */                                              \
1592   /************************/                                              \
1593                                                                           \


2276                                                                           \
2277   /****************/                                                      \
2278   /* Object sizes */                                                      \
2279   /****************/                                                      \
2280                                                                           \
2281   declare_constant(oopSize)                                               \
2282   declare_constant(LogBytesPerWord)                                       \
2283   declare_constant(BytesPerWord)                                          \
2284   declare_constant(BytesPerLong)                                          \
2285                                                                           \
2286   declare_constant(LogKlassAlignmentInBytes)                              \
2287                                                                           \
2288   /********************************************/                          \
2289   /* Generation and Space Hierarchy Constants */                          \
2290   /********************************************/                          \
2291                                                                           \
2292   declare_constant(AgeTable::table_size)                                  \
2293                                                                           \
2294   declare_constant(BarrierSet::ModRef)                                    \
2295   declare_constant(BarrierSet::CardTableModRef)                           \
2296   declare_constant(BarrierSet::CardTableForRS)                            \
2297   declare_constant(BarrierSet::CardTableExtension)                        \
2298   declare_constant(BarrierSet::G1SATBCT)                                  \
2299   declare_constant(BarrierSet::G1SATBCTLogging)                           \
2300                                                                           \
2301   declare_constant(BOTConstants::LogN)                                    \
2302   declare_constant(BOTConstants::LogN_words)                              \
2303   declare_constant(BOTConstants::N_bytes)                                 \
2304   declare_constant(BOTConstants::N_words)                                 \
2305   declare_constant(BOTConstants::LogBase)                                 \
2306   declare_constant(BOTConstants::Base)                                    \
2307   declare_constant(BOTConstants::N_powers)                                \
2308                                                                           \
2309   declare_constant(CardTableModRefBS::clean_card)                         \
2310   declare_constant(CardTableModRefBS::last_card)                          \
2311   declare_constant(CardTableModRefBS::dirty_card)                         \
2312   declare_constant(CardTableModRefBS::Precise)                            \
2313   declare_constant(CardTableModRefBS::ObjHeadPreciseArray)                \
2314   declare_constant(CardTableModRefBS::card_shift)                         \
2315   declare_constant(CardTableModRefBS::card_size)                          \
2316   declare_constant(CardTableModRefBS::card_size_in_words)                 \
2317                                                                           \
2318   declare_constant(CardTableRS::youngergen_card)                          \
2319                                                                           \
2320   declare_constant(G1SATBCardTableModRefBS::g1_young_gen)                 \
2321                                                                           \
2322   declare_constant(CollectedHeap::GenCollectedHeap)                       \
2323   declare_constant(CollectedHeap::ParallelScavengeHeap)                   \
2324   declare_constant(CollectedHeap::G1CollectedHeap)                        \
2325                                                                           \
2326   /* constants from Generation::Name enum */                              \
2327                                                                           \
2328   declare_constant(Generation::DefNew)                                    \
2329   declare_constant(Generation::MarkSweepCompact)                          \
2330   declare_constant(Generation::Other)                                     \
2331                                                                           \
2332   declare_constant(Generation::LogOfGenGrain)                             \
2333   declare_constant(Generation::GenGrain)                                  \
2334                                                                           \
2335   declare_constant(HeapWordSize)                                          \
2336   declare_constant(LogHeapWordSize)                                       \
2337                                                                           \
2338                                                                           \
2339   /************************/                                              \
2340   /* PerfMemory - jvmstat */                                              \




  32 #include "classfile/dictionary.hpp"
  33 #include "classfile/javaClasses.hpp"
  34 #include "classfile/loaderConstraints.hpp"
  35 #include "classfile/placeholders.hpp"
  36 #include "classfile/stringTable.hpp"
  37 #include "classfile/systemDictionary.hpp"
  38 #include "code/codeBlob.hpp"
  39 #include "code/codeCache.hpp"
  40 #include "code/compressedStream.hpp"
  41 #include "code/location.hpp"
  42 #include "code/nmethod.hpp"
  43 #include "code/pcDesc.hpp"
  44 #include "code/stubs.hpp"
  45 #include "code/vmreg.hpp"
  46 #include "compiler/compileBroker.hpp"
  47 #include "compiler/oopMap.hpp"
  48 #include "gc/parallel/immutableSpace.hpp"
  49 #include "gc/parallel/mutableSpace.hpp"
  50 #include "gc/serial/defNewGeneration.hpp"
  51 #include "gc/serial/tenuredGeneration.hpp"
  52 #include "gc/shared/cardTable.hpp"
  53 #include "gc/shared/cardTableModRefBS.hpp"
  54 #include "gc/shared/cardTableRS.hpp"
  55 #include "gc/shared/collectedHeap.hpp"
  56 #include "gc/shared/genCollectedHeap.hpp"
  57 #include "gc/shared/generation.hpp"
  58 #include "gc/shared/generationSpec.hpp"
  59 #include "gc/shared/space.hpp"
  60 #include "interpreter/bytecodeInterpreter.hpp"
  61 #include "interpreter/bytecodes.hpp"
  62 #include "interpreter/interpreter.hpp"
  63 #include "memory/allocation.hpp"
  64 #include "memory/allocation.inline.hpp"
  65 #include "memory/freeBlockDictionary.hpp"
  66 #include "memory/heap.hpp"
  67 #include "memory/metachunk.hpp"
  68 #include "memory/referenceType.hpp"
  69 #include "memory/universe.hpp"
  70 #include "memory/virtualspace.hpp"
  71 #include "oops/arrayKlass.hpp"
  72 #include "oops/arrayOop.hpp"
  73 #include "oops/compiledICHolder.hpp"


 210 // NOTE that there are platform-specific additions to this table in
 211 // vmStructs_<os>_<cpu>.hpp.
 212 
 213 #define VM_STRUCTS(nonstatic_field, \
 214                    static_field, \
 215                    static_ptr_volatile_field, \
 216                    unchecked_nonstatic_field, \
 217                    volatile_nonstatic_field, \
 218                    nonproduct_nonstatic_field, \
 219                    c1_nonstatic_field, \
 220                    c2_nonstatic_field, \
 221                    unchecked_c1_static_field, \
 222                    unchecked_c2_static_field) \
 223                                                                                                                                      \
 224   /******************************************************************/                                                               \
 225   /* OopDesc and Klass hierarchies (NOTE: MethodData* incomplete) */                                                                 \
 226   /******************************************************************/                                                               \
 227                                                                                                                                      \
 228   volatile_nonstatic_field(oopDesc,            _mark,                                         markOop)                               \
 229   volatile_nonstatic_field(oopDesc,            _metadata._klass,                              Klass*)                                \
 230   volatile_nonstatic_field(oopDesc,            _metadata._compressed_klass,                   narrowKlass)                           \
 231      static_field(oopDesc,                     _bs,                                           BarrierSet*)                           \
 232   nonstatic_field(ArrayKlass,                  _dimension,                                    int)                                   \
 233   volatile_nonstatic_field(ArrayKlass,         _higher_dimension,                             Klass*)                                \
 234   volatile_nonstatic_field(ArrayKlass,         _lower_dimension,                              Klass*)                                \
 235   nonstatic_field(CompiledICHolder,            _holder_method,                                Method*)                               \
 236   nonstatic_field(CompiledICHolder,            _holder_klass,                                 Klass*)                                \
 237   nonstatic_field(ConstantPool,                _tags,                                         Array<u1>*)                            \
 238   nonstatic_field(ConstantPool,                _cache,                                        ConstantPoolCache*)                    \
 239   nonstatic_field(ConstantPool,                _pool_holder,                                  InstanceKlass*)                        \
 240   nonstatic_field(ConstantPool,                _operands,                                     Array<u2>*)                            \
 241   nonstatic_field(ConstantPool,                _length,                                       int)                                   \
 242   nonstatic_field(ConstantPool,                _resolved_references,                          jobject)                               \
 243   nonstatic_field(ConstantPool,                _reference_map,                                Array<u2>*)                            \
 244   nonstatic_field(ConstantPoolCache,           _length,                                       int)                                   \
 245   nonstatic_field(ConstantPoolCache,           _constant_pool,                                ConstantPool*)                         \
 246   volatile_nonstatic_field(InstanceKlass,      _array_klasses,                                Klass*)                                \
 247   nonstatic_field(InstanceKlass,               _methods,                                      Array<Method*>*)                       \
 248   nonstatic_field(InstanceKlass,               _default_methods,                              Array<Method*>*)                       \
 249   nonstatic_field(InstanceKlass,               _local_interfaces,                             Array<Klass*>*)                        \
 250   nonstatic_field(InstanceKlass,               _transitive_interfaces,                        Array<Klass*>*)                        \


 446   nonstatic_field(BlockOffsetTable,            _end,                                          HeapWord*)                             \
 447                                                                                                                                      \
 448   nonstatic_field(BlockOffsetSharedArray,      _reserved,                                     MemRegion)                             \
 449   nonstatic_field(BlockOffsetSharedArray,      _end,                                          HeapWord*)                             \
 450   nonstatic_field(BlockOffsetSharedArray,      _vs,                                           VirtualSpace)                          \
 451   nonstatic_field(BlockOffsetSharedArray,      _offset_array,                                 u_char*)                               \
 452                                                                                                                                      \
 453   nonstatic_field(BlockOffsetArray,            _array,                                        BlockOffsetSharedArray*)               \
 454   nonstatic_field(BlockOffsetArray,            _sp,                                           Space*)                                \
 455   nonstatic_field(BlockOffsetArrayContigSpace, _next_offset_threshold,                        HeapWord*)                             \
 456   nonstatic_field(BlockOffsetArrayContigSpace, _next_offset_index,                            size_t)                                \
 457                                                                                                                                      \
 458   nonstatic_field(BlockOffsetArrayNonContigSpace, _unallocated_block,                         HeapWord*)                             \
 459                                                                                                                                      \
 460   nonstatic_field(CardGeneration,              _rs,                                           CardTableRS*)                          \
 461   nonstatic_field(CardGeneration,              _bts,                                          BlockOffsetSharedArray*)               \
 462   nonstatic_field(CardGeneration,              _shrink_factor,                                size_t)                                \
 463   nonstatic_field(CardGeneration,              _capacity_at_prologue,                         size_t)                                \
 464   nonstatic_field(CardGeneration,              _used_at_prologue,                             size_t)                                \
 465                                                                                                                                      \
 466   nonstatic_field(CardTable,                   _whole_heap,                                   const MemRegion)                       \
 467   nonstatic_field(CardTable,                   _guard_index,                                  const size_t)                          \
 468   nonstatic_field(CardTable,                   _last_valid_index,                             const size_t)                          \
 469   nonstatic_field(CardTable,                   _page_size,                                    const size_t)                          \
 470   nonstatic_field(CardTable,                   _byte_map_size,                                const size_t)                          \
 471   nonstatic_field(CardTable,                   _byte_map,                                     jbyte*)                                \
 472   nonstatic_field(CardTable,                   _cur_covered_regions,                          int)                                   \
 473   nonstatic_field(CardTable,                   _covered,                                      MemRegion*)                            \
 474   nonstatic_field(CardTable,                   _committed,                                    MemRegion*)                            \
 475   nonstatic_field(CardTable,                   _guard_region,                                 MemRegion)                             \
 476   nonstatic_field(CardTable,                   _byte_map_base,                                jbyte*)                                \
 477   nonstatic_field(CardTableModRefBS,           _defer_initial_card_mark,                      bool)                                  \
 478   nonstatic_field(CardTableModRefBS,           _card_table,                                   CardTable*)                            \
 479                                                                                                                                      \
 480   nonstatic_field(CollectedHeap,               _reserved,                                     MemRegion)                             \
 481   nonstatic_field(CollectedHeap,               _barrier_set,                                  BarrierSet*)                           \

 482   nonstatic_field(CollectedHeap,               _is_gc_active,                                 bool)                                  \
 483   nonstatic_field(CollectedHeap,               _total_collections,                            unsigned int)                          \
 484                                                                                                                                      \
 485   nonstatic_field(CompactibleSpace,            _compaction_top,                               HeapWord*)                             \
 486   nonstatic_field(CompactibleSpace,            _first_dead,                                   HeapWord*)                             \
 487   nonstatic_field(CompactibleSpace,            _end_of_live,                                  HeapWord*)                             \
 488                                                                                                                                      \
 489   nonstatic_field(ContiguousSpace,             _top,                                          HeapWord*)                             \
 490   nonstatic_field(ContiguousSpace,             _concurrent_iteration_safe_limit,              HeapWord*)                             \
 491   nonstatic_field(ContiguousSpace,             _saved_mark_word,                              HeapWord*)                             \
 492                                                                                                                                      \
 493   nonstatic_field(DefNewGeneration,            _old_gen,                                      Generation*)                           \
 494   nonstatic_field(DefNewGeneration,            _tenuring_threshold,                           uint)                                  \
 495   nonstatic_field(DefNewGeneration,            _age_table,                                    AgeTable)                              \
 496   nonstatic_field(DefNewGeneration,            _eden_space,                                   ContiguousSpace*)                      \
 497   nonstatic_field(DefNewGeneration,            _from_space,                                   ContiguousSpace*)                      \
 498   nonstatic_field(DefNewGeneration,            _to_space,                                     ContiguousSpace*)                      \
 499                                                                                                                                      \
 500   nonstatic_field(Generation,                  _reserved,                                     MemRegion)                             \
 501   nonstatic_field(Generation,                  _virtual_space,                                VirtualSpace)                          \


1525   /******************************************/                            \
1526   /* Generation and space hierarchies       */                            \
1527   /* (needed for run-time type information) */                            \
1528   /******************************************/                            \
1529                                                                           \
1530   declare_toplevel_type(CollectedHeap)                                    \
1531            declare_type(GenCollectedHeap,             CollectedHeap)      \
1532   declare_toplevel_type(Generation)                                       \
1533            declare_type(DefNewGeneration,             Generation)         \
1534            declare_type(CardGeneration,               Generation)         \
1535            declare_type(TenuredGeneration,            CardGeneration)     \
1536   declare_toplevel_type(GenCollectorPolicy)                               \
1537   declare_toplevel_type(Space)                                            \
1538            declare_type(CompactibleSpace,             Space)              \
1539            declare_type(ContiguousSpace,              CompactibleSpace)   \
1540            declare_type(OffsetTableContigSpace,       ContiguousSpace)    \
1541            declare_type(TenuredSpace,                 OffsetTableContigSpace) \
1542   declare_toplevel_type(BarrierSet)                                       \
1543            declare_type(ModRefBarrierSet,             BarrierSet)         \
1544            declare_type(CardTableModRefBS,            ModRefBarrierSet)   \
1545   declare_toplevel_type(CardTable)                                        \
1546            declare_type(CardTableRS, CardTable)                           \
1547   declare_toplevel_type(BarrierSet::Name)                                 \

1548   declare_toplevel_type(BlockOffsetSharedArray)                           \
1549   declare_toplevel_type(BlockOffsetTable)                                 \
1550            declare_type(BlockOffsetArray,             BlockOffsetTable)   \
1551            declare_type(BlockOffsetArrayContigSpace,  BlockOffsetArray)   \
1552            declare_type(BlockOffsetArrayNonContigSpace, BlockOffsetArray) \
1553                                                                           \
1554   /* Miscellaneous other GC types */                                      \
1555                                                                           \
1556   declare_toplevel_type(AgeTable)                                         \
1557   declare_toplevel_type(Generation::StatRecord)                           \
1558   declare_toplevel_type(GenerationSpec)                                   \
1559   declare_toplevel_type(HeapWord)                                         \
1560   declare_toplevel_type(MemRegion)                                        \
1561   declare_toplevel_type(ThreadLocalAllocBuffer)                           \
1562   declare_toplevel_type(VirtualSpace)                                     \
1563   declare_toplevel_type(SATBMarkQueue)                                    \
1564   declare_toplevel_type(DirtyCardQueue)                                   \
1565                                                                           \
1566   /* Pointers to Garbage Collection types */                              \
1567                                                                           \
1568   declare_toplevel_type(BarrierSet*)                                      \
1569   declare_toplevel_type(BlockOffsetSharedArray*)                          \
1570   declare_toplevel_type(CardTable*)                                       \
1571   declare_toplevel_type(CardTable*const)                                  \
1572   declare_toplevel_type(CardTableRS*)                                     \
1573   declare_toplevel_type(CardTableModRefBS*)                               \
1574   declare_toplevel_type(CardTableModRefBS**)                              \


1575   declare_toplevel_type(CollectedHeap*)                                   \
1576   declare_toplevel_type(ContiguousSpace*)                                 \
1577   declare_toplevel_type(DefNewGeneration*)                                \
1578   declare_toplevel_type(GenCollectedHeap*)                                \
1579   declare_toplevel_type(Generation*)                                      \
1580   declare_toplevel_type(GenerationSpec**)                                 \
1581   declare_toplevel_type(HeapWord*)                                        \
1582   declare_toplevel_type(HeapWord* volatile)                               \
1583   declare_toplevel_type(MemRegion*)                                       \
1584   declare_toplevel_type(OffsetTableContigSpace*)                          \
1585   declare_toplevel_type(Space*)                                           \
1586   declare_toplevel_type(TenuredGeneration*)                               \
1587   declare_toplevel_type(ThreadLocalAllocBuffer*)                          \
1588                                                                           \
1589   declare_toplevel_type(BarrierSet::FakeRtti)                             \
1590                                                                           \
1591   /************************/                                              \
1592   /* PerfMemory - jvmstat */                                              \
1593   /************************/                                              \
1594                                                                           \


2277                                                                           \
2278   /****************/                                                      \
2279   /* Object sizes */                                                      \
2280   /****************/                                                      \
2281                                                                           \
2282   declare_constant(oopSize)                                               \
2283   declare_constant(LogBytesPerWord)                                       \
2284   declare_constant(BytesPerWord)                                          \
2285   declare_constant(BytesPerLong)                                          \
2286                                                                           \
2287   declare_constant(LogKlassAlignmentInBytes)                              \
2288                                                                           \
2289   /********************************************/                          \
2290   /* Generation and Space Hierarchy Constants */                          \
2291   /********************************************/                          \
2292                                                                           \
2293   declare_constant(AgeTable::table_size)                                  \
2294                                                                           \
2295   declare_constant(BarrierSet::ModRef)                                    \
2296   declare_constant(BarrierSet::CardTableModRef)                           \
2297   declare_constant(BarrierSet::G1BarrierSet)                              \



2298                                                                           \
2299   declare_constant(BOTConstants::LogN)                                    \
2300   declare_constant(BOTConstants::LogN_words)                              \
2301   declare_constant(BOTConstants::N_bytes)                                 \
2302   declare_constant(BOTConstants::N_words)                                 \
2303   declare_constant(BOTConstants::LogBase)                                 \
2304   declare_constant(BOTConstants::Base)                                    \
2305   declare_constant(BOTConstants::N_powers)                                \
2306                                                                           \
2307   declare_constant(CardTable::clean_card)                                 \
2308   declare_constant(CardTable::last_card)                                  \
2309   declare_constant(CardTable::dirty_card)                                 \
2310   declare_constant(CardTable::Precise)                                    \
2311   declare_constant(CardTable::ObjHeadPreciseArray)                        \
2312   declare_constant(CardTable::card_shift)                                 \
2313   declare_constant(CardTable::card_size)                                  \
2314   declare_constant(CardTable::card_size_in_words)                         \
2315                                                                           \
2316   declare_constant(CardTableRS::youngergen_card)                          \
2317                                                                           \
2318   declare_constant(G1CardTable::g1_young_gen)                             \
2319                                                                           \
2320   declare_constant(CollectedHeap::GenCollectedHeap)                       \
2321   declare_constant(CollectedHeap::ParallelScavengeHeap)                   \
2322   declare_constant(CollectedHeap::G1CollectedHeap)                        \
2323                                                                           \
2324   /* constants from Generation::Name enum */                              \
2325                                                                           \
2326   declare_constant(Generation::DefNew)                                    \
2327   declare_constant(Generation::MarkSweepCompact)                          \
2328   declare_constant(Generation::Other)                                     \
2329                                                                           \
2330   declare_constant(Generation::LogOfGenGrain)                             \
2331   declare_constant(Generation::GenGrain)                                  \
2332                                                                           \
2333   declare_constant(HeapWordSize)                                          \
2334   declare_constant(LogHeapWordSize)                                       \
2335                                                                           \
2336                                                                           \
2337   /************************/                                              \
2338   /* PerfMemory - jvmstat */                                              \


< prev index next >