779 ParMarkBitMap PSParallelCompact::_mark_bitmap; |
779 ParMarkBitMap PSParallelCompact::_mark_bitmap; |
780 ParallelCompactData PSParallelCompact::_summary_data; |
780 ParallelCompactData PSParallelCompact::_summary_data; |
781 |
781 |
782 PSParallelCompact::IsAliveClosure PSParallelCompact::_is_alive_closure; |
782 PSParallelCompact::IsAliveClosure PSParallelCompact::_is_alive_closure; |
783 |
783 |
784 void PSParallelCompact::IsAliveClosure::do_object(oop p) { ShouldNotReachHere(); } |
|
785 bool PSParallelCompact::IsAliveClosure::do_object_b(oop p) { return mark_bitmap()->is_marked(p); } |
784 bool PSParallelCompact::IsAliveClosure::do_object_b(oop p) { return mark_bitmap()->is_marked(p); } |
786 |
785 |
787 void PSParallelCompact::KeepAliveClosure::do_oop(oop* p) { PSParallelCompact::KeepAliveClosure::do_oop_work(p); } |
786 void PSParallelCompact::KeepAliveClosure::do_oop(oop* p) { PSParallelCompact::KeepAliveClosure::do_oop_work(p); } |
788 void PSParallelCompact::KeepAliveClosure::do_oop(narrowOop* p) { PSParallelCompact::KeepAliveClosure::do_oop_work(p); } |
787 void PSParallelCompact::KeepAliveClosure::do_oop(narrowOop* p) { PSParallelCompact::KeepAliveClosure::do_oop_work(p); } |
789 |
788 |
2411 } |
2410 } |
2412 |
2411 |
2413 // This should be moved to the shared markSweep code! |
2412 // This should be moved to the shared markSweep code! |
2414 class PSAlwaysTrueClosure: public BoolObjectClosure { |
2413 class PSAlwaysTrueClosure: public BoolObjectClosure { |
2415 public: |
2414 public: |
2416 void do_object(oop p) { ShouldNotReachHere(); } |
|
2417 bool do_object_b(oop p) { return true; } |
2415 bool do_object_b(oop p) { return true; } |
2418 }; |
2416 }; |
2419 static PSAlwaysTrueClosure always_true; |
2417 static PSAlwaysTrueClosure always_true; |
2420 |
2418 |
2421 void PSParallelCompact::adjust_roots() { |
2419 void PSParallelCompact::adjust_roots() { |