Ежели мне память не изменяет, то оно на спектруме уже было. Не JVM, конечно, а принцип.
Не помню точно какой, но был компилятор спековского бейсика, который на выходе давал байт-код, а не нативный код Z80. Ускорение было весьма существенным.
Естественно, что при выполнении этого байт-кода нужно было подгружать часть компилятора, которая (в современной терминологии) обеспечивала работу виртуальной машины.
вот оно вроде - BLAST. http://zxpress.ru/book_articles.php?id=1306