On Sat, 3 Sep 2022 00:52:56 GMT, Serguei Spitsyn <sspit...@openjdk.org> wrote:
> The Loom related spec of the extension VirtualThreadMount and > VirtualThreadUnmount events in the jvmti.xml is surrounded by the elements > `<elide> ... </elide>`, so these specs have to be ignored when the > `jvmti.html `is generated. However the `jvmti.xsl` which does the XSL > transformation misses to do that when the description of the JVM TI > capabilities is collected. > > The fix is a one-liner: > > diff --git a/src/hotspot/share/prims/jvmti.xsl > b/src/hotspot/share/prims/jvmti.xsl > index 5ef89f91daf..d54d2a371e6 100644 > --- a/src/hotspot/share/prims/jvmti.xsl > +++ b/src/hotspot/share/prims/jvmti.xsl > @@ -1172,7 +1172,7 @@ typedef struct { > </tr> > <xsl:for-each select="//capabilityfield"> > <xsl:variable name="capa" select="@id"/> > - <xsl:variable name="events" > select="//event[capabilities/required/@id=$capa]"/> > + <xsl:variable name="events" > select="//event[capabilities/required/@id=$capa and not(ancestor::elide)]"/> > <xsl:if test="count($events)"> > <tr> > <th scope="row"> > > > The correctness verification both the generated `jvmti.html` and `jvmti.h` > was checked. > TBD: mach5 sanity builds and `nsk.jvmti` tests runs. `not(ancestor::elide)` looks right. Looks good. ------------- Marked as reviewed by alanb (Reviewer). PR: https://git.openjdk.org/jdk/pull/10153