1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 1.2 +++ b/src/share/vm/prims/jvmti.xsl Sat Dec 01 00:00:00 2007 +0000 1.3 @@ -0,0 +1,2103 @@ 1.4 +<?xml version="1.0"?> 1.5 +<!-- 1.6 + Copyright 2002-2006 Sun Microsystems, Inc. All Rights Reserved. 1.7 + DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 1.8 + 1.9 + This code is free software; you can redistribute it and/or modify it 1.10 + under the terms of the GNU General Public License version 2 only, as 1.11 + published by the Free Software Foundation. 1.12 + 1.13 + This code is distributed in the hope that it will be useful, but WITHOUT 1.14 + ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 1.15 + FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 1.16 + version 2 for more details (a copy is included in the LICENSE file that 1.17 + accompanied this code). 1.18 + 1.19 + You should have received a copy of the GNU General Public License version 1.20 + 2 along with this work; if not, write to the Free Software Foundation, 1.21 + Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 1.22 + 1.23 + Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, 1.24 + CA 95054 USA or visit www.sun.com if you need additional information or 1.25 + have any questions. 1.26 + 1.27 +--> 1.28 + 1.29 +<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"> 1.30 + 1.31 +<xsl:import href="jvmtiLib.xsl"/> 1.32 + 1.33 +<xsl:output method="html" indent="yes" 1.34 + doctype-public="-//W3C//DTD HTML 4.01 Transitional//EN" 1.35 + doctype-system="http://www.w3.org/TR/html4/loose.dtd"/> 1.36 + 1.37 +<xsl:param name="development"></xsl:param> 1.38 + 1.39 +<xsl:template match="specification"> 1.40 + <html> 1.41 + <head> 1.42 + <title> 1.43 + <xsl:value-of select="@label"/> 1.44 + <xsl:text> </xsl:text> 1.45 + <xsl:call-template name="showversion"/> 1.46 + </title> 1.47 + <style type="text/css"> 1.48 + td.tableHeader {font-size: larger} 1.49 + </style> 1.50 + </head> 1.51 + <body> 1.52 + <table border="0" width="100%"> 1.53 + <tr> 1.54 + <td align="center"> 1.55 + <xsl:apply-templates select="title"/> 1.56 + </td> 1.57 + </tr> 1.58 + </table> 1.59 + <ul> 1.60 + <li> 1.61 + <a href="#SpecificationIntro"><b>Introduction</b></a> 1.62 + <ul> 1.63 + <xsl:for-each select="intro"> 1.64 + <li> 1.65 + <a> 1.66 + <xsl:attribute name="href">#<xsl:value-of select="@id"/> 1.67 + </xsl:attribute> 1.68 + <b><xsl:value-of select="@label"/></b> 1.69 + </a> 1.70 + </li> 1.71 + </xsl:for-each> 1.72 + </ul> 1.73 + </li> 1.74 + <li> 1.75 + <a href="#FunctionSection"><b>Functions</b></a> 1.76 + <ul> 1.77 + <xsl:for-each select="functionsection/intro"> 1.78 + <li> 1.79 + <a> 1.80 + <xsl:attribute name="href">#<xsl:value-of select="@id"/> 1.81 + </xsl:attribute> 1.82 + <b><xsl:value-of select="@label"/></b> 1.83 + </a> 1.84 + </li> 1.85 + </xsl:for-each> 1.86 + <li> 1.87 + <a href="#FunctionIndex"><b>Function Index</b></a> 1.88 + <ul> 1.89 + <xsl:for-each select="functionsection/category"> 1.90 + <li> 1.91 + <a> 1.92 + <xsl:attribute name="href">#<xsl:value-of select="@id"/> 1.93 + </xsl:attribute> 1.94 + <b><xsl:value-of select="@label"/></b> 1.95 + </a> 1.96 + </li> 1.97 + </xsl:for-each> 1.98 + </ul> 1.99 + </li> 1.100 + <li> 1.101 + <a href="#ErrorSection"><b>Error Codes</b></a> 1.102 + </li> 1.103 + </ul> 1.104 + </li> 1.105 + <li> 1.106 + <a href="#EventSection"><b>Events</b></a> 1.107 + <ul> 1.108 + <li> 1.109 + <a href="#EventIndex"><b>Event Index</b></a> 1.110 + </li> 1.111 + </ul> 1.112 + </li> 1.113 + <li> 1.114 + <a href="#DataSection"><b>Data Types</b></a> 1.115 + <ul> 1.116 + <xsl:for-each select="//basetypes"> 1.117 + <li> 1.118 + <a> 1.119 + <xsl:attribute name="href">#<xsl:value-of select="@id"/></xsl:attribute> 1.120 + <b> 1.121 + <xsl:value-of select="@label"/> 1.122 + </b> 1.123 + </a> 1.124 + </li> 1.125 + </xsl:for-each> 1.126 + <li> 1.127 + <a href="#StructureTypeDefinitions"><b>Structure Type Definitions</b></a> 1.128 + </li> 1.129 + <li> 1.130 + <a href="#FunctionTypeDefinitions"><b>Function Type Definitions</b></a> 1.131 + </li> 1.132 + <li> 1.133 + <a href="#EnumerationDefinitions"><b>Enumeration Definitions</b></a> 1.134 + </li> 1.135 + <li> 1.136 + <a href="#FunctionTable"><b>Function Table</b></a> 1.137 + </li> 1.138 + </ul> 1.139 + </li> 1.140 + <li> 1.141 + <a href="#ConstantIndex"><b>Constant Index</b></a> 1.142 + </li> 1.143 + <xsl:if test="$development = 'Show'"> 1.144 + <li> 1.145 + <a href="#SpecificationIssues"><b>Issues</b></a> 1.146 + <ul> 1.147 + <xsl:for-each select="issuessection/intro"> 1.148 + <li> 1.149 + <a> 1.150 + <xsl:attribute name="href">#<xsl:value-of select="@id"/> 1.151 + </xsl:attribute> 1.152 + <b><xsl:value-of select="@label"/></b> 1.153 + </a> 1.154 + </li> 1.155 + </xsl:for-each> 1.156 + </ul> 1.157 + </li> 1.158 + </xsl:if> 1.159 + <li> 1.160 + <a href="#ChangeHistory"><b>Change History</b></a> 1.161 + </li> 1.162 + </ul> 1.163 + <!-- end table of contents, begin body --> 1.164 + <p/> 1.165 + <hr noshade="noshade" size="3"/> 1.166 + <p/> 1.167 + <p id="SpecificationIntro"/> 1.168 + <xsl:apply-templates select="intro"/> 1.169 + <p id="FunctionSection"/> 1.170 + <xsl:apply-templates select="functionsection"/> 1.171 + <p id="ErrorSection"/> 1.172 + <xsl:apply-templates select="errorsection"/> 1.173 + <p id="DataSection"/> 1.174 + <xsl:apply-templates select="datasection"/> 1.175 + <p id="EventSection"/> 1.176 + <xsl:apply-templates select="eventsection"/> 1.177 + <p id="ConstantIndex"/> 1.178 + <p/> 1.179 + <hr noshade="noshade" size="3"/> 1.180 + <h2> 1.181 + Constant Index 1.182 + </h2> 1.183 + <blockquote> 1.184 + <xsl:apply-templates select="//constant" mode="index"> 1.185 + <xsl:sort select="@id"/> 1.186 + </xsl:apply-templates> 1.187 + </blockquote> 1.188 + <xsl:if test="$development = 'Show'"> 1.189 + <p id="SpecificationIssues"/> 1.190 + <p/> 1.191 + <hr noshade="noshade" size="3"/> 1.192 + <h2> 1.193 + <xsl:value-of select="issuessection/@label"/> 1.194 + </h2> 1.195 + <xsl:apply-templates select="issuessection/intro"/> 1.196 + </xsl:if> 1.197 + <p id="ChangeHistory"/> 1.198 + <xsl:apply-templates select="changehistory"/> 1.199 + </body> 1.200 +</html> 1.201 +</xsl:template> 1.202 + 1.203 +<xsl:template match="title"> 1.204 + <h1> 1.205 + <xsl:apply-templates/> 1.206 + </h1> 1.207 + <h3> 1.208 + <xsl:value-of select="@subtitle"/> 1.209 + <xsl:text> </xsl:text> 1.210 + <xsl:call-template name="showbasicversion"/> 1.211 + </h3> 1.212 +</xsl:template> 1.213 + 1.214 +<xsl:template match="functionsection"> 1.215 + <p/> 1.216 + <hr noshade="noshade" size="3"/> 1.217 + <h2> 1.218 + <xsl:value-of select="@label"/> 1.219 + </h2> 1.220 + <xsl:apply-templates select="intro"/> 1.221 + <h3 id="FunctionIndex">Function Index</h3> 1.222 + <ul> 1.223 + <xsl:apply-templates select="category" mode="index"/> 1.224 + </ul> 1.225 + <xsl:apply-templates select="category" mode="body"/> 1.226 +</xsl:template> 1.227 + 1.228 +<xsl:template match="category" mode="index"> 1.229 + <li> 1.230 + <a> 1.231 + <xsl:attribute name="href">#<xsl:value-of select="@id"/></xsl:attribute> 1.232 + <b> 1.233 + <xsl:value-of select="@label"/> 1.234 + </b> 1.235 + </a> 1.236 + <ul> 1.237 + <xsl:apply-templates select="function[count(@hide)=0]" mode="index"/> 1.238 + </ul> 1.239 + </li> 1.240 +</xsl:template> 1.241 + 1.242 +<xsl:template match="function|callback" mode="index"> 1.243 + <li> 1.244 + <a> 1.245 + <xsl:attribute name="href">#<xsl:value-of select="@id"/></xsl:attribute> 1.246 + <xsl:apply-templates select="synopsis" mode="index"/> 1.247 + </a> 1.248 + </li> 1.249 +</xsl:template> 1.250 + 1.251 +<xsl:template match="synopsis" mode="index"> 1.252 + <xsl:value-of select="."/> 1.253 +</xsl:template> 1.254 + 1.255 +<xsl:template match="category" mode="body"> 1.256 + <p> 1.257 + <xsl:attribute name="id"> 1.258 + <xsl:value-of select="@id"/> 1.259 + </xsl:attribute> 1.260 + </p> 1.261 + <hr noshade="noshade" size="3"/> 1.262 + <h2 align="center"><xsl:value-of select="@label"/></h2> 1.263 + <xsl:value-of select="@label"/> functions: 1.264 + <ul> 1.265 + <xsl:apply-templates select="function[count(@hide)=0]" mode="index"/> 1.266 + </ul> 1.267 + <xsl:variable name="calltypes" select="callback"/> 1.268 + <xsl:if test="count($calltypes)!=0"> 1.269 + <xsl:value-of select="@label"/> function types: 1.270 + <ul> 1.271 + <xsl:apply-templates select="$calltypes" mode="index"/> 1.272 + </ul> 1.273 + </xsl:if> 1.274 + <xsl:variable name="cattypes" 1.275 + select="(descendant::typedef|descendant::uniontypedef|descendant::capabilitiestypedef|descendant::constants[@kind='enum'])"/> 1.276 + <xsl:if test="count($cattypes)!=0"> 1.277 + <xsl:value-of select="@label"/> types: 1.278 + <ul> 1.279 + <xsl:for-each select="$cattypes"> 1.280 + <li> 1.281 + <a> 1.282 + <xsl:attribute name="href"> 1.283 + <xsl:text>#</xsl:text> 1.284 + <xsl:value-of select="@id"/> 1.285 + </xsl:attribute> 1.286 + <code><xsl:value-of select="@id"/></code> 1.287 + </a> 1.288 + <xsl:text> - </xsl:text> 1.289 + <xsl:value-of select="@label"/> 1.290 + </li> 1.291 + </xsl:for-each> 1.292 + </ul> 1.293 + </xsl:if> 1.294 + <xsl:variable name="catconst" 1.295 + select="(descendant::constants[@kind!='enum'])"/> 1.296 + <xsl:if test="count($catconst)!=0"> 1.297 + <xsl:value-of select="@label"/> flags and constants: 1.298 + <ul> 1.299 + <xsl:for-each select="$catconst"> 1.300 + <li> 1.301 + <a> 1.302 + <xsl:attribute name="href"> 1.303 + <xsl:text>#</xsl:text> 1.304 + <xsl:value-of select="@id"/> 1.305 + </xsl:attribute> 1.306 + <xsl:value-of select="@label"/> 1.307 + </a> 1.308 + </li> 1.309 + </xsl:for-each> 1.310 + </ul> 1.311 + </xsl:if> 1.312 + <xsl:apply-templates select="intro|typedef|uniontypedef|capabilitiestypedef"/> 1.313 + <p/> 1.314 + <xsl:apply-templates select="function[count(@hide)=0]|callback" mode="body"/> 1.315 +</xsl:template> 1.316 + 1.317 +<xsl:template match="function" mode="body"> 1.318 + <hr noshade="noshade" width="100%" size="1"> 1.319 + <xsl:attribute name="id"> 1.320 + <xsl:value-of select="@id"/> 1.321 + </xsl:attribute> 1.322 + 1.323 + </hr> 1.324 + <xsl:apply-templates select="synopsis" mode="body"/> 1.325 + <blockquote> 1.326 + <xsl:apply-templates select="typedef" mode="code"/> 1.327 + <xsl:apply-templates select="descendant::constants[@kind='enum']" mode="signature"/> 1.328 + <pre> 1.329 + <xsl:text>jvmtiError 1.330 +</xsl:text> 1.331 + <xsl:value-of select="@id"/>(jvmtiEnv* env<xsl:apply-templates select="parameters" mode="signature"/>)</pre> 1.332 + </blockquote> 1.333 + <xsl:apply-templates select="description"/> 1.334 + <xsl:apply-templates select="." mode="generalinfo"/> 1.335 + <xsl:apply-templates select="capabilities|eventcapabilities"/> 1.336 + <xsl:apply-templates select="typedef" mode="body"/> 1.337 + <xsl:apply-templates select="parameters" mode="body"/> 1.338 + <xsl:apply-templates select="." mode="errors"/> 1.339 +</xsl:template> 1.340 + 1.341 +<xsl:template match="function" mode="generalinfo"> 1.342 + <table border="1" cellpadding="3" cellspacing="0" width="100%"> 1.343 + <tr bgcolor="#EEEEFF"> 1.344 + <td > 1.345 + <a href="#jvmtiPhase">Phase</a> 1.346 + </td> 1.347 + <td> 1.348 + <a href="#heapCallbacks">Callback Safe</a> 1.349 + </td> 1.350 + <td> 1.351 + <a href="#FunctionTable">Position</a> 1.352 + </td> 1.353 + <td> 1.354 + <a href="#ChangeHistory">Since</a> 1.355 + </td> 1.356 + </tr> 1.357 + <tr> 1.358 + <td > 1.359 + <xsl:apply-templates select="." mode="phaseinfo"/> 1.360 + </td> 1.361 + <td> 1.362 + <xsl:apply-templates select="." mode="callbacksafeinfo"/> 1.363 + </td> 1.364 + <td> 1.365 + <xsl:value-of select="@num"/> 1.366 + </td> 1.367 + <td> 1.368 + <xsl:value-of select="@since"/> 1.369 + </td> 1.370 + </tr> 1.371 + </table> 1.372 +</xsl:template> 1.373 + 1.374 +<xsl:template match="event" mode="generalinfo"> 1.375 + <table border="1" cellpadding="3" cellspacing="0" width="100%"> 1.376 + <tr bgcolor="#EEEEFF"> 1.377 + <td > 1.378 + <a href="#jvmtiPhase">Phase</a> 1.379 + </td> 1.380 + <td> 1.381 + <a href="#jvmtiEvent">Event Type</a> 1.382 + </td> 1.383 + <td> 1.384 + <a href="#jvmtiEvent">Number</a> 1.385 + </td> 1.386 + <td> 1.387 + <a href="#enablingevents">Enabling</a> 1.388 + </td> 1.389 + <td> 1.390 + <a href="#ChangeHistory">Since</a> 1.391 + </td> 1.392 + </tr> 1.393 + <tr> 1.394 + <td > 1.395 + <xsl:apply-templates select="." mode="phaseinfo"/> 1.396 + </td> 1.397 + <td> 1.398 + <code><xsl:value-of select="@const"/></code> 1.399 + </td> 1.400 + <td> 1.401 + <xsl:value-of select="@num"/> 1.402 + </td> 1.403 + <td> 1.404 + <code><a href="#SetEventNotificationMode">SetEventNotificationMode</a>(JVMTI_ENABLE, 1.405 + <xsl:value-of select="@const"/>, NULL)</code> 1.406 + </td> 1.407 + <td> 1.408 + <xsl:value-of select="@since"/> 1.409 + </td> 1.410 + </tr> 1.411 + </table> 1.412 +</xsl:template> 1.413 + 1.414 +<xsl:template match="function" mode="phaseinfo"> 1.415 + may 1.416 + <xsl:choose> 1.417 + <xsl:when test="count(@phase) = 0 or @phase = 'live'"> 1.418 + only be called during the live 1.419 + </xsl:when> 1.420 + <xsl:otherwise> 1.421 + <xsl:choose> 1.422 + <xsl:when test="@phase = 'onload'"> 1.423 + only be called during the OnLoad or the live 1.424 + </xsl:when> 1.425 + <xsl:otherwise> 1.426 + <xsl:choose> 1.427 + <xsl:when test="@phase = 'any'"> 1.428 + be called during any 1.429 + </xsl:when> 1.430 + <xsl:otherwise> 1.431 + <xsl:choose> 1.432 + <xsl:when test="@phase = 'start'"> 1.433 + only be called during the start or the live 1.434 + </xsl:when> 1.435 + <xsl:otherwise> 1.436 + <xsl:choose> 1.437 + <xsl:when test="@phase = 'onloadOnly'"> 1.438 + only be called during the OnLoad 1.439 + </xsl:when> 1.440 + <xsl:otherwise> 1.441 + <xsl:message terminate="yes"> 1.442 + bad phase - <xsl:value-of select="@phase"/> 1.443 + </xsl:message> 1.444 + </xsl:otherwise> 1.445 + </xsl:choose> 1.446 + </xsl:otherwise> 1.447 + </xsl:choose> 1.448 + </xsl:otherwise> 1.449 + </xsl:choose> 1.450 + </xsl:otherwise> 1.451 + </xsl:choose> 1.452 + </xsl:otherwise> 1.453 + </xsl:choose> 1.454 + phase 1.455 +</xsl:template> 1.456 + 1.457 + 1.458 +<xsl:template match="event" mode="phaseinfo"> 1.459 + sent 1.460 + <xsl:choose> 1.461 + <xsl:when test="count(@phase) = 0 or @phase = 'live'"> 1.462 + only during the live 1.463 + </xsl:when> 1.464 + <xsl:otherwise> 1.465 + <xsl:choose> 1.466 + <xsl:when test="@phase = 'any'"> 1.467 + during the primordial, start or live 1.468 + </xsl:when> 1.469 + <xsl:otherwise> 1.470 + <xsl:choose> 1.471 + <xsl:when test="@phase = 'start'"> 1.472 + during the start or live 1.473 + </xsl:when> 1.474 + <xsl:otherwise> 1.475 + <xsl:message terminate="yes"> 1.476 + bad phase - <xsl:value-of select="@phase"/> 1.477 + </xsl:message> 1.478 + </xsl:otherwise> 1.479 + </xsl:choose> 1.480 + </xsl:otherwise> 1.481 + </xsl:choose> 1.482 + </xsl:otherwise> 1.483 + </xsl:choose> 1.484 + phase 1.485 +</xsl:template> 1.486 + 1.487 + 1.488 +<xsl:template match="function" mode="callbacksafeinfo"> 1.489 + <xsl:choose> 1.490 + <xsl:when test="contains(@callbacksafe,'safe')"> 1.491 + This function may be called from the callbacks to the 1.492 + <a href="#Heap">Heap</a> iteration functions, or from the 1.493 + event handlers for the 1.494 + <a href="#GarbageCollectionStart"><code>GarbageCollectionStart</code></a>, 1.495 + <a href="#GarbageCollectionFinish"><code>GarbageCollectionFinish</code></a>, 1.496 + and <a href="#ObjectFree"><code>ObjectFree</code></a> events. 1.497 + </xsl:when> 1.498 + <xsl:otherwise> 1.499 + No 1.500 + </xsl:otherwise> 1.501 + </xsl:choose> 1.502 +</xsl:template> 1.503 + 1.504 + 1.505 +<xsl:template match="callback" mode="body"> 1.506 + <hr noshade="noshade" width="100%" size="1"> 1.507 + <xsl:attribute name="id"> 1.508 + <xsl:value-of select="@id"/> 1.509 + </xsl:attribute> 1.510 + </hr> 1.511 + <xsl:apply-templates select="synopsis" mode="body"/> 1.512 + <table cellpadding="0" cellspacing="0" border="0" width="90%" align="center"><tr><td> 1.513 + <blockquote> 1.514 + <pre> 1.515 + <xsl:text>typedef </xsl:text> 1.516 + <xsl:apply-templates select="child::*[position()=1]" mode="signature"/> 1.517 + <xsl:text> (JNICALL *</xsl:text> 1.518 + <xsl:value-of select="@id"/> 1.519 + <xsl:text>) 1.520 + (</xsl:text> 1.521 + <xsl:for-each select="parameters"> 1.522 + <xsl:apply-templates select="param[position()=1]" mode="signature"/> 1.523 + <xsl:for-each select="param[position()>1]"> 1.524 + <xsl:text>, 1.525 + </xsl:text> 1.526 + <xsl:apply-templates select="." mode="signature"/> 1.527 + </xsl:for-each> 1.528 + </xsl:for-each> 1.529 + <xsl:text>);</xsl:text> 1.530 + </pre> 1.531 + </blockquote> 1.532 + <xsl:apply-templates select="description"/> 1.533 + <xsl:apply-templates select="parameters" mode="body"/> 1.534 +</td></tr></table> 1.535 +</xsl:template> 1.536 + 1.537 +<xsl:template match="synopsis" mode="body"> 1.538 + <h3><xsl:value-of select="."/></h3> 1.539 +</xsl:template> 1.540 + 1.541 +<xsl:template match="eventsection"> 1.542 + <p/> 1.543 + <hr noshade="noshade" size="3"/> 1.544 + <h2> 1.545 + <xsl:value-of select="@label"/> 1.546 + </h2> 1.547 + <xsl:apply-templates select="intro"/> 1.548 + <blockquote> 1.549 + <pre> 1.550 + <xsl:text> 1.551 +typedef struct { 1.552 +</xsl:text> 1.553 + <xsl:call-template name="eventStruct"> 1.554 + <xsl:with-param name="events" select="event"/> 1.555 + <xsl:with-param name="index" select="0"/> 1.556 + <xsl:with-param name="started" select="false"/> 1.557 + <xsl:with-param name="comment" select="'No'"/> 1.558 + </xsl:call-template> 1.559 + <xsl:text>} jvmtiEventCallbacks; 1.560 +</xsl:text> 1.561 + </pre> 1.562 + </blockquote> 1.563 + <p/> 1.564 + <hr noshade="noshade" width="100%" size="1"/> 1.565 + <h3 id="EventIndex">Event Index</h3> 1.566 + <ul> 1.567 + <xsl:apply-templates select="event" mode="index"> 1.568 + <xsl:sort select="@label"/> 1.569 + </xsl:apply-templates> 1.570 + </ul> 1.571 + <xsl:apply-templates select="event" mode="body"/> 1.572 +</xsl:template> 1.573 + 1.574 +<xsl:template match="event" mode="index"> 1.575 + <li> 1.576 + <a> 1.577 + <xsl:attribute name="href">#<xsl:value-of select="@id"/></xsl:attribute> 1.578 + <b> 1.579 + <xsl:value-of select="@label"/> 1.580 + </b> 1.581 + </a> 1.582 + </li> 1.583 +</xsl:template> 1.584 + 1.585 +<xsl:template match="event" mode="body"> 1.586 + <p> 1.587 + <xsl:attribute name="id"> 1.588 + <xsl:value-of select="@id"/> 1.589 + </xsl:attribute> 1.590 + </p> 1.591 + <hr noshade="noshade" size="3"/> 1.592 + <h2><xsl:value-of select="@label"/></h2> 1.593 + <p/> 1.594 + <blockquote> 1.595 + <xsl:apply-templates select="typedef" mode="code"/> 1.596 + <pre> 1.597 +<xsl:text>void JNICALL 1.598 +</xsl:text> 1.599 + <xsl:value-of select="@id"/>(jvmtiEnv *jvmti_env<xsl:apply-templates select="parameters" mode="signature"/>)</pre> 1.600 + </blockquote> 1.601 + <xsl:apply-templates select="description"/> 1.602 + <xsl:apply-templates select="." mode="generalinfo"/> 1.603 + <xsl:apply-templates select="typedef" mode="body"/> 1.604 + <xsl:apply-templates select="capabilities"/> 1.605 + <xsl:apply-templates select="parameters" mode="body"/> 1.606 +</xsl:template> 1.607 + 1.608 +<xsl:template match="capabilitiestypedef" mode="code"> 1.609 + <blockquote> 1.610 + <pre> 1.611 + <xsl:apply-templates select="." mode="genstruct"/> 1.612 + </pre> 1.613 + </blockquote> 1.614 +</xsl:template> 1.615 + 1.616 +<xsl:template match="typedef" mode="code"> 1.617 + <pre> 1.618 + <xsl:call-template name="gentypedef"> 1.619 + <xsl:with-param name="tdef" select="."/> 1.620 + </xsl:call-template> 1.621 + </pre> 1.622 +</xsl:template> 1.623 + 1.624 +<xsl:template match="uniontypedef" mode="code"> 1.625 + <pre> 1.626 + <xsl:call-template name="genuniontypedef"> 1.627 + <xsl:with-param name="tdef" select="."/> 1.628 + </xsl:call-template> 1.629 + </pre> 1.630 +</xsl:template> 1.631 + 1.632 +<xsl:template match="capabilitiestypedef|typedef|uniontypedef" mode="description"> 1.633 + <xsl:apply-templates select="description"/> 1.634 +</xsl:template> 1.635 + 1.636 +<xsl:template match="capabilitiestypedef|typedef|uniontypedef"> 1.637 + <h4> 1.638 + <xsl:attribute name="id"> 1.639 + <xsl:value-of select="@id"/> 1.640 + </xsl:attribute> 1.641 + <xsl:value-of select="@label"/> 1.642 + </h4> 1.643 + <xsl:apply-templates select="." mode="description"/> 1.644 + <blockquote> 1.645 + <xsl:apply-templates select="." mode="code"/> 1.646 + <xsl:apply-templates select="." mode="justbody"/> 1.647 + </blockquote> 1.648 +</xsl:template> 1.649 + 1.650 +<xsl:template match="constants" mode="signature"> 1.651 + <pre> 1.652 + <xsl:apply-templates select="." mode="enum"/> 1.653 + </pre> 1.654 +</xsl:template> 1.655 + 1.656 +<xsl:template match="typedef|uniontypedef" mode="body"> 1.657 + <p> 1.658 + <xsl:attribute name="id"> 1.659 + <xsl:value-of select="@id"/> 1.660 + </xsl:attribute> 1.661 + </p> 1.662 + <xsl:apply-templates select="." mode="justbody"/> 1.663 +</xsl:template> 1.664 + 1.665 +<xsl:template match="typedef|uniontypedef" mode="justbody"> 1.666 + <table border="1" cellpadding="3" cellspacing="0" width="100%"> 1.667 + <tr bgcolor="#CCCCFF"> 1.668 + <td colspan="3" align="center" class="tableHeader"> 1.669 + <code><xsl:value-of select="@id"/></code> - <xsl:value-of select="@label"/> 1.670 + </td> 1.671 + </tr> 1.672 + <tr bgcolor="#EEEEFF"> 1.673 + <td> 1.674 + Field 1.675 + </td> 1.676 + <td> 1.677 + Type 1.678 + </td> 1.679 + <td> 1.680 + Description 1.681 + </td> 1.682 + </tr> 1.683 + <xsl:apply-templates select="field" mode="body"/> 1.684 + </table> 1.685 +</xsl:template> 1.686 + 1.687 +<xsl:template match="capabilitiestypedef" mode="body"> 1.688 + <p> 1.689 + <xsl:attribute name="id"> 1.690 + <xsl:value-of select="@id"/> 1.691 + </xsl:attribute> 1.692 + </p> 1.693 + <xsl:apply-templates select="." mode="justbody"/> 1.694 +</xsl:template> 1.695 + 1.696 +<xsl:template match="capabilitiestypedef" mode="justbody"> 1.697 + <table border="1" cellpadding="3" cellspacing="0" width="100%"> 1.698 + <tr bgcolor="#CCCCFF"> 1.699 + <td colspan="3" align="center" class="tableHeader"> 1.700 + <code><xsl:value-of select="@id"/></code> - <xsl:value-of select="@label"/> 1.701 + </td> 1.702 + </tr> 1.703 + <tr bgcolor="#EEEEFF"> 1.704 + <td colspan="3"> 1.705 + All types are <code>unsigned int : 1</code> 1.706 + </td> 1.707 + </tr> 1.708 + <tr bgcolor="#EEEEFF"> 1.709 + <td> 1.710 + Field 1.711 + </td> 1.712 + <td> 1.713 + Description 1.714 + </td> 1.715 + <td> 1.716 + <a href="#ChangeHistory">Since</a> 1.717 + </td> 1.718 + </tr> 1.719 + <xsl:apply-templates select="capabilityfield" mode="body"/> 1.720 + </table> 1.721 +</xsl:template> 1.722 + 1.723 +<xsl:template match="typedef|uniontypedef|capabilitiestypedef|constants" mode="tableentry"> 1.724 + <tr> 1.725 + <td> 1.726 + <a> 1.727 + <xsl:attribute name="href"> 1.728 + <xsl:text>#</xsl:text> 1.729 + <xsl:value-of select="@id"/> 1.730 + </xsl:attribute> 1.731 + <code><xsl:value-of select="@id"/></code> 1.732 + </a> 1.733 + </td> 1.734 + <td> 1.735 + <xsl:value-of select="@label"/> 1.736 + </td> 1.737 + </tr> 1.738 +</xsl:template> 1.739 + 1.740 +<xsl:template match="field" mode="body"> 1.741 + <tr> 1.742 + <td> 1.743 + <code> 1.744 + <xsl:attribute name="id"> 1.745 + <xsl:value-of select="../@id"/>.<xsl:value-of select="@id"/> 1.746 + </xsl:attribute> 1.747 + <xsl:value-of select="@id"/> 1.748 + </code> 1.749 + </td> 1.750 + <td> 1.751 + <code> 1.752 + <xsl:apply-templates select="child::*[position()=1]" mode="link"/> 1.753 + </code> 1.754 + </td> 1.755 + <td> 1.756 + <xsl:apply-templates select="description" mode="brief"/> 1.757 + </td> 1.758 + </tr> 1.759 +</xsl:template> 1.760 + 1.761 +<xsl:template match="capabilityfield" mode="body"> 1.762 + <tr> 1.763 + <td> 1.764 + <code> 1.765 + <xsl:choose> 1.766 + <xsl:when test="@disp1!=''"> 1.767 + <xsl:value-of select="@disp1"/> 1.768 + <br></br> 1.769 + <xsl:value-of select="@disp2"/> 1.770 + </xsl:when> 1.771 + <xsl:otherwise> 1.772 + <xsl:value-of select="@id"/> 1.773 + </xsl:otherwise> 1.774 + </xsl:choose> 1.775 + </code> 1.776 + </td> 1.777 + <td> 1.778 + <a> 1.779 + <xsl:attribute name="name"> 1.780 + <xsl:value-of select="../@id"/>.<xsl:value-of select="@id"/> 1.781 + </xsl:attribute> 1.782 + </a> 1.783 + <xsl:apply-templates select="description" mode="brief"/> 1.784 + </td> 1.785 + <td> 1.786 + <xsl:value-of select="@since"/> 1.787 + </td> 1.788 + </tr> 1.789 +</xsl:template> 1.790 + 1.791 +<xsl:template match="callback" mode="tableentry"> 1.792 + <tr> 1.793 + <td> 1.794 + <a> 1.795 + <xsl:attribute name="href"> 1.796 + <xsl:text>#</xsl:text> 1.797 + <xsl:value-of select="@id"/> 1.798 + </xsl:attribute> 1.799 + <code> 1.800 + <xsl:value-of select="@id"/> 1.801 + </code> 1.802 + </a> 1.803 + </td> 1.804 + <td> 1.805 + <xsl:apply-templates select="synopsis" mode="index"/> 1.806 + </td> 1.807 + </tr> 1.808 +</xsl:template> 1.809 + 1.810 +<xsl:template match="constants"> 1.811 + <blockquote> 1.812 + <a> 1.813 + <xsl:attribute name="name"> 1.814 + <xsl:value-of select="@id"/> 1.815 + </xsl:attribute> 1.816 + </a> 1.817 + <table border="1" cellpadding="3" cellspacing="0"> 1.818 + <tr bgcolor="#CCCCFF"> 1.819 + <td colspan="3" align="center" class="tableHeader"> 1.820 + <xsl:value-of select="@label"/> 1.821 + <xsl:if test="@kind='enum'"> 1.822 + <xsl:text> (</xsl:text> 1.823 + <code> 1.824 + <xsl:value-of select="@id"/> 1.825 + </code> 1.826 + <xsl:text>)</xsl:text> 1.827 + </xsl:if> 1.828 + </td> 1.829 + </tr> 1.830 + <tr bgcolor="#EEEEFF"> 1.831 + <td> 1.832 + Constant 1.833 + </td> 1.834 + <td> 1.835 + Value 1.836 + </td> 1.837 + <td> 1.838 + Description 1.839 + </td> 1.840 + </tr> 1.841 + <xsl:apply-templates select="constant" mode="body"/> 1.842 + </table> 1.843 + </blockquote> 1.844 +</xsl:template> 1.845 + 1.846 +<xsl:template match="constant" mode="index"> 1.847 + <a> 1.848 + <xsl:attribute name="href">#<xsl:value-of select="@id"/> 1.849 + </xsl:attribute> 1.850 + <code> 1.851 + <xsl:value-of select="@id"/> 1.852 + </code> 1.853 + </a> 1.854 + <br/> 1.855 +</xsl:template> 1.856 + 1.857 +<xsl:template match="constant" mode="body"> 1.858 + <tr> 1.859 + <td> 1.860 + <code> 1.861 + <xsl:attribute name="id"> 1.862 + <xsl:value-of select="@id"/> 1.863 + </xsl:attribute> 1.864 + <xsl:value-of select="@id"/> 1.865 + </code> 1.866 + </td> 1.867 + <td align="right"> 1.868 + <xsl:value-of select="@num"/> 1.869 + </td> 1.870 + <td> 1.871 + <xsl:apply-templates/> 1.872 + </td> 1.873 + </tr> 1.874 +</xsl:template> 1.875 + 1.876 +<xsl:template match="basetypes"> 1.877 + <p> 1.878 + <xsl:attribute name="id"> 1.879 + <xsl:value-of select="@id"/> 1.880 + </xsl:attribute> 1.881 + </p> 1.882 + <table border="1" cellpadding="3" cellspacing="0" width="100%"> 1.883 + <tr bgcolor="#CCCCFF"> 1.884 + <td colspan="2" align="center" class="tableHeader"> 1.885 + <xsl:value-of select="@label"/> 1.886 + </td> 1.887 + </tr> 1.888 + <tr bgcolor="#EEEEFF"> 1.889 + <td> 1.890 + Type 1.891 + </td> 1.892 + <td> 1.893 + Description 1.894 + </td> 1.895 + </tr> 1.896 + <xsl:apply-templates select="basetype" mode="body"/> 1.897 + </table> 1.898 +</xsl:template> 1.899 + 1.900 +<xsl:template match="basetype" mode="body"> 1.901 + <xsl:choose> 1.902 + <xsl:when test="count(definition)=0"> 1.903 + <tr> 1.904 + <td> 1.905 + <code> 1.906 + <xsl:value-of select="@id"/> 1.907 + </code> 1.908 + </td> 1.909 + <td> 1.910 + <a> 1.911 + <xsl:attribute name="name"> 1.912 + <xsl:value-of select="@id"/> 1.913 + </xsl:attribute> 1.914 + </a> 1.915 + <xsl:apply-templates select="description" mode="brief"/> 1.916 + </td> 1.917 + </tr> 1.918 + </xsl:when> 1.919 + <xsl:otherwise> 1.920 + <tr> 1.921 + <td rowspan="2"> 1.922 + <code> 1.923 + <xsl:value-of select="@id"/> 1.924 + </code> 1.925 + </td> 1.926 + <td> 1.927 + <a> 1.928 + <xsl:attribute name="name"> 1.929 + <xsl:value-of select="@id"/> 1.930 + </xsl:attribute> 1.931 + </a> 1.932 + <xsl:apply-templates select="description" mode="brief"/> 1.933 + </td> 1.934 + </tr> 1.935 + <tr> 1.936 + <td> 1.937 + <pre> 1.938 + <xsl:apply-templates select="definition"/> 1.939 + </pre> 1.940 + </td> 1.941 + </tr> 1.942 + </xsl:otherwise> 1.943 + </xsl:choose> 1.944 +</xsl:template> 1.945 + 1.946 +<xsl:template match="description"> 1.947 + <xsl:apply-templates/> 1.948 + <p/> 1.949 +</xsl:template> 1.950 + 1.951 +<xsl:template match="description" mode="brief"> 1.952 + <xsl:apply-templates/> 1.953 +</xsl:template> 1.954 + 1.955 +<xsl:template match="fieldlink"> 1.956 + <a> 1.957 + <xsl:attribute name="href">#<xsl:value-of select="@struct"/>.<xsl:value-of select="@id"/></xsl:attribute> 1.958 + <xsl:choose> 1.959 + <xsl:when test=".=''"> 1.960 + <code> 1.961 + <xsl:value-of select="@id"/> 1.962 + </code> 1.963 + </xsl:when> 1.964 + <xsl:otherwise> 1.965 + <xsl:apply-templates/> 1.966 + </xsl:otherwise> 1.967 + </xsl:choose> 1.968 + </a> 1.969 +</xsl:template> 1.970 + 1.971 +<xsl:template match="paramlink"> 1.972 + <a> 1.973 + <xsl:attribute name="href">#<xsl:value-of select="ancestor::function/@id|ancestor::event/@id"/>.<xsl:value-of select="@id"/> 1.974 + </xsl:attribute> 1.975 + <xsl:choose> 1.976 + <xsl:when test=".=''"> 1.977 + <code> 1.978 + <xsl:value-of select="@id"/> 1.979 + </code> 1.980 + </xsl:when> 1.981 + <xsl:otherwise> 1.982 + <xsl:apply-templates/> 1.983 + </xsl:otherwise> 1.984 + </xsl:choose> 1.985 + </a> 1.986 +</xsl:template> 1.987 + 1.988 +<xsl:template match="eventlink|errorlink|typelink|datalink|functionlink"> 1.989 + <a> 1.990 + <xsl:attribute name="href">#<xsl:value-of select="@id"/></xsl:attribute> 1.991 + <xsl:choose> 1.992 + <xsl:when test=".=''"> 1.993 + <code> 1.994 + <xsl:value-of select="@id"/> 1.995 + </code> 1.996 + </xsl:when> 1.997 + <xsl:otherwise> 1.998 + <xsl:apply-templates/> 1.999 + </xsl:otherwise> 1.1000 + </xsl:choose> 1.1001 + </a> 1.1002 +</xsl:template> 1.1003 + 1.1004 +<xsl:template match="functionphaselist"> 1.1005 + <xsl:variable name="phase" select="@phase"/> 1.1006 + <ul> 1.1007 + <xsl:for-each select="/specification/functionsection/category/function[@phase=$phase and count(@hide)=0]"> 1.1008 + <li> 1.1009 + <a> 1.1010 + <xsl:attribute name="href">#<xsl:value-of select="@id"/></xsl:attribute> 1.1011 + <b> 1.1012 + <xsl:value-of select="@id"/> 1.1013 + </b> 1.1014 + </a> 1.1015 + </li> 1.1016 + </xsl:for-each> 1.1017 + </ul> 1.1018 +</xsl:template> 1.1019 + 1.1020 +<xsl:template match="eventphaselist"> 1.1021 + <xsl:variable name="phase" select="@phase"/> 1.1022 + <ul> 1.1023 + <xsl:for-each select="//eventsection/event[@phase=$phase]"> 1.1024 + <li> 1.1025 + <a> 1.1026 + <xsl:attribute name="href">#<xsl:value-of select="@id"/></xsl:attribute> 1.1027 + <b> 1.1028 + <xsl:value-of select="@id"/> 1.1029 + </b> 1.1030 + </a> 1.1031 + </li> 1.1032 + </xsl:for-each> 1.1033 + </ul> 1.1034 +</xsl:template> 1.1035 + 1.1036 +<xsl:template match="externallink"> 1.1037 + <a> 1.1038 + <xsl:attribute name="href"> 1.1039 + <xsl:value-of select="@id"/> 1.1040 + </xsl:attribute> 1.1041 + <xsl:value-of select="."/> 1.1042 + </a> 1.1043 +</xsl:template> 1.1044 + 1.1045 +<xsl:template match="vmspeclink"> 1.1046 + <xsl:if test="count(@id)=1"> 1.1047 + <a> 1.1048 + <xsl:attribute name="href"> 1.1049 + <xsl:text>http://java.sun.com/docs/books/vmspec/2nd-edition/html/</xsl:text> 1.1050 + <xsl:value-of select="@id"/> 1.1051 + </xsl:attribute> 1.1052 + <xsl:value-of select="@name"/> 1.1053 + </a> 1.1054 + <xsl:text> </xsl:text> 1.1055 + <xsl:choose> 1.1056 + <xsl:when test="count(@preposition)=1"> 1.1057 + <xsl:value-of select="@preposition"/> 1.1058 + </xsl:when> 1.1059 + <xsl:otherwise> 1.1060 + <xsl:text>of</xsl:text> 1.1061 + </xsl:otherwise> 1.1062 + </xsl:choose> 1.1063 + <xsl:text> the </xsl:text> 1.1064 + </xsl:if> 1.1065 + <a> 1.1066 + <xsl:attribute name="href"> 1.1067 + <xsl:text>http://java.sun.com/docs/books/vmspec/</xsl:text> 1.1068 + </xsl:attribute> 1.1069 + <i> 1.1070 + <xsl:text>Java Virtual Machine Specification</xsl:text> 1.1071 + </i> 1.1072 + </a> 1.1073 +</xsl:template> 1.1074 + 1.1075 +<xsl:template match="internallink"> 1.1076 + <a> 1.1077 + <xsl:attribute name="href">#<xsl:value-of select="@id"/></xsl:attribute> 1.1078 + <xsl:apply-templates/> 1.1079 + </a> 1.1080 +</xsl:template> 1.1081 + 1.1082 +<xsl:template match="parameters" mode="body"> 1.1083 + <p/> 1.1084 + <table border="1" cellpadding="3" cellspacing="0" width="100%"> 1.1085 + <tr bgcolor="#CCCCFF"> 1.1086 + <td colspan="3" align="center" class="tableHeader"> 1.1087 + Parameters 1.1088 + </td> 1.1089 + </tr> 1.1090 + <tr bgcolor="#EEEEFF"> 1.1091 + <td> 1.1092 + Name 1.1093 + </td> 1.1094 + <td> 1.1095 + Type 1.1096 + </td> 1.1097 + <td> 1.1098 + Description 1.1099 + </td> 1.1100 + </tr> 1.1101 + <xsl:apply-templates select="param[count(jclass/@method)=0]" mode="body"/> 1.1102 + </table> 1.1103 +</xsl:template> 1.1104 + 1.1105 +<xsl:template match="param" mode="body"> 1.1106 + <tr> 1.1107 + <td> 1.1108 + <code> 1.1109 + <xsl:attribute name="id"> 1.1110 + <xsl:value-of select="../../@id"/>.<xsl:value-of select="@id"/> 1.1111 + </xsl:attribute> 1.1112 + <xsl:value-of select="@id"/> 1.1113 + </code> 1.1114 + </td> 1.1115 + <td> 1.1116 + <code> 1.1117 + <xsl:apply-templates select="child::*[position()=1]" mode="link"/> 1.1118 + </code> 1.1119 + </td> 1.1120 + <td> 1.1121 + <xsl:apply-templates select="description" mode="brief"/> 1.1122 + <xsl:if test="count(ancestor::function)=1"> 1.1123 + <xsl:apply-templates select="child::*[position()=1]" mode="funcdescription"/> 1.1124 + </xsl:if> 1.1125 + </td> 1.1126 + </tr> 1.1127 +</xsl:template> 1.1128 + 1.1129 +<xsl:template match="capabilities"> 1.1130 + <p/> 1.1131 + <table border="1" cellpadding="3" cellspacing="0" width="100%"> 1.1132 + <tr bgcolor="#CCCCFF"> 1.1133 + <td colspan="2" align="center" class="tableHeader"> 1.1134 + Capabilities 1.1135 + </td> 1.1136 + </tr> 1.1137 + <xsl:choose> 1.1138 + <xsl:when test="count(required)=0"> 1.1139 + <tr> 1.1140 + <td colspan="2"> 1.1141 + <b>Required Functionality</b> 1.1142 + </td> 1.1143 + </tr> 1.1144 + </xsl:when> 1.1145 + <xsl:otherwise> 1.1146 + <tr> 1.1147 + <td colspan="2"> 1.1148 + <b>Optional Functionality:</b> might not be implemented for all 1.1149 + virtual machines. 1.1150 + <xsl:choose> 1.1151 + <xsl:when test="count(required)=1"> 1.1152 + The following capability 1.1153 + </xsl:when> 1.1154 + <xsl:otherwise> 1.1155 + One of the following capabilities 1.1156 + </xsl:otherwise> 1.1157 + </xsl:choose> 1.1158 + (as returned by 1.1159 + <a href="#GetCapabilities"><code>GetCapabilities</code></a>) 1.1160 + must be true to use this 1.1161 + <xsl:choose> 1.1162 + <xsl:when test="ancestor::function"> 1.1163 + function. 1.1164 + </xsl:when> 1.1165 + <xsl:otherwise> 1.1166 + event. 1.1167 + </xsl:otherwise> 1.1168 + </xsl:choose> 1.1169 + </td> 1.1170 + </tr> 1.1171 + <tr bgcolor="#EEEEFF"> 1.1172 + <td > 1.1173 + Capability 1.1174 + </td> 1.1175 + <td> 1.1176 + Effect 1.1177 + </td> 1.1178 + </tr> 1.1179 + <xsl:apply-templates select="required"/> 1.1180 + </xsl:otherwise> 1.1181 + </xsl:choose> 1.1182 + <xsl:if test="count(capability)!=0"> 1.1183 + <tr bgcolor="#CCCCFF"> 1.1184 + <td colspan="2" align="center"> 1.1185 + Optional Features 1.1186 + </td> 1.1187 + </tr> 1.1188 + <xsl:if test="count(required)=0"> 1.1189 + <tr bgcolor="#EEEEFF"> 1.1190 + <td > 1.1191 + Capability 1.1192 + </td> 1.1193 + <td> 1.1194 + Effect 1.1195 + </td> 1.1196 + </tr> 1.1197 + </xsl:if> 1.1198 + <xsl:apply-templates select="capability"/> 1.1199 + </xsl:if> 1.1200 + </table> 1.1201 +</xsl:template> 1.1202 + 1.1203 +<xsl:template match="eventcapabilities"> 1.1204 + <p/> 1.1205 + <table border="1" cellpadding="3" cellspacing="0" width="100%"> 1.1206 + <tr bgcolor="#CCCCFF"> 1.1207 + <td colspan="2" align="center" class="tableHeader"> 1.1208 + Capabilities 1.1209 + </td> 1.1210 + </tr> 1.1211 + <tr> 1.1212 + <td colspan="2"> 1.1213 + <b>Required Functionality</b> 1.1214 + </td> 1.1215 + </tr> 1.1216 + <tr bgcolor="#CCCCFF"> 1.1217 + <td colspan="2" align="center"> 1.1218 + Event Enabling Capabilities 1.1219 + </td> 1.1220 + </tr> 1.1221 + <tr bgcolor="#EEEEFF"> 1.1222 + <td > 1.1223 + Capability 1.1224 + </td> 1.1225 + <td> 1.1226 + Events 1.1227 + </td> 1.1228 + </tr> 1.1229 + <xsl:for-each select="//capabilityfield"> 1.1230 + <xsl:variable name="capa" select="@id"/> 1.1231 + <xsl:variable name="events" select="//event[capabilities/required/@id=$capa]"/> 1.1232 + <xsl:if test="count($events)"> 1.1233 + <tr> 1.1234 + <td> 1.1235 + <a> 1.1236 + <xsl:attribute name="href">#jvmtiCapabilities.<xsl:value-of select="@id"/> 1.1237 + </xsl:attribute> 1.1238 + <code> 1.1239 + <xsl:value-of select="@id"/> 1.1240 + </code> 1.1241 + </a> 1.1242 + </td> 1.1243 + <td> 1.1244 + <xsl:for-each select="$events"> 1.1245 + <a> 1.1246 + <xsl:attribute name="href">#<xsl:value-of select="@id"/> 1.1247 + </xsl:attribute> 1.1248 + <code> 1.1249 + <xsl:value-of select="@id"/> 1.1250 + </code> 1.1251 + </a> 1.1252 + <br/> 1.1253 + </xsl:for-each> 1.1254 + </td> 1.1255 + </tr> 1.1256 + </xsl:if> 1.1257 + </xsl:for-each> 1.1258 + </table> 1.1259 +</xsl:template> 1.1260 + 1.1261 +<xsl:template match="capability|required"> 1.1262 + <tr> 1.1263 + <td> 1.1264 + <a> 1.1265 + <xsl:attribute name="href">#jvmtiCapabilities.<xsl:value-of select="@id"/> 1.1266 + </xsl:attribute> 1.1267 + <code> 1.1268 + <xsl:value-of select="@id"/> 1.1269 + </code> 1.1270 + </a> 1.1271 + </td> 1.1272 + <td> 1.1273 + <xsl:choose> 1.1274 + <xsl:when test=".=''"> 1.1275 + <xsl:variable name="desiredID" select="@id"/> 1.1276 + <xsl:for-each select="//capabilityfield[@id=$desiredID]"> 1.1277 + <xsl:apply-templates select="description" mode="brief"/> 1.1278 + </xsl:for-each> 1.1279 + </xsl:when> 1.1280 + <xsl:otherwise> 1.1281 + <xsl:apply-templates/> 1.1282 + </xsl:otherwise> 1.1283 + </xsl:choose> 1.1284 + </td> 1.1285 + </tr> 1.1286 +</xsl:template> 1.1287 + 1.1288 +<xsl:template match="function" mode="errors"> 1.1289 + <xsl:variable name="haserrors"> 1.1290 + <xsl:apply-templates select="capabilities/required" mode="haserrors"/> 1.1291 + <xsl:apply-templates select="errors/error" mode="haserrors"/> 1.1292 + <xsl:apply-templates select="parameters/param" mode="haserrors"/> 1.1293 + </xsl:variable> 1.1294 + <p/> 1.1295 + <table border="1" cellpadding="3" cellspacing="0" width="100%"> 1.1296 + <tr bgcolor="#CCCCFF"> 1.1297 + <td colspan="2" align="center" class="tableHeader"> 1.1298 + Errors 1.1299 + </td> 1.1300 + </tr> 1.1301 + <xsl:choose> 1.1302 + <xsl:when test="contains($haserrors,'yes')"> 1.1303 + <tr> 1.1304 + <td colspan="2"> 1.1305 + This function returns either a 1.1306 + <a href="#universal-error">universal error</a> 1.1307 + or one of the following errors 1.1308 + </td> 1.1309 + </tr> 1.1310 + <tr bgcolor="#EEEEFF"> 1.1311 + <td> 1.1312 + Error 1.1313 + </td> 1.1314 + <td> 1.1315 + Description 1.1316 + </td> 1.1317 + </tr> 1.1318 + <xsl:apply-templates select="capabilities/required" mode="errors"/> 1.1319 + <xsl:apply-templates select="errors/error"/> 1.1320 + <xsl:apply-templates select="parameters/param" mode="errors"/> 1.1321 + </xsl:when> 1.1322 + <xsl:otherwise> 1.1323 + <tr> 1.1324 + <td colspan="2"> 1.1325 + This function returns a 1.1326 + <a href="#universal-error">universal error</a> 1.1327 + </td> 1.1328 + </tr> 1.1329 + </xsl:otherwise> 1.1330 + </xsl:choose> 1.1331 + </table> 1.1332 +</xsl:template> 1.1333 + 1.1334 +<xsl:template match="required" mode="haserrors"> 1.1335 + yes 1.1336 +</xsl:template> 1.1337 + 1.1338 +<xsl:template match="required" mode="errors"> 1.1339 + <tr> 1.1340 + <td> 1.1341 + <a href="#JVMTI_ERROR_MUST_POSSESS_CAPABILITY"> 1.1342 + <code> 1.1343 + JVMTI_ERROR_MUST_POSSESS_CAPABILITY 1.1344 + </code> 1.1345 + </a> 1.1346 + </td> 1.1347 + <td> 1.1348 + The environment does not possess the capability 1.1349 + <a> 1.1350 + <xsl:attribute name="href">#jvmtiCapabilities.<xsl:value-of select="@id"/></xsl:attribute> 1.1351 + <code> 1.1352 + <xsl:value-of select="@id"/> 1.1353 + </code> 1.1354 + </a>. 1.1355 + Use <a href="#AddCapabilities"><code>AddCapabilities</code></a>. 1.1356 + </td> 1.1357 + </tr> 1.1358 +</xsl:template> 1.1359 + 1.1360 +<xsl:template match="param" mode="haserrors"> 1.1361 + <xsl:apply-templates mode="haserrors"/> 1.1362 +</xsl:template> 1.1363 + 1.1364 +<xsl:template match="param" mode="errors"> 1.1365 + <xsl:apply-templates select="." mode="errors1"/> 1.1366 + <xsl:apply-templates select="." mode="errors2"/> 1.1367 +</xsl:template> 1.1368 + 1.1369 +<xsl:template match="param" mode="errors1"> 1.1370 + <xsl:variable name="haserrors"> 1.1371 + <xsl:apply-templates mode="haserrors"/> 1.1372 + </xsl:variable> 1.1373 + <xsl:if test="contains($haserrors,'yes')!=0"> 1.1374 + <xsl:variable name="erroridraw"> 1.1375 + <xsl:apply-templates mode="errorid"/> 1.1376 + </xsl:variable> 1.1377 + <xsl:variable name="errorid" select="normalize-space($erroridraw)"/> 1.1378 + <tr> 1.1379 + <td> 1.1380 + <a> 1.1381 + <xsl:attribute name="href">#<xsl:value-of select="$errorid"/></xsl:attribute> 1.1382 + <code> 1.1383 + <xsl:value-of select="$errorid"/> 1.1384 + </code> 1.1385 + </a> 1.1386 + </td> 1.1387 + <td> 1.1388 + <xsl:apply-templates mode="errordesc"> 1.1389 + <xsl:with-param name="id" select="@id"/> 1.1390 + </xsl:apply-templates> 1.1391 + </td> 1.1392 + </tr> 1.1393 + </xsl:if> 1.1394 +</xsl:template> 1.1395 + 1.1396 +<xsl:template match="param" mode="errors2"> 1.1397 + <xsl:variable name="haserrors2"> 1.1398 + <xsl:apply-templates mode="haserrors2"/> 1.1399 + </xsl:variable> 1.1400 + <xsl:if test="contains($haserrors2,'yes')!=0"> 1.1401 + <xsl:variable name="erroridraw2"> 1.1402 + <xsl:apply-templates mode="errorid2"/> 1.1403 + </xsl:variable> 1.1404 + <xsl:variable name="errorid2" select="normalize-space($erroridraw2)"/> 1.1405 + <tr> 1.1406 + <td> 1.1407 + <a> 1.1408 + <xsl:attribute name="href">#<xsl:value-of select="$errorid2"/></xsl:attribute> 1.1409 + <code> 1.1410 + <xsl:value-of select="$errorid2"/> 1.1411 + </code> 1.1412 + </a> 1.1413 + </td> 1.1414 + <td> 1.1415 + <xsl:apply-templates mode="errordesc2"> 1.1416 + <xsl:with-param name="id" select="@id"/> 1.1417 + </xsl:apply-templates> 1.1418 + </td> 1.1419 + </tr> 1.1420 + </xsl:if> 1.1421 +</xsl:template> 1.1422 + 1.1423 +<xsl:template match="description" mode="haserrors"> 1.1424 +</xsl:template> 1.1425 + 1.1426 +<xsl:template match="description" mode="errorid"> 1.1427 +</xsl:template> 1.1428 + 1.1429 +<xsl:template match="description" mode="errordesc"> 1.1430 +</xsl:template> 1.1431 + 1.1432 +<xsl:template match="jmethodID|jfieldID|jframeID|jrawMonitorID|jthread|jthreadGroup|jobject|enum|jlocation" mode="haserrors"> 1.1433 + yes 1.1434 +</xsl:template> 1.1435 + 1.1436 +<xsl:template match="jclass" mode="haserrors"> 1.1437 + <xsl:if test="count(@method)=0"> 1.1438 + yes 1.1439 + </xsl:if> 1.1440 +</xsl:template> 1.1441 + 1.1442 +<xsl:template match="description|jclass|jfieldID|jrawMonitorID| 1.1443 + jthreadGroup|jobject|enum|jlocation|jvalue|jchar|jint|jlong|jfloat|jdouble|jboolean| 1.1444 + char|uchar|size_t|void|varargs|struct| 1.1445 + ptrtype|outptr|allocbuf|allocallocbuf|inptr|inbuf|outbuf|vmbuf|agentbuf" mode="haserrors2"> 1.1446 +</xsl:template> 1.1447 + 1.1448 +<xsl:template match="jmethodID" mode="haserrors2"> 1.1449 + <xsl:if test="count(@native)=1 and contains(@native,'error')"> 1.1450 + yes 1.1451 + </xsl:if> 1.1452 +</xsl:template> 1.1453 + 1.1454 +<xsl:template match="jthread" mode="haserrors2"> 1.1455 + <xsl:if test="count(@started)=0 or contains(@started,'yes') or @started=''"> 1.1456 + yes 1.1457 + </xsl:if> 1.1458 +</xsl:template> 1.1459 + 1.1460 +<xsl:template match="jframeID" mode="haserrors2"> 1.1461 + yes 1.1462 +</xsl:template> 1.1463 + 1.1464 +<xsl:template match="description" mode="errorid2"> 1.1465 +</xsl:template> 1.1466 + 1.1467 +<xsl:template match="description" mode="errordesc2"> 1.1468 +</xsl:template> 1.1469 + 1.1470 +<xsl:template match="jmethodID" mode="errorid"> 1.1471 + <xsl:text>JVMTI_ERROR_INVALID_METHODID</xsl:text> 1.1472 +</xsl:template> 1.1473 + 1.1474 +<xsl:template match="jmethodID" mode="errorid2"> 1.1475 + <xsl:text>JVMTI_ERROR_NATIVE_METHOD</xsl:text> 1.1476 +</xsl:template> 1.1477 + 1.1478 +<xsl:template match="jmethodID" mode="errordesc"> 1.1479 + <xsl:param name="id"/> 1.1480 + <xsl:apply-templates select="." mode="paramlink"/> 1.1481 + <xsl:text> is not a jmethodID.</xsl:text> 1.1482 +</xsl:template> 1.1483 + 1.1484 +<xsl:template match="jmethodID" mode="errordesc2"> 1.1485 + <xsl:param name="id"/> 1.1486 + <xsl:apply-templates select="." mode="paramlink"/> 1.1487 + <xsl:text> is a native method.</xsl:text> 1.1488 +</xsl:template> 1.1489 + 1.1490 +<xsl:template match="jfieldID" mode="errorid"> 1.1491 + <xsl:text>JVMTI_ERROR_INVALID_FIELDID</xsl:text> 1.1492 +</xsl:template> 1.1493 + 1.1494 +<xsl:template match="jfieldID" mode="errordesc"> 1.1495 + <xsl:param name="id"/> 1.1496 + <xsl:apply-templates select="." mode="paramlink"/> 1.1497 + <xsl:text> is not a jfieldID.</xsl:text> 1.1498 +</xsl:template> 1.1499 + 1.1500 +<xsl:template match="jframeID" mode="errorid"> 1.1501 + <xsl:text>JVMTI_ERROR_ILLEGAL_ARGUMENT</xsl:text> 1.1502 +</xsl:template> 1.1503 + 1.1504 +<xsl:template match="jframeID" mode="errorid2"> 1.1505 + <xsl:text>JVMTI_ERROR_NO_MORE_FRAMES</xsl:text> 1.1506 +</xsl:template> 1.1507 + 1.1508 +<xsl:template match="jframeID" mode="errordesc"> 1.1509 + <xsl:param name="id"/> 1.1510 + <xsl:apply-templates select="." mode="paramlink"/> 1.1511 + <xsl:text> is less than zero.</xsl:text> 1.1512 +</xsl:template> 1.1513 + 1.1514 +<xsl:template match="jframeID" mode="errordesc2"> 1.1515 + <xsl:param name="id"/> 1.1516 + <xsl:text>There are no stack frames at the specified </xsl:text> 1.1517 + <xsl:apply-templates select="." mode="paramlink"/> 1.1518 + <xsl:text>.</xsl:text> 1.1519 +</xsl:template> 1.1520 + 1.1521 +<xsl:template match="jrawMonitorID" mode="errorid"> 1.1522 + <xsl:text>JVMTI_ERROR_INVALID_MONITOR</xsl:text> 1.1523 +</xsl:template> 1.1524 + 1.1525 +<xsl:template match="jrawMonitorID" mode="errordesc"> 1.1526 + <xsl:param name="id"/> 1.1527 + <xsl:apply-templates select="." mode="paramlink"/> 1.1528 + <xsl:text> is not a jrawMonitorID.</xsl:text> 1.1529 +</xsl:template> 1.1530 + 1.1531 +<xsl:template match="jclass" mode="errorid"> 1.1532 + <xsl:text>JVMTI_ERROR_INVALID_CLASS</xsl:text> 1.1533 +</xsl:template> 1.1534 + 1.1535 +<xsl:template match="jclass" mode="errordesc"> 1.1536 + <xsl:param name="id"/> 1.1537 + <xsl:apply-templates select="." mode="paramlink"/> 1.1538 + <xsl:text> is not a class object or the class has been unloaded.</xsl:text> 1.1539 +</xsl:template> 1.1540 + 1.1541 +<xsl:template match="jthread" mode="errorid"> 1.1542 + <xsl:text>JVMTI_ERROR_INVALID_THREAD</xsl:text> 1.1543 +</xsl:template> 1.1544 + 1.1545 +<xsl:template match="jthread" mode="errorid2"> 1.1546 + <xsl:text>JVMTI_ERROR_THREAD_NOT_ALIVE</xsl:text> 1.1547 +</xsl:template> 1.1548 + 1.1549 +<xsl:template match="jthread" mode="errordesc"> 1.1550 + <xsl:param name="id"/> 1.1551 + <xsl:apply-templates select="." mode="paramlink"/> 1.1552 + <xsl:text> is not a thread object.</xsl:text> 1.1553 +</xsl:template> 1.1554 + 1.1555 +<xsl:template match="jthread" mode="errordesc2"> 1.1556 + <xsl:param name="id"/> 1.1557 + <xsl:apply-templates select="." mode="paramlink"/> 1.1558 + <xsl:text> is not live (has not been started or is now dead).</xsl:text> 1.1559 +</xsl:template> 1.1560 + 1.1561 +<xsl:template match="jthreadGroup" mode="errorid"> 1.1562 + <xsl:text>JVMTI_ERROR_INVALID_THREAD_GROUP</xsl:text> 1.1563 +</xsl:template> 1.1564 + 1.1565 +<xsl:template match="jthreadGroup" mode="errordesc"> 1.1566 + <xsl:param name="id"/> 1.1567 + <xsl:apply-templates select="." mode="paramlink"/> 1.1568 + <xsl:text> is not a thread group object.</xsl:text> 1.1569 +</xsl:template> 1.1570 + 1.1571 +<xsl:template match="jobject" mode="errorid"> 1.1572 + <xsl:text>JVMTI_ERROR_INVALID_OBJECT</xsl:text> 1.1573 +</xsl:template> 1.1574 + 1.1575 +<xsl:template match="jobject" mode="errordesc"> 1.1576 + <xsl:param name="id"/> 1.1577 + <xsl:apply-templates select="." mode="paramlink"/> 1.1578 + <xsl:text> is not an object.</xsl:text> 1.1579 +</xsl:template> 1.1580 + 1.1581 +<xsl:template match="enum" mode="errorid"> 1.1582 + <xsl:choose> 1.1583 + <xsl:when test=".='jvmtiEvent'"> 1.1584 + <xsl:text>JVMTI_ERROR_INVALID_EVENT_TYPE</xsl:text> 1.1585 + </xsl:when> 1.1586 + <xsl:otherwise> 1.1587 + <xsl:text>JVMTI_ERROR_ILLEGAL_ARGUMENT</xsl:text> 1.1588 + </xsl:otherwise> 1.1589 + </xsl:choose> 1.1590 +</xsl:template> 1.1591 + 1.1592 +<xsl:template match="enum" mode="errordesc"> 1.1593 + <xsl:param name="id"/> 1.1594 + <xsl:apply-templates select="." mode="paramlink"/> 1.1595 + <xsl:text> is not a </xsl:text> 1.1596 + <xsl:value-of select="."/> 1.1597 + <xsl:text>.</xsl:text> 1.1598 +</xsl:template> 1.1599 + 1.1600 +<xsl:template match="jlocation" mode="errorid"> 1.1601 + <xsl:text>JVMTI_ERROR_INVALID_LOCATION</xsl:text> 1.1602 +</xsl:template> 1.1603 + 1.1604 +<xsl:template match="jlocation" mode="errordesc"> 1.1605 + <xsl:param name="id"/> 1.1606 + <xsl:apply-templates select="." mode="paramlink"/> 1.1607 + <xsl:text> is not a valid location.</xsl:text> 1.1608 +</xsl:template> 1.1609 + 1.1610 +<xsl:template match="jint" mode="haserrors"> 1.1611 + <xsl:if test="count(@min)=1"> 1.1612 + yes 1.1613 + </xsl:if> 1.1614 +</xsl:template> 1.1615 + 1.1616 +<xsl:template match="jint" mode="errorid"> 1.1617 + <xsl:text>JVMTI_ERROR_ILLEGAL_ARGUMENT</xsl:text> 1.1618 +</xsl:template> 1.1619 + 1.1620 +<xsl:template match="jint" mode="errordesc"> 1.1621 + <xsl:param name="id"/> 1.1622 + <xsl:apply-templates select="." mode="paramlink"/> 1.1623 + <xsl:text> is less than </xsl:text> 1.1624 + <code><xsl:value-of select="@min"/></code> 1.1625 + <xsl:text>.</xsl:text> 1.1626 +</xsl:template> 1.1627 + 1.1628 +<xsl:template match="jvalue|jchar|jlong|jfloat|jdouble|jboolean|char|uchar|size_t|void|varargs|struct" mode="haserrors"> 1.1629 +</xsl:template> 1.1630 + 1.1631 +<xsl:template match="jvalue|jchar|jlong|jfloat|jdouble|jboolean|char|uchar|size_t|void|varargs|struct" mode="errordesc"> 1.1632 + <xsl:param name="id"/> 1.1633 + <xsl:message terminate="yes"> 1.1634 + attempt to get error description for <xsl:apply-templates select="." mode="paramlink"/> 1.1635 + </xsl:message> 1.1636 +</xsl:template> 1.1637 + 1.1638 +<xsl:template match="ptrtype|outptr|allocbuf|allocallocbuf|inptr|inbuf|outbuf|vmbuf|agentbuf" mode="haserrors"> 1.1639 + <xsl:if test="count(nullok)=0"> 1.1640 + yes 1.1641 + </xsl:if> 1.1642 +</xsl:template> 1.1643 + 1.1644 +<xsl:template match="ptrtype|outptr|allocbuf|allocallocbuf|inptr|inbuf|outbuf|vmbuf|agentbuf" mode="errorid"> 1.1645 + <xsl:text>JVMTI_ERROR_NULL_POINTER</xsl:text> 1.1646 +</xsl:template> 1.1647 + 1.1648 +<xsl:template match="ptrtype|outptr|allocbuf|allocallocbuf|inptr|inbuf|outbuf|vmbuf|agentbuf" mode="errordesc"> 1.1649 + <xsl:param name="id"/> 1.1650 + <xsl:if test="count(nullok)=1"> 1.1651 + <xsl:message terminate="yes"> 1.1652 + attempt to get error description in null ok case for <xsl:apply-templates select="." mode="paramlink"/> 1.1653 + </xsl:message> 1.1654 + </xsl:if> 1.1655 + <xsl:apply-templates select="." mode="paramlink"/> 1.1656 + <xsl:text> is </xsl:text> 1.1657 + <code>NULL</code> 1.1658 + <xsl:text>.</xsl:text> 1.1659 +</xsl:template> 1.1660 + 1.1661 +<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"> 1.1662 + <a> 1.1663 + <xsl:attribute name="href">#<xsl:value-of select="ancestor::function/@id|ancestor::event/@id"/>.<xsl:value-of select="ancestor::param/@id"/> 1.1664 + </xsl:attribute> 1.1665 + <code> 1.1666 + <xsl:value-of select="ancestor::param/@id"/> 1.1667 + </code> 1.1668 + </a> 1.1669 +</xsl:template> 1.1670 + 1.1671 +<xsl:template match="error" mode="haserrors"> 1.1672 + yes 1.1673 +</xsl:template> 1.1674 + 1.1675 +<xsl:template match="error"> 1.1676 + <tr> 1.1677 + <td> 1.1678 + <a> 1.1679 + <xsl:attribute name="href">#<xsl:value-of select="@id"/></xsl:attribute> 1.1680 + <code> 1.1681 + <xsl:value-of select="@id"/> 1.1682 + </code> 1.1683 + </a> 1.1684 + </td> 1.1685 + <td> 1.1686 + <xsl:apply-templates/> 1.1687 + </td> 1.1688 + </tr> 1.1689 +</xsl:template> 1.1690 + 1.1691 +<xsl:template match="errorsection"> 1.1692 + <p/> 1.1693 + <hr noshade="noshade" size="3"/> 1.1694 + <h2> 1.1695 + Errors 1.1696 + </h2> 1.1697 + <p/> 1.1698 + <xsl:apply-templates select="intro"/> 1.1699 + <p/> 1.1700 + <xsl:apply-templates select="errorcategory"/> 1.1701 + <p/> 1.1702 +</xsl:template> 1.1703 + 1.1704 +<xsl:template match="datasection"> 1.1705 + <p/> 1.1706 + <hr noshade="noshade" size="3"/> 1.1707 + <h2> 1.1708 + Data Types 1.1709 + </h2> 1.1710 + <p/> 1.1711 + <xsl:apply-templates select="intro"/> 1.1712 + <xsl:apply-templates select="basetypes"/> 1.1713 + <p/> 1.1714 + <a name="StructureTypeDefinitions"></a> 1.1715 + <table border="1" cellpadding="3" cellspacing="0" width="100%"> 1.1716 + <tr bgcolor="#CCCCFF"> 1.1717 + <td colspan="2" align="center" class="tableHeader"> 1.1718 + Structure Type Definitions 1.1719 + </td> 1.1720 + </tr> 1.1721 + <tr bgcolor="#EEEEFF"> 1.1722 + <td> 1.1723 + Type 1.1724 + </td> 1.1725 + <td> 1.1726 + Description 1.1727 + </td> 1.1728 + </tr> 1.1729 + <xsl:apply-templates select="//typedef|//uniontypedef|//capabilitiestypedef" mode="tableentry"> 1.1730 + <xsl:sort select="@id"/> 1.1731 + </xsl:apply-templates> 1.1732 + </table> 1.1733 + <p/> 1.1734 + <a name="FunctionTypeDefinitions"></a> 1.1735 + <table border="1" cellpadding="3" cellspacing="0" width="100%"> 1.1736 + <tr bgcolor="#CCCCFF"> 1.1737 + <td colspan="2" align="center" class="tableHeader"> 1.1738 + Function Type Definitions 1.1739 + </td> 1.1740 + </tr> 1.1741 + <tr bgcolor="#EEEEFF"> 1.1742 + <td> 1.1743 + Type 1.1744 + </td> 1.1745 + <td> 1.1746 + Description 1.1747 + </td> 1.1748 + </tr> 1.1749 + <xsl:apply-templates select="//callback" mode="tableentry"> 1.1750 + <xsl:sort select="@id"/> 1.1751 + </xsl:apply-templates> 1.1752 + </table> 1.1753 + <p/> 1.1754 + <a name="EnumerationDefinitions"></a> 1.1755 + <table border="1" cellpadding="3" cellspacing="0" width="100%"> 1.1756 + <tr bgcolor="#CCCCFF"> 1.1757 + <td colspan="2" align="center" class="tableHeader"> 1.1758 + Enumeration Definitions 1.1759 + </td> 1.1760 + </tr> 1.1761 + <tr bgcolor="#EEEEFF"> 1.1762 + <td> 1.1763 + Type 1.1764 + </td> 1.1765 + <td> 1.1766 + Description 1.1767 + </td> 1.1768 + </tr> 1.1769 + <xsl:apply-templates select="//constants[@kind='enum']" mode="tableentry"> 1.1770 + <xsl:sort select="@id"/> 1.1771 + </xsl:apply-templates> 1.1772 + </table> 1.1773 + <p/> 1.1774 + <a name="FunctionTable"></a> 1.1775 + <table border="1" cellpadding="3" cellspacing="0" width="100%"> 1.1776 + <tr bgcolor="#CCCCFF"> 1.1777 + <td colspan="3" align="center" class="tableHeader"> 1.1778 + Function Table Layout 1.1779 + </td> 1.1780 + </tr> 1.1781 + <tr bgcolor="#EEEEFF"> 1.1782 + <td> 1.1783 + Position 1.1784 + </td> 1.1785 + <td> 1.1786 + Function 1.1787 + </td> 1.1788 + <td> 1.1789 + Declaration 1.1790 + </td> 1.1791 + </tr> 1.1792 + <xsl:call-template name="funcStruct"> 1.1793 + <xsl:with-param name="funcs" select="//functionsection/category/function[count(@hide)=0]"/> 1.1794 + <xsl:with-param name="index" select="1"/> 1.1795 + </xsl:call-template> 1.1796 + </table> 1.1797 + <p/> 1.1798 +</xsl:template> 1.1799 + 1.1800 + 1.1801 +<xsl:template name="funcStruct"> 1.1802 + <xsl:param name="funcs"/> 1.1803 + <xsl:param name="index"/> 1.1804 + <xsl:variable name="thisFunction" select="$funcs[@num=$index]"/> 1.1805 + <tr> 1.1806 + <td align="right"> 1.1807 + <xsl:number value="$index" format=" 1"/> 1.1808 + </td> 1.1809 + <xsl:choose> 1.1810 + <xsl:when test="count($thisFunction)=1"> 1.1811 + <td> 1.1812 + <a> 1.1813 + <xsl:attribute name="href"> 1.1814 + <xsl:text>#</xsl:text> 1.1815 + <xsl:value-of select="$thisFunction/@id"/> 1.1816 + </xsl:attribute> 1.1817 + <xsl:value-of select="$thisFunction/synopsis"/> 1.1818 + </a> 1.1819 + </td> 1.1820 + <td> 1.1821 + <pre> 1.1822 + <xsl:text>jvmtiError (JNICALL *</xsl:text> 1.1823 + <xsl:value-of select="$thisFunction/@id"/> 1.1824 + <xsl:text>) (jvmtiEnv* env</xsl:text> 1.1825 + <xsl:apply-templates select="$thisFunction/parameters" mode="signature"> 1.1826 + <xsl:with-param name="comma"> 1.1827 + <xsl:text>, 
 </xsl:text> 1.1828 + </xsl:with-param> 1.1829 + </xsl:apply-templates> 1.1830 + <xsl:text>);</xsl:text> 1.1831 + </pre> 1.1832 + </td> 1.1833 + </xsl:when> 1.1834 + <xsl:otherwise> 1.1835 + <xsl:if test="count($thisFunction) != 0"> 1.1836 + <xsl:message terminate="yes"> 1.1837 + More than one function has index number <xsl:number value="$index" format=" 1"/>. 1.1838 + </xsl:message> 1.1839 + </xsl:if> 1.1840 + <td> 1.1841 + <i>reserved</i> 1.1842 + </td> 1.1843 + <td> 1.1844 + <pre> 1.1845 + <xsl:text>void *reserved</xsl:text> 1.1846 + <xsl:value-of select="$index"/> 1.1847 + <xsl:text>;</xsl:text> 1.1848 + </pre> 1.1849 + </td> 1.1850 + </xsl:otherwise> 1.1851 + </xsl:choose> 1.1852 + </tr> 1.1853 + <xsl:if test="count($funcs[@num > $index]) > 0"> 1.1854 + <xsl:call-template name="funcStruct"> 1.1855 + <xsl:with-param name="funcs" select="$funcs"/> 1.1856 + <xsl:with-param name="index" select="1+$index"/> 1.1857 + </xsl:call-template> 1.1858 + </xsl:if> 1.1859 +</xsl:template> 1.1860 + 1.1861 + 1.1862 + 1.1863 +<xsl:template match="errorcategory"> 1.1864 + <h3> 1.1865 + <xsl:attribute name="id"> 1.1866 + <xsl:value-of select="@id"/> 1.1867 + </xsl:attribute> 1.1868 + <xsl:value-of select="@label"/> 1.1869 + </h3> 1.1870 + <xsl:apply-templates select="intro"/> 1.1871 + <p/> 1.1872 + <dl> 1.1873 + <xsl:apply-templates select="errorid"/> 1.1874 + </dl> 1.1875 + <p/> 1.1876 +</xsl:template> 1.1877 + 1.1878 +<xsl:template match="errorid"> 1.1879 + <dt> 1.1880 + <code> 1.1881 + <xsl:attribute name="id"> 1.1882 + <xsl:value-of select="@id"/> 1.1883 + </xsl:attribute> 1.1884 + <xsl:value-of select="@id"/> (<xsl:value-of select="@num"/>) 1.1885 + </code> 1.1886 + </dt> 1.1887 + <dd> 1.1888 + <xsl:apply-templates/> 1.1889 + <p/> 1.1890 + </dd> 1.1891 +</xsl:template> 1.1892 + 1.1893 +<xsl:template match="changehistory"> 1.1894 + <p/><hr noshade="noshade" size="3"/> 1.1895 + <h2>Change History</h2> 1.1896 + Last update: <xsl:value-of select="@update"/><br/> 1.1897 + Version: <xsl:call-template name="showversion"/> 1.1898 + <p/> 1.1899 + <xsl:apply-templates select="intro"/> 1.1900 + <p/> 1.1901 + <table border="1" cellpadding="3" cellspacing="0" width="100%"> 1.1902 + <tr bgcolor="#EEEEFF"> 1.1903 + <td> 1.1904 + <b>Version</b><br/> 1.1905 + <b>Date</b> 1.1906 + </td> 1.1907 + <td> 1.1908 + <b>Changes</b> 1.1909 + </td> 1.1910 + </tr> 1.1911 + <xsl:apply-templates select="change"/> 1.1912 + </table> 1.1913 +</xsl:template> 1.1914 + 1.1915 +<xsl:template match="change"> 1.1916 + <tr> 1.1917 + <td> 1.1918 + <xsl:if test="count(@version)"> 1.1919 + <b> 1.1920 + <xsl:value-of select="@version"/> 1.1921 + </b> 1.1922 + <br/> 1.1923 + </xsl:if> 1.1924 + <xsl:value-of select="@date"/> 1.1925 + </td> 1.1926 + <td> 1.1927 + <xsl:apply-templates/> 1.1928 + </td> 1.1929 + </tr> 1.1930 +</xsl:template> 1.1931 + 1.1932 +<xsl:template match="intro"> 1.1933 + <xsl:if test="@id!=''"> 1.1934 + <xsl:choose> 1.1935 + <xsl:when test="@label!=''"> 1.1936 + <h4> 1.1937 + <xsl:attribute name="id"> 1.1938 + <xsl:value-of select="@id"/> 1.1939 + </xsl:attribute> 1.1940 + <xsl:value-of select="@label"/> 1.1941 + </h4> 1.1942 + </xsl:when> 1.1943 + <xsl:otherwise> 1.1944 + <a> 1.1945 + <xsl:attribute name="name"> 1.1946 + <xsl:value-of select="@id"/> 1.1947 + </xsl:attribute> 1.1948 + </a> 1.1949 + </xsl:otherwise> 1.1950 + </xsl:choose> 1.1951 + </xsl:if> 1.1952 + <xsl:apply-templates/> 1.1953 +</xsl:template> 1.1954 + 1.1955 +<xsl:template match="issue"> 1.1956 + <xsl:if test="$development = 'Show'"> 1.1957 + <p style="color: red"> 1.1958 + To be resolved: 1.1959 + <xsl:apply-templates/> 1.1960 + </p> 1.1961 + </xsl:if> 1.1962 +</xsl:template> 1.1963 + 1.1964 +<xsl:template match="rationale"> 1.1965 + <p style="color: purple"> 1.1966 + Rationale: 1.1967 + <xsl:apply-templates/> 1.1968 + </p> 1.1969 +</xsl:template> 1.1970 + 1.1971 +<xsl:template match="todo"> 1.1972 + <xsl:if test="$development = 'Show'"> 1.1973 + <p style="color: green"> 1.1974 + To do: 1.1975 + <xsl:apply-templates/> 1.1976 + </p> 1.1977 + </xsl:if> 1.1978 +</xsl:template> 1.1979 + 1.1980 +<xsl:template match="elide"> 1.1981 +</xsl:template> 1.1982 + 1.1983 +<xsl:template match="b"> 1.1984 + <b> 1.1985 + <xsl:apply-templates/> 1.1986 + </b> 1.1987 +</xsl:template> 1.1988 + 1.1989 +<xsl:template match="example"> 1.1990 + <blockquote> 1.1991 + <pre> 1.1992 + <xsl:apply-templates/> 1.1993 + </pre> 1.1994 + </blockquote> 1.1995 +</xsl:template> 1.1996 + 1.1997 + 1.1998 +<xsl:template match="table"> 1.1999 + <table border="1" cellpadding="3" cellspacing="0" width="100%"> 1.2000 + <xsl:apply-templates/> 1.2001 + </table> 1.2002 +</xsl:template> 1.2003 + 1.2004 +<xsl:template match="tr"> 1.2005 + <tr> 1.2006 + <xsl:apply-templates/> 1.2007 + </tr> 1.2008 +</xsl:template> 1.2009 + 1.2010 +<xsl:template match="td"> 1.2011 + <td> 1.2012 + <xsl:attribute name="align"> 1.2013 + <xsl:value-of select="@align"/> 1.2014 + </xsl:attribute> 1.2015 + <xsl:apply-templates/> 1.2016 + </td> 1.2017 +</xsl:template> 1.2018 + 1.2019 +<xsl:template match="th"> 1.2020 + <th bgcolor="#EEEEFF"> 1.2021 + <xsl:attribute name="align"> 1.2022 + <xsl:value-of select="@align"/> 1.2023 + </xsl:attribute> 1.2024 + <xsl:apply-templates/> 1.2025 + </th> 1.2026 +</xsl:template> 1.2027 + 1.2028 +<xsl:template match="dl"> 1.2029 + <dl> 1.2030 + <xsl:apply-templates/> 1.2031 + </dl> 1.2032 +</xsl:template> 1.2033 + 1.2034 +<xsl:template match="dt"> 1.2035 + <dt> 1.2036 + <xsl:apply-templates/> 1.2037 + </dt> 1.2038 +</xsl:template> 1.2039 + 1.2040 +<xsl:template match="dd"> 1.2041 + <dd> 1.2042 + <xsl:apply-templates/> 1.2043 + </dd> 1.2044 +</xsl:template> 1.2045 + 1.2046 +<xsl:template match="p"> 1.2047 + <p> 1.2048 + <xsl:apply-templates/> 1.2049 + </p> 1.2050 +</xsl:template> 1.2051 + 1.2052 +<xsl:template match="br"> 1.2053 + <br> 1.2054 + <xsl:apply-templates/> 1.2055 + </br> 1.2056 +</xsl:template> 1.2057 + 1.2058 +<xsl:template match="ul"> 1.2059 + <ul> 1.2060 + <xsl:attribute name="type"><xsl:value-of select="@type"/></xsl:attribute> 1.2061 + <xsl:apply-templates/> 1.2062 + </ul> 1.2063 +</xsl:template> 1.2064 + 1.2065 +<xsl:template match="li"> 1.2066 + <li> 1.2067 + <xsl:apply-templates/> 1.2068 + </li> 1.2069 +</xsl:template> 1.2070 + 1.2071 +<xsl:template match="code"> 1.2072 + <code> 1.2073 + <xsl:apply-templates/> 1.2074 + </code> 1.2075 +</xsl:template> 1.2076 + 1.2077 +<xsl:template match="tm"> 1.2078 + <xsl:apply-templates/> 1.2079 + <sup style="font-size: xx-small"> 1.2080 + <xsl:text>TM</xsl:text> 1.2081 + </sup> 1.2082 + <xsl:text> </xsl:text> 1.2083 +</xsl:template> 1.2084 + 1.2085 +<xsl:template match="b"> 1.2086 + <b> 1.2087 + <xsl:apply-templates/> 1.2088 + </b> 1.2089 +</xsl:template> 1.2090 + 1.2091 +<xsl:template match="i"> 1.2092 + <i> 1.2093 + <xsl:apply-templates/> 1.2094 + </i> 1.2095 +</xsl:template> 1.2096 + 1.2097 +<xsl:template match="space"> 1.2098 + <xsl:text> </xsl:text> 1.2099 +</xsl:template> 1.2100 + 1.2101 +<xsl:template match="jvmti"> 1.2102 + <xsl:text>JVM</xsl:text><small style="font-size: xx-small"> </small><xsl:text>TI</xsl:text> 1.2103 +</xsl:template> 1.2104 + 1.2105 + 1.2106 +</xsl:stylesheet>