harmony-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Dave" <D...@janetdev.org>
Subject Re: [general] Ja.NET SE OSS Project
Date Wed, 03 Dec 2008 13:07:26 GMT
Hi Xiao-Feng,
Yes, the compiler generates .NET CLR byte code.  Of course it is still also 
able to generate java byte code as well.

A Ja.NET SE distribution includes both the Harmony JVM(i.e. DRLVM) as well 
as a Ja.NET SE VM adapter that I have developed.  The adapter is a small 
layer that sits between the compiled .NET version of the class libraries 
and the .NET CLR/Framework.  It deals with the differences between the two 
runtimes. Using options to the Harmony Java launcher you pick what VM 
(DRLVM or CLR) you want started.  By default, with a Ja.NET SE 
distribution, the default VM loaded is the Ja.NET VM adapter/CLR instead of 
the DRLVM.  You can still load the DRLVM by simply invoking the launcher 
with: "java -vmdir:drlvm .....".   

When compiling code, the Ja.NET SE compiler, by default, will generate CLR 
CIL in PE files (i.e. .NET Assemblies), instead of Java .class files.  I 
provide a tool called "bam", that can then be used to "jar" up the created 
assemblies into a larger unit (i.e .NET Assembly), for improved performance 
when running on .NET. The assemblies/.NET Types generated by javac/bam are 
the fully compatible with the rest of .NET, so you are able to incorporate 
them with other .NET languages (e.g. C#, VB.NET, etc.) as needed.  So for 
example, in a C# application you are able to add a reference to 
"janet.luni.dll" (i.e. Harmony LUNI module compiled to a .NET assembly) and 
use the types in the assembly (e.g. "java.lang.System.out.println("Hello 
World!")) as you would expect.  And of course the reverse of that is true. 
That is, in Java you are able to easily reference .NET types in other 
assemblies, created by other languages, by simply including the assemblies 
on the classpath to the compiler, and then referencing them in Java as you 
normally would. As I mentioned earlier, Ja.NET SE compiler is still capable 
of generating Java byte code instead of .NET CIL. You must invoke it with 
the "-java" option:   "javac -java  a/b/c.java", and then you can run the 
output on the DRLVM by: "java -vmdir:drlvm a.b.c".

I'll add some more details on my website to better clarify what technology 
approach I've taken!.... Thanks!

Again, thanks for all your hard work... 

-Dave

----------------------------------------

From: "Xiao-Feng Li" <xiaofeng.li@gmail.com>
Sent: Tuesday, December 02, 2008 6:29 PM
To: dev@harmony.apache.org, Dave@janetdev.org
Subject: Re: [general] Ja.NET SE OSS Project 

On Wed, Dec 3, 2008 at 2:35 AM, Dave wrote:
> Hi All,
> I just wanted to take a minute and bring your attention to an OSS 
project,
> based on Harmony, I recently started .... Ja.NET (www.janetdev.org).
>
> I am building a Java 5 JDK for .NET (i.e. Ja.NET SE), and I am using
> Harmony, along with other open source software (e.g. Eclipse compiler,
> Mono, etc.) as the basis for the work. The goal of the project is to
> create the development tools and libraries that will enable Java to 
become
> a "first class" development and runtime environment for .NET. The Ja.NET 
SE
> JDK project is the first thing I have kicked off. The hope is, at some
> point in the "very near future", :-), the Ja.NET SE JDK will give
> developers all the Java development tools they need to develop software 
in
> Java for the .NET platform. For example, the Java development tools 
would
> enable someone to take existing Java source code (e.g. Ant, Xerces,
> Eclipse, etc.) and easily build it, enhance it with new .NET specific
> features, integrate it with other .NET code and libraries (e.g. C#, 
VB.NET,
> WPF, etc.), and then ultimately use/run it on .NET.

This is cool!

Dave, what's the technology approach you are taking for Ja.NET JDK?
Does it compile Java code into CLR bytecode running on Mono? I can't
find any document in your website about it.

Thanks,
xiaofeng

> I'm making pretty good progress THANKS TO YOU and the great work you 
have
> done in building Harmony. Without your effort, I'd be a long way from 
where
> I am today! So here is a big THANK YOU for all your hard work and
> dedication to open source Java.
>
> I look forward to working with you where/when it makes sense, and hope 
that
> I can contribute in some small way to the success of Harmony in the
> future....
>
> Best regards,
>
> -Dave
>

-- 
http://xiao-feng.blogspot.com

 

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message