v8
9.4.146 (node 16.13.0)
V8 is Google's open source JavaScript engine
|
Namespaces | |
wasm | |
Data Structures | |
struct | count |
struct | count< T, T, Args... > |
struct | count< T, U, Args... > |
class | CFunctionInfoImpl |
struct | TypeInfoHelper |
struct | CTypeInfoTraits |
struct | TypeInfoHelper< v8::Local< v8::Array > > |
struct | TypeInfoHelper< v8::Local< v8::Uint32Array > > |
struct | TypeInfoHelper< FastApiCallbackOptions & > |
class | CTypeInfoBuilder |
class | CFunctionBuilderWithFunction |
class | CFunctionBuilder |
struct | SmiTagging |
struct | SmiTagging< 4 > |
struct | SmiTagging< 8 > |
class | Internals |
struct | CastCheck |
class | BackingStoreBase |
class | Arguments |
class | CustomArguments |
Typedefs | |
typedef uintptr_t | Address |
using | ExternalPointer_t = Address |
using | PlatformSmiTagging = SmiTagging< kApiTaggedSize > |
Enumerations | |
enum | ExternalPointerTag : uint64_t { kExternalPointerNullTag = 0x0000000000000000 , kArrayBufferBackingStoreTag = 0x00ff000000000000 , kTypedArrayExternalPointerTag = 0x017f000000000000 , kDataViewDataPointerTag = 0x01bf000000000000 , kExternalStringResourceTag = 0x01df000000000000 , kExternalStringResourceDataTag = 0x01ef000000000000 , kForeignForeignAddressTag = 0x01f7000000000000 , kNativeContextMicrotaskQueueTag = 0x01fb000000000000 , kEmbedderDataSlotPayloadTag = 0x01fd000000000000 , kCodeEntryPointTag = 0x01fe000000000000 } |
Functions | |
constexpr bool | PointerCompressionIsEnabled () |
constexpr bool | HeapSandboxIsEnabled () |
constexpr bool | SmiValuesAre31Bits () |
constexpr bool | SmiValuesAre32Bits () |
V8_EXPORT Address | DecodeExternalPointerImpl (const Isolate *isolate, ExternalPointer_t pointer, ExternalPointerTag tag) |
V8_EXPORT internal::Isolate * | IsolateFromNeverReadOnlySpaceObject (Address obj) |
V8_EXPORT bool | ShouldThrowOnError (v8::internal::Isolate *isolate) |
V8_EXPORT bool | CanHaveInternalField (int instance_type) |
template<class T > | |
V8_INLINE void | PerformCastCheck (T *data) |
Variables | |
const int | kApiSystemPointerSize = sizeof(void*) |
const int | kApiDoubleSize = sizeof(double) |
const int | kApiInt32Size = sizeof(int32_t) |
const int | kApiInt64Size = sizeof(int64_t) |
const int | kApiSizetSize = sizeof(size_t) |
const int | kHeapObjectTag = 1 |
const int | kWeakHeapObjectTag = 3 |
const int | kHeapObjectTagSize = 2 |
const intptr_t | kHeapObjectTagMask = (1 << kHeapObjectTagSize) - 1 |
const int | kForwardingTag = 0 |
const int | kForwardingTagSize = 2 |
const intptr_t | kForwardingTagMask = (1 << kForwardingTagSize) - 1 |
const int | kSmiTag = 0 |
const int | kSmiTagSize = 1 |
const intptr_t | kSmiTagMask = (1 << kSmiTagSize) - 1 |
constexpr intptr_t | kIntptrAllBitsSet = intptr_t{-1} |
constexpr uintptr_t | kUintptrAllBitsSet |
const int | kApiTaggedSize = kApiSystemPointerSize |
constexpr uint64_t | kExternalPointerTagMask = 0xffff000000000000 |
const int | kSmiShiftSize = PlatformSmiTagging::kSmiShiftSize |
const int | kSmiValueSize = PlatformSmiTagging::kSmiValueSize |
const int | kSmiMinValue = static_cast<int>(PlatformSmiTagging::kSmiMinValue) |
const int | kSmiMaxValue = static_cast<int>(PlatformSmiTagging::kSmiMaxValue) |
typedef uintptr_t Address |
Definition at line 29 of file v8-internal.h.
using ExternalPointer_t = Address |
Definition at line 132 of file v8-internal.h.
using PlatformSmiTagging = SmiTagging<kApiTaggedSize> |
Definition at line 160 of file v8-internal.h.
enum ExternalPointerTag : uint64_t |
Definition at line 142 of file v8-internal.h.
V8_EXPORT bool v8::internal::CanHaveInternalField | ( | int | instance_type | ) |
Referenced by Object::GetAlignedPointerFromInternalField(), and Object::GetInternalField().
V8_EXPORT Address v8::internal::DecodeExternalPointerImpl | ( | const Isolate * | isolate, |
ExternalPointer_t | pointer, | ||
ExternalPointerTag | tag | ||
) |
|
constexpr |
Definition at line 124 of file v8-internal.h.
Referenced by V8::Initialize().
Referenced by Context::GetEmbedderData(), and Object::GetInternalField().
V8_INLINE void v8::internal::PerformCastCheck | ( | T * | data | ) |
Definition at line 504 of file v8-internal.h.
|
constexpr |
Definition at line 120 of file v8-internal.h.
References kApiSystemPointerSize, and kApiTaggedSize.
Referenced by V8::Initialize().
V8_EXPORT bool v8::internal::ShouldThrowOnError | ( | v8::internal::Isolate * | isolate | ) |
Referenced by PropertyCallbackInfo< T >::ShouldThrowOnError().
|
constexpr |
Definition at line 169 of file v8-internal.h.
References kSmiValueSize.
Referenced by V8::Initialize().
|
constexpr |
Definition at line 170 of file v8-internal.h.
References kSmiValueSize.
const int kApiDoubleSize = sizeof(double) |
Definition at line 36 of file v8-internal.h.
const int kApiInt32Size = sizeof(int32_t) |
Definition at line 37 of file v8-internal.h.
const int kApiInt64Size = sizeof(int64_t) |
Definition at line 38 of file v8-internal.h.
const int kApiSizetSize = sizeof(size_t) |
Definition at line 39 of file v8-internal.h.
const int kApiSystemPointerSize = sizeof(void*) |
Configuration of tagging scheme.
Definition at line 35 of file v8-internal.h.
Referenced by Internals::GetEmbedderData(), Internals::GetRoot(), PointerCompressionIsEnabled(), and Internals::SetEmbedderData().
const int kApiTaggedSize = kApiSystemPointerSize |
Definition at line 117 of file v8-internal.h.
Referenced by PointerCompressionIsEnabled().
|
constexpr |
Definition at line 155 of file v8-internal.h.
const int kForwardingTag = 0 |
Definition at line 50 of file v8-internal.h.
const intptr_t kForwardingTagMask = (1 << kForwardingTagSize) - 1 |
Definition at line 52 of file v8-internal.h.
const int kForwardingTagSize = 2 |
Definition at line 51 of file v8-internal.h.
const int kHeapObjectTag = 1 |
Definition at line 42 of file v8-internal.h.
Referenced by Internals::HasHeapObjectTag(), and Internals::ReadRawField().
const intptr_t kHeapObjectTagMask = (1 << kHeapObjectTagSize) - 1 |
Definition at line 45 of file v8-internal.h.
Referenced by Internals::HasHeapObjectTag().
const int kHeapObjectTagSize = 2 |
Definition at line 44 of file v8-internal.h.
|
constexpr |
Definition at line 62 of file v8-internal.h.
const int kSmiMaxValue = static_cast<int>(PlatformSmiTagging::kSmiMaxValue) |
Definition at line 168 of file v8-internal.h.
const int kSmiMinValue = static_cast<int>(PlatformSmiTagging::kSmiMinValue) |
Definition at line 167 of file v8-internal.h.
const int kSmiShiftSize = PlatformSmiTagging::kSmiShiftSize |
Definition at line 165 of file v8-internal.h.
const int kSmiTag = 0 |
Definition at line 55 of file v8-internal.h.
const intptr_t kSmiTagMask = (1 << kSmiTagSize) - 1 |
Definition at line 57 of file v8-internal.h.
const int kSmiTagSize = 1 |
Definition at line 56 of file v8-internal.h.
Referenced by SmiTagging< 4 >::SmiToInt(), and SmiTagging< 8 >::SmiToInt().
const int kSmiValueSize = PlatformSmiTagging::kSmiValueSize |
Definition at line 166 of file v8-internal.h.
Referenced by SmiValuesAre31Bits(), and SmiValuesAre32Bits().
|
constexpr |
Definition at line 63 of file v8-internal.h.
const int kWeakHeapObjectTag = 3 |
Definition at line 43 of file v8-internal.h.