313 nonstatic_field(InstanceKlass, _jni_ids, JNIid*) \
314 nonstatic_field(InstanceKlass, _osr_nmethods_head, nmethod*) \
315 nonstatic_field(InstanceKlass, _breakpoints, BreakpointInfo*) \
316 nonstatic_field(InstanceKlass, _generic_signature_index, u2) \
317 nonstatic_field(InstanceKlass, _methods_jmethod_ids, jmethodID*) \
318 nonstatic_field(InstanceKlass, _methods_cached_itable_indices, int*) \
319 volatile_nonstatic_field(InstanceKlass, _idnum_allocated_count, u2) \
320 nonstatic_field(InstanceKlass, _annotations, Annotations*) \
321 nonstatic_field(InstanceKlass, _dependencies, nmethodBucket*) \
322 nonstatic_field(nmethodBucket, _nmethod, nmethod*) \
323 nonstatic_field(nmethodBucket, _count, int) \
324 nonstatic_field(nmethodBucket, _next, nmethodBucket*) \
325 nonstatic_field(InstanceKlass, _method_ordering, Array<int>*) \
326 nonstatic_field(Klass, _super_check_offset, juint) \
327 nonstatic_field(Klass, _secondary_super_cache, Klass*) \
328 nonstatic_field(Klass, _secondary_supers, Array<Klass*>*) \
329 nonstatic_field(Klass, _primary_supers[0], Klass*) \
330 nonstatic_field(Klass, _java_mirror, oop) \
331 nonstatic_field(Klass, _modifier_flags, jint) \
332 nonstatic_field(Klass, _super, Klass*) \
333 nonstatic_field(Klass, _layout_helper, jint) \
334 nonstatic_field(Klass, _name, Symbol*) \
335 nonstatic_field(Klass, _access_flags, AccessFlags) \
336 nonstatic_field(Klass, _subklass, Klass*) \
337 nonstatic_field(Klass, _next_sibling, Klass*) \
338 nonstatic_field(MethodData, _size, int) \
339 nonstatic_field(MethodData, _method, Method*) \
340 nonstatic_field(MethodData, _data_size, int) \
341 nonstatic_field(MethodData, _data[0], intptr_t) \
342 nonstatic_field(MethodData, _nof_decompiles, uint) \
343 nonstatic_field(MethodData, _nof_overflow_recompiles, uint) \
344 nonstatic_field(MethodData, _nof_overflow_traps, uint) \
345 nonstatic_field(MethodData, _eflags, intx) \
346 nonstatic_field(MethodData, _arg_local, intx) \
347 nonstatic_field(MethodData, _arg_stack, intx) \
348 nonstatic_field(MethodData, _arg_returned, intx) \
349 nonstatic_field(MethodCounters, _interpreter_invocation_count, int) \
350 nonstatic_field(MethodCounters, _interpreter_throwout_count, u2) \
351 nonstatic_field(MethodCounters, _number_of_breakpoints, u2) \
352 nonstatic_field(MethodCounters, _invocation_counter, InvocationCounter) \
353 nonstatic_field(MethodCounters, _backedge_counter, InvocationCounter) \
354 nonstatic_field(Method, _constMethod, ConstMethod*) \
355 nonstatic_field(Method, _method_data, MethodData*) \
356 nonstatic_field(Method, _method_counters, MethodCounters*) \
357 nonstatic_field(Method, _access_flags, AccessFlags) \
358 nonstatic_field(Method, _vtable_index, int) \
359 nonstatic_field(Method, _method_size, u2) \
360 nonproduct_nonstatic_field(Method, _compiled_invocation_count, int) \
361 volatile_nonstatic_field(Method, _code, nmethod*) \
362 nonstatic_field(Method, _i2i_entry, address) \
363 nonstatic_field(Method, _adapter, AdapterHandlerEntry*) \
364 volatile_nonstatic_field(Method, _from_compiled_entry, address) \
365 volatile_nonstatic_field(Method, _from_interpreted_entry, address) \
366 volatile_nonstatic_field(ConstMethod, _fingerprint, uint64_t) \
367 nonstatic_field(ConstMethod, _constants, ConstantPool*) \
368 nonstatic_field(ConstMethod, _stackmap_data, Array<u1>*) \
369 nonstatic_field(ConstMethod, _constMethod_size, int) \
370 nonstatic_field(ConstMethod, _flags, u2) \
371 nonstatic_field(ConstMethod, _code_size, u2) \
372 nonstatic_field(ConstMethod, _name_index, u2) \
373 nonstatic_field(ConstMethod, _signature_index, u2) \
374 nonstatic_field(ConstMethod, _method_idnum, u2) \
375 nonstatic_field(ConstMethod, _max_stack, u2) \
376 nonstatic_field(ConstMethod, _max_locals, u2) \
377 nonstatic_field(ConstMethod, _size_of_parameters, u2) \
378 nonstatic_field(ObjArrayKlass, _element_klass, Klass*) \
379 nonstatic_field(ObjArrayKlass, _bottom_klass, Klass*) \
426 static_field(Universe, _boolArrayKlassObj, Klass*) \
427 static_field(Universe, _byteArrayKlassObj, Klass*) \
428 static_field(Universe, _charArrayKlassObj, Klass*) \
429 static_field(Universe, _intArrayKlassObj, Klass*) \
430 static_field(Universe, _shortArrayKlassObj, Klass*) \
431 static_field(Universe, _longArrayKlassObj, Klass*) \
432 static_field(Universe, _singleArrayKlassObj, Klass*) \
433 static_field(Universe, _doubleArrayKlassObj, Klass*) \
434 static_field(Universe, _mirrors[0], oop) \
435 static_field(Universe, _main_thread_group, oop) \
436 static_field(Universe, _system_thread_group, oop) \
437 static_field(Universe, _the_empty_class_klass_array, objArrayOop) \
438 static_field(Universe, _null_ptr_exception_instance, oop) \
439 static_field(Universe, _arithmetic_exception_instance, oop) \
440 static_field(Universe, _vm_exception, oop) \
441 static_field(Universe, _collectedHeap, CollectedHeap*) \
442 static_field(Universe, _base_vtable_size, int) \
443 static_field(Universe, _bootstrapping, bool) \
444 static_field(Universe, _fully_initialized, bool) \
445 static_field(Universe, _verify_count, int) \
446 static_field(Universe, _narrow_oop._base, address) \
447 static_field(Universe, _narrow_oop._shift, int) \
448 static_field(Universe, _narrow_oop._use_implicit_null_checks, bool) \
449 static_field(Universe, _narrow_klass._base, address) \
450 static_field(Universe, _narrow_klass._shift, int) \
451 \
452 /**********************************************************************************/ \
453 /* Generation and Space hierarchies */ \
454 /**********************************************************************************/ \
455 \
456 unchecked_nonstatic_field(ageTable, sizes, sizeof(ageTable::sizes)) \
457 \
458 nonstatic_field(BarrierSet, _max_covered_regions, int) \
459 nonstatic_field(BlockOffsetTable, _bottom, HeapWord*) \
460 nonstatic_field(BlockOffsetTable, _end, HeapWord*) \
461 \
462 nonstatic_field(BlockOffsetSharedArray, _reserved, MemRegion) \
463 nonstatic_field(BlockOffsetSharedArray, _end, HeapWord*) \
464 nonstatic_field(BlockOffsetSharedArray, _vs, VirtualSpace) \
465 nonstatic_field(BlockOffsetSharedArray, _offset_array, u_char*) \
466 \
467 nonstatic_field(BlockOffsetArray, _array, BlockOffsetSharedArray*) \
468 nonstatic_field(BlockOffsetArray, _sp, Space*) \
469 nonstatic_field(BlockOffsetArrayContigSpace, _next_offset_threshold, HeapWord*) \
470 nonstatic_field(BlockOffsetArrayContigSpace, _next_offset_index, size_t) \
471 \
472 nonstatic_field(BlockOffsetArrayNonContigSpace, _unallocated_block, HeapWord*) \
473 \
474 nonstatic_field(CardGeneration, _rs, GenRemSet*) \
475 nonstatic_field(CardGeneration, _bts, BlockOffsetSharedArray*) \
476 nonstatic_field(CardGeneration, _shrink_factor, size_t) \
477 nonstatic_field(CardGeneration, _capacity_at_prologue, size_t) \
478 nonstatic_field(CardGeneration, _used_at_prologue, size_t) \
479 \
480 nonstatic_field(CardTableModRefBS, _whole_heap, const MemRegion) \
481 nonstatic_field(CardTableModRefBS, _guard_index, const size_t) \
482 nonstatic_field(CardTableModRefBS, _last_valid_index, const size_t) \
483 nonstatic_field(CardTableModRefBS, _page_size, const size_t) \
484 nonstatic_field(CardTableModRefBS, _byte_map_size, const size_t) \
485 nonstatic_field(CardTableModRefBS, _byte_map, jbyte*) \
486 nonstatic_field(CardTableModRefBS, _cur_covered_regions, int) \
487 nonstatic_field(CardTableModRefBS, _covered, MemRegion*) \
488 nonstatic_field(CardTableModRefBS, _committed, MemRegion*) \
489 nonstatic_field(CardTableModRefBS, _guard_region, MemRegion) \
490 nonstatic_field(CardTableModRefBS, byte_map_base, jbyte*) \
491 \
492 nonstatic_field(CardTableRS, _ct_bs, CardTableModRefBSForCTRS*) \
493 \
494 nonstatic_field(CollectedHeap, _reserved, MemRegion) \
495 nonstatic_field(CollectedHeap, _barrier_set, BarrierSet*) \
496 nonstatic_field(CollectedHeap, _defer_initial_card_mark, bool) \
497 nonstatic_field(CollectedHeap, _is_gc_active, bool) \
498 nonstatic_field(CompactibleSpace, _compaction_top, HeapWord*) \
499 nonstatic_field(CompactibleSpace, _first_dead, HeapWord*) \
500 nonstatic_field(CompactibleSpace, _end_of_live, HeapWord*) \
501 \
502 \
503 nonstatic_field(ContiguousSpace, _top, HeapWord*) \
504 nonstatic_field(ContiguousSpace, _concurrent_iteration_safe_limit, HeapWord*) \
505 nonstatic_field(ContiguousSpace, _saved_mark_word, HeapWord*) \
506 \
507 nonstatic_field(DefNewGeneration, _next_gen, Generation*) \
508 nonstatic_field(DefNewGeneration, _tenuring_threshold, uint) \
509 nonstatic_field(DefNewGeneration, _age_table, ageTable) \
510 nonstatic_field(DefNewGeneration, _eden_space, EdenSpace*) \
511 nonstatic_field(DefNewGeneration, _from_space, ContiguousSpace*) \
512 nonstatic_field(DefNewGeneration, _to_space, ContiguousSpace*) \
513 \
514 nonstatic_field(EdenSpace, _gen, DefNewGeneration*) \
515 \
516 nonstatic_field(Generation, _reserved, MemRegion) \
517 nonstatic_field(Generation, _virtual_space, VirtualSpace) \
535 nonstatic_field(MemRegion, _start, HeapWord*) \
536 nonstatic_field(MemRegion, _word_size, size_t) \
537 \
538 nonstatic_field(OffsetTableContigSpace, _offsets, BlockOffsetArray) \
539 \
540 nonstatic_field(OneContigSpaceCardGeneration, _min_heap_delta_bytes, size_t) \
541 nonstatic_field(OneContigSpaceCardGeneration, _the_space, ContiguousSpace*) \
542 nonstatic_field(OneContigSpaceCardGeneration, _last_gc, WaterMark) \
543 \
544 \
545 \
546 nonstatic_field(Space, _bottom, HeapWord*) \
547 nonstatic_field(Space, _end, HeapWord*) \
548 \
549 nonstatic_field(ThreadLocalAllocBuffer, _start, HeapWord*) \
550 nonstatic_field(ThreadLocalAllocBuffer, _top, HeapWord*) \
551 nonstatic_field(ThreadLocalAllocBuffer, _end, HeapWord*) \
552 nonstatic_field(ThreadLocalAllocBuffer, _desired_size, size_t) \
553 nonstatic_field(ThreadLocalAllocBuffer, _refill_waste_limit, size_t) \
554 static_field(ThreadLocalAllocBuffer, _target_refills, unsigned) \
555 nonstatic_field(VirtualSpace, _low_boundary, char*) \
556 nonstatic_field(VirtualSpace, _high_boundary, char*) \
557 nonstatic_field(VirtualSpace, _low, char*) \
558 nonstatic_field(VirtualSpace, _high, char*) \
559 nonstatic_field(VirtualSpace, _lower_high, char*) \
560 nonstatic_field(VirtualSpace, _middle_high, char*) \
561 nonstatic_field(VirtualSpace, _upper_high, char*) \
562 nonstatic_field(WaterMark, _point, HeapWord*) \
563 nonstatic_field(WaterMark, _space, Space*) \
564 \
565 /************************/ \
566 /* PerfMemory - jvmstat */ \
567 /************************/ \
568 \
569 nonstatic_field(PerfDataPrologue, magic, jint) \
570 nonstatic_field(PerfDataPrologue, byte_order, jbyte) \
571 nonstatic_field(PerfDataPrologue, major_version, jbyte) \
572 nonstatic_field(PerfDataPrologue, minor_version, jbyte) \
573 nonstatic_field(PerfDataPrologue, accessible, jbyte) \
574 nonstatic_field(PerfDataPrologue, used, jint) \
696 /* ProctectionDomainEntry */ \
697 /**************************/ \
698 \
699 nonstatic_field(ProtectionDomainEntry, _next, ProtectionDomainEntry*) \
700 nonstatic_field(ProtectionDomainEntry, _protection_domain, oop) \
701 \
702 /*************************/ \
703 /* LoaderConstraintEntry */ \
704 /*************************/ \
705 \
706 nonstatic_field(LoaderConstraintEntry, _name, Symbol*) \
707 nonstatic_field(LoaderConstraintEntry, _num_loaders, int) \
708 nonstatic_field(LoaderConstraintEntry, _max_loaders, int) \
709 nonstatic_field(LoaderConstraintEntry, _loaders, ClassLoaderData**) \
710 \
711 nonstatic_field(ClassLoaderData, _class_loader, oop) \
712 nonstatic_field(ClassLoaderData, _next, ClassLoaderData*) \
713 \
714 static_field(ClassLoaderDataGraph, _head, ClassLoaderData*) \
715 \
716 /*******************/ \
717 /* GrowableArrays */ \
718 /*******************/ \
719 \
720 nonstatic_field(GenericGrowableArray, _len, int) \
721 nonstatic_field(GenericGrowableArray, _max, int) \
722 nonstatic_field(GenericGrowableArray, _arena, Arena*) \
723 nonstatic_field(GrowableArray<int>, _data, int*) \
724 \
725 /********************************/ \
726 /* CodeCache (NOTE: incomplete) */ \
727 /********************************/ \
728 \
729 static_field(CodeCache, _heap, CodeHeap*) \
730 static_field(CodeCache, _scavenge_root_nmethods, nmethod*) \
731 \
732 /*******************************/ \
733 /* CodeHeap (NOTE: incomplete) */ \
734 /*******************************/ \
735 \
746 \
747 static_field(AbstractInterpreter, _code, StubQueue*) \
748 \
749 /****************************/ \
750 /* Stubs (NOTE: incomplete) */ \
751 /****************************/ \
752 \
753 nonstatic_field(StubQueue, _stub_buffer, address) \
754 nonstatic_field(StubQueue, _buffer_limit, int) \
755 nonstatic_field(StubQueue, _queue_begin, int) \
756 nonstatic_field(StubQueue, _queue_end, int) \
757 nonstatic_field(StubQueue, _number_of_stubs, int) \
758 nonstatic_field(InterpreterCodelet, _size, int) \
759 nonstatic_field(InterpreterCodelet, _description, const char*) \
760 nonstatic_field(InterpreterCodelet, _bytecode, Bytecodes::Code) \
761 \
762 /***********************************/ \
763 /* StubRoutines (NOTE: incomplete) */ \
764 /***********************************/ \
765 \
766 static_field(StubRoutines, _call_stub_return_address, address) \
767 \
768 /***************************************/ \
769 /* PcDesc and other compiled code info */ \
770 /***************************************/ \
771 \
772 nonstatic_field(PcDesc, _pc_offset, int) \
773 nonstatic_field(PcDesc, _scope_decode_offset, int) \
774 nonstatic_field(PcDesc, _obj_decode_offset, int) \
775 nonstatic_field(PcDesc, _flags, int) \
776 \
777 /***************************************************/ \
778 /* CodeBlobs (NOTE: incomplete, but only a little) */ \
779 /***************************************************/ \
780 \
781 nonstatic_field(CodeBlob, _name, const char*) \
782 nonstatic_field(CodeBlob, _size, int) \
783 nonstatic_field(CodeBlob, _header_size, int) \
784 nonstatic_field(CodeBlob, _relocation_size, int) \
785 nonstatic_field(CodeBlob, _content_offset, int) \
786 nonstatic_field(CodeBlob, _code_offset, int) \
836 /* JavaFrameAnchor (NOTE: incomplete) */ \
837 /********************************/ \
838 volatile_nonstatic_field(JavaFrameAnchor, _last_Java_sp, intptr_t*) \
839 volatile_nonstatic_field(JavaFrameAnchor, _last_Java_pc, address) \
840 \
841 /******************************/ \
842 /* Threads (NOTE: incomplete) */ \
843 /******************************/ \
844 \
845 static_field(Threads, _thread_list, JavaThread*) \
846 static_field(Threads, _number_of_threads, int) \
847 static_field(Threads, _number_of_non_daemon_threads, int) \
848 static_field(Threads, _return_code, int) \
849 \
850 nonstatic_field(ThreadShadow, _pending_exception, oop) \
851 nonstatic_field(ThreadShadow, _exception_file, const char*) \
852 nonstatic_field(ThreadShadow, _exception_line, int) \
853 volatile_nonstatic_field(Thread, _suspend_flags, uint32_t) \
854 nonstatic_field(Thread, _active_handles, JNIHandleBlock*) \
855 nonstatic_field(Thread, _tlab, ThreadLocalAllocBuffer) \
856 nonstatic_field(Thread, _current_pending_monitor, ObjectMonitor*) \
857 nonstatic_field(Thread, _current_pending_monitor_is_from_java, bool) \
858 nonstatic_field(Thread, _current_waiting_monitor, ObjectMonitor*) \
859 nonstatic_field(NamedThread, _name, char*) \
860 nonstatic_field(NamedThread, _processed_thread, JavaThread*) \
861 nonstatic_field(JavaThread, _next, JavaThread*) \
862 nonstatic_field(JavaThread, _threadObj, oop) \
863 nonstatic_field(JavaThread, _anchor, JavaFrameAnchor) \
864 nonstatic_field(JavaThread, _vm_result, oop) \
865 nonstatic_field(JavaThread, _vm_result_2, Metadata*) \
866 nonstatic_field(JavaThread, _pending_async_exception, oop) \
867 volatile_nonstatic_field(JavaThread, _exception_oop, oop) \
868 volatile_nonstatic_field(JavaThread, _exception_pc, address) \
869 nonstatic_field(JavaThread, _is_compiling, bool) \
870 nonstatic_field(JavaThread, _special_runtime_exit_condition, JavaThread::AsyncRequests) \
871 nonstatic_field(JavaThread, _saved_exception_pc, address) \
872 volatile_nonstatic_field(JavaThread, _thread_state, JavaThreadState) \
873 nonstatic_field(JavaThread, _osthread, OSThread*) \
874 nonstatic_field(JavaThread, _stack_base, address) \
875 nonstatic_field(JavaThread, _stack_size, size_t) \
876 nonstatic_field(JavaThread, _vframe_array_head, vframeArray*) \
877 nonstatic_field(JavaThread, _vframe_array_last, vframeArray*) \
878 nonstatic_field(Thread, _resource_area, ResourceArea*) \
879 nonstatic_field(CompilerThread, _env, ciEnv*) \
880 \
881 /************/ \
882 /* OSThread */ \
883 /************/ \
884 \
885 volatile_nonstatic_field(OSThread, _interrupted, jint) \
886 \
887 /************************/ \
888 /* OopMap and OopMapSet */ \
889 /************************/ \
890 \
891 nonstatic_field(OopMap, _pc_offset, int) \
892 nonstatic_field(OopMap, _omv_count, int) \
893 nonstatic_field(OopMap, _omv_data_size, int) \
894 nonstatic_field(OopMap, _omv_data, unsigned char*) \
895 nonstatic_field(OopMap, _write_stream, CompressedWriteStream*) \
896 nonstatic_field(OopMapSet, _om_count, int) \
897 nonstatic_field(OopMapSet, _om_size, int) \
1202 /************************/ \
1203 /* Miscellaneous fields */ \
1204 /************************/ \
1205 \
1206 nonstatic_field(CompileTask, _method, Method*) \
1207 nonstatic_field(CompileTask, _osr_bci, int) \
1208 nonstatic_field(CompileTask, _comp_level, int) \
1209 nonstatic_field(CompileTask, _compile_id, uint) \
1210 nonstatic_field(CompileTask, _next, CompileTask*) \
1211 nonstatic_field(CompileTask, _prev, CompileTask*) \
1212 \
1213 nonstatic_field(vframeArray, _next, vframeArray*) \
1214 nonstatic_field(vframeArray, _original, frame) \
1215 nonstatic_field(vframeArray, _caller, frame) \
1216 nonstatic_field(vframeArray, _frames, int) \
1217 \
1218 nonstatic_field(vframeArrayElement, _frame, frame) \
1219 nonstatic_field(vframeArrayElement, _bci, int) \
1220 nonstatic_field(vframeArrayElement, _method, Method*) \
1221 \
1222 nonstatic_field(AccessFlags, _flags, jint) \
1223 nonstatic_field(elapsedTimer, _counter, jlong) \
1224 nonstatic_field(elapsedTimer, _active, bool) \
1225 nonstatic_field(InvocationCounter, _counter, unsigned int) \
1226 volatile_nonstatic_field(FreeChunk, _size, size_t) \
1227 nonstatic_field(FreeChunk, _next, FreeChunk*) \
1228 nonstatic_field(FreeChunk, _prev, FreeChunk*) \
1229 nonstatic_field(FreeList<FreeChunk>, _size, size_t) \
1230 nonstatic_field(FreeList<Metablock>, _size, size_t) \
1231 nonstatic_field(FreeList<FreeChunk>, _count, ssize_t) \
1232 nonstatic_field(FreeList<Metablock>, _count, ssize_t) \
1233 nonstatic_field(MetablockTreeDictionary, _total_size, size_t)
1234
1235
1236 //--------------------------------------------------------------------------------
1237 // VM_TYPES
1238 //
1239 // This list must enumerate at least all of the types in the above
1240 // list. For the types in the above list, the entry below must have
1241 // exactly the same spacing since string comparisons are done in the
1364 /**************************************************/ \
1365 \
1366 declare_toplevel_type(CompiledICHolder) \
1367 declare_toplevel_type(MetaspaceObj) \
1368 declare_type(Metadata, MetaspaceObj) \
1369 declare_type(Klass, Metadata) \
1370 declare_type(ArrayKlass, Klass) \
1371 declare_type(ObjArrayKlass, ArrayKlass) \
1372 declare_type(TypeArrayKlass, ArrayKlass) \
1373 declare_type(InstanceKlass, Klass) \
1374 declare_type(InstanceClassLoaderKlass, InstanceKlass) \
1375 declare_type(InstanceMirrorKlass, InstanceKlass) \
1376 declare_type(InstanceRefKlass, InstanceKlass) \
1377 declare_type(ConstantPool, Metadata) \
1378 declare_type(ConstantPoolCache, MetaspaceObj) \
1379 declare_type(MethodData, Metadata) \
1380 declare_type(Method, Metadata) \
1381 declare_type(MethodCounters, MetaspaceObj) \
1382 declare_type(ConstMethod, MetaspaceObj) \
1383 \
1384 declare_toplevel_type(Symbol) \
1385 declare_toplevel_type(Symbol*) \
1386 declare_toplevel_type(volatile Metadata*) \
1387 \
1388 declare_toplevel_type(nmethodBucket) \
1389 \
1390 /********/ \
1391 /* Oops */ \
1392 /********/ \
1393 \
1394 declare_oop_type(markOop) \
1395 declare_oop_type(objArrayOop) \
1396 declare_oop_type(oop) \
1397 declare_oop_type(narrowOop) \
1398 declare_oop_type(typeArrayOop) \
1399 \
1400 /*************************************/ \
1401 /* MethodOop-related data structures */ \
1402 /*************************************/ \
1403 \
1404 declare_toplevel_type(CheckedExceptionElement) \
1405 declare_toplevel_type(LocalVariableTableElement) \
1406 declare_toplevel_type(ExceptionTableElement) \
1407 \
1415 \
1416 declare_toplevel_type(CollectedHeap) \
1417 declare_type(SharedHeap, CollectedHeap) \
1418 declare_type(GenCollectedHeap, SharedHeap) \
1419 declare_toplevel_type(Generation) \
1420 declare_type(DefNewGeneration, Generation) \
1421 declare_type(CardGeneration, Generation) \
1422 declare_type(OneContigSpaceCardGeneration, CardGeneration) \
1423 declare_type(TenuredGeneration, OneContigSpaceCardGeneration) \
1424 declare_toplevel_type(Space) \
1425 declare_toplevel_type(BitMap) \
1426 declare_type(CompactibleSpace, Space) \
1427 declare_type(ContiguousSpace, CompactibleSpace) \
1428 declare_type(EdenSpace, ContiguousSpace) \
1429 declare_type(OffsetTableContigSpace, ContiguousSpace) \
1430 declare_type(TenuredSpace, OffsetTableContigSpace) \
1431 declare_toplevel_type(BarrierSet) \
1432 declare_type(ModRefBarrierSet, BarrierSet) \
1433 declare_type(CardTableModRefBS, ModRefBarrierSet) \
1434 declare_type(CardTableModRefBSForCTRS, CardTableModRefBS) \
1435 declare_toplevel_type(GenRemSet) \
1436 declare_type(CardTableRS, GenRemSet) \
1437 declare_toplevel_type(BlockOffsetSharedArray) \
1438 declare_toplevel_type(BlockOffsetTable) \
1439 declare_type(BlockOffsetArray, BlockOffsetTable) \
1440 declare_type(BlockOffsetArrayContigSpace, BlockOffsetArray) \
1441 declare_type(BlockOffsetArrayNonContigSpace, BlockOffsetArray) \
1442 \
1443 /* Miscellaneous other GC types */ \
1444 \
1445 declare_toplevel_type(ageTable) \
1446 declare_toplevel_type(Generation::StatRecord) \
1447 declare_toplevel_type(GenerationSpec) \
1448 declare_toplevel_type(HeapWord) \
1449 declare_toplevel_type(MemRegion) \
1450 declare_toplevel_type(ThreadLocalAllocBuffer) \
1451 declare_toplevel_type(VirtualSpace) \
1452 declare_toplevel_type(WaterMark) \
1453 \
1454 /* Pointers to Garbage Collection types */ \
1455 \
1456 declare_toplevel_type(BarrierSet*) \
1457 declare_toplevel_type(BlockOffsetSharedArray*) \
1458 declare_toplevel_type(GenRemSet*) \
1459 declare_toplevel_type(CardTableRS*) \
1460 declare_toplevel_type(CardTableModRefBS*) \
1461 declare_toplevel_type(CardTableModRefBS**) \
1462 declare_toplevel_type(CardTableModRefBSForCTRS*) \
1463 declare_toplevel_type(CardTableModRefBSForCTRS**) \
1464 declare_toplevel_type(CollectedHeap*) \
1465 declare_toplevel_type(ContiguousSpace*) \
1466 declare_toplevel_type(DefNewGeneration*) \
1467 declare_toplevel_type(EdenSpace*) \
1468 declare_toplevel_type(GenCollectedHeap*) \
1469 declare_toplevel_type(Generation*) \
1470 declare_toplevel_type(GenerationSpec**) \
1471 declare_toplevel_type(HeapWord*) \
1472 declare_toplevel_type(MemRegion*) \
2051 declare_unsigned_integer_type(juint) \
2052 declare_unsigned_integer_type(julong) \
2053 declare_toplevel_type(JNIHandleBlock*) \
2054 declare_toplevel_type(JNIid) \
2055 declare_toplevel_type(JNIid*) \
2056 declare_toplevel_type(jmethodID*) \
2057 declare_toplevel_type(Mutex*) \
2058 declare_toplevel_type(nmethod*) \
2059 COMPILER2_PRESENT(declare_unsigned_integer_type(node_idx_t)) \
2060 declare_toplevel_type(ObjectMonitor*) \
2061 declare_toplevel_type(oop*) \
2062 declare_toplevel_type(OopMap**) \
2063 declare_toplevel_type(OopMapCache*) \
2064 declare_toplevel_type(OopMapSet*) \
2065 declare_toplevel_type(VMReg) \
2066 declare_toplevel_type(OSThread*) \
2067 declare_integer_type(ReferenceType) \
2068 declare_toplevel_type(StubQueue*) \
2069 declare_toplevel_type(Thread*) \
2070 declare_toplevel_type(Universe) \
2071 declare_toplevel_type(vframeArray) \
2072 declare_toplevel_type(vframeArrayElement) \
2073 declare_toplevel_type(Annotations*) \
2074 \
2075 /***************/ \
2076 /* Miscellaneous types */ \
2077 /***************/ \
2078 \
2079 /* freelist */ \
2080 declare_toplevel_type(FreeChunk*) \
2081 declare_toplevel_type(Metablock*) \
2082 declare_toplevel_type(FreeBlockDictionary<FreeChunk>*) \
2083 declare_toplevel_type(FreeList<FreeChunk>*) \
2084 declare_toplevel_type(FreeList<FreeChunk>) \
2085 declare_toplevel_type(FreeBlockDictionary<Metablock>*) \
2086 declare_toplevel_type(FreeList<Metablock>*) \
2087 declare_toplevel_type(FreeList<Metablock>) \
2088 declare_type(MetablockTreeDictionary, FreeBlockDictionary<Metablock>)
2089
2090
2091 //--------------------------------------------------------------------------------
2092 // VM_INT_CONSTANTS
2093 //
2094 // This table contains integer constants required over in the
2095 // serviceability agent. The "declare_constant" macro is used for all
2096 // enums, etc., while "declare_preprocessor_constant" must be used for
2097 // all #defined constants.
2098
2099 #define VM_INT_CONSTANTS(declare_constant, \
2100 declare_preprocessor_constant, \
2101 declare_c1_constant, \
2102 declare_c2_constant, \
2103 declare_c2_preprocessor_constant) \
2104 \
2105 /******************/ \
2106 /* Useful globals */ \
2107 /******************/ \
2108 \
2109 \
2110 /**************/ \
2111 /* Stack bias */ \
2112 /**************/ \
2113 \
2114 declare_preprocessor_constant("STACK_BIAS", STACK_BIAS) \
2115 \
2116 /****************/ \
2117 /* Object sizes */ \
2118 /****************/ \
2119 \
2120 declare_constant(oopSize) \
2121 declare_constant(LogBytesPerWord) \
2122 declare_constant(BytesPerWord) \
2123 declare_constant(BytesPerLong) \
2124 \
2125 /********************************************/ \
2126 /* Generation and Space Hierarchy Constants */ \
2127 /********************************************/ \
2128 \
2129 declare_constant(ageTable::table_size) \
2130 \
2131 declare_constant(BarrierSet::ModRef) \
2132 declare_constant(BarrierSet::CardTableModRef) \
2133 declare_constant(BarrierSet::Other) \
2134 \
2135 declare_constant(BlockOffsetSharedArray::LogN) \
2136 declare_constant(BlockOffsetSharedArray::LogN_words) \
2137 declare_constant(BlockOffsetSharedArray::N_bytes) \
2138 declare_constant(BlockOffsetSharedArray::N_words) \
2139 \
2140 declare_constant(BlockOffsetArray::N_words) \
2141 \
2142 declare_constant(CardTableModRefBS::clean_card) \
2143 declare_constant(CardTableModRefBS::last_card) \
2144 declare_constant(CardTableModRefBS::dirty_card) \
2145 declare_constant(CardTableModRefBS::Precise) \
2146 declare_constant(CardTableModRefBS::ObjHeadPreciseArray) \
2147 declare_constant(CardTableModRefBS::card_shift) \
2148 declare_constant(CardTableModRefBS::card_size) \
2149 declare_constant(CardTableModRefBS::card_size_in_words) \
2150 \
2151 declare_constant(CardTableRS::youngergen_card) \
2152 \
2231 \
2232 declare_constant(_thread_uninitialized) \
2233 declare_constant(_thread_new) \
2234 declare_constant(_thread_new_trans) \
2235 declare_constant(_thread_in_native) \
2236 declare_constant(_thread_in_native_trans) \
2237 declare_constant(_thread_in_vm) \
2238 declare_constant(_thread_in_vm_trans) \
2239 declare_constant(_thread_in_Java) \
2240 declare_constant(_thread_in_Java_trans) \
2241 declare_constant(_thread_blocked) \
2242 declare_constant(_thread_blocked_trans) \
2243 \
2244 /******************************/ \
2245 /* Klass misc. enum constants */ \
2246 /******************************/ \
2247 \
2248 declare_constant(Klass::_primary_super_limit) \
2249 declare_constant(Klass::_lh_instance_slow_path_bit) \
2250 declare_constant(Klass::_lh_log2_element_size_shift) \
2251 declare_constant(Klass::_lh_element_type_shift) \
2252 declare_constant(Klass::_lh_header_size_shift) \
2253 declare_constant(Klass::_lh_array_tag_shift) \
2254 declare_constant(Klass::_lh_array_tag_type_value) \
2255 declare_constant(Klass::_lh_array_tag_obj_value) \
2256 \
2257 /********************************/ \
2258 /* ConstMethod anon-enum */ \
2259 /********************************/ \
2260 \
2261 declare_constant(ConstMethod::_has_linenumber_table) \
2262 declare_constant(ConstMethod::_has_checked_exceptions) \
2263 declare_constant(ConstMethod::_has_localvariable_table) \
2264 declare_constant(ConstMethod::_has_exception_table) \
2265 declare_constant(ConstMethod::_has_generic_signature) \
2266 declare_constant(ConstMethod::_has_method_annotations) \
2267 declare_constant(ConstMethod::_has_parameter_annotations) \
2268 declare_constant(ConstMethod::_has_default_annotations) \
2269 declare_constant(ConstMethod::_has_type_annotations) \
2270 \
2271 /*************************************/ \
2272 /* InstanceKlass enum */ \
2273 /*************************************/ \
2274 \
2275 \
2276 /*************************************/ \
2277 /* FieldInfo FieldOffset enum */ \
2278 /*************************************/ \
2279 \
2280 declare_constant(FieldInfo::access_flags_offset) \
2281 declare_constant(FieldInfo::name_index_offset) \
2282 declare_constant(FieldInfo::signature_index_offset) \
2283 declare_constant(FieldInfo::initval_index_offset) \
2284 declare_constant(FieldInfo::low_packed_offset) \
2285 declare_constant(FieldInfo::high_packed_offset) \
2286 declare_constant(FieldInfo::field_slots) \
2287 \
2288 /*************************************/ \
2289 /* FieldInfo tag constants */ \
2290 /*************************************/ \
2385 declare_constant(Deoptimization::Reason_none) \
2386 declare_constant(Deoptimization::Reason_null_check) \
2387 declare_constant(Deoptimization::Reason_null_assert) \
2388 declare_constant(Deoptimization::Reason_range_check) \
2389 declare_constant(Deoptimization::Reason_class_check) \
2390 declare_constant(Deoptimization::Reason_array_check) \
2391 declare_constant(Deoptimization::Reason_intrinsic) \
2392 declare_constant(Deoptimization::Reason_bimorphic) \
2393 declare_constant(Deoptimization::Reason_unloaded) \
2394 declare_constant(Deoptimization::Reason_uninitialized) \
2395 declare_constant(Deoptimization::Reason_unreached) \
2396 declare_constant(Deoptimization::Reason_unhandled) \
2397 declare_constant(Deoptimization::Reason_constraint) \
2398 declare_constant(Deoptimization::Reason_div0_check) \
2399 declare_constant(Deoptimization::Reason_age) \
2400 declare_constant(Deoptimization::Reason_predicate) \
2401 declare_constant(Deoptimization::Reason_loop_limit_check) \
2402 declare_constant(Deoptimization::Reason_LIMIT) \
2403 declare_constant(Deoptimization::Reason_RECORDED_LIMIT) \
2404 \
2405 /*********************/ \
2406 /* Matcher (C2 only) */ \
2407 /*********************/ \
2408 \
2409 declare_c2_preprocessor_constant("Matcher::interpreter_frame_pointer_reg", Matcher::interpreter_frame_pointer_reg()) \
2410 \
2411 /*********************************************/ \
2412 /* MethodCompilation (globalDefinitions.hpp) */ \
2413 /*********************************************/ \
2414 \
2415 declare_constant(InvocationEntryBci) \
2416 declare_constant(InvalidOSREntryBci) \
2417 \
2418 /***************/ \
2419 /* OopMapValue */ \
2420 /***************/ \
2421 \
2422 declare_constant(OopMapValue::type_bits) \
2423 declare_constant(OopMapValue::register_bits) \
2424 declare_constant(OopMapValue::type_shift) \
2451 /**********************/ \
2452 \
2453 declare_constant(PcDesc::PCDESC_reexecute) \
2454 declare_constant(PcDesc::PCDESC_is_method_handle_invoke) \
2455 declare_constant(PcDesc::PCDESC_return_oop) \
2456 \
2457 /**********************/ \
2458 /* frame */ \
2459 /**********************/ \
2460 \
2461 NOT_ZERO(X86_ONLY(declare_constant(frame::entry_frame_call_wrapper_offset))) \
2462 declare_constant(frame::pc_return_offset) \
2463 \
2464 /*************/ \
2465 /* vmSymbols */ \
2466 /*************/ \
2467 \
2468 declare_constant(vmSymbols::FIRST_SID) \
2469 declare_constant(vmSymbols::SID_LIMIT) \
2470 \
2471 /********************************/ \
2472 /* Calling convention constants */ \
2473 /********************************/ \
2474 \
2475 declare_constant(RegisterImpl::number_of_registers) \
2476 declare_constant(ConcreteRegisterImpl::number_of_registers) \
2477 declare_preprocessor_constant("REG_COUNT", REG_COUNT) \
2478 declare_c2_preprocessor_constant("SAVED_ON_ENTRY_REG_COUNT", SAVED_ON_ENTRY_REG_COUNT) \
2479 declare_c2_preprocessor_constant("C_SAVED_ON_ENTRY_REG_COUNT", C_SAVED_ON_ENTRY_REG_COUNT)
2480
2481
2482 //--------------------------------------------------------------------------------
2483 // VM_LONG_CONSTANTS
2484 //
2485 // This table contains long constants required over in the
2486 // serviceability agent. The "declare_constant" macro is used for all
2487 // enums, etc., while "declare_preprocessor_constant" must be used for
2488 // all #defined constants.
2489
2490 #define VM_LONG_CONSTANTS(declare_constant, declare_preprocessor_constant, declare_c1_constant, declare_c2_constant, declare_c2_preprocessor_constant) \
2498 /* 64 bits (on 64-bit platforms). */ \
2499 \
2500 declare_constant(markOopDesc::age_bits) \
2501 declare_constant(markOopDesc::lock_bits) \
2502 declare_constant(markOopDesc::biased_lock_bits) \
2503 declare_constant(markOopDesc::max_hash_bits) \
2504 declare_constant(markOopDesc::hash_bits) \
2505 \
2506 declare_constant(markOopDesc::lock_shift) \
2507 declare_constant(markOopDesc::biased_lock_shift) \
2508 declare_constant(markOopDesc::age_shift) \
2509 declare_constant(markOopDesc::hash_shift) \
2510 \
2511 declare_constant(markOopDesc::lock_mask) \
2512 declare_constant(markOopDesc::lock_mask_in_place) \
2513 declare_constant(markOopDesc::biased_lock_mask) \
2514 declare_constant(markOopDesc::biased_lock_mask_in_place) \
2515 declare_constant(markOopDesc::biased_lock_bit_in_place) \
2516 declare_constant(markOopDesc::age_mask) \
2517 declare_constant(markOopDesc::age_mask_in_place) \
2518 declare_constant(markOopDesc::hash_mask) \
2519 declare_constant(markOopDesc::hash_mask_in_place) \
2520 declare_constant(markOopDesc::biased_lock_alignment) \
2521 \
2522 declare_constant(markOopDesc::locked_value) \
2523 declare_constant(markOopDesc::unlocked_value) \
2524 declare_constant(markOopDesc::monitor_value) \
2525 declare_constant(markOopDesc::marked_value) \
2526 declare_constant(markOopDesc::biased_lock_pattern) \
2527 \
2528 declare_constant(markOopDesc::no_hash) \
2529 declare_constant(markOopDesc::no_hash_in_place) \
2530 declare_constant(markOopDesc::no_lock_in_place) \
2531 declare_constant(markOopDesc::max_age) \
2532 \
2533 /* Constants in markOop used by CMS. */ \
2534 declare_constant(markOopDesc::cms_shift) \
2535 declare_constant(markOopDesc::cms_mask) \
2536 declare_constant(markOopDesc::size_shift)
2537
|
313 nonstatic_field(InstanceKlass, _jni_ids, JNIid*) \
314 nonstatic_field(InstanceKlass, _osr_nmethods_head, nmethod*) \
315 nonstatic_field(InstanceKlass, _breakpoints, BreakpointInfo*) \
316 nonstatic_field(InstanceKlass, _generic_signature_index, u2) \
317 nonstatic_field(InstanceKlass, _methods_jmethod_ids, jmethodID*) \
318 nonstatic_field(InstanceKlass, _methods_cached_itable_indices, int*) \
319 volatile_nonstatic_field(InstanceKlass, _idnum_allocated_count, u2) \
320 nonstatic_field(InstanceKlass, _annotations, Annotations*) \
321 nonstatic_field(InstanceKlass, _dependencies, nmethodBucket*) \
322 nonstatic_field(nmethodBucket, _nmethod, nmethod*) \
323 nonstatic_field(nmethodBucket, _count, int) \
324 nonstatic_field(nmethodBucket, _next, nmethodBucket*) \
325 nonstatic_field(InstanceKlass, _method_ordering, Array<int>*) \
326 nonstatic_field(Klass, _super_check_offset, juint) \
327 nonstatic_field(Klass, _secondary_super_cache, Klass*) \
328 nonstatic_field(Klass, _secondary_supers, Array<Klass*>*) \
329 nonstatic_field(Klass, _primary_supers[0], Klass*) \
330 nonstatic_field(Klass, _java_mirror, oop) \
331 nonstatic_field(Klass, _modifier_flags, jint) \
332 nonstatic_field(Klass, _super, Klass*) \
333 nonstatic_field(Klass, _subklass, Klass*) \
334 nonstatic_field(Klass, _layout_helper, jint) \
335 nonstatic_field(Klass, _name, Symbol*) \
336 nonstatic_field(Klass, _access_flags, AccessFlags) \
337 nonstatic_field(Klass, _prototype_header, markOop) \
338 nonstatic_field(Klass, _next_sibling, Klass*) \
339 nonstatic_field(vtableEntry, _method, Method*) \
340 nonstatic_field(MethodData, _size, int) \
341 nonstatic_field(MethodData, _method, Method*) \
342 nonstatic_field(MethodData, _data_size, int) \
343 nonstatic_field(MethodData, _data[0], intptr_t) \
344 nonstatic_field(MethodData, _nof_decompiles, uint) \
345 nonstatic_field(MethodData, _nof_overflow_recompiles, uint) \
346 nonstatic_field(MethodData, _nof_overflow_traps, uint) \
347 nonstatic_field(MethodData, _trap_hist._array[0], u1) \
348 nonstatic_field(MethodData, _eflags, intx) \
349 nonstatic_field(MethodData, _arg_local, intx) \
350 nonstatic_field(MethodData, _arg_stack, intx) \
351 nonstatic_field(MethodData, _arg_returned, intx) \
352 nonstatic_field(DataLayout, _header._struct._tag, u1) \
353 nonstatic_field(DataLayout, _header._struct._flags, u1) \
354 nonstatic_field(DataLayout, _header._struct._bci, u2) \
355 nonstatic_field(DataLayout, _cells[0], intptr_t) \
356 nonstatic_field(MethodCounters, _interpreter_invocation_count, int) \
357 nonstatic_field(MethodCounters, _interpreter_throwout_count, u2) \
358 nonstatic_field(MethodCounters, _number_of_breakpoints, u2) \
359 nonstatic_field(MethodCounters, _invocation_counter, InvocationCounter) \
360 nonstatic_field(MethodCounters, _backedge_counter, InvocationCounter) \
361 nonstatic_field(Method, _constMethod, ConstMethod*) \
362 nonstatic_field(Method, _method_data, MethodData*) \
363 nonstatic_field(Method, _method_counters, MethodCounters*) \
364 nonstatic_field(Method, _access_flags, AccessFlags) \
365 nonstatic_field(Method, _vtable_index, int) \
366 nonstatic_field(Method, _method_size, u2) \
367 nonstatic_field(Method, _intrinsic_id, u1) \
368 nonproduct_nonstatic_field(Method, _compiled_invocation_count, int) \
369 volatile_nonstatic_field(Method, _code, nmethod*) \
370 nonstatic_field(Method, _i2i_entry, address) \
371 nonstatic_field(Method, _adapter, AdapterHandlerEntry*) \
372 volatile_nonstatic_field(Method, _from_compiled_entry, address) \
373 volatile_nonstatic_field(Method, _from_interpreted_entry, address) \
374 volatile_nonstatic_field(ConstMethod, _fingerprint, uint64_t) \
375 nonstatic_field(ConstMethod, _constants, ConstantPool*) \
376 nonstatic_field(ConstMethod, _stackmap_data, Array<u1>*) \
377 nonstatic_field(ConstMethod, _constMethod_size, int) \
378 nonstatic_field(ConstMethod, _flags, u2) \
379 nonstatic_field(ConstMethod, _code_size, u2) \
380 nonstatic_field(ConstMethod, _name_index, u2) \
381 nonstatic_field(ConstMethod, _signature_index, u2) \
382 nonstatic_field(ConstMethod, _method_idnum, u2) \
383 nonstatic_field(ConstMethod, _max_stack, u2) \
384 nonstatic_field(ConstMethod, _max_locals, u2) \
385 nonstatic_field(ConstMethod, _size_of_parameters, u2) \
386 nonstatic_field(ObjArrayKlass, _element_klass, Klass*) \
387 nonstatic_field(ObjArrayKlass, _bottom_klass, Klass*) \
434 static_field(Universe, _boolArrayKlassObj, Klass*) \
435 static_field(Universe, _byteArrayKlassObj, Klass*) \
436 static_field(Universe, _charArrayKlassObj, Klass*) \
437 static_field(Universe, _intArrayKlassObj, Klass*) \
438 static_field(Universe, _shortArrayKlassObj, Klass*) \
439 static_field(Universe, _longArrayKlassObj, Klass*) \
440 static_field(Universe, _singleArrayKlassObj, Klass*) \
441 static_field(Universe, _doubleArrayKlassObj, Klass*) \
442 static_field(Universe, _mirrors[0], oop) \
443 static_field(Universe, _main_thread_group, oop) \
444 static_field(Universe, _system_thread_group, oop) \
445 static_field(Universe, _the_empty_class_klass_array, objArrayOop) \
446 static_field(Universe, _null_ptr_exception_instance, oop) \
447 static_field(Universe, _arithmetic_exception_instance, oop) \
448 static_field(Universe, _vm_exception, oop) \
449 static_field(Universe, _collectedHeap, CollectedHeap*) \
450 static_field(Universe, _base_vtable_size, int) \
451 static_field(Universe, _bootstrapping, bool) \
452 static_field(Universe, _fully_initialized, bool) \
453 static_field(Universe, _verify_count, int) \
454 static_field(Universe, _non_oop_bits, intptr_t) \
455 static_field(Universe, _narrow_oop._base, address) \
456 static_field(Universe, _narrow_oop._shift, int) \
457 static_field(Universe, _narrow_oop._use_implicit_null_checks, bool) \
458 static_field(Universe, _narrow_klass._base, address) \
459 static_field(Universe, _narrow_klass._shift, int) \
460 \
461 /******/ \
462 /* os */ \
463 /******/ \
464 \
465 static_field(os, _polling_page, address) \
466 \
467 /**********************************************************************************/ \
468 /* Generation and Space hierarchies */ \
469 /**********************************************************************************/ \
470 \
471 unchecked_nonstatic_field(ageTable, sizes, sizeof(ageTable::sizes)) \
472 \
473 nonstatic_field(BarrierSet, _max_covered_regions, int) \
474 nonstatic_field(BarrierSet, _kind, BarrierSet::Name) \
475 nonstatic_field(BlockOffsetTable, _bottom, HeapWord*) \
476 nonstatic_field(BlockOffsetTable, _end, HeapWord*) \
477 \
478 nonstatic_field(BlockOffsetSharedArray, _reserved, MemRegion) \
479 nonstatic_field(BlockOffsetSharedArray, _end, HeapWord*) \
480 nonstatic_field(BlockOffsetSharedArray, _vs, VirtualSpace) \
481 nonstatic_field(BlockOffsetSharedArray, _offset_array, u_char*) \
482 \
483 nonstatic_field(BlockOffsetArray, _array, BlockOffsetSharedArray*) \
484 nonstatic_field(BlockOffsetArray, _sp, Space*) \
485 nonstatic_field(BlockOffsetArrayContigSpace, _next_offset_threshold, HeapWord*) \
486 nonstatic_field(BlockOffsetArrayContigSpace, _next_offset_index, size_t) \
487 \
488 nonstatic_field(BlockOffsetArrayNonContigSpace, _unallocated_block, HeapWord*) \
489 \
490 nonstatic_field(CardGeneration, _rs, GenRemSet*) \
491 nonstatic_field(CardGeneration, _bts, BlockOffsetSharedArray*) \
492 nonstatic_field(CardGeneration, _shrink_factor, size_t) \
493 nonstatic_field(CardGeneration, _capacity_at_prologue, size_t) \
494 nonstatic_field(CardGeneration, _used_at_prologue, size_t) \
495 \
496 nonstatic_field(CardTableModRefBS, _whole_heap, const MemRegion) \
497 nonstatic_field(CardTableModRefBS, _guard_index, const size_t) \
498 nonstatic_field(CardTableModRefBS, _last_valid_index, const size_t) \
499 nonstatic_field(CardTableModRefBS, _page_size, const size_t) \
500 nonstatic_field(CardTableModRefBS, _byte_map_size, const size_t) \
501 nonstatic_field(CardTableModRefBS, _byte_map, jbyte*) \
502 nonstatic_field(CardTableModRefBS, _cur_covered_regions, int) \
503 nonstatic_field(CardTableModRefBS, _covered, MemRegion*) \
504 nonstatic_field(CardTableModRefBS, _committed, MemRegion*) \
505 nonstatic_field(CardTableModRefBS, _guard_region, MemRegion) \
506 nonstatic_field(CardTableModRefBS, byte_map_base, jbyte*) \
507 \
508 nonstatic_field(CardTableRS, _ct_bs, CardTableModRefBSForCTRS*) \
509 \
510 nonstatic_field(CollectedHeap, _reserved, MemRegion) \
511 nonstatic_field(CollectedHeap, _barrier_set, BarrierSet*) \
512 nonstatic_field(CollectedHeap, _defer_initial_card_mark, bool) \
513 nonstatic_field(CollectedHeap, _is_gc_active, bool) \
514 nonstatic_field(CollectedHeap, _total_collections, unsigned int) \
515 nonstatic_field(CompactibleSpace, _compaction_top, HeapWord*) \
516 nonstatic_field(CompactibleSpace, _first_dead, HeapWord*) \
517 nonstatic_field(CompactibleSpace, _end_of_live, HeapWord*) \
518 \
519 \
520 nonstatic_field(ContiguousSpace, _top, HeapWord*) \
521 nonstatic_field(ContiguousSpace, _concurrent_iteration_safe_limit, HeapWord*) \
522 nonstatic_field(ContiguousSpace, _saved_mark_word, HeapWord*) \
523 \
524 nonstatic_field(DefNewGeneration, _next_gen, Generation*) \
525 nonstatic_field(DefNewGeneration, _tenuring_threshold, uint) \
526 nonstatic_field(DefNewGeneration, _age_table, ageTable) \
527 nonstatic_field(DefNewGeneration, _eden_space, EdenSpace*) \
528 nonstatic_field(DefNewGeneration, _from_space, ContiguousSpace*) \
529 nonstatic_field(DefNewGeneration, _to_space, ContiguousSpace*) \
530 \
531 nonstatic_field(EdenSpace, _gen, DefNewGeneration*) \
532 \
533 nonstatic_field(Generation, _reserved, MemRegion) \
534 nonstatic_field(Generation, _virtual_space, VirtualSpace) \
552 nonstatic_field(MemRegion, _start, HeapWord*) \
553 nonstatic_field(MemRegion, _word_size, size_t) \
554 \
555 nonstatic_field(OffsetTableContigSpace, _offsets, BlockOffsetArray) \
556 \
557 nonstatic_field(OneContigSpaceCardGeneration, _min_heap_delta_bytes, size_t) \
558 nonstatic_field(OneContigSpaceCardGeneration, _the_space, ContiguousSpace*) \
559 nonstatic_field(OneContigSpaceCardGeneration, _last_gc, WaterMark) \
560 \
561 \
562 \
563 nonstatic_field(Space, _bottom, HeapWord*) \
564 nonstatic_field(Space, _end, HeapWord*) \
565 \
566 nonstatic_field(ThreadLocalAllocBuffer, _start, HeapWord*) \
567 nonstatic_field(ThreadLocalAllocBuffer, _top, HeapWord*) \
568 nonstatic_field(ThreadLocalAllocBuffer, _end, HeapWord*) \
569 nonstatic_field(ThreadLocalAllocBuffer, _desired_size, size_t) \
570 nonstatic_field(ThreadLocalAllocBuffer, _refill_waste_limit, size_t) \
571 static_field(ThreadLocalAllocBuffer, _target_refills, unsigned) \
572 nonstatic_field(ThreadLocalAllocBuffer, _number_of_refills, unsigned) \
573 nonstatic_field(ThreadLocalAllocBuffer, _fast_refill_waste, unsigned) \
574 nonstatic_field(ThreadLocalAllocBuffer, _slow_refill_waste, unsigned) \
575 nonstatic_field(ThreadLocalAllocBuffer, _gc_waste, unsigned) \
576 nonstatic_field(ThreadLocalAllocBuffer, _slow_allocations, unsigned) \
577 nonstatic_field(VirtualSpace, _low_boundary, char*) \
578 nonstatic_field(VirtualSpace, _high_boundary, char*) \
579 nonstatic_field(VirtualSpace, _low, char*) \
580 nonstatic_field(VirtualSpace, _high, char*) \
581 nonstatic_field(VirtualSpace, _lower_high, char*) \
582 nonstatic_field(VirtualSpace, _middle_high, char*) \
583 nonstatic_field(VirtualSpace, _upper_high, char*) \
584 nonstatic_field(WaterMark, _point, HeapWord*) \
585 nonstatic_field(WaterMark, _space, Space*) \
586 \
587 /************************/ \
588 /* PerfMemory - jvmstat */ \
589 /************************/ \
590 \
591 nonstatic_field(PerfDataPrologue, magic, jint) \
592 nonstatic_field(PerfDataPrologue, byte_order, jbyte) \
593 nonstatic_field(PerfDataPrologue, major_version, jbyte) \
594 nonstatic_field(PerfDataPrologue, minor_version, jbyte) \
595 nonstatic_field(PerfDataPrologue, accessible, jbyte) \
596 nonstatic_field(PerfDataPrologue, used, jint) \
718 /* ProctectionDomainEntry */ \
719 /**************************/ \
720 \
721 nonstatic_field(ProtectionDomainEntry, _next, ProtectionDomainEntry*) \
722 nonstatic_field(ProtectionDomainEntry, _protection_domain, oop) \
723 \
724 /*************************/ \
725 /* LoaderConstraintEntry */ \
726 /*************************/ \
727 \
728 nonstatic_field(LoaderConstraintEntry, _name, Symbol*) \
729 nonstatic_field(LoaderConstraintEntry, _num_loaders, int) \
730 nonstatic_field(LoaderConstraintEntry, _max_loaders, int) \
731 nonstatic_field(LoaderConstraintEntry, _loaders, ClassLoaderData**) \
732 \
733 nonstatic_field(ClassLoaderData, _class_loader, oop) \
734 nonstatic_field(ClassLoaderData, _next, ClassLoaderData*) \
735 \
736 static_field(ClassLoaderDataGraph, _head, ClassLoaderData*) \
737 \
738 /**********/ \
739 /* Arrays */ \
740 /**********/ \
741 \
742 nonstatic_field(Array<Klass*>, _length, int) \
743 nonstatic_field(Array<Klass*>, _data[0], Klass*) \
744 \
745 /*******************/ \
746 /* GrowableArrays */ \
747 /*******************/ \
748 \
749 nonstatic_field(GenericGrowableArray, _len, int) \
750 nonstatic_field(GenericGrowableArray, _max, int) \
751 nonstatic_field(GenericGrowableArray, _arena, Arena*) \
752 nonstatic_field(GrowableArray<int>, _data, int*) \
753 \
754 /********************************/ \
755 /* CodeCache (NOTE: incomplete) */ \
756 /********************************/ \
757 \
758 static_field(CodeCache, _heap, CodeHeap*) \
759 static_field(CodeCache, _scavenge_root_nmethods, nmethod*) \
760 \
761 /*******************************/ \
762 /* CodeHeap (NOTE: incomplete) */ \
763 /*******************************/ \
764 \
775 \
776 static_field(AbstractInterpreter, _code, StubQueue*) \
777 \
778 /****************************/ \
779 /* Stubs (NOTE: incomplete) */ \
780 /****************************/ \
781 \
782 nonstatic_field(StubQueue, _stub_buffer, address) \
783 nonstatic_field(StubQueue, _buffer_limit, int) \
784 nonstatic_field(StubQueue, _queue_begin, int) \
785 nonstatic_field(StubQueue, _queue_end, int) \
786 nonstatic_field(StubQueue, _number_of_stubs, int) \
787 nonstatic_field(InterpreterCodelet, _size, int) \
788 nonstatic_field(InterpreterCodelet, _description, const char*) \
789 nonstatic_field(InterpreterCodelet, _bytecode, Bytecodes::Code) \
790 \
791 /***********************************/ \
792 /* StubRoutines (NOTE: incomplete) */ \
793 /***********************************/ \
794 \
795 static_field(StubRoutines, _verify_oop_count, jint) \
796 static_field(StubRoutines, _call_stub_return_address, address) \
797 static_field(StubRoutines, _aescrypt_encryptBlock, address) \
798 static_field(StubRoutines, _aescrypt_decryptBlock, address) \
799 static_field(StubRoutines, _cipherBlockChaining_encryptAESCrypt, address) \
800 static_field(StubRoutines, _cipherBlockChaining_decryptAESCrypt, address) \
801 static_field(StubRoutines, _updateBytesCRC32, address) \
802 static_field(StubRoutines, _crc_table_adr, address) \
803 \
804 /*****************/ \
805 /* SharedRuntime */ \
806 /*****************/ \
807 \
808 static_field(SharedRuntime, _ic_miss_blob, RuntimeStub*) \
809 \
810 /***************************************/ \
811 /* PcDesc and other compiled code info */ \
812 /***************************************/ \
813 \
814 nonstatic_field(PcDesc, _pc_offset, int) \
815 nonstatic_field(PcDesc, _scope_decode_offset, int) \
816 nonstatic_field(PcDesc, _obj_decode_offset, int) \
817 nonstatic_field(PcDesc, _flags, int) \
818 \
819 /***************************************************/ \
820 /* CodeBlobs (NOTE: incomplete, but only a little) */ \
821 /***************************************************/ \
822 \
823 nonstatic_field(CodeBlob, _name, const char*) \
824 nonstatic_field(CodeBlob, _size, int) \
825 nonstatic_field(CodeBlob, _header_size, int) \
826 nonstatic_field(CodeBlob, _relocation_size, int) \
827 nonstatic_field(CodeBlob, _content_offset, int) \
828 nonstatic_field(CodeBlob, _code_offset, int) \
878 /* JavaFrameAnchor (NOTE: incomplete) */ \
879 /********************************/ \
880 volatile_nonstatic_field(JavaFrameAnchor, _last_Java_sp, intptr_t*) \
881 volatile_nonstatic_field(JavaFrameAnchor, _last_Java_pc, address) \
882 \
883 /******************************/ \
884 /* Threads (NOTE: incomplete) */ \
885 /******************************/ \
886 \
887 static_field(Threads, _thread_list, JavaThread*) \
888 static_field(Threads, _number_of_threads, int) \
889 static_field(Threads, _number_of_non_daemon_threads, int) \
890 static_field(Threads, _return_code, int) \
891 \
892 nonstatic_field(ThreadShadow, _pending_exception, oop) \
893 nonstatic_field(ThreadShadow, _exception_file, const char*) \
894 nonstatic_field(ThreadShadow, _exception_line, int) \
895 volatile_nonstatic_field(Thread, _suspend_flags, uint32_t) \
896 nonstatic_field(Thread, _active_handles, JNIHandleBlock*) \
897 nonstatic_field(Thread, _tlab, ThreadLocalAllocBuffer) \
898 nonstatic_field(Thread, _allocated_bytes, jlong) \
899 nonstatic_field(Thread, _current_pending_monitor, ObjectMonitor*) \
900 nonstatic_field(Thread, _current_pending_monitor_is_from_java, bool) \
901 nonstatic_field(Thread, _current_waiting_monitor, ObjectMonitor*) \
902 nonstatic_field(NamedThread, _name, char*) \
903 nonstatic_field(NamedThread, _processed_thread, JavaThread*) \
904 nonstatic_field(JavaThread, _next, JavaThread*) \
905 nonstatic_field(JavaThread, _threadObj, oop) \
906 nonstatic_field(JavaThread, _anchor, JavaFrameAnchor) \
907 nonstatic_field(JavaThread, _vm_result, oop) \
908 nonstatic_field(JavaThread, _vm_result_2, Metadata*) \
909 nonstatic_field(JavaThread, _pending_async_exception, oop) \
910 volatile_nonstatic_field(JavaThread, _exception_oop, oop) \
911 volatile_nonstatic_field(JavaThread, _exception_pc, address) \
912 volatile_nonstatic_field(JavaThread, _is_method_handle_return, int) \
913 nonstatic_field(JavaThread, _is_compiling, bool) \
914 nonstatic_field(JavaThread, _special_runtime_exit_condition, JavaThread::AsyncRequests) \
915 nonstatic_field(JavaThread, _saved_exception_pc, address) \
916 volatile_nonstatic_field(JavaThread, _thread_state, JavaThreadState) \
917 nonstatic_field(JavaThread, _osthread, OSThread*) \
918 nonstatic_field(JavaThread, _stack_base, address) \
919 nonstatic_field(JavaThread, _stack_size, size_t) \
920 nonstatic_field(JavaThread, _vframe_array_head, vframeArray*) \
921 nonstatic_field(JavaThread, _vframe_array_last, vframeArray*) \
922 nonstatic_field(JavaThread, _satb_mark_queue, ObjPtrQueue) \
923 nonstatic_field(JavaThread, _dirty_card_queue, DirtyCardQueue) \
924 nonstatic_field(Thread, _resource_area, ResourceArea*) \
925 nonstatic_field(CompilerThread, _env, ciEnv*) \
926 \
927 /************/ \
928 /* OSThread */ \
929 /************/ \
930 \
931 volatile_nonstatic_field(OSThread, _interrupted, jint) \
932 \
933 /************************/ \
934 /* OopMap and OopMapSet */ \
935 /************************/ \
936 \
937 nonstatic_field(OopMap, _pc_offset, int) \
938 nonstatic_field(OopMap, _omv_count, int) \
939 nonstatic_field(OopMap, _omv_data_size, int) \
940 nonstatic_field(OopMap, _omv_data, unsigned char*) \
941 nonstatic_field(OopMap, _write_stream, CompressedWriteStream*) \
942 nonstatic_field(OopMapSet, _om_count, int) \
943 nonstatic_field(OopMapSet, _om_size, int) \
1248 /************************/ \
1249 /* Miscellaneous fields */ \
1250 /************************/ \
1251 \
1252 nonstatic_field(CompileTask, _method, Method*) \
1253 nonstatic_field(CompileTask, _osr_bci, int) \
1254 nonstatic_field(CompileTask, _comp_level, int) \
1255 nonstatic_field(CompileTask, _compile_id, uint) \
1256 nonstatic_field(CompileTask, _next, CompileTask*) \
1257 nonstatic_field(CompileTask, _prev, CompileTask*) \
1258 \
1259 nonstatic_field(vframeArray, _next, vframeArray*) \
1260 nonstatic_field(vframeArray, _original, frame) \
1261 nonstatic_field(vframeArray, _caller, frame) \
1262 nonstatic_field(vframeArray, _frames, int) \
1263 \
1264 nonstatic_field(vframeArrayElement, _frame, frame) \
1265 nonstatic_field(vframeArrayElement, _bci, int) \
1266 nonstatic_field(vframeArrayElement, _method, Method*) \
1267 \
1268 nonstatic_field(PtrQueue, _active, bool) \
1269 nonstatic_field(PtrQueue, _buf, void**) \
1270 nonstatic_field(PtrQueue, _index, size_t) \
1271 \
1272 nonstatic_field(AccessFlags, _flags, jint) \
1273 nonstatic_field(elapsedTimer, _counter, jlong) \
1274 nonstatic_field(elapsedTimer, _active, bool) \
1275 nonstatic_field(InvocationCounter, _counter, unsigned int) \
1276 volatile_nonstatic_field(FreeChunk, _size, size_t) \
1277 nonstatic_field(FreeChunk, _next, FreeChunk*) \
1278 nonstatic_field(FreeChunk, _prev, FreeChunk*) \
1279 nonstatic_field(FreeList<FreeChunk>, _size, size_t) \
1280 nonstatic_field(FreeList<Metablock>, _size, size_t) \
1281 nonstatic_field(FreeList<FreeChunk>, _count, ssize_t) \
1282 nonstatic_field(FreeList<Metablock>, _count, ssize_t) \
1283 nonstatic_field(MetablockTreeDictionary, _total_size, size_t)
1284
1285
1286 //--------------------------------------------------------------------------------
1287 // VM_TYPES
1288 //
1289 // This list must enumerate at least all of the types in the above
1290 // list. For the types in the above list, the entry below must have
1291 // exactly the same spacing since string comparisons are done in the
1414 /**************************************************/ \
1415 \
1416 declare_toplevel_type(CompiledICHolder) \
1417 declare_toplevel_type(MetaspaceObj) \
1418 declare_type(Metadata, MetaspaceObj) \
1419 declare_type(Klass, Metadata) \
1420 declare_type(ArrayKlass, Klass) \
1421 declare_type(ObjArrayKlass, ArrayKlass) \
1422 declare_type(TypeArrayKlass, ArrayKlass) \
1423 declare_type(InstanceKlass, Klass) \
1424 declare_type(InstanceClassLoaderKlass, InstanceKlass) \
1425 declare_type(InstanceMirrorKlass, InstanceKlass) \
1426 declare_type(InstanceRefKlass, InstanceKlass) \
1427 declare_type(ConstantPool, Metadata) \
1428 declare_type(ConstantPoolCache, MetaspaceObj) \
1429 declare_type(MethodData, Metadata) \
1430 declare_type(Method, Metadata) \
1431 declare_type(MethodCounters, MetaspaceObj) \
1432 declare_type(ConstMethod, MetaspaceObj) \
1433 \
1434 declare_toplevel_type(vtableEntry) \
1435 \
1436 declare_toplevel_type(Symbol) \
1437 declare_toplevel_type(Symbol*) \
1438 declare_toplevel_type(volatile Metadata*) \
1439 \
1440 declare_toplevel_type(DataLayout) \
1441 declare_toplevel_type(nmethodBucket) \
1442 \
1443 /********/ \
1444 /* Oops */ \
1445 /********/ \
1446 \
1447 declare_oop_type(markOop) \
1448 declare_oop_type(objArrayOop) \
1449 declare_oop_type(oop) \
1450 declare_oop_type(narrowOop) \
1451 declare_oop_type(typeArrayOop) \
1452 \
1453 /*************************************/ \
1454 /* MethodOop-related data structures */ \
1455 /*************************************/ \
1456 \
1457 declare_toplevel_type(CheckedExceptionElement) \
1458 declare_toplevel_type(LocalVariableTableElement) \
1459 declare_toplevel_type(ExceptionTableElement) \
1460 \
1468 \
1469 declare_toplevel_type(CollectedHeap) \
1470 declare_type(SharedHeap, CollectedHeap) \
1471 declare_type(GenCollectedHeap, SharedHeap) \
1472 declare_toplevel_type(Generation) \
1473 declare_type(DefNewGeneration, Generation) \
1474 declare_type(CardGeneration, Generation) \
1475 declare_type(OneContigSpaceCardGeneration, CardGeneration) \
1476 declare_type(TenuredGeneration, OneContigSpaceCardGeneration) \
1477 declare_toplevel_type(Space) \
1478 declare_toplevel_type(BitMap) \
1479 declare_type(CompactibleSpace, Space) \
1480 declare_type(ContiguousSpace, CompactibleSpace) \
1481 declare_type(EdenSpace, ContiguousSpace) \
1482 declare_type(OffsetTableContigSpace, ContiguousSpace) \
1483 declare_type(TenuredSpace, OffsetTableContigSpace) \
1484 declare_toplevel_type(BarrierSet) \
1485 declare_type(ModRefBarrierSet, BarrierSet) \
1486 declare_type(CardTableModRefBS, ModRefBarrierSet) \
1487 declare_type(CardTableModRefBSForCTRS, CardTableModRefBS) \
1488 declare_toplevel_type(BarrierSet::Name) \
1489 declare_toplevel_type(GenRemSet) \
1490 declare_type(CardTableRS, GenRemSet) \
1491 declare_toplevel_type(BlockOffsetSharedArray) \
1492 declare_toplevel_type(BlockOffsetTable) \
1493 declare_type(BlockOffsetArray, BlockOffsetTable) \
1494 declare_type(BlockOffsetArrayContigSpace, BlockOffsetArray) \
1495 declare_type(BlockOffsetArrayNonContigSpace, BlockOffsetArray) \
1496 \
1497 /* Miscellaneous other GC types */ \
1498 \
1499 declare_toplevel_type(ageTable) \
1500 declare_toplevel_type(Generation::StatRecord) \
1501 declare_toplevel_type(GenerationSpec) \
1502 declare_toplevel_type(HeapWord) \
1503 declare_toplevel_type(MemRegion) \
1504 declare_toplevel_type(ThreadLocalAllocBuffer) \
1505 declare_toplevel_type(VirtualSpace) \
1506 declare_toplevel_type(WaterMark) \
1507 declare_toplevel_type(ObjPtrQueue) \
1508 declare_toplevel_type(DirtyCardQueue) \
1509 \
1510 /* Pointers to Garbage Collection types */ \
1511 \
1512 declare_toplevel_type(BarrierSet*) \
1513 declare_toplevel_type(BlockOffsetSharedArray*) \
1514 declare_toplevel_type(GenRemSet*) \
1515 declare_toplevel_type(CardTableRS*) \
1516 declare_toplevel_type(CardTableModRefBS*) \
1517 declare_toplevel_type(CardTableModRefBS**) \
1518 declare_toplevel_type(CardTableModRefBSForCTRS*) \
1519 declare_toplevel_type(CardTableModRefBSForCTRS**) \
1520 declare_toplevel_type(CollectedHeap*) \
1521 declare_toplevel_type(ContiguousSpace*) \
1522 declare_toplevel_type(DefNewGeneration*) \
1523 declare_toplevel_type(EdenSpace*) \
1524 declare_toplevel_type(GenCollectedHeap*) \
1525 declare_toplevel_type(Generation*) \
1526 declare_toplevel_type(GenerationSpec**) \
1527 declare_toplevel_type(HeapWord*) \
1528 declare_toplevel_type(MemRegion*) \
2107 declare_unsigned_integer_type(juint) \
2108 declare_unsigned_integer_type(julong) \
2109 declare_toplevel_type(JNIHandleBlock*) \
2110 declare_toplevel_type(JNIid) \
2111 declare_toplevel_type(JNIid*) \
2112 declare_toplevel_type(jmethodID*) \
2113 declare_toplevel_type(Mutex*) \
2114 declare_toplevel_type(nmethod*) \
2115 COMPILER2_PRESENT(declare_unsigned_integer_type(node_idx_t)) \
2116 declare_toplevel_type(ObjectMonitor*) \
2117 declare_toplevel_type(oop*) \
2118 declare_toplevel_type(OopMap**) \
2119 declare_toplevel_type(OopMapCache*) \
2120 declare_toplevel_type(OopMapSet*) \
2121 declare_toplevel_type(VMReg) \
2122 declare_toplevel_type(OSThread*) \
2123 declare_integer_type(ReferenceType) \
2124 declare_toplevel_type(StubQueue*) \
2125 declare_toplevel_type(Thread*) \
2126 declare_toplevel_type(Universe) \
2127 declare_toplevel_type(os) \
2128 declare_toplevel_type(vframeArray) \
2129 declare_toplevel_type(vframeArrayElement) \
2130 declare_toplevel_type(Annotations*) \
2131 \
2132 /***************/ \
2133 /* Miscellaneous types */ \
2134 /***************/ \
2135 \
2136 declare_toplevel_type(PtrQueue) \
2137 \
2138 /* freelist */ \
2139 declare_toplevel_type(FreeChunk*) \
2140 declare_toplevel_type(Metablock*) \
2141 declare_toplevel_type(FreeBlockDictionary<FreeChunk>*) \
2142 declare_toplevel_type(FreeList<FreeChunk>*) \
2143 declare_toplevel_type(FreeList<FreeChunk>) \
2144 declare_toplevel_type(FreeBlockDictionary<Metablock>*) \
2145 declare_toplevel_type(FreeList<Metablock>*) \
2146 declare_toplevel_type(FreeList<Metablock>) \
2147 declare_type(MetablockTreeDictionary, FreeBlockDictionary<Metablock>)
2148
2149
2150 //--------------------------------------------------------------------------------
2151 // VM_INT_CONSTANTS
2152 //
2153 // This table contains integer constants required over in the
2154 // serviceability agent. The "declare_constant" macro is used for all
2155 // enums, etc., while "declare_preprocessor_constant" must be used for
2156 // all #defined constants.
2157
2158 #define VM_INT_CONSTANTS(declare_constant, \
2159 declare_preprocessor_constant, \
2160 declare_c1_constant, \
2161 declare_c2_constant, \
2162 declare_c2_preprocessor_constant) \
2163 \
2164 /******************/ \
2165 /* Useful globals */ \
2166 /******************/ \
2167 \
2168 declare_preprocessor_constant("ASSERT", DEBUG_ONLY(1) NOT_DEBUG(0)) \
2169 \
2170 /**************/ \
2171 /* Stack bias */ \
2172 /**************/ \
2173 \
2174 declare_preprocessor_constant("STACK_BIAS", STACK_BIAS) \
2175 \
2176 /****************/ \
2177 /* Object sizes */ \
2178 /****************/ \
2179 \
2180 declare_constant(oopSize) \
2181 declare_constant(LogBytesPerWord) \
2182 declare_constant(BytesPerWord) \
2183 declare_constant(BytesPerLong) \
2184 \
2185 declare_constant(LogKlassAlignmentInBytes) \
2186 \
2187 /********************************************/ \
2188 /* Generation and Space Hierarchy Constants */ \
2189 /********************************************/ \
2190 \
2191 declare_constant(ageTable::table_size) \
2192 \
2193 declare_constant(BarrierSet::ModRef) \
2194 declare_constant(BarrierSet::CardTableModRef) \
2195 declare_constant(BarrierSet::CardTableExtension) \
2196 declare_constant(BarrierSet::G1SATBCT) \
2197 declare_constant(BarrierSet::G1SATBCTLogging) \
2198 declare_constant(BarrierSet::Other) \
2199 \
2200 declare_constant(BlockOffsetSharedArray::LogN) \
2201 declare_constant(BlockOffsetSharedArray::LogN_words) \
2202 declare_constant(BlockOffsetSharedArray::N_bytes) \
2203 declare_constant(BlockOffsetSharedArray::N_words) \
2204 \
2205 declare_constant(BlockOffsetArray::N_words) \
2206 \
2207 declare_constant(CardTableModRefBS::clean_card) \
2208 declare_constant(CardTableModRefBS::last_card) \
2209 declare_constant(CardTableModRefBS::dirty_card) \
2210 declare_constant(CardTableModRefBS::Precise) \
2211 declare_constant(CardTableModRefBS::ObjHeadPreciseArray) \
2212 declare_constant(CardTableModRefBS::card_shift) \
2213 declare_constant(CardTableModRefBS::card_size) \
2214 declare_constant(CardTableModRefBS::card_size_in_words) \
2215 \
2216 declare_constant(CardTableRS::youngergen_card) \
2217 \
2296 \
2297 declare_constant(_thread_uninitialized) \
2298 declare_constant(_thread_new) \
2299 declare_constant(_thread_new_trans) \
2300 declare_constant(_thread_in_native) \
2301 declare_constant(_thread_in_native_trans) \
2302 declare_constant(_thread_in_vm) \
2303 declare_constant(_thread_in_vm_trans) \
2304 declare_constant(_thread_in_Java) \
2305 declare_constant(_thread_in_Java_trans) \
2306 declare_constant(_thread_blocked) \
2307 declare_constant(_thread_blocked_trans) \
2308 \
2309 /******************************/ \
2310 /* Klass misc. enum constants */ \
2311 /******************************/ \
2312 \
2313 declare_constant(Klass::_primary_super_limit) \
2314 declare_constant(Klass::_lh_instance_slow_path_bit) \
2315 declare_constant(Klass::_lh_log2_element_size_shift) \
2316 declare_constant(Klass::_lh_log2_element_size_mask) \
2317 declare_constant(Klass::_lh_element_type_shift) \
2318 declare_constant(Klass::_lh_element_type_mask) \
2319 declare_constant(Klass::_lh_header_size_shift) \
2320 declare_constant(Klass::_lh_header_size_mask) \
2321 declare_constant(Klass::_lh_array_tag_shift) \
2322 declare_constant(Klass::_lh_array_tag_type_value) \
2323 declare_constant(Klass::_lh_array_tag_obj_value) \
2324 \
2325 /********************************/ \
2326 /* ConstMethod anon-enum */ \
2327 /********************************/ \
2328 \
2329 declare_constant(ConstMethod::_has_linenumber_table) \
2330 declare_constant(ConstMethod::_has_checked_exceptions) \
2331 declare_constant(ConstMethod::_has_localvariable_table) \
2332 declare_constant(ConstMethod::_has_exception_table) \
2333 declare_constant(ConstMethod::_has_generic_signature) \
2334 declare_constant(ConstMethod::_has_method_annotations) \
2335 declare_constant(ConstMethod::_has_parameter_annotations) \
2336 declare_constant(ConstMethod::_has_default_annotations) \
2337 declare_constant(ConstMethod::_has_type_annotations) \
2338 \
2339 /**************/ \
2340 /* DataLayout */ \
2341 /**************/ \
2342 \
2343 declare_constant(DataLayout::cell_size) \
2344 \
2345 /*************************************/ \
2346 /* InstanceKlass enum */ \
2347 /*************************************/ \
2348 \
2349 \
2350 /*************************************/ \
2351 /* FieldInfo FieldOffset enum */ \
2352 /*************************************/ \
2353 \
2354 declare_constant(FieldInfo::access_flags_offset) \
2355 declare_constant(FieldInfo::name_index_offset) \
2356 declare_constant(FieldInfo::signature_index_offset) \
2357 declare_constant(FieldInfo::initval_index_offset) \
2358 declare_constant(FieldInfo::low_packed_offset) \
2359 declare_constant(FieldInfo::high_packed_offset) \
2360 declare_constant(FieldInfo::field_slots) \
2361 \
2362 /*************************************/ \
2363 /* FieldInfo tag constants */ \
2364 /*************************************/ \
2459 declare_constant(Deoptimization::Reason_none) \
2460 declare_constant(Deoptimization::Reason_null_check) \
2461 declare_constant(Deoptimization::Reason_null_assert) \
2462 declare_constant(Deoptimization::Reason_range_check) \
2463 declare_constant(Deoptimization::Reason_class_check) \
2464 declare_constant(Deoptimization::Reason_array_check) \
2465 declare_constant(Deoptimization::Reason_intrinsic) \
2466 declare_constant(Deoptimization::Reason_bimorphic) \
2467 declare_constant(Deoptimization::Reason_unloaded) \
2468 declare_constant(Deoptimization::Reason_uninitialized) \
2469 declare_constant(Deoptimization::Reason_unreached) \
2470 declare_constant(Deoptimization::Reason_unhandled) \
2471 declare_constant(Deoptimization::Reason_constraint) \
2472 declare_constant(Deoptimization::Reason_div0_check) \
2473 declare_constant(Deoptimization::Reason_age) \
2474 declare_constant(Deoptimization::Reason_predicate) \
2475 declare_constant(Deoptimization::Reason_loop_limit_check) \
2476 declare_constant(Deoptimization::Reason_LIMIT) \
2477 declare_constant(Deoptimization::Reason_RECORDED_LIMIT) \
2478 \
2479 declare_constant(Deoptimization::Action_none) \
2480 declare_constant(Deoptimization::Action_maybe_recompile) \
2481 declare_constant(Deoptimization::Action_reinterpret) \
2482 declare_constant(Deoptimization::Action_make_not_entrant) \
2483 declare_constant(Deoptimization::Action_make_not_compilable) \
2484 declare_constant(Deoptimization::Action_LIMIT) \
2485 \
2486 /*********************/ \
2487 /* Matcher (C2 only) */ \
2488 /*********************/ \
2489 \
2490 declare_c2_preprocessor_constant("Matcher::interpreter_frame_pointer_reg", Matcher::interpreter_frame_pointer_reg()) \
2491 \
2492 /*********************************************/ \
2493 /* MethodCompilation (globalDefinitions.hpp) */ \
2494 /*********************************************/ \
2495 \
2496 declare_constant(InvocationEntryBci) \
2497 declare_constant(InvalidOSREntryBci) \
2498 \
2499 /***************/ \
2500 /* OopMapValue */ \
2501 /***************/ \
2502 \
2503 declare_constant(OopMapValue::type_bits) \
2504 declare_constant(OopMapValue::register_bits) \
2505 declare_constant(OopMapValue::type_shift) \
2532 /**********************/ \
2533 \
2534 declare_constant(PcDesc::PCDESC_reexecute) \
2535 declare_constant(PcDesc::PCDESC_is_method_handle_invoke) \
2536 declare_constant(PcDesc::PCDESC_return_oop) \
2537 \
2538 /**********************/ \
2539 /* frame */ \
2540 /**********************/ \
2541 \
2542 NOT_ZERO(X86_ONLY(declare_constant(frame::entry_frame_call_wrapper_offset))) \
2543 declare_constant(frame::pc_return_offset) \
2544 \
2545 /*************/ \
2546 /* vmSymbols */ \
2547 /*************/ \
2548 \
2549 declare_constant(vmSymbols::FIRST_SID) \
2550 declare_constant(vmSymbols::SID_LIMIT) \
2551 \
2552 /****************/ \
2553 /* vmIntrinsics */ \
2554 /****************/ \
2555 \
2556 declare_constant(vmIntrinsics::_invokeBasic) \
2557 declare_constant(vmIntrinsics::_linkToVirtual) \
2558 declare_constant(vmIntrinsics::_linkToStatic) \
2559 declare_constant(vmIntrinsics::_linkToSpecial) \
2560 declare_constant(vmIntrinsics::_linkToInterface) \
2561 \
2562 /********************************/ \
2563 /* Calling convention constants */ \
2564 /********************************/ \
2565 \
2566 declare_constant(RegisterImpl::number_of_registers) \
2567 declare_constant(ConcreteRegisterImpl::number_of_registers) \
2568 declare_preprocessor_constant("REG_COUNT", REG_COUNT) \
2569 declare_c2_preprocessor_constant("SAVED_ON_ENTRY_REG_COUNT", SAVED_ON_ENTRY_REG_COUNT) \
2570 declare_c2_preprocessor_constant("C_SAVED_ON_ENTRY_REG_COUNT", C_SAVED_ON_ENTRY_REG_COUNT)
2571
2572
2573 //--------------------------------------------------------------------------------
2574 // VM_LONG_CONSTANTS
2575 //
2576 // This table contains long constants required over in the
2577 // serviceability agent. The "declare_constant" macro is used for all
2578 // enums, etc., while "declare_preprocessor_constant" must be used for
2579 // all #defined constants.
2580
2581 #define VM_LONG_CONSTANTS(declare_constant, declare_preprocessor_constant, declare_c1_constant, declare_c2_constant, declare_c2_preprocessor_constant) \
2589 /* 64 bits (on 64-bit platforms). */ \
2590 \
2591 declare_constant(markOopDesc::age_bits) \
2592 declare_constant(markOopDesc::lock_bits) \
2593 declare_constant(markOopDesc::biased_lock_bits) \
2594 declare_constant(markOopDesc::max_hash_bits) \
2595 declare_constant(markOopDesc::hash_bits) \
2596 \
2597 declare_constant(markOopDesc::lock_shift) \
2598 declare_constant(markOopDesc::biased_lock_shift) \
2599 declare_constant(markOopDesc::age_shift) \
2600 declare_constant(markOopDesc::hash_shift) \
2601 \
2602 declare_constant(markOopDesc::lock_mask) \
2603 declare_constant(markOopDesc::lock_mask_in_place) \
2604 declare_constant(markOopDesc::biased_lock_mask) \
2605 declare_constant(markOopDesc::biased_lock_mask_in_place) \
2606 declare_constant(markOopDesc::biased_lock_bit_in_place) \
2607 declare_constant(markOopDesc::age_mask) \
2608 declare_constant(markOopDesc::age_mask_in_place) \
2609 declare_constant(markOopDesc::epoch_mask) \
2610 declare_constant(markOopDesc::epoch_mask_in_place) \
2611 declare_constant(markOopDesc::hash_mask) \
2612 declare_constant(markOopDesc::hash_mask_in_place) \
2613 declare_constant(markOopDesc::biased_lock_alignment) \
2614 \
2615 declare_constant(markOopDesc::locked_value) \
2616 declare_constant(markOopDesc::unlocked_value) \
2617 declare_constant(markOopDesc::monitor_value) \
2618 declare_constant(markOopDesc::marked_value) \
2619 declare_constant(markOopDesc::biased_lock_pattern) \
2620 \
2621 declare_constant(markOopDesc::no_hash) \
2622 declare_constant(markOopDesc::no_hash_in_place) \
2623 declare_constant(markOopDesc::no_lock_in_place) \
2624 declare_constant(markOopDesc::max_age) \
2625 \
2626 /* Constants in markOop used by CMS. */ \
2627 declare_constant(markOopDesc::cms_shift) \
2628 declare_constant(markOopDesc::cms_mask) \
2629 declare_constant(markOopDesc::size_shift)
2630
|