| Index: src/arm/virtual-frame-arm.cc
|
| ===================================================================
|
| --- src/arm/virtual-frame-arm.cc (revision 4554)
|
| +++ src/arm/virtual-frame-arm.cc (working copy)
|
| @@ -541,6 +541,19 @@
|
| }
|
|
|
|
|
| +void VirtualFrame::EmitPush(Operand operand) {
|
| + element_count_++;
|
| + if (SpilledScope::is_spilled()) {
|
| + __ mov(r0, operand);
|
| + __ push(r0);
|
| + return;
|
| + }
|
| + EnsureOneFreeTOSRegister();
|
| + top_of_stack_state_ = kStateAfterPush[top_of_stack_state_];
|
| + __ mov(kTopRegister[top_of_stack_state_], operand);
|
| +}
|
| +
|
| +
|
| void VirtualFrame::EmitPush(MemOperand operand) {
|
| element_count_++;
|
| if (SpilledScope::is_spilled()) {
|
| @@ -554,6 +567,19 @@
|
| }
|
|
|
|
|
| +void VirtualFrame::EmitPushRoot(Heap::RootListIndex index) {
|
| + element_count_++;
|
| + if (SpilledScope::is_spilled()) {
|
| + __ LoadRoot(r0, index);
|
| + __ push(r0);
|
| + return;
|
| + }
|
| + EnsureOneFreeTOSRegister();
|
| + top_of_stack_state_ = kStateAfterPush[top_of_stack_state_];
|
| + __ LoadRoot(kTopRegister[top_of_stack_state_], index);
|
| +}
|
| +
|
| +
|
| void VirtualFrame::EmitPushMultiple(int count, int src_regs) {
|
| ASSERT(SpilledScope::is_spilled());
|
| Adjust(count);
|
|
|