GDB (xrefs)
|
#include "defs.h"
#include "inline-frame.h"
#include "addrmap.h"
#include "block.h"
#include "frame-unwind.h"
#include "inferior.h"
#include "regcache.h"
#include "symtab.h"
#include "vec.h"
#include "gdb_assert.h"
Go to the source code of this file.
Classes | |
struct | inline_state |
Typedefs | |
typedef struct inline_state | inline_state_s |
Functions | |
DEF_VEC_O (inline_state_s) | |
static | VEC (inline_state_s) |
static struct inline_state * | allocate_inline_frame_state (ptid_t ptid) |
void | clear_inline_frame_state (ptid_t ptid) |
static void | inline_frame_this_id (struct frame_info *this_frame, void **this_cache, struct frame_id *this_id) |
static struct value * | inline_frame_prev_register (struct frame_info *this_frame, void **this_cache, int regnum) |
static int | inline_frame_sniffer (const struct frame_unwind *self, struct frame_info *this_frame, void **this_cache) |
static int | block_starting_point_at (CORE_ADDR pc, struct block *block) |
void | skip_inline_frames (ptid_t ptid) |
void | step_into_inline_frame (ptid_t ptid) |
int | inline_skipped_frames (ptid_t ptid) |
struct symbol * | inline_skipped_symbol (ptid_t ptid) |
int | frame_inlined_callees (struct frame_info *this_frame) |
Variables | |
struct frame_unwind | inline_frame_unwind |
typedef struct inline_state inline_state_s |
Definition at line 59 of file inline-frame.c.
static struct inline_state* allocate_inline_frame_state | ( | ptid_t | ptid | ) | [static, read] |
Definition at line 98 of file inline-frame.c.
References memset(), inline_state::ptid, and VEC_safe_push.
Referenced by skip_inline_frames().
static int block_starting_point_at | ( | CORE_ADDR | pc, |
struct block * | block | ||
) | [static] |
Definition at line 276 of file inline-frame.c.
References addrmap_find(), blockvector_for_pc(), BLOCKVECTOR_MAP, contained_in(), and new_block().
Referenced by skip_inline_frames().
void clear_inline_frame_state | ( | ptid_t | ptid | ) |
Definition at line 114 of file inline-frame.c.
References minus_one_ptid, inline_state::ptid, ptid_equal(), ptid_get_pid(), ptid_is_pid(), VEC, VEC_free, VEC_iterate, VEC_safe_push, and VEC_unordered_remove.
Referenced by init_wait_for_inferior(), and target_resume().
int frame_inlined_callees | ( | struct frame_info * | this_frame | ) |
Definition at line 392 of file inline-frame.c.
References get_frame_type(), get_next_frame(), inferior_ptid, INLINE_FRAME, and inline_skipped_frames().
Referenced by find_frame_sal(), and get_frame_block().
static struct value* inline_frame_prev_register | ( | struct frame_info * | this_frame, |
void ** | this_cache, | ||
int | regnum | ||
) | [static, read] |
Definition at line 185 of file inline-frame.c.
References get_frame_register_value().
static int inline_frame_sniffer | ( | const struct frame_unwind * | self, |
struct frame_info * | this_frame, | ||
void ** | this_cache | ||
) | [static] |
Definition at line 206 of file inline-frame.c.
References block_for_pc(), block_inlined_p(), BLOCK_SUPERBLOCK, gdb_assert, get_frame_address_in_block(), get_frame_type(), get_next_frame(), inferior_ptid, INLINE_FRAME, and inline_state::skipped_frames.
static void inline_frame_this_id | ( | struct frame_info * | this_frame, |
void ** | this_cache, | ||
struct frame_id * | this_id | ||
) | [static] |
Definition at line 149 of file inline-frame.c.
References BLOCK_START, frame_id_eq(), frame_id_p(), func, gdb_assert, get_frame_function(), get_frame_id(), get_prev_frame(), outer_frame_id, and SYMBOL_BLOCK_VALUE.
int inline_skipped_frames | ( | ptid_t | ptid | ) |
Definition at line 365 of file inline-frame.c.
References inline_state::skipped_frames.
Referenced by frame_inlined_callees(), frame_show_address(), handle_inferior_event(), and step_once().
struct symbol* inline_skipped_symbol | ( | ptid_t | ptid | ) | [read] |
Definition at line 379 of file inline-frame.c.
References gdb_assert, and inline_state::skipped_symbol.
Referenced by find_frame_sal().
void skip_inline_frames | ( | ptid_t | ptid | ) |
Definition at line 303 of file inline-frame.c.
References allocate_inline_frame_state(), block_for_pc(), BLOCK_FUNCTION, block_inlined_p(), BLOCK_START, block_starting_point_at(), BLOCK_SUPERBLOCK, gdb_assert, get_current_frame(), get_frame_pc(), reinit_frame_cache(), inline_state::saved_pc, inline_state::skipped_frames, and inline_state::skipped_symbol.
Referenced by handle_inferior_event().
void step_into_inline_frame | ( | ptid_t | ptid | ) |
Definition at line 352 of file inline-frame.c.
References gdb_assert, reinit_frame_cache(), and inline_state::skipped_frames.
Referenced by handle_inferior_event(), and step_once().
static VEC | ( | inline_state_s | ) | [static] |
Definition at line 62 of file inline-frame.c.
References get_thread_regcache(), inline_state::ptid, ptid_equal(), regcache_read_pc(), inline_state::saved_pc, VEC_iterate, and VEC_unordered_remove.
struct frame_unwind inline_frame_unwind |
{ INLINE_FRAME, default_frame_unwind_stop_reason, inline_frame_this_id, inline_frame_prev_register, NULL, inline_frame_sniffer }
Definition at line 262 of file inline-frame.c.
Referenced by frame_unwind_init().