5#ifndef V8_BUILTINS_BUILTINS_TYPED_ARRAY_GEN_H_
6#define V8_BUILTINS_BUILTINS_TYPED_ARRAY_GEN_H_
51 const char* method_name);
55 const char* method_name);
107 Label* if_detached_or_out_of_bounds);
108 template <
typename TValue>
TorqueStructTypedArrayElementsInfo ElementsInfo
void StoreJSTypedArrayElementFromPreparedValue(TNode< Context > context, TNode< JSTypedArray > typed_array, TNode< UintPtrT > index_node, TNode< TValue > value, ElementsKind elements_kind, Label *if_detached_or_out_of_bounds)
TNode< JSFunction > GetDefaultConstructor(TNode< Context > context, TNode< JSTypedArray > exemplar)
ElementsInfo GetTypedArrayElementsInfo(TNode< JSTypedArray > typed_array)
void SetJSTypedArrayOffHeapDataPtr(TNode< JSTypedArray > holder, TNode< RawPtrT > base, TNode< UintPtrT > offset)
void CallCMemset(TNode< RawPtrT > dest_ptr, TNode< IntPtrT > value, TNode< UintPtrT > length)
TNode< UintPtrT > ValidateTypedArrayAndGetLength(TNode< Context > context, TNode< Object > obj, const char *method_name)
void AttachBuffer(TNode< JSTypedArray > holder, TNode< JSArrayBuffer > buffer, TNode< Map > map, TNode< Smi > length, TNode< UintPtrT > byte_offset)
void CallCRelaxedMemcpy(TNode< RawPtrT > dest_ptr, TNode< RawPtrT > src_ptr, TNode< UintPtrT > byte_length)
std::function< void(ElementsKind, int, int)> TypedArraySwitchCase
void CallCCopyTypedArrayElementsSlice(TNode< JSTypedArray > source, TNode< JSTypedArray > dest, TNode< UintPtrT > start, TNode< UintPtrT > end)
void CallCCopyFastNumberJSArrayElementsToTypedArray(TNode< Context > context, TNode< JSArray > source, TNode< JSTypedArray > dest, TNode< UintPtrT > source_length, TNode< UintPtrT > offset)
void CallCRelaxedMemmove(TNode< RawPtrT > dest_ptr, TNode< RawPtrT > src_ptr, TNode< UintPtrT > byte_length)
void CallCMemcpy(TNode< RawPtrT > dest_ptr, TNode< RawPtrT > src_ptr, TNode< UintPtrT > byte_length)
void CallCCopyTypedArrayElementsToTypedArray(TNode< JSTypedArray > source, TNode< JSTypedArray > dest, TNode< UintPtrT > source_length, TNode< UintPtrT > offset)
TypedArrayBuiltinsAssembler(compiler::CodeAssemblerState *state)
void StoreJSTypedArrayElementFromTagged(TNode< Context > context, TNode< JSTypedArray > typed_array, TNode< UintPtrT > index_node, TNode< Object > value, ElementsKind elements_kind, Label *if_detached_or_out_of_bounds)
void DispatchTypedArrayByElementsKind(TNode< Word32T > elements_kind, const TypedArraySwitchCase &case_function)
void StoreJSTypedArrayElementFromNumeric(TNode< Context > context, TNode< JSTypedArray > typed_array, TNode< UintPtrT > index_node, TNode< Numeric > value, ElementsKind elements_kind)
TNode< JSArrayBuffer > AllocateEmptyOnHeapBuffer(TNode< Context > context)
void CallCMemmove(TNode< RawPtrT > dest_ptr, TNode< RawPtrT > src_ptr, TNode< UintPtrT > byte_length)
TNode< IntPtrT > GetTypedArrayElementSize(TNode< Int32T > elements_kind)
TNode< Map > LoadMapForType(TNode< JSTypedArray > array)
void SetJSTypedArrayOnHeapDataPtr(TNode< JSTypedArray > holder, TNode< ByteArray > base, TNode< UintPtrT > offset)
TNode< JSTypedArray > ValidateTypedArray(TNode< Context > context, TNode< Object > obj, const char *method_name)
TNode< BoolT > IsUint8ElementsKind(TNode< Int32T > kind)
TNode< BoolT > IsMockArrayBufferAllocatorFlag()
TNode< BoolT > IsBigInt64ElementsKind(TNode< Int32T > kind)
TNode< UintPtrT > CalculateExternalPointer(TNode< UintPtrT > backing_store, TNode< UintPtrT > byte_offset)
void SetupTypedArrayEmbedderFields(TNode< JSTypedArray > holder)