102 memset (state, 0,
sizeof (*state));
135 inline_states = new_states;
180 (*this_id).artificial_depth++;
183 static struct value *
210 const struct block *frame_block, *cur_block;
217 if (frame_block == NULL)
223 cur_block = frame_block;
246 if (state != NULL && state->
skipped_frames > 0 && next_frame == NULL)
287 if (new_block == NULL)
290 if (new_block == block ||
contained_in (new_block, block))
307 const struct block *frame_block, *cur_block;
308 struct symbol *last_sym = NULL;
318 if (frame_block != NULL)
320 cur_block = frame_block;
343 gdb_assert (find_inline_frame_state (ptid) == NULL);
358 struct inline_state *state = find_inline_frame_state (ptid);
371 struct inline_state *state = find_inline_frame_state (ptid);
385 struct inline_state *state = find_inline_frame_state (ptid);
399 int inline_count = 0;
411 if (next_frame == NULL)
int frame_id_p(struct frame_id l)
static int block_starting_point_at(CORE_ADDR pc, const struct block *block)
CORE_ADDR get_frame_address_in_block(struct frame_info *this_frame)
CORE_ADDR get_frame_pc(struct frame_info *frame)
int ptid_is_pid(ptid_t ptid)
struct frame_info * get_current_frame(void)
void clear_inline_frame_state(ptid_t ptid)
int ptid_equal(ptid_t ptid1, ptid_t ptid2)
struct regcache * get_thread_regcache(ptid_t ptid)
#define VEC_unordered_remove(T, V, I)
#define VEC_safe_push(T, V, O)
const struct block * block_for_pc(CORE_ADDR pc)
#define BLOCK_FUNCTION(bl)
int frame_id_eq(struct frame_id l, struct frame_id r)
enum frame_type get_frame_type(struct frame_info *frame)
#define VEC_iterate(T, V, I, P)
struct value * get_frame_register_value(struct frame_info *frame, int regnum)
struct frame_id get_frame_id(struct frame_info *fi)
static struct inline_state * allocate_inline_frame_state(ptid_t ptid)
int contained_in(const struct block *a, const struct block *b)
struct symbol * inline_skipped_symbol(ptid_t ptid)
int inline_skipped_frames(ptid_t ptid)
struct symbol * get_frame_function(struct frame_info *frame)
#define BLOCK_SUPERBLOCK(bl)
struct frame_info * get_prev_frame_always(struct frame_info *this_frame)
static int inline_frame_sniffer(const struct frame_unwind *self, struct frame_info *this_frame, void **this_cache)
static void inline_frame_this_id(struct frame_info *this_frame, void **this_cache, struct frame_id *this_id)
void skip_inline_frames(ptid_t ptid)
int ptid_get_pid(ptid_t ptid)
static VEC(inline_state_s)
int frame_inlined_callees(struct frame_info *this_frame)
DEF_VEC_O(inline_state_s)
struct frame_info * get_next_frame(struct frame_info *this_frame)
int block_inlined_p(const struct block *bl)
#define SYMBOL_BLOCK_VALUE(symbol)
CORE_ADDR regcache_read_pc(struct regcache *regcache)
struct symbol * skipped_symbol
enum unwind_stop_reason default_frame_unwind_stop_reason(struct frame_info *this_frame, void **this_cache)
const struct frame_id outer_frame_id
static struct value * inline_frame_prev_register(struct frame_info *this_frame, void **this_cache, int regnum)
void * addrmap_find(struct addrmap *map, CORE_ADDR addr)
#define BLOCKVECTOR_MAP(blocklist)
void reinit_frame_cache(void)
const struct blockvector * blockvector_for_pc(CORE_ADDR pc, const struct block **pblock)
mach_port_t mach_port_t name mach_port_t mach_port_t name error_t int int rusage_t pid_t pid
static struct block * new_block(enum block_type)
void step_into_inline_frame(ptid_t ptid)