31 void ParCompactionManager::push_objarray(oop obj, size_t index) |
31 void ParCompactionManager::push_objarray(oop obj, size_t index) |
32 { |
32 { |
33 ObjArrayTask task(obj, index); |
33 ObjArrayTask task(obj, index); |
34 assert(task.is_valid(), "bad ObjArrayTask"); |
34 assert(task.is_valid(), "bad ObjArrayTask"); |
35 _objarray_stack.push(task); |
35 _objarray_stack.push(task); |
36 #ifdef MIPS |
36 #if defined MIPS && !defined ZERO |
37 if (UseSyncLevel >= 2000) OrderAccess::fence(); |
37 if (UseSyncLevel >= 2000) OrderAccess::fence(); |
38 #endif |
38 #endif |
39 } |
39 } |
40 |
40 |
41 void ParCompactionManager::push_region(size_t index) |
41 void ParCompactionManager::push_region(size_t index) |
45 ParallelCompactData::RegionData* const region_ptr = sd.region(index); |
45 ParallelCompactData::RegionData* const region_ptr = sd.region(index); |
46 assert(region_ptr->claimed(), "must be claimed"); |
46 assert(region_ptr->claimed(), "must be claimed"); |
47 assert(region_ptr->_pushed++ == 0, "should only be pushed once"); |
47 assert(region_ptr->_pushed++ == 0, "should only be pushed once"); |
48 #endif |
48 #endif |
49 region_stack()->push(index); |
49 region_stack()->push(index); |
50 #ifdef MIPS |
50 #if defined MIPS && !defined ZERO |
51 if (UseSyncLevel >= 2000) OrderAccess::fence(); |
51 if (UseSyncLevel >= 2000) OrderAccess::fence(); |
52 #endif |
52 #endif |
53 } |
53 } |
54 |
54 |
55 #endif // SHARE_VM_GC_IMPLEMENTATION_PARALLELSCAVENGE_PSCOMPACTIONMANAGER_INLINE_HPP |
55 #endif // SHARE_VM_GC_IMPLEMENTATION_PARALLELSCAVENGE_PSCOMPACTIONMANAGER_INLINE_HPP |