[SCM] WebKit Debian packaging branch, webkit-1.1, updated. upstream/1.1.15.1-1414-gc69ee75

eric at webkit.org eric at webkit.org
Thu Oct 29 20:31:58 UTC 2009


The following commit has been merged in the webkit-1.1 branch:
commit 8734d07eca8291a8216ca273d40afffb3b84b29b
Author: eric at webkit.org <eric at webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date:   Tue Sep 22 17:26:33 2009 +0000

    2009-09-22  Christian Plesner Hansen  <christian.plesner.hansen at gmail.com>
    
            Reviewed by Adam Barth.
    
            [v8] Don't keep clean wrappers artificially alive
            We currently keep all DOM node wrappers alive, even when there are
            no more references to them from JS, in case they have properties
            that we need to keep around if new JS references are created.
            This changes the policy to only keep wrappers artificially alive
            if they have changed since they were created. Empty wrappers are
            discarded and recreated as needed.
            https://bugs.webkit.org/show_bug.cgi?id=29330
    
            * bindings/v8/V8GCController.cpp:
            (WebCore::ObjectGrouperVisitor::visitDOMWrapper):
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@48639 268f45cc-cd09-0410-ab3c-d52691b4dbfc

diff --git a/WebCore/ChangeLog b/WebCore/ChangeLog
index 862ceca..f88ca3c 100644
--- a/WebCore/ChangeLog
+++ b/WebCore/ChangeLog
@@ -1,3 +1,19 @@
+2009-09-22  Christian Plesner Hansen  <christian.plesner.hansen at gmail.com>
+
+        Reviewed by Adam Barth.
+
+        [v8] Don't keep clean wrappers artificially alive        
+        We currently keep all DOM node wrappers alive, even when there are
+        no more references to them from JS, in case they have properties
+        that we need to keep around if new JS references are created.
+        This changes the policy to only keep wrappers artificially alive
+        if they have changed since they were created. Empty wrappers are
+        discarded and recreated as needed.
+        https://bugs.webkit.org/show_bug.cgi?id=29330
+
+        * bindings/v8/V8GCController.cpp:
+        (WebCore::ObjectGrouperVisitor::visitDOMWrapper):
+
 2009-09-22  Pavel Feldman  <pfeldman at chromium.org>
 
         Reviewed by Timothy Hatcher.
diff --git a/WebCore/bindings/v8/V8GCController.cpp b/WebCore/bindings/v8/V8GCController.cpp
index 1b7c5ad..e688acb 100644
--- a/WebCore/bindings/v8/V8GCController.cpp
+++ b/WebCore/bindings/v8/V8GCController.cpp
@@ -272,6 +272,11 @@ public:
 
     void visitDOMWrapper(Node* node, v8::Persistent<v8::Object> wrapper)
     {
+        // If the wrapper is clean it will not be detectable if it
+        // goes away and is recreated later so we don't make an effort
+        // to keep it alive here.
+        if (!wrapper->IsDirty())
+            return;
 
         // If the node is in document, put it in the ownerDocument's object group.
         //

-- 
WebKit Debian packaging



More information about the Pkg-webkit-commits mailing list