< prev index next > src/hotspot/share/gc/g1/g1CollectedHeap.hpp
Print this page
bool is_marked_next(oop obj) const;
// Determine if an object is dead, given the object and also
// the region to which the object belongs. An object is dead
// iff a) it was not allocated since the last mark, b) it
! // 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->is_obj_dead(obj, _cm->prev_mark_bitmap()) &&
! !hr->is_archive();
}
// This function returns true when an object has been
// around since the previous marking and hasn't yet
! // been marked during this marking, and is not in an archive region.
bool is_obj_ill(const oop obj, const HeapRegion* hr) const {
return
!hr->obj_allocated_since_next_marking(obj) &&
!is_marked_next(obj) &&
! !hr->is_archive();
}
// Determine if an object is dead, given only the object itself.
// This will find the region to which the object belongs and
// then call the region version of the same function.
bool is_marked_next(oop obj) const;
// Determine if an object is dead, given the object and also
// the region to which the object belongs. An object is dead
// iff a) it was not allocated since the last mark, b) it
! // is not marked, and c) it is not in a closed archive region.
bool is_obj_dead(const oop obj, const HeapRegion* hr) const {
return
! hr->is_obj_dead(obj, _cm->prev_mark_bitmap());
! // &&
+ // !hr->is_closed_archive(); // FIXME: remove
}
// This function returns true when an object has been
// around since the previous marking and hasn't yet
! // been marked during this marking, and is not in a closed archive region.
bool is_obj_ill(const oop obj, const HeapRegion* hr) const {
return
!hr->obj_allocated_since_next_marking(obj) &&
!is_marked_next(obj) &&
! !hr->is_open_archive();
}
// Determine if an object is dead, given only the object itself.
// This will find the region to which the object belongs and
// then call the region version of the same function.
< prev index next >