#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"
Go to the source code of this file.
Namespaces | |
namespace | v8 |
namespace | v8::internal |
Macros | |
#define | V8_HAVE_SPACESHIP_OPERATOR 0 |
#define | TAG(i) |
#define | SHARED_EXTERNAL_POINTER_TAGS(V) |
#define | PER_ISOLATE_EXTERNAL_POINTER_TAGS(V) |
#define | ALL_EXTERNAL_POINTER_TAGS(V) |
#define | EXTERNAL_POINTER_TAG_ENUM(Name, Tag) Name = Tag, |
#define | MAKE_TAG(HasMarkBit, TypeTag) |
#define | CHECK_SHARED_EXTERNAL_POINTER_TAGS(Tag, ...) static_assert(IsSharedExternalPointerType(Tag)); |
#define | CHECK_NON_SHARED_EXTERNAL_POINTER_TAGS(Tag, ...) static_assert(!IsSharedExternalPointerType(Tag)); |
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::ExternalBufferHandle = uint32_t |
using | v8::internal::ExternalBuffer_t = Address |
using | v8::internal::IndirectPointerHandle = uint32_t |
using | v8::internal::TrustedPointerHandle = IndirectPointerHandle |
using | v8::internal::CodePointerHandle = IndirectPointerHandle |
using | v8::internal::JSDispatchHandle = uint32_t |
Enumerations | |
enum | v8::internal::ExternalPointerTag : uint64_t { v8::internal::kExternalPointerNullTag = ((static_cast<uint64_t>( 0b00000000 ) << kExternalPointerTagShift) | ( 1 ? kExternalPointerMarkBit : 0)) , v8::internal::kAnyExternalPointerTag = ((static_cast<uint64_t>( 0b11111111 ) << kExternalPointerTagShift) | ( 1 ? kExternalPointerMarkBit : 0)) , v8::internal::kAnyForeignTag = kAnyExternalPointerTag , v8::internal::kExternalPointerFreeEntryTag = ((static_cast<uint64_t>( 0b11111111 ) << kExternalPointerTagShift) | ( 0 ? kExternalPointerMarkBit : 0)) , v8::internal::kExternalPointerEvacuationEntryTag = ((static_cast<uint64_t>( 0b11111110 ) << kExternalPointerTagShift) | ( 1 ? kExternalPointerMarkBit : 0)) , v8::internal::kExternalPointerZappedEntryTag = ((static_cast<uint64_t>( 0b11111101 ) << kExternalPointerTagShift) | ( 0 ? kExternalPointerMarkBit : 0)) , v8::internal::kFirstSharedTag = ((kAllTagsForAndBasedTypeChecking[ 0 ] << kExternalPointerTagShift) | kExternalPointerMarkBit) , v8::internal::kWaiterQueueNodeTag = ((kAllTagsForAndBasedTypeChecking[ 0 ] << kExternalPointerTagShift) | kExternalPointerMarkBit) , v8::internal::kExternalStringResourceTag = ((kAllTagsForAndBasedTypeChecking[ 1 ] << kExternalPointerTagShift) | kExternalPointerMarkBit) , v8::internal::kExternalStringResourceDataTag = ((kAllTagsForAndBasedTypeChecking[ 2 ] << kExternalPointerTagShift) | kExternalPointerMarkBit) , v8::internal::kLastSharedTag = ((kAllTagsForAndBasedTypeChecking[ 2 ] << kExternalPointerTagShift) | kExternalPointerMarkBit) , v8::internal::kNativeContextMicrotaskQueueTag = ((kAllTagsForAndBasedTypeChecking[ 5 ] << kExternalPointerTagShift) | kExternalPointerMarkBit) , v8::internal::kEmbedderDataSlotPayloadTag = ((kAllTagsForAndBasedTypeChecking[ 6 ] << kExternalPointerTagShift) | kExternalPointerMarkBit) , v8::internal::kExternalObjectValueTag = ((kAllTagsForAndBasedTypeChecking[ 7 ] << kExternalPointerTagShift) | kExternalPointerMarkBit) , v8::internal::kFunctionTemplateInfoCallbackTag = ((kAllTagsForAndBasedTypeChecking[ 8 ] << kExternalPointerTagShift) | kExternalPointerMarkBit) , v8::internal::kAccessorInfoGetterTag = ((kAllTagsForAndBasedTypeChecking[ 9 ] << kExternalPointerTagShift) | kExternalPointerMarkBit) , v8::internal::kAccessorInfoSetterTag = ((kAllTagsForAndBasedTypeChecking[ 10 ] << kExternalPointerTagShift) | kExternalPointerMarkBit) , v8::internal::kWasmInternalFunctionCallTargetTag = ((kAllTagsForAndBasedTypeChecking[ 11 ] << kExternalPointerTagShift) | kExternalPointerMarkBit) , v8::internal::kWasmTypeInfoNativeTypeTag = ((kAllTagsForAndBasedTypeChecking[ 12 ] << kExternalPointerTagShift) | kExternalPointerMarkBit) , v8::internal::kWasmExportedFunctionDataSignatureTag = ((kAllTagsForAndBasedTypeChecking[ 13 ] << kExternalPointerTagShift) | kExternalPointerMarkBit) , v8::internal::kWasmContinuationJmpbufTag = ((kAllTagsForAndBasedTypeChecking[ 14 ] << kExternalPointerTagShift) | kExternalPointerMarkBit) , v8::internal::kWasmStackMemoryTag = ((kAllTagsForAndBasedTypeChecking[ 15 ] << kExternalPointerTagShift) | kExternalPointerMarkBit) , v8::internal::kWasmIndirectFunctionTargetTag = ((kAllTagsForAndBasedTypeChecking[ 16 ] << kExternalPointerTagShift) | kExternalPointerMarkBit) , v8::internal::kGenericForeignTag = ((kAllTagsForAndBasedTypeChecking[ 20 ] << kExternalPointerTagShift) | kExternalPointerMarkBit) , v8::internal::kApiNamedPropertyQueryCallbackTag = ((kAllTagsForAndBasedTypeChecking[ 21 ] << kExternalPointerTagShift) | kExternalPointerMarkBit) , v8::internal::kApiNamedPropertyGetterCallbackTag = ((kAllTagsForAndBasedTypeChecking[ 22 ] << kExternalPointerTagShift) | kExternalPointerMarkBit) , v8::internal::kApiNamedPropertySetterCallbackTag = ((kAllTagsForAndBasedTypeChecking[ 23 ] << kExternalPointerTagShift) | kExternalPointerMarkBit) , v8::internal::kApiNamedPropertyDescriptorCallbackTag = ((kAllTagsForAndBasedTypeChecking[ 24 ] << kExternalPointerTagShift) | kExternalPointerMarkBit) , v8::internal::kApiNamedPropertyDefinerCallbackTag = ((kAllTagsForAndBasedTypeChecking[ 25 ] << kExternalPointerTagShift) | kExternalPointerMarkBit) , v8::internal::kApiNamedPropertyDeleterCallbackTag = ((kAllTagsForAndBasedTypeChecking[ 26 ] << kExternalPointerTagShift) | kExternalPointerMarkBit) , v8::internal::kApiIndexedPropertyQueryCallbackTag = ((kAllTagsForAndBasedTypeChecking[ 27 ] << kExternalPointerTagShift) | kExternalPointerMarkBit) , v8::internal::kApiIndexedPropertyGetterCallbackTag = ((kAllTagsForAndBasedTypeChecking[ 28 ] << kExternalPointerTagShift) | kExternalPointerMarkBit) , v8::internal::kApiIndexedPropertySetterCallbackTag = ((kAllTagsForAndBasedTypeChecking[ 29 ] << kExternalPointerTagShift) | kExternalPointerMarkBit) , v8::internal::kApiIndexedPropertyDescriptorCallbackTag = ((kAllTagsForAndBasedTypeChecking[ 30 ] << kExternalPointerTagShift) | kExternalPointerMarkBit) , v8::internal::kApiIndexedPropertyDefinerCallbackTag = ((kAllTagsForAndBasedTypeChecking[ 31 ] << kExternalPointerTagShift) | kExternalPointerMarkBit) , v8::internal::kApiIndexedPropertyDeleterCallbackTag = ((kAllTagsForAndBasedTypeChecking[ 32 ] << kExternalPointerTagShift) | kExternalPointerMarkBit) , v8::internal::kApiIndexedPropertyEnumeratorCallbackTag = ((kAllTagsForAndBasedTypeChecking[ 33 ] << kExternalPointerTagShift) | kExternalPointerMarkBit) , v8::internal::kApiAccessCheckCallbackTag = ((kAllTagsForAndBasedTypeChecking[ 34 ] << kExternalPointerTagShift) | kExternalPointerMarkBit) , v8::internal::kApiAbortScriptExecutionCallbackTag = ((kAllTagsForAndBasedTypeChecking[ 35 ] << kExternalPointerTagShift) | kExternalPointerMarkBit) , v8::internal::kSyntheticModuleTag = ((kAllTagsForAndBasedTypeChecking[ 36 ] << kExternalPointerTagShift) | kExternalPointerMarkBit) , v8::internal::kMicrotaskCallbackTag = ((kAllTagsForAndBasedTypeChecking[ 37 ] << kExternalPointerTagShift) | kExternalPointerMarkBit) , v8::internal::kMicrotaskCallbackDataTag = ((kAllTagsForAndBasedTypeChecking[ 38 ] << kExternalPointerTagShift) | kExternalPointerMarkBit) , v8::internal::kCFunctionTag = ((kAllTagsForAndBasedTypeChecking[ 39 ] << kExternalPointerTagShift) | kExternalPointerMarkBit) , v8::internal::kCFunctionInfoTag = ((kAllTagsForAndBasedTypeChecking[ 40 ] << kExternalPointerTagShift) | kExternalPointerMarkBit) , v8::internal::kMessageListenerTag = ((kAllTagsForAndBasedTypeChecking[ 41 ] << kExternalPointerTagShift) | kExternalPointerMarkBit) , v8::internal::kWaiterQueueForeignTag = ((kAllTagsForAndBasedTypeChecking[ 42 ] << kExternalPointerTagShift) | kExternalPointerMarkBit) , v8::internal::kFirstManagedResourceTag = ((kAllTagsForAndBasedTypeChecking[ 50 ] << kExternalPointerTagShift) | kExternalPointerMarkBit) , v8::internal::kGenericManagedTag = ((kAllTagsForAndBasedTypeChecking[ 50 ] << kExternalPointerTagShift) | kExternalPointerMarkBit) , v8::internal::kWasmWasmStreamingTag = ((kAllTagsForAndBasedTypeChecking[ 51 ] << kExternalPointerTagShift) | kExternalPointerMarkBit) , v8::internal::kWasmFuncDataTag = ((kAllTagsForAndBasedTypeChecking[ 52 ] << kExternalPointerTagShift) | kExternalPointerMarkBit) , v8::internal::kWasmManagedDataTag = ((kAllTagsForAndBasedTypeChecking[ 53 ] << kExternalPointerTagShift) | kExternalPointerMarkBit) , v8::internal::kWasmNativeModuleTag = ((kAllTagsForAndBasedTypeChecking[ 54 ] << kExternalPointerTagShift) | kExternalPointerMarkBit) , v8::internal::kIcuBreakIteratorTag = ((kAllTagsForAndBasedTypeChecking[ 55 ] << kExternalPointerTagShift) | kExternalPointerMarkBit) , v8::internal::kIcuUnicodeStringTag = ((kAllTagsForAndBasedTypeChecking[ 56 ] << kExternalPointerTagShift) | kExternalPointerMarkBit) , v8::internal::kIcuListFormatterTag = ((kAllTagsForAndBasedTypeChecking[ 57 ] << kExternalPointerTagShift) | kExternalPointerMarkBit) , v8::internal::kIcuLocaleTag = ((kAllTagsForAndBasedTypeChecking[ 58 ] << kExternalPointerTagShift) | kExternalPointerMarkBit) , v8::internal::kIcuSimpleDateFormatTag = ((kAllTagsForAndBasedTypeChecking[ 59 ] << kExternalPointerTagShift) | kExternalPointerMarkBit) , v8::internal::kIcuDateIntervalFormatTag = ((kAllTagsForAndBasedTypeChecking[ 60 ] << kExternalPointerTagShift) | kExternalPointerMarkBit) , v8::internal::kIcuRelativeDateTimeFormatterTag = ((kAllTagsForAndBasedTypeChecking[ 61 ] << kExternalPointerTagShift) | kExternalPointerMarkBit) , v8::internal::kIcuLocalizedNumberFormatterTag = ((kAllTagsForAndBasedTypeChecking[ 62 ] << kExternalPointerTagShift) | kExternalPointerMarkBit) , v8::internal::kIcuPluralRulesTag = ((kAllTagsForAndBasedTypeChecking[ 63 ] << kExternalPointerTagShift) | kExternalPointerMarkBit) , v8::internal::kIcuCollatorTag = ((kAllTagsForAndBasedTypeChecking[ 64 ] << kExternalPointerTagShift) | kExternalPointerMarkBit) , v8::internal::kDisplayNamesInternalTag = ((kAllTagsForAndBasedTypeChecking[ 65 ] << kExternalPointerTagShift) | kExternalPointerMarkBit) , v8::internal::kArrayBufferExtensionTag = ((kAllTagsForAndBasedTypeChecking[ 66 ] << kExternalPointerTagShift) | kExternalPointerMarkBit) , v8::internal::kLastManagedResourceTag = ((kAllTagsForAndBasedTypeChecking[ 66 ] << kExternalPointerTagShift) | kExternalPointerMarkBit) } |
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 () |
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) |
#define CHECK_NON_SHARED_EXTERNAL_POINTER_TAGS | ( | Tag, | |
... | |||
) | static_assert(!IsSharedExternalPointerType(Tag)); |
#define CHECK_SHARED_EXTERNAL_POINTER_TAGS | ( | Tag, | |
... | |||
) | static_assert(IsSharedExternalPointerType(Tag)); |
#define EXTERNAL_POINTER_TAG_ENUM | ( | Name, | |
Tag | |||
) | Name = Tag, |
#define MAKE_TAG | ( | HasMarkBit, | |
TypeTag | |||
) |
#define PER_ISOLATE_EXTERNAL_POINTER_TAGS | ( | V | ) |
#define SHARED_EXTERNAL_POINTER_TAGS | ( | V | ) |
#define TAG | ( | i | ) |
#define V8_HAVE_SPACESHIP_OPERATOR 0 |