83 #include "oops/objArrayOop.hpp"
84 #include "oops/oop.inline.hpp"
85 #include "oops/oopHandle.hpp"
86 #include "oops/resolvedFieldEntry.hpp"
87 #include "oops/resolvedIndyEntry.hpp"
88 #include "oops/resolvedMethodEntry.hpp"
89 #include "oops/symbol.hpp"
90 #include "oops/typeArrayKlass.hpp"
91 #include "oops/typeArrayOop.hpp"
92 #include "prims/jvmtiAgentThread.hpp"
93 #include "runtime/arguments.hpp"
94 #include "runtime/deoptimization.hpp"
95 #include "runtime/flags/jvmFlag.hpp"
96 #include "runtime/globals.hpp"
97 #include "runtime/java.hpp"
98 #include "runtime/javaCalls.hpp"
99 #include "runtime/javaThread.hpp"
100 #include "runtime/jniHandles.hpp"
101 #include "runtime/monitorDeflationThread.hpp"
102 #include "runtime/notificationThread.hpp"
103 #include "runtime/os.hpp"
104 #include "runtime/osThread.hpp"
105 #include "runtime/perfMemory.hpp"
106 #include "runtime/serviceThread.hpp"
107 #include "runtime/sharedRuntime.hpp"
108 #include "runtime/stubRoutines.hpp"
109 #include "runtime/synchronizer.hpp"
110 #include "runtime/threadSMR.hpp"
111 #include "runtime/vframeArray.hpp"
112 #include "runtime/vmStructs.hpp"
113 #include "runtime/vm_version.hpp"
114 #include "services/attachListener.hpp"
115 #include "utilities/globalDefinitions.hpp"
116 #include "utilities/macros.hpp"
117 #include "utilities/vmError.hpp"
118 #ifdef COMPILER2
119 #include "opto/addnode.hpp"
120 #include "opto/block.hpp"
121 #include "opto/callnode.hpp"
122 #include "opto/castnode.hpp"
648 nonstatic_field(JavaThread, _jvmti_vthread, OopHandle) \
649 nonstatic_field(JavaThread, _scopedValueCache, OopHandle) \
650 nonstatic_field(JavaThread, _anchor, JavaFrameAnchor) \
651 nonstatic_field(JavaThread, _vm_result, oop) \
652 nonstatic_field(JavaThread, _vm_result_2, Metadata*) \
653 volatile_nonstatic_field(JavaThread, _current_pending_monitor, ObjectMonitor*) \
654 nonstatic_field(JavaThread, _current_pending_monitor_is_from_java, bool) \
655 volatile_nonstatic_field(JavaThread, _current_waiting_monitor, ObjectMonitor*) \
656 volatile_nonstatic_field(JavaThread, _suspend_flags, uint32_t) \
657 volatile_nonstatic_field(JavaThread, _exception_oop, oop) \
658 volatile_nonstatic_field(JavaThread, _exception_pc, address) \
659 volatile_nonstatic_field(JavaThread, _is_method_handle_return, int) \
660 nonstatic_field(JavaThread, _saved_exception_pc, address) \
661 volatile_nonstatic_field(JavaThread, _thread_state, JavaThreadState) \
662 nonstatic_field(JavaThread, _osthread, OSThread*) \
663 nonstatic_field(JavaThread, _stack_base, address) \
664 nonstatic_field(JavaThread, _stack_size, size_t) \
665 nonstatic_field(JavaThread, _vframe_array_head, vframeArray*) \
666 nonstatic_field(JavaThread, _vframe_array_last, vframeArray*) \
667 nonstatic_field(JavaThread, _active_handles, JNIHandleBlock*) \
668 volatile_nonstatic_field(JavaThread, _terminated, JavaThread::TerminatedTypes) \
669 nonstatic_field(Thread, _resource_area, ResourceArea*) \
670 nonstatic_field(CompilerThread, _env, ciEnv*) \
671 \
672 /************/ \
673 /* OSThread */ \
674 /************/ \
675 \
676 volatile_nonstatic_field(OSThread, _state, ThreadState) \
677 \
678 /************************/ \
679 /* ImmutableOopMap */ \
680 /************************/ \
681 \
682 nonstatic_field(ImmutableOopMapSet, _count, int) \
683 nonstatic_field(ImmutableOopMapSet, _size, int) \
684 \
685 nonstatic_field(ImmutableOopMapPair, _pc_offset, int) \
686 nonstatic_field(ImmutableOopMapPair, _oopmap_offset, int) \
687 \
769 nonstatic_field(ciField, _is_constant, bool) \
770 nonstatic_field(ciField, _constant_value, ciConstant) \
771 \
772 nonstatic_field(ciObjectFactory, _ci_metadata, GrowableArray<ciMetadata*>) \
773 nonstatic_field(ciObjectFactory, _symbols, GrowableArray<ciSymbol*>) \
774 \
775 nonstatic_field(ciConstant, _type, BasicType) \
776 nonstatic_field(ciConstant, _value._int, jint) \
777 nonstatic_field(ciConstant, _value._long, jlong) \
778 nonstatic_field(ciConstant, _value._float, jfloat) \
779 nonstatic_field(ciConstant, _value._double, jdouble) \
780 nonstatic_field(ciConstant, _value._object, ciObject*) \
781 \
782 /************/ \
783 /* Monitors */ \
784 /************/ \
785 \
786 volatile_nonstatic_field(ObjectMonitor, _metadata, uintptr_t) \
787 unchecked_nonstatic_field(ObjectMonitor, _object, sizeof(void *)) /* NOTE: no type */ \
788 unchecked_nonstatic_field(ObjectMonitor, _owner, sizeof(void *)) /* NOTE: no type */ \
789 volatile_nonstatic_field(ObjectMonitor, _next_om, ObjectMonitor*) \
790 volatile_nonstatic_field(BasicLock, _metadata, uintptr_t) \
791 nonstatic_field(ObjectMonitor, _contentions, int) \
792 volatile_nonstatic_field(ObjectMonitor, _waiters, int) \
793 volatile_nonstatic_field(ObjectMonitor, _recursions, intx) \
794 nonstatic_field(BasicObjectLock, _lock, BasicLock) \
795 nonstatic_field(BasicObjectLock, _obj, oop) \
796 static_field(ObjectSynchronizer, _in_use_list, MonitorList) \
797 volatile_nonstatic_field(MonitorList, _head, ObjectMonitor*) \
798 \
799 /*********************/ \
800 /* Matcher (C2 only) */ \
801 /*********************/ \
802 \
803 unchecked_c2_static_field(Matcher, _regEncode, sizeof(Matcher::_regEncode)) /* NOTE: no type */ \
804 \
805 c2_nonstatic_field(Node, _in, Node**) \
806 c2_nonstatic_field(Node, _out, Node**) \
807 c2_nonstatic_field(Node, _cnt, node_idx_t) \
808 c2_nonstatic_field(Node, _max, node_idx_t) \
|
83 #include "oops/objArrayOop.hpp"
84 #include "oops/oop.inline.hpp"
85 #include "oops/oopHandle.hpp"
86 #include "oops/resolvedFieldEntry.hpp"
87 #include "oops/resolvedIndyEntry.hpp"
88 #include "oops/resolvedMethodEntry.hpp"
89 #include "oops/symbol.hpp"
90 #include "oops/typeArrayKlass.hpp"
91 #include "oops/typeArrayOop.hpp"
92 #include "prims/jvmtiAgentThread.hpp"
93 #include "runtime/arguments.hpp"
94 #include "runtime/deoptimization.hpp"
95 #include "runtime/flags/jvmFlag.hpp"
96 #include "runtime/globals.hpp"
97 #include "runtime/java.hpp"
98 #include "runtime/javaCalls.hpp"
99 #include "runtime/javaThread.hpp"
100 #include "runtime/jniHandles.hpp"
101 #include "runtime/monitorDeflationThread.hpp"
102 #include "runtime/notificationThread.hpp"
103 #include "runtime/objectMonitor.hpp"
104 #include "runtime/os.hpp"
105 #include "runtime/osThread.hpp"
106 #include "runtime/perfMemory.hpp"
107 #include "runtime/serviceThread.hpp"
108 #include "runtime/sharedRuntime.hpp"
109 #include "runtime/stubRoutines.hpp"
110 #include "runtime/synchronizer.hpp"
111 #include "runtime/threadSMR.hpp"
112 #include "runtime/vframeArray.hpp"
113 #include "runtime/vmStructs.hpp"
114 #include "runtime/vm_version.hpp"
115 #include "services/attachListener.hpp"
116 #include "utilities/globalDefinitions.hpp"
117 #include "utilities/macros.hpp"
118 #include "utilities/vmError.hpp"
119 #ifdef COMPILER2
120 #include "opto/addnode.hpp"
121 #include "opto/block.hpp"
122 #include "opto/callnode.hpp"
123 #include "opto/castnode.hpp"
649 nonstatic_field(JavaThread, _jvmti_vthread, OopHandle) \
650 nonstatic_field(JavaThread, _scopedValueCache, OopHandle) \
651 nonstatic_field(JavaThread, _anchor, JavaFrameAnchor) \
652 nonstatic_field(JavaThread, _vm_result, oop) \
653 nonstatic_field(JavaThread, _vm_result_2, Metadata*) \
654 volatile_nonstatic_field(JavaThread, _current_pending_monitor, ObjectMonitor*) \
655 nonstatic_field(JavaThread, _current_pending_monitor_is_from_java, bool) \
656 volatile_nonstatic_field(JavaThread, _current_waiting_monitor, ObjectMonitor*) \
657 volatile_nonstatic_field(JavaThread, _suspend_flags, uint32_t) \
658 volatile_nonstatic_field(JavaThread, _exception_oop, oop) \
659 volatile_nonstatic_field(JavaThread, _exception_pc, address) \
660 volatile_nonstatic_field(JavaThread, _is_method_handle_return, int) \
661 nonstatic_field(JavaThread, _saved_exception_pc, address) \
662 volatile_nonstatic_field(JavaThread, _thread_state, JavaThreadState) \
663 nonstatic_field(JavaThread, _osthread, OSThread*) \
664 nonstatic_field(JavaThread, _stack_base, address) \
665 nonstatic_field(JavaThread, _stack_size, size_t) \
666 nonstatic_field(JavaThread, _vframe_array_head, vframeArray*) \
667 nonstatic_field(JavaThread, _vframe_array_last, vframeArray*) \
668 nonstatic_field(JavaThread, _active_handles, JNIHandleBlock*) \
669 nonstatic_field(JavaThread, _lock_id, int64_t) \
670 volatile_nonstatic_field(JavaThread, _terminated, JavaThread::TerminatedTypes) \
671 nonstatic_field(Thread, _resource_area, ResourceArea*) \
672 nonstatic_field(CompilerThread, _env, ciEnv*) \
673 \
674 /************/ \
675 /* OSThread */ \
676 /************/ \
677 \
678 volatile_nonstatic_field(OSThread, _state, ThreadState) \
679 \
680 /************************/ \
681 /* ImmutableOopMap */ \
682 /************************/ \
683 \
684 nonstatic_field(ImmutableOopMapSet, _count, int) \
685 nonstatic_field(ImmutableOopMapSet, _size, int) \
686 \
687 nonstatic_field(ImmutableOopMapPair, _pc_offset, int) \
688 nonstatic_field(ImmutableOopMapPair, _oopmap_offset, int) \
689 \
771 nonstatic_field(ciField, _is_constant, bool) \
772 nonstatic_field(ciField, _constant_value, ciConstant) \
773 \
774 nonstatic_field(ciObjectFactory, _ci_metadata, GrowableArray<ciMetadata*>) \
775 nonstatic_field(ciObjectFactory, _symbols, GrowableArray<ciSymbol*>) \
776 \
777 nonstatic_field(ciConstant, _type, BasicType) \
778 nonstatic_field(ciConstant, _value._int, jint) \
779 nonstatic_field(ciConstant, _value._long, jlong) \
780 nonstatic_field(ciConstant, _value._float, jfloat) \
781 nonstatic_field(ciConstant, _value._double, jdouble) \
782 nonstatic_field(ciConstant, _value._object, ciObject*) \
783 \
784 /************/ \
785 /* Monitors */ \
786 /************/ \
787 \
788 volatile_nonstatic_field(ObjectMonitor, _metadata, uintptr_t) \
789 unchecked_nonstatic_field(ObjectMonitor, _object, sizeof(void *)) /* NOTE: no type */ \
790 unchecked_nonstatic_field(ObjectMonitor, _owner, sizeof(void *)) /* NOTE: no type */ \
791 unchecked_nonstatic_field(ObjectMonitor, _stack_locker, BasicLock*) \
792 volatile_nonstatic_field(ObjectMonitor, _next_om, ObjectMonitor*) \
793 volatile_nonstatic_field(BasicLock, _metadata, uintptr_t) \
794 nonstatic_field(ObjectMonitor, _contentions, int) \
795 volatile_nonstatic_field(ObjectMonitor, _waiters, int) \
796 volatile_nonstatic_field(ObjectMonitor, _recursions, intx) \
797 nonstatic_field(BasicObjectLock, _lock, BasicLock) \
798 nonstatic_field(BasicObjectLock, _obj, oop) \
799 static_field(ObjectSynchronizer, _in_use_list, MonitorList) \
800 volatile_nonstatic_field(MonitorList, _head, ObjectMonitor*) \
801 \
802 /*********************/ \
803 /* Matcher (C2 only) */ \
804 /*********************/ \
805 \
806 unchecked_c2_static_field(Matcher, _regEncode, sizeof(Matcher::_regEncode)) /* NOTE: no type */ \
807 \
808 c2_nonstatic_field(Node, _in, Node**) \
809 c2_nonstatic_field(Node, _out, Node**) \
810 c2_nonstatic_field(Node, _cnt, node_idx_t) \
811 c2_nonstatic_field(Node, _max, node_idx_t) \
|