Mercurial > hg > graal-compiler
annotate src/share/vm/prims/jvmti.xsl @ 3249:e1162778c1c8
7009266: G1: assert(obj->is_oop_or_null(true )) failed: Error
Summary: A referent object that is only weakly reachable at the start of concurrent marking but is re-attached to the strongly reachable object graph during marking may not be marked as live. This can cause the reference object to be processed prematurely and leave dangling pointers to the referent object. Implement a read barrier for the java.lang.ref.Reference::referent field by intrinsifying the Reference.get() method, and intercepting accesses though JNI, reflection, and Unsafe, so that when a non-null referent object is read it is also logged in an SATB buffer.
Reviewed-by: kvn, iveresov, never, tonyp, dholmes
author | johnc |
---|---|
date | Thu, 07 Apr 2011 09:53:20 -0700 |
parents | c18cbe5936b8 |
children | 1d80a2429f59 |
rev | line source |
---|---|
0 | 1 <?xml version="1.0"?> |
2 <!-- | |
1552
c18cbe5936b8
6941466: Oracle rebranding changes for Hotspot repositories
trims
parents:
0
diff
changeset
|
3 Copyright (c) 2002, 2006, Oracle and/or its affiliates. All rights reserved. |
0 | 4 DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. |
5 | |
6 This code is free software; you can redistribute it and/or modify it | |
7 under the terms of the GNU General Public License version 2 only, as | |
8 published by the Free Software Foundation. | |
9 | |
10 This code is distributed in the hope that it will be useful, but WITHOUT | |
11 ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or | |
12 FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License | |
13 version 2 for more details (a copy is included in the LICENSE file that | |
14 accompanied this code). | |
15 | |
16 You should have received a copy of the GNU General Public License version | |
17 2 along with this work; if not, write to the Free Software Foundation, | |
18 Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. | |
19 | |
1552
c18cbe5936b8
6941466: Oracle rebranding changes for Hotspot repositories
trims
parents:
0
diff
changeset
|
20 Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA |
c18cbe5936b8
6941466: Oracle rebranding changes for Hotspot repositories
trims
parents:
0
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:
0
diff
changeset
|
22 questions. |
0 | 23 |
24 --> | |
25 | |
26 <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"> | |
27 | |
28 <xsl:import href="jvmtiLib.xsl"/> | |
29 | |
30 <xsl:output method="html" indent="yes" | |
31 doctype-public="-//W3C//DTD HTML 4.01 Transitional//EN" | |
32 doctype-system="http://www.w3.org/TR/html4/loose.dtd"/> | |
33 | |
34 <xsl:param name="development"></xsl:param> | |
35 | |
36 <xsl:template match="specification"> | |
37 <html> | |
38 <head> | |
39 <title> | |
40 <xsl:value-of select="@label"/> | |
41 <xsl:text> </xsl:text> | |
42 <xsl:call-template name="showversion"/> | |
43 </title> | |
44 <style type="text/css"> | |
45 td.tableHeader {font-size: larger} | |
46 </style> | |
47 </head> | |
48 <body> | |
49 <table border="0" width="100%"> | |
50 <tr> | |
51 <td align="center"> | |
52 <xsl:apply-templates select="title"/> | |
53 </td> | |
54 </tr> | |
55 </table> | |
56 <ul> | |
57 <li> | |
58 <a href="#SpecificationIntro"><b>Introduction</b></a> | |
59 <ul> | |
60 <xsl:for-each select="intro"> | |
61 <li> | |
62 <a> | |
63 <xsl:attribute name="href">#<xsl:value-of select="@id"/> | |
64 </xsl:attribute> | |
65 <b><xsl:value-of select="@label"/></b> | |
66 </a> | |
67 </li> | |
68 </xsl:for-each> | |
69 </ul> | |
70 </li> | |
71 <li> | |
72 <a href="#FunctionSection"><b>Functions</b></a> | |
73 <ul> | |
74 <xsl:for-each select="functionsection/intro"> | |
75 <li> | |
76 <a> | |
77 <xsl:attribute name="href">#<xsl:value-of select="@id"/> | |
78 </xsl:attribute> | |
79 <b><xsl:value-of select="@label"/></b> | |
80 </a> | |
81 </li> | |
82 </xsl:for-each> | |
83 <li> | |
84 <a href="#FunctionIndex"><b>Function Index</b></a> | |
85 <ul> | |
86 <xsl:for-each select="functionsection/category"> | |
87 <li> | |
88 <a> | |
89 <xsl:attribute name="href">#<xsl:value-of select="@id"/> | |
90 </xsl:attribute> | |
91 <b><xsl:value-of select="@label"/></b> | |
92 </a> | |
93 </li> | |
94 </xsl:for-each> | |
95 </ul> | |
96 </li> | |
97 <li> | |
98 <a href="#ErrorSection"><b>Error Codes</b></a> | |
99 </li> | |
100 </ul> | |
101 </li> | |
102 <li> | |
103 <a href="#EventSection"><b>Events</b></a> | |
104 <ul> | |
105 <li> | |
106 <a href="#EventIndex"><b>Event Index</b></a> | |
107 </li> | |
108 </ul> | |
109 </li> | |
110 <li> | |
111 <a href="#DataSection"><b>Data Types</b></a> | |
112 <ul> | |
113 <xsl:for-each select="//basetypes"> | |
114 <li> | |
115 <a> | |
116 <xsl:attribute name="href">#<xsl:value-of select="@id"/></xsl:attribute> | |
117 <b> | |
118 <xsl:value-of select="@label"/> | |
119 </b> | |
120 </a> | |
121 </li> | |
122 </xsl:for-each> | |
123 <li> | |
124 <a href="#StructureTypeDefinitions"><b>Structure Type Definitions</b></a> | |
125 </li> | |
126 <li> | |
127 <a href="#FunctionTypeDefinitions"><b>Function Type Definitions</b></a> | |
128 </li> | |
129 <li> | |
130 <a href="#EnumerationDefinitions"><b>Enumeration Definitions</b></a> | |
131 </li> | |
132 <li> | |
133 <a href="#FunctionTable"><b>Function Table</b></a> | |
134 </li> | |
135 </ul> | |
136 </li> | |
137 <li> | |
138 <a href="#ConstantIndex"><b>Constant Index</b></a> | |
139 </li> | |
140 <xsl:if test="$development = 'Show'"> | |
141 <li> | |
142 <a href="#SpecificationIssues"><b>Issues</b></a> | |
143 <ul> | |
144 <xsl:for-each select="issuessection/intro"> | |
145 <li> | |
146 <a> | |
147 <xsl:attribute name="href">#<xsl:value-of select="@id"/> | |
148 </xsl:attribute> | |
149 <b><xsl:value-of select="@label"/></b> | |
150 </a> | |
151 </li> | |
152 </xsl:for-each> | |
153 </ul> | |
154 </li> | |
155 </xsl:if> | |
156 <li> | |
157 <a href="#ChangeHistory"><b>Change History</b></a> | |
158 </li> | |
159 </ul> | |
160 <!-- end table of contents, begin body --> | |
161 <p/> | |
162 <hr noshade="noshade" size="3"/> | |
163 <p/> | |
164 <p id="SpecificationIntro"/> | |
165 <xsl:apply-templates select="intro"/> | |
166 <p id="FunctionSection"/> | |
167 <xsl:apply-templates select="functionsection"/> | |
168 <p id="ErrorSection"/> | |
169 <xsl:apply-templates select="errorsection"/> | |
170 <p id="DataSection"/> | |
171 <xsl:apply-templates select="datasection"/> | |
172 <p id="EventSection"/> | |
173 <xsl:apply-templates select="eventsection"/> | |
174 <p id="ConstantIndex"/> | |
175 <p/> | |
176 <hr noshade="noshade" size="3"/> | |
177 <h2> | |
178 Constant Index | |
179 </h2> | |
180 <blockquote> | |
181 <xsl:apply-templates select="//constant" mode="index"> | |
182 <xsl:sort select="@id"/> | |
183 </xsl:apply-templates> | |
184 </blockquote> | |
185 <xsl:if test="$development = 'Show'"> | |
186 <p id="SpecificationIssues"/> | |
187 <p/> | |
188 <hr noshade="noshade" size="3"/> | |
189 <h2> | |
190 <xsl:value-of select="issuessection/@label"/> | |
191 </h2> | |
192 <xsl:apply-templates select="issuessection/intro"/> | |
193 </xsl:if> | |
194 <p id="ChangeHistory"/> | |
195 <xsl:apply-templates select="changehistory"/> | |
196 </body> | |
197 </html> | |
198 </xsl:template> | |
199 | |
200 <xsl:template match="title"> | |
201 <h1> | |
202 <xsl:apply-templates/> | |
203 </h1> | |
204 <h3> | |
205 <xsl:value-of select="@subtitle"/> | |
206 <xsl:text> </xsl:text> | |
207 <xsl:call-template name="showbasicversion"/> | |
208 </h3> | |
209 </xsl:template> | |
210 | |
211 <xsl:template match="functionsection"> | |
212 <p/> | |
213 <hr noshade="noshade" size="3"/> | |
214 <h2> | |
215 <xsl:value-of select="@label"/> | |
216 </h2> | |
217 <xsl:apply-templates select="intro"/> | |
218 <h3 id="FunctionIndex">Function Index</h3> | |
219 <ul> | |
220 <xsl:apply-templates select="category" mode="index"/> | |
221 </ul> | |
222 <xsl:apply-templates select="category" mode="body"/> | |
223 </xsl:template> | |
224 | |
225 <xsl:template match="category" mode="index"> | |
226 <li> | |
227 <a> | |
228 <xsl:attribute name="href">#<xsl:value-of select="@id"/></xsl:attribute> | |
229 <b> | |
230 <xsl:value-of select="@label"/> | |
231 </b> | |
232 </a> | |
233 <ul> | |
234 <xsl:apply-templates select="function[count(@hide)=0]" mode="index"/> | |
235 </ul> | |
236 </li> | |
237 </xsl:template> | |
238 | |
239 <xsl:template match="function|callback" mode="index"> | |
240 <li> | |
241 <a> | |
242 <xsl:attribute name="href">#<xsl:value-of select="@id"/></xsl:attribute> | |
243 <xsl:apply-templates select="synopsis" mode="index"/> | |
244 </a> | |
245 </li> | |
246 </xsl:template> | |
247 | |
248 <xsl:template match="synopsis" mode="index"> | |
249 <xsl:value-of select="."/> | |
250 </xsl:template> | |
251 | |
252 <xsl:template match="category" mode="body"> | |
253 <p> | |
254 <xsl:attribute name="id"> | |
255 <xsl:value-of select="@id"/> | |
256 </xsl:attribute> | |
257 </p> | |
258 <hr noshade="noshade" size="3"/> | |
259 <h2 align="center"><xsl:value-of select="@label"/></h2> | |
260 <xsl:value-of select="@label"/> functions: | |
261 <ul> | |
262 <xsl:apply-templates select="function[count(@hide)=0]" mode="index"/> | |
263 </ul> | |
264 <xsl:variable name="calltypes" select="callback"/> | |
265 <xsl:if test="count($calltypes)!=0"> | |
266 <xsl:value-of select="@label"/> function types: | |
267 <ul> | |
268 <xsl:apply-templates select="$calltypes" mode="index"/> | |
269 </ul> | |
270 </xsl:if> | |
271 <xsl:variable name="cattypes" | |
272 select="(descendant::typedef|descendant::uniontypedef|descendant::capabilitiestypedef|descendant::constants[@kind='enum'])"/> | |
273 <xsl:if test="count($cattypes)!=0"> | |
274 <xsl:value-of select="@label"/> types: | |
275 <ul> | |
276 <xsl:for-each select="$cattypes"> | |
277 <li> | |
278 <a> | |
279 <xsl:attribute name="href"> | |
280 <xsl:text>#</xsl:text> | |
281 <xsl:value-of select="@id"/> | |
282 </xsl:attribute> | |
283 <code><xsl:value-of select="@id"/></code> | |
284 </a> | |
285 <xsl:text> - </xsl:text> | |
286 <xsl:value-of select="@label"/> | |
287 </li> | |
288 </xsl:for-each> | |
289 </ul> | |
290 </xsl:if> | |
291 <xsl:variable name="catconst" | |
292 select="(descendant::constants[@kind!='enum'])"/> | |
293 <xsl:if test="count($catconst)!=0"> | |
294 <xsl:value-of select="@label"/> flags and constants: | |
295 <ul> | |
296 <xsl:for-each select="$catconst"> | |
297 <li> | |
298 <a> | |
299 <xsl:attribute name="href"> | |
300 <xsl:text>#</xsl:text> | |
301 <xsl:value-of select="@id"/> | |
302 </xsl:attribute> | |
303 <xsl:value-of select="@label"/> | |
304 </a> | |
305 </li> | |
306 </xsl:for-each> | |
307 </ul> | |
308 </xsl:if> | |
309 <xsl:apply-templates select="intro|typedef|uniontypedef|capabilitiestypedef"/> | |
310 <p/> | |
311 <xsl:apply-templates select="function[count(@hide)=0]|callback" mode="body"/> | |
312 </xsl:template> | |
313 | |
314 <xsl:template match="function" mode="body"> | |
315 <hr noshade="noshade" width="100%" size="1"> | |
316 <xsl:attribute name="id"> | |
317 <xsl:value-of select="@id"/> | |
318 </xsl:attribute> | |
319 | |
320 </hr> | |
321 <xsl:apply-templates select="synopsis" mode="body"/> | |
322 <blockquote> | |
323 <xsl:apply-templates select="typedef" mode="code"/> | |
324 <xsl:apply-templates select="descendant::constants[@kind='enum']" mode="signature"/> | |
325 <pre> | |
326 <xsl:text>jvmtiError | |
327 </xsl:text> | |
328 <xsl:value-of select="@id"/>(jvmtiEnv* env<xsl:apply-templates select="parameters" mode="signature"/>)</pre> | |
329 </blockquote> | |
330 <xsl:apply-templates select="description"/> | |
331 <xsl:apply-templates select="." mode="generalinfo"/> | |
332 <xsl:apply-templates select="capabilities|eventcapabilities"/> | |
333 <xsl:apply-templates select="typedef" mode="body"/> | |
334 <xsl:apply-templates select="parameters" mode="body"/> | |
335 <xsl:apply-templates select="." mode="errors"/> | |
336 </xsl:template> | |
337 | |
338 <xsl:template match="function" mode="generalinfo"> | |
339 <table border="1" cellpadding="3" cellspacing="0" width="100%"> | |
340 <tr bgcolor="#EEEEFF"> | |
341 <td > | |
342 <a href="#jvmtiPhase">Phase</a> | |
343 </td> | |
344 <td> | |
345 <a href="#heapCallbacks">Callback Safe</a> | |
346 </td> | |
347 <td> | |
348 <a href="#FunctionTable">Position</a> | |
349 </td> | |
350 <td> | |
351 <a href="#ChangeHistory">Since</a> | |
352 </td> | |
353 </tr> | |
354 <tr> | |
355 <td > | |
356 <xsl:apply-templates select="." mode="phaseinfo"/> | |
357 </td> | |
358 <td> | |
359 <xsl:apply-templates select="." mode="callbacksafeinfo"/> | |
360 </td> | |
361 <td> | |
362 <xsl:value-of select="@num"/> | |
363 </td> | |
364 <td> | |
365 <xsl:value-of select="@since"/> | |
366 </td> | |
367 </tr> | |
368 </table> | |
369 </xsl:template> | |
370 | |
371 <xsl:template match="event" mode="generalinfo"> | |
372 <table border="1" cellpadding="3" cellspacing="0" width="100%"> | |
373 <tr bgcolor="#EEEEFF"> | |
374 <td > | |
375 <a href="#jvmtiPhase">Phase</a> | |
376 </td> | |
377 <td> | |
378 <a href="#jvmtiEvent">Event Type</a> | |
379 </td> | |
380 <td> | |
381 <a href="#jvmtiEvent">Number</a> | |
382 </td> | |
383 <td> | |
384 <a href="#enablingevents">Enabling</a> | |
385 </td> | |
386 <td> | |
387 <a href="#ChangeHistory">Since</a> | |
388 </td> | |
389 </tr> | |
390 <tr> | |
391 <td > | |
392 <xsl:apply-templates select="." mode="phaseinfo"/> | |
393 </td> | |
394 <td> | |
395 <code><xsl:value-of select="@const"/></code> | |
396 </td> | |
397 <td> | |
398 <xsl:value-of select="@num"/> | |
399 </td> | |
400 <td> | |
401 <code><a href="#SetEventNotificationMode">SetEventNotificationMode</a>(JVMTI_ENABLE, | |
402 <xsl:value-of select="@const"/>, NULL)</code> | |
403 </td> | |
404 <td> | |
405 <xsl:value-of select="@since"/> | |
406 </td> | |
407 </tr> | |
408 </table> | |
409 </xsl:template> | |
410 | |
411 <xsl:template match="function" mode="phaseinfo"> | |
412 may | |
413 <xsl:choose> | |
414 <xsl:when test="count(@phase) = 0 or @phase = 'live'"> | |
415 only be called during the live | |
416 </xsl:when> | |
417 <xsl:otherwise> | |
418 <xsl:choose> | |
419 <xsl:when test="@phase = 'onload'"> | |
420 only be called during the OnLoad or the live | |
421 </xsl:when> | |
422 <xsl:otherwise> | |
423 <xsl:choose> | |
424 <xsl:when test="@phase = 'any'"> | |
425 be called during any | |
426 </xsl:when> | |
427 <xsl:otherwise> | |
428 <xsl:choose> | |
429 <xsl:when test="@phase = 'start'"> | |
430 only be called during the start or the live | |
431 </xsl:when> | |
432 <xsl:otherwise> | |
433 <xsl:choose> | |
434 <xsl:when test="@phase = 'onloadOnly'"> | |
435 only be called during the OnLoad | |
436 </xsl:when> | |
437 <xsl:otherwise> | |
438 <xsl:message terminate="yes"> | |
439 bad phase - <xsl:value-of select="@phase"/> | |
440 </xsl:message> | |
441 </xsl:otherwise> | |
442 </xsl:choose> | |
443 </xsl:otherwise> | |
444 </xsl:choose> | |
445 </xsl:otherwise> | |
446 </xsl:choose> | |
447 </xsl:otherwise> | |
448 </xsl:choose> | |
449 </xsl:otherwise> | |
450 </xsl:choose> | |
451 phase | |
452 </xsl:template> | |
453 | |
454 | |
455 <xsl:template match="event" mode="phaseinfo"> | |
456 sent | |
457 <xsl:choose> | |
458 <xsl:when test="count(@phase) = 0 or @phase = 'live'"> | |
459 only during the live | |
460 </xsl:when> | |
461 <xsl:otherwise> | |
462 <xsl:choose> | |
463 <xsl:when test="@phase = 'any'"> | |
464 during the primordial, start or live | |
465 </xsl:when> | |
466 <xsl:otherwise> | |
467 <xsl:choose> | |
468 <xsl:when test="@phase = 'start'"> | |
469 during the start or live | |
470 </xsl:when> | |
471 <xsl:otherwise> | |
472 <xsl:message terminate="yes"> | |
473 bad phase - <xsl:value-of select="@phase"/> | |
474 </xsl:message> | |
475 </xsl:otherwise> | |
476 </xsl:choose> | |
477 </xsl:otherwise> | |
478 </xsl:choose> | |
479 </xsl:otherwise> | |
480 </xsl:choose> | |
481 phase | |
482 </xsl:template> | |
483 | |
484 | |
485 <xsl:template match="function" mode="callbacksafeinfo"> | |
486 <xsl:choose> | |
487 <xsl:when test="contains(@callbacksafe,'safe')"> | |
488 This function may be called from the callbacks to the | |
489 <a href="#Heap">Heap</a> iteration functions, or from the | |
490 event handlers for the | |
491 <a href="#GarbageCollectionStart"><code>GarbageCollectionStart</code></a>, | |
492 <a href="#GarbageCollectionFinish"><code>GarbageCollectionFinish</code></a>, | |
493 and <a href="#ObjectFree"><code>ObjectFree</code></a> events. | |
494 </xsl:when> | |
495 <xsl:otherwise> | |
496 No | |
497 </xsl:otherwise> | |
498 </xsl:choose> | |
499 </xsl:template> | |
500 | |
501 | |
502 <xsl:template match="callback" mode="body"> | |
503 <hr noshade="noshade" width="100%" size="1"> | |
504 <xsl:attribute name="id"> | |
505 <xsl:value-of select="@id"/> | |
506 </xsl:attribute> | |
507 </hr> | |
508 <xsl:apply-templates select="synopsis" mode="body"/> | |
509 <table cellpadding="0" cellspacing="0" border="0" width="90%" align="center"><tr><td> | |
510 <blockquote> | |
511 <pre> | |
512 <xsl:text>typedef </xsl:text> | |
513 <xsl:apply-templates select="child::*[position()=1]" mode="signature"/> | |
514 <xsl:text> (JNICALL *</xsl:text> | |
515 <xsl:value-of select="@id"/> | |
516 <xsl:text>) | |
517 (</xsl:text> | |
518 <xsl:for-each select="parameters"> | |
519 <xsl:apply-templates select="param[position()=1]" mode="signature"/> | |
520 <xsl:for-each select="param[position()>1]"> | |
521 <xsl:text>, | |
522 </xsl:text> | |
523 <xsl:apply-templates select="." mode="signature"/> | |
524 </xsl:for-each> | |
525 </xsl:for-each> | |
526 <xsl:text>);</xsl:text> | |
527 </pre> | |
528 </blockquote> | |
529 <xsl:apply-templates select="description"/> | |
530 <xsl:apply-templates select="parameters" mode="body"/> | |
531 </td></tr></table> | |
532 </xsl:template> | |
533 | |
534 <xsl:template match="synopsis" mode="body"> | |
535 <h3><xsl:value-of select="."/></h3> | |
536 </xsl:template> | |
537 | |
538 <xsl:template match="eventsection"> | |
539 <p/> | |
540 <hr noshade="noshade" size="3"/> | |
541 <h2> | |
542 <xsl:value-of select="@label"/> | |
543 </h2> | |
544 <xsl:apply-templates select="intro"/> | |
545 <blockquote> | |
546 <pre> | |
547 <xsl:text> | |
548 typedef struct { | |
549 </xsl:text> | |
550 <xsl:call-template name="eventStruct"> | |
551 <xsl:with-param name="events" select="event"/> | |
552 <xsl:with-param name="index" select="0"/> | |
553 <xsl:with-param name="started" select="false"/> | |
554 <xsl:with-param name="comment" select="'No'"/> | |
555 </xsl:call-template> | |
556 <xsl:text>} jvmtiEventCallbacks; | |
557 </xsl:text> | |
558 </pre> | |
559 </blockquote> | |
560 <p/> | |
561 <hr noshade="noshade" width="100%" size="1"/> | |
562 <h3 id="EventIndex">Event Index</h3> | |
563 <ul> | |
564 <xsl:apply-templates select="event" mode="index"> | |
565 <xsl:sort select="@label"/> | |
566 </xsl:apply-templates> | |
567 </ul> | |
568 <xsl:apply-templates select="event" mode="body"/> | |
569 </xsl:template> | |
570 | |
571 <xsl:template match="event" mode="index"> | |
572 <li> | |
573 <a> | |
574 <xsl:attribute name="href">#<xsl:value-of select="@id"/></xsl:attribute> | |
575 <b> | |
576 <xsl:value-of select="@label"/> | |
577 </b> | |
578 </a> | |
579 </li> | |
580 </xsl:template> | |
581 | |
582 <xsl:template match="event" mode="body"> | |
583 <p> | |
584 <xsl:attribute name="id"> | |
585 <xsl:value-of select="@id"/> | |
586 </xsl:attribute> | |
587 </p> | |
588 <hr noshade="noshade" size="3"/> | |
589 <h2><xsl:value-of select="@label"/></h2> | |
590 <p/> | |
591 <blockquote> | |
592 <xsl:apply-templates select="typedef" mode="code"/> | |
593 <pre> | |
594 <xsl:text>void JNICALL | |
595 </xsl:text> | |
596 <xsl:value-of select="@id"/>(jvmtiEnv *jvmti_env<xsl:apply-templates select="parameters" mode="signature"/>)</pre> | |
597 </blockquote> | |
598 <xsl:apply-templates select="description"/> | |
599 <xsl:apply-templates select="." mode="generalinfo"/> | |
600 <xsl:apply-templates select="typedef" mode="body"/> | |
601 <xsl:apply-templates select="capabilities"/> | |
602 <xsl:apply-templates select="parameters" mode="body"/> | |
603 </xsl:template> | |
604 | |
605 <xsl:template match="capabilitiestypedef" mode="code"> | |
606 <blockquote> | |
607 <pre> | |
608 <xsl:apply-templates select="." mode="genstruct"/> | |
609 </pre> | |
610 </blockquote> | |
611 </xsl:template> | |
612 | |
613 <xsl:template match="typedef" mode="code"> | |
614 <pre> | |
615 <xsl:call-template name="gentypedef"> | |
616 <xsl:with-param name="tdef" select="."/> | |
617 </xsl:call-template> | |
618 </pre> | |
619 </xsl:template> | |
620 | |
621 <xsl:template match="uniontypedef" mode="code"> | |
622 <pre> | |
623 <xsl:call-template name="genuniontypedef"> | |
624 <xsl:with-param name="tdef" select="."/> | |
625 </xsl:call-template> | |
626 </pre> | |
627 </xsl:template> | |
628 | |
629 <xsl:template match="capabilitiestypedef|typedef|uniontypedef" mode="description"> | |
630 <xsl:apply-templates select="description"/> | |
631 </xsl:template> | |
632 | |
633 <xsl:template match="capabilitiestypedef|typedef|uniontypedef"> | |
634 <h4> | |
635 <xsl:attribute name="id"> | |
636 <xsl:value-of select="@id"/> | |
637 </xsl:attribute> | |
638 <xsl:value-of select="@label"/> | |
639 </h4> | |
640 <xsl:apply-templates select="." mode="description"/> | |
641 <blockquote> | |
642 <xsl:apply-templates select="." mode="code"/> | |
643 <xsl:apply-templates select="." mode="justbody"/> | |
644 </blockquote> | |
645 </xsl:template> | |
646 | |
647 <xsl:template match="constants" mode="signature"> | |
648 <pre> | |
649 <xsl:apply-templates select="." mode="enum"/> | |
650 </pre> | |
651 </xsl:template> | |
652 | |
653 <xsl:template match="typedef|uniontypedef" mode="body"> | |
654 <p> | |
655 <xsl:attribute name="id"> | |
656 <xsl:value-of select="@id"/> | |
657 </xsl:attribute> | |
658 </p> | |
659 <xsl:apply-templates select="." mode="justbody"/> | |
660 </xsl:template> | |
661 | |
662 <xsl:template match="typedef|uniontypedef" mode="justbody"> | |
663 <table border="1" cellpadding="3" cellspacing="0" width="100%"> | |
664 <tr bgcolor="#CCCCFF"> | |
665 <td colspan="3" align="center" class="tableHeader"> | |
666 <code><xsl:value-of select="@id"/></code> - <xsl:value-of select="@label"/> | |
667 </td> | |
668 </tr> | |
669 <tr bgcolor="#EEEEFF"> | |
670 <td> | |
671 Field | |
672 </td> | |
673 <td> | |
674 Type | |
675 </td> | |
676 <td> | |
677 Description | |
678 </td> | |
679 </tr> | |
680 <xsl:apply-templates select="field" mode="body"/> | |
681 </table> | |
682 </xsl:template> | |
683 | |
684 <xsl:template match="capabilitiestypedef" mode="body"> | |
685 <p> | |
686 <xsl:attribute name="id"> | |
687 <xsl:value-of select="@id"/> | |
688 </xsl:attribute> | |
689 </p> | |
690 <xsl:apply-templates select="." mode="justbody"/> | |
691 </xsl:template> | |
692 | |
693 <xsl:template match="capabilitiestypedef" mode="justbody"> | |
694 <table border="1" cellpadding="3" cellspacing="0" width="100%"> | |
695 <tr bgcolor="#CCCCFF"> | |
696 <td colspan="3" align="center" class="tableHeader"> | |
697 <code><xsl:value-of select="@id"/></code> - <xsl:value-of select="@label"/> | |
698 </td> | |
699 </tr> | |
700 <tr bgcolor="#EEEEFF"> | |
701 <td colspan="3"> | |
702 All types are <code>unsigned int : 1</code> | |
703 </td> | |
704 </tr> | |
705 <tr bgcolor="#EEEEFF"> | |
706 <td> | |
707 Field | |
708 </td> | |
709 <td> | |
710 Description | |
711 </td> | |
712 <td> | |
713 <a href="#ChangeHistory">Since</a> | |
714 </td> | |
715 </tr> | |
716 <xsl:apply-templates select="capabilityfield" mode="body"/> | |
717 </table> | |
718 </xsl:template> | |
719 | |
720 <xsl:template match="typedef|uniontypedef|capabilitiestypedef|constants" mode="tableentry"> | |
721 <tr> | |
722 <td> | |
723 <a> | |
724 <xsl:attribute name="href"> | |
725 <xsl:text>#</xsl:text> | |
726 <xsl:value-of select="@id"/> | |
727 </xsl:attribute> | |
728 <code><xsl:value-of select="@id"/></code> | |
729 </a> | |
730 </td> | |
731 <td> | |
732 <xsl:value-of select="@label"/> | |
733 </td> | |
734 </tr> | |
735 </xsl:template> | |
736 | |
737 <xsl:template match="field" mode="body"> | |
738 <tr> | |
739 <td> | |
740 <code> | |
741 <xsl:attribute name="id"> | |
742 <xsl:value-of select="../@id"/>.<xsl:value-of select="@id"/> | |
743 </xsl:attribute> | |
744 <xsl:value-of select="@id"/> | |
745 </code> | |
746 </td> | |
747 <td> | |
748 <code> | |
749 <xsl:apply-templates select="child::*[position()=1]" mode="link"/> | |
750 </code> | |
751 </td> | |
752 <td> | |
753 <xsl:apply-templates select="description" mode="brief"/> | |
754 </td> | |
755 </tr> | |
756 </xsl:template> | |
757 | |
758 <xsl:template match="capabilityfield" mode="body"> | |
759 <tr> | |
760 <td> | |
761 <code> | |
762 <xsl:choose> | |
763 <xsl:when test="@disp1!=''"> | |
764 <xsl:value-of select="@disp1"/> | |
765 <br></br> | |
766 <xsl:value-of select="@disp2"/> | |
767 </xsl:when> | |
768 <xsl:otherwise> | |
769 <xsl:value-of select="@id"/> | |
770 </xsl:otherwise> | |
771 </xsl:choose> | |
772 </code> | |
773 </td> | |
774 <td> | |
775 <a> | |
776 <xsl:attribute name="name"> | |
777 <xsl:value-of select="../@id"/>.<xsl:value-of select="@id"/> | |
778 </xsl:attribute> | |
779 </a> | |
780 <xsl:apply-templates select="description" mode="brief"/> | |
781 </td> | |
782 <td> | |
783 <xsl:value-of select="@since"/> | |
784 </td> | |
785 </tr> | |
786 </xsl:template> | |
787 | |
788 <xsl:template match="callback" mode="tableentry"> | |
789 <tr> | |
790 <td> | |
791 <a> | |
792 <xsl:attribute name="href"> | |
793 <xsl:text>#</xsl:text> | |
794 <xsl:value-of select="@id"/> | |
795 </xsl:attribute> | |
796 <code> | |
797 <xsl:value-of select="@id"/> | |
798 </code> | |
799 </a> | |
800 </td> | |
801 <td> | |
802 <xsl:apply-templates select="synopsis" mode="index"/> | |
803 </td> | |
804 </tr> | |
805 </xsl:template> | |
806 | |
807 <xsl:template match="constants"> | |
808 <blockquote> | |
809 <a> | |
810 <xsl:attribute name="name"> | |
811 <xsl:value-of select="@id"/> | |
812 </xsl:attribute> | |
813 </a> | |
814 <table border="1" cellpadding="3" cellspacing="0"> | |
815 <tr bgcolor="#CCCCFF"> | |
816 <td colspan="3" align="center" class="tableHeader"> | |
817 <xsl:value-of select="@label"/> | |
818 <xsl:if test="@kind='enum'"> | |
819 <xsl:text> (</xsl:text> | |
820 <code> | |
821 <xsl:value-of select="@id"/> | |
822 </code> | |
823 <xsl:text>)</xsl:text> | |
824 </xsl:if> | |
825 </td> | |
826 </tr> | |
827 <tr bgcolor="#EEEEFF"> | |
828 <td> | |
829 Constant | |
830 </td> | |
831 <td> | |
832 Value | |
833 </td> | |
834 <td> | |
835 Description | |
836 </td> | |
837 </tr> | |
838 <xsl:apply-templates select="constant" mode="body"/> | |
839 </table> | |
840 </blockquote> | |
841 </xsl:template> | |
842 | |
843 <xsl:template match="constant" mode="index"> | |
844 <a> | |
845 <xsl:attribute name="href">#<xsl:value-of select="@id"/> | |
846 </xsl:attribute> | |
847 <code> | |
848 <xsl:value-of select="@id"/> | |
849 </code> | |
850 </a> | |
851 <br/> | |
852 </xsl:template> | |
853 | |
854 <xsl:template match="constant" mode="body"> | |
855 <tr> | |
856 <td> | |
857 <code> | |
858 <xsl:attribute name="id"> | |
859 <xsl:value-of select="@id"/> | |
860 </xsl:attribute> | |
861 <xsl:value-of select="@id"/> | |
862 </code> | |
863 </td> | |
864 <td align="right"> | |
865 <xsl:value-of select="@num"/> | |
866 </td> | |
867 <td> | |
868 <xsl:apply-templates/> | |
869 </td> | |
870 </tr> | |
871 </xsl:template> | |
872 | |
873 <xsl:template match="basetypes"> | |
874 <p> | |
875 <xsl:attribute name="id"> | |
876 <xsl:value-of select="@id"/> | |
877 </xsl:attribute> | |
878 </p> | |
879 <table border="1" cellpadding="3" cellspacing="0" width="100%"> | |
880 <tr bgcolor="#CCCCFF"> | |
881 <td colspan="2" align="center" class="tableHeader"> | |
882 <xsl:value-of select="@label"/> | |
883 </td> | |
884 </tr> | |
885 <tr bgcolor="#EEEEFF"> | |
886 <td> | |
887 Type | |
888 </td> | |
889 <td> | |
890 Description | |
891 </td> | |
892 </tr> | |
893 <xsl:apply-templates select="basetype" mode="body"/> | |
894 </table> | |
895 </xsl:template> | |
896 | |
897 <xsl:template match="basetype" mode="body"> | |
898 <xsl:choose> | |
899 <xsl:when test="count(definition)=0"> | |
900 <tr> | |
901 <td> | |
902 <code> | |
903 <xsl:value-of select="@id"/> | |
904 </code> | |
905 </td> | |
906 <td> | |
907 <a> | |
908 <xsl:attribute name="name"> | |
909 <xsl:value-of select="@id"/> | |
910 </xsl:attribute> | |
911 </a> | |
912 <xsl:apply-templates select="description" mode="brief"/> | |
913 </td> | |
914 </tr> | |
915 </xsl:when> | |
916 <xsl:otherwise> | |
917 <tr> | |
918 <td rowspan="2"> | |
919 <code> | |
920 <xsl:value-of select="@id"/> | |
921 </code> | |
922 </td> | |
923 <td> | |
924 <a> | |
925 <xsl:attribute name="name"> | |
926 <xsl:value-of select="@id"/> | |
927 </xsl:attribute> | |
928 </a> | |
929 <xsl:apply-templates select="description" mode="brief"/> | |
930 </td> | |
931 </tr> | |
932 <tr> | |
933 <td> | |
934 <pre> | |
935 <xsl:apply-templates select="definition"/> | |
936 </pre> | |
937 </td> | |
938 </tr> | |
939 </xsl:otherwise> | |
940 </xsl:choose> | |
941 </xsl:template> | |
942 | |
943 <xsl:template match="description"> | |
944 <xsl:apply-templates/> | |
945 <p/> | |
946 </xsl:template> | |
947 | |
948 <xsl:template match="description" mode="brief"> | |
949 <xsl:apply-templates/> | |
950 </xsl:template> | |
951 | |
952 <xsl:template match="fieldlink"> | |
953 <a> | |
954 <xsl:attribute name="href">#<xsl:value-of select="@struct"/>.<xsl:value-of select="@id"/></xsl:attribute> | |
955 <xsl:choose> | |
956 <xsl:when test=".=''"> | |
957 <code> | |
958 <xsl:value-of select="@id"/> | |
959 </code> | |
960 </xsl:when> | |
961 <xsl:otherwise> | |
962 <xsl:apply-templates/> | |
963 </xsl:otherwise> | |
964 </xsl:choose> | |
965 </a> | |
966 </xsl:template> | |
967 | |
968 <xsl:template match="paramlink"> | |
969 <a> | |
970 <xsl:attribute name="href">#<xsl:value-of select="ancestor::function/@id|ancestor::event/@id"/>.<xsl:value-of select="@id"/> | |
971 </xsl:attribute> | |
972 <xsl:choose> | |
973 <xsl:when test=".=''"> | |
974 <code> | |
975 <xsl:value-of select="@id"/> | |
976 </code> | |
977 </xsl:when> | |
978 <xsl:otherwise> | |
979 <xsl:apply-templates/> | |
980 </xsl:otherwise> | |
981 </xsl:choose> | |
982 </a> | |
983 </xsl:template> | |
984 | |
985 <xsl:template match="eventlink|errorlink|typelink|datalink|functionlink"> | |
986 <a> | |
987 <xsl:attribute name="href">#<xsl:value-of select="@id"/></xsl:attribute> | |
988 <xsl:choose> | |
989 <xsl:when test=".=''"> | |
990 <code> | |
991 <xsl:value-of select="@id"/> | |
992 </code> | |
993 </xsl:when> | |
994 <xsl:otherwise> | |
995 <xsl:apply-templates/> | |
996 </xsl:otherwise> | |
997 </xsl:choose> | |
998 </a> | |
999 </xsl:template> | |
1000 | |
1001 <xsl:template match="functionphaselist"> | |
1002 <xsl:variable name="phase" select="@phase"/> | |
1003 <ul> | |
1004 <xsl:for-each select="/specification/functionsection/category/function[@phase=$phase and count(@hide)=0]"> | |
1005 <li> | |
1006 <a> | |
1007 <xsl:attribute name="href">#<xsl:value-of select="@id"/></xsl:attribute> | |
1008 <b> | |
1009 <xsl:value-of select="@id"/> | |
1010 </b> | |
1011 </a> | |
1012 </li> | |
1013 </xsl:for-each> | |
1014 </ul> | |
1015 </xsl:template> | |
1016 | |
1017 <xsl:template match="eventphaselist"> | |
1018 <xsl:variable name="phase" select="@phase"/> | |
1019 <ul> | |
1020 <xsl:for-each select="//eventsection/event[@phase=$phase]"> | |
1021 <li> | |
1022 <a> | |
1023 <xsl:attribute name="href">#<xsl:value-of select="@id"/></xsl:attribute> | |
1024 <b> | |
1025 <xsl:value-of select="@id"/> | |
1026 </b> | |
1027 </a> | |
1028 </li> | |
1029 </xsl:for-each> | |
1030 </ul> | |
1031 </xsl:template> | |
1032 | |
1033 <xsl:template match="externallink"> | |
1034 <a> | |
1035 <xsl:attribute name="href"> | |
1036 <xsl:value-of select="@id"/> | |
1037 </xsl:attribute> | |
1038 <xsl:value-of select="."/> | |
1039 </a> | |
1040 </xsl:template> | |
1041 | |
1042 <xsl:template match="vmspeclink"> | |
1043 <xsl:if test="count(@id)=1"> | |
1044 <a> | |
1045 <xsl:attribute name="href"> | |
1046 <xsl:text>http://java.sun.com/docs/books/vmspec/2nd-edition/html/</xsl:text> | |
1047 <xsl:value-of select="@id"/> | |
1048 </xsl:attribute> | |
1049 <xsl:value-of select="@name"/> | |
1050 </a> | |
1051 <xsl:text> </xsl:text> | |
1052 <xsl:choose> | |
1053 <xsl:when test="count(@preposition)=1"> | |
1054 <xsl:value-of select="@preposition"/> | |
1055 </xsl:when> | |
1056 <xsl:otherwise> | |
1057 <xsl:text>of</xsl:text> | |
1058 </xsl:otherwise> | |
1059 </xsl:choose> | |
1060 <xsl:text> the </xsl:text> | |
1061 </xsl:if> | |
1062 <a> | |
1063 <xsl:attribute name="href"> | |
1064 <xsl:text>http://java.sun.com/docs/books/vmspec/</xsl:text> | |
1065 </xsl:attribute> | |
1066 <i> | |
1067 <xsl:text>Java Virtual Machine Specification</xsl:text> | |
1068 </i> | |
1069 </a> | |
1070 </xsl:template> | |
1071 | |
1072 <xsl:template match="internallink"> | |
1073 <a> | |
1074 <xsl:attribute name="href">#<xsl:value-of select="@id"/></xsl:attribute> | |
1075 <xsl:apply-templates/> | |
1076 </a> | |
1077 </xsl:template> | |
1078 | |
1079 <xsl:template match="parameters" mode="body"> | |
1080 <p/> | |
1081 <table border="1" cellpadding="3" cellspacing="0" width="100%"> | |
1082 <tr bgcolor="#CCCCFF"> | |
1083 <td colspan="3" align="center" class="tableHeader"> | |
1084 Parameters | |
1085 </td> | |
1086 </tr> | |
1087 <tr bgcolor="#EEEEFF"> | |
1088 <td> | |
1089 Name | |
1090 </td> | |
1091 <td> | |
1092 Type | |
1093 </td> | |
1094 <td> | |
1095 Description | |
1096 </td> | |
1097 </tr> | |
1098 <xsl:apply-templates select="param[count(jclass/@method)=0]" mode="body"/> | |
1099 </table> | |
1100 </xsl:template> | |
1101 | |
1102 <xsl:template match="param" mode="body"> | |
1103 <tr> | |
1104 <td> | |
1105 <code> | |
1106 <xsl:attribute name="id"> | |
1107 <xsl:value-of select="../../@id"/>.<xsl:value-of select="@id"/> | |
1108 </xsl:attribute> | |
1109 <xsl:value-of select="@id"/> | |
1110 </code> | |
1111 </td> | |
1112 <td> | |
1113 <code> | |
1114 <xsl:apply-templates select="child::*[position()=1]" mode="link"/> | |
1115 </code> | |
1116 </td> | |
1117 <td> | |
1118 <xsl:apply-templates select="description" mode="brief"/> | |
1119 <xsl:if test="count(ancestor::function)=1"> | |
1120 <xsl:apply-templates select="child::*[position()=1]" mode="funcdescription"/> | |
1121 </xsl:if> | |
1122 </td> | |
1123 </tr> | |
1124 </xsl:template> | |
1125 | |
1126 <xsl:template match="capabilities"> | |
1127 <p/> | |
1128 <table border="1" cellpadding="3" cellspacing="0" width="100%"> | |
1129 <tr bgcolor="#CCCCFF"> | |
1130 <td colspan="2" align="center" class="tableHeader"> | |
1131 Capabilities | |
1132 </td> | |
1133 </tr> | |
1134 <xsl:choose> | |
1135 <xsl:when test="count(required)=0"> | |
1136 <tr> | |
1137 <td colspan="2"> | |
1138 <b>Required Functionality</b> | |
1139 </td> | |
1140 </tr> | |
1141 </xsl:when> | |
1142 <xsl:otherwise> | |
1143 <tr> | |
1144 <td colspan="2"> | |
1145 <b>Optional Functionality:</b> might not be implemented for all | |
1146 virtual machines. | |
1147 <xsl:choose> | |
1148 <xsl:when test="count(required)=1"> | |
1149 The following capability | |
1150 </xsl:when> | |
1151 <xsl:otherwise> | |
1152 One of the following capabilities | |
1153 </xsl:otherwise> | |
1154 </xsl:choose> | |
1155 (as returned by | |
1156 <a href="#GetCapabilities"><code>GetCapabilities</code></a>) | |
1157 must be true to use this | |
1158 <xsl:choose> | |
1159 <xsl:when test="ancestor::function"> | |
1160 function. | |
1161 </xsl:when> | |
1162 <xsl:otherwise> | |
1163 event. | |
1164 </xsl:otherwise> | |
1165 </xsl:choose> | |
1166 </td> | |
1167 </tr> | |
1168 <tr bgcolor="#EEEEFF"> | |
1169 <td > | |
1170 Capability | |
1171 </td> | |
1172 <td> | |
1173 Effect | |
1174 </td> | |
1175 </tr> | |
1176 <xsl:apply-templates select="required"/> | |
1177 </xsl:otherwise> | |
1178 </xsl:choose> | |
1179 <xsl:if test="count(capability)!=0"> | |
1180 <tr bgcolor="#CCCCFF"> | |
1181 <td colspan="2" align="center"> | |
1182 Optional Features | |
1183 </td> | |
1184 </tr> | |
1185 <xsl:if test="count(required)=0"> | |
1186 <tr bgcolor="#EEEEFF"> | |
1187 <td > | |
1188 Capability | |
1189 </td> | |
1190 <td> | |
1191 Effect | |
1192 </td> | |
1193 </tr> | |
1194 </xsl:if> | |
1195 <xsl:apply-templates select="capability"/> | |
1196 </xsl:if> | |
1197 </table> | |
1198 </xsl:template> | |
1199 | |
1200 <xsl:template match="eventcapabilities"> | |
1201 <p/> | |
1202 <table border="1" cellpadding="3" cellspacing="0" width="100%"> | |
1203 <tr bgcolor="#CCCCFF"> | |
1204 <td colspan="2" align="center" class="tableHeader"> | |
1205 Capabilities | |
1206 </td> | |
1207 </tr> | |
1208 <tr> | |
1209 <td colspan="2"> | |
1210 <b>Required Functionality</b> | |
1211 </td> | |
1212 </tr> | |
1213 <tr bgcolor="#CCCCFF"> | |
1214 <td colspan="2" align="center"> | |
1215 Event Enabling Capabilities | |
1216 </td> | |
1217 </tr> | |
1218 <tr bgcolor="#EEEEFF"> | |
1219 <td > | |
1220 Capability | |
1221 </td> | |
1222 <td> | |
1223 Events | |
1224 </td> | |
1225 </tr> | |
1226 <xsl:for-each select="//capabilityfield"> | |
1227 <xsl:variable name="capa" select="@id"/> | |
1228 <xsl:variable name="events" select="//event[capabilities/required/@id=$capa]"/> | |
1229 <xsl:if test="count($events)"> | |
1230 <tr> | |
1231 <td> | |
1232 <a> | |
1233 <xsl:attribute name="href">#jvmtiCapabilities.<xsl:value-of select="@id"/> | |
1234 </xsl:attribute> | |
1235 <code> | |
1236 <xsl:value-of select="@id"/> | |
1237 </code> | |
1238 </a> | |
1239 </td> | |
1240 <td> | |
1241 <xsl:for-each select="$events"> | |
1242 <a> | |
1243 <xsl:attribute name="href">#<xsl:value-of select="@id"/> | |
1244 </xsl:attribute> | |
1245 <code> | |
1246 <xsl:value-of select="@id"/> | |
1247 </code> | |
1248 </a> | |
1249 <br/> | |
1250 </xsl:for-each> | |
1251 </td> | |
1252 </tr> | |
1253 </xsl:if> | |
1254 </xsl:for-each> | |
1255 </table> | |
1256 </xsl:template> | |
1257 | |
1258 <xsl:template match="capability|required"> | |
1259 <tr> | |
1260 <td> | |
1261 <a> | |
1262 <xsl:attribute name="href">#jvmtiCapabilities.<xsl:value-of select="@id"/> | |
1263 </xsl:attribute> | |
1264 <code> | |
1265 <xsl:value-of select="@id"/> | |
1266 </code> | |
1267 </a> | |
1268 </td> | |
1269 <td> | |
1270 <xsl:choose> | |
1271 <xsl:when test=".=''"> | |
1272 <xsl:variable name="desiredID" select="@id"/> | |
1273 <xsl:for-each select="//capabilityfield[@id=$desiredID]"> | |
1274 <xsl:apply-templates select="description" mode="brief"/> | |
1275 </xsl:for-each> | |
1276 </xsl:when> | |
1277 <xsl:otherwise> | |
1278 <xsl:apply-templates/> | |
1279 </xsl:otherwise> | |
1280 </xsl:choose> | |
1281 </td> | |
1282 </tr> | |
1283 </xsl:template> | |
1284 | |
1285 <xsl:template match="function" mode="errors"> | |
1286 <xsl:variable name="haserrors"> | |
1287 <xsl:apply-templates select="capabilities/required" mode="haserrors"/> | |
1288 <xsl:apply-templates select="errors/error" mode="haserrors"/> | |
1289 <xsl:apply-templates select="parameters/param" mode="haserrors"/> | |
1290 </xsl:variable> | |
1291 <p/> | |
1292 <table border="1" cellpadding="3" cellspacing="0" width="100%"> | |
1293 <tr bgcolor="#CCCCFF"> | |
1294 <td colspan="2" align="center" class="tableHeader"> | |
1295 Errors | |
1296 </td> | |
1297 </tr> | |
1298 <xsl:choose> | |
1299 <xsl:when test="contains($haserrors,'yes')"> | |
1300 <tr> | |
1301 <td colspan="2"> | |
1302 This function returns either a | |
1303 <a href="#universal-error">universal error</a> | |
1304 or one of the following errors | |
1305 </td> | |
1306 </tr> | |
1307 <tr bgcolor="#EEEEFF"> | |
1308 <td> | |
1309 Error | |
1310 </td> | |
1311 <td> | |
1312 Description | |
1313 </td> | |
1314 </tr> | |
1315 <xsl:apply-templates select="capabilities/required" mode="errors"/> | |
1316 <xsl:apply-templates select="errors/error"/> | |
1317 <xsl:apply-templates select="parameters/param" mode="errors"/> | |
1318 </xsl:when> | |
1319 <xsl:otherwise> | |
1320 <tr> | |
1321 <td colspan="2"> | |
1322 This function returns a | |
1323 <a href="#universal-error">universal error</a> | |
1324 </td> | |
1325 </tr> | |
1326 </xsl:otherwise> | |
1327 </xsl:choose> | |
1328 </table> | |
1329 </xsl:template> | |
1330 | |
1331 <xsl:template match="required" mode="haserrors"> | |
1332 yes | |
1333 </xsl:template> | |
1334 | |
1335 <xsl:template match="required" mode="errors"> | |
1336 <tr> | |
1337 <td> | |
1338 <a href="#JVMTI_ERROR_MUST_POSSESS_CAPABILITY"> | |
1339 <code> | |
1340 JVMTI_ERROR_MUST_POSSESS_CAPABILITY | |
1341 </code> | |
1342 </a> | |
1343 </td> | |
1344 <td> | |
1345 The environment does not possess the capability | |
1346 <a> | |
1347 <xsl:attribute name="href">#jvmtiCapabilities.<xsl:value-of select="@id"/></xsl:attribute> | |
1348 <code> | |
1349 <xsl:value-of select="@id"/> | |
1350 </code> | |
1351 </a>. | |
1352 Use <a href="#AddCapabilities"><code>AddCapabilities</code></a>. | |
1353 </td> | |
1354 </tr> | |
1355 </xsl:template> | |
1356 | |
1357 <xsl:template match="param" mode="haserrors"> | |
1358 <xsl:apply-templates mode="haserrors"/> | |
1359 </xsl:template> | |
1360 | |
1361 <xsl:template match="param" mode="errors"> | |
1362 <xsl:apply-templates select="." mode="errors1"/> | |
1363 <xsl:apply-templates select="." mode="errors2"/> | |
1364 </xsl:template> | |
1365 | |
1366 <xsl:template match="param" mode="errors1"> | |
1367 <xsl:variable name="haserrors"> | |
1368 <xsl:apply-templates mode="haserrors"/> | |
1369 </xsl:variable> | |
1370 <xsl:if test="contains($haserrors,'yes')!=0"> | |
1371 <xsl:variable name="erroridraw"> | |
1372 <xsl:apply-templates mode="errorid"/> | |
1373 </xsl:variable> | |
1374 <xsl:variable name="errorid" select="normalize-space($erroridraw)"/> | |
1375 <tr> | |
1376 <td> | |
1377 <a> | |
1378 <xsl:attribute name="href">#<xsl:value-of select="$errorid"/></xsl:attribute> | |
1379 <code> | |
1380 <xsl:value-of select="$errorid"/> | |
1381 </code> | |
1382 </a> | |
1383 </td> | |
1384 <td> | |
1385 <xsl:apply-templates mode="errordesc"> | |
1386 <xsl:with-param name="id" select="@id"/> | |
1387 </xsl:apply-templates> | |
1388 </td> | |
1389 </tr> | |
1390 </xsl:if> | |
1391 </xsl:template> | |
1392 | |
1393 <xsl:template match="param" mode="errors2"> | |
1394 <xsl:variable name="haserrors2"> | |
1395 <xsl:apply-templates mode="haserrors2"/> | |
1396 </xsl:variable> | |
1397 <xsl:if test="contains($haserrors2,'yes')!=0"> | |
1398 <xsl:variable name="erroridraw2"> | |
1399 <xsl:apply-templates mode="errorid2"/> | |
1400 </xsl:variable> | |
1401 <xsl:variable name="errorid2" select="normalize-space($erroridraw2)"/> | |
1402 <tr> | |
1403 <td> | |
1404 <a> | |
1405 <xsl:attribute name="href">#<xsl:value-of select="$errorid2"/></xsl:attribute> | |
1406 <code> | |
1407 <xsl:value-of select="$errorid2"/> | |
1408 </code> | |
1409 </a> | |
1410 </td> | |
1411 <td> | |
1412 <xsl:apply-templates mode="errordesc2"> | |
1413 <xsl:with-param name="id" select="@id"/> | |
1414 </xsl:apply-templates> | |
1415 </td> | |
1416 </tr> | |
1417 </xsl:if> | |
1418 </xsl:template> | |
1419 | |
1420 <xsl:template match="description" mode="haserrors"> | |
1421 </xsl:template> | |
1422 | |
1423 <xsl:template match="description" mode="errorid"> | |
1424 </xsl:template> | |
1425 | |
1426 <xsl:template match="description" mode="errordesc"> | |
1427 </xsl:template> | |
1428 | |
1429 <xsl:template match="jmethodID|jfieldID|jframeID|jrawMonitorID|jthread|jthreadGroup|jobject|enum|jlocation" mode="haserrors"> | |
1430 yes | |
1431 </xsl:template> | |
1432 | |
1433 <xsl:template match="jclass" mode="haserrors"> | |
1434 <xsl:if test="count(@method)=0"> | |
1435 yes | |
1436 </xsl:if> | |
1437 </xsl:template> | |
1438 | |
1439 <xsl:template match="description|jclass|jfieldID|jrawMonitorID| | |
1440 jthreadGroup|jobject|enum|jlocation|jvalue|jchar|jint|jlong|jfloat|jdouble|jboolean| | |
1441 char|uchar|size_t|void|varargs|struct| | |
1442 ptrtype|outptr|allocbuf|allocallocbuf|inptr|inbuf|outbuf|vmbuf|agentbuf" mode="haserrors2"> | |
1443 </xsl:template> | |
1444 | |
1445 <xsl:template match="jmethodID" mode="haserrors2"> | |
1446 <xsl:if test="count(@native)=1 and contains(@native,'error')"> | |
1447 yes | |
1448 </xsl:if> | |
1449 </xsl:template> | |
1450 | |
1451 <xsl:template match="jthread" mode="haserrors2"> | |
1452 <xsl:if test="count(@started)=0 or contains(@started,'yes') or @started=''"> | |
1453 yes | |
1454 </xsl:if> | |
1455 </xsl:template> | |
1456 | |
1457 <xsl:template match="jframeID" mode="haserrors2"> | |
1458 yes | |
1459 </xsl:template> | |
1460 | |
1461 <xsl:template match="description" mode="errorid2"> | |
1462 </xsl:template> | |
1463 | |
1464 <xsl:template match="description" mode="errordesc2"> | |
1465 </xsl:template> | |
1466 | |
1467 <xsl:template match="jmethodID" mode="errorid"> | |
1468 <xsl:text>JVMTI_ERROR_INVALID_METHODID</xsl:text> | |
1469 </xsl:template> | |
1470 | |
1471 <xsl:template match="jmethodID" mode="errorid2"> | |
1472 <xsl:text>JVMTI_ERROR_NATIVE_METHOD</xsl:text> | |
1473 </xsl:template> | |
1474 | |
1475 <xsl:template match="jmethodID" mode="errordesc"> | |
1476 <xsl:param name="id"/> | |
1477 <xsl:apply-templates select="." mode="paramlink"/> | |
1478 <xsl:text> is not a jmethodID.</xsl:text> | |
1479 </xsl:template> | |
1480 | |
1481 <xsl:template match="jmethodID" mode="errordesc2"> | |
1482 <xsl:param name="id"/> | |
1483 <xsl:apply-templates select="." mode="paramlink"/> | |
1484 <xsl:text> is a native method.</xsl:text> | |
1485 </xsl:template> | |
1486 | |
1487 <xsl:template match="jfieldID" mode="errorid"> | |
1488 <xsl:text>JVMTI_ERROR_INVALID_FIELDID</xsl:text> | |
1489 </xsl:template> | |
1490 | |
1491 <xsl:template match="jfieldID" mode="errordesc"> | |
1492 <xsl:param name="id"/> | |
1493 <xsl:apply-templates select="." mode="paramlink"/> | |
1494 <xsl:text> is not a jfieldID.</xsl:text> | |
1495 </xsl:template> | |
1496 | |
1497 <xsl:template match="jframeID" mode="errorid"> | |
1498 <xsl:text>JVMTI_ERROR_ILLEGAL_ARGUMENT</xsl:text> | |
1499 </xsl:template> | |
1500 | |
1501 <xsl:template match="jframeID" mode="errorid2"> | |
1502 <xsl:text>JVMTI_ERROR_NO_MORE_FRAMES</xsl:text> | |
1503 </xsl:template> | |
1504 | |
1505 <xsl:template match="jframeID" mode="errordesc"> | |
1506 <xsl:param name="id"/> | |
1507 <xsl:apply-templates select="." mode="paramlink"/> | |
1508 <xsl:text> is less than zero.</xsl:text> | |
1509 </xsl:template> | |
1510 | |
1511 <xsl:template match="jframeID" mode="errordesc2"> | |
1512 <xsl:param name="id"/> | |
1513 <xsl:text>There are no stack frames at the specified </xsl:text> | |
1514 <xsl:apply-templates select="." mode="paramlink"/> | |
1515 <xsl:text>.</xsl:text> | |
1516 </xsl:template> | |
1517 | |
1518 <xsl:template match="jrawMonitorID" mode="errorid"> | |
1519 <xsl:text>JVMTI_ERROR_INVALID_MONITOR</xsl:text> | |
1520 </xsl:template> | |
1521 | |
1522 <xsl:template match="jrawMonitorID" mode="errordesc"> | |
1523 <xsl:param name="id"/> | |
1524 <xsl:apply-templates select="." mode="paramlink"/> | |
1525 <xsl:text> is not a jrawMonitorID.</xsl:text> | |
1526 </xsl:template> | |
1527 | |
1528 <xsl:template match="jclass" mode="errorid"> | |
1529 <xsl:text>JVMTI_ERROR_INVALID_CLASS</xsl:text> | |
1530 </xsl:template> | |
1531 | |
1532 <xsl:template match="jclass" mode="errordesc"> | |
1533 <xsl:param name="id"/> | |
1534 <xsl:apply-templates select="." mode="paramlink"/> | |
1535 <xsl:text> is not a class object or the class has been unloaded.</xsl:text> | |
1536 </xsl:template> | |
1537 | |
1538 <xsl:template match="jthread" mode="errorid"> | |
1539 <xsl:text>JVMTI_ERROR_INVALID_THREAD</xsl:text> | |
1540 </xsl:template> | |
1541 | |
1542 <xsl:template match="jthread" mode="errorid2"> | |
1543 <xsl:text>JVMTI_ERROR_THREAD_NOT_ALIVE</xsl:text> | |
1544 </xsl:template> | |
1545 | |
1546 <xsl:template match="jthread" mode="errordesc"> | |
1547 <xsl:param name="id"/> | |
1548 <xsl:apply-templates select="." mode="paramlink"/> | |
1549 <xsl:text> is not a thread object.</xsl:text> | |
1550 </xsl:template> | |
1551 | |
1552 <xsl:template match="jthread" mode="errordesc2"> | |
1553 <xsl:param name="id"/> | |
1554 <xsl:apply-templates select="." mode="paramlink"/> | |
1555 <xsl:text> is not live (has not been started or is now dead).</xsl:text> | |
1556 </xsl:template> | |
1557 | |
1558 <xsl:template match="jthreadGroup" mode="errorid"> | |
1559 <xsl:text>JVMTI_ERROR_INVALID_THREAD_GROUP</xsl:text> | |
1560 </xsl:template> | |
1561 | |
1562 <xsl:template match="jthreadGroup" mode="errordesc"> | |
1563 <xsl:param name="id"/> | |
1564 <xsl:apply-templates select="." mode="paramlink"/> | |
1565 <xsl:text> is not a thread group object.</xsl:text> | |
1566 </xsl:template> | |
1567 | |
1568 <xsl:template match="jobject" mode="errorid"> | |
1569 <xsl:text>JVMTI_ERROR_INVALID_OBJECT</xsl:text> | |
1570 </xsl:template> | |
1571 | |
1572 <xsl:template match="jobject" mode="errordesc"> | |
1573 <xsl:param name="id"/> | |
1574 <xsl:apply-templates select="." mode="paramlink"/> | |
1575 <xsl:text> is not an object.</xsl:text> | |
1576 </xsl:template> | |
1577 | |
1578 <xsl:template match="enum" mode="errorid"> | |
1579 <xsl:choose> | |
1580 <xsl:when test=".='jvmtiEvent'"> | |
1581 <xsl:text>JVMTI_ERROR_INVALID_EVENT_TYPE</xsl:text> | |
1582 </xsl:when> | |
1583 <xsl:otherwise> | |
1584 <xsl:text>JVMTI_ERROR_ILLEGAL_ARGUMENT</xsl:text> | |
1585 </xsl:otherwise> | |
1586 </xsl:choose> | |
1587 </xsl:template> | |
1588 | |
1589 <xsl:template match="enum" mode="errordesc"> | |
1590 <xsl:param name="id"/> | |
1591 <xsl:apply-templates select="." mode="paramlink"/> | |
1592 <xsl:text> is not a </xsl:text> | |
1593 <xsl:value-of select="."/> | |
1594 <xsl:text>.</xsl:text> | |
1595 </xsl:template> | |
1596 | |
1597 <xsl:template match="jlocation" mode="errorid"> | |
1598 <xsl:text>JVMTI_ERROR_INVALID_LOCATION</xsl:text> | |
1599 </xsl:template> | |
1600 | |
1601 <xsl:template match="jlocation" mode="errordesc"> | |
1602 <xsl:param name="id"/> | |
1603 <xsl:apply-templates select="." mode="paramlink"/> | |
1604 <xsl:text> is not a valid location.</xsl:text> | |
1605 </xsl:template> | |
1606 | |
1607 <xsl:template match="jint" mode="haserrors"> | |
1608 <xsl:if test="count(@min)=1"> | |
1609 yes | |
1610 </xsl:if> | |
1611 </xsl:template> | |
1612 | |
1613 <xsl:template match="jint" mode="errorid"> | |
1614 <xsl:text>JVMTI_ERROR_ILLEGAL_ARGUMENT</xsl:text> | |
1615 </xsl:template> | |
1616 | |
1617 <xsl:template match="jint" mode="errordesc"> | |
1618 <xsl:param name="id"/> | |
1619 <xsl:apply-templates select="." mode="paramlink"/> | |
1620 <xsl:text> is less than </xsl:text> | |
1621 <code><xsl:value-of select="@min"/></code> | |
1622 <xsl:text>.</xsl:text> | |
1623 </xsl:template> | |
1624 | |
1625 <xsl:template match="jvalue|jchar|jlong|jfloat|jdouble|jboolean|char|uchar|size_t|void|varargs|struct" mode="haserrors"> | |
1626 </xsl:template> | |
1627 | |
1628 <xsl:template match="jvalue|jchar|jlong|jfloat|jdouble|jboolean|char|uchar|size_t|void|varargs|struct" mode="errordesc"> | |
1629 <xsl:param name="id"/> | |
1630 <xsl:message terminate="yes"> | |
1631 attempt to get error description for <xsl:apply-templates select="." mode="paramlink"/> | |
1632 </xsl:message> | |
1633 </xsl:template> | |
1634 | |
1635 <xsl:template match="ptrtype|outptr|allocbuf|allocallocbuf|inptr|inbuf|outbuf|vmbuf|agentbuf" mode="haserrors"> | |
1636 <xsl:if test="count(nullok)=0"> | |
1637 yes | |
1638 </xsl:if> | |
1639 </xsl:template> | |
1640 | |
1641 <xsl:template match="ptrtype|outptr|allocbuf|allocallocbuf|inptr|inbuf|outbuf|vmbuf|agentbuf" mode="errorid"> | |
1642 <xsl:text>JVMTI_ERROR_NULL_POINTER</xsl:text> | |
1643 </xsl:template> | |
1644 | |
1645 <xsl:template match="ptrtype|outptr|allocbuf|allocallocbuf|inptr|inbuf|outbuf|vmbuf|agentbuf" mode="errordesc"> | |
1646 <xsl:param name="id"/> | |
1647 <xsl:if test="count(nullok)=1"> | |
1648 <xsl:message terminate="yes"> | |
1649 attempt to get error description in null ok case for <xsl:apply-templates select="." mode="paramlink"/> | |
1650 </xsl:message> | |
1651 </xsl:if> | |
1652 <xsl:apply-templates select="." mode="paramlink"/> | |
1653 <xsl:text> is </xsl:text> | |
1654 <code>NULL</code> | |
1655 <xsl:text>.</xsl:text> | |
1656 </xsl:template> | |
1657 | |
1658 <xsl:template match="jmethodID|jfieldID|jframeID|jrawMonitorID|jint|jclass|jthread|jthreadGroup|jobject|enum|jlocation|ptrtype|outptr|allocbuf|allocallocbuf|inptr|inbuf|outbuf|vmbuf|agentbuf" mode="paramlink"> | |
1659 <a> | |
1660 <xsl:attribute name="href">#<xsl:value-of select="ancestor::function/@id|ancestor::event/@id"/>.<xsl:value-of select="ancestor::param/@id"/> | |
1661 </xsl:attribute> | |
1662 <code> | |
1663 <xsl:value-of select="ancestor::param/@id"/> | |
1664 </code> | |
1665 </a> | |
1666 </xsl:template> | |
1667 | |
1668 <xsl:template match="error" mode="haserrors"> | |
1669 yes | |
1670 </xsl:template> | |
1671 | |
1672 <xsl:template match="error"> | |
1673 <tr> | |
1674 <td> | |
1675 <a> | |
1676 <xsl:attribute name="href">#<xsl:value-of select="@id"/></xsl:attribute> | |
1677 <code> | |
1678 <xsl:value-of select="@id"/> | |
1679 </code> | |
1680 </a> | |
1681 </td> | |
1682 <td> | |
1683 <xsl:apply-templates/> | |
1684 </td> | |
1685 </tr> | |
1686 </xsl:template> | |
1687 | |
1688 <xsl:template match="errorsection"> | |
1689 <p/> | |
1690 <hr noshade="noshade" size="3"/> | |
1691 <h2> | |
1692 Errors | |
1693 </h2> | |
1694 <p/> | |
1695 <xsl:apply-templates select="intro"/> | |
1696 <p/> | |
1697 <xsl:apply-templates select="errorcategory"/> | |
1698 <p/> | |
1699 </xsl:template> | |
1700 | |
1701 <xsl:template match="datasection"> | |
1702 <p/> | |
1703 <hr noshade="noshade" size="3"/> | |
1704 <h2> | |
1705 Data Types | |
1706 </h2> | |
1707 <p/> | |
1708 <xsl:apply-templates select="intro"/> | |
1709 <xsl:apply-templates select="basetypes"/> | |
1710 <p/> | |
1711 <a name="StructureTypeDefinitions"></a> | |
1712 <table border="1" cellpadding="3" cellspacing="0" width="100%"> | |
1713 <tr bgcolor="#CCCCFF"> | |
1714 <td colspan="2" align="center" class="tableHeader"> | |
1715 Structure Type Definitions | |
1716 </td> | |
1717 </tr> | |
1718 <tr bgcolor="#EEEEFF"> | |
1719 <td> | |
1720 Type | |
1721 </td> | |
1722 <td> | |
1723 Description | |
1724 </td> | |
1725 </tr> | |
1726 <xsl:apply-templates select="//typedef|//uniontypedef|//capabilitiestypedef" mode="tableentry"> | |
1727 <xsl:sort select="@id"/> | |
1728 </xsl:apply-templates> | |
1729 </table> | |
1730 <p/> | |
1731 <a name="FunctionTypeDefinitions"></a> | |
1732 <table border="1" cellpadding="3" cellspacing="0" width="100%"> | |
1733 <tr bgcolor="#CCCCFF"> | |
1734 <td colspan="2" align="center" class="tableHeader"> | |
1735 Function Type Definitions | |
1736 </td> | |
1737 </tr> | |
1738 <tr bgcolor="#EEEEFF"> | |
1739 <td> | |
1740 Type | |
1741 </td> | |
1742 <td> | |
1743 Description | |
1744 </td> | |
1745 </tr> | |
1746 <xsl:apply-templates select="//callback" mode="tableentry"> | |
1747 <xsl:sort select="@id"/> | |
1748 </xsl:apply-templates> | |
1749 </table> | |
1750 <p/> | |
1751 <a name="EnumerationDefinitions"></a> | |
1752 <table border="1" cellpadding="3" cellspacing="0" width="100%"> | |
1753 <tr bgcolor="#CCCCFF"> | |
1754 <td colspan="2" align="center" class="tableHeader"> | |
1755 Enumeration Definitions | |
1756 </td> | |
1757 </tr> | |
1758 <tr bgcolor="#EEEEFF"> | |
1759 <td> | |
1760 Type | |
1761 </td> | |
1762 <td> | |
1763 Description | |
1764 </td> | |
1765 </tr> | |
1766 <xsl:apply-templates select="//constants[@kind='enum']" mode="tableentry"> | |
1767 <xsl:sort select="@id"/> | |
1768 </xsl:apply-templates> | |
1769 </table> | |
1770 <p/> | |
1771 <a name="FunctionTable"></a> | |
1772 <table border="1" cellpadding="3" cellspacing="0" width="100%"> | |
1773 <tr bgcolor="#CCCCFF"> | |
1774 <td colspan="3" align="center" class="tableHeader"> | |
1775 Function Table Layout | |
1776 </td> | |
1777 </tr> | |
1778 <tr bgcolor="#EEEEFF"> | |
1779 <td> | |
1780 Position | |
1781 </td> | |
1782 <td> | |
1783 Function | |
1784 </td> | |
1785 <td> | |
1786 Declaration | |
1787 </td> | |
1788 </tr> | |
1789 <xsl:call-template name="funcStruct"> | |
1790 <xsl:with-param name="funcs" select="//functionsection/category/function[count(@hide)=0]"/> | |
1791 <xsl:with-param name="index" select="1"/> | |
1792 </xsl:call-template> | |
1793 </table> | |
1794 <p/> | |
1795 </xsl:template> | |
1796 | |
1797 | |
1798 <xsl:template name="funcStruct"> | |
1799 <xsl:param name="funcs"/> | |
1800 <xsl:param name="index"/> | |
1801 <xsl:variable name="thisFunction" select="$funcs[@num=$index]"/> | |
1802 <tr> | |
1803 <td align="right"> | |
1804 <xsl:number value="$index" format=" 1"/> | |
1805 </td> | |
1806 <xsl:choose> | |
1807 <xsl:when test="count($thisFunction)=1"> | |
1808 <td> | |
1809 <a> | |
1810 <xsl:attribute name="href"> | |
1811 <xsl:text>#</xsl:text> | |
1812 <xsl:value-of select="$thisFunction/@id"/> | |
1813 </xsl:attribute> | |
1814 <xsl:value-of select="$thisFunction/synopsis"/> | |
1815 </a> | |
1816 </td> | |
1817 <td> | |
1818 <pre> | |
1819 <xsl:text>jvmtiError (JNICALL *</xsl:text> | |
1820 <xsl:value-of select="$thisFunction/@id"/> | |
1821 <xsl:text>) (jvmtiEnv* env</xsl:text> | |
1822 <xsl:apply-templates select="$thisFunction/parameters" mode="signature"> | |
1823 <xsl:with-param name="comma"> | |
1824 <xsl:text>, 
 </xsl:text> | |
1825 </xsl:with-param> | |
1826 </xsl:apply-templates> | |
1827 <xsl:text>);</xsl:text> | |
1828 </pre> | |
1829 </td> | |
1830 </xsl:when> | |
1831 <xsl:otherwise> | |
1832 <xsl:if test="count($thisFunction) != 0"> | |
1833 <xsl:message terminate="yes"> | |
1834 More than one function has index number <xsl:number value="$index" format=" 1"/>. | |
1835 </xsl:message> | |
1836 </xsl:if> | |
1837 <td> | |
1838 <i>reserved</i> | |
1839 </td> | |
1840 <td> | |
1841 <pre> | |
1842 <xsl:text>void *reserved</xsl:text> | |
1843 <xsl:value-of select="$index"/> | |
1844 <xsl:text>;</xsl:text> | |
1845 </pre> | |
1846 </td> | |
1847 </xsl:otherwise> | |
1848 </xsl:choose> | |
1849 </tr> | |
1850 <xsl:if test="count($funcs[@num > $index]) > 0"> | |
1851 <xsl:call-template name="funcStruct"> | |
1852 <xsl:with-param name="funcs" select="$funcs"/> | |
1853 <xsl:with-param name="index" select="1+$index"/> | |
1854 </xsl:call-template> | |
1855 </xsl:if> | |
1856 </xsl:template> | |
1857 | |
1858 | |
1859 | |
1860 <xsl:template match="errorcategory"> | |
1861 <h3> | |
1862 <xsl:attribute name="id"> | |
1863 <xsl:value-of select="@id"/> | |
1864 </xsl:attribute> | |
1865 <xsl:value-of select="@label"/> | |
1866 </h3> | |
1867 <xsl:apply-templates select="intro"/> | |
1868 <p/> | |
1869 <dl> | |
1870 <xsl:apply-templates select="errorid"/> | |
1871 </dl> | |
1872 <p/> | |
1873 </xsl:template> | |
1874 | |
1875 <xsl:template match="errorid"> | |
1876 <dt> | |
1877 <code> | |
1878 <xsl:attribute name="id"> | |
1879 <xsl:value-of select="@id"/> | |
1880 </xsl:attribute> | |
1881 <xsl:value-of select="@id"/> (<xsl:value-of select="@num"/>) | |
1882 </code> | |
1883 </dt> | |
1884 <dd> | |
1885 <xsl:apply-templates/> | |
1886 <p/> | |
1887 </dd> | |
1888 </xsl:template> | |
1889 | |
1890 <xsl:template match="changehistory"> | |
1891 <p/><hr noshade="noshade" size="3"/> | |
1892 <h2>Change History</h2> | |
1893 Last update: <xsl:value-of select="@update"/><br/> | |
1894 Version: <xsl:call-template name="showversion"/> | |
1895 <p/> | |
1896 <xsl:apply-templates select="intro"/> | |
1897 <p/> | |
1898 <table border="1" cellpadding="3" cellspacing="0" width="100%"> | |
1899 <tr bgcolor="#EEEEFF"> | |
1900 <td> | |
1901 <b>Version</b><br/> | |
1902 <b>Date</b> | |
1903 </td> | |
1904 <td> | |
1905 <b>Changes</b> | |
1906 </td> | |
1907 </tr> | |
1908 <xsl:apply-templates select="change"/> | |
1909 </table> | |
1910 </xsl:template> | |
1911 | |
1912 <xsl:template match="change"> | |
1913 <tr> | |
1914 <td> | |
1915 <xsl:if test="count(@version)"> | |
1916 <b> | |
1917 <xsl:value-of select="@version"/> | |
1918 </b> | |
1919 <br/> | |
1920 </xsl:if> | |
1921 <xsl:value-of select="@date"/> | |
1922 </td> | |
1923 <td> | |
1924 <xsl:apply-templates/> | |
1925 </td> | |
1926 </tr> | |
1927 </xsl:template> | |
1928 | |
1929 <xsl:template match="intro"> | |
1930 <xsl:if test="@id!=''"> | |
1931 <xsl:choose> | |
1932 <xsl:when test="@label!=''"> | |
1933 <h4> | |
1934 <xsl:attribute name="id"> | |
1935 <xsl:value-of select="@id"/> | |
1936 </xsl:attribute> | |
1937 <xsl:value-of select="@label"/> | |
1938 </h4> | |
1939 </xsl:when> | |
1940 <xsl:otherwise> | |
1941 <a> | |
1942 <xsl:attribute name="name"> | |
1943 <xsl:value-of select="@id"/> | |
1944 </xsl:attribute> | |
1945 </a> | |
1946 </xsl:otherwise> | |
1947 </xsl:choose> | |
1948 </xsl:if> | |
1949 <xsl:apply-templates/> | |
1950 </xsl:template> | |
1951 | |
1952 <xsl:template match="issue"> | |
1953 <xsl:if test="$development = 'Show'"> | |
1954 <p style="color: red"> | |
1955 To be resolved: | |
1956 <xsl:apply-templates/> | |
1957 </p> | |
1958 </xsl:if> | |
1959 </xsl:template> | |
1960 | |
1961 <xsl:template match="rationale"> | |
1962 <p style="color: purple"> | |
1963 Rationale: | |
1964 <xsl:apply-templates/> | |
1965 </p> | |
1966 </xsl:template> | |
1967 | |
1968 <xsl:template match="todo"> | |
1969 <xsl:if test="$development = 'Show'"> | |
1970 <p style="color: green"> | |
1971 To do: | |
1972 <xsl:apply-templates/> | |
1973 </p> | |
1974 </xsl:if> | |
1975 </xsl:template> | |
1976 | |
1977 <xsl:template match="elide"> | |
1978 </xsl:template> | |
1979 | |
1980 <xsl:template match="b"> | |
1981 <b> | |
1982 <xsl:apply-templates/> | |
1983 </b> | |
1984 </xsl:template> | |
1985 | |
1986 <xsl:template match="example"> | |
1987 <blockquote> | |
1988 <pre> | |
1989 <xsl:apply-templates/> | |
1990 </pre> | |
1991 </blockquote> | |
1992 </xsl:template> | |
1993 | |
1994 | |
1995 <xsl:template match="table"> | |
1996 <table border="1" cellpadding="3" cellspacing="0" width="100%"> | |
1997 <xsl:apply-templates/> | |
1998 </table> | |
1999 </xsl:template> | |
2000 | |
2001 <xsl:template match="tr"> | |
2002 <tr> | |
2003 <xsl:apply-templates/> | |
2004 </tr> | |
2005 </xsl:template> | |
2006 | |
2007 <xsl:template match="td"> | |
2008 <td> | |
2009 <xsl:attribute name="align"> | |
2010 <xsl:value-of select="@align"/> | |
2011 </xsl:attribute> | |
2012 <xsl:apply-templates/> | |
2013 </td> | |
2014 </xsl:template> | |
2015 | |
2016 <xsl:template match="th"> | |
2017 <th bgcolor="#EEEEFF"> | |
2018 <xsl:attribute name="align"> | |
2019 <xsl:value-of select="@align"/> | |
2020 </xsl:attribute> | |
2021 <xsl:apply-templates/> | |
2022 </th> | |
2023 </xsl:template> | |
2024 | |
2025 <xsl:template match="dl"> | |
2026 <dl> | |
2027 <xsl:apply-templates/> | |
2028 </dl> | |
2029 </xsl:template> | |
2030 | |
2031 <xsl:template match="dt"> | |
2032 <dt> | |
2033 <xsl:apply-templates/> | |
2034 </dt> | |
2035 </xsl:template> | |
2036 | |
2037 <xsl:template match="dd"> | |
2038 <dd> | |
2039 <xsl:apply-templates/> | |
2040 </dd> | |
2041 </xsl:template> | |
2042 | |
2043 <xsl:template match="p"> | |
2044 <p> | |
2045 <xsl:apply-templates/> | |
2046 </p> | |
2047 </xsl:template> | |
2048 | |
2049 <xsl:template match="br"> | |
2050 <br> | |
2051 <xsl:apply-templates/> | |
2052 </br> | |
2053 </xsl:template> | |
2054 | |
2055 <xsl:template match="ul"> | |
2056 <ul> | |
2057 <xsl:attribute name="type"><xsl:value-of select="@type"/></xsl:attribute> | |
2058 <xsl:apply-templates/> | |
2059 </ul> | |
2060 </xsl:template> | |
2061 | |
2062 <xsl:template match="li"> | |
2063 <li> | |
2064 <xsl:apply-templates/> | |
2065 </li> | |
2066 </xsl:template> | |
2067 | |
2068 <xsl:template match="code"> | |
2069 <code> | |
2070 <xsl:apply-templates/> | |
2071 </code> | |
2072 </xsl:template> | |
2073 | |
2074 <xsl:template match="tm"> | |
2075 <xsl:apply-templates/> | |
2076 <sup style="font-size: xx-small"> | |
2077 <xsl:text>TM</xsl:text> | |
2078 </sup> | |
2079 <xsl:text> </xsl:text> | |
2080 </xsl:template> | |
2081 | |
2082 <xsl:template match="b"> | |
2083 <b> | |
2084 <xsl:apply-templates/> | |
2085 </b> | |
2086 </xsl:template> | |
2087 | |
2088 <xsl:template match="i"> | |
2089 <i> | |
2090 <xsl:apply-templates/> | |
2091 </i> | |
2092 </xsl:template> | |
2093 | |
2094 <xsl:template match="space"> | |
2095 <xsl:text> </xsl:text> | |
2096 </xsl:template> | |
2097 | |
2098 <xsl:template match="jvmti"> | |
2099 <xsl:text>JVM</xsl:text><small style="font-size: xx-small"> </small><xsl:text>TI</xsl:text> | |
2100 </xsl:template> | |
2101 | |
2102 | |
2103 </xsl:stylesheet> |