Unreviewed, rolling out r76893.
authorossy@webkit.org <ossy@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Fri, 28 Jan 2011 09:10:11 +0000 (09:10 +0000)
committerossy@webkit.org <ossy@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Fri, 28 Jan 2011 09:10:11 +0000 (09:10 +0000)
http://trac.webkit.org/changeset/76893
https://bugs.webkit.org/show_bug.cgi?id=53287

Patch by Sheriff Bot <webkit.review.bot@gmail.com> on 2011-01-28
It made some tests crash on GTK and Qt debug bots (Requested
by Ossy on #webkit).

Source/JavaScriptCore:

* runtime/WeakGCMap.h:

Source/WebCore:

* bridge/runtime_root.cpp:
(JSC::Bindings::RootObject::invalidate):
(JSC::Bindings::RootObject::addRuntimeObject):
(JSC::Bindings::RootObject::removeRuntimeObject):
* bridge/runtime_root.h:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@76925 268f45cc-cd09-0410-ab3c-d52691b4dbfc

Source/JavaScriptCore/ChangeLog
Source/JavaScriptCore/runtime/WeakGCMap.h
Source/WebCore/ChangeLog
Source/WebCore/bridge/runtime_root.cpp
Source/WebCore/bridge/runtime_root.h

index 22e74c3d5a1344dbc74976f949ed11c328f1e5b2..a7ab2d3f0de9f8b0a660554228d393d9309f4690 100644 (file)
@@ -1,3 +1,14 @@
+2011-01-28  Sheriff Bot  <webkit.review.bot@gmail.com>
+
+        Unreviewed, rolling out r76893.
+        http://trac.webkit.org/changeset/76893
+        https://bugs.webkit.org/show_bug.cgi?id=53287
+
+        It made some tests crash on GTK and Qt debug bots (Requested
+        by Ossy on #webkit).
+
+        * runtime/WeakGCMap.h:
+
 2011-01-27  Adam Barth  <abarth@webkit.org>
 
         Reviewed by Eric Seidel.
index c063dd278a61ddd444e6a52ec39010b542ccd09e..316794f413705dee508379e5d590464f186b9375 100644 (file)
@@ -69,9 +69,6 @@ public:
     const_iterator uncheckedBegin() const { return m_map.begin(); }
     const_iterator uncheckedEnd() const { return m_map.end(); }
 
-    bool isValid(iterator it) const { return Heap::isCellMarked(it->second); }
-    bool isValid(const_iterator it) const { return Heap::isCellMarked(it->second); }
-
 private:
     HashMap<KeyType, MappedType> m_map;
 };
index f2632ea46600cad007ea7804a0f6a6447363337c..4084151b984e7b93521fe3bc36cd6d0282ec4dc0 100644 (file)
@@ -1,3 +1,18 @@
+2011-01-28  Sheriff Bot  <webkit.review.bot@gmail.com>
+
+        Unreviewed, rolling out r76893.
+        http://trac.webkit.org/changeset/76893
+        https://bugs.webkit.org/show_bug.cgi?id=53287
+
+        It made some tests crash on GTK and Qt debug bots (Requested
+        by Ossy on #webkit).
+
+        * bridge/runtime_root.cpp:
+        (JSC::Bindings::RootObject::invalidate):
+        (JSC::Bindings::RootObject::addRuntimeObject):
+        (JSC::Bindings::RootObject::removeRuntimeObject):
+        * bridge/runtime_root.h:
+
 2011-01-27  Greg Coletta  <greg.coletta@nokia.com>
 
         Reviewed by Laszlo Gombos.
index fe88a3ed908105d646bb067d7e3670381f36fa0a..796354f2fc62dede9fe09b005172e78464401581 100644 (file)
@@ -101,15 +101,13 @@ void RootObject::invalidate()
         return;
 
     {
-        WeakGCMap<RuntimeObject*, RuntimeObject*>::iterator end = m_runtimeObjects.uncheckedEnd();
-        for (WeakGCMap<RuntimeObject*, RuntimeObject*>::iterator it = m_runtimeObjects.uncheckedBegin(); it != end; ++it) {
-            if (m_runtimeObjects.isValid(it))
-                it->second->invalidate();
-        }
-
+        HashSet<RuntimeObject*>::iterator end = m_runtimeObjects.end();
+        for (HashSet<RuntimeObject*>::iterator it = m_runtimeObjects.begin(); it != end; ++it)
+            (*it)->invalidate();
+        
         m_runtimeObjects.clear();
     }
-
+    
     m_isValid = false;
 
     m_nativeHandle = 0;
@@ -178,17 +176,17 @@ void RootObject::updateGlobalObject(JSGlobalObject* globalObject)
 void RootObject::addRuntimeObject(RuntimeObject* object)
 {
     ASSERT(m_isValid);
-    ASSERT(!m_runtimeObjects.get(object));
-
-    m_runtimeObjects.set(object, object);
-}
-
+    ASSERT(!m_runtimeObjects.contains(object));
+    
+    m_runtimeObjects.add(object);
+}        
+    
 void RootObject::removeRuntimeObject(RuntimeObject* object)
 {
     ASSERT(m_isValid);
-    ASSERT(m_runtimeObjects.get(object));
-
-    m_runtimeObjects.take(object);
+    ASSERT(m_runtimeObjects.contains(object));
+    
+    m_runtimeObjects.remove(object);
 }
 
 } } // namespace JSC::Bindings
index 8290e7c31e3e813111f52019600ed0b519f1b1dc..babd7aded768ed8a32c9c679b4439a8ad04183a2 100644 (file)
@@ -31,8 +31,8 @@
 #endif
 #include <runtime/Protect.h>
 
-#include <runtime/WeakGCMap.h>
 #include <wtf/Forward.h>
+#include <wtf/HashSet.h>
 #include <wtf/Noncopyable.h>
 #include <wtf/PassRefPtr.h>
 #include <wtf/RefCounted.h>
@@ -89,7 +89,7 @@ private:
     ProtectedPtr<JSGlobalObject> m_globalObject;
 
     ProtectCountSet m_protectCountSet;
-    WeakGCMap<RuntimeObject*, RuntimeObject*> m_runtimeObjects; // Really need a WeakGCSet, but this will do.
+    HashSet<RuntimeObject*> m_runtimeObjects;    
 
     HashSet<InvalidationCallback*> m_invalidationCallbacks;
 };