JIT review paper
I am compiling links and notes to papers about JIT bytecode techniques. Eventually, this collection will become a full-fledged review paper.
Tracing JIT compilers
http://lambda-the-ultimate.org/node/3851#comment-57761
Good discussion and links here. Highlights: LuaJit, Dynamo
Mozilla JagerMonkey
http://hacks.mozilla.org/2010/03/a-quick-note-on-javascript-engine-components/
Interesting hybrid approach.
Equality Saturation
http://lambda-the-ultimate.org/node/3220
Not extremely JIT related, but interesting nonetheless. Instead of applying peephole optimizations, a model is constructed which represents all programs which do the same thing as the input. Then the problem is treated as an actual comb.opt problem and the answer is searched/solved for.
Dynamo
http://arstechnica.com/reviews/1q00/dynamo/dynamo-1.html
Dynamo is a JIT translator from a native code to itself, optimizing in the process. Most gains are probably from turning complicated control flow into straight-line code. Transmeta Crusoe was a hardware-accelerated version of a similar concept.