--- old/src/hotspot/share/memory/heapShared.hpp 2018-08-01 22:34:03.515983757 -0700 +++ new/src/hotspot/share/memory/heapShared.hpp 2018-08-01 22:34:03.171970673 -0700 @@ -123,12 +123,22 @@ static int num_of_subgraph_infos(); static size_t build_archived_subgraph_info_records(int num_records); + + // Used by decode_not_null + static address _narrow_oop_base; + static int _narrow_oop_shift; + #endif // INCLUDE_CDS_JAVA_HEAP public: static char* read_archived_subgraph_infos(char* buffer) NOT_CDS_JAVA_HEAP_RETURN_(buffer); static void write_archived_subgraph_infos() NOT_CDS_JAVA_HEAP_RETURN; static void initialize_from_archived_subgraph(Klass* k) NOT_CDS_JAVA_HEAP_RETURN; + // When reading an (unrelocated) narrowOop from the archive, use this function + // instead of CompressedOops::decode_not_null + inline static oop decode_not_null(narrowOop v) NOT_CDS_JAVA_HEAP_RETURN_(NULL); + static void init_narrow_oop_decoding(address base, int shift) NOT_CDS_JAVA_HEAP_RETURN; + static void archive_module_graph_objects(Thread* THREAD) NOT_CDS_JAVA_HEAP_RETURN; }; #endif // SHARE_VM_MEMORY_HEAPSHARED_HPP