| Index: src/full-codegen/mips/full-codegen-mips.cc
|
| diff --git a/src/full-codegen/mips/full-codegen-mips.cc b/src/full-codegen/mips/full-codegen-mips.cc
|
| index d921226a483496933388a34d8d55b8b4438a9264..ad018aa49814d41b7968b849bd9b57b59b03fedd 100644
|
| --- a/src/full-codegen/mips/full-codegen-mips.cc
|
| +++ b/src/full-codegen/mips/full-codegen-mips.cc
|
| @@ -797,15 +797,11 @@ void FullCodeGenerator::VisitVariableDeclaration(
|
|
|
| case VariableLocation::LOOKUP: {
|
| Comment cmnt(masm_, "[ VariableDeclaration");
|
| - __ li(a2, Operand(variable->name()));
|
| - // Declaration nodes are always introduced in one of four modes.
|
| - DCHECK(IsDeclaredVariableMode(mode));
|
| + DCHECK_EQ(VAR, mode);
|
| DCHECK(!hole_init);
|
| - DCHECK(Smi::FromInt(0) == 0);
|
| - __ mov(a0, zero_reg); // Smi::FromInt(0) indicates no initial value.
|
| - __ Push(a2, a0);
|
| - __ Push(Smi::FromInt(variable->DeclarationPropertyAttributes()));
|
| - __ CallRuntime(Runtime::kDeclareLookupSlot);
|
| + __ li(a2, Operand(variable->name()));
|
| + __ Push(a2);
|
| + __ CallRuntime(Runtime::kDeclareEvalVar);
|
| PrepareForBailoutForId(proxy->id(), BailoutState::NO_REGISTERS);
|
| break;
|
| }
|
| @@ -862,8 +858,7 @@ void FullCodeGenerator::VisitFunctionDeclaration(
|
| PushOperand(a2);
|
| // 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;
|
| }
|
|
|