| Index: src/full-codegen/mips64/full-codegen-mips64.cc
|
| diff --git a/src/full-codegen/mips64/full-codegen-mips64.cc b/src/full-codegen/mips64/full-codegen-mips64.cc
|
| index 759a915658a8d70dcef87d486706c8b51bf145cc..ca1bcc2a5253132cd0db43bdf2937ff2ccdd233c 100644
|
| --- a/src/full-codegen/mips64/full-codegen-mips64.cc
|
| +++ b/src/full-codegen/mips64/full-codegen-mips64.cc
|
| @@ -796,15 +796,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;
|
| }
|
| @@ -861,8 +857,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;
|
| }
|
|
|