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
IBM



Mime
View raw message