Also, everyone please stop eating up Apple's marketing bullshit and calling Rosetta 2 an "Ahead-of-Time Translator, Not An Emulator" as if it is some Fundamental Difference that Makes It Fast. It's a JIT emulator, with a cache, with opportunistic partial ahead of time warming.
-
-
You *always* need to JIT, you *always* need an escape hatch no matter how much work you try to do ahead of time, and you *cannot* statically infer all the information required for full static translation in all but the simplest cases.
Show this thread -
The best Rosetta 2 can do here is just scan the executable ahead of time, and try to JIT everything it *guesses* it might need later ahead of time. It won't know until the app runs whether it guessed right. It's an emulator. A nice, well engineered emulator.
Show this thread -
(Alternately, if you subscribe to "emulators don't translate, they interpret", then qemu and Dolphin aren't emulators either)
Show this thread -
Wine Is Not an Emulator, but wine works under Rosetta 2, which is. Is Rosetta 2 statically translating Windows apps to macOS ARM? Obviously not :-) Is Rosetta 2 JITting Windows apps when run through Wine? Sure! Is it caching those translations? We don't know! Open question.
Show this thread
End of conversation
New conversation -
-
-
Why not? We call them "compiler". It has nothing to do with Turing's halting theorem, at least mathmatically.
-
Because the only way to "compile" an x86 app to ARM would be the moral equivalent to embedding an emulator, or unrolling the emulator for every instruction. The problem isn't "making it happen", it's divining higher-level info that isn't there, and is needed to make it fast.
- Show replies
New conversation -
-
-
would be nice if we could get stats on how effective the "AOT" part is on various apps, like how much of the static does that *is* there, is found and converted even """just""" the "only embed a JIT when the app itself JITs" option is a holy grail of recompilation AFAIK
-
oh wait I initially meant to joke about aspiring to attack and dethrone Turing or something, oh well
End of conversation
New conversation -
Loading seems to be taking a while.
Twitter may be over capacity or experiencing a momentary hiccup. Try again or visit Twitter Status for more information.