This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
eh frame debug size improvement
- To: rth at cygnus dot com
- Subject: eh frame debug size improvement
- From: Michael Meissner <meissner at cygnus dot com>
- Date: Wed, 15 Oct 1997 18:02:43 -0400
- Cc: egcs at cygnus dot com
- References: <19971015023421.52704@dot.cygnus.com>
Richard Henderson writes:
| Wed Oct 15 02:09:44 1997 Richard Henderson <rth@cygnus.com>
|
| * dwarf2out.c (dwarf2out_stack_adjust): Skip if frame_pointer_needed.
|
| Index: dwarf2out.c
| ===================================================================
| RCS file: /cvs/cvsfiles/egcs/gcc/dwarf2out.c,v
| retrieving revision 1.13
| diff -u -p -d -r1.13 dwarf2out.c
| --- dwarf2out.c 1997/10/07 21:35:54 1.13
| +++ dwarf2out.c 1997/10/15 09:00:27
| @@ -992,6 +992,14 @@ dwarf2out_stack_adjust (insn)
| long offset;
| char *label;
|
| + /* If this function uses a frame pointer, we know a-priori the frame
| + size does not vary. If we don't have EH regions, we can unwind
| + the function with just the normal prologue info; if we do, we can
| + either reinit the stack pointer off of the frame pointer, or leave
| + it alone if EXIT_IGNORE_STACK. */
| + if (frame_pointer_needed)
| + return;
| +
| if (GET_CODE (insn) == BARRIER)
| {
| /* When we see a BARRIER, we know to reset args_size to 0. Usually
Note, if the comment is true, then an throwing an exception will wipe
out all alloca'ed data, which IMHO is uncool.