| Index: src/isolate.cc
|
| diff --git a/src/isolate.cc b/src/isolate.cc
|
| old mode 100644
|
| new mode 100755
|
| index 6c797b252280a75680aa1f1c0f23cf58557d9f7e..a7fe8f8a2cf613218bcccd7796b8621f859ebdb7
|
| --- a/src/isolate.cc
|
| +++ b/src/isolate.cc
|
| @@ -1754,8 +1754,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),
|
| @@ -2081,6 +2083,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;
|
|
|
| @@ -2300,6 +2310,9 @@ bool Isolate::Init(Deserializer* des) {
|
| SystemThreadManager::PARALLEL_RECOMPILATION) == 0) {
|
| FLAG_parallel_recompilation = false;
|
| }
|
| +
|
| + initialized_from_snapshot_ = (des != NULL);
|
| +
|
| return true;
|
| }
|
|
|
|
|