#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: