comparison src/share/vm/oops/oop.psgc.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
22 * 22 *
23 */ 23 */
24 24
25 // ParallelScavengeHeap methods 25 // ParallelScavengeHeap methods
26 26
27 inline void oopDesc::copy_contents(PSPromotionManager* pm) {
28 Klass* klass = blueprint();
29 if (!klass->oop_is_typeArray()) {
30 // It might contain oops beyond the header, so take the virtual call.
31 klass->oop_copy_contents(pm, this);
32 }
33 // Else skip it. The typeArrayKlass in the header never needs scavenging.
34 }
35
36 inline void oopDesc::push_contents(PSPromotionManager* pm) { 27 inline void oopDesc::push_contents(PSPromotionManager* pm) {
37 Klass* klass = blueprint(); 28 Klass* klass = blueprint();
38 if (!klass->oop_is_typeArray()) { 29 if (!klass->oop_is_typeArray()) {
39 // It might contain oops beyond the header, so take the virtual call. 30 // It might contain oops beyond the header, so take the virtual call.
40 klass->oop_push_contents(pm, this); 31 klass->oop_push_contents(pm, this);