Title: [236228] trunk/Source/WebCore
Revision
236228
Author
[email protected]
Date
2018-09-19 15:31:18 -0700 (Wed, 19 Sep 2018)

Log Message

REGRESSION(r235917): 2% regression in Dromaeo CSS selector on MacBookPro11,4
https://bugs.webkit.org/show_bug.cgi?id=189738

Reviewed by Yusuke Suzuki.

The regression was caused by the regundant walk to the parent element. Removed it to fix the regression.

* cssjit/SelectorCompiler.cpp:
(WebCore::SelectorCompiler::SelectorCodeGenerator::generateNthChildParentCheckAndRelationUpdate):
(WebCore::SelectorCompiler::SelectorCodeGenerator::generateNthLastChildParentCheckAndRelationUpdate):

Modified Paths

Diff

Modified: trunk/Source/WebCore/ChangeLog (236227 => 236228)


--- trunk/Source/WebCore/ChangeLog	2018-09-19 21:58:45 UTC (rev 236227)
+++ trunk/Source/WebCore/ChangeLog	2018-09-19 22:31:18 UTC (rev 236228)
@@ -1,3 +1,16 @@
+2018-09-19  Ryosuke Niwa  <[email protected]>
+
+        REGRESSION(r235917): 2% regression in Dromaeo CSS selector on MacBookPro11,4
+        https://bugs.webkit.org/show_bug.cgi?id=189738
+
+        Reviewed by Yusuke Suzuki.
+
+        The regression was caused by the regundant walk to the parent element. Removed it to fix the regression.
+
+        * cssjit/SelectorCompiler.cpp:
+        (WebCore::SelectorCompiler::SelectorCodeGenerator::generateNthChildParentCheckAndRelationUpdate):
+        (WebCore::SelectorCompiler::SelectorCodeGenerator::generateNthLastChildParentCheckAndRelationUpdate):
+
 2018-09-19  John Wilander  <[email protected]>
 
         Resource Load Statistics: Add optional cap on partitioned cache max age

Modified: trunk/Source/WebCore/cssjit/SelectorCompiler.cpp (236227 => 236228)


--- trunk/Source/WebCore/cssjit/SelectorCompiler.cpp	2018-09-19 21:58:45 UTC (rev 236227)
+++ trunk/Source/WebCore/cssjit/SelectorCompiler.cpp	2018-09-19 22:31:18 UTC (rev 236228)
@@ -3551,7 +3551,6 @@
     failureCases.append(m_assembler.branchTestPtr(Assembler::Zero, parentNode));
     Assembler::Jump notElement = DOMJIT::branchTestIsElementFlagOnNode(m_assembler, Assembler::Zero, parentNode);
 
-    generateWalkToParentElement(failureCases, parentNode);
     auto relation = fragmentMatchesRightmostOrAdjacentElement(fragment)
         ? Style::Relation::ChildrenAffectedByForwardPositionalRules
         : Style::Relation::DescendantsAffectedByForwardPositionalRules;
@@ -3673,7 +3672,6 @@
     failureCases.append(m_assembler.branchTestPtr(Assembler::Zero, parentNode));
     Assembler::Jump notElement = DOMJIT::branchTestIsElementFlagOnNode(m_assembler, Assembler::Zero, parentNode);
 
-    generateWalkToParentElement(failureCases, parentNode);
     auto relation = fragmentMatchesRightmostOrAdjacentElement(fragment)
         ? Style::Relation::ChildrenAffectedByBackwardPositionalRules
         : Style::Relation::DescendantsAffectedByBackwardPositionalRules;
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to