RFR:8206009: Move java heap object archiving code to heapShared.hpp and heapShared.cpp

Ioi Lam ioi.lam at oracle.com
Thu Oct 4 15:51:10 UTC 2018


Hi Jiangli,

The fix looks good.

#if INCLUDE_CDS_JAVA_HEAP
   // The mirrors are NULL if HeapShared::is_heap_object_archiving_allowed
   // is false.
   f->do_oop(&_int_mirror);
   f->do_oop(&_float_mirror);

Maybe the comment should be turned into an assert?

Also, have you tested with configure --disable-precompiled-headers?


Thanks

- Ioi



On 10/3/18 3:23 PM, Jiangli Zhou wrote:
> Please review the restructuring and cleanup of java heap object 
> archiving code. The java object archiving code has grown in the past 
> year and metaspaceShared.* files are not the suitable place. The 
> restructuring and cleanup include:
>
>   - Moved java heap object archiving implementation from 
> metaspaceShared.* to heapShared.*.
>   - Various is_archive_object() APIs are renamed to 
> is_archived_object() for naming consistency:
>      - Renamed MetaspaceShared::is_archive_object() to 
> HeapShared::is_archived_object().
>      - Renamed oopDesc::is_archive_object() to 
> oopDesc::is_archived_object().
>      - Renamed G1ArchiveAllocator::is_archive_object() to 
> G1ArchiveAllocator::is_archived_object().
>   - Changed to use G1ArchiveAllocator::is_archived_object() in 
> G1CollectedHeap::materialize_archived_object(). Removed #include 
> "memory/metaspaceShared.inline.hpp” from g1CollectedHeap.cpp.
>   - Renamed HeapShared::archive_static_fields() to 
> HeapShared::archive_object_subgraphs().
>
> webrev: http://cr.openjdk.java.net/~jiangli/8206009/webrev.00/
> RFE: https://bugs.openjdk.java.net/browse/JDK-8206009
>
> Tested with tier1-tier3. Tier4 and tier5 are in progress.
>
> Thanks,
>
> Jiangli
>
>
>
>



More information about the hotspot-runtime-dev mailing list