| Index: src/ia32/virtual-frame-ia32.cc
|
| diff --git a/src/ia32/virtual-frame-ia32.cc b/src/ia32/virtual-frame-ia32.cc
|
| index 5e2cbeec4afafb898462526b000d822b4d9cea4f..93d711e9362b03cc9967491af063f43a2e7a1179 100644
|
| --- a/src/ia32/virtual-frame-ia32.cc
|
| +++ b/src/ia32/virtual-frame-ia32.cc
|
| @@ -1339,6 +1339,20 @@ void VirtualFrame::Push(Expression* expr) {
|
| }
|
|
|
|
|
| +void VirtualFrame::Push(Handle<Object> value) {
|
| + if (ConstantPoolOverflowed()) {
|
| + Result temp = cgen()->allocator()->Allocate();
|
| + ASSERT(temp.is_valid());
|
| + __ Set(temp.reg(), Immediate(value));
|
| + Push(&temp);
|
| + } else {
|
| + FrameElement element =
|
| + FrameElement::ConstantElement(value, FrameElement::NOT_SYNCED);
|
| + elements_.Add(element);
|
| + }
|
| +}
|
| +
|
| +
|
| #undef __
|
|
|
| } } // namespace v8::internal
|
|
|