--- old/src/share/vm/gc/shared/barrierSet.cpp 2017-04-25 16:45:00.351174310 +0200 +++ new/src/share/vm/gc/shared/barrierSet.cpp 2017-04-25 16:45:00.219174314 +0200 @@ -27,18 +27,15 @@ #include "gc/shared/collectedHeap.hpp" #include "memory/universe.hpp" -// count is number of array elements being written -void BarrierSet::static_write_ref_array_pre(HeapWord* start, size_t count) { - assert(count <= (size_t)max_intx, "count too large"); - if (UseCompressedOops) { - Universe::heap()->barrier_set()->write_ref_array_pre((narrowOop*)start, (int)count, false); - } else { - Universe::heap()->barrier_set()->write_ref_array_pre( (oop*)start, (int)count, false); - } -} +BarrierSet* BarrierSet::_bs = NULL; -// count is number of array elements being written -void BarrierSet::static_write_ref_array_post(HeapWord* start, size_t count) { - // simply delegate to instance method - Universe::heap()->barrier_set()->write_ref_array(start, count); +void BarrierSet::initialize() { + _code_gen = make_code_gen(); +#if defined(COMPILER1) + _c1_code_gen = make_c1_code_gen(); +#endif +#if defined(COMPILER2) + _c2_code_gen = make_c2_code_gen(); +#endif + _bs = this; }