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> |