| Index: src/full-codegen/ia32/full-codegen-ia32.cc
|
| diff --git a/src/full-codegen/ia32/full-codegen-ia32.cc b/src/full-codegen/ia32/full-codegen-ia32.cc
|
| index 33bee63af59f591ea02c5c7b92a050c1b73c98a7..0eafbe14adaa90b3cfb12921706a68df2dabb446 100644
|
| --- a/src/full-codegen/ia32/full-codegen-ia32.cc
|
| +++ b/src/full-codegen/ia32/full-codegen-ia32.cc
|
| @@ -747,14 +747,10 @@ void FullCodeGenerator::VisitVariableDeclaration(
|
|
|
| case VariableLocation::LOOKUP: {
|
| Comment cmnt(masm_, "[ VariableDeclaration");
|
| - __ push(Immediate(variable->name()));
|
| - // VariableDeclaration nodes are always introduced in one of four modes.
|
| - DCHECK(IsDeclaredVariableMode(mode));
|
| + DCHECK_EQ(VAR, mode);
|
| DCHECK(!hole_init);
|
| - __ push(Immediate(Smi::FromInt(0))); // Indicates no initial value.
|
| - __ push(
|
| - Immediate(Smi::FromInt(variable->DeclarationPropertyAttributes())));
|
| - __ CallRuntime(Runtime::kDeclareLookupSlot);
|
| + __ push(Immediate(variable->name()));
|
| + __ CallRuntime(Runtime::kDeclareEvalVar);
|
| PrepareForBailoutForId(proxy->id(), BailoutState::NO_REGISTERS);
|
| break;
|
| }
|
| @@ -807,8 +803,7 @@ void FullCodeGenerator::VisitFunctionDeclaration(
|
| Comment cmnt(masm_, "[ FunctionDeclaration");
|
| PushOperand(variable->name());
|
| VisitForStackValue(declaration->fun());
|
| - PushOperand(Smi::FromInt(variable->DeclarationPropertyAttributes()));
|
| - CallRuntimeWithOperands(Runtime::kDeclareLookupSlot);
|
| + CallRuntimeWithOperands(Runtime::kDeclareEvalFunction);
|
| PrepareForBailoutForId(proxy->id(), BailoutState::NO_REGISTERS);
|
| break;
|
| }
|
|
|