[master] RFR: Load narrowKlass from header, AArch64 assembler implementation [v3]

Roman Kennke rkennke at openjdk.java.net
Mon Jan 31 13:01:48 UTC 2022


On Fri, 28 Jan 2022 12:06:01 GMT, Roman Kennke <rkennke at openjdk.org> wrote:

>> OK, I give up. Please document 'clobbers flags' very clearly.
>
>> OK, I give up. Please document 'clobbers flags' very clearly.
> 
> I will try to make it that the caller ensures that src != dst, and also passes a tmp register, then we can avoid clobbering the flags register altogether and also avoid the register shuffling madness. Not sure if that's always feasable, though.

Alright, ensuring src != dst is relatively easy and seems worth doing (makes fast-path faster). I tried using rscratch2 as tmp register and use the proposed andr/cbnz sequence, but apparently rscratch2 is live in at least one path, and I could not easily find it. I documented the register usage, and that the load_klass() clobbers condition flags. That seems good enough for now, especially considering that at some point in the future, it will all go away (when locking is not overlaying the Klass* stuff in the header anymore).
@theRealAph ok now?

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

PR: https://git.openjdk.java.net/lilliput/pull/36


More information about the lilliput-dev mailing list