> * Charles Forsyth <[email protected]> wrote:
> > >waserror() depends on callee-save.
> > 
> > caller-save, and a few other conventions (or rather, no need for more 
> > conventions).
> > specifically, it's enough to save the pc and stack. all variables will
> > have the right values on non-zero return from setjmp, regardless of the
> > presence or absence of "volatile", and that return can be done by
> > simply setting the pc and the stack pointer to the values in the jmp_buf.
> 
> What exactly is different between these calling conventions ?

http://en.wikipedia.org/wiki/Calling_convention

> How much does the Plan9 code depend on them ?

since you haven't specified a unit with which to measure
this dependency, i'll give it as 1.773 µdirac/tatum·fortnight.
alternatively, i've seen this specified as 6.773 Mlenat·emacs.
(it just looks stupendous when you think of it that way.)

in other words, it's not a deep dependency, but a pervasive
and difficult to dislodge one.  without the convention, waserror()
becomes too subtile and quick to anger to be of any use to
mortal programmers.

- erik

Reply via email to