| Index: src/mark-compact.cc
|
| diff --git a/src/mark-compact.cc b/src/mark-compact.cc
|
| index 7eeb244df0d8d64bc72b37c1efe4030ad32b455d..e9bd15afb9733eecaff0517180fc92e335b8c448 100644
|
| --- a/src/mark-compact.cc
|
| +++ b/src/mark-compact.cc
|
| @@ -2146,7 +2146,10 @@ void MarkCompactCollector::MarkStringTable(RootMarkingVisitor* visitor) {
|
| StringTable* string_table = heap()->string_table();
|
| // Mark the string table itself.
|
| MarkBit string_table_mark = Marking::MarkBitFrom(string_table);
|
| - SetMark(string_table, string_table_mark);
|
| + if (!string_table_mark.Get()) {
|
| + // String table could have already been marked by visiting the handles list.
|
| + SetMark(string_table, string_table_mark);
|
| + }
|
| // Explicitly mark the prefix.
|
| string_table->IteratePrefix(visitor);
|
| ProcessMarkingDeque();
|
|
|