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 #ifndef V8_ARM64_MACRO_ASSEMBLER_ARM64_INL_H_ | 5 #ifndef V8_ARM64_MACRO_ASSEMBLER_ARM64_INL_H_ |
6 #define V8_ARM64_MACRO_ASSEMBLER_ARM64_INL_H_ | 6 #define V8_ARM64_MACRO_ASSEMBLER_ARM64_INL_H_ |
7 | 7 |
8 #include <ctype.h> | 8 #include <ctype.h> |
9 | 9 |
10 #include "src/globals.h" | 10 #include "src/globals.h" |
(...skipping 1426 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1437 Label ok; | 1437 Label ok; |
1438 Tbnz(obj, 0, &ok); | 1438 Tbnz(obj, 0, &ok); |
1439 Abort(kObjectNotTagged); | 1439 Abort(kObjectNotTagged); |
1440 Bind(&ok); | 1440 Bind(&ok); |
1441 } | 1441 } |
1442 Bic(untagged_obj, obj, kHeapObjectTag); | 1442 Bic(untagged_obj, obj, kHeapObjectTag); |
1443 } | 1443 } |
1444 | 1444 |
1445 void MacroAssembler::jmp(Label* L) { B(L); } | 1445 void MacroAssembler::jmp(Label* L) { B(L); } |
1446 | 1446 |
1447 void MacroAssembler::IsObjectNameType(Register object, | |
1448 Register type, | |
1449 Label* fail) { | |
1450 CompareObjectType(object, type, type, LAST_NAME_TYPE); | |
1451 B(hi, fail); | |
1452 } | |
1453 | |
1454 | |
1455 void MacroAssembler::IsObjectJSStringType(Register object, | 1447 void MacroAssembler::IsObjectJSStringType(Register object, |
1456 Register type, | 1448 Register type, |
1457 Label* not_string, | 1449 Label* not_string, |
1458 Label* string) { | 1450 Label* string) { |
1459 Ldr(type, FieldMemOperand(object, HeapObject::kMapOffset)); | 1451 Ldr(type, FieldMemOperand(object, HeapObject::kMapOffset)); |
1460 Ldrb(type.W(), FieldMemOperand(type, Map::kInstanceTypeOffset)); | 1452 Ldrb(type.W(), FieldMemOperand(type, Map::kInstanceTypeOffset)); |
1461 | 1453 |
1462 STATIC_ASSERT(kStringTag == 0); | 1454 STATIC_ASSERT(kStringTag == 0); |
1463 DCHECK((string != NULL) || (not_string != NULL)); | 1455 DCHECK((string != NULL) || (not_string != NULL)); |
1464 if (string == NULL) { | 1456 if (string == NULL) { |
(...skipping 212 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1677 DCHECK(isprint(marker_name[0]) && isprint(marker_name[1])); | 1669 DCHECK(isprint(marker_name[0]) && isprint(marker_name[1])); |
1678 | 1670 |
1679 InstructionAccurateScope scope(this, 1); | 1671 InstructionAccurateScope scope(this, 1); |
1680 movn(xzr, (marker_name[1] << 8) | marker_name[0]); | 1672 movn(xzr, (marker_name[1] << 8) | marker_name[0]); |
1681 } | 1673 } |
1682 | 1674 |
1683 } // namespace internal | 1675 } // namespace internal |
1684 } // namespace v8 | 1676 } // namespace v8 |
1685 | 1677 |
1686 #endif // V8_ARM64_MACRO_ASSEMBLER_ARM64_INL_H_ | 1678 #endif // V8_ARM64_MACRO_ASSEMBLER_ARM64_INL_H_ |
OLD | NEW |