30 lines
1009 B
Diff
30 lines
1009 B
Diff
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
|