v8
3.14.5(node0.10.28)
V8 is Google's open source JavaScript engine
|
#include <isolate.h>
Data Structures | |
class | ExceptionScope |
class | PerIsolateThreadData |
Public Types | |
enum | AddressId { kIsolateAddressCount } |
Static Public Member Functions | |
static PerIsolateThreadData * | CurrentPerIsolateThreadData () |
static void | EnsureDefaultIsolate () |
static StackGuard * | GetDefaultIsolateStackGuard () |
static Thread::LocalStorageKey | isolate_key () |
static Thread::LocalStorageKey | thread_id_key () |
static Thread::LocalStorageKey | per_isolate_thread_data_key () |
static void | EnterDefaultIsolate () |
static Address | c_entry_fp (ThreadLocalTop *thread) |
static Address | handler (ThreadLocalTop *thread) |
static Address | js_entry_sp (ThreadLocalTop *thread) |
static int | ArchiveSpacePerThread () |
Static Public Attributes | |
static const char *const | kStackOverflowMessage |
static const int | kUC16AlphabetSize = 256 |
static const int | kBMMaxShift = 250 |
static const int | kJSRegexpStaticOffsetsVectorSize = 128 |
Friends | |
struct | GlobalState |
struct | InitializeGlobalState |
class | ExecutionAccess |
class | HandleScopeImplementer |
class | IsolateInitializer |
class | OptimizingCompilerThread |
class | ThreadManager |
class | Simulator |
class | StackGuard |
class | ThreadId |
class | TestMemoryAllocatorScope |
class | v8::Isolate |
class | v8::Locker |
class | v8::Unlocker |
~Isolate | ( | ) |
Definition at line 1667 of file isolate.cc.
References NULL, and TRACE_ISOLATE.
char * ArchiveThread | ( | char * | to | ) |
Definition at line 1379 of file isolate.cc.
References Isolate::clear_pending_exception(), Isolate::clear_pending_message(), Isolate::clear_scheduled_exception(), Isolate::current_vm_state(), RuntimeProfiler::IsEnabled(), RuntimeProfiler::IsolateExitedJS(), and Isolate::thread_local_top().
|
inline |
Definition at line 818 of file isolate.h.
Referenced by Scope::Analyze(), Heap::ClearJSFunctionResultCaches(), Heap::ClearNormalizedMapCaches(), Context::DetachGlobal(), Isolate::DoThrow(), ThreadManager::FreeThreadResources(), Heap::IterateStrongRoots(), Context::New(), Context::ReattachGlobal(), and ThreadManager::RestoreThread().
|
inline |
Definition at line 924 of file isolate.h.
Referenced by Heap::AllocateSharedFunctionInfo(), SharedFunctionInfo::AttachInitialMap(), RuntimeProfiler::AttemptOnStackReplacement(), Compiler::BuildFunctionInfo(), SharedFunctionInfo::CompleteInobjectSlackTracking(), Factory::CreateApiFunction(), SharedFunctionInfo::DetachInitialMap(), JSFunction::is_compiled(), JSFunction::IsInRecompileQueue(), JSFunction::IsMarkedForLazyRecompilation(), JSFunction::IsMarkedForParallelRecompilation(), Heap::IterateStrongRoots(), LoadIC::Load(), TypeFeedbackOracle::LoadIsBuiltin(), TypeFeedbackOracle::LoadIsMegamorphicWithTypeInfo(), JSFunction::MarkForLazyRecompilation(), JSFunction::MarkForParallelRecompilation(), Compiler::RecordFunctionCompilation(), SharedFunctionInfo::StartInobjectSlackTracking(), StoreIC::Store(), TypeFeedbackOracle::StoreIsMegamorphicWithTypeInfo(), and KeyedLoadIC::string_stub().
|
inlinestatic |
Definition at line 624 of file isolate.h.
Referenced by IC::IC(), Isolate::PrintStack(), and CallICBase::TryUpdateExtraICState().
Definition at line 556 of file isolate.cc.
References Isolate::CaptureCurrentStackTrace(), Isolate::factory(), and JSObject::SetHiddenProperty().
Handle< JSArray > CaptureCurrentStackTrace | ( | int | frame_limit, |
StackTrace::StackTraceOptions | options | ||
) |
Definition at line 568 of file isolate.cc.
References StackTraceFrameIterator::Advance(), ASSERT, Handle< T >::cast(), Smi::cast(), FixedArray::cast(), Script::cast(), CHECK_NOT_EMPTY_HANDLE, Script::COMPILATION_TYPE_EVAL, Isolate::factory(), Smi::FromInt(), v8::internal::GetProperty(), v8::internal::GetScriptLineNumber(), v8::internal::GetScriptWrapper(), StackTrace::kColumnOffset, StackTrace::kFunctionName, StackTrace::kIsConstructor, StackTrace::kIsEval, StackTrace::kLineNumber, Compiler::kMaxInliningLevels, StackTrace::kScriptName, StackTrace::kScriptNameOrSourceURL, Factory::LookupAsciiSymbol(), v8::internal::Max(), Factory::NewJSArray(), Factory::NewJSObject(), NONE, v8::internal::NULL, v8::internal::pc, JSObject::SetLocalPropertyIgnoreAttributes(), JavaScriptFrame::Summarize(), and Execution::TryCall().
Referenced by Isolate::CaptureAndSetCurrentStackTraceFor(), StackTrace::CurrentStackTrace(), and Isolate::DoThrow().
|
inline |
Definition at line 578 of file isolate.h.
Referenced by Isolate::set_catcher().
|
inline |
Definition at line 555 of file isolate.h.
Referenced by Isolate::ArchiveThread(), Isolate::OptionalRescheduleException(), MessageHandler::ReportMessage(), Isolate::ScheduleThrow(), and TEST().
|
inline |
Definition at line 564 of file isolate.h.
References v8::internal::NULL.
Referenced by Isolate::ArchiveThread(), and Isolate::ReportPendingMessages().
|
inline |
Definition at line 609 of file isolate.h.
Referenced by Isolate::ArchiveThread(), Isolate::PromoteScheduledException(), and MessageHandler::ReportMessage().
|
inline |
Definition at line 825 of file isolate.h.
Referenced by MemoryAllocator::AllocateChunk(), Heap::CopyCode(), Heap::CreateCode(), MemoryAllocator::FreeMemory(), and Heap::SetUp().
|
inline |
Definition at line 827 of file isolate.h.
Referenced by Heap::CollectAllAvailableGarbage(), RegExpImpl::Compile(), Compiler::Compile(), Compiler::CompileEval(), and Heap::IterateStrongRoots().
|
inline |
void ComputeLocation | ( | MessageLocation * | target | ) |
Definition at line 1017 of file isolate.cc.
References Script::cast(), JSFunction::cast(), and JavaScriptFrame::function().
Referenced by Isolate::DoThrow().
|
inline |
Definition at line 520 of file isolate.h.
Referenced by Heap::AllocateArgumentsObject(), Heap::AllocateConsString(), Heap::AllocateExternalStringFromAscii(), Heap::AllocateExternalStringFromTwoByte(), Runtime::CreateArrayLiteralBoilerplate(), Isolate::empty_object_map(), Context::Enter(), Isolate::GetCallingNativeContext(), JSObject::GetElementsTransitionMap(), Object::GetElementWithReceiver(), v8::internal::GetKeysInFixedArrayFor(), Object::GetPrototype(), Isolate::global_object(), Isolate::global_proxy(), Isolate::MayIndexedAccess(), Isolate::MayNamedAccess(), JSObject::NormalizeProperties(), JSObject::ReferencesObject(), Isolate::ReportFailedAccessCheck(), Isolate::ReportPendingMessages(), Isolate::RestoreThread(), Script::Run(), Isolate::set_context(), JSFunction::SetPrototype(), and Object::ToObject().
|
inline |
Definition at line 1039 of file isolate.h.
Referenced by Isolate::set_context_exit_happened().
|
inline |
Definition at line 853 of file isolate.h.
Referenced by ScopeInfo::ContextSlotIndex().
|
inline |
Definition at line 884 of file isolate.h.
Referenced by ContextSwitcher::StartPreemption(), and ContextSwitcher::StopPreemption().
|
inline |
Definition at line 819 of file isolate.h.
References ASSERT, and v8::internal::NULL.
Referenced by Zone::adjust_segment_bytes_allocated(), MemoryAllocator::AllocateChunk(), Heap::AllocateConsString(), Heap::AllocateRaw(), Heap::CheckpointObjectStats(), Heap::CollectGarbage(), MemoryAllocator::CommitBlock(), StoreBuffer::Compact(), Compiler::Compile(), Compiler::CompileEval(), Compiler::CompileLazy(), KeyedLoadIC::ComputePolymorphicStub(), KeyedStoreIC::ComputePolymorphicStub(), GlobalHandles::Create(), GlobalHandles::Destroy(), JSObject::EnsureWritableFastElements(), MemoryAllocator::FreeMemory(), Heap::GarbageCollectionEpilogue(), NormalizedMapCache::Get(), InnerPointerToCodeCache::GetCacheEntry(), StatisticsExtension::GetCounters(), v8::internal::GetEnumPropertyKeys(), v8::internal::GetKeysFor(), v8::internal::GetScriptWrapper(), Execution::HandleStackGuardInterrupt(), Heap::IdleNotification(), CompilationCacheScript::Lookup(), CompilationCacheEval::Lookup(), CompilationCacheRegExp::Lookup(), FullCodeGenerator::MakeCode(), CodeGenerator::MakeCodeEpilogue(), JSObject::NormalizeElements(), JSObject::NormalizeProperties(), Heap::NumberToString(), Runtime::PerformGC(), v8::internal::RUNTIME_FUNCTION(), V8::SetCreateHistogramFunction(), TEST(), MemoryAllocator::UncommitBlock(), and JSObject::UpdateMapCodeCache().
|
inline |
Definition at line 1003 of file isolate.h.
Referenced by ProfilerEventsProcessor::AddCurrentStack(), Isolate::ArchiveThread(), Isolate::RestoreThread(), and SamplerThread::SampleContext().
|
inlinestatic |
Definition at line 433 of file isolate.h.
References Thread::GetThreadLocal().
Referenced by Isolate::EnterDefaultIsolate(), and V8::Initialize().
|
inline |
Definition at line 1050 of file isolate.h.
Referenced by Date::DateTimeConfigurationChangeNotification(), and Isolate::set_date_cache().
|
inline |
Definition at line 62 of file isolate-inl.h.
Referenced by RuntimeProfiler::AttemptOnStackReplacement(), and Compiler::BuildFunctionInfo().
|
inline |
Definition at line 838 of file isolate.h.
Referenced by Deoptimizer::DeoptimizeFunction(), Deoptimizer::GetDeoptimizedCodeCount(), Deoptimizer::Grab(), Heap::IterateStrongRoots(), and Deoptimizer::New().
|
inline |
void DoThrow | ( | Object * | exception, |
MessageLocation * | location | ||
) |
Definition at line 1084 of file isolate.cc.
References ASSERT, Isolate::bootstrapper(), Isolate::CaptureCurrentStackTrace(), JSObject::cast(), String::cast(), JSArray::cast(), Isolate::ComputeLocation(), MessageLocation::end_pos(), JSObject::GetHiddenProperty(), v8::internal::GetScriptLineNumberSafe(), Isolate::has_pending_exception(), Isolate::heap(), Isolate::is_catchable_by_javascript(), Handle< T >::is_null(), Bootstrapper::IsActive(), MessageHandler::MakeMessageObject(), v8::internal::NULL, OS::PrintError(), MessageLocation::script(), Isolate::set_pending_exception(), Isolate::ShouldReportException(), Isolate::StackTraceString(), MessageLocation::start_pos(), Isolate::thread_local_top(), ToCString(), and Isolate::try_catch_handler().
Referenced by Isolate::StackOverflow(), Isolate::TerminateExecution(), and Isolate::Throw().
|
inline |
Definition at line 533 of file isolate.h.
References Isolate::context(), HeapObject::map(), and Context::native_context().
Referenced by JSObject::AddConstantFunctionProperty(), JSObject::AddFastProperty(), and JSObject::GetElementsTransitionMapSlow().
|
static |
Definition at line 363 of file isolate.cc.
References Thread::CreateThreadLocalKey(), Thread::GetThreadLocal(), v8::internal::NULL, and Thread::SetThreadLocal().
Referenced by V8::AddCallCompletedCallback(), Isolate::EnterDefaultIsolate(), Isolate::GetDefaultIsolateStackGuard(), Context::New(), V8::RemoveCallCompletedCallback(), and StaticInitializer::StaticInitializer().
|
static |
Definition at line 399 of file isolate.cc.
References ASSERT, Isolate::CurrentPerIsolateThreadData(), Isolate::EnsureDefaultIsolate(), Isolate::PerIsolateThreadData::isolate(), and v8::internal::NULL.
Referenced by V8::Initialize(), and Locker::Locker().
|
inline |
Definition at line 996 of file isolate.h.
Referenced by StackTracer::Trace().
|
inline |
Definition at line 992 of file isolate.h.
Referenced by V8::AddMessageListener(), Scope::AllocateModules(), Scope::AllocateNonParameterLocal(), Scope::AllocateParameterLocals(), Map::AppendCallbackDescriptors(), RegExpImpl::AtomExec(), v8::internal::CalculateLineEnds(), JSProxy::CallTrap(), Isolate::CaptureAndSetCurrentStackTraceFor(), Isolate::CaptureCurrentStackTrace(), Execution::CharAt(), RegExpImpl::Compile(), Script::Compile(), CompiledReplacement::Compile(), Compiler::CompileEval(), KeyedIC::ComputeStub(), String::Concat(), Runtime::CreateArrayLiteralBoilerplate(), Date::DateTimeConfigurationChangeNotification(), DictionaryElementsAccessor::DeleteCommon(), JSObject::DeleteElement(), JSProxy::DeleteElementWithHandler(), JSObject::DeleteProperty(), JSProxy::DeletePropertyWithHandler(), String::Empty(), Map::EnsureDescriptorSlack(), Exception::Error(), Context::ErrorMessageForCodeGenerationFromStrings(), StubCache::factory(), v8::False(), JSProxy::Fix(), Accessors::FunctionGetArguments(), JSProxy::GetElementAttributeWithHandler(), v8::internal::GetEnumPropertyKeys(), CpuProfileNode::GetFunctionName(), HeapGraphNode::GetHeapValue(), v8::internal::GetKeysFor(), v8::internal::GetKeysInFixedArrayFor(), HeapGraphEdge::GetName(), HeapGraphNode::GetName(), Runtime::GetObjectProperty(), Object::GetOwnPropertyNames(), v8::internal::GetProperty(), JSProxy::GetPropertyAttributeWithHandler(), Object::GetPropertyNames(), JSObject::GetPropertyWithCallback(), CpuProfileNode::GetScriptResourceName(), v8::internal::GetScriptWrapper(), SharedFunctionInfo::GetSourceCode(), Execution::GetStackTraceLine(), ThisNamedPropertyAssignmentFinder::GetThisPropertyAssignments(), CpuProfile::GetTitle(), HeapSnapshot::GetTitle(), Scope::HasArgumentsParameter(), Scope::Initialize(), v8::internal::InitScriptLineEnds(), RegExpImpl::IrregexpExec(), KeyedCallIC::LoadFunction(), PolymorphicCodeCache::Lookup(), CodeGenerator::MakeCodeEpilogue(), Deoptimizer::MaterializeHeapObjects(), TypeFeedbackCells::MegamorphicSentinel(), Bootstrapper::NativesSourceLookup(), NeanderObject::NeanderObject(), String::New(), Number::New(), Integer::New(), Object::New(), Array::New(), NumberObject::New(), BooleanObject::New(), StringObject::New(), FunctionTemplate::New(), Signature::New(), TypeSwitch::New(), v8::NewExternalAsciiStringHandle(), v8::NewExternalStringHandle(), Integer::NewFromUnsigned(), String::NewSymbol(), String::NewUndetectable(), v8::Null(), JSObject::PreventExtensions(), Isolate::PrintCurrentStackTrace(), Exception::RangeError(), IC::ReferenceError(), Exception::ReferenceError(), V8::RemoveMessageListeners(), Rewriter::Rewrite(), Script::Run(), v8::internal::RUNTIME_FUNCTION(), ObjectTemplate::SetAccessCheckCallbacks(), FunctionTemplate::SetCallHandler(), JSObject::SetDictionaryElement(), JSObject::SetElement(), Runtime::SetObjectProperty(), Object::SetPointerInInternalField(), JSObject::SetPropertyForResult(), JSProxy::SetPropertyViaPrototypesWithHandler(), JSObject::SetPropertyWithCallback(), Isolate::StackOverflow(), Isolate::StackTraceString(), v8::internal::StringReplaceOneCharWithString(), Exception::SyntaxError(), V8HeapExplorer::TagGlobalObjects(), TEST(), ArrayConcatVisitor::ToArray(), Value::ToArrayIndex(), ReplacementStringBuilder::ToString(), v8::True(), Object::TurnOnAccessCheck(), IC::TypeError(), Exception::TypeError(), v8::Undefined(), TypeFeedbackCells::UninitializedSentinel(), and ArrayConcatVisitor::visit().
Isolate::PerIsolateThreadData * FindPerThreadDataForThisThread | ( | ) |
Definition at line 352 of file isolate.cc.
References ThreadId::Current(), and v8::internal::NULL.
Referenced by ThreadManager::IsArchived(), and ThreadManager::RestoreThread().
|
inline |
Definition at line 661 of file isolate.h.
Referenced by ThreadManager::FreeThreadResources().
Address get_address_from_id | ( | Isolate::AddressId | id | ) |
Definition at line 417 of file isolate.cc.
Definition at line 1357 of file isolate.cc.
References Context::cast(), StandardFrame::context(), Isolate::context(), and Context::native_context().
Referenced by Context::GetCalling().
|
static |
Definition at line 393 of file isolate.cc.
References Isolate::EnsureDefaultIsolate(), and Isolate::stack_guard().
Referenced by V8::TerminateExecution().
Definition at line 1351 of file isolate.cc.
References Isolate::thread_local_top().
Referenced by Script::Compile(), Script::New(), and Script::Run().
|
inline |
Definition at line 880 of file isolate.h.
Referenced by V8::AddImplicitReferences(), V8::AddObjectGroup(), Heap::GarbageCollectionEpilogue(), HeapProfiler::GetPersistentHandleCount(), v8::internal::GetScriptWrapper(), TokenEnumerator::GetTokenId(), Heap::IterateStrongRoots(), Heap::RecordStats(), StartupSerializer::SerializeStrongReferences(), V8HeapExplorer::TagGlobalObjects(), Heap::TearDown(), V8::VisitHandlesWithClassIds(), and TokenEnumerator::~TokenEnumerator().
|
inline |
Definition at line 647 of file isolate.h.
References Isolate::context(), and Context::global_object().
|
inline |
Definition at line 652 of file isolate.h.
References Isolate::context(), and Context::global_proxy().
|
inline |
Definition at line 861 of file isolate.h.
Referenced by HandleScope::CloseAndEscape(), HandleScope::CreateHandle(), DeferredHandleScope::DeferredHandleScope(), HandleScope::DeleteExtensions(), DeferredHandleScope::Detach(), HandleScope::HandleScope(), HandleScope::NumberOfHandles(), and DeferredHandleScope::~DeferredHandleScope().
|
inline |
Definition at line 864 of file isolate.h.
References ASSERT.
Referenced by HandleScope::DeleteExtensions(), Deserializer::Deserialize(), Context::Enter(), Context::Exit(), V8::FireCallCompletedCallback(), ThreadManager::FreeThreadResources(), Context::GetEntered(), Heap::IterateStrongRoots(), HandleScope::NumberOfHandles(), ThreadManager::RestoreThread(), and StartupSerializer::SerializeStrongReferences().
|
inlinestatic |
Definition at line 627 of file isolate.h.
Referenced by Isolate::IsExternallyCaught(), and Isolate::ShouldReportException().
|
inline |
Definition at line 930 of file isolate.h.
Referenced by StartupSerializer::SerializeStrongReferences().
|
inline |
Definition at line 561 of file isolate.h.
Referenced by JSProxy::CallTrap(), Compiler::CompileLazy(), JSProxy::DeletePropertyWithHandler(), Isolate::DoThrow(), NativeRegExpMacroAssembler::Execute(), JSProxy::GetPropertyAttributeWithHandler(), JSProxy::GetPropertyWithHandler(), JSProxy::HasPropertyWithHandler(), RegExpImpl::IrregexpExec(), RegExpImpl::IrregexpExecRaw(), Isolate::is_out_of_memory(), Isolate::IsExternallyCaught(), FullCodeGenerator::MakeCode(), Isolate::OptionalRescheduleException(), ParserApi::Parse(), Isolate::pending_exception(), MessageHandler::ReportMessage(), Isolate::ReportPendingMessages(), JSProxy::SetPropertyViaPrototypesWithHandler(), JSProxy::SetPropertyWithHandler(), and TEST().
|
inline |
Definition at line 606 of file isolate.h.
Referenced by Isolate::is_out_of_memory(), MessageHandler::ReportMessage(), and Isolate::scheduled_exception().
|
inline |
Definition at line 835 of file isolate.h.
Referenced by JSObject::AddFastProperty(), V8::AddGCEpilogueCallback(), V8::AddGCPrologueCallback(), V8::AdjustAmountOfExternalAllocatedMemory(), CompilationSubCache::Age(), MemoryAllocator::AllocateChunk(), MemoryAllocator::AllocateLargePage(), MemoryAllocator::AllocatePage(), Context::AllowCodeGenerationFromStrings(), StackGuard::ArchiveStackGuard(), StackGuard::ClearThread(), CpuProfiler::CodeCreateEvent(), V8::ContextDisposedNotification(), v8::internal::Copy(), GlobalHandles::Create(), Runtime::CreateArrayLiteralBoilerplate(), JSObject::DefineAccessor(), DictionaryElementsAccessor::DeleteCommon(), JSObject::DeleteElement(), JSObject::DeleteProperty(), Deoptimizer::DeoptimizeFunction(), Deserializer::Deserialize(), Deserializer::DeserializePartial(), Isolate::DoThrow(), JSObject::EnsureWritableFastElements(), StubCache::FindCallInitialize(), HashTable< Shape, Key >::FindEntry(), Runtime::ForceDeleteObjectProperty(), MemoryAllocator::Free(), Heap::FreeQueuedChunks(), Accessors::FunctionGetArguments(), InnerPointerToCodeCache::GcSafeFindCodeForInnerPointer(), StatisticsExtension::GetCounters(), v8::internal::GetEnumPropertyKeys(), v8::internal::GetKeysInFixedArrayFor(), JSObject::GetPropertyWithCallback(), Factory::GlobalConstantFor(), Execution::HandleStackGuardInterrupt(), StubCache::heap(), BASE_EMBEDDED< Visitor >::HGlobalValueNumberer(), Factory::hidden_symbol(), GlobalHandles::IdentifyNewSpaceWeakIndependentHandles(), v8::internal::InitScriptLineEnds(), StackGuard::InitThread(), Isolate::is_catchable_by_javascript(), Value::IsBooleanObject(), Value::IsDate(), StringTracker::IsFreshUnusedString(), Value::IsNumberObject(), Value::IsStringObject(), SerializerDeserializer::Iterate(), CompilationSubCache::IterateFunctions(), KeyedLoadIC::Load(), v8::internal::LookupSingleCharacterStringFromCode(), V8::LowMemoryNotification(), String::MakeExternal(), Deoptimizer::MaterializeHeapObjects(), Bootstrapper::NativesSourceLookup(), BooleanObject::New(), Context::New(), String::NewExternal(), Factory::NewFunctionFromSharedFunctionInfo(), Factory::NewScript(), JSObject::NormalizeElements(), Runtime::PerformGC(), GlobalHandles::PostGarbageCollectionProcessing(), JSObject::PreventExtensions(), StringStream::PrintSecurityTokenIfChanged(), ObjectLiteral::Property::Property(), StringTracker::RecordWrite(), IncrementalMarking::RecordWriteForEvacuationFromCode(), IncrementalMarking::RecordWriteFromCode(), V8::RemoveGCEpilogueCallback(), V8::RemoveGCPrologueCallback(), V8::RemoveMessageListeners(), MessageHandler::ReportMessage(), Isolate::ReportPendingMessages(), StackGuard::RequestCodeReadyEvent(), StackGuard::RequestGC(), StackGuard::RequestRuntimeProfilerTick(), StackGuard::RestoreStackGuard(), OptimizingCompilerThread::Run(), v8::internal::RUNTIME_FUNCTION(), StartupSerializer::SerializeWeakReferences(), JSObject::SetDictionaryElement(), V8::SetGlobalGCEpilogueCallback(), V8::SetGlobalGCPrologueCallback(), JSObject::SetPropertyWithInterceptor(), v8::SetResourceConstraints(), Builtins::SetUp(), JSDate::SetValue(), KeyedStoreIC::Store(), StoreBuffer::StoreBufferOverflow(), TEST(), v8::ThrowException(), Factory::ToBoolean(), JSObject::TransitionElementsKind(), RuntimeProfiler::UpdateSamplesAfterScavenge(), V8::VisitExternalResources(), and Serializer::VisitPointers().
bool Init | ( | Deserializer * | des | ) |
Definition at line 1803 of file isolate.cc.
References ASSERT, ASSIGN_ELEMENT, CHECK_EQ, Deserializer::Deserialize(), FOR_EACH_ISOLATE_ADDRESS_NAME, LOG, NULL, OFFSET_OF, Locker::StartPreemption(), and TRACE_ISOLATE.
Referenced by V8::Initialize().
void InitializeLoggingAndCounters | ( | ) |
Definition at line 1781 of file isolate.cc.
References NULL.
Referenced by Isolate::PrintStack(), V8::SetCreateHistogramFunction(), V8::SetJitCodeEventHandler(), and TEST().
|
inline |
Definition at line 439 of file isolate.h.
References ASSERT, Thread::GetExistingThreadLocal(), and v8::internal::NULL.
|
inline |
Definition at line 446 of file isolate.h.
References Thread::GetThreadLocal().
|
inline |
Definition at line 874 of file isolate.h.
Referenced by Heap::FindCodeObject(), IncrementalMarking::RecordCodeTargetPatch(), and MarkCompactCollector::RecordCodeTargetPatch().
|
inline |
|
inline |
Definition at line 615 of file isolate.h.
References Isolate::heap(), and Failure::OutOfMemoryException().
Referenced by Isolate::DoThrow(), Isolate::IsExternallyCaught(), and Isolate::ReThrow().
bool is_out_of_memory | ( | ) |
Definition at line 1328 of file isolate.cc.
References Failure::cast(), Isolate::has_pending_exception(), Isolate::has_scheduled_exception(), Failure::IsOutOfMemoryException(), Isolate::pending_exception(), and Isolate::scheduled_exception().
Referenced by Isolate::OptionalRescheduleException().
|
inline |
Definition at line 52 of file isolate-inl.h.
References v8::internal::NoBarrier_Load().
Referenced by FullCodeGenerator::MakeCode().
|
inline |
Definition at line 469 of file isolate.h.
Referenced by V8::Dispose(), Locker::Locker(), Serializer::Serializer(), V8::TearDown(), Unlocker::Unlocker(), Locker::~Locker(), and Unlocker::~Unlocker().
bool IsExternallyCaught | ( | ) |
Definition at line 1188 of file isolate.cc.
References ASSERT, Isolate::handler(), Isolate::has_pending_exception(), Isolate::is_catchable_by_javascript(), v8::internal::NULL, Isolate::pending_exception(), Isolate::thread_local_top(), and Isolate::try_catch_handler().
|
inline |
Definition at line 459 of file isolate.h.
Referenced by V8::AdjustAmountOfExternalAllocatedMemory(), V8::ContextDisposedNotification(), SamplerThread::DoCpuProfile(), SamplerThread::DoRuntimeProfile(), SignalSender::DoRuntimeProfile(), Context::Exit(), V8::IdleNotification(), V8::Initialize(), Locker::Locker(), V8::LowMemoryNotification(), Integer::New(), Integer::NewFromUnsigned(), Isolate::PrintStack(), v8::SetResourceConstraints(), V8::TerminateExecution(), and StackTracer::Trace().
|
inline |
Definition at line 462 of file isolate.h.
References v8::internal::NULL.
Referenced by Isolate::Dispose().
|
inlinestatic |
void Iterate | ( | ObjectVisitor * | v | ) |
Definition at line 475 of file isolate.cc.
References Isolate::thread_local_top().
Referenced by ThreadManager::Iterate(), Isolate::Iterate(), and Heap::IterateStrongRoots().
void Iterate | ( | ObjectVisitor * | v, |
ThreadLocalTop * | t | ||
) |
Definition at line 440 of file isolate.cc.
References v8::internal::NULL, and TRY_CATCH_FROM_ADDRESS.
char * Iterate | ( | ObjectVisitor * | v, |
char * | t | ||
) |
Definition at line 422 of file isolate.cc.
References Isolate::Iterate().
void IterateDeferredHandles | ( | ObjectVisitor * | visitor | ) |
Definition at line 480 of file isolate.cc.
References v8::internal::NULL.
Referenced by Heap::IterateStrongRoots().
void IterateThread | ( | ThreadVisitor * | v | ) |
Definition at line 429 of file isolate.cc.
References Isolate::thread_local_top(), and ThreadVisitor::VisitThread().
Referenced by ThreadManager::IterateArchivedThreads().
void IterateThread | ( | ThreadVisitor * | v, |
char * | t | ||
) |
Definition at line 434 of file isolate.cc.
References ThreadVisitor::VisitThread().
|
inline |
Definition at line 656 of file isolate.h.
Referenced by Execution::CharAt(), Execution::ConfigureInstance(), Date::DateTimeConfigurationChangeNotification(), Execution::GetStackTraceLine(), Execution::InstantiateFunction(), Execution::InstantiateObject(), and Isolate::StackOverflow().
|
inlinestatic |
Definition at line 635 of file isolate.h.
Referenced by StackTracer::Trace().
|
inline |
Definition at line 896 of file isolate.h.
Referenced by CharacterRange::AddCaseEquivalents().
|
inline |
Definition at line 892 of file isolate.h.
Referenced by CharacterRange::AddCaseEquivalents().
|
inline |
void LinkDeferredHandles | ( | DeferredHandles * | deferred_handles | ) |
Definition at line 2029 of file isolate.cc.
References NULL.
|
inline |
Definition at line 828 of file isolate.h.
References ASSERT, and v8::internal::NULL.
Referenced by V8::EnableSlidingStateWindow(), V8::IsProfilerPaused(), V8::PauseProfiler(), Compiler::RecordFunctionCompilation(), V8::ResumeProfiler(), V8::SetJitCodeEventHandler(), RuntimeProfiler::SetUp(), CodeGenerator::ShouldGenerateLog(), and SlidingStateWindow::SlidingStateWindow().
bool MayIndexedAccess | ( | JSObject * | receiver, |
uint32_t | index, | ||
v8::AccessType | type | ||
) |
Definition at line 878 of file isolate.cc.
References ASSERT, JSFunction::cast(), AccessCheckInfo::cast(), Isolate::context(), LOG, HeapObject::map(), Utils::ToLocal(), v8::internal::UNKNOWN, and v8::internal::YES.
Referenced by JSObject::DeleteElement(), Object::GetElementWithReceiver(), JSObject::HasElementWithReceiver(), JSObject::HasLocalElement(), JSObject::HasRealElementProperty(), and JSObject::SetElement().
bool MayNamedAccess | ( | JSObject * | receiver, |
Object * | key, | ||
v8::AccessType | type | ||
) |
Definition at line 828 of file isolate.cc.
References ASSERT, JSFunction::cast(), AccessCheckInfo::cast(), Isolate::context(), Heap::hidden_symbol(), LOG, HeapObject::map(), Utils::ToLocal(), v8::internal::UNKNOWN, and v8::internal::YES.
Referenced by JSObject::DefineAccessor(), JSObject::DeleteProperty(), v8::internal::GetKeysInFixedArrayFor(), Object::GetProperty(), JSObject::HasRealNamedCallbackProperty(), JSObject::HasRealNamedProperty(), JSObject::LookupAccessor(), JSObject::PreventExtensions(), v8::internal::RUNTIME_FUNCTION(), JSObject::SetLocalPropertyIgnoreAttributes(), and JSObject::SetPropertyForResult().
|
inline |
Definition at line 845 of file isolate.h.
Referenced by V8::AddMemoryAllocationCallback(), LargeObjectSpace::AllocateRaw(), RegExpCompiler::Assemble(), Heap::CommittedMemoryExecutable(), PagedSpace::Expand(), Heap::FreeQueuedChunks(), LargeObjectSpace::FreeUnmarkedObjects(), StatisticsExtension::GetCounters(), PagedSpace::PagedSpace(), Heap::PrintShortHeapStatistics(), Heap::RecordStats(), PagedSpace::ReleasePage(), V8::RemoveMemoryAllocationCallback(), Heap::SetUp(), NewSpace::SetUp(), SemiSpace::ShrinkTo(), Serializer::SpaceAreaSize(), Heap::TearDown(), PagedSpace::TearDown(), NewSpace::TearDown(), and LargeObjectSpace::TearDown().
Definition at line 1345 of file isolate.cc.
References Isolate::thread_local_top().
Referenced by Context::GetCurrent(), and Execution::InstantiateFunction().
NO_INLINE | ( | void | PushStackTraceAndDieunsigned int magic, Object *object, Map *map, unsigned int magic2 | ) |
|
inline |
|
inline |
|
inline |
Definition at line 908 of file isolate.h.
Referenced by String::ToCString(), and String::ToWideCString().
|
inline |
Definition at line 1065 of file isolate.h.
Referenced by Execution::HandleStackGuardInterrupt(), and BASE_EMBEDDED< Visitor >::HGlobalValueNumberer().
bool OptionalRescheduleException | ( | bool | is_bottom_call | ) |
Definition at line 1272 of file isolate.cc.
References ASSERT, Isolate::clear_pending_exception(), Isolate::has_pending_exception(), Isolate::is_out_of_memory(), v8::internal::NULL, Isolate::pending_exception(), Isolate::thread_local_top(), and Isolate::try_catch_handler_address().
|
inline |
Definition at line 542 of file isolate.h.
References ASSERT, and Isolate::has_pending_exception().
Referenced by Isolate::is_out_of_memory(), Isolate::IsExternallyCaught(), Isolate::OptionalRescheduleException(), MessageHandler::ReportMessage(), and Isolate::ScheduleThrow().
|
static |
void PreallocatedStorageDelete | ( | void * | p | ) |
Definition at line 300 of file isolate.cc.
References ASSERT, and v8::internal::NULL.
void PreallocatedStorageInit | ( | size_t | size | ) |
Definition at line 245 of file isolate.cc.
References ASSERT.
void * PreallocatedStorageNew | ( | size_t | size | ) |
Definition at line 257 of file isolate.cc.
References ASSERT, v8::internal::kPointerSize, and v8::internal::NULL.
void PrintCurrentStackTrace | ( | FILE * | out | ) |
Definition at line 989 of file isolate.cc.
References StackTraceFrameIterator::Advance(), JSFunction::cast(), Isolate::factory(), Smi::FromInt(), JavaScriptFrame::function(), Execution::GetStackTraceLine(), and JavaScriptFrame::receiver().
Referenced by Message::PrintCurrentStackTrace().
void PrintStack | ( | StringStream * | accumulator | ) |
Definition at line 739 of file isolate.cc.
References StringStream::Add(), ASSERT, Isolate::c_entry_fp(), Isolate::IsInitialized(), StringStream::PrintMentionedObjectCache(), and Isolate::thread_local_top().
void PrintStack | ( | ) |
Definition at line 695 of file isolate.cc.
References StringStream::ClearMentionedObjectCache(), Isolate::InitializeLoggingAndCounters(), StringStream::Log(), v8::internal::NULL, StringStream::OutputToStdOut(), and OS::PrintError().
Referenced by Isolate::StackTraceString().
void PrintStackTrace | ( | FILE * | out, |
char * | thread_data | ||
) |
Failure * PromoteScheduledException | ( | ) |
Definition at line 981 of file isolate.cc.
References Isolate::clear_scheduled_exception(), Isolate::ReThrow(), and Isolate::scheduled_exception().
void PushToPartialSnapshotCache | ( | Object * | obj | ) |
Definition at line 1640 of file isolate.cc.
Referenced by SerializerDeserializer::Iterate(), and PartialSerializer::PartialSnapshotCacheIndex().
|
inline |
Definition at line 933 of file isolate.h.
Referenced by NativeRegExpMacroAssembler::CaseInsensitiveCompareUC16().
|
inline |
Definition at line 937 of file isolate.h.
Referenced by ThreadManager::FreeThreadResources(), NativeRegExpMacroAssembler::GrowStack(), and ThreadManager::RestoreThread().
void RegisterTryCatchHandler | ( | v8::TryCatch * | that | ) |
Definition at line 489 of file isolate.cc.
References SimulatorStack::RegisterCTryCatch(), and Isolate::thread_local_top().
Referenced by TryCatch::TryCatch().
void ReportFailedAccessCheck | ( | JSObject * | receiver, |
v8::AccessType | type | ||
) |
Definition at line 773 of file isolate.cc.
References ASSERT, JSFunction::cast(), AccessCheckInfo::cast(), Isolate::context(), HeapObject::map(), Isolate::thread_local_top(), and Utils::ToLocal().
Referenced by JSObject::DefineAccessor(), JSObject::DeleteElement(), JSObject::DeleteProperty(), Object::GetElementWithReceiver(), v8::internal::GetKeysInFixedArrayFor(), JSObject::GetPropertyAttributeWithFailedAccessCheck(), JSObject::GetPropertyWithFailedAccessCheck(), JSObject::HasElementWithReceiver(), JSObject::HasLocalElement(), JSObject::HasRealElementProperty(), JSObject::HasRealNamedCallbackProperty(), JSObject::HasRealNamedProperty(), JSObject::LookupAccessor(), JSObject::PreventExtensions(), v8::internal::RUNTIME_FUNCTION(), JSObject::SetElement(), and JSObject::SetPropertyWithFailedAccessCheck().
void ReportPendingMessages | ( | ) |
Definition at line 1230 of file isolate.cc.
References ASSERT, Isolate::clear_pending_message(), Isolate::context(), Isolate::has_pending_exception(), Isolate::heap(), Context::mark_out_of_memory(), v8::internal::NULL, Failure::OutOfMemoryException(), and MessageHandler::ReportMessage().
Referenced by Compiler::Compile().
char * RestoreThread | ( | char * | from | ) |
Definition at line 1393 of file isolate.cc.
References ASSERT, Isolate::context(), Isolate::current_vm_state(), RuntimeProfiler::IsEnabled(), RuntimeProfiler::IsolateEnteredJS(), v8::internal::NULL, and Isolate::thread_local_top().
Referenced by ThreadManager::RestoreThread().
Failure * ReThrow | ( | MaybeObject * | exception | ) |
Definition at line 951 of file isolate.cc.
References Failure::Exception(), Isolate::is_catchable_by_javascript(), v8::internal::NULL, Isolate::set_pending_exception(), Isolate::ShouldReportException(), Isolate::thread_local_top(), and Isolate::try_catch_handler().
Referenced by Isolate::PromoteScheduledException().
|
inline |
Definition at line 826 of file isolate.h.
Referenced by SamplerThread::DoRuntimeProfile(), SignalSender::DoRuntimeProfile(), Execution::HandleStackGuardInterrupt(), and Context::New().
|
inline |
|
inline |
Definition at line 868 of file isolate.h.
Referenced by Deoptimizer::VisitAllOptimizedFunctionsForContext().
|
inline |
Definition at line 602 of file isolate.h.
References ASSERT, and Isolate::has_scheduled_exception().
Referenced by Isolate::is_out_of_memory(), and Isolate::PromoteScheduledException().
void ScheduleThrow | ( | Object * | exception | ) |
Definition at line 971 of file isolate.cc.
References Isolate::clear_pending_exception(), Isolate::pending_exception(), Isolate::thread_local_top(), and Isolate::Throw().
Referenced by v8::ThrowException().
|
inline |
Definition at line 581 of file isolate.h.
References Isolate::catcher().
Referenced by Isolate::ExceptionScope::~ExceptionScope().
|
inline |
Definition at line 521 of file isolate.h.
References ASSERT, Isolate::context(), and v8::internal::NULL.
Referenced by Context::Enter(), Context::Exit(), Bootstrapper::InstallExtensions(), and BASE_EMBEDDED< Visitor >::~SaveContext().
|
inline |
Definition at line 1042 of file isolate.h.
References Isolate::context_exit_happened().
Referenced by Context::Exit().
|
inline |
Definition at line 886 of file isolate.h.
Referenced by ContextSwitcher::StartPreemption(), and ContextSwitcher::StopPreemption().
|
inline |
|
inline |
Definition at line 549 of file isolate.h.
Referenced by MessageHandler::ReportMessage().
|
inline |
Definition at line 701 of file isolate.h.
Referenced by V8::IgnoreOutOfMemoryException().
|
inline |
Definition at line 552 of file isolate.h.
Referenced by Isolate::DoThrow(), Isolate::ReThrow(), and Isolate::ExceptionScope::~ExceptionScope().
|
inline |
Definition at line 528 of file isolate.h.
Referenced by BASE_EMBEDDED< Visitor >::~SaveContext().
void SetCaptureStackTraceForUncaughtExceptions | ( | bool | capture, |
int | frame_limit, | ||
StackTrace::StackTraceOptions | options | ||
) |
Definition at line 1318 of file isolate.cc.
|
inline |
Definition at line 1007 of file isolate.h.
References ASSERT, RuntimeProfiler::IsEnabled(), RuntimeProfiler::IsolateEnteredJS(), RuntimeProfiler::IsolateExitedJS(), and RuntimeProfiler::IsSomeIsolateInJS().
void SetFailedAccessCheckCallback | ( | v8::FailedAccessCheckCallback | callback | ) |
Definition at line 767 of file isolate.cc.
References Isolate::thread_local_top().
Referenced by V8::SetFailedAccessCheckCallbackFunction().
|
inline |
Definition at line 1035 of file isolate.h.
Referenced by BASE_EMBEDDED< Visitor >::LookupResult().
bool ShouldReportException | ( | bool * | can_be_caught_externally, |
bool | catchable_by_javascript | ||
) |
Definition at line 1035 of file isolate.cc.
References Isolate::handler(), v8::internal::NULL, Isolate::thread_local_top(), and Isolate::try_catch_handler().
Referenced by Isolate::DoThrow(), and Isolate::ReThrow().
|
inline |
Definition at line 834 of file isolate.h.
Referenced by IncrementalMarking::Abort(), IncrementalMarking::Finalize(), ThreadManager::FreeThreadResources(), Isolate::GetDefaultIsolateStackGuard(), Execution::HandleStackGuardInterrupt(), Locker::Locker(), IncrementalMarking::MarkingComplete(), RuntimeProfiler::NotifyTick(), ThreadManager::RestoreThread(), OptimizingCompilerThread::Run(), v8::SetResourceConstraints(), Heap::SetStackLimits(), and V8::TerminateExecution().
Failure * StackOverflow | ( | ) |
Definition at line 924 of file isolate.cc.
References Handle< T >::cast(), v8::internal::Copy(), Isolate::DoThrow(), Failure::Exception(), Isolate::factory(), v8::internal::GetProperty(), Isolate::js_builtins_object(), and v8::internal::NULL.
Referenced by Compiler::CompileLazy(), NativeRegExpMacroAssembler::Execute(), Execution::HandleStackGuardInterrupt(), and RegExpImpl::IrregexpExecRaw().
Definition at line 510 of file isolate.cc.
References OS::Abort(), StringStream::ClearMentionedObjectCache(), Isolate::factory(), v8::internal::NULL, StringStream::OutputToStdOut(), OS::PrintError(), Isolate::PrintStack(), and StringStream::ToString().
Referenced by Isolate::DoThrow().
StatsTable * stats_table | ( | ) |
Definition at line 1952 of file isolate.cc.
References NULL.
Referenced by CompilationCacheScript::Lookup(), V8::SetAddHistogramSampleFunction(), V8::SetCounterFunction(), V8::SetCreateHistogramFunction(), and TEST().
|
inline |
Definition at line 890 of file isolate.h.
Referenced by String::CanMakeExternal(), String::MakeExternal(), String::Write(), String::WriteAscii(), and String::WriteUtf8().
|
inline |
Definition at line 837 of file isolate.h.
Referenced by CallICBase::ComputeMonomorphicStub(), KeyedLoadIC::Load(), KeyedCallIC::LoadFunction(), and CallICBase::UpdateCaches().
void TearDown | ( | ) |
Definition at line 1568 of file isolate.cc.
References NULL, and TRACE_ISOLATE.
Referenced by Isolate::Dispose(), and V8::TearDown().
Failure * TerminateExecution | ( | ) |
Definition at line 939 of file isolate.cc.
References Isolate::DoThrow(), Failure::Exception(), and v8::internal::NULL.
Referenced by Execution::HandleStackGuardInterrupt(), and V8::TerminateExecution().
|
inline |
Definition at line 538 of file isolate.h.
Referenced by V8::GetCurrentThreadId(), and V8::TerminateExecution().
|
inlinestatic |
|
inline |
Definition at line 839 of file isolate.h.
Referenced by Isolate::ArchiveThread(), Isolate::DoThrow(), Isolate::global_context(), IC::IC(), Isolate::IsExternallyCaught(), Isolate::Iterate(), Isolate::IterateThread(), Isolate::native_context(), Isolate::OptionalRescheduleException(), Isolate::PrintStack(), Isolate::RegisterTryCatchHandler(), Isolate::ReportFailedAccessCheck(), Isolate::RestoreThread(), Isolate::ReThrow(), v8::internal::RUNTIME_FUNCTION(), Isolate::ScheduleThrow(), Isolate::SetFailedAccessCheckCallback(), Isolate::ShouldReportException(), StackTracer::Trace(), and Isolate::UnregisterTryCatchHandler().
|
inline |
Definition at line 882 of file isolate.h.
Referenced by Deserializer::Deserialize(), Locker::IsLocked(), Heap::IterateStrongRoots(), Locker::Locker(), V8::TerminateExecution(), Unlocker::Unlocker(), Locker::~Locker(), and Unlocker::~Unlocker().
Failure * Throw | ( | Object * | exception, |
MessageLocation * | location = NULL |
||
) |
Definition at line 945 of file isolate.cc.
References Isolate::DoThrow(), and Failure::Exception().
Referenced by JSObject::AddProperty(), JSProxy::CallTrap(), DictionaryElementsAccessor::DeleteCommon(), JSObject::DeleteElement(), JSObject::DeleteProperty(), JSProxy::DeletePropertyWithHandler(), Runtime::GetObjectProperty(), JSProxy::GetPropertyAttributeWithHandler(), JSObject::GetPropertyWithCallback(), JSObject::PreventExtensions(), IC::ReferenceError(), Isolate::ScheduleThrow(), JSObject::SetDictionaryElement(), JSObject::SetElement(), Runtime::SetObjectProperty(), JSObject::SetPropertyForResult(), JSProxy::SetPropertyViaPrototypesWithHandler(), JSObject::SetPropertyWithCallback(), JSReceiver::SetPrototype(), Isolate::ThrowIllegalOperation(), and IC::TypeError().
Failure * ThrowIllegalOperation | ( | ) |
Definition at line 966 of file isolate.cc.
References Isolate::Throw().
Referenced by v8::internal::TransitionElements().
|
inline |
Definition at line 1046 of file isolate.h.
References OS::TimeCurrentMillis().
void TraceException | ( | bool | flag | ) |
Definition at line 1267 of file isolate.cc.
References v8::internal::flag.
|
inline |
Definition at line 841 of file isolate.h.
Referenced by Heap::GarbageCollectionPrologue().
|
inline |
Definition at line 569 of file isolate.h.
Referenced by Isolate::DoThrow(), Isolate::IsExternallyCaught(), Isolate::ReThrow(), and Isolate::ShouldReportException().
|
inline |
Definition at line 572 of file isolate.h.
Referenced by Isolate::OptionalRescheduleException().
|
inline |
Definition at line 870 of file isolate.h.
Referenced by JSObject::AddFastProperty(), Heap::AllocateStringFromUtf8Slow(), and String::IsEqualTo().
void UnlinkDeferredHandles | ( | DeferredHandles * | deferred_handles | ) |
Definition at line 2038 of file isolate.cc.
void UnregisterTryCatchHandler | ( | v8::TryCatch * | that | ) |
Definition at line 501 of file isolate.cc.
References ASSERT, v8::internal::NULL, Isolate::thread_local_top(), and SimulatorStack::UnregisterCTryCatch().
|
inline |
Definition at line 878 of file isolate.h.
Referenced by String::WriteAscii(), and String::WriteUtf8().
|
friend |
|
friend |
|
friend |
|
friend |
|
friend |
|
friend |
|
friend |
|
friend |
|
static |
Definition at line 994 of file isolate.h.
Referenced by RegExpImpl::AtomExec(), RegExpImpl::GlobalCache::GlobalCache(), RegExpImpl::IrregexpExec(), and RegExpImpl::GlobalCache::~GlobalCache().
|
static |
Definition at line 785 of file isolate.h.
Referenced by RegExpParser::Advance().