Hi everyone, I've just checked in a JVM and a CLI for LLVM (called JnJVM and N3). Both are placed in the vmkit svn directory. You can find the source code here: svn co http://llvm.org/svn/llvm-project/vmkit/trunk vmkit Its licensed under the U of I Open Source License, so now that's in svn, you can change whatever you want, as long as HelloWorld.java and HelloWorld.cs work ;-) I haven't tested the build process on many machines, mostly on gentoo linux/x86 and linux/ppc. There are probably some dev libs that VMKit requires and the configure script does not check. A good thing would be to make the build process cleaner. The README file on root explains the few steps to run the virtual machines. I should probably say here that you currently need to patch llvm to get things working :( Let's hope this won't be true too long. Happy hacking! Nicolas PS: I won't be able to check my emails until Wednesday, so really, happy hacking! ;-)
Here's a patch that gets Mvm compiling on Darwin. --Owen -------------- next part -------------- A non-text attachment was scrubbed... Name: mvm.patch.gz Type: application/x-gzip Size: 669 bytes Desc: not available URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20080321/30544c25/attachment.bin> -------------- next part -------------- On Mar 21, 2008, at 4:52 PM, Nicolas Geoffray wrote:> Hi everyone, > > I've just checked in a JVM and a CLI for LLVM (called JnJVM and N3). > Both are placed in the vmkit svn directory. > You can find the source code here: > > svn co http://llvm.org/svn/llvm-project/vmkit/trunk vmkit > > Its licensed under the U of I Open Source License, so now that's in > svn, > you can change whatever you want, as long as HelloWorld.java and > HelloWorld.cs work ;-) > > I haven't tested the build process on many machines, mostly on gentoo > linux/x86 and linux/ppc. There are probably some dev libs that VMKit > requires and the configure script does not check. A good thing would > be > to make the build process cleaner. > > The README file on root explains the few steps to run the virtual > machines. > > I should probably say here that you currently need to patch llvm to > get > things working :( Let's hope this won't be true too long. > > Happy hacking! > > Nicolas > > PS: I won't be able to check my emails until Wednesday, so really, > happy > hacking! ;-) > _______________________________________________ > LLVM Developers mailing list > LLVMdev at cs.uiuc.edu http://llvm.cs.uiuc.edu > http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev-------------- next part -------------- A non-text attachment was scrubbed... Name: smime.p7s Type: application/pkcs7-signature Size: 2555 bytes Desc: not available URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20080321/30544c25/attachment-0001.bin>
Nicolas Geoffray wrote:> Hi everyone, > > I've just checked in a JVM and a CLI for LLVM (called JnJVM and N3). > Both are placed in the vmkit svn directory. > You can find the source code here: >Very nice!> svn co http://llvm.org/svn/llvm-project/vmkit/trunk vmkit > > Its licensed under the U of I Open Source License, so now that's in svn, > you can change whatever you want, as long as HelloWorld.java and > HelloWorld.cs work ;-) > > I haven't tested the build process on many machines, mostly on gentoo > linux/x86 and linux/ppc. There are probably some dev libs that VMKit > requires and the configure script does not check. A good thing would be > to make the build process cleaner.The code is not 64-bit clean, attached is a patch to get it compile on x86-64 Linux. I also fixed some g++-4.2 warnings (const issues, symbol visibility). The libJnJVM directory builds, but it won't run, I get endless messages like this: ; ****************************************************** ; ; SIGSEGV occured during a collection ; ; I'm trying to let the allocator in a coherent stat ; ; but the collector is DEAD and will never collect again ; ; ****************************************************** ; Probably there are more 64-bit issues to solve. Unfortunately I don't have time to look into this deeper now. Best regards, --Edwin -------------- next part -------------- A non-text attachment was scrubbed... Name: build64.patch Type: text/x-diff Size: 30879 bytes Desc: not available URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20080322/bfcc9ba2/attachment.patch>
Thanks, I am going to download now.
On Mar 22, 2008, at 3:39 AM, Török Edwin wrote:>> I haven't tested the build process on many machines, mostly on gentoo >> linux/x86 and linux/ppc. There are probably some dev libs that VMKit >> requires and the configure script does not check. A good thing >> would be >> to make the build process cleaner. > > The code is not 64-bit clean, attached is a patch to get it compile on > x86-64 Linux. > I also fixed some g++-4.2 warnings (const issues, symbol visibility). > > The libJnJVM directory builds, but it won't run, I get endless > messages > like this: > ; ****************************************************** ; > ; SIGSEGV occured during a collection ; > ; I'm trying to let the allocator in a coherent stat ; > ; but the collector is DEAD and will never collect again ; > ; ****************************************************** ; > > Probably there are more 64-bit issues to solve. Unfortunately I don't > have time to look into this deeper now. > > Best regards, > --Edwin > Index: include/mvm/Method.h > ==================================================================> --- include/mvm/Method.h (revision 48684) > +++ include/mvm/Method.h (working copy) > @@ -47,11 +47,11 @@ > > inline Method *method(Method *m, size_t nbb) { > return > - (Method *)gcset((gc **)((unsigned int)this + nbb + 4 - > sizeof(Method *)), m); > + (Method *)gcset((gc **)((size_t)this + nbb + 4 - > sizeof(Method *)), m);Instead of "size_t" and "ssize_t", it be better to use "uintptr_t" and "intptr_t" in all cases, since they were made for these situations. -bw
Owen Anderson wrote:> Here's a patch that gets Mvm compiling on Darwin.Applied! Thanks Owen. I've also modified configure.ac so that libopcodes is not used on darwin. Nicolas> > --Owen > > > > > On Mar 21, 2008, at 4:52 PM, Nicolas Geoffray wrote: > >> Hi everyone, >> >> I've just checked in a JVM and a CLI for LLVM (called JnJVM and N3). >> Both are placed in the vmkit svn directory. >> You can find the source code here: >> >> svn co http://llvm.org/svn/llvm-project/vmkit/trunk vmkit >> >> Its licensed under the U of I Open Source License, so now that's in svn, >> you can change whatever you want, as long as HelloWorld.java and >> HelloWorld.cs work ;-) >> >> I haven't tested the build process on many machines, mostly on gentoo >> linux/x86 and linux/ppc. There are probably some dev libs that VMKit >> requires and the configure script does not check. A good thing would be >> to make the build process cleaner. >> >> The README file on root explains the few steps to run the virtual >> machines. >> >> I should probably say here that you currently need to patch llvm to get >> things working :( Let's hope this won't be true too long. >> >> Happy hacking! >> >> Nicolas >> >> PS: I won't be able to check my emails until Wednesday, so really, happy >> hacking! ;-) >> _______________________________________________ >> LLVM Developers mailing list >> LLVMdev at cs.uiuc.edu http://llvm.cs.uiuc.edu >> http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev > > ------------------------------------------------------------------------ > > _______________________________________________ > LLVM Developers mailing list > LLVMdev at cs.uiuc.edu http://llvm.cs.uiuc.edu > http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev >
Very nice Torok! I applied most of the patch. A few comments: 1) What is your jni.h file? I can't compile the Jni.cpp file with your changes. 2) ISO C++ does not support %jd. x86_64 does not know about %lld? Thanks! Nicolas Török Edwin wrote:> Nicolas Geoffray wrote: > >> Hi everyone, >> >> I've just checked in a JVM and a CLI for LLVM (called JnJVM and N3). >> Both are placed in the vmkit svn directory. >> You can find the source code here: >> >> > > Very nice! > >> svn co http://llvm.org/svn/llvm-project/vmkit/trunk vmkit >> >> Its licensed under the U of I Open Source License, so now that's in svn, >> you can change whatever you want, as long as HelloWorld.java and >> HelloWorld.cs work ;-) >> >> I haven't tested the build process on many machines, mostly on gentoo >> linux/x86 and linux/ppc. There are probably some dev libs that VMKit >> requires and the configure script does not check. A good thing would be >> to make the build process cleaner. >> > > The code is not 64-bit clean, attached is a patch to get it compile on > x86-64 Linux. > I also fixed some g++-4.2 warnings (const issues, symbol visibility). > > The libJnJVM directory builds, but it won't run, I get endless messages > like this: > ; ****************************************************** ; > ; SIGSEGV occured during a collection ; > ; I'm trying to let the allocator in a coherent stat ; > ; but the collector is DEAD and will never collect again ; > ; ****************************************************** ; > > Probably there are more 64-bit issues to solve. Unfortunately I don't > have time to look into this deeper now. > > Best regards, > --Edwin > ------------------------------------------------------------------------ > > This body part will be downloaded on demand.
On Friday 21 March 2008 21:52:32 Nicolas Geoffray wrote:> Hi everyone, > > I've just checked in a JVM and a CLI for LLVM (called JnJVM and N3). > Both are placed in the vmkit svn directory. > You can find the source code here: > > svn co http://llvm.org/svn/llvm-project/vmkit/trunk vmkitThis looks really exciting but I'm having trouble finding information about this project. Is there documentation? I am particularly interested in the GC... -- Dr Jon D Harrop, Flying Frog Consultancy Ltd. http://www.ffconsultancy.com/products/?e
Hi Jon, Jon Harrop wrote:> On Friday 21 March 2008 21:52:32 Nicolas Geoffray wrote: > >> Hi everyone, >> >> I've just checked in a JVM and a CLI for LLVM (called JnJVM and N3). >> Both are placed in the vmkit svn directory. >> You can find the source code here: >> >> svn co http://llvm.org/svn/llvm-project/vmkit/trunk vmkit >> > > This looks really exciting but I'm having trouble finding information about > this project. Is there documentation? I am particularly interested in the > GC... > >You can find an overview of the project here: http://pagesperso-systeme.lip6.fr/Gael.Thomas/papers/spe-thomas-java-flexibility.pdf And if you speak french, a detailed description of the GC http://pagesperso-systeme.lip6.fr/Gael.Thomas/papers/these-gael.thomas.pdf Note that things have changed since, and the vms are developped in C++ using LLVM (instead of Lisp using VPU) Nicolas