src/share/vm/gc_implementation/g1/g1ParScanThreadState.inline.hpp

changeset 7218
6948da6d7c13
parent 7010
a3953c777565
child 7645
f2e3f0e1f97d
equal deleted inserted replaced
7217:fa56205f142c 7218:6948da6d7c13
26 #define SHARE_VM_GC_IMPLEMENTATION_G1_G1PARSCANTHREADSTATE_INLINE_HPP 26 #define SHARE_VM_GC_IMPLEMENTATION_G1_G1PARSCANTHREADSTATE_INLINE_HPP
27 27
28 #include "gc_implementation/g1/g1ParScanThreadState.hpp" 28 #include "gc_implementation/g1/g1ParScanThreadState.hpp"
29 #include "gc_implementation/g1/g1RemSet.inline.hpp" 29 #include "gc_implementation/g1/g1RemSet.inline.hpp"
30 #include "oops/oop.inline.hpp" 30 #include "oops/oop.inline.hpp"
31
32 template <class T> inline void G1ParScanThreadState::immediate_rs_update(HeapRegion* from, T* p, int tid) {
33 if (!from->is_survivor()) {
34 _g1_rem->par_write_ref(from, p, tid);
35 }
36 }
37
38 template <class T> void G1ParScanThreadState::update_rs(HeapRegion* from, T* p, int tid) {
39 if (G1DeferredRSUpdate) {
40 deferred_rs_update(from, p, tid);
41 } else {
42 immediate_rs_update(from, p, tid);
43 }
44 }
45 31
46 template <class T> void G1ParScanThreadState::do_oop_evac(T* p, HeapRegion* from) { 32 template <class T> void G1ParScanThreadState::do_oop_evac(T* p, HeapRegion* from) {
47 assert(!oopDesc::is_null(oopDesc::load_decode_heap_oop(p)), 33 assert(!oopDesc::is_null(oopDesc::load_decode_heap_oop(p)),
48 "Reference should not be NULL here as such are never pushed to the task queue."); 34 "Reference should not be NULL here as such are never pushed to the task queue.");
49 oop obj = oopDesc::load_decode_heap_oop_not_null(p); 35 oop obj = oopDesc::load_decode_heap_oop_not_null(p);

mercurial