[Mono-list] Mono AOT Mode - Limitations

Rodrigo Kumpera kumpera at gmail.com
Tue Dec 16 15:34:09 EST 2008

Hi Gluber,

On Mon, Dec 15, 2008 at 6:48 PM, Gluber <bernhardglueck at bluelogic.at> wrote:

> Hi there !
> After the recent superb talk by miguel at PDC about Mono/AOT and the
> (secret) work they have done on certain Game Console Platforms i decided to
> prototype a fully Managed Game Engine. ( At my day job we do this kind in
> native C++ of course )
> I am now thinking about the features of the .NET platform i can actually
> use
> to make sure I support full Mono AOT for possible console compilation
> lateron.
> Forbidden for sure:
> * Dynamic Code Generation
> ( Reflection.Emit, CSharp CodeDOM Compiler, XmlSerializer, WCF Proxies, AOP
> etc.. all )
> * Expression Trees that are executed ( since Expression.Compile generates
> code at runtime of course )
> * Some Advanced class library parst ( WCF,WPF, etc don't make sense for a
> console game anyhow )
> * No dynamic (file based ) loading of assemblies

You can dynamically load other full-AOT'd assemblies without problem.
Other things that currently don't work under full AOT are app domains and
transparent proxies.

> Questionable areas:
> * Reflection ( especially calling methods via MethodInfo etc )
> Could anyone confirm or deny my suspicions ?

AFAIK dynamic invoke doesn't work under full-aot, but better ask Zoltan
about that. You can always
You can partially workaround this by using delegates.

You cannot safely use Type:MakeGenericType and MethodInfo:MakeGenericMethod
as the new instances might require
inflated code not aot'ed.

> It would also be interesting to know how the garbage collector works in
> full
> AOT mode..

Work as usual, nothing special about it.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.ximian.com/pipermail/mono-list/attachments/20081216/5a1006b0/attachment.html 

More information about the Mono-list mailing list