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
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
Unknown W. Brackets
862c88d61a
More warning fixes, switches and printfs, etc.
...
This time ones not reported by Visual Studio.
2013-01-19 18:32:37 -08:00
Henrik Rydgard
229d4e9f32
Buildfix
2013-01-19 13:10:52 +01:00
Henrik Rydgard
3ae4cd4e2a
Correct an include path
2013-01-19 11:43:31 +01:00
Henrik Rydgård
c20cef2399
Merge pull request #440 from unknownbrackets/jit-minor
...
Micro optimizations to x86 jit mem when fastmem is off
2013-01-19 02:04:34 -08:00
Unknown W. Brackets
2ad77aa9c8
Gotta flush before the call, too.
2013-01-19 01:53:11 -08:00
Unknown W. Brackets
09422d5adb
Avoid a func if possible when fastmem is off.
2013-01-19 01:02:47 -08:00
Unknown W. Brackets
bc75b68c36
Also jit sh and lhu, which are pretty common ops.
2013-01-18 23:10:51 -08:00
Unknown W. Brackets
d5ae85201c
Optimize sw/lw even under safe memory.
...
They're very common instructions, so shaving cycles helps.
2013-01-18 23:10:50 -08: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
5080285e54
Add breakpoints for delay slots.
...
Wanted to do this in CompileAt(), darn not nice delay slots.
2013-01-18 21:12:58 -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
Sacha
5552f93fca
Fixes for Qt, Symbian and Blackberry. Reorder and remove some redundant ArmEmitter includes so that _SP doesn't conflict.
2013-01-17 11:00:07 +10:00
Unknown W. Brackets
74cce1439b
Allow downcount to be negative.
...
This fixes threads/alarm/alarm and ctrl/sampling2/sampling2, which were
broken in 674911dd
.
The downcount can go negative for a few reasons, and was signed before.
2013-01-17 01:14:49 -08:00
Henrik Rydgard
e34288070c
Don't flush the icache from the start, also don't sleep. May help JIT slowdowns.
2013-01-15 20:42:45 +01:00
Henrik Rydgard
74a46f60ed
Initialize downcount.
2013-01-14 23:03:37 +01:00
Henrik Rydgard
66ee2e2933
Remove ArmABI.cpp/h, didn't need that stuff.
2013-01-14 22:19:18 +01:00
Henrik Rydgard
8ce9ce10bf
Merge branch 'master' into armjit
...
Conflicts:
Common/ArmEmitter.h
Common/CPUDetect.cpp
2013-01-14 20:46:17 +01:00
Henrik Rydgard
0a374047b1
initial implementation of vh2f, used in Saint Seiya
2013-01-14 20:44:10 +01:00
Henrik Rydgard
ae20d6c00f
Constify some tables
2013-01-13 20:38:52 +01:00
Henrik Rydgard
64f953c5e1
8-byte align the ARM stack. Type some ideas.
2013-01-12 12:26:44 +01: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
36eaabd917
Some constant propagation. Comment out sltiu which causes problems aiming in puzbob (???)
2013-01-11 23:42:58 +01:00
Henrik Rydgard
37be2600be
Shave some more instructions
2013-01-11 18:50:05 +01:00
Henrik Rydgard
bc9c3db303
Armjit: Add option for fastmem. Small optimization.
2013-01-11 17:25:54 +01:00
Henrik Rydgard
9b791b9953
More ARMJIT optimization
2013-01-11 15:22:31 +01:00
Henrik Rydgard
ba804cfa89
Cleanup ArmAsm, add idea
2013-01-11 02:28:02 +01:00
Henrik Rydgard
aa59ddad09
Merge AsmRoutineManager into Jit. Allows safe short branches.
2013-01-11 01:59:26 +01:00
Henrik Rydgard
8cd5ae933f
sw/lw
2013-01-10 12:14:23 +01:00
Henrik Rydgard
9dcdb6df90
Jit work! Shifts, 3-operand ops, turn O2 back on...
2013-01-10 01:20:25 +01:00
Henrik Rydgard
71652874c2
Fix jit bugs related to the dirty flag, and more:
...
* Tweak block logging
* Faster calls-to-interpreter.
2013-01-10 00:03:51 +01:00
Henrik Rydgard
209f1d79a9
SpillLock is now per MIPS register instead of per ARM register. Fix array size.
2013-01-09 23:14:21 +01:00
Henrik Rydgard
fb7116ccd5
Add more checks.
2013-01-09 22:55:58 +01:00
Henrik Rydgard
2f4e6eaf01
Remove allocLock until we need it
2013-01-09 22:46:27 +01:00
Henrik Rydgard
dafe2c389c
More regalloc fixing and tweaks. Still not working the way I want it.
2013-01-09 13:38:44 +01:00
Henrik Rydgard
17210c5364
Generate immediates as rot+shift when possible.
2013-01-09 11:52:49 +01:00
Henrik Rydgard
dafc9f62df
Regcache fixes, etc. thing still don't work when I turn on addiu :(
2013-01-09 11:20:48 +01:00
Henrik Rydgard
ea3055322c
Oops
2013-01-09 00:45:54 +01:00
Henrik Rydgard
789c4781c0
Merge remote-tracking branch 'origin/master' into armjit
...
Conflicts:
Core/HLE/sceKernelThread.cpp
2013-01-09 00:43:44 +01:00
Henrik Rydgard
81c6c4805d
Small dispatcher optimizations, cleanup. Still no cube.
2013-01-09 00:42:03 +01:00
Henrik Rydgard
f5c94775b9
Cleanup
2013-01-09 00:12:02 +01:00
Henrik Rydgard
76481a300c
Icache must be invalidated. Jit now starts to run, but there's no cube in cube.elf!
2013-01-08 23:52:11 +01:00
Henrik Rydgard
8915677241
More progress but it weirds out...
2013-01-08 21:24:42 +01:00
Henrik Rydgard
e3a4ed510c
Fix bug in x86 jit :)
2013-01-08 19:30:28 +01:00
Henrik Rydgard
8c06edc47b
It's getting close to the first totally unoptimized jit run.
2013-01-08 17:03:17 +01:00
Henrik Rydgard
b78ad83f00
R10, not R9, points to the mips state...
2013-01-08 14:29:03 +01:00