RESOLVED FIXED Bug 131602
CSS JIT: compile the :nth-child() pseudo class
https://bugs.webkit.org/show_bug.cgi?id=131602
Summary CSS JIT: compile the :nth-child() pseudo class
Benjamin Poulain
Reported 2014-04-13 19:12:38 PDT
CSS JIT: compile the :nth-child() pseudo class
Attachments
Patch (45.74 KB, patch)
2014-04-13 19:27 PDT, Benjamin Poulain
no flags
Archive of layout-test-results from webkit-ews-11 for mac-mountainlion-wk2 (469.20 KB, application/zip)
2014-04-13 20:43 PDT, Build Bot
no flags
Patch (46.94 KB, patch)
2014-04-13 21:09 PDT, Benjamin Poulain
no flags
Benjamin Poulain
Comment 1 2014-04-13 19:27:02 PDT
Build Bot
Comment 2 2014-04-13 20:43:46 PDT
Comment on attachment 229256 [details] Patch Attachment 229256 [details] did not pass mac-wk2-ews (mac-wk2): Output: http://webkit-queues.appspot.com/results/5264259642556416 New failing tests: http/tests/security/video-poster-cross-origin-crash.html
Build Bot
Comment 3 2014-04-13 20:43:50 PDT
Created attachment 229257 [details] Archive of layout-test-results from webkit-ews-11 for mac-mountainlion-wk2 The attached test failures were seen while running run-webkit-tests on the mac-wk2-ews. Bot: webkit-ews-11 Port: mac-mountainlion-wk2 Platform: Mac OS X 10.8.5
Benjamin Poulain
Comment 4 2014-04-13 21:09:30 PDT
Andreas Kling
Comment 5 2014-04-13 22:19:22 PDT
Comment on attachment 229258 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=229258&action=review > Source/WebCore/cssjit/SelectorCompiler.cpp:1025 > + failureCases.append(m_assembler.branchTest32(Assembler::NonZero, inputDividend, Assembler::TrustedImm32(1))); Could this be even tighter with branchTest8()? > Source/WebCore/cssjit/SelectorCompiler.cpp:2016 > + failureCases.append(m_assembler.branchTest32(Assembler::Zero, elementCounter, Assembler::TrustedImm32(1))); Could this be even tighter with branchTest8()?
Andreas Kling
Comment 6 2014-04-13 22:19:26 PDT
Comment on attachment 229258 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=229258&action=review > Source/WebCore/cssjit/SelectorCompiler.cpp:1025 > + failureCases.append(m_assembler.branchTest32(Assembler::NonZero, inputDividend, Assembler::TrustedImm32(1))); Could this be even tighter with branchTest8()? > Source/WebCore/cssjit/SelectorCompiler.cpp:2016 > + failureCases.append(m_assembler.branchTest32(Assembler::Zero, elementCounter, Assembler::TrustedImm32(1))); Could this be even tighter with branchTest8()?
Andreas Kling
Comment 7 2014-04-13 22:20:21 PDT
I wonder if we could shuffle the Node flags so the ones CSS JIT cares about are testable with 8-bit tests. (I also wonder if that would help anything.)
Benjamin Poulain
Comment 8 2014-04-13 23:22:35 PDT
(In reply to comment #7) > I wonder if we could shuffle the Node flags so the ones CSS JIT cares about are testable with 8-bit tests. (I also wonder if that would help anything.) If you look at test32, you'll notice that I already implemented that :) Depending on the mask, it will select 8 bits instructions :) Also, if you use Address with test32, it will be smart about changing the offset to perform a 8 bits operation :)
Andreas Kling
Comment 9 2014-04-13 23:29:50 PDT
(In reply to comment #8) > (In reply to comment #7) > > I wonder if we could shuffle the Node flags so the ones CSS JIT cares about are testable with 8-bit tests. (I also wonder if that would help anything.) > > If you look at test32, you'll notice that I already implemented that :) > > Depending on the mask, it will select 8 bits instructions :) > > Also, if you use Address with test32, it will be smart about changing the offset to perform a 8 bits operation :) LOL okay! Good job already then :D
Andreas Kling
Comment 10 2014-04-14 01:12:15 PDT
Comment on attachment 229258 [details] Patch r=me. We can definitely improve upon the modulo function if we decide that's useful, but this is totally fine for landing now!
Benjamin Poulain
Comment 11 2014-04-14 01:13:43 PDT
Comment on attachment 229258 [details] Patch (In reply to comment #10) > (From update of attachment 229258 [details]) > r=me. > > We can definitely improve upon the modulo function if we decide that's useful, but this is totally fine for landing now! Thanks!
WebKit Commit Bot
Comment 12 2014-04-14 01:43:20 PDT
Comment on attachment 229258 [details] Patch Clearing flags on attachment: 229258 Committed r167218: <http://trac.webkit.org/changeset/167218>
WebKit Commit Bot
Comment 13 2014-04-14 01:43:27 PDT
All reviewed patches have been landed. Closing bug.
Note You need to log in before you can comment on or make changes to this bug.