* Do not use unsafe pointer arithmetics exceeding existing memory. (exceeding m_fptr)
* Properly use the enire 32MB of the buffer, previously only 16MB were used for cuncurrent access.
* Fix a bug occurring after attempting to push 1TB (40 bits).
* Flush the log before hitting a debugging breakpoint.
Utilities/Thread.cpp:1799:51: error: no member named 'pc' in '__mcontext'
const bool is_executing = uptr(info->si_addr) == RIP(context);
^~~~~~~~~~~~
Utilities/Thread.cpp:1800:62: error: no member named 'pc' in '__mcontext'
const u32 insn = is_executing ? 0 : *reinterpret_cast<u32*>(RIP(context));
^~~~~~~~~~~~
Utilities/Thread.cpp:1836:90: error: no member named 'pc' in '__mcontext'
std::string msg = fmt::format("Segfault %s location %p at %p.\n", cause, info->si_addr, RIP(context));
^~~~~~~~~~~~
Utilities/Thread.cpp:1229:46: note: expanded from macro 'RIP'
#define RIP(context) ((context)->uc_mcontext.pc)
~~~~~~~~~~~~~~~~~~~~~~ ^
Based on https://github.com/mozilla/gecko-dev/commit/480b73c38c73
* Update asmjit dependency (aarch64 branch)
* Disable USE_DISCORD_RPC by default
* Dump some JIT objects in rpcs3 cache dir
* Add SIGILL handler for all platforms
* Fix resetting zeroing denormals in thread pool
* Refactor most v128:: utils into global gv_** functions
* Refactor PPU interpreter (incomplete), remove "precise"
* - Instruction specializations with multiple accuracy flags
* - Adjust calling convention for speed
* - Removed precise/fast setting, replaced with static
* - Started refactoring interpreters for building at runtime JIT
* (I got tired of poor compiler optimizations)
* - Expose some accuracy settings (SAT, NJ, VNAN, FPCC)
* - Add exec_bytes PPU thread variable (akin to cycle count)
* PPU LLVM: fix VCTUXS+VCTSXS instruction NaN results
* SPU interpreter: remove "precise" for now (extremely non-portable)
* - As with PPU, settings changed to static/dynamic for interpreters.
* - Precise options will be implemented later
* Fix termination after fatal error dialog