v8
V8 is Google’s open source high-performance JavaScript and WebAssembly engine, written in C++.
Loading...
Searching...
No Matches
tagged-field.h File Reference
Include dependency graph for tagged-field.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  v8::internal::TaggedMember< T, CompressionScheme >
 
class  v8::internal::UnalignedValueMember< T >
 
class  v8::internal::UnalignedDoubleMember
 
class  v8::internal::TaggedField< T, kFieldOffset, CompressionScheme >
 
class  v8::internal::TaggedField< Tagged< T > >
 
class  v8::internal::TaggedField< Tagged< T >, kFieldOffset >
 
class  v8::internal::TaggedField< Tagged< T >, kFieldOffset, CompressionScheme >
 

Namespaces

namespace  v8
 
namespace  v8::internal
 

Macros

#define FLEXIBLE_ARRAY_MEMBER(Type, name)
 
#define OFFSET_OF_DATA_START(Type)
 

Typedefs

using v8::internal::TaggedMemberBase = TaggedImpl<HeapObjectReferenceType::WEAK, Tagged_t>
 

Macro Definition Documentation

◆ FLEXIBLE_ARRAY_MEMBER

#define FLEXIBLE_ARRAY_MEMBER ( Type,
name )
Value:
using FlexibleDataReturnType = Type[0]; \
FlexibleDataReturnType& name() { return flexible_array_member_data_; } \
const FlexibleDataReturnType& name() const { \
return flexible_array_member_data_; \
} \
Type flexible_array_member_data_[0]; \
\
public: \
template <typename Class> \
static constexpr auto OffsetOfDataStart() { \
/* Produce a compiler error if {Class} is not this class */ \
static_assert(base::tmp::lazy_true< \
decltype(std::declval<Class>() \
.flexible_array_member_data_)>::value); \
return static_cast<int>(offsetof(Class, flexible_array_member_data_)); \
} \
\
private: \
using FlexibleDataType = Type
const char * name
Definition builtins.cc:39

Definition at line 138 of file tagged-field.h.

◆ OFFSET_OF_DATA_START

#define OFFSET_OF_DATA_START ( Type)
Value:
Type::template OffsetOfDataStart<Type>()

Definition at line 165 of file tagged-field.h.