Hi Will,<br><br><div class="gmail_quote">On Mon, Aug 15, 2011 at 4:17 AM, Will Dietz <span dir="ltr"><<a href="mailto:willdtz@gmail.com" target="_blank">willdtz@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 Nicolas,<br>
<br>
Reviving old thread of sorts... thank you very much for your earlier<br>
response--I apologize for not responding to tell you how very helpful<br>
your information was!  Didn't come back because you gave me everything<br>
I needed at the time :).<br></blockquote><div><br></div><div>Great!</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<br>
Anyway:<br>
<div><br>
On Fri, May 13, 2011 at 2:00 PM, nicolas geoffray<br>
<<a href="mailto:nicolas.geoffray@gmail.com" target="_blank">nicolas.geoffray@gmail.com</a>> wrote:<br>
> On Fri, May 13, 2011 at 7:30 PM, Will Dietz <<a href="mailto:willdtz@gmail.com" target="_blank">willdtz@gmail.com</a>> wrote:<br>
</div><div>> Today you can use both. I haven't improved vmkit much lately, so version 2.9<br>
> and TOT are pretty much the same.<br>
<br>
</div>Looking at the vmkit-commits mailing list, seems like you've<br>
changed/are changing a lot.<br>
<br></blockquote><div><br></div><div>Yes. A few things I wanted to implement but didn't have the time before.</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">

Is ToT generally stable enough for use in my projects, or should I<br>
wait for a release?<br></blockquote><div><br></div><div>It should be stable enough. </div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div><br>
>><br>
>> --What features of Java does VMKit support? Is there a corresponding<br>
>> java 'version' (1.4, 1.6, etc) that VMKit supports? (Is this<br>
>> documented somewhere? I was unable to find it)<br>
><br>
> It implements the VM spec version 2 (+ some features of version 3 which is<br>
> still unofficial). It uses  GNU Classpath for the base library, so the java<br>
> version you're mentioning will be the one implemented in GNU Classpath, and<br>
> that is 1.6 (with still some unimplemented feature of 1.6). But vmkit does<br>
> not to have to be tight to a base library implementation. An interesting<br>
> project to work on would be to support the OpenJDK library.<br>
<br>
</div>Supporting OpenJDK is very interesting indeed, as full 1.6 support is<br>
important to us.  How intense of a project would undertaking this be?<br>
And is this something you could semi-mentor on if I were to undertake<br>
it? :).<br></blockquote><div><br></div><div>Yes, no problem. I'd be happy to help in any way if you were to implement it. And I'd *really* want this to happen. GNU Classpath is not evolving anymore, and still has some compatibilities/performance problems.</div>
<div><br></div><div>I don't know how decoupled from the runtime the OpenJDK libraries are, but on the VMKit front, it should not be too hard to replace GNU Classpath's requirements with OpenJDK's. You just need to be really familiar with OpenJDK on how the boot system works.</div>
<div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Not sure if we'll go in this direction, but if we are to continue to<br>
use VMKit I think we'll have to do so.<br>
<div><br>
>><br>
>> And since I'm feeling lucky: What's the status of VMKit? Is it still<br>
>> able to run tomcat, and the dacapo benchmarks (on x86 anyway)?<br>
>><br>
><br>
> Yes, it works well on a x86 machine (x64 is not supported by the GC). And it<br>
> is able to run tomcat and some of the dacapo benchmarks. There are some<br>
> applications and dacapo benchmarks that don't work because of GNU Classpath<br>
> being incomplete. Another reason to try to support the OpenJDK library<br>
>><br>
<br>
</div>Agreed, understood, and great news.  Especially if using OpenJDK isn't<br>
an impossible undertaking :).<br>
<br>
Regarding the lack of 64bit support, are there GC's that support 64bit<br>
that might be worth looking into?<br></blockquote><div><br></div><div>Maybe. MMTk has the advantage that's is very generic and wasn't too difficult to plug into vmkit (well except the fact that it was written in Java - but that looked more like a technical challenge).</div>
<div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<br>
Technically I'm not sure we need a 64bit JVM, but our tools are 64bit<br>
and would be ideally be integrated into the runtime...<br>
<br></blockquote><div><br></div><div>I should re-check about the state of MMTk then. From what I remember it could not handle 64bits, but the latest version might.</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">

That brings me to my last question, a new one!<br>
<br>
Is it still possible to AOT code?  I'm planning on doing (potentially<br>
rather expensive) static analysis on the IR form of Java code, as well<br>
as being worried about performance issues with using a JIT (especially<br>
since the LLVM JIT AFAIK doesn't do any kind of adaptive<br>
optimizations, etc, seems static compilation should always result in<br>
faster code...).<br></blockquote><div><br></div><div>Yes, that's still possible, although you cannot load that application-compiled AOT code in VMKit anymore. </div><div><br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">

<br>
Any thoughts you can share on that (there's a precompiler now, is that<br>
a partial AOT?) would be greatly appreciated.<br></blockquote><div><br></div><div>The precompiler is for the bootstrap classes (the ones in the core library). It compiles the stuff (eg the whole bootstrap process of the JVM) that are needed for faster startup of the JVM and includes it in the JVM. </div>
<div><br></div><div>I disabled support for application-compiled code because I wasn't using it, and it was broken anyways for precise GC. If there is need for it, I think it should be easy to put it back.</div><div><br>
</div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<br>
>> Thanks for your time,<br>
<br>
Let me take this opportunity to re-thank you for your efforts and any<br>
insights you can offer.<br>
<br>
Thanks, and have a good one!<br>
<font color="#888888"><br></font></blockquote><div><br></div><div>Thanks! And hope what I just replied helps!</div><div><br></div><div>Cheers,</div><div>Nicolas</div><div>  </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<font color="#888888">
~Will<br>
</font></blockquote></div><br>