--- old/src/hotspot/share/gc/shared/modRefBarrierSet.inline.hpp 2018-03-22 16:37:44.704885461 +0100 +++ new/src/hotspot/share/gc/shared/modRefBarrierSet.inline.hpp 2018-03-22 16:37:44.500885468 +0100 @@ -27,6 +27,7 @@ #include "gc/shared/barrierSet.hpp" #include "gc/shared/modRefBarrierSet.hpp" +#include "oops/compressedOops.inline.hpp" #include "oops/klass.inline.hpp" #include "oops/objArrayOop.hpp" #include "oops/oop.hpp" @@ -105,7 +106,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 {