#include <maglev-phi-representation-selector.h>
|
| void | ConvertTaggedPhiTo (Phi *phi, ValueRepresentation repr, const HoistTypeList &hoist_untagging) |
| |
| template<class NodeT > |
| ValueNode * | GetReplacementForPhiInputConversion (ValueNode *conversion_node, Phi *phi, uint32_t input_index) |
| |
| template<class NodeT > |
| ProcessResult | UpdateNodeInputs (NodeT *n, const ProcessingState *state) |
| |
| template<class NodeT > |
| ProcessResult | UpdateNonUntaggingNodeInputs (NodeT *n, const ProcessingState *state) |
| |
| ProcessResult | UpdateNodePhiInput (CheckSmi *node, Phi *phi, int input_index, const ProcessingState *state) |
| |
| ProcessResult | UpdateNodePhiInput (CheckNumber *node, Phi *phi, int input_index, const ProcessingState *state) |
| |
| ProcessResult | UpdateNodePhiInput (StoreTaggedFieldNoWriteBarrier *node, Phi *phi, int input_index, const ProcessingState *state) |
| |
| ProcessResult | UpdateNodePhiInput (StoreFixedArrayElementNoWriteBarrier *node, Phi *phi, int input_index, const ProcessingState *state) |
| |
| ProcessResult | UpdateNodePhiInput (BranchIfToBooleanTrue *node, Phi *phi, int input_index, const ProcessingState *state) |
| |
| ProcessResult | UpdateNodePhiInput (NodeBase *node, Phi *phi, int input_index, const ProcessingState *state) |
| |
| void | EnsurePhiInputsTagged (Phi *phi) |
| |
| bool | IsUntagging (Opcode op) |
| |
| void | UpdateUntaggingOfPhi (Phi *phi, ValueNode *old_untagging) |
| |
| ValueNode * | EnsurePhiTagged (Phi *phi, BasicBlock *block, NewNodePosition pos, const ProcessingState *state, std::optional< int > predecessor_index=std::nullopt) |
| |
| ValueNode * | AddNodeAtBlockEnd (ValueNode *new_node, BasicBlock *block, DeoptFrame *deopt_frame=nullptr) |
| |
| ValueNode * | AddNode (ValueNode *node, BasicBlock *block, NewNodePosition pos, const ProcessingState *state, DeoptFrame *deopt_frame=nullptr) |
| |
| void | RegisterNewNode (ValueNode *node) |
| |
| void | FixLoopPhisBackedge (BasicBlock *block) |
| |
| void | PreparePhiTaggings (BasicBlock *old_block, const BasicBlock *new_block) |
| |
| MaglevGraphLabeller * | graph_labeller () const |
| |
| bool | CanHoistUntaggingTo (BasicBlock *block) |
| |
◆ HoistTypeList
◆ Key
◆ Snapshot
◆ SnapshotTable
◆ HoistType
◆ NewNodePosition
◆ ProcessPhiResult
◆ MaglevPhiRepresentationSelector()
| v8::internal::maglev::MaglevPhiRepresentationSelector::MaglevPhiRepresentationSelector |
( |
MaglevGraphBuilder * | builder | ) |
|
|
inlineexplicit |
◆ AddNode()
◆ AddNodeAtBlockEnd()
◆ CanHoistUntaggingTo()
| bool v8::internal::maglev::MaglevPhiRepresentationSelector::CanHoistUntaggingTo |
( |
BasicBlock * | block | ) |
|
|
private |
◆ ConvertTaggedPhiTo()
◆ EnsurePhiInputsTagged()
| void v8::internal::maglev::MaglevPhiRepresentationSelector::EnsurePhiInputsTagged |
( |
Phi * | phi | ) |
|
|
private |
◆ EnsurePhiTagged()
◆ FixLoopPhisBackedge()
| void v8::internal::maglev::MaglevPhiRepresentationSelector::FixLoopPhisBackedge |
( |
BasicBlock * | block | ) |
|
|
private |
◆ GetReplacementForPhiInputConversion()
| ValueNode * v8::internal::maglev::MaglevPhiRepresentationSelector::GetReplacementForPhiInputConversion |
( |
ValueNode * | conversion_node, |
|
|
Phi * | phi, |
|
|
uint32_t | input_index ) |
|
private |
◆ graph_labeller()
| MaglevGraphLabeller * v8::internal::maglev::MaglevPhiRepresentationSelector::graph_labeller |
( |
| ) |
const |
|
inlineprivate |
◆ IsUntagging()
| bool v8::internal::maglev::MaglevPhiRepresentationSelector::IsUntagging |
( |
Opcode | op | ) |
|
|
private |
◆ PostPhiProcessing()
| void v8::internal::maglev::MaglevPhiRepresentationSelector::PostPhiProcessing |
( |
| ) |
|
|
inline |
◆ PostProcessBasicBlock()
| void v8::internal::maglev::MaglevPhiRepresentationSelector::PostProcessBasicBlock |
( |
BasicBlock * | block | ) |
|
◆ PostProcessGraph()
| void v8::internal::maglev::MaglevPhiRepresentationSelector::PostProcessGraph |
( |
Graph * | graph | ) |
|
|
inline |
◆ PreparePhiTaggings()
| void v8::internal::maglev::MaglevPhiRepresentationSelector::PreparePhiTaggings |
( |
BasicBlock * | old_block, |
|
|
const BasicBlock * | new_block ) |
|
private |
◆ PreProcessBasicBlock()
◆ PreProcessGraph()
| void v8::internal::maglev::MaglevPhiRepresentationSelector::PreProcessGraph |
( |
Graph * | graph | ) |
|
|
inline |
◆ Process() [1/4]
◆ Process() [2/4]
◆ Process() [3/4]
◆ Process() [4/4]
◆ ProcessPhi()
◆ RegisterNewNode()
| void v8::internal::maglev::MaglevPhiRepresentationSelector::RegisterNewNode |
( |
ValueNode * | node | ) |
|
|
private |
◆ UpdateNodeInputs()
◆ UpdateNodePhiInput() [1/6]
◆ UpdateNodePhiInput() [2/6]
◆ UpdateNodePhiInput() [3/6]
◆ UpdateNodePhiInput() [4/6]
◆ UpdateNodePhiInput() [5/6]
◆ UpdateNodePhiInput() [6/6]
◆ UpdateNonUntaggingNodeInputs()
◆ UpdateUntaggingOfPhi()
| void v8::internal::maglev::MaglevPhiRepresentationSelector::UpdateUntaggingOfPhi |
( |
Phi * | phi, |
|
|
ValueNode * | old_untagging ) |
|
private |
◆ builder_
| MaglevGraphBuilder* v8::internal::maglev::MaglevPhiRepresentationSelector::builder_ = nullptr |
|
private |
◆ current_block_
| BasicBlock* v8::internal::maglev::MaglevPhiRepresentationSelector::current_block_ = nullptr |
|
private |
◆ new_nodes_at_start_
| ZoneVector<Node*> v8::internal::maglev::MaglevPhiRepresentationSelector::new_nodes_at_start_ |
|
private |
◆ phi_taggings_
◆ predecessors_
◆ snapshots_
| absl::flat_hash_map<BasicBlock::Id, Snapshot> v8::internal::maglev::MaglevPhiRepresentationSelector::snapshots_ |
|
private |
The documentation for this class was generated from the following files: