From: Daniel Golle Subject: [PATCH] JavaScriptCore: do not force useBBQJIT() off on RISCV64 Options.cpp force-disables a number of JIT-tier and wasm options on any CPU other than X86_64 / ARM64. For RISCV64 these defaults remain correct - there is no concurrent GC, no wasm SIMD codegen, and no IPInt tier yet - except for useBBQJIT(): RISCV64 enables WEBASSEMBLY_BBQJIT in PlatformEnable.h and BBQJIT is the only wasm execution tier available on this architecture. Add RISCV64 to the carve-out so useBBQJIT() retains its (true) default, matching what is already done for ARM_THUMB2. With ARM_THUMB2 and RISCV64 carved out, the resulting wasm tier matrix on RISCV64 is: useWasmIPInt = false (no IPInt port) useWasmSIMD = false (no SIMD codegen) useBBQJIT = true (this change) useOMGJIT = false (no OMGJIT port) Signed-off-by: Daniel Golle --- a/Source/JavaScriptCore/runtime/Options.cpp +++ b/Source/JavaScriptCore/runtime/Options.cpp @@ -796,7 +796,10 @@ void Options::notifyOptionsChanged() Options::forceUnlinkedDFG() = false; Options::useWasmSIMD() = false; Options::useWasmIPInt() = false; -#if !CPU(ARM_THUMB2) +#if !CPU(ARM_THUMB2) && !CPU(RISCV64) + // RISCV64 has BBQJIT (WEBASSEMBLY_BBQJIT enabled in PlatformEnable.h); + // wasm SIMD and IPInt are still off above, so BBQJIT is the only wasm + // tier on this architecture. Options::useBBQJIT() = false; #endif #endif