[comp.arch] Machine Independent Intermediate Language

nevin1@ihlpb.ATT.COM (Liber) (10/12/88)

[followups to comp.lang.misc]

In article <997@esunix.UUCP> bpendlet@esunix.UUCP (Bob Pendleton) writes:

>I hope that the existence proofs that others have posted, plus this
>information convinces you that the concepts behind MIILs have been
>known, and in use for many years, that MIILs can be used as part of an
>optimizing compiler system, and that there need not be any performance
>loss as a result of using one.

There is a performance loss (at least a theoretical one); the
optimizations can't be as rigorous.  When you compile from a HLL to a
MIIL, you throw out some information.  You are modeling the HLL onto
the MIIL virtual machine, and unless you can always reconstruct the HLL
code from the MIIL code *statement for statement* (baring things like
variable names, of course), some information is lost.  (Note: if you
can always reconstruct the original HLL form from the MIIL form, then
the MIIL is simply the virtual machine for the HLL, and you don't gain
anything my having the MIIL.)  Unless you can show that the information
lost cannot help in optimization, the optimizations will (theoretically)
make better code from the HLL than from the MIIL.

>Consider; a new machine won't sell without a large existing base of
>applications. And, software developers can't afford to develop for
>machines that don't have a large installed base. A standard MIIL
>allows hardware vendors to compete on a price/performance basis and
>provides software vendors with a huge installed base of possible
>customers.

Yes, but so does having a standard HLL.  That is what has made Un*x
(darn legal department again :-)) much more portable than most other
operating systems.  Your point here comes from having a standard language
and not from having a standard MIIL instead of a standard HLL.
-- 
 _ __		NEVIN J. LIBER  ..!att!ihlpb!nevin1  (312) 979-4751  IH 4F-410
' )  )  "I catch him with a left hook. He eels over. It was a fluke, but there
 /  / _ , __o  ____  he was, lying on the deck, flat as a mackerel - kelpless!"
/  (_</_\/ <__/ / <_	As far as I know, these are NOT the opinions of AT&T.