Title: [215220] trunk/Source/WTF
- Revision
- 215220
- Author
- [email protected]
- Date
- 2017-04-11 01:27:28 -0700 (Tue, 11 Apr 2017)
Log Message
REGRESSION(r213645): It made JSC tests super slow and timeout on AArch64 Linux
https://bugs.webkit.org/show_bug.cgi?id=169510
Reviewed by Saam Barati.
Add the `volatile` qualifiers for ASM statements that set up ldxr and stxr
instruction calls when HAVE(LL_SC) is enabled for aarch64 platforms.
This avoids indefinite execution when running GCC-compiled JSC on Linux.
Specific bug or expected behavior that differs from Clang wasn't determined.
HAVE(LL_SC) is re-enabled on non-Darwin aarch64 platforms.
* wtf/Atomics.h:
* wtf/Platform.h:
Modified Paths
Diff
Modified: trunk/Source/WTF/ChangeLog (215219 => 215220)
--- trunk/Source/WTF/ChangeLog 2017-04-11 06:18:55 UTC (rev 215219)
+++ trunk/Source/WTF/ChangeLog 2017-04-11 08:27:28 UTC (rev 215220)
@@ -1,3 +1,21 @@
+2017-04-11 Zan Dobersek <[email protected]>
+
+ REGRESSION(r213645): It made JSC tests super slow and timeout on AArch64 Linux
+ https://bugs.webkit.org/show_bug.cgi?id=169510
+
+ Reviewed by Saam Barati.
+
+ Add the `volatile` qualifiers for ASM statements that set up ldxr and stxr
+ instruction calls when HAVE(LL_SC) is enabled for aarch64 platforms.
+
+ This avoids indefinite execution when running GCC-compiled JSC on Linux.
+ Specific bug or expected behavior that differs from Clang wasn't determined.
+
+ HAVE(LL_SC) is re-enabled on non-Darwin aarch64 platforms.
+
+ * wtf/Atomics.h:
+ * wtf/Platform.h:
+
2017-04-10 Thorsten Glaser <[email protected]>
[GTK] Fix x32 build
Modified: trunk/Source/WTF/wtf/Atomics.h (215219 => 215220)
--- trunk/Source/WTF/wtf/Atomics.h 2017-04-11 06:18:55 UTC (rev 215219)
+++ trunk/Source/WTF/wtf/Atomics.h 2017-04-11 08:27:28 UTC (rev 215220)
@@ -190,7 +190,7 @@
: "r"(this) \
: "memory"); \
} else { \
- asm ( \
+ asm volatile ( \
"ldxr" suffix " %" modifier "0, [%1]" \
: "=r"(result) \
: "r"(this) \
@@ -210,7 +210,7 @@
: "r"(value), "r"(this) \
: "memory"); \
} else { \
- asm ( \
+ asm volatile ( \
"stxr" suffix " %w0, %" modifier "1, [%2]" \
: "=&r"(result) \
: "r"(value), "r"(this) \
Modified: trunk/Source/WTF/wtf/Platform.h (215219 => 215220)
--- trunk/Source/WTF/wtf/Platform.h 2017-04-11 06:18:55 UTC (rev 215219)
+++ trunk/Source/WTF/wtf/Platform.h 2017-04-11 08:27:28 UTC (rev 215220)
@@ -757,8 +757,7 @@
#define ENABLE_CONCURRENT_JS 1
#endif
-/* FIXME: Enable it on Linux once https://bugs.webkit.org/show_bug.cgi?id=169510 is fixed. */
-#if CPU(ARM64) && OS(DARWIN)
+#if CPU(ARM64)
#define HAVE_LL_SC 1
#endif // CPU(ARM64) && OS(DARWIN)
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes