#include <maglev-interpreter-frame-state.h>
|
| void | Merge (MaglevGraphBuilder *graph_builder, InterpreterFrameState &unmerged, BasicBlock *predecessor) |
| |
| void | Merge (MaglevGraphBuilder *graph_builder, MaglevCompilationUnit &compilation_unit, InterpreterFrameState &unmerged, BasicBlock *predecessor) |
| |
| void | InitializeLoop (MaglevGraphBuilder *graph_builder, MaglevCompilationUnit &compilation_unit, InterpreterFrameState &unmerged, BasicBlock *predecessor, bool optimistic_initial_state=false, LoopEffects *loop_effects=nullptr) |
| |
| void | InitializeWithBasicBlock (BasicBlock *current_block) |
| |
| void | MergeLoop (MaglevGraphBuilder *graph_builder, InterpreterFrameState &loop_end_state, BasicBlock *loop_end_block) |
| |
| void | MergeLoop (MaglevGraphBuilder *graph_builder, MaglevCompilationUnit &compilation_unit, InterpreterFrameState &loop_end_state, BasicBlock *loop_end_block) |
| |
| void | set_loop_effects (LoopEffects *loop_effects) |
| |
| const LoopEffects * | loop_effects () |
| |
| bool | TryMergeLoop (MaglevGraphBuilder *graph_builder, InterpreterFrameState &loop_end_state, const std::function< BasicBlock *()> &FinishBlock) |
| |
| void | MergeThrow (MaglevGraphBuilder *handler_builder, const MaglevCompilationUnit *handler_unit, const KnownNodeAspects &known_node_aspects, const VirtualObjectList virtual_objects) |
| |
| void | MergeDead (const MaglevCompilationUnit &compilation_unit, unsigned num=1) |
| |
| void | clear_is_loop () |
| |
| void | MergeDeadLoop (const MaglevCompilationUnit &compilation_unit) |
| |
| void | TurnLoopIntoRegularBlock () |
| |
| void | RemovePredecessorAt (int predecessor_id) |
| |
| KnownNodeAspects * | TakeKnownNodeAspects () |
| |
| KnownNodeAspects * | CloneKnownNodeAspects (Zone *zone) |
| |
| const CompactInterpreterFrameState & | frame_state () const |
| |
| MergePointRegisterState & | register_state () |
| |
| bool | has_phi () const |
| |
| Phi::List * | phis () |
| |
| uint32_t | predecessor_count () const |
| |
| uint32_t | predecessors_so_far () const |
| |
| BasicBlock * | predecessor_at (int i) const |
| |
| void | set_predecessor_at (int i, BasicBlock *val) |
| |
| void | set_virtual_objects (const VirtualObjectList &vos) |
| |
| void | PrintVirtualObjects (const MaglevCompilationUnit &info, VirtualObjectList from_ifs, const char *prelude=nullptr) |
| |
| bool | is_loop () const |
| |
| bool | exception_handler_was_used () const |
| |
| bool | is_exception_handler () const |
| |
| bool | is_unmerged_loop () const |
| |
| bool | is_unmerged_unreachable_loop () const |
| |
| bool | IsUnreachableByForwardEdge () const |
| |
| BasicBlockType | basic_block_type () const |
| |
| bool | is_resumable_loop () const |
| |
| bool | is_loop_with_peeled_iteration () const |
| |
| int | merge_offset () const |
| |
| DeoptFrame * | backedge_deopt_frame () const |
| |
| const compiler::LoopInfo * | loop_info () const |
| |
| void | ClearLoopInfo () |
| |
| bool | HasLoopInfo () const |
| |
| interpreter::Register | catch_block_context_register () const |
| |
|
| static MergePointInterpreterFrameState * | New (const MaglevCompilationUnit &info, const InterpreterFrameState &state, int merge_offset, int predecessor_count, BasicBlock *predecessor, const compiler::BytecodeLivenessState *liveness) |
| |
| static MergePointInterpreterFrameState * | NewForLoop (const InterpreterFrameState &start_state, const MaglevCompilationUnit &info, int merge_offset, int predecessor_count, const compiler::BytecodeLivenessState *liveness, const compiler::LoopInfo *loop_info, bool has_been_peeled=false) |
| |
| static MergePointInterpreterFrameState * | NewForCatchBlock (const MaglevCompilationUnit &unit, const compiler::BytecodeLivenessState *liveness, int handler_offset, bool was_used, interpreter::Register context_register, Graph *graph) |
| |
|
| NodeType | AlternativeType (const Alternatives *alt) |
| |
| | MergePointInterpreterFrameState (const MaglevCompilationUnit &info, int merge_offset, int predecessor_count, int predecessors_so_far, BasicBlock **predecessors, BasicBlockType type, const compiler::BytecodeLivenessState *liveness) |
| |
| void | MergePhis (MaglevGraphBuilder *builder, MaglevCompilationUnit &compilation_unit, InterpreterFrameState &unmerged, BasicBlock *predecessor, bool optimistic_loop_phis) |
| |
| void | MergeVirtualObjects (MaglevGraphBuilder *builder, MaglevCompilationUnit &compilation_unit, InterpreterFrameState &unmerged, BasicBlock *predecessor) |
| |
| ValueNode * | MergeValue (const MaglevGraphBuilder *graph_builder, interpreter::Register owner, const KnownNodeAspects &unmerged_aspects, ValueNode *merged, ValueNode *unmerged, Alternatives::List *per_predecessor_alternatives, bool optimistic_loop_phis=false) |
| |
| void | ReducePhiPredecessorCount (unsigned num) |
| |
| void | MergeVirtualObjects (MaglevGraphBuilder *builder, MaglevCompilationUnit &compilation_unit, const VirtualObjectList unmerged_vos, const KnownNodeAspects &unmerged_aspects) |
| |
| void | MergeVirtualObject (MaglevGraphBuilder *builder, const VirtualObjectList unmerged_vos, const KnownNodeAspects &unmerged_aspects, VirtualObject *merged, VirtualObject *unmerged) |
| |
| std::optional< ValueNode * > | MergeVirtualObjectValue (const MaglevGraphBuilder *graph_builder, const KnownNodeAspects &unmerged_aspects, ValueNode *merged, ValueNode *unmerged) |
| |
| void | MergeLoopValue (MaglevGraphBuilder *graph_builder, interpreter::Register owner, const KnownNodeAspects &unmerged_aspects, ValueNode *merged, ValueNode *unmerged) |
| |
| ValueNode * | NewLoopPhi (Zone *zone, interpreter::Register reg) |
| |
| ValueNode * | NewExceptionPhi (Zone *zone, interpreter::Register reg) |
| |
◆ kBasicBlockTypeBits
◆ kIsLoopWithPeeledIterationBit
◆ kIsResumableLoopBit
◆ BasicBlockType
◆ MergePointInterpreterFrameState()
◆ AlternativeType()
| NodeType v8::internal::maglev::MergePointInterpreterFrameState::AlternativeType |
( |
const Alternatives * | alt | ) |
|
|
private |
◆ backedge_deopt_frame()
| DeoptFrame * v8::internal::maglev::MergePointInterpreterFrameState::backedge_deopt_frame |
( |
| ) |
const |
|
inline |
◆ basic_block_type()
| BasicBlockType v8::internal::maglev::MergePointInterpreterFrameState::basic_block_type |
( |
| ) |
const |
|
inline |
◆ catch_block_context_register()
| interpreter::Register v8::internal::maglev::MergePointInterpreterFrameState::catch_block_context_register |
( |
| ) |
const |
|
inline |
◆ clear_is_loop()
| void v8::internal::maglev::MergePointInterpreterFrameState::clear_is_loop |
( |
| ) |
|
|
inline |
◆ ClearLoopInfo()
| void v8::internal::maglev::MergePointInterpreterFrameState::ClearLoopInfo |
( |
| ) |
|
|
inline |
◆ CloneKnownNodeAspects()
| KnownNodeAspects * v8::internal::maglev::MergePointInterpreterFrameState::CloneKnownNodeAspects |
( |
Zone * | zone | ) |
|
|
inline |
◆ exception_handler_was_used()
| bool v8::internal::maglev::MergePointInterpreterFrameState::exception_handler_was_used |
( |
| ) |
const |
|
inline |
◆ frame_state()
◆ has_phi()
| bool v8::internal::maglev::MergePointInterpreterFrameState::has_phi |
( |
| ) |
const |
|
inline |
◆ HasLoopInfo()
| bool v8::internal::maglev::MergePointInterpreterFrameState::HasLoopInfo |
( |
| ) |
const |
|
inline |
◆ InitializeLoop()
◆ InitializeWithBasicBlock()
| void v8::internal::maglev::MergePointInterpreterFrameState::InitializeWithBasicBlock |
( |
BasicBlock * | current_block | ) |
|
◆ is_exception_handler()
| bool v8::internal::maglev::MergePointInterpreterFrameState::is_exception_handler |
( |
| ) |
const |
|
inline |
◆ is_loop()
| bool v8::internal::maglev::MergePointInterpreterFrameState::is_loop |
( |
| ) |
const |
|
inline |
◆ is_loop_with_peeled_iteration()
| bool v8::internal::maglev::MergePointInterpreterFrameState::is_loop_with_peeled_iteration |
( |
| ) |
const |
|
inline |
◆ is_resumable_loop()
| bool v8::internal::maglev::MergePointInterpreterFrameState::is_resumable_loop |
( |
| ) |
const |
|
inline |
◆ is_unmerged_loop()
| bool v8::internal::maglev::MergePointInterpreterFrameState::is_unmerged_loop |
( |
| ) |
const |
|
inline |
◆ is_unmerged_unreachable_loop()
| bool v8::internal::maglev::MergePointInterpreterFrameState::is_unmerged_unreachable_loop |
( |
| ) |
const |
|
inline |
◆ IsUnreachableByForwardEdge()
| bool v8::internal::maglev::MergePointInterpreterFrameState::IsUnreachableByForwardEdge |
( |
| ) |
const |
◆ loop_effects()
| const LoopEffects * v8::internal::maglev::MergePointInterpreterFrameState::loop_effects |
( |
| ) |
|
◆ loop_info()
| const compiler::LoopInfo * v8::internal::maglev::MergePointInterpreterFrameState::loop_info |
( |
| ) |
const |
|
inline |
◆ Merge() [1/2]
◆ Merge() [2/2]
◆ merge_offset()
| int v8::internal::maglev::MergePointInterpreterFrameState::merge_offset |
( |
| ) |
const |
|
inline |
◆ MergeDead()
| void v8::internal::maglev::MergePointInterpreterFrameState::MergeDead |
( |
const MaglevCompilationUnit & | compilation_unit, |
|
|
unsigned | num = 1 ) |
|
inline |
◆ MergeDeadLoop()
| void v8::internal::maglev::MergePointInterpreterFrameState::MergeDeadLoop |
( |
const MaglevCompilationUnit & | compilation_unit | ) |
|
|
inline |
◆ MergeLoop() [1/2]
◆ MergeLoop() [2/2]
◆ MergeLoopValue()
◆ MergePhis()
◆ MergeThrow()
◆ MergeValue()
◆ MergeVirtualObject()
◆ MergeVirtualObjects() [1/2]
◆ MergeVirtualObjects() [2/2]
◆ MergeVirtualObjectValue()
◆ New()
◆ NewExceptionPhi()
◆ NewForCatchBlock()
◆ NewForLoop()
◆ NewLoopPhi()
◆ phis()
| Phi::List * v8::internal::maglev::MergePointInterpreterFrameState::phis |
( |
| ) |
|
|
inline |
◆ predecessor_at()
| BasicBlock * v8::internal::maglev::MergePointInterpreterFrameState::predecessor_at |
( |
int | i | ) |
const |
|
inline |
◆ predecessor_count()
| uint32_t v8::internal::maglev::MergePointInterpreterFrameState::predecessor_count |
( |
| ) |
const |
|
inline |
◆ predecessors_so_far()
| uint32_t v8::internal::maglev::MergePointInterpreterFrameState::predecessors_so_far |
( |
| ) |
const |
|
inline |
◆ PrintVirtualObjects()
◆ ReducePhiPredecessorCount()
| void v8::internal::maglev::MergePointInterpreterFrameState::ReducePhiPredecessorCount |
( |
unsigned | num | ) |
|
|
private |
◆ register_state()
◆ RemovePredecessorAt()
| void v8::internal::maglev::MergePointInterpreterFrameState::RemovePredecessorAt |
( |
int | predecessor_id | ) |
|
◆ set_loop_effects()
| void v8::internal::maglev::MergePointInterpreterFrameState::set_loop_effects |
( |
LoopEffects * | loop_effects | ) |
|
◆ set_predecessor_at()
| void v8::internal::maglev::MergePointInterpreterFrameState::set_predecessor_at |
( |
int | i, |
|
|
BasicBlock * | val ) |
|
inline |
◆ set_virtual_objects()
| void v8::internal::maglev::MergePointInterpreterFrameState::set_virtual_objects |
( |
const VirtualObjectList & | vos | ) |
|
|
inline |
◆ TakeKnownNodeAspects()
| KnownNodeAspects * v8::internal::maglev::MergePointInterpreterFrameState::TakeKnownNodeAspects |
( |
| ) |
|
|
inline |
◆ TryMergeLoop()
◆ TurnLoopIntoRegularBlock()
| void v8::internal::maglev::MergePointInterpreterFrameState::TurnLoopIntoRegularBlock |
( |
| ) |
|
|
inline |
◆ Zone::New
template<typename
T , typename... Args>
◆ [union]
◆ backedge_deopt_frame_
| DeoptFrame* v8::internal::maglev::MergePointInterpreterFrameState::backedge_deopt_frame_ |
◆ bitfield_
| uint32_t v8::internal::maglev::MergePointInterpreterFrameState::bitfield_ |
|
private |
◆ catch_block_context_register_
| interpreter::Register v8::internal::maglev::MergePointInterpreterFrameState::catch_block_context_register_ |
◆ frame_state_
◆ known_node_aspects_
| KnownNodeAspects* v8::internal::maglev::MergePointInterpreterFrameState::known_node_aspects_ = nullptr |
|
private |
◆ loop_metadata_
| std::optional<LoopMetadata> v8::internal::maglev::MergePointInterpreterFrameState::loop_metadata_ = std::nullopt |
|
private |
◆ merge_offset_
| int v8::internal::maglev::MergePointInterpreterFrameState::merge_offset_ |
|
private |
◆ per_predecessor_alternatives_
| Alternatives::List* v8::internal::maglev::MergePointInterpreterFrameState::per_predecessor_alternatives_ |
◆ phis_
| Phi::List v8::internal::maglev::MergePointInterpreterFrameState::phis_ |
|
private |
◆ predecessor_count_
| uint32_t v8::internal::maglev::MergePointInterpreterFrameState::predecessor_count_ |
|
private |
◆ predecessors_
| BasicBlock** v8::internal::maglev::MergePointInterpreterFrameState::predecessors_ |
|
private |
◆ predecessors_so_far_
| uint32_t v8::internal::maglev::MergePointInterpreterFrameState::predecessors_so_far_ |
|
private |
◆ register_state_
The documentation for this class was generated from the following files: