Path: blob/aarch64-shenandoah-jdk8u272-b10/hotspot/src/share/vm/prims/jvmti.xsl
32285 views
<?xml version="1.0"?>1<!--2Copyright (c) 2002, 2006, Oracle and/or its affiliates. All rights reserved.3DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.45This code is free software; you can redistribute it and/or modify it6under the terms of the GNU General Public License version 2 only, as7published by the Free Software Foundation.89This code is distributed in the hope that it will be useful, but WITHOUT10ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or11FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License12version 2 for more details (a copy is included in the LICENSE file that13accompanied this code).1415You should have received a copy of the GNU General Public License version162 along with this work; if not, write to the Free Software Foundation,17Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.1819Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA20or visit www.oracle.com if you need additional information or have any21questions.2223-->2425<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">2627<xsl:import href="jvmtiLib.xsl"/>2829<xsl:output method="html" indent="yes"30doctype-public="-//W3C//DTD HTML 4.01 Transitional//EN"31doctype-system="http://www.w3.org/TR/html4/loose.dtd"/>3233<xsl:param name="development"></xsl:param>3435<xsl:template match="specification">36<html>37<head>38<title>39<xsl:value-of select="@label"/>40<xsl:text> </xsl:text>41<xsl:call-template name="showversion"/>42</title>43<style type="text/css">44td.tableHeader {font-size: larger}45</style>46</head>47<body>48<table border="0" width="100%">49<tr>50<td align="center">51<xsl:apply-templates select="title"/>52</td>53</tr>54</table>55<ul>56<li>57<a href="#SpecificationIntro"><b>Introduction</b></a>58<ul>59<xsl:for-each select="intro">60<li>61<a>62<xsl:attribute name="href">#<xsl:value-of select="@id"/>63</xsl:attribute>64<b><xsl:value-of select="@label"/></b>65</a>66</li>67</xsl:for-each>68</ul>69</li>70<li>71<a href="#FunctionSection"><b>Functions</b></a>72<ul>73<xsl:for-each select="functionsection/intro">74<li>75<a>76<xsl:attribute name="href">#<xsl:value-of select="@id"/>77</xsl:attribute>78<b><xsl:value-of select="@label"/></b>79</a>80</li>81</xsl:for-each>82<li>83<a href="#FunctionIndex"><b>Function Index</b></a>84<ul>85<xsl:for-each select="functionsection/category">86<li>87<a>88<xsl:attribute name="href">#<xsl:value-of select="@id"/>89</xsl:attribute>90<b><xsl:value-of select="@label"/></b>91</a>92</li>93</xsl:for-each>94</ul>95</li>96<li>97<a href="#ErrorSection"><b>Error Codes</b></a>98</li>99</ul>100</li>101<li>102<a href="#EventSection"><b>Events</b></a>103<ul>104<li>105<a href="#EventIndex"><b>Event Index</b></a>106</li>107</ul>108</li>109<li>110<a href="#DataSection"><b>Data Types</b></a>111<ul>112<xsl:for-each select="//basetypes">113<li>114<a>115<xsl:attribute name="href">#<xsl:value-of select="@id"/></xsl:attribute>116<b>117<xsl:value-of select="@label"/>118</b>119</a>120</li>121</xsl:for-each>122<li>123<a href="#StructureTypeDefinitions"><b>Structure Type Definitions</b></a>124</li>125<li>126<a href="#FunctionTypeDefinitions"><b>Function Type Definitions</b></a>127</li>128<li>129<a href="#EnumerationDefinitions"><b>Enumeration Definitions</b></a>130</li>131<li>132<a href="#FunctionTable"><b>Function Table</b></a>133</li>134</ul>135</li>136<li>137<a href="#ConstantIndex"><b>Constant Index</b></a>138</li>139<xsl:if test="$development = 'Show'">140<li>141<a href="#SpecificationIssues"><b>Issues</b></a>142<ul>143<xsl:for-each select="issuessection/intro">144<li>145<a>146<xsl:attribute name="href">#<xsl:value-of select="@id"/>147</xsl:attribute>148<b><xsl:value-of select="@label"/></b>149</a>150</li>151</xsl:for-each>152</ul>153</li>154</xsl:if>155<li>156<a href="#ChangeHistory"><b>Change History</b></a>157</li>158</ul>159<!-- end table of contents, begin body -->160<p/>161<hr noshade="noshade" size="3"/>162<p/>163<p id="SpecificationIntro"/>164<xsl:apply-templates select="intro"/>165<p id="FunctionSection"/>166<xsl:apply-templates select="functionsection"/>167<p id="ErrorSection"/>168<xsl:apply-templates select="errorsection"/>169<p id="DataSection"/>170<xsl:apply-templates select="datasection"/>171<p id="EventSection"/>172<xsl:apply-templates select="eventsection"/>173<p id="ConstantIndex"/>174<p/>175<hr noshade="noshade" size="3"/>176<h2>177Constant Index178</h2>179<blockquote>180<xsl:apply-templates select="//constant" mode="index">181<xsl:sort select="@id"/>182</xsl:apply-templates>183</blockquote>184<xsl:if test="$development = 'Show'">185<p id="SpecificationIssues"/>186<p/>187<hr noshade="noshade" size="3"/>188<h2>189<xsl:value-of select="issuessection/@label"/>190</h2>191<xsl:apply-templates select="issuessection/intro"/>192</xsl:if>193<p id="ChangeHistory"/>194<xsl:apply-templates select="changehistory"/>195</body>196</html>197</xsl:template>198199<xsl:template match="title">200<h1>201<xsl:apply-templates/>202</h1>203<h3>204<xsl:value-of select="@subtitle"/>205<xsl:text> </xsl:text>206<xsl:call-template name="showbasicversion"/>207</h3>208</xsl:template>209210<xsl:template match="functionsection">211<p/>212<hr noshade="noshade" size="3"/>213<h2>214<xsl:value-of select="@label"/>215</h2>216<xsl:apply-templates select="intro"/>217<h3 id="FunctionIndex">Function Index</h3>218<ul>219<xsl:apply-templates select="category" mode="index"/>220</ul>221<xsl:apply-templates select="category" mode="body"/>222</xsl:template>223224<xsl:template match="category" mode="index">225<li>226<a>227<xsl:attribute name="href">#<xsl:value-of select="@id"/></xsl:attribute>228<b>229<xsl:value-of select="@label"/>230</b>231</a>232<ul>233<xsl:apply-templates select="function[count(@hide)=0]" mode="index"/>234</ul>235</li>236</xsl:template>237238<xsl:template match="function|callback" mode="index">239<li>240<a>241<xsl:attribute name="href">#<xsl:value-of select="@id"/></xsl:attribute>242<xsl:apply-templates select="synopsis" mode="index"/>243</a>244</li>245</xsl:template>246247<xsl:template match="synopsis" mode="index">248<xsl:value-of select="."/>249</xsl:template>250251<xsl:template match="category" mode="body">252<p>253<xsl:attribute name="id">254<xsl:value-of select="@id"/>255</xsl:attribute>256</p>257<hr noshade="noshade" size="3"/>258<h2 align="center"><xsl:value-of select="@label"/></h2>259<xsl:value-of select="@label"/> functions:260<ul>261<xsl:apply-templates select="function[count(@hide)=0]" mode="index"/>262</ul>263<xsl:variable name="calltypes" select="callback"/>264<xsl:if test="count($calltypes)!=0">265<xsl:value-of select="@label"/> function types:266<ul>267<xsl:apply-templates select="$calltypes" mode="index"/>268</ul>269</xsl:if>270<xsl:variable name="cattypes"271select="(descendant::typedef|descendant::uniontypedef|descendant::capabilitiestypedef|descendant::constants[@kind='enum'])"/>272<xsl:if test="count($cattypes)!=0">273<xsl:value-of select="@label"/> types:274<ul>275<xsl:for-each select="$cattypes">276<li>277<a>278<xsl:attribute name="href">279<xsl:text>#</xsl:text>280<xsl:value-of select="@id"/>281</xsl:attribute>282<code><xsl:value-of select="@id"/></code>283</a>284<xsl:text> - </xsl:text>285<xsl:value-of select="@label"/>286</li>287</xsl:for-each>288</ul>289</xsl:if>290<xsl:variable name="catconst"291select="(descendant::constants[@kind!='enum'])"/>292<xsl:if test="count($catconst)!=0">293<xsl:value-of select="@label"/> flags and constants:294<ul>295<xsl:for-each select="$catconst">296<li>297<a>298<xsl:attribute name="href">299<xsl:text>#</xsl:text>300<xsl:value-of select="@id"/>301</xsl:attribute>302<xsl:value-of select="@label"/>303</a>304</li>305</xsl:for-each>306</ul>307</xsl:if>308<xsl:apply-templates select="intro|typedef|uniontypedef|capabilitiestypedef"/>309<p/>310<xsl:apply-templates select="function[count(@hide)=0]|callback" mode="body"/>311</xsl:template>312313<xsl:template match="function" mode="body">314<hr noshade="noshade" width="100%" size="1">315<xsl:attribute name="id">316<xsl:value-of select="@id"/>317</xsl:attribute>318319</hr>320<xsl:apply-templates select="synopsis" mode="body"/>321<blockquote>322<xsl:apply-templates select="typedef" mode="code"/>323<xsl:apply-templates select="descendant::constants[@kind='enum']" mode="signature"/>324<pre>325<xsl:text>jvmtiError326</xsl:text>327<xsl:value-of select="@id"/>(jvmtiEnv* env<xsl:apply-templates select="parameters" mode="signature"/>)</pre>328</blockquote>329<xsl:apply-templates select="description"/>330<xsl:apply-templates select="." mode="generalinfo"/>331<xsl:apply-templates select="capabilities|eventcapabilities"/>332<xsl:apply-templates select="typedef" mode="body"/>333<xsl:apply-templates select="parameters" mode="body"/>334<xsl:apply-templates select="." mode="errors"/>335</xsl:template>336337<xsl:template match="function" mode="generalinfo">338<table border="1" cellpadding="3" cellspacing="0" width="100%">339<tr bgcolor="#EEEEFF">340<td >341<a href="#jvmtiPhase">Phase</a>342</td>343<td>344<a href="#heapCallbacks">Callback Safe</a>345</td>346<td>347<a href="#FunctionTable">Position</a>348</td>349<td>350<a href="#ChangeHistory">Since</a>351</td>352</tr>353<tr>354<td >355<xsl:apply-templates select="." mode="phaseinfo"/>356</td>357<td>358<xsl:apply-templates select="." mode="callbacksafeinfo"/>359</td>360<td>361<xsl:value-of select="@num"/>362</td>363<td>364<xsl:value-of select="@since"/>365</td>366</tr>367</table>368</xsl:template>369370<xsl:template match="event" mode="generalinfo">371<table border="1" cellpadding="3" cellspacing="0" width="100%">372<tr bgcolor="#EEEEFF">373<td >374<a href="#jvmtiPhase">Phase</a>375</td>376<td>377<a href="#jvmtiEvent">Event Type</a>378</td>379<td>380<a href="#jvmtiEvent">Number</a>381</td>382<td>383<a href="#enablingevents">Enabling</a>384</td>385<td>386<a href="#ChangeHistory">Since</a>387</td>388</tr>389<tr>390<td >391<xsl:apply-templates select="." mode="phaseinfo"/>392</td>393<td>394<code><xsl:value-of select="@const"/></code>395</td>396<td>397<xsl:value-of select="@num"/>398</td>399<td>400<code><a href="#SetEventNotificationMode">SetEventNotificationMode</a>(JVMTI_ENABLE,401<xsl:value-of select="@const"/>, NULL)</code>402</td>403<td>404<xsl:value-of select="@since"/>405</td>406</tr>407</table>408</xsl:template>409410<xsl:template match="function" mode="phaseinfo">411may412<xsl:choose>413<xsl:when test="count(@phase) = 0 or @phase = 'live'">414only be called during the live415</xsl:when>416<xsl:otherwise>417<xsl:choose>418<xsl:when test="@phase = 'onload'">419only be called during the OnLoad or the live420</xsl:when>421<xsl:otherwise>422<xsl:choose>423<xsl:when test="@phase = 'any'">424be called during any425</xsl:when>426<xsl:otherwise>427<xsl:choose>428<xsl:when test="@phase = 'start'">429only be called during the start or the live430</xsl:when>431<xsl:otherwise>432<xsl:choose>433<xsl:when test="@phase = 'onloadOnly'">434only be called during the OnLoad435</xsl:when>436<xsl:otherwise>437<xsl:message terminate="yes">438bad phase - <xsl:value-of select="@phase"/>439</xsl:message>440</xsl:otherwise>441</xsl:choose>442</xsl:otherwise>443</xsl:choose>444</xsl:otherwise>445</xsl:choose>446</xsl:otherwise>447</xsl:choose>448</xsl:otherwise>449</xsl:choose>450phase451</xsl:template>452453454<xsl:template match="event" mode="phaseinfo">455sent456<xsl:choose>457<xsl:when test="count(@phase) = 0 or @phase = 'live'">458only during the live459</xsl:when>460<xsl:otherwise>461<xsl:choose>462<xsl:when test="@phase = 'any'">463during the primordial, start or live464</xsl:when>465<xsl:otherwise>466<xsl:choose>467<xsl:when test="@phase = 'start'">468during the start or live469</xsl:when>470<xsl:otherwise>471<xsl:message terminate="yes">472bad phase - <xsl:value-of select="@phase"/>473</xsl:message>474</xsl:otherwise>475</xsl:choose>476</xsl:otherwise>477</xsl:choose>478</xsl:otherwise>479</xsl:choose>480phase481</xsl:template>482483484<xsl:template match="function" mode="callbacksafeinfo">485<xsl:choose>486<xsl:when test="contains(@callbacksafe,'safe')">487This function may be called from the callbacks to the488<a href="#Heap">Heap</a> iteration functions, or from the489event handlers for the490<a href="#GarbageCollectionStart"><code>GarbageCollectionStart</code></a>,491<a href="#GarbageCollectionFinish"><code>GarbageCollectionFinish</code></a>,492and <a href="#ObjectFree"><code>ObjectFree</code></a> events.493</xsl:when>494<xsl:otherwise>495No496</xsl:otherwise>497</xsl:choose>498</xsl:template>499500501<xsl:template match="callback" mode="body">502<hr noshade="noshade" width="100%" size="1">503<xsl:attribute name="id">504<xsl:value-of select="@id"/>505</xsl:attribute>506</hr>507<xsl:apply-templates select="synopsis" mode="body"/>508<table cellpadding="0" cellspacing="0" border="0" width="90%" align="center"><tr><td>509<blockquote>510<pre>511<xsl:text>typedef </xsl:text>512<xsl:apply-templates select="child::*[position()=1]" mode="signature"/>513<xsl:text> (JNICALL *</xsl:text>514<xsl:value-of select="@id"/>515<xsl:text>)516(</xsl:text>517<xsl:for-each select="parameters">518<xsl:apply-templates select="param[position()=1]" mode="signature"/>519<xsl:for-each select="param[position()>1]">520<xsl:text>,521</xsl:text>522<xsl:apply-templates select="." mode="signature"/>523</xsl:for-each>524</xsl:for-each>525<xsl:text>);</xsl:text>526</pre>527</blockquote>528<xsl:apply-templates select="description"/>529<xsl:apply-templates select="parameters" mode="body"/>530</td></tr></table>531</xsl:template>532533<xsl:template match="synopsis" mode="body">534<h3><xsl:value-of select="."/></h3>535</xsl:template>536537<xsl:template match="eventsection">538<p/>539<hr noshade="noshade" size="3"/>540<h2>541<xsl:value-of select="@label"/>542</h2>543<xsl:apply-templates select="intro"/>544<blockquote>545<pre>546<xsl:text>547typedef struct {548</xsl:text>549<xsl:call-template name="eventStruct">550<xsl:with-param name="events" select="event"/>551<xsl:with-param name="index" select="0"/>552<xsl:with-param name="started" select="false"/>553<xsl:with-param name="comment" select="'No'"/>554</xsl:call-template>555<xsl:text>} jvmtiEventCallbacks;556</xsl:text>557</pre>558</blockquote>559<p/>560<hr noshade="noshade" width="100%" size="1"/>561<h3 id="EventIndex">Event Index</h3>562<ul>563<xsl:apply-templates select="event" mode="index">564<xsl:sort select="@label"/>565</xsl:apply-templates>566</ul>567<xsl:apply-templates select="event" mode="body"/>568</xsl:template>569570<xsl:template match="event" mode="index">571<li>572<a>573<xsl:attribute name="href">#<xsl:value-of select="@id"/></xsl:attribute>574<b>575<xsl:value-of select="@label"/>576</b>577</a>578</li>579</xsl:template>580581<xsl:template match="event" mode="body">582<p>583<xsl:attribute name="id">584<xsl:value-of select="@id"/>585</xsl:attribute>586</p>587<hr noshade="noshade" size="3"/>588<h2><xsl:value-of select="@label"/></h2>589<p/>590<blockquote>591<xsl:apply-templates select="typedef" mode="code"/>592<pre>593<xsl:text>void JNICALL594</xsl:text>595<xsl:value-of select="@id"/>(jvmtiEnv *jvmti_env<xsl:apply-templates select="parameters" mode="signature"/>)</pre>596</blockquote>597<xsl:apply-templates select="description"/>598<xsl:apply-templates select="." mode="generalinfo"/>599<xsl:apply-templates select="typedef" mode="body"/>600<xsl:apply-templates select="capabilities"/>601<xsl:apply-templates select="parameters" mode="body"/>602</xsl:template>603604<xsl:template match="capabilitiestypedef" mode="code">605<blockquote>606<pre>607<xsl:apply-templates select="." mode="genstruct"/>608</pre>609</blockquote>610</xsl:template>611612<xsl:template match="typedef" mode="code">613<pre>614<xsl:call-template name="gentypedef">615<xsl:with-param name="tdef" select="."/>616</xsl:call-template>617</pre>618</xsl:template>619620<xsl:template match="uniontypedef" mode="code">621<pre>622<xsl:call-template name="genuniontypedef">623<xsl:with-param name="tdef" select="."/>624</xsl:call-template>625</pre>626</xsl:template>627628<xsl:template match="capabilitiestypedef|typedef|uniontypedef" mode="description">629<xsl:apply-templates select="description"/>630</xsl:template>631632<xsl:template match="capabilitiestypedef|typedef|uniontypedef">633<h4>634<xsl:attribute name="id">635<xsl:value-of select="@id"/>636</xsl:attribute>637<xsl:value-of select="@label"/>638</h4>639<xsl:apply-templates select="." mode="description"/>640<blockquote>641<xsl:apply-templates select="." mode="code"/>642<xsl:apply-templates select="." mode="justbody"/>643</blockquote>644</xsl:template>645646<xsl:template match="constants" mode="signature">647<pre>648<xsl:apply-templates select="." mode="enum"/>649</pre>650</xsl:template>651652<xsl:template match="typedef|uniontypedef" mode="body">653<p>654<xsl:attribute name="id">655<xsl:value-of select="@id"/>656</xsl:attribute>657</p>658<xsl:apply-templates select="." mode="justbody"/>659</xsl:template>660661<xsl:template match="typedef|uniontypedef" mode="justbody">662<table border="1" cellpadding="3" cellspacing="0" width="100%">663<tr bgcolor="#CCCCFF">664<td colspan="3" align="center" class="tableHeader">665<code><xsl:value-of select="@id"/></code> - <xsl:value-of select="@label"/>666</td>667</tr>668<tr bgcolor="#EEEEFF">669<td>670Field671</td>672<td>673Type674</td>675<td>676Description677</td>678</tr>679<xsl:apply-templates select="field" mode="body"/>680</table>681</xsl:template>682683<xsl:template match="capabilitiestypedef" mode="body">684<p>685<xsl:attribute name="id">686<xsl:value-of select="@id"/>687</xsl:attribute>688</p>689<xsl:apply-templates select="." mode="justbody"/>690</xsl:template>691692<xsl:template match="capabilitiestypedef" mode="justbody">693<table border="1" cellpadding="3" cellspacing="0" width="100%">694<tr bgcolor="#CCCCFF">695<td colspan="3" align="center" class="tableHeader">696<code><xsl:value-of select="@id"/></code> - <xsl:value-of select="@label"/>697</td>698</tr>699<tr bgcolor="#EEEEFF">700<td colspan="3">701All types are <code>unsigned int : 1</code>702</td>703</tr>704<tr bgcolor="#EEEEFF">705<td>706Field707</td>708<td>709Description710</td>711<td>712<a href="#ChangeHistory">Since</a>713</td>714</tr>715<xsl:apply-templates select="capabilityfield" mode="body"/>716</table>717</xsl:template>718719<xsl:template match="typedef|uniontypedef|capabilitiestypedef|constants" mode="tableentry">720<tr>721<td>722<a>723<xsl:attribute name="href">724<xsl:text>#</xsl:text>725<xsl:value-of select="@id"/>726</xsl:attribute>727<code><xsl:value-of select="@id"/></code>728</a>729</td>730<td>731<xsl:value-of select="@label"/>732</td>733</tr>734</xsl:template>735736<xsl:template match="field" mode="body">737<tr>738<td>739<code>740<xsl:attribute name="id">741<xsl:value-of select="../@id"/>.<xsl:value-of select="@id"/>742</xsl:attribute>743<xsl:value-of select="@id"/>744</code>745</td>746<td>747<code>748<xsl:apply-templates select="child::*[position()=1]" mode="link"/>749</code>750</td>751<td>752<xsl:apply-templates select="description" mode="brief"/>753</td>754</tr>755</xsl:template>756757<xsl:template match="capabilityfield" mode="body">758<tr>759<td>760<code>761<xsl:choose>762<xsl:when test="@disp1!=''">763<xsl:value-of select="@disp1"/>764<br></br>765<xsl:value-of select="@disp2"/>766</xsl:when>767<xsl:otherwise>768<xsl:value-of select="@id"/>769</xsl:otherwise>770</xsl:choose>771</code>772</td>773<td>774<a>775<xsl:attribute name="name">776<xsl:value-of select="../@id"/>.<xsl:value-of select="@id"/>777</xsl:attribute>778</a>779<xsl:apply-templates select="description" mode="brief"/>780</td>781<td>782<xsl:value-of select="@since"/>783</td>784</tr>785</xsl:template>786787<xsl:template match="callback" mode="tableentry">788<tr>789<td>790<a>791<xsl:attribute name="href">792<xsl:text>#</xsl:text>793<xsl:value-of select="@id"/>794</xsl:attribute>795<code>796<xsl:value-of select="@id"/>797</code>798</a>799</td>800<td>801<xsl:apply-templates select="synopsis" mode="index"/>802</td>803</tr>804</xsl:template>805806<xsl:template match="constants">807<blockquote>808<a>809<xsl:attribute name="name">810<xsl:value-of select="@id"/>811</xsl:attribute>812</a>813<table border="1" cellpadding="3" cellspacing="0">814<tr bgcolor="#CCCCFF">815<td colspan="3" align="center" class="tableHeader">816<xsl:value-of select="@label"/>817<xsl:if test="@kind='enum'">818<xsl:text> (</xsl:text>819<code>820<xsl:value-of select="@id"/>821</code>822<xsl:text>)</xsl:text>823</xsl:if>824</td>825</tr>826<tr bgcolor="#EEEEFF">827<td>828Constant829</td>830<td>831Value832</td>833<td>834Description835</td>836</tr>837<xsl:apply-templates select="constant" mode="body"/>838</table>839</blockquote>840</xsl:template>841842<xsl:template match="constant" mode="index">843<a>844<xsl:attribute name="href">#<xsl:value-of select="@id"/>845</xsl:attribute>846<code>847<xsl:value-of select="@id"/>848</code>849</a>850<br/>851</xsl:template>852853<xsl:template match="constant" mode="body">854<tr>855<td>856<code>857<xsl:attribute name="id">858<xsl:value-of select="@id"/>859</xsl:attribute>860<xsl:value-of select="@id"/>861</code>862</td>863<td align="right">864<xsl:value-of select="@num"/>865</td>866<td>867<xsl:apply-templates/>868</td>869</tr>870</xsl:template>871872<xsl:template match="basetypes">873<p>874<xsl:attribute name="id">875<xsl:value-of select="@id"/>876</xsl:attribute>877</p>878<table border="1" cellpadding="3" cellspacing="0" width="100%">879<tr bgcolor="#CCCCFF">880<td colspan="2" align="center" class="tableHeader">881<xsl:value-of select="@label"/>882</td>883</tr>884<tr bgcolor="#EEEEFF">885<td>886Type887</td>888<td>889Description890</td>891</tr>892<xsl:apply-templates select="basetype" mode="body"/>893</table>894</xsl:template>895896<xsl:template match="basetype" mode="body">897<xsl:choose>898<xsl:when test="count(definition)=0">899<tr>900<td>901<code>902<xsl:value-of select="@id"/>903</code>904</td>905<td>906<a>907<xsl:attribute name="name">908<xsl:value-of select="@id"/>909</xsl:attribute>910</a>911<xsl:apply-templates select="description" mode="brief"/>912</td>913</tr>914</xsl:when>915<xsl:otherwise>916<tr>917<td rowspan="2">918<code>919<xsl:value-of select="@id"/>920</code>921</td>922<td>923<a>924<xsl:attribute name="name">925<xsl:value-of select="@id"/>926</xsl:attribute>927</a>928<xsl:apply-templates select="description" mode="brief"/>929</td>930</tr>931<tr>932<td>933<pre>934<xsl:apply-templates select="definition"/>935</pre>936</td>937</tr>938</xsl:otherwise>939</xsl:choose>940</xsl:template>941942<xsl:template match="description">943<xsl:apply-templates/>944<p/>945</xsl:template>946947<xsl:template match="description" mode="brief">948<xsl:apply-templates/>949</xsl:template>950951<xsl:template match="fieldlink">952<a>953<xsl:attribute name="href">#<xsl:value-of select="@struct"/>.<xsl:value-of select="@id"/></xsl:attribute>954<xsl:choose>955<xsl:when test=".=''">956<code>957<xsl:value-of select="@id"/>958</code>959</xsl:when>960<xsl:otherwise>961<xsl:apply-templates/>962</xsl:otherwise>963</xsl:choose>964</a>965</xsl:template>966967<xsl:template match="paramlink">968<a>969<xsl:attribute name="href">#<xsl:value-of select="ancestor::function/@id|ancestor::event/@id"/>.<xsl:value-of select="@id"/>970</xsl:attribute>971<xsl:choose>972<xsl:when test=".=''">973<code>974<xsl:value-of select="@id"/>975</code>976</xsl:when>977<xsl:otherwise>978<xsl:apply-templates/>979</xsl:otherwise>980</xsl:choose>981</a>982</xsl:template>983984<xsl:template match="eventlink|errorlink|typelink|datalink|functionlink">985<a>986<xsl:attribute name="href">#<xsl:value-of select="@id"/></xsl:attribute>987<xsl:choose>988<xsl:when test=".=''">989<code>990<xsl:value-of select="@id"/>991</code>992</xsl:when>993<xsl:otherwise>994<xsl:apply-templates/>995</xsl:otherwise>996</xsl:choose>997</a>998</xsl:template>9991000<xsl:template match="functionphaselist">1001<xsl:variable name="phase" select="@phase"/>1002<ul>1003<xsl:for-each select="/specification/functionsection/category/function[@phase=$phase and count(@hide)=0]">1004<li>1005<a>1006<xsl:attribute name="href">#<xsl:value-of select="@id"/></xsl:attribute>1007<b>1008<xsl:value-of select="@id"/>1009</b>1010</a>1011</li>1012</xsl:for-each>1013</ul>1014</xsl:template>10151016<xsl:template match="eventphaselist">1017<xsl:variable name="phase" select="@phase"/>1018<ul>1019<xsl:for-each select="//eventsection/event[@phase=$phase]">1020<li>1021<a>1022<xsl:attribute name="href">#<xsl:value-of select="@id"/></xsl:attribute>1023<b>1024<xsl:value-of select="@id"/>1025</b>1026</a>1027</li>1028</xsl:for-each>1029</ul>1030</xsl:template>10311032<xsl:template match="externallink">1033<a>1034<xsl:attribute name="href">1035<xsl:value-of select="@id"/>1036</xsl:attribute>1037<xsl:value-of select="."/>1038</a>1039</xsl:template>10401041<xsl:template match="vmspec">1042<cite>1043<xsl:text>The Java™ Virtual Machine Specification</xsl:text>1044<xsl:if test="count(@chapter)=1">1045<xsl:text>, Chapter </xsl:text>1046<xsl:value-of select="@chapter"/>1047</xsl:if>1048</cite>1049</xsl:template>10501051<xsl:template match="internallink">1052<a>1053<xsl:attribute name="href">#<xsl:value-of select="@id"/></xsl:attribute>1054<xsl:apply-templates/>1055</a>1056</xsl:template>10571058<xsl:template match="parameters" mode="body">1059<p/>1060<table border="1" cellpadding="3" cellspacing="0" width="100%">1061<tr bgcolor="#CCCCFF">1062<td colspan="3" align="center" class="tableHeader">1063Parameters1064</td>1065</tr>1066<tr bgcolor="#EEEEFF">1067<td>1068Name1069</td>1070<td>1071Type1072</td>1073<td>1074Description1075</td>1076</tr>1077<xsl:apply-templates select="param[count(jclass/@method)=0]" mode="body"/>1078</table>1079</xsl:template>10801081<xsl:template match="param" mode="body">1082<tr>1083<td>1084<code>1085<xsl:attribute name="id">1086<xsl:value-of select="../../@id"/>.<xsl:value-of select="@id"/>1087</xsl:attribute>1088<xsl:value-of select="@id"/>1089</code>1090</td>1091<td>1092<code>1093<xsl:apply-templates select="child::*[position()=1]" mode="link"/>1094</code>1095</td>1096<td>1097<xsl:apply-templates select="description" mode="brief"/>1098<xsl:if test="count(ancestor::function)=1">1099<xsl:apply-templates select="child::*[position()=1]" mode="funcdescription"/>1100</xsl:if>1101</td>1102</tr>1103</xsl:template>11041105<xsl:template match="capabilities">1106<p/>1107<table border="1" cellpadding="3" cellspacing="0" width="100%">1108<tr bgcolor="#CCCCFF">1109<td colspan="2" align="center" class="tableHeader">1110Capabilities1111</td>1112</tr>1113<xsl:choose>1114<xsl:when test="count(required)=0">1115<tr>1116<td colspan="2">1117<b>Required Functionality</b>1118</td>1119</tr>1120</xsl:when>1121<xsl:otherwise>1122<tr>1123<td colspan="2">1124<b>Optional Functionality:</b> might not be implemented for all1125virtual machines.1126<xsl:choose>1127<xsl:when test="count(required)=1">1128The following capability1129</xsl:when>1130<xsl:otherwise>1131One of the following capabilities1132</xsl:otherwise>1133</xsl:choose>1134(as returned by1135<a href="#GetCapabilities"><code>GetCapabilities</code></a>)1136must be true to use this1137<xsl:choose>1138<xsl:when test="ancestor::function">1139function.1140</xsl:when>1141<xsl:otherwise>1142event.1143</xsl:otherwise>1144</xsl:choose>1145</td>1146</tr>1147<tr bgcolor="#EEEEFF">1148<td >1149Capability1150</td>1151<td>1152Effect1153</td>1154</tr>1155<xsl:apply-templates select="required"/>1156</xsl:otherwise>1157</xsl:choose>1158<xsl:if test="count(capability)!=0">1159<tr bgcolor="#CCCCFF">1160<td colspan="2" align="center">1161Optional Features1162</td>1163</tr>1164<xsl:if test="count(required)=0">1165<tr bgcolor="#EEEEFF">1166<td >1167Capability1168</td>1169<td>1170Effect1171</td>1172</tr>1173</xsl:if>1174<xsl:apply-templates select="capability"/>1175</xsl:if>1176</table>1177</xsl:template>11781179<xsl:template match="eventcapabilities">1180<p/>1181<table border="1" cellpadding="3" cellspacing="0" width="100%">1182<tr bgcolor="#CCCCFF">1183<td colspan="2" align="center" class="tableHeader">1184Capabilities1185</td>1186</tr>1187<tr>1188<td colspan="2">1189<b>Required Functionality</b>1190</td>1191</tr>1192<tr bgcolor="#CCCCFF">1193<td colspan="2" align="center">1194Event Enabling Capabilities1195</td>1196</tr>1197<tr bgcolor="#EEEEFF">1198<td >1199Capability1200</td>1201<td>1202Events1203</td>1204</tr>1205<xsl:for-each select="//capabilityfield">1206<xsl:variable name="capa" select="@id"/>1207<xsl:variable name="events" select="//event[capabilities/required/@id=$capa]"/>1208<xsl:if test="count($events)">1209<tr>1210<td>1211<a>1212<xsl:attribute name="href">#jvmtiCapabilities.<xsl:value-of select="@id"/>1213</xsl:attribute>1214<code>1215<xsl:value-of select="@id"/>1216</code>1217</a>1218</td>1219<td>1220<xsl:for-each select="$events">1221<a>1222<xsl:attribute name="href">#<xsl:value-of select="@id"/>1223</xsl:attribute>1224<code>1225<xsl:value-of select="@id"/>1226</code>1227</a>1228<br/>1229</xsl:for-each>1230</td>1231</tr>1232</xsl:if>1233</xsl:for-each>1234</table>1235</xsl:template>12361237<xsl:template match="capability|required">1238<tr>1239<td>1240<a>1241<xsl:attribute name="href">#jvmtiCapabilities.<xsl:value-of select="@id"/>1242</xsl:attribute>1243<code>1244<xsl:value-of select="@id"/>1245</code>1246</a>1247</td>1248<td>1249<xsl:choose>1250<xsl:when test=".=''">1251<xsl:variable name="desiredID" select="@id"/>1252<xsl:for-each select="//capabilityfield[@id=$desiredID]">1253<xsl:apply-templates select="description" mode="brief"/>1254</xsl:for-each>1255</xsl:when>1256<xsl:otherwise>1257<xsl:apply-templates/>1258</xsl:otherwise>1259</xsl:choose>1260</td>1261</tr>1262</xsl:template>12631264<xsl:template match="function" mode="errors">1265<xsl:variable name="haserrors">1266<xsl:apply-templates select="capabilities/required" mode="haserrors"/>1267<xsl:apply-templates select="errors/error" mode="haserrors"/>1268<xsl:apply-templates select="parameters/param" mode="haserrors"/>1269</xsl:variable>1270<p/>1271<table border="1" cellpadding="3" cellspacing="0" width="100%">1272<tr bgcolor="#CCCCFF">1273<td colspan="2" align="center" class="tableHeader">1274Errors1275</td>1276</tr>1277<xsl:choose>1278<xsl:when test="contains($haserrors,'yes')">1279<tr>1280<td colspan="2">1281This function returns either a1282<a href="#universal-error">universal error</a>1283or one of the following errors1284</td>1285</tr>1286<tr bgcolor="#EEEEFF">1287<td>1288Error1289</td>1290<td>1291Description1292</td>1293</tr>1294<xsl:apply-templates select="capabilities/required" mode="errors"/>1295<xsl:apply-templates select="errors/error"/>1296<xsl:apply-templates select="parameters/param" mode="errors"/>1297</xsl:when>1298<xsl:otherwise>1299<tr>1300<td colspan="2">1301This function returns a1302<a href="#universal-error">universal error</a>1303</td>1304</tr>1305</xsl:otherwise>1306</xsl:choose>1307</table>1308</xsl:template>13091310<xsl:template match="required" mode="haserrors">1311yes1312</xsl:template>13131314<xsl:template match="required" mode="errors">1315<tr>1316<td>1317<a href="#JVMTI_ERROR_MUST_POSSESS_CAPABILITY">1318<code>1319JVMTI_ERROR_MUST_POSSESS_CAPABILITY1320</code>1321</a>1322</td>1323<td>1324The environment does not possess the capability1325<a>1326<xsl:attribute name="href">#jvmtiCapabilities.<xsl:value-of select="@id"/></xsl:attribute>1327<code>1328<xsl:value-of select="@id"/>1329</code>1330</a>.1331Use <a href="#AddCapabilities"><code>AddCapabilities</code></a>.1332</td>1333</tr>1334</xsl:template>13351336<xsl:template match="param" mode="haserrors">1337<xsl:apply-templates mode="haserrors"/>1338</xsl:template>13391340<xsl:template match="param" mode="errors">1341<xsl:apply-templates select="." mode="errors1"/>1342<xsl:apply-templates select="." mode="errors2"/>1343</xsl:template>13441345<xsl:template match="param" mode="errors1">1346<xsl:variable name="haserrors">1347<xsl:apply-templates mode="haserrors"/>1348</xsl:variable>1349<xsl:if test="contains($haserrors,'yes')!=0">1350<xsl:variable name="erroridraw">1351<xsl:apply-templates mode="errorid"/>1352</xsl:variable>1353<xsl:variable name="errorid" select="normalize-space($erroridraw)"/>1354<tr>1355<td>1356<a>1357<xsl:attribute name="href">#<xsl:value-of select="$errorid"/></xsl:attribute>1358<code>1359<xsl:value-of select="$errorid"/>1360</code>1361</a>1362</td>1363<td>1364<xsl:apply-templates mode="errordesc">1365<xsl:with-param name="id" select="@id"/>1366</xsl:apply-templates>1367</td>1368</tr>1369</xsl:if>1370</xsl:template>13711372<xsl:template match="param" mode="errors2">1373<xsl:variable name="haserrors2">1374<xsl:apply-templates mode="haserrors2"/>1375</xsl:variable>1376<xsl:if test="contains($haserrors2,'yes')!=0">1377<xsl:variable name="erroridraw2">1378<xsl:apply-templates mode="errorid2"/>1379</xsl:variable>1380<xsl:variable name="errorid2" select="normalize-space($erroridraw2)"/>1381<tr>1382<td>1383<a>1384<xsl:attribute name="href">#<xsl:value-of select="$errorid2"/></xsl:attribute>1385<code>1386<xsl:value-of select="$errorid2"/>1387</code>1388</a>1389</td>1390<td>1391<xsl:apply-templates mode="errordesc2">1392<xsl:with-param name="id" select="@id"/>1393</xsl:apply-templates>1394</td>1395</tr>1396</xsl:if>1397</xsl:template>13981399<xsl:template match="description" mode="haserrors">1400</xsl:template>14011402<xsl:template match="description" mode="errorid">1403</xsl:template>14041405<xsl:template match="description" mode="errordesc">1406</xsl:template>14071408<xsl:template match="jmethodID|jfieldID|jframeID|jrawMonitorID|jthread|jthreadGroup|jobject|enum|jlocation" mode="haserrors">1409yes1410</xsl:template>14111412<xsl:template match="jclass" mode="haserrors">1413<xsl:if test="count(@method)=0">1414yes1415</xsl:if>1416</xsl:template>14171418<xsl:template match="description|jclass|jfieldID|jrawMonitorID|1419jthreadGroup|jobject|enum|jlocation|jvalue|jchar|jint|jlong|jfloat|jdouble|jboolean|1420char|uchar|size_t|void|varargs|struct|1421ptrtype|outptr|allocbuf|allocallocbuf|inptr|inbuf|outbuf|vmbuf|agentbuf" mode="haserrors2">1422</xsl:template>14231424<xsl:template match="jmethodID" mode="haserrors2">1425<xsl:if test="count(@native)=1 and contains(@native,'error')">1426yes1427</xsl:if>1428</xsl:template>14291430<xsl:template match="jthread" mode="haserrors2">1431<xsl:if test="count(@started)=0 or contains(@started,'yes') or @started=''">1432yes1433</xsl:if>1434</xsl:template>14351436<xsl:template match="jframeID" mode="haserrors2">1437yes1438</xsl:template>14391440<xsl:template match="description" mode="errorid2">1441</xsl:template>14421443<xsl:template match="description" mode="errordesc2">1444</xsl:template>14451446<xsl:template match="jmethodID" mode="errorid">1447<xsl:text>JVMTI_ERROR_INVALID_METHODID</xsl:text>1448</xsl:template>14491450<xsl:template match="jmethodID" mode="errorid2">1451<xsl:text>JVMTI_ERROR_NATIVE_METHOD</xsl:text>1452</xsl:template>14531454<xsl:template match="jmethodID" mode="errordesc">1455<xsl:param name="id"/>1456<xsl:apply-templates select="." mode="paramlink"/>1457<xsl:text> is not a jmethodID.</xsl:text>1458</xsl:template>14591460<xsl:template match="jmethodID" mode="errordesc2">1461<xsl:param name="id"/>1462<xsl:apply-templates select="." mode="paramlink"/>1463<xsl:text> is a native method.</xsl:text>1464</xsl:template>14651466<xsl:template match="jfieldID" mode="errorid">1467<xsl:text>JVMTI_ERROR_INVALID_FIELDID</xsl:text>1468</xsl:template>14691470<xsl:template match="jfieldID" mode="errordesc">1471<xsl:param name="id"/>1472<xsl:apply-templates select="." mode="paramlink"/>1473<xsl:text> is not a jfieldID.</xsl:text>1474</xsl:template>14751476<xsl:template match="jframeID" mode="errorid">1477<xsl:text>JVMTI_ERROR_ILLEGAL_ARGUMENT</xsl:text>1478</xsl:template>14791480<xsl:template match="jframeID" mode="errorid2">1481<xsl:text>JVMTI_ERROR_NO_MORE_FRAMES</xsl:text>1482</xsl:template>14831484<xsl:template match="jframeID" mode="errordesc">1485<xsl:param name="id"/>1486<xsl:apply-templates select="." mode="paramlink"/>1487<xsl:text> is less than zero.</xsl:text>1488</xsl:template>14891490<xsl:template match="jframeID" mode="errordesc2">1491<xsl:param name="id"/>1492<xsl:text>There are no stack frames at the specified </xsl:text>1493<xsl:apply-templates select="." mode="paramlink"/>1494<xsl:text>.</xsl:text>1495</xsl:template>14961497<xsl:template match="jrawMonitorID" mode="errorid">1498<xsl:text>JVMTI_ERROR_INVALID_MONITOR</xsl:text>1499</xsl:template>15001501<xsl:template match="jrawMonitorID" mode="errordesc">1502<xsl:param name="id"/>1503<xsl:apply-templates select="." mode="paramlink"/>1504<xsl:text> is not a jrawMonitorID.</xsl:text>1505</xsl:template>15061507<xsl:template match="jclass" mode="errorid">1508<xsl:text>JVMTI_ERROR_INVALID_CLASS</xsl:text>1509</xsl:template>15101511<xsl:template match="jclass" mode="errordesc">1512<xsl:param name="id"/>1513<xsl:apply-templates select="." mode="paramlink"/>1514<xsl:text> is not a class object or the class has been unloaded.</xsl:text>1515</xsl:template>15161517<xsl:template match="jthread" mode="errorid">1518<xsl:text>JVMTI_ERROR_INVALID_THREAD</xsl:text>1519</xsl:template>15201521<xsl:template match="jthread" mode="errorid2">1522<xsl:text>JVMTI_ERROR_THREAD_NOT_ALIVE</xsl:text>1523</xsl:template>15241525<xsl:template match="jthread" mode="errordesc">1526<xsl:param name="id"/>1527<xsl:apply-templates select="." mode="paramlink"/>1528<xsl:text> is not a thread object.</xsl:text>1529</xsl:template>15301531<xsl:template match="jthread" mode="errordesc2">1532<xsl:param name="id"/>1533<xsl:apply-templates select="." mode="paramlink"/>1534<xsl:text> is not live (has not been started or is now dead).</xsl:text>1535</xsl:template>15361537<xsl:template match="jthreadGroup" mode="errorid">1538<xsl:text>JVMTI_ERROR_INVALID_THREAD_GROUP</xsl:text>1539</xsl:template>15401541<xsl:template match="jthreadGroup" mode="errordesc">1542<xsl:param name="id"/>1543<xsl:apply-templates select="." mode="paramlink"/>1544<xsl:text> is not a thread group object.</xsl:text>1545</xsl:template>15461547<xsl:template match="jobject" mode="errorid">1548<xsl:text>JVMTI_ERROR_INVALID_OBJECT</xsl:text>1549</xsl:template>15501551<xsl:template match="jobject" mode="errordesc">1552<xsl:param name="id"/>1553<xsl:apply-templates select="." mode="paramlink"/>1554<xsl:text> is not an object.</xsl:text>1555</xsl:template>15561557<xsl:template match="enum" mode="errorid">1558<xsl:choose>1559<xsl:when test=".='jvmtiEvent'">1560<xsl:text>JVMTI_ERROR_INVALID_EVENT_TYPE</xsl:text>1561</xsl:when>1562<xsl:otherwise>1563<xsl:text>JVMTI_ERROR_ILLEGAL_ARGUMENT</xsl:text>1564</xsl:otherwise>1565</xsl:choose>1566</xsl:template>15671568<xsl:template match="enum" mode="errordesc">1569<xsl:param name="id"/>1570<xsl:apply-templates select="." mode="paramlink"/>1571<xsl:text> is not a </xsl:text>1572<xsl:value-of select="."/>1573<xsl:text>.</xsl:text>1574</xsl:template>15751576<xsl:template match="jlocation" mode="errorid">1577<xsl:text>JVMTI_ERROR_INVALID_LOCATION</xsl:text>1578</xsl:template>15791580<xsl:template match="jlocation" mode="errordesc">1581<xsl:param name="id"/>1582<xsl:apply-templates select="." mode="paramlink"/>1583<xsl:text> is not a valid location.</xsl:text>1584</xsl:template>15851586<xsl:template match="jint" mode="haserrors">1587<xsl:if test="count(@min)=1">1588yes1589</xsl:if>1590</xsl:template>15911592<xsl:template match="jint" mode="errorid">1593<xsl:text>JVMTI_ERROR_ILLEGAL_ARGUMENT</xsl:text>1594</xsl:template>15951596<xsl:template match="jint" mode="errordesc">1597<xsl:param name="id"/>1598<xsl:apply-templates select="." mode="paramlink"/>1599<xsl:text> is less than </xsl:text>1600<code><xsl:value-of select="@min"/></code>1601<xsl:text>.</xsl:text>1602</xsl:template>16031604<xsl:template match="jvalue|jchar|jlong|jfloat|jdouble|jboolean|char|uchar|size_t|void|varargs|struct" mode="haserrors">1605</xsl:template>16061607<xsl:template match="jvalue|jchar|jlong|jfloat|jdouble|jboolean|char|uchar|size_t|void|varargs|struct" mode="errordesc">1608<xsl:param name="id"/>1609<xsl:message terminate="yes">1610attempt to get error description for <xsl:apply-templates select="." mode="paramlink"/>1611</xsl:message>1612</xsl:template>16131614<xsl:template match="ptrtype|outptr|allocbuf|allocallocbuf|inptr|inbuf|outbuf|vmbuf|agentbuf" mode="haserrors">1615<xsl:if test="count(nullok)=0">1616yes1617</xsl:if>1618</xsl:template>16191620<xsl:template match="ptrtype|outptr|allocbuf|allocallocbuf|inptr|inbuf|outbuf|vmbuf|agentbuf" mode="errorid">1621<xsl:text>JVMTI_ERROR_NULL_POINTER</xsl:text>1622</xsl:template>16231624<xsl:template match="ptrtype|outptr|allocbuf|allocallocbuf|inptr|inbuf|outbuf|vmbuf|agentbuf" mode="errordesc">1625<xsl:param name="id"/>1626<xsl:if test="count(nullok)=1">1627<xsl:message terminate="yes">1628attempt to get error description in null ok case for <xsl:apply-templates select="." mode="paramlink"/>1629</xsl:message>1630</xsl:if>1631<xsl:apply-templates select="." mode="paramlink"/>1632<xsl:text> is </xsl:text>1633<code>NULL</code>1634<xsl:text>.</xsl:text>1635</xsl:template>16361637<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">1638<a>1639<xsl:attribute name="href">#<xsl:value-of select="ancestor::function/@id|ancestor::event/@id"/>.<xsl:value-of select="ancestor::param/@id"/>1640</xsl:attribute>1641<code>1642<xsl:value-of select="ancestor::param/@id"/>1643</code>1644</a>1645</xsl:template>16461647<xsl:template match="error" mode="haserrors">1648yes1649</xsl:template>16501651<xsl:template match="error">1652<tr>1653<td>1654<a>1655<xsl:attribute name="href">#<xsl:value-of select="@id"/></xsl:attribute>1656<code>1657<xsl:value-of select="@id"/>1658</code>1659</a>1660</td>1661<td>1662<xsl:apply-templates/>1663</td>1664</tr>1665</xsl:template>16661667<xsl:template match="errorsection">1668<p/>1669<hr noshade="noshade" size="3"/>1670<h2>1671Errors1672</h2>1673<p/>1674<xsl:apply-templates select="intro"/>1675<p/>1676<xsl:apply-templates select="errorcategory"/>1677<p/>1678</xsl:template>16791680<xsl:template match="datasection">1681<p/>1682<hr noshade="noshade" size="3"/>1683<h2>1684Data Types1685</h2>1686<p/>1687<xsl:apply-templates select="intro"/>1688<xsl:apply-templates select="basetypes"/>1689<p/>1690<a name="StructureTypeDefinitions"></a>1691<table border="1" cellpadding="3" cellspacing="0" width="100%">1692<tr bgcolor="#CCCCFF">1693<td colspan="2" align="center" class="tableHeader">1694Structure Type Definitions1695</td>1696</tr>1697<tr bgcolor="#EEEEFF">1698<td>1699Type1700</td>1701<td>1702Description1703</td>1704</tr>1705<xsl:apply-templates select="//typedef|//uniontypedef|//capabilitiestypedef" mode="tableentry">1706<xsl:sort select="@id"/>1707</xsl:apply-templates>1708</table>1709<p/>1710<a name="FunctionTypeDefinitions"></a>1711<table border="1" cellpadding="3" cellspacing="0" width="100%">1712<tr bgcolor="#CCCCFF">1713<td colspan="2" align="center" class="tableHeader">1714Function Type Definitions1715</td>1716</tr>1717<tr bgcolor="#EEEEFF">1718<td>1719Type1720</td>1721<td>1722Description1723</td>1724</tr>1725<xsl:apply-templates select="//callback" mode="tableentry">1726<xsl:sort select="@id"/>1727</xsl:apply-templates>1728</table>1729<p/>1730<a name="EnumerationDefinitions"></a>1731<table border="1" cellpadding="3" cellspacing="0" width="100%">1732<tr bgcolor="#CCCCFF">1733<td colspan="2" align="center" class="tableHeader">1734Enumeration Definitions1735</td>1736</tr>1737<tr bgcolor="#EEEEFF">1738<td>1739Type1740</td>1741<td>1742Description1743</td>1744</tr>1745<xsl:apply-templates select="//constants[@kind='enum']" mode="tableentry">1746<xsl:sort select="@id"/>1747</xsl:apply-templates>1748</table>1749<p/>1750<a name="FunctionTable"></a>1751<table border="1" cellpadding="3" cellspacing="0" width="100%">1752<tr bgcolor="#CCCCFF">1753<td colspan="3" align="center" class="tableHeader">1754Function Table Layout1755</td>1756</tr>1757<tr bgcolor="#EEEEFF">1758<td>1759Position1760</td>1761<td>1762Function1763</td>1764<td>1765Declaration1766</td>1767</tr>1768<xsl:call-template name="funcStruct">1769<xsl:with-param name="funcs" select="//functionsection/category/function[count(@hide)=0]"/>1770<xsl:with-param name="index" select="1"/>1771</xsl:call-template>1772</table>1773<p/>1774</xsl:template>177517761777<xsl:template name="funcStruct">1778<xsl:param name="funcs"/>1779<xsl:param name="index"/>1780<xsl:variable name="thisFunction" select="$funcs[@num=$index]"/>1781<tr>1782<td align="right">1783<xsl:number value="$index" format=" 1"/>1784</td>1785<xsl:choose>1786<xsl:when test="count($thisFunction)=1">1787<td>1788<a>1789<xsl:attribute name="href">1790<xsl:text>#</xsl:text>1791<xsl:value-of select="$thisFunction/@id"/>1792</xsl:attribute>1793<xsl:value-of select="$thisFunction/synopsis"/>1794</a>1795</td>1796<td>1797<pre>1798<xsl:text>jvmtiError (JNICALL *</xsl:text>1799<xsl:value-of select="$thisFunction/@id"/>1800<xsl:text>) (jvmtiEnv* env</xsl:text>1801<xsl:apply-templates select="$thisFunction/parameters" mode="signature">1802<xsl:with-param name="comma">1803<xsl:text>, 
 </xsl:text>1804</xsl:with-param>1805</xsl:apply-templates>1806<xsl:text>);</xsl:text>1807</pre>1808</td>1809</xsl:when>1810<xsl:otherwise>1811<xsl:if test="count($thisFunction) != 0">1812<xsl:message terminate="yes">1813More than one function has index number <xsl:number value="$index" format=" 1"/>.1814</xsl:message>1815</xsl:if>1816<td>1817<i>reserved</i>1818</td>1819<td>1820<pre>1821<xsl:text>void *reserved</xsl:text>1822<xsl:value-of select="$index"/>1823<xsl:text>;</xsl:text>1824</pre>1825</td>1826</xsl:otherwise>1827</xsl:choose>1828</tr>1829<xsl:if test="count($funcs[@num > $index]) > 0">1830<xsl:call-template name="funcStruct">1831<xsl:with-param name="funcs" select="$funcs"/>1832<xsl:with-param name="index" select="1+$index"/>1833</xsl:call-template>1834</xsl:if>1835</xsl:template>1836183718381839<xsl:template match="errorcategory">1840<h3>1841<xsl:attribute name="id">1842<xsl:value-of select="@id"/>1843</xsl:attribute>1844<xsl:value-of select="@label"/>1845</h3>1846<xsl:apply-templates select="intro"/>1847<p/>1848<dl>1849<xsl:apply-templates select="errorid"/>1850</dl>1851<p/>1852</xsl:template>18531854<xsl:template match="errorid">1855<dt>1856<code>1857<xsl:attribute name="id">1858<xsl:value-of select="@id"/>1859</xsl:attribute>1860<xsl:value-of select="@id"/> (<xsl:value-of select="@num"/>)1861</code>1862</dt>1863<dd>1864<xsl:apply-templates/>1865<p/>1866</dd>1867</xsl:template>18681869<xsl:template match="changehistory">1870<p/><hr noshade="noshade" size="3"/>1871<h2>Change History</h2>1872Last update: <xsl:value-of select="@update"/><br/>1873Version: <xsl:call-template name="showversion"/>1874<p/>1875<xsl:apply-templates select="intro"/>1876<p/>1877<table border="1" cellpadding="3" cellspacing="0" width="100%">1878<tr bgcolor="#EEEEFF">1879<td>1880<b>Version</b><br/>1881<b>Date</b>1882</td>1883<td>1884<b>Changes</b>1885</td>1886</tr>1887<xsl:apply-templates select="change"/>1888</table>1889</xsl:template>18901891<xsl:template match="change">1892<tr>1893<td>1894<xsl:if test="count(@version)">1895<b>1896<xsl:value-of select="@version"/>1897</b>1898<br/>1899</xsl:if>1900<xsl:value-of select="@date"/>1901</td>1902<td>1903<xsl:apply-templates/>1904</td>1905</tr>1906</xsl:template>19071908<xsl:template match="intro">1909<xsl:if test="@id!=''">1910<xsl:choose>1911<xsl:when test="@label!=''">1912<h4>1913<xsl:attribute name="id">1914<xsl:value-of select="@id"/>1915</xsl:attribute>1916<xsl:value-of select="@label"/>1917</h4>1918</xsl:when>1919<xsl:otherwise>1920<a>1921<xsl:attribute name="name">1922<xsl:value-of select="@id"/>1923</xsl:attribute>1924</a>1925</xsl:otherwise>1926</xsl:choose>1927</xsl:if>1928<xsl:apply-templates/>1929</xsl:template>19301931<xsl:template match="issue">1932<xsl:if test="$development = 'Show'">1933<p style="color: red">1934To be resolved:1935<xsl:apply-templates/>1936</p>1937</xsl:if>1938</xsl:template>19391940<xsl:template match="rationale">1941<p style="color: purple">1942Rationale:1943<xsl:apply-templates/>1944</p>1945</xsl:template>19461947<xsl:template match="todo">1948<xsl:if test="$development = 'Show'">1949<p style="color: green">1950To do:1951<xsl:apply-templates/>1952</p>1953</xsl:if>1954</xsl:template>19551956<xsl:template match="elide">1957</xsl:template>19581959<xsl:template match="b">1960<b>1961<xsl:apply-templates/>1962</b>1963</xsl:template>19641965<xsl:template match="example">1966<blockquote>1967<pre>1968<xsl:apply-templates/>1969</pre>1970</blockquote>1971</xsl:template>197219731974<xsl:template match="table">1975<table border="1" cellpadding="3" cellspacing="0" width="100%">1976<xsl:apply-templates/>1977</table>1978</xsl:template>19791980<xsl:template match="tr">1981<tr>1982<xsl:apply-templates/>1983</tr>1984</xsl:template>19851986<xsl:template match="td">1987<td>1988<xsl:attribute name="align">1989<xsl:value-of select="@align"/>1990</xsl:attribute>1991<xsl:apply-templates/>1992</td>1993</xsl:template>19941995<xsl:template match="th">1996<th bgcolor="#EEEEFF">1997<xsl:attribute name="align">1998<xsl:value-of select="@align"/>1999</xsl:attribute>2000<xsl:apply-templates/>2001</th>2002</xsl:template>20032004<xsl:template match="dl">2005<dl>2006<xsl:apply-templates/>2007</dl>2008</xsl:template>20092010<xsl:template match="dt">2011<dt>2012<xsl:apply-templates/>2013</dt>2014</xsl:template>20152016<xsl:template match="dd">2017<dd>2018<xsl:apply-templates/>2019</dd>2020</xsl:template>20212022<xsl:template match="p">2023<p>2024<xsl:apply-templates/>2025</p>2026</xsl:template>20272028<xsl:template match="br">2029<br>2030<xsl:apply-templates/>2031</br>2032</xsl:template>20332034<xsl:template match="ul">2035<ul>2036<xsl:attribute name="type"><xsl:value-of select="@type"/></xsl:attribute>2037<xsl:apply-templates/>2038</ul>2039</xsl:template>20402041<xsl:template match="li">2042<li>2043<xsl:apply-templates/>2044</li>2045</xsl:template>20462047<xsl:template match="code">2048<code>2049<xsl:apply-templates/>2050</code>2051</xsl:template>20522053<xsl:template match="tm">2054<xsl:apply-templates/>2055<sup style="font-size: xx-small">2056<xsl:text>TM</xsl:text>2057</sup>2058<xsl:text> </xsl:text>2059</xsl:template>20602061<xsl:template match="b">2062<b>2063<xsl:apply-templates/>2064</b>2065</xsl:template>20662067<xsl:template match="i">2068<i>2069<xsl:apply-templates/>2070</i>2071</xsl:template>20722073<xsl:template match="space">2074<xsl:text> </xsl:text>2075</xsl:template>20762077<xsl:template match="jvmti">2078<xsl:text>JVM</xsl:text><small style="font-size: xx-small"> </small><xsl:text>TI</xsl:text>2079</xsl:template>208020812082</xsl:stylesheet>208320842085