Chrome V8 - 5.9.0.0
(master)
v8.h File Reference
#include <stddef.h>
#include <stdint.h>
#include <stdio.h>
#include <memory>
#include <utility>
#include <vector>
#include "v8-version.h"
#include "v8config.h"
Include dependency graph for v8.h:

Go to the source code of this file.

Classes

class  v8::Maybe< T >
 
class  v8::Local< T >
 
class  v8::MaybeLocal< T >
 
class  v8::Eternal< T >
 
class  v8::NonCopyablePersistentTraits< T >
 
class  v8::PersistentBase< T >
 
class  v8::Persistent< T, M >
 
class  v8::Global< T >
 
class  v8::PersistentValueMap< K, V, Traits >
 
class  v8::PersistentValueMapBase< K, V, Traits >
 
class  v8::GlobalValueMap< K, V, Traits >
 
class  v8::PersistentValueVector< V, Traits >
 
class  v8::WeakCallbackObject< T, P >
 
class  v8::FunctionCallbackInfo< T >
 
class  v8::PropertyCallbackInfo< T >
 
class  v8::ReturnValue< T >
 
class  v8::internal::CustomArguments< T >
 
class  v8::Local< T >
 
class  v8::MaybeLocal< T >
 
class  v8::Eternal< T >
 
class  v8::WeakCallbackInfo< T >
 
class  v8::PersistentBase< T >
 
class  v8::NonCopyablePersistentTraits< T >
 
struct  v8::CopyablePersistentTraits< T >
 
class  v8::Persistent< T, M >
 
class  v8::Global< T >
 
class  v8::HandleScope
 
class  v8::EscapableHandleScope
 
class  v8::SealHandleScope
 
class  v8::Data
 
class  v8::ScriptOriginOptions
 
class  v8::ScriptOrigin
 
class  v8::UnboundScript
 
class  v8::Module
 
class  v8::Script
 
class  v8::ScriptCompiler
 
struct  v8::ScriptCompiler::CachedData
 
class  v8::ScriptCompiler::Source
 
class  v8::ScriptCompiler::ExternalSourceStream
 
class  v8::ScriptCompiler::StreamedSource
 
class  v8::ScriptCompiler::ScriptStreamingTask
 
class  v8::Message
 
class  v8::StackTrace
 
class  v8::StackFrame
 
struct  v8::RegisterState
 
struct  v8::SampleInfo
 
class  v8::JSON
 
class  v8::ValueSerializer
 
class  v8::ValueSerializer::Delegate
 
class  v8::ValueDeserializer
 
class  v8::ValueDeserializer::Delegate
 
class  v8::NativeWeakMap
 
class  v8::Value
 
class  v8::Primitive
 
class  v8::Boolean
 
class  v8::Name
 
class  v8::String
 
class  v8::String::ExternalStringResourceBase
 
class  v8::String::ExternalStringResource
 
class  v8::String::ExternalOneByteStringResource
 
class  v8::String::Utf8Value
 
class  v8::String::Value
 
class  v8::Symbol
 
class  v8::Private
 
class  v8::Number
 
class  v8::Integer
 
class  v8::Int32
 
class  v8::Uint32
 
class  v8::Object
 
class  v8::Array
 
class  v8::Map
 
class  v8::Set
 
class  v8::ReturnValue< T >
 
class  v8::FunctionCallbackInfo< T >
 
class  v8::PropertyCallbackInfo< T >
 
class  v8::Function
 
class  v8::Promise
 
class  v8::Promise::Resolver
 
class  v8::PropertyDescriptor
 
class  v8::Proxy
 
class  v8::WasmCompiledModule
 
class  v8::WasmCompiledModule::TransferrableModule
 
class  v8::WasmModuleObjectBuilder
 
class  v8::ArrayBuffer
 
class  v8::ArrayBuffer::Allocator
 
class  v8::ArrayBuffer::Contents
 
class  v8::ArrayBufferView
 
class  v8::TypedArray
 
class  v8::Uint8Array
 
class  v8::Uint8ClampedArray
 
class  v8::Int8Array
 
class  v8::Uint16Array
 
class  v8::Int16Array
 
class  v8::Uint32Array
 
class  v8::Int32Array
 
class  v8::Float32Array
 
class  v8::Float64Array
 
class  v8::DataView
 
class  v8::SharedArrayBuffer
 
class  v8::SharedArrayBuffer::Contents
 
class  v8::Date
 
class  v8::NumberObject
 
class  v8::BooleanObject
 
class  v8::StringObject
 
class  v8::SymbolObject
 
class  v8::RegExp
 
class  v8::External
 
class  v8::Template
 
class  v8::FunctionTemplate
 
struct  v8::NamedPropertyHandlerConfiguration
 
struct  v8::IndexedPropertyHandlerConfiguration
 
class  v8::ObjectTemplate
 
class  v8::Signature
 
class  v8::AccessorSignature
 
class  v8::ExternalOneByteStringResourceImpl
 
class  v8::Extension
 
class  v8::ResourceConstraints
 
class  v8::Exception
 
class  v8::PromiseRejectMessage
 
class  v8::MicrotasksScope
 
class  v8::HeapStatistics
 
class  v8::HeapSpaceStatistics
 
class  v8::HeapObjectStatistics
 
class  v8::HeapCodeStatistics
 
struct  v8::JitCodeEvent
 
struct  v8::JitCodeEvent::name_t
 
struct  v8::JitCodeEvent::line_info_t
 
class  v8::ExternalResourceVisitor
 
class  v8::PersistentHandleVisitor
 
class  v8::EmbedderHeapTracer
 
struct  v8::EmbedderHeapTracer::AdvanceTracingActions
 
struct  v8::SerializeInternalFieldsCallback
 
struct  v8::DeserializeInternalFieldsCallback
 
class  v8::Isolate
 
struct  v8::Isolate::CreateParams
 
class  v8::Isolate::Scope
 
class  v8::Isolate::DisallowJavascriptExecutionScope
 
class  v8::Isolate::AllowJavascriptExecutionScope
 
class  v8::Isolate::SuppressMicrotaskExecutionScope
 
class  v8::StartupData
 
class  v8::V8
 
class  v8::SnapshotCreator
 
class  v8::Maybe< T >
 
class  v8::TryCatch
 
class  v8::ExtensionConfiguration
 
class  v8::Context
 
class  v8::Context::Scope
 
class  v8::Unlocker
 
class  v8::Locker
 
struct  v8::internal::SmiTagging< ptr_size >
 
struct  v8::internal::SmiTagging< 4 >
 
struct  v8::internal::SmiTagging< 8 >
 
class  v8::internal::Internals
 

Namespaces

 v8
 
 v8::internal
 

Macros

#define V8_EXPORT
 
#define TYPE_CHECK(T, S)
 
#define V8_ARRAY_BUFFER_INTERNAL_FIELD_COUNT   2
 
#define V8_ARRAY_BUFFER_VIEW_INTERNAL_FIELD_COUNT   2
 
#define V8_INTRINSICS_LIST(F)
 
#define V8_DECL_INTRINSIC(name, iname)   k##name,
 

Typedefs

template<class T >
using v8::Handle = Local< T >
 
template<class T >
using v8::UniquePersistent = Global< T >
 
typedef void(* v8::AccessorGetterCallback) (Local< String > property, const PropertyCallbackInfo< Value > &info)
 
typedef void(* v8::AccessorNameGetterCallback) (Local< Name > property, const PropertyCallbackInfo< Value > &info)
 
typedef void(* v8::AccessorSetterCallback) (Local< String > property, Local< Value > value, const PropertyCallbackInfo< void > &info)
 
typedef void(* v8::AccessorNameSetterCallback) (Local< Name > property, Local< Value > value, const PropertyCallbackInfo< void > &info)
 
typedef void(* v8::FunctionCallback) (const FunctionCallbackInfo< Value > &info)
 
typedef void(* v8::NamedPropertyGetterCallback) (Local< String > property, const PropertyCallbackInfo< Value > &info)
 
typedef void(* v8::NamedPropertySetterCallback) (Local< String > property, Local< Value > value, const PropertyCallbackInfo< Value > &info)
 
typedef void(* v8::NamedPropertyQueryCallback) (Local< String > property, const PropertyCallbackInfo< Integer > &info)
 
typedef void(* v8::NamedPropertyDeleterCallback) (Local< String > property, const PropertyCallbackInfo< Boolean > &info)
 
typedef void(* v8::NamedPropertyEnumeratorCallback) (const PropertyCallbackInfo< Array > &info)
 
typedef void(* v8::GenericNamedPropertyGetterCallback) (Local< Name > property, const PropertyCallbackInfo< Value > &info)
 
typedef void(* v8::GenericNamedPropertySetterCallback) (Local< Name > property, Local< Value > value, const PropertyCallbackInfo< Value > &info)
 
typedef void(* v8::GenericNamedPropertyQueryCallback) (Local< Name > property, const PropertyCallbackInfo< Integer > &info)
 
typedef void(* v8::GenericNamedPropertyDeleterCallback) (Local< Name > property, const PropertyCallbackInfo< Boolean > &info)
 
typedef void(* v8::GenericNamedPropertyEnumeratorCallback) (const PropertyCallbackInfo< Array > &info)
 
typedef void(* v8::GenericNamedPropertyDefinerCallback) (Local< Name > property, const PropertyDescriptor &desc, const PropertyCallbackInfo< Value > &info)
 
typedef void(* v8::GenericNamedPropertyDescriptorCallback) (Local< Name > property, const PropertyCallbackInfo< Value > &info)
 
typedef void(* v8::IndexedPropertyGetterCallback) (uint32_t index, const PropertyCallbackInfo< Value > &info)
 
typedef void(* v8::IndexedPropertySetterCallback) (uint32_t index, Local< Value > value, const PropertyCallbackInfo< Value > &info)
 
typedef void(* v8::IndexedPropertyQueryCallback) (uint32_t index, const PropertyCallbackInfo< Integer > &info)
 
typedef void(* v8::IndexedPropertyDeleterCallback) (uint32_t index, const PropertyCallbackInfo< Boolean > &info)
 
typedef void(* v8::IndexedPropertyEnumeratorCallback) (const PropertyCallbackInfo< Array > &info)
 
typedef void(* v8::IndexedPropertyDefinerCallback) (uint32_t index, const PropertyDescriptor &desc, const PropertyCallbackInfo< Value > &info)
 
typedef void(* v8::IndexedPropertyDescriptorCallback) (uint32_t index, const PropertyCallbackInfo< Value > &info)
 
typedef bool(* v8::AccessCheckCallback) (Local< Context > accessing_context, Local< Object > accessed_object, Local< Value > data)
 
typedef void(* v8::FatalErrorCallback) (const char *location, const char *message)
 
typedef void(* v8::OOMErrorCallback) (const char *location, bool is_heap_oom)
 
typedef void(* v8::MessageCallback) (Local< Message > message, Local< Value > data)
 
typedef void(* v8::LogEventCallback) (const char *name, int event)
 
typedef int *(* v8::CounterLookupCallback) (const char *name)
 
typedef void *(* v8::CreateHistogramCallback) (const char *name, int min, int max, size_t buckets)
 
typedef void(* v8::AddHistogramSampleCallback) (void *histogram, int sample)
 
typedef void(* v8::BeforeCallEnteredCallback) (Isolate *)
 
typedef void(* v8::CallCompletedCallback) (Isolate *)
 
typedef void(* v8::DeprecatedCallCompletedCallback) ()
 
typedef void(* v8::PromiseHook) (PromiseHookType type, Local< Promise > promise, Local< Value > parent)
 
typedef void(* v8::PromiseRejectCallback) (PromiseRejectMessage message)
 
typedef void(* v8::MicrotasksCompletedCallback) (Isolate *)
 
typedef void(* v8::MicrotaskCallback) (void *data)
 
typedef void(* v8::FailedAccessCheckCallback) (Local< Object > target, AccessType type, Local< Value > data)
 
typedef bool(* v8::AllowCodeGenerationFromStringsCallback) (Local< Context > context)
 
typedef bool(* v8::ExtensionCallback) (const FunctionCallbackInfo< Value > &)
 
typedef void(* v8::GCCallback) (GCType type, GCCallbackFlags flags)
 
typedef void(* v8::InterruptCallback) (Isolate *isolate, void *data)
 
typedef void(* v8::FunctionEntryHook) (uintptr_t function, uintptr_t return_addr_location)
 
typedef void(* v8::JitCodeEventHandler) (const JitCodeEvent *event)
 
typedef SerializeInternalFieldsCallback v8::SerializeEmbedderFieldsCallback
 
typedef DeserializeInternalFieldsCallback v8::DeserializeEmbedderFieldsCallback
 
typedef bool(* v8::EntropySource) (unsigned char *buffer, size_t length)
 
typedef uintptr_t(* v8::ReturnAddressLocationResolver) (uintptr_t return_addr_location)
 
typedef SmiTagging< kApiPointerSize > v8::internal::PlatformSmiTagging
 

Enumerations

enum  v8::WeakCallbackType { v8::WeakCallbackType::kParameter, v8::WeakCallbackType::kInternalFields, v8::WeakCallbackType::kFinalizer }
 
enum  v8::StateTag {
  v8::JS, v8::GC, v8::COMPILER, v8::OTHER,
  v8::EXTERNAL, v8::IDLE
}
 
enum  v8::NewStringType { v8::NewStringType::kNormal, v8::NewStringType::kInternalized }
 
enum  v8::PropertyAttribute { v8::None = 0, v8::ReadOnly = 1 << 0, v8::DontEnum = 1 << 1, v8::DontDelete = 1 << 2 }
 
enum  v8::AccessControl { v8::DEFAULT = 0, v8::ALL_CAN_READ = 1, v8::ALL_CAN_WRITE = 1 << 1, v8::PROHIBITS_OVERWRITING = 1 << 2 }
 
enum  v8::PropertyFilter {
  v8::ALL_PROPERTIES = 0, v8::ONLY_WRITABLE = 1, v8::ONLY_ENUMERABLE = 2, v8::ONLY_CONFIGURABLE = 4,
  v8::SKIP_STRINGS = 8, v8::SKIP_SYMBOLS = 16
}
 
enum  v8::KeyCollectionMode { v8::KeyCollectionMode::kOwnOnly, v8::KeyCollectionMode::kIncludePrototypes }
 
enum  v8::IndexFilter { v8::IndexFilter::kIncludeIndices, v8::IndexFilter::kSkipIndices }
 
enum  v8::IntegrityLevel { v8::IntegrityLevel::kFrozen, v8::IntegrityLevel::kSealed }
 
enum  v8::ConstructorBehavior { v8::ConstructorBehavior::kThrow, v8::ConstructorBehavior::kAllow }
 
enum  v8::ArrayBufferCreationMode { v8::ArrayBufferCreationMode::kInternalized, v8::ArrayBufferCreationMode::kExternalized }
 
enum  v8::Intrinsic
 
enum  v8::AccessType {
  v8::ACCESS_GET, v8::ACCESS_SET, v8::ACCESS_HAS, v8::ACCESS_DELETE,
  v8::ACCESS_KEYS
}
 
enum  v8::PropertyHandlerFlags { v8::PropertyHandlerFlags::kNone = 0, v8::PropertyHandlerFlags::kAllCanRead = 1, v8::PropertyHandlerFlags::kNonMasking = 1 << 1, v8::PropertyHandlerFlags::kOnlyInterceptStrings = 1 << 2 }
 
enum  v8::ObjectSpace {
  v8::kObjectSpaceNewSpace = 1 << 0, v8::kObjectSpaceOldSpace = 1 << 1, v8::kObjectSpaceCodeSpace = 1 << 2, v8::kObjectSpaceMapSpace = 1 << 3,
  v8::kObjectSpaceLoSpace = 1 << 4, v8::kObjectSpaceAll
}
 
enum  v8::AllocationAction { v8::kAllocationActionAllocate = 1 << 0, v8::kAllocationActionFree = 1 << 1, v8::kAllocationActionAll = kAllocationActionAllocate | kAllocationActionFree }
 
enum  v8::PromiseHookType { v8::PromiseHookType::kInit, v8::PromiseHookType::kResolve, v8::PromiseHookType::kBefore, v8::PromiseHookType::kAfter }
 
enum  v8::PromiseRejectEvent { v8::kPromiseRejectWithNoHandler = 0, v8::kPromiseHandlerAddedAfterReject = 1 }
 
enum  v8::MicrotasksPolicy { v8::MicrotasksPolicy::kExplicit, v8::MicrotasksPolicy::kScoped, v8::MicrotasksPolicy::kAuto }
 
enum  v8::GCType {
  v8::kGCTypeScavenge = 1 << 0, v8::kGCTypeMarkSweepCompact = 1 << 1, v8::kGCTypeIncrementalMarking = 1 << 2, v8::kGCTypeProcessWeakCallbacks = 1 << 3,
  v8::kGCTypeAll
}
 
enum  v8::GCCallbackFlags {
  v8::kNoGCCallbackFlags = 0, v8::kGCCallbackFlagConstructRetainedObjectInfos = 1 << 1, v8::kGCCallbackFlagForced = 1 << 2, v8::kGCCallbackFlagSynchronousPhantomCallbackProcessing = 1 << 3,
  v8::kGCCallbackFlagCollectAllAvailableGarbage = 1 << 4, v8::kGCCallbackFlagCollectAllExternalMemory = 1 << 5
}
 
enum  v8::RAILMode { v8::PERFORMANCE_RESPONSE, v8::PERFORMANCE_ANIMATION, v8::PERFORMANCE_IDLE, v8::PERFORMANCE_LOAD }
 
enum  v8::JitCodeEventOptions { v8::kJitCodeEventDefault = 0, v8::kJitCodeEventEnumExisting = 1 }
 
enum  v8::MemoryPressureLevel { v8::MemoryPressureLevel::kNone, v8::MemoryPressureLevel::kModerate, v8::MemoryPressureLevel::kCritical }
 

Functions

void V8_EXPORT v8::RegisterExtension (Extension *extension)
 
V8_INLINE Local< Primitive > v8::Undefined (Isolate *isolate)
 
V8_INLINE Local< Primitive > v8::Null (Isolate *isolate)
 
V8_INLINE Local< Boolean > v8::True (Isolate *isolate)
 
V8_INLINE Local< Boolean > v8::False (Isolate *isolate)
 
template<class T >
Maybe< Tv8::Nothing ()
 
template<class T >
Maybe< Tv8::Just (const T &t)
 
template<int kSmiShiftSize>
V8_INLINE internal::Object * v8::internal::IntToSmi (int value)
 
static V8_INLINE bool v8::internal::SmiValuesAre31Bits ()
 
static V8_INLINE bool v8::internal::SmiValuesAre32Bits ()
 

Variables

static const int v8::kInternalFieldsInWeakCallback = 2
 
static const int v8::kEmbedderFieldsInWeakCallback = 2
 
const int v8::internal::kApiPointerSize = sizeof(void*)
 
const int v8::internal::kApiIntSize = sizeof(int)
 
const int v8::internal::kApiInt64Size = sizeof(int64_t)
 
const int v8::internal::kHeapObjectTag = 1
 
const int v8::internal::kHeapObjectTagSize = 2
 
const intptr_t v8::internal::kHeapObjectTagMask = (1 << kHeapObjectTagSize) - 1
 
const int v8::internal::kSmiTag = 0
 
const int v8::internal::kSmiTagSize = 1
 
const intptr_t v8::internal::kSmiTagMask = (1 << kSmiTagSize) - 1
 
const int v8::internal::kSmiShiftSize = PlatformSmiTagging::kSmiShiftSize
 
const int v8::internal::kSmiValueSize = PlatformSmiTagging::kSmiValueSize
 

Macro Definition Documentation

§ TYPE_CHECK

#define TYPE_CHECK (   T,
 
)
Value:
while (false) { \
*(static_cast<T* volatile*>(0)) = static_cast<S*>(0); \
}
#define T

Definition at line 156 of file v8.h.

§ V8_ARRAY_BUFFER_INTERNAL_FIELD_COUNT

#define V8_ARRAY_BUFFER_INTERNAL_FIELD_COUNT   2

Definition at line 4078 of file v8.h.

§ V8_ARRAY_BUFFER_VIEW_INTERNAL_FIELD_COUNT

#define V8_ARRAY_BUFFER_VIEW_INTERNAL_FIELD_COUNT   2

Definition at line 4240 of file v8.h.

§ V8_DECL_INTRINSIC

#define V8_DECL_INTRINSIC (   name,
  iname 
)    k##name,

Definition at line 4757 of file v8.h.

§ V8_EXPORT

#define V8_EXPORT

Definition at line 56 of file v8.h.

§ V8_INTRINSICS_LIST

#define V8_INTRINSICS_LIST (   F)
Value:
F(ArrayProto_entries, array_entries_iterator) \
F(ArrayProto_forEach, array_for_each_iterator) \
F(ArrayProto_keys, array_keys_iterator) \
F(ArrayProto_values, array_values_iterator)
#define F(name, str)

Definition at line 4750 of file v8.h.