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

Roman Kennke rkennke at openjdk.java.net
Tue Oct 12 13:42:26 UTC 2021


> 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)

Roman Kennke has updated the pull request incrementally with one additional commit since the last revision:

  Use default param in load_klass

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

Changes:
  - all: https://git.openjdk.java.net/lilliput/pull/15/files
  - new: https://git.openjdk.java.net/lilliput/pull/15/files/cbe93827..525ec01a

Webrevs:
 - full: https://webrevs.openjdk.java.net/?repo=lilliput&pr=15&range=05
 - incr: https://webrevs.openjdk.java.net/?repo=lilliput&pr=15&range=04-05

  Stats: 47 lines in 13 files changed: 0 ins; 0 del; 47 mod
  Patch: https://git.openjdk.java.net/lilliput/pull/15.diff
  Fetch: git fetch https://git.openjdk.java.net/lilliput pull/15/head:pull/15

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


More information about the lilliput-dev mailing list