After hacking MOSA two days again and trying to figure out what I was thinking way back, here’s one of the first runs with generic types:
mini:Bin Michael$ mono --debug mosacl.exe -o MQT.exe --Architecture=x86 --format=PE Mosa.QuickTest.exe
MOSA AOT Compiler, Version 0.6 'Tanigawa'
Copyright 2009 by the MOSA Project. Licensed under the New BSD License.
Copyright 2008 by Novell. NDesk.Options is released under the MIT/X11 license.
Output file: MQT.exe
Input file(s): /Users/Michael/Projects/MOSA/MOSA-Project/Bin/Mosa.QuickTest.exe
Binary format: Portable Executable File Linker
Boot format: Not bootable
Is executable: True
Scheduling type Mosa.QuickTest.App for compilation.
Compiling type Mosa.QuickTest.App
Compiling method Main
Scheduling type System.Collections.Generic.List`1<System.Int32> for compilation.
Scheduling type Mosa.QuickTest.Generic`1<System.String> for compilation.
Compiling type System.Collections.Generic.List`1<System.Int32>
Compiling method .ctor
Unfortunately this is as far as it gets right now, but I’m sure I’ll find the reason for this soon.
I had to rewrite a whole bunch of stuff to get this far, including the way types are scheduled for compilation by mosacl. Surprising is that generics can be AOT’d under certain circumstances.