diff options
author | Andreas Schwab <schwab@suse.de> | 2007-06-12 15:21:27 +0000 |
---|---|---|
committer | Andreas Schwab <schwab@suse.de> | 2007-06-12 15:21:27 +0000 |
commit | ae4e6e4eaa6d988db4e6ecb37a25bf8cf1e33306 (patch) | |
tree | 1f370e2ab46d44e9ae887b7dc64412edbdb6b31f /gdb/frame-unwind.h | |
parent | 4330356dffab209a837d8904d43f145b4ff4ffed (diff) | |
download | gdb-ae4e6e4eaa6d988db4e6ecb37a25bf8cf1e33306.tar.gz |
* frame-unwind.h (frame_dealloc_cache_ftype): Define.
(struct frame_unwind): Add dealloc_cache.
* frame.c (reinit_frame_cache): Call dealloc_cache on all caches.
* libunwind-frame.h (libunwind_frame_dealloc_cache): Declare.
* libunwind-frame.c (libunwind_frame_dealloc_cache): Define.
(libunwind_frame_unwind): Set dealloc_cache.
* ia64-tdep.c (ia64_libunwind_frame_unwind): Set dealloc_cache.
Diffstat (limited to 'gdb/frame-unwind.h')
-rw-r--r-- | gdb/frame-unwind.h | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/gdb/frame-unwind.h b/gdb/frame-unwind.h index e1ac8717c78..87c8161e668 100644 --- a/gdb/frame-unwind.h +++ b/gdb/frame-unwind.h @@ -125,6 +125,10 @@ typedef void (frame_prev_register_ftype) (struct frame_info *next_frame, typedef CORE_ADDR (frame_prev_pc_ftype) (struct frame_info *next_frame, void **this_prologue_cache); +/* Deallocate extra memory associated with the frame cache if any. */ + +typedef void (frame_dealloc_cache_ftype) (struct frame_info *self, + void *this_cache); struct frame_unwind { @@ -138,6 +142,7 @@ struct frame_unwind const struct frame_data *unwind_data; frame_sniffer_ftype *sniffer; frame_prev_pc_ftype *prev_pc; + frame_dealloc_cache_ftype *dealloc_cache; }; /* Register a frame unwinder, _prepending_ it to the front of the |