Home | History | Annotate | Download | only in src

Lines Matching refs:Isolate

40 #include "isolate.h"
68 int thread_id = Thread::GetThreadLocalInt(Isolate::thread_id_key_);
71 Thread::SetThreadLocalInt(Isolate::thread_id_key_, thread_id);
80 // before an isolate is initialized. The initialize methods below do
223 friend class Isolate;
229 void Isolate::PreallocatedMemoryThreadStart() {
236 void Isolate::PreallocatedMemoryThreadStop() {
245 void Isolate::PreallocatedStorageInit(size_t size) {
257 void* Isolate::PreallocatedStorageNew(size_t size) {
300 void Isolate::PreallocatedStorageDelete(void* p) {
315 Isolate* Isolate::default_isolate_ = NULL;
316 Thread::LocalStorageKey Isolate::isolate_key_;
317 Thread::LocalStorageKey Isolate::thread_id_key_;
318 Thread::LocalStorageKey Isolate::per_isolate_thread_data_key_;
319 Mutex* Isolate::process_wide_mutex_ = OS::CreateMutex();
320 Isolate::ThreadDataTable* Isolate::thread_data_table_ = NULL;
323 Isolate::PerIsolateThreadData* Isolate::AllocatePerIsolateThreadData(
337 Isolate::PerIsolateThreadData*
338 Isolate::FindOrAllocatePerThreadDataForThisThread() {
352 Isolate::PerIsolateThreadData* Isolate::FindPerThreadDataForThisThread() {
363 void Isolate::EnsureDefaultIsolate() {
369 thread_data_table_ = new Isolate::ThreadDataTable();
370 default_isolate_ = new Isolate();
381 Isolate::EnsureDefaultIsolate();
386 Debugger* Isolate::GetDefaultIsolateDebugger() {
393 StackGuard* Isolate::GetDefaultIsolateStackGuard() {
399 void Isolate::EnterDefaultIsolate() {
404 // If not yet in default isolate - enter it.
405 if (data == NULL || data->isolate() != default_isolate_) {
411 Isolate* Isolate::GetDefaultIsolateForLocking() {
417 Address Isolate::get_address_from_id(Isolate::AddressId id) {
422 char* Isolate::Iterate(ObjectVisitor* v, char* thread_storage) {
429 void Isolate::IterateThread(ThreadVisitor* v) {
434 void Isolate::IterateThread(ThreadVisitor* v, char* t) {
440 void Isolate::Iterate(ObjectVisitor* v, ThreadLocalTop* thread) {
475 void Isolate::Iterate(ObjectVisitor* v) {
481 void Isolate::RegisterTryCatchHandler(v8::TryCatch* that) {
493 void Isolate::UnregisterTryCatchHandler(v8::TryCatch* that) {
502 Handle<String> Isolate::StackTraceString() {
530 void Isolate::CaptureAndSetCurrentStackTraceFor(Handle<JSObject> error_object) {
542 Handle<JSArray> Isolate::CaptureCurrentStackTrace(
669 void Isolate::PrintStack() {
713 void Isolate::PrintStack(StringStream* accumulator) {
718 "\n==== Isolate for the thread is not initialized =============\n\n");
741 void Isolate::SetFailedAccessCheckCallback(
747 void Isolate::ReportFailedAccessCheck(JSObject* receiver, v8::AccessType type) {
777 static MayAccessDecision MayAccessPreCheck(Isolate* isolate,
781 if (isolate->bootstrapper()->IsActive()) return YES;
788 // avoid using Isolate::global_context() because it uses Handle.
789 Context* global_context = isolate->context()->global()->global_context();
801 bool Isolate::MayNamedAccess(JSObject* receiver, Object* key,
851 bool Isolate::MayIndexedAccess(JSObject* receiver,
893 const char* const Isolate::kStackOverflowMessage =
897 Failure* Isolate::StackOverflow() {
912 Failure* Isolate::TerminateExecution() {
918 Failure* Isolate::Throw(Object* exception, MessageLocation* location) {
924 Failure* Isolate::ReThrow(MaybeObject* exception, MessageLocation* location) {
939 Failure* Isolate::ThrowIllegalOperation() {
944 void Isolate::ScheduleThrow(Object* exception) {
954 Failure* Isolate::PromoteScheduledException() {
962 void Isolate::PrintCurrentStackTrace(FILE* out) {
990 void Isolate::ComputeLocation(MessageLocation* target) {
1008 bool Isolate::ShouldReportException(bool* can_be_caught_externally,
1012 StackHandler::FromAddress(Isolate::handler(thread_local_top()));
1039 bool Isolate::IsErrorObject(Handle<Object> obj) {
1057 void Isolate::DoThrow(Object* exception, MessageLocation* location) {
1151 bool Isolate::IsExternallyCaught() {
1181 StackHandler::FromAddress(Isolate::handler(thread_local_top()));
1193 void Isolate::ReportPendingMessages() {
1230 void Isolate::TraceException(bool flag) {
1235 bool Isolate::OptionalRescheduleException(bool is_bottom_call) {
1281 void Isolate::SetCaptureStackTraceForUncaughtExceptions(
1291 bool Isolate::is_out_of_memory() {
1308 Handle<Context> Isolate::global_context() {
1314 Handle<Context> Isolate::GetCallingGlobalContext() {
1336 char* Isolate::ArchiveThread(char* to) {
1350 char* Isolate::RestoreThread(char* from) {
1370 Isolate::ThreadDataTable::ThreadDataTable()
1375 Isolate::PerIsolateThreadData*
1376 Isolate::ThreadDataTable::Lookup(Isolate* isolate,
1379 if (data->Matches(isolate, thread_id)) return data;
1385 void Isolate::ThreadDataTable::Insert(Isolate::PerIsolateThreadData* data) {
1392 void Isolate::ThreadDataTable::Remove(PerIsolateThreadData* data) {
1400 void Isolate::ThreadDataTable::Remove(Isolate* isolate,
1402 PerIsolateThreadData* data = Lookup(isolate, thread_id);
1409 void Isolate::ThreadDataTable::RemoveAllThreads(Isolate* isolate) {
1413 if (data->isolate() == isolate) Remove(data);
1423 PrintF("Isolate %p " #tag "\n", reinterpret_cast<void*>(this)); \
1431 Isolate::Isolate()
1486 // ThreadManager is initialized early to support locking an isolate
1523 void Isolate::TearDown() {
1526 // Temporarily set this isolate as current so that various parts of
1527 // the isolate can access it in their destructors without having a
1531 Isolate* saved_isolate = UncheckedCurrent();
1544 // Restore the previous current isolate.
1549 void Isolate::Deinit() {
1582 // The default isolate is re-initializable due to legacy API.
1588 void Isolate::SetIsolateThreadLocals(Isolate* isolate,
1590 Thread::SetThreadLocal(isolate_key_, isolate);
1595 Isolate::~Isolate() {
1676 void Isolate::InitializeThreadLocal() {
1682 void Isolate::PropagatePendingExceptionToExternalTryCatch() {
1709 void Isolate::InitializeLoggingAndCounters() {
1719 void Isolate::InitializeDebugger() {
1731 bool Isolate::Init(Deserializer* des) {
1733 ASSERT(Isolate::Current() == this);
1749 // ensuring that Isolate::Current() == this.
1753 isolate_addresses_[Isolate::k##CamelName##Address] = \
1868 StatsTable* Isolate::stats_table() {
1876 void Isolate::Enter() {
1877 Isolate* current_isolate = NULL;
1888 // Same thread re-enters the isolate, no need to re-init anything.
1894 // Threads can have default isolate set into TLS as Current but not yet have
1897 // static initializers - in this case the default isolate is set in TLS but
1898 // the thread did not yet Enter the isolate. If PerisolateThreadData is not
1899 // there, use the isolate set in TLS.
1901 current_isolate = Isolate::UncheckedCurrent();
1915 // In case it's the first time some thread enters the isolate.
1920 void Isolate::Exit() {
1936 Isolate* previous_isolate = item->previous_isolate;
1940 // Reinit the current thread for the isolate it was running before this one.
1947 const intptr_t Isolate::name##_debug_offset_ = OFFSET_OF(Isolate, name##_);