1.1 --- a/src/share/vm/gc_implementation/parallelScavenge/psCompactionManager.inline.hpp Wed Jun 30 11:52:10 2010 -0400 1.2 +++ b/src/share/vm/gc_implementation/parallelScavenge/psCompactionManager.inline.hpp Thu Jul 01 21:40:45 2010 -0700 1.3 @@ -26,7 +26,16 @@ 1.4 { 1.5 ObjArrayTask task(obj, index); 1.6 assert(task.is_valid(), "bad ObjArrayTask"); 1.7 - if (!_objarray_queue.push(task)) { 1.8 - _objarray_overflow_stack->push(task); 1.9 - } 1.10 + _objarray_stack.push(task); 1.11 } 1.12 + 1.13 +void ParCompactionManager::push_region(size_t index) 1.14 +{ 1.15 +#ifdef ASSERT 1.16 + const ParallelCompactData& sd = PSParallelCompact::summary_data(); 1.17 + ParallelCompactData::RegionData* const region_ptr = sd.region(index); 1.18 + assert(region_ptr->claimed(), "must be claimed"); 1.19 + assert(region_ptr->_pushed++ == 0, "should only be pushed once"); 1.20 +#endif 1.21 + region_stack()->push(index); 1.22 +}