diff -r a9270d9ecb13 -r f9be75d21404 src/share/vm/ci/ciReplay.cpp --- a/src/share/vm/ci/ciReplay.cpp Tue May 14 11:34:30 2013 +0400 +++ b/src/share/vm/ci/ciReplay.cpp Tue May 14 09:41:12 2013 -0700 @@ -492,7 +492,9 @@ } Klass* k = parse_klass(CHECK); rec->oops_offsets[i] = offset; - rec->oops_handles[i] = (jobject)(new KlassHandle(THREAD, k)); + KlassHandle *kh = NEW_C_HEAP_OBJ(KlassHandle, mtCompiler); + ::new ((void*)kh) KlassHandle(THREAD, k); + rec->oops_handles[i] = (jobject)kh; } }