123:c7fdbe297c7c | 124:9d7e35a93fad |
---|---|
1320 | 1320 |
1321 inline bool PSParallelCompact::mark_obj(oop obj) { | 1321 inline bool PSParallelCompact::mark_obj(oop obj) { |
1322 const int obj_size = obj->size(); | 1322 const int obj_size = obj->size(); |
1323 if (mark_bitmap()->mark_obj(obj, obj_size)) { | 1323 if (mark_bitmap()->mark_obj(obj, obj_size)) { |
1324 _summary_data.add_obj(obj, obj_size); | 1324 _summary_data.add_obj(obj, obj_size); |
1325 #ifdef MIPS64 | |
1326 if (Use3A2000) OrderAccess::fence(); | |
1327 #endif | |
1325 return true; | 1328 return true; |
1326 } else { | 1329 } else { |
1327 return false; | 1330 return false; |
1328 } | 1331 } |
1329 } | 1332 } |
1354 T heap_oop = oopDesc::load_heap_oop(p); | 1357 T heap_oop = oopDesc::load_heap_oop(p); |
1355 if (!oopDesc::is_null(heap_oop)) { | 1358 if (!oopDesc::is_null(heap_oop)) { |
1356 oop obj = oopDesc::decode_heap_oop_not_null(heap_oop); | 1359 oop obj = oopDesc::decode_heap_oop_not_null(heap_oop); |
1357 if (mark_bitmap()->is_unmarked(obj) && mark_obj(obj)) { | 1360 if (mark_bitmap()->is_unmarked(obj) && mark_obj(obj)) { |
1358 cm->push(obj); | 1361 cm->push(obj); |
1362 #ifdef MIPS64 | |
1363 if (Use3A2000) OrderAccess::fence(); | |
1364 #endif | |
1359 } | 1365 } |
1360 } | 1366 } |
1361 } | 1367 } |
1362 | 1368 |
1363 template <class T> | 1369 template <class T> |