harmony-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Etienne Gagnon <egag...@sablevm.org>
Subject Re: [classlib] splitting kernel in two
Date Sat, 01 Apr 2006 01:14:15 GMT
Hi Nathan,

Not sure what others think...  Personally, I would highly recommend
being very careful before (or when?) changing kernel classes, as
changing them could lead to a very unstable VM interface if care isn't
put into preserving stability.  An unstable VMI is not something I would
like to live with, as a VM developer.

Unless I am wrong, IBM's VM works with the current class library "as is"
(can somebody confirm/infirm this?).  It would be sad if Harmony stopped
working with IBM's VM, at least until it also worked with an open source VM.

I am currently working with a student to get SableVM working with
Harmony's VMI and kernel classes.  We're just starting, and I have a
busy schedule, so it would be difficult if the VMI kept changing under
our feet over the next weeks (couple of months?)...  Of course, we could
try to get SableVM to work with a fixed "historic" Harmony version, but
it would be nicer to get it working with the head revision in svn.

Now, this being said, if all you want is simply to add additional
constructors/methods, or make changes that do not impact the VM, such as
adding "erasable" parametric types which result in fully binary
compatible class files, then I have nothing to say about it. ;-)

Just an opinion, of course.

Have fun!

Etienne

Nathan Beyer wrote:
> No concerns here, but I do have a somewhat related question. What's the
> prescribed development model around the Java code in the kernel? For
> example, there are some additionally methods and constructors that were
> added to String in Java 5 (e.g. code point methods, StringBuilder
> constructor, etc) that I was thinking about addressing. Would I just make
> updates against the kernel module, just like any other module? What about
> the test cases?
> 
> Assuming that's somewhat correct, if my understanding of the "vm-specific"
> concepts is correct, then there's no guarantee that any of the kernel-stub
> code is used, right? Put another way, can a VM just completely implement the
> kernel classes itself?
> 
> One of the reasons I ask is because of some of the kernel classes, like
> String, have package-private (default) scoped methods that are used in LUNI
> by other java.lang classes.
> 
> If this is a RTFM question, then feel free to point me back to the VMI
> documents with a scolding.

-- 
Etienne M. Gagnon, Ph.D.            http://www.info2.uqam.ca/~egagnon/
SableVM:                                       http://www.sablevm.org/
SableCC:                                       http://www.sablecc.org/

Mime
View raw message