PowerPC/MMU: Refactor to class, move to System. #11700
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
This one ended up being pretty large, but it's mostly straightforward too. A few notes of stuff that might look odd:
Hostfunctions ended up asstaticmethods in theMMUinstead of freestanding ones because they need to access privateMMUstuff after getting theMMUinstance from the passedguardviaSystem.Read_F64,Read_F32,Write_F64). I've removed those, they were just bitcasts around the unsigned integer variants anyway, so if anyone needs it they can just do that on the caller side.TranslateBatAddress(actuallyTranslateBatAddessbut I fixed the typo) function was previously defined inline inMMU.hbut only used insideMMU.cpp, so I've moved it in there.ABI_CallFunctionXXXhelper functions that always have pointers as their first argument, while the JitArm64 function that calls the MMU uses a very peculiar method of register allocation that seemed prudent not to touch.