File riscv.patch of Package webkit2gtk3
Index: webkitgtk-2.48.1/Source/JavaScriptCore/assembler/MacroAssemblerRISCV64.cpp
===================================================================
--- webkitgtk-2.48.1.orig/Source/JavaScriptCore/assembler/MacroAssemblerRISCV64.cpp
+++ webkitgtk-2.48.1/Source/JavaScriptCore/assembler/MacroAssemblerRISCV64.cpp
@@ -267,7 +267,6 @@ static_assert(!(RA_RESTORATION_SIZE & 0x
asm(
".text" "\n"
".globl " SYMBOL_STRING(ctiMasmProbeTrampoline) "\n"
- ".attribute arch, \"rv64gc\"" "\n"
HIDE_SYMBOL(ctiMasmProbeTrampoline) "\n"
SYMBOL_STRING(ctiMasmProbeTrampoline) ":" "\n"
Index: webkitgtk-2.48.1/Source/JavaScriptCore/assembler/MacroAssemblerRISCV64.h
===================================================================
--- webkitgtk-2.48.1.orig/Source/JavaScriptCore/assembler/MacroAssemblerRISCV64.h
+++ webkitgtk-2.48.1/Source/JavaScriptCore/assembler/MacroAssemblerRISCV64.h
@@ -171,6 +171,14 @@ public:
static constexpr RegisterID framePointerRegister = RISCV64Registers::fp;
static constexpr RegisterID linkRegister = RISCV64Registers::ra;
+ void add8(TrustedImm32 imm, Address address)
+ {
+ auto temp = temps<Data>();
+ load8(address, temp.data());
+ add32(imm, temp.data());
+ store8(temp.data(), address);
+ }
+
void add32(RegisterID src, RegisterID dest)
{
add32(src, dest, dest);
Index: webkitgtk-2.48.1/Source/JavaScriptCore/llint/LowLevelInterpreter.cpp
===================================================================
--- webkitgtk-2.48.1.orig/Source/JavaScriptCore/llint/LowLevelInterpreter.cpp
+++ webkitgtk-2.48.1/Source/JavaScriptCore/llint/LowLevelInterpreter.cpp
@@ -564,15 +564,6 @@ WTF_ALLOW_UNSAFE_BUFFER_USAGE_END
".thumb\n" \
".thumb_func " THUMB_FUNC_PARAM(label) "\n" \
SYMBOL_STRING(label) ":\n"
-#elif CPU(RISCV64)
-#define OFFLINE_ASM_GLOBAL_LABEL_IMPL(label, ALT_ENTRY, ALIGNMENT, VISIBILITY) \
- OFFLINE_ASM_TEXT_SECTION \
- ALIGNMENT \
- ALT_ENTRY(label) \
- ".globl " SYMBOL_STRING(label) "\n" \
- ".attribute arch, \"rv64gc\"" "\n" \
- VISIBILITY(label) "\n" \
- SYMBOL_STRING(label) ":\n"
#else
#define OFFLINE_ASM_GLOBAL_LABEL_IMPL(label, ALT_ENTRY, ALIGNMENT, VISIBILITY) \
OFFLINE_ASM_TEXT_SECTION \
Index: webkitgtk-2.48.1/Source/JavaScriptCore/llint/WebAssembly.asm
===================================================================
--- webkitgtk-2.48.1.orig/Source/JavaScriptCore/llint/WebAssembly.asm
+++ webkitgtk-2.48.1/Source/JavaScriptCore/llint/WebAssembly.asm
@@ -875,7 +875,9 @@ end
if ARMv7
branchIfWasmException(_wasm_throw_from_slow_path_trampoline)
else
- btpnz r1, _wasm_throw_from_slow_path_trampoline
+ btpz r1, .nothrow2
+ jmp _wasm_throw_from_slow_path_trampoline
+.nothrow2:
end
# Clean up and return
Index: webkitgtk-2.48.1/Source/WTF/wtf/PlatformEnable.h
===================================================================
--- webkitgtk-2.48.1.orig/Source/WTF/wtf/PlatformEnable.h
+++ webkitgtk-2.48.1/Source/WTF/wtf/PlatformEnable.h
@@ -644,7 +644,7 @@
#endif
#endif
-#if CPU(RISCV64)
+#if CPU(RISCV64) && 0
#undef ENABLE_WEBASSEMBLY
#define ENABLE_WEBASSEMBLY 1
#undef ENABLE_WEBASSEMBLY_OMGJIT