Index: src/ia32/lithium-codegen-ia32.cc |
diff --git a/src/ia32/lithium-codegen-ia32.cc b/src/ia32/lithium-codegen-ia32.cc |
index bcb7286f5ce2d3b4e0c03d75fc33f9e41d9bad04..1ce7e4bec70317c96db12f19a98376994f921420 100644 |
--- a/src/ia32/lithium-codegen-ia32.cc |
+++ b/src/ia32/lithium-codegen-ia32.cc |
@@ -3308,6 +3308,22 @@ void LCodeGen::DoStringLength(LStringLength* instr) { |
} |
+void LCodeGen::DoStringAdd(LStringAdd* instr) { |
+ if (instr->left()->IsConstantOperand()) { |
+ __ push(ToImmediate(instr->left())); |
+ } else { |
+ __ push(ToOperand(instr->left())); |
+ } |
+ if (instr->right()->IsConstantOperand()) { |
+ __ push(ToImmediate(instr->right())); |
+ } else { |
+ __ push(ToOperand(instr->right())); |
+ } |
+ StringAddStub stub(NO_STRING_CHECK_IN_STUB); |
+ CallCode(stub.GetCode(), RelocInfo::CODE_TARGET, instr, RESTORE_CONTEXT); |
+} |
+ |
+ |
void LCodeGen::DoInteger32ToDouble(LInteger32ToDouble* instr) { |
LOperand* input = instr->InputAt(0); |
ASSERT(input->IsRegister() || input->IsStackSlot()); |