Lines Matching refs:Isolate
111 #define RETURN_IF_SCHEDULED_EXCEPTION(isolate) \
113 Isolate* __isolate__ = (isolate); \
119 #define RETURN_IF_EMPTY_HANDLE_VALUE(isolate, call, value) \
122 ASSERT((isolate)->has_pending_exception()); \
127 #define CHECK_NOT_EMPTY_HANDLE(isolate, call) \
129 ASSERT(!(isolate)->has_pending_exception()); \
131 CHECK(!(isolate)->has_pending_exception()); \
134 #define RETURN_IF_EMPTY_HANDLE(isolate, call) \
135 RETURN_IF_EMPTY_HANDLE_VALUE(isolate, call, Failure::Exception())
189 friend class Isolate;
196 // isolate being present.
234 Isolate* isolate_;
357 class Isolate {
363 ~Isolate();
365 // A thread has a PerIsolateThreadData instance for each isolate that it has
366 // entered. That instance is allocated when the isolate is initially entered
370 PerIsolateThreadData(Isolate* isolate, ThreadId thread_id)
371 : isolate_(isolate),
381 Isolate* isolate() const { return isolate_; }
396 bool Matches(Isolate* isolate, ThreadId thread_id) const {
397 return isolate_ == isolate && thread_id_.Equals(thread_id);
401 Isolate* isolate_;
414 friend class Isolate;
436 // Returns the isolate inside which the current thread is running.
437 INLINE(static Isolate* Current()) {
438 Isolate* isolateIsolate*>(
440 ASSERT(isolate != NULL);
441 return isolate;
444 INLINE(static Isolate* UncheckedCurrent()) {
445 return reinterpret_cast<Isolate*>(Thread::GetThreadLocal(isolate_key_));
450 // isolate.
459 // True if at least one thread Enter'ed this isolate.
463 // Sets default isolate into "has_been_disposed" state rather then destroying,
469 // Ensures that process-wide resources and the default isolate have been
475 // Find the PerThread for this particular (isolate, thread) combination
480 // Get the debugger from the default isolate. Preinitializes the
481 // default isolate if needed.
485 // Get the stack guard from the default isolate. Preinitializes the
486 // default isolate if needed.
489 // Returns the key used to store the pointer to the current isolate.
491 // are part of the domain of an isolate (like the context switcher).
503 // If a client attempts to create a Locker without specifying an isolate,
505 // thread to be inside the implicit isolate (or fail a check if we have
647 explicit ExceptionScope(Isolate* isolate) :
650 isolate_(isolate),
661 Isolate* isolate_;
764 ASSERT(OFFSET_OF(Isolate, name##_) == name##_debug_offset_); \
768 ASSERT(OFFSET_OF(Isolate, name##_) == name##_debug_offset_); \
776 ASSERT(OFFSET_OF(Isolate, name##_) == name##_debug_offset_); \
792 // the isolate is fully initialized.
801 // the isolate is fully initialized.
1036 Isolate();
1048 PerIsolateThreadData* Lookup(Isolate* isolate, ThreadId thread_id);
1050 void Remove(Isolate* isolate, ThreadId thread_id);
1052 void RemoveAllThreads(Isolate* isolate);
1059 // the Isolate. The top of the stack points to a thread which is currently
1060 // running the Isolate. When the stack is empty, the Isolate is considered
1062 // If the same thread enters the Isolate more then once, the entry_count_
1067 Isolate* previous_isolate,
1076 Isolate* previous_isolate;
1090 static Isolate* default_isolate_;
1095 static void SetIsolateThreadLocals(Isolate* isolate,
1110 // Find the PerThread for this particular (isolate, thread) combination.
1114 // PreInits and returns a default isolate. Needed when a new thread tries
1115 // to create a Locker for the first time (the lock itself is in the isolate).
1116 static Isolate* GetDefaultIsolateForLocking();
1118 // Initializes the current thread to run this Isolate.
1119 // Not thread-safe. Multiple threads should not Enter/Exit the same isolate
1123 // Exits the current thread. The previosuly entered Isolate is restored
1125 // Not thread-safe. Multiple threads should not Enter/Exit the same isolate
1265 friend class v8::Isolate;
1269 DISALLOW_COPY_AND_ASSIGN(Isolate);
1278 inline explicit SaveContext(Isolate* isolate);
1282 Isolate* isolate = Isolate::Current();
1283 isolate->set_context(NULL);
1284 isolate->set_save_context(prev_);
1286 Isolate* isolate = context_->GetIsolate();
1287 isolate->set_context(*context_);
1288 isolate->set_save_context(prev_);
1314 scope_(Isolate::Current()),
1315 context_(Isolate::Current()->context(), Isolate::Current()) {
1319 ASSERT(Isolate::Current()->context() == *context_);
1334 explicit ExecutionAccess(Isolate* isolate) : isolate_(isolate) {
1335 Lock(isolate);
1339 static void Lock(Isolate* isolate) { isolate->break_access_->Lock(); }
1340 static void Unlock(Isolate* isolate) { isolate->break_access_->Unlock(); }
1342 static bool TryLock(Isolate* isolate) {
1343 return isolate->break_access_->TryLock();
1347 Isolate* isolate_;
1354 explicit StackLimitCheck(Isolate* isolate) : isolate_(isolate) { }
1366 Isolate* isolate_;
1376 explicit PostponeInterruptsScope(Isolate* isolate)
1377 : stack_guard_(isolate->stack_guard()) {
1392 // Temporary macros for accessing current isolate and its subobjects.
1394 #define HEAP (v8::internal::Isolate::Current()->heap())
1395 #define FACTORY (v8::internal::Isolate::Current()->factory())
1396 #define ISOLATE (v8::internal::Isolate::Current())
1397 #define ZONE (v8::internal::Isolate::Current()->zone())
1398 #define LOGGER (v8::internal::Isolate::Current()->logger())