--- old/src/hotspot/share/gc/z/zBarrierSet.cpp 2018-06-24 17:04:57.124044818 -0400 +++ new/src/hotspot/share/gc/z/zBarrierSet.cpp 2018-06-24 17:04:56.800027791 -0400 @@ -48,12 +48,9 @@ //assert((decorators & ON_UNKNOWN_OOP_REF) == 0, "Unexpected decorator"); if (type == T_OBJECT || type == T_ARRAY) { - if (((decorators & IN_HEAP) != 0) || - ((decorators & IN_CONCURRENT_ROOT) != 0) || - ((decorators & ON_PHANTOM_OOP_REF) != 0)) { - // Barrier needed - return true; - } + assert((decorators & (IN_HEAP | IN_NATIVE)) != 0, "Where is reference?"); + // Barrier needed even when IN_NATIVE, to allow concurrent scanning. + return true; } // Barrier not neeed