| 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 700fc420ed972fe6712aa88abcc6edb599034a88..b6c56200301085844ac9d43a75d5052afbc05a1c 100644
|
| --- a/src/full-codegen/arm/full-codegen-arm.cc
|
| +++ b/src/full-codegen/arm/full-codegen-arm.cc
|
| @@ -800,14 +800,11 @@ void FullCodeGenerator::VisitVariableDeclaration(
|
|
|
| case VariableLocation::LOOKUP: {
|
| Comment cmnt(masm_, "[ VariableDeclaration");
|
| - __ mov(r2, Operand(variable->name()));
|
| - // Declaration nodes are always introduced in one of four modes.
|
| - DCHECK(IsDeclaredVariableMode(mode));
|
| + DCHECK_EQ(VAR, mode);
|
| DCHECK(!hole_init);
|
| - __ mov(r0, Operand(Smi::FromInt(0))); // Indicates no initial value.
|
| - __ Push(r2, r0);
|
| - __ Push(Smi::FromInt(variable->DeclarationPropertyAttributes()));
|
| - __ CallRuntime(Runtime::kDeclareLookupSlot);
|
| + __ mov(r2, Operand(variable->name()));
|
| + __ Push(r2);
|
| + __ CallRuntime(Runtime::kDeclareEvalVar);
|
| PrepareForBailoutForId(proxy->id(), BailoutState::NO_REGISTERS);
|
| break;
|
| }
|
| @@ -864,8 +861,7 @@ void FullCodeGenerator::VisitFunctionDeclaration(
|
| PushOperand(r2);
|
| // Push initial value for function declaration.
|
| VisitForStackValue(declaration->fun());
|
| - PushOperand(Smi::FromInt(variable->DeclarationPropertyAttributes()));
|
| - CallRuntimeWithOperands(Runtime::kDeclareLookupSlot);
|
| + CallRuntimeWithOperands(Runtime::kDeclareEvalFunction);
|
| PrepareForBailoutForId(proxy->id(), BailoutState::NO_REGISTERS);
|
| break;
|
| }
|
|
|