Commit Graph

7 Commits

Author SHA1 Message Date
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