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

Roman Kennke rkennke at openjdk.java.net
Tue Feb 1 18:56:36 UTC 2022


On Tue, 1 Feb 2022 18:28:42 GMT, Andrew Haley <aph at openjdk.org> wrote:

> It looks good now. Having said that, the convention is mostly that macros can use rscratchN registers freely internally, and that any caller needs to be aware of that. Here is the opposite of that convention: `load_nklass` carefully avoids clobbering `rscratch1` and `rscratch2` in order to make things easier for the caller. So, while this is something of a surprise for the maintainer, it's an elegant way to solve the problem.

Thanks!
I believe the trouble is that load_klass() is used in some C1 generated code paths, and C1 register allocator doesn't ignore rscratch1 and rscratch2. I may be wrong, though.

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

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


More information about the lilliput-dev mailing list