v8
V8 is Google’s open source high-performance JavaScript and WebAssembly engine, written in C++.
Loading...
Searching...
No Matches
v8::internal::compiler::JSInliner Class Referencefinal

#include <js-inlining.h>

Inheritance diagram for v8::internal::compiler::JSInliner:
Collaboration diagram for v8::internal::compiler::JSInliner:

Public Member Functions

 JSInliner (Editor *editor, Zone *local_zone, OptimizedCompilationInfo *info, JSGraph *jsgraph, JSHeapBroker *broker, SourcePositionTable *source_positions, NodeOriginTable *node_origins, const wasm::WasmModule *wasm_module, JsWasmCallsSidetable *js_wasm_calls_sidetable, bool inline_wasm_fct_if_supported)
 
const char * reducer_name () const override
 
Reduction Reduce (Node *node) final
 
Reduction ReduceJSCall (Node *node)
 
- Public Member Functions inherited from v8::internal::compiler::AdvancedReducer
 AdvancedReducer (Editor *editor)
 
- Public Member Functions inherited from v8::internal::compiler::Reducer
virtual ~Reducer ()=default
 
Reduction Reduce (Node *node, ObserveNodeManager *observe_node_manager)
 
virtual void Finalize ()
 

Private Member Functions

Zonezone () const
 
CommonOperatorBuildercommon () const
 
JSOperatorBuilderjavascript () const
 
SimplifiedOperatorBuildersimplified () const
 
TFGraphgraph () const
 
JSGraphjsgraph () const
 
JSHeapBrokerbroker () const
 
Isolateisolate () const
 
OptionalSharedFunctionInfoRef DetermineCallTarget (Node *node)
 
FeedbackCellRef DetermineCallContext (Node *node, Node **context_out)
 
FrameState CreateArtificialFrameState (Node *node, FrameState outer_frame_state, int parameter_count, FrameStateType frame_state_type, SharedFunctionInfoRef shared, OptionalBytecodeArrayRef maybe_bytecode_array, Node *context=nullptr, Node *callee=nullptr)
 
Reduction InlineCall (Node *call, Node *new_target, Node *context, Node *frame_state, StartNode start, Node *end, Node *exception_target, const NodeVector &uncaught_subcalls, int argument_count)
 

Private Attributes

Zone *const local_zone_
 
OptimizedCompilationInfoinfo_
 
JSGraph *const jsgraph_
 
JSHeapBroker *const broker_
 
SourcePositionTable *const source_positions_
 
NodeOriginTable *const node_origins_
 
const wasm::WasmModulewasm_module_
 
JsWasmCallsSidetablejs_wasm_calls_sidetable_
 
bool inline_wasm_fct_if_supported_
 

Additional Inherited Members

- Static Public Member Functions inherited from v8::internal::compiler::Reducer
static Reduction NoChange ()
 
static Reduction Replace (Node *node)
 
static Reduction Changed (Node *node)
 
- Protected Member Functions inherited from v8::internal::compiler::AdvancedReducer
void Replace (Node *node, Node *replacement)
 
void Replace (Node *node, Node *replacement, NodeId max_id)
 
void Revisit (Node *node)
 
void ReplaceWithValue (Node *node, Node *value, Node *effect=nullptr, Node *control=nullptr)
 
void RelaxEffectsAndControls (Node *node)
 
void RelaxControls (Node *node, Node *control=nullptr)
 
void MergeControlToEnd (TFGraph *graph, CommonOperatorBuilder *common, Node *node)
 
- Static Protected Member Functions inherited from v8::internal::compiler::AdvancedReducer
static Reduction Replace (Node *node)
 

Detailed Description

Definition at line 33 of file js-inlining.h.

Constructor & Destructor Documentation

◆ JSInliner()

v8::internal::compiler::JSInliner::JSInliner ( Editor * editor,
Zone * local_zone,
OptimizedCompilationInfo * info,
JSGraph * jsgraph,
JSHeapBroker * broker,
SourcePositionTable * source_positions,
NodeOriginTable * node_origins,
const wasm::WasmModule * wasm_module,
JsWasmCallsSidetable * js_wasm_calls_sidetable,
bool inline_wasm_fct_if_supported )
inline

Definition at line 35 of file js-inlining.h.

Member Function Documentation

◆ broker()

JSHeapBroker * v8::internal::compiler::JSInliner::broker ( ) const
inlineprivate

Definition at line 89 of file js-inlining.h.

Here is the caller graph for this function:

◆ common()

CommonOperatorBuilder * v8::internal::compiler::JSInliner::common ( ) const
private

Definition at line 972 of file js-inlining.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ CreateArtificialFrameState()

FrameState v8::internal::compiler::JSInliner::CreateArtificialFrameState ( Node * node,
FrameState outer_frame_state,
int parameter_count,
FrameStateType frame_state_type,
SharedFunctionInfoRef shared,
OptionalBytecodeArrayRef maybe_bytecode_array,
Node * context = nullptr,
Node * callee = nullptr )
private

Definition at line 251 of file js-inlining.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ DetermineCallContext()

FeedbackCellRef v8::internal::compiler::JSInliner::DetermineCallContext ( Node * node,
Node ** context_out )
private

Definition at line 379 of file js-inlining.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ DetermineCallTarget()

OptionalSharedFunctionInfoRef v8::internal::compiler::JSInliner::DetermineCallTarget ( Node * node)
private

Definition at line 324 of file js-inlining.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ graph()

TFGraph * v8::internal::compiler::JSInliner::graph ( ) const
private

Definition at line 966 of file js-inlining.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ InlineCall()

Reduction v8::internal::compiler::JSInliner::InlineCall ( Node * call,
Node * new_target,
Node * context,
Node * frame_state,
StartNode start,
Node * end,
Node * exception_target,
const NodeVector & uncaught_subcalls,
int argument_count )
private

Definition at line 99 of file js-inlining.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ isolate()

Isolate * v8::internal::compiler::JSInliner::isolate ( ) const
inlineprivate

Definition at line 90 of file js-inlining.h.

Here is the call graph for this function:

◆ javascript()

JSOperatorBuilder * v8::internal::compiler::JSInliner::javascript ( ) const
private

Definition at line 968 of file js-inlining.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ jsgraph()

JSGraph * v8::internal::compiler::JSInliner::jsgraph ( ) const
inlineprivate

Definition at line 87 of file js-inlining.h.

Here is the caller graph for this function:

◆ Reduce()

Reduction v8::internal::compiler::JSInliner::Reduce ( Node * node)
inlinefinalvirtual

Implements v8::internal::compiler::Reducer.

Definition at line 60 of file js-inlining.h.

Here is the call graph for this function:

◆ ReduceJSCall()

Reduction v8::internal::compiler::JSInliner::ReduceJSCall ( Node * node)

Definition at line 680 of file js-inlining.cc.

Here is the caller graph for this function:

◆ reducer_name()

const char * v8::internal::compiler::JSInliner::reducer_name ( ) const
inlineoverridevirtual

Implements v8::internal::compiler::Reducer.

Definition at line 58 of file js-inlining.h.

◆ simplified()

SimplifiedOperatorBuilder * v8::internal::compiler::JSInliner::simplified ( ) const
private

Definition at line 974 of file js-inlining.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ zone()

Zone * v8::internal::compiler::JSInliner::zone ( ) const
inlineprivate

Definition at line 82 of file js-inlining.h.

Here is the caller graph for this function:

Member Data Documentation

◆ broker_

JSHeapBroker* const v8::internal::compiler::JSInliner::broker_
private

Definition at line 95 of file js-inlining.h.

◆ info_

OptimizedCompilationInfo* v8::internal::compiler::JSInliner::info_
private

Definition at line 93 of file js-inlining.h.

◆ inline_wasm_fct_if_supported_

bool v8::internal::compiler::JSInliner::inline_wasm_fct_if_supported_
private

Definition at line 103 of file js-inlining.h.

◆ js_wasm_calls_sidetable_

JsWasmCallsSidetable* v8::internal::compiler::JSInliner::js_wasm_calls_sidetable_
private

Definition at line 99 of file js-inlining.h.

◆ jsgraph_

JSGraph* const v8::internal::compiler::JSInliner::jsgraph_
private

Definition at line 94 of file js-inlining.h.

◆ local_zone_

Zone* const v8::internal::compiler::JSInliner::local_zone_
private

Definition at line 92 of file js-inlining.h.

◆ node_origins_

NodeOriginTable* const v8::internal::compiler::JSInliner::node_origins_
private

Definition at line 97 of file js-inlining.h.

◆ source_positions_

SourcePositionTable* const v8::internal::compiler::JSInliner::source_positions_
private

Definition at line 96 of file js-inlining.h.

◆ wasm_module_

const wasm::WasmModule* v8::internal::compiler::JSInliner::wasm_module_
private

Definition at line 98 of file js-inlining.h.


The documentation for this class was generated from the following files: