Index: src/arm/lithium-arm.cc |
diff --git a/src/arm/lithium-arm.cc b/src/arm/lithium-arm.cc |
index 71ce8f11a99afc680d80eddc0943b7b01700ce9b..a6644af5ef78a605a9beb003dfd93228339dba32 100644 |
--- a/src/arm/lithium-arm.cc |
+++ b/src/arm/lithium-arm.cc |
@@ -1906,10 +1906,13 @@ LInstruction* LChunkBuilder::DoSeqStringGetChar(HSeqStringGetChar* instr) { |
LInstruction* LChunkBuilder::DoSeqStringSetChar(HSeqStringSetChar* instr) { |
- LOperand* string = UseRegister(instr->string()); |
- LOperand* index = UseRegisterOrConstant(instr->index()); |
- LOperand* value = UseRegister(instr->value()); |
- return new(zone()) LSeqStringSetChar(string, index, value); |
+ LOperand* string = UseRegisterAtStart(instr->string()); |
+ LOperand* index = FLAG_debug_code |
+ ? UseRegisterAtStart(instr->index()) |
+ : UseRegisterOrConstantAtStart(instr->index()); |
+ LOperand* value = UseRegisterAtStart(instr->value()); |
+ LOperand* context = FLAG_debug_code ? UseFixed(instr->context(), cp) : NULL; |
+ return new(zone()) LSeqStringSetChar(context, string, index, value); |
} |