| Index: src/mark-compact.cc
|
| diff --git a/src/mark-compact.cc b/src/mark-compact.cc
|
| index d867197d7c563dad3957ca593cb8208bbbe510c6..2c6d9d1c93687b96bfa4144638374982289c199d 100644
|
| --- a/src/mark-compact.cc
|
| +++ b/src/mark-compact.cc
|
| @@ -835,8 +835,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();
|
| }
|
|
|
|
|
| @@ -2059,6 +2057,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;
|
| @@ -3098,6 +3097,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(
|
|
|