Commit Graph

40 Commits

Author SHA1 Message Date
Unknown W. Brackets
2347498667 x86jit: Use templates to avoid some void * casts.
Makes it a bit cleaner and potentially safer.
2014-01-18 09:57:13 -08:00
Unknown W. Brackets
455a7e090d Compile the cache instruction to nothing.
Was showing up in a few profiles, does nothing currently.
2013-11-10 14:38:10 -08:00
Henrik Rydgard
5ad04a23f4 x86 jit: Rename BindToRegister to MapReg 2013-11-09 15:23:31 +01:00
Unknown W. Brackets
97aa1a631e Improve typesafety in the x86 regalloc. 2013-08-24 19:41:10 -07:00
Unknown W. Brackets
109ad17ac6 Use a typesafe struct for opcodes.
Also, correctly read delayslots using Read_Instruction on ARM.
2013-08-24 15:36:24 -07:00
Unknown W. Brackets
286c153c6a Fix memchecks for halfwords and bytes.
Before it was doing the range on a 4 byte read, which would trip a
memcheck that wasn't actually being hit if the byte of halfword was
unaligned.
2013-07-06 13:15:48 -07:00
Unknown W. Brackets
2d15eb2acd Re-enable lwl/lwr/swl/swr on the x86 jit.
Now correctly handling ECX on x64.
2013-07-06 01:21:52 -07:00
Unknown W. Brackets
1c9086617a DISABLE the swr/swl and friends for now.
Broke Disgaea on x64 only, not sure why right now.
2013-07-05 02:53:15 -07:00
Unknown W. Brackets
e27ab6fa11 Add swl/swr to the x86 jit. 2013-07-04 17:34:56 -07:00
Unknown W. Brackets
203daf955b Implement lwl/lwr in the x86 jit. 2013-07-04 17:30:36 -07:00
Unknown W. Brackets
2d6a730cac Add some basics for memory checks to x86 jit.
Specifically, we will need to be able to bail in delayslots,
and we will need to know the size of the access (useful anyway.)
2013-03-09 02:41:46 -08:00
Unknown W. Brackets
f6f2927526 Add curlies around DISABLE/CONDITIONAL_DISABLE. 2013-02-15 08:35:33 -08:00
Unknown W. Brackets
f777c872e6 Jit unaligned reads/writes.
This mostly just improves perf on debug, not really on the map for release.
2013-02-02 13:12:34 -08:00
Unknown W. Brackets
b77ce99d01 Oops, no slow read for immediates usually. 2013-01-26 09:27:52 -08:00
Unknown W. Brackets
9cd5836b85 Rename WriteFinish() to Finish() is safe mem.
It's nothing to do with writing.
2013-01-26 09:09:47 -08:00
Unknown W. Brackets
3e419f513a Refactor jit safe memory reads without dup code.
But, maybe too automagical...
2013-01-26 08:42:34 -08:00
Unknown W. Brackets
b7ef3e7bef Make sure to log / check bad immediate mem access.
Although, theoretically, this should never happen.
Also, definitely time to refactor.
2013-01-25 23:06:43 -08:00
Unknown W. Brackets
3418383917 Immediately break on bad mem access in jit slowmem. 2013-01-25 22:52:51 -08:00
Unknown W. Brackets
f5963df0dc Optimize write to a single x64 op too. 2013-01-20 13:06:19 -08:00
Unknown W. Brackets
e8dc99328a Avoid using EAX as a temporary where possible.
All the regs should be indirect addressing compatible.  So if it's
in a reg, let's use that instead of EAX.
2013-01-20 12:57:14 -08:00
Unknown W. Brackets
eaa24ee047 Use EDX as a temporary for sb, and jit it. 2013-01-20 12:25:08 -08:00
Unknown W. Brackets
30f6a4ba87 Fix stupid stupid typo breaking slowmem jit. 2013-01-20 09:39:13 -08:00
Unknown W. Brackets
53600161ba Don't write anything to a bad static pointer.
Not sure what came over me...
2013-01-20 00:19:18 -08:00
Unknown W. Brackets
e78223d2c0 Since flipping the op is easy, also do lb/lh. 2013-01-19 16:25:57 -08:00
Unknown W. Brackets
5e8f1917ee Fix 64-bit memory dereferencing. 2013-01-19 16:25:57 -08:00