annotate src/share/vm/utilities/dtrace.hpp @ 14278:a3ba776d6ab6

8030812: Change the solaris DTrace implementation to use USDT2 instead of USDT1 Reviewed-by: coleenp, sspitsyn, dsamersoff
author sla
date Thu, 16 Jan 2014 20:14:21 +0100
parents 75982791ddb6
children a00b8f42c4c4
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
a61af66fc99e Initial load
duke
parents:
diff changeset
1 /*
6837
75982791ddb6 7170638: Use DTRACE_PROBE[N] in JNI Set and SetStatic Field.
coleenp
parents: 4006
diff changeset
2 * Copyright (c) 2005, 2012, Oracle and/or its affiliates. All rights reserved.
75982791ddb6 7170638: Use DTRACE_PROBE[N] in JNI Set and SetStatic Field.
coleenp
parents: 4006
diff changeset
3 * Copyright (c) 2009, 2012 Red Hat, Inc.
0
a61af66fc99e Initial load
duke
parents:
diff changeset
4 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
a61af66fc99e Initial load
duke
parents:
diff changeset
5 *
a61af66fc99e Initial load
duke
parents:
diff changeset
6 * This code is free software; you can redistribute it and/or modify it
a61af66fc99e Initial load
duke
parents:
diff changeset
7 * under the terms of the GNU General Public License version 2 only, as
a61af66fc99e Initial load
duke
parents:
diff changeset
8 * published by the Free Software Foundation.
a61af66fc99e Initial load
duke
parents:
diff changeset
9 *
a61af66fc99e Initial load
duke
parents:
diff changeset
10 * This code is distributed in the hope that it will be useful, but WITHOUT
a61af66fc99e Initial load
duke
parents:
diff changeset
11 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
a61af66fc99e Initial load
duke
parents:
diff changeset
12 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
a61af66fc99e Initial load
duke
parents:
diff changeset
13 * version 2 for more details (a copy is included in the LICENSE file that
a61af66fc99e Initial load
duke
parents:
diff changeset
14 * accompanied this code).
a61af66fc99e Initial load
duke
parents:
diff changeset
15 *
a61af66fc99e Initial load
duke
parents:
diff changeset
16 * You should have received a copy of the GNU General Public License version
a61af66fc99e Initial load
duke
parents:
diff changeset
17 * 2 along with this work; if not, write to the Free Software Foundation,
a61af66fc99e Initial load
duke
parents:
diff changeset
18 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
a61af66fc99e Initial load
duke
parents:
diff changeset
19 *
1552
c18cbe5936b8 6941466: Oracle rebranding changes for Hotspot repositories
trims
parents: 1547
diff changeset
20 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
c18cbe5936b8 6941466: Oracle rebranding changes for Hotspot repositories
trims
parents: 1547
diff changeset
21 * or visit www.oracle.com if you need additional information or have any
c18cbe5936b8 6941466: Oracle rebranding changes for Hotspot repositories
trims
parents: 1547
diff changeset
22 * questions.
0
a61af66fc99e Initial load
duke
parents:
diff changeset
23 *
a61af66fc99e Initial load
duke
parents:
diff changeset
24 */
a61af66fc99e Initial load
duke
parents:
diff changeset
25
1972
f95d63e2154a 6989984: Use standard include model for Hospot
stefank
parents: 1552
diff changeset
26 #ifndef SHARE_VM_UTILITIES_DTRACE_HPP
f95d63e2154a 6989984: Use standard include model for Hospot
stefank
parents: 1552
diff changeset
27 #define SHARE_VM_UTILITIES_DTRACE_HPP
f95d63e2154a 6989984: Use standard include model for Hospot
stefank
parents: 1552
diff changeset
28
4006
436b4a3231bf 7098194: integrate macosx-port changes
dcubed
parents: 1972
diff changeset
29 #if defined(DTRACE_ENABLED)
0
a61af66fc99e Initial load
duke
parents:
diff changeset
30
a61af66fc99e Initial load
duke
parents:
diff changeset
31 #include <sys/sdt.h>
a61af66fc99e Initial load
duke
parents:
diff changeset
32
a61af66fc99e Initial load
duke
parents:
diff changeset
33 #define DTRACE_ONLY(x) x
a61af66fc99e Initial load
duke
parents:
diff changeset
34 #define NOT_DTRACE(x)
a61af66fc99e Initial load
duke
parents:
diff changeset
35
6837
75982791ddb6 7170638: Use DTRACE_PROBE[N] in JNI Set and SetStatic Field.
coleenp
parents: 4006
diff changeset
36 #if defined(SOLARIS)
1547
fb1a39993f69 6951319: enable solaris builds using Sun Studio 12 update 1
jcoomes
parents: 0
diff changeset
37 // Work around dtrace tail call bug 6672627 until it is fixed in solaris 10.
fb1a39993f69 6951319: enable solaris builds using Sun Studio 12 update 1
jcoomes
parents: 0
diff changeset
38 #define HS_DTRACE_WORKAROUND_TAIL_CALL_BUG() \
fb1a39993f69 6951319: enable solaris builds using Sun Studio 12 update 1
jcoomes
parents: 0
diff changeset
39 do { volatile size_t dtrace_workaround_tail_call_bug = 1; } while (0)
fb1a39993f69 6951319: enable solaris builds using Sun Studio 12 update 1
jcoomes
parents: 0
diff changeset
40
14278
a3ba776d6ab6 8030812: Change the solaris DTrace implementation to use USDT2 instead of USDT1
sla
parents: 6837
diff changeset
41 #define USDT2 1
a3ba776d6ab6 8030812: Change the solaris DTrace implementation to use USDT2 instead of USDT1
sla
parents: 6837
diff changeset
42 #include "dtracefiles/hotspot.h"
a3ba776d6ab6 8030812: Change the solaris DTrace implementation to use USDT2 instead of USDT1
sla
parents: 6837
diff changeset
43 #include "dtracefiles/hotspot_jni.h"
a3ba776d6ab6 8030812: Change the solaris DTrace implementation to use USDT2 instead of USDT1
sla
parents: 6837
diff changeset
44 #include "dtracefiles/hs_private.h"
6837
75982791ddb6 7170638: Use DTRACE_PROBE[N] in JNI Set and SetStatic Field.
coleenp
parents: 4006
diff changeset
45 #elif defined(LINUX)
75982791ddb6 7170638: Use DTRACE_PROBE[N] in JNI Set and SetStatic Field.
coleenp
parents: 4006
diff changeset
46 #define HS_DTRACE_WORKAROUND_TAIL_CALL_BUG()
4006
436b4a3231bf 7098194: integrate macosx-port changes
dcubed
parents: 1972
diff changeset
47 #define USDT1 1
436b4a3231bf 7098194: integrate macosx-port changes
dcubed
parents: 1972
diff changeset
48 #elif defined(__APPLE__)
6837
75982791ddb6 7170638: Use DTRACE_PROBE[N] in JNI Set and SetStatic Field.
coleenp
parents: 4006
diff changeset
49 #define HS_DTRACE_WORKAROUND_TAIL_CALL_BUG()
4006
436b4a3231bf 7098194: integrate macosx-port changes
dcubed
parents: 1972
diff changeset
50 #define USDT2 1
436b4a3231bf 7098194: integrate macosx-port changes
dcubed
parents: 1972
diff changeset
51 #include <sys/types.h>
436b4a3231bf 7098194: integrate macosx-port changes
dcubed
parents: 1972
diff changeset
52 #include "dtracefiles/hotspot.h"
436b4a3231bf 7098194: integrate macosx-port changes
dcubed
parents: 1972
diff changeset
53 #include "dtracefiles/hotspot_jni.h"
436b4a3231bf 7098194: integrate macosx-port changes
dcubed
parents: 1972
diff changeset
54 #include "dtracefiles/hs_private.h"
436b4a3231bf 7098194: integrate macosx-port changes
dcubed
parents: 1972
diff changeset
55 #else
436b4a3231bf 7098194: integrate macosx-port changes
dcubed
parents: 1972
diff changeset
56 #error "dtrace enabled for unknown os"
436b4a3231bf 7098194: integrate macosx-port changes
dcubed
parents: 1972
diff changeset
57 #endif /* defined(SOLARIS) */
436b4a3231bf 7098194: integrate macosx-port changes
dcubed
parents: 1972
diff changeset
58
436b4a3231bf 7098194: integrate macosx-port changes
dcubed
parents: 1972
diff changeset
59 #else /* defined(DTRACE_ENABLED) */
0
a61af66fc99e Initial load
duke
parents:
diff changeset
60
a61af66fc99e Initial load
duke
parents:
diff changeset
61 #define DTRACE_ONLY(x)
a61af66fc99e Initial load
duke
parents:
diff changeset
62 #define NOT_DTRACE(x) x
a61af66fc99e Initial load
duke
parents:
diff changeset
63
4006
436b4a3231bf 7098194: integrate macosx-port changes
dcubed
parents: 1972
diff changeset
64 #define HS_DTRACE_WORKAROUND_TAIL_CALL_BUG()
436b4a3231bf 7098194: integrate macosx-port changes
dcubed
parents: 1972
diff changeset
65
436b4a3231bf 7098194: integrate macosx-port changes
dcubed
parents: 1972
diff changeset
66 #ifndef USDT2
436b4a3231bf 7098194: integrate macosx-port changes
dcubed
parents: 1972
diff changeset
67
0
a61af66fc99e Initial load
duke
parents:
diff changeset
68 #define DTRACE_PROBE(a,b) {;}
a61af66fc99e Initial load
duke
parents:
diff changeset
69 #define DTRACE_PROBE1(a,b,c) {;}
a61af66fc99e Initial load
duke
parents:
diff changeset
70 #define DTRACE_PROBE2(a,b,c,d) {;}
a61af66fc99e Initial load
duke
parents:
diff changeset
71 #define DTRACE_PROBE3(a,b,c,d,e) {;}
a61af66fc99e Initial load
duke
parents:
diff changeset
72 #define DTRACE_PROBE4(a,b,c,d,e,f) {;}
a61af66fc99e Initial load
duke
parents:
diff changeset
73 #define DTRACE_PROBE5(a,b,c,d,e,f,g) {;}
6837
75982791ddb6 7170638: Use DTRACE_PROBE[N] in JNI Set and SetStatic Field.
coleenp
parents: 4006
diff changeset
74 #define DTRACE_PROBE6(a,b,c,d,e,f,g,h) {;}
75982791ddb6 7170638: Use DTRACE_PROBE[N] in JNI Set and SetStatic Field.
coleenp
parents: 4006
diff changeset
75 #define DTRACE_PROBE7(a,b,c,d,e,f,g,h,i) {;}
75982791ddb6 7170638: Use DTRACE_PROBE[N] in JNI Set and SetStatic Field.
coleenp
parents: 4006
diff changeset
76 #define DTRACE_PROBE8(a,b,c,d,e,f,g,h,i,j) {;}
75982791ddb6 7170638: Use DTRACE_PROBE[N] in JNI Set and SetStatic Field.
coleenp
parents: 4006
diff changeset
77 #define DTRACE_PROBE9(a,b,c,d,e,f,g,h,i,j,k) {;}
75982791ddb6 7170638: Use DTRACE_PROBE[N] in JNI Set and SetStatic Field.
coleenp
parents: 4006
diff changeset
78 #define DTRACE_PROBE10(a,b,c,d,e,f,g,h,i,j,k,l) {;}
0
a61af66fc99e Initial load
duke
parents:
diff changeset
79
4006
436b4a3231bf 7098194: integrate macosx-port changes
dcubed
parents: 1972
diff changeset
80 #else /* USDT2 */
1547
fb1a39993f69 6951319: enable solaris builds using Sun Studio 12 update 1
jcoomes
parents: 0
diff changeset
81
4006
436b4a3231bf 7098194: integrate macosx-port changes
dcubed
parents: 1972
diff changeset
82 #include "dtrace_usdt2_disabled.hpp"
436b4a3231bf 7098194: integrate macosx-port changes
dcubed
parents: 1972
diff changeset
83 #endif /* USDT2 */
436b4a3231bf 7098194: integrate macosx-port changes
dcubed
parents: 1972
diff changeset
84
436b4a3231bf 7098194: integrate macosx-port changes
dcubed
parents: 1972
diff changeset
85 #endif /* defined(DTRACE_ENABLED) */
436b4a3231bf 7098194: integrate macosx-port changes
dcubed
parents: 1972
diff changeset
86
436b4a3231bf 7098194: integrate macosx-port changes
dcubed
parents: 1972
diff changeset
87 #ifndef USDT2
0
a61af66fc99e Initial load
duke
parents:
diff changeset
88
a61af66fc99e Initial load
duke
parents:
diff changeset
89 #define HS_DTRACE_PROBE_FN(provider,name)\
a61af66fc99e Initial load
duke
parents:
diff changeset
90 __dtrace_##provider##___##name
a61af66fc99e Initial load
duke
parents:
diff changeset
91
6837
75982791ddb6 7170638: Use DTRACE_PROBE[N] in JNI Set and SetStatic Field.
coleenp
parents: 4006
diff changeset
92 #ifdef SOLARIS
75982791ddb6 7170638: Use DTRACE_PROBE[N] in JNI Set and SetStatic Field.
coleenp
parents: 4006
diff changeset
93 // Solaris dtrace needs actual extern function decls.
0
a61af66fc99e Initial load
duke
parents:
diff changeset
94 #define HS_DTRACE_PROBE_DECL_N(provider,name,args) \
a61af66fc99e Initial load
duke
parents:
diff changeset
95 DTRACE_ONLY(extern "C" void HS_DTRACE_PROBE_FN(provider,name) args)
a61af66fc99e Initial load
duke
parents:
diff changeset
96 #define HS_DTRACE_PROBE_CDECL_N(provider,name,args) \
a61af66fc99e Initial load
duke
parents:
diff changeset
97 DTRACE_ONLY(extern void HS_DTRACE_PROBE_FN(provider,name) args)
6837
75982791ddb6 7170638: Use DTRACE_PROBE[N] in JNI Set and SetStatic Field.
coleenp
parents: 4006
diff changeset
98 #else
75982791ddb6 7170638: Use DTRACE_PROBE[N] in JNI Set and SetStatic Field.
coleenp
parents: 4006
diff changeset
99 // Systemtap dtrace compatible probes on GNU/Linux don't.
75982791ddb6 7170638: Use DTRACE_PROBE[N] in JNI Set and SetStatic Field.
coleenp
parents: 4006
diff changeset
100 // If dtrace is disabled this macro becomes NULL
75982791ddb6 7170638: Use DTRACE_PROBE[N] in JNI Set and SetStatic Field.
coleenp
parents: 4006
diff changeset
101 #define HS_DTRACE_PROBE_DECL_N(provider,name,args)
75982791ddb6 7170638: Use DTRACE_PROBE[N] in JNI Set and SetStatic Field.
coleenp
parents: 4006
diff changeset
102 #define HS_DTRACE_PROBE_CDECL_N(provider,name,args)
75982791ddb6 7170638: Use DTRACE_PROBE[N] in JNI Set and SetStatic Field.
coleenp
parents: 4006
diff changeset
103 #endif
0
a61af66fc99e Initial load
duke
parents:
diff changeset
104
a61af66fc99e Initial load
duke
parents:
diff changeset
105 /* Dtrace probe declarations */
a61af66fc99e Initial load
duke
parents:
diff changeset
106 #define HS_DTRACE_PROBE_DECL(provider,name) \
a61af66fc99e Initial load
duke
parents:
diff changeset
107 HS_DTRACE_PROBE_DECL0(provider,name)
a61af66fc99e Initial load
duke
parents:
diff changeset
108 #define HS_DTRACE_PROBE_DECL0(provider,name)\
a61af66fc99e Initial load
duke
parents:
diff changeset
109 HS_DTRACE_PROBE_DECL_N(provider,name,(void))
a61af66fc99e Initial load
duke
parents:
diff changeset
110 #define HS_DTRACE_PROBE_DECL1(provider,name,t0)\
a61af66fc99e Initial load
duke
parents:
diff changeset
111 HS_DTRACE_PROBE_DECL_N(provider,name,(uintptr_t))
a61af66fc99e Initial load
duke
parents:
diff changeset
112 #define HS_DTRACE_PROBE_DECL2(provider,name,t0,t1)\
a61af66fc99e Initial load
duke
parents:
diff changeset
113 HS_DTRACE_PROBE_DECL_N(provider,name,(uintptr_t,uintptr_t))
a61af66fc99e Initial load
duke
parents:
diff changeset
114 #define HS_DTRACE_PROBE_DECL3(provider,name,t0,t1,t2)\
a61af66fc99e Initial load
duke
parents:
diff changeset
115 HS_DTRACE_PROBE_DECL_N(provider,name,(uintptr_t,uintptr_t,uintptr_t))
a61af66fc99e Initial load
duke
parents:
diff changeset
116 #define HS_DTRACE_PROBE_DECL4(provider,name,t0,t1,t2,t3)\
a61af66fc99e Initial load
duke
parents:
diff changeset
117 HS_DTRACE_PROBE_DECL_N(provider,name,(uintptr_t,uintptr_t,uintptr_t,\
a61af66fc99e Initial load
duke
parents:
diff changeset
118 uintptr_t))
a61af66fc99e Initial load
duke
parents:
diff changeset
119 #define HS_DTRACE_PROBE_DECL5(provider,name,t0,t1,t2,t3,t4)\
a61af66fc99e Initial load
duke
parents:
diff changeset
120 HS_DTRACE_PROBE_DECL_N(provider,name,(\
a61af66fc99e Initial load
duke
parents:
diff changeset
121 uintptr_t,uintptr_t,uintptr_t,uintptr_t,uintptr_t))
a61af66fc99e Initial load
duke
parents:
diff changeset
122 #define HS_DTRACE_PROBE_DECL6(provider,name,t0,t1,t2,t3,t4,t5)\
a61af66fc99e Initial load
duke
parents:
diff changeset
123 HS_DTRACE_PROBE_DECL_N(provider,name,(\
a61af66fc99e Initial load
duke
parents:
diff changeset
124 uintptr_t,uintptr_t,uintptr_t,uintptr_t,uintptr_t,uintptr_t))
a61af66fc99e Initial load
duke
parents:
diff changeset
125 #define HS_DTRACE_PROBE_DECL7(provider,name,t0,t1,t2,t3,t4,t5,t6)\
a61af66fc99e Initial load
duke
parents:
diff changeset
126 HS_DTRACE_PROBE_DECL_N(provider,name,(\
a61af66fc99e Initial load
duke
parents:
diff changeset
127 uintptr_t,uintptr_t,uintptr_t,uintptr_t,uintptr_t,uintptr_t,uintptr_t))
a61af66fc99e Initial load
duke
parents:
diff changeset
128 #define HS_DTRACE_PROBE_DECL8(provider,name,t0,t1,t2,t3,t4,t5,t6,t7)\
a61af66fc99e Initial load
duke
parents:
diff changeset
129 HS_DTRACE_PROBE_DECL_N(provider,name,(\
a61af66fc99e Initial load
duke
parents:
diff changeset
130 uintptr_t,uintptr_t,uintptr_t,uintptr_t,uintptr_t,uintptr_t,uintptr_t,\
a61af66fc99e Initial load
duke
parents:
diff changeset
131 uintptr_t))
a61af66fc99e Initial load
duke
parents:
diff changeset
132 #define HS_DTRACE_PROBE_DECL9(provider,name,t0,t1,t2,t3,t4,t5,t6,t7,t8)\
a61af66fc99e Initial load
duke
parents:
diff changeset
133 HS_DTRACE_PROBE_DECL_N(provider,name,(\
a61af66fc99e Initial load
duke
parents:
diff changeset
134 uintptr_t,uintptr_t,uintptr_t,uintptr_t,uintptr_t,uintptr_t,uintptr_t,\
a61af66fc99e Initial load
duke
parents:
diff changeset
135 uintptr_t,uintptr_t))
a61af66fc99e Initial load
duke
parents:
diff changeset
136 #define HS_DTRACE_PROBE_DECL10(provider,name,t0,t1,t2,t3,t4,t5,t6,t7,t8,t9)\
a61af66fc99e Initial load
duke
parents:
diff changeset
137 HS_DTRACE_PROBE_DECL_N(provider,name,(\
a61af66fc99e Initial load
duke
parents:
diff changeset
138 uintptr_t,uintptr_t,uintptr_t,uintptr_t,uintptr_t,uintptr_t,uintptr_t,\
a61af66fc99e Initial load
duke
parents:
diff changeset
139 uintptr_t,uintptr_t,uintptr_t))
a61af66fc99e Initial load
duke
parents:
diff changeset
140
a61af66fc99e Initial load
duke
parents:
diff changeset
141 /* Dtrace probe definitions */
6837
75982791ddb6 7170638: Use DTRACE_PROBE[N] in JNI Set and SetStatic Field.
coleenp
parents: 4006
diff changeset
142 #if defined(SOLARIS)
75982791ddb6 7170638: Use DTRACE_PROBE[N] in JNI Set and SetStatic Field.
coleenp
parents: 4006
diff changeset
143 // Solaris dtrace uses actual function calls.
0
a61af66fc99e Initial load
duke
parents:
diff changeset
144 #define HS_DTRACE_PROBE_N(provider,name, args) \
a61af66fc99e Initial load
duke
parents:
diff changeset
145 DTRACE_ONLY(HS_DTRACE_PROBE_FN(provider,name) args)
a61af66fc99e Initial load
duke
parents:
diff changeset
146
a61af66fc99e Initial load
duke
parents:
diff changeset
147 #define HS_DTRACE_PROBE(provider,name) HS_DTRACE_PROBE0(provider,name)
a61af66fc99e Initial load
duke
parents:
diff changeset
148 #define HS_DTRACE_PROBE0(provider,name)\
a61af66fc99e Initial load
duke
parents:
diff changeset
149 HS_DTRACE_PROBE_N(provider,name,())
a61af66fc99e Initial load
duke
parents:
diff changeset
150 #define HS_DTRACE_PROBE1(provider,name,a0)\
a61af66fc99e Initial load
duke
parents:
diff changeset
151 HS_DTRACE_PROBE_N(provider,name,((uintptr_t)a0))
a61af66fc99e Initial load
duke
parents:
diff changeset
152 #define HS_DTRACE_PROBE2(provider,name,a0,a1)\
a61af66fc99e Initial load
duke
parents:
diff changeset
153 HS_DTRACE_PROBE_N(provider,name,((uintptr_t)a0,(uintptr_t)a1))
a61af66fc99e Initial load
duke
parents:
diff changeset
154 #define HS_DTRACE_PROBE3(provider,name,a0,a1,a2)\
a61af66fc99e Initial load
duke
parents:
diff changeset
155 HS_DTRACE_PROBE_N(provider,name,((uintptr_t)a0,(uintptr_t)a1,(uintptr_t)a2))
a61af66fc99e Initial load
duke
parents:
diff changeset
156 #define HS_DTRACE_PROBE4(provider,name,a0,a1,a2,a3)\
a61af66fc99e Initial load
duke
parents:
diff changeset
157 HS_DTRACE_PROBE_N(provider,name,((uintptr_t)a0,(uintptr_t)a1,(uintptr_t)a2,\
a61af66fc99e Initial load
duke
parents:
diff changeset
158 (uintptr_t)a3))
a61af66fc99e Initial load
duke
parents:
diff changeset
159 #define HS_DTRACE_PROBE5(provider,name,a0,a1,a2,a3,a4)\
a61af66fc99e Initial load
duke
parents:
diff changeset
160 HS_DTRACE_PROBE_N(provider,name,((uintptr_t)a0,(uintptr_t)a1,(uintptr_t)a2,\
a61af66fc99e Initial load
duke
parents:
diff changeset
161 (uintptr_t)a3,(uintptr_t)a4))
a61af66fc99e Initial load
duke
parents:
diff changeset
162 #define HS_DTRACE_PROBE6(provider,name,a0,a1,a2,a3,a4,a5)\
a61af66fc99e Initial load
duke
parents:
diff changeset
163 HS_DTRACE_PROBE_N(provider,name,((uintptr_t)a0,(uintptr_t)a1,(uintptr_t)a2,\
a61af66fc99e Initial load
duke
parents:
diff changeset
164 (uintptr_t)a3,(uintptr_t)a4,(uintptr_t)a5))
a61af66fc99e Initial load
duke
parents:
diff changeset
165 #define HS_DTRACE_PROBE7(provider,name,a0,a1,a2,a3,a4,a5,a6)\
a61af66fc99e Initial load
duke
parents:
diff changeset
166 HS_DTRACE_PROBE_N(provider,name,((uintptr_t)a0,(uintptr_t)a1,(uintptr_t)a2,\
a61af66fc99e Initial load
duke
parents:
diff changeset
167 (uintptr_t)a3,(uintptr_t)a4,(uintptr_t)a5,(uintptr_t)a6))
a61af66fc99e Initial load
duke
parents:
diff changeset
168 #define HS_DTRACE_PROBE8(provider,name,a0,a1,a2,a3,a4,a5,a6,a7)\
a61af66fc99e Initial load
duke
parents:
diff changeset
169 HS_DTRACE_PROBE_N(provider,name,((uintptr_t)a0,(uintptr_t)a1,(uintptr_t)a2,\
a61af66fc99e Initial load
duke
parents:
diff changeset
170 (uintptr_t)a3,(uintptr_t)a4,(uintptr_t)a5,(uintptr_t)a6,(uintptr_t)a7))
a61af66fc99e Initial load
duke
parents:
diff changeset
171 #define HS_DTRACE_PROBE9(provider,name,a0,a1,a2,a3,a4,a5,a6,a7,a8)\
a61af66fc99e Initial load
duke
parents:
diff changeset
172 HS_DTRACE_PROBE_N(provider,name,((uintptr_t)a0,(uintptr_t)a1,(uintptr_t)a2,\
a61af66fc99e Initial load
duke
parents:
diff changeset
173 (uintptr_t)a3,(uintptr_t)a4,(uintptr_t)a5,(uintptr_t)a6,(uintptr_t)a7,\
a61af66fc99e Initial load
duke
parents:
diff changeset
174 (uintptr_t)a8))
a61af66fc99e Initial load
duke
parents:
diff changeset
175 #define HS_DTRACE_PROBE10(provider,name,a0,a1,a2,a3,a4,a5,a6,a7,a8,a9)\
a61af66fc99e Initial load
duke
parents:
diff changeset
176 HS_DTRACE_PROBE_N(provider,name,((uintptr_t)a0,(uintptr_t)a1,(uintptr_t)a2,\
a61af66fc99e Initial load
duke
parents:
diff changeset
177 (uintptr_t)a3,(uintptr_t)a4,(uintptr_t)a5,(uintptr_t)a6,(uintptr_t)a7,\
a61af66fc99e Initial load
duke
parents:
diff changeset
178 (uintptr_t)a8,(uintptr_t)a9))
6837
75982791ddb6 7170638: Use DTRACE_PROBE[N] in JNI Set and SetStatic Field.
coleenp
parents: 4006
diff changeset
179 #else
75982791ddb6 7170638: Use DTRACE_PROBE[N] in JNI Set and SetStatic Field.
coleenp
parents: 4006
diff changeset
180 // Systemtap dtrace compatible probes on GNU/Linux use direct macros.
75982791ddb6 7170638: Use DTRACE_PROBE[N] in JNI Set and SetStatic Field.
coleenp
parents: 4006
diff changeset
181 // If dtrace is disabled this macro becomes NULL
75982791ddb6 7170638: Use DTRACE_PROBE[N] in JNI Set and SetStatic Field.
coleenp
parents: 4006
diff changeset
182 #define HS_DTRACE_PROBE(provider,name) HS_DTRACE_PROBE0(provider,name)
75982791ddb6 7170638: Use DTRACE_PROBE[N] in JNI Set and SetStatic Field.
coleenp
parents: 4006
diff changeset
183 #define HS_DTRACE_PROBE0(provider,name)\
75982791ddb6 7170638: Use DTRACE_PROBE[N] in JNI Set and SetStatic Field.
coleenp
parents: 4006
diff changeset
184 DTRACE_PROBE(provider,name)
75982791ddb6 7170638: Use DTRACE_PROBE[N] in JNI Set and SetStatic Field.
coleenp
parents: 4006
diff changeset
185 #define HS_DTRACE_PROBE1(provider,name,a0)\
75982791ddb6 7170638: Use DTRACE_PROBE[N] in JNI Set and SetStatic Field.
coleenp
parents: 4006
diff changeset
186 DTRACE_PROBE1(provider,name,a0)
75982791ddb6 7170638: Use DTRACE_PROBE[N] in JNI Set and SetStatic Field.
coleenp
parents: 4006
diff changeset
187 #define HS_DTRACE_PROBE2(provider,name,a0,a1)\
75982791ddb6 7170638: Use DTRACE_PROBE[N] in JNI Set and SetStatic Field.
coleenp
parents: 4006
diff changeset
188 DTRACE_PROBE2(provider,name,a0,a1)
75982791ddb6 7170638: Use DTRACE_PROBE[N] in JNI Set and SetStatic Field.
coleenp
parents: 4006
diff changeset
189 #define HS_DTRACE_PROBE3(provider,name,a0,a1,a2)\
75982791ddb6 7170638: Use DTRACE_PROBE[N] in JNI Set and SetStatic Field.
coleenp
parents: 4006
diff changeset
190 DTRACE_PROBE3(provider,name,a0,a1,a2)
75982791ddb6 7170638: Use DTRACE_PROBE[N] in JNI Set and SetStatic Field.
coleenp
parents: 4006
diff changeset
191 #define HS_DTRACE_PROBE4(provider,name,a0,a1,a2,a3)\
75982791ddb6 7170638: Use DTRACE_PROBE[N] in JNI Set and SetStatic Field.
coleenp
parents: 4006
diff changeset
192 DTRACE_PROBE4(provider,name,a0,a1,a2,a3)
75982791ddb6 7170638: Use DTRACE_PROBE[N] in JNI Set and SetStatic Field.
coleenp
parents: 4006
diff changeset
193 #define HS_DTRACE_PROBE5(provider,name,a0,a1,a2,a3,a4)\
75982791ddb6 7170638: Use DTRACE_PROBE[N] in JNI Set and SetStatic Field.
coleenp
parents: 4006
diff changeset
194 DTRACE_PROBE5(provider,name,a0,a1,a2,a3,a4)
75982791ddb6 7170638: Use DTRACE_PROBE[N] in JNI Set and SetStatic Field.
coleenp
parents: 4006
diff changeset
195 #define HS_DTRACE_PROBE6(provider,name,a0,a1,a2,a3,a4,a5)\
75982791ddb6 7170638: Use DTRACE_PROBE[N] in JNI Set and SetStatic Field.
coleenp
parents: 4006
diff changeset
196 DTRACE_PROBE6(provider,name,a0,a1,a2,a3,a4,a5)
75982791ddb6 7170638: Use DTRACE_PROBE[N] in JNI Set and SetStatic Field.
coleenp
parents: 4006
diff changeset
197 #define HS_DTRACE_PROBE7(provider,name,a0,a1,a2,a3,a4,a5,a6)\
75982791ddb6 7170638: Use DTRACE_PROBE[N] in JNI Set and SetStatic Field.
coleenp
parents: 4006
diff changeset
198 DTRACE_PROBE7(provider,name,a0,a1,a2,a3,a4,a5,a6)
75982791ddb6 7170638: Use DTRACE_PROBE[N] in JNI Set and SetStatic Field.
coleenp
parents: 4006
diff changeset
199 #define HS_DTRACE_PROBE8(provider,name,a0,a1,a2,a3,a4,a5,a6,a7)\
75982791ddb6 7170638: Use DTRACE_PROBE[N] in JNI Set and SetStatic Field.
coleenp
parents: 4006
diff changeset
200 DTRACE_PROBE8(provider,name,a0,a1,a2,a3,a4,a5,a6,a7)
75982791ddb6 7170638: Use DTRACE_PROBE[N] in JNI Set and SetStatic Field.
coleenp
parents: 4006
diff changeset
201 #define HS_DTRACE_PROBE9(provider,name,a0,a1,a2,a3,a4,a5,a6,a7,a8)\
75982791ddb6 7170638: Use DTRACE_PROBE[N] in JNI Set and SetStatic Field.
coleenp
parents: 4006
diff changeset
202 DTRACE_PROBE9(provider,name,a0,a1,a2,a3,a4,a5,a6,a7,a8)
75982791ddb6 7170638: Use DTRACE_PROBE[N] in JNI Set and SetStatic Field.
coleenp
parents: 4006
diff changeset
203 #define HS_DTRACE_PROBE10(provider,name,a0,a1,a2,a3,a4,a5,a6,a7,a8,a9)\
75982791ddb6 7170638: Use DTRACE_PROBE[N] in JNI Set and SetStatic Field.
coleenp
parents: 4006
diff changeset
204 DTRACE_PROBE10(provider,name,a0,a1,a2,a3,a4,a5,a6,a7,a8,a9)
75982791ddb6 7170638: Use DTRACE_PROBE[N] in JNI Set and SetStatic Field.
coleenp
parents: 4006
diff changeset
205 #endif
1972
f95d63e2154a 6989984: Use standard include model for Hospot
stefank
parents: 1552
diff changeset
206
4006
436b4a3231bf 7098194: integrate macosx-port changes
dcubed
parents: 1972
diff changeset
207 #endif /* !USDT2 */
436b4a3231bf 7098194: integrate macosx-port changes
dcubed
parents: 1972
diff changeset
208
1972
f95d63e2154a 6989984: Use standard include model for Hospot
stefank
parents: 1552
diff changeset
209 #endif // SHARE_VM_UTILITIES_DTRACE_HPP