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 "include/v8stdint.h" | 8 #include "include/v8stdint.h" |
9 | 9 |
10 #include "src/base/build_config.h" | 10 #include "src/base/build_config.h" |
(...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
50 // Determine whether we are running in a simulated environment. | 50 // Determine whether we are running in a simulated environment. |
51 // Setting USE_SIMULATOR explicitly from the build script will force | 51 // Setting USE_SIMULATOR explicitly from the build script will force |
52 // the use of a simulated environment. | 52 // the use of a simulated environment. |
53 #if !defined(USE_SIMULATOR) | 53 #if !defined(USE_SIMULATOR) |
54 #if (V8_TARGET_ARCH_ARM64 && !V8_HOST_ARCH_ARM64) | 54 #if (V8_TARGET_ARCH_ARM64 && !V8_HOST_ARCH_ARM64) |
55 #define USE_SIMULATOR 1 | 55 #define USE_SIMULATOR 1 |
56 #endif | 56 #endif |
57 #if (V8_TARGET_ARCH_ARM && !V8_HOST_ARCH_ARM) | 57 #if (V8_TARGET_ARCH_ARM && !V8_HOST_ARCH_ARM) |
58 #define USE_SIMULATOR 1 | 58 #define USE_SIMULATOR 1 |
59 #endif | 59 #endif |
| 60 #if (V8_TARGET_ARCH_PPC && !V8_HOST_ARCH_PPC) |
| 61 #define USE_SIMULATOR 1 |
| 62 #endif |
60 #if (V8_TARGET_ARCH_MIPS && !V8_HOST_ARCH_MIPS) | 63 #if (V8_TARGET_ARCH_MIPS && !V8_HOST_ARCH_MIPS) |
61 #define USE_SIMULATOR 1 | 64 #define USE_SIMULATOR 1 |
62 #endif | 65 #endif |
63 #if (V8_TARGET_ARCH_MIPS64 && !V8_HOST_ARCH_MIPS64) | 66 #if (V8_TARGET_ARCH_MIPS64 && !V8_HOST_ARCH_MIPS64) |
64 #define USE_SIMULATOR 1 | 67 #define USE_SIMULATOR 1 |
65 #endif | 68 #endif |
66 #endif | 69 #endif |
67 | 70 |
68 // Determine whether the architecture uses an out-of-line constant pool. | 71 // Determine whether the architecture uses an out-of-line constant pool. |
| 72 #if V8_TARGET_ARCH_PPC |
| 73 #define V8_OOL_CONSTANT_POOL 1 |
| 74 #else |
69 #define V8_OOL_CONSTANT_POOL 0 | 75 #define V8_OOL_CONSTANT_POOL 0 |
| 76 #endif |
70 | 77 |
71 // Support for alternative bool type. This is only enabled if the code is | 78 // Support for alternative bool type. This is only enabled if the code is |
72 // compiled with USE_MYBOOL defined. This catches some nasty type bugs. | 79 // compiled with USE_MYBOOL defined. This catches some nasty type bugs. |
73 // For instance, 'bool b = "false";' results in b == true! This is a hidden | 80 // For instance, 'bool b = "false";' results in b == true! This is a hidden |
74 // source of bugs. | 81 // source of bugs. |
75 // However, redefining the bool type does have some negative impact on some | 82 // However, redefining the bool type does have some negative impact on some |
76 // platforms. It gives rise to compiler warnings (i.e. with | 83 // platforms. It gives rise to compiler warnings (i.e. with |
77 // MSVC) in the API header files when mixing code that uses the standard | 84 // MSVC) in the API header files when mixing code that uses the standard |
78 // bool with code that uses the redefined version. | 85 // bool with code that uses the redefined version. |
79 // This does not actually belong in the platform code, but needs to be | 86 // This does not actually belong in the platform code, but needs to be |
(...skipping 510 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
590 Logger::DeleteEventStatic(name, object); \ | 597 Logger::DeleteEventStatic(name, object); \ |
591 ::operator delete(object); \ | 598 ::operator delete(object); \ |
592 } | 599 } |
593 #else | 600 #else |
594 #define TRACK_MEMORY(name) | 601 #define TRACK_MEMORY(name) |
595 #endif | 602 #endif |
596 | 603 |
597 | 604 |
598 // CPU feature flags. | 605 // CPU feature flags. |
599 enum CpuFeature { | 606 enum CpuFeature { |
600 // x86 | 607 // x86 |
601 SSE4_1, | 608 SSE4_1, |
602 SSE3, | 609 SSE3, |
603 SAHF, | 610 SAHF, |
604 // ARM | 611 // ARM |
605 VFP3, | 612 VFP3, |
606 ARMv7, | 613 ARMv7, |
607 SUDIV, | 614 SUDIV, |
608 MLS, | 615 MLS, |
609 UNALIGNED_ACCESSES, | 616 UNALIGNED_ACCESSES, |
610 MOVW_MOVT_IMMEDIATE_LOADS, | 617 MOVW_MOVT_IMMEDIATE_LOADS, |
611 VFP32DREGS, | 618 VFP32DREGS, |
612 NEON, | 619 NEON, |
613 // MIPS, MIPS64 | 620 // MIPS, MIPS64 |
614 FPU, | 621 FPU, |
615 FP64FPU, | 622 FP64FPU, |
616 MIPSr1, | 623 MIPSr1, |
617 MIPSr2, | 624 MIPSr2, |
618 MIPSr6, | 625 MIPSr6, |
619 // ARM64 | 626 // ARM64 |
620 ALWAYS_ALIGN_CSP, | 627 ALWAYS_ALIGN_CSP, |
621 NUMBER_OF_CPU_FEATURES | 628 // PPC |
| 629 FPR_GPR_MOV, |
| 630 NUMBER_OF_CPU_FEATURES |
622 }; | 631 }; |
623 | 632 |
624 | 633 |
625 // Used to specify if a macro instruction must perform a smi check on tagged | 634 // Used to specify if a macro instruction must perform a smi check on tagged |
626 // values. | 635 // values. |
627 enum SmiCheckType { | 636 enum SmiCheckType { |
628 DONT_DO_SMI_CHECK, | 637 DONT_DO_SMI_CHECK, |
629 DO_SMI_CHECK | 638 DO_SMI_CHECK |
630 }; | 639 }; |
631 | 640 |
(...skipping 122 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
754 enum MinusZeroMode { | 763 enum MinusZeroMode { |
755 TREAT_MINUS_ZERO_AS_ZERO, | 764 TREAT_MINUS_ZERO_AS_ZERO, |
756 FAIL_ON_MINUS_ZERO | 765 FAIL_ON_MINUS_ZERO |
757 }; | 766 }; |
758 | 767 |
759 } } // namespace v8::internal | 768 } } // namespace v8::internal |
760 | 769 |
761 namespace i = v8::internal; | 770 namespace i = v8::internal; |
762 | 771 |
763 #endif // V8_GLOBALS_H_ | 772 #endif // V8_GLOBALS_H_ |
OLD | NEW |