| Index: src/heap.cc
 | 
| diff --git a/src/heap.cc b/src/heap.cc
 | 
| index 84dbdf5225054ecd7d95440ba4656cd9b62a060c..7998afc85d9a50e3bcda5c2608cd8e6c06724d5c 100644
 | 
| --- a/src/heap.cc
 | 
| +++ b/src/heap.cc
 | 
| @@ -1014,6 +1014,8 @@ bool Heap::PerformGarbageCollection(GarbageCollector collector,
 | 
|    }
 | 
|    gc_post_processing_depth_--;
 | 
|  
 | 
| +  isolate_->eternal_handles()->PostGarbageCollectionProcessing(this);
 | 
| +
 | 
|    // Update relocatables.
 | 
|    Relocatable::PostGarbageCollectionProcessing();
 | 
|  
 | 
| @@ -3213,9 +3215,6 @@ bool Heap::CreateInitialObjects() {
 | 
|    }
 | 
|    set_observed_symbol(Symbol::cast(obj));
 | 
|  
 | 
| -  set_i18n_template_one(the_hole_value());
 | 
| -  set_i18n_template_two(the_hole_value());
 | 
| -
 | 
|    // Handling of script id generation is in Factory::NewScript.
 | 
|    set_last_script_id(Smi::FromInt(v8::Script::kNoScriptId));
 | 
|  
 | 
| @@ -6603,6 +6602,14 @@ void Heap::IterateStrongRoots(ObjectVisitor* v, VisitMode mode) {
 | 
|    }
 | 
|    v->Synchronize(VisitorSynchronization::kGlobalHandles);
 | 
|  
 | 
| +  // Iterate over eternal handles.
 | 
| +  if (mode == VISIT_ALL_IN_SCAVENGE) {
 | 
| +    isolate_->eternal_handles()->IterateNewSpaceRoots(v);
 | 
| +  } else {
 | 
| +    isolate_->eternal_handles()->IterateAllRoots(v);
 | 
| +  }
 | 
| +  v->Synchronize(VisitorSynchronization::kEternalHandles);
 | 
| +
 | 
|    // Iterate over pointers being held by inactive threads.
 | 
|    isolate_->thread_manager()->Iterate(v);
 | 
|    v->Synchronize(VisitorSynchronization::kThreadManager);
 | 
| 
 |