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 #ifndef V8_GLOBALS_H_ | 5 #ifndef V8_GLOBALS_H_ |
6 #define V8_GLOBALS_H_ | 6 #define V8_GLOBALS_H_ |
7 | 7 |
8 #include <stddef.h> | 8 #include <stddef.h> |
9 #include <stdint.h> | 9 #include <stdint.h> |
10 | 10 |
(...skipping 714 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
725 SSE3, | 725 SSE3, |
726 SAHF, | 726 SAHF, |
727 AVX, | 727 AVX, |
728 FMA3, | 728 FMA3, |
729 BMI1, | 729 BMI1, |
730 BMI2, | 730 BMI2, |
731 LZCNT, | 731 LZCNT, |
732 POPCNT, | 732 POPCNT, |
733 ATOM, | 733 ATOM, |
734 // ARM | 734 // ARM |
735 VFP3, | 735 // - Standard configurations. The baseline is ARMv6+VFPv2. |
736 ARMv7, | 736 ARMv7, // ARMv7-A + VFPv3-D32 + NEON |
737 ARMv8, | 737 ARMv7_SUDIV, // ARMv7-A + VFPv4-D32 + NEON + SUDIV |
738 SUDIV, | 738 ARMv8, // ARMv8-A (+ all of the above) |
| 739 // - Additional tuning flags. |
739 MOVW_MOVT_IMMEDIATE_LOADS, | 740 MOVW_MOVT_IMMEDIATE_LOADS, |
740 VFP32DREGS, | |
741 NEON, | |
742 // MIPS, MIPS64 | 741 // MIPS, MIPS64 |
743 FPU, | 742 FPU, |
744 FP64FPU, | 743 FP64FPU, |
745 MIPSr1, | 744 MIPSr1, |
746 MIPSr2, | 745 MIPSr2, |
747 MIPSr6, | 746 MIPSr6, |
748 // ARM64 | 747 // ARM64 |
749 ALWAYS_ALIGN_CSP, | 748 ALWAYS_ALIGN_CSP, |
750 // PPC | 749 // PPC |
751 FPR_GPR_MOV, | 750 FPR_GPR_MOV, |
752 LWSYNC, | 751 LWSYNC, |
753 ISELECT, | 752 ISELECT, |
754 // S390 | 753 // S390 |
755 DISTINCT_OPS, | 754 DISTINCT_OPS, |
756 GENERAL_INSTR_EXT, | 755 GENERAL_INSTR_EXT, |
757 FLOATING_POINT_EXT, | 756 FLOATING_POINT_EXT, |
758 // PPC/S390 | 757 // PPC/S390 |
759 UNALIGNED_ACCESSES, | 758 UNALIGNED_ACCESSES, |
760 | 759 |
761 NUMBER_OF_CPU_FEATURES | 760 NUMBER_OF_CPU_FEATURES, |
| 761 |
| 762 // ARM feature aliases (based on the standard configurations above). |
| 763 VFP3 = ARMv7, |
| 764 NEON = ARMv7, |
| 765 VFP32DREGS = ARMv7, |
| 766 SUDIV = ARMv7_SUDIV |
762 }; | 767 }; |
763 | 768 |
764 // Defines hints about receiver values based on structural knowledge. | 769 // Defines hints about receiver values based on structural knowledge. |
765 enum class ConvertReceiverMode : unsigned { | 770 enum class ConvertReceiverMode : unsigned { |
766 kNullOrUndefined, // Guaranteed to be null or undefined. | 771 kNullOrUndefined, // Guaranteed to be null or undefined. |
767 kNotNullOrUndefined, // Guaranteed to never be null or undefined. | 772 kNotNullOrUndefined, // Guaranteed to never be null or undefined. |
768 kAny // No specific knowledge about receiver. | 773 kAny // No specific knowledge about receiver. |
769 }; | 774 }; |
770 | 775 |
771 inline size_t hash_value(ConvertReceiverMode mode) { | 776 inline size_t hash_value(ConvertReceiverMode mode) { |
(...skipping 383 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1155 public: | 1160 public: |
1156 enum { kNone = 0x00, kSignedSmall = 0x01, kNumber = 0x3, kAny = 0x7 }; | 1161 enum { kNone = 0x00, kSignedSmall = 0x01, kNumber = 0x3, kAny = 0x7 }; |
1157 }; | 1162 }; |
1158 | 1163 |
1159 } // namespace internal | 1164 } // namespace internal |
1160 } // namespace v8 | 1165 } // namespace v8 |
1161 | 1166 |
1162 namespace i = v8::internal; | 1167 namespace i = v8::internal; |
1163 | 1168 |
1164 #endif // V8_GLOBALS_H_ | 1169 #endif // V8_GLOBALS_H_ |
OLD | NEW |