The new NOP emitter breaks when called with a negative count. As it
turns out, it did happen when deoptimizing 8 bit MOVs because they are
only 4 bytes long and need no BSWAP.
This function isn't used any more and it shouldn't be used at all as it generates a sync request to the x11 server. So it has to wait for a complete round trip time.
Interpreter::Helper_UpdateCR1 doesn't use the argument passed to UpdateCR1. It pulls its value from the FPSCR register.
Also there was a Interpreter::Helper_UpdateCR1(float) in addition to Helper_UpdateCR1(double) that hasn't ever existed. Remove the function
declaration.
The ARM insturction tables were missing addcox, addeox, and subfcox.
Implements support for addcox and addeox to the ArmJit, required little work since they are basically the same as addcx and addex.
They are semantically equivalent and according to Agner Fog they can run
on more execution ports than their floating point counterparts (at least
on Intel CPUs).
The alert apparently triggers on Midway Arcade Treasures 2; given that the
game otherwise works fine, it's not a high priority to accurately emulate
the bit in question.
Fixes issue 7197.
There are a few instructions in lXX that aren't currently fastmem capable due to using a register offset.
This implements fastmem for those few instructions.
Really I'll be changing how ARMv7 fastmem works in the future so this is really temporary code.
Just don't know how long it'll stay.
This relies on PR #257
TUN/TAP OS X needs to be installed, and /dev/tap0 chown’d to the user.
The tap0 network interface doesn’t appear until /dev/tap0 is opened by
the program, so all bridging must be done once the game is already
running.
Unfortunately, bridging seems to be broken on OS X, so this does not
actually work over LAN (yet!).
Fixes an issue in lXX where if the instruction was an update instruction and was a register address offset that we would add garbage values to the
writeback register.
Does some minor cleanups as well which save a few instructions here and there.
Fixes issue 6990.
This uses a bit of templating to remove the duplicate code that is the CodeBlocks in each emitter headers.
No actual functionality change in this.