[SCM] WebKit Debian packaging branch, debian/experimental, updated. debian/1.3.8-1-1049-g2e11a8e

antonm at chromium.org antonm at chromium.org
Fri Jan 21 14:43:15 UTC 2011


The following commit has been merged in the debian/experimental branch:
commit 21b422ecfdea9fa848df15c6c550b2f826d93a25
Author: antonm at chromium.org <antonm at chromium.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date:   Mon Dec 27 17:41:55 2010 +0000

    2010-12-27  Anton Muhin  <antonm at chromium.org>
    
            Reviewed by David Levin.
    
            [v8] Remove unused methods to protect/unprotect wrappers during garbage collection
            https://bugs.webkit.org/show_bug.cgi?id=51648
    
            * bindings/v8/ScriptController.cpp:
            * bindings/v8/ScriptController.h:
            * bindings/v8/V8GCController.cpp:
            (WebCore::V8GCController::gcEpilogue):
            * bindings/v8/V8GCController.h:
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@74686 268f45cc-cd09-0410-ab3c-d52691b4dbfc

diff --git a/WebCore/ChangeLog b/WebCore/ChangeLog
index 7a9ccd0..9a250a5 100644
--- a/WebCore/ChangeLog
+++ b/WebCore/ChangeLog
@@ -1,3 +1,16 @@
+2010-12-27  Anton Muhin  <antonm at chromium.org>
+
+        Reviewed by David Levin.
+
+        [v8] Remove unused methods to protect/unprotect wrappers during garbage collection
+        https://bugs.webkit.org/show_bug.cgi?id=51648
+
+        * bindings/v8/ScriptController.cpp:
+        * bindings/v8/ScriptController.h:
+        * bindings/v8/V8GCController.cpp:
+        (WebCore::V8GCController::gcEpilogue):
+        * bindings/v8/V8GCController.h:
+
 2010-12-27  Yury Semikhatsky  <yurys at chromium.org>
 
         Unreviewed. Removed trailing spaces from a localized
diff --git a/WebCore/bindings/v8/ScriptController.cpp b/WebCore/bindings/v8/ScriptController.cpp
index d746f15..701bd19 100644
--- a/WebCore/bindings/v8/ScriptController.cpp
+++ b/WebCore/bindings/v8/ScriptController.cpp
@@ -106,16 +106,6 @@ bool ScriptController::isSafeScript(Frame* target)
     return V8BindingSecurity::canAccessFrame(V8BindingState::Only(), target, true);
 }
 
-void ScriptController::gcProtectJSWrapper(void* domObject)
-{
-    V8GCController::gcProtect(domObject);
-}
-
-void ScriptController::gcUnprotectJSWrapper(void* domObject)
-{
-    V8GCController::gcUnprotect(domObject);
-}
-
 ScriptController::ScriptController(Frame* frame)
     : m_frame(frame)
     , m_sourceURL(0)
diff --git a/WebCore/bindings/v8/ScriptController.h b/WebCore/bindings/v8/ScriptController.h
index d093f39..7664846 100644
--- a/WebCore/bindings/v8/ScriptController.h
+++ b/WebCore/bindings/v8/ScriptController.h
@@ -149,10 +149,6 @@ public:
     // Pass command-line flags to the JS engine.
     static void setFlags(const char* string, int length);
 
-    // Protect and unprotect the JS wrapper from garbage collected.
-    static void gcProtectJSWrapper(void*);
-    static void gcUnprotectJSWrapper(void*);
-
     void finishedWithEvent(Event*);
 
     TextPosition0 eventHandlerPosition() const;
diff --git a/WebCore/bindings/v8/V8GCController.cpp b/WebCore/bindings/v8/V8GCController.cpp
index c8d3dd3..f1cf206 100644
--- a/WebCore/bindings/v8/V8GCController.cpp
+++ b/WebCore/bindings/v8/V8GCController.cpp
@@ -128,17 +128,6 @@ typedef HashMap<void*, v8::Object*> DOMObjectMap;
 
 #ifndef NDEBUG
 
-static void enumerateDOMObjectMap(DOMObjectMap& wrapperMap)
-{
-    for (DOMObjectMap::iterator it = wrapperMap.begin(), end = wrapperMap.end(); it != end; ++it) {
-        v8::Persistent<v8::Object> wrapper(it->second);
-        WrapperTypeInfo* type = V8DOMWrapper::domWrapperType(wrapper);
-        void* object = it->first;
-        UNUSED_PARAM(type);
-        UNUSED_PARAM(object);
-    }
-}
-
 class DOMObjectVisitor : public DOMWrapperMap<void>::Visitor {
 public:
     void visitDOMWrapper(DOMDataStore* store, void* object, v8::Persistent<v8::Object> wrapper)
@@ -160,43 +149,6 @@ public:
 
 #endif // NDEBUG
 
-// A map from a DOM node to its JS wrapper, the wrapper
-// is kept as a strong reference to survive GCs.
-static DOMObjectMap& gcProtectedMap()
-{
-    DEFINE_STATIC_LOCAL(DOMObjectMap, staticGcProtectedMap, ());
-    return staticGcProtectedMap;
-}
-
-void V8GCController::gcProtect(void* domObject)
-{
-    if (!domObject)
-        return;
-    if (gcProtectedMap().contains(domObject))
-        return;
-    if (!getDOMObjectMap().contains(domObject))
-        return;
-
-    // Create a new (strong) persistent handle for the object.
-    v8::Persistent<v8::Object> wrapper = getDOMObjectMap().get(domObject);
-    if (wrapper.IsEmpty())
-        return;
-
-    gcProtectedMap().set(domObject, *v8::Persistent<v8::Object>::New(wrapper));
-}
-
-void V8GCController::gcUnprotect(void* domObject)
-{
-    if (!domObject)
-        return;
-    if (!gcProtectedMap().contains(domObject))
-        return;
-
-    // Dispose the strong reference.
-    v8::Persistent<v8::Object> wrapper(gcProtectedMap().take(domObject));
-    wrapper.Dispose();
-}
-
 class GCPrologueVisitor : public DOMWrapperMap<void>::Visitor {
 public:
     void visitDOMWrapper(DOMDataStore* store, void* object, v8::Persistent<v8::Object> wrapper)
@@ -554,7 +506,6 @@ void V8GCController::gcEpilogue()
     EnsureWeakDOMNodeVisitor weakDOMNodeVisitor;
     visitDOMNodesInCurrentThread(&weakDOMNodeVisitor);
 
-    enumerateDOMObjectMap(gcProtectedMap());
     enumerateGlobalHandles();
 #endif
 }
diff --git a/WebCore/bindings/v8/V8GCController.h b/WebCore/bindings/v8/V8GCController.h
index 484be24..9466c98 100644
--- a/WebCore/bindings/v8/V8GCController.h
+++ b/WebCore/bindings/v8/V8GCController.h
@@ -66,10 +66,6 @@ namespace WebCore {
 
     class V8GCController {
     public:
-        // Protect/Unprotect JS wrappers of a DOM object.
-        static void gcProtect(void* domObject);
-        static void gcUnprotect(void* domObject);
-
 #ifndef NDEBUG
         // For debugging and leak detection purpose.
         static void registerGlobalHandle(GlobalHandleType, void*, v8::Persistent<v8::Value>);

-- 
WebKit Debian packaging



More information about the Pkg-webkit-commits mailing list