[comp.lang.modula2] Optimized M2

alan@pdn.UUCP (Alan Lovejoy) (08/31/87)

There is a company in Britain called Masthaven who are currenlty
marketing an optimizing Modula-2 compiler for UNIX/V.  Their
compiler was originally written by Mark White at Volition Systems,
but was never marketed for reasons I can't go into (I don't want
to hire a lawyer...).  A company in Seattle called ScenicSoft bought
limited rights to this compiler in 1984, and are currently marketing
their version for Stride/Sage machines.  This is probably the most
mature version available, since ScenicSoft has been working on it
longer than Masthaven.  I have the ScenicSoft version, and can report
that it is VERY good.  On a Stride 440 @12MHz with one wait state,
10 iterations of BYTE's Sieve benchmark (flags: ARRAY [0..8191])
executes in 1.14 seconds.  For comparison, hand-coded assembly 
executes in 0.91 seconds.

If you are interested, mail me and I'll mail you addresses and phone
numbers.

--alan@pdn

joel@DECWRL.DEC.COM.UUCP (09/01/87)

The highly optimizing Modula-2 compiler marketed by Masthaven was written by
Mark Allen, who worked at Volition Systems, a now defunct company for reasons
I won't go into publicly.

Mark is brilliant, and his goal was to generate better code for the 68000 than
any other compiler available.  Especially C compilers.  We were tired of the
claims that C is so great because it is an "efficient" language and compiles
well into machine code.

While there are a few things Mark's compiler doesn't do perfectly, its
register optimization is particularly good - constants used in loops will be
moved into registers, for example, and it tries very hard to allocate
registers only over the most useful extent of an expressions lifetime.

I must admit that we did look over the code it produced for the Byte benchmark
pretty carefully, but all the optimizations that were put in as a result of
that inspection were of general use too.

I'm happy to hear that someone is releasing this compiler finally on UNIX.  I
know nothing about Masthaven, but can vouch for Mark Allen's code.  I doubt
you'll find many compilers for the 68000 even approaching the optimization
that Mark pulled off.

  - Joel McCormack {ihnp4 decvax ucbvax allegra}!decwrl!joel
		 joel@decwrl.dec.com

(Ex-president of Volition Systems.  Currently working on making Mike Powell's
Modula-2 compiler for the VAX into a production quality compiler.  No promises
intended, these are not the official opinions of my employer, etc.)