Great analogy, and as with all VMs, you have a fundamental performance penalty for not doing it natively. Although you do get the flexibility of pausing / debugging / isolating the VM.
Continuing: When some path is followed enough to be the "hot path", it hits the threshold for JIT, and becomes much easier (much less performance penalty).