harmony-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Tim Ellison <t.p.elli...@gmail.com>
Subject Re: [classlib] splitting kernel in two
Date Sun, 02 Apr 2006 20:10:37 GMT
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?

Nathan, it is fair enough to make updates to the 'reference' code
currently held in the kernel stubs, but the VM interface proper
comprises VM-provided implementations of these kernel types, so it is
ultimately the responsibility of the VM to get these right.

We can, and should, write unit test that exercise the kernel classes to
ensure that classlib and the VM agree on the specified behavior.  Kernel
classes are part of LUNI and SECURITY modules.

> 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?

yes, VM's can just completely implement the kernel classes, or start
from our kernel stubs (modulo licenses etc.)

> 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.

We recently agreed that String should be pulled out of kernel into the
LUNI module.  String is a critical class for VM implementation and
performance so we won't modify its shape arbitrarily, but there is also
a large amount of behavior in String that should rightly be shared
across all VMs.

> If this is a RTFM question, then feel free to point me back to the VMI
> documents with a scolding.

Not at all -- it is a good question.

Regards,
Tim

> Thanks.
> -Nathan
> 
>> -----Original Message-----
>> From: Tim Ellison [mailto:t.p.ellison@gmail.com]
>> Sent: Friday, March 31, 2006 7:33 AM
>> To: harmony-dev
>> Subject: [classlib] splitting kernel in two
>>
>> FYI:  To accurately reflect the modularity of the classlib code I'm
>> about to split the kernel-stubs.jar into two separate pieces that
>> represent the 'vm-specific' parts of luni.jar and security.jar.  This
>> means that luni and security are no longer artificially coupled by a
>> single kernel.
>>
>> Regards,
>> Tim
>>
>> --
>>
>> Tim Ellison (t.p.ellison@gmail.com)
>> IBM Java technology centre, UK.
> 
> 
> ---------------------------------------------------------------------
> Terms of use : http://incubator.apache.org/harmony/mailing.html
> To unsubscribe, e-mail: harmony-dev-unsubscribe@incubator.apache.org
> For additional commands, e-mail: harmony-dev-help@incubator.apache.org
> 
> 

-- 

Tim Ellison (t.p.ellison@gmail.com)
IBM Java technology centre, UK.

---------------------------------------------------------------------
Terms of use : http://incubator.apache.org/harmony/mailing.html
To unsubscribe, e-mail: harmony-dev-unsubscribe@incubator.apache.org
For additional commands, e-mail: harmony-dev-help@incubator.apache.org


Mime
View raw message