RFR:8206009: Move java heap object archiving code to heapShared.hpp and heapShared.cpp (original) (raw)
Jiangli Zhou jiangli.zhou at oracle.com
Thu Oct 4 18:00:33 UTC 2018
- Previous message: RFR:8206009: Move java heap object archiving code to heapShared.hpp and heapShared.cpp
- Next message: RFR:8206009: Move java heap object archiving code to heapShared.hpp and heapShared.cpp
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
Hi Ioi,
Thanks for the review.
On 10/4/18 8:51 AM, Ioi Lam wrote:
Hi Jiangli,
The fix looks good. #if INCLUDECDSJAVAHEAP // The mirrors are NULL if HeapShared::isheapobjectarchivingallowed // is false. f->dooop(&intmirror); f->dooop(&floatmirror); Maybe the comment should be turned into an assert? There are existing asserts in Universe::initialize_basic_type_mirrors() already that verify the primitive type mirrors are not NULL when HeapShared::is_heap_object_archiving_allowed is true.
if (UseSharedSpaces && HeapShared::open_archive_heap_region_mapped() && _int_mirror != NULL) { assert(HeapShared::is_heap_object_archiving_allowed(), "Sanity"); assert(_float_mirror != NULL && _double_mirror != NULL && _byte_mirror != NULL && _byte_mirror != NULL && _bool_mirror != NULL && _char_mirror != NULL && _long_mirror != NULL && _short_mirror != NULL && _void_mirror != NULL, "Sanity");
Also, have you tested with configure --disable-precompiled-headers? Build with --disable-precompiled-headers works without failure on linux-x64.
I will queue my change after your subgraph info hash table change for 8210388 and resolve conflicts.
Thanks, Jiangli
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 isarchiveobject() APIs are renamed to isarchivedobject() for naming consistency: - Renamed MetaspaceShared::isarchiveobject() to HeapShared::isarchivedobject(). - Renamed oopDesc::isarchiveobject() to oopDesc::isarchivedobject(). - Renamed G1ArchiveAllocator::isarchiveobject() to G1ArchiveAllocator::isarchivedobject(). - Changed to use G1ArchiveAllocator::isarchivedobject() in G1CollectedHeap::materializearchivedobject(). Removed #include "memory/metaspaceShared.inline.hpp” from g1CollectedHeap.cpp. - Renamed HeapShared::archivestaticfields() to HeapShared::archiveobjectsubgraphs(). 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
- Previous message: RFR:8206009: Move java heap object archiving code to heapShared.hpp and heapShared.cpp
- Next message: RFR:8206009: Move java heap object archiving code to heapShared.hpp and heapShared.cpp
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]