Chris Abbey wrote:
>
> At 17:42 2/1/00 +0100, Wolfgang Hoschek wrote:
> >Does anyone know whether there are any VMs out there that generate CPU
> >specific machine code?
> >Eg. detect a PentiumIII and issue approprate prefetch instructions, etc.
> >If so, is there material available describing how far such CPU specific
> >support goes?
>
> ...
>
> Actually, I think you may be refering to JITC technology? In which case
Yes, I was reffering to jitters and adaptive compilers (not to static
native compilers or how VMs are build).
See, these days many computations formerly termed compute-intensive are
actually bounded by the memory subsystem. (Easily run 10 times as fast
when fetching from Level-1-Cache instead of SDRAM, not only in C but
also in Java.) That's the reason the PentiumIII introduces new helper
instructions for prefetching memory and hiding memory latency. That's
also why the PowerPC based IBM boxes come with such an expensive and
fine memory subsystem. But if Java jitters do not generate code
exploiting CPU specific instructions, the value remains limited.
> I know the IBM jitter generates cpu level specific code on other platforms,
> based on the diagnostic outputs I have been asked to copy to them for
> problem determination...
Interesting. For the PowerPC line on AIX, is it?
> I don't know about the linux jit. IBM research
> may have put out some papers about jit methodology... but I doubt they
> would go into that level of detail.....
It seems unfortunate, that so little explicit material about performance
technologies is published from VM vendors. (For C/C++ compilers a lot of
material is available.)
Seems to be their proprietary knowledge, kept internal for competitive
reasons.
But even then, is is strange that I haven't come across marketing
statements like "jitter takes full advantage of CPU-xxx, where
available". Seems to indicate that VM vendors are still struggling to
get functionality and stability right, and have not yet found time to
work on important levels of optimization.
Wolfgang.
----------------------------------------------------------------------
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]