src/hotspot/share/classfile/compactHashtable.cpp
changeset 51491 187c84a5efe1
parent 49592 77fb0be7d19f
child 51720 b7bfd64e43a6
--- a/src/hotspot/share/classfile/compactHashtable.cpp	Wed Aug 22 16:06:51 2018 +0100
+++ b/src/hotspot/share/classfile/compactHashtable.cpp	Tue Aug 14 09:59:37 2018 -0700
@@ -27,6 +27,7 @@
 #include "classfile/compactHashtable.inline.hpp"
 #include "classfile/javaClasses.hpp"
 #include "logging/logMessage.hpp"
+#include "memory/heapShared.inline.hpp"
 #include "memory/metadataFactory.hpp"
 #include "memory/metaspaceShared.hpp"
 #include "oops/compressedOops.inline.hpp"
@@ -280,8 +281,9 @@
 public:
   CompactHashtable_OopIterator(OopClosure *cl) : _closure(cl) {}
   inline void do_value(address base_address, u4 offset) const {
-    narrowOop o = (narrowOop)offset;
-    _closure->do_oop(&o);
+    narrowOop v = (narrowOop)offset;
+    oop obj = HeapShared::decode_with_archived_oop_encoding_mode(v);
+    _closure->do_oop(&obj);
   }
 };