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 3652 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
3663 int mask, | 3663 int mask, |
3664 Condition cc, | 3664 Condition cc, |
3665 Label* condition_met) { | 3665 Label* condition_met) { |
3666 Bfc(scratch, object, 0, kPageSizeBits); | 3666 Bfc(scratch, object, 0, kPageSizeBits); |
3667 ldr(scratch, MemOperand(scratch, MemoryChunk::kFlagsOffset)); | 3667 ldr(scratch, MemOperand(scratch, MemoryChunk::kFlagsOffset)); |
3668 tst(scratch, Operand(mask)); | 3668 tst(scratch, Operand(mask)); |
3669 b(cc, condition_met); | 3669 b(cc, condition_met); |
3670 } | 3670 } |
3671 | 3671 |
3672 | 3672 |
3673 void MacroAssembler::CheckMapDeprecated(Handle<Map> map, | |
3674 Register scratch, | |
3675 Label* if_deprecated) { | |
3676 if (map->CanBeDeprecated()) { | |
3677 mov(scratch, Operand(map)); | |
3678 ldr(scratch, FieldMemOperand(scratch, Map::kBitField3Offset)); | |
3679 tst(scratch, Operand(Map::Deprecated::kMask)); | |
3680 b(ne, if_deprecated); | |
3681 } | |
3682 } | |
3683 | |
3684 | |
3685 void MacroAssembler::JumpIfBlack(Register object, | 3673 void MacroAssembler::JumpIfBlack(Register object, |
3686 Register scratch0, | 3674 Register scratch0, |
3687 Register scratch1, | 3675 Register scratch1, |
3688 Label* on_black) { | 3676 Label* on_black) { |
3689 HasColor(object, scratch0, scratch1, on_black, 1, 0); // kBlackBitPattern. | 3677 HasColor(object, scratch0, scratch1, on_black, 1, 0); // kBlackBitPattern. |
3690 DCHECK(strcmp(Marking::kBlackBitPattern, "10") == 0); | 3678 DCHECK(strcmp(Marking::kBlackBitPattern, "10") == 0); |
3691 } | 3679 } |
3692 | 3680 |
3693 | 3681 |
3694 void MacroAssembler::HasColor(Register object, | 3682 void MacroAssembler::HasColor(Register object, |
(...skipping 405 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
4100 } | 4088 } |
4101 } | 4089 } |
4102 if (mag.shift > 0) mov(result, Operand(result, ASR, mag.shift)); | 4090 if (mag.shift > 0) mov(result, Operand(result, ASR, mag.shift)); |
4103 add(result, result, Operand(dividend, LSR, 31)); | 4091 add(result, result, Operand(dividend, LSR, 31)); |
4104 } | 4092 } |
4105 | 4093 |
4106 } // namespace internal | 4094 } // namespace internal |
4107 } // namespace v8 | 4095 } // namespace v8 |
4108 | 4096 |
4109 #endif // V8_TARGET_ARCH_ARM | 4097 #endif // V8_TARGET_ARCH_ARM |
OLD | NEW |