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

changeset 8604
04d83ba48607
parent 8179
110735ab93ec
parent 8019
3fb3ceb7398f
child 9138
b56ab8e56604
equal deleted inserted replaced
8603:e134dc1879b7 8604:04d83ba48607
1327 1327
1328 inline bool PSParallelCompact::mark_obj(oop obj) { 1328 inline bool PSParallelCompact::mark_obj(oop obj) {
1329 const int obj_size = obj->size(); 1329 const int obj_size = obj->size();
1330 if (mark_bitmap()->mark_obj(obj, obj_size)) { 1330 if (mark_bitmap()->mark_obj(obj, obj_size)) {
1331 _summary_data.add_obj(obj, obj_size); 1331 _summary_data.add_obj(obj, obj_size);
1332 #ifdef MIPS64
1333 if (UseSyncLevel >= 2000) OrderAccess::fence();
1334 #endif
1332 return true; 1335 return true;
1333 } else { 1336 } else {
1334 return false; 1337 return false;
1335 } 1338 }
1336 } 1339 }
1361 T heap_oop = oopDesc::load_heap_oop(p); 1364 T heap_oop = oopDesc::load_heap_oop(p);
1362 if (!oopDesc::is_null(heap_oop)) { 1365 if (!oopDesc::is_null(heap_oop)) {
1363 oop obj = oopDesc::decode_heap_oop_not_null(heap_oop); 1366 oop obj = oopDesc::decode_heap_oop_not_null(heap_oop);
1364 if (mark_bitmap()->is_unmarked(obj) && mark_obj(obj)) { 1367 if (mark_bitmap()->is_unmarked(obj) && mark_obj(obj)) {
1365 cm->push(obj); 1368 cm->push(obj);
1369 #ifdef MIPS64
1370 if (UseSyncLevel >= 2000) OrderAccess::fence();
1371 #endif
1366 } 1372 }
1367 } 1373 }
1368 } 1374 }
1369 1375
1370 template <class T> 1376 template <class T>

mercurial