mcst-linux-kernel/patches-2024.06.26/qtwebkit5-5.212.0-alpha4/0002-bug137282_workaround.p...

30 lines
1009 B
Diff
Raw Normal View History

2024-07-09 13:51:45 +03:00
diff -Naur old/Source/JavaScriptCore/llint/LowLevelInterpreter.cpp new/Source/JavaScriptCore/llint/LowLevelInterpreter.cpp
--- old/Source/JavaScriptCore/llint/LowLevelInterpreter.cpp 2021-11-30 14:00:18.881634836 +0300
+++ new/Source/JavaScriptCore/llint/LowLevelInterpreter.cpp 2021-11-30 16:15:18.339959390 +0300
@@ -151,7 +151,12 @@
// pseudo register, as well as hides endianness differences.
struct CLoopRegister {
+// bug 137282
+#if COMPILER(LCC)
+ __attribute__((noinline)) CLoopRegister() { i = static_cast<intptr_t>(0xbadbeef0baddbeef); }
+#else
CLoopRegister() { i = static_cast<intptr_t>(0xbadbeef0baddbeef); }
+#endif
union {
intptr_t i;
uintptr_t u;
@@ -244,7 +249,12 @@
operator JSCell*() { return cell; }
#if USE(JSVALUE64)
+// bug 137282
+#if COMPILER(LCC)
+ void __attribute__((noinline)) clearHighWord() { i32padding = 0; }
+#else
inline void clearHighWord() { i32padding = 0; }
+#endif
#else
inline void clearHighWord() { }
#endif