Newsgroups: comp.lang.c
Path: utzoo!henry
From: henry@utzoo.uucp (Henry Spencer)
Subject: Re: Behaviour of setjmp/longjmp and registers
Message-ID: <1989Jan23.190446.8559@utzoo.uucp>
Organization: U of Toronto Zoology
References: <25@torsqnt.UUCP> <8867@bloom-beacon.MIT.EDU> <7222@polyslo.CalPoly.EDU> <8812@alice.UUCP>
Date: Mon, 23 Jan 89 19:04:46 GMT

In article <8812@alice.UUCP> ark@alice.UUCP (Andrew Koenig) writes:
>...John Reiser figured out a way around it -- a nifty version of
>longjmp that unwound the stack, restoring the correct registers
>at each iteration -- and that went into at least some VAX C
>implementations.
>
>However, when it came to the ANSI committee, they decided it
>would be too hard to mandate this kind of implementation...

Don't forget that it was (relatively) easy on the VAX because one of the
things that the all-singing-all-dancing VAX procedure call does is to save
a register mask.  This makes the VAX stack pretty much self-describing,
at the cost of slowing down every function call and increasing the use
of stack space.  Most other implementations consider that too high a
price to pay.
-- 
Allegedly heard aboard Mir: "A |     Henry Spencer at U of Toronto Zoology
toast to comrade Van Allen!!"  | uunet!attcan!utzoo!henry henry@zoo.toronto.edu
