comparison src/share/vm/runtime/vmThread.cpp @ 4137:04b9a2566eec

Merge with hsx23/hotspot.
author Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
date Sat, 17 Dec 2011 21:40:27 +0100
parents 436b4a3231bf
children b632e80fc9dc
comparison
equal deleted inserted replaced
3737:9dc19b7d89a3 4137:04b9a2566eec
44 # include "thread_solaris.inline.hpp" 44 # include "thread_solaris.inline.hpp"
45 #endif 45 #endif
46 #ifdef TARGET_OS_FAMILY_windows 46 #ifdef TARGET_OS_FAMILY_windows
47 # include "thread_windows.inline.hpp" 47 # include "thread_windows.inline.hpp"
48 #endif 48 #endif
49 49 #ifdef TARGET_OS_FAMILY_bsd
50 # include "thread_bsd.inline.hpp"
51 #endif
52
53 #ifndef USDT2
50 HS_DTRACE_PROBE_DECL3(hotspot, vmops__request, char *, uintptr_t, int); 54 HS_DTRACE_PROBE_DECL3(hotspot, vmops__request, char *, uintptr_t, int);
51 HS_DTRACE_PROBE_DECL3(hotspot, vmops__begin, char *, uintptr_t, int); 55 HS_DTRACE_PROBE_DECL3(hotspot, vmops__begin, char *, uintptr_t, int);
52 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 */
53 58
54 // 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
55 class VM_Dummy: public VM_Operation { 60 class VM_Dummy: public VM_Operation {
56 VMOp_Type type() const { return VMOp_Dummy; } 61 VMOp_Type type() const { return VMOp_Dummy; }
57 void doit() {}; 62 void doit() {};
157 162
158 //----------------------------------------------------------------- 163 //-----------------------------------------------------------------
159 // High-level interface 164 // High-level interface
160 bool VMOperationQueue::add(VM_Operation *op) { 165 bool VMOperationQueue::add(VM_Operation *op) {
161 166
167 #ifndef USDT2
162 HS_DTRACE_PROBE3(hotspot, vmops__request, op->name(), strlen(op->name()), 168 HS_DTRACE_PROBE3(hotspot, vmops__request, op->name(), strlen(op->name()),
163 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 */
164 175
165 // Encapsulates VM queue policy. Currently, that 176 // Encapsulates VM queue policy. Currently, that
166 // only involves putting them on the right list 177 // only involves putting them on the right list
167 if (op->evaluate_at_safepoint()) { 178 if (op->evaluate_at_safepoint()) {
168 queue_add_back(SafepointPriority, op); 179 queue_add_back(SafepointPriority, op);
355 void VMThread::evaluate_operation(VM_Operation* op) { 366 void VMThread::evaluate_operation(VM_Operation* op) {
356 ResourceMark rm; 367 ResourceMark rm;
357 368
358 { 369 {
359 PerfTraceTime vm_op_timer(perf_accumulated_vm_operation_time()); 370 PerfTraceTime vm_op_timer(perf_accumulated_vm_operation_time());
371 #ifndef USDT2
360 HS_DTRACE_PROBE3(hotspot, vmops__begin, op->name(), strlen(op->name()), 372 HS_DTRACE_PROBE3(hotspot, vmops__begin, op->name(), strlen(op->name()),
361 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 */
362 op->evaluate(); 379 op->evaluate();
380 #ifndef USDT2
363 HS_DTRACE_PROBE3(hotspot, vmops__end, op->name(), strlen(op->name()), 381 HS_DTRACE_PROBE3(hotspot, vmops__end, op->name(), strlen(op->name()),
364 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 */
365 } 388 }
366 389
367 // Last access of info in _cur_vm_operation! 390 // Last access of info in _cur_vm_operation!
368 bool c_heap_allocated = op->is_cheap_allocated(); 391 bool c_heap_allocated = op->is_cheap_allocated();
369 392