RFR: 8338995: New Object to ObjectMonitor mapping: PPC64 implementation [v3]
Richard Reingruber
rrich at openjdk.org
Wed Sep 18 14:31:06 UTC 2024
On Wed, 18 Sep 2024 14:02:27 GMT, Martin Doerr <mdoerr at openjdk.org> wrote:
>> Yes, I think so. Note that `mark` and `monitor` are the same register. The difference is that the ObjectMonitor pointer in the mark word is tagged. This needs to be compensate for in the offset (L2876 in my suggestion). It might be better to use `monitor` also at L2814 and add a comment at the declaration of `monitor` that the pointer is tagged with `!UseObjectMonitorTable`.
>
> The idea is good. Unfortunately, it doesn't work because ld/std instructions can't add/subtract small offsets: https://github.com/openjdk/jdk/blob/471a51a5a4395f0bc6818c3c1d30455ce75500d6/src/hotspot/cpu/ppc/assembler_ppc.hpp#L1144
> assert((x & 0x3) == 0) failed: unaligned offset
Ah, I see. Thanks!
-------------
PR Review Comment: https://git.openjdk.org/jdk/pull/20922#discussion_r1765167852
More information about the hotspot-dev
mailing list