Mercurial > hg > truffle
comparison src/share/vm/utilities/dtrace.hpp @ 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 | 75982791ddb6 |
comparison
equal
deleted
inserted
replaced
3737:9dc19b7d89a3 | 4137:04b9a2566eec |
---|---|
23 */ | 23 */ |
24 | 24 |
25 #ifndef SHARE_VM_UTILITIES_DTRACE_HPP | 25 #ifndef SHARE_VM_UTILITIES_DTRACE_HPP |
26 #define SHARE_VM_UTILITIES_DTRACE_HPP | 26 #define SHARE_VM_UTILITIES_DTRACE_HPP |
27 | 27 |
28 #if defined(SOLARIS) && defined(DTRACE_ENABLED) | 28 #if defined(DTRACE_ENABLED) |
29 | 29 |
30 #include <sys/sdt.h> | 30 #include <sys/sdt.h> |
31 | 31 |
32 #define DTRACE_ONLY(x) x | 32 #define DTRACE_ONLY(x) x |
33 #define NOT_DTRACE(x) | 33 #define NOT_DTRACE(x) |
34 | 34 |
35 // Work around dtrace tail call bug 6672627 until it is fixed in solaris 10. | 35 // Work around dtrace tail call bug 6672627 until it is fixed in solaris 10. |
36 #define HS_DTRACE_WORKAROUND_TAIL_CALL_BUG() \ | 36 #define HS_DTRACE_WORKAROUND_TAIL_CALL_BUG() \ |
37 do { volatile size_t dtrace_workaround_tail_call_bug = 1; } while (0) | 37 do { volatile size_t dtrace_workaround_tail_call_bug = 1; } while (0) |
38 | 38 |
39 #else // ndef SOLARIS || ndef DTRACE_ENABLED | 39 #if defined(SOLARIS) |
40 #define USDT1 1 | |
41 #elif defined(__APPLE__) | |
42 #define USDT2 1 | |
43 #include <sys/types.h> | |
44 #include "dtracefiles/hotspot.h" | |
45 #include "dtracefiles/hotspot_jni.h" | |
46 #include "dtracefiles/hs_private.h" | |
47 #else | |
48 #error "dtrace enabled for unknown os" | |
49 #endif /* defined(SOLARIS) */ | |
50 | |
51 #else /* defined(DTRACE_ENABLED) */ | |
40 | 52 |
41 #define DTRACE_ONLY(x) | 53 #define DTRACE_ONLY(x) |
42 #define NOT_DTRACE(x) x | 54 #define NOT_DTRACE(x) x |
55 | |
56 #define HS_DTRACE_WORKAROUND_TAIL_CALL_BUG() | |
57 | |
58 #ifndef USDT2 | |
43 | 59 |
44 #define DTRACE_PROBE(a,b) {;} | 60 #define DTRACE_PROBE(a,b) {;} |
45 #define DTRACE_PROBE1(a,b,c) {;} | 61 #define DTRACE_PROBE1(a,b,c) {;} |
46 #define DTRACE_PROBE2(a,b,c,d) {;} | 62 #define DTRACE_PROBE2(a,b,c,d) {;} |
47 #define DTRACE_PROBE3(a,b,c,d,e) {;} | 63 #define DTRACE_PROBE3(a,b,c,d,e) {;} |
48 #define DTRACE_PROBE4(a,b,c,d,e,f) {;} | 64 #define DTRACE_PROBE4(a,b,c,d,e,f) {;} |
49 #define DTRACE_PROBE5(a,b,c,d,e,f,g) {;} | 65 #define DTRACE_PROBE5(a,b,c,d,e,f,g) {;} |
50 | 66 |
51 #define HS_DTRACE_WORKAROUND_TAIL_CALL_BUG() | 67 #else /* USDT2 */ |
52 | 68 |
53 #endif | 69 #include "dtrace_usdt2_disabled.hpp" |
70 #endif /* USDT2 */ | |
71 | |
72 #endif /* defined(DTRACE_ENABLED) */ | |
73 | |
74 #ifndef USDT2 | |
54 | 75 |
55 #define HS_DTRACE_PROBE_FN(provider,name)\ | 76 #define HS_DTRACE_PROBE_FN(provider,name)\ |
56 __dtrace_##provider##___##name | 77 __dtrace_##provider##___##name |
57 | 78 |
58 #define HS_DTRACE_PROBE_DECL_N(provider,name,args) \ | 79 #define HS_DTRACE_PROBE_DECL_N(provider,name,args) \ |
131 #define HS_DTRACE_PROBE10(provider,name,a0,a1,a2,a3,a4,a5,a6,a7,a8,a9)\ | 152 #define HS_DTRACE_PROBE10(provider,name,a0,a1,a2,a3,a4,a5,a6,a7,a8,a9)\ |
132 HS_DTRACE_PROBE_N(provider,name,((uintptr_t)a0,(uintptr_t)a1,(uintptr_t)a2,\ | 153 HS_DTRACE_PROBE_N(provider,name,((uintptr_t)a0,(uintptr_t)a1,(uintptr_t)a2,\ |
133 (uintptr_t)a3,(uintptr_t)a4,(uintptr_t)a5,(uintptr_t)a6,(uintptr_t)a7,\ | 154 (uintptr_t)a3,(uintptr_t)a4,(uintptr_t)a5,(uintptr_t)a6,(uintptr_t)a7,\ |
134 (uintptr_t)a8,(uintptr_t)a9)) | 155 (uintptr_t)a8,(uintptr_t)a9)) |
135 | 156 |
157 #endif /* !USDT2 */ | |
158 | |
136 #endif // SHARE_VM_UTILITIES_DTRACE_HPP | 159 #endif // SHARE_VM_UTILITIES_DTRACE_HPP |