On Wed, 22 Dec 2004, Guy Sotomayor wrote:

> On Wed, 2004-12-22 at 12:53, Johnny Billquist wrote:
>
>> I have to say, that after looking at the code BLISS-16 generated, I was
>> extremely impressed. I even learned one or two tricks for MACRO-11
>> programming from looking at that. Absolutely the best code I've ever seen
>> something generate.

>
> I was at CMU in the CS department (actually EE but it's a long story)
> and we did (almost) everything in either Bliss-10, Bliss-11 or SAIL. We
> were very happy with the code that was generated (almost all of Hydra
> was written in Bliss-11).
>
> Here's a story about Bliss-11's code generation:
> Because Bliss-11 was a cross compiler under TOPS-10 (and was a
> multiple pass compiler) it would have to swap out in order to
> bring in the next pass. This was done for every routine
> (function for you 'C' types). To keep the swap-in/swap-out as
> fast as possible, you tended to write small (1 page) routines.
> After each routine, the compiler would tell you how many
> instructions it generated (it was not unusual to see only 20
> instructions emitted for a meaningful routine).
>
> One day, someone was compiling a routine that was 4-1/2 pages
> long, a huge routine in Bliss. The compiler emitted something
> under 120 instructions...whow! Compiler must have screwed up!
> It took almost 3 days of various people (including the compiler
> writers) to figure out that yes, indeed Bliss had generated
> correct code!


Neat.

I really like the information BLISS-16 throws out after each routine.
Looks like this:

; Routine Size: 80 words, Routine Base: $CODE$ + 0000
; Maximum stack depth per invocation: 7 words

Nice that it even tells how much stack it will use.

Johnny

Johnny Billquist || "I'm on a bus
|| on a psychedelic trip
email: bqt@update.uu.se || Reading murder books
pdp is alive! || tryin' to stay hip" - B. Idol
----------
To unsubscribe (or subscribe) from (to) this list, send a message to
info-pdp11-request@village.org, with the first line of the message
body being "unsubscribe" or "subscribe", respectively (without the quotes).