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