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 1435 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1446 And(dst, dst, Map::EnumLengthBits::kMask); | 1446 And(dst, dst, Map::EnumLengthBits::kMask); |
1447 } | 1447 } |
1448 | 1448 |
1449 | 1449 |
1450 void MacroAssembler::EnumLengthSmi(Register dst, Register map) { | 1450 void MacroAssembler::EnumLengthSmi(Register dst, Register map) { |
1451 EnumLengthUntagged(dst, map); | 1451 EnumLengthUntagged(dst, map); |
1452 SmiTag(dst, dst); | 1452 SmiTag(dst, dst); |
1453 } | 1453 } |
1454 | 1454 |
1455 | 1455 |
| 1456 void MacroAssembler::LoadAccessor(Register dst, Register holder, |
| 1457 int accessor_index, |
| 1458 AccessorComponent accessor) { |
| 1459 Ldr(dst, FieldMemOperand(holder, HeapObject::kMapOffset)); |
| 1460 LoadInstanceDescriptors(dst, dst); |
| 1461 Ldr(dst, |
| 1462 FieldMemOperand(dst, DescriptorArray::GetValueOffset(accessor_index))); |
| 1463 int offset = accessor == ACCESSOR_GETTER ? AccessorPair::kGetterOffset |
| 1464 : AccessorPair::kSetterOffset; |
| 1465 Ldr(dst, FieldMemOperand(dst, offset)); |
| 1466 } |
| 1467 |
| 1468 |
1456 void MacroAssembler::CheckEnumCache(Register object, | 1469 void MacroAssembler::CheckEnumCache(Register object, |
1457 Register null_value, | 1470 Register null_value, |
1458 Register scratch0, | 1471 Register scratch0, |
1459 Register scratch1, | 1472 Register scratch1, |
1460 Register scratch2, | 1473 Register scratch2, |
1461 Register scratch3, | 1474 Register scratch3, |
1462 Label* call_runtime) { | 1475 Label* call_runtime) { |
1463 DCHECK(!AreAliased(object, null_value, scratch0, scratch1, scratch2, | 1476 DCHECK(!AreAliased(object, null_value, scratch0, scratch1, scratch2, |
1464 scratch3)); | 1477 scratch3)); |
1465 | 1478 |
(...skipping 3777 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
5243 } | 5256 } |
5244 } | 5257 } |
5245 | 5258 |
5246 | 5259 |
5247 #undef __ | 5260 #undef __ |
5248 | 5261 |
5249 | 5262 |
5250 } } // namespace v8::internal | 5263 } } // namespace v8::internal |
5251 | 5264 |
5252 #endif // V8_TARGET_ARCH_ARM64 | 5265 #endif // V8_TARGET_ARCH_ARM64 |
OLD | NEW |