RFR: 8319801: Recursive lightweight locking: aarch64 implementation [v16]
Axel Boldt-Christmas
aboldtch at openjdk.org
Tue Feb 13 12:41:38 UTC 2024
On Tue, 13 Feb 2024 12:22: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/c2_MacroAssembler_aarch64.cpp line 243:
>
>> 241: ldrw(t1, Address(t1, Klass::access_flags_offset()));
>> 242: tstw(t1, JVM_ACC_IS_VALUE_BASED_CLASS);
>> 243: br(Assembler::NE, slow_path);
>
> Suggestion:
>
> tbnz(t1, exact_log2(JVM_ACC_IS_VALUE_BASED_CLASS));
The condition flags must be correct when leaving `fast_lock` and `fast_unlock`. The test is used to set the proper NE condition when jumping out.
-------------
PR Review Comment: https://git.openjdk.org/jdk/pull/16608#discussion_r1487774734
More information about the hotspot-dev
mailing list