| Index: src/ia32/virtual-frame-ia32.cc
|
| diff --git a/src/ia32/virtual-frame-ia32.cc b/src/ia32/virtual-frame-ia32.cc
|
| index d2485392f5cbea7c1c2dc2a464c3ee50c6617e17..5e44f94d0c1404528d798325b5372fbad59b170a 100644
|
| --- a/src/ia32/virtual-frame-ia32.cc
|
| +++ b/src/ia32/virtual-frame-ia32.cc
|
| @@ -1175,6 +1175,25 @@ void VirtualFrame::EmitPush(Immediate immediate, NumberInfo::Type info) {
|
| }
|
|
|
|
|
| +void VirtualFrame::Push(Expression* expr) {
|
| + ASSERT(expr->IsTrivial());
|
| +
|
| + Literal* lit = expr->AsLiteral();
|
| + if (lit != NULL) {
|
| + Push(lit->handle());
|
| + return;
|
| + }
|
| +
|
| + VariableProxy* proxy = expr->AsVariableProxy();
|
| + if (proxy != NULL && proxy->is_this()) {
|
| + PushParameterAt(-1);
|
| + return;
|
| + }
|
| +
|
| + UNREACHABLE();
|
| +}
|
| +
|
| +
|
| #undef __
|
|
|
| } } // namespace v8::internal
|
|
|