Chromium Code Reviews| Index: third_party/WebKit/Source/wtf/HashTable.h |
| diff --git a/third_party/WebKit/Source/wtf/HashTable.h b/third_party/WebKit/Source/wtf/HashTable.h |
| index 2afcfba70189a2ce23dcbd70bc11168a516c8317..3fdc563502b1bba15ccd898309815e51fb4114ad 100644 |
| --- a/third_party/WebKit/Source/wtf/HashTable.h |
| +++ b/third_party/WebKit/Source/wtf/HashTable.h |
| @@ -2081,8 +2081,12 @@ void HashTable<Key, |
| // needed. |
| if (Traits::weakHandlingFlag == NoWeakHandlingInCollections) { |
| Allocator::markNoTracing(visitor, m_table); |
| + // If the backing store will be moved by sweep compaction, register the |
| + // table reference pointing to the backing store object, so that the |
| + // reference is updated upon object relocation. |
| + Allocator::registerBackingStoreReference(visitor, &m_table); |
| } else { |
| - Allocator::registerDelayedMarkNoTracing(visitor, m_table); |
| + Allocator::registerDelayedMarkNoTracing(visitor, &m_table); |
|
haraken
2016/11/30 06:29:53
Why don't we need to register the backing store of
sof
2016/11/30 06:52:44
See above answer.
|
| // Since we're delaying marking this HashTable, it is possible that the |
| // registerWeakMembers is called multiple times (in rare |
| // cases). However, it shouldn't cause any issue. |