| Index: src/isolate.cc
|
| diff --git a/src/isolate.cc b/src/isolate.cc
|
| index d93639b5d0836a642ba23278a6061c0ab145674e..dd7235ba4e0c44dc589769123b45463d0490a019 100644
|
| --- a/src/isolate.cc
|
| +++ b/src/isolate.cc
|
| @@ -103,7 +103,6 @@ v8::TryCatch* ThreadLocalTop::TryCatchHandler() {
|
| }
|
|
|
|
|
| -Isolate* Isolate::default_isolate_ = NULL;
|
| Thread::LocalStorageKey Isolate::isolate_key_;
|
| Thread::LocalStorageKey Isolate::thread_id_key_;
|
| Thread::LocalStorageKey Isolate::per_isolate_thread_data_key_;
|
| @@ -166,7 +165,7 @@ void Isolate::SetCrashIfDefaultIsolateInitialized() {
|
| void Isolate::EnsureDefaultIsolate() {
|
| LockGuard<Mutex> lock_guard(&process_wide_mutex_);
|
| CHECK(default_isolate_status_ != kDefaultIsolateCrashIfInitialized);
|
| - if (default_isolate_ == NULL) {
|
| + if (thread_data_table_ == NULL) {
|
| isolate_key_ = Thread::CreateThreadLocalKey();
|
| thread_id_key_ = Thread::CreateThreadLocalKey();
|
| per_isolate_thread_data_key_ = Thread::CreateThreadLocalKey();
|
| @@ -174,12 +173,6 @@ void Isolate::EnsureDefaultIsolate() {
|
| PerThreadAssertScopeBase::thread_local_key = Thread::CreateThreadLocalKey();
|
| #endif // DEBUG
|
| thread_data_table_ = new Isolate::ThreadDataTable();
|
| - default_isolate_ = new Isolate();
|
| - }
|
| - // Can't use SetIsolateThreadLocals(default_isolate_, NULL) here
|
| - // because a non-null thread data may be already set.
|
| - if (Thread::GetThreadLocal(isolate_key_) == NULL) {
|
| - Thread::SetThreadLocal(isolate_key_, default_isolate_);
|
| }
|
| }
|
|
|
| @@ -1523,9 +1516,7 @@ void Isolate::TearDown() {
|
| serialize_partial_snapshot_cache_ = NULL;
|
| }
|
|
|
| - if (!IsDefaultIsolate()) {
|
| - delete this;
|
| - }
|
| + delete this;
|
|
|
| // Restore the previous current isolate.
|
| SetIsolateThreadLocals(saved_isolate, saved_data);
|
|
|