On Sun, 28 Jul 2024 02:39:23 GMT, Chen Liang <li...@openjdk.org> wrote:

>> As discussed in offline meeting, the max stack and locals information are 
>> part of the code attribute and not meaningful for buffered code elements. 
>> Computation would be costly and these see no real usage during 
>> transformations. Thus, the proposed solution is to move these APIs to be 
>> CodeAttribute specific, as this is already how all these APIs' users are 
>> using.
>> 
>> Also removed useless `Writable` on buffered models, and fixed 
>> `BufferedMethodBuilder::code` implementation.
>
> Chen Liang has updated the pull request with a new target base due to a merge 
> or a rebase. The incremental webrev excludes the unrelated changes brought in 
> by the merge/rebase. The pull request contains three additional commits since 
> the last revision:
> 
>  - Merge branch 'master' of https://github.com/openjdk/jdk into 
> fix/codemodel-maxes
>  - Reuse local var management from buffered code builders
>  - 8337225: Demote maxStack and maxLocals from CodeModel to CodeAttribute

src/java.base/share/classes/jdk/internal/classfile/impl/TerminalCodeBuilder.java
 line 41:

> 39:         }
> 40:         if (original instanceof CodeAttribute attr) {
> 41:             return Math.max(paramSlots, attr.codeLength());

Suggestion:

            return Math.max(paramSlots, attr.maxLocals());

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

PR Review Comment: https://git.openjdk.org/jdk/pull/20338#discussion_r1694387536

Reply via email to