--- old/src/share/vm/gc/g1/g1CollectedHeap.hpp 2017-05-30 14:39:06.334145050 +0200 +++ new/src/share/vm/gc/g1/g1CollectedHeap.hpp 2017-05-30 14:39:06.210141227 +0200 @@ -1348,7 +1348,6 @@ // bitmap off to the side. void doConcurrentMark(); - bool isMarkedPrev(oop obj) const; bool isMarkedNext(oop obj) const; // Determine if an object is dead, given the object and also @@ -1357,8 +1356,7 @@ // is not marked, and c) it is not in an archive region. bool is_obj_dead(const oop obj, const HeapRegion* hr) const { return - !hr->obj_allocated_since_prev_marking(obj) && - !isMarkedPrev(obj) && + hr->is_obj_dead(obj, _cm->prevMarkBitMap()) && !hr->is_archive(); }