[Mono-dev] Mono runs out of trampolines in FullAOT-mode

Martin Däumler mdae at cs.tu-chemnitz.de
Thu Jan 12 11:18:26 UTC 2012


I tested Mono- on Linux/x86. In my test program [1],
there is an interface defining 1000 methods. This interface
is implemented by two classes. When running the program, one
of these two class is chosen and the 1000 methods are called
through the interface. All works fine in JIT- and AOT mode.
In FullAOT-mode, however, Mono aborts with

"Ran out of trampolines of type 0 in '/usr/local/lib/mono 
/2.0/mscorlib.dll' (1024)"

during initialization of a Vtable. There is a reason for that
limitation (if it is one) of trampolines in FullAOT-mode?
Does the Vtable contain method-specific trampolines in
FullAOT-mode? IIRC, in JIT mode the Vtable-trampolines are
generic and the Magic Trampoline determines the method to
be called by the Vtable-slot it was called from. How does
this work in (Full-)AOT-mode?

With kind regards,
Martin Däumler

[1] http://www-user.tu-chemnitz.de/~mdae/1000MethodsInterface2.cs

More information about the Mono-devel-list mailing list