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

Reply via email to