--- a/src/hotspot/cpu/arm/macroAssembler_arm.hpp Wed May 02 10:48:48 2018 -0700
+++ b/src/hotspot/cpu/arm/macroAssembler_arm.hpp Wed May 02 19:26:42 2018 +0200
@@ -401,27 +401,6 @@
void resolve_jobject(Register value, Register tmp1, Register tmp2);
-#if INCLUDE_ALL_GCS
- // G1 pre-barrier.
- // Blows all volatile registers (R0-R3 on 32-bit ARM, R0-R18 on AArch64, Rtemp, LR).
- // If store_addr != noreg, then previous value is loaded from [store_addr];
- // in such case store_addr and new_val registers are preserved;
- // otherwise pre_val register is preserved.
- void g1_write_barrier_pre(Register store_addr,
- Register new_val,
- Register pre_val,
- Register tmp1,
- Register tmp2);
-
- // G1 post-barrier.
- // Blows all volatile registers (R0-R3 on 32-bit ARM, R0-R18 on AArch64, Rtemp, LR).
- void g1_write_barrier_post(Register store_addr,
- Register new_val,
- Register tmp1,
- Register tmp2,
- Register tmp3);
-#endif // INCLUDE_ALL_GCS
-
#ifndef AARCH64
void nop() {
mov(R0, R0);
@@ -1072,12 +1051,12 @@
// oop manipulations
- void load_heap_oop(Register dst, Address src);
- void store_heap_oop(Register src, Address dst);
- void store_heap_oop(Address dst, Register src) {
- store_heap_oop(src, dst);
- }
- void store_heap_oop_null(Register src, Address dst);
+ void load_heap_oop(Register dst, Address src, Register tmp1 = noreg, Register tmp2 = noreg, Register tmp3 = noreg, DecoratorSet decorators = 0);
+ void store_heap_oop(Address obj, Register new_val, Register tmp1 = noreg, Register tmp2 = noreg, Register tmp3 = noreg, DecoratorSet decorators = 0);
+ void store_heap_oop_null(Address obj, Register new_val, Register tmp1 = noreg, Register tmp2 = noreg, Register tmp3 = noreg, DecoratorSet decorators = 0);
+
+ void access_load_at(BasicType type, DecoratorSet decorators, Address src, Register dst, Register tmp1, Register tmp2, Register tmp3);
+ void access_store_at(BasicType type, DecoratorSet decorators, Address obj, Register new_val, Register tmp1, Register tmp2, Register tmp3, bool is_null);
#ifdef AARCH64
void encode_heap_oop(Register dst, Register src);