RFR: 8338544: Dedicated Array class descriptor implementation [v6]

Mandy Chung mchung at openjdk.org
Wed Oct 23 04:12:07 UTC 2024


On Tue, 22 Oct 2024 04:50:29 GMT, Chen Liang <liach at openjdk.org> wrote:

>> @cl4es discovered that Stack Map generation in ClassFile API uses `componentType` and `arrayType` for `aaload` `aastore` instructions, which are currently quite slow. We can split out array class descriptors from class or interfaces to support faster `arrayType` and `componentType` operations.
>> 
>> Tentative, as I currently have no way to measure the actual impact of this patch on the startup performance; however, this made the `ClassDesc` implementations much cleaner.
>
> Chen Liang has updated the pull request incrementally with one additional commit since the last revision:
> 
>   Relax displayName spec

src/java.base/share/classes/java/lang/constant/ClassDesc.java line 278:

> 276: 
> 277:     /**
> 278:      * {@return a human-readable name for this {@code ClassDesc}}

Suggestion:

     * {@return a human-readable name for this {@code ClassDesc}}
     * For primitive types, this method returns the simple name (for example {@code int}).
     * For class or interface types, this method returns the unqualified class name.
     * For array types, this method returns the human-readable name of the component 
     * type suffixed with the appropriate number of {@code []} pairs.

-------------

PR Review Comment: https://git.openjdk.org/jdk/pull/20665#discussion_r1811799147


More information about the core-libs-dev mailing list