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 713 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
724 SSE3, | 724 SSE3, |
725 SAHF, | 725 SAHF, |
726 AVX, | 726 AVX, |
727 FMA3, | 727 FMA3, |
728 BMI1, | 728 BMI1, |
729 BMI2, | 729 BMI2, |
730 LZCNT, | 730 LZCNT, |
731 POPCNT, | 731 POPCNT, |
732 ATOM, | 732 ATOM, |
733 // ARM | 733 // ARM |
734 VFP3, | 734 // - Standard configurations. The baseline is ARMv6+VFPv2. |
735 ARMv7, | 735 ARMv7, // ARMv7-A + VFPv3-D32 + NEON |
736 ARMv8, | 736 ARMv7_SUDIV, // ARMv7-A + VFPv4-D32 + NEON + SUDIV |
737 SUDIV, | 737 ARMv8, // ARMv8-A (+ all of the above) |
| 738 // - Additional tuning flags. |
738 MOVW_MOVT_IMMEDIATE_LOADS, | 739 MOVW_MOVT_IMMEDIATE_LOADS, |
739 VFP32DREGS, | |
740 NEON, | |
741 // MIPS, MIPS64 | 740 // MIPS, MIPS64 |
742 FPU, | 741 FPU, |
743 FP64FPU, | 742 FP64FPU, |
744 MIPSr1, | 743 MIPSr1, |
745 MIPSr2, | 744 MIPSr2, |
746 MIPSr6, | 745 MIPSr6, |
747 // ARM64 | 746 // ARM64 |
748 ALWAYS_ALIGN_CSP, | 747 ALWAYS_ALIGN_CSP, |
749 // PPC | 748 // PPC |
750 FPR_GPR_MOV, | 749 FPR_GPR_MOV, |
751 LWSYNC, | 750 LWSYNC, |
752 ISELECT, | 751 ISELECT, |
753 // S390 | 752 // S390 |
754 DISTINCT_OPS, | 753 DISTINCT_OPS, |
755 GENERAL_INSTR_EXT, | 754 GENERAL_INSTR_EXT, |
756 FLOATING_POINT_EXT, | 755 FLOATING_POINT_EXT, |
757 // PPC/S390 | 756 // PPC/S390 |
758 UNALIGNED_ACCESSES, | 757 UNALIGNED_ACCESSES, |
759 | 758 |
760 NUMBER_OF_CPU_FEATURES | 759 NUMBER_OF_CPU_FEATURES, |
| 760 |
| 761 // ARM feature aliases (based on the standard configurations above). |
| 762 VFP3 = ARMv7, |
| 763 NEON = ARMv7, |
| 764 VFP32DREGS = ARMv7, |
| 765 SUDIV = ARMv7_SUDIV |
761 }; | 766 }; |
762 | 767 |
763 // Defines hints about receiver values based on structural knowledge. | 768 // Defines hints about receiver values based on structural knowledge. |
764 enum class ConvertReceiverMode : unsigned { | 769 enum class ConvertReceiverMode : unsigned { |
765 kNullOrUndefined, // Guaranteed to be null or undefined. | 770 kNullOrUndefined, // Guaranteed to be null or undefined. |
766 kNotNullOrUndefined, // Guaranteed to never be null or undefined. | 771 kNotNullOrUndefined, // Guaranteed to never be null or undefined. |
767 kAny // No specific knowledge about receiver. | 772 kAny // No specific knowledge about receiver. |
768 }; | 773 }; |
769 | 774 |
770 inline size_t hash_value(ConvertReceiverMode mode) { | 775 inline size_t hash_value(ConvertReceiverMode mode) { |
(...skipping 377 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1148 return static_cast<uint32_t>(bit_cast<uintptr_t>(address) >> | 1153 return static_cast<uint32_t>(bit_cast<uintptr_t>(address) >> |
1149 kPointerSizeLog2); | 1154 kPointerSizeLog2); |
1150 } | 1155 } |
1151 | 1156 |
1152 } // namespace internal | 1157 } // namespace internal |
1153 } // namespace v8 | 1158 } // namespace v8 |
1154 | 1159 |
1155 namespace i = v8::internal; | 1160 namespace i = v8::internal; |
1156 | 1161 |
1157 #endif // V8_GLOBALS_H_ | 1162 #endif // V8_GLOBALS_H_ |
OLD | NEW |