>
>>
> 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

Reply via email to