TierUpCheckInjectionPhase systematically never puts the outer-most loop in an inner...
authorsbarati@apple.com <sbarati@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Thu, 7 Jun 2018 22:06:43 +0000 (22:06 +0000)
committersbarati@apple.com <sbarati@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Thu, 7 Jun 2018 22:06:43 +0000 (22:06 +0000)
https://bugs.webkit.org/show_bug.cgi?id=186386

Reviewed by Filip Pizlo.

This looks like an 8% speedup on Kraken's imaging-gaussian-blur subtest.

* dfg/DFGTierUpCheckInjectionPhase.cpp:
(JSC::DFG::TierUpCheckInjectionPhase::run):

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

Source/JavaScriptCore/ChangeLog
Source/JavaScriptCore/dfg/DFGTierUpCheckInjectionPhase.cpp

index 151994e..051764a 100644 (file)
@@ -1,3 +1,15 @@
+2018-06-07  Saam Barati  <sbarati@apple.com>
+
+        TierUpCheckInjectionPhase systematically never puts the outer-most loop in an inner loop's vector of outer loops
+        https://bugs.webkit.org/show_bug.cgi?id=186386
+
+        Reviewed by Filip Pizlo.
+
+        This looks like an 8% speedup on Kraken's imaging-gaussian-blur subtest.
+
+        * dfg/DFGTierUpCheckInjectionPhase.cpp:
+        (JSC::DFG::TierUpCheckInjectionPhase::run):
+
 2018-06-02  Filip Pizlo  <fpizlo@apple.com>
 
         FunctionRareData::m_objectAllocationProfileWatchpoint is racy
index 5f56210..a0c2e82 100644 (file)
@@ -122,8 +122,7 @@ public:
                         if (it != naturalLoopToLoopHint.end())
                             descriptor.osrEntryCandidates.append(it->value);
                     }
-                    if (!descriptor.osrEntryCandidates.isEmpty())
-                        tierUpHierarchy.add(bytecodeIndex, WTFMove(descriptor));
+                    tierUpHierarchy.add(bytecodeIndex, WTFMove(descriptor));
                 }
                 break;
             }