< prev index next >

src/hotspot/share/gc/g1/g1OopClosures.inline.hpp

Print this page

        

*** 193,206 **** } handle_non_cset_obj_common(state, p, obj); } } ! template <class T> ! void G1ParCopyHelper::do_klass_barrier(T* p, oop new_obj) { if (_g1->heap_region_containing(new_obj)->is_young()) { ! _scanned_klass->record_modified_oops(); } } void G1ParCopyHelper::mark_object(oop obj) { assert(!_g1->heap_region_containing(obj)->in_collection_set(), "should not mark objects in the CSet"); --- 193,205 ---- } handle_non_cset_obj_common(state, p, obj); } } ! void G1ParCopyHelper::do_cld_barrier(oop new_obj) { if (_g1->heap_region_containing(new_obj)->is_young()) { ! _scanned_cld->record_modified_oops(); } } void G1ParCopyHelper::mark_object(oop obj) { assert(!_g1->heap_region_containing(obj)->in_collection_set(), "should not mark objects in the CSet");
*** 247,258 **** // If the object is self-forwarded we don't need to explicitly // mark it, the evacuation failure protocol will do so. mark_forwarded_object(obj, forwardee); } ! if (barrier == G1BarrierKlass) { ! do_klass_barrier(p, forwardee); } } else { if (state.is_humongous()) { _g1->set_humongous_is_live(obj); } --- 246,257 ---- // If the object is self-forwarded we don't need to explicitly // mark it, the evacuation failure protocol will do so. mark_forwarded_object(obj, forwardee); } ! if (barrier == G1BarrierCLD) { ! do_cld_barrier(forwardee); } } else { if (state.is_humongous()) { _g1->set_humongous_is_live(obj); }
*** 265,271 **** if (do_mark_object == G1MarkFromRoot) { mark_object(obj); } } } - #endif // SHARE_VM_GC_G1_G1OOPCLOSURES_INLINE_HPP --- 264,269 ----
< prev index next >