--- old/src/share/vm/gc/g1/g1EvacFailure.cpp 2017-04-25 16:44:35.963175159 +0200 +++ new/src/share/vm/gc/g1/g1EvacFailure.cpp 2017-04-25 16:44:35.851175163 +0200 @@ -39,11 +39,11 @@ private: G1CollectedHeap* _g1; DirtyCardQueue *_dcq; - G1SATBCardTableModRefBS* _ct_bs; + G1CardTable* _ct; public: UpdateRSetDeferred(DirtyCardQueue* dcq) : - _g1(G1CollectedHeap::heap()), _ct_bs(_g1->g1_barrier_set()), _dcq(dcq) {} + _g1(G1CollectedHeap::heap()), _ct(_g1->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); } @@ -52,9 +52,9 @@ assert(!_from->is_survivor(), "Unexpected evac failure in survivor region"); if (!_from->is_in_reserved(oopDesc::load_decode_heap_oop(p))) { - size_t card_index = _ct_bs->index_for(p); - if (_ct_bs->mark_card_deferred(card_index)) { - _dcq->enqueue((jbyte*)_ct_bs->byte_for_index(card_index)); + size_t card_index = _ct->index_for(p); + if (_ct->mark_card_deferred(card_index)) { + _dcq->enqueue((jbyte*)_ct->byte_for_index(card_index)); } } }