v8
V8 is Google’s open source high-performance JavaScript and WebAssembly engine, written in C++.
Loading...
Searching...
No Matches
v8::internal::maglev::BranchControlNodeT< InputCount, Derived > Class Template Reference

#include <maglev-ir.h>

Inheritance diagram for v8::internal::maglev::BranchControlNodeT< InputCount, Derived >:
Collaboration diagram for v8::internal::maglev::BranchControlNodeT< InputCount, Derived >:

Protected Member Functions

 BranchControlNodeT (uint64_t bitfield, BasicBlockRef *if_true_refs, BasicBlockRef *if_false_refs)
 
- Protected Member Functions inherited from v8::internal::maglev::FixedInputNodeTMixin< InputCount, BranchControlNode, Derived >
 FixedInputNodeTMixin (uint64_t bitfield, Args &&... args)
 
- Protected Member Functions inherited from v8::internal::maglev::NodeTMixin< BranchControlNode, Derived >
 NodeTMixin (uint64_t bitfield, Args &&... args)
 
- Protected Member Functions inherited from v8::internal::maglev::ControlNode
 NodeBase (uint64_t bitfield)
 
- Protected Member Functions inherited from v8::internal::maglev::NodeBase
 NodeBase (uint64_t bitfield)
 
constexpr uint64_t bitfield () const
 
void set_bitfield (uint64_t new_bitfield)
 
constexpr Inputinput_base ()
 
constexpr const Inputinput_base () const
 
Inputlast_input ()
 
const Inputlast_input () const
 
Address last_input_address () const
 
void initialize_input_null (int index)
 
void reduce_input_count (int num=1)
 
void set_temporaries_needed (uint8_t value)
 
void set_double_temporaries_needed (uint8_t value)
 
void RequireSpecificTemporary (Register reg)
 
void RequireSpecificDoubleTemporary (DoubleRegister reg)
 

Additional Inherited Members

- Public Types inherited from v8::internal::maglev::NodeBase
enum class  InputAllocationPolicy { kFixedRegister , kArbitraryRegister , kAny }
 
- Public Member Functions inherited from v8::internal::maglev::FixedInputNodeTMixin< InputCount, BranchControlNode, Derived >
constexpr bool has_inputs () const
 
constexpr uint16_t input_count () const
 
constexpr auto end ()
 
void VerifyInputs (MaglevGraphLabeller *graph_labeller) const
 
- Public Member Functions inherited from v8::internal::maglev::NodeTMixin< BranchControlNode, Derived >
constexpr Opcode opcode () const
 
constexpr const OpPropertiesproperties () const
 
- Public Member Functions inherited from v8::internal::maglev::BranchControlNode
 BranchControlNode (uint64_t bitfield, BasicBlockRef *if_true_refs, BasicBlockRef *if_false_refs)
 
BasicBlockif_true () const
 
BasicBlockif_false () const
 
void set_if_true (BasicBlock *block)
 
void set_if_false (BasicBlock *block)
 
- Public Member Functions inherited from v8::internal::maglev::ConditionalControlNode
 ConditionalControlNode (uint64_t bitfield)
 
- Public Member Functions inherited from v8::internal::maglev::ControlNode
ControlNodenext_post_dominating_hole () const
 
void set_next_post_dominating_hole (ControlNode *node)
 
- Public Member Functions inherited from v8::internal::maglev::NodeBase
constexpr Opcode opcode () const
 
constexpr OpProperties properties () const
 
void set_properties (OpProperties properties)
 
void set_input (int index, ValueNode *node)
 
template<class T >
constexpr bool Is () const
 
template<class T >
constexpr TCast ()
 
template<class T >
constexpr const TCast () const
 
template<class T >
constexpr TTryCast ()
 
template<class T >
constexpr const TTryCast () const
 
constexpr bool has_inputs () const
 
constexpr int input_count () const
 
constexpr Inputinput (int index)
 
constexpr const Inputinput (int index) const
 
std::optional< int32_t > TryGetInt32ConstantInput (int index)
 
constexpr auto begin ()
 
constexpr auto end ()
 
constexpr bool has_id () const
 
constexpr NodeIdT id () const
 
void set_id (NodeIdT id)
 
template<typename RegisterT >
uint8_t num_temporaries_needed () const
 
template<typename RegisterT >
RegListBase< RegisterT > & temporaries ()
 
RegListgeneral_temporaries ()
 
DoubleRegListdouble_temporaries ()
 
template<typename RegisterT >
void assign_temporaries (RegListBase< RegisterT > list)
 
template<typename Function >
void ForAllInputsInRegallocAssignmentOrder (Function &&f)
 
void Print (std::ostream &os, MaglevGraphLabeller *, bool skip_targets=false) const
 
void Print () const
 
EagerDeoptInfoeager_deopt_info ()
 
LazyDeoptInfolazy_deopt_info ()
 
const RegisterSnapshotregister_snapshot () const
 
ExceptionHandlerInfoexception_handler_info ()
 
void set_register_snapshot (RegisterSnapshot snapshot)
 
void change_input (int index, ValueNode *node)
 
void change_representation (ValueRepresentation new_repr)
 
void set_opcode (Opcode new_opcode)
 
void CopyEagerDeoptInfoOf (NodeBase *other, Zone *zone)
 
void SetEagerDeoptInfo (Zone *zone, DeoptFrame deopt_frame, compiler::FeedbackSource feedback_to_update=compiler::FeedbackSource())
 
template<typename NodeT >
void OverwriteWith ()
 
void OverwriteWith (Opcode new_opcode, std::optional< OpProperties > maybe_new_properties=std::nullopt)
 
void OverwriteWithIdentityTo (ValueNode *node)
 
auto options () const
 
void ClearUnstableNodeAspects (KnownNodeAspects &)
 
void ClearElementsProperties (KnownNodeAspects &)
 
void set_owner (BasicBlock *block)
 
BasicBlockowner () const
 
void InitTemporaries ()
 
template<>
constexpr bool Is () const
 
template<>
constexpr bool Is () const
 
template<>
constexpr bool Is () const
 
template<>
constexpr bool Is () const
 
template<>
constexpr bool Is () const
 
template<>
constexpr bool Is () const
 
- Public Member Functions inherited from v8::internal::ZoneObject
void * operator new (size_t, Zone *)=delete
 
void * operator new (size_t size, void *ptr)
 
void operator delete (void *, size_t)
 
void operator delete (void *pointer, Zone *zone)=delete
 
- Static Public Member Functions inherited from v8::internal::maglev::NodeTMixin< BranchControlNode, Derived >
static Derived * New (Zone *zone, std::initializer_list< ValueNode * > inputs, Args &&... args)
 
static Derived * New (Zone *zone, size_t input_count, Args &&... args)
 
- Static Public Member Functions inherited from v8::internal::maglev::NodeBase
template<class Derived , typename... Args>
static Derived * New (Zone *zone, std::initializer_list< ValueNode * > inputs, Args &&... args)
 
template<class Derived , typename... Args>
static Derived * New (Zone *zone, size_t input_count, Args &&... args)
 
- Static Public Attributes inherited from v8::internal::maglev::FixedInputNodeTMixin< InputCount, BranchControlNode, Derived >
static constexpr size_t kInputCount
 
- Static Public Attributes inherited from v8::internal::maglev::NodeBase
template<class T >
static constexpr Opcode opcode_of = detail::opcode_of_helper<T>::value
 
static constexpr OpProperties kProperties
 
- Protected Types inherited from v8::internal::maglev::FixedInputNodeTMixin< InputCount, BranchControlNode, Derived >
using InputTypes
 
- Protected Types inherited from v8::internal::maglev::NodeBase
using ReservedField = InputCountField::Next<bool, 1>
 
template<class T , int size>
using NextBitField = ReservedField::Next<T, size>
 
- Protected Attributes inherited from v8::internal::maglev::FixedInputNodeTMixin< InputCount, BranchControlNode, Derived >
detail::YouNeedToDefineAnInputTypesArrayInYourDerivedClass kInputTypes
 
- Static Protected Attributes inherited from v8::internal::maglev::NodeBase
static constexpr int kMaxInputs = InputCountField::kMax
 

Detailed Description

template<size_t InputCount, class Derived>
class v8::internal::maglev::BranchControlNodeT< InputCount, Derived >

Definition at line 10860 of file maglev-ir.h.

Constructor & Destructor Documentation

◆ BranchControlNodeT()

template<size_t InputCount, class Derived >
v8::internal::maglev::BranchControlNodeT< InputCount, Derived >::BranchControlNodeT ( uint64_t bitfield,
BasicBlockRef * if_true_refs,
BasicBlockRef * if_false_refs )
inlineexplicitprotected

Definition at line 10865 of file maglev-ir.h.


The documentation for this class was generated from the following file: