aboutsummaryrefslogtreecommitdiff
path: root/src/ARMJIT_A64/ARMJIT_Compiler.cpp
Commit message (Collapse)AuthorAge
* Correctly use the refactored `JitEnableWrite`Jesse Talavera-Greenberg2023-12-08
|
* Refactor `NDS` and `DSi` to be objects (#1893)Jesse Talavera-Greenberg2023-11-28
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * First crack at refactoring NDS and DSi into objects - Remove all global/`static` variables in `NDS` and related classes - Rely more on virtual dispatch when we need to pick methods at runtime - Pass `NDS&` or `DSi&` to its constituent components where necessary - Introduce some headers or move some definitions to break `#include` cycles * Refactor the frontend to accommodate the core's changes * Move up `SchedList`'s declaration - Move it to before the components are initialized so the `map`s inside are initialized - Fields in C++ are initialized in the order they're declared * Fix a crash when allocating memory * Fix JIT-free builds * Fix GDB-free builds * Fix Linux builds - Explicitly qualify some member types in NDS, since they share the same name as their classes * Remove an unnecessary template argument - This was causing the build to fail on macOS * Fix ARM and Android builds * Rename `Constants.h` to `MemConstants.h` * Add `NDS::IsRunning()` * Use an `#include` guard instead of `#pragma once`
* Move all core types into namespaces (#1886)Jesse Talavera-Greenberg2023-11-25
| | | | | | | | * Reorganize namespaces - Most types are now moved into the `melonDS` namespace - Only good chance to do this for a while, since a big refactor is next * Fix the build
* Refactor the JIT to be object-oriented (#1879)Jesse Talavera-Greenberg2023-11-18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Move TinyVector to a new file - So it's less sensitive to #include ordering * Forgot to include assert.h * Refactor ARMJIT_Memory into an object * Oops, forgot a declaration * Refactor ARMJIT to be contained in an object * Remove an unused function declaration * Add a missing #include * Remove a now-unused global * Use ARMJIT_Memory's own memory access functions * Fix some omissions in the ARM JIT * Move libandroid to be a member of ARMJIT_Memory instead of a global * Default-initialize most fields in ARMJIT_Compiler.h * Define NOOP_IF_NO_JIT * Finish refactoring the JIT to be object-oriented
* Introduce `Platform::Log` (#1640)Jesse Talavera-Greenberg2023-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
* JIT: Add bits for Windows ARM64 supportNadia Holmquist Pedersen2022-11-05
|
* update copyright headersArisotura2022-01-09
|
* finally decouple Config from the core. baahhahahahahArisotura2021-11-18
|
* don't add constant cycles if they're 0RSDuck2021-07-24
|
* ARM64 macOS JIT - fix warnings + some cleanupWaluigiWare642021-07-23
|
* support allocating more registers for aarch64 JITRSDuck2021-06-29
| | | | also some minor fixes for the x64 JIT as well
* fix aarch64 build with gcc 11RSDuck2021-04-29
|
* update copyright year and add missing GPL headersRSDuck2021-03-12
|
* Fix the JIT Code Memory on ARM64 Macs (#916)WaluigiWare642021-02-22
|
* fix ARM64 againRSDuck2021-01-21
|
* fix last commit for ARM64RSDuck2021-01-20
|
* JIT: handle STR post with rd == rnRSDuck2021-01-19
| | | | fixes Zelda Four Swords
* JIT A64: fixesRSDuck2021-01-05
| | | | also update Switch code for latest libnx
* aligned_alloc instead of memalignRSDuck2020-12-09
| | | | also carry over new Switch changes
* Fix compilation issues on pedantic cpp compilers. (#783)Filippo Scognamiglio2020-10-31
| | | | | * Fix compilation issues on pedantic cpp compilers. * Avoid using fullblown static function.
* remove some UBRSDuck2020-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
* subtract cycles after checking IRQ and HaltRSDuck2020-07-27
| | | | also switch back to adding to ARM::Cycles instead of subtracting from them
* Make it buildable on aarch64RSDuck2020-07-23
|
* another tryRSDuck2020-07-09
|
* first steps in bringing over the JIT refactor/fastmemRSDuck2020-06-16
|
* rewrite JIT memory emulationRSDuck2020-05-09
|
* include more information in DataRegionRSDuck2020-04-26
|
* the time of good commit names is long goneRSDuck2020-04-26
|
* fixup for aarch64 JITRSDuck2020-04-26
|
* fix LDM usermode for aarch64 as wellRSDuck2020-04-26
|
* apply fixes for aarch64 linux by @nadiaholmquistRSDuck2020-04-26
|
* move ARM64 JIT backend hereRSDuck2020-04-26