Instead of using push / pop, allocate stack reference in prologue and store adjacentBacktrackingStart to it.
Created attachment 228614 [details] Patch
Comment on attachment 228614 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=228614&action=review Everything looks correct to me. CQ- because of two nitpicks. > Source/WebCore/cssjit/SelectorCompiler.cpp:210 > + bool m_needsAdjacentBacktrackingStart : 1; You should not use a bit field here. I would put the field just after m_selectorFragments since it is related to a global state of code generation. > Source/WebCore/cssjit/StackAllocator.h:63 > + StackReference push() The name push() is a bit misleading. I think allocate() or allocateUninitialized() would be better.
Created attachment 228665 [details] Patch
Comment on attachment 228614 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=228614&action=review Thank you for your review! I've fixed and attached revised patch. >> Source/WebCore/cssjit/SelectorCompiler.cpp:210 >> + bool m_needsAdjacentBacktrackingStart : 1; > > You should not use a bit field here. > > I would put the field just after m_selectorFragments since it is related to a global state of code generation. Thank you! You're right. I've removed a bit field. And moved m_needsAdjacentBacktrackingStart to just after m_selectorFragments. >> Source/WebCore/cssjit/StackAllocator.h:63 >> + StackReference push() > > The name push() is a bit misleading. I think allocate() or allocateUninitialized() would be better. Right. I've renamed it to allocateUninitialized.
Comment on attachment 228665 [details] Patch Everything looks good to me.
Comment on attachment 228665 [details] Patch Clearing flags on attachment: 228665 Committed r166834: <http://trac.webkit.org/changeset/166834>
All reviewed patches have been landed. Closing bug.
Thank you!