5#ifndef V8_BUILTINS_BUILTINS_ARRAY_GEN_H_
6#define V8_BUILTINS_BUILTINS_ARRAY_GEN_H_
35 ExternalReference::jsarray_array_join_concat_to_sequential_string());
void GenerateArrayNArgumentsConstructor(TNode< Context > context, TNode< JSFunction > target, TNode< Object > new_target, TNode< Int32T > argc, TNode< HeapObject > maybe_allocation_site)
void ReturnFromBuiltin(TNode< Object > value)
TNode< String > CallJSArrayArrayJoinConcatToSequentialString(TNode< FixedArray > fixed_array, TNode< IntPtrT > length, TNode< String > sep, TNode< String > dest)
std::function< void(ArrayBuiltinsAssembler *masm)> BuiltinResultGenerator
ArrayBuiltinsAssembler(compiler::CodeAssemblerState *state)
TNode< Context > context()
TNode< BoolT > fast_typed_array_target_
ElementsKind source_elements_kind_
TNode< JSAny > TypedArrayMapProcessor(TNode< Object > k_value, TNode< UintPtrT > k)
TNode< Object > callbackfn()
void InitIteratingArrayBuiltinBody(TNode< Context > context, TNode< JSAny > receiver, TNode< Object > callbackfn, TNode< JSAny > this_arg, TNode< IntPtrT > argc)
void TypedArrayMapResultGenerator()
void GenerateIteratingTypedArrayBuiltinBody(const char *name, const BuiltinResultGenerator &generator, const CallResultProcessor &processor, ForEachDirection direction=ForEachDirection::kForward)
TNode< JSAny > receiver()
TNode< Object > callbackfn_
void GenerateDispatchToArrayStub(TNode< Context > context, TNode< JSFunction > target, TNode< Int32T > argc, AllocationSiteOverrideMode mode, std::optional< TNode< AllocationSite > > allocation_site=std::nullopt)
Label fully_spec_compliant_
void GenerateConstructor(TNode< Context > context, TNode< JSAnyNotSmi > array_function, TNode< Map > array_map, TNode< Object > array_size, TNode< HeapObject > allocation_site, ElementsKind elements_kind, AllocationSiteMode mode)
TNode< Context > context_
void CreateArrayDispatchSingleArgument(TNode< Context > context, TNode< JSFunction > target, TNode< Int32T > argc, AllocationSiteOverrideMode mode, std::optional< TNode< AllocationSite > > allocation_site)
void GenerateArraySingleArgumentConstructor(ElementsKind kind, AllocationSiteOverrideMode mode)
void TailCallArrayConstructorStub(const Callable &callable, TNode< Context > context, TNode< JSFunction > target, TNode< HeapObject > allocation_site_or_undefined, TNode< Int32T > argc)
std::function< TNode< JSAny >( ArrayBuiltinsAssembler *masm, TNode< Object > k_value, TNode< UintPtrT > k)> CallResultProcessor
TNode< JSAny > this_arg()
void GenerateArrayNoArgumentConstructor(ElementsKind kind, AllocationSiteOverrideMode mode)
void CreateArrayDispatchNoArgument(TNode< Context > context, TNode< JSFunction > target, TNode< Int32T > argc, AllocationSiteOverrideMode mode, std::optional< TNode< AllocationSite > > allocation_site)
void VisitAllTypedArrayElements(TNode< JSArrayBuffer > array_buffer, const CallResultProcessor &processor, ForEachDirection direction, TNode< JSTypedArray > typed_array)
@ kGetArrayLikeValueWithMapping
@ kAddArrayLikeValueToTheArray
@ kGetIteratorValueWithMapping
@ kCheckIteratorValueAndMapping
@ kAddIteratorValueToTheArray
@ kCheckArrayLikeValueAndMapping
ArrayFromAsyncArrayLikeResolveContextSlots
@ kArrayFromAsyncArrayLikeResolveOnFulfilledFunctionSlot
@ kArrayFromAsyncArrayLikeResolvePromiseSlot
@ kArrayFromAsyncArrayLikeResolveResumeStateAwaitedValueSlot
@ kArrayFromAsyncArrayLikeResolveLength
@ kArrayFromAsyncArrayLikeResolveThisArgSlot
@ kArrayFromAsyncArrayLikeResolveArrayLikeSlot
@ kArrayFromAsyncArrayLikeResolveOnRejectedFunctionSlot
@ kArrayFromAsyncArrayLikeResolveMapfnSlot
@ kArrayFromAsyncArrayLikeResolveResultArraySlot
@ kArrayFromAsyncArrayLikeResolveResumeStateIndexSlot
@ kArrayFromAsyncArrayLikeResolveResumeStateStepSlot
@ kArrayFromAsyncArrayLikeResolvePromiseFunctionSlot
@ kArrayFromAsyncArrayLikeResolveErrorSlot
@ kArrayFromAsyncArrayLikeResolveResumeStateLenSlot
ArrayFromAsyncIterableResolveContextSlots
@ kArrayFromAsyncIterableResolveOnFulfilledFunctionSlot
@ kArrayFromAsyncIterableResolveThisArgSlot
@ kArrayFromAsyncIterableResolveOnRejectedFunctionSlot
@ kArrayFromAsyncIterableResolveResumeStateStepSlot
@ kArrayFromAsyncIterableResolveResultArraySlot
@ kArrayFromAsyncIterableResolvePromiseSlot
@ kArrayFromAsyncIterableResolveErrorSlot
@ kArrayFromAsyncIterableResolvePromiseFunctionSlot
@ kArrayFromAsyncIterableResolveNextMethodSlot
@ kArrayFromAsyncIterableResolveIteratorSlot
@ kArrayFromAsyncIterableResolveResumeStateIndexSlot
@ kArrayFromAsyncIterableResolveMapfnSlot
@ kArrayFromAsyncIterableResolveLength
@ kArrayFromAsyncIterableResolveResumeStateAwaitedValueSlot
static V8_EXPORT_PRIVATE ExternalReference isolate_address()
static constexpr MachineType Pointer()
static constexpr MachineType AnyTagged()
static constexpr MachineType IntPtr()
TNode< T > UncheckedCast(Node *value)
TNode< ExternalReference > ExternalConstant(ExternalReference address)
Node * CallCFunction(Node *function, std::optional< MachineType > return_type, CArgs... cargs)
DirectHandle< Object > new_target
ArrayReduceDirection direction
AllocationSiteOverrideMode