src/share/vm/gc_implementation/parallelScavenge/psParallelCompact.hpp

changeset 7535
7ae4e26cb1e0
parent 6904
0982ec23da03
parent 6876
710a3c8b516e
child 8019
3fb3ceb7398f
equal deleted inserted replaced
7534:e6aa4a8c1b46 7535:7ae4e26cb1e0
1324 1324
1325 inline bool PSParallelCompact::mark_obj(oop obj) { 1325 inline bool PSParallelCompact::mark_obj(oop obj) {
1326 const int obj_size = obj->size(); 1326 const int obj_size = obj->size();
1327 if (mark_bitmap()->mark_obj(obj, obj_size)) { 1327 if (mark_bitmap()->mark_obj(obj, obj_size)) {
1328 _summary_data.add_obj(obj, obj_size); 1328 _summary_data.add_obj(obj, obj_size);
1329 #ifdef MIPS64
1330 if (Use3A2000) OrderAccess::fence();
1331 #endif
1329 return true; 1332 return true;
1330 } else { 1333 } else {
1331 return false; 1334 return false;
1332 } 1335 }
1333 } 1336 }
1358 T heap_oop = oopDesc::load_heap_oop(p); 1361 T heap_oop = oopDesc::load_heap_oop(p);
1359 if (!oopDesc::is_null(heap_oop)) { 1362 if (!oopDesc::is_null(heap_oop)) {
1360 oop obj = oopDesc::decode_heap_oop_not_null(heap_oop); 1363 oop obj = oopDesc::decode_heap_oop_not_null(heap_oop);
1361 if (mark_bitmap()->is_unmarked(obj) && mark_obj(obj)) { 1364 if (mark_bitmap()->is_unmarked(obj) && mark_obj(obj)) {
1362 cm->push(obj); 1365 cm->push(obj);
1366 #ifdef MIPS64
1367 if (Use3A2000) OrderAccess::fence();
1368 #endif
1363 } 1369 }
1364 } 1370 }
1365 } 1371 }
1366 1372
1367 template <class T> 1373 template <class T>

mercurial