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

#include <maglev-ir.h>

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

Public Member Functions

 LazyDeoptInfo (Zone *zone, const DeoptFrame top_frame, interpreter::Register result_location, int result_size, compiler::FeedbackSource feedback_to_update)
 
interpreter::Register result_location () const
 
int result_size () const
 
bool IsResultRegister (interpreter::Register reg) const
 
bool HasResultLocation () const
 
const InterpretedDeoptFrameGetFrameForExceptionHandler (const ExceptionHandlerInfo *handler_info)
 
int deopting_call_return_pc () const
 
void set_deopting_call_return_pc (int pc)
 
template<typename Function >
void ForEachInput (Function &&f)
 
template<typename Function >
void ForEachInput (Function &&f) const
 
- Public Member Functions inherited from v8::internal::maglev::DeoptInfo
DeoptFrametop_frame ()
 
const DeoptFrametop_frame () const
 
const compiler::FeedbackSourcefeedback_to_update () const
 
bool has_input_locations () const
 
InputLocationinput_locations () const
 
void InitializeInputLocations (Zone *zone, size_t count)
 
Labeldeopt_entry_label ()
 
int translation_index () const
 
void set_translation_index (int index)
 

Static Public Member Functions

static bool InReturnValues (interpreter::Register reg, interpreter::Register result_location, int result_size)
 

Private Types

using DeoptingCallReturnPcField = base::BitField<unsigned int, 0, 30>
 
using ResultSizeField = DeoptingCallReturnPcField::Next<unsigned int, 2>
 

Private Attributes

interpreter::Register result_location_
 
uint32_t bitfield_
 

Static Private Attributes

static constexpr int kMaxCodeSize = 512 * MB
 
static constexpr unsigned int kUninitializedCallReturnPc
 

Additional Inherited Members

- Protected Member Functions inherited from v8::internal::maglev::DeoptInfo
 DeoptInfo (Zone *zone, const DeoptFrame top_frame, compiler::FeedbackSource feedback_to_update)
 

Detailed Description

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

Member Typedef Documentation

◆ DeoptingCallReturnPcField

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

◆ ResultSizeField

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

Constructor & Destructor Documentation

◆ LazyDeoptInfo()

v8::internal::maglev::LazyDeoptInfo::LazyDeoptInfo ( Zone * zone,
const DeoptFrame top_frame,
interpreter::Register result_location,
int result_size,
compiler::FeedbackSource feedback_to_update )
inline

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

Member Function Documentation

◆ deopting_call_return_pc()

int v8::internal::maglev::LazyDeoptInfo::deopting_call_return_pc ( ) const
inline

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

Here is the call graph for this function:

◆ ForEachInput() [1/2]

template<typename Function >
void v8::internal::maglev::LazyDeoptInfo::ForEachInput ( Function && f)

Definition at line 123 of file maglev-deopt-frame-visitor.h.

Here is the caller graph for this function:

◆ ForEachInput() [2/2]

template<typename Function >
void v8::internal::maglev::LazyDeoptInfo::ForEachInput ( Function && f) const

Definition at line 128 of file maglev-deopt-frame-visitor.h.

◆ GetFrameForExceptionHandler()

const InterpretedDeoptFrame & v8::internal::maglev::LazyDeoptInfo::GetFrameForExceptionHandler ( const ExceptionHandlerInfo * handler_info)

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

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

◆ HasResultLocation()

bool v8::internal::maglev::LazyDeoptInfo::HasResultLocation ( ) const
inline

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

Here is the call graph for this function:

◆ InReturnValues()

bool v8::internal::maglev::LazyDeoptInfo::InReturnValues ( interpreter::Register reg,
interpreter::Register result_location,
int result_size )
static

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

Here is the call graph for this function:

◆ IsResultRegister()

bool v8::internal::maglev::LazyDeoptInfo::IsResultRegister ( interpreter::Register reg) const

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

Here is the call graph for this function:

◆ result_location()

interpreter::Register v8::internal::maglev::LazyDeoptInfo::result_location ( ) const
inline

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

Here is the caller graph for this function:

◆ result_size()

int v8::internal::maglev::LazyDeoptInfo::result_size ( ) const
inline

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

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

◆ set_deopting_call_return_pc()

void v8::internal::maglev::LazyDeoptInfo::set_deopting_call_return_pc ( int pc)
inline

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

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

Member Data Documentation

◆ bitfield_

uint32_t v8::internal::maglev::LazyDeoptInfo::bitfield_
private

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

◆ kMaxCodeSize

int v8::internal::maglev::LazyDeoptInfo::kMaxCodeSize = 512 * MB
staticconstexprprivate

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

◆ kUninitializedCallReturnPc

unsigned int v8::internal::maglev::LazyDeoptInfo::kUninitializedCallReturnPc
staticconstexprprivate
Initial value:

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

◆ result_location_

interpreter::Register v8::internal::maglev::LazyDeoptInfo::result_location_
private

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


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