< prev index next >

src/share/vm/gc/parallel/psPromotionManager.cpp

Print this page

        

*** 380,389 **** --- 380,396 ---- } // Treat next as normal oop; next is a link in the reference queue. if (PSScavenge::should_scavenge(next_addr)) { pm->claim_or_forward_depth(next_addr); } + // Treat value as normal oop if Epehemeron + if (klass->reference_type() == REF_EPHEMERON) { + T* value_addr = (T*)java_lang_ref_Ephemeron::value_addr(obj); + if (PSScavenge::should_scavenge(value_addr)) { + pm->claim_or_forward_depth(value_addr); + } + } klass->InstanceKlass::oop_ps_push_contents(obj, pm); } void InstanceRefKlass::oop_ps_push_contents(oop obj, PSPromotionManager* pm) { if (UseCompressedOops) {
< prev index next >