[Mono-dev] Mono AOT for 64-bit Windows

voldemarz voldemarz at gmail.com
Thu Jun 27 16:52:59 UTC 2013

Thanks for input. By seasoned you mean someone who has good knowledge of Mono
internals or generally a guy with low level experience on various

I slightly modified ASM generation 
- wrapped .type and .size within .def/.endef directives
- removed local symbol emission
- removed underscore in front of global symbols 

Now I can generate AOT images and runtime seems to find all data structures
it needs. In few first runs surprisingly some simple tests worked
successfully in aot and full-aot mode - console output, simple calculations,
events, catching exceptions, allocating bunch of objects and invoking
garbage collection.

Then I regenerated AOT image of mscorlib and it doesn't work any more.
Trying to figure out issues now. In full-aot mode it crashes after a jump to
a non-executable memory region from function

The first few ops after the function prolog look like this (full function
asm  here <http://pastebin.com/GfTLeN1e>  ):
mov         rax,7FACDFD19E0h
mov         rcx,qword ptr [rbp-70h]
sub         rsp,20h
mov        qword ptr [rbp-38h],rsp
call         rax

The address loaded into rax looks very suspicios. As far I can see that
function is compiled from IL. Haven't tracked down were is it coming from?
Could someone point me to it? What is it attempting call internally?

View this message in context: http://mono.1490590.n4.nabble.com/Mono-AOT-for-64-bit-Windows-tp4659926p4660049.html
Sent from the Mono - Dev mailing list archive at Nabble.com.

More information about the Mono-devel-list mailing list