| Index: src/hydrogen.cc
|
| diff --git a/src/hydrogen.cc b/src/hydrogen.cc
|
| index d447bbc9f76cbcb6d16990ed22233d11b154e1d1..6ae1466d62de54427cc9992af757099705339594 100644
|
| --- a/src/hydrogen.cc
|
| +++ b/src/hydrogen.cc
|
| @@ -11310,17 +11310,13 @@ void HOptimizedGraphBuilder::GenerateIsConstructCall(CallRuntime* call) {
|
|
|
| // Support for arguments.length and arguments[?].
|
| void HOptimizedGraphBuilder::GenerateArgumentsLength(CallRuntime* call) {
|
| + // Our implementation of arguments (based on this stack frame or an
|
| + // adapter below it) does not work for inlined functions. This runtime
|
| + // function is blacklisted by AstNode::IsInlineable.
|
| + ASSERT(function_state()->outer() == NULL);
|
| ASSERT(call->arguments()->length() == 0);
|
| - HInstruction* result = NULL;
|
| - if (function_state()->outer() == NULL) {
|
| - HInstruction* elements = Add<HArgumentsElements>(false);
|
| - result = New<HArgumentsLength>(elements);
|
| - } else {
|
| - // Number of arguments without receiver.
|
| - int argument_count = environment()->
|
| - arguments_environment()->parameter_count() - 1;
|
| - result = New<HConstant>(argument_count);
|
| - }
|
| + HInstruction* elements = Add<HArgumentsElements>(false);
|
| + HArgumentsLength* result = New<HArgumentsLength>(elements);
|
| return ast_context()->ReturnInstruction(result, call->id());
|
| }
|
|
|
|
|