Changeset 77125 in webkit
- Timestamp:
- Jan 31, 2011 6:26:50 AM (13 years ago)
- Location:
- trunk/Source
- Files:
-
- 5 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/JavaScriptCore/ChangeLog
r77113 r77125 1 2011-01-31 Sheriff Bot <webkit.review.bot@gmail.com> 2 3 Unreviewed, rolling out r76969. 4 http://trac.webkit.org/changeset/76969 5 https://bugs.webkit.org/show_bug.cgi?id=53418 6 7 "It is causing crashes in GTK+ and Leopard bots" (Requested by 8 alexg__ on #webkit). 9 10 * runtime/WeakGCMap.h: 11 1 12 2011-01-30 Csaba Osztrogonác <ossy@webkit.org> 2 13 -
trunk/Source/JavaScriptCore/runtime/WeakGCMap.h
r77113 r77125 70 70 const_iterator uncheckedEnd() const { return m_map.end(); } 71 71 72 bool isValid(iterator it) const { return Heap::isCellMarked(it->second); }73 bool isValid(const_iterator it) const { return Heap::isCellMarked(it->second); }74 75 72 private: 76 73 HashMap<KeyType, MappedType> m_map; -
trunk/Source/WebCore/ChangeLog
r77121 r77125 1 2011-01-31 Sheriff Bot <webkit.review.bot@gmail.com> 2 3 Unreviewed, rolling out r76969. 4 http://trac.webkit.org/changeset/76969 5 https://bugs.webkit.org/show_bug.cgi?id=53418 6 7 "It is causing crashes in GTK+ and Leopard bots" (Requested by 8 alexg__ on #webkit). 9 10 * bridge/runtime_root.cpp: 11 (JSC::Bindings::RootObject::invalidate): 12 (JSC::Bindings::RootObject::addRuntimeObject): 13 (JSC::Bindings::RootObject::removeRuntimeObject): 14 * bridge/runtime_root.h: 15 1 16 2011-01-31 Antti Koivisto <antti@apple.com> 2 17 -
trunk/Source/WebCore/bridge/runtime_root.cpp
r77113 r77125 102 102 103 103 { 104 WeakGCMap<RuntimeObject*, RuntimeObject*>::iterator end = m_runtimeObjects.uncheckedEnd(); 105 for (WeakGCMap<RuntimeObject*, RuntimeObject*>::iterator it = m_runtimeObjects.uncheckedBegin(); it != end; ++it) { 106 if (m_runtimeObjects.isValid(it)) 107 it->second->invalidate(); 108 } 109 104 HashSet<RuntimeObject*>::iterator end = m_runtimeObjects.end(); 105 for (HashSet<RuntimeObject*>::iterator it = m_runtimeObjects.begin(); it != end; ++it) 106 (*it)->invalidate(); 107 110 108 m_runtimeObjects.clear(); 111 109 } 112 110 113 111 m_isValid = false; 114 112 … … 179 177 { 180 178 ASSERT(m_isValid); 181 ASSERT(!m_runtimeObjects. get(object));182 183 m_runtimeObjects. set(object,object);184 } 185 179 ASSERT(!m_runtimeObjects.contains(object)); 180 181 m_runtimeObjects.add(object); 182 } 183 186 184 void RootObject::removeRuntimeObject(RuntimeObject* object) 187 185 { 188 186 ASSERT(m_isValid); 189 ASSERT(m_runtimeObjects. uncheckedGet(object));190 191 m_runtimeObjects. take(object);187 ASSERT(m_runtimeObjects.contains(object)); 188 189 m_runtimeObjects.remove(object); 192 190 } 193 191 -
trunk/Source/WebCore/bridge/runtime_root.h
r77113 r77125 32 32 #include <runtime/Protect.h> 33 33 34 #include <runtime/WeakGCMap.h>35 34 #include <wtf/Forward.h> 35 #include <wtf/HashSet.h> 36 36 #include <wtf/Noncopyable.h> 37 37 #include <wtf/PassRefPtr.h> … … 90 90 91 91 ProtectCountSet m_protectCountSet; 92 WeakGCMap<RuntimeObject*, RuntimeObject*> m_runtimeObjects; // Really need a WeakGCSet, but this will do.92 HashSet<RuntimeObject*> m_runtimeObjects; 93 93 94 94 HashSet<InvalidationCallback*> m_invalidationCallbacks;
Note: See TracChangeset
for help on using the changeset viewer.