< prev index next >

src/share/vm/oops/instanceRefKlass.inline.hpp

Print this page

        

*** 65,74 **** --- 65,81 ---- } // treat next as normal oop if (contains(next_addr)) { Devirtualizer<nv>::do_oop(closure, next_addr); } + // treat value as normal oop if Ephemeron + if (reference_type() == REF_EPHEMERON) { + T* value_addr = (T*)java_lang_ref_Ephemeron::value_addr(obj); + if (contains(value_addr)) { + Devirtualizer<nv>::do_oop(closure, value_addr); + } + } } class AlwaysContains { public: template <typename T> bool operator()(T* p) const { return true; }
< prev index next >