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

changeset 124
9d7e35a93fad
parent 0
f90c822e73f8
child 6876
710a3c8b516e
equal deleted inserted replaced
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>

mercurial