On Tue, 29 Apr 2025 19:41:23 GMT, Roger Riggs <rri...@openjdk.org> wrote:

>> Chen Liang has updated the pull request with a new target base due to a 
>> merge or a rebase. The pull request now contains 10 commits:
>> 
>>  - Wording updates
>>  - Merge branch 'feature/af-location-accessors' into feature/af-cffv-parse
>>  - Missing since
>>  - Fix javap causing strictfp tests to fail
>>  - Further furnish docs
>>  - Merge branch 'feature/af-location-accessors' into feature/af-cffv-parse
>>  - Merge branch 'feature/af-location-accessors' into feature/af-cffv-parse
>>  - Merge branch 'master' of https://github.com/openjdk/jdk into 
>> feature/af-cffv-parse
>>  - Redundant method
>>  - 8297271: AccessFlag.maskToAccessFlags should be specific to class file 
>> version
>
> src/java.base/share/classes/java/lang/reflect/AccessFlag.java line 401:
> 
>> 399:     public static Set<AccessFlag> maskToAccessFlags(int mask, Location 
>> location, ClassFileFormatVersion cffv) {
>> 400:         var definition = findDefinition(location);
>> 401:         int unmatchedMask = mask & (~location.flagsMask(cffv)); // 
>> implicit null check
> 
> Implicit null check is actually in `findDefinition`.
> There's little harm is looking up the definition before checking for 
> unmatched mask bits but it could be delayed and inlined as the argument to 
> `new AccessFlagSet`.

Oops, this was the implicit null check for cffv. Should I make all of the 
checks explicit?

Also, I split out `findDefinition` as in value objects, it will become 
`findDefinition(location, cffv)`, when the valhalla cffv is passed, 
findDefinition can return differently for Location.CLASS.

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

PR Review Comment: https://git.openjdk.org/jdk/pull/24760#discussion_r2067292304

Reply via email to