Index: src/isolate.h |
diff --git a/src/isolate.h b/src/isolate.h |
index 35ffcb4445cf594546b62f12bac74a7afb3025b1..2eb14b428c6beca8eae88cd804d9b58a8e9c6e69 100644 |
--- a/src/isolate.h |
+++ b/src/isolate.h |
@@ -224,6 +224,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_; |
@@ -486,6 +487,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(); |
@@ -1069,6 +1074,10 @@ class Isolate { |
// If one does not yet exist, allocate a new one. |
PerIsolateThreadData* FindOrAllocatePerThreadDataForThisThread(); |
+ // Preinitialize this isolate for current thread. Thread-safe. |
Vitaly Repeshko
2011/04/21 21:15:27
Unused? Remove.
|
+ // 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(); |
@@ -1203,9 +1212,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); |
}; |