| Index: src/codegen-ia32.cc
|
| ===================================================================
|
| --- src/codegen-ia32.cc (revision 1380)
|
| +++ src/codegen-ia32.cc (working copy)
|
| @@ -2763,8 +2763,8 @@
|
| target.type() == Reference::KEYED);
|
| // Change to slow case in the beginning of an initialization block
|
| // to avoid the quadratic behavior of repeatedly adding fast properties.
|
| - int stack_position = (target.type() == Reference::NAMED) ? 0 : 1;
|
| - frame_->Push(Operand(esp, stack_position * kPointerSize));
|
| + int index = (target.type() == Reference::NAMED) ? 0 : 1;
|
| + frame_->Push(frame_->Element(index));
|
| __ CallRuntime(Runtime::kToSlowProperties, 1);
|
| }
|
| if (node->op() == Token::ASSIGN ||
|
| @@ -2802,8 +2802,8 @@
|
| ASSERT(target.type() == Reference::NAMED ||
|
| target.type() == Reference::KEYED);
|
| // End of initialization block. Revert to fast case.
|
| - int stack_position = (target.type() == Reference::NAMED) ? 1 : 2;
|
| - frame_->Push(Operand(esp, stack_position * kPointerSize));
|
| + int index = (target.type() == Reference::NAMED) ? 1 : 2;
|
| + frame_->Push(frame_->Element(index));
|
| __ CallRuntime(Runtime::kToFastProperties, 1);
|
| }
|
| }
|
|
|