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

#include <maglev-ir.h>

Inheritance diagram for v8::internal::maglev::CheckpointedJump:
Collaboration diagram for v8::internal::maglev::CheckpointedJump:

Public Member Functions

 CheckpointedJump (uint64_t bitfield, BasicBlockRef *target_refs)
 
void SetValueLocationConstraints ()
 
void GenerateCode (MaglevAssembler *, const ProcessingState &)
 
void PrintParams (std::ostream &, MaglevGraphLabeller *) const
 
- Public Member Functions inherited from v8::internal::maglev::FixedInputNodeTMixin< 0, UnconditionalControlNode, CheckpointedJump >
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< UnconditionalControlNode, CheckpointedJump >
constexpr Opcode opcode () const
 
constexpr const OpPropertiesproperties () const
 
- Public Member Functions inherited from v8::internal::maglev::UnconditionalControlNode
BasicBlocktarget () const
 
int predecessor_id () const
 
void set_predecessor_id (int id)
 
void set_target (BasicBlock *block)
 
- 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 Attributes

static constexpr OpProperties kProperties
 
- Static Public Attributes inherited from v8::internal::maglev::FixedInputNodeTMixin< 0, UnconditionalControlNode, CheckpointedJump >
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
 

Private Types

using Base = UnconditionalControlNodeT<CheckpointedJump>
 

Additional Inherited Members

- Public Types inherited from v8::internal::maglev::NodeBase
enum class  InputAllocationPolicy { kFixedRegister , kArbitraryRegister , kAny }
 
- Static Public Member Functions inherited from v8::internal::maglev::NodeTMixin< UnconditionalControlNode, CheckpointedJump >
static CheckpointedJumpNew (Zone *zone, std::initializer_list< ValueNode * > inputs, Args &&... args)
 
static CheckpointedJumpNew (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)
 
- Protected Types inherited from v8::internal::maglev::FixedInputNodeTMixin< 0, UnconditionalControlNode, CheckpointedJump >
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 Member Functions inherited from v8::internal::maglev::UnconditionalControlNodeT< CheckpointedJump >
 UnconditionalControlNodeT (uint64_t bitfield, BasicBlockRef *target_refs)
 
 UnconditionalControlNodeT (uint64_t bitfield, BasicBlock *target)
 
- Protected Member Functions inherited from v8::internal::maglev::FixedInputNodeTMixin< 0, UnconditionalControlNode, CheckpointedJump >
 FixedInputNodeTMixin (uint64_t bitfield, Args &&... args)
 
- Protected Member Functions inherited from v8::internal::maglev::NodeTMixin< UnconditionalControlNode, CheckpointedJump >
 NodeTMixin (uint64_t bitfield, Args &&... args)
 
- Protected Member Functions inherited from v8::internal::maglev::UnconditionalControlNode
 UnconditionalControlNode (uint64_t bitfield, BasicBlockRef *target_refs)
 
 UnconditionalControlNode (uint64_t bitfield, BasicBlock *target)
 
- 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)
 
- Protected Attributes inherited from v8::internal::maglev::FixedInputNodeTMixin< 0, UnconditionalControlNode, CheckpointedJump >
detail::YouNeedToDefineAnInputTypesArrayInYourDerivedClass kInputTypes
 
- Static Protected Attributes inherited from v8::internal::maglev::NodeBase
static constexpr int kMaxInputs = InputCountField::kMax
 

Detailed Description

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

Member Typedef Documentation

◆ Base

Constructor & Destructor Documentation

◆ CheckpointedJump()

v8::internal::maglev::CheckpointedJump::CheckpointedJump ( uint64_t bitfield,
BasicBlockRef * target_refs )
inline

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

Member Function Documentation

◆ GenerateCode()

void v8::internal::maglev::CheckpointedJump::GenerateCode ( MaglevAssembler * ,
const ProcessingState &  )

◆ PrintParams()

void v8::internal::maglev::CheckpointedJump::PrintParams ( std::ostream & ,
MaglevGraphLabeller *  ) const
inline

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

◆ SetValueLocationConstraints()

void v8::internal::maglev::CheckpointedJump::SetValueLocationConstraints ( )

Member Data Documentation

◆ kProperties

OpProperties v8::internal::maglev::CheckpointedJump::kProperties
staticconstexpr
Initial value:
=
static constexpr OpProperties kProperties
Definition maglev-ir.h:1936
static constexpr OpProperties DeoptCheckpoint()
Definition maglev-ir.h:1095

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


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