Andy Wingo's exploration of V8's Lithium interpreter [1] describes the reasoning behind the Ruby offline assembly generator.
Actually, if you're reading the original linked article, you should also be reading Andy's series on V8.
[1] http://wingolog.org/archives/2012/06/27/inside-javascriptcor...