--- old/src/hotspot/cpu/x86/gc/shenandoah/shenandoahBarrierSetAssembler_x86.cpp 2020-02-12 15:21:30.112967366 +0100 +++ new/src/hotspot/cpu/x86/gc/shenandoah/shenandoahBarrierSetAssembler_x86.cpp 2020-02-12 15:21:30.005967360 +0100 @@ -824,7 +824,7 @@ Register obj = stub->obj()->as_register(); Register res = stub->result()->as_register(); - Register addr = stub->addr()->as_register(); + Register addr = stub->addr()->as_pointer_register(); Register tmp1 = stub->tmp1()->as_register(); Register tmp2 = stub->tmp2()->as_register(); assert_different_registers(obj, res, addr, tmp1, tmp2); --- old/src/hotspot/share/gc/shenandoah/c1/shenandoahBarrierSetC1.cpp 2020-02-12 15:21:30.740967400 +0100 +++ new/src/hotspot/share/gc/shenandoah/c1/shenandoahBarrierSetC1.cpp 2020-02-12 15:21:30.631967394 +0100 @@ -164,13 +164,7 @@ obj_reg = gen->new_register(type); __ move(obj, obj_reg); } else { -#ifdef AARCH64 - // AArch64 expects double-size register. obj_reg = gen->new_pointer_register(); -#else - // x86 expects single-size register. - obj_reg = gen->new_register(type); -#endif __ leal(obj, obj_reg); } obj = obj_reg;