v8  3.25.30(node0.11.13)
V8 is Google's open source JavaScript engine
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Isolate Class Reference

#include <isolate.h>

Data Structures

class  ExceptionScope
 
class  PerIsolateThreadData
 

Public Types

enum  AddressId { kIsolateAddressCount }
 
enum  CallDescriptorKey {
  KeyedCall, NamedCall, CallHandler, ArgumentAdaptorCall,
  ApiFunctionCall, NUMBER_OF_CALL_DESCRIPTORS
}
 

Public Member Functions

 ~Isolate ()
 
 INLINE (static Isolate *Current())
 
 INLINE (static Isolate *UncheckedCurrent())
 
void InitializeLoggingAndCounters ()
 
bool Init (Deserializer *des)
 
bool IsInitialized ()
 
bool IsInUse ()
 
void TearDown ()
 
bool IsDefaultIsolate () const
 
PerIsolateThreadDataFindPerThreadDataForThisThread ()
 
PerIsolateThreadDataFindPerThreadDataForThread (ThreadId thread_id)
 
RecursiveMutex * break_access ()
 
RecursiveMutex * debugger_access ()
 
Address get_address_from_id (AddressId id)
 
Contextcontext ()
 
void set_context (Context *context)
 
Context ** context_address ()
 
MaybeObject * pending_exception ()
 
void set_pending_exception (MaybeObject *exception)
 
void clear_pending_exception ()
 
MaybeObject ** pending_exception_address ()
 
bool has_pending_exception ()
 
void clear_pending_message ()
 
v8::TryCatchtry_catch_handler ()
 
Address try_catch_handler_address ()
 
bool * external_caught_exception_address ()
 
MaybeObject ** scheduled_exception_address ()
 
Address pending_message_obj_address ()
 
Address has_pending_message_address ()
 
Address pending_message_script_address ()
 
MaybeObject * scheduled_exception ()
 
bool has_scheduled_exception ()
 
void clear_scheduled_exception ()
 
bool IsExternallyCaught ()
 
bool is_catchable_by_javascript (MaybeObject *exception)
 
void PushToPartialSnapshotCache (Object *obj)
 
Addressc_entry_fp_address ()
 
Addresshandler_address ()
 
Address js_entry_sp ()
 
Addressjs_entry_sp_address ()
 
void * formal_count_address ()
 
Handle< GlobalObjectglobal_object ()
 
Objectglobal_proxy ()
 
Handle< JSBuiltinsObjectjs_builtins_object ()
 
void FreeThreadResources ()
 
bool OptionalRescheduleException (bool is_bottom_call)
 
void SetCaptureStackTraceForUncaughtExceptions (bool capture, int frame_limit, StackTrace::StackTraceOptions options)
 
void PrintCurrentStackTrace (FILE *out)
 
void PrintStack (StringStream *accumulator)
 
void PrintStack (FILE *out)
 
Handle< StringStackTraceString ()
 
 NO_INLINE (void PushStackTraceAndDie(unsigned int magic, Object *object, Map *map, unsigned int magic2))
 
Handle< JSArrayCaptureCurrentStackTrace (int frame_limit, StackTrace::StackTraceOptions options)
 
Handle< JSArrayCaptureSimpleStackTrace (Handle< JSObject > error_object, Handle< Object > caller, int limit)
 
void CaptureAndSetDetailedStackTrace (Handle< JSObject > error_object)
 
bool MayNamedAccessWrapper (Handle< JSObject > receiver, Handle< Object > key, v8::AccessType type)
 
bool MayIndexedAccessWrapper (Handle< JSObject > receiver, uint32_t index, v8::AccessType type)
 
void ReportFailedAccessCheckWrapper (Handle< JSObject > receiver, v8::AccessType type)
 
bool MayNamedAccess (JSObject *receiver, Object *key, v8::AccessType type)
 
bool MayIndexedAccess (JSObject *receiver, uint32_t index, v8::AccessType type)
 
void SetFailedAccessCheckCallback (v8::FailedAccessCheckCallback callback)
 
void ReportFailedAccessCheck (JSObject *receiver, v8::AccessType type)
 
FailureThrow (Object *exception, MessageLocation *location=NULL)
 
FailureReThrow (MaybeObject *exception)
 
void ScheduleThrow (Object *exception)
 
void RestorePendingMessageFromTryCatch (v8::TryCatch *handler)
 
void ReportPendingMessages ()
 
MessageLocation GetMessageLocation ()
 
FailureThrowIllegalOperation ()
 
FailureThrowInvalidStringLength ()
 
FailurePromoteScheduledException ()
 
void DoThrow (Object *exception, MessageLocation *location)
 
bool ShouldReportException (bool *can_be_caught_externally, bool catchable_by_javascript)
 
void ComputeLocation (MessageLocation *target)
 
FailureStackOverflow ()
 
FailureTerminateExecution ()
 
void CancelTerminateExecution ()
 
void Iterate (ObjectVisitor *v)
 
void Iterate (ObjectVisitor *v, ThreadLocalTop *t)
 
char * Iterate (ObjectVisitor *v, char *t)
 
void IterateThread (ThreadVisitor *v, char *t)
 
Handle< Contextnative_context ()
 
Handle< Contextglobal_context ()
 
Handle< ContextGetCallingNativeContext ()
 
void RegisterTryCatchHandler (v8::TryCatch *that)
 
void UnregisterTryCatchHandler (v8::TryCatch *that)
 
char * ArchiveThread (char *to)
 
char * RestoreThread (char *from)
 
Bootstrapperbootstrapper ()
 
Counterscounters ()
 
CodeRangecode_range ()
 
RuntimeProfilerruntime_profiler ()
 
CompilationCachecompilation_cache ()
 
Loggerlogger ()
 
StackGuardstack_guard ()
 
Heapheap ()
 
StatsTablestats_table ()
 
StubCachestub_cache ()
 
DeoptimizerDatadeoptimizer_data ()
 
ThreadLocalTop * thread_local_top ()
 
MaterializedObjectStorematerialized_object_store ()
 
MemoryAllocatormemory_allocator ()
 
KeyedLookupCachekeyed_lookup_cache ()
 
ContextSlotCachecontext_slot_cache ()
 
DescriptorLookupCachedescriptor_lookup_cache ()
 
HandleScopeDatahandle_scope_data ()
 
HandleScopeImplementerhandle_scope_implementer ()
 
Zoneruntime_zone ()
 
UnicodeCacheunicode_cache ()
 
InnerPointerToCodeCacheinner_pointer_to_code_cache ()
 
ConsStringIteratorOpwrite_iterator ()
 
GlobalHandlesglobal_handles ()
 
EternalHandleseternal_handles ()
 
ThreadManagerthread_manager ()
 
StringTrackerstring_tracker ()
 
unibrow::Mapping
< unibrow::Ecma262UnCanonicalize > * 
jsregexp_uncanonicalize ()
 
unibrow::Mapping
< unibrow::CanonicalizationRange > * 
jsregexp_canonrange ()
 
ConsStringIteratorOpobjects_string_compare_iterator_a ()
 
ConsStringIteratorOpobjects_string_compare_iterator_b ()
 
StaticResource
< ConsStringIteratorOp > * 
objects_string_iterator ()
 
RuntimeStateruntime_state ()
 
Builtinsbuiltins ()
 
void NotifyExtensionInstalled ()
 
bool has_installed_extensions ()
 
unibrow::Mapping
< unibrow::Ecma262Canonicalize > * 
regexp_macro_assembler_canonicalize ()
 
RegExpStackregexp_stack ()
 
unibrow::Mapping
< unibrow::Ecma262Canonicalize > * 
interp_canonicalize_mapping ()
 
bool IsCodePreAgingActive ()
 
bool IsDebuggerActive ()
 
bool DebuggerHasBreakPoints ()
 
CpuProfilercpu_profiler () const
 
HeapProfilerheap_profiler () const
 
Factoryfactory ()
 
void SetData (uint32_t slot, void *data)
 
void * GetData (uint32_t slot)
 
bool IsDead ()
 
void SignalFatalError ()
 
bool use_crankshaft () const
 
bool initialized_from_snapshot ()
 
double time_millis_since_init ()
 
DateCachedate_cache ()
 
void set_date_cache (DateCache *date_cache)
 
Mapget_initial_js_array_map (ElementsKind kind)
 
bool IsFastArrayConstructorPrototypeChainIntact ()
 
CodeStubInterfaceDescriptorcode_stub_interface_descriptor (int index)
 
CallInterfaceDescriptorcall_descriptor (CallDescriptorKey index)
 
void IterateDeferredHandles (ObjectVisitor *visitor)
 
void LinkDeferredHandles (DeferredHandles *deferred_handles)
 
void UnlinkDeferredHandles (DeferredHandles *deferred_handles)
 
bool concurrent_recompilation_enabled ()
 
bool concurrent_osr_enabled () const
 
OptimizingCompilerThreadoptimizing_compiler_thread ()
 
int num_sweeper_threads () const
 
SweeperThread ** sweeper_threads ()
 
int id () const
 
HStatistics * GetHStatistics ()
 
HTracer * GetHTracer ()
 
CodeTracer * GetCodeTracer ()
 
FunctionEntryHook function_entry_hook ()
 
void set_function_entry_hook (FunctionEntryHook function_entry_hook)
 
void * stress_deopt_count_address ()
 
RandomNumberGenerator * random_number_generator ()
 
ObjectFindCodeObject (Address a)
 
int NextOptimizationId ()
 
Handle< JSObjectGetSymbolRegistry ()
 

Static Public Member Functions

static PerIsolateThreadDataCurrentPerIsolateThreadData ()
 
static void GlobalTearDown ()
 
static void SetCrashIfDefaultIsolateInitialized ()
 
static void EnsureDefaultIsolate ()
 
static StackGuardGetDefaultIsolateStackGuard ()
 
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 int ArchiveSpacePerThread ()
 
static v8::IsolateGetDefaultIsolateForLocking ()
 

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 SweeperThread
 
class ThreadManager
 
class Simulator
 
class StackGuard
 
class ThreadId
 
class TestMemoryAllocatorScope
 
class TestCodeRangeScope
 
class v8::Isolate
 
class v8::Locker
 
class v8::Unlocker
 

Detailed Description

Definition at line 389 of file isolate.h.

Member Enumeration Documentation

enum AddressId
Enumerator
kIsolateAddressCount 

Definition at line 454 of file isolate.h.

Enumerator
KeyedCall 
NamedCall 
CallHandler 
ArgumentAdaptorCall 
ApiFunctionCall 
NUMBER_OF_CALL_DESCRIPTORS 

Definition at line 1043 of file isolate.h.

Constructor & Destructor Documentation

~Isolate ( )

Definition at line 1710 of file isolate.cc.

References ASSERT, NULL, and TRACE_ISOLATE.

Member Function Documentation

static int ArchiveSpacePerThread ( )
inlinestatic

Definition at line 684 of file isolate.h.

RecursiveMutex* break_access ( )
inline
static Address c_entry_fp ( ThreadLocalTop *  thread)
inlinestatic
Address* c_entry_fp_address ( )
inline

Definition at line 653 of file isolate.h.

CallInterfaceDescriptor * call_descriptor ( CallDescriptorKey  index)

Definition at line 2280 of file isolate.cc.

References ASSERT.

void CaptureAndSetDetailedStackTrace ( Handle< JSObject error_object)
void clear_pending_message ( )
inline

Definition at line 593 of file isolate.h.

Referenced by Isolate::ArchiveThread(), and Isolate::ReportPendingMessages().

void clear_scheduled_exception ( )
inline
void ComputeLocation ( MessageLocation target)

Definition at line 1021 of file isolate.cc.

References Script::cast(), and JavaScriptFrame::function().

Referenced by Isolate::DoThrow().

bool concurrent_osr_enabled ( ) const
inline

Definition at line 1069 of file isolate.h.

References ASSERT, and v8::internal::NULL.

bool concurrent_recompilation_enabled ( )
inline

Definition at line 1062 of file isolate.h.

References ASSERT, and v8::internal::NULL.

Referenced by Execution::HandleStackGuardInterrupt().

Context** context_address ( )
inline

Definition at line 562 of file isolate.h.

ContextSlotCache* context_slot_cache ( )
inline

Definition at line 892 of file isolate.h.

Referenced by ScopeInfo::ContextSlotIndex().

static PerIsolateThreadData* CurrentPerIsolateThreadData ( )
inlinestatic

Definition at line 463 of file isolate.h.

References Thread::GetThreadLocal().

Referenced by Isolate::EnterDefaultIsolate(), and V8::Initialize().

DateCache* date_cache ( )
inline
RecursiveMutex* debugger_access ( )
inline

Definition at line 552 of file isolate.h.

DescriptorLookupCache* descriptor_lookup_cache ( )
inline

Definition at line 896 of file isolate.h.

void EnterDefaultIsolate ( )
static
bool* external_caught_exception_address ( )
inline

Definition at line 604 of file isolate.h.

Factory* factory ( )
inline

Definition at line 995 of file isolate.h.

Referenced by BASE_EMBEDDED< Visitor >::Add(), V8::AddMessageListener(), Scanner::AllocateInternalizedString(), Scope::AllocateModulesRecursively(), Scanner::AllocateNextLiteralString(), Scope::AllocateNonParameterLocal(), Scope::AllocateParameterLocals(), RegExpImpl::AtomExec(), CodeStubGraphBuilder< Stub >::BuildCodeInitializedStub(), CodeStubGraphBuilder< Stub >::BuildCodeStub(), Compiler::BuildFunctionInfo(), ParserTraits::BuildUnaryExpression(), v8::internal::CalculateLineEnds(), JSProxy::CallTrap(), Isolate::CaptureAndSetDetailedStackTrace(), Isolate::CaptureCurrentStackTrace(), Isolate::CaptureSimpleStackTrace(), Execution::CharAt(), check(), ParserTraits::CheckPossibleEvalCall(), RegExpImpl::Compile(), CompiledReplacement::Compile(), Compiler::CompileScript(), String::Concat(), ScopeInfo::Create(), DeclaredAccessorDescriptor::Create(), Runtime::CreateArrayLiteralBoilerplate(), JSObject::DefineAccessor(), SloppyArgumentsElementsAccessor::Delete(), DictionaryElementsAccessor::DeleteCommon(), JSObject::DeleteHiddenProperty(), Object::DeleteHiddenValue(), Isolate::DoThrow(), BoyerMooreLookahead::EmitSkipInstructions(), JSObject::EnqueueChangeRecord(), Execution::EnqueueMicrotask(), Map::EnsureDescriptorSlack(), JSFunction::EnsureHasInitialMap(), JSGlobalObject::EnsurePropertyCell(), AllocationSiteCreationContext::EnterNewScope(), Exception::Error(), Context::ErrorMessageForCodeGenerationFromStrings(), URIEscape::Escape(), ParserTraits::ExpressionFromLiteral(), StubCache::factory(), JSProxy::Fix(), Symbol::For(), Symbol::ForApi(), Private::ForApi(), FormatMessage(), JSObject::Freeze(), HeapTypeConfig::from_constant(), v8::FromCData(), PlatformCodeStub::GenerateCode(), HydrogenCodeStub::GenerateLightweightMissCode(), FixedDoubleArray::get_as_handle(), JSObject::GetAccessor(), MaterializedLiteral::GetBoilerplateValue(), StoreGlobalStub::GetCodeCopyFromTemplate(), V8_FINAL< kOperandKind, kNumCachedOperands >::GetCodeCopyFromTemplate(), Execution::GetConstructorDelegate(), Function::GetDisplayName(), JSProxy::GetElementAttributeWithHandler(), JSObject::GetElementWithInterceptor(), Object::GetElementWithReceiver(), v8::internal::GetEnumPropertyKeys(), Execution::GetFunctionDelegate(), Compiler::GetFunctionFromEval(), CpuProfileNode::GetFunctionName(), Object::GetHiddenValue(), v8::internal::GetKeysFor(), v8::internal::GetKeysInFixedArrayFor(), ParserTraits::GetLiteralTheHole(), MessageHandler::GetMessage(), HeapGraphEdge::GetName(), HeapGraphNode::GetName(), Runtime::GetObjectProperty(), Object::GetOwnPropertyNames(), v8::internal::GetProperty(), JSProxy::GetPropertyAttributeWithHandler(), Object::GetPropertyNames(), JSObject::GetPropertyPostInterceptor(), JSObject::GetPropertyWithCallback(), JSObject::GetPropertyWithInterceptor(), v8::internal::GetScriptNameOrSourceURL(), CpuProfileNode::GetScriptResourceName(), v8::internal::GetScriptWrapper(), SharedFunctionInfo::GetSourceCode(), Execution::GetStackTraceLine(), CpuProfile::GetTitle(), HeapSnapshot::GetTitle(), CompileTimeValue::GetValue(), StoreGlobalStub::global_placeholder(), V8_FINAL< kOperandKind, kNumCachedOperands >::handle(), Scope::HasArgumentsParameter(), Scope::Initialize(), v8::internal::InitScriptLineEnds(), RegExpImpl::IrregexpExec(), Variable::is_possibly_eval(), ParserTraits::IsEvalOrArguments(), Value::IsPromise(), PolymorphicCodeCache::Lookup(), CodeGenerator::MakeCodeEpilogue(), MessageHandler::MakeMessageObject(), Accessors::MakeModuleExport(), Deoptimizer::MaterializeHeapObjects(), TypeFeedbackInfo::MegamorphicSentinel(), JSObject::MigrateToMap(), Bootstrapper::NativesSourceLookup(), NeanderObject::NeanderObject(), Symbol::New(), Private::New(), Number::New(), Integer::New(), Object::New(), Array::New(), Promise::Resolver::New(), ArrayBuffer::New(), DataView::New(), NumberObject::New(), BooleanObject::New(), StringObject::New(), SymbolObject::New(), External::New(), Signature::New(), TypeSwitch::New(), Execution::NewDate(), Integer::NewFromUnsigned(), v8::NewTypedArray(), CompilationInfo::object_wrapper(), JSObject::PrepareElementsForSort(), JSObject::PreventExtensions(), Isolate::PrintCurrentStackTrace(), ParserTraits::PushPropertyName(), Exception::RangeError(), IC::ReferenceError(), Exception::ReferenceError(), Promise::Resolver::Reject(), V8::RemoveMessageListeners(), MessageHandler::ReportMessage(), ParserTraits::ReportMessageAt(), Promise::Resolver::Resolve(), Rewriter::Rewrite(), Execution::RunMicrotasks(), ObjectTemplate::SetAccessCheckCallbacks(), JSObject::SetAccessor(), Object::SetAccessorProperty(), ObjectTemplate::SetCallAsFunctionHandler(), FunctionTemplate::SetCallHandler(), JSObject::SetElement(), JSArray::SetElementsLength(), JSObject::SetHiddenProperty(), Object::SetHiddenValue(), JSObject::SetIdentityHash(), ObjectTemplate::SetIndexedPropertyHandler(), ElementsAccessorBase< ElementsAccessorSubclass, ElementsTraitsParam >::SetLengthImpl(), FastElementsAccessor< FastPackedSmiElementsAccessor, ElementsKindTraits< FAST_SMI_ELEMENTS >, kPointerSize >::SetLengthWithoutNormalize(), JSObject::SetLocalPropertyIgnoreAttributes(), ObjectTemplate::SetNamedPropertyHandler(), Runtime::SetObjectProperty(), JSObject::SetPropertyForResult(), JSProxy::SetPropertyViaPrototypesWithHandler(), JSObject::SetPropertyWithCallback(), JSObject::SetPropertyWithInterceptor(), JSObject::SetPrototype(), Runtime::SetupArrayBuffer(), Isolate::StackOverflow(), Isolate::StackTraceString(), v8::internal::StringReplaceOneCharWithString(), JSObjectWalkVisitor< ContextObject >::StructureWalk(), Exception::SyntaxError(), TEST(), TestCharacterStream(), TestParserSync(), TestParserSyncWithFlags(), THREADED_TEST(), Isolate::ThrowInvalidStringLength(), ArrayConcatVisitor::ToArray(), Value::ToArrayIndex(), Value::ToBoolean(), StringStream::ToString(), ReplacementStringBuilder::ToString(), BinaryOpIC::Transition(), SeqString::Truncate(), Execution::TryCall(), Execution::TryGetConstructorDelegate(), Execution::TryGetFunctionDelegate(), Object::TurnOnAccessCheck(), IC::TypeError(), Exception::TypeError(), Types< Type, TypeHandle, Region >::Types(), IC::TypeToMap(), TypeFeedbackInfo::UninitializedSentinel(), HeapTypeConfig::union_create(), BreakIterator::UnpackBreakIterator(), Collator::UnpackCollator(), DateFormat::UnpackDateFormat(), NumberFormat::UnpackNumberFormat(), ArrayConcatVisitor::visit(), and HOptimizedGraphBuilder::VisitDeclarations().

Object * FindCodeObject ( Address  a)

Definition at line 2286 of file isolate.cc.

Referenced by JavaScriptFrame::PrintTop(), and StubFrame::unchecked_code().

Isolate::PerIsolateThreadData * FindPerThreadDataForThisThread ( )
Isolate::PerIsolateThreadData * FindPerThreadDataForThread ( ThreadId  thread_id)

Definition at line 171 of file isolate.cc.

References v8::internal::NULL.

Referenced by Isolate::FindPerThreadDataForThisThread().

void* formal_count_address ( )
inline

Definition at line 667 of file isolate.h.

void FreeThreadResources ( )
inline

Definition at line 685 of file isolate.h.

Referenced by ThreadManager::FreeThreadResources().

FunctionEntryHook function_entry_hook ( )
inline

Definition at line 1099 of file isolate.h.

Referenced by Isolate::set_function_entry_hook(), and V8::SetFunctionEntryHook().

Address get_address_from_id ( Isolate::AddressId  id)

Definition at line 247 of file isolate.cc.

References Isolate::id().

Map * get_initial_js_array_map ( ElementsKind  kind)

Definition at line 2235 of file isolate.cc.

References Context::native_context(), and NULL.

Handle< Context > GetCallingNativeContext ( )
void* GetData ( uint32_t  slot)
inline

Definition at line 1007 of file isolate.h.

References ASSERT, and Internals::kNumIsolateDataSlots.

Referenced by UNINITIALIZED_TEST().

v8::Isolate * GetDefaultIsolateForLocking ( )
static

Definition at line 241 of file isolate.cc.

References Isolate::EnsureDefaultIsolate().

StackGuard * GetDefaultIsolateStackGuard ( )
static

Definition at line 223 of file isolate.cc.

References Isolate::EnsureDefaultIsolate(), and Isolate::stack_guard().

Referenced by V8::TerminateExecution().

HStatistics * GetHStatistics ( )

Definition at line 2217 of file isolate.cc.

References NULL.

Referenced by OptimizedCompileJob::CreateGraph().

HTracer * GetHTracer ( )

Definition at line 2223 of file isolate.cc.

References NULL.

Referenced by CodeStubGraphBuilderBase::BuildGraph(), and OptimizedCompileJob::CreateGraph().

MessageLocation GetMessageLocation ( )

Definition at line 1301 of file isolate.cc.

References ASSERT, Script::cast(), Isolate::has_pending_exception(), and Isolate::heap().

Handle< Context > global_context ( )

Definition at line 1377 of file isolate.cc.

References Isolate::context(), and Context::global_object().

Referenced by ScriptCompiler::CompileUnbound().

Handle<GlobalObject> global_object ( )
inline

Definition at line 671 of file isolate.h.

References Isolate::context(), and Context::global_object().

Object* global_proxy ( )
inline

Definition at line 676 of file isolate.h.

References Isolate::context(), and Context::global_proxy().

void GlobalTearDown ( )
static

Definition at line 1618 of file isolate.cc.

Referenced by V8::TearDown().

static Address handler ( ThreadLocalTop *  thread)
inlinestatic
Address* handler_address ( )
inline

Definition at line 656 of file isolate.h.

bool has_installed_extensions ( )
inline

Definition at line 954 of file isolate.h.

Referenced by StartupSerializer::SerializeStrongReferences().

Address has_pending_message_address ( )
inline

Definition at line 618 of file isolate.h.

Heap* heap ( )
inline

Definition at line 875 of file isolate.h.

Referenced by Isolate::AddGCEpilogueCallback(), V8::AddGCEpilogueCallback(), Isolate::AddGCPrologueCallback(), V8::AddGCPrologueCallback(), V8::AddMessageListener(), CompilationSubCache::Age(), DescriptorArray::Allocate(), DeoptimizationInputData::Allocate(), DeoptimizationOutputData::Allocate(), MemoryAllocator::AllocateChunk(), MemoryAllocator::AllocateLargePage(), MemoryAllocator::AllocatePage(), Context::AllowCodeGenerationFromStrings(), StackGuard::ArchiveStackGuard(), CodeStubGraphBuilder< Stub >::BuildCodeInitializedStub(), String::CanMakeExternal(), check(), StackGuard::ClearThread(), Compiler::CompileScript(), v8::internal::ConstantIsObject(), V8::ContextDisposedNotification(), JSObject::Copy(), GlobalHandles::Create(), EternalHandles::Create(), Runtime::CreateArrayLiteralBoilerplate(), JSObject::DefineAccessor(), DictionaryElementsAccessor::DeleteCommon(), Runtime::DeleteObjectProperty(), Deoptimizer::DeoptimizeAll(), Deoptimizer::DeoptimizeMarkedCode(), Deserializer::Deserialize(), Deserializer::DeserializePartial(), Isolate::DoThrow(), ScopeInfo::Empty(), JSObject::EnsureWritableFastElements(), EscapableHandleScope::EscapableHandleScope(), CodeFlusher::EvictCandidate(), CodeFlusher::EvictOptimizedCodeMap(), ExternalizeStringExtension::Externalize(), HashTable< Shape, Key >::FindEntry(), MemoryAllocator::Free(), Runtime::FreeArrayBuffer(), Heap::FreeQueuedChunks(), JSObject::Freeze(), FunctionCallbackArguments::FunctionCallbackArguments(), InnerPointerToCodeCache::GcSafeFindCodeForInnerPointer(), StatisticsExtension::GetCounters(), Deoptimizer::GetDeoptimizedCodeCount(), Object::GetElementWithReceiver(), v8::internal::GetEnumPropertyKeys(), Compiler::GetFunctionFromEval(), Isolate::GetHeapStatistics(), v8::internal::GetKeysInFixedArrayFor(), Object::GetMarkerMap(), Isolate::GetMessageLocation(), Object::GetProperty(), JSProxy::GetPropertyWithHandler(), Object::GetPrototype(), Factory::GlobalConstantFor(), Execution::HandleStackGuardInterrupt(), Map::has_code_cache(), Runtime::HasObjectProperty(), CcTest::heap(), StubCache::heap(), Factory::hidden_string(), GlobalHandles::IdentifyNewSpaceWeakIndependentHandles(), V8::IdleNotification(), BASE_EMBEDDED< Visitor >::Initialize(), v8::internal::InitScriptLineEnds(), StackGuard::InitThread(), PromotionQueue::insert(), Isolate::is_catchable_by_javascript(), Value::IsBooleanObject(), Value::IsDate(), StringTracker::IsFreshUnusedString(), Accessors::IsJSObjectFieldAccessor(), Value::IsNumberObject(), Value::IsStringObject(), Value::IsSymbolObject(), Expression::IsUndefinedLiteral(), SerializerDeserializer::Iterate(), CompilationSubCache::IterateFunctions(), GlobalHandles::IterateObjectGroups(), CodeFlusher::IteratePointersToFromSpace(), KeyedLoadIC::Load(), Logger::LogAccessorCallbacks(), Logger::LogCodeObjects(), Logger::LogCompiledFunctions(), Logger::LogExistingFunction(), JSObject::LookupRealNamedPropertyInPrototypes(), v8::internal::LookupSingleCharacterStringFromCode(), V8::LowMemoryNotification(), main(), CodeGenerator::MakeCodeEpilogue(), String::MakeExternal(), JSObject::MigrateToMap(), Bootstrapper::NativesSourceLookup(), V8_FINAL< kOperandKind, kNumCachedOperands >::New(), BooleanObject::New(), String::NewExternal(), Factory::NewFunctionFromSharedFunctionInfo(), Runtime::PerformGC(), GlobalHandles::PostGarbageCollectionProcessing(), JSObject::PrepareElementsForSort(), StringStream::PrintPrototype(), StringStream::PrintSecurityTokenIfChanged(), PropertyCallbackArguments::PropertyCallbackArguments(), Compiler::RecordFunctionCompilation(), StringTracker::RecordWrite(), IncrementalMarking::RecordWriteFromCode(), Isolate::RemoveGCEpilogueCallback(), V8::RemoveGCEpilogueCallback(), Isolate::RemoveGCPrologueCallback(), V8::RemoveGCPrologueCallback(), V8::RemoveMessageListeners(), MessageHandler::ReportMessage(), Isolate::ReportPendingMessages(), StackGuard::RequestGC(), StackGuard::RequestInstallCode(), StackGuard::RestoreStackGuard(), Serializer::RootIndex(), v8::internal::RUNTIME_FUNCTION(), Heap::ScavengeObject(), StartupSerializer::SerializeStrongReferences(), StartupSerializer::SerializeWeakReferences(), JSObject::SetLocalPropertyIgnoreAttributes(), JSObject::SetObserved(), JSObject::SetPropertyForResult(), JSObject::SetPrototype(), v8::SetResourceConstraints(), Builtins::SetUp(), Runtime::SetupArrayBuffer(), Runtime::SetupArrayBufferAllocatingData(), JSDate::SetValue(), PartialSerializer::ShouldBeInThePartialSnapshotCache(), Serializer::ShouldBeSkipped(), KeyedStoreIC::Store(), StoreBuffer::StoreBufferOverflow(), JSObjectWalkVisitor< ContextObject >::StructureWalk(), OptimizedFrame::Summarize(), Logger::SuspectReadEvent(), TEST(), TestViewFromApi(), Isolate::ThrowException(), JSObject::TransitionElementsKind(), Execution::TryCall(), EntryFrame::unchecked_code(), EntryConstructFrame::unchecked_code(), UNINITIALIZED_TEST(), ContextSlotCache::Update(), KeyedLookupCache::Update(), Deoptimizer::VisitAllOptimizedFunctions(), V8::VisitExternalResources(), Serializer::VisitPointers(), and VerifyPointersVisitor::VisitPointers().

HeapProfiler* heap_profiler ( ) const
inline
int id ( ) const
inline

Definition at line 1093 of file isolate.h.

Referenced by Isolate::get_address_from_id(), and Isolate::NextOptimizationId().

bool initialized_from_snapshot ( )
inline

Definition at line 1019 of file isolate.h.

void InitializeLoggingAndCounters ( )
INLINE ( static Isolate Current())
inline

Definition at line 469 of file isolate.h.

References ASSERT, Thread::GetExistingThreadLocal(), and v8::internal::NULL.

INLINE ( static Isolate UncheckedCurrent())
inline

Definition at line 476 of file isolate.h.

References Thread::GetThreadLocal().

unibrow::Mapping<unibrow::Ecma262Canonicalize>* interp_canonicalize_mapping ( )
inline

Definition at line 964 of file isolate.h.

bool is_catchable_by_javascript ( MaybeObject *  exception)
inline

Definition at line 640 of file isolate.h.

References Isolate::heap().

Referenced by Isolate::DoThrow(), Isolate::IsExternallyCaught(), and Isolate::ReThrow().

bool IsCodePreAgingActive ( )
inline

Definition at line 51 of file isolate-inl.h.

References Isolate::IsDebuggerActive().

bool IsDead ( )
inline

Definition at line 1014 of file isolate.h.

Referenced by V8::Initialize(), and V8::IsDead().

bool IsDebuggerActive ( )
inline
bool IsDefaultIsolate ( ) const
inline

Definition at line 501 of file isolate.h.

Referenced by V8::Dispose(), V8::TearDown(), Locker::~Locker(), and Unlocker::~Unlocker().

bool IsFastArrayConstructorPrototypeChainIntact ( )
bool IsInUse ( )
inline

Definition at line 492 of file isolate.h.

References v8::internal::NULL.

Referenced by Isolate::Dispose().

static Thread::LocalStorageKey isolate_key ( )
inlinestatic

Definition at line 531 of file isolate.h.

void Iterate ( ObjectVisitor *  v)
void Iterate ( ObjectVisitor *  v,
ThreadLocalTop *  t 
)
char * Iterate ( ObjectVisitor *  v,
char *  t 
)

Definition at line 252 of file isolate.cc.

References Isolate::Iterate().

void IterateDeferredHandles ( ObjectVisitor *  visitor)

Definition at line 307 of file isolate.cc.

References v8::internal::NULL.

Referenced by Heap::IterateStrongRoots().

void IterateThread ( ThreadVisitor v,
char *  t 
)

Definition at line 259 of file isolate.cc.

References ThreadVisitor::VisitThread().

Referenced by ThreadManager::IterateArchivedThreads().

Address js_entry_sp ( )
inline

Definition at line 659 of file isolate.h.

Referenced by TraceExtension::GetJsEntrySp(), TickSample::Init(), and CpuProfiler::SetIdle().

Address* js_entry_sp_address ( )
inline

Definition at line 662 of file isolate.h.

unibrow::Mapping<unibrow::CanonicalizationRange>* jsregexp_canonrange ( )
inline

Definition at line 930 of file isolate.h.

Referenced by CharacterRange::AddCaseEquivalents().

unibrow::Mapping<unibrow::Ecma262UnCanonicalize>* jsregexp_uncanonicalize ( )
inline

Definition at line 926 of file isolate.h.

Referenced by CharacterRange::AddCaseEquivalents().

KeyedLookupCache* keyed_lookup_cache ( )
inline

Definition at line 888 of file isolate.h.

Referenced by v8::internal::RUNTIME_FUNCTION().

void LinkDeferredHandles ( DeferredHandles deferred_handles)

Definition at line 2187 of file isolate.cc.

References NULL.

MaterializedObjectStore* materialized_object_store ( )
inline

Definition at line 880 of file isolate.h.

Referenced by Deoptimizer::MaterializeHeapObjects().

bool MayIndexedAccess ( JSObject receiver,
uint32_t  index,
v8::AccessType  type 
)
bool MayIndexedAccessWrapper ( Handle< JSObject receiver,
uint32_t  index,
v8::AccessType  type 
)
inline
int NextOptimizationId ( )
inline

Definition at line 1111 of file isolate.h.

References Isolate::id(), and Smi::IsValid().

Referenced by CompilationInfo::SetOptimizing().

NO_INLINE ( void   PushStackTraceAndDieunsigned int magic, Object *object, Map *map, unsigned int magic2)
void NotifyExtensionInstalled ( )
inline

Definition at line 950 of file isolate.h.

int num_sweeper_threads ( ) const
inline

Definition at line 1080 of file isolate.h.

Referenced by MarkCompactCollector::WaitUntilSweepingCompleted().

ConsStringIteratorOp* objects_string_compare_iterator_a ( )
inline

Definition at line 934 of file isolate.h.

ConsStringIteratorOp* objects_string_compare_iterator_b ( )
inline

Definition at line 938 of file isolate.h.

StaticResource<ConsStringIteratorOp>* objects_string_iterator ( )
inline

Definition at line 942 of file isolate.h.

Referenced by String::ToCString(), and String::ToWideCString().

OptimizingCompilerThread* optimizing_compiler_thread ( )
inline
MaybeObject** pending_exception_address ( )
inline

Definition at line 583 of file isolate.h.

Address pending_message_obj_address ( )
inline

Definition at line 614 of file isolate.h.

Address pending_message_script_address ( )
inline

Definition at line 622 of file isolate.h.

static Thread::LocalStorageKey per_isolate_thread_data_key ( )
static
Failure * PromoteScheduledException ( )
void PushToPartialSnapshotCache ( Object obj)

Definition at line 1683 of file isolate.cc.

References obj.

Referenced by SerializerDeserializer::Iterate(), and PartialSerializer::PartialSnapshotCacheIndex().

RandomNumberGenerator * random_number_generator ( )
inline
unibrow::Mapping<unibrow::Ecma262Canonicalize>* regexp_macro_assembler_canonicalize ( )
inline

Definition at line 957 of file isolate.h.

Referenced by NativeRegExpMacroAssembler::CaseInsensitiveCompareUC16().

void RegisterTryCatchHandler ( v8::TryCatch that)

Definition at line 339 of file isolate.cc.

References SimulatorStack::RegisterCTryCatch(), and Isolate::thread_local_top().

Referenced by TryCatch::TryCatch().

void ReportFailedAccessCheck ( JSObject receiver,
v8::AccessType  type 
)
void RestorePendingMessageFromTryCatch ( v8::TryCatch handler)
char * RestoreThread ( char *  from)
RuntimeProfiler* runtime_profiler ( )
inline

Definition at line 866 of file isolate.h.

Referenced by Execution::HandleStackGuardInterrupt(), and IC::PostPatching().

RuntimeState* runtime_state ( )
inline

Definition at line 946 of file isolate.h.

Zone* runtime_zone ( )
inline

Definition at line 906 of file isolate.h.

MaybeObject* scheduled_exception ( )
inline
MaybeObject** scheduled_exception_address ( )
inline

Definition at line 610 of file isolate.h.

void set_context ( Context context)
inline
void set_date_cache ( DateCache date_cache)
inline

Definition at line 1029 of file isolate.h.

References Isolate::date_cache().

void set_function_entry_hook ( FunctionEntryHook  function_entry_hook)
inline

Definition at line 1100 of file isolate.h.

References Isolate::function_entry_hook().

Referenced by V8::SetFunctionEntryHook().

void set_pending_exception ( MaybeObject *  exception)
inline
void SetCaptureStackTraceForUncaughtExceptions ( bool  capture,
int  frame_limit,
StackTrace::StackTraceOptions  options 
)

Definition at line 1362 of file isolate.cc.

void SetCrashIfDefaultIsolateInitialized ( )
static
void SetData ( uint32_t  slot,
void *  data 
)
inline

Definition at line 1003 of file isolate.h.

References ASSERT, and Internals::kNumIsolateDataSlots.

void SetFailedAccessCheckCallback ( v8::FailedAccessCheckCallback  callback)

Definition at line 714 of file isolate.cc.

References Isolate::thread_local_top().

Referenced by V8::SetFailedAccessCheckCallbackFunction().

bool ShouldReportException ( bool *  can_be_caught_externally,
bool  catchable_by_javascript 
)
void SignalFatalError ( )
inline

Definition at line 1015 of file isolate.h.

void* stress_deopt_count_address ( )
inline

Definition at line 1104 of file isolate.h.

StringTracker* string_tracker ( )
inline

Definition at line 924 of file isolate.h.

Referenced by String::CanMakeExternal(), and String::MakeExternal().

void TearDown ( )

Definition at line 1587 of file isolate.cc.

References NULL, and TRACE_ISOLATE.

Referenced by Isolate::Dispose(), and V8::TearDown().

Failure * TerminateExecution ( )
static Thread::LocalStorageKey thread_id_key ( )
inlinestatic

Definition at line 536 of file isolate.h.

Failure * ThrowIllegalOperation ( )

Definition at line 944 of file isolate.cc.

References Isolate::PrintStack(), and Isolate::Throw().

Referenced by v8::internal::TransitionElements().

double time_millis_since_init ( )
inline

Definition at line 1021 of file isolate.h.

References OS::TimeCurrentMillis().

Address try_catch_handler_address ( )
inline

Definition at line 601 of file isolate.h.

Referenced by Isolate::OptionalRescheduleException().

UnicodeCache* unicode_cache ( )
inline
void UnlinkDeferredHandles ( DeferredHandles deferred_handles)

Definition at line 2196 of file isolate.cc.

References ASSERT, and NULL.

void UnregisterTryCatchHandler ( v8::TryCatch that)
bool use_crankshaft ( ) const
inline

Definition at line 1017 of file isolate.h.

Referenced by Compiler::GetUnoptimizedCode(), and TEST().

ConsStringIteratorOp* write_iterator ( )
inline

Definition at line 916 of file isolate.h.

Friends And Related Function Documentation

friend class ExecutionAccess
friend

Definition at line 1342 of file isolate.h.

friend struct GlobalState
friend

Definition at line 1125 of file isolate.h.

friend class HandleScopeImplementer
friend

Definition at line 1343 of file isolate.h.

friend struct InitializeGlobalState
friend

Definition at line 1126 of file isolate.h.

friend class IsolateInitializer
friend

Definition at line 1344 of file isolate.h.

friend class OptimizingCompilerThread
friend

Definition at line 1345 of file isolate.h.

friend class Simulator
friend

Definition at line 1348 of file isolate.h.

friend class StackGuard
friend

Definition at line 1349 of file isolate.h.

friend class SweeperThread
friend

Definition at line 1346 of file isolate.h.

friend class TestCodeRangeScope
friend

Definition at line 1352 of file isolate.h.

friend class TestMemoryAllocatorScope
friend

Definition at line 1351 of file isolate.h.

friend class ThreadId
friend

Definition at line 1350 of file isolate.h.

friend class ThreadManager
friend

Definition at line 1347 of file isolate.h.

friend class v8::Isolate
friend

Definition at line 1353 of file isolate.h.

friend class v8::Locker
friend

Definition at line 1354 of file isolate.h.

friend class v8::Unlocker
friend

Definition at line 1355 of file isolate.h.

Field Documentation

const int kBMMaxShift = 250
static

Definition at line 825 of file isolate.h.

const int kJSRegexpStaticOffsetsVectorSize = 128
static
const char *const kStackOverflowMessage
static
Initial value:
=
"Uncaught RangeError: Maximum call stack size exceeded"

Definition at line 822 of file isolate.h.

const int kUC16AlphabetSize = 256
static

Definition at line 824 of file isolate.h.


The documentation for this class was generated from the following files: