Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Posting-Version: version B 2.10.1 6/24/83; site ncoast.UUCP Path: utzoo!linus!decvax!cwruecmp!atvax!ncoast!bsa From: bsa@ncoast.UUCP (Brandon Allbery) Newsgroups: net.lang.c Subject: Re: setjmp/longjmp Message-ID: <469@ncoast.UUCP> Date: Tue, 6-Nov-84 13:39:02 EST Article-I.D.: ncoast.469 Posted: Tue Nov 6 13:39:02 1984 Date-Received: Thu, 8-Nov-84 04:52:07 EST References: <1@imd.UUCP> Reply-To: bsa@ncoast.UUCP (Brandon Allbery) Organization: North Coast XENIX, Cleveland Lines: 32 Summary: ``Should be fixed'' -- at what price? > Article <1@imd.UUCP>, from david@imd.UUCP +---------------- | >I agree with Dennis Ritchie that longjmp should resume after the call | >to setjmp with all accessible data containing values as of the time of | >the longjmp. This can always be implemented, although some C run-time | >designs seem to have not saved enough information on the call stack to | >support longjmp. Such implementations need to be changed. Any system | >where a subroutine call saves all the non-scratch registers (e.g., PDP-11, | >Gould) is in good shape, as is any system where the number of registers | >actually saved is recorded in the call frame (e.g. VAX). Other systems | >may have to have their calling sequences re-engineered, but that is what | >they deserve for taking shortcuts. Ummm... it's easy to push the register mask when you moveml the registers to be saved on entry to a subroutine in the 68000, but moveml mask,(a7)- and moveml mask,(a7)+ expect the mask reversed from each other! How do you propose to invert a 16-bit mask end-for-end (i.e. 11100...001 <=> 100...00111 ) and still have a fast calling sequence? --bsa -- Brandon Allbery @ North Coast Xenix | the.world!ucbvax!decvax!cwruecmp! 6504 Chestnut Road, Independence, Ohio | {atvax!}ncoast!{tdi1!}bsa (216) 524-1416 \ 44131 | E1439@CSUOHIO.BITNET (friend's acct.) ---------------------------------------+--------------------------------------- `Confusion is my natural state.' -- Brandon Allbery @ North Coast Xenix | the.world!ucbvax!decvax!cwruecmp! 6504 Chestnut Road, Independence, Ohio | {atvax!}ncoast!{tdi1!}bsa (216) 524-1416 \ 44131 | E1439@CSUOHIO.BITNET (friend's acct.) ---------------------------------------+--------------------------------------- `Confusion is my natural state.'