[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