[virtmach] Virtual Machines and Code Representation
    btanksley@hifn.com 
    btanksley@hifn.com
    Mon, 24 Jul 2000 09:07:47 -0700
    
    
  
From: Stephen Pelc [mailto:sfp@mpeltd.demon.co.uk]
>> The rationale for using a parse tree rather than byte-codes
>> is that more information is available to a specific compiler 
>> to generate
>> "better" machine code, in whatever way "better" is defined
>> (faster/smaller/safer/more parrallel/etc...).
>If you haven't already seen it, look at the ANDF (Architecture 
>Neutral Distribution Format) system developed by the UK Defence 
>Research Agency, adopted by OSF at one stage, and exploited by 
>Etnoteam as far as I remember.
I've not been impressed with what I've seen of ANDF.  It doesn't seem to me
to exploit the structure of abstract tree code very well.
>The problem with the use of higher level descriptions has always 
>been that it places higher CPU requirements on the back end, 
>which usually rules out use on small embedded CPUs.
There are some times when this doesn't hurt as much.  For example, you can
sometimes trust a larger CPU to cross-compile the code for you.  You could
also interpret the tree directly, rather than compiling it (which saves some
memory).
By and large, though, you're right.  Still, I'd rather use a tree format for
the primary mechanism (look how efficient Juice/SlimBinaries is, and it's
only a hack), and use bytecodes for restricted situations.
>Stephen Pelc, sfp@mpeltd.demon.co.uk
-Billy