5#ifndef V8_CODEGEN_CPU_FEATURES_H_
6#define V8_CODEGEN_CPU_FEATURES_H_
16#if V8_TARGET_ARCH_IA32 || V8_TARGET_ARCH_X64
32 INTEL_JCC_ERRATUM_MITIGATION,
36#elif V8_TARGET_ARCH_ARM
48#elif V8_TARGET_ARCH_ARM64
60#elif V8_TARGET_ARCH_MIPS64
68#elif V8_TARGET_ARCH_LOONG64
71#elif V8_TARGET_ARCH_PPC64
76#elif V8_TARGET_ARCH_S390X
82 VECTOR_ENHANCE_FACILITY_1,
83 VECTOR_ENHANCE_FACILITY_2,
86#elif V8_TARGET_ARCH_RISCV64 || V8_TARGET_ARCH_RISCV32
113 static void Probe(
bool cross_compile) {
115 if (initialized_)
return;
117 ProbeImpl(cross_compile);
126 return (supported_ & (1u << f)) != 0;
132 static bool SupportsWasmSimd128();
134 static inline bool SupportsOptimizer();
138 return icache_line_size_;
143 return dcache_line_size_;
146 static void PrintTarget();
147 static void PrintFeatures();
153 static void FlushICache(
void*
start,
size_t size);
156 static void ProbeImpl(
bool cross_compile);
static bool IsSupported(CpuFeature f)
static unsigned SupportedFeatures()
static bool supports_wasm_simd_128_
static void Probe(bool cross_compile)
static unsigned supported_
static unsigned icache_line_size_
static unsigned dcache_line_size_
CpuFeatures & operator=(const CpuFeatures &)=delete
CpuFeatures(const CpuFeatures &)=delete
static unsigned dcache_line_size()
static unsigned icache_line_size()
static void SetSupported(CpuFeature f)
static bool supports_cetss_
static void SetUnsupported(CpuFeature f)
void FlushInstructionCache(void *start, size_t size)
constexpr int kBitsPerInt
#define DCHECK_NE(v1, v2)
#define V8_EXPORT_PRIVATE