--- a/src/hotspot/share/gc/z/zHeapIterator.cpp Mon Oct 28 11:21:23 2019 +0100
+++ b/src/hotspot/share/gc/z/zHeapIterator.cpp Mon Oct 28 11:23:28 2019 +0100
@@ -24,6 +24,7 @@
#include "precompiled.hpp"
#include "classfile/classLoaderData.hpp"
#include "classfile/classLoaderDataGraph.hpp"
+#include "gc/z/zAddress.inline.hpp"
#include "gc/z/zBarrier.inline.hpp"
#include "gc/z/zGlobals.hpp"
#include "gc/z/zGranuleMap.inline.hpp"
@@ -148,11 +149,11 @@
}
ZHeapIteratorBitMap* ZHeapIterator::object_map(oop obj) {
- const uintptr_t addr = ZOop::to_address(obj);
- ZHeapIteratorBitMap* map = _visit_map.get(addr);
+ const uintptr_t offset = ZAddress::offset(ZOop::to_address(obj));
+ ZHeapIteratorBitMap* map = _visit_map.get(offset);
if (map == NULL) {
map = new ZHeapIteratorBitMap(object_index_max());
- _visit_map.put(addr, map);
+ _visit_map.put(offset, map);
}
return map;