2002-11-09 Andrew Cagney <ac131313@redhat.com>
* frame.c (get_prev_frame): Test prev_p to identify a previously unwound frame. Initialize prev_p. * frame.h (struct frame_info): Add field prev_p. Expand prev/next comment.
This commit is contained in:
parent
95adb866d7
commit
15220c65c0
@ -1,3 +1,10 @@
|
||||
2002-11-09 Andrew Cagney <ac131313@redhat.com>
|
||||
|
||||
* frame.c (get_prev_frame): Test prev_p to identify a previously
|
||||
unwound frame. Initialize prev_p.
|
||||
* frame.h (struct frame_info): Add field prev_p. Expand prev/next
|
||||
comment.
|
||||
|
||||
2002-11-09 Andrew Cagney <ac131313@redhat.com>
|
||||
|
||||
* frame.c (get_prev_frame): Cleanups. Eliminate redundant tests
|
||||
|
@ -742,13 +742,10 @@ get_prev_frame (struct frame_info *next_frame)
|
||||
return current_frame;
|
||||
}
|
||||
|
||||
/* If we have the prev one, return it. */
|
||||
if (next_frame->prev)
|
||||
/* FIXME: cagney/2002-11-09: Rather than relying on ->PREV being
|
||||
non-NULL, there should be a predicate (->prev_p?). That would
|
||||
stop this function constantly trying to chain beyond the
|
||||
outermost frame. */
|
||||
/* Only try to do the unwind once. */
|
||||
if (next_frame->prev_p)
|
||||
return next_frame->prev;
|
||||
next_frame->prev_p = 1;
|
||||
|
||||
/* On some machines it is possible to call a function without
|
||||
setting up a stack frame for it. On these machines, we
|
||||
|
@ -140,10 +140,11 @@ struct frame_info
|
||||
frame_register_unwind_ftype *register_unwind;
|
||||
void *register_unwind_cache;
|
||||
|
||||
/* Pointers to the next (down, inner) and previous (up, outer)
|
||||
frame_info's in the frame cache. */
|
||||
struct frame_info *next; /* down, inner */
|
||||
struct frame_info *prev; /* up, outer */
|
||||
/* Pointers to the next (down, inner, younger) and previous (up,
|
||||
outer, older) frame_info's in the frame cache. */
|
||||
struct frame_info *next; /* down, inner, younger */
|
||||
int prev_p;
|
||||
struct frame_info *prev; /* up, outer, older */
|
||||
};
|
||||
|
||||
/* Values for the source flag to be used in print_frame_info_base(). */
|
||||
|
Loading…
Reference in New Issue
Block a user