| Index: src/isolate.cc | 
| diff --git a/src/isolate.cc b/src/isolate.cc | 
| index 859d91381b1c290b2b14a9523656739a82bef2e7..7474a55e432f7e2239d10fa1da59855c39db6b12 100644 | 
| --- a/src/isolate.cc | 
| +++ b/src/isolate.cc | 
| @@ -2438,13 +2438,19 @@ | 
| runtime_profiler_ = new RuntimeProfiler(this); | 
|  | 
| // If we are deserializing, read the state into the now-empty heap. | 
| -  if (!create_heap_objects) { | 
| -    des->Deserialize(this); | 
| -  } | 
| -  load_stub_cache_->Initialize(); | 
| -  store_stub_cache_->Initialize(); | 
| -  if (FLAG_ignition || serializer_enabled()) { | 
| -    interpreter_->Initialize(); | 
| +  { | 
| +    AlwaysAllocateScope always_allocate(this); | 
| + | 
| +    if (!create_heap_objects) { | 
| +      des->Deserialize(this); | 
| +    } | 
| +    load_stub_cache_->Initialize(); | 
| +    store_stub_cache_->Initialize(); | 
| +    if (FLAG_ignition || serializer_enabled()) { | 
| +      interpreter_->Initialize(); | 
| +    } | 
| + | 
| +    heap_.NotifyDeserializationComplete(); | 
| } | 
|  | 
| // Finish initialization of ThreadLocal after deserialization is done. | 
| @@ -2474,8 +2480,6 @@ | 
| Internals::kExternalMemoryLimitOffset); | 
|  | 
| time_millis_at_init_ = heap_.MonotonicallyIncreasingTimeInMs(); | 
| - | 
| -  heap_.NotifyDeserializationComplete(); | 
|  | 
| if (!create_heap_objects) { | 
| // Now that the heap is consistent, it's OK to generate the code for the | 
|  |