Loading...
Searching...
No Matches
Classes | Namespaces | Macros | Typedefs | Enumerations | Functions | Variables
v8-internal.h File Reference
#include <stddef.h>
#include <stdint.h>
#include <string.h>
#include <atomic>
#include <iterator>
#include <limits>
#include <memory>
#include <optional>
#include <type_traits>
#include "v8config.h"
Include dependency graph for v8-internal.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  v8::internal::SmiTagging< 4 >
 
struct  v8::internal::SmiTagging< 8 >
 
struct  v8::internal::TagRange< Tag >
 
class  v8::internal::Internals
 
struct  v8::internal::CastCheck< PerformCheck >
 
class  v8::internal::BackingStoreBase
 
class  v8::internal::StrongRootAllocatorBase
 
class  v8::internal::StrongRootAllocator< T >
 
struct  v8::internal::MaybeDefineIteratorConcept< Iterator, typename >
 
struct  v8::internal::MaybeDefineIteratorConcept< Iterator, std::enable_if_t< kHaveIteratorConcept< Iterator > > >
 
struct  v8::internal::MaybeDefineIteratorConcept< Iterator, std::enable_if_t< kHaveIteratorCategory< Iterator > &&!kHaveIteratorConcept< Iterator > > >
 
class  v8::internal::WrappedIterator< Iterator, ElementType >
 
class  v8::internal::ValueHelper
 
class  v8::internal::HandleHelper
 

Namespaces

namespace  v8
 
namespace  v8::internal
 

Macros

#define V8_HAVE_SPACESHIP_OPERATOR   0
 

Typedefs

typedef uintptr_t v8::internal::Address
 
using v8::internal::PlatformSmiTagging = SmiTagging< kApiTaggedSize >
 
using v8::internal::SandboxedPointer_t = Address
 
using v8::internal::ExternalPointerHandle = uint32_t
 
using v8::internal::ExternalPointer_t = Address
 
using v8::internal::CppHeapPointerHandle = uint32_t
 
using v8::internal::CppHeapPointer_t = Address
 
using v8::internal::ExternalPointerTagRange = TagRange< ExternalPointerTag >
 
using v8::internal::IndirectPointerHandle = uint32_t
 
using v8::internal::TrustedPointerHandle = IndirectPointerHandle
 
using v8::internal::CodePointerHandle = IndirectPointerHandle
 

Enumerations

enum  v8::internal::ExternalPointerTag : uint16_t {
  v8::internal::kFirstExternalPointerTag = 0 , v8::internal::kExternalPointerNullTag = 0 , v8::internal::kFirstSharedExternalPointerTag , v8::internal::kWaiterQueueNodeTag = kFirstSharedExternalPointerTag ,
  v8::internal::kExternalStringResourceTag , v8::internal::kExternalStringResourceDataTag , v8::internal::kLastSharedExternalPointerTag = kExternalStringResourceDataTag , v8::internal::kNativeContextMicrotaskQueueTag ,
  v8::internal::kEmbedderDataSlotPayloadTag , v8::internal::kExternalObjectValueTag , v8::internal::kFirstMaybeReadOnlyExternalPointerTag , v8::internal::kFunctionTemplateInfoCallbackTag = kFirstMaybeReadOnlyExternalPointerTag ,
  v8::internal::kAccessorInfoGetterTag , v8::internal::kAccessorInfoSetterTag , v8::internal::kLastMaybeReadOnlyExternalPointerTag = kAccessorInfoSetterTag , v8::internal::kWasmInternalFunctionCallTargetTag ,
  v8::internal::kWasmTypeInfoNativeTypeTag , v8::internal::kWasmExportedFunctionDataSignatureTag , v8::internal::kWasmContinuationJmpbufTag , v8::internal::kWasmStackMemoryTag ,
  v8::internal::kWasmIndirectFunctionTargetTag , v8::internal::kFirstForeignExternalPointerTag , v8::internal::kGenericForeignTag = kFirstForeignExternalPointerTag , v8::internal::kApiNamedPropertyQueryCallbackTag ,
  v8::internal::kApiNamedPropertyGetterCallbackTag , v8::internal::kApiNamedPropertySetterCallbackTag , v8::internal::kApiNamedPropertyDescriptorCallbackTag , v8::internal::kApiNamedPropertyDefinerCallbackTag ,
  v8::internal::kApiNamedPropertyDeleterCallbackTag , v8::internal::kApiIndexedPropertyQueryCallbackTag , v8::internal::kApiIndexedPropertyGetterCallbackTag , v8::internal::kApiIndexedPropertySetterCallbackTag ,
  v8::internal::kApiIndexedPropertyDescriptorCallbackTag , v8::internal::kApiIndexedPropertyDefinerCallbackTag , v8::internal::kApiIndexedPropertyDeleterCallbackTag , v8::internal::kApiIndexedPropertyEnumeratorCallbackTag ,
  v8::internal::kApiAccessCheckCallbackTag , v8::internal::kApiAbortScriptExecutionCallbackTag , v8::internal::kSyntheticModuleTag , v8::internal::kMicrotaskCallbackTag ,
  v8::internal::kMicrotaskCallbackDataTag , v8::internal::kCFunctionTag , v8::internal::kCFunctionInfoTag , v8::internal::kMessageListenerTag ,
  v8::internal::kWaiterQueueForeignTag , v8::internal::kFirstManagedResourceTag , v8::internal::kFirstManagedExternalPointerTag = kFirstManagedResourceTag , v8::internal::kGenericManagedTag = kFirstManagedExternalPointerTag ,
  v8::internal::kWasmWasmStreamingTag , v8::internal::kWasmFuncDataTag , v8::internal::kWasmManagedDataTag , v8::internal::kWasmNativeModuleTag ,
  v8::internal::kIcuBreakIteratorTag , v8::internal::kIcuUnicodeStringTag , v8::internal::kIcuListFormatterTag , v8::internal::kIcuLocaleTag ,
  v8::internal::kIcuSimpleDateFormatTag , v8::internal::kIcuDateIntervalFormatTag , v8::internal::kIcuRelativeDateTimeFormatterTag , v8::internal::kIcuLocalizedNumberFormatterTag ,
  v8::internal::kIcuPluralRulesTag , v8::internal::kIcuCollatorTag , v8::internal::kDisplayNamesInternalTag , v8::internal::kD8WorkerTag ,
  v8::internal::kD8ModuleEmbedderDataTag , v8::internal::kLastForeignExternalPointerTag = kD8ModuleEmbedderDataTag , v8::internal::kLastManagedExternalPointerTag = kLastForeignExternalPointerTag , v8::internal::kArrayBufferExtensionTag ,
  v8::internal::kLastManagedResourceTag = kArrayBufferExtensionTag , v8::internal::kExternalPointerZappedEntryTag = 0x7d , v8::internal::kExternalPointerEvacuationEntryTag = 0x7e , v8::internal::kExternalPointerFreeEntryTag = 0x7f ,
  v8::internal::kLastExternalPointerTag = 0x7f
}
 

Functions

constexpr bool v8::internal::PointerCompressionIsEnabled ()
 
constexpr bool v8::internal::SmiValuesAre31Bits ()
 
constexpr bool v8::internal::SmiValuesAre32Bits ()
 
constexpr bool v8::internal::Is64 ()
 
constexpr bool v8::internal::SandboxIsEnabled ()
 
constexpr ExternalPointerTagRange v8::internal::kAnyExternalPointerTagRange (kFirstExternalPointerTag, kLastExternalPointerTag)
 
constexpr ExternalPointerTagRange v8::internal::kAnySharedExternalPointerTagRange (kFirstSharedExternalPointerTag, kLastSharedExternalPointerTag)
 
constexpr ExternalPointerTagRange v8::internal::kAnyForeignExternalPointerTagRange (kFirstForeignExternalPointerTag, kLastForeignExternalPointerTag)
 
constexpr ExternalPointerTagRange v8::internal::kAnyManagedExternalPointerTagRange (kFirstManagedExternalPointerTag, kLastManagedExternalPointerTag)
 
constexpr ExternalPointerTagRange v8::internal::kAnyMaybeReadOnlyExternalPointerTagRange (kFirstMaybeReadOnlyExternalPointerTag, kLastMaybeReadOnlyExternalPointerTag)
 
constexpr ExternalPointerTagRange v8::internal::kAnyManagedResourceExternalPointerTag (kFirstManagedResourceTag, kLastManagedResourceTag)
 
internal::Isolate * v8::internal::IsolateFromNeverReadOnlySpaceObject (Address obj)
 
bool v8::internal::ShouldThrowOnError (internal::Isolate *isolate)
 
template<class T >
void v8::internal::PerformCastCheck (T *data)
 
void v8::internal::VerifyHandleIsNonEmpty (bool is_empty)
 
void v8::internal::PrintFunctionCallbackInfo (void *function_callback_info)
 
void v8::internal::PrintPropertyCallbackInfo (void *property_callback_info)
 

Variables

constexpr int v8::internal::KB = 1024
 
constexpr int v8::internal::MB = KB * 1024
 
constexpr int v8::internal::GB = MB * 1024
 
const int v8::internal::kApiSystemPointerSize = sizeof(void*)
 
const int v8::internal::kApiDoubleSize = sizeof(double)
 
const int v8::internal::kApiInt32Size = sizeof(int32_t)
 
const int v8::internal::kApiInt64Size = sizeof(int64_t)
 
const int v8::internal::kApiSizetSize = sizeof(size_t)
 
const int v8::internal::kHeapObjectTag = 1
 
const int v8::internal::kWeakHeapObjectTag = 3
 
const int v8::internal::kHeapObjectTagSize = 2
 
const intptr_t v8::internal::kHeapObjectTagMask = (1 << kHeapObjectTagSize) - 1
 
const intptr_t v8::internal::kHeapObjectReferenceTagMask = 1 << (kHeapObjectTagSize - 1)
 
const int v8::internal::kForwardingTag = 0
 
const int v8::internal::kForwardingTagSize = 2
 
const intptr_t v8::internal::kForwardingTagMask = (1 << kForwardingTagSize) - 1
 
const int v8::internal::kSmiTag = 0
 
const int v8::internal::kSmiTagSize = 1
 
const intptr_t v8::internal::kSmiTagMask = (1 << kSmiTagSize) - 1
 
constexpr intptr_t v8::internal::kIntptrAllBitsSet = intptr_t{-1}
 
constexpr uintptr_t v8::internal::kUintptrAllBitsSet
 
const int v8::internal::kApiTaggedSize = kApiSystemPointerSize
 
const int v8::internal::kSmiShiftSize = PlatformSmiTagging::kSmiShiftSize
 
const int v8::internal::kSmiValueSize = PlatformSmiTagging::kSmiValueSize
 
const int v8::internal::kSmiMinValue = static_cast<int>(PlatformSmiTagging::kSmiMinValue)
 
const int v8::internal::kSmiMaxValue = static_cast<int>(PlatformSmiTagging::kSmiMaxValue)
 
constexpr size_t v8::internal::kMaxExternalPointers = 0
 
constexpr uint64_t v8::internal::kExternalPointerMarkBit = 1ULL << 48
 
constexpr uint64_t v8::internal::kExternalPointerTagShift = 49
 
constexpr uint64_t v8::internal::kExternalPointerTagMask = 0x00fe000000000000ULL
 
constexpr uint64_t v8::internal::kExternalPointerShiftedTagMask
 
constexpr uint64_t v8::internal::kExternalPointerTagAndMarkbitMask = 0x00ff000000000000ULL
 
constexpr uint64_t v8::internal::kExternalPointerPayloadMask = 0xff00ffffffffffffULL
 
constexpr ExternalPointer_t v8::internal::kNullExternalPointer = 0
 
constexpr ExternalPointerHandle v8::internal::kNullExternalPointerHandle = 0
 
constexpr CppHeapPointer_t v8::internal::kNullCppHeapPointer = 0
 
constexpr CppHeapPointerHandle v8::internal::kNullCppHeapPointerHandle = 0
 
constexpr uint64_t v8::internal::kCppHeapPointerMarkBit = 1ULL
 
constexpr uint64_t v8::internal::kCppHeapPointerTagShift = 1
 
constexpr uint64_t v8::internal::kCppHeapPointerPayloadShift = 16
 
constexpr size_t v8::internal::kMaxCppHeapPointers = 0
 
constexpr IndirectPointerHandle v8::internal::kNullIndirectPointerHandle = 0
 
constexpr size_t v8::internal::kTrustedPointerTableReservationSize = 64 * MB
 
constexpr uint32_t v8::internal::kTrustedPointerHandleShift = 9
 
constexpr TrustedPointerHandle v8::internal::kNullTrustedPointerHandle
 
constexpr int v8::internal::kTrustedPointerTableEntrySize = 8
 
constexpr int v8::internal::kTrustedPointerTableEntrySizeLog2 = 3
 
constexpr size_t v8::internal::kMaxTrustedPointers
 
constexpr size_t v8::internal::kCodePointerTableReservationSize = 128 * MB
 
constexpr uint32_t v8::internal::kCodePointerHandleShift = 9
 
constexpr CodePointerHandle v8::internal::kNullCodePointerHandle = kNullIndirectPointerHandle
 
constexpr uint32_t v8::internal::kCodePointerHandleMarker = 0x1
 
constexpr int v8::internal::kCodePointerTableEntrySize = 16
 
constexpr int v8::internal::kCodePointerTableEntrySizeLog2 = 4
 
constexpr size_t v8::internal::kMaxCodePointers
 
constexpr int v8::internal::kCodePointerTableEntryEntrypointOffset = 0
 
constexpr int v8::internal::kCodePointerTableEntryCodeObjectOffset = 8
 
constexpr bool v8::internal::kRuntimeGeneratedCodeObjectsLiveInTrustedSpace = true
 
constexpr bool v8::internal::kBuiltinCodeObjectsLiveInTrustedSpace = false
 
constexpr bool v8::internal::kAllCodeObjectsLiveInTrustedSpace
 
constexpr int v8::internal::kGarbageCollectionReasonMaxValue = 28
 
template<typename Iterator , typename = void>
constexpr bool v8::internal::kHaveIteratorConcept = false
 
template<typename Iterator , typename = void>
constexpr bool v8::internal::kHaveIteratorCategory = false
 

Macro Definition Documentation

◆ V8_HAVE_SPACESHIP_OPERATOR

#define V8_HAVE_SPACESHIP_OPERATOR   0