< prev index next >

src/hotspot/cpu/arm/gc/shared/barrierSetAssembler_arm.cpp

Print this page
rev 50535 : [mq]: rename_IN_ROOT
rev 50536 : [mq]: rename_on_root
rev 50537 : [mq]: rename_on_heap

*** 27,53 **** #define __ masm-> void BarrierSetAssembler::load_at(MacroAssembler* masm, DecoratorSet decorators, BasicType type, Register dst, Address src, Register tmp1, Register tmp2, Register tmp3) { ! bool on_heap = (decorators & IN_HEAP) != 0; ! bool on_root = (decorators & IN_ROOT) != 0; switch (type) { case T_OBJECT: case T_ARRAY: { ! if (on_heap) { #ifdef AARCH64 if (UseCompressedOops) { __ ldr_w(dst, src); __ decode_heap_oop(dst); } else #endif // AARCH64 { __ ldr(dst, src); } } else { ! assert(on_root, "why else?"); __ ldr(dst, src); } break; } default: Unimplemented(); --- 27,53 ---- #define __ masm-> void BarrierSetAssembler::load_at(MacroAssembler* masm, DecoratorSet decorators, BasicType type, Register dst, Address src, Register tmp1, Register tmp2, Register tmp3) { ! bool in_heap = (decorators & IN_HEAP) != 0; ! bool in_native = (decorators & IN_NATIVE) != 0; switch (type) { case T_OBJECT: case T_ARRAY: { ! if (in_heap) { #ifdef AARCH64 if (UseCompressedOops) { __ ldr_w(dst, src); __ decode_heap_oop(dst); } else #endif // AARCH64 { __ ldr(dst, src); } } else { ! assert(in_native, "why else?"); __ ldr(dst, src); } break; } default: Unimplemented();
*** 55,70 **** } void BarrierSetAssembler::store_at(MacroAssembler* masm, DecoratorSet decorators, BasicType type, Address obj, Register val, Register tmp1, Register tmp2, Register tmp3, bool is_null) { ! bool on_heap = (decorators & IN_HEAP) != 0; ! bool on_root = (decorators & IN_ROOT) != 0; switch (type) { case T_OBJECT: case T_ARRAY: { ! if (on_heap) { #ifdef AARCH64 if (UseCompressedOops) { assert(!dst.uses(src), "not enough registers"); if (!is_null) { __ encode_heap_oop(src); --- 55,70 ---- } void BarrierSetAssembler::store_at(MacroAssembler* masm, DecoratorSet decorators, BasicType type, Address obj, Register val, Register tmp1, Register tmp2, Register tmp3, bool is_null) { ! bool in_heap = (decorators & IN_HEAP) != 0; ! bool in_native = (decorators & IN_NATIVE) != 0; switch (type) { case T_OBJECT: case T_ARRAY: { ! if (in_heap) { #ifdef AARCH64 if (UseCompressedOops) { assert(!dst.uses(src), "not enough registers"); if (!is_null) { __ encode_heap_oop(src);
*** 74,84 **** #endif // AARCH64 { __ str(val, obj); } } else { ! assert(on_root, "why else?"); __ str(val, obj); } break; } default: Unimplemented(); --- 74,84 ---- #endif // AARCH64 { __ str(val, obj); } } else { ! assert(in_native, "why else?"); __ str(val, obj); } break; } default: Unimplemented();
< prev index next >