< prev index next >

src/hotspot/share/memory/metaspaceShared.cpp

Print this page

*** 1074,1096 **** --- 1074,1100 ---- { _mc_region.pack(&_rw_region); builder.dump_rw_region(); #if INCLUDE_CDS_JAVA_HEAP + if (MetaspaceShared::use_full_module_graph()) { // Archive the ModuleEntry's and PackageEntry's of the 3 built-in loaders char* start = _rw_region.top(); ClassLoaderDataShared::allocate_archived_tables(); ArchiveBuilder::alloc_stats()->record_modules(_rw_region.top() - start, /*read_only*/false); + } #endif } { _rw_region.pack(&_ro_region); builder.dump_ro_region(); #if INCLUDE_CDS_JAVA_HEAP + if (MetaspaceShared::use_full_module_graph()) { char* start = _ro_region.top(); ClassLoaderDataShared::init_archived_tables(); ArchiveBuilder::alloc_stats()->record_modules(_ro_region.top() - start, /*read_only*/true); + } #endif } builder.relocate_pointers(); dump_symbols();
*** 2058,2069 **** return intx(MetaspaceShared::requested_base_address()) // We want the base archive to be mapped to here at runtime - intx(SharedBaseAddress); // .. but the base archive is mapped at here at dump time } bool MetaspaceShared::use_full_module_graph() { ! return _use_optimized_module_handling && _use_full_module_graph && (UseSharedSpaces || DumpSharedSpaces) && HeapShared::is_heap_object_archiving_allowed(); } void MetaspaceShared::print_on(outputStream* st) { if (UseSharedSpaces || DumpSharedSpaces) { st->print("CDS archive(s) mapped at: "); --- 2062,2079 ---- return intx(MetaspaceShared::requested_base_address()) // We want the base archive to be mapped to here at runtime - intx(SharedBaseAddress); // .. but the base archive is mapped at here at dump time } bool MetaspaceShared::use_full_module_graph() { ! bool result = _use_optimized_module_handling && _use_full_module_graph && (UseSharedSpaces || DumpSharedSpaces) && HeapShared::is_heap_object_archiving_allowed(); + if (result && UseSharedSpaces) { + // Classes used by the archived full module graph are loaded in JVMTI early phase. + assert(!(JvmtiExport::should_post_class_file_load_hook() && JvmtiExport::has_early_class_hook_env()), + "CDS should be disabled if early class hooks are enabled"); + } + return result; } void MetaspaceShared::print_on(outputStream* st) { if (UseSharedSpaces || DumpSharedSpaces) { st->print("CDS archive(s) mapped at: ");
< prev index next >