JosJuice

Results 62 issues of JosJuice

Aims to fix https://bugs.dolphin-emu.org/issues/13686. I'm using a less efficient approach for Jit64 than for JitArm64. In JitArm64, I'm flushing in the slow access code, but in Jit64, I'm flushing before...

By letting threads other than the host thread use things like CPUThreadGuard, we can do a significant cleanup in AchievementsManager.

The frsqrte routine has a little trick where it uses `TBNZ(ARM64Reg::X1, 62)` to check if the input is NaN/Inf. This only works if we've checked that the input isn't normal....

In a few places in Dolphin, we're using BottomSheetDialogFragments. These unhelpfully tend to start out in a "collapsed" state when in landscape mode (presumably depending on factors like screen size)....

Normally when an instruction is skipped (for instance due to branch merging or the BLR optimization), the registers that would have been flushed at the end of that instruction will...

This cuts down on how much callers have to think about what registers EmitBackpatchRoutine is using. Also, by allocating registers dynamically instead of using a fixed set of registers, we...

I used this to validate https://github.com/dolphin-emu/dolphin/pull/13900. (That PR doesn't pass every single one of these tests, though.)

The constant propagation PR made it so that a guest register can be present in the register cache as both a host register and an immediate at the same time....

In the past, the register cache would contain either a host register or an immediate (or neither) for a given guest register. `Jit64::cmpXX` would roll with whichever one it got....

Using LDP/STP when accessing m_ppc_state lets us load/store two registers at once. We previously opportunistically used STP, but this new analysis lets us move loads earlier and move stores later...