OLD | NEW |
1 // Copyright (c) 1994-2006 Sun Microsystems Inc. | 1 // Copyright (c) 1994-2006 Sun Microsystems Inc. |
2 // All Rights Reserved. | 2 // All Rights Reserved. |
3 // | 3 // |
4 // Redistribution and use in source and binary forms, with or without | 4 // Redistribution and use in source and binary forms, with or without |
5 // modification, are permitted provided that the following conditions are | 5 // modification, are permitted provided that the following conditions are |
6 // met: | 6 // met: |
7 // | 7 // |
8 // - Redistributions of source code must retain the above copyright notice, | 8 // - Redistributions of source code must retain the above copyright notice, |
9 // this list of conditions and the following disclaimer. | 9 // this list of conditions and the following disclaimer. |
10 // | 10 // |
(...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
43 namespace v8 { | 43 namespace v8 { |
44 namespace internal { | 44 namespace internal { |
45 | 45 |
46 #ifdef DEBUG | 46 #ifdef DEBUG |
47 bool CpuFeatures::initialized_ = false; | 47 bool CpuFeatures::initialized_ = false; |
48 #endif | 48 #endif |
49 unsigned CpuFeatures::supported_ = 0; | 49 unsigned CpuFeatures::supported_ = 0; |
50 unsigned CpuFeatures::found_by_runtime_probing_ = 0; | 50 unsigned CpuFeatures::found_by_runtime_probing_ = 0; |
51 | 51 |
52 | 52 |
| 53 ExternalReference ExternalReference::cpu_features() { |
| 54 ASSERT(CpuFeatures::initialized_); |
| 55 return ExternalReference(&CpuFeatures::supported_); |
| 56 } |
| 57 |
| 58 |
53 // Get the CPU features enabled by the build. For cross compilation the | 59 // Get the CPU features enabled by the build. For cross compilation the |
54 // preprocessor symbols CAN_USE_FPU_INSTRUCTIONS | 60 // preprocessor symbols CAN_USE_FPU_INSTRUCTIONS |
55 // can be defined to enable FPU instructions when building the | 61 // can be defined to enable FPU instructions when building the |
56 // snapshot. | 62 // snapshot. |
57 static uint64_t CpuFeaturesImpliedByCompiler() { | 63 static uint64_t CpuFeaturesImpliedByCompiler() { |
58 uint64_t answer = 0; | 64 uint64_t answer = 0; |
59 #ifdef CAN_USE_FPU_INSTRUCTIONS | 65 #ifdef CAN_USE_FPU_INSTRUCTIONS |
60 answer |= 1u << FPU; | 66 answer |= 1u << FPU; |
61 #endif // def CAN_USE_FPU_INSTRUCTIONS | 67 #endif // def CAN_USE_FPU_INSTRUCTIONS |
62 | 68 |
(...skipping 2227 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2290 } | 2296 } |
2291 | 2297 |
2292 if (patched) { | 2298 if (patched) { |
2293 CPU::FlushICache(pc+2, sizeof(Address)); | 2299 CPU::FlushICache(pc+2, sizeof(Address)); |
2294 } | 2300 } |
2295 } | 2301 } |
2296 | 2302 |
2297 } } // namespace v8::internal | 2303 } } // namespace v8::internal |
2298 | 2304 |
2299 #endif // V8_TARGET_ARCH_MIPS | 2305 #endif // V8_TARGET_ARCH_MIPS |
OLD | NEW |