5#ifndef V8_COMPILER_WASM_ADDRESS_REASSOCIATION_H_
6#define V8_COMPILER_WASM_ADDRESS_REASSOCIATION_H_
17class CommonOperatorBuilder;
20class MachineOperatorBuilder;
57 void AddCandidate(
Node* mem_op, int64_t imm_offset);
58 size_t GetNumNodes()
const;
59 Node* mem_op(
size_t i)
const;
60 int64_t imm_offset(
size_t i)
const;
71 int64_t imm_offset,
NodeId effect_chain);
72 void ReplaceInputs(
Node* mem_op,
Node*
object,
Node* index);
CandidateBaseAddr(Node *base, Node *offset)
CandidateMemOps(Zone *zone)
ZoneVector< Node * > mem_ops_
ZoneVector< int64_t > imm_offsets_
MachineOperatorBuilder * machine_
CommonOperatorBuilder * common_
void VisitProtectedMemOp(Node *node, NodeId effect_chain)
std::tuple< NodeId, NodeId, NodeId > CandidateAddressKey
WasmAddressReassociation(const WasmAddressReassociation &)=delete
ZoneMap< CandidateAddressKey, CandidateMemOps > candidates_
ZoneMap< CandidateAddressKey, CandidateBaseAddr > candidate_base_addrs_
WasmAddressReassociation & operator=(const WasmAddressReassociation &)=delete
WasmAddressReassociation(JSGraph *jsgraph, Zone *zone)
#define V8_EXPORT_PRIVATE
std::unique_ptr< ValueMirror > key