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]

Re: eh frame debug size improvement


On Wed, Oct 15, 1997 at 06:02:43PM -0400, Michael Meissner wrote:
> Note, if the comment is true, then an throwing an exception will wipe
> out all alloca'ed data, which IMHO is uncool.

No, if the epilogue can handle not caring where the stack pointer is,
as it surely must in a function using alloca, we can, as the comment
said, leave the stack pointer alone.

This will cause problems only with situations like

  while (1) {
    try {
      diediedie(barney);
    } catch (...) {
    }
  }

where we keep pushing parameters and not reclaiming. 

Note that if the function does not use alloca, we can reinit off the
frame pointer and the above does work.  Dynamicly sized arrays are
trickier, but we should still be able to reinit off the fp, since block
scope applies, and the save_expr's for the array sizes should still be
hanging out.


r~


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