Exupery is a compiler written in Smalltalk that compiles bytecodes to machine code.
Currently it's possible to compile most methods. It does require a custom VM because it needs to override message sends and returns. This is so that it can replace interpreted code with compiled code. The Long Term Goals for Exupery are ambitious