| Index: src/full-codegen/arm/full-codegen-arm.cc
|
| diff --git a/src/full-codegen/arm/full-codegen-arm.cc b/src/full-codegen/arm/full-codegen-arm.cc
|
| index def8c9dc45ebe43768d3a5a21d110cb4ab8e080b..6a40d661ccd4a131f8803b3f726144d589b4e544 100644
|
| --- a/src/full-codegen/arm/full-codegen-arm.cc
|
| +++ b/src/full-codegen/arm/full-codegen-arm.cc
|
| @@ -1199,30 +1199,10 @@ void FullCodeGenerator::EmitLoadGlobalCheckExtensions(VariableProxy* proxy,
|
| }
|
| // If no outer scope calls eval, we do not need to check more
|
| // context extensions.
|
| - if (!s->outer_scope_calls_sloppy_eval() || s->is_eval_scope()) break;
|
| + if (!s->outer_scope_calls_sloppy_eval()) break;
|
| s = s->outer_scope();
|
| }
|
|
|
| - if (s->is_eval_scope()) {
|
| - Label loop, fast;
|
| - if (!current.is(next)) {
|
| - __ Move(next, current);
|
| - }
|
| - __ bind(&loop);
|
| - // Terminate at native context.
|
| - __ ldr(temp, FieldMemOperand(next, HeapObject::kMapOffset));
|
| - __ LoadRoot(ip, Heap::kNativeContextMapRootIndex);
|
| - __ cmp(temp, ip);
|
| - __ b(eq, &fast);
|
| - // Check that extension is "the hole".
|
| - __ ldr(temp, ContextMemOperand(next, Context::EXTENSION_INDEX));
|
| - __ JumpIfNotRoot(temp, Heap::kTheHoleValueRootIndex, slow);
|
| - // Load next context in chain.
|
| - __ ldr(next, ContextMemOperand(next, Context::PREVIOUS_INDEX));
|
| - __ b(&loop);
|
| - __ bind(&fast);
|
| - }
|
| -
|
| // All extension objects were empty and it is safe to use a normal global
|
| // load machinery.
|
| EmitGlobalVariableLoad(proxy, typeof_mode);
|
|
|