< prev index next >

src/share/vm/gc/serial/markSweep.cpp

Print this page
rev 13365 : [mq]: review_update_1

*** 85,95 **** template <class T> inline void MarkSweep::mark_and_push(T* p) { T heap_oop = oopDesc::load_heap_oop(p); if (!oopDesc::is_null(heap_oop)) { oop obj = oopDesc::decode_heap_oop_not_null(heap_oop); if (!obj->mark()->is_marked() && ! !is_archive_object(obj)) { mark_object(obj); _marking_stack.push(obj); } } } --- 85,95 ---- template <class T> inline void MarkSweep::mark_and_push(T* p) { T heap_oop = oopDesc::load_heap_oop(p); if (!oopDesc::is_null(heap_oop)) { oop obj = oopDesc::decode_heap_oop_not_null(heap_oop); if (!obj->mark()->is_marked() && ! !is_closed_archive_object(obj)) { mark_object(obj); _marking_stack.push(obj); } } }
*** 182,192 **** "roots shouldn't be things within the heap"); T heap_oop = oopDesc::load_heap_oop(p); if (!oopDesc::is_null(heap_oop)) { oop obj = oopDesc::decode_heap_oop_not_null(heap_oop); if (!obj->mark()->is_marked() && ! !is_archive_object(obj)) { mark_object(obj); follow_object(obj); } } follow_stack(); --- 182,192 ---- "roots shouldn't be things within the heap"); T heap_oop = oopDesc::load_heap_oop(p); if (!oopDesc::is_null(heap_oop)) { oop obj = oopDesc::decode_heap_oop_not_null(heap_oop); if (!obj->mark()->is_marked() && ! !is_closed_archive_object(obj)) { mark_object(obj); follow_object(obj); } } follow_stack();
*** 266,276 **** } } MarkSweep::IsAliveClosure MarkSweep::is_alive; ! bool MarkSweep::IsAliveClosure::do_object_b(oop p) { return p->is_gc_marked() || is_archive_object(p); } MarkSweep::KeepAliveClosure MarkSweep::keep_alive; void MarkSweep::KeepAliveClosure::do_oop(oop* p) { MarkSweep::KeepAliveClosure::do_oop_work(p); } void MarkSweep::KeepAliveClosure::do_oop(narrowOop* p) { MarkSweep::KeepAliveClosure::do_oop_work(p); } --- 266,276 ---- } } MarkSweep::IsAliveClosure MarkSweep::is_alive; ! bool MarkSweep::IsAliveClosure::do_object_b(oop p) { return p->is_gc_marked() || is_closed_archive_object(p); } MarkSweep::KeepAliveClosure MarkSweep::keep_alive; void MarkSweep::KeepAliveClosure::do_oop(oop* p) { MarkSweep::KeepAliveClosure::do_oop_work(p); } void MarkSweep::KeepAliveClosure::do_oop(narrowOop* p) { MarkSweep::KeepAliveClosure::do_oop_work(p); }
< prev index next >