Unknown W. Brackets
|
d10bdd6938
|
Basic working imm mem breakpoints in x86 jit.
Seems to work okay. Doen't cover HLE of course.
|
2013-03-09 02:41:48 -08:00 |
|
Unknown W. Brackets
|
6290b67984
|
Validate the full memory access is valid.
Probably barely matters, but since we have the size now anyway...
|
2013-03-09 02:41:47 -08:00 |
|
Unknown W. Brackets
|
4908fb8046
|
Don't trip in a delay slot for bad mem access.
Could've done some tricky things... we don't jump correctly then.
|
2013-03-09 02:41:47 -08: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
|
c4ab0855b4
|
Make sure interpreter and jit savestates match.
|
2013-03-08 08:49:21 -08:00 |
|
Unknown W. Brackets
|
3fbb5d4388
|
Avoid using CALL() directly in case of far calls.
This mainly matters for x64.
|
2013-02-24 00:12:55 -08:00 |
|
Unknown W. Brackets
|
7eb9af271b
|
Fix downcount check without fastmem in jr.
|
2013-02-23 14:30:24 -08:00 |
|
Unknown W. Brackets
|
2164a7fdf9
|
Keep track of whether we're in the runloop or not.
|
2013-02-23 13:01:00 -08:00 |
|
Unknown W. Brackets
|
dacbcbdf2b
|
Add a MIPSTables flag for ignoring the prefix.
|
2013-02-18 01:23:15 -08:00 |
|
Unknown W. Brackets
|
afb7c0b83c
|
Assume prefixes start default until proven wrong.
Currently this means nothing since the MIPSTables flags are wrong.
It will blow the cache once, after the first vfpu op.
|
2013-02-18 01:14:57 -08:00 |
|
Unknown W. Brackets
|
f532951331
|
Automatically eat prefixes in x86 jit.
Simplifies the code and makes it easier to know they're eaten
even for ops not yet jitted.
|
2013-02-17 17:53:53 -08:00 |
|
Henrik Rydgard
|
909b768f47
|
Don't need separate variables for writemask. Some optimizations.
|
2013-02-16 09:28:55 +01:00 |
|
Unknown W. Brackets
|
f95e66eb98
|
Forget cached prefixes when calling generic.
It may eat them, or maybe always does?
|
2013-02-15 08:35:34 -08:00 |
|
Unknown W. Brackets
|
ccad259ae5
|
Keep track of VFPU prefixes and flush them in jit.
|
2013-02-15 08:35:33 -08:00 |
|
Henrik Rydgard
|
78923f5538
|
Jit a little more (vfpu single load/store, transfer instructions)
|
2013-02-10 12:14:55 +01:00 |
|
Unknown W. Brackets
|
eb84c2f00a
|
Validate jumps in jit slowmem mode.
This makes it easier to see what is going on in the emulator debugger.
|
2013-02-09 23:11:26 -08:00 |
|
Unknown W. Brackets
|
71c85ccf33
|
In jit slowmem, verify actual address.
Oops, it could crash if it was near the boundary.
Well, it still could if it were very near, but that's rare.
|
2013-02-09 23:08:57 -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
|
6d7a8d9b1a
|
Apply the memview mask to jit immediates too.
|
2013-01-26 23:54:43 -08:00 |
|
Unknown W. Brackets
|
a7b5433ba7
|
Make sure fastmem isn't confused by rs changing.
|
2013-01-26 23:18:50 -08:00 |
|
Unknown W. Brackets
|
a89d61463e
|
Make the VFPU jit use far jumps for memory access.
|
2013-01-26 23:08:19 -08:00 |
|
Unknown W. Brackets
|
0e8e9697c5
|
Add lv.q/sv.q support to the x86 jit.
|
2013-01-26 10:09:18 -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 |
|
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 |
|
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
|
0e33923844
|
Belt and suspenders check for branch ops.
|
2013-01-22 08:11:37 -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
|
776eb8ab2e
|
Simplify CompileDelaySlot().
|
2013-01-20 19:48:54 -08:00 |
|
Unknown W. Brackets
|
385417effe
|
Log jit misses at runtime instead of compile time.
Really, it could be very different after all... this shouldn't be
all that slow, I guess.
|
2013-01-19 20:11:17 -08:00 |
|
Unknown W. Brackets
|
75a3872923
|
Log missed jit ops for poor man profiling.
|
2013-01-19 19:58:25 -08:00 |
|
Henrik Rydgard
|
229d4e9f32
|
Buildfix
|
2013-01-19 13:10:52 +01:00 |
|
Unknown W. Brackets
|
11c5cdfdb0
|
Refactor out all the CheckJitBreakpoint()s.
Ah, much cleaner.
|
2013-01-18 21:33:23 -08:00 |
|
Unknown W. Brackets
|
40ae3dfe45
|
Correctly break at branch points in x86 jit.
|
2013-01-18 21:12:53 -08:00 |
|
Unknown W. Brackets
|
beac991a9e
|
Clear jit cache when changing breakpoints.
For now, only when paused. I don't think clearing the cache while
running is an awesome idea.
|
2013-01-18 20:12:53 -08:00 |
|
Unknown W. Brackets
|
a9293c8923
|
Add breakpoints to x86 jit for easier debugging.
They should be really fast so leaving them on in release.
|
2013-01-18 20:10:37 -08:00 |
|
Henrik Rydgard
|
674911ddba
|
Move downcount into MIPSState for efficiency, enable block linking.
On ARM JIT we can now reach it through the cpu context reg.
|
2013-01-12 00:44:18 +01:00 |
|
Henrik Rydgard
|
ea3055322c
|
Oops
|
2013-01-09 00:45:54 +01:00 |
|
Henrik Rydgard
|
8915677241
|
More progress but it weirds out...
|
2013-01-08 21:24:42 +01:00 |
|
Henrik Rydgard
|
a2ff416534
|
Rename files. Rewrite ArmRegCache from scratch.
|
2013-01-07 22:33:09 +01:00 |
|
Henrik Rydgard
|
6b64554e64
|
Fix savestates under JIT
|
2013-01-03 12:46:10 +01:00 |
|
Henrik Rydgård
|
d8da92befa
|
Fix timing issue wiith JIT on non-Windows platforms
|
2012-12-25 09:02:02 +01:00 |
|
Henrik Rydgard
|
64cc573703
|
Switch to "GPL 2.0 or later" for various reasons. I wrote most of the code I imported from Dolphin (which is GPL2-but-not-later), so it should be OK.
|
2012-11-04 23:24:00 +01:00 |
|
Henrik Rydgard
|
4f7ad15758
|
Add snapshot of the whole source code.
|
2012-11-01 16:19:01 +01:00 |
|