< prev index next >

src/hotspot/share/memory/metaspaceShared.cpp

Print this page

*** 37,47 **** #include "interpreter/bytecodeStream.hpp" #include "interpreter/bytecodes.hpp" #include "logging/log.hpp" #include "logging/logMessage.hpp" #include "memory/filemap.hpp" ! #include "memory/heapShared.hpp" #include "memory/metaspace.hpp" #include "memory/metaspaceClosure.hpp" #include "memory/metaspaceShared.hpp" #include "memory/resourceArea.hpp" #include "oops/compressedOops.inline.hpp" --- 37,47 ---- #include "interpreter/bytecodeStream.hpp" #include "interpreter/bytecodes.hpp" #include "logging/log.hpp" #include "logging/logMessage.hpp" #include "memory/filemap.hpp" ! #include "memory/heapShared.inline.hpp" #include "memory/metaspace.hpp" #include "memory/metaspaceClosure.hpp" #include "memory/metaspaceShared.hpp" #include "memory/resourceArea.hpp" #include "oops/compressedOops.inline.hpp"
*** 307,320 **** Universe::set_narrow_klass_shift(LogKlassAlignmentInBytes); // Set the range of klass addresses to 4GB. Universe::set_narrow_klass_range(cds_total); Metaspace::initialize_class_space(tmp_class_space); ! tty->print_cr("narrow_klass_base = " PTR_FORMAT ", narrow_klass_shift = %d", p2i(Universe::narrow_klass_base()), Universe::narrow_klass_shift()); ! tty->print_cr("Allocated temporary class space: " SIZE_FORMAT " bytes at " PTR_FORMAT, CompressedClassSpaceSize, p2i(tmp_class_space.base())); #endif // Start with 0 committed bytes. The memory will be committed as needed by // MetaspaceShared::commit_shared_space_to(). --- 307,320 ---- Universe::set_narrow_klass_shift(LogKlassAlignmentInBytes); // Set the range of klass addresses to 4GB. Universe::set_narrow_klass_range(cds_total); Metaspace::initialize_class_space(tmp_class_space); ! log_info(cds)("narrow_klass_base = " PTR_FORMAT ", narrow_klass_shift = %d", p2i(Universe::narrow_klass_base()), Universe::narrow_klass_shift()); ! log_info(cds)("Allocated temporary class space: " SIZE_FORMAT " bytes at " PTR_FORMAT, CompressedClassSpaceSize, p2i(tmp_class_space.base())); #endif // Start with 0 committed bytes. The memory will be committed as needed by // MetaspaceShared::commit_shared_space_to().
*** 460,469 **** --- 460,470 ---- java_lang_StackTraceElement::serialize(soc); java_lang_StackFrameInfo::serialize(soc); java_lang_LiveStackFrameInfo::serialize(soc); java_util_concurrent_locks_AbstractOwnableSynchronizer::serialize(soc); jdk_internal_module_ArchivedModuleGraph::serialize(soc); + InstanceMirrorKlass::serialize(soc); } address MetaspaceShared::cds_i2i_entry_code_buffers(size_t total_size) { if (DumpSharedSpaces) { if (_cds_i2i_entry_code_buffers == NULL) {
*** 1922,1933 **** log_debug(cds, heap)("Archived heap object " PTR_FORMAT " ==> " PTR_FORMAT, p2i(obj), p2i(archived_oop)); return archived_oop; } ! oop MetaspaceShared::materialize_archived_object(oop obj) { ! if (obj != NULL) { return G1CollectedHeap::heap()->materialize_archived_object(obj); } return NULL; } --- 1923,1935 ---- log_debug(cds, heap)("Archived heap object " PTR_FORMAT " ==> " PTR_FORMAT, p2i(obj), p2i(archived_oop)); return archived_oop; } ! oop MetaspaceShared::materialize_archived_object(narrowOop v) { ! if (!CompressedOops::is_null(v)) { ! oop obj = HeapShared::decode_not_null(v); return G1CollectedHeap::heap()->materialize_archived_object(obj); } return NULL; }
*** 1999,2009 **** } else { assert(MetaspaceShared::is_heap_object_archiving_allowed(), "Archived heap object is not allowed"); assert(MetaspaceShared::open_archive_heap_region_mapped(), "Open archive heap region is not mapped"); ! *p = CompressedOops::decode_not_null(o); } } void do_region(u_char* start, size_t size) { assert((intptr_t)start % sizeof(intptr_t) == 0, "bad alignment"); --- 2001,2011 ---- } else { assert(MetaspaceShared::is_heap_object_archiving_allowed(), "Archived heap object is not allowed"); assert(MetaspaceShared::open_archive_heap_region_mapped(), "Open archive heap region is not mapped"); ! *p = HeapShared::decode_not_null(o); } } void do_region(u_char* start, size_t size) { assert((intptr_t)start % sizeof(intptr_t) == 0, "bad alignment");
*** 2146,2155 **** --- 2148,2159 ---- serialize(&rc); // Initialize the run-time symbol table. SymbolTable::create_table(); + mapinfo->relocate_archived_heap_embedded_pointers(); + // Close the mapinfo file mapinfo->close(); if (PrintSharedArchiveAndExit) { if (PrintSharedDictionary) {
< prev index next >