> * 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
