< prev index next >
src/hotspot/share/gc/g1/g1EvacFailure.cpp
Print this page
rev 49525 : [mq]: 8200426-sangheon-review
*** 37,59 ****
#include "oops/access.inline.hpp"
#include "oops/compressedOops.inline.hpp"
class UpdateRSetDeferred : public ExtendedOopClosure {
private:
! G1CollectedHeap* _g1;
DirtyCardQueue* _dcq;
G1CardTable* _ct;
public:
UpdateRSetDeferred(DirtyCardQueue* dcq) :
! _g1(G1CollectedHeap::heap()), _ct(_g1->card_table()), _dcq(dcq) {}
virtual void do_oop(narrowOop* p) { do_oop_work(p); }
virtual void do_oop( oop* p) { do_oop_work(p); }
template <class T> void do_oop_work(T* p) {
! assert(_g1->heap_region_containing(p)->is_in_reserved(p), "paranoia");
! assert(!_g1->heap_region_containing(p)->is_survivor(), "Unexpected evac failure in survivor region");
T const o = RawAccess<>::oop_load(p);
if (CompressedOops::is_null(o)) {
return;
}
--- 37,59 ----
#include "oops/access.inline.hpp"
#include "oops/compressedOops.inline.hpp"
class UpdateRSetDeferred : public ExtendedOopClosure {
private:
! G1CollectedHeap* _g1h;
DirtyCardQueue* _dcq;
G1CardTable* _ct;
public:
UpdateRSetDeferred(DirtyCardQueue* dcq) :
! _g1h(G1CollectedHeap::heap()), _ct(_g1h->card_table()), _dcq(dcq) {}
virtual void do_oop(narrowOop* p) { do_oop_work(p); }
virtual void do_oop( oop* p) { do_oop_work(p); }
template <class T> void do_oop_work(T* p) {
! assert(_g1h->heap_region_containing(p)->is_in_reserved(p), "paranoia");
! assert(!_g1h->heap_region_containing(p)->is_survivor(), "Unexpected evac failure in survivor region");
T const o = RawAccess<>::oop_load(p);
if (CompressedOops::is_null(o)) {
return;
}
*** 67,78 ****
}
}
};
class RemoveSelfForwardPtrObjClosure: public ObjectClosure {
! private:
! G1CollectedHeap* _g1;
G1ConcurrentMark* _cm;
HeapRegion* _hr;
size_t _marked_bytes;
UpdateRSetDeferred* _update_rset_cl;
bool _during_initial_mark;
--- 67,77 ----
}
}
};
class RemoveSelfForwardPtrObjClosure: public ObjectClosure {
! G1CollectedHeap* _g1h;
G1ConcurrentMark* _cm;
HeapRegion* _hr;
size_t _marked_bytes;
UpdateRSetDeferred* _update_rset_cl;
bool _during_initial_mark;
*** 82,93 ****
public:
RemoveSelfForwardPtrObjClosure(HeapRegion* hr,
UpdateRSetDeferred* update_rset_cl,
bool during_initial_mark,
uint worker_id) :
! _g1(G1CollectedHeap::heap()),
! _cm(_g1->concurrent_mark()),
_hr(hr),
_marked_bytes(0),
_update_rset_cl(update_rset_cl),
_during_initial_mark(during_initial_mark),
_worker_id(worker_id),
--- 81,92 ----
public:
RemoveSelfForwardPtrObjClosure(HeapRegion* hr,
UpdateRSetDeferred* update_rset_cl,
bool during_initial_mark,
uint worker_id) :
! _g1h(G1CollectedHeap::heap()),
! _cm(_g1h->concurrent_mark()),
_hr(hr),
_marked_bytes(0),
_update_rset_cl(update_rset_cl),
_during_initial_mark(during_initial_mark),
_worker_id(worker_id),
< prev index next >