This is the mail archive of the gcc-help@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]
Other format: [Raw text]

gcc: alternate activation records


Hi gcc gurus,

I discovered that gcc can generate static function with alternate
activation records, i.e try to avoid a frame alloc when possible, then
having variant epilog matching the variant prolog.

For now I observed only two variant on prolog's that are the no frame
alloc or full frame alloc.

The no alloc is trigged by things like
int func(int c, more args)
{ locals consuming frame;
  if(c==1)return(5);
  .... work with args, locals, globals...
  ...
}

When c==1 no frame is allocated and we return the constant...


My question is, is there other case of alternate prologs ?
like 'may be' partial frame alloc?

Thanx in advance,
Cheers,
Phi


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