4 Commits
Author SHA1 Message Date
Brian Degenhardt 1e286ad1e4 tooling: include common/Assertions.h in microVU_Divtrace
The Windows EnterMode stub added in ca8cedd83f uses pxFailRel, but
nothing in this TU's include chain declares it on Windows — the Linux
build never compiles that branch, so it got past the local gate and
died only on the Windows CI leg.
2026-07-19 15:02:39 -07:00
Brian Degenhardt ca8cedd83f tooling: make the vu_capture and divtrace TUs compile on Windows
Both are yaps2 offline-diagnostic TUs that had never seen a Windows
build (yaps2 is Linux-only); they were the last two compile failures
on the arm64 Windows CI leg.

vu_capture.cpp only needed getpid — now a capture_pid() helper that
uses _getpid/<process.h> on Windows; the probe itself is fully
functional there.

microVU_Divtrace's capture mechanism is SIGTRAP + ucontext (the JIT
emits brk, the handler snapshots vuRegs and advances the faulting PC),
which has no Windows equivalent — the signal machinery compiles out,
while the shared globals and FingerprintRegs stay so the interp/JIT
consumer sites link unchanged. EnterMode pxFailRel's loudly on Windows
so a future replay-driver port can't mistake an unhandled brk for a
JIT crash. Only the offline replay drivers call it, and they don't
build on Windows.

recompiler_tests 1359/1359 on linux-arm64.
2026-07-19 14:41:03 -07:00
isztldav 587581eb3b Divtrace: fix ucontext build on macOS/arm64 under recompiler tests
Darwin's <ucontext.h> #errors without _XOPEN_SOURCE; use <sys/ucontext.h> for the ucontext_t type (mirrors CrashHandler.cpp / DarwinMisc.cpp) and read PC via uc_mcontext->__ss.__pc on Apple. Linux arm64 path is unchanged.

Only compiled under PCSX2_RECOMPILER_TESTS.
2026-07-10 12:11:13 -07:00
8fb919e6f7 arm64: in-process recompiler differential-test + diagnostics framework
DiffJitVsInterp harness (EE/IOP/VU synthetic JIT-vs-interpreter tests) plus the
shared capture/divergence-localizer infrastructure (vu_capture, ee_divtrace,
microVU_Divtrace, VU1Trace) and the test hooks they install in interp/GIF/COP2 paths.
All hook sites are guarded by PCSX2_RECOMPILER_TESTS and compile out of release builds.

Co-Authored-By: Ryan Walklin <ryan@testtoast.com>
Co-Authored-By: Brian Degenhardt <bmd@bmdhacks.com>
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-20 20:27:56 -07:00