| Index: src/ia32/full-codegen-ia32.cc
|
| ===================================================================
|
| --- src/ia32/full-codegen-ia32.cc (revision 9109)
|
| +++ src/ia32/full-codegen-ia32.cc (working copy)
|
| @@ -684,10 +684,11 @@
|
| }
|
|
|
|
|
| -void FullCodeGenerator::EmitDeclaration(Variable* variable,
|
| +void FullCodeGenerator::EmitDeclaration(VariableProxy* proxy,
|
| Variable::Mode mode,
|
| FunctionLiteral* function) {
|
| Comment cmnt(masm_, "[ Declaration");
|
| + Variable* variable = proxy->var();
|
| ASSERT(variable != NULL); // Must have been resolved.
|
| Slot* slot = variable->AsSlot();
|
| ASSERT(slot != NULL);
|
| @@ -724,10 +725,12 @@
|
| int offset = Context::SlotOffset(slot->index());
|
| __ mov(ebx, esi);
|
| __ RecordWrite(ebx, offset, result_register(), ecx);
|
| + PrepareForBailoutForId(proxy->id(), NO_REGISTERS);
|
| } else if (mode == Variable::CONST || mode == Variable::LET) {
|
| __ mov(ContextOperand(esi, slot->index()),
|
| Immediate(isolate()->factory()->the_hole_value()));
|
| // No write barrier since the hole value is in old space.
|
| + PrepareForBailoutForId(proxy->id(), NO_REGISTERS);
|
| }
|
| break;
|
|
|
| @@ -763,7 +766,7 @@
|
|
|
|
|
| void FullCodeGenerator::VisitDeclaration(Declaration* decl) {
|
| - EmitDeclaration(decl->proxy()->var(), decl->mode(), decl->fun());
|
| + EmitDeclaration(decl->proxy(), decl->mode(), decl->fun());
|
| }
|
|
|
|
|
|
|