[Mono-list] Combining JIT and interpreter

Jonathan Chambers joncham at gmail.com
Tue Mar 6 10:16:37 EST 2007


I added some updates to two of the tasks below.

On 3/6/07, Miguel de Icaza <miguel at novell.com> wrote:
>
> Hello,
>
> > Any suggestions as to what these other things could be ?
>
> Here are some:
>
>         * Implement generic code sharing (this is when the compiler
>           detects that the generated code for two different
>           instantiations of a generic method would have the same
>           code).
>
>         * Precompilation (AOT) support for new platforms.
>
>         * Win64 port.


This is underway. There are a few issues.

* First, the runtime will need to be built with MSVC as gcc (and the rest of
the cygwin toolchain) is not ported to Win64. This means we can either drive
MSVC using the current autotools/cygwin build process, or just use VS to
build runtime. Right now, it looks much easier to just use VS so this is the
approach I am taking. I'll setup some scripts to copy files to correct
location after build so that mcs tree can be built using the MSVC built
runtime.

* As for actually porting runtime code, a few tasks I can think of or
started include generally cleaning up the vcproj files, fixing any
trucations if they exist (sizeof(long) == 4 on Win64), removing inline
assembly (64-bit MSVC does not support this), modifying the JIT to handle
the Win64 calling convention (there is only one AFAIK).

* The other big task is making sure all the dependent libraries, mainly
libgc and glib, exist on Win64. I started working on libgc (the newer
releases ship with vcproj files), but I think little work has been done in
this area. For glib, there is a currently active thread on the gtk mailing
list right now where someone else is building glib on Win64 so I'm hoping
this is done by the time I need it.


        * Complete the Mono verifier (we have tests that are failing
>           in the verifier directory).
>
>         * Add XPCOM or UNO support to Mono in addition to the current
>           Mainsoft COM support (coordinate with Jonathan Chambers).


* XPCOM support should be very trivial to add, at least on Win/Linux
x86/x86-64 platforms. Mainly, it just needs someone interested in this to
try it and report any problems. I spent a few hours last weekend to see if I
could use the COM Interop infrastructure to traverse the Mozilla DOM and I
could. The main issues are where XPCOM differs from MS COM, like strings and
the actual component creation mechanism.


There are other tasks here:
>
>         http://www.mono-project.com/Todo
>
> And here:
>
>         http://www.mono-project.com/StudentProjects
>
> Miguel.
>
> > Thanks,
> > -Aram
> >
> > On Mar 5, 2007, at 5:05 PM, Miguel de Icaza wrote:
> >
> > >
> > >> I am trying to modify Mono to have the interpreter and JIT compiler
> > >> run at the same time. The idea is to have some parts interpreted
> > >> while others compiled. Does mono already do this ? Are there
> > >> mechanisms in place for this ?
> > >
> > > It does not do it.
> > >
> > > There is no mechanism to do it.
> > >
> > > This seems like a lot of work, there might be better things to do that
> > > would give you better bang for your buck though.
> > >
> > > Miguel.
> >
> > _______________________________________________
> > Mono-list maillist  -  Mono-list at lists.ximian.com
> > http://lists.ximian.com/mailman/listinfo/mono-list
> _______________________________________________
> Mono-list maillist  -  Mono-list at lists.ximian.com
> http://lists.ximian.com/mailman/listinfo/mono-list
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.ximian.com/pipermail/mono-list/attachments/20070306/9e084ea0/attachment.html 


More information about the Mono-list mailing list