Title: [99995] trunk
Revision
99995
Author
o...@chromium.org
Date
2011-11-11 11:14:25 -0800 (Fri, 11 Nov 2011)

Log Message

Unreviewed, rolling out r99869.
http://trac.webkit.org/changeset/99869
https://bugs.webkit.org/show_bug.cgi?id=72157

"Caused a ~400% perf regression on the Chromium intl1 page
cyclers" (Requested by ojan on #webkit).

Patch by Sheriff Bot <webkit.review....@gmail.com> on 2011-11-11

Source/WebCore:

* dom/Document.cpp:
(WebCore::Document::Document):
(WebCore::Document::images):
(WebCore::Document::applets):
(WebCore::Document::embeds):
(WebCore::Document::plugins):
(WebCore::Document::objects):
(WebCore::Document::scripts):
(WebCore::Document::links):
(WebCore::Document::forms):
(WebCore::Document::anchors):
* dom/Document.h:
* html/CollectionType.h:

LayoutTests:

* fast/dom/gc-9-expected.txt:
* fast/dom/gc-9.html:

Modified Paths

Diff

Modified: trunk/LayoutTests/ChangeLog (99994 => 99995)


--- trunk/LayoutTests/ChangeLog	2011-11-11 19:09:49 UTC (rev 99994)
+++ trunk/LayoutTests/ChangeLog	2011-11-11 19:14:25 UTC (rev 99995)
@@ -1,3 +1,15 @@
+2011-11-11  Sheriff Bot  <webkit.review....@gmail.com>
+
+        Unreviewed, rolling out r99869.
+        http://trac.webkit.org/changeset/99869
+        https://bugs.webkit.org/show_bug.cgi?id=72157
+
+        "Caused a ~400% perf regression on the Chromium intl1 page
+        cyclers" (Requested by ojan on #webkit).
+
+        * fast/dom/gc-9-expected.txt:
+        * fast/dom/gc-9.html:
+
 2011-11-11  Rafael Weinstein  <rafa...@chromium.org>
 
         [MutationObservers] Support attributeFilter for attribute mutations

Modified: trunk/LayoutTests/fast/dom/gc-9-expected.txt (99994 => 99995)


--- trunk/LayoutTests/fast/dom/gc-9-expected.txt	2011-11-11 19:09:49 UTC (rev 99994)
+++ trunk/LayoutTests/fast/dom/gc-9-expected.txt	2011-11-11 19:14:25 UTC (rev 99995)
@@ -16,13 +16,13 @@
 PASS: document.getElementsByTagName('select')[0].options.myCustomProperty should be undefined and is.
 PASS: document.all.myCustomProperty should be undefined and is.
 PASS: document.body.childNodes.myCustomProperty should be undefined and is.
-PASS: document.images.myCustomProperty should be 1 and is.
-PASS: document.embeds.myCustomProperty should be 1 and is.
-PASS: document.applets.myCustomProperty should be 1 and is.
-PASS: document.links.myCustomProperty should be 1 and is.
-PASS: document.forms.myCustomProperty should be 1 and is.
-PASS: document.anchors.myCustomProperty should be 1 and is.
-PASS: document.scripts.myCustomProperty should be 1 and is.
+PASS: document.images.myCustomProperty should be undefined and is.
+PASS: document.embeds.myCustomProperty should be undefined and is.
+PASS: document.applets.myCustomProperty should be undefined and is.
+PASS: document.links.myCustomProperty should be undefined and is.
+PASS: document.forms.myCustomProperty should be undefined and is.
+PASS: document.anchors.myCustomProperty should be undefined and is.
+PASS: document.scripts.myCustomProperty should be undefined and is.
 PASS: document.getElementsByTagName('form')[0].elements.myCustomProperty should be undefined and is.
 PASS: document.getElementsByTagName('table')[0].rows.myCustomProperty should be undefined and is.
 PASS: document.getElementsByTagName('table')[0].rows[0].cells.myCustomProperty should be undefined and is.
@@ -52,13 +52,13 @@
 PASS: document.getElementsByTagName('select')[0].options.myCustomProperty should be undefined and is.
 PASS: document.all.myCustomProperty should be undefined and is.
 PASS: document.body.childNodes.myCustomProperty should be undefined and is.
-PASS: document.images.myCustomProperty should be 1 and is.
-PASS: document.embeds.myCustomProperty should be 1 and is.
-PASS: document.applets.myCustomProperty should be 1 and is.
-PASS: document.links.myCustomProperty should be 1 and is.
-PASS: document.forms.myCustomProperty should be 1 and is.
-PASS: document.anchors.myCustomProperty should be 1 and is.
-PASS: document.scripts.myCustomProperty should be 1 and is.
+PASS: document.images.myCustomProperty should be undefined and is.
+PASS: document.embeds.myCustomProperty should be undefined and is.
+PASS: document.applets.myCustomProperty should be undefined and is.
+PASS: document.links.myCustomProperty should be undefined and is.
+PASS: document.forms.myCustomProperty should be undefined and is.
+PASS: document.anchors.myCustomProperty should be undefined and is.
+PASS: document.scripts.myCustomProperty should be undefined and is.
 PASS: document.getElementsByTagName('form')[0].elements.myCustomProperty should be undefined and is.
 PASS: document.getElementsByTagName('table')[0].rows.myCustomProperty should be undefined and is.
 PASS: document.getElementsByTagName('table')[0].rows[0].cells.myCustomProperty should be undefined and is.

Modified: trunk/LayoutTests/fast/dom/gc-9.html (99994 => 99995)


--- trunk/LayoutTests/fast/dom/gc-9.html	2011-11-11 19:09:49 UTC (rev 99994)
+++ trunk/LayoutTests/fast/dom/gc-9.html	2011-11-11 19:14:25 UTC (rev 99995)
@@ -126,13 +126,13 @@
     [ "document.all" ],
     [ "document.body.childNodes" ],
 
-    [ "document.images", "allow custom" ],
-    [ "document.embeds", "allow custom" ],
-    [ "document.applets", "allow custom" ],
-    [ "document.links", "allow custom" ],
-    [ "document.forms", "allow custom" ],
-    [ "document.anchors", "allow custom" ],
-    [ "document.scripts", "allow custom" ],
+    [ "document.images" ],
+    [ "document.embeds" ],
+    [ "document.applets" ],
+    [ "document.links" ],
+    [ "document.forms" ],
+    [ "document.anchors" ],
+    [ "document.scripts" ],
 
     [ "document.getElementsByTagName('form')[0].elements" ],
     [ "document.getElementsByTagName('table')[0].rows" ],

Modified: trunk/Source/WebCore/ChangeLog (99994 => 99995)


--- trunk/Source/WebCore/ChangeLog	2011-11-11 19:09:49 UTC (rev 99994)
+++ trunk/Source/WebCore/ChangeLog	2011-11-11 19:14:25 UTC (rev 99995)
@@ -1,3 +1,26 @@
+2011-11-11  Sheriff Bot  <webkit.review....@gmail.com>
+
+        Unreviewed, rolling out r99869.
+        http://trac.webkit.org/changeset/99869
+        https://bugs.webkit.org/show_bug.cgi?id=72157
+
+        "Caused a ~400% perf regression on the Chromium intl1 page
+        cyclers" (Requested by ojan on #webkit).
+
+        * dom/Document.cpp:
+        (WebCore::Document::Document):
+        (WebCore::Document::images):
+        (WebCore::Document::applets):
+        (WebCore::Document::embeds):
+        (WebCore::Document::plugins):
+        (WebCore::Document::objects):
+        (WebCore::Document::scripts):
+        (WebCore::Document::links):
+        (WebCore::Document::forms):
+        (WebCore::Document::anchors):
+        * dom/Document.h:
+        * html/CollectionType.h:
+
 2011-11-11  Vincent Scheib  <sch...@chromium.org>
 
         Mouse Lock Navigator IDL

Modified: trunk/Source/WebCore/dom/Document.cpp (99994 => 99995)


--- trunk/Source/WebCore/dom/Document.cpp	2011-11-11 19:09:49 UTC (rev 99994)
+++ trunk/Source/WebCore/dom/Document.cpp	2011-11-11 19:14:25 UTC (rev 99995)
@@ -411,7 +411,7 @@
     , m_writeRecursionIsTooDeep(false)
     , m_writeRecursionDepth(0)
     , m_wheelEventHandlerCount(0)
-{   
+{
     m_document = this;
 
     m_pageGroupUserSheetCacheValid = false;
@@ -4096,59 +4096,50 @@
 }
 #endif
 
-const RefPtr<HTMLCollection>& Document::collection(CollectionType type)
-{
-    ASSERT(type < NumCollectionTypes);
-    if (!m_collections[type])
-        m_collections[type] = HTMLCollection::create(this, type);
-    ASSERT(m_collections[type]);
-    return m_collections[type];
-}
-
 PassRefPtr<HTMLCollection> Document::images()
 {
-    return collection(DocImages);
+    return HTMLCollection::create(this, DocImages);
 }
 
 PassRefPtr<HTMLCollection> Document::applets()
 {
-    return collection(DocApplets);
+    return HTMLCollection::create(this, DocApplets);
 }
 
 PassRefPtr<HTMLCollection> Document::embeds()
 {
-    return collection(DocEmbeds);
+    return HTMLCollection::create(this, DocEmbeds);
 }
 
 PassRefPtr<HTMLCollection> Document::plugins()
 {
     // This is an alias for embeds() required for the JS DOM bindings.
-    return collection(DocEmbeds);
+    return HTMLCollection::create(this, DocEmbeds);
 }
 
 PassRefPtr<HTMLCollection> Document::objects()
 {
-    return collection(DocObjects);
+    return HTMLCollection::create(this, DocObjects);
 }
 
 PassRefPtr<HTMLCollection> Document::scripts()
 {
-    return collection(DocScripts);
+    return HTMLCollection::create(this, DocScripts);
 }
 
 PassRefPtr<HTMLCollection> Document::links()
 {
-    return collection(DocLinks);
+    return HTMLCollection::create(this, DocLinks);
 }
 
 PassRefPtr<HTMLCollection> Document::forms()
 {
-    return collection(DocForms);
+    return HTMLCollection::create(this, DocForms);
 }
 
 PassRefPtr<HTMLCollection> Document::anchors()
 {
-    return collection(DocAnchors);
+    return HTMLCollection::create(this, DocAnchors);
 }
 
 PassRefPtr<HTMLAllCollection> Document::all()

Modified: trunk/Source/WebCore/dom/Document.h (99994 => 99995)


--- trunk/Source/WebCore/dom/Document.h	2011-11-11 19:09:49 UTC (rev 99994)
+++ trunk/Source/WebCore/dom/Document.h	2011-11-11 19:14:25 UTC (rev 99995)
@@ -1424,9 +1424,6 @@
 #if ENABLE(REQUEST_ANIMATION_FRAME)
     OwnPtr<ScriptedAnimationController> m_scriptedAnimationController;
 #endif
-
-    const RefPtr<HTMLCollection>& collection(CollectionType);
-    RefPtr<HTMLCollection> m_collections[NumCollectionTypes];
 };
 
 // Put these methods here, because they require the Document definition, but we really want to inline them.

Modified: trunk/Source/WebCore/html/CollectionType.h (99994 => 99995)


--- trunk/Source/WebCore/html/CollectionType.h	2011-11-11 19:09:49 UTC (rev 99994)
+++ trunk/Source/WebCore/html/CollectionType.h	2011-11-11 19:14:25 UTC (rev 99995)
@@ -54,9 +54,7 @@
     DataListOptions,
     MapAreas,
 
-    OtherCollection,
-
-    NumCollectionTypes
+    OtherCollection
 };
 
 static const CollectionType FirstUnnamedDocumentCachedType = DocImages;
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
http://lists.webkit.org/mailman/listinfo.cgi/webkit-changes

Reply via email to