| Index: src/mark-compact.cc
|
| diff --git a/src/mark-compact.cc b/src/mark-compact.cc
|
| index 8ca14db5063ea5122c25e7414d96f0700b4b3b4c..adbc5e7e549997172f467458d6f1623a2b23f070 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();
|
| }
|
|
|
|
|
| @@ -2030,6 +2028,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;
|
| @@ -3069,6 +3068,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(
|
|
|