[master] Integrated: Load narrowKlass from runtime, decode in generated code

Roman Kennke rkennke at openjdk.java.net
Thu Jan 27 11:20:11 UTC 2022


On Tue, 25 Jan 2022 11:43:04 GMT, Roman Kennke <rkennke at openjdk.org> wrote:

> Current implementation of load_klass_runtime() call ensures stable header, loads the narrowKlass from it, decodes it, and returns the Klass* back to generated (interpreter, C1) code. However, C2 wants to load the narrowKlass and use it directly. Let's change current impl to not decode in runtime, but decode in generated code instead, and thus avoid a new entry points for  C2. This doesn't even make generated code larger -- we only need to move the decode_klass() into the common (fast & slow) path.
> 
> The change also contains some exlusions for 32bit builds - narrow_klass() doesn't make sense (and doesn't compile) on x86_32, and thus shouldn't be compiled.
> 
> Testing:
>  - [x] tier1 (x86_64, aarch64)
>  - [x] tier2 (x86_64, aarch64)
>  - [x] tier2 (x86_64, aarch64)

This pull request has now been integrated.

Changeset: 8ef4bbda
Author:    Roman Kennke <rkennke at openjdk.org>
URL:       https://git.openjdk.java.net/lilliput/commit/8ef4bbdac76930ec1d81546858c2dbfca7a4104b
Stats:     29 lines in 9 files changed: 20 ins; 3 del; 6 mod

Load narrowKlass from runtime, decode in generated code

Reviewed-by: shade

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

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


More information about the lilliput-dev mailing list