From 7da33eea77e9060fe7b1abbe079031abc092d399 Mon Sep 17 00:00:00 2001 From: John Date: Wed, 5 Apr 2023 13:37:05 +0200 Subject: [PATCH] webkit2gtk: enable jit on riscv64 --- .../patches/fix-riscv64-build.patch | 28 +++++++++++++++++++ srcpkgs/webkit2gtk/template | 2 +- 2 files changed, 29 insertions(+), 1 deletion(-) create mode 100644 srcpkgs/webkit2gtk/patches/fix-riscv64-build.patch diff --git a/srcpkgs/webkit2gtk/patches/fix-riscv64-build.patch b/srcpkgs/webkit2gtk/patches/fix-riscv64-build.patch new file mode 100644 index 00000000000..3f599ea3c56 --- /dev/null +++ b/srcpkgs/webkit2gtk/patches/fix-riscv64-build.patch @@ -0,0 +1,28 @@ +diff --git a/Source/JavaScriptCore/offlineasm/riscv64.rb b/Source/JavaScriptCore/offlineasm/riscv64.rb +index 81f356d04ae1..4abb1761509d 100644 +--- a/Source/JavaScriptCore/offlineasm/riscv64.rb ++++ b/Source/JavaScriptCore/offlineasm/riscv64.rb +@@ -1523,7 +1523,8 @@ def riscv64GenerateWASMPlaceholders(list) + if node.is_a? Instruction + case node.opcode + when "loadlinkacqb", "loadlinkacqh", "loadlinkacqi", "loadlinkacqq", +- "storecondrelb", "storecondrelh", "storecondreli", "storecondrelq" ++ "storecondrelb", "storecondrelh", "storecondreli", "storecondrelq", ++ "loadv", "storev" + newList << Instruction.new(node.codeOrigin, "rv_ebreak", [], "WebAssembly placeholder for opcode #{node.opcode}") + else + newList << node +diff --git a/Source/WTF/wtf/PlatformEnable.h b/Source/WTF/wtf/PlatformEnable.h +index e30a3d8ce077..937fdd447f92 100644 +--- a/Source/WTF/wtf/PlatformEnable.h ++++ b/Source/WTF/wtf/PlatformEnable.h +@@ -616,7 +616,7 @@ + #undef ENABLE_WEBASSEMBLY + #define ENABLE_WEBASSEMBLY 1 + #undef ENABLE_WEBASSEMBLY_B3JIT +-#define ENABLE_WEBASSEMBLY_B3JIT 0 ++#define ENABLE_WEBASSEMBLY_B3JIT 1 + #undef ENABLE_WEBASSEMBLY_BBQJIT + #define ENABLE_WEBASSEMBLY_BBQJIT 0 + #endif + diff --git a/srcpkgs/webkit2gtk/template b/srcpkgs/webkit2gtk/template index e58118a8c5e..9f67996e209 100644 --- a/srcpkgs/webkit2gtk/template +++ b/srcpkgs/webkit2gtk/template @@ -87,7 +87,7 @@ fi # only a few platform support JIT case "$XBPS_TARGET_MACHINE" in - aarch64*|x86_64*) + aarch64*|x86_64*|riscv64*) build_options_default+=" jit" if [ "$XBPS_TARGET_LIBC" = "glibc" ]; then build_options_default+=" sampling_profiler"