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

Roman Kennke rkennke at openjdk.java.net
Wed Feb 2 14:58:46 UTC 2022


On Wed, 26 Jan 2022 10:57:46 GMT, Roman Kennke <rkennke at openjdk.org> wrote:

> This implements MacroAssembler::load_klass() to load the (narrow)Klass* from object header. Just like the x86_64 implementation, it checks whether it can take the fast path (object unlocked -> load from upper 32bits of header), or else calls the runtime to get a stable header and load from that.
> 
> It adds a runtime call stub, which will also be used in the C2 implementation. It also adds nklass_offset_in_bytes() which will also be used in C2 impl. The part in generate_verify_oop() is a little nasty, I added a comment that explains what's going on.
> 
> Testing:
>  - [x] tier1 (aarch64)
>  - [x] tier2 (aarch64)
>  - [x] tier3 (aarch64)

This pull request has now been integrated.

Changeset: e3b8f983
Author:    Roman Kennke <rkennke at openjdk.org>
URL:       https://git.openjdk.java.net/lilliput/commit/e3b8f9837d0b405a712a323a53ed92de2632eb64
Stats:     160 lines in 12 files changed: 91 ins; 27 del; 42 mod

Load narrowKlass from header, AArch64 assembler implementation

Reviewed-by: aph

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

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


More information about the lilliput-dev mailing list