Ryan Houdek
9407797d16
Merge pull request #2454 from Sonicadvance1/armv7_disable_loadstores
...
[ARMv7] Extend the life of the JIT Recompiler.
2015-06-02 10:42:06 -04:00
Tillmann Karras
d516e6bbf0
Jit64: swap XMM registers for later optimization
...
(BLENDVPD uses XMM0 as an implicit mask.)
2015-06-02 12:47:07 +02:00
Ryan Houdek
5ed3a5de22
[AArch64] Minor bugfix and optimization.
...
Fixes a bug in lfs where I was doing a rev64.16b when I needed to do a rev32.8b.
Change a ld1r.4s to a ld1r.2s.
Fix an issue where a fcvtl2 needed to be a fcvtl.
Re-enabled psq_l, issue with flickering can't be reproduced anymore, so whatever.
2015-05-31 22:03:36 -05:00
Ryan Houdek
ac1f3ef099
Merge pull request #2492 from Sonicadvance1/fix_block_sizes
...
Fix JIT core's block sizes.
2015-05-31 16:49:47 -04:00
Ryan Houdek
1723217cc9
[AArch64] Don't disable tw{i,}
...
It's an endblock instruction, it shouldn't be disabled via the JITDISABLE macro.
2015-05-31 15:37:22 -05:00
Ryan Houdek
6c56cd0c30
Fix JIT core's block sizes.
...
Was causing disassembled blocks to be cut off by a few instructions at the end.
2015-05-31 14:59:17 -05:00
Ryan Houdek
210d7c4d54
Merge pull request #2486 from Tilka/x86_32
...
Jit64: drop more x86_32 left-overs
2015-05-31 13:06:19 -04:00
Tillmann Karras
eb057d49a0
x64Emitter: drop duplicate enum & unused wrappers
...
Keep the more explicit version of the two SSECompare enums.
And the unused CMP* wrappers wouldn't exactly make the code more
readable anyway.
2015-05-31 08:32:31 +02:00
Tillmann Karras
a6004f8274
Jit64: drop more x86_32 left-overs
2015-05-31 05:28:40 +02:00
Lioncash
0b8372e566
Jit_Util: Make some OpArg parameters const references
2015-05-29 01:13:45 -04:00
Lioncash
e3a6191f02
x64Emitter: Pass some OpArg parameters by const reference
...
Considering OpArg is a struct, passing by value creates unnecessary copies.
2015-05-29 01:13:29 -04:00
Tillmann Karras
6ea49da5b9
Jit64: fix ps_sum
...
It's /always/ the register cache.
2015-05-26 19:00:42 +02:00
Ryan Houdek
b038b61a29
[ARMv7] Extend the life of the JIT Recompiler.
...
Until loadstores are fully investigated, let's artificially extend the life of it by disabling all of them.
These instructions break in a very terrible way and eventually all loadstores end up attempting to access memory region (u32)-1.
Disable until someone has enough time to investigate further.
2015-05-25 23:36:28 -05:00
Ryan Houdek
3817dd0f91
Merge pull request #2272 from phire/jitil-floatbug
...
JitIL: Fix a bug in floatpoint load/store instructions.
2015-05-25 23:17:56 -04:00
Ryan Houdek
7c04c76a26
Merge pull request #2421 from Tilka/jit_stuff
...
Jit64: fixes + less code
2015-05-25 23:08:24 -04:00
Ryan Houdek
0c5f5c4519
Merge pull request #2394 from Sonicadvance1/android_block_profiling_api
...
[Android] Block profiling JNI interface
2015-05-25 23:06:37 -04:00
Ryan Houdek
95f9096068
Merge pull request #2396 from Sonicadvance1/fix_racing_cpu_core
...
Fix a race condition when pausing the CPU core.
2015-05-25 23:06:18 -04:00
Ryan Houdek
99d9161e49
Merge pull request #2429 from Sonicadvance1/aarch64_block_profile
...
[AArch64] Implement block profiling.
2015-05-25 23:05:54 -04:00
Ryan Houdek
69963dc4b0
Merge pull request #2274 from degasus/disable_bbox
...
Disable bbox
2015-05-25 08:46:12 -04:00
Tillmann Karras
30ebb2459e
Set copyright year to when a file was created
2015-05-25 13:22:31 +02:00
Tillmann Karras
cefcb0ace9
Update license headers to GPLv2+
2015-05-25 13:22:31 +02:00
Tillmann Karras
6d9986846c
Simplify some more license headers
2015-05-25 13:11:41 +02:00
degasus
ac0e304159
Jitregister: fix common-core dependency
2015-05-25 09:33:34 +02:00
Tillmann Karras
df34d43936
Jit64: merge ps_sign into fsign
2015-05-21 12:33:37 +02:00
Tillmann Karras
36d6a16559
Jit64: merge ps_maddXX into fmaddXX
2015-05-21 12:33:37 +02:00
Tillmann Karras
c6147c5ed5
Jit64: merge ps_arith into fp_arith
2015-05-21 12:33:37 +02:00
Tillmann Karras
6d23b511a6
Jit64: merge tri_op into fp_tri_op
2015-05-21 12:33:37 +02:00
Tillmann Karras
dc220fa13d
Jit64: merge ps_sel into fselx
2015-05-21 12:33:36 +02:00
Tillmann Karras
05a55de08f
Jit64: optimize ps_sum
2015-05-21 12:33:36 +02:00
Tillmann Karras
ece0ef4ca8
Jit64: add packed optimization to frsp
2015-05-21 12:33:36 +02:00
Tillmann Karras
6b8ab5993a
Jit64: make ForceSinglePrecision more versatile
2015-05-21 12:33:36 +02:00
Tillmann Karras
9792976ee9
Jit64: fix ForceSinglePrecisionS/P
...
This bug never broke anything because of how these functions are used.
Fixing it should avoid some false dependencies though.
2015-05-21 12:33:36 +02:00
Tillmann Karras
a7d753922d
Interpreter: fix instruction table flags of frsp
...
frsp overwrites both ps0 and ps1 so frD is not an input. Regardless of
whether that's what the hardware does, it's what we do.
2015-05-21 12:33:36 +02:00
Ryan Houdek
eb94e742f1
[AArch64] Implement block profiling.
...
This is time based block profiling unlike the ARMv7 core.
I would like to add cycle counter based block profiling like the ARMv7 core, but it first requires writing a kernel module to enable the counters to userland applications
2015-05-20 22:23:59 -05:00
Tillmann Karras
1b01911c01
Jit64: indent far code because it looks nice
2015-05-14 19:12:58 +02:00
Tillmann Karras
6c5e5cc7b8
PowerPC: clean up instruction tables
2015-05-14 19:12:54 +02:00
Tillmann Karras
accefbf0a5
JitBase: small cleanup
2015-05-14 19:08:07 +02:00
Tillmann Karras
5b023b83ec
Jit64: rename twx to twX
...
We use the lower-case x to signal an optional Rc bit.
2015-05-14 19:08:07 +02:00
Tillmann Karras
2074abbe86
Jit64: drop unused argument from SetFPRFIfNeeded
2015-05-14 19:08:05 +02:00
Tillmann Karras
9723a4e2ed
Interpreter: use IntDouble instead of casts
2015-05-14 18:59:05 +02:00
Ryan Houdek
2d47a159ab
[AArch64] Disable psq_l.
...
Causes flickering in games ever since PR #2172 .
No idea why
2015-05-11 00:11:40 -05:00
skidau
294629fa9e
Merge pull request #2368 from randomstuff/gdb-unix
...
GDB stub over UNIX socket
2015-05-11 14:42:34 +10:00
Ryan Houdek
af305aa168
Fix a race condition when pausing the CPU core.
...
This affects enabling and disabling block profiling on the fly.
The block profiling pauses the CPU cores and then flushes the JIT's block cache and enables block profile.
The issue with this is that when we pause the CPU core, we don't have a way to tell if the JIT recompiler has actually left.
So if the secondary thread that is clearing the JIT block cache is too quick, it will clear the cache as a recompiler is still running that block that
has been cleared.
2015-05-10 21:00:54 -05:00
Ryan Houdek
0da086e389
Make sure the JitInterface's WriteProfileResults instruction pauses and resumes the CPU core.
2015-05-10 20:02:25 -05:00
Tillmann Karras
c651906134
Jit64[IL]: remove some unused stuff
2015-05-09 17:17:49 +02:00
Lioncash
76bbd46829
Core: Remove some header inclusions in header files
...
Replaces them with forward declarations of used types, or removes them entirely if they aren't used at all. This also replaces certain Common headers with less inclusive ones (in terms of definitions they pull in).
2015-05-08 22:38:59 -04:00
Gabriel Corona
04cb6fccd6
GDB stub over UNIX socket
...
This is available with the `GDBSocket` option in
`~/.dolphin-emu/Config/Dolphin.ini`.
GDB can connect to it with:
$ powerpc-eabi-gdb
(gdb) target remote |socat STDIO UNIX:foo.sock
Because I don't like so much binding the GDB stub socket to 0.0.0.0.
On Linux, with a suitable umask, we can make sure that another local
user cannot connect to the socket.
2015-05-08 14:23:37 +02:00
Matthew Parlane
42ebf5b3bf
Merge pull request #2333 from lioncash/virt
...
InputCommon/Core: Get rid of some virtual destructor warnings
2015-04-28 15:41:48 +12:00
Lioncash
9603fb6ccd
Interpreter_LoadStorePaired: Silence uninitialized variable warnings
2015-04-27 22:54:58 -04:00
Lioncash
d39b519850
InputCommon/Core: Get rid of some virtual destructor warnings
...
These classes have virtual methods, but no virtual destructor, which causes warnings on some compilers.
2015-04-27 21:41:59 -04:00