I know that Java\'s HotSpot JIT will sometimes skip JIT compiling a method if it expects the overhead of compilation to be lower than the overhead of running the method in i
It will be nice to see some trace-based JITs in the future for devices with low memory. It would mainly interpret, find hot spots, and convert those into assembler and cache those. I think this is what Google does with their Android JIT and Microsoft Research has a research project ongoing for trace-based JIT.
I found an article, SPUR: A Trace-Based JIT Compiler for CIL.. Maybe some of this will make it into the CLR one day?