[master] RFR: 8347710: [Lilliput] Implement 4 byte headers [v8]
Andrew Haley
aph at openjdk.org
Mon Jan 27 10:37:08 UTC 2025
On Fri, 24 Jan 2025 15:34:20 GMT, Roman Kennke <rkennke at openjdk.org> wrote:
>> Packs/reduces header bits to just 4 bytes.
>>
>> This reduces the number of Klass* bits to 19 bits, which allows for ~500,000 classes.
>>
>> Testing:
>>
>> - tier1 (-UCOH)
>> - tier2 (-UCOH)
>> - tier1 (+UCOH)
>> - tier2 (+UCOH)
>
> Roman Kennke has updated the pull request incrementally with one additional commit since the last revision:
>
> Fix build
src/hotspot/cpu/aarch64/aarch64.ad line 6717:
> 6715: %{
> 6716: match(Set dst (LoadNKlass mem));
> 6717: predicate(!needs_acquiring_load(n) && UseCompactObjectHeaders);
Is there ever a time when we have an acquiring load on a narrow klass pointer?
Also, do we ever generate code which loads a narrow klass pointer from something other than an Object? Maybe there's a use somewhere of `LoadNKlass` from somewhere other than `obj-start + klass_offset_in_bytes`?
-------------
PR Review Comment: https://git.openjdk.org/lilliput/pull/193#discussion_r1930307977
More information about the lilliput-dev
mailing list