5#ifndef V8_COMPILER_JS_INLINING_HEURISTIC_H_
6#define V8_COMPILER_JS_INLINING_HEURISTIC_H_
44 v8_flags.max_inlined_bytecode_size_cumulative),
51 const char*
reducer_name()
const override {
return "JSInliningHeuristic"; }
100 Node** calls,
Node** inputs,
int input_count,
103 Node** calls,
Node** inputs,
int input_count,
Isolate * isolate() const
SimplifiedOperatorBuilder * simplified() const
Node * DuplicateStateValuesAndRename(Node *state_values, Node *from, Node *to, StateCloneMode mode)
JSInliningHeuristic(Editor *editor, Zone *local_zone, OptimizedCompilationInfo *info, JSGraph *jsgraph, JSHeapBroker *broker, SourcePositionTable *source_positions, NodeOriginTable *node_origins, Mode mode, const wasm::WasmModule *wasm_module, JsWasmCallsSidetable *js_wasm_calls_sidetable)
Isolate * isolate() const
OptimizedCompilationInfo * info_
JSGraph * jsgraph() const
Reduction Reduce(Node *node) final
SourcePositionTable * source_positions_
CommonOperatorBuilder * common() const
CompilationDependencies * dependencies() const
JSHeapBroker * broker() const
bool TryReuseDispatch(Node *node, Node *callee, Node **if_successes, Node **calls, Node **inputs, int input_count, int *num_calls)
void CreateOrReuseDispatch(Node *node, Node *callee, Candidate const &candidate, Node **if_successes, Node **calls, Node **inputs, int input_count, int *num_calls)
int total_inlined_bytecode_size_
const int max_inlined_bytecode_size_cumulative_
Candidate CollectFunctions(Node *node, int functions_size)
static const int kMaxCallPolymorphism
Reduction InlineCandidate(Candidate const &candidate, bool small_function)
FrameState DuplicateFrameStateAndRename(FrameState frame_state, Node *from, Node *to, StateCloneMode mode)
const char * reducer_name() const override
int total_inlined_bytecode_size() const
const int max_inlined_bytecode_size_absolute_
JSHeapBroker *const broker_
JsWasmCallsSidetable * js_wasm_calls_sidetable
SourcePositionTable * source_positions
too high values may cause the compiler to set high thresholds for inlining to as much as possible max_inlined_bytecode_size_absolute
V8_EXPORT_PRIVATE FlagValues v8_flags
#define DCHECK_EQ(v1, v2)
bool operator()(const Candidate &left, const Candidate &right) const
bool can_inline_function[kMaxCallPolymorphism]
OptionalSharedFunctionInfoRef shared_info