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

Calvin Cheung calvin.cheung at oracle.com
Fri Oct 6 16:03:24 UTC 2017


Hi Jiangli,

The changes look good.

thanks,
Calvin

On 10/5/17, 9:30 AM, Ioi Lam wrote:
> 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