Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

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.


They 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.


My brain skipped over that part apparently. It is interesting that they are calling out virtualization improvements separately though.


Apple's chips haven't supported that yet, so it's certainly something new.


I was wondering why did they mention the virtualization. Let's see what technology do they use. Whether it is going to be proprietary or something like Xen.


In the state of the union they mentioned an Apple hypervisor


It's going to be an ARM clone of Hypervisor.Framework.


> 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?


I 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.


The 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).


> 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.


Did they show the architecture at any point? I didn't see the architecture shown in the VM at all, but could have missed it.


It was debian, and in the state of the union talk, they called it out as an ARM build of debian.


How do you know it was for Intel?


Yes, but probably a native ARM version of Ubuntu rather than an emulated x86 version.


The same slide also mentioned supporting JIT translation (for x86 web browsers and Java), so Rosetta doesn't run only at installation time.


It's doing both AOT and also hooks JIT compilers. They mentioned JS engines as an example for the latter.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: