Commit 0763fa57 authored by ager@chromium.org's avatar ager@chromium.org

Oilpan: remove invalid asserts from ListHashSet tracing.

When conservatively tracing ListHashSets we can end up tracing the
ListHashSet itself where the ListHashSet backing has been marked
and is on the marking stack for later tracing. Therefore, the
asserts that the backing has already been fully traced if the
backing is marked when we trace the ListHashSet is invalid.

R=erik.corry@gmail.com, oilpan-reviews@chromium.org
BUG=375669

Review URL: https://codereview.chromium.org/336693007

git-svn-id: svn://svn.chromium.org/blink/trunk@176110 bbb929c8-8fbe-4397-9dbb-9b2b20218538
parent f933929e
...@@ -998,13 +998,9 @@ namespace WTF { ...@@ -998,13 +998,9 @@ namespace WTF {
{ {
COMPILE_ASSERT(HashTraits<T>::weakHandlingFlag == NoWeakHandlingInCollections, ListHashSetDoesNotSupportWeakness); COMPILE_ASSERT(HashTraits<T>::weakHandlingFlag == NoWeakHandlingInCollections, ListHashSetDoesNotSupportWeakness);
// This marks all the nodes and their contents live that can be // This marks all the nodes and their contents live that can be
// accessed through the HashTable. // accessed through the HashTable. That includes m_head and m_tail
// so we do not have to explicitly trace them here.
m_impl.trace(visitor); m_impl.trace(visitor);
// Due to the order in which entries are added to the hash table vs.
// when they are put in the linked list we have now marked all the
// nodes live.
ASSERT(!m_head || Allocator::isAlive(visitor, m_head));
ASSERT(!m_tail || Allocator::isAlive(visitor, m_tail));
} }
} // namespace WTF } // namespace WTF
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment