--- old/src/share/vm/ci/ciObjectFactory.cpp 2015-10-14 13:53:51.536437944 +0200 +++ new/src/share/vm/ci/ciObjectFactory.cpp 2015-10-14 13:53:51.406441087 +0200 @@ -242,6 +242,10 @@ assert(Universe::heap()->is_in_reserved(key), "must be"); + // In Shenandoah we need to make sure that nobody forwards the key elsewhere + // under our hood. + key = oopDesc::bs()->write_barrier(key); + NonPermObject* &bucket = find_non_perm(key); if (bucket != NULL) { return bucket->object();