| 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 | 
|---|