On Mon, 1 Sep 2025 09:00:32 GMT, Francesco Andreuzzi <d...@openjdk.org> wrote:
> In this PR I introduce some constants in `StackMapGenerator`. No change in > logic is expected. > > Passes tests in `jdk/classfile`. Thanks for pinging me. This must have got forgotten in the stream of emails. src/java.base/share/classes/jdk/internal/classfile/impl/StackMapDecoder.java line 145: > 143: } > 144: } else if (fr.stack().size() == 1 && > fr.locals().equals(prevLocals)) { > 145: if (offsetDelta <= SAME_FRAME_END) { //same locals 1 stack > item frame This is better represented as Suggestion: if (offsetDelta <= SAME_LOCALS_1_STACK_ITEM_FRAME_END - SAME_LOCALS_1_STACK_ITEM_FRAME_START) { //same locals 1 stack item frame src/java.base/share/classes/jdk/internal/classfile/impl/StackMapGenerator.java line 188: > 186: > 187: public static final int > 188: SAME_FRAME_END = 63, Can you add a comment on these constants that they are inclusive on both ends? A lot of ranges in Java are open on their higher end, like range notations in Arrays.copyOf or String.substring. src/java.base/share/classes/jdk/internal/classfile/impl/StackMapGenerator.java line 1256: > 1254: } > 1255: } else if (stackSize == 1 && localsSize == > prevFrame.localsSize && equals(locals, prevFrame.locals, localsSize)) { > 1256: if (offsetDelta <= SAME_FRAME_END) { //same locals 1 > stack item frame Suggestion: if (offsetDelta <= SAME_LOCALS_1_STACK_ITEM_FRAME_END - SAME_LOCALS_1_STACK_ITEM_FRAME_START) { //same locals 1 stack item frame Same comment. ------------- PR Comment: https://git.openjdk.org/jdk/pull/27029#issuecomment-3262178996 PR Review Comment: https://git.openjdk.org/jdk/pull/27029#discussion_r2327393978 PR Review Comment: https://git.openjdk.org/jdk/pull/27029#discussion_r2327385656 PR Review Comment: https://git.openjdk.org/jdk/pull/27029#discussion_r2327398615