Index: src/hydrogen.cc |
diff --git a/src/hydrogen.cc b/src/hydrogen.cc |
index 627dec94790809db19d4472d1da3061265589494..518b4a516f08bd87c270237995eb9aadac6c6124 100644 |
--- a/src/hydrogen.cc |
+++ b/src/hydrogen.cc |
@@ -9098,10 +9098,13 @@ void HOptimizedGraphBuilder::GenerateRandomHeapNumber(CallRuntime* call) { |
// Fast support for StringAdd. |
void HOptimizedGraphBuilder::GenerateStringAdd(CallRuntime* call) { |
ASSERT_EQ(2, call->arguments()->length()); |
- CHECK_ALIVE(VisitArgumentList(call->arguments())); |
+ CHECK_ALIVE(VisitForValue(call->arguments()->at(0))); |
+ CHECK_ALIVE(VisitForValue(call->arguments()->at(1))); |
+ HValue* right = Pop(); |
+ HValue* left = Pop(); |
HValue* context = environment()->LookupContext(); |
- HCallStub* result = new(zone()) HCallStub(context, CodeStub::StringAdd, 2); |
- Drop(2); |
+ HInstruction* result = HStringAdd::New( |
+ zone(), context, left, right, NO_STRING_ADD_FLAGS); |
return ast_context()->ReturnInstruction(result, call->id()); |
} |