Flutter Engine
The Flutter Engine
Public Member Functions | Protected Member Functions | Friends | List of all members
dart::ExitFrame Class Reference

#include <stack_frame.h>

Inheritance diagram for dart::ExitFrame:
dart::StackFrame dart::ValueObject

Public Member Functions

bool IsValid () const
 
bool IsDartFrame (bool validate=true) const
 
bool IsStubFrame () const
 
bool IsExitFrame () const
 
virtual void VisitObjectPointers (ObjectPointerVisitor *visitor)
 
- Public Member Functions inherited from dart::StackFrame
virtual ~StackFrame ()
 
uword sp () const
 
uword fp () const
 
uword pc () const
 
bool IsMarkedForLazyDeopt () const
 
void MarkForLazyDeopt ()
 
void UnmarkForLazyDeopt ()
 
void set_pc (uword value)
 
void set_pc_marker (CodePtr code)
 
virtual void VisitObjectPointers (ObjectPointerVisitor *visitor)
 
const char * ToCString () const
 
virtual bool IsValid () const
 
bool IsBareInstructionsDartFrame () const
 
bool IsBareInstructionsStubFrame () const
 
virtual bool IsDartFrame (bool validate=true) const
 
virtual bool IsStubFrame () const
 
virtual bool IsEntryFrame () const
 
virtual bool IsExitFrame () const
 
FunctionPtr LookupDartFunction () const
 
CodePtr LookupDartCode () const
 
bool FindExceptionHandler (Thread *thread, uword *handler_pc, bool *needs_stacktrace, bool *is_catch_all, bool *is_optimized) const
 
TokenPosition GetTokenPos () const
 
uword GetCallerSp () const
 
- Public Member Functions inherited from dart::ValueObject
 ValueObject ()
 
 ~ValueObject ()
 

Protected Member Functions

virtual const char * GetName () const
 
- Protected Member Functions inherited from dart::StackFrame
 StackFrame (Thread *thread)
 
virtual const char * GetName () const
 
Isolateisolate () const
 
IsolateGroupisolate_group () const
 
Threadthread () const
 

Friends

class StackFrameIterator
 

Additional Inherited Members

- Static Public Member Functions inherited from dart::StackFrame
static int SavedCallerPpSlotFromFp ()
 
static void DumpCurrentTrace ()
 

Detailed Description

Definition at line 171 of file stack_frame.h.

Member Function Documentation

◆ GetName()

virtual const char * dart::ExitFrame::GetName ( ) const
inlineprotectedvirtual

Reimplemented from dart::StackFrame.

Definition at line 182 of file stack_frame.h.

182{ return "exit"; }

◆ IsDartFrame()

bool dart::ExitFrame::IsDartFrame ( bool  validate = true) const
inlinevirtual

Reimplemented from dart::StackFrame.

Definition at line 174 of file stack_frame.h.

174{ return false; }

◆ IsExitFrame()

bool dart::ExitFrame::IsExitFrame ( ) const
inlinevirtual

Reimplemented from dart::StackFrame.

Definition at line 176 of file stack_frame.h.

176{ return true; }

◆ IsStubFrame()

bool dart::ExitFrame::IsStubFrame ( ) const
inlinevirtual

Reimplemented from dart::StackFrame.

Definition at line 175 of file stack_frame.h.

175{ return false; }

◆ IsValid()

bool dart::ExitFrame::IsValid ( ) const
inlinevirtual

Reimplemented from dart::StackFrame.

Definition at line 173 of file stack_frame.h.

173{ return sp() == 0; }
uword sp() const
Definition: stack_frame.h:41

◆ VisitObjectPointers()

void dart::ExitFrame::VisitObjectPointers ( ObjectPointerVisitor visitor)
virtual

Reimplemented from dart::StackFrame.

Definition at line 181 of file stack_frame.cc.

181 {
182 ASSERT(visitor != nullptr);
183 // Visit pc marker and saved pool pointer.
184 ObjectPtr* last_fixed = reinterpret_cast<ObjectPtr*>(fp()) +
186 ObjectPtr* first_fixed = reinterpret_cast<ObjectPtr*>(fp()) +
188 if (first_fixed <= last_fixed) {
189 visitor->VisitPointers(first_fixed, last_fixed);
190 } else {
193 }
194}
uword fp() const
Definition: stack_frame.h:42
#define ASSERT(E)
if(end==-1)
FrameLayout runtime_frame_layout
Definition: stack_frame.cc:81
intptr_t last_fixed_object_from_fp
Definition: frame_layout.h:27
intptr_t first_local_from_fp
Definition: frame_layout.h:37
intptr_t first_object_from_fp
Definition: frame_layout.h:24

Friends And Related Function Documentation

◆ StackFrameIterator

friend class StackFrameIterator
friend

Definition at line 187 of file stack_frame.h.


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