The best I've heard of is approaching 50% native speed on benchmarks, but losing by a factor of 4 in real-world calculation-intensive apps. Langs on a JIT VM have been matching business app (network & DB bound) performance for over a decade already.
I think the technology is probably that old; it seems to take industry 30 years or so before they are willing to look at relevant research ;)
Anyway, the LLVM and JVM are good examples of JIT optimization. Tracemonkey also has some good ideas, and GHC and SBCL's VMs also show how to write static compilers that do better than C. (LLVM is interesting in that it compiles C to run on the VM, and this C does better than gcc's statically-compiled C. When C is faster than C, it kind of calls into question the validity of the "faster than C" criterion ;)