[master] RFR: 8347710: [Lilliput] Implement 4 byte headers [v8]
Cesar Soares Lucas
cslucas at openjdk.org
Tue Sep 16 21:47:31 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/share/gc/shared/c2/barrierSetC2.cpp line 724:
> 722: } else {
> 723: if (UseCompactObjectHeaders) {
> 724: base_off = 0; /* FIXME */
Should this have been fixed before merge?
src/hotspot/share/jvmci/jvmciCompilerToVM.cpp line 454:
> 452: const char* base_desc = nullptr;
> 453: JVMCIKlassHandle klass(THREAD);
> 454: if (offset == 1 /*oopDesc::klass_offset_in_bytes()*/) {
@rkennke I'm seeing a crash internally in Graal and I'm suspecting that this line may be the culprit. The error is:
Caused by: java.lang.IllegalArgumentException: Unexpected arguments: Ljdk/vm/ci/hotspot/DirectHotSpotObjectConstantImpl; 8 true
at jdk.internal.vm.ci/jdk.vm.ci.hotspot.CompilerToVM.getResolvedJavaType0(Native Method)
at jdk.internal.vm.ci/jdk.vm.ci.hotspot.CompilerToVM.getResolvedJavaType(CompilerToVM.java:1020)
...
I'm wondering if the commented part of the condition was supposed to be uncommented at some point.
-------------
PR Review Comment: https://git.openjdk.org/lilliput/pull/193#discussion_r2353719217
PR Review Comment: https://git.openjdk.org/lilliput/pull/193#discussion_r2353726025
More information about the lilliput-dev
mailing list