This is the mail archive of the gdb-patches@sourceware.org mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [rfc] Eliminate frame_id_inner comparisons


Hi Ulrich,

> ChangeLog:
> 
> 	* frame.h (struct frame_id): Update comments.
> 	(frame_id_inner): Remove prototype.
> 	(enum unwind_stop_reason): Remove UNWIND_INNER_ID and
> 	UNWIND_SAME_ID, add UNWIND_CYCLE.
> 	* frame.c (struct frame_info): New member "cycle".
> 	(frame_id_inner): Delete.
> 	(frame_find_by_id): Remove frame_id_inner check.
> 	(create_sentinel_frame): Initialize frame->cycle.
> 	(get_prev_frame_1): Remove frame_id_inner check.  Check for
> 	cycles in the frame chain using Floyd's algorithm.
> 	Initialize prev_frame->cycle.
> 	(frame_stop_reason_string): Handle UNWIND_CYCLE instead of
> 	UNWIND_INNER_ID and UNWIND_SAME_ID.
> 
> 	* dummy-frame.c (dummy_frame_push): Use frame_find_by_id to
> 	detect stale dummy frames.
> 	* stack.c (return_command): Directly pop the selected frame.
> 	* infrun.c (handle_inferior_event): Remove dead code.
> 	* i386-tdep.c (i386_push_dummy_call): Update comment.

FWIW, I looked at the patch and I don't see any problem with it.

> +    /* This frame has the same ID some frame inner to it.  That means
                         the same ID as some frame


-- 
Joel


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]