| Index: src/x64/full-codegen-x64.cc
 | 
| diff --git a/src/x64/full-codegen-x64.cc b/src/x64/full-codegen-x64.cc
 | 
| index bf640dbcb190315fb89393a228b4b4bd9e405efd..8d4792ee5d17efd78d2a771ba86b24d21d3b7ccd 100644
 | 
| --- a/src/x64/full-codegen-x64.cc
 | 
| +++ b/src/x64/full-codegen-x64.cc
 | 
| @@ -2099,8 +2099,7 @@ void FullCodeGenerator::EmitCallWithStub(Call* expr, CallFunctionFlags flags) {
 | 
|  }
 | 
|  
 | 
|  
 | 
| -void FullCodeGenerator::EmitResolvePossiblyDirectEval(ResolveEvalFlag flag,
 | 
| -                                                      int arg_count) {
 | 
| +void FullCodeGenerator::EmitResolvePossiblyDirectEval(int arg_count) {
 | 
|    // Push copy of the first argument or undefined if it doesn't exist.
 | 
|    if (arg_count > 0) {
 | 
|      __ push(Operand(rsp, arg_count * kPointerSize));
 | 
| @@ -2117,9 +2116,7 @@ void FullCodeGenerator::EmitResolvePossiblyDirectEval(ResolveEvalFlag flag,
 | 
|        FLAG_harmony_scoping ? kStrictMode : strict_mode_flag();
 | 
|    __ Push(Smi::FromInt(strict_mode));
 | 
|  
 | 
| -  __ CallRuntime(flag == SKIP_CONTEXT_LOOKUP
 | 
| -                 ? Runtime::kResolvePossiblyDirectEvalNoLookup
 | 
| -                 : Runtime::kResolvePossiblyDirectEval, 4);
 | 
| +  __ CallRuntime(Runtime::kResolvePossiblyDirectEval, 4);
 | 
|  }
 | 
|  
 | 
|  
 | 
| @@ -2150,27 +2147,10 @@ void FullCodeGenerator::VisitCall(Call* expr) {
 | 
|          VisitForStackValue(args->at(i));
 | 
|        }
 | 
|  
 | 
| -      // If we know that eval can only be shadowed by eval-introduced
 | 
| -      // variables we attempt to load the global eval function directly in
 | 
| -      // generated code. If we succeed, there is no need to perform a
 | 
| -      // context lookup in the runtime system.
 | 
| -      Label done;
 | 
| -      Variable* var = proxy->var();
 | 
| -      if (!var->IsUnallocated() && var->mode() == DYNAMIC_GLOBAL) {
 | 
| -        Label slow;
 | 
| -        EmitLoadGlobalCheckExtensions(var, NOT_INSIDE_TYPEOF, &slow);
 | 
| -        // Push the function and resolve eval.
 | 
| -        __ push(rax);
 | 
| -        EmitResolvePossiblyDirectEval(SKIP_CONTEXT_LOOKUP, arg_count);
 | 
| -        __ jmp(&done);
 | 
| -        __ bind(&slow);
 | 
| -      }
 | 
| -
 | 
|        // Push a copy of the function (found below the arguments) and resolve
 | 
|        // eval.
 | 
|        __ push(Operand(rsp, (arg_count + 1) * kPointerSize));
 | 
| -      EmitResolvePossiblyDirectEval(PERFORM_CONTEXT_LOOKUP, arg_count);
 | 
| -      __ bind(&done);
 | 
| +      EmitResolvePossiblyDirectEval(arg_count);
 | 
|  
 | 
|        // The runtime call returns a pair of values in rax (function) and
 | 
|        // rdx (receiver). Touch up the stack with the right values.
 | 
| 
 |