[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
platforms/architectures?
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
wrapper_managed_to_native_object___icall_wrapper_mono_object_new_ptrfree_box_intptr
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