v8  8.4.371 (node 14.15.5)
V8 is Google's open source JavaScript engine
v8::internal Namespace Reference

Namespaces

 wasm
 

Data Structures

struct  GetCType
 
struct  EnableIfHasWrapperTypeInfo
 
struct  EnableIfHasWrapperTypeInfo< T, decltype(WrapperTraits< T >::GetTypeInfo(), void())>
 
struct  GetCTypePointerImpl
 
struct  GetCTypePointerImpl< T, typename EnableIfHasWrapperTypeInfo< T >::type >
 
struct  GetCTypePointerPointerImpl
 
struct  GetCTypePointerPointerImpl< T, typename EnableIfHasWrapperTypeInfo< T >::type >
 
struct  GetCType< T ** >
 
struct  GetCType< T * >
 
class  CFunctionInfoImpl
 
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 >
 

Functions

constexpr bool PointerCompressionIsEnabled ()
 
constexpr bool HeapSandboxIsEnabled ()
 
constexpr bool SmiValuesAre31Bits ()
 
constexpr bool SmiValuesAre32Bits ()
 
V8_EXPORT internal::Isolate * IsolateFromNeverReadOnlySpaceObject (Address obj)
 
V8_EXPORT bool ShouldThrowOnError (v8::internal::Isolate *isolate)
 
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 kHeapObjectTag = 1
 
const int kWeakHeapObjectTag = 3
 
const int kHeapObjectTagSize = 2
 
const intptr_t kHeapObjectTagMask = (1 << kHeapObjectTagSize) - 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
 
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 Documentation

◆ Address

typedef uintptr_t Address

Definition at line 26 of file v8-internal.h.

◆ ExternalPointer_t

Definition at line 121 of file v8-internal.h.

◆ PlatformSmiTagging

Definition at line 126 of file v8-internal.h.

Function Documentation

◆ HeapSandboxIsEnabled()

constexpr bool v8::internal::HeapSandboxIsEnabled ( )
constexpr

Definition at line 113 of file v8-internal.h.

Referenced by V8::Initialize().

◆ IsolateFromNeverReadOnlySpaceObject()

V8_EXPORT internal::Isolate* v8::internal::IsolateFromNeverReadOnlySpaceObject ( Address  obj)

◆ PerformCastCheck()

V8_INLINE void v8::internal::PerformCastCheck ( T *  data)

Definition at line 422 of file v8-internal.h.

◆ PointerCompressionIsEnabled()

constexpr bool v8::internal::PointerCompressionIsEnabled ( )
constexpr

Definition at line 109 of file v8-internal.h.

References kApiSystemPointerSize, and kApiTaggedSize.

Referenced by V8::Initialize().

◆ ShouldThrowOnError()

V8_EXPORT bool v8::internal::ShouldThrowOnError ( v8::internal::Isolate *  isolate)

◆ SmiValuesAre31Bits()

constexpr bool v8::internal::SmiValuesAre31Bits ( )
constexpr

Definition at line 135 of file v8-internal.h.

References kSmiValueSize.

Referenced by V8::Initialize().

◆ SmiValuesAre32Bits()

constexpr bool v8::internal::SmiValuesAre32Bits ( )
constexpr

Definition at line 136 of file v8-internal.h.

References kSmiValueSize.

Variable Documentation

◆ kApiDoubleSize

const int kApiDoubleSize = sizeof(double)

Definition at line 33 of file v8-internal.h.

◆ kApiInt32Size

const int kApiInt32Size = sizeof(int32_t)

Definition at line 34 of file v8-internal.h.

◆ kApiInt64Size

const int kApiInt64Size = sizeof(int64_t)

Definition at line 35 of file v8-internal.h.

◆ kApiSystemPointerSize

const int kApiSystemPointerSize = sizeof(void*)

Configuration of tagging scheme.

Definition at line 32 of file v8-internal.h.

Referenced by Internals::GetEmbedderData(), Internals::GetRoot(), PointerCompressionIsEnabled(), and Internals::SetEmbedderData().

◆ kApiTaggedSize

const int kApiTaggedSize = kApiSystemPointerSize

Definition at line 106 of file v8-internal.h.

Referenced by PointerCompressionIsEnabled().

◆ kHeapObjectTag

const int kHeapObjectTag = 1

Definition at line 38 of file v8-internal.h.

Referenced by Internals::HasHeapObjectTag(), and Internals::ReadRawField().

◆ kHeapObjectTagMask

const intptr_t kHeapObjectTagMask = (1 << kHeapObjectTagSize) - 1

Definition at line 41 of file v8-internal.h.

Referenced by Internals::HasHeapObjectTag().

◆ kHeapObjectTagSize

const int kHeapObjectTagSize = 2

Definition at line 40 of file v8-internal.h.

◆ kIntptrAllBitsSet

constexpr intptr_t kIntptrAllBitsSet = intptr_t{-1}
constexpr

Definition at line 51 of file v8-internal.h.

◆ kSmiMaxValue

const int kSmiMaxValue = static_cast<int>(PlatformSmiTagging::kSmiMaxValue)

Definition at line 134 of file v8-internal.h.

◆ kSmiMinValue

const int kSmiMinValue = static_cast<int>(PlatformSmiTagging::kSmiMinValue)

Definition at line 133 of file v8-internal.h.

◆ kSmiShiftSize

const int kSmiShiftSize = PlatformSmiTagging::kSmiShiftSize

Definition at line 131 of file v8-internal.h.

◆ kSmiTag

const int kSmiTag = 0

Definition at line 44 of file v8-internal.h.

◆ kSmiTagMask

const intptr_t kSmiTagMask = (1 << kSmiTagSize) - 1

Definition at line 46 of file v8-internal.h.

◆ kSmiTagSize

const int kSmiTagSize = 1

Definition at line 45 of file v8-internal.h.

Referenced by SmiTagging< 4 >::SmiToInt(), and SmiTagging< 8 >::SmiToInt().

◆ kSmiValueSize

const int kSmiValueSize = PlatformSmiTagging::kSmiValueSize

Definition at line 132 of file v8-internal.h.

Referenced by SmiValuesAre31Bits(), and SmiValuesAre32Bits().

◆ kUintptrAllBitsSet

constexpr uintptr_t kUintptrAllBitsSet
constexpr
Initial value:
=
static_cast<uintptr_t>(kIntptrAllBitsSet)
constexpr intptr_t kIntptrAllBitsSet
Definition: v8-internal.h:51

Definition at line 52 of file v8-internal.h.

◆ kWeakHeapObjectTag

const int kWeakHeapObjectTag = 3

Definition at line 39 of file v8-internal.h.