| Index: src/isolate.cc
|
| diff --git a/src/isolate.cc b/src/isolate.cc
|
| index 476e405249974bc23cd73fdf83b98af439b51a4b..2383399f7fd863e2d00be7c6c20b17ca7ef281d9 100644
|
| --- a/src/isolate.cc
|
| +++ b/src/isolate.cc
|
| @@ -1753,8 +1753,10 @@ Isolate::Isolate()
|
| date_cache_(NULL),
|
| code_stub_interface_descriptors_(NULL),
|
| context_exit_happened_(false),
|
| + initialized_from_snapshot_(false),
|
| cpu_profiler_(NULL),
|
| heap_profiler_(NULL),
|
| + function_entry_hook_(NULL),
|
| deferred_handles_head_(NULL),
|
| optimizing_compiler_thread_(this),
|
| marking_thread_(NULL),
|
| @@ -2077,6 +2079,14 @@ bool Isolate::Init(Deserializer* des) {
|
| ASSERT(Isolate::Current() == this);
|
| TRACE_ISOLATE(init);
|
|
|
| + if (function_entry_hook() != NULL) {
|
| + // When function entry hooking is in effect, we have to create the code
|
| + // stubs from scratch to get entry hooks, rather than loading the previously
|
| + // generated stubs from disk.
|
| + // If this assert fires, the initialization path has regressed.
|
| + ASSERT(des == NULL);
|
| + }
|
| +
|
| // The initialization process does not handle memory exhaustion.
|
| DisallowAllocationFailure disallow_allocation_failure;
|
|
|
| @@ -2268,6 +2278,9 @@ bool Isolate::Init(Deserializer* des) {
|
| sweeper_thread_[i]->Start();
|
| }
|
| }
|
| +
|
| + initialized_from_snapshot_ = (des != NULL);
|
| +
|
| return true;
|
| }
|
|
|
|
|