On Mon, 26 Aug 2024 15:00:29 GMT, Chen Liang <li...@openjdk.org> wrote:

>> src/java.base/share/classes/jdk/internal/classfile/impl/ClassFileImpl.java 
>> line 86:
>> 
>>> 84:         var amo = attributeMapperOption;
>>> 85:         for (var o : options) {
>>> 86:             if (o instanceof StackMapsOption oo) {
>> 
>> Just out of curiosity, will this be slower than the switch statement?
>
> It may after `SwitchBootstraps` is improved; but this code will be relied on 
> by `SwitchBootstraps` to generate switches, so it won't be able to use 
> pattern matching switches.

I don't think (throughput) performance matters here, based on patterns in JDK 
internal code. We use either `ClassFile.of()` which retrieves a pre-initialized 
singleton (creating which doesn't touch this method) or create a private static 
final like in `ProxyGenerator`:

    private static final ClassFile CF_CONTEXT =
            ClassFile.of(ClassFile.StackMapsOption.DROP_STACK_MAPS);

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

PR Review Comment: https://git.openjdk.org/jdk/pull/20714#discussion_r1731433796

Reply via email to