MVM (Was: AttachCurrentThread Crash)

Shai Almog shai.almog at
Thu Aug 9 09:45:34 PDT 2007


Downloaded it myself ;-)
And while the theory is somewhat amusing the real reasons Sun didn't
go with MVM are:

1. At the time desktop Java wasn't emphasized and MVM was perceived
(incorrectly) as desktop oriented (as opposed to server technology).

2. It required rewriting AWT - Since Java2D was rewritten anyway to
use a separate thread for the rendering pipeline and AWT can be
rewritten on Swing this is no longer a problem.

3. It was a research project with very little political movers in Sun.
To get something done at Sun you need someone in management pushing
the idea (not an employee of Sun myself but I do lots of contracting
for Sun).

4. There were many complexities especially in getting process level
stability when invoking JNI code. This is possible by spawning a
process for native code but this is hard to do in Windows and current
code only works for Solaris Sparc.

5. Due to the above minor user experience issues start cropping up
such as processes appearing correctly in the task manager and dying
properly when killed...

All of these are solvable in the long run and with current changes to
AWT they are the exact direction for the VM. Problem is that there is
no one within Sun that is pushing for this, I would love to do it
myself and downloaded the code in the past but I'm just WAY too busy
so unless someone wants to sponsor my work... well ;-)

Shai Almog

More information about the hotspot-dev mailing list