| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright (C) 2005, 2006, 2007, 2008, 2011, 2012 Apple Inc. All rights | 2 * Copyright (C) 2005, 2006, 2007, 2008, 2011, 2012 Apple Inc. All rights |
| 3 * reserved. | 3 * reserved. |
| 4 * Copyright (C) 2008 David Levin <levin@chromium.org> | 4 * Copyright (C) 2008 David Levin <levin@chromium.org> |
| 5 * | 5 * |
| 6 * This library is free software; you can redistribute it and/or | 6 * This library is free software; you can redistribute it and/or |
| 7 * modify it under the terms of the GNU Library General Public | 7 * modify it under the terms of the GNU Library General Public |
| 8 * License as published by the Free Software Foundation; either | 8 * License as published by the Free Software Foundation; either |
| 9 * version 2 of the License, or (at your option) any later version. | 9 * version 2 of the License, or (at your option) any later version. |
| 10 * | 10 * |
| (...skipping 68 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 79 do { \ | 79 do { \ |
| 80 } while (0) | 80 } while (0) |
| 81 #define UPDATE_ACCESS_COUNTS() \ | 81 #define UPDATE_ACCESS_COUNTS() \ |
| 82 do { \ | 82 do { \ |
| 83 } while (0) | 83 } while (0) |
| 84 #endif | 84 #endif |
| 85 #endif | 85 #endif |
| 86 | 86 |
| 87 namespace WTF { | 87 namespace WTF { |
| 88 | 88 |
| 89 // This is for tracing inside collections that have special support for weak |
| 90 // pointers. The trait has a trace method which returns true if there are weak |
| 91 // pointers to things that have not (yet) been marked live. Returning true |
| 92 // indicates that the entry in the collection may yet be removed by weak |
| 93 // handling. Default implementation for non-weak types is to use the regular |
| 94 // non-weak TraceTrait. Default implementation for types with weakness is to |
| 95 // call traceInCollection on the type's trait. |
| 96 template <WeakHandlingFlag weakHandlingFlag, |
| 97 ShouldWeakPointersBeMarkedStrongly strongify, |
| 98 typename T, |
| 99 typename Traits> |
| 100 struct TraceInCollectionTrait; |
| 101 |
| 89 #if DUMP_HASHTABLE_STATS | 102 #if DUMP_HASHTABLE_STATS |
| 90 struct WTF_EXPORT HashTableStats { | 103 struct WTF_EXPORT HashTableStats { |
| 91 HashTableStats() | 104 HashTableStats() |
| 92 : numAccesses(0), | 105 : numAccesses(0), |
| 93 numRehashes(0), | 106 numRehashes(0), |
| 94 numRemoves(0), | 107 numRemoves(0), |
| 95 numReinserts(0), | 108 numReinserts(0), |
| 96 maxCollisions(0), | 109 maxCollisions(0), |
| 97 numCollisions(0), | 110 numCollisions(0), |
| 98 collisionGraph() {} | 111 collisionGraph() {} |
| (...skipping 2161 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2260 CollectionIterator end(toBeRemoved.end()); | 2273 CollectionIterator end(toBeRemoved.end()); |
| 2261 for (CollectionIterator it(toBeRemoved.begin()); it != end; ++it) | 2274 for (CollectionIterator it(toBeRemoved.begin()); it != end; ++it) |
| 2262 collection.remove(*it); | 2275 collection.remove(*it); |
| 2263 } | 2276 } |
| 2264 | 2277 |
| 2265 } // namespace WTF | 2278 } // namespace WTF |
| 2266 | 2279 |
| 2267 #include "wtf/HashIterators.h" | 2280 #include "wtf/HashIterators.h" |
| 2268 | 2281 |
| 2269 #endif // WTF_HashTable_h | 2282 #endif // WTF_HashTable_h |
| OLD | NEW |