Title: [264287] trunk/Source/_javascript_Core
Revision
264287
Author
[email protected]
Date
2020-07-12 15:41:18 -0700 (Sun, 12 Jul 2020)

Log Message

[JSC] We should keep unaligned access feature in certain architectures in macro-assembler
https://bugs.webkit.org/show_bug.cgi?id=214243

Reviewed by Darin Adler.

We introduced the assertion in r263049, but this assertion crashes in testb3 Debug build.
testb3 actually tests unaligned access feature since ARM64 and x64 allow it. And unaligned access is useful
for Yarr etc., so we want to keep unaligned access feature if architecture allows it. We should make this
assertion effective only if CPU(NEEDS_ALIGNED_ACCESS) is true.

* assembler/MacroAssembler.h:
(JSC::MacroAssembler::loadPtr):

Modified Paths

Diff

Modified: trunk/Source/_javascript_Core/ChangeLog (264286 => 264287)


--- trunk/Source/_javascript_Core/ChangeLog	2020-07-12 21:20:19 UTC (rev 264286)
+++ trunk/Source/_javascript_Core/ChangeLog	2020-07-12 22:41:18 UTC (rev 264287)
@@ -1,5 +1,20 @@
 2020-07-12  Yusuke Suzuki  <[email protected]>
 
+        [JSC] We should keep unaligned access feature in certain architectures in macro-assembler
+        https://bugs.webkit.org/show_bug.cgi?id=214243
+
+        Reviewed by Darin Adler.
+
+        We introduced the assertion in r263049, but this assertion crashes in testb3 Debug build.
+        testb3 actually tests unaligned access feature since ARM64 and x64 allow it. And unaligned access is useful
+        for Yarr etc., so we want to keep unaligned access feature if architecture allows it. We should make this
+        assertion effective only if CPU(NEEDS_ALIGNED_ACCESS) is true.
+
+        * assembler/MacroAssembler.h:
+        (JSC::MacroAssembler::loadPtr):
+
+2020-07-12  Yusuke Suzuki  <[email protected]>
+
         [JSC] Avoid JSString creation in Intl.Locale#{minimize,maximize}
         https://bugs.webkit.org/show_bug.cgi?id=214231
 

Modified: trunk/Source/_javascript_Core/assembler/MacroAssembler.h (264286 => 264287)


--- trunk/Source/_javascript_Core/assembler/MacroAssembler.h	2020-07-12 21:20:19 UTC (rev 264286)
+++ trunk/Source/_javascript_Core/assembler/MacroAssembler.h	2020-07-12 22:41:18 UTC (rev 264287)
@@ -711,7 +711,9 @@
 
     void loadPtr(BaseIndex address, RegisterID dest)
     {
+#if CPU(NEEDS_ALIGNED_ACCESS)
         ASSERT(address.scale == ScalePtr || address.scale == TimesOne);
+#endif
         load32(address, dest);
     }
 
@@ -1057,7 +1059,9 @@
 
     void loadPtr(BaseIndex address, RegisterID dest)
     {
+#if CPU(NEEDS_ALIGNED_ACCESS)
         ASSERT(address.scale == ScalePtr || address.scale == TimesOne);
+#endif
         load64(address, dest);
     }
 
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to