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