v8  3.14.5(node0.10.28)
V8 is Google's open source JavaScript engine
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
isolate.h File Reference
#include "../include/v8-debug.h"
#include "allocation.h"
#include "apiutils.h"
#include "atomicops.h"
#include "builtins.h"
#include "contexts.h"
#include "execution.h"
#include "frames.h"
#include "date.h"
#include "global-handles.h"
#include "handles.h"
#include "hashmap.h"
#include "heap.h"
#include "optimizing-compiler-thread.h"
#include "regexp-stack.h"
#include "runtime-profiler.h"
#include "runtime.h"
#include "zone.h"
Include dependency graph for isolate.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

class  ThreadId
 
class  BASE_EMBEDDED< Visitor >
 
class  Isolate
 
class  Isolate::PerIsolateThreadData
 
class  Isolate::ExceptionScope
 
class  BASE_EMBEDDED< Visitor >
 
class  BASE_EMBEDDED< Visitor >
 
class  BASE_EMBEDDED< Visitor >
 
class  BASE_EMBEDDED< Visitor >
 
class  BASE_EMBEDDED< Visitor >
 

Namespaces

 v8
 
 v8::internal
 

Macros

#define RETURN_IF_SCHEDULED_EXCEPTION(isolate)
 
#define RETURN_IF_EMPTY_HANDLE_VALUE(isolate, call, value)
 
#define CHECK_NOT_EMPTY_HANDLE(isolate, call)
 
#define RETURN_IF_EMPTY_HANDLE(isolate, call)   RETURN_IF_EMPTY_HANDLE_VALUE(isolate, call, Failure::Exception())
 
#define FOR_EACH_ISOLATE_ADDRESS_NAME(C)
 
#define ISOLATE_DEBUGGER_INIT_LIST(V)
 
#define ISOLATE_INIT_DEBUG_ARRAY_LIST(V)
 
#define ISOLATE_INIT_ARRAY_LIST(V)
 
#define ISOLATE_INIT_LIST(V)
 
#define DECLARE_ENUM(CamelName, hacker_name)   k##CamelName##Address,
 
#define GLOBAL_ACCESSOR(type, name, initialvalue)
 
#define GLOBAL_ARRAY_ACCESSOR(type, name, length)
 
#define NATIVE_CONTEXT_FIELD_ACCESSOR(index, type, name)
 
#define GLOBAL_BACKING_STORE(type, name, initialvalue)   type name##_;
 
#define GLOBAL_ARRAY_BACKING_STORE(type, name, length)   type name##_[length];
 
#define HEAP   (v8::internal::Isolate::Current()->heap())
 
#define FACTORY   (v8::internal::Isolate::Current()->factory())
 
#define ISOLATE   (v8::internal::Isolate::Current())
 
#define LOGGER   (v8::internal::Isolate::Current()->logger())
 

Typedefs

typedef void * ExternalReferenceRedirectorPointer ()
 
typedef List< HeapObject
*, PreallocatedStorageAllocationPolicy > 
DebugObjectCache
 

Macro Definition Documentation

#define CHECK_NOT_EMPTY_HANDLE (   isolate,
  call 
)
Value:
do { \
ASSERT(!(isolate)->has_pending_exception()); \
CHECK(!(call).is_null()); \
CHECK(!(isolate)->has_pending_exception()); \
} while (false)
#define ASSERT(condition)
Definition: checks.h:270
#define CHECK(condition)
Definition: checks.h:56

Definition at line 128 of file isolate.h.

Referenced by Isolate::CaptureCurrentStackTrace(), and Factory::NewFunctionWithPrototype().

#define DECLARE_ENUM (   CamelName,
  hacker_name 
)    k##CamelName##Address,

Definition at line 425 of file isolate.h.

#define FOR_EACH_ISOLATE_ADDRESS_NAME (   C)
Value:
C(Handler, handler) \
C(CEntryFP, c_entry_fp) \
C(Context, context) \
C(PendingException, pending_exception) \
C(ExternalCaughtException, external_caught_exception) \
C(JSEntrySP, js_entry_sp)

Definition at line 138 of file isolate.h.

Referenced by Isolate::Init().

#define GLOBAL_ACCESSOR (   type,
  name,
  initialvalue 
)
Value:
inline type name() const { \
ASSERT(OFFSET_OF(Isolate, name##_) == name##_debug_offset_); \
return name##_; \
} \
inline void set_##name(type value) { \
ASSERT(OFFSET_OF(Isolate, name##_) == name##_debug_offset_); \
name##_ = value; \
}
#define ASSERT(condition)
Definition: checks.h:270
#define OFFSET_OF(type, field)
Definition: globals.h:273
#define _

Definition at line 791 of file isolate.h.

#define GLOBAL_ARRAY_ACCESSOR (   type,
  name,
  length 
)
Value:
inline type* name() { \
ASSERT(OFFSET_OF(Isolate, name##_) == name##_debug_offset_); \
return &(name##_)[0]; \
}
#define ASSERT(condition)
Definition: checks.h:270
#define OFFSET_OF(type, field)
Definition: globals.h:273
#define _

Definition at line 803 of file isolate.h.

#define GLOBAL_ARRAY_BACKING_STORE (   type,
  name,
  length 
)    type name##_[length];

Definition at line 1276 of file isolate.h.

#define GLOBAL_BACKING_STORE (   type,
  name,
  initialvalue 
)    type name##_;

Definition at line 1271 of file isolate.h.

#define HEAP   (v8::internal::Isolate::Current()->heap())

Definition at line 1433 of file isolate.h.

Referenced by DeoptimizationInputData::Allocate(), DeoptimizationOutputData::Allocate(), AlwaysAllocateScope::AlwaysAllocateScope(), PolymorphicCodeCacheHashTableKey::AsObject(), AsciiSymbolKey::AsObject(), SubStringAsciiSymbolKey::AsObject(), TwoByteSymbolKey::AsObject(), LiveObjectList::Capture(), DeclarationContext::Check(), check(), Compiler::Compile(), Compiler::CompileEval(), Call::ComputeGlobalTarget(), v8::internal::CopyObjectToObjectElements(), CountNativeContexts(), DirectApiCallback(), DirectGetterCallback(), DisallowAllocationFailure::DisallowAllocationFailure(), DisposeAndForceGcCallback(), LiveObjectList::Dump(), ScopeInfo::Empty(), ExternalizeStringExtension::Externalize(), FailedAccessCheckCallbackGC(), HeapSnapshotsCollection::FindHeapObjectById(), MemoryChunk::FromAnyPointerAddress(), GCExtension::GC(), HeapObjectsMap::GenerateId(), FixedDoubleArray::get_representation(), FixedDoubleArray::get_scalar(), BASE_EMBEDDED< Visitor >::GetCallbackObject(), StringsStorage::GetCopy(), Object::GetElement(), LiveObjectList::GetObj(), LiveObjectList::GetObjId(), LiveObjectList::GetObjRetainers(), LiveObjectList::GetPath(), StringsStorage::GetVFormatted(), HeapObjectIterator::HeapObjectIterator(), V8::IdleNotification(), HConstant::ImmortalImmovable(), LiveObjectList::Info(), BASE_EMBEDDED< Visitor >::Initialize(), MarkCompactMarkingVisitor::INLINE(), HConstant::InOldSpace(), PromotionQueue::insert(), HArrayLiteral::IsCopyOnWrite(), DescriptorArray::IsEmpty(), BASE_EMBEDDED< Visitor >::KeyToSymbol(), Logger::LogAccessorCallbacks(), Logger::LogCodeObjects(), Logger::LogCompiledFunctions(), main(), Context::mark_out_of_memory(), FreeListNode::next(), FreeListNode::next_address(), FixedArray::NoIncrementalWriteBarrierSet(), FixedArray::NoWriteBarrierSet(), StringStream::PrintFixedArray(), StringStream::PrintFunction(), LiveObjectList::PrintObj(), StringStream::PrintPrototype(), StringStream::PrintUsingMap(), Serializer::PutRoot(), Serializer::RootIndex(), ThreadB::Run(), v8::internal::RUNTIME_FUNCTION(), Heap::ScavengeObject(), StartupSerializer::SerializeStrongReferences(), StartupSerializer::SerializeWeakReferences(), FixedArray::set(), FixedDoubleArray::set(), JSFunction::set_code(), JSBuiltinsObject::set_javascript_builtin_code(), FreeListNode::set_next(), FixedArray::set_the_hole(), FixedDoubleArray::set_the_hole(), FixedArray::set_undefined(), PartialSerializer::ShouldBeInThePartialSnapshotCache(), Serializer::SpaceOfObject(), LiveObjectList::Summarize(), Logger::SuspectReadEvent(), TEST(), THREADED_TEST(), Execution::ToBoolean(), EntryFrame::unchecked_code(), EntryConstructFrame::unchecked_code(), ContextSlotCache::Update(), KeyedLookupCache::Update(), Serializer::ObjectSerializer::VisitExternalAsciiString(), Serializer::ObjectSerializer::VisitPointers(), VerifyPointersVisitor::VisitPointers(), AlwaysAllocateScope::~AlwaysAllocateScope(), and DisallowAllocationFailure::~DisallowAllocationFailure().

#define ISOLATE_DEBUGGER_INIT_LIST (   V)

Definition at line 294 of file isolate.h.

#define ISOLATE_INIT_ARRAY_LIST (   V)
Value:
/* SerializerDeserializer state. */ \
V(int32_t, jsregexp_static_offsets_vector, kJSRegexpStaticOffsetsVectorSize) \
V(int, bad_char_shift_table, kUC16AlphabetSize) \
V(int, good_suffix_shift_table, (kBMMaxShift + 1)) \
V(int, suffix_table, (kBMMaxShift + 1)) \
V(uint32_t, private_random_seed, 2) \
int int32_t
Definition: unicode.cc:47
#define ISOLATE_INIT_DEBUG_ARRAY_LIST(V)
Definition: isolate.h:305

Definition at line 309 of file isolate.h.

#define ISOLATE_INIT_DEBUG_ARRAY_LIST (   V)

Definition at line 305 of file isolate.h.

#define ISOLATE_INIT_LIST (   V)

Definition at line 320 of file isolate.h.

#define LOGGER   (v8::internal::Isolate::Current()->logger())
#define NATIVE_CONTEXT_FIELD_ACCESSOR (   index,
  type,
  name 
)
Value:
Handle<type> name() { \
return Handle<type>(context()->native_context()->name()); \
}

Definition at line 811 of file isolate.h.

#define RETURN_IF_EMPTY_HANDLE (   isolate,
  call 
)    RETURN_IF_EMPTY_HANDLE_VALUE(isolate, call, Failure::Exception())
#define RETURN_IF_EMPTY_HANDLE_VALUE (   isolate,
  call,
  value 
)
Value:
do { \
if ((call).is_null()) { \
ASSERT((isolate)->has_pending_exception()); \
return (value); \
} \
} while (false)
#define ASSERT(condition)
Definition: checks.h:270

Definition at line 120 of file isolate.h.

#define RETURN_IF_SCHEDULED_EXCEPTION (   isolate)
Value:
do { \
Isolate* __isolate__ = (isolate); \
if (__isolate__->has_scheduled_exception()) { \
return __isolate__->PromoteScheduledException(); \
} \
} while (false)

Definition at line 112 of file isolate.h.

Referenced by JSObject::GetElementWithInterceptor(), JSObject::GetPropertyWithCallback(), JSObject::GetPropertyWithInterceptor(), v8::internal::RUNTIME_FUNCTION(), JSObject::SetPropertyWithCallback(), and JSObject::SetPropertyWithInterceptor().