The complete userspace is bytecode based, regardless of the language.
Applications are compiled on installation phase, or when the generated code is deemed not to be valid any longer.
When there was an architecture change for the PowerPC, many installations only required a regeneration of the installed software.
A concept that Microsoft tried with Longhorn and Windows Phone 7. Or we could even say, the model Android almost has as well.
Native Oberon and Inferno also tried a similar approach, to certain extent.