5#ifndef V8_COMPILER_TURBOSHAFT_ACCESS_BUILDER_H_
6#define V8_COMPILER_TURBOSHAFT_ACCESS_BUILDER_H_
20template <
typename Class,
typename T>
32template <
typename Class,
typename T>
50 template <
typename Class>
53#define TF_FIELD_ACCESS(Class, T, name) \
54 static FieldAccessTS<Class, T> name() { \
55 return FieldAccessTS<Class, T>(compiler::AccessBuilder::name()); \
63 ForHeapNumberOrOddballOrHoleValue)
77#define TF_ELEMENT_ACCESS(Class, T, name) \
78 static ElementAccessTS<Class, T> name() { \
79 return ElementAccessTS<Class, T>{compiler::AccessBuilder::name(), false}; \
84#undef TF_ELEMENT_ACCESS
static constexpr MachineType Int32()
static ElementAccess ForFixedArrayElement()
static FieldAccess ForMap(WriteBarrierKind write_barrier=kMapWriteBarrier)
static TypeCache const * Get()
static constexpr bool is_array_buffer_v
Map ForMap(WriteBarrierKind write_barrier=kMapWriteBarrier)
static FieldAccessTS< FeedbackVector, Word32 > ForFeedbackVectorLength()
static ElementAccessTS< FixedArray, T > ForFixedArrayElement()
WordWithBits< 32 > Word32
FloatWithBits< 64 > Float64
ElementAccessTS(const compiler::ElementAccess &base, bool is_array_buffer_load)
const bool is_array_buffer_load
FieldAccessTS(const compiler::FieldAccess &base)
#define TF_FIELD_ACCESS(Class, T, name)
#define TF_ELEMENT_ACCESS(Class, T, name)