Make treeScope inline and remove a branch
Created attachment 176899 [details] Patch
Doh, seems we need to put the inline version in Document.h
Comment on attachment 176899 [details] Patch Attachment 176899 [details] did not pass qt-ews (qt): Output: http://queues.webkit.org/results/15054297
Comment on attachment 176899 [details] Patch Attachment 176899 [details] did not pass qt-wk2-ews (qt): Output: http://queues.webkit.org/results/15067013
Comment on attachment 176899 [details] Patch Attachment 176899 [details] did not pass efl-ews (efl): Output: http://queues.webkit.org/results/15054301
Comment on attachment 176899 [details] Patch Attachment 176899 [details] did not pass chromium-ews (chromium-xvfb): Output: http://queues.webkit.org/results/15056256
Comment on attachment 176899 [details] Patch Attachment 176899 [details] did not pass gtk-ews (gtk): Output: http://queues.webkit.org/results/15059187
Comment on attachment 176899 [details] Patch This is nice!
Comment on attachment 176899 [details] Patch Attachment 176899 [details] did not pass mac-ews (mac): Output: http://queues.webkit.org/results/15055300
Comment on attachment 176899 [details] Patch Attachment 176899 [details] did not pass cr-android-ews (chromium-android): Output: http://queues.webkit.org/results/15061399
Created attachment 177030 [details] Patch
Comment on attachment 177030 [details] Patch Looks good. Please wait until non-Chromium bots become green.
Comment on attachment 177030 [details] Patch Clearing flags on attachment: 177030 Committed r136328: <http://trac.webkit.org/changeset/136328>
All reviewed patches have been landed. Closing bug.
I think this may have caused a ~12% improvement in dom_perf/CreateNodes. Hard to tell. http://trac.webkit.org/changeset/136334 seems more likely. http://build.chromium.org/f/chromium/perf/linux-release-webkit-latest/dom_perf/report.html?graph=CreateNodes&trace=score&rev=170979&history=150
(In reply to comment #15) > I think this may have caused a ~12% improvement in dom_perf/CreateNodes. Hard to tell. http://trac.webkit.org/changeset/136334 seems more likely. > Hmm, that change is going to really skew our perf benchmarks that create nodes because they all run inside the 10 second window. They don't represent what goes on inside a real webapp which you keep open for a while.
I think that this change is causing this web page to assert: http://www2.macleans.ca/2012/11/04/tarnished-silver-assessing-the-new-king-of-stats/ Thread 0 Crashed:: Dispatch queue: com.apple.main-thread 0 com.apple.WebCore 0x000000010f9b3094 WebCore::Node::rareData() const + 84 (Node.cpp:484) 1 com.apple.WebCore 0x000000010f9b302d WebCore::Node::setTreeScope(WebCore::TreeScope*) + 141 (Node.cpp:451) 2 com.apple.WebCore 0x000000011016d1d0 WebCore::TreeScopeAdopter::moveTreeToNewScope(WebCore::Node*) const + 288 (TreeScopeAdopter.cpp:53) 3 com.apple.WebCore 0x000000011016a668 WebCore::TreeScopeAdopter::execute() const + 24 (TreeScopeAdopter.h:38) 4 com.apple.WebCore 0x0000000110169a77 WebCore::TreeScope::adoptIfNeeded(WebCore::Node*) + 391 (TreeScope.cpp:269) 5 com.apple.WebCore 0x000000010ea09274 WebCore::Private::NodeRemovalDispatcher<WebCore::Node, WebCore::ContainerNode, true>::dispatch(WebCore::Node*, WebCore::ContainerNode*) + 68 (ContainerNodeAlgorithms.h:141) 6 com.apple.WebCore 0x000000010ea091eb void WebCore::Private::addChildNodesToDeletionQueue<WebCore::Node, WebCore::ContainerNode>(WebCore::Node*&, WebCore::Node*&, WebCore::ContainerNode*) + 331 (ContainerNodeAlgorithms.h:183) 7 com.apple.WebCore 0x000000010ea069c0 void WebCore::removeAllChildrenInContainer<WebCore::Node, WebCore::ContainerNode>(WebCore::ContainerNode*) + 48 (ContainerNodeAlgorithms.h:91) 8 com.apple.WebCore 0x000000010ea01ba5 WebCore::ContainerNode::removeAllChildren() + 21 (ContainerNode.cpp:94) 9 com.apple.WebCore 0x000000010f1cebe4 WebCore::InputType::destroyShadowSubtree() + 68 (InputType.cpp:492) 10 com.apple.WebCore 0x00000001101217df WebCore::TextFieldInputType::destroyShadowSubtree() + 31 (TextFieldInputType.cpp:308) etc. I will file a bug.
https://bugs.webkit.org/show_bug.cgi?id=104326