Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
PojavLauncherTeam
GitHub Repository: PojavLauncherTeam/openjdk-multiarch-jdk8u
Path: blob/aarch64-shenandoah-jdk8u272-b10/hotspot/src/share/vm/prims/jvmti.xsl
32285 views
1
<?xml version="1.0"?>
2
<!--
3
Copyright (c) 2002, 2006, Oracle and/or its affiliates. All rights reserved.
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
20
Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
21
or visit www.oracle.com if you need additional information or have any
22
questions.
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="vmspec">
1043
<cite>
1044
<xsl:text>The Java&#8482; Virtual Machine Specification</xsl:text>
1045
<xsl:if test="count(@chapter)=1">
1046
<xsl:text>, Chapter </xsl:text>
1047
<xsl:value-of select="@chapter"/>
1048
</xsl:if>
1049
</cite>
1050
</xsl:template>
1051
1052
<xsl:template match="internallink">
1053
<a>
1054
<xsl:attribute name="href">#<xsl:value-of select="@id"/></xsl:attribute>
1055
<xsl:apply-templates/>
1056
</a>
1057
</xsl:template>
1058
1059
<xsl:template match="parameters" mode="body">
1060
<p/>
1061
<table border="1" cellpadding="3" cellspacing="0" width="100%">
1062
<tr bgcolor="#CCCCFF">
1063
<td colspan="3" align="center" class="tableHeader">
1064
Parameters
1065
</td>
1066
</tr>
1067
<tr bgcolor="#EEEEFF">
1068
<td>
1069
Name
1070
</td>
1071
<td>
1072
Type
1073
</td>
1074
<td>
1075
Description
1076
</td>
1077
</tr>
1078
<xsl:apply-templates select="param[count(jclass/@method)=0]" mode="body"/>
1079
</table>
1080
</xsl:template>
1081
1082
<xsl:template match="param" mode="body">
1083
<tr>
1084
<td>
1085
<code>
1086
<xsl:attribute name="id">
1087
<xsl:value-of select="../../@id"/>.<xsl:value-of select="@id"/>
1088
</xsl:attribute>
1089
<xsl:value-of select="@id"/>
1090
</code>
1091
</td>
1092
<td>
1093
<code>
1094
<xsl:apply-templates select="child::*[position()=1]" mode="link"/>
1095
</code>
1096
</td>
1097
<td>
1098
<xsl:apply-templates select="description" mode="brief"/>
1099
<xsl:if test="count(ancestor::function)=1">
1100
<xsl:apply-templates select="child::*[position()=1]" mode="funcdescription"/>
1101
</xsl:if>
1102
</td>
1103
</tr>
1104
</xsl:template>
1105
1106
<xsl:template match="capabilities">
1107
<p/>
1108
<table border="1" cellpadding="3" cellspacing="0" width="100%">
1109
<tr bgcolor="#CCCCFF">
1110
<td colspan="2" align="center" class="tableHeader">
1111
Capabilities
1112
</td>
1113
</tr>
1114
<xsl:choose>
1115
<xsl:when test="count(required)=0">
1116
<tr>
1117
<td colspan="2">
1118
<b>Required Functionality</b>
1119
</td>
1120
</tr>
1121
</xsl:when>
1122
<xsl:otherwise>
1123
<tr>
1124
<td colspan="2">
1125
<b>Optional Functionality:</b> might not be implemented for all
1126
virtual machines.
1127
<xsl:choose>
1128
<xsl:when test="count(required)=1">
1129
The following capability
1130
</xsl:when>
1131
<xsl:otherwise>
1132
One of the following capabilities
1133
</xsl:otherwise>
1134
</xsl:choose>
1135
(as returned by
1136
<a href="#GetCapabilities"><code>GetCapabilities</code></a>)
1137
must be true to use this
1138
<xsl:choose>
1139
<xsl:when test="ancestor::function">
1140
function.
1141
</xsl:when>
1142
<xsl:otherwise>
1143
event.
1144
</xsl:otherwise>
1145
</xsl:choose>
1146
</td>
1147
</tr>
1148
<tr bgcolor="#EEEEFF">
1149
<td >
1150
Capability
1151
</td>
1152
<td>
1153
Effect
1154
</td>
1155
</tr>
1156
<xsl:apply-templates select="required"/>
1157
</xsl:otherwise>
1158
</xsl:choose>
1159
<xsl:if test="count(capability)!=0">
1160
<tr bgcolor="#CCCCFF">
1161
<td colspan="2" align="center">
1162
Optional Features
1163
</td>
1164
</tr>
1165
<xsl:if test="count(required)=0">
1166
<tr bgcolor="#EEEEFF">
1167
<td >
1168
Capability
1169
</td>
1170
<td>
1171
Effect
1172
</td>
1173
</tr>
1174
</xsl:if>
1175
<xsl:apply-templates select="capability"/>
1176
</xsl:if>
1177
</table>
1178
</xsl:template>
1179
1180
<xsl:template match="eventcapabilities">
1181
<p/>
1182
<table border="1" cellpadding="3" cellspacing="0" width="100%">
1183
<tr bgcolor="#CCCCFF">
1184
<td colspan="2" align="center" class="tableHeader">
1185
Capabilities
1186
</td>
1187
</tr>
1188
<tr>
1189
<td colspan="2">
1190
<b>Required Functionality</b>
1191
</td>
1192
</tr>
1193
<tr bgcolor="#CCCCFF">
1194
<td colspan="2" align="center">
1195
Event Enabling Capabilities
1196
</td>
1197
</tr>
1198
<tr bgcolor="#EEEEFF">
1199
<td >
1200
Capability
1201
</td>
1202
<td>
1203
Events
1204
</td>
1205
</tr>
1206
<xsl:for-each select="//capabilityfield">
1207
<xsl:variable name="capa" select="@id"/>
1208
<xsl:variable name="events" select="//event[capabilities/required/@id=$capa]"/>
1209
<xsl:if test="count($events)">
1210
<tr>
1211
<td>
1212
<a>
1213
<xsl:attribute name="href">#jvmtiCapabilities.<xsl:value-of select="@id"/>
1214
</xsl:attribute>
1215
<code>
1216
<xsl:value-of select="@id"/>
1217
</code>
1218
</a>
1219
</td>
1220
<td>
1221
<xsl:for-each select="$events">
1222
<a>
1223
<xsl:attribute name="href">#<xsl:value-of select="@id"/>
1224
</xsl:attribute>
1225
<code>
1226
<xsl:value-of select="@id"/>
1227
</code>
1228
</a>
1229
<br/>
1230
</xsl:for-each>
1231
</td>
1232
</tr>
1233
</xsl:if>
1234
</xsl:for-each>
1235
</table>
1236
</xsl:template>
1237
1238
<xsl:template match="capability|required">
1239
<tr>
1240
<td>
1241
<a>
1242
<xsl:attribute name="href">#jvmtiCapabilities.<xsl:value-of select="@id"/>
1243
</xsl:attribute>
1244
<code>
1245
<xsl:value-of select="@id"/>
1246
</code>
1247
</a>
1248
</td>
1249
<td>
1250
<xsl:choose>
1251
<xsl:when test=".=''">
1252
<xsl:variable name="desiredID" select="@id"/>
1253
<xsl:for-each select="//capabilityfield[@id=$desiredID]">
1254
<xsl:apply-templates select="description" mode="brief"/>
1255
</xsl:for-each>
1256
</xsl:when>
1257
<xsl:otherwise>
1258
<xsl:apply-templates/>
1259
</xsl:otherwise>
1260
</xsl:choose>
1261
</td>
1262
</tr>
1263
</xsl:template>
1264
1265
<xsl:template match="function" mode="errors">
1266
<xsl:variable name="haserrors">
1267
<xsl:apply-templates select="capabilities/required" mode="haserrors"/>
1268
<xsl:apply-templates select="errors/error" mode="haserrors"/>
1269
<xsl:apply-templates select="parameters/param" mode="haserrors"/>
1270
</xsl:variable>
1271
<p/>
1272
<table border="1" cellpadding="3" cellspacing="0" width="100%">
1273
<tr bgcolor="#CCCCFF">
1274
<td colspan="2" align="center" class="tableHeader">
1275
Errors
1276
</td>
1277
</tr>
1278
<xsl:choose>
1279
<xsl:when test="contains($haserrors,'yes')">
1280
<tr>
1281
<td colspan="2">
1282
This function returns either a
1283
<a href="#universal-error">universal error</a>
1284
or one of the following errors
1285
</td>
1286
</tr>
1287
<tr bgcolor="#EEEEFF">
1288
<td>
1289
Error
1290
</td>
1291
<td>
1292
Description
1293
</td>
1294
</tr>
1295
<xsl:apply-templates select="capabilities/required" mode="errors"/>
1296
<xsl:apply-templates select="errors/error"/>
1297
<xsl:apply-templates select="parameters/param" mode="errors"/>
1298
</xsl:when>
1299
<xsl:otherwise>
1300
<tr>
1301
<td colspan="2">
1302
This function returns a
1303
<a href="#universal-error">universal error</a>
1304
</td>
1305
</tr>
1306
</xsl:otherwise>
1307
</xsl:choose>
1308
</table>
1309
</xsl:template>
1310
1311
<xsl:template match="required" mode="haserrors">
1312
yes
1313
</xsl:template>
1314
1315
<xsl:template match="required" mode="errors">
1316
<tr>
1317
<td>
1318
<a href="#JVMTI_ERROR_MUST_POSSESS_CAPABILITY">
1319
<code>
1320
JVMTI_ERROR_MUST_POSSESS_CAPABILITY
1321
</code>
1322
</a>
1323
</td>
1324
<td>
1325
The environment does not possess the capability
1326
<a>
1327
<xsl:attribute name="href">#jvmtiCapabilities.<xsl:value-of select="@id"/></xsl:attribute>
1328
<code>
1329
<xsl:value-of select="@id"/>
1330
</code>
1331
</a>.
1332
Use <a href="#AddCapabilities"><code>AddCapabilities</code></a>.
1333
</td>
1334
</tr>
1335
</xsl:template>
1336
1337
<xsl:template match="param" mode="haserrors">
1338
<xsl:apply-templates mode="haserrors"/>
1339
</xsl:template>
1340
1341
<xsl:template match="param" mode="errors">
1342
<xsl:apply-templates select="." mode="errors1"/>
1343
<xsl:apply-templates select="." mode="errors2"/>
1344
</xsl:template>
1345
1346
<xsl:template match="param" mode="errors1">
1347
<xsl:variable name="haserrors">
1348
<xsl:apply-templates mode="haserrors"/>
1349
</xsl:variable>
1350
<xsl:if test="contains($haserrors,'yes')!=0">
1351
<xsl:variable name="erroridraw">
1352
<xsl:apply-templates mode="errorid"/>
1353
</xsl:variable>
1354
<xsl:variable name="errorid" select="normalize-space($erroridraw)"/>
1355
<tr>
1356
<td>
1357
<a>
1358
<xsl:attribute name="href">#<xsl:value-of select="$errorid"/></xsl:attribute>
1359
<code>
1360
<xsl:value-of select="$errorid"/>
1361
</code>
1362
</a>
1363
</td>
1364
<td>
1365
<xsl:apply-templates mode="errordesc">
1366
<xsl:with-param name="id" select="@id"/>
1367
</xsl:apply-templates>
1368
</td>
1369
</tr>
1370
</xsl:if>
1371
</xsl:template>
1372
1373
<xsl:template match="param" mode="errors2">
1374
<xsl:variable name="haserrors2">
1375
<xsl:apply-templates mode="haserrors2"/>
1376
</xsl:variable>
1377
<xsl:if test="contains($haserrors2,'yes')!=0">
1378
<xsl:variable name="erroridraw2">
1379
<xsl:apply-templates mode="errorid2"/>
1380
</xsl:variable>
1381
<xsl:variable name="errorid2" select="normalize-space($erroridraw2)"/>
1382
<tr>
1383
<td>
1384
<a>
1385
<xsl:attribute name="href">#<xsl:value-of select="$errorid2"/></xsl:attribute>
1386
<code>
1387
<xsl:value-of select="$errorid2"/>
1388
</code>
1389
</a>
1390
</td>
1391
<td>
1392
<xsl:apply-templates mode="errordesc2">
1393
<xsl:with-param name="id" select="@id"/>
1394
</xsl:apply-templates>
1395
</td>
1396
</tr>
1397
</xsl:if>
1398
</xsl:template>
1399
1400
<xsl:template match="description" mode="haserrors">
1401
</xsl:template>
1402
1403
<xsl:template match="description" mode="errorid">
1404
</xsl:template>
1405
1406
<xsl:template match="description" mode="errordesc">
1407
</xsl:template>
1408
1409
<xsl:template match="jmethodID|jfieldID|jframeID|jrawMonitorID|jthread|jthreadGroup|jobject|enum|jlocation" mode="haserrors">
1410
yes
1411
</xsl:template>
1412
1413
<xsl:template match="jclass" mode="haserrors">
1414
<xsl:if test="count(@method)=0">
1415
yes
1416
</xsl:if>
1417
</xsl:template>
1418
1419
<xsl:template match="description|jclass|jfieldID|jrawMonitorID|
1420
jthreadGroup|jobject|enum|jlocation|jvalue|jchar|jint|jlong|jfloat|jdouble|jboolean|
1421
char|uchar|size_t|void|varargs|struct|
1422
ptrtype|outptr|allocbuf|allocallocbuf|inptr|inbuf|outbuf|vmbuf|agentbuf" mode="haserrors2">
1423
</xsl:template>
1424
1425
<xsl:template match="jmethodID" mode="haserrors2">
1426
<xsl:if test="count(@native)=1 and contains(@native,'error')">
1427
yes
1428
</xsl:if>
1429
</xsl:template>
1430
1431
<xsl:template match="jthread" mode="haserrors2">
1432
<xsl:if test="count(@started)=0 or contains(@started,'yes') or @started=''">
1433
yes
1434
</xsl:if>
1435
</xsl:template>
1436
1437
<xsl:template match="jframeID" mode="haserrors2">
1438
yes
1439
</xsl:template>
1440
1441
<xsl:template match="description" mode="errorid2">
1442
</xsl:template>
1443
1444
<xsl:template match="description" mode="errordesc2">
1445
</xsl:template>
1446
1447
<xsl:template match="jmethodID" mode="errorid">
1448
<xsl:text>JVMTI_ERROR_INVALID_METHODID</xsl:text>
1449
</xsl:template>
1450
1451
<xsl:template match="jmethodID" mode="errorid2">
1452
<xsl:text>JVMTI_ERROR_NATIVE_METHOD</xsl:text>
1453
</xsl:template>
1454
1455
<xsl:template match="jmethodID" mode="errordesc">
1456
<xsl:param name="id"/>
1457
<xsl:apply-templates select="." mode="paramlink"/>
1458
<xsl:text> is not a jmethodID.</xsl:text>
1459
</xsl:template>
1460
1461
<xsl:template match="jmethodID" mode="errordesc2">
1462
<xsl:param name="id"/>
1463
<xsl:apply-templates select="." mode="paramlink"/>
1464
<xsl:text> is a native method.</xsl:text>
1465
</xsl:template>
1466
1467
<xsl:template match="jfieldID" mode="errorid">
1468
<xsl:text>JVMTI_ERROR_INVALID_FIELDID</xsl:text>
1469
</xsl:template>
1470
1471
<xsl:template match="jfieldID" mode="errordesc">
1472
<xsl:param name="id"/>
1473
<xsl:apply-templates select="." mode="paramlink"/>
1474
<xsl:text> is not a jfieldID.</xsl:text>
1475
</xsl:template>
1476
1477
<xsl:template match="jframeID" mode="errorid">
1478
<xsl:text>JVMTI_ERROR_ILLEGAL_ARGUMENT</xsl:text>
1479
</xsl:template>
1480
1481
<xsl:template match="jframeID" mode="errorid2">
1482
<xsl:text>JVMTI_ERROR_NO_MORE_FRAMES</xsl:text>
1483
</xsl:template>
1484
1485
<xsl:template match="jframeID" mode="errordesc">
1486
<xsl:param name="id"/>
1487
<xsl:apply-templates select="." mode="paramlink"/>
1488
<xsl:text> is less than zero.</xsl:text>
1489
</xsl:template>
1490
1491
<xsl:template match="jframeID" mode="errordesc2">
1492
<xsl:param name="id"/>
1493
<xsl:text>There are no stack frames at the specified </xsl:text>
1494
<xsl:apply-templates select="." mode="paramlink"/>
1495
<xsl:text>.</xsl:text>
1496
</xsl:template>
1497
1498
<xsl:template match="jrawMonitorID" mode="errorid">
1499
<xsl:text>JVMTI_ERROR_INVALID_MONITOR</xsl:text>
1500
</xsl:template>
1501
1502
<xsl:template match="jrawMonitorID" mode="errordesc">
1503
<xsl:param name="id"/>
1504
<xsl:apply-templates select="." mode="paramlink"/>
1505
<xsl:text> is not a jrawMonitorID.</xsl:text>
1506
</xsl:template>
1507
1508
<xsl:template match="jclass" mode="errorid">
1509
<xsl:text>JVMTI_ERROR_INVALID_CLASS</xsl:text>
1510
</xsl:template>
1511
1512
<xsl:template match="jclass" mode="errordesc">
1513
<xsl:param name="id"/>
1514
<xsl:apply-templates select="." mode="paramlink"/>
1515
<xsl:text> is not a class object or the class has been unloaded.</xsl:text>
1516
</xsl:template>
1517
1518
<xsl:template match="jthread" mode="errorid">
1519
<xsl:text>JVMTI_ERROR_INVALID_THREAD</xsl:text>
1520
</xsl:template>
1521
1522
<xsl:template match="jthread" mode="errorid2">
1523
<xsl:text>JVMTI_ERROR_THREAD_NOT_ALIVE</xsl:text>
1524
</xsl:template>
1525
1526
<xsl:template match="jthread" mode="errordesc">
1527
<xsl:param name="id"/>
1528
<xsl:apply-templates select="." mode="paramlink"/>
1529
<xsl:text> is not a thread object.</xsl:text>
1530
</xsl:template>
1531
1532
<xsl:template match="jthread" mode="errordesc2">
1533
<xsl:param name="id"/>
1534
<xsl:apply-templates select="." mode="paramlink"/>
1535
<xsl:text> is not live (has not been started or is now dead).</xsl:text>
1536
</xsl:template>
1537
1538
<xsl:template match="jthreadGroup" mode="errorid">
1539
<xsl:text>JVMTI_ERROR_INVALID_THREAD_GROUP</xsl:text>
1540
</xsl:template>
1541
1542
<xsl:template match="jthreadGroup" mode="errordesc">
1543
<xsl:param name="id"/>
1544
<xsl:apply-templates select="." mode="paramlink"/>
1545
<xsl:text> is not a thread group object.</xsl:text>
1546
</xsl:template>
1547
1548
<xsl:template match="jobject" mode="errorid">
1549
<xsl:text>JVMTI_ERROR_INVALID_OBJECT</xsl:text>
1550
</xsl:template>
1551
1552
<xsl:template match="jobject" mode="errordesc">
1553
<xsl:param name="id"/>
1554
<xsl:apply-templates select="." mode="paramlink"/>
1555
<xsl:text> is not an object.</xsl:text>
1556
</xsl:template>
1557
1558
<xsl:template match="enum" mode="errorid">
1559
<xsl:choose>
1560
<xsl:when test=".='jvmtiEvent'">
1561
<xsl:text>JVMTI_ERROR_INVALID_EVENT_TYPE</xsl:text>
1562
</xsl:when>
1563
<xsl:otherwise>
1564
<xsl:text>JVMTI_ERROR_ILLEGAL_ARGUMENT</xsl:text>
1565
</xsl:otherwise>
1566
</xsl:choose>
1567
</xsl:template>
1568
1569
<xsl:template match="enum" mode="errordesc">
1570
<xsl:param name="id"/>
1571
<xsl:apply-templates select="." mode="paramlink"/>
1572
<xsl:text> is not a </xsl:text>
1573
<xsl:value-of select="."/>
1574
<xsl:text>.</xsl:text>
1575
</xsl:template>
1576
1577
<xsl:template match="jlocation" mode="errorid">
1578
<xsl:text>JVMTI_ERROR_INVALID_LOCATION</xsl:text>
1579
</xsl:template>
1580
1581
<xsl:template match="jlocation" mode="errordesc">
1582
<xsl:param name="id"/>
1583
<xsl:apply-templates select="." mode="paramlink"/>
1584
<xsl:text> is not a valid location.</xsl:text>
1585
</xsl:template>
1586
1587
<xsl:template match="jint" mode="haserrors">
1588
<xsl:if test="count(@min)=1">
1589
yes
1590
</xsl:if>
1591
</xsl:template>
1592
1593
<xsl:template match="jint" mode="errorid">
1594
<xsl:text>JVMTI_ERROR_ILLEGAL_ARGUMENT</xsl:text>
1595
</xsl:template>
1596
1597
<xsl:template match="jint" mode="errordesc">
1598
<xsl:param name="id"/>
1599
<xsl:apply-templates select="." mode="paramlink"/>
1600
<xsl:text> is less than </xsl:text>
1601
<code><xsl:value-of select="@min"/></code>
1602
<xsl:text>.</xsl:text>
1603
</xsl:template>
1604
1605
<xsl:template match="jvalue|jchar|jlong|jfloat|jdouble|jboolean|char|uchar|size_t|void|varargs|struct" mode="haserrors">
1606
</xsl:template>
1607
1608
<xsl:template match="jvalue|jchar|jlong|jfloat|jdouble|jboolean|char|uchar|size_t|void|varargs|struct" mode="errordesc">
1609
<xsl:param name="id"/>
1610
<xsl:message terminate="yes">
1611
attempt to get error description for <xsl:apply-templates select="." mode="paramlink"/>
1612
</xsl:message>
1613
</xsl:template>
1614
1615
<xsl:template match="ptrtype|outptr|allocbuf|allocallocbuf|inptr|inbuf|outbuf|vmbuf|agentbuf" mode="haserrors">
1616
<xsl:if test="count(nullok)=0">
1617
yes
1618
</xsl:if>
1619
</xsl:template>
1620
1621
<xsl:template match="ptrtype|outptr|allocbuf|allocallocbuf|inptr|inbuf|outbuf|vmbuf|agentbuf" mode="errorid">
1622
<xsl:text>JVMTI_ERROR_NULL_POINTER</xsl:text>
1623
</xsl:template>
1624
1625
<xsl:template match="ptrtype|outptr|allocbuf|allocallocbuf|inptr|inbuf|outbuf|vmbuf|agentbuf" mode="errordesc">
1626
<xsl:param name="id"/>
1627
<xsl:if test="count(nullok)=1">
1628
<xsl:message terminate="yes">
1629
attempt to get error description in null ok case for <xsl:apply-templates select="." mode="paramlink"/>
1630
</xsl:message>
1631
</xsl:if>
1632
<xsl:apply-templates select="." mode="paramlink"/>
1633
<xsl:text> is </xsl:text>
1634
<code>NULL</code>
1635
<xsl:text>.</xsl:text>
1636
</xsl:template>
1637
1638
<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">
1639
<a>
1640
<xsl:attribute name="href">#<xsl:value-of select="ancestor::function/@id|ancestor::event/@id"/>.<xsl:value-of select="ancestor::param/@id"/>
1641
</xsl:attribute>
1642
<code>
1643
<xsl:value-of select="ancestor::param/@id"/>
1644
</code>
1645
</a>
1646
</xsl:template>
1647
1648
<xsl:template match="error" mode="haserrors">
1649
yes
1650
</xsl:template>
1651
1652
<xsl:template match="error">
1653
<tr>
1654
<td>
1655
<a>
1656
<xsl:attribute name="href">#<xsl:value-of select="@id"/></xsl:attribute>
1657
<code>
1658
<xsl:value-of select="@id"/>
1659
</code>
1660
</a>
1661
</td>
1662
<td>
1663
<xsl:apply-templates/>
1664
</td>
1665
</tr>
1666
</xsl:template>
1667
1668
<xsl:template match="errorsection">
1669
<p/>
1670
<hr noshade="noshade" size="3"/>
1671
<h2>
1672
Errors
1673
</h2>
1674
<p/>
1675
<xsl:apply-templates select="intro"/>
1676
<p/>
1677
<xsl:apply-templates select="errorcategory"/>
1678
<p/>
1679
</xsl:template>
1680
1681
<xsl:template match="datasection">
1682
<p/>
1683
<hr noshade="noshade" size="3"/>
1684
<h2>
1685
Data Types
1686
</h2>
1687
<p/>
1688
<xsl:apply-templates select="intro"/>
1689
<xsl:apply-templates select="basetypes"/>
1690
<p/>
1691
<a name="StructureTypeDefinitions"></a>
1692
<table border="1" cellpadding="3" cellspacing="0" width="100%">
1693
<tr bgcolor="#CCCCFF">
1694
<td colspan="2" align="center" class="tableHeader">
1695
Structure Type Definitions
1696
</td>
1697
</tr>
1698
<tr bgcolor="#EEEEFF">
1699
<td>
1700
Type
1701
</td>
1702
<td>
1703
Description
1704
</td>
1705
</tr>
1706
<xsl:apply-templates select="//typedef|//uniontypedef|//capabilitiestypedef" mode="tableentry">
1707
<xsl:sort select="@id"/>
1708
</xsl:apply-templates>
1709
</table>
1710
<p/>
1711
<a name="FunctionTypeDefinitions"></a>
1712
<table border="1" cellpadding="3" cellspacing="0" width="100%">
1713
<tr bgcolor="#CCCCFF">
1714
<td colspan="2" align="center" class="tableHeader">
1715
Function 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="//callback" mode="tableentry">
1727
<xsl:sort select="@id"/>
1728
</xsl:apply-templates>
1729
</table>
1730
<p/>
1731
<a name="EnumerationDefinitions"></a>
1732
<table border="1" cellpadding="3" cellspacing="0" width="100%">
1733
<tr bgcolor="#CCCCFF">
1734
<td colspan="2" align="center" class="tableHeader">
1735
Enumeration 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="//constants[@kind='enum']" mode="tableentry">
1747
<xsl:sort select="@id"/>
1748
</xsl:apply-templates>
1749
</table>
1750
<p/>
1751
<a name="FunctionTable"></a>
1752
<table border="1" cellpadding="3" cellspacing="0" width="100%">
1753
<tr bgcolor="#CCCCFF">
1754
<td colspan="3" align="center" class="tableHeader">
1755
Function Table Layout
1756
</td>
1757
</tr>
1758
<tr bgcolor="#EEEEFF">
1759
<td>
1760
Position
1761
</td>
1762
<td>
1763
Function
1764
</td>
1765
<td>
1766
Declaration
1767
</td>
1768
</tr>
1769
<xsl:call-template name="funcStruct">
1770
<xsl:with-param name="funcs" select="//functionsection/category/function[count(@hide)=0]"/>
1771
<xsl:with-param name="index" select="1"/>
1772
</xsl:call-template>
1773
</table>
1774
<p/>
1775
</xsl:template>
1776
1777
1778
<xsl:template name="funcStruct">
1779
<xsl:param name="funcs"/>
1780
<xsl:param name="index"/>
1781
<xsl:variable name="thisFunction" select="$funcs[@num=$index]"/>
1782
<tr>
1783
<td align="right">
1784
<xsl:number value="$index" format=" 1"/>
1785
</td>
1786
<xsl:choose>
1787
<xsl:when test="count($thisFunction)=1">
1788
<td>
1789
<a>
1790
<xsl:attribute name="href">
1791
<xsl:text>#</xsl:text>
1792
<xsl:value-of select="$thisFunction/@id"/>
1793
</xsl:attribute>
1794
<xsl:value-of select="$thisFunction/synopsis"/>
1795
</a>
1796
</td>
1797
<td>
1798
<pre>
1799
<xsl:text>jvmtiError (JNICALL *</xsl:text>
1800
<xsl:value-of select="$thisFunction/@id"/>
1801
<xsl:text>) (jvmtiEnv* env</xsl:text>
1802
<xsl:apply-templates select="$thisFunction/parameters" mode="signature">
1803
<xsl:with-param name="comma">
1804
<xsl:text>, &#xA; </xsl:text>
1805
</xsl:with-param>
1806
</xsl:apply-templates>
1807
<xsl:text>);</xsl:text>
1808
</pre>
1809
</td>
1810
</xsl:when>
1811
<xsl:otherwise>
1812
<xsl:if test="count($thisFunction) != 0">
1813
<xsl:message terminate="yes">
1814
More than one function has index number <xsl:number value="$index" format=" 1"/>.
1815
</xsl:message>
1816
</xsl:if>
1817
<td>
1818
<i>reserved</i>
1819
</td>
1820
<td>
1821
<pre>
1822
<xsl:text>void *reserved</xsl:text>
1823
<xsl:value-of select="$index"/>
1824
<xsl:text>;</xsl:text>
1825
</pre>
1826
</td>
1827
</xsl:otherwise>
1828
</xsl:choose>
1829
</tr>
1830
<xsl:if test="count($funcs[@num &gt; $index]) &gt; 0">
1831
<xsl:call-template name="funcStruct">
1832
<xsl:with-param name="funcs" select="$funcs"/>
1833
<xsl:with-param name="index" select="1+$index"/>
1834
</xsl:call-template>
1835
</xsl:if>
1836
</xsl:template>
1837
1838
1839
1840
<xsl:template match="errorcategory">
1841
<h3>
1842
<xsl:attribute name="id">
1843
<xsl:value-of select="@id"/>
1844
</xsl:attribute>
1845
<xsl:value-of select="@label"/>
1846
</h3>
1847
<xsl:apply-templates select="intro"/>
1848
<p/>
1849
<dl>
1850
<xsl:apply-templates select="errorid"/>
1851
</dl>
1852
<p/>
1853
</xsl:template>
1854
1855
<xsl:template match="errorid">
1856
<dt>
1857
<code>
1858
<xsl:attribute name="id">
1859
<xsl:value-of select="@id"/>
1860
</xsl:attribute>
1861
<xsl:value-of select="@id"/> (<xsl:value-of select="@num"/>)
1862
</code>
1863
</dt>
1864
<dd>
1865
<xsl:apply-templates/>
1866
<p/>
1867
</dd>
1868
</xsl:template>
1869
1870
<xsl:template match="changehistory">
1871
<p/><hr noshade="noshade" size="3"/>
1872
<h2>Change History</h2>
1873
Last update: <xsl:value-of select="@update"/><br/>
1874
Version: <xsl:call-template name="showversion"/>
1875
<p/>
1876
<xsl:apply-templates select="intro"/>
1877
<p/>
1878
<table border="1" cellpadding="3" cellspacing="0" width="100%">
1879
<tr bgcolor="#EEEEFF">
1880
<td>
1881
<b>Version</b><br/>
1882
<b>Date</b>
1883
</td>
1884
<td>
1885
<b>Changes</b>
1886
</td>
1887
</tr>
1888
<xsl:apply-templates select="change"/>
1889
</table>
1890
</xsl:template>
1891
1892
<xsl:template match="change">
1893
<tr>
1894
<td>
1895
<xsl:if test="count(@version)">
1896
<b>
1897
<xsl:value-of select="@version"/>
1898
</b>
1899
<br/>
1900
</xsl:if>
1901
<xsl:value-of select="@date"/>
1902
</td>
1903
<td>
1904
<xsl:apply-templates/>
1905
</td>
1906
</tr>
1907
</xsl:template>
1908
1909
<xsl:template match="intro">
1910
<xsl:if test="@id!=''">
1911
<xsl:choose>
1912
<xsl:when test="@label!=''">
1913
<h4>
1914
<xsl:attribute name="id">
1915
<xsl:value-of select="@id"/>
1916
</xsl:attribute>
1917
<xsl:value-of select="@label"/>
1918
</h4>
1919
</xsl:when>
1920
<xsl:otherwise>
1921
<a>
1922
<xsl:attribute name="name">
1923
<xsl:value-of select="@id"/>
1924
</xsl:attribute>
1925
</a>
1926
</xsl:otherwise>
1927
</xsl:choose>
1928
</xsl:if>
1929
<xsl:apply-templates/>
1930
</xsl:template>
1931
1932
<xsl:template match="issue">
1933
<xsl:if test="$development = 'Show'">
1934
<p style="color: red">
1935
To be resolved:
1936
<xsl:apply-templates/>
1937
</p>
1938
</xsl:if>
1939
</xsl:template>
1940
1941
<xsl:template match="rationale">
1942
<p style="color: purple">
1943
Rationale:
1944
<xsl:apply-templates/>
1945
</p>
1946
</xsl:template>
1947
1948
<xsl:template match="todo">
1949
<xsl:if test="$development = 'Show'">
1950
<p style="color: green">
1951
To do:
1952
<xsl:apply-templates/>
1953
</p>
1954
</xsl:if>
1955
</xsl:template>
1956
1957
<xsl:template match="elide">
1958
</xsl:template>
1959
1960
<xsl:template match="b">
1961
<b>
1962
<xsl:apply-templates/>
1963
</b>
1964
</xsl:template>
1965
1966
<xsl:template match="example">
1967
<blockquote>
1968
<pre>
1969
<xsl:apply-templates/>
1970
</pre>
1971
</blockquote>
1972
</xsl:template>
1973
1974
1975
<xsl:template match="table">
1976
<table border="1" cellpadding="3" cellspacing="0" width="100%">
1977
<xsl:apply-templates/>
1978
</table>
1979
</xsl:template>
1980
1981
<xsl:template match="tr">
1982
<tr>
1983
<xsl:apply-templates/>
1984
</tr>
1985
</xsl:template>
1986
1987
<xsl:template match="td">
1988
<td>
1989
<xsl:attribute name="align">
1990
<xsl:value-of select="@align"/>
1991
</xsl:attribute>
1992
<xsl:apply-templates/>
1993
</td>
1994
</xsl:template>
1995
1996
<xsl:template match="th">
1997
<th bgcolor="#EEEEFF">
1998
<xsl:attribute name="align">
1999
<xsl:value-of select="@align"/>
2000
</xsl:attribute>
2001
<xsl:apply-templates/>
2002
</th>
2003
</xsl:template>
2004
2005
<xsl:template match="dl">
2006
<dl>
2007
<xsl:apply-templates/>
2008
</dl>
2009
</xsl:template>
2010
2011
<xsl:template match="dt">
2012
<dt>
2013
<xsl:apply-templates/>
2014
</dt>
2015
</xsl:template>
2016
2017
<xsl:template match="dd">
2018
<dd>
2019
<xsl:apply-templates/>
2020
</dd>
2021
</xsl:template>
2022
2023
<xsl:template match="p">
2024
<p>
2025
<xsl:apply-templates/>
2026
</p>
2027
</xsl:template>
2028
2029
<xsl:template match="br">
2030
<br>
2031
<xsl:apply-templates/>
2032
</br>
2033
</xsl:template>
2034
2035
<xsl:template match="ul">
2036
<ul>
2037
<xsl:attribute name="type"><xsl:value-of select="@type"/></xsl:attribute>
2038
<xsl:apply-templates/>
2039
</ul>
2040
</xsl:template>
2041
2042
<xsl:template match="li">
2043
<li>
2044
<xsl:apply-templates/>
2045
</li>
2046
</xsl:template>
2047
2048
<xsl:template match="code">
2049
<code>
2050
<xsl:apply-templates/>
2051
</code>
2052
</xsl:template>
2053
2054
<xsl:template match="tm">
2055
<xsl:apply-templates/>
2056
<sup style="font-size: xx-small">
2057
<xsl:text>TM</xsl:text>
2058
</sup>
2059
<xsl:text>&#032;</xsl:text>
2060
</xsl:template>
2061
2062
<xsl:template match="b">
2063
<b>
2064
<xsl:apply-templates/>
2065
</b>
2066
</xsl:template>
2067
2068
<xsl:template match="i">
2069
<i>
2070
<xsl:apply-templates/>
2071
</i>
2072
</xsl:template>
2073
2074
<xsl:template match="space">
2075
<xsl:text>&#032;</xsl:text>
2076
</xsl:template>
2077
2078
<xsl:template match="jvmti">
2079
<xsl:text>JVM</xsl:text><small style="font-size: xx-small">&#160;</small><xsl:text>TI</xsl:text>
2080
</xsl:template>
2081
2082
2083
</xsl:stylesheet>
2084
2085