-
Notifications
You must be signed in to change notification settings - Fork 130
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
n64: refactor devirtualize and memory ops, force JIT only with instru…
…ction cache (#1635) This change contains a large refactoring with no functional changes, plus a small functional change that will help speeding up the JIT. The refactoring allows CPU::devirtualize to return all the information regarding the memory access. This in turn allows to simplify all memory ops (which contained lots of duplicated code) to use devirtualize, reducing code duplication. The functional change is that we now use JIT only when running code from icache (which is 99.9999% of the times). Running code without icache is extremely slow on real hardware and only happens in specific situations (eg: during boot when RDRAM is not initialized). By limiting the JIT to run from icache, we open the door to implement proper icache support in the JIT and finish remove the instruction epilogue with its slow "instruction cache stepper" (which in addition to being slow, is also inaccurate and make us fail cache test ROMs).
- Loading branch information
Showing
8 changed files
with
209 additions
and
263 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.