OLD | NEW |
1 // Copyright 2012 the V8 project authors. All rights reserved. | 1 // Copyright 2012 the V8 project authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include <limits.h> // For LONG_MIN, LONG_MAX. | 5 #include <limits.h> // For LONG_MIN, LONG_MAX. |
6 | 6 |
7 #include "src/v8.h" | 7 #include "src/v8.h" |
8 | 8 |
9 #if V8_TARGET_ARCH_ARM | 9 #if V8_TARGET_ARCH_ARM |
10 | 10 |
(...skipping 659 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
670 // Call stub on end of buffer. | 670 // Call stub on end of buffer. |
671 // Check for end of buffer. | 671 // Check for end of buffer. |
672 tst(scratch, Operand(StoreBuffer::kStoreBufferOverflowBit)); | 672 tst(scratch, Operand(StoreBuffer::kStoreBufferOverflowBit)); |
673 if (and_then == kFallThroughAtEnd) { | 673 if (and_then == kFallThroughAtEnd) { |
674 b(eq, &done); | 674 b(eq, &done); |
675 } else { | 675 } else { |
676 DCHECK(and_then == kReturnAtEnd); | 676 DCHECK(and_then == kReturnAtEnd); |
677 Ret(eq); | 677 Ret(eq); |
678 } | 678 } |
679 push(lr); | 679 push(lr); |
680 StoreBufferOverflowStub store_buffer_overflow = | 680 StoreBufferOverflowStub store_buffer_overflow(isolate(), fp_mode); |
681 StoreBufferOverflowStub(isolate(), fp_mode); | |
682 CallStub(&store_buffer_overflow); | 681 CallStub(&store_buffer_overflow); |
683 pop(lr); | 682 pop(lr); |
684 bind(&done); | 683 bind(&done); |
685 if (and_then == kReturnAtEnd) { | 684 if (and_then == kReturnAtEnd) { |
686 Ret(); | 685 Ret(); |
687 } | 686 } |
688 } | 687 } |
689 | 688 |
690 | 689 |
691 void MacroAssembler::PushFixedFrame(Register marker_reg) { | 690 void MacroAssembler::PushFixedFrame(Register marker_reg) { |
(...skipping 3411 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
4103 sub(result, result, Operand(dividend)); | 4102 sub(result, result, Operand(dividend)); |
4104 } | 4103 } |
4105 if (ms.shift() > 0) mov(result, Operand(result, ASR, ms.shift())); | 4104 if (ms.shift() > 0) mov(result, Operand(result, ASR, ms.shift())); |
4106 add(result, result, Operand(dividend, LSR, 31)); | 4105 add(result, result, Operand(dividend, LSR, 31)); |
4107 } | 4106 } |
4108 | 4107 |
4109 | 4108 |
4110 } } // namespace v8::internal | 4109 } } // namespace v8::internal |
4111 | 4110 |
4112 #endif // V8_TARGET_ARCH_ARM | 4111 #endif // V8_TARGET_ARCH_ARM |
OLD | NEW |