[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