| Index: src/hydrogen.cc
|
| diff --git a/src/hydrogen.cc b/src/hydrogen.cc
|
| index a268446463d861df8f669b8a63c7293266ff6921..851a05d6f8082126eeb824c89c3b27216c754162 100644
|
| --- a/src/hydrogen.cc
|
| +++ b/src/hydrogen.cc
|
| @@ -1734,7 +1734,7 @@ HValue* HGraphBuilder::BuildNumberToString(HValue* object, Type* type) {
|
| if_found.Else();
|
| {
|
| // Cache miss, fallback to runtime.
|
| - Add<HPushArguments>(zone(), object);
|
| + Add<HPushArguments>(object);
|
| Push(Add<HCallRuntime>(
|
| isolate()->factory()->empty_string(),
|
| Runtime::FunctionForId(Runtime::kHiddenNumberToStringSkipCache),
|
| @@ -2058,7 +2058,7 @@ HValue* HGraphBuilder::BuildUncheckedStringAdd(
|
| if_sameencodingandsequential.Else();
|
| {
|
| // Fallback to the runtime to add the two strings.
|
| - Add<HPushArguments>(zone(), left, right);
|
| + Add<HPushArguments>(left, right);
|
| Push(Add<HCallRuntime>(
|
| isolate()->factory()->empty_string(),
|
| Runtime::FunctionForId(Runtime::kHiddenStringAdd),
|
| @@ -4197,9 +4197,9 @@ void HOptimizedGraphBuilder::PushArgumentsFromEnvironment(int count) {
|
| arguments.Add(Pop(), zone());
|
| }
|
|
|
| - HPushArguments* push_args = New<HPushArguments>(zone());
|
| + HPushArguments* push_args = New<HPushArguments>();
|
| while (!arguments.is_empty()) {
|
| - push_args->AddArgument(arguments.RemoveLast());
|
| + push_args->AddInput(arguments.RemoveLast());
|
| }
|
| AddInstruction(push_args);
|
| }
|
| @@ -5195,8 +5195,7 @@ void HOptimizedGraphBuilder::VisitObjectLiteral(ObjectLiteral* expr) {
|
| flags |= expr->has_function()
|
| ? ObjectLiteral::kHasFunction : ObjectLiteral::kNoFlags;
|
|
|
| - Add<HPushArguments>(zone(),
|
| - Add<HConstant>(closure_literals),
|
| + Add<HPushArguments>(Add<HConstant>(closure_literals),
|
| Add<HConstant>(literal_index),
|
| Add<HConstant>(constant_properties),
|
| Add<HConstant>(flags));
|
| @@ -5354,8 +5353,7 @@ void HOptimizedGraphBuilder::VisitArrayLiteral(ArrayLiteral* expr) {
|
| : ArrayLiteral::kNoFlags;
|
| flags |= ArrayLiteral::kDisableMementos;
|
|
|
| - Add<HPushArguments>(zone(),
|
| - Add<HConstant>(literals),
|
| + Add<HPushArguments>(Add<HConstant>(literals),
|
| Add<HConstant>(literal_index),
|
| Add<HConstant>(constants),
|
| Add<HConstant>(flags));
|
| @@ -6373,7 +6371,7 @@ void HOptimizedGraphBuilder::VisitThrow(Throw* expr) {
|
|
|
| HValue* value = environment()->Pop();
|
| if (!FLAG_hydrogen_track_positions) SetSourcePosition(expr->position());
|
| - Add<HPushArguments>(zone(), value);
|
| + Add<HPushArguments>(value);
|
| Add<HCallRuntime>(isolate()->factory()->empty_string(),
|
| Runtime::FunctionForId(Runtime::kHiddenThrow), 1);
|
| Add<HSimulate>(expr->id());
|
| @@ -6775,7 +6773,7 @@ void HOptimizedGraphBuilder::EnsureArgumentsArePushedForAccess() {
|
| HInstruction* insert_after = entry;
|
| for (int i = 0; i < arguments_values->length(); i++) {
|
| HValue* argument = arguments_values->at(i);
|
| - HInstruction* push_argument = New<HPushArguments>(zone(), argument);
|
| + HInstruction* push_argument = New<HPushArguments>(argument);
|
| push_argument->InsertAfter(insert_after);
|
| insert_after = push_argument;
|
| }
|
| @@ -8070,7 +8068,7 @@ bool HOptimizedGraphBuilder::TryInlineApiCall(Handle<JSFunction> function,
|
| ASSERT_EQ(NULL, receiver);
|
| // Receiver is on expression stack.
|
| receiver = Pop();
|
| - Add<HPushArguments>(zone(), receiver);
|
| + Add<HPushArguments>(receiver);
|
| break;
|
| case kCallApiSetter:
|
| {
|
| @@ -8081,7 +8079,7 @@ bool HOptimizedGraphBuilder::TryInlineApiCall(Handle<JSFunction> function,
|
| // Receiver and value are on expression stack.
|
| HValue* value = Pop();
|
| receiver = Pop();
|
| - Add<HPushArguments>(zone(), receiver, value);
|
| + Add<HPushArguments>(receiver, value);
|
| break;
|
| }
|
| }
|
| @@ -9127,8 +9125,7 @@ void HOptimizedGraphBuilder::VisitDelete(UnaryOperation* expr) {
|
| HValue* key = Pop();
|
| HValue* obj = Pop();
|
| HValue* function = AddLoadJSBuiltin(Builtins::DELETE);
|
| - Add<HPushArguments>(zone(),
|
| - obj, key, Add<HConstant>(function_strict_mode()));
|
| + Add<HPushArguments>(obj, key, Add<HConstant>(function_strict_mode()));
|
| // TODO(olivf) InvokeFunction produces a check for the parameter count,
|
| // even though we are certain to pass the correct number of arguments here.
|
| HInstruction* instr = New<HInvokeFunction>(function, 3);
|
| @@ -9608,7 +9605,7 @@ HValue* HGraphBuilder::BuildBinaryOperation(
|
| } else if (!left_type->Is(Type::String())) {
|
| ASSERT(right_type->Is(Type::String()));
|
| HValue* function = AddLoadJSBuiltin(Builtins::STRING_ADD_RIGHT);
|
| - Add<HPushArguments>(zone(), left, right);
|
| + Add<HPushArguments>(left, right);
|
| return AddUncasted<HInvokeFunction>(function, 2);
|
| }
|
|
|
| @@ -9619,7 +9616,7 @@ HValue* HGraphBuilder::BuildBinaryOperation(
|
| } else if (!right_type->Is(Type::String())) {
|
| ASSERT(left_type->Is(Type::String()));
|
| HValue* function = AddLoadJSBuiltin(Builtins::STRING_ADD_LEFT);
|
| - Add<HPushArguments>(zone(), left, right);
|
| + Add<HPushArguments>(left, right);
|
| return AddUncasted<HInvokeFunction>(function, 2);
|
| }
|
|
|
| @@ -9681,7 +9678,7 @@ HValue* HGraphBuilder::BuildBinaryOperation(
|
| // operation in optimized code, which is more expensive, than a stub call.
|
| if (graph()->info()->IsStub() && is_non_primitive) {
|
| HValue* function = AddLoadJSBuiltin(BinaryOpIC::TokenToJSBuiltin(op));
|
| - Add<HPushArguments>(zone(), left, right);
|
| + Add<HPushArguments>(left, right);
|
| instr = AddUncasted<HInvokeFunction>(function, 2);
|
| } else {
|
| switch (op) {
|
| @@ -10045,7 +10042,7 @@ void HOptimizedGraphBuilder::VisitCompareOperation(CompareOperation* expr) {
|
| UNREACHABLE();
|
| } else if (op == Token::IN) {
|
| HValue* function = AddLoadJSBuiltin(Builtins::IN);
|
| - Add<HPushArguments>(zone(), left, right);
|
| + Add<HPushArguments>(left, right);
|
| // TODO(olivf) InvokeFunction produces a check for the parameter count,
|
| // even though we are certain to pass the correct number of arguments here.
|
| HInstruction* result = New<HInvokeFunction>(function, 2);
|
|
|