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

#include <maglev-ir.h>

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

Public Member Functions

 TryOnStackReplacement (uint64_t bitfield, int32_t loop_depth, FeedbackSlot feedback_slot, BytecodeOffset osr_offset, MaglevCompilationUnit *unit)
 
Inputclosure ()
 
const MaglevCompilationUnitunit () const
 
int MaxCallStackArgs () const
 
void SetValueLocationConstraints ()
 
void GenerateCode (MaglevAssembler *, const ProcessingState &)
 
void PrintParams (std::ostream &, MaglevGraphLabeller *) const
 
- Public Member Functions inherited from v8::internal::maglev::FixedInputNodeTMixin< InputCount, Base, 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< Base, Derived >
constexpr Opcode opcode () const
 
constexpr const OpPropertiesproperties () const
 

Static Public Attributes

static constexpr OpProperties kProperties
 
static constexpr Base::InputTypes kInputTypes {ValueRepresentation::kTagged}
 
- Static Public Attributes inherited from v8::internal::maglev::FixedInputNodeTMixin< InputCount, Base, Derived >
static constexpr size_t kInputCount = InputCount
 

Private Types

using Base = FixedInputNodeT<1, TryOnStackReplacement>
 

Private Attributes

const int32_t loop_depth_
 
const FeedbackSlot feedback_slot_
 
const BytecodeOffset osr_offset_
 
MaglevCompilationUnit *const unit_
 

Additional Inherited Members

- Static Public Member Functions inherited from v8::internal::maglev::NodeTMixin< Base, Derived >
template<typename... Args>
static Derived * New (Zone *zone, std::initializer_list< ValueNode * > inputs, Args &&... args)
 
template<typename... Args>
static Derived * New (Zone *zone, size_t input_count, Args &&... args)
 
- Protected Types inherited from v8::internal::maglev::FixedInputNodeTMixin< InputCount, Base, Derived >
using InputTypes = detail::ArrayWrapper<kInputCount>
 
- Protected Member Functions inherited from v8::internal::maglev::FixedInputNodeTMixin< InputCount, Base, Derived >
template<typename... Args>
 FixedInputNodeTMixin (uint64_t bitfield, Args &&... args)
 
- Protected Member Functions inherited from v8::internal::maglev::NodeTMixin< Base, Derived >
template<typename... Args>
 NodeTMixin (uint64_t bitfield, Args &&... args)
 
- Protected Attributes inherited from v8::internal::maglev::FixedInputNodeTMixin< InputCount, Base, Derived >
detail::YouNeedToDefineAnInputTypesArrayInYourDerivedClass kInputTypes
 

Detailed Description

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

Member Typedef Documentation

◆ Base

Constructor & Destructor Documentation

◆ TryOnStackReplacement()

v8::internal::maglev::TryOnStackReplacement::TryOnStackReplacement ( uint64_t bitfield,
int32_t loop_depth,
FeedbackSlot feedback_slot,
BytecodeOffset osr_offset,
MaglevCompilationUnit * unit )
inlineexplicit

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

Member Function Documentation

◆ closure()

Input & v8::internal::maglev::TryOnStackReplacement::closure ( )
inline

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

Here is the call graph for this function:

◆ GenerateCode()

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

◆ MaxCallStackArgs()

int v8::internal::maglev::TryOnStackReplacement::MaxCallStackArgs ( ) const

◆ PrintParams()

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

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

◆ SetValueLocationConstraints()

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

◆ unit()

const MaglevCompilationUnit * v8::internal::maglev::TryOnStackReplacement::unit ( ) const
inline

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

Member Data Documentation

◆ feedback_slot_

const FeedbackSlot v8::internal::maglev::TryOnStackReplacement::feedback_slot_
private

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

◆ kInputTypes

Base::InputTypes v8::internal::maglev::TryOnStackReplacement::kInputTypes {ValueRepresentation::kTagged}
staticconstexpr

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

◆ kProperties

OpProperties v8::internal::maglev::TryOnStackReplacement::kProperties
staticconstexpr
Initial value:
=
static constexpr OpProperties DeferredCall()
Definition maglev-ir.h:1168
static constexpr OpProperties CanAllocate()
Definition maglev-ir.h:1108
static constexpr OpProperties Call()
Definition maglev-ir.h:1084
static constexpr OpProperties EagerDeopt()
Definition maglev-ir.h:1087
static constexpr OpProperties NotIdempotent()
Definition maglev-ir.h:1111

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

◆ loop_depth_

const int32_t v8::internal::maglev::TryOnStackReplacement::loop_depth_
private

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

◆ osr_offset_

const BytecodeOffset v8::internal::maglev::TryOnStackReplacement::osr_offset_
private

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

◆ unit_

MaglevCompilationUnit* const v8::internal::maglev::TryOnStackReplacement::unit_
private

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


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