equal
deleted
inserted
replaced
29 #include "gc/shenandoah/c1/shenandoahBarrierSetC1.hpp" |
29 #include "gc/shenandoah/c1/shenandoahBarrierSetC1.hpp" |
30 |
30 |
31 #define __ masm->masm()-> |
31 #define __ masm->masm()-> |
32 |
32 |
33 void LIR_OpShenandoahCompareAndSwap::emit_code(LIR_Assembler* masm) { |
33 void LIR_OpShenandoahCompareAndSwap::emit_code(LIR_Assembler* masm) { |
34 Register addr = _addr->as_register_lo(); |
34 NOT_LP64(assert(_addr->is_single_cpu(), "must be single");) |
|
35 Register addr = _addr->is_single_cpu() ? _addr->as_register() : _addr->as_register_lo(); |
35 Register newval = _new_value->as_register(); |
36 Register newval = _new_value->as_register(); |
36 Register cmpval = _cmp_value->as_register(); |
37 Register cmpval = _cmp_value->as_register(); |
37 Register tmp1 = _tmp1->as_register(); |
38 Register tmp1 = _tmp1->as_register(); |
38 Register tmp2 = _tmp2->as_register(); |
39 Register tmp2 = _tmp2->as_register(); |
39 Register result = result_opr()->as_register(); |
40 Register result = result_opr()->as_register(); |