717 volatile_nonstatic_field(JavaFrameAnchor, _last_Java_pc, address) \
718 \
719 /******************************/ \
720 /* Threads (NOTE: incomplete) */ \
721 /******************************/ \
722 \
723 static_field(Threads, _number_of_threads, int) \
724 static_field(Threads, _number_of_non_daemon_threads, int) \
725 static_field(Threads, _return_code, int) \
726 \
727 static_ptr_volatile_field(ThreadsSMRSupport, _java_thread_list, ThreadsList*) \
728 nonstatic_field(ThreadsList, _length, const uint) \
729 nonstatic_field(ThreadsList, _threads, JavaThread *const *const) \
730 \
731 nonstatic_field(ThreadShadow, _pending_exception, oop) \
732 nonstatic_field(ThreadShadow, _exception_file, const char*) \
733 nonstatic_field(ThreadShadow, _exception_line, int) \
734 nonstatic_field(Thread, _active_handles, JNIHandleBlock*) \
735 nonstatic_field(Thread, _tlab, ThreadLocalAllocBuffer) \
736 nonstatic_field(Thread, _allocated_bytes, jlong) \
737 nonstatic_field(NamedThread, _name, char*) \
738 nonstatic_field(NamedThread, _processed_thread, Thread*) \
739 nonstatic_field(JavaThread, _threadObj, OopHandle) \
740 nonstatic_field(JavaThread, _anchor, JavaFrameAnchor) \
741 nonstatic_field(JavaThread, _vm_result, oop) \
742 nonstatic_field(JavaThread, _vm_result_2, Metadata*) \
743 volatile_nonstatic_field(JavaThread, _current_pending_monitor, ObjectMonitor*) \
744 nonstatic_field(JavaThread, _current_pending_monitor_is_from_java, bool) \
745 volatile_nonstatic_field(JavaThread, _current_waiting_monitor, ObjectMonitor*) \
746 volatile_nonstatic_field(JavaThread, _suspend_flags, uint32_t) \
747 nonstatic_field(JavaThread, _async_exception_condition, JavaThread::AsyncExceptionCondition) \
748 nonstatic_field(JavaThread, _pending_async_exception, oop) \
749 volatile_nonstatic_field(JavaThread, _exception_oop, oop) \
750 volatile_nonstatic_field(JavaThread, _exception_pc, address) \
751 volatile_nonstatic_field(JavaThread, _is_method_handle_return, int) \
752 nonstatic_field(JavaThread, _saved_exception_pc, address) \
753 volatile_nonstatic_field(JavaThread, _thread_state, JavaThreadState) \
754 nonstatic_field(JavaThread, _osthread, OSThread*) \
755 nonstatic_field(JavaThread, _stack_base, address) \
756 nonstatic_field(JavaThread, _stack_size, size_t) \
1333 \
1334 declare_toplevel_type(Threads) \
1335 declare_toplevel_type(ThreadShadow) \
1336 declare_type(Thread, ThreadShadow) \
1337 declare_type(NonJavaThread, Thread) \
1338 declare_type(NamedThread, NonJavaThread) \
1339 declare_type(WatcherThread, NonJavaThread) \
1340 declare_type(AsyncLogWriter, NonJavaThread) \
1341 declare_type(JavaThread, Thread) \
1342 declare_type(JvmtiAgentThread, JavaThread) \
1343 declare_type(MonitorDeflationThread, JavaThread) \
1344 declare_type(ServiceThread, JavaThread) \
1345 declare_type(NotificationThread, JavaThread) \
1346 declare_type(CompilerThread, JavaThread) \
1347 declare_type(CodeCacheSweeperThread, JavaThread) \
1348 declare_toplevel_type(OSThread) \
1349 declare_toplevel_type(JavaFrameAnchor) \
1350 \
1351 declare_toplevel_type(ThreadsSMRSupport) \
1352 declare_toplevel_type(ThreadsList) \
1353 \
1354 /***************/ \
1355 /* Interpreter */ \
1356 /***************/ \
1357 \
1358 declare_toplevel_type(AbstractInterpreter) \
1359 \
1360 /*********/ \
1361 /* Stubs */ \
1362 /*********/ \
1363 \
1364 declare_toplevel_type(StubQueue) \
1365 declare_toplevel_type(StubRoutines) \
1366 declare_toplevel_type(Stub) \
1367 declare_type(InterpreterCodelet, Stub) \
1368 \
1369 /*************/ \
1370 /* JavaCalls */ \
1371 /*************/ \
1372 \
2621 VM_LONG_CONSTANTS_GC(declare_constant) \
2622 \
2623 /*********************/ \
2624 /* markWord constants */ \
2625 /*********************/ \
2626 \
2627 /* Note: some of these are declared as long constants just for */ \
2628 /* consistency. The mask constants are the only ones requiring */ \
2629 /* 64 bits (on 64-bit platforms). */ \
2630 \
2631 declare_constant(markWord::age_bits) \
2632 declare_constant(markWord::lock_bits) \
2633 declare_constant(markWord::biased_lock_bits) \
2634 declare_constant(markWord::max_hash_bits) \
2635 declare_constant(markWord::hash_bits) \
2636 \
2637 declare_constant(markWord::lock_shift) \
2638 declare_constant(markWord::biased_lock_shift) \
2639 declare_constant(markWord::age_shift) \
2640 declare_constant(markWord::hash_shift) \
2641 \
2642 declare_constant(markWord::lock_mask) \
2643 declare_constant(markWord::lock_mask_in_place) \
2644 declare_constant(markWord::biased_lock_mask) \
2645 declare_constant(markWord::biased_lock_mask_in_place) \
2646 declare_constant(markWord::biased_lock_bit_in_place) \
2647 declare_constant(markWord::age_mask) \
2648 declare_constant(markWord::age_mask_in_place) \
2649 declare_constant(markWord::epoch_mask) \
2650 declare_constant(markWord::epoch_mask_in_place) \
2651 declare_constant(markWord::hash_mask) \
2652 declare_constant(markWord::hash_mask_in_place) \
2653 declare_constant(markWord::biased_lock_alignment) \
2654 \
2655 declare_constant(markWord::locked_value) \
2656 declare_constant(markWord::unlocked_value) \
2657 declare_constant(markWord::monitor_value) \
2658 declare_constant(markWord::marked_value) \
2659 declare_constant(markWord::biased_lock_pattern) \
2660 \
|
717 volatile_nonstatic_field(JavaFrameAnchor, _last_Java_pc, address) \
718 \
719 /******************************/ \
720 /* Threads (NOTE: incomplete) */ \
721 /******************************/ \
722 \
723 static_field(Threads, _number_of_threads, int) \
724 static_field(Threads, _number_of_non_daemon_threads, int) \
725 static_field(Threads, _return_code, int) \
726 \
727 static_ptr_volatile_field(ThreadsSMRSupport, _java_thread_list, ThreadsList*) \
728 nonstatic_field(ThreadsList, _length, const uint) \
729 nonstatic_field(ThreadsList, _threads, JavaThread *const *const) \
730 \
731 nonstatic_field(ThreadShadow, _pending_exception, oop) \
732 nonstatic_field(ThreadShadow, _exception_file, const char*) \
733 nonstatic_field(ThreadShadow, _exception_line, int) \
734 nonstatic_field(Thread, _active_handles, JNIHandleBlock*) \
735 nonstatic_field(Thread, _tlab, ThreadLocalAllocBuffer) \
736 nonstatic_field(Thread, _allocated_bytes, jlong) \
737 nonstatic_field(JavaThread, _lock_stack, LockStack) \
738 nonstatic_field(LockStack, _current, oop*) \
739 nonstatic_field(LockStack, _base, oop*) \
740 nonstatic_field(NamedThread, _name, char*) \
741 nonstatic_field(NamedThread, _processed_thread, Thread*) \
742 nonstatic_field(JavaThread, _threadObj, OopHandle) \
743 nonstatic_field(JavaThread, _anchor, JavaFrameAnchor) \
744 nonstatic_field(JavaThread, _vm_result, oop) \
745 nonstatic_field(JavaThread, _vm_result_2, Metadata*) \
746 volatile_nonstatic_field(JavaThread, _current_pending_monitor, ObjectMonitor*) \
747 nonstatic_field(JavaThread, _current_pending_monitor_is_from_java, bool) \
748 volatile_nonstatic_field(JavaThread, _current_waiting_monitor, ObjectMonitor*) \
749 volatile_nonstatic_field(JavaThread, _suspend_flags, uint32_t) \
750 nonstatic_field(JavaThread, _async_exception_condition, JavaThread::AsyncExceptionCondition) \
751 nonstatic_field(JavaThread, _pending_async_exception, oop) \
752 volatile_nonstatic_field(JavaThread, _exception_oop, oop) \
753 volatile_nonstatic_field(JavaThread, _exception_pc, address) \
754 volatile_nonstatic_field(JavaThread, _is_method_handle_return, int) \
755 nonstatic_field(JavaThread, _saved_exception_pc, address) \
756 volatile_nonstatic_field(JavaThread, _thread_state, JavaThreadState) \
757 nonstatic_field(JavaThread, _osthread, OSThread*) \
758 nonstatic_field(JavaThread, _stack_base, address) \
759 nonstatic_field(JavaThread, _stack_size, size_t) \
1336 \
1337 declare_toplevel_type(Threads) \
1338 declare_toplevel_type(ThreadShadow) \
1339 declare_type(Thread, ThreadShadow) \
1340 declare_type(NonJavaThread, Thread) \
1341 declare_type(NamedThread, NonJavaThread) \
1342 declare_type(WatcherThread, NonJavaThread) \
1343 declare_type(AsyncLogWriter, NonJavaThread) \
1344 declare_type(JavaThread, Thread) \
1345 declare_type(JvmtiAgentThread, JavaThread) \
1346 declare_type(MonitorDeflationThread, JavaThread) \
1347 declare_type(ServiceThread, JavaThread) \
1348 declare_type(NotificationThread, JavaThread) \
1349 declare_type(CompilerThread, JavaThread) \
1350 declare_type(CodeCacheSweeperThread, JavaThread) \
1351 declare_toplevel_type(OSThread) \
1352 declare_toplevel_type(JavaFrameAnchor) \
1353 \
1354 declare_toplevel_type(ThreadsSMRSupport) \
1355 declare_toplevel_type(ThreadsList) \
1356 declare_toplevel_type(LockStack) \
1357 \
1358 /***************/ \
1359 /* Interpreter */ \
1360 /***************/ \
1361 \
1362 declare_toplevel_type(AbstractInterpreter) \
1363 \
1364 /*********/ \
1365 /* Stubs */ \
1366 /*********/ \
1367 \
1368 declare_toplevel_type(StubQueue) \
1369 declare_toplevel_type(StubRoutines) \
1370 declare_toplevel_type(Stub) \
1371 declare_type(InterpreterCodelet, Stub) \
1372 \
1373 /*************/ \
1374 /* JavaCalls */ \
1375 /*************/ \
1376 \
2625 VM_LONG_CONSTANTS_GC(declare_constant) \
2626 \
2627 /*********************/ \
2628 /* markWord constants */ \
2629 /*********************/ \
2630 \
2631 /* Note: some of these are declared as long constants just for */ \
2632 /* consistency. The mask constants are the only ones requiring */ \
2633 /* 64 bits (on 64-bit platforms). */ \
2634 \
2635 declare_constant(markWord::age_bits) \
2636 declare_constant(markWord::lock_bits) \
2637 declare_constant(markWord::biased_lock_bits) \
2638 declare_constant(markWord::max_hash_bits) \
2639 declare_constant(markWord::hash_bits) \
2640 \
2641 declare_constant(markWord::lock_shift) \
2642 declare_constant(markWord::biased_lock_shift) \
2643 declare_constant(markWord::age_shift) \
2644 declare_constant(markWord::hash_shift) \
2645 LP64_ONLY(declare_constant(markWord::klass_shift)) \
2646 \
2647 declare_constant(markWord::lock_mask) \
2648 declare_constant(markWord::lock_mask_in_place) \
2649 declare_constant(markWord::biased_lock_mask) \
2650 declare_constant(markWord::biased_lock_mask_in_place) \
2651 declare_constant(markWord::biased_lock_bit_in_place) \
2652 declare_constant(markWord::age_mask) \
2653 declare_constant(markWord::age_mask_in_place) \
2654 declare_constant(markWord::epoch_mask) \
2655 declare_constant(markWord::epoch_mask_in_place) \
2656 declare_constant(markWord::hash_mask) \
2657 declare_constant(markWord::hash_mask_in_place) \
2658 declare_constant(markWord::biased_lock_alignment) \
2659 \
2660 declare_constant(markWord::locked_value) \
2661 declare_constant(markWord::unlocked_value) \
2662 declare_constant(markWord::monitor_value) \
2663 declare_constant(markWord::marked_value) \
2664 declare_constant(markWord::biased_lock_pattern) \
2665 \
|