< prev index next >
src/share/vm/ci/ciObjectFactory.cpp
Print this page
rev 8961 : [mq]: diff-shenandoah.patch
*** 240,249 ****
--- 240,253 ----
ciObject* ciObjectFactory::get(oop key) {
ASSERT_IN_VM;
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()->resolve_and_maybe_copy_oop(key);
+
NonPermObject* &bucket = find_non_perm(key);
if (bucket != NULL) {
return bucket->object();
}
< prev index next >