src/share/vm/memory/genOopClosures.inline.hpp

changeset 777
37f87013dfd8
parent 548
ba764ed4b6f2
child 791
1ee8caae33af
equal deleted inserted replaced
624:0b27f3512f9e 777:37f87013dfd8
43 assert(!oopDesc::is_null(*p), "expected non-null object"); 43 assert(!oopDesc::is_null(*p), "expected non-null object");
44 oop obj = oopDesc::load_decode_heap_oop_not_null(p); 44 oop obj = oopDesc::load_decode_heap_oop_not_null(p);
45 // If p points to a younger generation, mark the card. 45 // If p points to a younger generation, mark the card.
46 if ((HeapWord*)obj < _gen_boundary) { 46 if ((HeapWord*)obj < _gen_boundary) {
47 _rs->inline_write_ref_field_gc(p, obj); 47 _rs->inline_write_ref_field_gc(p, obj);
48 }
49 }
50
51 inline void OopsInGenClosure::par_do_barrier(oop* p) {
52 assert(generation()->is_in_reserved(p), "expected ref in generation");
53 oop obj = *p;
54 assert(obj != NULL, "expected non-null object");
55 // If p points to a younger generation, mark the card.
56 if ((HeapWord*)obj < gen_boundary()) {
57 rs()->write_ref_field_gc_par(p, obj);
48 } 58 }
49 } 59 }
50 60
51 // NOTE! Any changes made here should also be made 61 // NOTE! Any changes made here should also be made
52 // in FastScanClosure::do_oop_work() 62 // in FastScanClosure::do_oop_work()

mercurial