comparison src/share/vm/utilities/dtrace.hpp @ 4006:436b4a3231bf

7098194: integrate macosx-port changes Summary: Integrate bsd-port/hotspot and macosx-port/hotspot changes as of 2011.09.29. Reviewed-by: kvn, dholmes, never, phh Contributed-by: Christos Zoulas <christos@zoulas.com>, Greg Lewis <glewis@eyesbeyond.com>, Kurt Miller <kurt@intricatesoftware.com>, Alexander Strange <astrange@apple.com>, Mike Swingler <swingler@apple.com>, Roger Hoover <rhoover@apple.com>, Victor Hernandez <vhernandez@apple.com>, Pratik Solanki <psolanki@apple.com>
author dcubed
date Thu, 13 Oct 2011 09:35:42 -0700
parents f95d63e2154a
children 75982791ddb6
comparison
equal deleted inserted replaced
4005:2ef3386478e6 4006:436b4a3231bf
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