RFR: 8174986: CDS archived java heap region may not compatible with AOT

Jiangli Zhou jiangli.zhou at Oracle.COM
Wed Oct 4 23:12:11 UTC 2017


Hi,

Please review the following enhancement that always sets the narrow klass encoding shift to be LogKlassAlignmentInBytes when CDS is enabled. This is done so the archived java heap regions (the shared string space and adjustable archive heap space) can coexist with AOT code, because AOT uses LogKlassAlignmentInBytes for narrow klass encode shift when generating the precompiled code.

I also took the opportunity to clean up Meatspace::global_initialize(). I moved the block of code that initializes the shared spaces and meatspace at CDS runtime into a new function, MetaspaceShared::initialize_runtime_shared_and_meta_spaces(). I also added more comments so it is easier to understand the logic.

webrev: http://cr.openjdk.java.net/~jiangli/8174986/webrev.00/ <http://cr.openjdk.java.net/~jiangli/8174986/webrev.00/>
RFE: https://bugs.openjdk.java.net/browse/JDK-8174986?filter=14921 <https://bugs.openjdk.java.net/browse/JDK-8174986?filter=14921>

Tested with all CDS/AppCDS tests on linux x64.

Thanks,
Jiangli


More information about the hotspot-runtime-dev mailing list