Mark Brooks wrote:
Investigation is fine enough, but let's face facts. This is a HUGE
project.
We do NOT have the time or manpower to write two VMs as part of a
project where we need a working J2SE 5 implementation, from basement
to TV aerial so to speak, and we need it in time to be relevant. Even
with donated code, it won't work to do VMs in parallel.
I think it would be insane to develop multiple VMs in parallel.
Fortunately, I don't think anyone is proposing that.
The seeding model I have pushed would only have multiple VMs on the
table during the seeding process. That is something I envisage would
take three to nine months. During that time the community will have the
opportunity to engage with the projects and gain much needed experience
and insight into how a real VM is built. Concurrently new cores would
be architected and built. The VM cores are small but they are the
centerpiece and getting them right is critical. Therefore, as far as
the cores go, I am much less concerned about person power than I am
about informed design decisions. The bulk of the work is going to be in
achieving completeness, improving packaging, fixing known shortcomings,
smoothing corners etc etc.
With a strong component based model, different configurations could be
built for different purposes. This is not a radical idea nor is it
rocket science---we already do it in Jikes RVM (you choose your compiler
and your GC ahead of time and tailor the VM accordingly). I am sure
other VMs do this as well. If we're going to try to cover the desktop,
servers and embedded devices, then reuse is going to be key.
--Steve