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 1431 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1442 IsInstanceJSObjectType(map, scratch, fail); | 1442 IsInstanceJSObjectType(map, scratch, fail); |
1443 } | 1443 } |
1444 | 1444 |
1445 | 1445 |
1446 void MacroAssembler::IsInstanceJSObjectType(Register map, | 1446 void MacroAssembler::IsInstanceJSObjectType(Register map, |
1447 Register scratch, | 1447 Register scratch, |
1448 Label* fail) { | 1448 Label* fail) { |
1449 Ldrb(scratch, FieldMemOperand(map, Map::kInstanceTypeOffset)); | 1449 Ldrb(scratch, FieldMemOperand(map, Map::kInstanceTypeOffset)); |
1450 // If cmp result is lt, the following ccmp will clear all flags. | 1450 // If cmp result is lt, the following ccmp will clear all flags. |
1451 // Z == 0, N == V implies gt condition. | 1451 // Z == 0, N == V implies gt condition. |
1452 Cmp(scratch, FIRST_NONCALLABLE_SPEC_OBJECT_TYPE); | 1452 Cmp(scratch, FIRST_JS_RECEIVER_TYPE); |
1453 Ccmp(scratch, LAST_NONCALLABLE_SPEC_OBJECT_TYPE, NoFlag, ge); | 1453 Ccmp(scratch, LAST_NONCALLABLE_SPEC_OBJECT_TYPE, NoFlag, ge); |
1454 | 1454 |
1455 // If we didn't get a valid label object just fall through and leave the | 1455 // If we didn't get a valid label object just fall through and leave the |
1456 // flags updated. | 1456 // flags updated. |
1457 if (fail != NULL) { | 1457 if (fail != NULL) { |
1458 B(gt, fail); | 1458 B(gt, fail); |
1459 } | 1459 } |
1460 } | 1460 } |
1461 | 1461 |
1462 | 1462 |
(...skipping 217 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1680 DCHECK(isprint(marker_name[0]) && isprint(marker_name[1])); | 1680 DCHECK(isprint(marker_name[0]) && isprint(marker_name[1])); |
1681 | 1681 |
1682 InstructionAccurateScope scope(this, 1); | 1682 InstructionAccurateScope scope(this, 1); |
1683 movn(xzr, (marker_name[1] << 8) | marker_name[0]); | 1683 movn(xzr, (marker_name[1] << 8) | marker_name[0]); |
1684 } | 1684 } |
1685 | 1685 |
1686 } // namespace internal | 1686 } // namespace internal |
1687 } // namespace v8 | 1687 } // namespace v8 |
1688 | 1688 |
1689 #endif // V8_ARM64_MACRO_ASSEMBLER_ARM64_INL_H_ | 1689 #endif // V8_ARM64_MACRO_ASSEMBLER_ARM64_INL_H_ |
OLD | NEW |