+2003-04-09 Andrew Cagney <cagney@redhat.com>
+
+ * frame.c (get_frame_id): Eliminate code updating "frame".
+ (legacy_get_prev_frame): Ditto.
+ (get_frame_base): Return id.base directly.
+ (deprecated_update_frame_base_hack): Update "id.base".
+ * frame.h (struct frame_info): Delete field "frame".
+
2003-04-09 Andrew Cagney <cagney@redhat.com>
* NEWS: Mention that the "Sequent family" is obsolete.
/* Find THIS frame's ID. */
fi->unwind->this_id (fi->next, &fi->prologue_cache, &fi->id);
fi->id_p = 1;
- /* FIXME: cagney/2002-12-18: Instead of this hack, should only
- store the frame ID in PREV_FRAME. */
- fi->frame = fi->id.base;
}
- return frame_id_build (fi->frame, get_frame_pc (fi));
+ return frame_id_build (fi->id.base, get_frame_pc (fi));
}
const struct frame_id null_frame_id; /* All zeros. */
after the switch to storing the frame ID, instead of the
frame base, in the frame object. */
- /* FIXME: cagney/2002-12-18: Instead of this hack, should only
- store the frame ID in PREV_FRAME. */
- /* FIXME: cagney/2003-04-04: Once ->frame is eliminated, this
- assignment can go. */
- prev->frame = prev->id.base;
-
/* Link it in. */
this_frame->prev = prev;
CORE_ADDR
get_frame_base (struct frame_info *fi)
{
- if (!fi->id_p)
- {
- /* HACK: Force the ID code to (indirectly) initialize the
- ->frame pointer. */
- get_frame_id (fi);
- }
- return fi->frame;
+ return get_frame_id (fi).base;
}
/* High-level offsets into the frame. Used by the debug info. */
deprecated_update_frame_base_hack (struct frame_info *frame, CORE_ADDR base)
{
/* See comment in "frame.h". */
- frame->frame = base;
+ frame->id.base = base;
}
void
struct frame_info
{
- /* Nominal address of the frame described. See comments at
- get_frame_base() about what this means outside the *FRAME*
- macros; in the *FRAME* macros, it can mean whatever makes most
- sense for this machine. */
- CORE_ADDR frame;
-
/* Address at which execution is occurring in this frame.
For the innermost frame, it's the current pc.
For other frames, it is a pc saved in the next frame. */