[master] Integrated: Load Klass* from header in interpreter (x86)

Roman Kennke rkennke at openjdk.java.net
Tue Oct 12 14:18:12 UTC 2021


On Mon, 27 Sep 2021 10:55:56 GMT, Roman Kennke <rkennke at openjdk.org> wrote:

> This implements loading the compressed Klass* from the object header, instead of the Klass* field in the x86 interpreter. It does the fast-path (unlocked object) in assembly, and calls into the runtime to deal with locked objects.
> 
> This is a proof-of-concept. It is not entirely clear if we can even call into runtime from a couple of places where load_klass() is called, especially in C2, C1 and some stubs. OTOH, we may end up not having to do any of this if we come up with a way to avoid displaced headers altogether.
> 
> Testing:
>  - [x] tier1 (x86_32,x86_64)
>  - [x] tier2 (x86_32,x86_64)
>  - [x] hotspot_gc (x86_32,x86_64)

This pull request has now been integrated.

Changeset: dc8fd0f1
Author:    Roman Kennke <rkennke at openjdk.org>
URL:       https://git.openjdk.java.net/lilliput/commit/dc8fd0f1ea7f1b652ecf93b789ed03b559619c2b
Stats:     76 lines in 8 files changed: 58 ins; 5 del; 13 mod

Load Klass* from header in interpreter (x86)

Reviewed-by: shade

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

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


More information about the lilliput-dev mailing list