120 bool is_GC_thread() const { return true; }
121
122 // The ever running loop for the VMThread
123 void loop();
124
125 // Called to stop the VM thread
126 static void wait_for_vm_thread_exit();
127 static bool should_terminate() { return _should_terminate; }
128 static bool is_terminated() { return _terminated == true; }
129
130 // Execution of vm operation
131 static void execute(VM_Operation* op);
132
133 // Returns the current vm operation if any.
134 static VM_Operation* vm_operation() { return _cur_vm_operation; }
135
136 // Returns the single instance of VMThread.
137 static VMThread* vm_thread() { return _vm_thread; }
138
139 // GC support
140 void oops_do(OopClosure* f, CodeBlobClosure* cf);
141
142 // Debugging
143 void print_on(outputStream* st) const;
144 void print() const { print_on(tty); }
145 void verify();
146
147 // Performance measurement
148 static PerfCounter* perf_accumulated_vm_operation_time() { return _perf_accumulated_vm_operation_time; }
149
150 // Entry for starting vm thread
151 virtual void run();
152
153 // Creations/Destructions
154 static void create();
155 static void destroy();
156
157 private:
158 // VM_Operation support
159 static VM_Operation* _cur_vm_operation; // Current VM operation
160 static VMOperationQueue* _vm_queue; // Queue (w/ policy) of VM operations
|
120 bool is_GC_thread() const { return true; }
121
122 // The ever running loop for the VMThread
123 void loop();
124
125 // Called to stop the VM thread
126 static void wait_for_vm_thread_exit();
127 static bool should_terminate() { return _should_terminate; }
128 static bool is_terminated() { return _terminated == true; }
129
130 // Execution of vm operation
131 static void execute(VM_Operation* op);
132
133 // Returns the current vm operation if any.
134 static VM_Operation* vm_operation() { return _cur_vm_operation; }
135
136 // Returns the single instance of VMThread.
137 static VMThread* vm_thread() { return _vm_thread; }
138
139 // GC support
140 void oops_do(OopClosure* f, CLDToOopClosure* cld_f, CodeBlobClosure* cf);
141
142 // Debugging
143 void print_on(outputStream* st) const;
144 void print() const { print_on(tty); }
145 void verify();
146
147 // Performance measurement
148 static PerfCounter* perf_accumulated_vm_operation_time() { return _perf_accumulated_vm_operation_time; }
149
150 // Entry for starting vm thread
151 virtual void run();
152
153 // Creations/Destructions
154 static void create();
155 static void destroy();
156
157 private:
158 // VM_Operation support
159 static VM_Operation* _cur_vm_operation; // Current VM operation
160 static VMOperationQueue* _vm_queue; // Queue (w/ policy) of VM operations
|