Title: [227940] trunk/Source/WTF
- Revision
- 227940
- Author
- [email protected]
- Date
- 2018-01-31 16:00:45 -0800 (Wed, 31 Jan 2018)
Log Message
Fix some ARM64_32 build failures.
https://bugs.webkit.org/show_bug.cgi?id=182356
<rdar://problem/37057690>
Reviewed by Michael Saboff.
* wtf/MathExtras.h:
(WTF::dynamicPoison):
* wtf/text/ASCIIFastPath.h:
(WTF::copyLCharsFromUCharSource):
Modified Paths
Diff
Modified: trunk/Source/WTF/ChangeLog (227939 => 227940)
--- trunk/Source/WTF/ChangeLog 2018-01-31 23:56:11 UTC (rev 227939)
+++ trunk/Source/WTF/ChangeLog 2018-02-01 00:00:45 UTC (rev 227940)
@@ -1,3 +1,16 @@
+2018-01-31 Mark Lam <[email protected]>
+
+ Fix some ARM64_32 build failures.
+ https://bugs.webkit.org/show_bug.cgi?id=182356
+ <rdar://problem/37057690>
+
+ Reviewed by Michael Saboff.
+
+ * wtf/MathExtras.h:
+ (WTF::dynamicPoison):
+ * wtf/text/ASCIIFastPath.h:
+ (WTF::copyLCharsFromUCharSource):
+
2018-01-30 Mark Lam <[email protected]>
Apply poisoning to TypedArray vector pointers.
Modified: trunk/Source/WTF/wtf/MathExtras.h (227939 => 227940)
--- trunk/Source/WTF/wtf/MathExtras.h 2018-01-31 23:56:11 UTC (rev 227939)
+++ trunk/Source/WTF/wtf/MathExtras.h 2018-02-01 00:00:45 UTC (rev 227940)
@@ -515,7 +515,7 @@
inline T* dynamicPoison(U actual, U expected, T* pointer)
{
static_assert(sizeof(U) == 1, "Poisoning only works for bytes at the moment");
-#if CPU(X86_64) || CPU(ARM64)
+#if CPU(X86_64) || (CPU(ARM64) && !defined(__ILP32__))
return bitwise_cast<T*>(
bitwise_cast<char*>(pointer) +
(static_cast<uintptr_t>(opaque(actual) ^ expected) << bytePoisonShift));
Modified: trunk/Source/WTF/wtf/text/ASCIIFastPath.h (227939 => 227940)
--- trunk/Source/WTF/wtf/text/ASCIIFastPath.h 2018-01-31 23:56:11 UTC (rev 227939)
+++ trunk/Source/WTF/wtf/text/ASCIIFastPath.h 2018-02-01 00:00:45 UTC (rev 227940)
@@ -150,8 +150,13 @@
const uintptr_t lengthLeft = end - destination;
const LChar* const simdEnd = destination + (lengthLeft & ~memoryAccessMask);
do {
+#if defined(__ILP32__)
+ asm("ld2 { v0.16B, v1.16B }, [%w[SOURCE]], #32\n\t"
+ "st1 { v0.16B }, [%w[DESTINATION]], #16\n\t"
+#else
asm("ld2 { v0.16B, v1.16B }, [%[SOURCE]], #32\n\t"
"st1 { v0.16B }, [%[DESTINATION]], #16\n\t"
+#endif
: [SOURCE]"+r" (source), [DESTINATION]"+r" (destination)
:
: "memory", "v0", "v1");
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes