> >> > I'm confused. Mono supports either their own CLR style AOT+JIT, or static > LLVM (though they use their own GC, not LLVMs). Their own AOT+JIT could be > improved for sure. However, by my read it is an open source AOT > optimization infrastructure. What am I not seeing? >
full AOT requires no interface calls making it pretty useless for real programs. Full AOT works much better ( as in reliable with less limitations) with the mono JIT then LLVM . Normal use of LLVM is a JIT ! When you use a virt call it uses the mono jit which then calls non virt methods compiled by LLVM which are probable just added to the jit heap ( this is a mess and misses a huge amount of opt but it does allow mono to do ok on micro benches .) , note when you run a mono LLVM program you have a large startup wait , as it compiles it when you start the program. .. I would say a very small percentage of real aps use LLVM with mono and even fewer would use it as an AOT so prepare for pain . http://www.mono-project.com/Mono:Runtime:Documentation:LLVM#AOT_Support Ben
_______________________________________________ bitc-dev mailing list [email protected] http://www.coyotos.org/mailman/listinfo/bitc-dev
