On Jun 6, 2005, at 2:29 PM, Sven de Marothy wrote:
Hi,
Ok, the amount of confusion going on is just amazing.
I'll try to recapitulate what the actual situation and actual issues
are.
It is of course impossible to implement a java class library
completely
independently of the Virtual Machine. The VM must be able to provide
certain basic, core things.
Sun has not documented how their VM works with rt.jar. Therefore it is
not possible to develop a Sun class library-compatible VM in a
clean-room fashion.
Not *now*, but Harmony has the potential to be a long-running, far-
reaching project, and our interest from the beginning is to have Sun
involved. So it's not unthinkable to assume that Sun might be
interested in participating at some point in the future.
That doesn't mean we'll hold things up waiting, but we also can't
assume that they'll never be interested.
[SNIP]
The only real issues raised so far (that I've seen), are the
following:
1) GNU Classpath's VM interface doesn't include things necessary for
J2SE 5.
(My take on it: There is no VM which needs them yet.)
But you absolutely know we will.
2) GNU Classpath's VM interface uses language protection such as
package-privacy to hide the VM classes.
(My take on it: Why is that a problem?)
You are misrepresenting the problem. it's not that it's language
protection, but that you extend java.lang namespace and are hoping
that you don't get tromped by the spec at some point in the future.
(Nor is it clear that it's good citizenship working in that namespace
as well...)
3) If Harmony commits itself to using the Classpath VM interface, it
won't be able to use other class libraries.
(My take on it: The alternative being one with an undocumented
proprietary VM interface, and .. well, what else?)
We want to be able to choose class library implementations. We want
to work with GNU Classpath now, and work out an independent interface
that starts w/ GNU CLasspath, is supported [enthusiastically] by GNU
Classpath, and one that we can evolve together with GNU Classpath.
But just as GNU Classpath thought it wise to keep the door open for
multiple VM implementations, we are trying to do the same for mutiple
class library implementations.
geir
/Sven
[1] http://www.gnu.org/software/classpath/docs/vmintegration.html
[2]
http://savannah.gnu.org/cgi-bin/viewcvs/classpath/classpath/vm/
reference/java/
[3] Apparently I was wrong about this previously, David Grove
corrected
me. JikesRVM does use the Classpath VM interface.
--
Geir Magnusson Jr +1-203-665-6437
[EMAIL PROTECTED]