109 template(ShenandoahInitUpdateRefs) \
110 template(ShenandoahFinalUpdateRefs) \
111 template(ShenandoahDegeneratedGC) \
112 template(Exit) \
113 template(LinuxDllLoad) \
114 template(RotateGCLog) \
115 template(WhiteBoxOperation) \
116 template(ClassLoaderStatsOperation) \
117 template(ClassLoaderHierarchyOperation) \
118 template(DumpHashtable) \
119 template(DumpTouchedMethods) \
120 template(MarkActiveNMethods) \
121 template(PrintCompileQueue) \
122 template(PrintClassHierarchy) \
123 template(ThreadSuspend) \
124 template(ThreadsSuspendJVMTI) \
125 template(ICBufferFull) \
126 template(ScavengeMonitors) \
127 template(PrintMetadata) \
128 template(GTestExecuteAtSafepoint) \
129
130 class VM_Operation: public CHeapObj<mtInternal> {
131 public:
132 enum Mode {
133 _safepoint, // blocking, safepoint, vm_op C-heap allocated
134 _no_safepoint, // blocking, no safepoint, vm_op C-Heap allocated
135 _concurrent, // non-blocking, no safepoint, vm_op C-Heap allocated
136 _async_safepoint // non-blocking, safepoint, vm_op C-Heap allocated
137 };
138
139 enum VMOp_Type {
140 VM_OPS_DO(VM_OP_ENUM)
141 VMOp_Terminating
142 };
143
144 private:
145 Thread* _calling_thread;
146 ThreadPriority _priority;
147 long _timestamp;
148 VM_Operation* _next;
|
109 template(ShenandoahInitUpdateRefs) \
110 template(ShenandoahFinalUpdateRefs) \
111 template(ShenandoahDegeneratedGC) \
112 template(Exit) \
113 template(LinuxDllLoad) \
114 template(RotateGCLog) \
115 template(WhiteBoxOperation) \
116 template(ClassLoaderStatsOperation) \
117 template(ClassLoaderHierarchyOperation) \
118 template(DumpHashtable) \
119 template(DumpTouchedMethods) \
120 template(MarkActiveNMethods) \
121 template(PrintCompileQueue) \
122 template(PrintClassHierarchy) \
123 template(ThreadSuspend) \
124 template(ThreadsSuspendJVMTI) \
125 template(ICBufferFull) \
126 template(ScavengeMonitors) \
127 template(PrintMetadata) \
128 template(GTestExecuteAtSafepoint) \
129 template(EpsilonCollect) \
130
131 class VM_Operation: public CHeapObj<mtInternal> {
132 public:
133 enum Mode {
134 _safepoint, // blocking, safepoint, vm_op C-heap allocated
135 _no_safepoint, // blocking, no safepoint, vm_op C-Heap allocated
136 _concurrent, // non-blocking, no safepoint, vm_op C-Heap allocated
137 _async_safepoint // non-blocking, safepoint, vm_op C-Heap allocated
138 };
139
140 enum VMOp_Type {
141 VM_OPS_DO(VM_OP_ENUM)
142 VMOp_Terminating
143 };
144
145 private:
146 Thread* _calling_thread;
147 ThreadPriority _priority;
148 long _timestamp;
149 VM_Operation* _next;
|