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

Ioi Lam ioi.lam at oracle.com
Thu Oct 5 16:30:46 UTC 2017


Hi Jiangli:

The changes look good, and thank you for doing the clean up. I agree 
that MetaspaceShared::initialize_runtime_shared_and_meta_spaces() is a 
better location for this functionality that inside metaspace.cpp.

Just a small typo:

306   // Set narrow_klass_shift to be LogKlassAlignmentInBytes. This is 
consisten

-> consistent

Thanks

- Ioi


On 10/4/17 4:12 PM, Jiangli Zhou wrote:
> 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