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

#include <memory-optimizer.h>

Collaboration diagram for v8::internal::compiler::WasmAddressReassociation:

Classes

class  CandidateBaseAddr
 
class  CandidateMemOps
 

Public Member Functions

 WasmAddressReassociation (JSGraph *jsgraph, Zone *zone)
 
void Optimize ()
 
void VisitProtectedMemOp (Node *node, uint32_t effect_chain)
 
 WasmAddressReassociation (JSGraph *jsgraph, Zone *zone)
 
 WasmAddressReassociation (const WasmAddressReassociation &)=delete
 
WasmAddressReassociationoperator= (const WasmAddressReassociation &)=delete
 
void Optimize ()
 
void VisitProtectedMemOp (Node *node, NodeId effect_chain)
 

Private Types

using CandidateAddressKey = std::tuple<NodeId, NodeId, NodeId>
 

Private Member Functions

bool ShouldTryOptimize (const CandidateAddressKey &key) const
 
NodeCreateNewBase (const CandidateAddressKey &key)
 
bool HasCandidateBaseAddr (const CandidateAddressKey &key) const
 
void AddCandidate (Node *mem_op, Node *base, Node *reg_offset, int64_t imm_offset, NodeId effect_chain)
 
void ReplaceInputs (Node *mem_op, Node *object, Node *index)
 

Private Attributes

TFGraph *const graph_
 
CommonOperatorBuildercommon_
 
MachineOperatorBuildermachine_
 
ZoneMap< CandidateAddressKey, CandidateBaseAddrcandidate_base_addrs_
 
ZoneMap< CandidateAddressKey, CandidateMemOpscandidates_
 
Zone *const zone_
 

Detailed Description

Definition at line 23 of file wasm-address-reassociation.h.

Member Typedef Documentation

◆ CandidateAddressKey

Constructor & Destructor Documentation

◆ WasmAddressReassociation() [1/3]

v8::internal::compiler::WasmAddressReassociation::WasmAddressReassociation ( JSGraph * jsgraph,
Zone * zone )
inline

Definition at line 21 of file memory-optimizer.h.

◆ WasmAddressReassociation() [2/3]

v8::internal::compiler::WasmAddressReassociation::WasmAddressReassociation ( JSGraph * jsgraph,
Zone * zone )

◆ WasmAddressReassociation() [3/3]

v8::internal::compiler::WasmAddressReassociation::WasmAddressReassociation ( const WasmAddressReassociation & )
delete

Member Function Documentation

◆ AddCandidate()

void v8::internal::compiler::WasmAddressReassociation::AddCandidate ( Node * mem_op,
Node * base,
Node * reg_offset,
int64_t imm_offset,
NodeId effect_chain )
private

Definition at line 146 of file wasm-address-reassociation.cc.

Here is the call graph for this function:

◆ CreateNewBase()

Node * v8::internal::compiler::WasmAddressReassociation::CreateNewBase ( const CandidateAddressKey & key)
private

Definition at line 86 of file wasm-address-reassociation.cc.

Here is the call graph for this function:

◆ HasCandidateBaseAddr()

bool v8::internal::compiler::WasmAddressReassociation::HasCandidateBaseAddr ( const CandidateAddressKey & key) const
private

Definition at line 164 of file wasm-address-reassociation.cc.

◆ operator=()

WasmAddressReassociation & v8::internal::compiler::WasmAddressReassociation::operator= ( const WasmAddressReassociation & )
delete

◆ Optimize() [1/2]

void v8::internal::compiler::WasmAddressReassociation::Optimize ( )
inline

Definition at line 22 of file memory-optimizer.h.

Here is the caller graph for this function:

◆ Optimize() [2/2]

void v8::internal::compiler::WasmAddressReassociation::Optimize ( )

◆ ReplaceInputs()

void v8::internal::compiler::WasmAddressReassociation::ReplaceInputs ( Node * mem_op,
Node * object,
Node * index )
private

Definition at line 93 of file wasm-address-reassociation.cc.

Here is the call graph for this function:

◆ ShouldTryOptimize()

bool v8::internal::compiler::WasmAddressReassociation::ShouldTryOptimize ( const CandidateAddressKey & key) const
private

Definition at line 75 of file wasm-address-reassociation.cc.

◆ VisitProtectedMemOp() [1/2]

void v8::internal::compiler::WasmAddressReassociation::VisitProtectedMemOp ( Node * node,
NodeId effect_chain )

◆ VisitProtectedMemOp() [2/2]

void v8::internal::compiler::WasmAddressReassociation::VisitProtectedMemOp ( Node * node,
uint32_t effect_chain )
inline

Definition at line 23 of file memory-optimizer.h.

Here is the caller graph for this function:

Member Data Documentation

◆ candidate_base_addrs_

ZoneMap<CandidateAddressKey, CandidateBaseAddr> v8::internal::compiler::WasmAddressReassociation::candidate_base_addrs_
private

Definition at line 77 of file wasm-address-reassociation.h.

◆ candidates_

ZoneMap<CandidateAddressKey, CandidateMemOps> v8::internal::compiler::WasmAddressReassociation::candidates_
private

Definition at line 78 of file wasm-address-reassociation.h.

◆ common_

CommonOperatorBuilder* v8::internal::compiler::WasmAddressReassociation::common_
private

Definition at line 75 of file wasm-address-reassociation.h.

◆ graph_

TFGraph* const v8::internal::compiler::WasmAddressReassociation::graph_
private

Definition at line 74 of file wasm-address-reassociation.h.

◆ machine_

MachineOperatorBuilder* v8::internal::compiler::WasmAddressReassociation::machine_
private

Definition at line 76 of file wasm-address-reassociation.h.

◆ zone_

Zone* const v8::internal::compiler::WasmAddressReassociation::zone_
private

Definition at line 79 of file wasm-address-reassociation.h.


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