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
|
db5fa233a8
|
Make sure we don't mark a reg dirty on noop.
|
2013-01-25 22:34:01 -08:00 |
|
Henrik Rydgard
|
2738417040
|
VFPU JIT: start setting up infrastructure. very incomplete. vdot works if undisabled, but isn't complete.
|
2013-01-26 01:34:19 +01:00 |
|
Henrik Rydgard
|
68991511ee
|
Split out the FPU reg cache into its own file too.
|
2013-01-26 01:34:19 +01:00 |
|
Henrik Rydgard
|
ad5e2b58c6
|
Separate the two regcaches before doing major surgery to FPURegCache.
|
2013-01-26 01:34:18 +01:00 |
|
Henrik Rydgård
|
be12d2efe3
|
Merge pull request #498 from lioncash/master
Fix a duplicate branch in Loaders.cpp
|
2013-01-25 16:07:51 -08:00 |
|
Lioncash
|
eb84b00a3d
|
Fix a duplicate branch in MIPS/MIPSDis.cpp
Copypaste error for beql.
Thanks go out to [Unknown] for specifying the correct value of o.
|
2013-01-25 17:57:12 -05:00 |
|
Henrik Rydgård
|
67f849a442
|
Merge pull request #496 from lioncash/master
Memory leak cleanup. Fixing some small things that were fixed in the Dolphin source, but didn't make it over here.
|
2013-01-25 11:17:21 -08:00 |
|
Henrik Rydgard
|
dd149a50a3
|
Must flush FPR regcache before thrashing the fp regs
|
2013-01-25 19:55:30 +01:00 |
|
Henrik Rydgard
|
aabc0aa9ef
|
Quick implementation of LV.Q and SV.Q in x86/x64 JIT
|
2013-01-25 19:50:30 +01:00 |
|
Lioncash
|
1cc74aa6c0
|
Get rid of unused iterators.
|
2013-01-25 13:11:06 -05:00 |
|
Henrik Rydgård
|
0f080aeaaa
|
Merge pull request #492 from unknownbrackets/jit-minor
ALU jit optimizations
|
2013-01-25 01:01:34 -08:00 |
|
Unknown W. Brackets
|
a7c6f46829
|
Optimize and/or 0 to just a mov in x86 jit.
|
2013-01-25 00:25:40 -08:00 |
|
Unknown W. Brackets
|
ab9bea068c
|
Jit reg+reg compile time, and avoid flushing EDX.
|
2013-01-25 00:16:55 -08:00 |
|
Unknown W. Brackets
|
ce5f393fb8
|
Hit immediates in the ALU better and more simply.
|
2013-01-25 00:16:55 -08:00 |
|
Unknown W. Brackets
|
2748437032
|
Add support for FPU and VFPU for nice delay slots.
|
2013-01-24 20:18:18 -08:00 |
|
Unknown W. Brackets
|
f7ebddc4a3
|
Whitelist common delay slot ops with outreg info.
|
2013-01-24 19:59:33 -08:00 |
|
Unknown W. Brackets
|
d1909a1581
|
Add a quick disable define for nice delay slots.
|
2013-01-24 19:11:03 -08:00 |
|
Unknown W. Brackets
|
75cbe18afc
|
Simplify nice delay slot detect, and yes for noop.
NOOP seems very common so this should already benefit speed a bit.
|
2013-01-24 08:29:32 -08:00 |
|
Unknown W. Brackets
|
2eba209f64
|
Move around the jit nice delay slot logic.
Nice delay slots don't not save flags, they run before the CMP.
|
2013-01-24 07:31:51 -08:00 |
|
Unknown W. Brackets
|
3444fc8981
|
Avoid some memory writes on jr.
Should improve tight mips function loops a bit.
|
2013-01-24 01:23:50 -08:00 |
|
Unknown W. Brackets
|
c1757ee166
|
Check downcount in jit after a syscall.
|
2013-01-23 22:25:35 -08:00 |
|
Henrik Rydgard
|
29f1ae5f70
|
add skeleton implementation of "cache" instruction
|
2013-01-22 22:03:41 +01:00 |
|
Henrik Rydgard
|
82d5ae021e
|
VFPU: cap/floor float-to-int conversion instructions
|
2013-01-22 22:03:40 +01:00 |
|
Unknown W. Brackets
|
dbe597ce64
|
Buildfix Android, darn.
|
2013-01-22 08:23:27 -08:00 |
|
Unknown W. Brackets
|
0e33923844
|
Belt and suspenders check for branch ops.
|
2013-01-22 08:11:37 -08:00 |
|
Unknown W. Brackets
|
c324983340
|
Make the jit support bltzal and friends.
Fixes problems with jit in games. Android changes completely untested.
|
2013-01-22 08:04:01 -08:00 |
|
Unknown W. Brackets
|
de2df87758
|
Make interpreter call Advance() the same as jit.
Probably makes more sense anyway, since the first events will be
more correctly timed, like savestates, sound, etc.
|
2013-01-21 23:16:23 -08:00 |
|
Unknown W. Brackets
|
a9d0390426
|
Adjust downcount before syscalls, not after.
This makes jit slightly slower for syscalls, but it's minor and makes
sure jit and interpreter timing are determistically the same.
|
2013-01-21 22:57:53 -08:00 |
|
Unknown W. Brackets
|
566b7a0910
|
A branch was missing inDelaySlot, refactor it.
|
2013-01-21 22:45:07 -08:00 |
|
Unknown W. Brackets
|
c897e6446a
|
Don't over decr downcount when hitting a jit bp.
|
2013-01-21 19:41:12 -08:00 |
|
Unknown W. Brackets
|
d99d060c2e
|
Decrement downcount in skipped likely slots.
Pretty sure this is right, it eats up a cycle as a nop.
Also some funny indentation.
|
2013-01-21 19:00:09 -08:00 |
|
Unknown W. Brackets
|
8438371941
|
Read memory in the jit dispatcher same as lw.
Just for consistency. One less op, maybe faster, probably same.
|
2013-01-21 17:51:14 -08:00 |
|
Henrik Rydgård
|
65203f3833
|
Merge pull request #459 from unknownbrackets/jit-branch
Jit branch debugging
|
2013-01-21 00:21:00 -08:00 |
|
Unknown W. Brackets
|
49965b7f1d
|
Decrement downcount in the interpreter.
|
2013-01-20 21:48:38 -08:00 |
|
Unknown W. Brackets
|
1485b0865c
|
Improve the speed of branch debugging a bit.
|
2013-01-20 19:48:55 -08:00 |
|
Unknown W. Brackets
|
dd69694302
|
Add some optional logging to debug jit branching.
|
2013-01-20 19:48:55 -08:00 |
|
Unknown W. Brackets
|
4c271fc09e
|
Add DELAYSLOT and LIKELU flags to some ops.
Should improve cycle estimate, and makes analysis easier.
|
2013-01-20 19:48:54 -08:00 |
|
Unknown W. Brackets
|
776eb8ab2e
|
Simplify CompileDelaySlot().
|
2013-01-20 19:48:54 -08:00 |
|
Unknown W. Brackets
|
df06bb5624
|
Add some checks to make sure ZERO is never set.
|
2013-01-20 19:48:53 -08:00 |
|
Unknown W. Brackets
|
a43078ab68
|
Same optimization for FPU load / store.
|
2013-01-20 13:16:41 -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
|
da22eb8adf
|
Make swc1 and lwc1 fast even without fastmem.
|
2013-01-20 02:07:00 -08:00 |
|
Henrik Rydgård
|
2cb830510c
|
Merge pull request #444 from unknownbrackets/jit-minor
Don't muck with currentMIPS->r directly in the slowmem jit
|
2013-01-20 01:58:48 -08:00 |
|
Henrik Rydgård
|
3ad4e0f9fd
|
Merge pull request #452 from unknownbrackets/jit-mismap
Log missed jit ops for poor man profiling
|
2013-01-20 01:34:34 -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 |
|