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

Reply via email to