On Wed, 20 Aug 2025 21:34:29 GMT, ExE Boss <d...@openjdk.org> wrote:

>> Guanqiang Han has updated the pull request incrementally with one additional 
>> commit since the last revision:
>> 
>>   Update Class.java
>>   
>>   updates the class name length validation logic on the Java side
>
> src/java.base/share/classes/java/lang/Class.java line 4160:
> 
>> 4158:     // Checks whether the class name exceeds the maximum allowed 
>> length.
>> 4159:     private static boolean classNameLengthIsValid(String name) {
>> 4160:         Objects.requireNonNull(name);
> 
> This is not needed as the `name.length()` call already performs an implicit 
> `null` check.

hi @ExE-Boss ,thanks for your comment regarding the 
Objects.requireNonNull(name) call. I understand that name.length() triggers an 
implicit null check, which could make the explicit check seem redundant.

However, I wonder if there is a subtle difference worth considering here: the 
implicit null check relies on the system exception (signal) mechanism and 
subsequent JVM handling, which does have some overhead. In addition, as i know, 
C2 decides whether to use implicit null checks after performing statistical 
analysis. For this kind of core library, should we assume that null is a 
low-probability event?

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

PR Review Comment: https://git.openjdk.org/jdk/pull/26802#discussion_r2289682197

Reply via email to