So everyone saying that "Rosetta 2 is AoT translation" as if that means it's fundamentally better/faster than other emulation technologies is just falling to marketing. JIT is binary translation too, so by Apple marketing standards, qemu, Dolphin, and basically every other modern emulator is also "translation". At that point you're adding enough bookkeeping gunk to the translated code that it is no longer a straight translation, like Apple would want you to believe. On top of that you need to add a level of indirection to all indirect branches, as you cannot statically change all function pointers in data structures (that's an even harder problem).
#MIPS EMULATOR MAC FULL#
All modern emulators use JIT, and caching the result is similar to AoT translation plus JIT can be faster than AoT sometimes due to being able to take advantage of runtime profiling, and you can never guarantee ~full AoT translation of even binaries without self-modifying code without additional metadata (like a list of all branch destinations), so Rosetta cannot possibly claim it does that with full coverage. It's just not a thing and it never will be (without cheating and, like, literally embedding an emulator in the app).Īnything less than that is emulation, and requires dynamic elements.
Full static transpiling is not a solvable problem - you can't actually take an x86 app, run it through some converter, and get an ARM app out. That is marketing terminology (because "emulation is slow"). This all means that unless you're defending the very core of your entire business proposition, you probably need to be a >$100m before it's worth pursuing patents, and even for the core of your business you probably need to have several million in funding. Then you'll need to defend it, which can be hard to do against entities based in non-compliant countries such as China. To cover US, EU, and large Asian markets, you're looking at $500k-1m, and thats just to get the patent. To patent an idea will probably be around $10-100k per market.
#MIPS EMULATOR MAC SOFTWARE#
The fact that software is typically shipped virtually means that borders are practically non-existent, and wide patents are often needed, or a company needs to give up on defending their patent outside their primary market. In particular, costs are high, litigation to protect is expensive, and so your average student wouldn't be able to afford this. There are many reasons that make them less effective at this than their ideal.