--- a/src/hotspot/cpu/sparc/stubGenerator_sparc.cpp Fri Apr 13 10:31:49 2018 +0200
+++ b/src/hotspot/cpu/sparc/stubGenerator_sparc.cpp Wed Apr 18 09:46:53 2018 +0200
@@ -2277,7 +2277,7 @@
decorators |= ARRAYCOPY_ALIGNED;
}
- BarrierSetAssembler *bs = Universe::heap()->barrier_set()->barrier_set_assembler();
+ BarrierSetAssembler *bs = BarrierSet::barrier_set()->barrier_set_assembler();
bs->arraycopy_prologue(_masm, decorators, T_OBJECT, from, to, count);
assert_clean_int(count, O3); // Make sure 'count' is clean int.
@@ -2334,7 +2334,7 @@
decorators |= ARRAYCOPY_ALIGNED;
}
- BarrierSetAssembler *bs = Universe::heap()->barrier_set()->barrier_set_assembler();
+ BarrierSetAssembler *bs = BarrierSet::barrier_set()->barrier_set_assembler();
bs->arraycopy_prologue(_masm, decorators, T_OBJECT, from, to, count);
if (UseCompressedOops) {
@@ -2451,7 +2451,7 @@
decorators |= AS_DEST_NOT_INITIALIZED;
}
- BarrierSetAssembler *bs = Universe::heap()->barrier_set()->barrier_set_assembler();
+ BarrierSetAssembler *bs = BarrierSet::barrier_set()->barrier_set_assembler();
bs->arraycopy_prologue(_masm, decorators, T_OBJECT, O0_from, O1_to, O2_count);
Label load_element, store_element, do_epilogue, fail, done;
@@ -2474,14 +2474,14 @@
__ BIND(store_element);
__ deccc(G1_remain); // decrement the count
- __ store_heap_oop(G3_oop, O1_to, O5_offset); // store the oop
+ __ store_heap_oop(G3_oop, O1_to, O5_offset, noreg, AS_RAW); // store the oop
__ inc(O5_offset, heapOopSize); // step to next offset
__ brx(Assembler::zero, true, Assembler::pt, do_epilogue);
__ delayed()->set(0, O0); // return -1 on success
// ======== loop entry is here ========
__ BIND(load_element);
- __ load_heap_oop(O0_from, O5_offset, G3_oop); // load the oop
+ __ load_heap_oop(O0_from, O5_offset, G3_oop, noreg, AS_RAW); // load the oop
__ br_null_short(G3_oop, Assembler::pt, store_element);
__ load_klass(G3_oop, G4_klass); // query the object klass