#include <stack_frame.h>
Definition at line 367 of file stack_frame.h.
◆ InlinedFunctionsIterator()
dart::InlinedFunctionsIterator::InlinedFunctionsIterator |
( |
const Code & |
code, |
|
|
uword |
pc |
|
) |
| |
Definition at line 663 of file stack_frame.cc.
664 : index_(0),
665 num_materializations_(0),
666 dest_frame_size_(0),
671 deopt_instructions_(),
676#if defined(DART_PRECOMPILED_RUNTIME)
679#else
681 uint32_t deopt_flags = 0;
683 if (deopt_info_.
IsNull()) {
684
685
686
688 } else {
689
691 ASSERT(!deopt_table.IsNull());
697 }
698#endif
699}
FunctionPtr function() const
ArrayPtr deopt_info_array() const
bool is_optimized() const
ObjectPoolPtr GetObjectPool() const
TypedDataPtr GetDeoptInfoAtPc(uword pc, ICData::DeoptReasonId *deopt_reason, uint32_t *deopt_flags) const
static intptr_t NumMaterializations(const GrowableArray< DeoptInstr * > &)
static void Unpack(const Array &table, const TypedData &packed, GrowableArray< DeoptInstr * > *instructions)
static intptr_t FrameSize(const TypedData &packed)
◆ Advance()
void dart::InlinedFunctionsIterator::Advance |
( |
| ) |
|
Definition at line 701 of file stack_frame.cc.
701 {
702
703
705
706#if defined(DART_PRECOMPILED_RUNTIME)
708 SetDone();
709 return;
710#else
711 if (deopt_info_.
IsNull()) {
712 SetDone();
713 return;
714 }
715
716 ASSERT(deopt_instructions_.length() != 0);
717 while (index_ < deopt_instructions_.length()) {
718 DeoptInstr* deopt_instr = deopt_instructions_[index_++];
722 return;
723 }
724 }
725 SetDone();
726#endif
727}
static uword GetRetAddress(DeoptInstr *instr, const ObjectPool &object_pool, Code *code)
◆ code()
CodePtr dart::InlinedFunctionsIterator::code |
( |
| ) |
const |
|
inline |
◆ Done()
bool dart::InlinedFunctionsIterator::Done |
( |
| ) |
const |
|
inline |
◆ function()
FunctionPtr dart::InlinedFunctionsIterator::function |
( |
| ) |
const |
|
inline |
◆ GetDeoptFpOffset()
intptr_t dart::InlinedFunctionsIterator::GetDeoptFpOffset |
( |
| ) |
const |
Definition at line 732 of file stack_frame.cc.
732 {
733 ASSERT(deopt_instructions_.length() != 0);
734 for (intptr_t index = index_; index < deopt_instructions_.length(); index++) {
735 DeoptInstr* deopt_instr = deopt_instructions_[index];
738 }
739 }
741 return 0;
742}
static constexpr int kSavedCallerFpSlotFromFp
◆ pc()
uword dart::InlinedFunctionsIterator::pc |
( |
| ) |
const |
|
inline |
The documentation for this class was generated from the following files: