RFR: 8319801: Recursive lightweight locking: aarch64 implementation [v6]
Axel Boldt-Christmas
aboldtch at openjdk.org
Wed Jan 24 15:59:31 UTC 2024
On Wed, 24 Jan 2024 15:49:57 GMT, Coleen Phillimore <coleenp at openjdk.org> wrote:
>> Ok I understand, thank you! I actually like it more the way you did it before (without the bool preload_mark flag). An extra comment there may be useful.
>> Or maybe consider to load the mark in MacroAssembler as first instruction unconditionally? As far as I can tell mark-word is not used in the lock-stack-full case (very uncommon) and recursive (more common), but it's only really relevant for interpreter and shared-runtime (C2 has its own impl, C1 needs to have the load there anyway), where the extra cycle don't really matter anyway? Would keep the code cleaner. But it means there is an implicit behavioural dependency between the locking impl and the C1 impl, which might be problematic.
>> But let's not add bools and different code-paths, this is even more confusing.
>
> Me too, I prefer not having the extra bool passed around.
I'll add it unconditionally then. That was my initial solution to fix the C1 issue.
-------------
PR Review Comment: https://git.openjdk.org/jdk/pull/16608#discussion_r1465146712
More information about the hotspot-dev
mailing list