comp.lang.ada
 help / color / mirror / Atom feed
From: Robert Dewar <robert_dewar@my-deja.com>
Subject: Re: Compiler for Z80/6510
Date: 1999/11/27
Date: 1999-11-27T00:00:00+00:00	[thread overview]
Message-ID: <81nmu0$e2n$1@nnrp1.deja.com> (raw)
In-Reply-To: wcc3dtsvqy2.fsf@world.std.com

In article <wcc3dtsvqy2.fsf@world.std.com>,
  Robert A Duff <bobduff@world.std.com> wrote:
> Do you completely redo the hand-crafted register allocation
> (which indeed is very efficient)?  Or do you minimize the
amount of code
> that has to be changed, thereby reducing the probability of
bugs?
> In many cases, it's irresponsible to do the former.


Well the answer is that if you are aiming at optimal code,
you certainly redo the register allocation.

I remember one incident when Ken Belcher and I were writing
SPITBOL/370 which is entirely in BAL.

There was a bug that needed fixing in a routine that was
maybe 100 lines long, and we both kept putting it off.

Finally I came in one day, and said

"I fixed that bug ....

 but there is an extra LR in the middle of the routine"

Ken answered immediately "Oh well if you are willing to leave
in junk code like that the fix is trivial", and we both new
without discussion EXACTLY the issue, namely that the register
allocation had to be completely redone for the entire routine
to avoid this one register-register move in the middle of it.

Eventually it got fixed properly :-)


But this is not to suggest for a moment that ANYTHING should be
written at this level these days, we can afford to waste some
machine time to avoid the maintenance nightmares that Bob quite
rightly alludes to!

Still it was amazing what could be achieved (the SPITBOL lexer
and parser used the TRT instruction extensively, and SPITBOL
compiles at millions of lines a minute on a modern mainframe).


Sent via Deja.com http://www.deja.com/
Before you buy.




  reply	other threads:[~1999-11-27  0:00 UTC|newest]

Thread overview: 50+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
1999-11-24  0:00 Compiler for Z80/6510 Lutz Donnerhacke
1999-11-24  0:00 ` Wil
1999-11-25  0:00   ` Lutz Donnerhacke
1999-11-25  0:00     ` Robert Dewar
1999-11-25  0:00       ` Peter Milliken
1999-11-26  0:00         ` Robert Dewar
1999-11-26  0:00           ` Robert A Duff
1999-11-27  0:00             ` Robert Dewar [this message]
1999-12-01  0:00             ` Robert I. Eachus
1999-12-02  0:00               ` Larry Kilgallen
1999-12-02  0:00                 ` Robert I. Eachus
1999-12-03  0:00               ` Robert Dewar
1999-12-03  0:00                 ` Robert I. Eachus
1999-12-06  0:00                   ` Robert Dewar
1999-12-13  0:00                     ` Robert I. Eachus
1999-12-13  0:00                       ` carr_tom
1999-12-17  0:00                         ` Robert I. Eachus
1999-12-19  0:00                       ` Robert Dewar
1999-12-21  0:00                         ` Robert I. Eachus
1999-12-23  0:00                           ` Robert Dewar
1999-12-23  0:00                             ` Robert I. Eachus
1999-11-26  0:00         ` Ed Falis
1999-11-26  0:00           ` Robert C. Leif, Ph.D.
1999-11-27  0:00             ` Florian Weimer
     [not found]             ` <01bf38cb$be9b2b60$022a6282@dieppe>
1999-11-28  0:00               ` Robert Dewar
1999-11-28  0:00                 ` Robert A Duff
1999-11-30  0:00                 ` Pascal Obry
1999-11-28  0:00             ` Robert Dewar
1999-12-06  0:00           ` Richard D Riehle
1999-11-26  0:00         ` Tarjei Jensen
1999-11-26  0:00       ` Vladimir Olensky
1999-11-26  0:00         ` Robert Dewar
1999-11-26  0:00           ` Vladimir Olensky
1999-11-27  0:00             ` Robert Dewar
1999-11-28  0:00               ` Vladimir Olensky
1999-11-24  0:00 ` Frank Klemm
1999-11-24  0:00   ` Lutz Donnerhacke
1999-11-24  0:00 ` Tucker Taft
1999-11-29  0:00 ` Marin Condic
1999-11-29  0:00   ` Lutz Donnerhacke
1999-11-29  0:00     ` Marin Condic
1999-11-29  0:00       ` Lutz Donnerhacke
1999-11-29  0:00   ` Mike Silva
1999-11-29  0:00     ` Marin Condic
1999-11-29  0:00       ` Mike Silva
1999-11-29  0:00       ` John Duncan
1999-11-30  0:00         ` Lutz Donnerhacke
1999-11-30  0:00       ` Tarjei Jensen
1999-11-29  0:00   ` Robert C. Leif, Ph.D.
1999-12-01  0:00   ` Robert Dewar
replies disabled

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox