--- old/src/hotspot/share/gc/shared/modRefBarrierSet.inline.hpp 2018-03-21 16:41:10.087887969 +0100 +++ new/src/hotspot/share/gc/shared/modRefBarrierSet.inline.hpp 2018-03-21 16:41:09.891887976 +0100 @@ -27,6 +27,7 @@ #include "gc/shared/barrierSet.inline.hpp" #include "gc/shared/modRefBarrierSet.hpp" +#include "oops/compressedOops.inline.hpp" #include "oops/klass.inline.hpp" #include "oops/objArrayOop.hpp" #include "oops/oop.hpp" @@ -83,7 +84,7 @@ T* end = from + length; for (T* p = dst; from < end; from++, p++) { T element = *from; - if (bound->is_instanceof_or_null(element)) { + if (oopDesc::is_instanceof_or_null(CompressedOops::decode(element), bound)) { bs->template write_ref_field_pre(p); *p = element; } else {