This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

eh frame debug size improvement


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.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]