| Index: src/isolate.h
|
| diff --git a/src/isolate.h b/src/isolate.h
|
| index b44cbb5c2724559fdc68703a533294bb78e123da..96e044596d29a67bc71aa4c746a44b0c2180f1ac 100644
|
| --- a/src/isolate.h
|
| +++ b/src/isolate.h
|
| @@ -486,6 +486,7 @@ class Isolate {
|
|
|
| // Returns the isolate inside which the current thread is running.
|
| INLINE(static Isolate* Current()) {
|
| + DCHECK(base::NoBarrier_Load(&isolate_key_created_) == 1);
|
| Isolate* isolate = reinterpret_cast<Isolate*>(
|
| base::Thread::GetExistingThreadLocal(isolate_key_));
|
| DCHECK(isolate != NULL);
|
| @@ -493,6 +494,7 @@ class Isolate {
|
| }
|
|
|
| INLINE(static Isolate* UncheckedCurrent()) {
|
| + DCHECK(base::NoBarrier_Load(&isolate_key_created_) == 1);
|
| return reinterpret_cast<Isolate*>(
|
| base::Thread::GetThreadLocal(isolate_key_));
|
| }
|
| @@ -1177,6 +1179,10 @@ class Isolate {
|
| // A global counter for all generated Isolates, might overflow.
|
| static base::Atomic32 isolate_counter_;
|
|
|
| +#if DEBUG
|
| + static base::Atomic32 isolate_key_created_;
|
| +#endif
|
| +
|
| void Deinit();
|
|
|
| static void SetIsolateThreadLocals(Isolate* isolate,
|
|
|