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

Zone * zone () const
 
CommonOperatorBuilder * common () const
 
JSOperatorBuilder * javascript () const
 
SimplifiedOperatorBuilder * simplified () const
 
TFGraph * graph () const
 
JSGraph * jsgraph () const
 
JSHeapBroker * broker () const
 
Isolate * isolate () 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_
 
OptimizedCompilationInfo * info_
 
JSGraph *const jsgraph_
 
JSHeapBroker *const broker_
 
SourcePositionTable *const source_positions_
 
NodeOriginTable *const node_origins_
 
const wasm::WasmModule * wasm_module_
 
JsWasmCallsSidetable * js_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: