--- old/src/hotspot/share/memory/heapShared.cpp 2018-08-01 22:34:02.591948615 -0700 +++ new/src/hotspot/share/memory/heapShared.cpp 2018-08-01 22:34:01.607911190 -0700 @@ -28,7 +28,7 @@ #include "logging/log.hpp" #include "logging/logMessage.hpp" #include "logging/logStream.hpp" -#include "memory/heapShared.hpp" +#include "memory/heapShared.inline.hpp" #include "memory/iterator.inline.hpp" #include "memory/metadataFactory.hpp" #include "memory/metaspaceClosure.hpp" @@ -70,6 +70,9 @@ return info; } +address HeapShared::_narrow_oop_base; +int HeapShared::_narrow_oop_shift; + int HeapShared::num_of_subgraph_infos() { int num = 0; KlassSubGraphInfo* info = _subgraph_info_list; @@ -311,7 +314,7 @@ // point. All objects in the subgraph reachable from the object are // also 'known' by GC. oop v = MetaspaceShared::materialize_archived_object( - CompressedOops::decode(entry_field_records->at(i+1))); + entry_field_records->at(i+1)); m->obj_field_put(field_offset, v); i += 2; } @@ -503,4 +506,10 @@ void HeapShared::archive_module_graph_objects(Thread* THREAD) { do_module_object_graph(archive_reachable_objects_from_static_field); } + +void HeapShared::init_narrow_oop_decoding(address base, int shift) { + _narrow_oop_base = base; + _narrow_oop_shift = shift; +} + #endif // INCLUDE_CDS_JAVA_HEAP