RFR: 8308469: [PPC64] Implement alternative fast-locking scheme [v2]

Richard Reingruber rrich at openjdk.org
Fri May 26 10:00:55 UTC 2023


On Thu, 25 May 2023 16:57:36 GMT, Martin Doerr <mdoerr at openjdk.org> wrote:

>> New alternative fast-locking scheme for PPC64. Mostly implemented like on other platforms.
>> Differences (also explained by comments in code):
>> - Not using C2HandleAnonOMOwnerStub because the C2 code is reused for native wrappers.
>> - Implemented a helper function `MacroAssembler::atomically_flip_locked_state` which makes it much easier to implement fast_lock/unlock for PPC64 (mainly because of register constraints in C1).
>> - Using acquire/release barriers only for locking/unlocking.
>> 
>> I have changed the C2 code to use ConditionRegister CR0 which fits better to the new locking code. Therefore, I have adapted the other modes to work with that, too.
>> Note that we don't support RTM with new locking modes. That feature will probably get removed in a future JDK version. (Already unsupported with Power10.)
>
> Martin Doerr has updated the pull request incrementally with one additional commit since the last revision:
> 
>   interp_masm: Rename displaced_header to header.

Not sure about the handling of the anonymous case. Let's see what others think.
Otherwise good!

Thanks, Richard.

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

Marked as reviewed by rrich (Reviewer).

PR Review: https://git.openjdk.org/jdk/pull/14069#pullrequestreview-1445872731


More information about the hotspot-dev mailing list