diff options
author | Allan Sandfeld Jensen <allan.jensen@qt.io> | 2017-12-08 13:24:59 +0100 |
---|---|---|
committer | Allan Sandfeld Jensen <allan.jensen@qt.io> | 2017-12-08 13:24:59 +0100 |
commit | cd7832ee326b0c424d4ad1538efd074c86a68f9b (patch) | |
tree | 158872ea92d5df96b1290b578cbe574aaa2acfd5 /chromium/v8/src/compiler/arm/instruction-selector-arm.cc | |
parent | 93cdb9906305e23304d9ff55350b7557fc1850cb (diff) | |
parent | 69b8f9169ffd66fdeca1ac60a4bc06b91d106186 (diff) | |
download | qtwebengine-chromium-cd7832ee326b0c424d4ad1538efd074c86a68f9b.tar.gz |
Merge remote-tracking branch 'origin/upstream-master' into 63-based
Change-Id: I4d88054034fccbb7409fa65c37d4498b74ec0578
Diffstat (limited to 'chromium/v8/src/compiler/arm/instruction-selector-arm.cc')
-rw-r--r-- | chromium/v8/src/compiler/arm/instruction-selector-arm.cc | 24 |
1 files changed, 12 insertions, 12 deletions
diff --git a/chromium/v8/src/compiler/arm/instruction-selector-arm.cc b/chromium/v8/src/compiler/arm/instruction-selector-arm.cc index 75021eb9d31..391356e960b 100644 --- a/chromium/v8/src/compiler/arm/instruction-selector-arm.cc +++ b/chromium/v8/src/compiler/arm/instruction-selector-arm.cc @@ -2275,10 +2275,10 @@ void InstructionSelector::VisitAtomicExchange(Node* node) { InstructionOperand inputs[3]; size_t input_count = 0; inputs[input_count++] = g.UseUniqueRegister(base); - inputs[input_count++] = g.UseUniqueRegister(index); + inputs[input_count++] = g.UseRegister(index); inputs[input_count++] = g.UseUniqueRegister(value); InstructionOperand outputs[1]; - outputs[0] = g.UseUniqueRegister(node); + outputs[0] = g.DefineAsRegister(node); InstructionOperand temp[1]; temp[0] = g.TempRegister(); InstructionCode code = opcode | AddressingModeField::encode(addressing_mode); @@ -2312,16 +2312,15 @@ void InstructionSelector::VisitAtomicCompareExchange(Node* node) { InstructionOperand inputs[4]; size_t input_count = 0; inputs[input_count++] = g.UseUniqueRegister(base); - inputs[input_count++] = g.UseUniqueRegister(index); + inputs[input_count++] = g.UseRegister(index); inputs[input_count++] = g.UseUniqueRegister(old_value); inputs[input_count++] = g.UseUniqueRegister(new_value); InstructionOperand outputs[1]; - outputs[0] = g.UseUniqueRegister(node); - InstructionOperand temp[2]; + outputs[0] = g.DefineAsRegister(node); + InstructionOperand temp[1]; temp[0] = g.TempRegister(); - temp[1] = g.TempRegister(); InstructionCode code = opcode | AddressingModeField::encode(addressing_mode); - Emit(code, 1, outputs, input_count, inputs, 2, temp); + Emit(code, 1, outputs, input_count, inputs, 1, temp); } void InstructionSelector::VisitAtomicBinaryOperation( @@ -2352,15 +2351,16 @@ void InstructionSelector::VisitAtomicBinaryOperation( InstructionOperand inputs[3]; size_t input_count = 0; inputs[input_count++] = g.UseUniqueRegister(base); - inputs[input_count++] = g.UseUniqueRegister(index); + inputs[input_count++] = g.UseRegister(index); inputs[input_count++] = g.UseUniqueRegister(value); InstructionOperand outputs[1]; - outputs[0] = g.UseUniqueRegister(node); + outputs[0] = g.DefineAsRegister(node); InstructionOperand temps[2]; - temps[0] = g.TempRegister(); - temps[1] = g.TempRegister(); + size_t temp_count = 0; + temps[temp_count++] = g.TempRegister(); + temps[temp_count++] = g.TempRegister(); InstructionCode code = opcode | AddressingModeField::encode(addressing_mode); - Emit(code, 1, outputs, input_count, inputs, 2, temps); + Emit(code, 1, outputs, input_count, inputs, temp_count, temps); } #define VISIT_ATOMIC_BINOP(op) \ |