< prev index next >
src/hotspot/share/gc/g1/g1ConcurrentMark.cpp
Print this page
rev 49511 : imported patch 8200234-g1concurrentmark-refactorings
rev 49512 : imported patch 8200234-stefanj-review
rev 49515 : 8200255: Remove G1CMTask::_concurrent
Reviewed-by: sangheki, sjohanss
rev 49516 : 8200074: Remove G1ConcurrentMark::_concurrent_marking_in_progress
Reviewed-by: sjohanss, sangheki
rev 49517 : imported patch 8200305-gc,liveness-output
rev 49518 : imported patch 8200385-prev-bitmap-marks-left
rev 49519 : imported patch 8200385-stefanj-review
rev 49520 : imported patch 8178105-switch-at-remark
rev 49521 : imported patch 8154528-reclaim-at-remark
rev 49525 : [mq]: 8200426-sangheon-review
*** 1184,1197 ****
uint _old_regions_removed;
uint _humongous_regions_removed;
HRRSCleanupTask* _hrrs_cleanup_task;
public:
! G1CleanupRegionsClosure(G1CollectedHeap* g1,
FreeRegionList* local_cleanup_list,
HRRSCleanupTask* hrrs_cleanup_task) :
! _g1h(g1),
_freed_bytes(0),
_local_cleanup_list(local_cleanup_list),
_old_regions_removed(0),
_humongous_regions_removed(0),
_hrrs_cleanup_task(hrrs_cleanup_task) { }
--- 1184,1197 ----
uint _old_regions_removed;
uint _humongous_regions_removed;
HRRSCleanupTask* _hrrs_cleanup_task;
public:
! G1CleanupRegionsClosure(G1CollectedHeap* g1h,
FreeRegionList* local_cleanup_list,
HRRSCleanupTask* hrrs_cleanup_task) :
! _g1h(g1h),
_freed_bytes(0),
_local_cleanup_list(local_cleanup_list),
_old_regions_removed(0),
_humongous_regions_removed(0),
_hrrs_cleanup_task(hrrs_cleanup_task) { }
*** 1668,1685 ****
}
// When sampling object counts, we already swapped the mark bitmaps, so we need to use
// the prev bitmap determining liveness.
class G1ObjectCountIsAliveClosure: public BoolObjectClosure {
! G1CollectedHeap* _g1;
! public:
! G1ObjectCountIsAliveClosure(G1CollectedHeap* g1) : _g1(g1) { }
bool do_object_b(oop obj) {
HeapWord* addr = (HeapWord*)obj;
return addr != NULL &&
! (!_g1->is_in_g1_reserved(addr) || !_g1->is_obj_dead(obj));
}
};
void G1ConcurrentMark::report_object_count(bool mark_completed) {
// Depending on the completion of the marking liveness needs to be determined
--- 1668,1685 ----
}
// When sampling object counts, we already swapped the mark bitmaps, so we need to use
// the prev bitmap determining liveness.
class G1ObjectCountIsAliveClosure: public BoolObjectClosure {
! G1CollectedHeap* _g1h;
! public:
! G1ObjectCountIsAliveClosure(G1CollectedHeap* g1h) : _g1h(g1h) { }
bool do_object_b(oop obj) {
HeapWord* addr = (HeapWord*)obj;
return addr != NULL &&
! (!_g1h->is_in_g1_reserved(addr) || !_g1h->is_obj_dead(obj));
}
};
void G1ConcurrentMark::report_object_count(bool mark_completed) {
// Depending on the completion of the marking liveness needs to be determined
< prev index next >