--- old/src/hotspot/share/gc/shenandoah/c1/shenandoahBarrierSetC1.hpp 2019-05-08 16:25:25.488864852 +0200 +++ new/src/hotspot/share/gc/shenandoah/c1/shenandoahBarrierSetC1.hpp 2019-05-08 16:25:25.277867921 +0200 @@ -126,22 +126,25 @@ LIR_Opr _new_value; LIR_Opr _tmp1; LIR_Opr _tmp2; + LIR_Opr _tmp3; public: LIR_OpShenandoahCompareAndSwap(LIR_Opr addr, LIR_Opr cmp_value, LIR_Opr new_value, - LIR_Opr t1, LIR_Opr t2, LIR_Opr result) + LIR_Opr t1, LIR_Opr t2, LIR_Opr t3, LIR_Opr result) : LIR_Op(lir_none, result, NULL) // no info , _addr(addr) , _cmp_value(cmp_value) , _new_value(new_value) , _tmp1(t1) - , _tmp2(t2) { } + , _tmp2(t2) + , _tmp3(t3) { } LIR_Opr addr() const { return _addr; } LIR_Opr cmp_value() const { return _cmp_value; } LIR_Opr new_value() const { return _new_value; } LIR_Opr tmp1() const { return _tmp1; } LIR_Opr tmp2() const { return _tmp2; } + LIR_Opr tmp3() const { return _tmp3; } virtual void visit(LIR_OpVisitState* state) { assert(_addr->is_valid(), "used"); @@ -156,6 +159,7 @@ state->do_temp(_new_value); if (_tmp1->is_valid()) state->do_temp(_tmp1); if (_tmp2->is_valid()) state->do_temp(_tmp2); + if (_tmp3->is_valid()) state->do_temp(_tmp3); if (_result->is_valid()) state->do_output(_result); } @@ -167,6 +171,7 @@ new_value()->print(out); out->print(" "); tmp1()->print(out); out->print(" "); tmp2()->print(out); out->print(" "); + tmp3()->print(out); out->print(" "); } #ifndef PRODUCT virtual const char* name() const {