Index: src/mips/lithium-mips.cc |
diff --git a/src/mips/lithium-mips.cc b/src/mips/lithium-mips.cc |
index edb1206b01e84ff1148d1cc66970d8a5b383ae86..943d9476f43daca9a890f16371662c5be897a591 100644 |
--- a/src/mips/lithium-mips.cc |
+++ b/src/mips/lithium-mips.cc |
@@ -2335,8 +2335,12 @@ LInstruction* LChunkBuilder::DoStoreNamedGeneric(HStoreNamedGeneric* instr) { |
LInstruction* LChunkBuilder::DoStringAdd(HStringAdd* instr) { |
LOperand* context = UseFixed(instr->context(), cp); |
- LOperand* left = UseRegisterAtStart(instr->left()); |
- LOperand* right = UseRegisterAtStart(instr->right()); |
+ LOperand* left = FLAG_new_string_add |
+ ? UseFixed(instr->left(), a1) |
+ : UseRegisterAtStart(instr->left()); |
+ LOperand* right = FLAG_new_string_add |
+ ? UseFixed(instr->right(), a0) |
+ : UseRegisterAtStart(instr->right()); |
return MarkAsCall( |
DefineFixed(new(zone()) LStringAdd(context, left, right), v0), |
instr); |