| Index: src/interpreter/bytecode-generator.cc | 
| diff --git a/src/interpreter/bytecode-generator.cc b/src/interpreter/bytecode-generator.cc | 
| index a5d81cbdf1240db722d47ff147229fc94bad2b6d..089b751c029b4372d0ef7410ed93b8e3b55cf290 100644 | 
| --- a/src/interpreter/bytecode-generator.cc | 
| +++ b/src/interpreter/bytecode-generator.cc | 
| @@ -2391,31 +2391,26 @@ void BytecodeGenerator::VisitCall(Call* expr) { | 
| builder()->StoreAccumulatorInRegister(callee); | 
| break; | 
| } | 
| -    case Call::WITH_CALL: | 
| -    case Call::POSSIBLY_EVAL_CALL: { | 
| -      if (callee_expr->AsVariableProxy()->var()->IsLookupSlot()) { | 
| -        RegisterAllocationScope inner_register_scope(this); | 
| -        Register name = register_allocator()->NewRegister(); | 
| - | 
| -        // Call %LoadLookupSlotForCall to get the callee and receiver. | 
| -        DCHECK(Register::AreContiguous(callee, receiver)); | 
| -        RegisterList result_pair(callee.index(), 2); | 
| -        Variable* variable = callee_expr->AsVariableProxy()->var(); | 
| -        builder() | 
| -            ->LoadLiteral(variable->name()) | 
| -            .StoreAccumulatorInRegister(name) | 
| -            .CallRuntimeForPair(Runtime::kLoadLookupSlotForCall, name, | 
| -                                result_pair); | 
| -        break; | 
| -      } | 
| -      // Fall through. | 
| -      DCHECK_EQ(call_type, Call::POSSIBLY_EVAL_CALL); | 
| +    case Call::WITH_CALL: { | 
| +      DCHECK(callee_expr->AsVariableProxy()->var()->IsLookupSlot()); | 
| +      RegisterAllocationScope inner_register_scope(this); | 
| +      Register name = register_allocator()->NewRegister(); | 
| + | 
| +      // Call %LoadLookupSlotForCall to get the callee and receiver. | 
| +      DCHECK(Register::AreContiguous(callee, receiver)); | 
| +      RegisterList result_pair(callee.index(), 2); | 
| +      Variable* variable = callee_expr->AsVariableProxy()->var(); | 
| +      builder() | 
| +          ->LoadLiteral(variable->name()) | 
| +          .StoreAccumulatorInRegister(name) | 
| +          .CallRuntimeForPair(Runtime::kLoadLookupSlotForCall, name, | 
| +                              result_pair); | 
| +      break; | 
| } | 
| -    case Call::OTHER_CALL: { | 
| +    case Call::OTHER_CALL: | 
| builder()->LoadUndefined().StoreAccumulatorInRegister(receiver); | 
| VisitForRegisterValue(callee_expr, callee); | 
| break; | 
| -    } | 
| case Call::NAMED_SUPER_PROPERTY_CALL: { | 
| Property* property = callee_expr->AsProperty(); | 
| VisitNamedSuperPropertyLoad(property, receiver); | 
| @@ -2439,8 +2434,7 @@ void BytecodeGenerator::VisitCall(Call* expr) { | 
|  | 
| // Resolve callee for a potential direct eval call. This block will mutate the | 
| // callee value. | 
| -  if (call_type == Call::POSSIBLY_EVAL_CALL && | 
| -      expr->arguments()->length() > 0) { | 
| +  if (expr->is_possibly_eval() && expr->arguments()->length() > 0) { | 
| RegisterAllocationScope inner_register_scope(this); | 
| // Set up arguments for ResolvePossiblyDirectEval by copying callee, source | 
| // strings and function closure, and loading language and | 
|  |