| Index: src/arm/full-codegen-arm.cc
|
| ===================================================================
|
| --- src/arm/full-codegen-arm.cc (revision 9109)
|
| +++ src/arm/full-codegen-arm.cc (working copy)
|
| @@ -688,10 +688,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);
|
| @@ -729,10 +730,12 @@
|
| // We know that we have written a function, which is not a smi.
|
| __ mov(r1, Operand(cp));
|
| __ RecordWrite(r1, Operand(offset), r2, result_register());
|
| + PrepareForBailoutForId(proxy->id(), NO_REGISTERS);
|
| } else if (mode == Variable::CONST || mode == Variable::LET) {
|
| __ LoadRoot(ip, Heap::kTheHoleValueRootIndex);
|
| __ str(ip, ContextOperand(cp, slot->index()));
|
| // No write barrier since the_hole_value is in old space.
|
| + PrepareForBailoutForId(proxy->id(), NO_REGISTERS);
|
| }
|
| break;
|
|
|
| @@ -767,7 +770,7 @@
|
|
|
|
|
| void FullCodeGenerator::VisitDeclaration(Declaration* decl) {
|
| - EmitDeclaration(decl->proxy()->var(), decl->mode(), decl->fun());
|
| + EmitDeclaration(decl->proxy(), decl->mode(), decl->fun());
|
| }
|
|
|
|
|
|
|