News for hackers. Stuff that matters.
Re:Apple Silicon M1 Chips and Docker by easton on Monday November 16, 2020 @10:22PM (#25119962)
I think Apple didn’t want to support x86 emulation at all, and made Rosetta 2 purely AOT compilation (which you can’t really do with virtual machines). It makes it so they don’t have to deal with having x86 VMs available but super slow making people think that Apple Silicon is slow (even if that’s untrue), and that’s kind of the growing pain that Microsoft is going through at the moment with Windows on ARM.
Re:Apple Silicon M1 Chips and Docker by anyfoo on Monday November 16, 2020 @11:20PM (#25120227)
Rosetta 2 purely AOT? Where did you get that idea from?
Re:Apple Silicon M1 Chips and Docker by jagger27 on Monday November 16, 2020 @11:37PM (#25120302)
It certainly still does some JIT/interpretation at runtime but it does indeed translate the executable upon first launch.^1 I can’t imagine how it would be able to fully translate a browser JavaScript engine that’s doing its own JIT, for example.

1: https://www.macrumors.com/2020/11/12/rosetta-2-translation-c...

Re:Apple Silicon M1 Chips and Docker by xenadu02 on Tuesday November 17, 2020 @12:13AM (#25120483)
Just like the original Rosetta it does indeed cache translations as well as support JIT and other forms of dynamic translation.
Re:Apple Silicon M1 Chips and Docker by anyfoo on Tuesday November 17, 2020 @12:39AM (#25120615)
Exactly. It does AOT, but certainly not exclusively.
Re:Apple Silicon M1 Chips and Docker by xenadu02 on Tuesday November 17, 2020 @12:24AM (#25120537)
Automatic translation of a hypervisor, guest kernel, and guest userspace is a far different level of difficulty than translating a userspace application.

Saying "didn't want to support" implies that one can "just" repurpose binary translation with a few build settings. You're off by several orders of magnitude.