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