| Index: src/arm/fast-codegen-arm.cc
|
| ===================================================================
|
| --- src/arm/fast-codegen-arm.cc (revision 3077)
|
| +++ src/arm/fast-codegen-arm.cc (working copy)
|
| @@ -125,13 +125,20 @@
|
| }
|
|
|
|
|
| -void FastCodeGenerator::VisitSlot(Slot* expr) {
|
| - Comment cmnt(masm_, "[ Slot");
|
| - if (expr->location().is_temporary()) {
|
| - __ ldr(ip, MemOperand(fp, SlotOffset(expr)));
|
| - __ push(ip);
|
| - } else {
|
| - ASSERT(expr->location().is_nowhere());
|
| +void FastCodeGenerator::VisitVariableProxy(VariableProxy* expr) {
|
| + Comment cmnt(masm_, "[ VariableProxy");
|
| + Expression* rewrite = expr->var()->rewrite();
|
| + ASSERT(rewrite != NULL);
|
| +
|
| + Slot* slot = rewrite->AsSlot();
|
| + ASSERT(slot != NULL);
|
| + { Comment cmnt(masm_, "[ Slot");
|
| + if (expr->location().is_temporary()) {
|
| + __ ldr(ip, MemOperand(fp, SlotOffset(slot)));
|
| + __ push(ip);
|
| + } else {
|
| + ASSERT(expr->location().is_nowhere());
|
| + }
|
| }
|
| }
|
|
|
|
|