Scott Mansell
27beef1ff4
Store an inverted copy of lastOCfactor.
...
The inverse operation is more common, especially when games check the
timer rapidly. So we do the division once and store the inverted copy.
2016-03-24 05:17:10 +13:00
Scott Mansell
407f86e01a
Mark global variables with g_ prefix
2016-03-24 04:32:12 +13:00
Scott Mansell
2ebbfd6f85
Adjust cycle counts so they are accurate to the jit block level
...
Previously GlobalTimer was only updated at the end of each slice
when CoreTiming::Advance() was called, so it could be upto 20,000
cycles off.
This was causing huge problems with games which made heavy use of
the time base register, such as OoT (virtual console) and Pokemon
puzzle.
I've also made it so event scheduling will be accurate to the jit
block level, instead of accurate to the slice.
2016-03-24 04:24:53 +13:00
Ryan Houdek
ae4c7661d6
Merge pull request #3212 from mickdermack/pr-recalc-flags
...
JIT x64: Recalculate flags after add/sub
2016-01-22 12:45:52 -05:00
Pierre Bourdon
e455ca4d58
Merge pull request #3535 from RisingFog/cya_savestate_memleak
...
Properly clear JIT cache on save states
2016-01-20 18:02:25 +01:00
Chris Burgener
a7a744d33c
Properly clear JIT cache on save states
2016-01-20 11:20:15 -05:00
Lioncash
f8fcceb99e
Jit: Get rid of indirect includes
2016-01-12 00:12:36 -05:00
Tillmann Karras
84b1e22246
PowerPC: rename fcmpx to fcmpX
...
lowercase: optional Rc bit
uppercase: generic placeholder
2015-12-16 21:17:36 +01:00
Lioncash
f7977fdee5
Jit: Fall back to interpreter when frsp's record bit is set
2015-12-09 14:11:45 -05:00
Michael Ehrenreich
02546ff82b
JIT x64: Recalculate flags on add/sub
2015-11-17 20:19:02 +01:00
Lioncash
3f4852a03d
MathUtil: Convert IsPow2 into a constexpr function
2015-09-12 01:26:05 -04:00
flacs
c5685ba53a
Merge pull request #2972 from lioncash/align
...
General: Replace GC_ALIGN macros with alignas
2015-09-11 17:00:13 +00:00
Lioncash
19459e827f
Partially revert "General: Toss out PRI macro usage"
2015-09-11 09:49:00 -04:00
Lioncash
8ce04f9a65
General: Replace GC_ALIGN macros with alignas
...
Standard supported alignment -> out with compiler-specific.
2015-09-06 12:53:51 -04:00
Scott Mansell
be4caa3dc0
Merge pull request #2961 from lioncash/printf
...
General: Toss out PRI macro usage
2015-09-06 21:02:22 +12:00
Lioncash
8fdb013d54
General: Toss out PRI macro usage
...
Now that VS supports more printf specifiers, these aren't necessary
2015-09-05 16:02:35 -04:00
Tillmann Karras
405554e327
Jit64: remove unnecessary indirection
2015-09-05 12:40:14 +02:00
Tillmann Karras
ee50a2ef28
Jit64: fix bugs in the FPSCR instructions
2015-08-25 23:48:14 +02:00
degasus
0d92c8fb89
Jit64: Optimize dcbx
2015-08-24 18:33:23 +02:00
Tillmann Karras
ac84d6d0fa
Jit64: some cache flush changes
...
- dynamically allocate third scratch register instead of forcing ECX
- use LEA as 3 operand add if possible
- use BT,JC instead of SHR,TEST,JNZ
- merge MOV,TEST
- use appropriate ABI function (no asm change)
2015-08-24 18:33:23 +02:00
degasus
6f34b27323
Jit64: implement dcbf + dcbi
2015-08-24 18:33:19 +02:00
Tillmann Karras
33eefc2d86
Jit64: quickfix for mtfsfx
2015-08-24 12:12:31 +02:00
Lioncash
fdafa5d063
Core: Move includes out of instruction table headers
...
These aren't necessary (and cause unnecessary indirect inclusions).
2015-08-22 14:15:02 -04:00
Lioncash
a248a4d2ce
Jit64/JitIL: Relocate instruction typedefs
2015-08-22 14:15:00 -04:00
Lioncash
c56717e058
Core: Shorten the _interpreterInstruction typedef
...
The class itself already acts as a namespace trailer, so '_interpreter'
isn't necessary. This also gets rid of a duplicate typedef in the
Interpreter_Tables.
2015-08-22 14:14:49 -04:00
flacs
bb7f3d1822
Merge pull request #2867 from Tilka/mtspr_hid0
...
Jit64: implement HID0 case of mtspr
2015-08-21 21:04:35 +02:00
flacs
01aea965ba
Merge pull request #2864 from Tilka/fpscr
...
Jit64: implement FPSCR related instructions
2015-08-21 21:04:20 +02:00
Lioncash
95c57fcec1
Jit: Remove unnecessary namespace prefixes
2015-08-20 05:20:19 -04:00
Tillmann Karras
0f2c656687
Jit64: implement FPSCR related instructions
2015-08-18 18:12:32 +02:00
Tillmann Karras
1c78c7b864
Jit64: implement HID0 case of mtspr
2015-08-17 13:31:57 +02:00
Pierre Bourdon
58b4b7edea
Merge pull request #2863 from Tilka/fallback
...
Jit64: load PC only once after fallbacks
2015-08-17 10:29:54 +02:00
Tillmann Karras
fbdc20ac37
Jit64: load PC only once after fallbacks
2015-08-17 06:05:10 +02:00
Tillmann Karras
a9447a8606
PowerPC: drop instructions not supported by GC/Wii
2015-08-17 06:03:11 +02:00
Tillmann Karras
dd5cc34951
Jit64: clean up GetAllocationOrder()
2015-08-15 07:25:14 +02:00
Tillmann Karras
e5a2334744
Jit64: make use of ANDN again
...
This time, make sure not to use it with immediates.
2015-08-14 21:25:52 +02:00
flacs
9ef349181e
Revert "Jit64: use BMI1's ANDN for andcx"
2015-08-14 18:10:07 +02:00
Tillmann Karras
f9129c0e08
Jit64: use BMI1's ANDN for andcx
2015-08-14 05:51:31 +02:00
Tillmann Karras
145494144c
Jit64: duplicate fres result into ps1
...
And since frD is completely overwritten now, avoid loading it at all.
2015-08-08 06:17:47 +02:00
Tillmann Karras
f5a10bddee
Jit64: use overloaded IsSimpleReg() where useful
2015-08-06 10:39:43 +02:00
Tillmann Karras
a3476415f6
JitRegCache: mark derived classes as final
2015-08-06 10:39:43 +02:00
Markus Wick
f800a5b93f
Merge pull request #2695 from degasus/jit64
...
Jit64: Fallback support of branching instructions
2015-07-28 16:37:41 +02:00
Tillmann Karras
89954d658c
Jit64: drop needless casts
2015-07-18 22:33:42 +02:00
Tillmann Karras
334c1bfdf6
Jit64[IL]: drop WriteCallInterpreter
2015-07-17 03:25:38 +02:00
degasus
6f38d1baa1
CodeBlock: Add a shared IsAlmostFull function
...
This function shall keep care about the low watermark of code space.
If we ran out of space, the JITs shall clear their block cache.
2015-07-15 08:53:05 +02:00
degasus
30869135d5
Jit64: Fallback support of branching instructions
2015-07-04 04:12:25 +02:00
degasus
717d4bfbcc
Interpreter: Idle skipping support
2015-06-30 20:11:23 +02:00
Tillmann Karras
2bd11469a5
Jit64: fix pre-SSE4.1 fallback of ps_sum1
2015-06-24 16:48:26 +02:00
Lioncash
6ca6896b6e
JitRegCache: Get rid of an unnecessary cast
2015-06-19 18:10:56 -04:00
Matthew Parlane
f32cede086
Revert "x64: build a Position-Independent Executable (PIE)"
2015-06-14 16:06:26 +12:00
degasus
c375111076
Options: merge SCoreStartupParameter into SConfig
2015-06-12 19:07:45 +02:00