5#ifndef V8_IC_HANDLER_CONFIGURATION_INL_H_
6#define V8_IC_HANDLER_CONFIGURATION_INL_H_
152 return BUILTIN_CODE(isolate, KeyedStoreIC_SloppyArguments_InBounds);
155 isolate, KeyedStoreIC_SloppyArguments_NoTransitionGrowAndHandleCOW);
159 KeyedStoreIC_SloppyArguments_NoTransitionIgnoreTypedArrayOOB);
162 KeyedStoreIC_SloppyArguments_NoTransitionHandleCOW);
172 return BUILTIN_CODE(isolate, StoreFastElementIC_InBounds);
175 StoreFastElementIC_NoTransitionGrowAndHandleCOW);
178 StoreFastElementIC_NoTransitionIgnoreTypedArrayOOB);
180 return BUILTIN_CODE(isolate, StoreFastElementIC_NoTransitionHandleCOW);
190 return BUILTIN_CODE(isolate, ElementsTransitionAndStore_InBounds);
193 isolate, ElementsTransitionAndStore_NoTransitionGrowAndHandleCOW);
196 isolate, ElementsTransitionAndStore_NoTransitionIgnoreTypedArrayOOB);
199 ElementsTransitionAndStore_NoTransitionHandleCOW);
242 return StoreField(isolate,
kind, descriptor, field_index, representation);
#define BUILTIN_CODE(isolate, name)
static constexpr T decode(U value)
static constexpr U encode(T value)
Tagged< UnionOf< Smi, Code > > smi_handler() const
static Handle< Smi > LoadSlow(Isolate *isolate)
static DirectHandle< Smi > LoadAccessorFromPrototype(Isolate *isolate)
static Kind GetHandlerKind(Tagged< Smi > smi_handler)
static Handle< Smi > LoadNativeDataProperty(Isolate *isolate, int descriptor)
static Handle< Smi > LoadConstantFromPrototype(Isolate *isolate)
static Handle< Smi > LoadProxy(Isolate *isolate)
static Handle< Smi > LoadNormal(Isolate *isolate)
static Handle< Smi > LoadField(Isolate *isolate, FieldIndex field_index)
static Handle< Smi > LoadNonExistent(Isolate *isolate)
static Handle< Smi > LoadInterceptor(Isolate *isolate)
static Handle< Smi > LoadModuleExport(Isolate *isolate, int index)
static DirectHandle< Smi > LoadWasmArrayElement(Isolate *isolate, WasmValueType type)
static Handle< Smi > LoadIndexedString(Isolate *isolate, KeyedAccessLoadMode load_mode)
static DirectHandle< Smi > LoadWasmStructField(Isolate *isolate, WasmValueType type, int offset)
static Handle< Smi > LoadApiGetter(Isolate *isolate)
static Handle< Smi > LoadElement(Isolate *isolate, ElementsKind elements_kind, bool is_js_array, KeyedAccessLoadMode load_mode)
static Handle< Smi > LoadGlobal(Isolate *isolate)
constexpr bool IsNone() const
constexpr Kind kind() const
bool Equals(const Representation &other) const
static constexpr Representation Tagged()
static constexpr Tagged< Smi > FromInt(int value)
static Handle< Smi > StoreNormal(Isolate *isolate)
static Handle< Smi > StoreSlow(Isolate *isolate, KeyedAccessStoreMode store_mode=KeyedAccessStoreMode::kInBounds)
static Handle< Smi > StoreSharedStructField(Isolate *isolate, int descriptor, FieldIndex field_index, Representation representation)
static Handle< Smi > StoreNativeDataProperty(Isolate *isolate, int descriptor)
static Handle< Smi > StoreField(Isolate *isolate, int descriptor, FieldIndex field_index, PropertyConstness constness, Representation representation)
static DirectHandle< Smi > StoreGlobalProxy(Isolate *isolate)
static Handle< Code > StoreFastElementBuiltin(Isolate *isolate, KeyedAccessStoreMode mode)
static DirectHandle< Smi > StoreApiSetter(Isolate *isolate)
static DirectHandle< Smi > StoreAccessorFromPrototype(Isolate *isolate)
static Handle< Smi > StoreInterceptor(Isolate *isolate)
static Handle< Code > StoreSloppyArgumentsBuiltin(Isolate *isolate, KeyedAccessStoreMode mode)
static Tagged< Smi > StoreProxy()
static DirectHandle< Code > ElementsTransitionAndStoreBuiltin(Isolate *isolate, KeyedAccessStoreMode mode)
V8_INLINE IndirectHandle< T > handle(Tagged< T > object, Isolate *isolate)
constexpr bool IsHoleyElementsKind(ElementsKind kind)
V8_INLINE DirectHandle< T > direct_handle(Tagged< T > object, Isolate *isolate)
bool LoadModeHandlesHoles(KeyedAccessLoadMode load_mode)
bool LoadModeHandlesOOB(KeyedAccessLoadMode load_mode)
const char * WasmValueType2String(WasmValueType type)
#define DCHECK_IMPLIES(v1, v2)
#define DCHECK(condition)