comparison src/share/vm/gc_implementation/parallelScavenge/psScavenge.inline.hpp @ 1706:9d7a8ab3736b

6962589: remove breadth first scanning code from parallel gc Summary: Remove the breadth-first copying order from ParallelScavenge and use depth-first by default. Reviewed-by: jcoomes, ysr, johnc
author tonyp
date Thu, 22 Jul 2010 10:27:41 -0400
parents c18cbe5936b8
children f95d63e2154a
comparison
equal deleted inserted replaced
1705:2d160770d2e5 1706:9d7a8ab3736b
63 assert(should_scavenge(p, true), "revisiting object?"); 63 assert(should_scavenge(p, true), "revisiting object?");
64 64
65 oop o = oopDesc::load_decode_heap_oop_not_null(p); 65 oop o = oopDesc::load_decode_heap_oop_not_null(p);
66 oop new_obj = o->is_forwarded() 66 oop new_obj = o->is_forwarded()
67 ? o->forwardee() 67 ? o->forwardee()
68 : pm->copy_to_survivor_space(o, pm->depth_first()); 68 : pm->copy_to_survivor_space(o);
69 oopDesc::encode_store_heap_oop_not_null(p, new_obj); 69 oopDesc::encode_store_heap_oop_not_null(p, new_obj);
70 70
71 // We cannot mark without test, as some code passes us pointers 71 // We cannot mark without test, as some code passes us pointers
72 // that are outside the heap. 72 // that are outside the heap.
73 if ((!PSScavenge::is_obj_in_young((HeapWord*)p)) && 73 if ((!PSScavenge::is_obj_in_young((HeapWord*)p)) &&