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