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,
|