harmony-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Paulex Yang <paulex.y...@gmail.com>
Subject Re: J2SE 5 Plan / Roadmap
Date Mon, 06 Mar 2006 06:38:37 GMT
Nathan Beyer wrote:

Excellent document!
> This can probably be split up into a couple pieces; here are some of my
> thoughts.
> * JLS3 bytecode support - Can the current VM load JLS3 class files? If not,
> what's missing (besides the major.minor version header)? Can some features
> be enabled/uplifted to allow APIs to move forward? Since generics are a
> compile-time feature, can code begin using generics by just allowing the
> JLS3 major.minor version? In any case, this probably breaks down into a
> couple topics: generics, annotations, enums, return-value-covariance and
> others.
So far, I am using the VM provided by IBM developerworks as test 
environment, which seems don't support classes produced by 5.0 
compatible compiler, which will throw UnsupportedClassVersionError. 
Personally I don't know how much part is missing.
> * Java 5 APIs [NEW] - Most of the brand-new APIs have been identified
> (java.lang.management, etc) and some are already being checked in. It seems
> like there's already a undocumented process here, which is to uplift and
> build any APIs to the Java 5 specification and leaving out any Java
> 5-specific language features, like generification, enums and annotations.
I think so, using of generics, enums, etc.,  can be avoid temporarily 
before we get VM support, and very similar binaries can be produced.
> * Java 5 APIs [Generfication] - Once we can allow code with generics to be
> compiled and loaded, then we could begin a phase of uplifting all of the
> newly generified APIs (Collections, etc).
Not sure if it is too risky just to mimic JLS3 class file support in VM 
by loosening the version check, because it may encourage the JSE 5 
feature overusing, and some of which(annotation, for example) will 
produce different class binaries which may make the poor VM mad.
> * Java 5 APIs [Annotations] - I suspect, but could be wrong, that
> Annotations support will be more difficult to implement in the VM, as there
> is some runtime support. When this is available, another phase can be
> initiated to uplift all of the APIs with the appropriate Annotations
> (@deprecated, @override, etc).
The class data structure has been modified to contain the annotation 
information, so I agree with you, this is more a VM  issue, another 
significant part may be the tool(APT).
> I'm not too familiar with the JAPI tool, but if Stuart can get the Harmony
> reports to run against the Java 5 specifications, I this would provide an
> enormous boost in the arena of new Java 5 APIs. Does JAPI support JLS3
> features, like generics, annotations and enum checking?
 From my experience by checking the JAPI result, at least the generics 
is supported pretty well.
> Those are some of my thoughts at least.
> BTW: JLS3 == Java Language Specification, 3rd Edition
> -Nathan
There are maybe some other class library new features which requiring VM 
support, the one I can bring to mind immediately is Instrumentation, 
which needs VM's support of JVMTI(another big new interface!)
>> -----Original Message-----
>> From: Geir Magnusson Jr [mailto:geir@pobox.com]
>> Sent: Friday, March 03, 2006 9:40 AM
>> To: harmony-dev@incubator.apache.org
>> Subject: J2SE 5 Plan / Roadmap
>> We should probably start thinking about how we'll move forward.  There
>> have been a few casual conversations, but lets start getting some things
>> down here.

Paulex Yang
China Software Development Lab

View raw message