increase in object code size

Jason Merrill jason@cygnus.com
Tue Sep 23 18:21:00 GMT 1997


>>>>> Horst von Brand <vonbrand@inf.utfsm.cl> writes:

> Jason Merrill <jason@cygnus.com> said:
>> This bloat can be significantly reduced by potential optimizations in the
>> assembler.  [...]

> Nice idea for C++/Ada!

> And how do we get rid of it completely for the portable assembler, aka C?

With this mechanism, we can't eliminate it and still support throwing
through C code.  Without the unwind info, the EH runtime doesn't know how
to unwind stack frames.  The setjmp/longjmp code avoids this problem by
recording the necessary state, which significantly slows down C++ code that
doesn't throw.

SGI also uses the dwarf2 info, but reads it out of the executable as
needed.  OSF/1 uses static data generated by the assembler, which I assume
is smaller and less general than the dwarf2 info; Richard tells me it
requires the prologue to be a precise sequence of instructions.

It's a difficult tradeoff.

Jason



More information about the Gcc mailing list