< prev index next >

src/share/vm/ci/ciObjectFactory.hpp

Print this page
rev 8961 : [mq]: diff-shenandoah.patch

*** 25,34 **** --- 25,35 ---- #ifndef SHARE_VM_CI_CIOBJECTFACTORY_HPP #define SHARE_VM_CI_CIOBJECTFACTORY_HPP #include "ci/ciClassList.hpp" #include "ci/ciObject.hpp" + #include "gc/shared/barrierSet.hpp" #include "utilities/growableArray.hpp" // ciObjectFactory // // This class handles requests for the creation of new instances
*** 76,85 **** --- 77,91 ---- ciMetadata* create_new_metadata(Metadata* o); void ensure_metadata_alive(ciMetadata* m); static bool is_equal(NonPermObject* p, oop key) { + // Shenandoah: We already force-forwarded the key earlier. + // The oop in the object should always point to to-space. + assert(key == oopDesc::bs()->resolve_oop(key), "should be forwarded"); + assert(p->object()->get_oop() == oopDesc::bs()->resolve_oop(p->object()->get_oop()), + "should be forwarded"); return p->object()->get_oop() == key; } NonPermObject* &find_non_perm(oop key); void insert_non_perm(NonPermObject* &where, oop key, ciObject* obj);
< prev index next >