CSS JIT: Apply backtracking optimization to adjacent backtracking
authorcommit-queue@webkit.org <commit-queue@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Sat, 24 May 2014 02:11:17 +0000 (02:11 +0000)
committercommit-queue@webkit.org <commit-queue@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Sat, 24 May 2014 02:11:17 +0000 (02:11 +0000)
commit8d69fe3cde3b1c7eb03beb0d6d3d4e1f5084042a
tree5af67d26028364390b9f1844cc301bd41f8f5fc8
parentffe52f462d148bbb014cc81df360a070a0354ad9
CSS JIT: Apply backtracking optimization to adjacent backtracking
https://bugs.webkit.org/show_bug.cgi?id=132951

Patch by Yusuke Suzuki <utatane.tea@gmail.com> on 2014-05-23
Reviewed by Benjamin Poulain.

Apply the backtracking optimization to the adjacent backtracking.
This optimization is already done for the descendant backtracking.
We apply this to the adjacent backtracking similarly.

Source/WebCore:
Test: fast/selectors/backtracking-adjacent-optimized.html

* cssjit/SelectorCompiler.cpp:
(WebCore::SelectorCompiler::SelectorFragment::SelectorFragment):
(WebCore::SelectorCompiler::solveAdjacentBacktrackingActionForDirectAdjacent):
(WebCore::SelectorCompiler::solveBacktrackingAction):
(WebCore::SelectorCompiler::computeBacktrackingStartOffsetInChain):
(WebCore::SelectorCompiler::computeBacktrackingHeightFromDescendant):
(WebCore::SelectorCompiler::computeBacktrackingWidthFromIndirectAdjacent):
(WebCore::SelectorCompiler::SelectorCodeGenerator::computeBacktrackingInformation):
(WebCore::SelectorCompiler::SelectorCodeGenerator::generateIndirectAdjacentTreeWalker):
(WebCore::SelectorCompiler::SelectorCodeGenerator::linkFailures):
(WebCore::SelectorCompiler::computeBacktrackingStartHeightFromDescendant): Deleted.

LayoutTests:
* fast/selectors/backtracking-adjacent-optimized-expected.txt: Added.
* fast/selectors/backtracking-adjacent-optimized.html: Added.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@169298 268f45cc-cd09-0410-ab3c-d52691b4dbfc
LayoutTests/ChangeLog
LayoutTests/fast/selectors/backtracking-adjacent-optimized-expected.txt [new file with mode: 0644]
LayoutTests/fast/selectors/backtracking-adjacent-optimized.html [new file with mode: 0644]
Source/WebCore/ChangeLog
Source/WebCore/cssjit/SelectorCompiler.cpp