On Sat, 15 Sep 2001, Philip Kendall wrote:
> My personal view would be that the gains due to portable bytecode would
> be outweighed by the amount of cruft we'd have to put into the
> interpreter to get them. As Nicholas Clark and someone else who's name
> I've forgotten[1] mentioned, there are platforms (eg Cray) which don't
> have a native 32-bit integer type.
No cruft need go into the interpreter. We can preprocess any given
bytecode format into a native format. These preprocessors can be entirely
separate from the interpreter.
The gains here are pretty important - with a portable bytecode modules can
be distributed pre-compiled, bytecode can be generated on one platform and
used on another (think embedding) and all manner of network computing
silliness becomes possible.
Yes, some platforms will need some costly pre-processing in order to use
other platforms' bytecode. However, the 95% case of just needing some
byte-swapping will work with almost no penalty at all. The remaining 5%
that need to resize the data will still work, albeit with a startup
penalty. Easy things easy, hard things possible, right?
-sam