The development of a Java VM for .NET
Inspired by Stuart's comment to yesterday's post, I decided to clean up ikvmc a little to make it possible to compile executables.
Other changes:
I've only compiled a simple Hello World type executable with ikvmc and here are some things to look out for:
Example: ikvmc -out:hello.exe -reference:bin/classpath.dll -main:Hello Hello.class
Updated the binaries and source snaphots.
Those all seem pretty trivial but from a usage standpoint there's a big difference between
ikvmc -out:hello.exe -reference:bin/classpath.dll -main:Hello hello.jar dependency.jar
and
ikvmc hello.jar
(my suggestions would make them equivalent, assuming hello.jar specifies Main-Class, and dependency.jar is either in the CLASSPATH or referenced in the Class-Path of the jar)
It is a JVM sponsored by Sun Microsystems. And the license seems to be the BSD-license.
And at the beginning, there stand: "The Tracing JVM is a modified JavaTM Virtual Machine which can be used to gather data on the behavior of Java applications. The Tracing JVM is based on a production-quality JVM in which the interpreter and object management system have been modified so that it can emit data about how objects, stacks, classes, etc., are being used in the execution of a Java application. The data are recorded in trace files which characterize selected aspects of the execution behavior. Traces can be analyzed to learn about what the application is doing, used as input to simulators of new JVM implementations, etc."
I think, it sounds, that this is a modified version of the real Sun JVM. And because its under an BSD-lixense, you can use code of the real Sun JVM. I think that's great. :-)
Remember Me
I apologize for the lameness of this, but the comment spam was driving me nuts. In order to be able to post a comment, you need to answer a simple question. Hopefully this question is easy enough not to annoy serious commenters, but hard enough to keep the spammers away.
Anti-Spam Question: What method on java.lang.System returns an object's original hashcode (i.e. the one that would be returned by java.lang.Object.hashCode() if it wasn't overridden)? (case is significant)