RFR: 8361102: java.lang.classfile.CodeBuilder.branch(Opcode op, Label target) doesn't throw IllegalArgumentException - if op is not of Opcode.Kind.BRANCH
Adam Sotona
asotona at openjdk.org
Fri Jul 11 14:06:40 UTC 2025
On Wed, 9 Jul 2025 21:14:17 GMT, Chen Liang <liach at openjdk.org> wrote:
> Currently, DirectCodeBuilder is erroneously missing argument checks for a few of its override methods that take arguments such as Opcode and the array size for multianewarray and the switches, which would write something before throwing an exception. We correct these problems and verify with some tests.
>
> Note: Other Label-writing methods resolve their label eagerly so they are not (yet) problematic.
src/java.base/share/classes/jdk/internal/classfile/impl/DirectCodeBuilder.java line 628:
> 626: @Override
> 627: public int compare(SwitchCase c1, SwitchCase c2) {
> 628: return Integer.compare(c1.caseValue(), c2.caseValue());
isn this an implicit null check?
-------------
PR Review Comment: https://git.openjdk.org/jdk/pull/26229#discussion_r2200827480
More information about the core-libs-dev
mailing list