mirror of
https://github.com/openwrt/video.git
synced 2026-05-31 06:51:54 +08:00
df0b899123
Update WPEWebKit to the 2.52 stable major release branch. Includes a pending patchset to get WASM BBQJIT working on RISCV64, upstream PR https://github.com/WebKit/WebKit/pull/65621 Alltogether this brings acceptable performance (even with LLVMPipe Mesa software renderer) on RISCV64. Link: https://wpewebkit.org/release/wpewebkit-2.52.0.html Link: https://wpewebkit.org/release/wpewebkit-2.52.1.html Link: https://wpewebkit.org/release/wpewebkit-2.52.2.html Link: https://wpewebkit.org/release/wpewebkit-2.52.3.html Signed-off-by: Daniel Golle <daniel@makrotopia.org>
36 lines
1.5 KiB
Diff
36 lines
1.5 KiB
Diff
From: Daniel Golle <daniel@makrotopia.org>
|
|
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 <daniel@makrotopia.org>
|
|
--- 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
|