< prev index next >

src/share/vm/runtime/vmStructs.cpp

Print this page
rev 10742 : Make fields used in lock-free algorithms volatile


 518   nonstatic_field(BlockOffsetSharedArray,      _offset_array,                                 u_char*)                               \
 519                                                                                                                                      \
 520   nonstatic_field(BlockOffsetArray,            _array,                                        BlockOffsetSharedArray*)               \
 521   nonstatic_field(BlockOffsetArray,            _sp,                                           Space*)                                \
 522   nonstatic_field(BlockOffsetArrayContigSpace, _next_offset_threshold,                        HeapWord*)                             \
 523   nonstatic_field(BlockOffsetArrayContigSpace, _next_offset_index,                            size_t)                                \
 524                                                                                                                                      \
 525   nonstatic_field(BlockOffsetArrayNonContigSpace, _unallocated_block,                         HeapWord*)                             \
 526                                                                                                                                      \
 527   nonstatic_field(CardGeneration,              _rs,                                           CardTableRS*)                          \
 528   nonstatic_field(CardGeneration,              _bts,                                          BlockOffsetSharedArray*)               \
 529   nonstatic_field(CardGeneration,              _shrink_factor,                                size_t)                                \
 530   nonstatic_field(CardGeneration,              _capacity_at_prologue,                         size_t)                                \
 531   nonstatic_field(CardGeneration,              _used_at_prologue,                             size_t)                                \
 532                                                                                                                                      \
 533   nonstatic_field(CardTableModRefBS,           _whole_heap,                                   const MemRegion)                       \
 534   nonstatic_field(CardTableModRefBS,           _guard_index,                                  const size_t)                          \
 535   nonstatic_field(CardTableModRefBS,           _last_valid_index,                             const size_t)                          \
 536   nonstatic_field(CardTableModRefBS,           _page_size,                                    const size_t)                          \
 537   nonstatic_field(CardTableModRefBS,           _byte_map_size,                                const size_t)                          \
 538   nonstatic_field(CardTableModRefBS,           _byte_map,                                     jbyte*)                                \
 539   nonstatic_field(CardTableModRefBS,           _cur_covered_regions,                          int)                                   \
 540   nonstatic_field(CardTableModRefBS,           _covered,                                      MemRegion*)                            \
 541   nonstatic_field(CardTableModRefBS,           _committed,                                    MemRegion*)                            \
 542   nonstatic_field(CardTableModRefBS,           _guard_region,                                 MemRegion)                             \
 543   nonstatic_field(CardTableModRefBS,           byte_map_base,                                 jbyte*)                                \
 544                                                                                                                                      \
 545   nonstatic_field(CardTableRS,                 _ct_bs,                                        CardTableModRefBSForCTRS*)             \
 546                                                                                                                                      \
 547   nonstatic_field(CollectedHeap,               _reserved,                                     MemRegion)                             \
 548   nonstatic_field(CollectedHeap,               _barrier_set,                                  BarrierSet*)                           \
 549   nonstatic_field(CollectedHeap,               _defer_initial_card_mark,                      bool)                                  \
 550   nonstatic_field(CollectedHeap,               _is_gc_active,                                 bool)                                  \
 551   nonstatic_field(CollectedHeap,               _total_collections,                            unsigned int)                          \
 552                                                                                                                                      \
 553   nonstatic_field(CompactibleSpace,            _compaction_top,                               HeapWord*)                             \
 554   nonstatic_field(CompactibleSpace,            _first_dead,                                   HeapWord*)                             \
 555   nonstatic_field(CompactibleSpace,            _end_of_live,                                  HeapWord*)                             \
 556                                                                                                                                      \
 557   nonstatic_field(ContiguousSpace,             _top,                                          HeapWord*)                             \
 558   nonstatic_field(ContiguousSpace,             _concurrent_iteration_safe_limit,              HeapWord*)                             \
 559   nonstatic_field(ContiguousSpace,             _saved_mark_word,                              HeapWord*)                             \
 560                                                                                                                                      \
 561   nonstatic_field(DefNewGeneration,            _old_gen,                                      Generation*)                           \
 562   nonstatic_field(DefNewGeneration,            _tenuring_threshold,                           uint)                                  \
 563   nonstatic_field(DefNewGeneration,            _age_table,                                    AgeTable)                              \


2229             declare_type(Array<Klass*>, MetaspaceObj)                     \
2230             declare_type(Array<Method*>, MetaspaceObj)                    \
2231                                                                           \
2232    declare_integer_type(AccessFlags)  /* FIXME: wrong type (not integer) */\
2233   declare_toplevel_type(address)      /* FIXME: should this be an integer type? */\
2234    declare_integer_type(BasicType)   /* FIXME: wrong type (not integer) */\
2235   declare_toplevel_type(BreakpointInfo)                                   \
2236   declare_toplevel_type(BreakpointInfo*)                                  \
2237   declare_toplevel_type(CodeBlob*)                                        \
2238   declare_toplevel_type(CompressedWriteStream*)                           \
2239   declare_toplevel_type(ConstantPoolCacheEntry)                           \
2240   declare_toplevel_type(elapsedTimer)                                     \
2241   declare_toplevel_type(frame)                                            \
2242   declare_toplevel_type(intptr_t*)                                        \
2243    declare_unsigned_integer_type(InvocationCounter) /* FIXME: wrong type (not integer) */ \
2244   declare_toplevel_type(JavaThread*)                                      \
2245   declare_toplevel_type(java_lang_Class)                                  \
2246   declare_integer_type(JavaThread::AsyncRequests)                         \
2247   declare_toplevel_type(jbyte*)                                           \
2248   declare_toplevel_type(jbyte**)                                          \


2249   declare_toplevel_type(jint*)                                            \
2250   declare_toplevel_type(jniIdMapBase*)                                    \
2251   declare_unsigned_integer_type(juint)                                    \
2252   declare_unsigned_integer_type(julong)                                   \
2253   declare_toplevel_type(JNIHandleBlock*)                                  \
2254   declare_toplevel_type(JNIid)                                            \
2255   declare_toplevel_type(JNIid*)                                           \
2256   declare_toplevel_type(jmethodID*)                                       \
2257   declare_toplevel_type(Mutex*)                                           \
2258   declare_toplevel_type(nmethod*)                                         \
2259   COMPILER2_PRESENT(declare_unsigned_integer_type(node_idx_t))            \
2260   declare_toplevel_type(ObjectMonitor*)                                   \
2261   declare_toplevel_type(oop*)                                             \
2262   declare_toplevel_type(OopMap**)                                         \
2263   declare_toplevel_type(OopMapCache*)                                     \
2264   declare_toplevel_type(OopMapSet*)                                       \
2265   declare_toplevel_type(VMReg)                                            \
2266   declare_toplevel_type(OSThread*)                                        \
2267    declare_integer_type(ReferenceType)                                    \
2268   declare_toplevel_type(StubQueue*)                                       \


2982 // Instantiation of VMStructEntries, VMTypeEntries and VMIntConstantEntries
2983 //
2984 
2985 // These initializers are allowed to access private fields in classes
2986 // as long as class VMStructs is a friend
2987 VMStructEntry VMStructs::localHotSpotVMStructs[] = {
2988 
2989   VM_STRUCTS(GENERATE_NONSTATIC_VM_STRUCT_ENTRY,
2990              GENERATE_STATIC_VM_STRUCT_ENTRY,
2991              GENERATE_STATIC_PTR_VOLATILE_VM_STRUCT_ENTRY,
2992              GENERATE_UNCHECKED_NONSTATIC_VM_STRUCT_ENTRY,
2993              GENERATE_NONSTATIC_VM_STRUCT_ENTRY,
2994              GENERATE_NONPRODUCT_NONSTATIC_VM_STRUCT_ENTRY,
2995              GENERATE_C1_NONSTATIC_VM_STRUCT_ENTRY,
2996              GENERATE_C2_NONSTATIC_VM_STRUCT_ENTRY,
2997              GENERATE_C1_UNCHECKED_STATIC_VM_STRUCT_ENTRY,
2998              GENERATE_C2_UNCHECKED_STATIC_VM_STRUCT_ENTRY)
2999 
3000 #if INCLUDE_ALL_GCS
3001   VM_STRUCTS_PARALLELGC(GENERATE_NONSTATIC_VM_STRUCT_ENTRY,

3002                         GENERATE_STATIC_VM_STRUCT_ENTRY)
3003 
3004   VM_STRUCTS_CMS(GENERATE_NONSTATIC_VM_STRUCT_ENTRY,
3005                  GENERATE_NONSTATIC_VM_STRUCT_ENTRY,
3006                  GENERATE_STATIC_VM_STRUCT_ENTRY)
3007 
3008   VM_STRUCTS_G1(GENERATE_NONSTATIC_VM_STRUCT_ENTRY,
3009                 GENERATE_STATIC_VM_STRUCT_ENTRY)
3010 #endif // INCLUDE_ALL_GCS
3011 
3012 #if INCLUDE_TRACE
3013   VM_STRUCTS_TRACE(GENERATE_NONSTATIC_VM_STRUCT_ENTRY,
3014                 GENERATE_STATIC_VM_STRUCT_ENTRY)
3015 #endif
3016 
3017   VM_STRUCTS_EXT(GENERATE_NONSTATIC_VM_STRUCT_ENTRY,
3018                  GENERATE_STATIC_VM_STRUCT_ENTRY)
3019 
3020   VM_STRUCTS_OS(GENERATE_NONSTATIC_VM_STRUCT_ENTRY,
3021                 GENERATE_STATIC_VM_STRUCT_ENTRY,


3180   GENERATE_VM_LONG_CONSTANT_LAST_ENTRY()
3181 };
3182 
3183 // This is used both to check the types of referenced fields and, in
3184 // debug builds, to ensure that all of the field types are present.
3185 void
3186 VMStructs::init() {
3187   VM_STRUCTS(CHECK_NONSTATIC_VM_STRUCT_ENTRY,
3188              CHECK_STATIC_VM_STRUCT_ENTRY,
3189              CHECK_STATIC_PTR_VOLATILE_VM_STRUCT_ENTRY,
3190              CHECK_NO_OP,
3191              CHECK_VOLATILE_NONSTATIC_VM_STRUCT_ENTRY,
3192              CHECK_NONPRODUCT_NONSTATIC_VM_STRUCT_ENTRY,
3193              CHECK_C1_NONSTATIC_VM_STRUCT_ENTRY,
3194              CHECK_C2_NONSTATIC_VM_STRUCT_ENTRY,
3195              CHECK_NO_OP,
3196              CHECK_NO_OP);
3197 
3198 #if INCLUDE_ALL_GCS
3199   VM_STRUCTS_PARALLELGC(CHECK_NONSTATIC_VM_STRUCT_ENTRY,

3200              CHECK_STATIC_VM_STRUCT_ENTRY);
3201 
3202   VM_STRUCTS_CMS(CHECK_NONSTATIC_VM_STRUCT_ENTRY,
3203              CHECK_VOLATILE_NONSTATIC_VM_STRUCT_ENTRY,
3204              CHECK_STATIC_VM_STRUCT_ENTRY);
3205 
3206   VM_STRUCTS_G1(CHECK_NONSTATIC_VM_STRUCT_ENTRY,
3207                 CHECK_STATIC_VM_STRUCT_ENTRY);
3208 
3209 #endif // INCLUDE_ALL_GCS
3210 
3211 #if INCLUDE_TRACE
3212   VM_STRUCTS_TRACE(CHECK_NONSTATIC_VM_STRUCT_ENTRY,
3213                 CHECK_STATIC_VM_STRUCT_ENTRY);
3214 #endif
3215 
3216   VM_STRUCTS_EXT(CHECK_NONSTATIC_VM_STRUCT_ENTRY,
3217                  CHECK_STATIC_VM_STRUCT_ENTRY);
3218 
3219   VM_STRUCTS_CPU(CHECK_NONSTATIC_VM_STRUCT_ENTRY,


3305                         CHECK_NO_OP,
3306                         CHECK_NO_OP,
3307                         CHECK_NO_OP,
3308                         CHECK_NO_OP,
3309                         CHECK_NO_OP,
3310                         CHECK_NO_OP,
3311                         CHECK_NO_OP,
3312                         CHECK_NO_OP));
3313   debug_only(VM_STRUCTS(CHECK_NO_OP,
3314                         ENSURE_FIELD_TYPE_PRESENT,
3315                         ENSURE_FIELD_TYPE_PRESENT,
3316                         CHECK_NO_OP,
3317                         ENSURE_FIELD_TYPE_PRESENT,
3318                         ENSURE_NONPRODUCT_FIELD_TYPE_PRESENT,
3319                         ENSURE_C1_FIELD_TYPE_PRESENT,
3320                         ENSURE_C2_FIELD_TYPE_PRESENT,
3321                         CHECK_NO_OP,
3322                         CHECK_NO_OP));
3323 #if INCLUDE_ALL_GCS
3324   debug_only(VM_STRUCTS_PARALLELGC(ENSURE_FIELD_TYPE_PRESENT,

3325                                    ENSURE_FIELD_TYPE_PRESENT));
3326   debug_only(VM_STRUCTS_CMS(ENSURE_FIELD_TYPE_PRESENT,
3327                             ENSURE_FIELD_TYPE_PRESENT,
3328                             ENSURE_FIELD_TYPE_PRESENT));
3329   debug_only(VM_STRUCTS_G1(ENSURE_FIELD_TYPE_PRESENT,
3330                            ENSURE_FIELD_TYPE_PRESENT));
3331 #endif // INCLUDE_ALL_GCS
3332 
3333 #if INCLUDE_TRACE
3334   debug_only(VM_STRUCTS_TRACE(ENSURE_FIELD_TYPE_PRESENT,
3335                            ENSURE_FIELD_TYPE_PRESENT));
3336 #endif
3337 
3338   debug_only(VM_STRUCTS_EXT(ENSURE_FIELD_TYPE_PRESENT,
3339                             ENSURE_FIELD_TYPE_PRESENT));
3340 
3341   debug_only(VM_STRUCTS_CPU(ENSURE_FIELD_TYPE_PRESENT,
3342                             ENSURE_FIELD_TYPE_PRESENT,
3343                             CHECK_NO_OP,
3344                             ENSURE_FIELD_TYPE_PRESENT,




 518   nonstatic_field(BlockOffsetSharedArray,      _offset_array,                                 u_char*)                               \
 519                                                                                                                                      \
 520   nonstatic_field(BlockOffsetArray,            _array,                                        BlockOffsetSharedArray*)               \
 521   nonstatic_field(BlockOffsetArray,            _sp,                                           Space*)                                \
 522   nonstatic_field(BlockOffsetArrayContigSpace, _next_offset_threshold,                        HeapWord*)                             \
 523   nonstatic_field(BlockOffsetArrayContigSpace, _next_offset_index,                            size_t)                                \
 524                                                                                                                                      \
 525   nonstatic_field(BlockOffsetArrayNonContigSpace, _unallocated_block,                         HeapWord*)                             \
 526                                                                                                                                      \
 527   nonstatic_field(CardGeneration,              _rs,                                           CardTableRS*)                          \
 528   nonstatic_field(CardGeneration,              _bts,                                          BlockOffsetSharedArray*)               \
 529   nonstatic_field(CardGeneration,              _shrink_factor,                                size_t)                                \
 530   nonstatic_field(CardGeneration,              _capacity_at_prologue,                         size_t)                                \
 531   nonstatic_field(CardGeneration,              _used_at_prologue,                             size_t)                                \
 532                                                                                                                                      \
 533   nonstatic_field(CardTableModRefBS,           _whole_heap,                                   const MemRegion)                       \
 534   nonstatic_field(CardTableModRefBS,           _guard_index,                                  const size_t)                          \
 535   nonstatic_field(CardTableModRefBS,           _last_valid_index,                             const size_t)                          \
 536   nonstatic_field(CardTableModRefBS,           _page_size,                                    const size_t)                          \
 537   nonstatic_field(CardTableModRefBS,           _byte_map_size,                                const size_t)                          \
 538   nonstatic_field(CardTableModRefBS,           _byte_map,                                     volatile jbyte*)                       \
 539   nonstatic_field(CardTableModRefBS,           _cur_covered_regions,                          int)                                   \
 540   nonstatic_field(CardTableModRefBS,           _covered,                                      MemRegion*)                            \
 541   nonstatic_field(CardTableModRefBS,           _committed,                                    MemRegion*)                            \
 542   nonstatic_field(CardTableModRefBS,           _guard_region,                                 MemRegion)                             \
 543   nonstatic_field(CardTableModRefBS,           byte_map_base,                                 volatile jbyte*)                       \
 544                                                                                                                                      \
 545   nonstatic_field(CardTableRS,                 _ct_bs,                                        CardTableModRefBSForCTRS*)             \
 546                                                                                                                                      \
 547   nonstatic_field(CollectedHeap,               _reserved,                                     MemRegion)                             \
 548   nonstatic_field(CollectedHeap,               _barrier_set,                                  BarrierSet*)                           \
 549   nonstatic_field(CollectedHeap,               _defer_initial_card_mark,                      bool)                                  \
 550   nonstatic_field(CollectedHeap,               _is_gc_active,                                 bool)                                  \
 551   nonstatic_field(CollectedHeap,               _total_collections,                            unsigned int)                          \
 552                                                                                                                                      \
 553   nonstatic_field(CompactibleSpace,            _compaction_top,                               HeapWord*)                             \
 554   nonstatic_field(CompactibleSpace,            _first_dead,                                   HeapWord*)                             \
 555   nonstatic_field(CompactibleSpace,            _end_of_live,                                  HeapWord*)                             \
 556                                                                                                                                      \
 557   nonstatic_field(ContiguousSpace,             _top,                                          HeapWord*)                             \
 558   nonstatic_field(ContiguousSpace,             _concurrent_iteration_safe_limit,              HeapWord*)                             \
 559   nonstatic_field(ContiguousSpace,             _saved_mark_word,                              HeapWord*)                             \
 560                                                                                                                                      \
 561   nonstatic_field(DefNewGeneration,            _old_gen,                                      Generation*)                           \
 562   nonstatic_field(DefNewGeneration,            _tenuring_threshold,                           uint)                                  \
 563   nonstatic_field(DefNewGeneration,            _age_table,                                    AgeTable)                              \


2229             declare_type(Array<Klass*>, MetaspaceObj)                     \
2230             declare_type(Array<Method*>, MetaspaceObj)                    \
2231                                                                           \
2232    declare_integer_type(AccessFlags)  /* FIXME: wrong type (not integer) */\
2233   declare_toplevel_type(address)      /* FIXME: should this be an integer type? */\
2234    declare_integer_type(BasicType)   /* FIXME: wrong type (not integer) */\
2235   declare_toplevel_type(BreakpointInfo)                                   \
2236   declare_toplevel_type(BreakpointInfo*)                                  \
2237   declare_toplevel_type(CodeBlob*)                                        \
2238   declare_toplevel_type(CompressedWriteStream*)                           \
2239   declare_toplevel_type(ConstantPoolCacheEntry)                           \
2240   declare_toplevel_type(elapsedTimer)                                     \
2241   declare_toplevel_type(frame)                                            \
2242   declare_toplevel_type(intptr_t*)                                        \
2243    declare_unsigned_integer_type(InvocationCounter) /* FIXME: wrong type (not integer) */ \
2244   declare_toplevel_type(JavaThread*)                                      \
2245   declare_toplevel_type(java_lang_Class)                                  \
2246   declare_integer_type(JavaThread::AsyncRequests)                         \
2247   declare_toplevel_type(jbyte*)                                           \
2248   declare_toplevel_type(jbyte**)                                          \
2249   declare_toplevel_type(volatile jbyte*)                                  \
2250   declare_toplevel_type(volatile jbyte**)                                 \
2251   declare_toplevel_type(jint*)                                            \
2252   declare_toplevel_type(jniIdMapBase*)                                    \
2253   declare_unsigned_integer_type(juint)                                    \
2254   declare_unsigned_integer_type(julong)                                   \
2255   declare_toplevel_type(JNIHandleBlock*)                                  \
2256   declare_toplevel_type(JNIid)                                            \
2257   declare_toplevel_type(JNIid*)                                           \
2258   declare_toplevel_type(jmethodID*)                                       \
2259   declare_toplevel_type(Mutex*)                                           \
2260   declare_toplevel_type(nmethod*)                                         \
2261   COMPILER2_PRESENT(declare_unsigned_integer_type(node_idx_t))            \
2262   declare_toplevel_type(ObjectMonitor*)                                   \
2263   declare_toplevel_type(oop*)                                             \
2264   declare_toplevel_type(OopMap**)                                         \
2265   declare_toplevel_type(OopMapCache*)                                     \
2266   declare_toplevel_type(OopMapSet*)                                       \
2267   declare_toplevel_type(VMReg)                                            \
2268   declare_toplevel_type(OSThread*)                                        \
2269    declare_integer_type(ReferenceType)                                    \
2270   declare_toplevel_type(StubQueue*)                                       \


2984 // Instantiation of VMStructEntries, VMTypeEntries and VMIntConstantEntries
2985 //
2986 
2987 // These initializers are allowed to access private fields in classes
2988 // as long as class VMStructs is a friend
2989 VMStructEntry VMStructs::localHotSpotVMStructs[] = {
2990 
2991   VM_STRUCTS(GENERATE_NONSTATIC_VM_STRUCT_ENTRY,
2992              GENERATE_STATIC_VM_STRUCT_ENTRY,
2993              GENERATE_STATIC_PTR_VOLATILE_VM_STRUCT_ENTRY,
2994              GENERATE_UNCHECKED_NONSTATIC_VM_STRUCT_ENTRY,
2995              GENERATE_NONSTATIC_VM_STRUCT_ENTRY,
2996              GENERATE_NONPRODUCT_NONSTATIC_VM_STRUCT_ENTRY,
2997              GENERATE_C1_NONSTATIC_VM_STRUCT_ENTRY,
2998              GENERATE_C2_NONSTATIC_VM_STRUCT_ENTRY,
2999              GENERATE_C1_UNCHECKED_STATIC_VM_STRUCT_ENTRY,
3000              GENERATE_C2_UNCHECKED_STATIC_VM_STRUCT_ENTRY)
3001 
3002 #if INCLUDE_ALL_GCS
3003   VM_STRUCTS_PARALLELGC(GENERATE_NONSTATIC_VM_STRUCT_ENTRY,
3004                         GENERATE_NONSTATIC_VM_STRUCT_ENTRY,
3005                         GENERATE_STATIC_VM_STRUCT_ENTRY)
3006 
3007   VM_STRUCTS_CMS(GENERATE_NONSTATIC_VM_STRUCT_ENTRY,
3008                  GENERATE_NONSTATIC_VM_STRUCT_ENTRY,
3009                  GENERATE_STATIC_VM_STRUCT_ENTRY)
3010 
3011   VM_STRUCTS_G1(GENERATE_NONSTATIC_VM_STRUCT_ENTRY,
3012                 GENERATE_STATIC_VM_STRUCT_ENTRY)
3013 #endif // INCLUDE_ALL_GCS
3014 
3015 #if INCLUDE_TRACE
3016   VM_STRUCTS_TRACE(GENERATE_NONSTATIC_VM_STRUCT_ENTRY,
3017                    GENERATE_STATIC_VM_STRUCT_ENTRY)
3018 #endif
3019 
3020   VM_STRUCTS_EXT(GENERATE_NONSTATIC_VM_STRUCT_ENTRY,
3021                  GENERATE_STATIC_VM_STRUCT_ENTRY)
3022 
3023   VM_STRUCTS_OS(GENERATE_NONSTATIC_VM_STRUCT_ENTRY,
3024                 GENERATE_STATIC_VM_STRUCT_ENTRY,


3183   GENERATE_VM_LONG_CONSTANT_LAST_ENTRY()
3184 };
3185 
3186 // This is used both to check the types of referenced fields and, in
3187 // debug builds, to ensure that all of the field types are present.
3188 void
3189 VMStructs::init() {
3190   VM_STRUCTS(CHECK_NONSTATIC_VM_STRUCT_ENTRY,
3191              CHECK_STATIC_VM_STRUCT_ENTRY,
3192              CHECK_STATIC_PTR_VOLATILE_VM_STRUCT_ENTRY,
3193              CHECK_NO_OP,
3194              CHECK_VOLATILE_NONSTATIC_VM_STRUCT_ENTRY,
3195              CHECK_NONPRODUCT_NONSTATIC_VM_STRUCT_ENTRY,
3196              CHECK_C1_NONSTATIC_VM_STRUCT_ENTRY,
3197              CHECK_C2_NONSTATIC_VM_STRUCT_ENTRY,
3198              CHECK_NO_OP,
3199              CHECK_NO_OP);
3200 
3201 #if INCLUDE_ALL_GCS
3202   VM_STRUCTS_PARALLELGC(CHECK_NONSTATIC_VM_STRUCT_ENTRY,
3203                         CHECK_VOLATILE_NONSTATIC_VM_STRUCT_ENTRY,
3204                         CHECK_STATIC_VM_STRUCT_ENTRY);
3205 
3206   VM_STRUCTS_CMS(CHECK_NONSTATIC_VM_STRUCT_ENTRY,
3207                  CHECK_VOLATILE_NONSTATIC_VM_STRUCT_ENTRY,
3208                  CHECK_STATIC_VM_STRUCT_ENTRY);
3209 
3210   VM_STRUCTS_G1(CHECK_NONSTATIC_VM_STRUCT_ENTRY,
3211                 CHECK_STATIC_VM_STRUCT_ENTRY);
3212 
3213 #endif // INCLUDE_ALL_GCS
3214 
3215 #if INCLUDE_TRACE
3216   VM_STRUCTS_TRACE(CHECK_NONSTATIC_VM_STRUCT_ENTRY,
3217                    CHECK_STATIC_VM_STRUCT_ENTRY);
3218 #endif
3219 
3220   VM_STRUCTS_EXT(CHECK_NONSTATIC_VM_STRUCT_ENTRY,
3221                  CHECK_STATIC_VM_STRUCT_ENTRY);
3222 
3223   VM_STRUCTS_CPU(CHECK_NONSTATIC_VM_STRUCT_ENTRY,


3309                         CHECK_NO_OP,
3310                         CHECK_NO_OP,
3311                         CHECK_NO_OP,
3312                         CHECK_NO_OP,
3313                         CHECK_NO_OP,
3314                         CHECK_NO_OP,
3315                         CHECK_NO_OP,
3316                         CHECK_NO_OP));
3317   debug_only(VM_STRUCTS(CHECK_NO_OP,
3318                         ENSURE_FIELD_TYPE_PRESENT,
3319                         ENSURE_FIELD_TYPE_PRESENT,
3320                         CHECK_NO_OP,
3321                         ENSURE_FIELD_TYPE_PRESENT,
3322                         ENSURE_NONPRODUCT_FIELD_TYPE_PRESENT,
3323                         ENSURE_C1_FIELD_TYPE_PRESENT,
3324                         ENSURE_C2_FIELD_TYPE_PRESENT,
3325                         CHECK_NO_OP,
3326                         CHECK_NO_OP));
3327 #if INCLUDE_ALL_GCS
3328   debug_only(VM_STRUCTS_PARALLELGC(ENSURE_FIELD_TYPE_PRESENT,
3329                                    ENSURE_FIELD_TYPE_PRESENT,
3330                                    ENSURE_FIELD_TYPE_PRESENT));
3331   debug_only(VM_STRUCTS_CMS(ENSURE_FIELD_TYPE_PRESENT,
3332                             ENSURE_FIELD_TYPE_PRESENT,
3333                             ENSURE_FIELD_TYPE_PRESENT));
3334   debug_only(VM_STRUCTS_G1(ENSURE_FIELD_TYPE_PRESENT,
3335                            ENSURE_FIELD_TYPE_PRESENT));
3336 #endif // INCLUDE_ALL_GCS
3337 
3338 #if INCLUDE_TRACE
3339   debug_only(VM_STRUCTS_TRACE(ENSURE_FIELD_TYPE_PRESENT,
3340                            ENSURE_FIELD_TYPE_PRESENT));
3341 #endif
3342 
3343   debug_only(VM_STRUCTS_EXT(ENSURE_FIELD_TYPE_PRESENT,
3344                             ENSURE_FIELD_TYPE_PRESENT));
3345 
3346   debug_only(VM_STRUCTS_CPU(ENSURE_FIELD_TYPE_PRESENT,
3347                             ENSURE_FIELD_TYPE_PRESENT,
3348                             CHECK_NO_OP,
3349                             ENSURE_FIELD_TYPE_PRESENT,


< prev index next >