| Index: src/isolate.h
|
| diff --git a/src/isolate.h b/src/isolate.h
|
| index 01b721dc269048ae134148e21120532c1e7f8dcb..1639d62ccbf4db56b06dc800fd4a6a91f7273b05 100644
|
| --- a/src/isolate.h
|
| +++ b/src/isolate.h
|
| @@ -220,6 +220,7 @@ class ThreadLocalTop BASE_EMBEDDED {
|
| ASSERT(try_catch_handler_address_ == NULL);
|
| }
|
|
|
| + Isolate* isolate_;
|
| // The context where the current execution method is created and for variable
|
| // lookups.
|
| Context* context_;
|
| @@ -480,6 +481,10 @@ class Isolate {
|
| // Safe to call multiple times.
|
| static void EnsureDefaultIsolate();
|
|
|
| + // Find the PerThread for this particular (isolate, thread) combination
|
| + // If one does not yet exist, return null.
|
| + PerIsolateThreadData* FindPerThreadDataForThisThread();
|
| +
|
| // Get the debugger from the default isolate. Preinitializes the
|
| // default isolate if needed.
|
| static Debugger* GetDefaultIsolateDebugger();
|
| @@ -1063,6 +1068,10 @@ class Isolate {
|
| // If one does not yet exist, allocate a new one.
|
| PerIsolateThreadData* FindOrAllocatePerThreadDataForThisThread();
|
|
|
| + // Preinitialize this isolate for current thread. Thread-safe.
|
| + // Only called from v8::Locker implementation.
|
| + void EnsurePreinitializedForThisThread();
|
| +
|
| // PreInits and returns a default isolate. Needed when a new thread tries
|
| // to create a Locker for the first time (the lock itself is in the isolate).
|
| static Isolate* GetDefaultIsolateForLocking();
|
| @@ -1197,9 +1206,12 @@ class Isolate {
|
|
|
| friend class ExecutionAccess;
|
| friend class IsolateInitializer;
|
| + friend class ThreadManager;
|
| + friend class StackGuard;
|
| friend class ThreadId;
|
| friend class v8::Isolate;
|
| friend class v8::Locker;
|
| + friend class v8::Unlocker;
|
|
|
| DISALLOW_COPY_AND_ASSIGN(Isolate);
|
| };
|
|
|