src/share/vm/runtime/vmThread.cpp

changeset 3202
436b4a3231bf
parent 3156
f08d439fab8c
child 3711
b632e80fc9dc
equal deleted inserted replaced
3201:2ef3386478e6 3202:436b4a3231bf
48 #endif 48 #endif
49 #ifdef TARGET_OS_FAMILY_bsd 49 #ifdef TARGET_OS_FAMILY_bsd
50 # include "thread_bsd.inline.hpp" 50 # include "thread_bsd.inline.hpp"
51 #endif 51 #endif
52 52
53 #ifndef USDT2
53 HS_DTRACE_PROBE_DECL3(hotspot, vmops__request, char *, uintptr_t, int); 54 HS_DTRACE_PROBE_DECL3(hotspot, vmops__request, char *, uintptr_t, int);
54 HS_DTRACE_PROBE_DECL3(hotspot, vmops__begin, char *, uintptr_t, int); 55 HS_DTRACE_PROBE_DECL3(hotspot, vmops__begin, char *, uintptr_t, int);
55 HS_DTRACE_PROBE_DECL3(hotspot, vmops__end, char *, uintptr_t, int); 56 HS_DTRACE_PROBE_DECL3(hotspot, vmops__end, char *, uintptr_t, int);
57 #endif /* !USDT2 */
56 58
57 // Dummy VM operation to act as first element in our circular double-linked list 59 // Dummy VM operation to act as first element in our circular double-linked list
58 class VM_Dummy: public VM_Operation { 60 class VM_Dummy: public VM_Operation {
59 VMOp_Type type() const { return VMOp_Dummy; } 61 VMOp_Type type() const { return VMOp_Dummy; }
60 void doit() {}; 62 void doit() {};
160 162
161 //----------------------------------------------------------------- 163 //-----------------------------------------------------------------
162 // High-level interface 164 // High-level interface
163 bool VMOperationQueue::add(VM_Operation *op) { 165 bool VMOperationQueue::add(VM_Operation *op) {
164 166
167 #ifndef USDT2
165 HS_DTRACE_PROBE3(hotspot, vmops__request, op->name(), strlen(op->name()), 168 HS_DTRACE_PROBE3(hotspot, vmops__request, op->name(), strlen(op->name()),
166 op->evaluation_mode()); 169 op->evaluation_mode());
170 #else /* USDT2 */
171 HOTSPOT_VMOPS_REQUEST(
172 (char *) op->name(), strlen(op->name()),
173 op->evaluation_mode());
174 #endif /* USDT2 */
167 175
168 // Encapsulates VM queue policy. Currently, that 176 // Encapsulates VM queue policy. Currently, that
169 // only involves putting them on the right list 177 // only involves putting them on the right list
170 if (op->evaluate_at_safepoint()) { 178 if (op->evaluate_at_safepoint()) {
171 queue_add_back(SafepointPriority, op); 179 queue_add_back(SafepointPriority, op);
358 void VMThread::evaluate_operation(VM_Operation* op) { 366 void VMThread::evaluate_operation(VM_Operation* op) {
359 ResourceMark rm; 367 ResourceMark rm;
360 368
361 { 369 {
362 PerfTraceTime vm_op_timer(perf_accumulated_vm_operation_time()); 370 PerfTraceTime vm_op_timer(perf_accumulated_vm_operation_time());
371 #ifndef USDT2
363 HS_DTRACE_PROBE3(hotspot, vmops__begin, op->name(), strlen(op->name()), 372 HS_DTRACE_PROBE3(hotspot, vmops__begin, op->name(), strlen(op->name()),
364 op->evaluation_mode()); 373 op->evaluation_mode());
374 #else /* USDT2 */
375 HOTSPOT_VMOPS_BEGIN(
376 (char *) op->name(), strlen(op->name()),
377 op->evaluation_mode());
378 #endif /* USDT2 */
365 op->evaluate(); 379 op->evaluate();
380 #ifndef USDT2
366 HS_DTRACE_PROBE3(hotspot, vmops__end, op->name(), strlen(op->name()), 381 HS_DTRACE_PROBE3(hotspot, vmops__end, op->name(), strlen(op->name()),
367 op->evaluation_mode()); 382 op->evaluation_mode());
383 #else /* USDT2 */
384 HOTSPOT_VMOPS_END(
385 (char *) op->name(), strlen(op->name()),
386 op->evaluation_mode());
387 #endif /* USDT2 */
368 } 388 }
369 389
370 // Last access of info in _cur_vm_operation! 390 // Last access of info in _cur_vm_operation!
371 bool c_heap_allocated = op->is_cheap_allocated(); 391 bool c_heap_allocated = op->is_cheap_allocated();
372 392

mercurial