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"
643 nonstatic_field(JavaThread, _jvmti_vthread, OopHandle) \
644 nonstatic_field(JavaThread, _scopedValueCache, OopHandle) \
645 nonstatic_field(JavaThread, _anchor, JavaFrameAnchor) \
646 nonstatic_field(JavaThread, _vm_result, oop) \
647 nonstatic_field(JavaThread, _vm_result_2, Metadata*) \
648 volatile_nonstatic_field(JavaThread, _current_pending_monitor, ObjectMonitor*) \
649 nonstatic_field(JavaThread, _current_pending_monitor_is_from_java, bool) \
650 volatile_nonstatic_field(JavaThread, _current_waiting_monitor, ObjectMonitor*) \
651 volatile_nonstatic_field(JavaThread, _suspend_flags, uint32_t) \
652 volatile_nonstatic_field(JavaThread, _exception_oop, oop) \
653 volatile_nonstatic_field(JavaThread, _exception_pc, address) \
654 volatile_nonstatic_field(JavaThread, _is_method_handle_return, int) \
655 nonstatic_field(JavaThread, _saved_exception_pc, address) \
656 volatile_nonstatic_field(JavaThread, _thread_state, JavaThreadState) \
657 nonstatic_field(JavaThread, _osthread, OSThread*) \
658 nonstatic_field(JavaThread, _stack_base, address) \
659 nonstatic_field(JavaThread, _stack_size, size_t) \
660 nonstatic_field(JavaThread, _vframe_array_head, vframeArray*) \
661 nonstatic_field(JavaThread, _vframe_array_last, vframeArray*) \
662 nonstatic_field(JavaThread, _active_handles, JNIHandleBlock*) \
663 volatile_nonstatic_field(JavaThread, _terminated, JavaThread::TerminatedTypes) \
664 nonstatic_field(Thread, _resource_area, ResourceArea*) \
665 nonstatic_field(CompilerThread, _env, ciEnv*) \
666 \
667 /************/ \
668 /* OSThread */ \
669 /************/ \
670 \
671 volatile_nonstatic_field(OSThread, _state, ThreadState) \
672 \
673 /************************/ \
674 /* ImmutableOopMap */ \
675 /************************/ \
676 \
677 nonstatic_field(ImmutableOopMapSet, _count, int) \
678 nonstatic_field(ImmutableOopMapSet, _size, int) \
679 \
680 nonstatic_field(ImmutableOopMapPair, _pc_offset, int) \
681 nonstatic_field(ImmutableOopMapPair, _oopmap_offset, int) \
682 \
764 nonstatic_field(ciField, _is_constant, bool) \
765 nonstatic_field(ciField, _constant_value, ciConstant) \
766 \
767 nonstatic_field(ciObjectFactory, _ci_metadata, GrowableArray<ciMetadata*>) \
768 nonstatic_field(ciObjectFactory, _symbols, GrowableArray<ciSymbol*>) \
769 \
770 nonstatic_field(ciConstant, _type, BasicType) \
771 nonstatic_field(ciConstant, _value._int, jint) \
772 nonstatic_field(ciConstant, _value._long, jlong) \
773 nonstatic_field(ciConstant, _value._float, jfloat) \
774 nonstatic_field(ciConstant, _value._double, jdouble) \
775 nonstatic_field(ciConstant, _value._object, ciObject*) \
776 \
777 /************/ \
778 /* Monitors */ \
779 /************/ \
780 \
781 volatile_nonstatic_field(ObjectMonitor, _header, markWord) \
782 unchecked_nonstatic_field(ObjectMonitor, _object, sizeof(void *)) /* NOTE: no type */ \
783 unchecked_nonstatic_field(ObjectMonitor, _owner, sizeof(void *)) /* NOTE: no type */ \
784 volatile_nonstatic_field(ObjectMonitor, _next_om, ObjectMonitor*) \
785 volatile_nonstatic_field(BasicLock, _displaced_header, markWord) \
786 nonstatic_field(ObjectMonitor, _contentions, int) \
787 volatile_nonstatic_field(ObjectMonitor, _waiters, int) \
788 volatile_nonstatic_field(ObjectMonitor, _recursions, intx) \
789 nonstatic_field(BasicObjectLock, _lock, BasicLock) \
790 nonstatic_field(BasicObjectLock, _obj, oop) \
791 static_field(ObjectSynchronizer, _in_use_list, MonitorList) \
792 volatile_nonstatic_field(MonitorList, _head, ObjectMonitor*) \
793 \
794 /*********************/ \
795 /* Matcher (C2 only) */ \
796 /*********************/ \
797 \
798 unchecked_c2_static_field(Matcher, _regEncode, sizeof(Matcher::_regEncode)) /* NOTE: no type */ \
799 \
800 c2_nonstatic_field(Node, _in, Node**) \
801 c2_nonstatic_field(Node, _out, Node**) \
802 c2_nonstatic_field(Node, _cnt, node_idx_t) \
803 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"
644 nonstatic_field(JavaThread, _jvmti_vthread, OopHandle) \
645 nonstatic_field(JavaThread, _scopedValueCache, OopHandle) \
646 nonstatic_field(JavaThread, _anchor, JavaFrameAnchor) \
647 nonstatic_field(JavaThread, _vm_result, oop) \
648 nonstatic_field(JavaThread, _vm_result_2, Metadata*) \
649 volatile_nonstatic_field(JavaThread, _current_pending_monitor, ObjectMonitor*) \
650 nonstatic_field(JavaThread, _current_pending_monitor_is_from_java, bool) \
651 volatile_nonstatic_field(JavaThread, _current_waiting_monitor, ObjectMonitor*) \
652 volatile_nonstatic_field(JavaThread, _suspend_flags, uint32_t) \
653 volatile_nonstatic_field(JavaThread, _exception_oop, oop) \
654 volatile_nonstatic_field(JavaThread, _exception_pc, address) \
655 volatile_nonstatic_field(JavaThread, _is_method_handle_return, int) \
656 nonstatic_field(JavaThread, _saved_exception_pc, address) \
657 volatile_nonstatic_field(JavaThread, _thread_state, JavaThreadState) \
658 nonstatic_field(JavaThread, _osthread, OSThread*) \
659 nonstatic_field(JavaThread, _stack_base, address) \
660 nonstatic_field(JavaThread, _stack_size, size_t) \
661 nonstatic_field(JavaThread, _vframe_array_head, vframeArray*) \
662 nonstatic_field(JavaThread, _vframe_array_last, vframeArray*) \
663 nonstatic_field(JavaThread, _active_handles, JNIHandleBlock*) \
664 nonstatic_field(JavaThread, _lock_id, int64_t) \
665 volatile_nonstatic_field(JavaThread, _terminated, JavaThread::TerminatedTypes) \
666 nonstatic_field(Thread, _resource_area, ResourceArea*) \
667 nonstatic_field(CompilerThread, _env, ciEnv*) \
668 \
669 /************/ \
670 /* OSThread */ \
671 /************/ \
672 \
673 volatile_nonstatic_field(OSThread, _state, ThreadState) \
674 \
675 /************************/ \
676 /* ImmutableOopMap */ \
677 /************************/ \
678 \
679 nonstatic_field(ImmutableOopMapSet, _count, int) \
680 nonstatic_field(ImmutableOopMapSet, _size, int) \
681 \
682 nonstatic_field(ImmutableOopMapPair, _pc_offset, int) \
683 nonstatic_field(ImmutableOopMapPair, _oopmap_offset, int) \
684 \
766 nonstatic_field(ciField, _is_constant, bool) \
767 nonstatic_field(ciField, _constant_value, ciConstant) \
768 \
769 nonstatic_field(ciObjectFactory, _ci_metadata, GrowableArray<ciMetadata*>) \
770 nonstatic_field(ciObjectFactory, _symbols, GrowableArray<ciSymbol*>) \
771 \
772 nonstatic_field(ciConstant, _type, BasicType) \
773 nonstatic_field(ciConstant, _value._int, jint) \
774 nonstatic_field(ciConstant, _value._long, jlong) \
775 nonstatic_field(ciConstant, _value._float, jfloat) \
776 nonstatic_field(ciConstant, _value._double, jdouble) \
777 nonstatic_field(ciConstant, _value._object, ciObject*) \
778 \
779 /************/ \
780 /* Monitors */ \
781 /************/ \
782 \
783 volatile_nonstatic_field(ObjectMonitor, _header, markWord) \
784 unchecked_nonstatic_field(ObjectMonitor, _object, sizeof(void *)) /* NOTE: no type */ \
785 unchecked_nonstatic_field(ObjectMonitor, _owner, sizeof(void *)) /* NOTE: no type */ \
786 unchecked_nonstatic_field(ObjectMonitor, _stack_locker, BasicLock*) \
787 volatile_nonstatic_field(ObjectMonitor, _next_om, ObjectMonitor*) \
788 volatile_nonstatic_field(BasicLock, _displaced_header, markWord) \
789 nonstatic_field(ObjectMonitor, _contentions, int) \
790 volatile_nonstatic_field(ObjectMonitor, _waiters, int) \
791 volatile_nonstatic_field(ObjectMonitor, _recursions, intx) \
792 nonstatic_field(BasicObjectLock, _lock, BasicLock) \
793 nonstatic_field(BasicObjectLock, _obj, oop) \
794 static_field(ObjectSynchronizer, _in_use_list, MonitorList) \
795 volatile_nonstatic_field(MonitorList, _head, ObjectMonitor*) \
796 \
797 /*********************/ \
798 /* Matcher (C2 only) */ \
799 /*********************/ \
800 \
801 unchecked_c2_static_field(Matcher, _regEncode, sizeof(Matcher::_regEncode)) /* NOTE: no type */ \
802 \
803 c2_nonstatic_field(Node, _in, Node**) \
804 c2_nonstatic_field(Node, _out, Node**) \
805 c2_nonstatic_field(Node, _cnt, node_idx_t) \
806 c2_nonstatic_field(Node, _max, node_idx_t) \
|