Hi Joshua,<div><br></div><div>VMKit should be a perfect fit for your purposes. VMKit can take Java classes and generate a dynamic library or an executable with it. Currently, it only works on Linux/x86.</div><div><br></div>
<div>You will probably need to change the VMKit specific runtime functions (eg for things like synchronization, exception throwing, object allocations, etc) with Avian runtime functions.</div><div><br></div><div>Nicolas<br>
<br><div class="gmail_quote">On Fri, Jul 16, 2010 at 11:53 PM, Joshua Warner <span dir="ltr"><<a href="mailto:joshuawarner32@gmail.com">joshuawarner32@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
Hi Minas,<br><br>Thanks!  I wasn't aware that VMKit had the ability to generate llvm code from .class / .jar files - I thought all of its code-generation capabilities were very closely tied to the VM itself.  I'll look into this.<br>

<br>The motivation behind this project is to be able to get both the small size and fast startup times of Avian, along with the speed of llvm-generated code.<br><br>Currently, to do aot compilation, Avian runs its (completely non-optimizing, but blazingly fast) JIT over all the methods in the selected classpath, and stores these methods in a bootimage, which it links statically with the main Avian executable.  All I want to do is use the llvm code generation in place of the Avian JIT when making this aot-compiled boot image.<br>

<br>Regards,<br><font color="#888888">Joshua</font><div><div></div><div class="h5"><br><br><div class="gmail_quote">On Fri, Jul 16, 2010 at 1:59 PM, Minas Abrahamyan <span dir="ltr"><<a href="mailto:minas.subs@gmail.com" target="_blank">minas.subs@gmail.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0pt 0pt 0pt 0.8ex;border-left:1px solid rgb(204, 204, 204);padding-left:1ex">
Hi Joshua,<br>
<div><br>
> I'm trying to use the Java front-end (which, based on svn commits, appears<br>
> to be three-years-dead),<br>
</div><div>> I'm trying to use llvm as a replacement aot compiler<br>
<br>
</div>I'm not acquainted with the Avian JVM, but<br>
haven't  you considered using VMkit llvm project, it contains<br>
.class/.jar to llvm compiler, also JIT compiler(native code compiler)<br>
and aot compiler.<br>
And it's not three years-old<br>
<br>
Regards,<br>
<font color="#888888">Minas<br>
</font><div><div></div><div><br>
<br>
On Fri, Jul 16, 2010 at 9:41 PM, Joshua Warner <<a href="mailto:joshuawarner32@gmail.com" target="_blank">joshuawarner32@gmail.com</a>> wrote:<br>
> Hi,<br>
><br>
> I'm trying to use the Java front-end (which, based on svn commits, appears<br>
> to be three-years-dead), and I'm running into some build errors.  In that<br>
> time did llvm change from building with exception handling and rtti to<br>
> building without?<br>
><br>
> I remember reading somewhere that llvm code should use dyn_cast instead of<br>
> dynamic_cast.  Do these need to be changed here?<br>
><br>
> A little background:<br>
> I'm trying to use llvm as a replacement aot compiler for the Avian JVM (see<br>
> <a href="http://oss.readytalk.com" target="_blank">oss.readytalk.com</a>).  I figured I may be able to complete the java front end,<br>
> and sufficiently parameterize it to be used with Avian (which will<br>
> essentially just provide runtime services like GC and exception handling).<br>
><br>
> Sincerely,<br>
> Joshua<br>
</div></div></blockquote></div><br>
</div></div><br>_______________________________________________<br>
LLVM Developers mailing list<br>
<a href="mailto:LLVMdev@cs.uiuc.edu">LLVMdev@cs.uiuc.edu</a>         <a href="http://llvm.cs.uiuc.edu" target="_blank">http://llvm.cs.uiuc.edu</a><br>
<a href="http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev" target="_blank">http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev</a><br>
<br></blockquote></div><br></div>