47 kInlineJSToWasmCalls = 1u << 1,
56 temp_zone_(temp_zone),
61 static constexpr int kMaxInlineMatchSequence = 3;
63 const char*
reducer_name()
const override {
return "JSCallReducer"; }
69 void Finalize() final;
72 void RevisitForGraphAssembler(
Node* node) { Revisit(node); }
76#if V8_ENABLE_WEBASSEMBLY
77 bool has_js_wasm_calls()
const {
78 return wasm_module_for_inlining_ !=
nullptr;
81 return wasm_module_for_inlining_;
85 CompilationDependencies* dependencies()
const;
130 Reduction ReduceArrayIterator(
Node* node, ArrayIteratorKind array_kind,
136 Reduction ReduceCallOrConstructWithArrayLikeOrSpreadOfCreateArguments(
137 Node* node,
Node* arguments_list,
int arraylike_or_spread_index,
140 Reduction ReduceCallOrConstructWithArrayLikeOrSpread(
141 Node* node,
int argument_count,
int arraylike_or_spread_index,
158 Reduction ReduceStringPrototypeIndexOfIncludes(
159 Node* node, StringIndexOfIncludesVariant variant);
169#ifdef V8_INTL_SUPPORT
170 Reduction ReduceStringPrototypeLocaleCompareIntl(
Node* node);
193 Reduction ReduceArrayBufferViewByteLengthAccessor(
Node* node,
196 Reduction ReduceArrayBufferViewByteOffsetAccessor(
Node* node,
227 Reduction ReduceCollectionIteratorPrototypeNext(
239 Reduction ReduceDataViewAccess(
Node* node, DataViewAccess access,
250 std::optional<Reduction> TryReduceJSCallMathMinMaxWithArrayLike(
Node* node);
253#ifdef V8_ENABLE_CONTINUATION_PRESERVED_EMBEDDER_DATA
254 Reduction ReduceGetContinuationPreservedEmbedderData(
Node* node);
255 Reduction ReduceSetContinuationPreservedEmbedderData(
Node* node);
260 std::pair<Node*, Node*> ReleaseEffectAndControlFromAssembler(
280 uint32_t array_length,
285 void CheckIfConstructor(
Node* call);
309#if V8_ENABLE_WEBASSEMBLY