Commit message (Collapse) | Author | Age | |
---|---|---|---|
* | fix JIT backjump detection | RSDuck | 2023-04-13 |
| | | | | pretty embarrassing to loop variable mixup | ||
* | I'm stupid | RSDuck | 2023-03-28 |
| | |||
* | comment out JIT debug code | RSDuck | 2023-03-28 |
| | |||
* | Introduce `Platform::Log` (#1640) | Jesse Talavera-Greenberg | 2023-03-23 |
| | | | | | | | | | | | | | * Add Platform::Log and Platform::LogLevel * Replace most printf calls with Platform::Log calls * Move a brace down * Move some log entries to one Log call - Some implementations of Log may assume a full line * Log the MAC address as LogLevel::Info | ||
* | invalidate JIT blocks in ARM7 WVRAM when it's remapped | RSDuck | 2022-08-22 |
| | |||
* | fix copyright headers | Arisotura | 2022-03-07 |
| | |||
* | update copyright headers | Arisotura | 2022-01-09 |
| | |||
* | decouple JIT from Config. bahahahahah | Arisotura | 2021-11-17 |
| | |||
* | more accurate DTCM check | Arisotura | 2021-10-28 |
| | |||
* | more fixes for literal invalidation | RSDuck | 2021-08-31 |
| | |||
* | fix #1187 | RSDuck | 2021-08-31 |
| | | | | how could this go on unnoticed for so long? | ||
* | JIT: don't lengthen blocks on a skipped SVC | RSDuck | 2021-08-04 |
| | | | | SVC would need special handling because of the bank switching | ||
* | ARM64 macOS JIT - fix warnings + some cleanup | WaluigiWare64 | 2021-07-23 |
| | |||
* | support allocating more registers for aarch64 JIT | RSDuck | 2021-06-29 |
| | | | | also some minor fixes for the x64 JIT as well | ||
* | Fix some compiler warnings | WaluigiWare64 | 2021-05-03 |
| | |||
* | Disable JIT write-protect when de-initialising on ARM64 macOS | WaluigiWare64 | 2021-03-22 |
| | |||
* | update copyright year and add missing GPL headers | RSDuck | 2021-03-12 |
| | |||
* | Fix the JIT Code Memory on ARM64 Macs (#916) | WaluigiWare64 | 2021-02-22 |
| | |||
* | Fix some compiler warnings | WaluigiWare64 | 2021-01-25 |
| | |||
* | fix JIT block hash after a merged thumb BL | RSDuck | 2021-01-05 |
| | | | | fixes #928 | ||
* | JIT fixes | RSDuck | 2020-11-09 |
| | | | | | | | | - fix fastmem problems on linux - small fix memory leak - SlowWrite functions always take in a 32-bit variable so that the C compiler knows that the values aren't necessary zero extended - a few other stylistic things - handle SIGBUS as well (for macos) | ||
* | Fix compilation issues on pedantic cpp compilers. (#783) | Filippo Scognamiglio | 2020-10-31 |
| | | | | | * Fix compilation issues on pedantic cpp compilers. * Avoid using fullblown static function. | ||
* | remove some UB | RSDuck | 2020-09-04 |
| | | | | | | | - savestates used to read a four bytes from a single byte value - a few unassigned variables - some other things - also make the ROR macro an inline function | ||
* | JIT: fix QDSUB/QSUB for interpreter run | RSDuck | 2020-08-24 |
| | |||
* | use unordered map for JIT RestoreCandidates | RSDuck | 2020-08-14 |
| | | | | also fix WifiRead32? | ||
* | reset JIT fastmem on JIT block cache reset as well | RSDuck | 2020-07-31 |
| | |||
* | check IRQ first then Idle loop | RSDuck | 2020-07-28 |
| | | | | apparently I put it this way for a reason | ||
* | for some reason tabs and spaces were mixed | RSDuck | 2020-07-23 |
| | |||
* | make linux work and fix a few bugs | RSDuck | 2020-07-04 |
| | |||
* | reconcile DSi and JIT, fastmem for x64 and Windows | RSDuck | 2020-06-30 |
| | |||
* | first steps in bringing over the JIT refactor/fastmem | RSDuck | 2020-06-16 |
| | |||
* | use instr hash as key for restore candidates | RSDuck | 2020-05-09 |
| | | | | makes Golden Sun burn a little slower through the JIT memory | ||
* | rewrite JIT memory emulation | RSDuck | 2020-05-09 |
| | |||
* | implement msr and mrs for the x64 JIT | RSDuck | 2020-04-26 |
| | |||
* | implement block linking + some refactoring | RSDuck | 2020-04-26 |
| | | | | currently only supported for x64 | ||
* | re add error for unsupported JIT platforms | RSDuck | 2020-04-26 |
| | |||
* | move ARM64 JIT backend here | RSDuck | 2020-04-26 |
| | |||
* | improve nop handling and proper behaviour for LDM^ | RSDuck | 2020-04-26 |
| | | | | fixes dslinux | ||
* | make literal optimisation more reliable | RSDuck | 2020-04-26 |
| | | | | fixes spanish Pokemon HeartGold | ||
* | integrate changes from ARM64 backend and more | RSDuck | 2020-04-26 |
| | | | | | | | | | - better handle LDM/STM in reg alloc - unify Halted and IRQ in anticipation for branch inlining - literal optimisations can be disabled in gui - jit blocks follow simple returns - fix idle loop detection - break jit blocks on IRQ (fixes saving in Pokemon White) | ||
* | decrease jit block cache address granularity | RSDuck | 2020-04-26 |
| | | | | | | | fixes Dragon Quest IX move code with side effects out of assert, fixes release build (thanks to m4wx for this one) also remove some leftovers of jit pipelining | ||
* | new block cache and much more... | RSDuck | 2020-04-26 |
| | | | | | | | | | - more reliable code invalidation detection - blocks aren't stopped at any branch, but are being followed if possible to get larger blocks - idle loop recognition - optimised literal loads, load/store cycle counting and loads/stores from constant addresses | ||
* | load register only if needed | RSDuck | 2020-04-26 |
| | | | | | - do thumb bl long merge in the first step - preparations for better branch jitting | ||
* | fixes for flag optimisation | RSDuck | 2020-04-26 |
| | |||
* | optimise away unneeded flag sets | RSDuck | 2020-04-26 |
| | | | | | - especially useful for thumb code and larger max block sizes - can still be improved upon | ||
* | abandon pipelining on jit | RSDuck | 2020-04-26 |
| | | | | | fixes Golden Sun Dawn this makes the cpu state incompatible between interpreter and JIT. That's why switching cpu mode requires a restart(not requiring is stupid anyway) and the pipeline is manually filled when making a save state. | ||
* | remove unneeded dolphin code, C++11 static_assert | RSDuck | 2020-04-26 |
| | |||
* | jit: fix thumb hi reg alu and mcr halt | RSDuck | 2020-04-26 |
| | | | | + mcr/mrc aren't always, msr_imm is never unk on ARM7 | ||
* | jit: decrease blockcache AddrMapping size for ARM9 | RSDuck | 2020-04-26 |
| | |||
* | jit: make everything configurable | RSDuck | 2020-04-26 |
| |