Make Briggs fixpoint validation run only with validateGraphAtEachPhase
authorsbarati@apple.com <sbarati@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Thu, 23 Feb 2017 21:25:15 +0000 (21:25 +0000)
committersbarati@apple.com <sbarati@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Thu, 23 Feb 2017 21:25:15 +0000 (21:25 +0000)
https://bugs.webkit.org/show_bug.cgi?id=168795

Rubber stamped by Keith Miller.

The Briggs allocator was running intensive validation
on each step of the fixpoint. Instead, it now will just
do it when shouldValidateIRAtEachPhase() is true because
doing this for all !ASSERT_DISABLED builds takes too long.

* b3/air/AirAllocateRegistersByGraphColoring.cpp:

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

Source/JavaScriptCore/ChangeLog
Source/JavaScriptCore/b3/air/AirAllocateRegistersByGraphColoring.cpp

index 2b9163e..a25ab5e 100644 (file)
@@ -1,3 +1,17 @@
+2017-02-23  Saam Barati  <sbarati@apple.com>
+
+        Make Briggs fixpoint validation run only with validateGraphAtEachPhase
+        https://bugs.webkit.org/show_bug.cgi?id=168795
+
+        Rubber stamped by Keith Miller.
+
+        The Briggs allocator was running intensive validation
+        on each step of the fixpoint. Instead, it now will just
+        do it when shouldValidateIRAtEachPhase() is true because
+        doing this for all !ASSERT_DISABLED builds takes too long.
+
+        * b3/air/AirAllocateRegistersByGraphColoring.cpp:
+
 2017-02-23  Filip Pizlo  <fpizlo@apple.com>
 
         SpeculativeJIT::compilePutByValForIntTypedArray should only do the constant-folding optimization when the constant passes the type check
index 7024d16..0677834 100644 (file)
@@ -645,6 +645,8 @@ public:
         auto assertInvariants = [&] () {
             if (ASSERT_DISABLED)
                 return;
+            if (!shouldValidateIRAtEachPhase())
+                return;
 
             IndexType firstNonRegIndex = m_lastPrecoloredRegisterIndex + 1;
             unsigned registerCount = this->registerCount();