RFR: 8305895: Implement JEP 450: Compact Object Headers (Experimental) [v8]

Thomas Stuefe stuefe at openjdk.org
Tue Sep 10 12:07:09 UTC 2024


On Mon, 9 Sep 2024 15:49:57 GMT, Coleen Phillimore <coleenp at openjdk.org> wrote:

>> Roman Kennke has updated the pull request incrementally with two additional commits since the last revision:
>> 
>>  - Try to avoid lea in loadNklass (aarch64)
>>  - Fix release build error
>
> src/hotspot/share/oops/compressedKlass.cpp line 214:
> 
>> 212:     ss.print("Class space size (%zu) exceeds the maximum possible size (%zu)",
>> 213:               len, max_encoding_range_size());
>> 214:     vm_exit_during_initialization(ss.base());
> 
> Why does this exit and not turn off compressed klass pointers and compact object headers?

This is tricky. We are already deep in initialization and have done a couple of decisions based on +UseCompressedClassPointers (e.g. CDS setup). I *think* we could still go with -UseCCP, but I wonder whether this is wise. 

Note that this error is not new. In the old code, we simply asserted. That left us with UB in release builds, which remains unresolved. I simply made the error explicit in release too.

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

PR Review Comment: https://git.openjdk.org/jdk/pull/20677#discussion_r1751819814


More information about the build-dev mailing list