--- old/src/share/vm/gc_implementation/g1/g1SATBCardTableModRefBS.cpp 2014-06-26 13:26:30.049016612 +0200 +++ new/src/share/vm/gc_implementation/g1/g1SATBCardTableModRefBS.cpp 2014-06-26 13:26:29.941012411 +0200 @@ -66,6 +66,17 @@ } } +void G1SATBCardTableModRefBS::write_ref_array_pre(oop* dst, int count, bool dest_uninitialized) { + if (!dest_uninitialized) { + write_ref_array_pre_work(dst, count); + } +} +void G1SATBCardTableModRefBS::write_ref_array_pre(narrowOop* dst, int count, bool dest_uninitialized) { + if (!dest_uninitialized) { + write_ref_array_pre_work(dst, count); + } +} + bool G1SATBCardTableModRefBS::mark_card_deferred(size_t card_index) { jbyte val = _byte_map[card_index]; // It's already processed --- old/src/share/vm/gc_implementation/g1/g1SATBCardTableModRefBS.hpp 2014-06-26 13:26:30.753043991 +0200 +++ new/src/share/vm/gc_implementation/g1/g1SATBCardTableModRefBS.hpp 2014-06-26 13:26:30.633039324 +0200 @@ -86,16 +86,8 @@ } template void write_ref_array_pre_work(T* dst, int count); - virtual void write_ref_array_pre(oop* dst, int count, bool dest_uninitialized) { - if (!dest_uninitialized) { - write_ref_array_pre_work(dst, count); - } - } - virtual void write_ref_array_pre(narrowOop* dst, int count, bool dest_uninitialized) { - if (!dest_uninitialized) { - write_ref_array_pre_work(dst, count); - } - } + virtual void write_ref_array_pre(oop* dst, int count, bool dest_uninitialized); + virtual void write_ref_array_pre(narrowOop* dst, int count, bool dest_uninitialized); /* Claimed and deferred bits are used together in G1 during the evacuation