4 ms·
Rosetta 2 - the interesting bit was that it was going to pre-translate binaries instead of at runtime. The implications for actual VM emulation is that Rosetta
by mrkstu 6y ago
Rosetta 2 - the interesting bit was that it was going to pre-translate binaries instead of at runtime. The implications for actual VM emulation is that Rosetta won't work for run time environments like OS emulation. They touched on it briefly with the emulation technologies bit, but it looks like it will be separate from, and likely much less performant than Rosetta.
- jedieaston 6y agoThe emulation thing seemed to me to be Hypervisor.framework for ARM, as they showed Linux and Docker running (which both run on ARM), but not Windows (which an average user may be more interested in).
- minxomat 6y agoIt's doing both AOT and also hooks JIT compilers. They mentioned JS engines as an example for the latter.
- ashearer 6y agoThe same slide also mentioned supporting JIT translation (for x86 web browsers and Java), so Rosetta doesn't run only at installation time.
- mantap 6y agoThey explicitly said that it can perform both static and dynamic translation for JITs. I wouldn't be surprised if there is substantial hardware support too.
- mrkstu 6y agoMy brain skipped over that part apparently. It is interesting that they are calling out virtualization improvements separately though.
- SahAssar 6y ago> They explicitly said that it can perform both static and dynamic translation for JITs Can a JIT be static? Isn't that not possible by definition?
- mantap 6y agoI meant that it supports dynamic translation in order to support JITs such as turbofan. But to answer your question, yes a JIT can be static. JIT just means that the compilation happens at runtime, and "static" in this context means that the compilation is happening at the very start of runtime. You could imagine a JIT that compiles all bytecode to native code immediately on launch. The reason this technique is not used often is that it tends to lead to long startup times. But if the result is cached somewhere then it might be acceptable.
- LeoPanthera 6y ago> Rosetta won't work for run time environments like OS emulation They literally showed a demo of Parallels with Ubuntu for Intel running inside it.
- ryukafalz 6y agoDid they show the architecture at any point? I didn't see the architecture shown in the VM at all, but could have missed it.
- saagarjha 6y agoHow do you know it was for Intel?
- nicoburns 6y agoYes, but probably a native ARM version of Ubuntu rather than an emulated x86 version.
- monocasa 6y agoIt was debian, and in the state of the union talk, they called it out as an ARM build of debian.