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

#include <maglev-ir.h>

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

Classes

struct  OwnerOrTemporaries
 

Public Types

enum class  InputAllocationPolicy { kFixedRegister , kArbitraryRegister , kAny }
 

Public Member Functions

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

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

template<class T >
static constexpr Opcode opcode_of = detail::opcode_of_helper<T>::value
 
static constexpr OpProperties kProperties
 

Protected Types

using ReservedField = InputCountField::Next<bool, 1>
 
template<class T , int size>
using NextBitField = ReservedField::Next<T, size>
 

Protected Member Functions

 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)
 

Static Protected Attributes

static constexpr int kMaxInputs = InputCountField::kMax
 

Private Types

using OpcodeField = base::BitField64<Opcode, 0, 16>
 
using OpPropertiesField
 
using NumTemporariesNeededField = OpPropertiesField::Next<uint8_t, 2>
 
using NumDoubleTemporariesNeededField
 
using InputCountField = NumDoubleTemporariesNeededField::Next<size_t, 17>
 

Private Member Functions

Address deopt_info_address () const
 
Address register_snapshot_address () const
 
Address exception_handler_address () const
 
void CheckCanOverwriteWith (Opcode new_opcode, OpProperties new_properties)
 
 NodeBase ()=delete
 
 NodeBase (const NodeBase &)=delete
 
 NodeBase (NodeBase &&)=delete
 
NodeBaseoperator= (const NodeBase &)=delete
 
NodeBaseoperator= (NodeBase &&)=delete
 

Static Private Member Functions

template<class Derived , typename... Args>
static Derived * Allocate (Zone *zone, size_t input_count, Args &&... args)
 
static constexpr size_t ExceptionHandlerInfoSize (OpProperties properties)
 
static constexpr size_t RegisterSnapshotSize (OpProperties properties)
 
static constexpr size_t EagerDeoptInfoSize (OpProperties properties)
 
static constexpr size_t LazyDeoptInfoSize (OpProperties properties)
 

Private Attributes

uint64_t bitfield_
 
NodeIdT id_ = kInvalidNodeId
 
OwnerOrTemporaries owner_or_temporaries_
 

Detailed Description

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

Member Typedef Documentation

◆ InputCountField

◆ NextBitField

template<class T , int size>
using v8::internal::maglev::NodeBase::NextBitField = ReservedField::Next<T, size>
protected

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

◆ NumDoubleTemporariesNeededField

Initial value:
BitField< T2, kShift+kSize, size2, U > Next
Definition bit-field.h:47

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

◆ NumTemporariesNeededField

◆ OpcodeField

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

◆ OpPropertiesField

◆ ReservedField

Member Enumeration Documentation

◆ InputAllocationPolicy

Enumerator
kFixedRegister 
kArbitraryRegister 
kAny 

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

Constructor & Destructor Documentation

◆ NodeBase() [1/4]

v8::internal::maglev::NodeBase::NodeBase ( uint64_t bitfield)
inlineexplicitprotected

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

◆ NodeBase() [2/4]

v8::internal::maglev::NodeBase::NodeBase ( )
privatedelete

◆ NodeBase() [3/4]

v8::internal::maglev::NodeBase::NodeBase ( const NodeBase & )
privatedelete

◆ NodeBase() [4/4]

v8::internal::maglev::NodeBase::NodeBase ( NodeBase && )
privatedelete

Member Function Documentation

◆ Allocate()

template<class Derived , typename... Args>
static Derived * v8::internal::maglev::NodeBase::Allocate ( Zone * zone,
size_t input_count,
Args &&... args )
inlinestaticprivate

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

Here is the call graph for this function:
Here is the caller graph for this function:

◆ assign_temporaries()

template<typename RegisterT >
void v8::internal::maglev::NodeBase::assign_temporaries ( RegListBase< RegisterT > list)
inline

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

Here is the call graph for this function:

◆ begin()

auto v8::internal::maglev::NodeBase::begin ( )
inlineconstexpr

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

Here is the call graph for this function:

◆ bitfield()

uint64_t v8::internal::maglev::NodeBase::bitfield ( ) const
inlineconstexprprotected

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

Here is the caller graph for this function:

◆ Cast() [1/2]

template<class T >
T * v8::internal::maglev::NodeBase::Cast ( )
inlineconstexpr

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

Here is the call graph for this function:
Here is the caller graph for this function:

◆ Cast() [2/2]

template<class T >
const T * v8::internal::maglev::NodeBase::Cast ( ) const
inlineconstexpr

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

Here is the call graph for this function:

◆ change_input()

void v8::internal::maglev::NodeBase::change_input ( int index,
ValueNode * node )
inline

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

Here is the call graph for this function:
Here is the caller graph for this function:

◆ change_representation()

void v8::internal::maglev::NodeBase::change_representation ( ValueRepresentation new_repr)
inline

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

Here is the call graph for this function:

◆ CheckCanOverwriteWith()

void v8::internal::maglev::NodeBase::CheckCanOverwriteWith ( Opcode new_opcode,
OpProperties new_properties )
private
Here is the caller graph for this function:

◆ ClearElementsProperties()

void v8::internal::maglev::NodeBase::ClearElementsProperties ( KnownNodeAspects & known_node_aspects)

Definition at line 8038 of file maglev-ir.cc.

Here is the call graph for this function:

◆ ClearUnstableNodeAspects()

void v8::internal::maglev::NodeBase::ClearUnstableNodeAspects ( KnownNodeAspects & known_node_aspects)

Definition at line 8051 of file maglev-ir.cc.

Here is the call graph for this function:

◆ CopyEagerDeoptInfoOf()

void v8::internal::maglev::NodeBase::CopyEagerDeoptInfoOf ( NodeBase * other,
Zone * zone )
inline

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

Here is the call graph for this function:

◆ deopt_info_address()

Address v8::internal::maglev::NodeBase::deopt_info_address ( ) const
inlineprivate

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

Here is the call graph for this function:
Here is the caller graph for this function:

◆ double_temporaries()

DoubleRegList & v8::internal::maglev::NodeBase::double_temporaries ( )
inline

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

Here is the call graph for this function:
Here is the caller graph for this function:

◆ eager_deopt_info()

EagerDeoptInfo * v8::internal::maglev::NodeBase::eager_deopt_info ( )
inline

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

Here is the call graph for this function:
Here is the caller graph for this function:

◆ EagerDeoptInfoSize()

static constexpr size_t v8::internal::maglev::NodeBase::EagerDeoptInfoSize ( OpProperties properties)
inlinestaticconstexprprivate

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

Here is the call graph for this function:
Here is the caller graph for this function:

◆ end()

auto v8::internal::maglev::NodeBase::end ( )
inlineconstexpr

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

Here is the call graph for this function:

◆ exception_handler_address()

Address v8::internal::maglev::NodeBase::exception_handler_address ( ) const
inlineprivate

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

Here is the call graph for this function:
Here is the caller graph for this function:

◆ exception_handler_info()

ExceptionHandlerInfo * v8::internal::maglev::NodeBase::exception_handler_info ( )
inline

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

Here is the call graph for this function:
Here is the caller graph for this function:

◆ ExceptionHandlerInfoSize()

static constexpr size_t v8::internal::maglev::NodeBase::ExceptionHandlerInfoSize ( OpProperties properties)
inlinestaticconstexprprivate

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

Here is the call graph for this function:
Here is the caller graph for this function:

◆ ForAllInputsInRegallocAssignmentOrder()

template<typename Function >
void v8::internal::maglev::NodeBase::ForAllInputsInRegallocAssignmentOrder ( Function && f)
inline

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

Here is the call graph for this function:

◆ general_temporaries()

RegList & v8::internal::maglev::NodeBase::general_temporaries ( )
inline

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

Here is the call graph for this function:
Here is the caller graph for this function:

◆ has_id()

bool v8::internal::maglev::NodeBase::has_id ( ) const
inlineconstexpr

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

Here is the caller graph for this function:

◆ has_inputs()

bool v8::internal::maglev::NodeBase::has_inputs ( ) const
inlineconstexpr

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

Here is the call graph for this function:

◆ id()

NodeIdT v8::internal::maglev::NodeBase::id ( ) const
inlineconstexpr

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

Here is the caller graph for this function:

◆ initialize_input_null()

void v8::internal::maglev::NodeBase::initialize_input_null ( int index)
inlineprotected

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

Here is the call graph for this function:

◆ InitTemporaries()

void v8::internal::maglev::NodeBase::InitTemporaries ( )
inline

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

Here is the call graph for this function:
Here is the caller graph for this function:

◆ input() [1/2]

Input & v8::internal::maglev::NodeBase::input ( int index)
inlineconstexpr

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

Here is the call graph for this function:

◆ input() [2/2]

const Input & v8::internal::maglev::NodeBase::input ( int index) const
inlineconstexpr

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

Here is the call graph for this function:

◆ input_base() [1/2]

Input * v8::internal::maglev::NodeBase::input_base ( )
inlineconstexprprotected

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

Here is the call graph for this function:
Here is the caller graph for this function:

◆ input_base() [2/2]

const Input * v8::internal::maglev::NodeBase::input_base ( ) const
inlineconstexprprotected

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

Here is the call graph for this function:

◆ input_count()

int v8::internal::maglev::NodeBase::input_count ( ) const
inlineconstexpr

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

Here is the call graph for this function:
Here is the caller graph for this function:

◆ Is() [1/7]

template<class T >
bool v8::internal::maglev::NodeBase::Is ( ) const
constexpr

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

Here is the call graph for this function:
Here is the caller graph for this function:

◆ Is() [2/7]

template<>
bool v8::internal::maglev::NodeBase::Is ( ) const
constexpr

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

Here is the call graph for this function:

◆ Is() [3/7]

template<>
bool v8::internal::maglev::NodeBase::Is ( ) const
constexpr

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

Here is the call graph for this function:

◆ Is() [4/7]

template<>
bool v8::internal::maglev::NodeBase::Is ( ) const
constexpr

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

Here is the call graph for this function:

◆ Is() [5/7]

template<>
bool v8::internal::maglev::NodeBase::Is ( ) const
constexpr

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

Here is the call graph for this function:

◆ Is() [6/7]

template<>
bool v8::internal::maglev::NodeBase::Is ( ) const
constexpr

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

Here is the call graph for this function:

◆ Is() [7/7]

template<>
bool v8::internal::maglev::NodeBase::Is ( ) const
constexpr

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

Here is the call graph for this function:

◆ last_input() [1/2]

Input * v8::internal::maglev::NodeBase::last_input ( )
inlineprotected

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

Here is the call graph for this function:
Here is the caller graph for this function:

◆ last_input() [2/2]

const Input * v8::internal::maglev::NodeBase::last_input ( ) const
inlineprotected

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

Here is the call graph for this function:

◆ last_input_address()

Address v8::internal::maglev::NodeBase::last_input_address ( ) const
inlineprotected

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

Here is the call graph for this function:
Here is the caller graph for this function:

◆ lazy_deopt_info()

LazyDeoptInfo * v8::internal::maglev::NodeBase::lazy_deopt_info ( )
inline

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

Here is the call graph for this function:
Here is the caller graph for this function:

◆ LazyDeoptInfoSize()

static constexpr size_t v8::internal::maglev::NodeBase::LazyDeoptInfoSize ( OpProperties properties)
inlinestaticconstexprprivate

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

Here is the call graph for this function:
Here is the caller graph for this function:

◆ New() [1/2]

template<class Derived , typename... Args>
static Derived * v8::internal::maglev::NodeBase::New ( Zone * zone,
size_t input_count,
Args &&... args )
inlinestatic

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

Here is the call graph for this function:

◆ New() [2/2]

template<class Derived , typename... Args>
static Derived * v8::internal::maglev::NodeBase::New ( Zone * zone,
std::initializer_list< ValueNode * > inputs,
Args &&... args )
inlinestatic

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

Here is the call graph for this function:
Here is the caller graph for this function:

◆ num_temporaries_needed()

template<typename RegisterT >
uint8_t v8::internal::maglev::NodeBase::num_temporaries_needed ( ) const
inline

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

Here is the call graph for this function:
Here is the caller graph for this function:

◆ opcode()

Opcode v8::internal::maglev::NodeBase::opcode ( ) const
inlineconstexpr

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

Here is the call graph for this function:
Here is the caller graph for this function:

◆ operator=() [1/2]

NodeBase & v8::internal::maglev::NodeBase::operator= ( const NodeBase & )
privatedelete

◆ operator=() [2/2]

NodeBase & v8::internal::maglev::NodeBase::operator= ( NodeBase && )
privatedelete

◆ options()

auto v8::internal::maglev::NodeBase::options ( ) const
inline

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

◆ OverwriteWith() [1/2]

template<typename NodeT >
void v8::internal::maglev::NodeBase::OverwriteWith ( )
inline

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

Here is the call graph for this function:
Here is the caller graph for this function:

◆ OverwriteWith() [2/2]

void v8::internal::maglev::NodeBase::OverwriteWith ( Opcode new_opcode,
std::optional< OpProperties > maybe_new_properties = std::nullopt )
inline

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

Here is the call graph for this function:

◆ OverwriteWithIdentityTo()

void v8::internal::maglev::NodeBase::OverwriteWithIdentityTo ( ValueNode * node)
inline

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

Here is the call graph for this function:

◆ owner()

BasicBlock * v8::internal::maglev::NodeBase::owner ( ) const
inline

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

Here is the call graph for this function:

◆ Print() [1/2]

void v8::internal::maglev::NodeBase::Print ( ) const

Definition at line 460 of file maglev-ir.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ Print() [2/2]

void v8::internal::maglev::NodeBase::Print ( std::ostream & os,
MaglevGraphLabeller * graph_labeller,
bool skip_targets = false ) const

Definition at line 448 of file maglev-ir.cc.

Here is the call graph for this function:

◆ properties()

OpProperties v8::internal::maglev::NodeBase::properties ( ) const
inlineconstexpr

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

Here is the call graph for this function:
Here is the caller graph for this function:

◆ reduce_input_count()

void v8::internal::maglev::NodeBase::reduce_input_count ( int num = 1)
inlineprotected

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

Here is the call graph for this function:

◆ register_snapshot()

const RegisterSnapshot & v8::internal::maglev::NodeBase::register_snapshot ( ) const
inline

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

Here is the call graph for this function:

◆ register_snapshot_address()

Address v8::internal::maglev::NodeBase::register_snapshot_address ( ) const
inlineprivate

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

Here is the call graph for this function:
Here is the caller graph for this function:

◆ RegisterSnapshotSize()

static constexpr size_t v8::internal::maglev::NodeBase::RegisterSnapshotSize ( OpProperties properties)
inlinestaticconstexprprivate

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

Here is the call graph for this function:
Here is the caller graph for this function:

◆ RequireSpecificDoubleTemporary()

void v8::internal::maglev::NodeBase::RequireSpecificDoubleTemporary ( DoubleRegister reg)
inlineprotected

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

Here is the call graph for this function:

◆ RequireSpecificTemporary()

void v8::internal::maglev::NodeBase::RequireSpecificTemporary ( Register reg)
inlineprotected

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

Here is the call graph for this function:

◆ set_bitfield()

void v8::internal::maglev::NodeBase::set_bitfield ( uint64_t new_bitfield)
inlineprotected

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

◆ set_double_temporaries_needed()

void v8::internal::maglev::NodeBase::set_double_temporaries_needed ( uint8_t value)
inlineprotected

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

Here is the call graph for this function:

◆ set_id()

void v8::internal::maglev::NodeBase::set_id ( NodeIdT id)
inline

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

Here is the call graph for this function:

◆ set_input()

void v8::internal::maglev::NodeBase::set_input ( int index,
ValueNode * node )
inline

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

Here is the call graph for this function:
Here is the caller graph for this function:

◆ set_opcode()

void v8::internal::maglev::NodeBase::set_opcode ( Opcode new_opcode)
inline

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

Here is the call graph for this function:
Here is the caller graph for this function:

◆ set_owner()

void v8::internal::maglev::NodeBase::set_owner ( BasicBlock * block)
inline

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

Here is the caller graph for this function:

◆ set_properties()

void v8::internal::maglev::NodeBase::set_properties ( OpProperties properties)
inline

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

Here is the call graph for this function:
Here is the caller graph for this function:

◆ set_register_snapshot()

void v8::internal::maglev::NodeBase::set_register_snapshot ( RegisterSnapshot snapshot)
inline

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

Here is the call graph for this function:

◆ set_temporaries_needed()

void v8::internal::maglev::NodeBase::set_temporaries_needed ( uint8_t value)
inlineprotected

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

Here is the call graph for this function:

◆ SetEagerDeoptInfo()

void v8::internal::maglev::NodeBase::SetEagerDeoptInfo ( Zone * zone,
DeoptFrame deopt_frame,
compiler::FeedbackSource feedback_to_update = compiler::FeedbackSource() )
inline

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

Here is the call graph for this function:

◆ temporaries()

template<typename RegisterT >
RegListBase< RegisterT > & v8::internal::maglev::NodeBase::temporaries ( )
inline

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

Here is the call graph for this function:
Here is the caller graph for this function:

◆ TryCast() [1/2]

template<class T >
T * v8::internal::maglev::NodeBase::TryCast ( )
inlineconstexpr

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

Here is the call graph for this function:
Here is the caller graph for this function:

◆ TryCast() [2/2]

template<class T >
const T * v8::internal::maglev::NodeBase::TryCast ( ) const
inlineconstexpr

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

Here is the call graph for this function:

◆ TryGetInt32ConstantInput()

std::optional< int32_t > v8::internal::maglev::NodeBase::TryGetInt32ConstantInput ( int index)

Definition at line 8111 of file maglev-ir.cc.

Member Data Documentation

◆ bitfield_

uint64_t v8::internal::maglev::NodeBase::bitfield_
private

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

◆ id_

NodeIdT v8::internal::maglev::NodeBase::id_ = kInvalidNodeId
private

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

◆ kMaxInputs

int v8::internal::maglev::NodeBase::kMaxInputs = InputCountField::kMax
staticconstexprprotected

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

◆ kProperties

OpProperties v8::internal::maglev::NodeBase::kProperties
staticconstexpr
Initial value:
=
static constexpr OpProperties TaggedValue()
Definition maglev-ir.h:1114
static constexpr OpProperties Pure()
Definition maglev-ir.h:1083

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

◆ opcode_of

template<class T >
Opcode v8::internal::maglev::NodeBase::opcode_of = detail::opcode_of_helper<T>::value
staticconstexpr

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

◆ owner_or_temporaries_

OwnerOrTemporaries v8::internal::maglev::NodeBase::owner_or_temporaries_
private

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


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