Flutter Engine
The Flutter Engine
Public Member Functions | List of all members
dart::CompilerDeoptInfoWithStub Class Reference

#include <flow_graph_compiler.h>

Inheritance diagram for dart::CompilerDeoptInfoWithStub:
dart::CompilerDeoptInfo dart::ZoneAllocated

Public Member Functions

 CompilerDeoptInfoWithStub (intptr_t deopt_id, ICData::DeoptReasonId reason, uint32_t flags, Environment *deopt_env)
 
compiler::Labelentry_label ()
 
virtual void GenerateCode (FlowGraphCompiler *compiler, intptr_t stub_ix)
 
const char * Name () const
 
- Public Member Functions inherited from dart::CompilerDeoptInfo
 CompilerDeoptInfo (intptr_t deopt_id, ICData::DeoptReasonId reason, uint32_t flags, Environment *deopt_env)
 
virtual ~CompilerDeoptInfo ()
 
TypedDataPtr CreateDeoptInfo (FlowGraphCompiler *compiler, DeoptInfoBuilder *builder, const Array &deopt_table)
 
virtual void GenerateCode (FlowGraphCompiler *compiler, intptr_t stub_ix)
 
intptr_t pc_offset () const
 
void set_pc_offset (intptr_t offset)
 
intptr_t deopt_id () const
 
ICData::DeoptReasonId reason () const
 
uint32_t flags () const
 
const Environmentdeopt_env () const
 
- Public Member Functions inherited from dart::ZoneAllocated
 ZoneAllocated ()
 
void * operator new (size_t size)
 
void * operator new (size_t size, Zone *zone)
 
void operator delete (void *pointer)
 

Detailed Description

Definition at line 114 of file flow_graph_compiler.h.

Constructor & Destructor Documentation

◆ CompilerDeoptInfoWithStub()

dart::CompilerDeoptInfoWithStub::CompilerDeoptInfoWithStub ( intptr_t  deopt_id,
ICData::DeoptReasonId  reason,
uint32_t  flags,
Environment deopt_env 
)
inline

Definition at line 116 of file flow_graph_compiler.h.

120 : CompilerDeoptInfo(deopt_id, reason, flags, deopt_env), entry_label_() {
121 ASSERT(reason != ICData::kDeoptAtCall);
122 }
const Environment * deopt_env() const
ICData::DeoptReasonId reason() const
CompilerDeoptInfo(intptr_t deopt_id, ICData::DeoptReasonId reason, uint32_t flags, Environment *deopt_env)
#define ASSERT(E)

Member Function Documentation

◆ entry_label()

compiler::Label * dart::CompilerDeoptInfoWithStub::entry_label ( )
inline

Definition at line 124 of file flow_graph_compiler.h.

124{ return &entry_label_; }

◆ GenerateCode()

virtual void dart::CompilerDeoptInfoWithStub::GenerateCode ( FlowGraphCompiler compiler,
intptr_t  stub_ix 
)
virtual

Reimplemented from dart::CompilerDeoptInfo.

◆ Name()

const char * dart::CompilerDeoptInfoWithStub::Name ( ) const
inline

Definition at line 129 of file flow_graph_compiler.h.

129 {
130 const char* kFormat = "Deopt stub for id %d, reason: %s";
131 const intptr_t len = Utils::SNPrint(nullptr, 0, kFormat, deopt_id(),
133 1;
134 char* chars = Thread::Current()->zone()->Alloc<char>(len);
135 Utils::SNPrint(chars, len, kFormat, deopt_id(),
137 return chars;
138 }
Zone * zone() const
Definition: thread_state.h:37
static Thread * Current()
Definition: thread.h:362
static int SNPrint(char *str, size_t size, const char *format,...) PRINTF_ATTRIBUTE(3
ElementType * Alloc(intptr_t length)
const char * DeoptReasonToCString(ICData::DeoptReasonId deopt_reason)

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