118
119 void verify();
120
121 // Performance measurement
122 static PerfCounter* perf_accumulated_vm_operation_time() {
123 return _perf_accumulated_vm_operation_time;
124 }
125
126 // Entry for starting vm thread
127 virtual void run();
128
129 // Creations/Destructions
130 static void create();
131 static void destroy();
132
133 static void wait_until_executed(VM_Operation* op);
134
135 // Printing
136 const char* type_name() const { return "VMThread"; }
137
138 private:
139 // VM_Operation support
140 static VM_Operation* _cur_vm_operation; // Current VM operation
141 static VM_Operation* _next_vm_operation; // Next VM operation
142
143 bool set_next_operation(VM_Operation *op); // Set the _next_vm_operation if possible.
144
145 // Pointer to single-instance of VM thread
146 static VMThread* _vm_thread;
147 };
148
149 #endif // SHARE_RUNTIME_VMTHREAD_HPP
|
118
119 void verify();
120
121 // Performance measurement
122 static PerfCounter* perf_accumulated_vm_operation_time() {
123 return _perf_accumulated_vm_operation_time;
124 }
125
126 // Entry for starting vm thread
127 virtual void run();
128
129 // Creations/Destructions
130 static void create();
131 static void destroy();
132
133 static void wait_until_executed(VM_Operation* op);
134
135 // Printing
136 const char* type_name() const { return "VMThread"; }
137
138 static void init_counters();
139 static void print_counters_on(outputStream* st);
140
141 private:
142 // VM_Operation support
143 static VM_Operation* _cur_vm_operation; // Current VM operation
144 static VM_Operation* _next_vm_operation; // Next VM operation
145
146 bool set_next_operation(VM_Operation *op); // Set the _next_vm_operation if possible.
147
148 // Pointer to single-instance of VM thread
149 static VMThread* _vm_thread;
150
151 static PerfTickCounters* get_perf_timer_for(VM_Operation* op);
152 static PerfCounter* get_perf_counter_for(VM_Operation* op);
153 };
154
155 #endif // SHARE_RUNTIME_VMTHREAD_HPP
|