Title: [133187] trunk/Source/WebCore
Revision
133187
Author
aba...@webkit.org
Date
2012-11-01 09:47:53 -0700 (Thu, 01 Nov 2012)

Log Message

[V8] The V8DOMMap visitors are no longer needed
https://bugs.webkit.org/show_bug.cgi?id=100963

Reviewed by Kentaro Hara.

This patch inlines visitAllDOMNodes into its one caller (and removes
one layer of visitor adaptor abstraction).

* bindings/v8/ScriptProfiler.cpp:
(WebCore::ScriptProfiler::visitNodeWrappers):
* bindings/v8/V8DOMMap.cpp:
* bindings/v8/V8DOMMap.h:
(WebCore):

Modified Paths

Diff

Modified: trunk/Source/WebCore/ChangeLog (133186 => 133187)


--- trunk/Source/WebCore/ChangeLog	2012-11-01 16:46:10 UTC (rev 133186)
+++ trunk/Source/WebCore/ChangeLog	2012-11-01 16:47:53 UTC (rev 133187)
@@ -1,3 +1,19 @@
+2012-11-01  Adam Barth  <aba...@webkit.org>
+
+        [V8] The V8DOMMap visitors are no longer needed
+        https://bugs.webkit.org/show_bug.cgi?id=100963
+
+        Reviewed by Kentaro Hara.
+
+        This patch inlines visitAllDOMNodes into its one caller (and removes
+        one layer of visitor adaptor abstraction).
+
+        * bindings/v8/ScriptProfiler.cpp:
+        (WebCore::ScriptProfiler::visitNodeWrappers):
+        * bindings/v8/V8DOMMap.cpp:
+        * bindings/v8/V8DOMMap.h:
+        (WebCore):
+
 2012-11-01  Tiancheng Jiang  <tiji...@rim.com>
 
         [BlackBerry] Update BB10 form theme.

Modified: trunk/Source/WebCore/bindings/v8/ScriptProfiler.cpp (133186 => 133187)


--- trunk/Source/WebCore/bindings/v8/ScriptProfiler.cpp	2012-11-01 16:46:10 UTC (rev 133186)
+++ trunk/Source/WebCore/bindings/v8/ScriptProfiler.cpp	2012-11-01 16:47:53 UTC (rev 133187)
@@ -179,23 +179,30 @@
 
 void ScriptProfiler::visitNodeWrappers(WrappedNodeVisitor* visitor)
 {
-    class VisitorAdapter : public NodeWrapperVisitor {
+    v8::HandleScope scope;
+
+    class VisitorAdapter : public v8::PersistentHandleVisitor {
     public:
-        VisitorAdapter(WrappedNodeVisitor* visitor)
+        explicit VisitorAdapter(WrappedNodeVisitor* visitor)
             : m_visitor(visitor)
         {
         }
 
-        virtual void visitNodeWrapper(Node* node, v8::Persistent<v8::Object>)
+        virtual void VisitPersistentHandle(v8::Persistent<v8::Value> value, uint16_t classId)
         {
-            m_visitor->visitNode(node);
+            if (classId != v8DOMNodeClassId)
+                return;
+            ASSERT(V8Node::HasInstance(value));
+            ASSERT(value->IsObject());
+            v8::Persistent<v8::Object> wrapper = v8::Persistent<v8::Object>::Cast(value);
+            m_visitor->visitNode(V8Node::toNative(wrapper));
         }
 
     private:
         WrappedNodeVisitor* m_visitor;
-    } adapter(visitor);
+    } visitorAdapter(visitor);
 
-    visitAllDOMNodes(&adapter);
+    v8::V8::VisitHandlesWithClassIds(&visitorAdapter);
 }
 
 void ScriptProfiler::visitExternalStrings(ExternalStringVisitor* visitor)

Modified: trunk/Source/WebCore/bindings/v8/V8DOMMap.cpp (133186 => 133187)


--- trunk/Source/WebCore/bindings/v8/V8DOMMap.cpp	2012-11-01 16:46:10 UTC (rev 133186)
+++ trunk/Source/WebCore/bindings/v8/V8DOMMap.cpp	2012-11-01 16:47:53 UTC (rev 133187)
@@ -38,10 +38,6 @@
 
 namespace WebCore {
 
-NodeWrapperVisitor::~NodeWrapperVisitor()
-{
-}
-
 DOMWrapperMap<Node>& getDOMNodeMap(v8::Isolate* isolate)
 {
     if (!isolate)
@@ -56,45 +52,4 @@
     return DOMDataStore::current(isolate)->domObjectMap();
 }
 
-void visitAllDOMNodes(NodeWrapperVisitor* visitor)
-{
-    v8::HandleScope scope;
-
-    class VisitorAdapter : public v8::PersistentHandleVisitor {
-    public:
-        explicit VisitorAdapter(NodeWrapperVisitor* visitor)
-            : m_visitor(visitor)
-        {
-        }
-
-        virtual void VisitPersistentHandle(v8::Persistent<v8::Value> value, uint16_t classId)
-        {
-            if (classId != v8DOMNodeClassId)
-                return;
-            ASSERT(V8Node::HasInstance(value));
-            ASSERT(value->IsObject());
-            ASSERT(!value.IsIndependent());
-            v8::Persistent<v8::Object> wrapper = v8::Persistent<v8::Object>::Cast(value);
-            m_visitor->visitNodeWrapper(V8Node::toNative(wrapper), wrapper);
-        }
-
-    private:
-        NodeWrapperVisitor* m_visitor;
-    } visitorAdapter(visitor);
-
-    v8::V8::VisitHandlesWithClassIds(&visitorAdapter);
-}
-
-void visitDOMObjects(DOMWrapperVisitor<void>* visitor)
-{
-    v8::HandleScope scope;
-
-    Vector<DOMDataStore*>& list = V8PerIsolateData::current()->allStores();
-    for (size_t i = 0; i < list.size(); ++i) {
-        DOMDataStore* store = list[i];
-
-        store->domObjectMap().visit(store, visitor);
-    }
-}
-
 } // namespace WebCore

Modified: trunk/Source/WebCore/bindings/v8/V8DOMMap.h (133186 => 133187)


--- trunk/Source/WebCore/bindings/v8/V8DOMMap.h	2012-11-01 16:46:10 UTC (rev 133186)
+++ trunk/Source/WebCore/bindings/v8/V8DOMMap.h	2012-11-01 16:47:53 UTC (rev 133187)
@@ -42,17 +42,8 @@
 
 namespace WebCore {
 
-class NodeWrapperVisitor {
-public:
-    virtual ~NodeWrapperVisitor();
-    virtual void visitNodeWrapper(Node*, v8::Persistent<v8::Object> wrapper) = 0;
-};
-
 DOMWrapperMap<Node>& getDOMNodeMap(v8::Isolate* = 0);
-void visitAllDOMNodes(NodeWrapperVisitor*);
-
 DOMWrapperMap<void>& getDOMObjectMap(v8::Isolate* = 0);
-void visitDOMObjects(DOMWrapperVisitor<void>*);
 
 } // namespace WebCore
 
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
http://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to