< prev index next >

src/hotspot/share/memory/metaspaceShared.cpp

Print this page

        

*** 712,721 **** --- 712,734 ---- k->remove_java_mirror(); } } } + static void clear_basic_type_mirrors() { + assert(!HeapShared::is_heap_object_archiving_allowed(), "Sanity"); + Universe::set_int_mirror(NULL); + Universe::set_float_mirror(NULL); + Universe::set_double_mirror(NULL); + Universe::set_byte_mirror(NULL); + Universe::set_bool_mirror(NULL); + Universe::set_char_mirror(NULL); + Universe::set_long_mirror(NULL); + Universe::set_short_mirror(NULL); + Universe::set_void_mirror(NULL); + } + static void rewrite_nofast_bytecode(const methodHandle& method) { BytecodeStream bcs(method); while (!bcs.is_last_bytecode()) { Bytecodes::Code opcode = bcs.next(); switch (opcode) {
*** 1525,1535 **** char* VM_PopulateDumpSharedSpace::dump_read_only_tables() { ArchiveCompactor::OtherROAllocMark mark; log_info(cds)("Removing java_mirror ... "); if (!HeapShared::is_heap_object_archiving_allowed()) { ! Universe::clear_basic_type_mirrors(); } remove_java_mirror_in_classes(); log_info(cds)("done. "); SystemDictionaryShared::write_to_archive(); --- 1538,1548 ---- char* VM_PopulateDumpSharedSpace::dump_read_only_tables() { ArchiveCompactor::OtherROAllocMark mark; log_info(cds)("Removing java_mirror ... "); if (!HeapShared::is_heap_object_archiving_allowed()) { ! clear_basic_type_mirrors(); } remove_java_mirror_in_classes(); log_info(cds)("done. "); SystemDictionaryShared::write_to_archive();
*** 2077,2087 **** } void ReadClosure::do_oop(oop *p) { narrowOop o = (narrowOop)nextPtr(); if (o == 0 || !HeapShared::open_archive_heap_region_mapped()) { ! *p = NULL; } else { assert(HeapShared::is_heap_object_archiving_allowed(), "Archived heap object is not allowed"); assert(HeapShared::open_archive_heap_region_mapped(), "Open archive heap region is not mapped"); --- 2090,2100 ---- } void ReadClosure::do_oop(oop *p) { narrowOop o = (narrowOop)nextPtr(); if (o == 0 || !HeapShared::open_archive_heap_region_mapped()) { ! p = NULL; } else { assert(HeapShared::is_heap_object_archiving_allowed(), "Archived heap object is not allowed"); assert(HeapShared::open_archive_heap_region_mapped(), "Open archive heap region is not mapped");
< prev index next >