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