# HG changeset patch # User pliden # Date 1559724224 -7200 # Node ID a5967fd63d9d4eebfaa924aec7ccf609def6c713 # Parent 27d3b8e5c58b12d1bded373ca53c595c8857a431 8224962: ZGC: Strengthen ZHeap::is_oop() Reviewed-by: eosterlund diff -r 27d3b8e5c58b -r a5967fd63d9d src/hotspot/share/gc/z/zHeap.inline.hpp --- a/src/hotspot/share/gc/z/zHeap.inline.hpp Wed Jun 05 10:23:06 2019 +0200 +++ b/src/hotspot/share/gc/z/zHeap.inline.hpp Wed Jun 05 10:43:44 2019 +0200 @@ -135,7 +135,11 @@ } inline bool ZHeap::is_oop(oop object) const { - return ZAddress::is_good(ZOop::to_address(object)); + // Verify that we have a good address. Note that ZAddress::is_good() + // would not be a strong enough verification, since it only verifies + // that the metadata bits are good. + const uintptr_t addr = ZOop::to_address(object); + return ZAddress::good(addr) == addr; } #endif // SHARE_GC_Z_ZHEAP_INLINE_HPP