qemu used to use that technique, but as you note, it was pretty brittle. They switched to the more traditional TCG backend.