| Index: src/mark-compact.cc
|
| diff --git a/src/mark-compact.cc b/src/mark-compact.cc
|
| index 1af3074f36c48f27c0689d2753ab865f8015447b..75a4378074e93f3e3156f68837ac96ae27cd64d4 100644
|
| --- a/src/mark-compact.cc
|
| +++ b/src/mark-compact.cc
|
| @@ -834,8 +834,6 @@ void MarkCompactCollector::Finish() {
|
| // GC, because it relies on the new address of certain old space
|
| // objects (empty string, illegal builtin).
|
| heap()->isolate()->stub_cache()->Clear();
|
| -
|
| - heap()->external_string_table_.CleanUp();
|
| }
|
|
|
|
|
| @@ -2062,6 +2060,7 @@ void MarkCompactCollector::AfterMarking() {
|
| symbol_table->ElementsRemoved(v.PointersRemoved());
|
| heap()->external_string_table_.Iterate(&v);
|
| heap()->external_string_table_.CleanUp();
|
| + heap()->error_object_list_.RemoveUnmarked(heap());
|
|
|
| // Process the weak references.
|
| MarkCompactWeakObjectRetainer mark_compact_object_retainer;
|
| @@ -3101,6 +3100,9 @@ void MarkCompactCollector::EvacuateNewSpaceAndCandidates() {
|
| heap_->UpdateReferencesInExternalStringTable(
|
| &UpdateReferenceInExternalStringTableEntry);
|
|
|
| + // Update pointers in the new error object list.
|
| + heap_->error_object_list()->UpdateReferences();
|
| +
|
| if (!FLAG_watch_ic_patching) {
|
| // Update JSFunction pointers from the runtime profiler.
|
| heap()->isolate()->runtime_profiler()->UpdateSamplesAfterCompact(
|
|
|