RESOLVED FIXED137285
CSS JIT: add the initial implementation of :nth-child(An+B of selector)
https://bugs.webkit.org/show_bug.cgi?id=137285
Summary CSS JIT: add the initial implementation of :nth-child(An+B of selector)
Benjamin Poulain
Reported 2014-09-30 21:05:04 PDT
CSS JIT: add the initial implementation of :nth-child(An+B of selector)
Attachments
Patch (396.87 KB, patch)
2014-09-30 21:53 PDT, Benjamin Poulain
no flags
Patch (397.31 KB, patch)
2014-10-02 15:12 PDT, Benjamin Poulain
no flags
Benjamin Poulain
Comment 1 2014-09-30 21:53:37 PDT
Yusuke Suzuki
Comment 2 2014-09-30 23:22:55 PDT
(In reply to comment #0) > CSS JIT: add the initial implementation of :nth-child(An+B of selector) I've landed the StackAllocator.h part in the separate patch[1] as reviewed by you[2]. So now, we can use `allocateUninitialized(int)` :) [1]: http://trac.webkit.org/changeset/174142 [2]: https://bugs.webkit.org/show_bug.cgi?id=135293
Benjamin Poulain
Comment 3 2014-09-30 23:23:27 PDT
Comment on attachment 238996 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=238996&action=review > Source/WebCore/cssjit/SelectorCompiler.cpp:1509 > + if (unsigned stackRequirementCount = backtrackingMemoryRequirements.stackCount) { > + for (unsigned i = 0; i < stackRequirementCount; ++i) > + m_backtrackingStack.append(m_stackAllocator.allocateUninitialized()); > + if (!temporaryStackBase.isValid()) > + temporaryStackBase = m_backtrackingStack.first(); > } This is terrible, I did not get a chance to fix it tonight. I'll fix it before landing by using http://trac.webkit.org/changeset/174142
Benjamin Poulain
Comment 4 2014-09-30 23:24:20 PDT
(In reply to comment #2) > (In reply to comment #0) > > CSS JIT: add the initial implementation of :nth-child(An+B of selector) > > I've landed the StackAllocator.h part in the separate patch[1] as reviewed by you[2]. > So now, we can use `allocateUninitialized(int)` :) > > [1]: http://trac.webkit.org/changeset/174142 > [2]: https://bugs.webkit.org/show_bug.cgi?id=135293 Thanks! I was just adding the comment about that. :)
Benjamin Poulain
Comment 5 2014-10-01 12:29:48 PDT
Comment on attachment 238996 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=238996&action=review > Source/WebCore/cssjit/SelectorCompiler.cpp:1593 > + // FIXME: ASSERT clean state. Oops
Andreas Kling
Comment 6 2014-10-02 09:55:02 PDT
Comment on attachment 238996 [details] Patch r=me.
Benjamin Poulain
Comment 7 2014-10-02 15:12:15 PDT
Benjamin Poulain
Comment 8 2014-10-02 16:41:11 PDT
Comment on attachment 239146 [details] Patch Clearing flags on attachment: 239146 Committed r174245: <http://trac.webkit.org/changeset/174245>
Benjamin Poulain
Comment 9 2014-10-02 16:41:14 PDT
All reviewed patches have been landed. Closing bug.
Darin Adler
Comment 10 2015-01-28 00:25:05 PST
I think this patch caused some leaks in the CSS parser because the new rules don’t all delete nth_selector_ending.
Benjamin Poulain
Comment 11 2015-01-28 01:37:57 PST
(In reply to comment #10) > I think this patch caused some leaks in the CSS parser because the new rules > don’t all delete nth_selector_ending. I guess you meant to comment on https://bugs.webkit.org/show_bug.cgi?id=136845 ? I think you are right. I'll check tomorrow.
Note You need to log in before you can comment on or make changes to this bug.