1820 Commits

Author SHA1 Message Date
Unknown W. Brackets
d19174b52b jit-ir: Skip const flush on downcount op.
This allows discarding more unused constants.
2016-05-08 14:56:43 -07:00
Henrik Rydgard
c7e4658b6d More constant propagation 2016-05-08 23:25:47 +02:00
Henrik Rydgard
d4480d50fd jit-ir: Less instructions cause flushing in constant propagation. 2016-05-08 23:25:08 +02:00
Unknown W. Brackets
5dbac165f4 Qt, gcc, and Symbian buildfixes. 2016-05-08 14:10:07 -07:00
Henrik Rydgard
4e52f613f1 Additional fixes and buildfixes 2016-05-08 22:23:51 +02:00
Henrik Rydgard
f8659b8e1e Move the IR interpreter out into its own file. Rename it in the UI. First CMake and Android fixes. 2016-05-08 22:06:13 +02:00
Henrik Rydgard
492ea5fac4 Address a bunch of comments, thanks for the review 2016-05-08 21:38:03 +02:00
Henrik Rydgard
3eb5480ade Initial VFPU 2016-05-08 13:32:22 +02:00
Henrik Rydgard
98113edbd4 More simplify pass 2016-05-08 11:29:11 +02:00
Henrik Rydgard
14df39d7c9 Fix IRTEMP clash bug. Add more cases to the constant propagation pass. 2016-05-08 10:36:37 +02:00
Henrik Rydgard
aae32bd929 ir-jit: Re-enable mult. Fix bvf/bvt 2016-05-08 02:47:19 +02:00
Henrik Rydgard
46e839b2b2 ir-jit: Fix bugs in rounding 2016-05-08 02:26:36 +02:00
Henrik Rydgard
e750987052 ir-jit: Fix bug in ext 2016-05-08 02:09:01 +02:00
Henrik Rydgard
7d4774db4c Fix wsbw 2016-05-08 02:08:25 +02:00
Henrik Rydgard
1a2edc67d0 Add support for float store/load 2016-05-08 02:03:11 +02:00
Henrik Rydgard
ce8aae5ed1 Make the IRJit core selectable in developer tools 2016-05-08 01:43:27 +02:00
Henrik Rydgard
09969c0156 Use the regcache in a new (incomplete) pass, PropagateConstants. 2016-05-08 01:06:07 +02:00
Henrik Rydgard
a33f8b68c6 ir-jit: Get rid of the regcache. Should be replaced with optimization passes. 2016-05-07 23:12:53 +02:00
Henrik Rydgard
750d520cc7 Initial work on mult and friends. Fix another bug. 2016-05-07 22:27:58 +02:00
Henrik Rydgard
3c5510e5a3 Disable debug file logging, fix issue with replacement functions, etc 2016-05-07 21:35:12 +02:00
Henrik Rydgard
12edfcea5a Enough to run cpu_alu.prx. 2016-05-07 21:00:30 +02:00
Henrik Rydgard
4acf85aa06 It's kind of starting to run 2016-05-07 17:37:19 +02:00
Henrik Rydgard
d399c4a470 Initial commit for IRJit 2016-05-07 13:58:29 +02:00
Henrik Rydgard
49a6a2f6cf Minor refactor - let's not access a global when we don't need to 2016-05-06 21:22:36 +02:00
Henrik Rydgard
ccce19e14a Fix accidentally truncated comment. 2016-05-01 18:47:32 +02:00
Henrik Rydgard
ffe4c266ef Add CodeBlockCommon base class to remove further arch-specificity in JitBlockCache
Remove unused ArmThunk.
2016-05-01 11:40:00 +02:00
Henrik Rydgard
8b450c8034 Merge NativeJit.cpp/h with JitCommon.cpp/h 2016-05-01 11:39:59 +02:00
Henrik Rydgard
5aadce59a2 Move architecture-specific code out of JitBlockCache 2016-05-01 11:39:58 +02:00
Henrik Rydgard
a5be0976bd Remove preprocessor hacks to choose JIT implementation.
Opens up for having multiple JIT implementations available at runtime,
which could be use for experimenting with new JIT compiler types or for
unit testing one JIT on another architecture.

Very few of the newly virtual calls are on any sort of critical path so
hopefully there will not be a performance loss.
2016-05-01 11:39:53 +02:00
Henrik Rydgard
4645473dab Remove unused code 2016-05-01 11:35:16 +02:00
Unknown W. Brackets
2461a849f9 Correct some warnings reported by clang. 2016-03-20 23:13:28 -07:00
Unknown W. Brackets
ef1dc583a2 Fix various minor warnings. 2016-03-20 14:17:51 -07:00
Henrik Rydgard
d60f5ba285 Fix minor memory leak in JIT block cache 2016-02-10 15:43:36 +01:00
Unknown W. Brackets
eebe3e7bce armjit: Fix block exit safety writes.
This ensures we don't link to invalid blocks, fixes BKPTs on relinking,
and fixes BKPTs when relinking a prelinked block.

Should help #8524.
2016-01-30 20:44:57 -08:00
daniel229
d032c3895b Replace function in Omerta Chinmoku No Okite The Legacy 2016-01-24 11:58:20 +08:00
daniel229
0ab6c544b7 Replace function in unENDing Bloody Call 2016-01-24 11:55:56 +08:00
daniel229
80952d5e06 Replace function in ATV Offroad Fury Pro (US) demo 2016-01-24 11:53:46 +08:00
Unknown W. Brackets
67450f2625 Don't trust symbol map func defines.
Unfortunately, some games dynamically load modules that all have the same
name, but different content.  This tries to detect that situation better,
by at least not using the name if the address is different.

This will also track the right sizes for hashing, making incorrect
identification of functions much less likely.

Fixes #8420.
2016-01-22 00:39:31 -08:00
Unknown W. Brackets
8713e532e0 arm64jit: Log if HI is set an an imm. 2016-01-20 23:26:49 -08:00
Henrik Rydgard
dedcc149d8 ARM64: Fix typo in mfhi and mflo instructions. May help #8383 2016-01-19 23:26:43 +01:00
Unknown W. Brackets
0fc774927f jit: Minor cleanups. 2016-01-10 12:28:29 -08:00
Henrik Rydgard
b4dd094f56 x86jit: Save a MOV in many cases of "jr ra" 2016-01-10 12:28:00 -08:00
daniel229
1e984b48ef update functions 2016-01-04 09:08:52 +08:00
daniel229
de8503f83b Replace function in Shinigami to Shoujo 2016-01-03 22:35:46 +08:00
daniel229
05612bbc25 Replace function in Little Busters! Converted Edition 2016-01-03 22:28:38 +08:00
daniel229
3b461a00cc Replace function in ATV Offroad Fury Blazin' Trails 2016-01-03 22:20:50 +08:00
daniel229
107fa1c09a Replace function in ATV Offroad Fury Pro 2016-01-03 22:13:42 +08:00
daniel229
ed12bb9c89 Fix flickering in SD Gundam G Generation Portable 2016-01-03 09:56:40 +08:00
daniel229
678ca9301a Fix tutorial videoes in Tony Hawk P8 2016-01-02 13:33:22 +08:00
gmvbif
281f0e18e6 Fixed some errors from PVS-Studio in Core project
FixedSizeQueue
- Added private operator=
- Changed signature of EndPop
Some changed to printf like functions.
Fixed typo in syn-att.c
2015-12-31 10:25:11 +03:00