4 ms·
Rosetta mainly does translation, but it does emulation for code produced at runtime.
by 58028641 4y ago
Rosetta mainly does translation, but it does emulation for code produced at runtime.
- lisper 4y agoHow does it know when to start emulating? Surely there is some overlap in opcodes between the x86 and ARM64. And why won't it let me load a dylib compiled for ARM into an x86 process?
- xmodem 4y ago> How does it know when to start emulating? Surely there is some overlap in opcodes between the x86 and ARM64. Well, it would have to keep track of which regions of memory are code it has translated and which are data that was written out by the program it's executing. It can check if a branch or jump instruction goes to data, and then jump to its emulator instead.