Question of the status of GCJ

Marco Trudel marco@mtsystems.ch
Wed Feb 18 07:48:00 GMT 2009


Dalibor Topic wrote:
> Marco Trudel wrote:
>> Andrew Haley wrote:
>>> Mike Purdy wrote:
>>>> Thank you Andrew. This is interesting.  Does the OpenJDK allow 
>>>> native compilation?
>>>
>>> No.
>>
>> But it would be possible with (relatively) less work. I have written a 
>> Java source code to Eiffel source code compiler using the OpenJDK 
>> classes for the standard library. I have mapped all Java language 
>> constructs and implemented the runtime far enough so that simple SWT 
>> applications can be compiled (kind of "proof of concept").
>> There is a good chance that I can find someone continuing the work on 
>> it the next half year. I'm hoping that it will then be usable with 
>> real applications and also for Linux/Mac.
>> If you're interested, the website is http://jaftec.origo.ethz.ch/
>>
> Thanks, Marco, that's an interesting use of the OpenJDK class library.

For those who are interested in the JENC internals, here some points 
that considerably facilitated the work I had to do (points where GCJ 
needs substantial additional effort):
- I don't need to replace any OpenJDK classes with own implementations. 
All classes (String, AWT/Swing, nio, xml, ...) can be taken directly 
from OpenJDK. So there's no danger of bringing additional bugs in and 
the quality of OpenJDK can be reused.
- The same applies for the native libraries. All except jvm.dll can be 
reused without modification (even java.dll). jvm.dll has to be 
reimplemented because it's specific to the Sun (OpenJDK) JVM. A built-in 
JNI implementation allows this reuse of the libraries.
- Since the Java classes are simply transliterated to Eiffel and Eiffel 
is also a high level programming language, stuff like exceptions and a 
garbage collector come naturally.


So, if GCJ will be redone for OpenJDK (what would be great because 
there's a big community), I hope they could also choose a similar 
approach for not needing an own implementation of classes (and therefore 
also keep the OpenJDK native libraries).


have a nice day
Marco

> cheers,
> dalibor topic



More information about the Java mailing list