--- a/src/hotspot/cpu/x86/stubGenerator_x86_64.cpp Fri Apr 13 10:31:49 2018 +0200
+++ b/src/hotspot/cpu/x86/stubGenerator_x86_64.cpp Wed Apr 18 09:46:53 2018 +0200
@@ -1829,7 +1829,7 @@
}
BasicType type = is_oop ? T_OBJECT : T_INT;
- BarrierSetAssembler *bs = Universe::heap()->barrier_set()->barrier_set_assembler();
+ BarrierSetAssembler *bs = BarrierSet::barrier_set()->barrier_set_assembler();
bs->arraycopy_prologue(_masm, decorators, type, from, to, count);
// 'from', 'to' and 'count' are now valid
@@ -1923,7 +1923,7 @@
}
BasicType type = is_oop ? T_OBJECT : T_INT;
- BarrierSetAssembler *bs = Universe::heap()->barrier_set()->barrier_set_assembler();
+ BarrierSetAssembler *bs = BarrierSet::barrier_set()->barrier_set_assembler();
// no registers are destroyed by this call
bs->arraycopy_prologue(_masm, decorators, type, from, to, count);
@@ -2027,7 +2027,7 @@
}
BasicType type = is_oop ? T_OBJECT : T_LONG;
- BarrierSetAssembler *bs = Universe::heap()->barrier_set()->barrier_set_assembler();
+ BarrierSetAssembler *bs = BarrierSet::barrier_set()->barrier_set_assembler();
bs->arraycopy_prologue(_masm, decorators, type, from, to, qword_count);
// Copy from low to high addresses. Use 'to' as scratch.
@@ -2120,7 +2120,7 @@
}
BasicType type = is_oop ? T_OBJECT : T_LONG;
- BarrierSetAssembler *bs = Universe::heap()->barrier_set()->barrier_set_assembler();
+ BarrierSetAssembler *bs = BarrierSet::barrier_set()->barrier_set_assembler();
bs->arraycopy_prologue(_masm, decorators, type, from, to, qword_count);
__ jmp(L_copy_bytes);
@@ -2300,7 +2300,7 @@
}
BasicType type = T_OBJECT;
- BarrierSetAssembler *bs = Universe::heap()->barrier_set()->barrier_set_assembler();
+ BarrierSetAssembler *bs = BarrierSet::barrier_set()->barrier_set_assembler();
bs->arraycopy_prologue(_masm, decorators, type, from, to, count);
// Copy from low to high addresses, indexed from the end of each array.
@@ -2323,13 +2323,13 @@
__ align(OptoLoopAlignment);
__ BIND(L_store_element);
- __ store_heap_oop(to_element_addr, rax_oop); // store the oop
+ __ store_heap_oop(to_element_addr, rax_oop, noreg, noreg, AS_RAW); // store the oop
__ increment(count); // increment the count toward zero
__ jcc(Assembler::zero, L_do_card_marks);
// ======== loop entry is here ========
__ BIND(L_load_element);
- __ load_heap_oop(rax_oop, from_element_addr); // load the oop
+ __ load_heap_oop(rax_oop, from_element_addr, noreg, noreg, AS_RAW); // load the oop
__ testptr(rax_oop, rax_oop);
__ jcc(Assembler::zero, L_store_element);