| Index: src/d8.cc
|
| diff --git a/src/d8.cc b/src/d8.cc
|
| index b68e4ba729f324b8ff695ea8fb10a118681107d7..344325e1b90c284112d90401ccf229a04a789625 100644
|
| --- a/src/d8.cc
|
| +++ b/src/d8.cc
|
| @@ -202,11 +202,11 @@ CounterMap* Shell::counter_map_;
|
| base::OS::MemoryMappedFile* Shell::counters_file_ = NULL;
|
| CounterCollection Shell::local_counters_;
|
| CounterCollection* Shell::counters_ = &local_counters_;
|
| -base::Mutex Shell::context_mutex_;
|
| +base::LazyMutex Shell::context_mutex_;
|
| const base::TimeTicks Shell::kInitialTicks =
|
| base::TimeTicks::HighResolutionNow();
|
| Persistent<Context> Shell::utility_context_;
|
| -base::Mutex Shell::workers_mutex_;
|
| +base::LazyMutex Shell::workers_mutex_;
|
| bool Shell::allow_new_workers_ = true;
|
| i::List<Worker*> Shell::workers_;
|
| i::List<SharedArrayBuffer::Contents> Shell::externalized_shared_contents_;
|
| @@ -699,7 +699,7 @@ void Shell::WorkerNew(const v8::FunctionCallbackInfo<v8::Value>& args) {
|
| }
|
|
|
| {
|
| - base::LockGuard<base::Mutex> lock_guard(&workers_mutex_);
|
| + base::LockGuard<base::Mutex> lock_guard(workers_mutex_.Pointer());
|
| if (!allow_new_workers_) return;
|
|
|
| Worker* worker = new Worker;
|
| @@ -1203,7 +1203,7 @@ void Shell::InitializeDebugger(Isolate* isolate) {
|
| Local<Context> Shell::CreateEvaluationContext(Isolate* isolate) {
|
| #ifndef V8_SHARED
|
| // This needs to be a critical section since this is not thread-safe
|
| - base::LockGuard<base::Mutex> lock_guard(&context_mutex_);
|
| + base::LockGuard<base::Mutex> lock_guard(context_mutex_.Pointer());
|
| #endif // !V8_SHARED
|
| // Initialize the global objects
|
| Handle<ObjectTemplate> global_template = CreateGlobalTemplate(isolate);
|
| @@ -2252,7 +2252,7 @@ void Shell::CleanupWorkers() {
|
| // create a new Worker, it would deadlock.
|
| i::List<Worker*> workers_copy;
|
| {
|
| - base::LockGuard<base::Mutex> lock_guard(&workers_mutex_);
|
| + base::LockGuard<base::Mutex> lock_guard(workers_mutex_.Pointer());
|
| allow_new_workers_ = false;
|
| workers_copy.AddAll(workers_);
|
| workers_.Clear();
|
| @@ -2266,7 +2266,7 @@ void Shell::CleanupWorkers() {
|
|
|
| // Now that all workers are terminated, we can re-enable Worker creation.
|
| {
|
| - base::LockGuard<base::Mutex> lock_guard(&workers_mutex_);
|
| + base::LockGuard<base::Mutex> lock_guard(workers_mutex_.Pointer());
|
| allow_new_workers_ = true;
|
| }
|
|
|
|
|