v8 12.4.254 (node 22.4.1)
V8 is Google's open source JavaScript engine
|
#include <stddef.h>
#include <stdint.h>
#include <string.h>
#include <atomic>
#include <iterator>
#include <memory>
#include <type_traits>
#include "v8config.h"
Go to the source code of this file.
Data Structures | |
struct | SmiTagging< 4 > |
struct | SmiTagging< 8 > |
class | Internals |
struct | CastCheck< PerformCheck > |
class | BackingStoreBase |
class | StrongRootAllocatorBase |
class | StrongRootAllocator< T > |
class | WrappedIterator< Iterator, ElementType > |
class | ValueHelper |
class | HandleHelper |
Namespaces | |
namespace | v8 |
namespace | v8::internal |
Macros | |
#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 | Address |
using | PlatformSmiTagging = SmiTagging< kApiTaggedSize > |
using | SandboxedPointer_t = Address |
using | ExternalPointerHandle = uint32_t |
using | ExternalPointer_t = Address |
using | IndirectPointerHandle = uint32_t |
using | TrustedPointerHandle = IndirectPointerHandle |
using | CodePointerHandle = IndirectPointerHandle |
Enumerations | |
enum | ExternalPointerTag : uint64_t { kExternalPointerNullTag = MAKE_TAG(1, 0b00000000) , kAnyExternalPointerTag = MAKE_TAG(1, 0b11111111) , kExternalPointerFreeEntryTag = MAKE_TAG(0, 0b11111111) , kExternalPointerEvacuationEntryTag = MAKE_TAG(1, 0b11100111) } |
Functions | |
constexpr bool | PointerCompressionIsEnabled () |
constexpr bool | SmiValuesAre31Bits () |
constexpr bool | SmiValuesAre32Bits () |
constexpr bool | Is64 () |
constexpr bool | SandboxIsEnabled () |
V8_EXPORT internal::Isolate * | IsolateFromNeverReadOnlySpaceObject (Address obj) |
V8_EXPORT bool | ShouldThrowOnError (internal::Isolate *isolate) |
template<class T > | |
V8_INLINE void | PerformCastCheck (T *data) |
template<typename Iterator , typename ElementType , typename OtherIterator , typename OtherElementType > | |
constexpr bool | operator== (const WrappedIterator< Iterator, ElementType > &x, const WrappedIterator< OtherIterator, OtherElementType > &y) noexcept |
template<typename Iterator , typename ElementType , typename OtherIterator , typename OtherElementType > | |
constexpr bool | operator< (const WrappedIterator< Iterator, ElementType > &x, const WrappedIterator< OtherIterator, OtherElementType > &y) noexcept |
template<typename Iterator , typename ElementType , typename OtherIterator , typename OtherElementType > | |
constexpr bool | operator!= (const WrappedIterator< Iterator, ElementType > &x, const WrappedIterator< OtherIterator, OtherElementType > &y) noexcept |
template<typename Iterator , typename ElementType , typename OtherIterator , typename OtherElementType > | |
constexpr bool | operator> (const WrappedIterator< Iterator, ElementType > &x, const WrappedIterator< OtherIterator, OtherElementType > &y) noexcept |
template<typename Iterator , typename ElementType , typename OtherIterator , typename OtherElementType > | |
constexpr bool | operator>= (const WrappedIterator< Iterator, ElementType > &x, const WrappedIterator< OtherIterator, OtherElementType > &y) noexcept |
template<typename Iterator , typename ElementType , typename OtherIterator , typename OtherElementType > | |
constexpr bool | operator<= (const WrappedIterator< Iterator, ElementType > &x, const WrappedIterator< OtherIterator, OtherElementType > &y) noexcept |
template<typename Iterator , typename ElementType , typename OtherIterator , typename OtherElementType > | |
constexpr auto | operator- (const WrappedIterator< Iterator, ElementType > &x, const WrappedIterator< OtherIterator, OtherElementType > &y) noexcept -> decltype(x.base() - y.base()) |
template<typename Iterator , typename ElementType > | |
constexpr WrappedIterator< Iterator > | operator+ (typename WrappedIterator< Iterator, ElementType >::difference_type n, const WrappedIterator< Iterator, ElementType > &x) noexcept |
V8_EXPORT void | VerifyHandleIsNonEmpty (bool is_empty) |
#define ALL_EXTERNAL_POINTER_TAGS | ( | V | ) |
Definition at line 439 of file v8-internal.h.
#define CHECK_NON_SHARED_EXTERNAL_POINTER_TAGS | ( | Tag, | |
... | |||
) | static_assert(!IsSharedExternalPointerType(Tag)); |
Definition at line 487 of file v8-internal.h.
#define CHECK_SHARED_EXTERNAL_POINTER_TAGS | ( | Tag, | |
... | |||
) | static_assert(IsSharedExternalPointerType(Tag)); |
Definition at line 485 of file v8-internal.h.
#define EXTERNAL_POINTER_TAG_ENUM | ( | Name, | |
Tag | |||
) | Name = Tag, |
Definition at line 443 of file v8-internal.h.
#define MAKE_TAG | ( | HasMarkBit, | |
TypeTag | |||
) |
Definition at line 444 of file v8-internal.h.
#define PER_ISOLATE_EXTERNAL_POINTER_TAGS | ( | V | ) |
Definition at line 420 of file v8-internal.h.
#define SHARED_EXTERNAL_POINTER_TAGS | ( | V | ) |
#define TAG | ( | i | ) |
Definition at line 397 of file v8-internal.h.