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