On Fri, 11 Jul 2025 14:03:44 GMT, Adam Sotona <asot...@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?

Yes, but this doesn't run when the list has just one element of `null` - see 
case 
https://github.com/openjdk/jdk/pull/26229/files#diff-cb987200ae23ff7522bd692d4707a012b115bf778a1265ba11db0b3bf5c9aa7cR98

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

PR Review Comment: https://git.openjdk.org/jdk/pull/26229#discussion_r2200872686

Reply via email to