Andrew Cagney
494cca16bd
2003-01-18 Andrew Cagney <ac131313@redhat.com>
...
* dummy-frame.h (dummy_frame_id_unwind): Delete declaration.
(dummy_frame_pc_unwind, dummy_frame_register_unwind): Ditto.
(struct frame_unwind): Declare opaque.
(dummy_frame_p): Declare function.
* dummy-frame.c (dummy_frame_id_unwind): Make static.
(dummy_frame_pc_unwind, dummy_frame_register_unwind): Ditto.
* dummy-frame.c: Include "frame-unwind.h".
(dummy_frame_p): New function.
(dummy_frame_unwind): New variable.
* frame.c: Include "frame-unwind.h".
(frame_pc_unwind, frame_id_unwind, frame_register_unwind): Update
to use the new unwind field.
(set_unwind_by_pc): Delete function.
(create_new_frame, get_prev_frame): Set unwind field using
frame_unwind_find_by_pc.
(trad_frame_unwind, trad_frame_unwinder): New variables.
* frame.h (trad_frame_unwind): Declare variable.
(frame_id_unwind_ftype): Delete declaration.
(frame_pc_unwind_ftype, frame_register_unwind_ftype): Ditto.
(struct frame_unwind): Declare opaque.
(struct frame_info): Replace the fields id_unwind, pc_unwind and
register_unwind with a single unwind pointer.
* frame-unwind.h, frame-unwind.c: New files.
* Makefile.in (SFILES): Add frame-unwind.c.
(frame_unwind_h): Define.
(COMMON_OBS): Add frame-unwind.o.
(frame-unwind.o): Specify dependencies.
(frame.o, dummy-frame.o): Update dependencies.
2003-01-18 17:25:23 +00:00
Andrew Cagney
c170fb600a
2003-01-16 Andrew Cagney <ac131313@redhat.com>
...
* frame.h (frame_id_unwind_ftype): Change type so that the frame's
ID back using a parameter.
* frame.c (frame_id_unwind): Update call.
(frame_saved_regs_id_unwind): Update.
* dummy-frame.c (dummy_frame_id_unwind): Update function.
* dummy-frame.h (struct frame_id): Add opaque declaration.
(dummy_frame_id_unwind): Update declaration.
2003-01-16 16:54:57 +00:00
Andrew Cagney
c689142bec
2002-12-13 Andrew Cagney <ac131313@redhat.com>
...
* frame.h (frame_id_unwind): Declare.
(struct frame_info): Add fields id_unwind, id_unwind_cache_p and
id_unwind_cache.
(frame_id_unwind_ftype): Declare.
* frame.c (frame_id_unwind): New function.
(set_unwind_by_pc): Add unwind_id parameter. Initialized.
(create_new_frame, get_prev_frame): Pass id_unwind to
set_unwind_by_pc.
(frame_saved_regs_id_unwind): New function.
(frame_saved_regs_id_unwind): New function.
* dummy-frame.c (dummy_frame_id_unwind): New function.
(struct dummy_frame): Add field id.
(generic_push_dummy_frame): Initialize `id'.
* dummy-frame.h (dummy_frame_id_unwind): Declare.
2002-12-13 16:40:25 +00:00
Andrew Cagney
5e0f933e90
2002-11-24 Andrew Cagney <ac131313@redhat.com>
...
* dummy-frame.c (pc_in_dummy_frame): New function.
(generic_pc_in_call_dummy): Call pc_in_dummy_frame.
(find_dummy_frame): Update comment.
(generic_pop_current_frame): Use get_frame_type.
* dummy-frame.h (pc_in_dummy_frame): Declare.
* frame.c (set_unwind_by_pc): Use pc_in_dummy_frame.
(create_new_frame): Use pc_in_dummy_frame.
(get_prev_frame): Use pc_in_dummy_frame.
(frame_saved_regs_register_unwind): Use get_prev_frame.
(deprecated_generic_get_saved_register): Use get_prev_frame.
2002-11-24 15:06:08 +00:00
Andrew Cagney
f18c5a7303
2002-11-15 Andrew Cagney <ac131313@redhat.com>
...
* frame.c (frame_pc_unwind): New function.
(frame_saved_regs_pc_unwind): New function.
(frame_register_unwind): Pass unwind_cache instead of
register_unwind_cache.
(set_unwind_by_pc): Add unwind_pc parameter, set.
(create_new_frame): Pass frame->pc_unwind to set_unwind_by_pc.
(get_prev_frame): Ditto.
* frame.h (frame_pc_unwind_ftype): Declare.
(struct frame_info): Add pc_unwind, pc_unwind_cache_p and
pc_unwind_cache. Rename register_unwind_cache to unwind_cache.
(frame_pc_unwind): Declare.
* dummy-frame.c (dummy_frame_pc_unwind): New function.
(struct dummy_frame): Add comment mentioning that values are for
previous frame.
* dummy-frame.h (dummy_frame_pc_unwind): Declare.
* blockframe.c (file_frame_chain_valid): Use frame_pc_unwind.
(generic_file_frame_chain_valid): Ditto.
* stack.c (frame_info): Ditto.
2002-11-15 22:16:25 +00:00
Andrew Cagney
8779790c2e
2002-11-08 Andrew Cagney <ac131313@redhat.com>
...
* frame.c (set_unwind_by_pc): Use dummy_frame_register_unwind.
* dummy-frame.c (find_dummy_frame): Rename
generic_find_dummy_frame, make static. Return the dummy frame
instead of the regcache.
(generic_find_dummy_frame): Re-implement using find_dummy_frame,
(cached_find_dummy_frame): New function. Use find_dummy_frame.
(dummy_frame_register_unwind): Rename
generic_call_dummy_register_unwind. Use cached_find_dummy_frame.
* dummy-frame.h (dummy_frame_register_unwind): Rename
generic_call_dummy_register_unwind.
2002-11-08 23:12:52 +00:00
Andrew Cagney
9c1412c1a1
2002-11-08 Andrew Cagney <ac131313@redhat.com>
...
* blockframe.c: Include "dummy-frame.h".
(struct dummy_frame, dummy_frame_stack)
(generic_find_dummy_frame, deprecated_generic_find_dummy_frame)
(generic_pc_in_call_dummy, deprecated_read_register_dummy)
(generic_push_dummy_frame, generic_save_dummy_frame_tos)
(generic_save_call_dummy_addr, generic_pop_current_frame)
(generic_pop_dummy_frame, generic_fix_call_dummy)
(generic_fix_call_dummy, generic_call_dummy_register_unwind): Move
dummy frame code from here...
* dummy-frame.c: ...to here. New file.
* dummy-frame.h: New file.
(generic_call_dummy_register_unwind): Declare.
(generic_find_dummy_frame): Declare.
* Makefile.in (SFILES): Add dummy-frame.c.
(dummy-frame.o): Specify dependencies.
(dummy_frame_h): Define.
(COMMON_OBS): Add dummy-frame.o.
(blockframe.o): Update dependencies.
2002-11-08 19:42:00 +00:00