| Index: src/full-codegen/x64/full-codegen-x64.cc | 
| diff --git a/src/full-codegen/x64/full-codegen-x64.cc b/src/full-codegen/x64/full-codegen-x64.cc | 
| index e4326732f4ca633f60a99ea5046dd54001733655..0c5f0c13d1923f49b0b5ff6995f1ba790fc4db6e 100644 | 
| --- a/src/full-codegen/x64/full-codegen-x64.cc | 
| +++ b/src/full-codegen/x64/full-codegen-x64.cc | 
| @@ -1150,34 +1150,11 @@ void FullCodeGenerator::EmitLoadGlobalCheckExtensions(VariableProxy* proxy, | 
| context = temp; | 
| } | 
| // If no outer scope calls eval, we do not need to check more | 
| -    // context extensions.  If we have reached an eval scope, we check | 
| -    // all extensions from this point. | 
| -    if (!s->outer_scope_calls_sloppy_eval() || s->is_eval_scope()) break; | 
| +    // context extensions. | 
| +    if (!s->outer_scope_calls_sloppy_eval()) break; | 
| s = s->outer_scope(); | 
| } | 
|  | 
| -  if (s != NULL && s->is_eval_scope()) { | 
| -    // Loop up the context chain.  There is no frame effect so it is | 
| -    // safe to use raw labels here. | 
| -    Label next, fast; | 
| -    if (!context.is(temp)) { | 
| -      __ movp(temp, context); | 
| -    } | 
| -    // Load map for comparison into register, outside loop. | 
| -    __ LoadRoot(kScratchRegister, Heap::kNativeContextMapRootIndex); | 
| -    __ bind(&next); | 
| -    // Terminate at native context. | 
| -    __ cmpp(kScratchRegister, FieldOperand(temp, HeapObject::kMapOffset)); | 
| -    __ j(equal, &fast, Label::kNear); | 
| -    // Check that extension is "the hole". | 
| -    __ JumpIfNotRoot(ContextOperand(temp, Context::EXTENSION_INDEX), | 
| -                     Heap::kTheHoleValueRootIndex, slow); | 
| -    // Load next context in chain. | 
| -    __ movp(temp, ContextOperand(temp, Context::PREVIOUS_INDEX)); | 
| -    __ jmp(&next); | 
| -    __ bind(&fast); | 
| -  } | 
| - | 
| // All extension objects were empty and it is safe to use a normal global | 
| // load machinery. | 
| EmitGlobalVariableLoad(proxy, typeof_mode); | 
|  |