Mercurial > hg > graal-jvmci-8
comparison src/share/vm/oops/objArrayKlass.cpp @ 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 |
---|---|
424 ObjArrayKlass_OOP_ITERATE(a, p, MarkSweep::adjust_pointer(p)) | 424 ObjArrayKlass_OOP_ITERATE(a, p, MarkSweep::adjust_pointer(p)) |
425 return size; | 425 return size; |
426 } | 426 } |
427 | 427 |
428 #ifndef SERIALGC | 428 #ifndef SERIALGC |
429 void objArrayKlass::oop_copy_contents(PSPromotionManager* pm, oop obj) { | |
430 assert(!pm->depth_first(), "invariant"); | |
431 assert(obj->is_objArray(), "obj must be obj array"); | |
432 ObjArrayKlass_OOP_ITERATE( \ | |
433 objArrayOop(obj), p, \ | |
434 if (PSScavenge::should_scavenge(p)) { \ | |
435 pm->claim_or_forward_breadth(p); \ | |
436 }) | |
437 } | |
438 | |
439 void objArrayKlass::oop_push_contents(PSPromotionManager* pm, oop obj) { | 429 void objArrayKlass::oop_push_contents(PSPromotionManager* pm, oop obj) { |
440 assert(pm->depth_first(), "invariant"); | |
441 assert(obj->is_objArray(), "obj must be obj array"); | 430 assert(obj->is_objArray(), "obj must be obj array"); |
442 ObjArrayKlass_OOP_ITERATE( \ | 431 ObjArrayKlass_OOP_ITERATE( \ |
443 objArrayOop(obj), p, \ | 432 objArrayOop(obj), p, \ |
444 if (PSScavenge::should_scavenge(p)) { \ | 433 if (PSScavenge::should_scavenge(p)) { \ |
445 pm->claim_or_forward_depth(p); \ | 434 pm->claim_or_forward_depth(p); \ |