Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Posting-Version: version B 2.10.2 9/18/84; site dartvax.UUCP Path: utzoo!watmath!clyde!bonnie!akgua!whuxlm!harpo!decvax!dartvax!chuck From: chuck@dartvax.UUCP (Chuck Simmons) Newsgroups: net.arch Subject: Re: What I miss in micro-processors (fairly long) Message-ID: <3563@dartvax.UUCP> Date: Sun, 8-Sep-85 21:47:55 EDT Article-I.D.: dartvax.3563 Posted: Sun Sep 8 21:47:55 1985 Date-Received: Tue, 10-Sep-85 03:32:31 EDT References: <796@kuling.UUCP> <1713@orca.UUCP> Organization: Dartmouth College, Hanover, NH Lines: 31 > In article <796@kuling.UUCP> grzm@kuling.UUCP (Gunnar Blomberg/ADB) writes: > >2. A quick subroutine call. > > > > What I would reaaly like to see here is something like the PDP-10 JSP > >instruction, something that jumps to a subroutine and puts the return > >address in a register instead of on the stack. > > I hope you never try anything recursive this way! Current popular recursive- > capable languages don't have any way to guarantee a given routine will never > be used recursively, so compilers for such languages (Pascal, C, Ada, etc.) > would never use such an instruction. *tee hee* Actually, our Honeywell has such an instruction. Our PL/I, Pascal, and Basic compilers (all of which support recursion) all make heavy use of this instruction as it is the only reasonable way of calling a subroutine. It's true that all of the compiled subroutines immediately store the return address in the stack. However, in our runtime library, we only store the return address when we must. This tends to make the runtime library routines blazingly fast, if slightly difficult to maintain. This should be contrasted to the approach used on our Unix Vax where every subroutine call tends to push a few registers on the stack, even if it is known that the subroutine is non-recursive, and there are registers to spare. By the way, our Honeywell typically runs with 200 users who seldom notice a delay. Our Unix Vax can barely handle 20. (Don't get me wrong. Personally, I love the Vax architechture. If our Vax could make love, I'd marry her.) chuck@dartvax