To view parent comment, click here.
To read all comments associated with this story, please click here.
Not necessarily. You might be able to get by with running the Wine DLLs / Wine server as native code and then having some sort of thunks into the emulator which runs the app code. I believe the ARM can run in little-endian mode, so you might not even need to change endianness.
Of course Wine itself would be native code then, but all the application code, x86 DLLs and all that would have to be emulated real-time. Even simple translation of x86 code to ARM would require keeping track of all the registers, jump references and such, not to mention the actual translation. That would make Wine a really complicated piece of software, it would make it even more crash-prone, and the performance would not be stellar.
Dynamic recompiling, like Rosetta on Mac. The APIs are native (WINE), but the x86 binaries can be partially recompiled at launch time, and then emulated (and cached) on the fly for the page-table stuff &c.
If there was the demand for it, it could be done. Hopefully there won’t be the demand for it 







Member since:
2005-07-06
Not necessarily. You might be able to get by with running the Wine DLLs / Wine server as native code and then having some sort of thunks into the emulator which runs the app code. I believe the ARM can run in little-endian mode, so you might not even need to change endianness.