RFR: 8319801: Recursive lightweight locking: aarch64 implementation [v16]

Axel Boldt-Christmas aboldtch at openjdk.org
Tue Feb 13 12:46:13 UTC 2024


On Tue, 13 Feb 2024 12:38:45 GMT, Andrew Haley <aph at openjdk.org> wrote:

>> Axel Boldt-Christmas has updated the pull request with a new target base due to a merge or a rebase. The pull request now contains 79 commits:
>> 
>>  - Merge remote-tracking branch 'upstream_jdk/master' into JDK-8319801
>>  - Revert "Update src/hotspot/cpu/aarch64/c2_MacroAssembler_aarch64.cpp"
>>    
>>    This reverts commit 130cf4b7f5b37ecb9dda3ce07ed70c3da13b29b8.
>>  - Merge remote-tracking branch 'upstream_jdk/pr/16606' into JDK-8319801
>>  - Running out of LogTagSets, stick with monitorinflation
>>  - Merge remote-tracking branch 'upstream_jdk/master' into JDK-8319797
>>  - Merge remote-tracking branch 'upstream_jdk/pr/16606' into JDK-8319801
>>  - Merge remote-tracking branch 'upstream_jdk/master' into JDK-8319797
>>  - Fix assert comment
>>  - Update src/hotspot/cpu/aarch64/c2_MacroAssembler_aarch64.cpp
>>    
>>    Co-authored-by: Andrew Haley <aph-open at littlepinkcloud.com>
>>  - Clarify the rscratch1 assert
>>  - ... and 69 more: https://git.openjdk.org/jdk/compare/c266800a...20e92608
>
> src/hotspot/cpu/aarch64/macroAssembler_aarch64.cpp line 6371:
> 
>> 6369: 
>> 6370:   // Check header for monitor (0b10).
>> 6371:   tst(mark, markWord::monitor_value);
> 
> Do you need the flag here, or can you use `tbnz`?

Not after this change. (Will double check, but it should only be C2 that required this and C2 does no longer use `MacroAssembler::lightweight_lock`) It can be a `tbnz`.

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

PR Review Comment: https://git.openjdk.org/jdk/pull/16608#discussion_r1487783659


More information about the hotspot-dev mailing list