On Tue, 13 Jun 2023 09:15:13 GMT, Chen Liang <li...@openjdk.org> wrote:

>> Adam Sotona has updated the pull request incrementally with one additional 
>> commit since the last revision:
>> 
>>   ClassHierarchyResolver.DEFAULT_RESOLVER gets info from system class loader 
>> and does not cache
>>   method-level caching is enabled if the provided resolver is not already 
>> cached
>
> src/java.base/share/classes/jdk/internal/classfile/impl/DirectCodeBuilder.java
>  line 334:
> 
>> 332:                     maxLocals = original.maxLocals();
>> 333:                     maxStack = original.maxStack();
>> 334:                     stackMapAttr = 
>> original.findAttribute(Attributes.STACK_MAP_TABLE).orElse(null);
> 
> On the baseline, if a stack map table attribute can be reused but this 
> findAttribute doesn't find an attribute (implying an implicit stack map, 
> potentially for simple code?), we will not perform a stack map generation and 
> simply reuse a trivial stack map (null), which should be a correct algorithm.

Yes, I caused this regression by "Revert of DirectCodeBuilder.needsStackMap 
pre-calculation" commit above.
The needStackMap pre-calculation on the other side caused regression in lambda 
performance, so one regression has been replaced with another.

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

PR Review Comment: https://git.openjdk.org/jdk/pull/14180#discussion_r1228001362

Reply via email to