v8
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Classes | Namespaces | Macros | Typedefs | Enumerations | Functions | Variables
v8.h File Reference
#include <stddef.h>
#include <stdint.h>
#include <stdio.h>
#include "v8-version.h"
#include "v8config.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 >
 
singleton  v8::PersistentValueMap< K, V, T >
 
singleton  v8::PersistentValueMapBase< K, V, T >
 
singleton  v8::GlobalValueMap< K, V, T >
 
singleton  v8::PersistentValueVector< V, T >
 
singleton  v8::WeakCallbackObject< T, P >
 
class  v8::FunctionCallbackInfo< T >
 
class  v8::PropertyCallbackInfo< T >
 
class  v8::ReturnValue< T >
 
singleton  v8::internal::CustomArguments< T >
 
class  v8::UniqueId
 
class  v8::Local< T >
 
class  v8::MaybeLocal< T >
 
class  v8::Eternal< T >
 
class  v8::WeakCallbackInfo< T >
 
class  v8::WeakCallbackData< T, P >
 
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::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::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::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::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::TypeSwitch
 
class  v8::ExternalOneByteStringResourceImpl
 
class  v8::Extension
 
class  v8::ResourceConstraints
 
class  v8::Exception
 
class  v8::PromiseRejectMessage
 
class  v8::HeapStatistics
 
class  v8::HeapSpaceStatistics
 
class  v8::HeapObjectStatistics
 
struct  v8::JitCodeEvent
 
struct  v8::JitCodeEvent::name_t
 
struct  v8::JitCodeEvent::line_info_t
 
class  v8::ExternalResourceVisitor
 
class  v8::PersistentHandleVisitor
 
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::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
 

Typedefs

template<class T >
using v8::Handle = Local< T >
 
template<class T >
using v8::PhantomCallbackData = WeakCallbackInfo< 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::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 bool(* v8::NamedSecurityCallback )(Local< Object > host, Local< Value > key, AccessType type, Local< Value > data)
 
typedef bool(* v8::IndexedSecurityCallback )(Local< Object > host, uint32_t index, AccessType type, Local< Value > data)
 
typedef void(* v8::FatalErrorCallback )(const char *location, const char *message)
 
typedef void(* v8::MessageCallback )(Handle< Message > message, Handle< Value > error)
 
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::MemoryAllocationCallback )(ObjectSpace space, AllocationAction action, int size)
 
typedef void(* v8::CallCompletedCallback )()
 
typedef void(* v8::PromiseRejectCallback )(PromiseRejectMessage message)
 
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 void(* v8::GCPrologueCallback )(GCType type, GCCallbackFlags flags)
 
typedef void(* v8::GCEpilogueCallback )(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 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 }
 
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::ArrayBufferCreationMode { v8::ArrayBufferCreationMode::kInternalized, v8::ArrayBufferCreationMode::kExternalized }
 
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::PromiseRejectEvent { v8::kPromiseRejectWithNoHandler = 0, v8::kPromiseHandlerAddedAfterReject = 1 }
 
enum  v8::GCType { v8::kGCTypeScavenge = 1 << 0, v8::kGCTypeMarkSweepCompact = 1 << 1, v8::kGCTypeAll = kGCTypeScavenge | kGCTypeMarkSweepCompact }
 
enum  v8::GCCallbackFlags { v8::kNoGCCallbackFlags = 0, v8::kGCCallbackFlagCompacted = 1 << 0, v8::kGCCallbackFlagConstructRetainedObjectInfos = 1 << 1, v8::kGCCallbackFlagForced = 1 << 2 }
 
enum  v8::JitCodeEventOptions { v8::kJitCodeEventDefault = 0, v8::kJitCodeEventEnumExisting = 1 }
 

Functions

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

Variables

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

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