Title: [194373] trunk/Source/_javascript_Core
Revision
194373
Author
[email protected]
Date
2015-12-22 14:19:31 -0800 (Tue, 22 Dec 2015)

Log Message

Work around issue in bug #152510
https://bugs.webkit.org/show_bug.cgi?id=152511

Reviewed by Filip Pizlo.

* runtime/Options.cpp:
(JSC::recomputeDependentOptions):

Modified Paths

Diff

Modified: trunk/Source/_javascript_Core/ChangeLog (194372 => 194373)


--- trunk/Source/_javascript_Core/ChangeLog	2015-12-22 21:59:59 UTC (rev 194372)
+++ trunk/Source/_javascript_Core/ChangeLog	2015-12-22 22:19:31 UTC (rev 194373)
@@ -1,3 +1,13 @@
+2015-12-22  Saam barati  <[email protected]>
+
+        Work around issue in bug #152510
+        https://bugs.webkit.org/show_bug.cgi?id=152511
+
+        Reviewed by Filip Pizlo.
+
+        * runtime/Options.cpp:
+        (JSC::recomputeDependentOptions):
+
 2015-12-22  Filip Pizlo  <[email protected]>
 
         FTL B3 does not logicalNot correctly

Modified: trunk/Source/_javascript_Core/runtime/Options.cpp (194372 => 194373)


--- trunk/Source/_javascript_Core/runtime/Options.cpp	2015-12-22 21:59:59 UTC (rev 194372)
+++ trunk/Source/_javascript_Core/runtime/Options.cpp	2015-12-22 22:19:31 UTC (rev 194373)
@@ -26,6 +26,7 @@
 #include "config.h"
 #include "Options.h"
 
+#include "CCallHelpers.h"
 #include <algorithm>
 #include <limits>
 #include <math.h>
@@ -316,6 +317,16 @@
         Options::useOSREntryToFTL() = false;
     }
 
+    if (isARM64()) {
+        // FIXME: https://bugs.webkit.org/show_bug.cgi?id=152510
+        // We're running into a bug where some ARM64 tests are failing in the FTL
+        // with what appears to be an llvm bug where llvm is miscalculating the
+        // live-out variables of a patchpoint. This causes us to not keep a 
+        // volatile register alive across a C call in a patchpoint, even though 
+        // that register is used immediately after the patchpoint.
+        Options::assumeAllRegsInFTLICAreLive() = true;
+    }
+
     // Compute the maximum value of the reoptimization retry counter. This is simply
     // the largest value at which we don't overflow the execute counter, when using it
     // to left-shift the execution counter by this amount. Currently the value ends
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to