annotate src/share/vm/prims/jvmtiEnter.xsl @ 1972:f95d63e2154a

6989984: Use standard include model for Hospot Summary: Replaced MakeDeps and the includeDB files with more standardized solutions. Reviewed-by: coleenp, kvn, kamg
author stefank
date Tue, 23 Nov 2010 13:22:55 -0800
parents c18cbe5936b8
children a6eef545f1a2
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
a61af66fc99e Initial load
duke
parents:
diff changeset
1 <?xml version="1.0"?>
a61af66fc99e Initial load
duke
parents:
diff changeset
2 <!--
1972
f95d63e2154a 6989984: Use standard include model for Hospot
stefank
parents: 1552
diff changeset
3 Copyright (c) 2002, 2010, Oracle and/or its affiliates. All rights reserved.
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: 1142
diff changeset
20 Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
c18cbe5936b8 6941466: Oracle rebranding changes for Hotspot repositories
trims
parents: 1142
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: 1142
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
a61af66fc99e Initial load
duke
parents:
diff changeset
26 <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
a61af66fc99e Initial load
duke
parents:
diff changeset
27
a61af66fc99e Initial load
duke
parents:
diff changeset
28 <xsl:import href="jvmtiLib.xsl"/>
a61af66fc99e Initial load
duke
parents:
diff changeset
29
a61af66fc99e Initial load
duke
parents:
diff changeset
30 <xsl:output method="text" indent="no" omit-xml-declaration="yes"/>
a61af66fc99e Initial load
duke
parents:
diff changeset
31
a61af66fc99e Initial load
duke
parents:
diff changeset
32 <xsl:param name="trace"></xsl:param>
a61af66fc99e Initial load
duke
parents:
diff changeset
33 <xsl:param name="interface"></xsl:param>
a61af66fc99e Initial load
duke
parents:
diff changeset
34
a61af66fc99e Initial load
duke
parents:
diff changeset
35
a61af66fc99e Initial load
duke
parents:
diff changeset
36 <xsl:template match="specification">
a61af66fc99e Initial load
duke
parents:
diff changeset
37 <xsl:call-template name="sourceHeader"/>
a61af66fc99e Initial load
duke
parents:
diff changeset
38 <xsl:text>
1972
f95d63e2154a 6989984: Use standard include model for Hospot
stefank
parents: 1552
diff changeset
39 # include "precompiled.hpp"
f95d63e2154a 6989984: Use standard include model for Hospot
stefank
parents: 1552
diff changeset
40 # include "prims/jvmtiEnter.hpp"
f95d63e2154a 6989984: Use standard include model for Hospot
stefank
parents: 1552
diff changeset
41 # include "prims/jvmtiRawMonitor.hpp"
f95d63e2154a 6989984: Use standard include model for Hospot
stefank
parents: 1552
diff changeset
42 # include "prims/jvmtiUtil.hpp"
0
a61af66fc99e Initial load
duke
parents:
diff changeset
43
a61af66fc99e Initial load
duke
parents:
diff changeset
44 </xsl:text>
a61af66fc99e Initial load
duke
parents:
diff changeset
45
a61af66fc99e Initial load
duke
parents:
diff changeset
46 <xsl:if test="$trace = 'Trace'">
a61af66fc99e Initial load
duke
parents:
diff changeset
47 <xsl:text>
a61af66fc99e Initial load
duke
parents:
diff changeset
48 #ifdef JVMTI_TRACE
a61af66fc99e Initial load
duke
parents:
diff changeset
49 </xsl:text>
a61af66fc99e Initial load
duke
parents:
diff changeset
50 </xsl:if>
a61af66fc99e Initial load
duke
parents:
diff changeset
51
a61af66fc99e Initial load
duke
parents:
diff changeset
52 <xsl:if test="$trace != 'Trace'">
a61af66fc99e Initial load
duke
parents:
diff changeset
53 <xsl:text>
a61af66fc99e Initial load
duke
parents:
diff changeset
54
a61af66fc99e Initial load
duke
parents:
diff changeset
55 // Error names
a61af66fc99e Initial load
duke
parents:
diff changeset
56 const char* JvmtiUtil::_error_names[] = {
a61af66fc99e Initial load
duke
parents:
diff changeset
57 </xsl:text>
a61af66fc99e Initial load
duke
parents:
diff changeset
58 <xsl:call-template name="fillEntityName">
a61af66fc99e Initial load
duke
parents:
diff changeset
59 <xsl:with-param name="entities" select="errorsection/errorcategory/errorid"/>
a61af66fc99e Initial load
duke
parents:
diff changeset
60 </xsl:call-template>
a61af66fc99e Initial load
duke
parents:
diff changeset
61 <xsl:text>
a61af66fc99e Initial load
duke
parents:
diff changeset
62 };
a61af66fc99e Initial load
duke
parents:
diff changeset
63
a61af66fc99e Initial load
duke
parents:
diff changeset
64
a61af66fc99e Initial load
duke
parents:
diff changeset
65 // Event threaded
a61af66fc99e Initial load
duke
parents:
diff changeset
66 const bool JvmtiUtil::_event_threaded[] = {
a61af66fc99e Initial load
duke
parents:
diff changeset
67 </xsl:text>
a61af66fc99e Initial load
duke
parents:
diff changeset
68 <xsl:call-template name="fillEventThreaded">
a61af66fc99e Initial load
duke
parents:
diff changeset
69 <xsl:with-param name="entities" select="eventsection/event"/>
a61af66fc99e Initial load
duke
parents:
diff changeset
70 </xsl:call-template>
a61af66fc99e Initial load
duke
parents:
diff changeset
71 <xsl:text>
a61af66fc99e Initial load
duke
parents:
diff changeset
72 };
a61af66fc99e Initial load
duke
parents:
diff changeset
73
a61af66fc99e Initial load
duke
parents:
diff changeset
74 </xsl:text>
a61af66fc99e Initial load
duke
parents:
diff changeset
75 <xsl:call-template name="eventCapabilitiesTest"/>
a61af66fc99e Initial load
duke
parents:
diff changeset
76 </xsl:if>
a61af66fc99e Initial load
duke
parents:
diff changeset
77
a61af66fc99e Initial load
duke
parents:
diff changeset
78 <xsl:if test="$trace = 'Trace'">
a61af66fc99e Initial load
duke
parents:
diff changeset
79
a61af66fc99e Initial load
duke
parents:
diff changeset
80 <!-- all this just to return the highest event number -->
a61af66fc99e Initial load
duke
parents:
diff changeset
81 <xsl:variable name="maxEvent">
a61af66fc99e Initial load
duke
parents:
diff changeset
82 <xsl:for-each select="eventsection/event">
a61af66fc99e Initial load
duke
parents:
diff changeset
83 <xsl:variable name="mynum" select="@num"/>
a61af66fc99e Initial load
duke
parents:
diff changeset
84 <xsl:if test="count(../../eventsection/event[@num &gt; $mynum]) = 0">
a61af66fc99e Initial load
duke
parents:
diff changeset
85 <xsl:value-of select="@num"/>
a61af66fc99e Initial load
duke
parents:
diff changeset
86 </xsl:if>
a61af66fc99e Initial load
duke
parents:
diff changeset
87 </xsl:for-each>
a61af66fc99e Initial load
duke
parents:
diff changeset
88 </xsl:variable>
a61af66fc99e Initial load
duke
parents:
diff changeset
89
a61af66fc99e Initial load
duke
parents:
diff changeset
90 <xsl:text>jbyte JvmtiTrace::_event_trace_flags[</xsl:text>
a61af66fc99e Initial load
duke
parents:
diff changeset
91 <xsl:value-of select="1+$maxEvent"/>
a61af66fc99e Initial load
duke
parents:
diff changeset
92 <xsl:text>];
a61af66fc99e Initial load
duke
parents:
diff changeset
93
a61af66fc99e Initial load
duke
parents:
diff changeset
94 jint JvmtiTrace::_max_event_index = </xsl:text>
a61af66fc99e Initial load
duke
parents:
diff changeset
95 <xsl:value-of select="$maxEvent"/>
a61af66fc99e Initial load
duke
parents:
diff changeset
96 <xsl:text>;
a61af66fc99e Initial load
duke
parents:
diff changeset
97
a61af66fc99e Initial load
duke
parents:
diff changeset
98 // Event names
a61af66fc99e Initial load
duke
parents:
diff changeset
99 const char* JvmtiTrace::_event_names[] = {
a61af66fc99e Initial load
duke
parents:
diff changeset
100 </xsl:text>
a61af66fc99e Initial load
duke
parents:
diff changeset
101 <xsl:call-template name="fillEntityName">
a61af66fc99e Initial load
duke
parents:
diff changeset
102 <xsl:with-param name="entities" select="eventsection/event"/>
a61af66fc99e Initial load
duke
parents:
diff changeset
103 </xsl:call-template>
a61af66fc99e Initial load
duke
parents:
diff changeset
104 <xsl:text>
a61af66fc99e Initial load
duke
parents:
diff changeset
105 };
a61af66fc99e Initial load
duke
parents:
diff changeset
106 </xsl:text>
a61af66fc99e Initial load
duke
parents:
diff changeset
107 <xsl:apply-templates select="//constants[@kind='enum']"/>
a61af66fc99e Initial load
duke
parents:
diff changeset
108 </xsl:if>
a61af66fc99e Initial load
duke
parents:
diff changeset
109 <xsl:apply-templates select="functionsection"/>
a61af66fc99e Initial load
duke
parents:
diff changeset
110
a61af66fc99e Initial load
duke
parents:
diff changeset
111 <xsl:if test="$trace='Trace'">
a61af66fc99e Initial load
duke
parents:
diff changeset
112 <xsl:text>
a61af66fc99e Initial load
duke
parents:
diff changeset
113 #endif /*JVMTI_TRACE */
a61af66fc99e Initial load
duke
parents:
diff changeset
114 </xsl:text>
a61af66fc99e Initial load
duke
parents:
diff changeset
115 </xsl:if>
a61af66fc99e Initial load
duke
parents:
diff changeset
116
a61af66fc99e Initial load
duke
parents:
diff changeset
117 </xsl:template>
a61af66fc99e Initial load
duke
parents:
diff changeset
118
a61af66fc99e Initial load
duke
parents:
diff changeset
119 <xsl:template match="constants">
a61af66fc99e Initial load
duke
parents:
diff changeset
120 <xsl:text>
a61af66fc99e Initial load
duke
parents:
diff changeset
121
a61af66fc99e Initial load
duke
parents:
diff changeset
122 // </xsl:text>
a61af66fc99e Initial load
duke
parents:
diff changeset
123 <xsl:value-of select="@label"/>
a61af66fc99e Initial load
duke
parents:
diff changeset
124 <xsl:text> names
a61af66fc99e Initial load
duke
parents:
diff changeset
125 const char* </xsl:text>
a61af66fc99e Initial load
duke
parents:
diff changeset
126 <xsl:value-of select="@id"/>
a61af66fc99e Initial load
duke
parents:
diff changeset
127 <xsl:text>ConstantNames[] = {
a61af66fc99e Initial load
duke
parents:
diff changeset
128 </xsl:text>
a61af66fc99e Initial load
duke
parents:
diff changeset
129 <xsl:apply-templates select="constant" mode="constname"/>
a61af66fc99e Initial load
duke
parents:
diff changeset
130 <xsl:text> NULL
a61af66fc99e Initial load
duke
parents:
diff changeset
131 };
a61af66fc99e Initial load
duke
parents:
diff changeset
132
a61af66fc99e Initial load
duke
parents:
diff changeset
133 // </xsl:text>
a61af66fc99e Initial load
duke
parents:
diff changeset
134 <xsl:value-of select="@label"/>
a61af66fc99e Initial load
duke
parents:
diff changeset
135 <xsl:text> value
a61af66fc99e Initial load
duke
parents:
diff changeset
136 jint </xsl:text>
a61af66fc99e Initial load
duke
parents:
diff changeset
137 <xsl:value-of select="@id"/>
a61af66fc99e Initial load
duke
parents:
diff changeset
138 <xsl:text>ConstantValues[] = {
a61af66fc99e Initial load
duke
parents:
diff changeset
139 </xsl:text>
a61af66fc99e Initial load
duke
parents:
diff changeset
140 <xsl:apply-templates select="constant" mode="constvalue"/>
a61af66fc99e Initial load
duke
parents:
diff changeset
141 <xsl:text> 0
a61af66fc99e Initial load
duke
parents:
diff changeset
142 };
a61af66fc99e Initial load
duke
parents:
diff changeset
143
a61af66fc99e Initial load
duke
parents:
diff changeset
144 </xsl:text>
a61af66fc99e Initial load
duke
parents:
diff changeset
145 </xsl:template>
a61af66fc99e Initial load
duke
parents:
diff changeset
146
a61af66fc99e Initial load
duke
parents:
diff changeset
147 <xsl:template match="constant" mode="constname">
a61af66fc99e Initial load
duke
parents:
diff changeset
148 <xsl:text> "</xsl:text>
a61af66fc99e Initial load
duke
parents:
diff changeset
149 <xsl:value-of select="@id"/>
a61af66fc99e Initial load
duke
parents:
diff changeset
150 <xsl:text>",
a61af66fc99e Initial load
duke
parents:
diff changeset
151 </xsl:text>
a61af66fc99e Initial load
duke
parents:
diff changeset
152 </xsl:template>
a61af66fc99e Initial load
duke
parents:
diff changeset
153
a61af66fc99e Initial load
duke
parents:
diff changeset
154 <xsl:template match="constant" mode="constvalue">
a61af66fc99e Initial load
duke
parents:
diff changeset
155 <xsl:text> </xsl:text>
a61af66fc99e Initial load
duke
parents:
diff changeset
156 <xsl:value-of select="@num"/>
a61af66fc99e Initial load
duke
parents:
diff changeset
157 <xsl:text>,
a61af66fc99e Initial load
duke
parents:
diff changeset
158 </xsl:text>
a61af66fc99e Initial load
duke
parents:
diff changeset
159 </xsl:template>
a61af66fc99e Initial load
duke
parents:
diff changeset
160
a61af66fc99e Initial load
duke
parents:
diff changeset
161 <xsl:template name="eventCapabilitiesTest">
a61af66fc99e Initial load
duke
parents:
diff changeset
162 <xsl:text>
a61af66fc99e Initial load
duke
parents:
diff changeset
163
a61af66fc99e Initial load
duke
parents:
diff changeset
164 // Check Event Capabilities
a61af66fc99e Initial load
duke
parents:
diff changeset
165 const bool JvmtiUtil::has_event_capability(jvmtiEvent event_type, const jvmtiCapabilities* capabilities_ptr) {
a61af66fc99e Initial load
duke
parents:
diff changeset
166 switch (event_type) {
a61af66fc99e Initial load
duke
parents:
diff changeset
167 </xsl:text>
a61af66fc99e Initial load
duke
parents:
diff changeset
168 <xsl:for-each select="//eventsection/event">
a61af66fc99e Initial load
duke
parents:
diff changeset
169 <xsl:variable name="capa" select="capabilities/required"/>
a61af66fc99e Initial load
duke
parents:
diff changeset
170 <xsl:if test="count($capa)">
a61af66fc99e Initial load
duke
parents:
diff changeset
171 <xsl:text> case </xsl:text>
a61af66fc99e Initial load
duke
parents:
diff changeset
172 <xsl:value-of select="@const"/>
a61af66fc99e Initial load
duke
parents:
diff changeset
173 <xsl:text>:
a61af66fc99e Initial load
duke
parents:
diff changeset
174 return capabilities_ptr-&gt;</xsl:text>
a61af66fc99e Initial load
duke
parents:
diff changeset
175 <xsl:value-of select="$capa/@id"/>
a61af66fc99e Initial load
duke
parents:
diff changeset
176 <xsl:text> != 0;
a61af66fc99e Initial load
duke
parents:
diff changeset
177 </xsl:text>
a61af66fc99e Initial load
duke
parents:
diff changeset
178 </xsl:if>
a61af66fc99e Initial load
duke
parents:
diff changeset
179 </xsl:for-each>
a61af66fc99e Initial load
duke
parents:
diff changeset
180 <xsl:text> }
a61af66fc99e Initial load
duke
parents:
diff changeset
181 // if it does not have a capability it is required
a61af66fc99e Initial load
duke
parents:
diff changeset
182 return JNI_TRUE;
a61af66fc99e Initial load
duke
parents:
diff changeset
183 }
a61af66fc99e Initial load
duke
parents:
diff changeset
184
a61af66fc99e Initial load
duke
parents:
diff changeset
185 </xsl:text>
a61af66fc99e Initial load
duke
parents:
diff changeset
186 </xsl:template>
a61af66fc99e Initial load
duke
parents:
diff changeset
187
a61af66fc99e Initial load
duke
parents:
diff changeset
188 <xsl:template match="functionsection">
a61af66fc99e Initial load
duke
parents:
diff changeset
189 <xsl:if test="$trace='Trace'">
a61af66fc99e Initial load
duke
parents:
diff changeset
190
a61af66fc99e Initial load
duke
parents:
diff changeset
191 <!-- all this just to return the highest function number -->
a61af66fc99e Initial load
duke
parents:
diff changeset
192 <xsl:variable name="maxFunction">
a61af66fc99e Initial load
duke
parents:
diff changeset
193 <xsl:for-each select="category/function">
a61af66fc99e Initial load
duke
parents:
diff changeset
194 <xsl:variable name="mynum" select="@num"/>
a61af66fc99e Initial load
duke
parents:
diff changeset
195 <xsl:if test="count(../../category/function[@num &gt; $mynum]) = 0">
a61af66fc99e Initial load
duke
parents:
diff changeset
196 <xsl:value-of select="@num"/>
a61af66fc99e Initial load
duke
parents:
diff changeset
197 </xsl:if>
a61af66fc99e Initial load
duke
parents:
diff changeset
198 </xsl:for-each>
a61af66fc99e Initial load
duke
parents:
diff changeset
199 </xsl:variable>
a61af66fc99e Initial load
duke
parents:
diff changeset
200
a61af66fc99e Initial load
duke
parents:
diff changeset
201 <xsl:text>jbyte JvmtiTrace::_trace_flags[</xsl:text>
a61af66fc99e Initial load
duke
parents:
diff changeset
202 <xsl:value-of select="1+$maxFunction"/>
a61af66fc99e Initial load
duke
parents:
diff changeset
203 <xsl:text>];
a61af66fc99e Initial load
duke
parents:
diff changeset
204
a61af66fc99e Initial load
duke
parents:
diff changeset
205 jint JvmtiTrace::_max_function_index = </xsl:text>
a61af66fc99e Initial load
duke
parents:
diff changeset
206 <xsl:value-of select="$maxFunction"/>
a61af66fc99e Initial load
duke
parents:
diff changeset
207 <xsl:text>;
a61af66fc99e Initial load
duke
parents:
diff changeset
208
a61af66fc99e Initial load
duke
parents:
diff changeset
209 // Function names
a61af66fc99e Initial load
duke
parents:
diff changeset
210 const char* JvmtiTrace::_function_names[] = {
a61af66fc99e Initial load
duke
parents:
diff changeset
211 </xsl:text>
a61af66fc99e Initial load
duke
parents:
diff changeset
212 <xsl:call-template name="fillEntityName">
a61af66fc99e Initial load
duke
parents:
diff changeset
213 <xsl:with-param name="entities" select="category/function"/>
a61af66fc99e Initial load
duke
parents:
diff changeset
214 </xsl:call-template>
a61af66fc99e Initial load
duke
parents:
diff changeset
215 <xsl:text>
a61af66fc99e Initial load
duke
parents:
diff changeset
216 };
a61af66fc99e Initial load
duke
parents:
diff changeset
217
a61af66fc99e Initial load
duke
parents:
diff changeset
218 // Exclude list
a61af66fc99e Initial load
duke
parents:
diff changeset
219 short JvmtiTrace::_exclude_functions[] = {
a61af66fc99e Initial load
duke
parents:
diff changeset
220 </xsl:text>
a61af66fc99e Initial load
duke
parents:
diff changeset
221 <xsl:apply-templates select="category/function" mode="notrace">
a61af66fc99e Initial load
duke
parents:
diff changeset
222 <xsl:sort select="@num"/>
a61af66fc99e Initial load
duke
parents:
diff changeset
223 </xsl:apply-templates>
a61af66fc99e Initial load
duke
parents:
diff changeset
224 <xsl:text>0
a61af66fc99e Initial load
duke
parents:
diff changeset
225 };
a61af66fc99e Initial load
duke
parents:
diff changeset
226
a61af66fc99e Initial load
duke
parents:
diff changeset
227 </xsl:text>
a61af66fc99e Initial load
duke
parents:
diff changeset
228 </xsl:if>
a61af66fc99e Initial load
duke
parents:
diff changeset
229
a61af66fc99e Initial load
duke
parents:
diff changeset
230 <xsl:text>
a61af66fc99e Initial load
duke
parents:
diff changeset
231 extern "C" {
a61af66fc99e Initial load
duke
parents:
diff changeset
232
a61af66fc99e Initial load
duke
parents:
diff changeset
233 </xsl:text>
a61af66fc99e Initial load
duke
parents:
diff changeset
234 <xsl:apply-templates select="category" mode="wrapper"/>
a61af66fc99e Initial load
duke
parents:
diff changeset
235 <xsl:text>
a61af66fc99e Initial load
duke
parents:
diff changeset
236 } /* end extern "C" */
a61af66fc99e Initial load
duke
parents:
diff changeset
237
a61af66fc99e Initial load
duke
parents:
diff changeset
238 // JVMTI API functions
a61af66fc99e Initial load
duke
parents:
diff changeset
239 struct jvmtiInterface_1_ jvmti</xsl:text>
a61af66fc99e Initial load
duke
parents:
diff changeset
240 <xsl:value-of select="$trace"/>
a61af66fc99e Initial load
duke
parents:
diff changeset
241 <xsl:text>_Interface = {
a61af66fc99e Initial load
duke
parents:
diff changeset
242 </xsl:text>
a61af66fc99e Initial load
duke
parents:
diff changeset
243
a61af66fc99e Initial load
duke
parents:
diff changeset
244 <xsl:call-template name="fillFuncStruct">
a61af66fc99e Initial load
duke
parents:
diff changeset
245 <xsl:with-param name="funcs" select="category/function[count(@hide)=0]"/>
a61af66fc99e Initial load
duke
parents:
diff changeset
246 </xsl:call-template>
a61af66fc99e Initial load
duke
parents:
diff changeset
247
a61af66fc99e Initial load
duke
parents:
diff changeset
248 <xsl:text>
a61af66fc99e Initial load
duke
parents:
diff changeset
249 };
a61af66fc99e Initial load
duke
parents:
diff changeset
250 </xsl:text>
a61af66fc99e Initial load
duke
parents:
diff changeset
251 </xsl:template>
a61af66fc99e Initial load
duke
parents:
diff changeset
252
a61af66fc99e Initial load
duke
parents:
diff changeset
253 <xsl:template match="function" mode="functionid">
a61af66fc99e Initial load
duke
parents:
diff changeset
254 <xsl:text>jvmti</xsl:text>
a61af66fc99e Initial load
duke
parents:
diff changeset
255 <xsl:value-of select="$trace"/>
a61af66fc99e Initial load
duke
parents:
diff changeset
256 <xsl:text>_</xsl:text>
a61af66fc99e Initial load
duke
parents:
diff changeset
257 <xsl:value-of select="@id"/>
a61af66fc99e Initial load
duke
parents:
diff changeset
258 </xsl:template>
a61af66fc99e Initial load
duke
parents:
diff changeset
259
a61af66fc99e Initial load
duke
parents:
diff changeset
260 <xsl:template name="fillFuncStructDoit">
a61af66fc99e Initial load
duke
parents:
diff changeset
261 <xsl:param name="func"/>
a61af66fc99e Initial load
duke
parents:
diff changeset
262 <xsl:param name="index"/>
a61af66fc99e Initial load
duke
parents:
diff changeset
263 <xsl:text> /* </xsl:text>
a61af66fc99e Initial load
duke
parents:
diff changeset
264 <xsl:number value="$index" format=" 1"/>
a61af66fc99e Initial load
duke
parents:
diff changeset
265 <xsl:text> : </xsl:text>
a61af66fc99e Initial load
duke
parents:
diff changeset
266 <xsl:choose>
a61af66fc99e Initial load
duke
parents:
diff changeset
267 <xsl:when test="count($func)=1">
a61af66fc99e Initial load
duke
parents:
diff changeset
268 <xsl:value-of select="$func/synopsis"/>
a61af66fc99e Initial load
duke
parents:
diff changeset
269 <xsl:text> */
a61af66fc99e Initial load
duke
parents:
diff changeset
270 </xsl:text>
a61af66fc99e Initial load
duke
parents:
diff changeset
271 <xsl:apply-templates select="$func" mode="functionid"/>
a61af66fc99e Initial load
duke
parents:
diff changeset
272 </xsl:when>
a61af66fc99e Initial load
duke
parents:
diff changeset
273 <xsl:otherwise>
a61af66fc99e Initial load
duke
parents:
diff changeset
274 <xsl:text> RESERVED */
a61af66fc99e Initial load
duke
parents:
diff changeset
275 NULL</xsl:text>
a61af66fc99e Initial load
duke
parents:
diff changeset
276 </xsl:otherwise>
a61af66fc99e Initial load
duke
parents:
diff changeset
277 </xsl:choose>
a61af66fc99e Initial load
duke
parents:
diff changeset
278 </xsl:template>
a61af66fc99e Initial load
duke
parents:
diff changeset
279
a61af66fc99e Initial load
duke
parents:
diff changeset
280 <!-- generic function iterator applied to the function structure -->
a61af66fc99e Initial load
duke
parents:
diff changeset
281 <xsl:template name="fillFuncStruct">
a61af66fc99e Initial load
duke
parents:
diff changeset
282 <xsl:param name="funcs"/>
a61af66fc99e Initial load
duke
parents:
diff changeset
283 <xsl:param name="index" select="1"/>
a61af66fc99e Initial load
duke
parents:
diff changeset
284 <xsl:call-template name="fillFuncStructDoit">
a61af66fc99e Initial load
duke
parents:
diff changeset
285 <xsl:with-param name="func" select="$funcs[@num=$index]"/>
a61af66fc99e Initial load
duke
parents:
diff changeset
286 <xsl:with-param name="index" select="$index"/>
a61af66fc99e Initial load
duke
parents:
diff changeset
287 </xsl:call-template>
a61af66fc99e Initial load
duke
parents:
diff changeset
288 <xsl:if test="count($funcs[@num &gt; $index]) &gt; 0">
a61af66fc99e Initial load
duke
parents:
diff changeset
289 <xsl:text>,
a61af66fc99e Initial load
duke
parents:
diff changeset
290 </xsl:text>
a61af66fc99e Initial load
duke
parents:
diff changeset
291 <xsl:call-template name="fillFuncStruct">
a61af66fc99e Initial load
duke
parents:
diff changeset
292 <xsl:with-param name="funcs" select="$funcs"/>
a61af66fc99e Initial load
duke
parents:
diff changeset
293 <xsl:with-param name="index" select="1+$index"/>
a61af66fc99e Initial load
duke
parents:
diff changeset
294 </xsl:call-template>
a61af66fc99e Initial load
duke
parents:
diff changeset
295 </xsl:if>
a61af66fc99e Initial load
duke
parents:
diff changeset
296 </xsl:template>
a61af66fc99e Initial load
duke
parents:
diff changeset
297
a61af66fc99e Initial load
duke
parents:
diff changeset
298 <xsl:template name="fillEntityNameDoit">
a61af66fc99e Initial load
duke
parents:
diff changeset
299 <xsl:param name="entity"/>
a61af66fc99e Initial load
duke
parents:
diff changeset
300 <xsl:param name="index"/>
a61af66fc99e Initial load
duke
parents:
diff changeset
301 <xsl:choose>
a61af66fc99e Initial load
duke
parents:
diff changeset
302 <xsl:when test="count($entity) &gt; 0">
a61af66fc99e Initial load
duke
parents:
diff changeset
303 <xsl:text> "</xsl:text>
a61af66fc99e Initial load
duke
parents:
diff changeset
304 <xsl:value-of select="$entity[position()=1]/@id"/>
a61af66fc99e Initial load
duke
parents:
diff changeset
305 <xsl:text>"</xsl:text>
a61af66fc99e Initial load
duke
parents:
diff changeset
306 </xsl:when>
a61af66fc99e Initial load
duke
parents:
diff changeset
307 <xsl:otherwise>
a61af66fc99e Initial load
duke
parents:
diff changeset
308 <xsl:text> NULL</xsl:text>
a61af66fc99e Initial load
duke
parents:
diff changeset
309 </xsl:otherwise>
a61af66fc99e Initial load
duke
parents:
diff changeset
310 </xsl:choose>
a61af66fc99e Initial load
duke
parents:
diff changeset
311 </xsl:template>
a61af66fc99e Initial load
duke
parents:
diff changeset
312
a61af66fc99e Initial load
duke
parents:
diff changeset
313 <!-- generic entity (with id and num) iterator applied to entity names -->
a61af66fc99e Initial load
duke
parents:
diff changeset
314 <xsl:template name="fillEntityName">
a61af66fc99e Initial load
duke
parents:
diff changeset
315 <xsl:param name="entities"/>
a61af66fc99e Initial load
duke
parents:
diff changeset
316 <xsl:param name="index" select="0"/>
a61af66fc99e Initial load
duke
parents:
diff changeset
317 <xsl:call-template name="fillEntityNameDoit">
a61af66fc99e Initial load
duke
parents:
diff changeset
318 <xsl:with-param name="entity" select="$entities[@num=$index]"/>
a61af66fc99e Initial load
duke
parents:
diff changeset
319 <xsl:with-param name="index" select="$index"/>
a61af66fc99e Initial load
duke
parents:
diff changeset
320 </xsl:call-template>
a61af66fc99e Initial load
duke
parents:
diff changeset
321 <xsl:if test="count($entities[@num &gt; $index]) &gt; 0">
a61af66fc99e Initial load
duke
parents:
diff changeset
322 <xsl:text>,
a61af66fc99e Initial load
duke
parents:
diff changeset
323 </xsl:text>
a61af66fc99e Initial load
duke
parents:
diff changeset
324 <xsl:call-template name="fillEntityName">
a61af66fc99e Initial load
duke
parents:
diff changeset
325 <xsl:with-param name="entities" select="$entities"/>
a61af66fc99e Initial load
duke
parents:
diff changeset
326 <xsl:with-param name="index" select="1+$index"/>
a61af66fc99e Initial load
duke
parents:
diff changeset
327 </xsl:call-template>
a61af66fc99e Initial load
duke
parents:
diff changeset
328 </xsl:if>
a61af66fc99e Initial load
duke
parents:
diff changeset
329 </xsl:template>
a61af66fc99e Initial load
duke
parents:
diff changeset
330
a61af66fc99e Initial load
duke
parents:
diff changeset
331 <xsl:template name="fillEventThreadedDoit">
a61af66fc99e Initial load
duke
parents:
diff changeset
332 <xsl:param name="entity"/>
a61af66fc99e Initial load
duke
parents:
diff changeset
333 <xsl:param name="index"/>
a61af66fc99e Initial load
duke
parents:
diff changeset
334 <xsl:choose>
a61af66fc99e Initial load
duke
parents:
diff changeset
335 <xsl:when test="count($entity) &gt; 0">
a61af66fc99e Initial load
duke
parents:
diff changeset
336 <xsl:choose>
a61af66fc99e Initial load
duke
parents:
diff changeset
337 <xsl:when test="count($entity[position()=1]/@filtered)=0">
a61af66fc99e Initial load
duke
parents:
diff changeset
338 <xsl:text> false</xsl:text>
a61af66fc99e Initial load
duke
parents:
diff changeset
339 </xsl:when>
a61af66fc99e Initial load
duke
parents:
diff changeset
340 <xsl:otherwise>
a61af66fc99e Initial load
duke
parents:
diff changeset
341 <xsl:text> true</xsl:text>
a61af66fc99e Initial load
duke
parents:
diff changeset
342 </xsl:otherwise>
a61af66fc99e Initial load
duke
parents:
diff changeset
343 </xsl:choose>
a61af66fc99e Initial load
duke
parents:
diff changeset
344 </xsl:when>
a61af66fc99e Initial load
duke
parents:
diff changeset
345 <xsl:otherwise>
a61af66fc99e Initial load
duke
parents:
diff changeset
346 <xsl:text> false</xsl:text>
a61af66fc99e Initial load
duke
parents:
diff changeset
347 </xsl:otherwise>
a61af66fc99e Initial load
duke
parents:
diff changeset
348 </xsl:choose>
a61af66fc99e Initial load
duke
parents:
diff changeset
349 </xsl:template>
a61af66fc99e Initial load
duke
parents:
diff changeset
350
a61af66fc99e Initial load
duke
parents:
diff changeset
351
a61af66fc99e Initial load
duke
parents:
diff changeset
352 <xsl:template name="fillEventThreaded">
a61af66fc99e Initial load
duke
parents:
diff changeset
353 <xsl:param name="entities"/>
a61af66fc99e Initial load
duke
parents:
diff changeset
354 <xsl:param name="index" select="0"/>
a61af66fc99e Initial load
duke
parents:
diff changeset
355 <xsl:call-template name="fillEventThreadedDoit">
a61af66fc99e Initial load
duke
parents:
diff changeset
356 <xsl:with-param name="entity" select="$entities[@num=$index]"/>
a61af66fc99e Initial load
duke
parents:
diff changeset
357 <xsl:with-param name="index" select="$index"/>
a61af66fc99e Initial load
duke
parents:
diff changeset
358 </xsl:call-template>
a61af66fc99e Initial load
duke
parents:
diff changeset
359 <xsl:if test="count($entities[@num &gt; $index]) &gt; 0">
a61af66fc99e Initial load
duke
parents:
diff changeset
360 <xsl:text>,
a61af66fc99e Initial load
duke
parents:
diff changeset
361 </xsl:text>
a61af66fc99e Initial load
duke
parents:
diff changeset
362 <xsl:call-template name="fillEventThreaded">
a61af66fc99e Initial load
duke
parents:
diff changeset
363 <xsl:with-param name="entities" select="$entities"/>
a61af66fc99e Initial load
duke
parents:
diff changeset
364 <xsl:with-param name="index" select="1+$index"/>
a61af66fc99e Initial load
duke
parents:
diff changeset
365 </xsl:call-template>
a61af66fc99e Initial load
duke
parents:
diff changeset
366 </xsl:if>
a61af66fc99e Initial load
duke
parents:
diff changeset
367 </xsl:template>
a61af66fc99e Initial load
duke
parents:
diff changeset
368
a61af66fc99e Initial load
duke
parents:
diff changeset
369 <xsl:template match="function" mode="notrace">
a61af66fc99e Initial load
duke
parents:
diff changeset
370 <xsl:if test="count(@impl)=1 and contains(@impl,'notrace')">
a61af66fc99e Initial load
duke
parents:
diff changeset
371 <xsl:value-of select="@num"/>
a61af66fc99e Initial load
duke
parents:
diff changeset
372 <xsl:text>,
a61af66fc99e Initial load
duke
parents:
diff changeset
373 </xsl:text>
a61af66fc99e Initial load
duke
parents:
diff changeset
374 </xsl:if>
a61af66fc99e Initial load
duke
parents:
diff changeset
375 </xsl:template>
a61af66fc99e Initial load
duke
parents:
diff changeset
376
a61af66fc99e Initial load
duke
parents:
diff changeset
377 <xsl:template match="category" mode="wrapper">
a61af66fc99e Initial load
duke
parents:
diff changeset
378 <xsl:text>
a61af66fc99e Initial load
duke
parents:
diff changeset
379 //
a61af66fc99e Initial load
duke
parents:
diff changeset
380 // </xsl:text><xsl:value-of select="@label"/><xsl:text> functions
a61af66fc99e Initial load
duke
parents:
diff changeset
381 //
a61af66fc99e Initial load
duke
parents:
diff changeset
382 </xsl:text>
a61af66fc99e Initial load
duke
parents:
diff changeset
383 <xsl:apply-templates select="function[count(@hide)=0]"/>
a61af66fc99e Initial load
duke
parents:
diff changeset
384 </xsl:template>
a61af66fc99e Initial load
duke
parents:
diff changeset
385
a61af66fc99e Initial load
duke
parents:
diff changeset
386 <xsl:template match="function" mode="transition">
a61af66fc99e Initial load
duke
parents:
diff changeset
387 <xsl:param name="space">
a61af66fc99e Initial load
duke
parents:
diff changeset
388 <xsl:text>
a61af66fc99e Initial load
duke
parents:
diff changeset
389 </xsl:text>
a61af66fc99e Initial load
duke
parents:
diff changeset
390 </xsl:param>
a61af66fc99e Initial load
duke
parents:
diff changeset
391 <xsl:value-of select="$space"/>
a61af66fc99e Initial load
duke
parents:
diff changeset
392
a61af66fc99e Initial load
duke
parents:
diff changeset
393 <xsl:choose>
a61af66fc99e Initial load
duke
parents:
diff changeset
394 <xsl:when test="count(@callbacksafe)=0 or not(contains(@callbacksafe,'safe'))">
a61af66fc99e Initial load
duke
parents:
diff changeset
395 <xsl:text>if (this_thread == NULL || !this_thread->is_Java_thread()) {</xsl:text>
a61af66fc99e Initial load
duke
parents:
diff changeset
396 </xsl:when>
a61af66fc99e Initial load
duke
parents:
diff changeset
397 <xsl:otherwise>
a61af66fc99e Initial load
duke
parents:
diff changeset
398 <xsl:choose>
a61af66fc99e Initial load
duke
parents:
diff changeset
399 <xsl:when test="count(@phase)=0 or contains(@phase,'live') or contains(@phase,'start')">
a61af66fc99e Initial load
duke
parents:
diff changeset
400 <xsl:text>if (this_thread == NULL || (!this_thread->is_Java_thread() &amp;&amp; !this_thread->is_VM_thread())) {</xsl:text>
a61af66fc99e Initial load
duke
parents:
diff changeset
401 </xsl:when>
a61af66fc99e Initial load
duke
parents:
diff changeset
402 <xsl:otherwise>
a61af66fc99e Initial load
duke
parents:
diff changeset
403 <xsl:text>if (!this_thread->is_Java_thread()) {</xsl:text>
a61af66fc99e Initial load
duke
parents:
diff changeset
404 </xsl:otherwise>
a61af66fc99e Initial load
duke
parents:
diff changeset
405 </xsl:choose>
a61af66fc99e Initial load
duke
parents:
diff changeset
406 </xsl:otherwise>
a61af66fc99e Initial load
duke
parents:
diff changeset
407 </xsl:choose>
a61af66fc99e Initial load
duke
parents:
diff changeset
408
a61af66fc99e Initial load
duke
parents:
diff changeset
409 <xsl:if test="$trace='Trace'">
a61af66fc99e Initial load
duke
parents:
diff changeset
410 <xsl:value-of select="$space"/>
a61af66fc99e Initial load
duke
parents:
diff changeset
411 <xsl:text> if (trace_flags) {</xsl:text>
a61af66fc99e Initial load
duke
parents:
diff changeset
412 <xsl:value-of select="$space"/>
a61af66fc99e Initial load
duke
parents:
diff changeset
413 <xsl:text> tty->print_cr("JVMTI [non-attached thread] %s %s", func_name,</xsl:text>
a61af66fc99e Initial load
duke
parents:
diff changeset
414 <xsl:value-of select="$space"/>
a61af66fc99e Initial load
duke
parents:
diff changeset
415 <xsl:text> JvmtiUtil::error_name(JVMTI_ERROR_UNATTACHED_THREAD));</xsl:text>
a61af66fc99e Initial load
duke
parents:
diff changeset
416 <xsl:value-of select="$space"/>
a61af66fc99e Initial load
duke
parents:
diff changeset
417 <xsl:text> }</xsl:text>
a61af66fc99e Initial load
duke
parents:
diff changeset
418 </xsl:if>
a61af66fc99e Initial load
duke
parents:
diff changeset
419 <xsl:value-of select="$space"/>
a61af66fc99e Initial load
duke
parents:
diff changeset
420 <xsl:text> return JVMTI_ERROR_UNATTACHED_THREAD;</xsl:text>
a61af66fc99e Initial load
duke
parents:
diff changeset
421 <xsl:value-of select="$space"/>
a61af66fc99e Initial load
duke
parents:
diff changeset
422 <xsl:text>}</xsl:text>
a61af66fc99e Initial load
duke
parents:
diff changeset
423 <xsl:value-of select="$space"/>
a61af66fc99e Initial load
duke
parents:
diff changeset
424 <xsl:if test="count(@impl)=0 or not(contains(@impl,'innative'))">
a61af66fc99e Initial load
duke
parents:
diff changeset
425 <xsl:text>JavaThread* current_thread = (JavaThread*)this_thread;</xsl:text>
a61af66fc99e Initial load
duke
parents:
diff changeset
426 <xsl:value-of select="$space"/>
a61af66fc99e Initial load
duke
parents:
diff changeset
427 <xsl:text>ThreadInVMfromNative __tiv(current_thread);</xsl:text>
a61af66fc99e Initial load
duke
parents:
diff changeset
428 <xsl:value-of select="$space"/>
a61af66fc99e Initial load
duke
parents:
diff changeset
429 <xsl:text>__ENTRY(jvmtiError, </xsl:text>
a61af66fc99e Initial load
duke
parents:
diff changeset
430 <xsl:apply-templates select="." mode="functionid"/>
a61af66fc99e Initial load
duke
parents:
diff changeset
431 <xsl:text> , current_thread)</xsl:text>
a61af66fc99e Initial load
duke
parents:
diff changeset
432 <xsl:value-of select="$space"/>
a61af66fc99e Initial load
duke
parents:
diff changeset
433 <xsl:text>debug_only(VMNativeEntryWrapper __vew;)</xsl:text>
a61af66fc99e Initial load
duke
parents:
diff changeset
434 <xsl:if test="count(@callbacksafe)=0 or not(contains(@callbacksafe,'safe'))">
a61af66fc99e Initial load
duke
parents:
diff changeset
435 <xsl:value-of select="$space"/>
a61af66fc99e Initial load
duke
parents:
diff changeset
436 <xsl:text>CautiouslyPreserveExceptionMark __em(this_thread);</xsl:text>
a61af66fc99e Initial load
duke
parents:
diff changeset
437 </xsl:if>
a61af66fc99e Initial load
duke
parents:
diff changeset
438 </xsl:if>
a61af66fc99e Initial load
duke
parents:
diff changeset
439 </xsl:template>
a61af66fc99e Initial load
duke
parents:
diff changeset
440
a61af66fc99e Initial load
duke
parents:
diff changeset
441
a61af66fc99e Initial load
duke
parents:
diff changeset
442 <xsl:template match="required">
a61af66fc99e Initial load
duke
parents:
diff changeset
443 <xsl:text>
a61af66fc99e Initial load
duke
parents:
diff changeset
444 if (jvmti_env-&gt;get_capabilities()-&gt;</xsl:text>
a61af66fc99e Initial load
duke
parents:
diff changeset
445 <xsl:value-of select="@id"/>
a61af66fc99e Initial load
duke
parents:
diff changeset
446 <xsl:text> == 0) {
a61af66fc99e Initial load
duke
parents:
diff changeset
447 </xsl:text>
a61af66fc99e Initial load
duke
parents:
diff changeset
448 <xsl:if test="$trace='Trace'">
a61af66fc99e Initial load
duke
parents:
diff changeset
449 <xsl:text> if (trace_flags) {
a61af66fc99e Initial load
duke
parents:
diff changeset
450 tty->print_cr("JVMTI [%s] %s %s", curr_thread_name, func_name,
a61af66fc99e Initial load
duke
parents:
diff changeset
451 JvmtiUtil::error_name(JVMTI_ERROR_MUST_POSSESS_CAPABILITY));
a61af66fc99e Initial load
duke
parents:
diff changeset
452 }
a61af66fc99e Initial load
duke
parents:
diff changeset
453 </xsl:text>
a61af66fc99e Initial load
duke
parents:
diff changeset
454 </xsl:if>
a61af66fc99e Initial load
duke
parents:
diff changeset
455 <xsl:text> return JVMTI_ERROR_MUST_POSSESS_CAPABILITY;
a61af66fc99e Initial load
duke
parents:
diff changeset
456 }
a61af66fc99e Initial load
duke
parents:
diff changeset
457 </xsl:text>
a61af66fc99e Initial load
duke
parents:
diff changeset
458 </xsl:template>
a61af66fc99e Initial load
duke
parents:
diff changeset
459
a61af66fc99e Initial load
duke
parents:
diff changeset
460
a61af66fc99e Initial load
duke
parents:
diff changeset
461 <xsl:template match="function">
a61af66fc99e Initial load
duke
parents:
diff changeset
462 <xsl:text>
a61af66fc99e Initial load
duke
parents:
diff changeset
463 static jvmtiError JNICALL
a61af66fc99e Initial load
duke
parents:
diff changeset
464 </xsl:text>
a61af66fc99e Initial load
duke
parents:
diff changeset
465 <xsl:apply-templates select="." mode="functionid"/>
a61af66fc99e Initial load
duke
parents:
diff changeset
466 <xsl:text>(jvmtiEnv* env</xsl:text>
a61af66fc99e Initial load
duke
parents:
diff changeset
467 <xsl:apply-templates select="parameters" mode="signature"/>
a61af66fc99e Initial load
duke
parents:
diff changeset
468 <xsl:text>) {
a61af66fc99e Initial load
duke
parents:
diff changeset
469 </xsl:text>
a61af66fc99e Initial load
duke
parents:
diff changeset
470
a61af66fc99e Initial load
duke
parents:
diff changeset
471 <xsl:if test="not(contains(@jkernel,'yes'))">
a61af66fc99e Initial load
duke
parents:
diff changeset
472 <xsl:text>&#xA;#ifdef JVMTI_KERNEL &#xA;</xsl:text>
a61af66fc99e Initial load
duke
parents:
diff changeset
473 <xsl:text> return JVMTI_ERROR_NOT_AVAILABLE; &#xA;</xsl:text>
a61af66fc99e Initial load
duke
parents:
diff changeset
474 <xsl:text>#else &#xA;</xsl:text>
a61af66fc99e Initial load
duke
parents:
diff changeset
475 </xsl:if>
a61af66fc99e Initial load
duke
parents:
diff changeset
476
a61af66fc99e Initial load
duke
parents:
diff changeset
477 <xsl:apply-templates select="." mode="traceSetUp"/>
a61af66fc99e Initial load
duke
parents:
diff changeset
478 <xsl:choose>
a61af66fc99e Initial load
duke
parents:
diff changeset
479 <xsl:when test="count(@phase)=0 or contains(@phase,'live')">
a61af66fc99e Initial load
duke
parents:
diff changeset
480 <xsl:text> if(!JvmtiEnv::is_vm_live()) {
a61af66fc99e Initial load
duke
parents:
diff changeset
481 </xsl:text>
a61af66fc99e Initial load
duke
parents:
diff changeset
482 <xsl:if test="$trace='Trace'">
a61af66fc99e Initial load
duke
parents:
diff changeset
483 <xsl:text> if (trace_flags) {
a61af66fc99e Initial load
duke
parents:
diff changeset
484 tty->print_cr("JVMTI [-] %s %s", func_name,
a61af66fc99e Initial load
duke
parents:
diff changeset
485 JvmtiUtil::error_name(JVMTI_ERROR_WRONG_PHASE));
a61af66fc99e Initial load
duke
parents:
diff changeset
486 }
a61af66fc99e Initial load
duke
parents:
diff changeset
487 </xsl:text>
a61af66fc99e Initial load
duke
parents:
diff changeset
488 </xsl:if>
a61af66fc99e Initial load
duke
parents:
diff changeset
489 <xsl:text> return JVMTI_ERROR_WRONG_PHASE;
a61af66fc99e Initial load
duke
parents:
diff changeset
490 }</xsl:text>
a61af66fc99e Initial load
duke
parents:
diff changeset
491
a61af66fc99e Initial load
duke
parents:
diff changeset
492 <xsl:text>
a61af66fc99e Initial load
duke
parents:
diff changeset
493 Thread* this_thread = (Thread*)ThreadLocalStorage::thread(); </xsl:text>
a61af66fc99e Initial load
duke
parents:
diff changeset
494
a61af66fc99e Initial load
duke
parents:
diff changeset
495 <xsl:apply-templates select="." mode="transition"/>
a61af66fc99e Initial load
duke
parents:
diff changeset
496 </xsl:when>
a61af66fc99e Initial load
duke
parents:
diff changeset
497 <xsl:otherwise>
a61af66fc99e Initial load
duke
parents:
diff changeset
498 <xsl:if test="contains(@phase,'onload')">
a61af66fc99e Initial load
duke
parents:
diff changeset
499 <xsl:text> if(JvmtiEnv::get_phase()!=JVMTI_PHASE_ONLOAD</xsl:text>
a61af66fc99e Initial load
duke
parents:
diff changeset
500 <xsl:if test="not(contains(@phase,'onloadOnly'))">
a61af66fc99e Initial load
duke
parents:
diff changeset
501 <xsl:text> &amp;&amp; JvmtiEnv::get_phase()!=JVMTI_PHASE_LIVE</xsl:text>
a61af66fc99e Initial load
duke
parents:
diff changeset
502 </xsl:if>
a61af66fc99e Initial load
duke
parents:
diff changeset
503 <xsl:text>) {
a61af66fc99e Initial load
duke
parents:
diff changeset
504 </xsl:text>
a61af66fc99e Initial load
duke
parents:
diff changeset
505 <xsl:if test="$trace='Trace'">
a61af66fc99e Initial load
duke
parents:
diff changeset
506 <xsl:text> if (trace_flags) {
a61af66fc99e Initial load
duke
parents:
diff changeset
507 tty->print_cr("JVMTI [-] %s %s", func_name,
a61af66fc99e Initial load
duke
parents:
diff changeset
508 JvmtiUtil::error_name(JVMTI_ERROR_WRONG_PHASE));
a61af66fc99e Initial load
duke
parents:
diff changeset
509 }
a61af66fc99e Initial load
duke
parents:
diff changeset
510 </xsl:text>
a61af66fc99e Initial load
duke
parents:
diff changeset
511 </xsl:if>
a61af66fc99e Initial load
duke
parents:
diff changeset
512 <xsl:text> return JVMTI_ERROR_WRONG_PHASE;
a61af66fc99e Initial load
duke
parents:
diff changeset
513 }</xsl:text>
a61af66fc99e Initial load
duke
parents:
diff changeset
514 </xsl:if>
a61af66fc99e Initial load
duke
parents:
diff changeset
515 <xsl:if test="contains(@phase,'start')">
a61af66fc99e Initial load
duke
parents:
diff changeset
516 <xsl:text> if(JvmtiEnv::get_phase()!=JVMTI_PHASE_START &amp;&amp; JvmtiEnv::get_phase()!=JVMTI_PHASE_LIVE) {
a61af66fc99e Initial load
duke
parents:
diff changeset
517 </xsl:text>
a61af66fc99e Initial load
duke
parents:
diff changeset
518 <xsl:if test="$trace='Trace'">
a61af66fc99e Initial load
duke
parents:
diff changeset
519 <xsl:text> if (trace_flags) {
a61af66fc99e Initial load
duke
parents:
diff changeset
520 tty->print_cr("JVMTI [-] %s %s", func_name,
a61af66fc99e Initial load
duke
parents:
diff changeset
521 JvmtiUtil::error_name(JVMTI_ERROR_WRONG_PHASE));
a61af66fc99e Initial load
duke
parents:
diff changeset
522 }
a61af66fc99e Initial load
duke
parents:
diff changeset
523 </xsl:text>
a61af66fc99e Initial load
duke
parents:
diff changeset
524 </xsl:if>
a61af66fc99e Initial load
duke
parents:
diff changeset
525 <xsl:text> return JVMTI_ERROR_WRONG_PHASE;
a61af66fc99e Initial load
duke
parents:
diff changeset
526 }
a61af66fc99e Initial load
duke
parents:
diff changeset
527 Thread* this_thread = (Thread*)ThreadLocalStorage::thread(); </xsl:text>
a61af66fc99e Initial load
duke
parents:
diff changeset
528 <xsl:apply-templates select="." mode="transition"/>
a61af66fc99e Initial load
duke
parents:
diff changeset
529 </xsl:if>
a61af66fc99e Initial load
duke
parents:
diff changeset
530 </xsl:otherwise>
a61af66fc99e Initial load
duke
parents:
diff changeset
531 </xsl:choose>
a61af66fc99e Initial load
duke
parents:
diff changeset
532
a61af66fc99e Initial load
duke
parents:
diff changeset
533 <xsl:text>
a61af66fc99e Initial load
duke
parents:
diff changeset
534 JvmtiEnv* jvmti_env = JvmtiEnv::JvmtiEnv_from_jvmti_env(env);
a61af66fc99e Initial load
duke
parents:
diff changeset
535 if (!jvmti_env->is_valid()) {
a61af66fc99e Initial load
duke
parents:
diff changeset
536 </xsl:text>
a61af66fc99e Initial load
duke
parents:
diff changeset
537 <xsl:if test="$trace='Trace'">
a61af66fc99e Initial load
duke
parents:
diff changeset
538 <xsl:text> if (trace_flags) {
a61af66fc99e Initial load
duke
parents:
diff changeset
539 tty->print_cr("JVMTI [%s] %s %s env=%d", curr_thread_name, func_name,
a61af66fc99e Initial load
duke
parents:
diff changeset
540 JvmtiUtil::error_name(JVMTI_ERROR_INVALID_ENVIRONMENT), env);
a61af66fc99e Initial load
duke
parents:
diff changeset
541 }
a61af66fc99e Initial load
duke
parents:
diff changeset
542 </xsl:text>
a61af66fc99e Initial load
duke
parents:
diff changeset
543 </xsl:if>
a61af66fc99e Initial load
duke
parents:
diff changeset
544 <xsl:text> return JVMTI_ERROR_INVALID_ENVIRONMENT;
a61af66fc99e Initial load
duke
parents:
diff changeset
545 }
a61af66fc99e Initial load
duke
parents:
diff changeset
546 </xsl:text>
a61af66fc99e Initial load
duke
parents:
diff changeset
547
a61af66fc99e Initial load
duke
parents:
diff changeset
548 <xsl:apply-templates select="capabilities/required"/>
a61af66fc99e Initial load
duke
parents:
diff changeset
549
a61af66fc99e Initial load
duke
parents:
diff changeset
550 <xsl:text> jvmtiError err;
a61af66fc99e Initial load
duke
parents:
diff changeset
551 </xsl:text>
a61af66fc99e Initial load
duke
parents:
diff changeset
552 <xsl:choose>
a61af66fc99e Initial load
duke
parents:
diff changeset
553 <xsl:when test="count(@phase)=1 and not(contains(@phase,'live')) and not(contains(@phase,'start'))">
a61af66fc99e Initial load
duke
parents:
diff changeset
554 <xsl:choose>
a61af66fc99e Initial load
duke
parents:
diff changeset
555 <xsl:when test="count(@callbacksafe)=0 or not(contains(@callbacksafe,'safe'))">
a61af66fc99e Initial load
duke
parents:
diff changeset
556 <xsl:text> if (Threads::number_of_threads() != 0) {
a61af66fc99e Initial load
duke
parents:
diff changeset
557 Thread* this_thread = (Thread*)ThreadLocalStorage::thread();</xsl:text>
a61af66fc99e Initial load
duke
parents:
diff changeset
558 </xsl:when>
a61af66fc99e Initial load
duke
parents:
diff changeset
559 <xsl:otherwise>
a61af66fc99e Initial load
duke
parents:
diff changeset
560
a61af66fc99e Initial load
duke
parents:
diff changeset
561 <xsl:text> Thread* this_thread = NULL;
a61af66fc99e Initial load
duke
parents:
diff changeset
562 bool transition;
a61af66fc99e Initial load
duke
parents:
diff changeset
563 if (Threads::number_of_threads() == 0) {
a61af66fc99e Initial load
duke
parents:
diff changeset
564 transition = false;
a61af66fc99e Initial load
duke
parents:
diff changeset
565 } else {
a61af66fc99e Initial load
duke
parents:
diff changeset
566 this_thread = (Thread*)ThreadLocalStorage::thread();
a61af66fc99e Initial load
duke
parents:
diff changeset
567 transition = ((this_thread != NULL) &amp;&amp; !this_thread->is_VM_thread() &amp;&amp; !this_thread->is_ConcurrentGC_thread());
a61af66fc99e Initial load
duke
parents:
diff changeset
568 }
a61af66fc99e Initial load
duke
parents:
diff changeset
569 if (transition) {</xsl:text>
a61af66fc99e Initial load
duke
parents:
diff changeset
570 </xsl:otherwise>
a61af66fc99e Initial load
duke
parents:
diff changeset
571
a61af66fc99e Initial load
duke
parents:
diff changeset
572 </xsl:choose>
a61af66fc99e Initial load
duke
parents:
diff changeset
573 <!-- we allow use in early phases but there are threads now, -->
a61af66fc99e Initial load
duke
parents:
diff changeset
574 <!-- so do thread transition -->
a61af66fc99e Initial load
duke
parents:
diff changeset
575 <xsl:apply-templates select="." mode="transition">
a61af66fc99e Initial load
duke
parents:
diff changeset
576 <xsl:with-param name="space">
a61af66fc99e Initial load
duke
parents:
diff changeset
577 <xsl:text>
a61af66fc99e Initial load
duke
parents:
diff changeset
578 </xsl:text>
a61af66fc99e Initial load
duke
parents:
diff changeset
579 </xsl:with-param>
a61af66fc99e Initial load
duke
parents:
diff changeset
580 </xsl:apply-templates>
a61af66fc99e Initial load
duke
parents:
diff changeset
581 <xsl:text>
a61af66fc99e Initial load
duke
parents:
diff changeset
582 </xsl:text>
a61af66fc99e Initial load
duke
parents:
diff changeset
583 <xsl:apply-templates select="." mode="doCall"/>
a61af66fc99e Initial load
duke
parents:
diff changeset
584 <xsl:text> } else {
a61af66fc99e Initial load
duke
parents:
diff changeset
585 </xsl:text>
a61af66fc99e Initial load
duke
parents:
diff changeset
586 <!-- we are pre-thread - no thread transition code -->
a61af66fc99e Initial load
duke
parents:
diff changeset
587 <xsl:apply-templates select="." mode="doCall"/>
a61af66fc99e Initial load
duke
parents:
diff changeset
588 <xsl:text> }
a61af66fc99e Initial load
duke
parents:
diff changeset
589 </xsl:text>
a61af66fc99e Initial load
duke
parents:
diff changeset
590 </xsl:when>
a61af66fc99e Initial load
duke
parents:
diff changeset
591 <xsl:otherwise>
a61af66fc99e Initial load
duke
parents:
diff changeset
592 <xsl:apply-templates select="." mode="doCall"/>
a61af66fc99e Initial load
duke
parents:
diff changeset
593 </xsl:otherwise>
a61af66fc99e Initial load
duke
parents:
diff changeset
594 </xsl:choose>
a61af66fc99e Initial load
duke
parents:
diff changeset
595 <xsl:text> return err;
a61af66fc99e Initial load
duke
parents:
diff changeset
596 </xsl:text>
a61af66fc99e Initial load
duke
parents:
diff changeset
597
a61af66fc99e Initial load
duke
parents:
diff changeset
598 <xsl:if test="not(contains(@jkernel,'yes'))">
a61af66fc99e Initial load
duke
parents:
diff changeset
599 <xsl:text>#endif // JVMTI_KERNEL&#xA;</xsl:text>
a61af66fc99e Initial load
duke
parents:
diff changeset
600 </xsl:if>
a61af66fc99e Initial load
duke
parents:
diff changeset
601
a61af66fc99e Initial load
duke
parents:
diff changeset
602 <xsl:text>}&#xA;</xsl:text>
a61af66fc99e Initial load
duke
parents:
diff changeset
603 </xsl:template>
a61af66fc99e Initial load
duke
parents:
diff changeset
604
a61af66fc99e Initial load
duke
parents:
diff changeset
605 <xsl:template match="function" mode="doCall">
a61af66fc99e Initial load
duke
parents:
diff changeset
606 <xsl:apply-templates select="parameters" mode="dochecks"/>
a61af66fc99e Initial load
duke
parents:
diff changeset
607 <xsl:apply-templates select="." mode="traceBefore"/>
a61af66fc99e Initial load
duke
parents:
diff changeset
608 <xsl:apply-templates select="." mode="genCall"/>
a61af66fc99e Initial load
duke
parents:
diff changeset
609 <xsl:apply-templates select="." mode="traceAfter"/>
a61af66fc99e Initial load
duke
parents:
diff changeset
610 </xsl:template>
a61af66fc99e Initial load
duke
parents:
diff changeset
611
a61af66fc99e Initial load
duke
parents:
diff changeset
612 <xsl:template match="function" mode="genCall">
a61af66fc99e Initial load
duke
parents:
diff changeset
613 <xsl:text> err = jvmti_env-&gt;</xsl:text>
a61af66fc99e Initial load
duke
parents:
diff changeset
614 <xsl:value-of select="@id"/>
a61af66fc99e Initial load
duke
parents:
diff changeset
615 <xsl:text>(</xsl:text>
a61af66fc99e Initial load
duke
parents:
diff changeset
616 <xsl:apply-templates select="parameters" mode="HotSpotValue"/>
a61af66fc99e Initial load
duke
parents:
diff changeset
617 <xsl:text>);
a61af66fc99e Initial load
duke
parents:
diff changeset
618 </xsl:text>
a61af66fc99e Initial load
duke
parents:
diff changeset
619 </xsl:template>
a61af66fc99e Initial load
duke
parents:
diff changeset
620
a61af66fc99e Initial load
duke
parents:
diff changeset
621
a61af66fc99e Initial load
duke
parents:
diff changeset
622 <xsl:template match="function" mode="traceSetUp">
a61af66fc99e Initial load
duke
parents:
diff changeset
623 <xsl:if test="$trace='Trace'">
a61af66fc99e Initial load
duke
parents:
diff changeset
624 <xsl:text> SafeResourceMark rm;
a61af66fc99e Initial load
duke
parents:
diff changeset
625 jint trace_flags = JvmtiTrace::trace_flags(</xsl:text>
a61af66fc99e Initial load
duke
parents:
diff changeset
626 <xsl:value-of select="@num"/>
a61af66fc99e Initial load
duke
parents:
diff changeset
627 <xsl:text>);
a61af66fc99e Initial load
duke
parents:
diff changeset
628 const char *func_name;
a61af66fc99e Initial load
duke
parents:
diff changeset
629 const char *curr_thread_name;
a61af66fc99e Initial load
duke
parents:
diff changeset
630 if (trace_flags) {
a61af66fc99e Initial load
duke
parents:
diff changeset
631 func_name = JvmtiTrace::function_name(</xsl:text>
a61af66fc99e Initial load
duke
parents:
diff changeset
632 <xsl:value-of select="@num"/>
a61af66fc99e Initial load
duke
parents:
diff changeset
633 <xsl:text>);
a61af66fc99e Initial load
duke
parents:
diff changeset
634 curr_thread_name = JvmtiTrace::safe_get_current_thread_name();
a61af66fc99e Initial load
duke
parents:
diff changeset
635 }
a61af66fc99e Initial load
duke
parents:
diff changeset
636 </xsl:text>
a61af66fc99e Initial load
duke
parents:
diff changeset
637 </xsl:if>
a61af66fc99e Initial load
duke
parents:
diff changeset
638 </xsl:template>
a61af66fc99e Initial load
duke
parents:
diff changeset
639
a61af66fc99e Initial load
duke
parents:
diff changeset
640
a61af66fc99e Initial load
duke
parents:
diff changeset
641 <xsl:template match="function" mode="traceBefore">
a61af66fc99e Initial load
duke
parents:
diff changeset
642 <xsl:if test="$trace='Trace'">
a61af66fc99e Initial load
duke
parents:
diff changeset
643 <xsl:text>
a61af66fc99e Initial load
duke
parents:
diff changeset
644 if ((trace_flags &amp; JvmtiTrace::SHOW_IN) != 0) {
a61af66fc99e Initial load
duke
parents:
diff changeset
645 </xsl:text>
a61af66fc99e Initial load
duke
parents:
diff changeset
646 <xsl:apply-templates select="." mode="traceIn"/>
a61af66fc99e Initial load
duke
parents:
diff changeset
647 <xsl:text> }
a61af66fc99e Initial load
duke
parents:
diff changeset
648 </xsl:text>
a61af66fc99e Initial load
duke
parents:
diff changeset
649 </xsl:if>
a61af66fc99e Initial load
duke
parents:
diff changeset
650 </xsl:template>
a61af66fc99e Initial load
duke
parents:
diff changeset
651
a61af66fc99e Initial load
duke
parents:
diff changeset
652
a61af66fc99e Initial load
duke
parents:
diff changeset
653 <xsl:template match="param" mode="traceError">
a61af66fc99e Initial load
duke
parents:
diff changeset
654 <xsl:param name="err"/>
a61af66fc99e Initial load
duke
parents:
diff changeset
655 <xsl:param name="comment"></xsl:param>
a61af66fc99e Initial load
duke
parents:
diff changeset
656 <xsl:param name="extraValue"></xsl:param>
a61af66fc99e Initial load
duke
parents:
diff changeset
657 <xsl:if test="$trace='Trace'">
a61af66fc99e Initial load
duke
parents:
diff changeset
658 <xsl:text> if ((trace_flags &amp; JvmtiTrace::SHOW_ERROR) != 0) {
a61af66fc99e Initial load
duke
parents:
diff changeset
659 if ((trace_flags &amp; JvmtiTrace::SHOW_IN) == 0) {
a61af66fc99e Initial load
duke
parents:
diff changeset
660 </xsl:text>
a61af66fc99e Initial load
duke
parents:
diff changeset
661 <xsl:apply-templates select="../.." mode="traceIn">
a61af66fc99e Initial load
duke
parents:
diff changeset
662 <xsl:with-param name="endParam" select="."/>
a61af66fc99e Initial load
duke
parents:
diff changeset
663 </xsl:apply-templates>
a61af66fc99e Initial load
duke
parents:
diff changeset
664 <xsl:text> }
a61af66fc99e Initial load
duke
parents:
diff changeset
665 tty->print_cr("JVMTI [%s] %s } %s - erroneous arg is </xsl:text>
a61af66fc99e Initial load
duke
parents:
diff changeset
666 <xsl:value-of select="@id"/>
a61af66fc99e Initial load
duke
parents:
diff changeset
667 <xsl:value-of select="$comment"/>
a61af66fc99e Initial load
duke
parents:
diff changeset
668 <xsl:text>", curr_thread_name, func_name,
a61af66fc99e Initial load
duke
parents:
diff changeset
669 JvmtiUtil::error_name(</xsl:text>
a61af66fc99e Initial load
duke
parents:
diff changeset
670 <xsl:value-of select="$err"/>
a61af66fc99e Initial load
duke
parents:
diff changeset
671 <xsl:text>)</xsl:text>
a61af66fc99e Initial load
duke
parents:
diff changeset
672 <xsl:value-of select="$extraValue"/>
a61af66fc99e Initial load
duke
parents:
diff changeset
673 <xsl:text>);
a61af66fc99e Initial load
duke
parents:
diff changeset
674 }
a61af66fc99e Initial load
duke
parents:
diff changeset
675 </xsl:text>
a61af66fc99e Initial load
duke
parents:
diff changeset
676 </xsl:if>
a61af66fc99e Initial load
duke
parents:
diff changeset
677 <xsl:text> return </xsl:text>
a61af66fc99e Initial load
duke
parents:
diff changeset
678 <xsl:value-of select="$err"/>
a61af66fc99e Initial load
duke
parents:
diff changeset
679 <xsl:text>;</xsl:text>
a61af66fc99e Initial load
duke
parents:
diff changeset
680 </xsl:template>
a61af66fc99e Initial load
duke
parents:
diff changeset
681
a61af66fc99e Initial load
duke
parents:
diff changeset
682
a61af66fc99e Initial load
duke
parents:
diff changeset
683 <xsl:template match="function" mode="traceAfter">
a61af66fc99e Initial load
duke
parents:
diff changeset
684 <xsl:if test="$trace='Trace'">
a61af66fc99e Initial load
duke
parents:
diff changeset
685 <xsl:text> if ( err != JVMTI_ERROR_NONE &amp;&amp; (trace_flags &amp; JvmtiTrace::SHOW_ERROR) != 0) {
a61af66fc99e Initial load
duke
parents:
diff changeset
686 if ((trace_flags &amp; JvmtiTrace::SHOW_IN) == 0) {
a61af66fc99e Initial load
duke
parents:
diff changeset
687 </xsl:text>
a61af66fc99e Initial load
duke
parents:
diff changeset
688 <xsl:apply-templates select="." mode="traceIn"/>
a61af66fc99e Initial load
duke
parents:
diff changeset
689 <xsl:text> }
a61af66fc99e Initial load
duke
parents:
diff changeset
690 tty->print_cr("JVMTI [%s] %s } %s", curr_thread_name, func_name,
a61af66fc99e Initial load
duke
parents:
diff changeset
691 JvmtiUtil::error_name(err));
a61af66fc99e Initial load
duke
parents:
diff changeset
692 } else if ((trace_flags &amp; JvmtiTrace::SHOW_OUT) != 0) {
a61af66fc99e Initial load
duke
parents:
diff changeset
693 tty->print_cr("JVMTI [%s] %s }", curr_thread_name, func_name);
a61af66fc99e Initial load
duke
parents:
diff changeset
694 }
a61af66fc99e Initial load
duke
parents:
diff changeset
695 </xsl:text>
a61af66fc99e Initial load
duke
parents:
diff changeset
696 </xsl:if>
a61af66fc99e Initial load
duke
parents:
diff changeset
697 </xsl:template>
a61af66fc99e Initial load
duke
parents:
diff changeset
698
a61af66fc99e Initial load
duke
parents:
diff changeset
699 <xsl:template match="function" mode="traceIn">
a61af66fc99e Initial load
duke
parents:
diff changeset
700 <xsl:param name="endParam"></xsl:param>
a61af66fc99e Initial load
duke
parents:
diff changeset
701 <xsl:text> tty->print_cr("JVMTI [%s] %s { </xsl:text>
a61af66fc99e Initial load
duke
parents:
diff changeset
702 <xsl:apply-templates select="parameters" mode="traceInFormat">
a61af66fc99e Initial load
duke
parents:
diff changeset
703 <xsl:with-param name="endParam" select="$endParam"/>
a61af66fc99e Initial load
duke
parents:
diff changeset
704 </xsl:apply-templates>
a61af66fc99e Initial load
duke
parents:
diff changeset
705 <xsl:text>", curr_thread_name, func_name</xsl:text>
a61af66fc99e Initial load
duke
parents:
diff changeset
706 <xsl:apply-templates select="parameters" mode="traceInValue">
a61af66fc99e Initial load
duke
parents:
diff changeset
707 <xsl:with-param name="endParam" select="$endParam"/>
a61af66fc99e Initial load
duke
parents:
diff changeset
708 </xsl:apply-templates>
a61af66fc99e Initial load
duke
parents:
diff changeset
709 <xsl:text>);
a61af66fc99e Initial load
duke
parents:
diff changeset
710 </xsl:text>
a61af66fc99e Initial load
duke
parents:
diff changeset
711 </xsl:template>
a61af66fc99e Initial load
duke
parents:
diff changeset
712
a61af66fc99e Initial load
duke
parents:
diff changeset
713 <xsl:template match="parameters" mode="dochecks">
a61af66fc99e Initial load
duke
parents:
diff changeset
714 <xsl:apply-templates select="param" mode="dochecks"/>
a61af66fc99e Initial load
duke
parents:
diff changeset
715 </xsl:template>
a61af66fc99e Initial load
duke
parents:
diff changeset
716
a61af66fc99e Initial load
duke
parents:
diff changeset
717 <xsl:template match="param" mode="dochecks">
a61af66fc99e Initial load
duke
parents:
diff changeset
718 <xsl:apply-templates select="child::*[position()=1]" mode="dochecks">
a61af66fc99e Initial load
duke
parents:
diff changeset
719 <xsl:with-param name="name" select="@id"/>
a61af66fc99e Initial load
duke
parents:
diff changeset
720 </xsl:apply-templates>
a61af66fc99e Initial load
duke
parents:
diff changeset
721 </xsl:template>
a61af66fc99e Initial load
duke
parents:
diff changeset
722
a61af66fc99e Initial load
duke
parents:
diff changeset
723 <xsl:template match="outptr|outbuf|allocfieldbuf|ptrtype|inptr|inbuf|vmbuf|allocbuf|agentbuf|allocallocbuf" mode="dochecks">
a61af66fc99e Initial load
duke
parents:
diff changeset
724 <xsl:param name="name"/>
a61af66fc99e Initial load
duke
parents:
diff changeset
725 <xsl:if test="count(nullok)=0">
a61af66fc99e Initial load
duke
parents:
diff changeset
726 <xsl:text> if (</xsl:text>
a61af66fc99e Initial load
duke
parents:
diff changeset
727 <xsl:value-of select="$name"/>
a61af66fc99e Initial load
duke
parents:
diff changeset
728 <xsl:text> == NULL) {
a61af66fc99e Initial load
duke
parents:
diff changeset
729 </xsl:text>
a61af66fc99e Initial load
duke
parents:
diff changeset
730 <xsl:apply-templates select=".." mode="traceError">
a61af66fc99e Initial load
duke
parents:
diff changeset
731 <xsl:with-param name="err">JVMTI_ERROR_NULL_POINTER</xsl:with-param>
a61af66fc99e Initial load
duke
parents:
diff changeset
732 </xsl:apply-templates>
a61af66fc99e Initial load
duke
parents:
diff changeset
733 <xsl:text>
a61af66fc99e Initial load
duke
parents:
diff changeset
734 }
a61af66fc99e Initial load
duke
parents:
diff changeset
735 </xsl:text>
a61af66fc99e Initial load
duke
parents:
diff changeset
736 </xsl:if>
a61af66fc99e Initial load
duke
parents:
diff changeset
737 </xsl:template>
a61af66fc99e Initial load
duke
parents:
diff changeset
738
a61af66fc99e Initial load
duke
parents:
diff changeset
739 <xsl:template match="jrawMonitorID" mode="dochecks">
a61af66fc99e Initial load
duke
parents:
diff changeset
740 <xsl:param name="name"/>
a61af66fc99e Initial load
duke
parents:
diff changeset
741 <xsl:text> JvmtiRawMonitor *rmonitor = (JvmtiRawMonitor *)</xsl:text>
a61af66fc99e Initial load
duke
parents:
diff changeset
742 <xsl:value-of select="$name"/>
a61af66fc99e Initial load
duke
parents:
diff changeset
743 <xsl:text>;
a61af66fc99e Initial load
duke
parents:
diff changeset
744 if (rmonitor == NULL) {
a61af66fc99e Initial load
duke
parents:
diff changeset
745 </xsl:text>
a61af66fc99e Initial load
duke
parents:
diff changeset
746 <xsl:apply-templates select=".." mode="traceError">
a61af66fc99e Initial load
duke
parents:
diff changeset
747 <xsl:with-param name="err">JVMTI_ERROR_INVALID_MONITOR</xsl:with-param>
a61af66fc99e Initial load
duke
parents:
diff changeset
748 <xsl:with-param name="comment"> - raw monitor is NULL</xsl:with-param>
a61af66fc99e Initial load
duke
parents:
diff changeset
749 </xsl:apply-templates>
a61af66fc99e Initial load
duke
parents:
diff changeset
750 <xsl:text>
a61af66fc99e Initial load
duke
parents:
diff changeset
751 }
a61af66fc99e Initial load
duke
parents:
diff changeset
752 if (!rmonitor->is_valid()) {
a61af66fc99e Initial load
duke
parents:
diff changeset
753 </xsl:text>
a61af66fc99e Initial load
duke
parents:
diff changeset
754 <xsl:apply-templates select=".." mode="traceError">
a61af66fc99e Initial load
duke
parents:
diff changeset
755 <xsl:with-param name="err">JVMTI_ERROR_INVALID_MONITOR</xsl:with-param>
a61af66fc99e Initial load
duke
parents:
diff changeset
756 <xsl:with-param name="comment"> - not a raw monitor 0x%x</xsl:with-param>
a61af66fc99e Initial load
duke
parents:
diff changeset
757 <xsl:with-param name="extraValue">, rmonitor</xsl:with-param>
a61af66fc99e Initial load
duke
parents:
diff changeset
758 </xsl:apply-templates>
a61af66fc99e Initial load
duke
parents:
diff changeset
759 <xsl:text>
a61af66fc99e Initial load
duke
parents:
diff changeset
760 }
a61af66fc99e Initial load
duke
parents:
diff changeset
761 </xsl:text>
a61af66fc99e Initial load
duke
parents:
diff changeset
762 </xsl:template>
a61af66fc99e Initial load
duke
parents:
diff changeset
763
a61af66fc99e Initial load
duke
parents:
diff changeset
764 <xsl:template match="jthread" mode="dochecksbody">
a61af66fc99e Initial load
duke
parents:
diff changeset
765 <xsl:param name="name"/>
a61af66fc99e Initial load
duke
parents:
diff changeset
766 <xsl:text> oop thread_oop = JNIHandles::resolve_external_guard(</xsl:text>
a61af66fc99e Initial load
duke
parents:
diff changeset
767 <xsl:value-of select="$name"/>
a61af66fc99e Initial load
duke
parents:
diff changeset
768 <xsl:text>);
a61af66fc99e Initial load
duke
parents:
diff changeset
769 if (thread_oop == NULL) {
a61af66fc99e Initial load
duke
parents:
diff changeset
770 </xsl:text>
a61af66fc99e Initial load
duke
parents:
diff changeset
771 <xsl:apply-templates select=".." mode="traceError">
a61af66fc99e Initial load
duke
parents:
diff changeset
772 <xsl:with-param name="err">JVMTI_ERROR_INVALID_THREAD</xsl:with-param>
a61af66fc99e Initial load
duke
parents:
diff changeset
773 <xsl:with-param name="comment"> - jthread resolved to NULL - jthread = %0x%x</xsl:with-param>
a61af66fc99e Initial load
duke
parents:
diff changeset
774 <xsl:with-param name="extraValue">, <xsl:value-of select="$name"/></xsl:with-param>
a61af66fc99e Initial load
duke
parents:
diff changeset
775 </xsl:apply-templates>
a61af66fc99e Initial load
duke
parents:
diff changeset
776 <xsl:text>
a61af66fc99e Initial load
duke
parents:
diff changeset
777 }
1142
4ce7240d622c 6914300: ciEnv should export all well known classes
never
parents: 0
diff changeset
778 if (!thread_oop-&gt;is_a(SystemDictionary::Thread_klass())) {
0
a61af66fc99e Initial load
duke
parents:
diff changeset
779 </xsl:text>
a61af66fc99e Initial load
duke
parents:
diff changeset
780 <xsl:apply-templates select=".." mode="traceError">
a61af66fc99e Initial load
duke
parents:
diff changeset
781 <xsl:with-param name="err">JVMTI_ERROR_INVALID_THREAD</xsl:with-param>
a61af66fc99e Initial load
duke
parents:
diff changeset
782 <xsl:with-param name="comment"> - oop is not a thread - jthread = %0x%x</xsl:with-param>
a61af66fc99e Initial load
duke
parents:
diff changeset
783 <xsl:with-param name="extraValue">, <xsl:value-of select="$name"/></xsl:with-param>
a61af66fc99e Initial load
duke
parents:
diff changeset
784 </xsl:apply-templates>
a61af66fc99e Initial load
duke
parents:
diff changeset
785 <xsl:text>
a61af66fc99e Initial load
duke
parents:
diff changeset
786 }
a61af66fc99e Initial load
duke
parents:
diff changeset
787 java_thread = java_lang_Thread::thread(thread_oop);
a61af66fc99e Initial load
duke
parents:
diff changeset
788 if (java_thread == NULL) {
a61af66fc99e Initial load
duke
parents:
diff changeset
789 </xsl:text>
a61af66fc99e Initial load
duke
parents:
diff changeset
790 <xsl:apply-templates select=".." mode="traceError">
a61af66fc99e Initial load
duke
parents:
diff changeset
791 <xsl:with-param name="err">
a61af66fc99e Initial load
duke
parents:
diff changeset
792 <xsl:text>JVMTI_ERROR_THREAD_NOT_ALIVE</xsl:text>
a61af66fc99e Initial load
duke
parents:
diff changeset
793 </xsl:with-param>
a61af66fc99e Initial load
duke
parents:
diff changeset
794 <xsl:with-param name="comment"> - not a Java thread - jthread = %0x%x</xsl:with-param>
a61af66fc99e Initial load
duke
parents:
diff changeset
795 <xsl:with-param name="extraValue">, <xsl:value-of select="$name"/></xsl:with-param>
a61af66fc99e Initial load
duke
parents:
diff changeset
796 </xsl:apply-templates>
a61af66fc99e Initial load
duke
parents:
diff changeset
797 <xsl:text>
a61af66fc99e Initial load
duke
parents:
diff changeset
798 }
a61af66fc99e Initial load
duke
parents:
diff changeset
799 </xsl:text>
a61af66fc99e Initial load
duke
parents:
diff changeset
800 </xsl:template>
a61af66fc99e Initial load
duke
parents:
diff changeset
801
a61af66fc99e Initial load
duke
parents:
diff changeset
802 <xsl:template match="jthread" mode="dochecks">
a61af66fc99e Initial load
duke
parents:
diff changeset
803 <xsl:param name="name"/>
a61af66fc99e Initial load
duke
parents:
diff changeset
804 <!-- If we convert and test threads -->
a61af66fc99e Initial load
duke
parents:
diff changeset
805 <xsl:if test="count(@impl)=0 or not(contains(@impl,'noconvert'))">
a61af66fc99e Initial load
duke
parents:
diff changeset
806 <xsl:text> JavaThread* java_thread;
a61af66fc99e Initial load
duke
parents:
diff changeset
807 </xsl:text>
a61af66fc99e Initial load
duke
parents:
diff changeset
808 <xsl:choose>
a61af66fc99e Initial load
duke
parents:
diff changeset
809 <xsl:when test="count(@null)=0">
a61af66fc99e Initial load
duke
parents:
diff changeset
810 <xsl:apply-templates select="." mode="dochecksbody">
a61af66fc99e Initial load
duke
parents:
diff changeset
811 <xsl:with-param name="name" select="$name"/>
a61af66fc99e Initial load
duke
parents:
diff changeset
812 </xsl:apply-templates>
a61af66fc99e Initial load
duke
parents:
diff changeset
813 </xsl:when>
a61af66fc99e Initial load
duke
parents:
diff changeset
814 <xsl:otherwise>
a61af66fc99e Initial load
duke
parents:
diff changeset
815 <xsl:text> if (</xsl:text>
a61af66fc99e Initial load
duke
parents:
diff changeset
816 <xsl:value-of select="$name"/>
a61af66fc99e Initial load
duke
parents:
diff changeset
817 <xsl:text> == NULL) {
a61af66fc99e Initial load
duke
parents:
diff changeset
818 java_thread = current_thread;
a61af66fc99e Initial load
duke
parents:
diff changeset
819 } else {
a61af66fc99e Initial load
duke
parents:
diff changeset
820 </xsl:text>
a61af66fc99e Initial load
duke
parents:
diff changeset
821 <xsl:apply-templates select="." mode="dochecksbody">
a61af66fc99e Initial load
duke
parents:
diff changeset
822 <xsl:with-param name="name" select="$name"/>
a61af66fc99e Initial load
duke
parents:
diff changeset
823 </xsl:apply-templates>
a61af66fc99e Initial load
duke
parents:
diff changeset
824 <xsl:text> }
a61af66fc99e Initial load
duke
parents:
diff changeset
825 </xsl:text>
a61af66fc99e Initial load
duke
parents:
diff changeset
826 </xsl:otherwise>
a61af66fc99e Initial load
duke
parents:
diff changeset
827 </xsl:choose>
a61af66fc99e Initial load
duke
parents:
diff changeset
828 </xsl:if>
a61af66fc99e Initial load
duke
parents:
diff changeset
829 </xsl:template>
a61af66fc99e Initial load
duke
parents:
diff changeset
830
a61af66fc99e Initial load
duke
parents:
diff changeset
831 <xsl:template match="jframeID" mode="dochecks">
a61af66fc99e Initial load
duke
parents:
diff changeset
832 <xsl:param name="name"/>
a61af66fc99e Initial load
duke
parents:
diff changeset
833 <xsl:text>
a61af66fc99e Initial load
duke
parents:
diff changeset
834 if (depth &lt; 0) {
a61af66fc99e Initial load
duke
parents:
diff changeset
835 </xsl:text>
a61af66fc99e Initial load
duke
parents:
diff changeset
836 <xsl:apply-templates select=".." mode="traceError">
a61af66fc99e Initial load
duke
parents:
diff changeset
837 <xsl:with-param name="err">JVMTI_ERROR_ILLEGAL_ARGUMENT</xsl:with-param>
a61af66fc99e Initial load
duke
parents:
diff changeset
838 <xsl:with-param name="comment"> - negative depth - jthread = %0x%x</xsl:with-param>
a61af66fc99e Initial load
duke
parents:
diff changeset
839 <xsl:with-param name="extraValue">, <xsl:value-of select="$name"/></xsl:with-param>
a61af66fc99e Initial load
duke
parents:
diff changeset
840 </xsl:apply-templates>
a61af66fc99e Initial load
duke
parents:
diff changeset
841 <xsl:text>
a61af66fc99e Initial load
duke
parents:
diff changeset
842 }
a61af66fc99e Initial load
duke
parents:
diff changeset
843 </xsl:text>
a61af66fc99e Initial load
duke
parents:
diff changeset
844 </xsl:template>
a61af66fc99e Initial load
duke
parents:
diff changeset
845
a61af66fc99e Initial load
duke
parents:
diff changeset
846 <xsl:template match="jclass" mode="dochecks">
a61af66fc99e Initial load
duke
parents:
diff changeset
847 <xsl:param name="name"/>
a61af66fc99e Initial load
duke
parents:
diff changeset
848 <!-- for JVMTI a jclass/jmethodID becomes just jmethodID -->
a61af66fc99e Initial load
duke
parents:
diff changeset
849 <xsl:if test="count(@method)=0">
a61af66fc99e Initial load
duke
parents:
diff changeset
850 <xsl:text> oop k_mirror = JNIHandles::resolve_external_guard(</xsl:text>
a61af66fc99e Initial load
duke
parents:
diff changeset
851 <xsl:value-of select="$name"/>
a61af66fc99e Initial load
duke
parents:
diff changeset
852 <xsl:text>);
a61af66fc99e Initial load
duke
parents:
diff changeset
853 if (k_mirror == NULL) {
a61af66fc99e Initial load
duke
parents:
diff changeset
854 </xsl:text>
a61af66fc99e Initial load
duke
parents:
diff changeset
855 <xsl:apply-templates select=".." mode="traceError">
a61af66fc99e Initial load
duke
parents:
diff changeset
856 <xsl:with-param name="err">JVMTI_ERROR_INVALID_CLASS</xsl:with-param>
a61af66fc99e Initial load
duke
parents:
diff changeset
857 <xsl:with-param name="comment"> - resolved to NULL - jclass = 0x%x</xsl:with-param>
a61af66fc99e Initial load
duke
parents:
diff changeset
858 <xsl:with-param name="extraValue">, <xsl:value-of select="$name"/></xsl:with-param>
a61af66fc99e Initial load
duke
parents:
diff changeset
859 </xsl:apply-templates>
a61af66fc99e Initial load
duke
parents:
diff changeset
860 <xsl:text>
a61af66fc99e Initial load
duke
parents:
diff changeset
861 }
1142
4ce7240d622c 6914300: ciEnv should export all well known classes
never
parents: 0
diff changeset
862 if (!k_mirror->is_a(SystemDictionary::Class_klass())) {
0
a61af66fc99e Initial load
duke
parents:
diff changeset
863 </xsl:text>
a61af66fc99e Initial load
duke
parents:
diff changeset
864 <xsl:apply-templates select=".." mode="traceError">
a61af66fc99e Initial load
duke
parents:
diff changeset
865 <xsl:with-param name="err">JVMTI_ERROR_INVALID_CLASS</xsl:with-param>
a61af66fc99e Initial load
duke
parents:
diff changeset
866 <xsl:with-param name="comment"> - not a class - jclass = 0x%x</xsl:with-param>
a61af66fc99e Initial load
duke
parents:
diff changeset
867 <xsl:with-param name="extraValue">, <xsl:value-of select="$name"/></xsl:with-param>
a61af66fc99e Initial load
duke
parents:
diff changeset
868 </xsl:apply-templates>
a61af66fc99e Initial load
duke
parents:
diff changeset
869 <xsl:text>
a61af66fc99e Initial load
duke
parents:
diff changeset
870 }
a61af66fc99e Initial load
duke
parents:
diff changeset
871 </xsl:text>
a61af66fc99e Initial load
duke
parents:
diff changeset
872 <xsl:if test="count(@method|@field)=1">
a61af66fc99e Initial load
duke
parents:
diff changeset
873 <xsl:text>
a61af66fc99e Initial load
duke
parents:
diff changeset
874 if (java_lang_Class::is_primitive(k_mirror)) {
a61af66fc99e Initial load
duke
parents:
diff changeset
875 </xsl:text>
a61af66fc99e Initial load
duke
parents:
diff changeset
876 <xsl:apply-templates select=".." mode="traceError">
a61af66fc99e Initial load
duke
parents:
diff changeset
877 <xsl:with-param name="err">JVMTI_ERROR_INVALID_CLASS</xsl:with-param>
a61af66fc99e Initial load
duke
parents:
diff changeset
878 <xsl:with-param name="comment"> - is a primitive class - jclass = 0x%x</xsl:with-param>
a61af66fc99e Initial load
duke
parents:
diff changeset
879 <xsl:with-param name="extraValue">, <xsl:value-of select="$name"/></xsl:with-param>
a61af66fc99e Initial load
duke
parents:
diff changeset
880 </xsl:apply-templates>
a61af66fc99e Initial load
duke
parents:
diff changeset
881 <xsl:text>
a61af66fc99e Initial load
duke
parents:
diff changeset
882 }
a61af66fc99e Initial load
duke
parents:
diff changeset
883 klassOop k_oop = java_lang_Class::as_klassOop(k_mirror);
a61af66fc99e Initial load
duke
parents:
diff changeset
884 if (k_oop == NULL) {
a61af66fc99e Initial load
duke
parents:
diff changeset
885 </xsl:text>
a61af66fc99e Initial load
duke
parents:
diff changeset
886 <xsl:apply-templates select=".." mode="traceError">
a61af66fc99e Initial load
duke
parents:
diff changeset
887 <xsl:with-param name="err">JVMTI_ERROR_INVALID_CLASS</xsl:with-param>
a61af66fc99e Initial load
duke
parents:
diff changeset
888 <xsl:with-param name="comment"> - no klassOop - jclass = 0x%x</xsl:with-param>
a61af66fc99e Initial load
duke
parents:
diff changeset
889 <xsl:with-param name="extraValue">, <xsl:value-of select="$name"/></xsl:with-param>
a61af66fc99e Initial load
duke
parents:
diff changeset
890 </xsl:apply-templates>
a61af66fc99e Initial load
duke
parents:
diff changeset
891 <xsl:text>
a61af66fc99e Initial load
duke
parents:
diff changeset
892 }
a61af66fc99e Initial load
duke
parents:
diff changeset
893 </xsl:text>
a61af66fc99e Initial load
duke
parents:
diff changeset
894 </xsl:if>
a61af66fc99e Initial load
duke
parents:
diff changeset
895 </xsl:if>
a61af66fc99e Initial load
duke
parents:
diff changeset
896 </xsl:template>
a61af66fc99e Initial load
duke
parents:
diff changeset
897
a61af66fc99e Initial load
duke
parents:
diff changeset
898
a61af66fc99e Initial load
duke
parents:
diff changeset
899 <xsl:template match="jmethodID" mode="dochecks">
a61af66fc99e Initial load
duke
parents:
diff changeset
900 <xsl:param name="name"/>
a61af66fc99e Initial load
duke
parents:
diff changeset
901 <xsl:text> methodOop method_oop = JNIHandles::checked_resolve_jmethod_id(</xsl:text>
a61af66fc99e Initial load
duke
parents:
diff changeset
902 <xsl:value-of select="$name"/>
a61af66fc99e Initial load
duke
parents:
diff changeset
903 <xsl:text>);&#xA;</xsl:text>
a61af66fc99e Initial load
duke
parents:
diff changeset
904 <xsl:text> if (method_oop == NULL) {&#xA;</xsl:text>
a61af66fc99e Initial load
duke
parents:
diff changeset
905 <xsl:apply-templates select=".." mode="traceError">
a61af66fc99e Initial load
duke
parents:
diff changeset
906 <xsl:with-param name="err">JVMTI_ERROR_INVALID_METHODID</xsl:with-param>
a61af66fc99e Initial load
duke
parents:
diff changeset
907 <xsl:with-param name="comment"></xsl:with-param>
a61af66fc99e Initial load
duke
parents:
diff changeset
908 <xsl:with-param name="extraValue"></xsl:with-param>
a61af66fc99e Initial load
duke
parents:
diff changeset
909 </xsl:apply-templates>
a61af66fc99e Initial load
duke
parents:
diff changeset
910 <xsl:text>&#xA;</xsl:text>
a61af66fc99e Initial load
duke
parents:
diff changeset
911 <xsl:text> }&#xA;</xsl:text>
a61af66fc99e Initial load
duke
parents:
diff changeset
912 <xsl:if test="count(@native)=1 and contains(@native,'error')">
a61af66fc99e Initial load
duke
parents:
diff changeset
913 <xsl:text> if (method_oop->is_native()) {&#xA;</xsl:text>
a61af66fc99e Initial load
duke
parents:
diff changeset
914 <xsl:text> return JVMTI_ERROR_NATIVE_METHOD;&#xA;</xsl:text>
a61af66fc99e Initial load
duke
parents:
diff changeset
915 <xsl:text> }&#xA;</xsl:text>
a61af66fc99e Initial load
duke
parents:
diff changeset
916 </xsl:if>
a61af66fc99e Initial load
duke
parents:
diff changeset
917 </xsl:template>
a61af66fc99e Initial load
duke
parents:
diff changeset
918
a61af66fc99e Initial load
duke
parents:
diff changeset
919
a61af66fc99e Initial load
duke
parents:
diff changeset
920 <xsl:template match="jfieldID" mode="dochecks">
a61af66fc99e Initial load
duke
parents:
diff changeset
921 <xsl:param name="name"/>
a61af66fc99e Initial load
duke
parents:
diff changeset
922 <xsl:text> ResourceMark rm_fdesc(current_thread);&#xA;</xsl:text>
a61af66fc99e Initial load
duke
parents:
diff changeset
923 <xsl:text> fieldDescriptor fdesc;&#xA;</xsl:text>
a61af66fc99e Initial load
duke
parents:
diff changeset
924 <xsl:text> if (!JvmtiEnv::get_field_descriptor(k_oop, </xsl:text>
a61af66fc99e Initial load
duke
parents:
diff changeset
925 <xsl:value-of select="$name"/>
a61af66fc99e Initial load
duke
parents:
diff changeset
926 <xsl:text>, &amp;fdesc)) {&#xA;</xsl:text>
a61af66fc99e Initial load
duke
parents:
diff changeset
927 <xsl:apply-templates select=".." mode="traceError">
a61af66fc99e Initial load
duke
parents:
diff changeset
928 <xsl:with-param name="err">JVMTI_ERROR_INVALID_FIELDID</xsl:with-param>
a61af66fc99e Initial load
duke
parents:
diff changeset
929 </xsl:apply-templates>
a61af66fc99e Initial load
duke
parents:
diff changeset
930 <xsl:text>&#xA;</xsl:text>
a61af66fc99e Initial load
duke
parents:
diff changeset
931 <xsl:text> }&#xA;</xsl:text>
a61af66fc99e Initial load
duke
parents:
diff changeset
932 </xsl:template>
a61af66fc99e Initial load
duke
parents:
diff changeset
933
a61af66fc99e Initial load
duke
parents:
diff changeset
934
a61af66fc99e Initial load
duke
parents:
diff changeset
935 <xsl:template match="jint" mode="dochecks">
a61af66fc99e Initial load
duke
parents:
diff changeset
936 <xsl:param name="name"/>
a61af66fc99e Initial load
duke
parents:
diff changeset
937 <xsl:if test="count(@min)=1">
a61af66fc99e Initial load
duke
parents:
diff changeset
938 <xsl:text> if (</xsl:text>
a61af66fc99e Initial load
duke
parents:
diff changeset
939 <xsl:value-of select="$name"/>
a61af66fc99e Initial load
duke
parents:
diff changeset
940 <xsl:text> &lt; </xsl:text>
a61af66fc99e Initial load
duke
parents:
diff changeset
941 <xsl:value-of select="@min"/>
a61af66fc99e Initial load
duke
parents:
diff changeset
942 <xsl:text>) {
a61af66fc99e Initial load
duke
parents:
diff changeset
943 </xsl:text>
a61af66fc99e Initial load
duke
parents:
diff changeset
944 <xsl:apply-templates select=".." mode="traceError">
a61af66fc99e Initial load
duke
parents:
diff changeset
945 <xsl:with-param name="err">JVMTI_ERROR_ILLEGAL_ARGUMENT</xsl:with-param>
a61af66fc99e Initial load
duke
parents:
diff changeset
946 </xsl:apply-templates>
a61af66fc99e Initial load
duke
parents:
diff changeset
947 <xsl:text>
a61af66fc99e Initial load
duke
parents:
diff changeset
948 }
a61af66fc99e Initial load
duke
parents:
diff changeset
949 </xsl:text>
a61af66fc99e Initial load
duke
parents:
diff changeset
950 </xsl:if>
a61af66fc99e Initial load
duke
parents:
diff changeset
951 </xsl:template>
a61af66fc99e Initial load
duke
parents:
diff changeset
952
a61af66fc99e Initial load
duke
parents:
diff changeset
953 <xsl:template match="jobject|jvalue|jthreadGroup|enum|jchar|jlong|jfloat|jdouble|jlocation|jboolean|char|uchar|size_t|void|struct" mode="dochecks">
a61af66fc99e Initial load
duke
parents:
diff changeset
954 </xsl:template>
a61af66fc99e Initial load
duke
parents:
diff changeset
955
a61af66fc99e Initial load
duke
parents:
diff changeset
956 <!-- iterate over parameters, stopping if specified is encountered -->
a61af66fc99e Initial load
duke
parents:
diff changeset
957 <xsl:template name="traceInValueParamsUpTo">
a61af66fc99e Initial load
duke
parents:
diff changeset
958 <xsl:param name="params"/>
a61af66fc99e Initial load
duke
parents:
diff changeset
959 <xsl:param name="endParam"></xsl:param>
a61af66fc99e Initial load
duke
parents:
diff changeset
960 <xsl:param name="index" select="1"/>
a61af66fc99e Initial load
duke
parents:
diff changeset
961 <xsl:variable name="cParam" select="$params[position()=$index]"/>
a61af66fc99e Initial load
duke
parents:
diff changeset
962 <xsl:if test="$cParam!=$endParam">
a61af66fc99e Initial load
duke
parents:
diff changeset
963 <xsl:apply-templates select="$cParam" mode="traceInValue"/>
a61af66fc99e Initial load
duke
parents:
diff changeset
964 <xsl:if test="count($params) &gt; $index">
a61af66fc99e Initial load
duke
parents:
diff changeset
965 <xsl:call-template name="traceInValueParamsUpTo">
a61af66fc99e Initial load
duke
parents:
diff changeset
966 <xsl:with-param name="params" select="$params"/>
a61af66fc99e Initial load
duke
parents:
diff changeset
967 <xsl:with-param name="endParam" select="$endParam"/>
a61af66fc99e Initial load
duke
parents:
diff changeset
968 <xsl:with-param name="index" select="1+$index"/>
a61af66fc99e Initial load
duke
parents:
diff changeset
969 </xsl:call-template>
a61af66fc99e Initial load
duke
parents:
diff changeset
970 </xsl:if>
a61af66fc99e Initial load
duke
parents:
diff changeset
971 </xsl:if>
a61af66fc99e Initial load
duke
parents:
diff changeset
972 </xsl:template>
a61af66fc99e Initial load
duke
parents:
diff changeset
973
a61af66fc99e Initial load
duke
parents:
diff changeset
974 <xsl:template name="traceInFormatParamsUpTo">
a61af66fc99e Initial load
duke
parents:
diff changeset
975 <xsl:param name="params"/>
a61af66fc99e Initial load
duke
parents:
diff changeset
976 <xsl:param name="endParam"></xsl:param>
a61af66fc99e Initial load
duke
parents:
diff changeset
977 <xsl:param name="index" select="1"/>
a61af66fc99e Initial load
duke
parents:
diff changeset
978 <xsl:variable name="cParam" select="$params[position()=$index]"/>
a61af66fc99e Initial load
duke
parents:
diff changeset
979 <xsl:if test="$cParam!=$endParam">
a61af66fc99e Initial load
duke
parents:
diff changeset
980 <xsl:apply-templates select="$cParam" mode="traceInFormat"/>
a61af66fc99e Initial load
duke
parents:
diff changeset
981 <xsl:if test="count($params) &gt; $index">
a61af66fc99e Initial load
duke
parents:
diff changeset
982 <xsl:call-template name="traceInFormatParamsUpTo">
a61af66fc99e Initial load
duke
parents:
diff changeset
983 <xsl:with-param name="params" select="$params"/>
a61af66fc99e Initial load
duke
parents:
diff changeset
984 <xsl:with-param name="endParam" select="$endParam"/>
a61af66fc99e Initial load
duke
parents:
diff changeset
985 <xsl:with-param name="index" select="1+$index"/>
a61af66fc99e Initial load
duke
parents:
diff changeset
986 </xsl:call-template>
a61af66fc99e Initial load
duke
parents:
diff changeset
987 </xsl:if>
a61af66fc99e Initial load
duke
parents:
diff changeset
988 </xsl:if>
a61af66fc99e Initial load
duke
parents:
diff changeset
989 </xsl:template>
a61af66fc99e Initial load
duke
parents:
diff changeset
990
a61af66fc99e Initial load
duke
parents:
diff changeset
991 <xsl:template match="parameters" mode="traceInFormat">
a61af66fc99e Initial load
duke
parents:
diff changeset
992 <xsl:param name="endParam"></xsl:param>
a61af66fc99e Initial load
duke
parents:
diff changeset
993 <xsl:call-template name="traceInFormatParamsUpTo">
a61af66fc99e Initial load
duke
parents:
diff changeset
994 <xsl:with-param name="params" select="param"/>
a61af66fc99e Initial load
duke
parents:
diff changeset
995 <xsl:with-param name="endParam" select="$endParam"/>
a61af66fc99e Initial load
duke
parents:
diff changeset
996 </xsl:call-template>
a61af66fc99e Initial load
duke
parents:
diff changeset
997 </xsl:template>
a61af66fc99e Initial load
duke
parents:
diff changeset
998
a61af66fc99e Initial load
duke
parents:
diff changeset
999 <xsl:template match="parameters" mode="traceInValue">
a61af66fc99e Initial load
duke
parents:
diff changeset
1000 <xsl:param name="endParam"></xsl:param>
a61af66fc99e Initial load
duke
parents:
diff changeset
1001 <xsl:call-template name="traceInValueParamsUpTo">
a61af66fc99e Initial load
duke
parents:
diff changeset
1002 <xsl:with-param name="params" select="param"/>
a61af66fc99e Initial load
duke
parents:
diff changeset
1003 <xsl:with-param name="endParam" select="$endParam"/>
a61af66fc99e Initial load
duke
parents:
diff changeset
1004 </xsl:call-template>
a61af66fc99e Initial load
duke
parents:
diff changeset
1005 </xsl:template>
a61af66fc99e Initial load
duke
parents:
diff changeset
1006
a61af66fc99e Initial load
duke
parents:
diff changeset
1007 <xsl:template match="param" mode="traceInFormat">
a61af66fc99e Initial load
duke
parents:
diff changeset
1008 <xsl:apply-templates select="child::*[position()=1]" mode="traceInFormat">
a61af66fc99e Initial load
duke
parents:
diff changeset
1009 <xsl:with-param name="name" select="@id"/>
a61af66fc99e Initial load
duke
parents:
diff changeset
1010 </xsl:apply-templates>
a61af66fc99e Initial load
duke
parents:
diff changeset
1011 </xsl:template>
a61af66fc99e Initial load
duke
parents:
diff changeset
1012
a61af66fc99e Initial load
duke
parents:
diff changeset
1013 <xsl:template match="param" mode="traceInValue">
a61af66fc99e Initial load
duke
parents:
diff changeset
1014 <xsl:apply-templates select="child::*[position()=1]" mode="traceInValue">
a61af66fc99e Initial load
duke
parents:
diff changeset
1015 <xsl:with-param name="name" select="@id"/>
a61af66fc99e Initial load
duke
parents:
diff changeset
1016 </xsl:apply-templates>
a61af66fc99e Initial load
duke
parents:
diff changeset
1017 </xsl:template>
a61af66fc99e Initial load
duke
parents:
diff changeset
1018
a61af66fc99e Initial load
duke
parents:
diff changeset
1019 <xsl:template match="outptr|outbuf|allocfieldbuf|vmbuf|allocbuf|agentbuf|allocallocbuf" mode="traceInFormat">
a61af66fc99e Initial load
duke
parents:
diff changeset
1020 </xsl:template>
a61af66fc99e Initial load
duke
parents:
diff changeset
1021
a61af66fc99e Initial load
duke
parents:
diff changeset
1022 <xsl:template match="outptr|outbuf|allocfieldbuf|vmbuf|allocbuf|agentbuf|allocallocbuf" mode="traceInValue">
a61af66fc99e Initial load
duke
parents:
diff changeset
1023 </xsl:template>
a61af66fc99e Initial load
duke
parents:
diff changeset
1024
a61af66fc99e Initial load
duke
parents:
diff changeset
1025 <xsl:template match="inbuf" mode="traceInFormat">
a61af66fc99e Initial load
duke
parents:
diff changeset
1026 <xsl:param name="name"/>
a61af66fc99e Initial load
duke
parents:
diff changeset
1027 <xsl:text> </xsl:text>
a61af66fc99e Initial load
duke
parents:
diff changeset
1028 <xsl:value-of select="$name"/>
a61af66fc99e Initial load
duke
parents:
diff changeset
1029 <xsl:variable name="child" select="child::*[position()=1]"/>
a61af66fc99e Initial load
duke
parents:
diff changeset
1030 <xsl:choose>
a61af66fc99e Initial load
duke
parents:
diff changeset
1031 <xsl:when test="name($child)='char'">
a61af66fc99e Initial load
duke
parents:
diff changeset
1032 <xsl:text>='%s'</xsl:text>
a61af66fc99e Initial load
duke
parents:
diff changeset
1033 </xsl:when>
a61af66fc99e Initial load
duke
parents:
diff changeset
1034 <xsl:otherwise>
a61af66fc99e Initial load
duke
parents:
diff changeset
1035 <xsl:text>=0x%x</xsl:text>
a61af66fc99e Initial load
duke
parents:
diff changeset
1036 </xsl:otherwise>
a61af66fc99e Initial load
duke
parents:
diff changeset
1037 </xsl:choose>
a61af66fc99e Initial load
duke
parents:
diff changeset
1038 </xsl:template>
a61af66fc99e Initial load
duke
parents:
diff changeset
1039
a61af66fc99e Initial load
duke
parents:
diff changeset
1040 <xsl:template match="inbuf" mode="traceInValue">
a61af66fc99e Initial load
duke
parents:
diff changeset
1041 <xsl:param name="name"/>
a61af66fc99e Initial load
duke
parents:
diff changeset
1042 <xsl:text>, </xsl:text>
a61af66fc99e Initial load
duke
parents:
diff changeset
1043 <xsl:value-of select="$name"/>
a61af66fc99e Initial load
duke
parents:
diff changeset
1044 </xsl:template>
a61af66fc99e Initial load
duke
parents:
diff changeset
1045
a61af66fc99e Initial load
duke
parents:
diff changeset
1046 <xsl:template match="ptrtype" mode="traceInFormat">
a61af66fc99e Initial load
duke
parents:
diff changeset
1047 <xsl:param name="name"/>
a61af66fc99e Initial load
duke
parents:
diff changeset
1048 <xsl:variable name="child" select="child::*[position()=1]"/>
a61af66fc99e Initial load
duke
parents:
diff changeset
1049 <xsl:choose>
a61af66fc99e Initial load
duke
parents:
diff changeset
1050 <xsl:when test="name($child)='jclass'">
a61af66fc99e Initial load
duke
parents:
diff changeset
1051 <xsl:text> </xsl:text>
a61af66fc99e Initial load
duke
parents:
diff changeset
1052 <xsl:value-of select="$name"/>
a61af66fc99e Initial load
duke
parents:
diff changeset
1053 <xsl:text>=0x%x</xsl:text>
a61af66fc99e Initial load
duke
parents:
diff changeset
1054 </xsl:when>
a61af66fc99e Initial load
duke
parents:
diff changeset
1055 <xsl:otherwise>
a61af66fc99e Initial load
duke
parents:
diff changeset
1056 <xsl:apply-templates select="$child" mode="traceInFormat"/>
a61af66fc99e Initial load
duke
parents:
diff changeset
1057 </xsl:otherwise>
a61af66fc99e Initial load
duke
parents:
diff changeset
1058 </xsl:choose>
a61af66fc99e Initial load
duke
parents:
diff changeset
1059 </xsl:template>
a61af66fc99e Initial load
duke
parents:
diff changeset
1060
a61af66fc99e Initial load
duke
parents:
diff changeset
1061 <xsl:template match="ptrtype" mode="traceInValue">
a61af66fc99e Initial load
duke
parents:
diff changeset
1062 <xsl:param name="name"/>
a61af66fc99e Initial load
duke
parents:
diff changeset
1063 <xsl:variable name="child" select="child::*[position()=1]"/>
a61af66fc99e Initial load
duke
parents:
diff changeset
1064 <xsl:choose>
a61af66fc99e Initial load
duke
parents:
diff changeset
1065 <xsl:when test="name($child)='jclass'">
a61af66fc99e Initial load
duke
parents:
diff changeset
1066 <xsl:text>, </xsl:text>
a61af66fc99e Initial load
duke
parents:
diff changeset
1067 <xsl:value-of select="$name"/>
a61af66fc99e Initial load
duke
parents:
diff changeset
1068 </xsl:when>
a61af66fc99e Initial load
duke
parents:
diff changeset
1069 <xsl:otherwise>
a61af66fc99e Initial load
duke
parents:
diff changeset
1070 <xsl:apply-templates select="$child" mode="traceInValue"/>
a61af66fc99e Initial load
duke
parents:
diff changeset
1071 </xsl:otherwise>
a61af66fc99e Initial load
duke
parents:
diff changeset
1072 </xsl:choose>
a61af66fc99e Initial load
duke
parents:
diff changeset
1073 </xsl:template>
a61af66fc99e Initial load
duke
parents:
diff changeset
1074
a61af66fc99e Initial load
duke
parents:
diff changeset
1075 <xsl:template match="inptr" mode="traceInFormat">
a61af66fc99e Initial load
duke
parents:
diff changeset
1076 <xsl:param name="name"/>
a61af66fc99e Initial load
duke
parents:
diff changeset
1077 <xsl:text> </xsl:text>
a61af66fc99e Initial load
duke
parents:
diff changeset
1078 <xsl:value-of select="$name"/>
a61af66fc99e Initial load
duke
parents:
diff changeset
1079 <xsl:text>=0x%x</xsl:text>
a61af66fc99e Initial load
duke
parents:
diff changeset
1080 </xsl:template>
a61af66fc99e Initial load
duke
parents:
diff changeset
1081
a61af66fc99e Initial load
duke
parents:
diff changeset
1082 <xsl:template match="inptr" mode="traceInValue">
a61af66fc99e Initial load
duke
parents:
diff changeset
1083 <xsl:param name="name"/>
a61af66fc99e Initial load
duke
parents:
diff changeset
1084 <xsl:text>, </xsl:text>
a61af66fc99e Initial load
duke
parents:
diff changeset
1085 <xsl:value-of select="$name"/>
a61af66fc99e Initial load
duke
parents:
diff changeset
1086 </xsl:template>
a61af66fc99e Initial load
duke
parents:
diff changeset
1087
a61af66fc99e Initial load
duke
parents:
diff changeset
1088 <xsl:template match="jrawMonitorID|jfieldID" mode="traceInFormat">
a61af66fc99e Initial load
duke
parents:
diff changeset
1089 <xsl:param name="name"/>
a61af66fc99e Initial load
duke
parents:
diff changeset
1090 <xsl:text> </xsl:text>
a61af66fc99e Initial load
duke
parents:
diff changeset
1091 <xsl:value-of select="$name"/>
a61af66fc99e Initial load
duke
parents:
diff changeset
1092 <xsl:text>=%s</xsl:text>
a61af66fc99e Initial load
duke
parents:
diff changeset
1093 </xsl:template>
a61af66fc99e Initial load
duke
parents:
diff changeset
1094
a61af66fc99e Initial load
duke
parents:
diff changeset
1095 <xsl:template match="jclass" mode="traceInFormat">
a61af66fc99e Initial load
duke
parents:
diff changeset
1096 <xsl:param name="name"/>
a61af66fc99e Initial load
duke
parents:
diff changeset
1097 <!-- for JVMTI a jclass/jmethodID becomes just jmethodID -->
a61af66fc99e Initial load
duke
parents:
diff changeset
1098 <xsl:if test="count(@method)=0">
a61af66fc99e Initial load
duke
parents:
diff changeset
1099 <xsl:text> </xsl:text>
a61af66fc99e Initial load
duke
parents:
diff changeset
1100 <xsl:value-of select="$name"/>
a61af66fc99e Initial load
duke
parents:
diff changeset
1101 <xsl:text>=%s</xsl:text>
a61af66fc99e Initial load
duke
parents:
diff changeset
1102 </xsl:if>
a61af66fc99e Initial load
duke
parents:
diff changeset
1103 </xsl:template>
a61af66fc99e Initial load
duke
parents:
diff changeset
1104
a61af66fc99e Initial load
duke
parents:
diff changeset
1105 <xsl:template match="jrawMonitorID" mode="traceInValue">
a61af66fc99e Initial load
duke
parents:
diff changeset
1106 <xsl:param name="name"/>
a61af66fc99e Initial load
duke
parents:
diff changeset
1107 <xsl:text>, rmonitor->get_name()</xsl:text>
a61af66fc99e Initial load
duke
parents:
diff changeset
1108 </xsl:template>
a61af66fc99e Initial load
duke
parents:
diff changeset
1109
a61af66fc99e Initial load
duke
parents:
diff changeset
1110 <xsl:template match="jthread" mode="traceInFormat">
a61af66fc99e Initial load
duke
parents:
diff changeset
1111 <xsl:param name="name"/>
a61af66fc99e Initial load
duke
parents:
diff changeset
1112 <!-- If we convert and test threads -->
a61af66fc99e Initial load
duke
parents:
diff changeset
1113 <xsl:if test="count(@impl)=0 or not(contains(@impl,'noconvert'))">
a61af66fc99e Initial load
duke
parents:
diff changeset
1114 <xsl:text> </xsl:text>
a61af66fc99e Initial load
duke
parents:
diff changeset
1115 <xsl:value-of select="$name"/>
a61af66fc99e Initial load
duke
parents:
diff changeset
1116 <xsl:text>=%s</xsl:text>
a61af66fc99e Initial load
duke
parents:
diff changeset
1117 </xsl:if>
a61af66fc99e Initial load
duke
parents:
diff changeset
1118 </xsl:template>
a61af66fc99e Initial load
duke
parents:
diff changeset
1119
a61af66fc99e Initial load
duke
parents:
diff changeset
1120 <xsl:template match="jthread" mode="traceInValue">
a61af66fc99e Initial load
duke
parents:
diff changeset
1121 <xsl:param name="name"/>
a61af66fc99e Initial load
duke
parents:
diff changeset
1122 <!-- If we convert and test threads -->
a61af66fc99e Initial load
duke
parents:
diff changeset
1123 <xsl:if test="count(@impl)=0 or not(contains(@impl,'noconvert'))">
a61af66fc99e Initial load
duke
parents:
diff changeset
1124 <xsl:text>,
a61af66fc99e Initial load
duke
parents:
diff changeset
1125 JvmtiTrace::safe_get_thread_name(java_thread)</xsl:text>
a61af66fc99e Initial load
duke
parents:
diff changeset
1126 </xsl:if>
a61af66fc99e Initial load
duke
parents:
diff changeset
1127 </xsl:template>
a61af66fc99e Initial load
duke
parents:
diff changeset
1128
a61af66fc99e Initial load
duke
parents:
diff changeset
1129 <xsl:template match="jframeID" mode="traceInFormat">
a61af66fc99e Initial load
duke
parents:
diff changeset
1130 <xsl:param name="name"/>
a61af66fc99e Initial load
duke
parents:
diff changeset
1131 <xsl:text>depth=%d</xsl:text>
a61af66fc99e Initial load
duke
parents:
diff changeset
1132 </xsl:template>
a61af66fc99e Initial load
duke
parents:
diff changeset
1133
a61af66fc99e Initial load
duke
parents:
diff changeset
1134 <xsl:template match="jframeID" mode="traceInValue">
a61af66fc99e Initial load
duke
parents:
diff changeset
1135 <xsl:param name="name"/>
a61af66fc99e Initial load
duke
parents:
diff changeset
1136 <xsl:text>, </xsl:text>
a61af66fc99e Initial load
duke
parents:
diff changeset
1137 <xsl:value-of select="$name"/>
a61af66fc99e Initial load
duke
parents:
diff changeset
1138 </xsl:template>
a61af66fc99e Initial load
duke
parents:
diff changeset
1139
a61af66fc99e Initial load
duke
parents:
diff changeset
1140 <xsl:template match="jclass" mode="traceInValue">
a61af66fc99e Initial load
duke
parents:
diff changeset
1141 <!-- for JVMTI a jclass/jmethodID becomes just jmethodID -->
a61af66fc99e Initial load
duke
parents:
diff changeset
1142 <xsl:if test="count(@method)=0">
a61af66fc99e Initial load
duke
parents:
diff changeset
1143 <xsl:text>,
a61af66fc99e Initial load
duke
parents:
diff changeset
1144 JvmtiTrace::get_class_name(k_mirror)</xsl:text>
a61af66fc99e Initial load
duke
parents:
diff changeset
1145 </xsl:if>
a61af66fc99e Initial load
duke
parents:
diff changeset
1146 </xsl:template>
a61af66fc99e Initial load
duke
parents:
diff changeset
1147
a61af66fc99e Initial load
duke
parents:
diff changeset
1148 <xsl:template match="jmethodID" mode="traceInFormat">
a61af66fc99e Initial load
duke
parents:
diff changeset
1149 <xsl:param name="name"/>
a61af66fc99e Initial load
duke
parents:
diff changeset
1150 <xsl:text> </xsl:text>
a61af66fc99e Initial load
duke
parents:
diff changeset
1151 <xsl:value-of select="$name"/>
a61af66fc99e Initial load
duke
parents:
diff changeset
1152 <xsl:text>=%s.%s</xsl:text>
a61af66fc99e Initial load
duke
parents:
diff changeset
1153 </xsl:template>
a61af66fc99e Initial load
duke
parents:
diff changeset
1154
a61af66fc99e Initial load
duke
parents:
diff changeset
1155 <xsl:template match="jmethodID" mode="traceInValue">
a61af66fc99e Initial load
duke
parents:
diff changeset
1156 <xsl:param name="name"/>
a61af66fc99e Initial load
duke
parents:
diff changeset
1157 <xsl:text>,
a61af66fc99e Initial load
duke
parents:
diff changeset
1158 method_oop == NULL? "NULL" : method_oop->klass_name()->as_C_string(),
a61af66fc99e Initial load
duke
parents:
diff changeset
1159 method_oop == NULL? "NULL" : method_oop->name()->as_C_string()
a61af66fc99e Initial load
duke
parents:
diff changeset
1160 </xsl:text>
a61af66fc99e Initial load
duke
parents:
diff changeset
1161 </xsl:template>
a61af66fc99e Initial load
duke
parents:
diff changeset
1162
a61af66fc99e Initial load
duke
parents:
diff changeset
1163 <xsl:template match="jfieldID" mode="traceInValue">
a61af66fc99e Initial load
duke
parents:
diff changeset
1164 <xsl:param name="name"/>
a61af66fc99e Initial load
duke
parents:
diff changeset
1165 <xsl:text>, fdesc.name()->as_C_string()</xsl:text>
a61af66fc99e Initial load
duke
parents:
diff changeset
1166 </xsl:template>
a61af66fc99e Initial load
duke
parents:
diff changeset
1167
a61af66fc99e Initial load
duke
parents:
diff changeset
1168 <xsl:template match="enum" mode="traceInFormat">
a61af66fc99e Initial load
duke
parents:
diff changeset
1169 <xsl:param name="name"/>
a61af66fc99e Initial load
duke
parents:
diff changeset
1170 <xsl:text> </xsl:text>
a61af66fc99e Initial load
duke
parents:
diff changeset
1171 <xsl:value-of select="$name"/>
a61af66fc99e Initial load
duke
parents:
diff changeset
1172 <xsl:text>=%d:%s</xsl:text>
a61af66fc99e Initial load
duke
parents:
diff changeset
1173 </xsl:template>
a61af66fc99e Initial load
duke
parents:
diff changeset
1174
a61af66fc99e Initial load
duke
parents:
diff changeset
1175 <xsl:template match="enum" mode="traceInValue">
a61af66fc99e Initial load
duke
parents:
diff changeset
1176 <xsl:param name="name"/>
a61af66fc99e Initial load
duke
parents:
diff changeset
1177 <xsl:text>, </xsl:text>
a61af66fc99e Initial load
duke
parents:
diff changeset
1178 <xsl:value-of select="$name"/>
a61af66fc99e Initial load
duke
parents:
diff changeset
1179 <xsl:text>,
a61af66fc99e Initial load
duke
parents:
diff changeset
1180 </xsl:text>
a61af66fc99e Initial load
duke
parents:
diff changeset
1181 <xsl:choose>
a61af66fc99e Initial load
duke
parents:
diff changeset
1182 <xsl:when test=".='jvmtiError'">
a61af66fc99e Initial load
duke
parents:
diff changeset
1183 <xsl:text>JvmtiUtil::error_name(</xsl:text>
a61af66fc99e Initial load
duke
parents:
diff changeset
1184 <xsl:value-of select="$name"/>
a61af66fc99e Initial load
duke
parents:
diff changeset
1185 <xsl:text>)
a61af66fc99e Initial load
duke
parents:
diff changeset
1186 </xsl:text>
a61af66fc99e Initial load
duke
parents:
diff changeset
1187 </xsl:when>
a61af66fc99e Initial load
duke
parents:
diff changeset
1188 <xsl:otherwise>
a61af66fc99e Initial load
duke
parents:
diff changeset
1189 <xsl:choose>
a61af66fc99e Initial load
duke
parents:
diff changeset
1190 <xsl:when test=".='jvmtiEvent'">
a61af66fc99e Initial load
duke
parents:
diff changeset
1191 <xsl:text>JvmtiTrace::event_name(</xsl:text>
a61af66fc99e Initial load
duke
parents:
diff changeset
1192 <xsl:value-of select="$name"/>
a61af66fc99e Initial load
duke
parents:
diff changeset
1193 <xsl:text>)
a61af66fc99e Initial load
duke
parents:
diff changeset
1194 </xsl:text>
a61af66fc99e Initial load
duke
parents:
diff changeset
1195 </xsl:when>
a61af66fc99e Initial load
duke
parents:
diff changeset
1196 <xsl:otherwise>
a61af66fc99e Initial load
duke
parents:
diff changeset
1197 <xsl:text>JvmtiTrace::enum_name(</xsl:text>
a61af66fc99e Initial load
duke
parents:
diff changeset
1198 <xsl:value-of select="."/>
a61af66fc99e Initial load
duke
parents:
diff changeset
1199 <xsl:text>ConstantNames, </xsl:text>
a61af66fc99e Initial load
duke
parents:
diff changeset
1200 <xsl:value-of select="."/>
a61af66fc99e Initial load
duke
parents:
diff changeset
1201 <xsl:text>ConstantValues, </xsl:text>
a61af66fc99e Initial load
duke
parents:
diff changeset
1202 <xsl:value-of select="$name"/>
a61af66fc99e Initial load
duke
parents:
diff changeset
1203 <xsl:text>)</xsl:text>
a61af66fc99e Initial load
duke
parents:
diff changeset
1204 </xsl:otherwise>
a61af66fc99e Initial load
duke
parents:
diff changeset
1205 </xsl:choose>
a61af66fc99e Initial load
duke
parents:
diff changeset
1206 </xsl:otherwise>
a61af66fc99e Initial load
duke
parents:
diff changeset
1207 </xsl:choose>
a61af66fc99e Initial load
duke
parents:
diff changeset
1208 </xsl:template>
a61af66fc99e Initial load
duke
parents:
diff changeset
1209
a61af66fc99e Initial load
duke
parents:
diff changeset
1210 <xsl:template match="jint|jlocation" mode="traceInFormat">
a61af66fc99e Initial load
duke
parents:
diff changeset
1211 <xsl:param name="name"/>
a61af66fc99e Initial load
duke
parents:
diff changeset
1212 <xsl:text> </xsl:text>
a61af66fc99e Initial load
duke
parents:
diff changeset
1213 <xsl:value-of select="$name"/>
a61af66fc99e Initial load
duke
parents:
diff changeset
1214 <xsl:text>=%d</xsl:text>
a61af66fc99e Initial load
duke
parents:
diff changeset
1215 </xsl:template>
a61af66fc99e Initial load
duke
parents:
diff changeset
1216
a61af66fc99e Initial load
duke
parents:
diff changeset
1217 <xsl:template match="jlong" mode="traceInFormat">
a61af66fc99e Initial load
duke
parents:
diff changeset
1218 <xsl:param name="name"/>
a61af66fc99e Initial load
duke
parents:
diff changeset
1219 <xsl:text> </xsl:text>
a61af66fc99e Initial load
duke
parents:
diff changeset
1220 <xsl:value-of select="$name"/>
a61af66fc99e Initial load
duke
parents:
diff changeset
1221 <xsl:text>=%ld</xsl:text>
a61af66fc99e Initial load
duke
parents:
diff changeset
1222 </xsl:template>
a61af66fc99e Initial load
duke
parents:
diff changeset
1223
a61af66fc99e Initial load
duke
parents:
diff changeset
1224 <xsl:template match="size_t" mode="traceInFormat">
a61af66fc99e Initial load
duke
parents:
diff changeset
1225 <xsl:param name="name"/>
a61af66fc99e Initial load
duke
parents:
diff changeset
1226 <xsl:text> </xsl:text>
a61af66fc99e Initial load
duke
parents:
diff changeset
1227 <xsl:value-of select="$name"/>
a61af66fc99e Initial load
duke
parents:
diff changeset
1228 <xsl:text>=0x%zx</xsl:text>
a61af66fc99e Initial load
duke
parents:
diff changeset
1229 </xsl:template>
a61af66fc99e Initial load
duke
parents:
diff changeset
1230
a61af66fc99e Initial load
duke
parents:
diff changeset
1231 <xsl:template match="jfloat|jdouble" mode="traceInFormat">
a61af66fc99e Initial load
duke
parents:
diff changeset
1232 <xsl:param name="name"/>
a61af66fc99e Initial load
duke
parents:
diff changeset
1233 <xsl:text> </xsl:text>
a61af66fc99e Initial load
duke
parents:
diff changeset
1234 <xsl:value-of select="$name"/>
a61af66fc99e Initial load
duke
parents:
diff changeset
1235 <xsl:text>=%f</xsl:text>
a61af66fc99e Initial load
duke
parents:
diff changeset
1236 </xsl:template>
a61af66fc99e Initial load
duke
parents:
diff changeset
1237
a61af66fc99e Initial load
duke
parents:
diff changeset
1238 <xsl:template match="char" mode="traceInFormat">
a61af66fc99e Initial load
duke
parents:
diff changeset
1239 <xsl:param name="name"/>
a61af66fc99e Initial load
duke
parents:
diff changeset
1240 <xsl:text> </xsl:text>
a61af66fc99e Initial load
duke
parents:
diff changeset
1241 <xsl:value-of select="$name"/>
a61af66fc99e Initial load
duke
parents:
diff changeset
1242 <xsl:text>=%c</xsl:text>
a61af66fc99e Initial load
duke
parents:
diff changeset
1243 </xsl:template>
a61af66fc99e Initial load
duke
parents:
diff changeset
1244
a61af66fc99e Initial load
duke
parents:
diff changeset
1245 <xsl:template match="uchar|jchar" mode="traceInFormat">
a61af66fc99e Initial load
duke
parents:
diff changeset
1246 <xsl:param name="name"/>
a61af66fc99e Initial load
duke
parents:
diff changeset
1247 <xsl:text> </xsl:text>
a61af66fc99e Initial load
duke
parents:
diff changeset
1248 <xsl:value-of select="$name"/>
a61af66fc99e Initial load
duke
parents:
diff changeset
1249 <xsl:text>=0x%x</xsl:text>
a61af66fc99e Initial load
duke
parents:
diff changeset
1250 </xsl:template>
a61af66fc99e Initial load
duke
parents:
diff changeset
1251
a61af66fc99e Initial load
duke
parents:
diff changeset
1252 <xsl:template match="jint|jlocation|jchar|jlong|jfloat|jdouble|char|uchar|size_t" mode="traceInValue">
a61af66fc99e Initial load
duke
parents:
diff changeset
1253 <xsl:param name="name"/>
a61af66fc99e Initial load
duke
parents:
diff changeset
1254 <xsl:text>, </xsl:text>
a61af66fc99e Initial load
duke
parents:
diff changeset
1255 <xsl:value-of select="$name"/>
a61af66fc99e Initial load
duke
parents:
diff changeset
1256 </xsl:template>
a61af66fc99e Initial load
duke
parents:
diff changeset
1257
a61af66fc99e Initial load
duke
parents:
diff changeset
1258
a61af66fc99e Initial load
duke
parents:
diff changeset
1259 <xsl:template match="jboolean" mode="traceInFormat">
a61af66fc99e Initial load
duke
parents:
diff changeset
1260 <xsl:param name="name"/>
a61af66fc99e Initial load
duke
parents:
diff changeset
1261 <xsl:text> </xsl:text>
a61af66fc99e Initial load
duke
parents:
diff changeset
1262 <xsl:value-of select="$name"/>
a61af66fc99e Initial load
duke
parents:
diff changeset
1263 <xsl:text>=%s</xsl:text>
a61af66fc99e Initial load
duke
parents:
diff changeset
1264 </xsl:template>
a61af66fc99e Initial load
duke
parents:
diff changeset
1265
a61af66fc99e Initial load
duke
parents:
diff changeset
1266 <xsl:template match="jboolean" mode="traceInValue">
a61af66fc99e Initial load
duke
parents:
diff changeset
1267 <xsl:param name="name"/>
a61af66fc99e Initial load
duke
parents:
diff changeset
1268 <xsl:text>, </xsl:text>
a61af66fc99e Initial load
duke
parents:
diff changeset
1269 <xsl:value-of select="$name"/>
a61af66fc99e Initial load
duke
parents:
diff changeset
1270 <xsl:text>? "true" : "false"</xsl:text>
a61af66fc99e Initial load
duke
parents:
diff changeset
1271 </xsl:template>
a61af66fc99e Initial load
duke
parents:
diff changeset
1272
a61af66fc99e Initial load
duke
parents:
diff changeset
1273 <xsl:template match="jobject|jvalue|jthreadGroup|void|struct" mode="traceInFormat">
a61af66fc99e Initial load
duke
parents:
diff changeset
1274 </xsl:template>
a61af66fc99e Initial load
duke
parents:
diff changeset
1275
a61af66fc99e Initial load
duke
parents:
diff changeset
1276 <xsl:template match="jobject|jvalue|jthreadGroup|void|struct" mode="traceInValue">
a61af66fc99e Initial load
duke
parents:
diff changeset
1277 </xsl:template>
a61af66fc99e Initial load
duke
parents:
diff changeset
1278
a61af66fc99e Initial load
duke
parents:
diff changeset
1279
a61af66fc99e Initial load
duke
parents:
diff changeset
1280
a61af66fc99e Initial load
duke
parents:
diff changeset
1281 </xsl:stylesheet>