The IBM VM does work "as is" with the class library; that's what I use to do all my development and testing at least.
I agree with your sentiment to have a stable VM interface, which is why I wanted to bring it up. I wanted to verify that special care needs to be taken with the kernel APIs. -Nathan -----Original Message----- From: Etienne Gagnon [mailto:[EMAIL PROTECTED] Sent: Friday, March 31, 2006 7:14 PM To: [email protected] Subject: Re: [classlib] splitting kernel in two 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/ --------------------------------------------------------------------- Terms of use : http://incubator.apache.org/harmony/mailing.html To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
