[patch rfc] get_frame_func() / frame_func_unwind()

Andrew Cagney ac131313@redhat.com
Sat Apr 5 18:55:00 GMT 2003


> 
> The attached is a simple cleanup adding the methods:
>     get_frame_func()
>     frame_func_unwind()
> that return the function containing the relevant frame (or 0 if it can't be easily figured out).  It's a caching method so any symbol lookup overhead only occures once (but I don't expect it to exactly make a difference).
> 
> It then replaces occurances of things like:
>     get_pc_function_start (get_frame_pc (func))
> with
>     get_frame_func (func)
> 
> 
> I'll look to commit this in a few days (that memory corruption bug makes testing hard :-().

This has been checked in.

Andrew


> 2003-04-03  Andrew Cagney  <cagney@redhat.com>
> 
> 	* frame.c (frame_func_unwind, get_frame_func): New functions.
> 	* frame.h (get_frame_func, frame_func_unwind): Declare.
> 	(struct frame_info): Add field "prev_func" for caching the
> 	previous frame's function address.
> 	* arm-tdep.c (arm_frameless_function_invocation): Combine
> 	get_pc_function_start and get_frame_pc into get_frame_func.
> 	* sh-tdep.c (sh_nofp_frame_init_saved_regs): Ditto.
> 	(sh64_nofp_frame_init_saved_regs): Ditto.
> 	* s390-tdep.c (s390_function_start): Ditto.
> 	* rs6000-tdep.c (rs6000_pop_frame): Ditto.
> 	(rs6000_frameless_function_invocation): Ditto.
> 	(rs6000_frame_saved_pc): Ditto.
> 	* m68k-tdep.c (m68k_frame_init_saved_regs): Ditto.
> 	* ia64-tdep.c (ia64_frame_init_saved_regs): Ditto.
> 	* i386-tdep.c (i386_frameless_signal_p): Ditto.
> 	(i386_frame_init_saved_regs): Ditto.
> 	* hppa-tdep.c (hppa_frame_find_saved_regs): Ditto.
> 	* d10v-tdep.c (d10v_frame_unwind_cache): Combine
> 	get_pc_function_start and frame_pc_unwind into frame_func_unwind.
> 	* cris-tdep.c (cris_frame_init_saved_regs): Ditto.
> 	* blockframe.c (frameless_look_for_prologue): Ditto.




More information about the Gdb-patches mailing list