Index: src/arm/virtual-frame-arm.cc |
=================================================================== |
--- src/arm/virtual-frame-arm.cc (revision 3148) |
+++ src/arm/virtual-frame-arm.cc (working copy) |
@@ -146,29 +146,27 @@ |
// Initialize stack slots with 'undefined' value. |
__ LoadRoot(ip, Heap::kUndefinedValueRootIndex); |
} |
- if (FLAG_check_stack) { |
- __ LoadRoot(r2, Heap::kStackLimitRootIndex); |
- } |
+ __ LoadRoot(r2, Heap::kStackLimitRootIndex); |
for (int i = 0; i < count; i++) { |
__ push(ip); |
} |
- if (FLAG_check_stack) { |
- // Put the lr setup instruction in the delay slot. The kInstrSize is added |
- // to the implicit 8 byte offset that always applies to operations with pc |
- // and gives a return address 12 bytes down. |
- masm()->add(lr, pc, Operand(Assembler::kInstrSize)); |
- masm()->cmp(sp, Operand(r2)); |
- StackCheckStub stub; |
- // Call the stub if lower. |
- masm()->mov(pc, |
- Operand(reinterpret_cast<intptr_t>(stub.GetCode().location()), |
- RelocInfo::CODE_TARGET), |
- LeaveCC, |
- lo); |
- } |
+ // Check the stack for overflow or a break request. |
+ // Put the lr setup instruction in the delay slot. The kInstrSize is added |
+ // to the implicit 8 byte offset that always applies to operations with pc |
+ // and gives a return address 12 bytes down. |
+ masm()->add(lr, pc, Operand(Assembler::kInstrSize)); |
+ masm()->cmp(sp, Operand(r2)); |
+ StackCheckStub stub; |
+ // Call the stub if lower. |
+ masm()->mov(pc, |
+ Operand(reinterpret_cast<intptr_t>(stub.GetCode().location()), |
+ RelocInfo::CODE_TARGET), |
+ LeaveCC, |
+ lo); |
} |
+ |
void VirtualFrame::SaveContextRegister() { |
UNIMPLEMENTED(); |
} |