< prev index next >

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

Print this page
rev 52675 : 8213890: Implementation of JEP 344: Abortable Mixed Collections for G1
Reviewed-by:
Contributed-by: erik.helin@oracle.com, stefan.johansson@oracle.com
rev 52676 : imported patch AMGC-impl

*** 24,33 **** --- 24,34 ---- #ifndef SHARE_VM_GC_G1_G1PARSCANTHREADSTATE_INLINE_HPP #define SHARE_VM_GC_G1_G1PARSCANTHREADSTATE_INLINE_HPP #include "gc/g1/g1CollectedHeap.inline.hpp" + #include "gc/g1/g1OopStarChunkedList.inline.hpp" #include "gc/g1/g1ParScanThreadState.hpp" #include "gc/g1/g1RemSet.hpp" #include "oops/access.inline.hpp" #include "oops/oop.inline.hpp"
*** 201,206 **** --- 202,226 ---- inline void G1ParScanThreadState::reset_trim_ticks() { _trim_ticks = Tickspan(); } + template <typename T> + inline void G1ParScanThreadState::remember_root_into_optional_region(T* p) { + oop o = RawAccess<IS_NOT_NULL>::oop_load(p); + uint index = _g1h->heap_region_containing(o)->index_in_opt_cset(); + _oops_into_optional_regions[index].push_root(p); + } + + template <typename T> + inline void G1ParScanThreadState::remember_reference_into_optional_region(T* p) { + oop o = RawAccess<IS_NOT_NULL>::oop_load(p); + uint index = _g1h->heap_region_containing(o)->index_in_opt_cset(); + _oops_into_optional_regions[index].push_oop(p); + DEBUG_ONLY(verify_ref(p);) + } + + G1OopStarChunkedList* G1ParScanThreadState::oops_into_optional_region(const HeapRegion* hr) { + return &_oops_into_optional_regions[hr->index_in_opt_cset()]; + } + #endif // SHARE_VM_GC_G1_G1PARSCANTHREADSTATE_INLINE_HPP
< prev index next >