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.
-
Show this thread
-
Converting x86 apps to ARM statically is not a thing, and will *never* be a thing, because that would break mathematically proven theorems about computer science (beyond obvious cheats like just embedding the emulator into the "converted" app).
3 replies 3 retweets 55 likesShow this thread -
Replying to @marcan42
Why not? We call them "compiler". It has nothing to do with Turing's halting theorem, at least mathmatically.
1 reply 0 retweets 0 likes -
Replying to @gnaggnoyil
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.
1 reply 0 retweets 1 like -
Replying to @marcan42 @gnaggnoyil
E.g. if you have self-modifying code, you need an emulator by definition. And even without self-modifying code, you still need to identify all function entry points somehow. And differentiate code from data. And then you can't find and fix all function pointers.
2 replies 0 retweets 5 likes
If you really try to do this "statically", you devolve into mountains of bookkeeping bullshit that makes it all slower than a JIT emulator.
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.