Title: [226298] trunk/Source/_javascript_Core
Revision
226298
Author
[email protected]
Date
2017-12-27 02:52:39 -0800 (Wed, 27 Dec 2017)

Log Message

REGRESSION(r225913): about 30 JSC test failures on ARMv7
https://bugs.webkit.org/show_bug.cgi?id=181162

Reviewed by Michael Catanzaro.

Fast case in DFG::SpeculativeJIT::compileArraySlice() was enabled in
r225913 on all but 32-bit x86 platform. Other 32-bit platforms have the
same lack of GP registers, so the conditional is changed here to only
enable this optimization explicitly on ARM64 and x86-64.

* dfg/DFGSpeculativeJIT.cpp:
(JSC::DFG::SpeculativeJIT::compileArraySlice):

Modified Paths

Diff

Modified: trunk/Source/_javascript_Core/ChangeLog (226297 => 226298)


--- trunk/Source/_javascript_Core/ChangeLog	2017-12-27 02:12:59 UTC (rev 226297)
+++ trunk/Source/_javascript_Core/ChangeLog	2017-12-27 10:52:39 UTC (rev 226298)
@@ -1,3 +1,18 @@
+2017-12-27  Zan Dobersek  <[email protected]>
+
+        REGRESSION(r225913): about 30 JSC test failures on ARMv7
+        https://bugs.webkit.org/show_bug.cgi?id=181162
+
+        Reviewed by Michael Catanzaro.
+
+        Fast case in DFG::SpeculativeJIT::compileArraySlice() was enabled in
+        r225913 on all but 32-bit x86 platform. Other 32-bit platforms have the
+        same lack of GP registers, so the conditional is changed here to only
+        enable this optimization explicitly on ARM64 and x86-64.
+
+        * dfg/DFGSpeculativeJIT.cpp:
+        (JSC::DFG::SpeculativeJIT::compileArraySlice):
+
 2017-12-26  Yusuke Suzuki  <[email protected]>
 
         [JSC] Remove std::chrono completely

Modified: trunk/Source/_javascript_Core/dfg/DFGSpeculativeJIT.cpp (226297 => 226298)


--- trunk/Source/_javascript_Core/dfg/DFGSpeculativeJIT.cpp	2017-12-27 02:12:59 UTC (rev 226297)
+++ trunk/Source/_javascript_Core/dfg/DFGSpeculativeJIT.cpp	2017-12-27 10:52:39 UTC (rev 226298)
@@ -7635,7 +7635,7 @@
         MacroAssembler::JumpList slowCases;
         m_jit.move(TrustedImmPtr(0), storageResultGPR);
         // X86 only has 6 GP registers, which is not enough for the fast case here. At least without custom code, which is not currently worth the extra code maintenance.
-        if (!isX86() || isX86_64()) {
+        if (isARM64() || isX86_64()) {
             GPRTemporary scratch(this);
             GPRTemporary scratch2(this);
             GPRTemporary indexingMask(this);
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to