| OLD | NEW |
| 1 // Copyright 2013 the V8 project authors. All rights reserved. | 1 // Copyright 2013 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 "src/v8.h" | 5 #include "src/v8.h" |
| 6 | 6 |
| 7 #if V8_TARGET_ARCH_ARM64 | 7 #if V8_TARGET_ARCH_ARM64 |
| 8 | 8 |
| 9 #include "src/base/bits.h" | 9 #include "src/base/bits.h" |
| 10 #include "src/base/division-by-constant.h" | 10 #include "src/base/division-by-constant.h" |
| (...skipping 3657 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 3668 | 3668 |
| 3669 | 3669 |
| 3670 void MacroAssembler::CmpWeakValue(Register value, Handle<WeakCell> cell, | 3670 void MacroAssembler::CmpWeakValue(Register value, Handle<WeakCell> cell, |
| 3671 Register scratch) { | 3671 Register scratch) { |
| 3672 Mov(scratch, Operand(cell)); | 3672 Mov(scratch, Operand(cell)); |
| 3673 Ldr(scratch, FieldMemOperand(scratch, WeakCell::kValueOffset)); | 3673 Ldr(scratch, FieldMemOperand(scratch, WeakCell::kValueOffset)); |
| 3674 Cmp(value, scratch); | 3674 Cmp(value, scratch); |
| 3675 } | 3675 } |
| 3676 | 3676 |
| 3677 | 3677 |
| 3678 void MacroAssembler::GetWeakValue(Register value, Handle<WeakCell> cell) { |
| 3679 Mov(value, Operand(cell)); |
| 3680 Ldr(value, FieldMemOperand(value, WeakCell::kValueOffset)); |
| 3681 } |
| 3682 |
| 3683 |
| 3678 void MacroAssembler::LoadWeakValue(Register value, Handle<WeakCell> cell, | 3684 void MacroAssembler::LoadWeakValue(Register value, Handle<WeakCell> cell, |
| 3679 Label* miss) { | 3685 Label* miss) { |
| 3680 Mov(value, Operand(cell)); | 3686 GetWeakValue(value, cell); |
| 3681 Ldr(value, FieldMemOperand(value, WeakCell::kValueOffset)); | |
| 3682 JumpIfSmi(value, miss); | 3687 JumpIfSmi(value, miss); |
| 3683 } | 3688 } |
| 3684 | 3689 |
| 3685 | 3690 |
| 3686 void MacroAssembler::TestMapBitfield(Register object, uint64_t mask) { | 3691 void MacroAssembler::TestMapBitfield(Register object, uint64_t mask) { |
| 3687 UseScratchRegisterScope temps(this); | 3692 UseScratchRegisterScope temps(this); |
| 3688 Register temp = temps.AcquireX(); | 3693 Register temp = temps.AcquireX(); |
| 3689 Ldr(temp, FieldMemOperand(object, HeapObject::kMapOffset)); | 3694 Ldr(temp, FieldMemOperand(object, HeapObject::kMapOffset)); |
| 3690 Ldrb(temp, FieldMemOperand(temp, Map::kBitFieldOffset)); | 3695 Ldrb(temp, FieldMemOperand(temp, Map::kBitFieldOffset)); |
| 3691 Tst(temp, mask); | 3696 Tst(temp, mask); |
| (...skipping 1564 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 5256 } | 5261 } |
| 5257 } | 5262 } |
| 5258 | 5263 |
| 5259 | 5264 |
| 5260 #undef __ | 5265 #undef __ |
| 5261 | 5266 |
| 5262 | 5267 |
| 5263 } } // namespace v8::internal | 5268 } } // namespace v8::internal |
| 5264 | 5269 |
| 5265 #endif // V8_TARGET_ARCH_ARM64 | 5270 #endif // V8_TARGET_ARCH_ARM64 |
| OLD | NEW |