Make WebKit build for ARM64_32
authormsaboff@apple.com <msaboff@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Tue, 5 Dec 2017 23:01:07 +0000 (23:01 +0000)
committermsaboff@apple.com <msaboff@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Tue, 5 Dec 2017 23:01:07 +0000 (23:01 +0000)
https://bugs.webkit.org/show_bug.cgi?id=180447

Reviewed by Mark Lam.

Source/WebCore:

No new test as this isn't a change to functionality.

* platform/graphics/transforms/TransformationMatrix.cpp:
(WebCore::TransformationMatrix::multiply): Fallback to the C++ version for
ARM64_32.

Source/WTF:

Add the 'w' (32bit) pointer qualifier for ARM64_32 pointers in inline assembly.

* wtf/darwin/WeakLinking.h:
(WTF::isNullFunctionPointer):

Tools:

Add an instance of the _TestWTFAlwaysMissing for arm64_32 architecture.

* TestWebKitAPI/Tests/WTF/darwin/libTestWTFAlwaysMissing-iOS-v2.tbd:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@225552 268f45cc-cd09-0410-ab3c-d52691b4dbfc

Source/WTF/ChangeLog
Source/WTF/wtf/darwin/WeakLinking.h
Source/WebCore/ChangeLog
Source/WebCore/platform/graphics/transforms/TransformationMatrix.cpp
Tools/ChangeLog
Tools/TestWebKitAPI/Tests/WTF/darwin/libTestWTFAlwaysMissing-iOS-v2.tbd

index 941c948..11f0687 100644 (file)
@@ -1,3 +1,15 @@
+2017-12-05  Michael Saboff  <msaboff@apple.com>
+
+        Make WebKit build for ARM64_32
+        https://bugs.webkit.org/show_bug.cgi?id=180447
+
+        Reviewed by Mark Lam.
+
+        Add the 'w' (32bit) pointer qualifier for ARM64_32 pointers in inline assembly.
+
+        * wtf/darwin/WeakLinking.h:
+        (WTF::isNullFunctionPointer):
+
 2017-12-05  Filip Pizlo  <fpizlo@apple.com>
 
         bmalloc IsoHeap needs to allow a thread to deallocate some size for the first time
index 10e317b..68136a2 100644 (file)
@@ -37,7 +37,11 @@ inline bool isNullFunctionPointer(T* functionPointer)
     // null. When weak-linking a library, function pointers can be null. We use non-C code to
     // prevent the C compiler from using the definition to optimize out the null check.
     asm(
+#if CPU(ARM64) && defined(__ILP32__)
+        "mov %w1, %w0"
+#else
         "mov %1, %0"
+#endif
         : "=r" (result)
         : "r" (functionPointer)
     );
index 56b11bc..84b9a5f 100644 (file)
@@ -1,3 +1,16 @@
+2017-12-05  Michael Saboff  <msaboff@apple.com>
+
+        Make WebKit build for ARM64_32
+        https://bugs.webkit.org/show_bug.cgi?id=180447
+
+        Reviewed by Mark Lam.
+
+        No new test as this isn't a change to functionality.
+
+        * platform/graphics/transforms/TransformationMatrix.cpp:
+        (WebCore::TransformationMatrix::multiply): Fallback to the C++ version for
+        ARM64_32.
+
 2017-12-05  Chris Dumez  <cdumez@apple.com>
 
         XMLHttpRequest should not be exposed to service workers
index 31d0583..eb3a47e 100644 (file)
@@ -1048,7 +1048,7 @@ TransformationMatrix TransformationMatrix::rectToRect(const FloatRect& from, con
 // this = mat * this.
 TransformationMatrix& TransformationMatrix::multiply(const TransformationMatrix& mat)
 {
-#if CPU(ARM64)
+#if CPU(ARM64) && defined(_LP64)
     double* leftMatrix = &(m_matrix[0][0]);
     const double* rightMatrix = &(mat.m_matrix[0][0]);
     asm volatile (
index cd503ee..03d14b3 100644 (file)
@@ -1,3 +1,14 @@
+2017-12-05  Michael Saboff  <msaboff@apple.com>
+
+        Make WebKit build for ARM64_32
+        https://bugs.webkit.org/show_bug.cgi?id=180447
+
+        Reviewed by Mark Lam.
+
+        Add an instance of the _TestWTFAlwaysMissing for arm64_32 architecture.
+
+        * TestWebKitAPI/Tests/WTF/darwin/libTestWTFAlwaysMissing-iOS-v2.tbd:
+
 2017-12-05  Aakash Jain  <aakash_jain@apple.com>
 
         [build.webkit.org] Rename mastercfg_unittest to steps_unittest
index f7126e6..acac574 100644 (file)
@@ -1,10 +1,10 @@
 --- !tapi-tbd-v2
-archs: [ i386, x86_64, armv7, armv7s, arm64 ]
-uuids: [ 'i386: 6EA81A0A-D83F-4081-B3EA-90419C1573BA87', 'x86_64: 28E81E11-2794-4192-A46A-06C73C9BAFB9', 'armv7: 00C67397-F7A2-431A-9F27-D4F61106FC1F', 'armv7s: F9C172FC-A112-488C-889B-B70FA20AE827', 'arm64: 3FDB12FB-0BF2-405C-B21A-2D3D2D18EB5F' ]
+archs: [ i386, x86_64, armv7, armv7s, arm64, arm64_32 ]
+uuids: [ 'i386: 6EA81A0A-D83F-4081-B3EA-90419C1573BA87', 'x86_64: 28E81E11-2794-4192-A46A-06C73C9BAFB9', 'armv7: 00C67397-F7A2-431A-9F27-D4F61106FC1F', 'armv7s: F9C172FC-A112-488C-889B-B70FA20AE827', 'arm64: 3FDB12FB-0BF2-405C-B21A-2D3D2D18EB5F', 'arm64_32: 7AACF92F-A11C-4015-9434-365CE3DC5F9E' ]
 platform: ios
 install-name: /usr/local/lib/libTestWTFAlwaysMissing.dylib
 objc-constraint: none
 exports:
-  - archs: [ i386, x86_64, armv7, armv7s, arm64 ]
+  - archs: [ i386, x86_64, armv7, armv7s, arm64, arm64_32 ]
     symbols: [ _TestWTFAlwaysMissing ]
 ...