Dolphin Emulator - Dolphin MEGA Progress Report: April and May 2021
1–10 of 69 posts
Re: Dolphin Emulator - Dolphin MEGA Progress Report: April and May 2021
#2Re: Dolphin Emulator - Dolphin MEGA Progress Report: April and May 2021
#3Re: Dolphin Emulator - Dolphin MEGA Progress Report: April and May 2021
#4Re: Dolphin Emulator - Dolphin MEGA Progress Report: April and May 2021
#5How well does dolphin run on Rpi 4 now?
Re: Dolphin Emulator - Dolphin MEGA Progress Report: April and May 2021
#6How expensive is changing memory mapping modes? Does it involve a system call? Does it need to happen often?
Re: Dolphin Emulator - Dolphin MEGA Progress Report: April and May 2021
#7How well does dolphin run on Rpi 4 now?
Re: Dolphin Emulator - Dolphin MEGA Progress Report: April and May 2021
#8>This was thankfully a lot less strict than on iOS devices, which strictly forbid mapping memory as executable whatsoever and made iOS untenable for us to officially support. Apple even provides documentation for helping developers port JITs to macOS on ARM. Skyler used a method described in the documentation that would change the mapped memory between Writeable when emitting code to Executable when executing code. S…
It's just an mprotect(2) call to change the page from R+W to R+X. It needs to happen between the JIT being done creating a hunk of code and the first execution. Basically: allocate a page, write generated machine code to the page, change page to executable, patch page in (so the code gets invoked instead of either interpretation or a baseline compiler).
I'm sure you can be smarter about it and involve locks such that you track how full "code pages" are and switch non-full pages back to writeable in order to update their content.