Remix.run Logo
mort96 17 hours ago

Rosetta 2 rewrites x86 instructions into ARM, but it does this on the fly for generated instructions too. When you put x86 machine code into a buffer and then jump to execute it, Rosetta 2 dynamically translates those generated instructions into arm before executing them.

At least that's what I gathered around the time it was released. It seems to hold up; JITed x86 applications work great under Rosetta 2.

vbezhenar 3 hours ago | parent [-]

In my experience they don't work great. JVM straight up crashed when Rosetta 2 was released and few years later it worked but with huge performance drop. Better than nothing, for sure.