Unwind API for EH

Eli Boling eboling at inprise.com
Thu Aug 31 19:39:22 UTC 2000


>
> I think the idea was more to generalize the interface: there are N values
> that you want to communicate to the landing pad.  It doesn't matter which
> registers you use to pass these.  For a register-poor architecture like the
> ia32, you might even combine the values into a struct and use only a single
> register.  Cary's suggestion allows us to leave this decision up to the
> unwinder library, so the personality routine can be more general.

I don't really like this, either.  The problem here is now the unwinder is given
the
power to choose how to set up the processor for the landing pad.  I'd rather that
this be in the control of the language vendor, since we're making a transfer of
control
to their code, under very special circumstances - they know about their unwind
data
structures, and the unwinder doesn't.  So the implementation should be free to
choose
specifics about the processor here that make for the best transfer of control they
can
manage.  On the IA64, there may be one and only one way to manage this, but that's

not necessarily the case on IA32, and it's dependent on whatever interesting
tricks
the language vendor has come up with.

-Eli






More information about the cxx-abi-dev mailing list