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