Henrik Rydgard
f35168e0e0
Hardcode a bunch of function hashes so we can replace them.
...
Without needing an external file.
2014-04-18 19:00:08 +02:00
Unknown W. Brackets
dc39e75fc1
Oops, forgot about proxy blocks for replace jal.
...
Also fix a crash when they are used.
2014-04-17 01:03:46 -07:00
Unknown W. Brackets
ddd6e3024d
Skip jals when replacing funcs.
...
Improves performance in God Eater (when replacements enabled.)
2014-04-16 23:57:52 -07:00
Unknown W. Brackets
dde2f3ade6
Re-replace functions after loading a savestate.
...
Might need to clear before saving too... anyway, this makes testing a bit
easier for certain areas.
Also, correctly decrease downcount on x86.
2014-04-12 15:49:20 -07:00
Unknown W. Brackets
76e61e10a9
Fix hashmap crashes with games that load modules.
...
This should properly unload and reload the functions as necessary.
2014-04-12 01:16:32 -07:00
Unknown W. Brackets
3001866d18
Skip flushing FPU/VFPU regs if none were allocated.
...
They're not used as often, so this usually saves time. About 1% during
tests.
2014-03-30 00:42:25 -07:00
Unknown W. Brackets
a4327702f1
Reduce some includes under GPU/.
2014-03-29 16:51:38 -07:00
Henrik Rydgard
58237d976f
Fix performance issue in BlockCache due to an instance of std::vector in every block:
...
Avoid creating the vector when not necessary.
This was especially noticeable in debug mode.
2014-03-29 22:26:51 +01:00
Henrik Rydgård
717c1cd34e
Merge pull request #5748 from unknownbrackets/armjit-minor
...
armjit: Allow R1 in regalloc, use LR as temp
2014-03-29 04:09:58 -04:00
Unknown W. Brackets
600842d9a2
armjit: Use prefixes on vscl's T arg.
...
Makes it pass one more thing in the prefixes test, but not sure exactly
how it operates. Better to have it the same as x86 and int anyway.
2014-03-29 01:00:29 -07:00
Unknown W. Brackets
5a89c17cf0
armjit: Allow R1 in regalloc, use LR as temp.
...
LR should be safe, although it may make stack traces not work within jit,
they don't really tend to work anyway.
2014-03-28 18:38:38 -07:00
Unknown W. Brackets
58c5179d8e
Push and pop the callee saved NEON registers.
2014-03-25 22:34:42 -07:00
Unknown W. Brackets
2f5c6a5660
Fix VLDM/VSTM encoding for double/quad regs.
...
Duh, forgot to check Vd. Fixes #5723 .
2014-03-25 22:08:20 -07:00
Unknown W. Brackets
246eaeb209
x86jit: Avoid mem temp for float cmp/loads.
2014-03-22 15:56:28 -07:00
Unknown W. Brackets
b53143bb33
Revert "armjit: Skip an AND for rotate shifts."
...
This reverts commit ab2dd54ade
.
Even though the docs say it's safe but apparently not always.
2014-03-22 15:54:48 -07:00
Henrik Rydgård
98165b599f
Merge pull request #5653 from unknownbrackets/armjit-minor
...
Minor armjit optimizations, fix B/BL encoding
2014-03-22 16:05:59 +01:00
Unknown W. Brackets
737c96eced
More cstring includes, grr.
2014-03-15 12:03:33 -07:00
Unknown W. Brackets
a843cbd580
Shrink the very common sceKernelThread.h include.
2014-03-15 11:44:02 -07:00
Unknown W. Brackets
d65af7353b
Avoid some ChunkFile includes.
2014-03-15 11:32:57 -07:00
Unknown W. Brackets
05ab192c9c
Reduce includes in Core/HLE/.
...
Especially templates.
2014-03-15 11:22:19 -07:00
The Dax
21ce99cabd
Fix Unix-like builds.
2014-03-15 10:02:47 -04:00
Henrik Rydgard
c80510fb3b
MemMap should not be included in MIPS.h.
2014-03-15 10:45:39 +01:00
Unknown W. Brackets
ab2dd54ade
armjit: Skip an AND for rotate shifts.
2014-03-15 00:49:18 -07:00
Unknown W. Brackets
bed9c82d0a
armjit: Try to use nearby immediates in slti/u.
2014-03-14 19:26:52 -07:00
Unknown W. Brackets
e783627947
armjit: Use our I2R funcs on reg/reg math too.
...
When one is a known immediate. This should catch more cases, like:
ori v0, $0, 0xFFFF
and v1, v1, v0
2014-03-14 19:15:43 -07:00
Unknown W. Brackets
8e979da0f9
armjit: Use our I2R arm optimizations.
...
Should help cases of ori and andi most, but also addiu. They will all try
to use an optimized immediate (from another nearby value) if possible.
2014-03-14 19:15:43 -07:00
Unknown W. Brackets
c229232236
armjit: Specifically optimize check for negative.
2014-03-14 19:15:39 -07:00
Unknown W. Brackets
628390f3fa
armjit: Tiny optimization for cast to short.
...
See these sometimes in code, skip the load of R0 when we can.
2014-03-14 19:15:39 -07:00
Unknown W. Brackets
ca0a8d0269
armjit: fix lwl/lwr from an imm address.
...
Can't skip loading the reg value. Likely cause of #5057 , possibly other
bugs as well.
2014-03-13 00:23:00 -07:00
Henrik Rydgard
174b5187e6
Arm VFPU: 2-op and 3-op: map registers before work, improving instruction order a little.
2014-03-12 11:06:26 +01:00
Henrik Rydgard
7ae9c26b6a
Enable the new vreg flushing mechanism on ARM.
...
Reduce logspam seen in a couple games.
2014-03-12 10:15:09 +01:00
Henrik Rydgard
ea6fb9337c
Second attempt at flushing multiple VFPU regs using VSTMIA.
...
Also disabled, but seems to work, just needs testing.
Much better code this time and works for VFPU regs not just FPU regs.
2014-03-11 21:55:17 +01:00
Henrik Rydgard
adadf11890
An attempt to combine FPU regcache writebacks with VSTMIA. Disabled due to bugs.
2014-03-11 11:03:51 +01:00
Sacha
30a6a5d10f
ARMJIT: Implement VLDM/VSTM load/store combinations and use in armjit. Also add them to disassembler.
2014-03-07 02:56:34 +10:00
lioncash
b9886942a7
Fix some vertical alignments in misc Core source files.
2014-03-03 11:16:53 -05:00
Henrik Rydgård
b2260149ae
ARM Jit: Avoid materializing some unnecessary immediates in loads/stores
2014-03-03 14:33:22 +01:00
Henrik Rydgård
aea272a3ce
Jit x86: optimize "subu r, 0, r" to NEG r.
2014-03-03 13:42:32 +01:00
Unknown W. Brackets
c7437bbe8e
Fix some minor warnings.
2014-03-03 00:08:32 -08:00
Henrik Rydgård
374e12afc3
Merge pull request #5590 from unknownbrackets/xbox
...
Merge more parts of #4716
2014-03-03 13:37:21 +07:00
Henrik Rydgård
54b9cf6e37
Merge pull request #5592 from unknownbrackets/debugger
...
Don't clear js.afterOp in WriteExit*()
2014-03-03 13:28:48 +07:00
Unknown W. Brackets
601fc72ac6
Don't clear js.afterOp in WriteExit*().
...
It needs to be handled in each exit, not just the first one.
Fixes #5587 .
2014-03-02 14:23:27 -08:00
Ced2911
46ac351b9b
[Jit] implement Comp_Vi2f
2014-03-02 11:53:03 -08:00
Unknown W. Brackets
2c2ea9c417
ppcjit: Int_Cache() now does stuff, use DISABLE.
2014-03-02 11:35:49 -08:00
Ced2911
995fb0f8b2
[PPC] update/fix
2014-03-02 11:35:23 -08:00
Ced2911
4483c6002e
[Jit] don't recompile with slow memory
2014-03-02 11:34:46 -08:00
Ced2911
41373f29cf
[jit] try to implement fpu round
2014-03-02 11:33:50 -08:00
Unknown W. Brackets
f300f46b9c
Speed up MIPSGetInstruction() by 35%.
...
It's not that hot, but gets called a lot when loading modules / running
tests. Well, and also interpreter.
Some of the previous checks were just not necessary (we never have Rese in
the tables, for example, and let's just not.)
2014-03-02 10:20:41 -08:00
Unknown W. Brackets
eca06c60c7
Spend a bit less time in Read_Instruction on load.
2014-03-02 10:20:40 -08:00
Unknown W. Brackets
ce518a432f
x86jit: Add a missing unknown prefix check.
2014-02-21 09:47:28 -08:00
Unknown W. Brackets
f2ba0f136d
Fix stack overflow on x64 with memchecks, darn it.
2014-02-16 19:18:08 -08:00