RFR: 8316181: Move the fast locking implementation out of the .ad files [v3]
Roman Kennke
rkennke at openjdk.org
Thu Sep 14 09:15:43 UTC 2023
On Thu, 14 Sep 2023 07:26:06 GMT, Stefan Karlsson <stefank at openjdk.org> wrote:
>> Some platforms put the fast locking implementation in the `C2_MacroAssembler` class, while others have it in the .ad files. I'd like to propose that we unify this a bit and move the code out of the .ad files.
>>
>> The benefit is consistency between the platforms but also that it is easier to work with the C++ code when it is in plain C++ files and not in the .ad files.
>>
>> The implementation is a pure copy of the code except that the section:
>>
>> C2_MacroAssembler _masm(&cbuf);
>> Register oop = as_Register($object$$reg);
>> Register box = as_Register($box$$reg);
>> Register disp_hdr = as_Register($tmp$$reg);
>> Register tmp = as_Register($tmp2$$reg);
>>
>>
>> has been replaced with:
>>
>> Register oop = objectReg;
>> Register box = boxReg;
>> Register disp_hdr = tmpReg;
>> Register tmp = tmp2Reg;
>>
>>
>> and the references to `__ ` have been removed.
>>
>> This change affects AArch64 and RISC-V
>>
>> Tested with tier1-3 on AArch64
>>
>> This PR depends on #15709
>
> Stefan Karlsson has updated the pull request with a new target base due to a merge or a rebase. The incremental webrev excludes the unrelated changes brought in by the merge/rebase. The pull request contains four additional commits since the last revision:
>
> - Merge remote-tracking branch 'upstream/master' into fast_locking_unification
> - Move fast lock/unlock out of riscv.ad
> - Move fast lock/unlock out of aarch64.ad
> - Use consistent naming for MacroAssembler lightweight locking
Looks good, thank you!
-------------
Marked as reviewed by rkennke (Reviewer).
PR Review: https://git.openjdk.org/jdk/pull/15712#pullrequestreview-1626424438
More information about the hotspot-compiler-dev
mailing list