annotate src/share/vm/utilities/dtrace.hpp @ 8804:91bf0bdae37b

8008217: CDS: Class data sharing limits the malloc heap on Solaris Summary: In 64bit VM move CDS archive address to 32G on all platforms using new flag SharedBaseAddress. In 32bit VM set CDS archive address to 3Gb on Linux and let other OSs pick the address. Reviewed-by: kvn, dcubed, zgu, hseigel
author coleenp
date Wed, 20 Mar 2013 08:04:54 -0400
parents 75982791ddb6
children a3ba776d6ab6
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
6837
75982791ddb6 7170638: Use DTRACE_PROBE[N] in JNI Set and SetStatic Field.
coleenp
parents: 4006
diff changeset
41 #define USDT1 1
75982791ddb6 7170638: Use DTRACE_PROBE[N] in JNI Set and SetStatic Field.
coleenp
parents: 4006
diff changeset
42 #elif defined(LINUX)
75982791ddb6 7170638: Use DTRACE_PROBE[N] in JNI Set and SetStatic Field.
coleenp
parents: 4006
diff changeset
43 #define HS_DTRACE_WORKAROUND_TAIL_CALL_BUG()
4006
436b4a3231bf 7098194: integrate macosx-port changes
dcubed
parents: 1972
diff changeset
44 #define USDT1 1
436b4a3231bf 7098194: integrate macosx-port changes
dcubed
parents: 1972
diff changeset
45 #elif defined(__APPLE__)
6837
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 USDT2 1
436b4a3231bf 7098194: integrate macosx-port changes
dcubed
parents: 1972
diff changeset
48 #include <sys/types.h>
436b4a3231bf 7098194: integrate macosx-port changes
dcubed
parents: 1972
diff changeset
49 #include "dtracefiles/hotspot.h"
436b4a3231bf 7098194: integrate macosx-port changes
dcubed
parents: 1972
diff changeset
50 #include "dtracefiles/hotspot_jni.h"
436b4a3231bf 7098194: integrate macosx-port changes
dcubed
parents: 1972
diff changeset
51 #include "dtracefiles/hs_private.h"
436b4a3231bf 7098194: integrate macosx-port changes
dcubed
parents: 1972
diff changeset
52 #else
436b4a3231bf 7098194: integrate macosx-port changes
dcubed
parents: 1972
diff changeset
53 #error "dtrace enabled for unknown os"
436b4a3231bf 7098194: integrate macosx-port changes
dcubed
parents: 1972
diff changeset
54 #endif /* defined(SOLARIS) */
436b4a3231bf 7098194: integrate macosx-port changes
dcubed
parents: 1972
diff changeset
55
436b4a3231bf 7098194: integrate macosx-port changes
dcubed
parents: 1972
diff changeset
56 #else /* defined(DTRACE_ENABLED) */
0
a61af66fc99e Initial load
duke
parents:
diff changeset
57
a61af66fc99e Initial load
duke
parents:
diff changeset
58 #define DTRACE_ONLY(x)
a61af66fc99e Initial load
duke
parents:
diff changeset
59 #define NOT_DTRACE(x) x
a61af66fc99e Initial load
duke
parents:
diff changeset
60
4006
436b4a3231bf 7098194: integrate macosx-port changes
dcubed
parents: 1972
diff changeset
61 #define HS_DTRACE_WORKAROUND_TAIL_CALL_BUG()
436b4a3231bf 7098194: integrate macosx-port changes
dcubed
parents: 1972
diff changeset
62
436b4a3231bf 7098194: integrate macosx-port changes
dcubed
parents: 1972
diff changeset
63 #ifndef USDT2
436b4a3231bf 7098194: integrate macosx-port changes
dcubed
parents: 1972
diff changeset
64
0
a61af66fc99e Initial load
duke
parents:
diff changeset
65 #define DTRACE_PROBE(a,b) {;}
a61af66fc99e Initial load
duke
parents:
diff changeset
66 #define DTRACE_PROBE1(a,b,c) {;}
a61af66fc99e Initial load
duke
parents:
diff changeset
67 #define DTRACE_PROBE2(a,b,c,d) {;}
a61af66fc99e Initial load
duke
parents:
diff changeset
68 #define DTRACE_PROBE3(a,b,c,d,e) {;}
a61af66fc99e Initial load
duke
parents:
diff changeset
69 #define DTRACE_PROBE4(a,b,c,d,e,f) {;}
a61af66fc99e Initial load
duke
parents:
diff changeset
70 #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
71 #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
72 #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
73 #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
74 #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
75 #define DTRACE_PROBE10(a,b,c,d,e,f,g,h,i,j,k,l) {;}
0
a61af66fc99e Initial load
duke
parents:
diff changeset
76
4006
436b4a3231bf 7098194: integrate macosx-port changes
dcubed
parents: 1972
diff changeset
77 #else /* USDT2 */
1547
fb1a39993f69 6951319: enable solaris builds using Sun Studio 12 update 1
jcoomes
parents: 0
diff changeset
78
4006
436b4a3231bf 7098194: integrate macosx-port changes
dcubed
parents: 1972
diff changeset
79 #include "dtrace_usdt2_disabled.hpp"
436b4a3231bf 7098194: integrate macosx-port changes
dcubed
parents: 1972
diff changeset
80 #endif /* USDT2 */
436b4a3231bf 7098194: integrate macosx-port changes
dcubed
parents: 1972
diff changeset
81
436b4a3231bf 7098194: integrate macosx-port changes
dcubed
parents: 1972
diff changeset
82 #endif /* defined(DTRACE_ENABLED) */
436b4a3231bf 7098194: integrate macosx-port changes
dcubed
parents: 1972
diff changeset
83
436b4a3231bf 7098194: integrate macosx-port changes
dcubed
parents: 1972
diff changeset
84 #ifndef USDT2
0
a61af66fc99e Initial load
duke
parents:
diff changeset
85
a61af66fc99e Initial load
duke
parents:
diff changeset
86 #define HS_DTRACE_PROBE_FN(provider,name)\
a61af66fc99e Initial load
duke
parents:
diff changeset
87 __dtrace_##provider##___##name
a61af66fc99e Initial load
duke
parents:
diff changeset
88
6837
75982791ddb6 7170638: Use DTRACE_PROBE[N] in JNI Set and SetStatic Field.
coleenp
parents: 4006
diff changeset
89 #ifdef SOLARIS
75982791ddb6 7170638: Use DTRACE_PROBE[N] in JNI Set and SetStatic Field.
coleenp
parents: 4006
diff changeset
90 // Solaris dtrace needs actual extern function decls.
0
a61af66fc99e Initial load
duke
parents:
diff changeset
91 #define HS_DTRACE_PROBE_DECL_N(provider,name,args) \
a61af66fc99e Initial load
duke
parents:
diff changeset
92 DTRACE_ONLY(extern "C" void HS_DTRACE_PROBE_FN(provider,name) args)
a61af66fc99e Initial load
duke
parents:
diff changeset
93 #define HS_DTRACE_PROBE_CDECL_N(provider,name,args) \
a61af66fc99e Initial load
duke
parents:
diff changeset
94 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
95 #else
75982791ddb6 7170638: Use DTRACE_PROBE[N] in JNI Set and SetStatic Field.
coleenp
parents: 4006
diff changeset
96 // 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
97 // 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
98 #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
99 #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
100 #endif
0
a61af66fc99e Initial load
duke
parents:
diff changeset
101
a61af66fc99e Initial load
duke
parents:
diff changeset
102 /* Dtrace probe declarations */
a61af66fc99e Initial load
duke
parents:
diff changeset
103 #define HS_DTRACE_PROBE_DECL(provider,name) \
a61af66fc99e Initial load
duke
parents:
diff changeset
104 HS_DTRACE_PROBE_DECL0(provider,name)
a61af66fc99e Initial load
duke
parents:
diff changeset
105 #define HS_DTRACE_PROBE_DECL0(provider,name)\
a61af66fc99e Initial load
duke
parents:
diff changeset
106 HS_DTRACE_PROBE_DECL_N(provider,name,(void))
a61af66fc99e Initial load
duke
parents:
diff changeset
107 #define HS_DTRACE_PROBE_DECL1(provider,name,t0)\
a61af66fc99e Initial load
duke
parents:
diff changeset
108 HS_DTRACE_PROBE_DECL_N(provider,name,(uintptr_t))
a61af66fc99e Initial load
duke
parents:
diff changeset
109 #define HS_DTRACE_PROBE_DECL2(provider,name,t0,t1)\
a61af66fc99e Initial load
duke
parents:
diff changeset
110 HS_DTRACE_PROBE_DECL_N(provider,name,(uintptr_t,uintptr_t))
a61af66fc99e Initial load
duke
parents:
diff changeset
111 #define HS_DTRACE_PROBE_DECL3(provider,name,t0,t1,t2)\
a61af66fc99e Initial load
duke
parents:
diff changeset
112 HS_DTRACE_PROBE_DECL_N(provider,name,(uintptr_t,uintptr_t,uintptr_t))
a61af66fc99e Initial load
duke
parents:
diff changeset
113 #define HS_DTRACE_PROBE_DECL4(provider,name,t0,t1,t2,t3)\
a61af66fc99e Initial load
duke
parents:
diff changeset
114 HS_DTRACE_PROBE_DECL_N(provider,name,(uintptr_t,uintptr_t,uintptr_t,\
a61af66fc99e Initial load
duke
parents:
diff changeset
115 uintptr_t))
a61af66fc99e Initial load
duke
parents:
diff changeset
116 #define HS_DTRACE_PROBE_DECL5(provider,name,t0,t1,t2,t3,t4)\
a61af66fc99e Initial load
duke
parents:
diff changeset
117 HS_DTRACE_PROBE_DECL_N(provider,name,(\
a61af66fc99e Initial load
duke
parents:
diff changeset
118 uintptr_t,uintptr_t,uintptr_t,uintptr_t,uintptr_t))
a61af66fc99e Initial load
duke
parents:
diff changeset
119 #define HS_DTRACE_PROBE_DECL6(provider,name,t0,t1,t2,t3,t4,t5)\
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,uintptr_t))
a61af66fc99e Initial load
duke
parents:
diff changeset
122 #define HS_DTRACE_PROBE_DECL7(provider,name,t0,t1,t2,t3,t4,t5,t6)\
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,uintptr_t))
a61af66fc99e Initial load
duke
parents:
diff changeset
125 #define HS_DTRACE_PROBE_DECL8(provider,name,t0,t1,t2,t3,t4,t5,t6,t7)\
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 uintptr_t))
a61af66fc99e Initial load
duke
parents:
diff changeset
129 #define HS_DTRACE_PROBE_DECL9(provider,name,t0,t1,t2,t3,t4,t5,t6,t7,t8)\
a61af66fc99e Initial load
duke
parents:
diff changeset
130 HS_DTRACE_PROBE_DECL_N(provider,name,(\
a61af66fc99e Initial load
duke
parents:
diff changeset
131 uintptr_t,uintptr_t,uintptr_t,uintptr_t,uintptr_t,uintptr_t,uintptr_t,\
a61af66fc99e Initial load
duke
parents:
diff changeset
132 uintptr_t,uintptr_t))
a61af66fc99e Initial load
duke
parents:
diff changeset
133 #define HS_DTRACE_PROBE_DECL10(provider,name,t0,t1,t2,t3,t4,t5,t6,t7,t8,t9)\
a61af66fc99e Initial load
duke
parents:
diff changeset
134 HS_DTRACE_PROBE_DECL_N(provider,name,(\
a61af66fc99e Initial load
duke
parents:
diff changeset
135 uintptr_t,uintptr_t,uintptr_t,uintptr_t,uintptr_t,uintptr_t,uintptr_t,\
a61af66fc99e Initial load
duke
parents:
diff changeset
136 uintptr_t,uintptr_t,uintptr_t))
a61af66fc99e Initial load
duke
parents:
diff changeset
137
a61af66fc99e Initial load
duke
parents:
diff changeset
138 /* Dtrace probe definitions */
6837
75982791ddb6 7170638: Use DTRACE_PROBE[N] in JNI Set and SetStatic Field.
coleenp
parents: 4006
diff changeset
139 #if defined(SOLARIS)
75982791ddb6 7170638: Use DTRACE_PROBE[N] in JNI Set and SetStatic Field.
coleenp
parents: 4006
diff changeset
140 // Solaris dtrace uses actual function calls.
0
a61af66fc99e Initial load
duke
parents:
diff changeset
141 #define HS_DTRACE_PROBE_N(provider,name, args) \
a61af66fc99e Initial load
duke
parents:
diff changeset
142 DTRACE_ONLY(HS_DTRACE_PROBE_FN(provider,name) args)
a61af66fc99e Initial load
duke
parents:
diff changeset
143
a61af66fc99e Initial load
duke
parents:
diff changeset
144 #define HS_DTRACE_PROBE(provider,name) HS_DTRACE_PROBE0(provider,name)
a61af66fc99e Initial load
duke
parents:
diff changeset
145 #define HS_DTRACE_PROBE0(provider,name)\
a61af66fc99e Initial load
duke
parents:
diff changeset
146 HS_DTRACE_PROBE_N(provider,name,())
a61af66fc99e Initial load
duke
parents:
diff changeset
147 #define HS_DTRACE_PROBE1(provider,name,a0)\
a61af66fc99e Initial load
duke
parents:
diff changeset
148 HS_DTRACE_PROBE_N(provider,name,((uintptr_t)a0))
a61af66fc99e Initial load
duke
parents:
diff changeset
149 #define HS_DTRACE_PROBE2(provider,name,a0,a1)\
a61af66fc99e Initial load
duke
parents:
diff changeset
150 HS_DTRACE_PROBE_N(provider,name,((uintptr_t)a0,(uintptr_t)a1))
a61af66fc99e Initial load
duke
parents:
diff changeset
151 #define HS_DTRACE_PROBE3(provider,name,a0,a1,a2)\
a61af66fc99e Initial load
duke
parents:
diff changeset
152 HS_DTRACE_PROBE_N(provider,name,((uintptr_t)a0,(uintptr_t)a1,(uintptr_t)a2))
a61af66fc99e Initial load
duke
parents:
diff changeset
153 #define HS_DTRACE_PROBE4(provider,name,a0,a1,a2,a3)\
a61af66fc99e Initial load
duke
parents:
diff changeset
154 HS_DTRACE_PROBE_N(provider,name,((uintptr_t)a0,(uintptr_t)a1,(uintptr_t)a2,\
a61af66fc99e Initial load
duke
parents:
diff changeset
155 (uintptr_t)a3))
a61af66fc99e Initial load
duke
parents:
diff changeset
156 #define HS_DTRACE_PROBE5(provider,name,a0,a1,a2,a3,a4)\
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,(uintptr_t)a4))
a61af66fc99e Initial load
duke
parents:
diff changeset
159 #define HS_DTRACE_PROBE6(provider,name,a0,a1,a2,a3,a4,a5)\
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,(uintptr_t)a5))
a61af66fc99e Initial load
duke
parents:
diff changeset
162 #define HS_DTRACE_PROBE7(provider,name,a0,a1,a2,a3,a4,a5,a6)\
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,(uintptr_t)a6))
a61af66fc99e Initial load
duke
parents:
diff changeset
165 #define HS_DTRACE_PROBE8(provider,name,a0,a1,a2,a3,a4,a5,a6,a7)\
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,(uintptr_t)a7))
a61af66fc99e Initial load
duke
parents:
diff changeset
168 #define HS_DTRACE_PROBE9(provider,name,a0,a1,a2,a3,a4,a5,a6,a7,a8)\
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 (uintptr_t)a8))
a61af66fc99e Initial load
duke
parents:
diff changeset
172 #define HS_DTRACE_PROBE10(provider,name,a0,a1,a2,a3,a4,a5,a6,a7,a8,a9)\
a61af66fc99e Initial load
duke
parents:
diff changeset
173 HS_DTRACE_PROBE_N(provider,name,((uintptr_t)a0,(uintptr_t)a1,(uintptr_t)a2,\
a61af66fc99e Initial load
duke
parents:
diff changeset
174 (uintptr_t)a3,(uintptr_t)a4,(uintptr_t)a5,(uintptr_t)a6,(uintptr_t)a7,\
a61af66fc99e Initial load
duke
parents:
diff changeset
175 (uintptr_t)a8,(uintptr_t)a9))
6837
75982791ddb6 7170638: Use DTRACE_PROBE[N] in JNI Set and SetStatic Field.
coleenp
parents: 4006
diff changeset
176 #else
75982791ddb6 7170638: Use DTRACE_PROBE[N] in JNI Set and SetStatic Field.
coleenp
parents: 4006
diff changeset
177 // 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
178 // 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
179 #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
180 #define HS_DTRACE_PROBE0(provider,name)\
75982791ddb6 7170638: Use DTRACE_PROBE[N] in JNI Set and SetStatic Field.
coleenp
parents: 4006
diff changeset
181 DTRACE_PROBE(provider,name)
75982791ddb6 7170638: Use DTRACE_PROBE[N] in JNI Set and SetStatic Field.
coleenp
parents: 4006
diff changeset
182 #define HS_DTRACE_PROBE1(provider,name,a0)\
75982791ddb6 7170638: Use DTRACE_PROBE[N] in JNI Set and SetStatic Field.
coleenp
parents: 4006
diff changeset
183 DTRACE_PROBE1(provider,name,a0)
75982791ddb6 7170638: Use DTRACE_PROBE[N] in JNI Set and SetStatic Field.
coleenp
parents: 4006
diff changeset
184 #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
185 DTRACE_PROBE2(provider,name,a0,a1)
75982791ddb6 7170638: Use DTRACE_PROBE[N] in JNI Set and SetStatic Field.
coleenp
parents: 4006
diff changeset
186 #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
187 DTRACE_PROBE3(provider,name,a0,a1,a2)
75982791ddb6 7170638: Use DTRACE_PROBE[N] in JNI Set and SetStatic Field.
coleenp
parents: 4006
diff changeset
188 #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
189 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
190 #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
191 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
192 #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
193 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
194 #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
195 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
196 #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
197 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
198 #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
199 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
200 #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
201 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
202 #endif
1972
f95d63e2154a 6989984: Use standard include model for Hospot
stefank
parents: 1552
diff changeset
203
4006
436b4a3231bf 7098194: integrate macosx-port changes
dcubed
parents: 1972
diff changeset
204 #endif /* !USDT2 */
436b4a3231bf 7098194: integrate macosx-port changes
dcubed
parents: 1972
diff changeset
205
1972
f95d63e2154a 6989984: Use standard include model for Hospot
stefank
parents: 1552
diff changeset
206 #endif // SHARE_VM_UTILITIES_DTRACE_HPP