Commit Graph

1665 Commits

Author SHA1 Message Date
Henrik Rydgard
b998131581 Move the symbol map to the heap, deallocate it when no game is running. 2015-10-31 23:01:19 +01:00
Sacha
bbc4f64999 MIPS: Fix build so we can compile this again. 2015-10-29 02:46:43 +00:00
Henrik Rydgård
e69a456713 Merge pull request #8095 from hrydgard/improve-x64-disasm
x64 disasm: properly symbolize rip-relative addresses
2015-10-24 13:29:57 +02:00
Henrik Rydgard
aa584d1992 x86 32-bit buildfix 2015-10-24 11:10:14 +02:00
Henrik Rydgard
b7db15225f x64 disasm: properly symbolize rip-relative addresses 2015-10-24 10:37:01 +02:00
Unknown W. Brackets
3735dc7c16 arm64: Fix crash on not-nice jr delay slot.
These are very rare, I only caught this while debugging with nice
disabled.  But it could happen.
2015-10-17 01:22:26 -07:00
Unknown W. Brackets
387ebf3ddd arm64: Only clobber HI and LO together.
We can't clobber LO if HI is still needed.  Fixes a crash in Trails in
the Sky on new game (due to a mfhi getting the wrong result.)
2015-10-17 01:21:51 -07:00
Lioncash
fea7428fdb Core: Add missing override specifiers 2015-10-17 02:58:02 -04:00
Henrik Rydgard
92f7f459dc Not safe to change the rounding mode function pointer in GenerateCode 2015-10-10 16:46:07 +02:00
Henrik Rydgard
65ee3723d3 ARM64: Don't update currentRoundingFunc unless necessary. 2015-10-10 14:33:01 +02:00
Henrik Rydgard
70239f1611 Fix another rounding bug. ARM64 passes the fpu test again. 2015-10-10 13:30:30 +02:00
Henrik Rydgard
a6294f3e2d Now the three backends actually do the same thing with rounding. Fixes a bug in the x86 backend, too. 2015-10-10 13:11:38 +02:00
Henrik Rydgard
1ddb508542 Improve x86 disassembly (a few symbols) 2015-10-10 13:05:17 +02:00
Henrik Rydgard
30555f31ca ARM64 typo fix. Add a couple of worrying comments... 2015-10-10 11:56:59 +02:00
Henrik Rydgard
8914cd9914 ARM64 disassembler improvements (show many kinds of branch targets properly) 2015-10-10 11:27:28 +02:00
Henrik Rydgard
d628b9b57b Minor fixes, mostly comments 2015-10-10 10:03:34 +02:00
Henrik Rydgard
b2b5f3424f Fix for 32-bit ARM 2015-10-08 23:11:57 +02:00
Henrik Rydgard
7fee5abf9f x86/x64: Don't use a separate code block for pregenerated functions, just like on ARM 2015-10-08 22:15:28 +02:00
Henrik Rydgard
c41baab747 Pregenerate code to handle rounding mode switches. This time, for all three cores. 2015-10-08 19:58:37 +02:00
Henrik Rydgard
b7725c4f40 Remove empty header files 2015-10-08 18:54:33 +02:00
Henrik Rydgard
8a3c96a413 ARM64: Don't need to avoid destroying SCRATCH1 in these functions. 2015-10-08 14:54:43 +02:00
Henrik Rydgard
bfed830f91 Remove the ability to disable rounding mode support. It's time. 2015-10-08 14:54:42 +02:00
Henrik Rydgard
6dd86cd843 Get rid of the ForceFlushToZero hidden config option 2015-10-08 14:54:41 +02:00
Henrik Rydgard
42ce836ba5 Some minor renames and cleanups 2015-10-08 14:43:16 +02:00
Henrik Rydgard
5f4145238a Fix #8034. Cannot leave IMMs or REGIMM in statically allocated registers after a FlushAll. 2015-10-08 14:39:21 +02:00
Henrik Rydgard
490d8be4df Some cleanup, enable CRT memory tracker in debug builds 2015-10-04 14:11:34 +02:00
Henrik Rydgard
68fc776fa7 Work around some crashes I got trying to load a GTA:LCS savestate from 2014.
However, the savestate still loads to a black screen, although background audio is working.
2015-10-04 10:34:15 +02:00
Unknown W. Brackets
ea271dd61d Kill FINAL ifdef entirely.
We've never turned off the disasm pointer and it's probably not worthwhile
at this point...
2015-09-20 11:39:46 -07:00
Unknown W. Brackets
3301a347b3 arm64: Dumb typo, oops. 2015-09-12 11:56:33 -07:00
Unknown W. Brackets
dd548ba12c arm64: Check for unordered in vmin/vmax. 2015-09-08 20:07:10 -07:00
Henrik Rydgard
1c67de0c21 We don't need a third set of sized integer typedefs, get rid of it. 2015-09-06 19:10:08 +02:00
Unknown W. Brackets
9b94266c4a arm64: Avoid overflow in imm math. 2015-08-30 13:00:18 -07:00
Unknown W. Brackets
9262ddfc13 Avoid any possible shifts by 32. 2015-07-19 13:25:50 -07:00
Unknown W. Brackets
cd842ac21f Validate blocklinking in icache invalidate all.
Normally blocks are invalidated on entry.  But when blocklinking is on,
we don't validate on all entries.

This fixes Tales of Rebirth crashes (#7868.)
2015-07-19 13:08:32 -07:00
Unknown W. Brackets
96b01e4999 Make sure we don't clean up proxy blocks. 2015-07-19 13:04:06 -07:00
Henrik Rydgard
47f68ae3a3 ARM64 store optimization bugfix 2015-07-16 00:25:32 +02:00
Henrik Rydgard
aaa8350591 Windows: Fix some remaining ASLR issues 2015-07-15 22:25:24 +02:00
Henrik Rydgard
ccd77cfb7a ARM64 stores: Use WZR for any zero immediates. 2015-07-15 20:01:36 +02:00
Henrik Rydgard
8b05e27259 ARM64 regalloc: Map more registers 2015-07-11 23:53:06 +02:00
Henrik Rydgard
9fe382ad18 ARM64: Shortcut moves between gpr and vfpu when not mapped 2015-07-11 23:53:06 +02:00
Henrik Rydgard
56f9aaa164 ARM64: Store zeroes using WZR 2015-07-11 23:53:05 +02:00
Henrik Rydgård
1ba2b1cfae Merge pull request #7855 from hrydgard/static-alloc
ARM64 jit: Statically allocate a few registers, including SP
2015-07-11 18:13:47 +02:00
Henrik Rydgard
2e937b2d10 use the DiscardR function. Remove an old TODO 2015-07-11 17:17:54 +02:00
Henrik Rydgard
b73920fcba ARM64: Cleanups in regcache and jit 2015-07-11 17:00:01 +02:00
Henrik Rydgard
444fc0885c Fix the crash bug (need to mark static non-pointer regs as depointerified on flush) 2015-07-11 16:59:14 +02:00
Henrik Rydgard
2a8560e522 ARM64: Another pair of fixes for static alloc. Still crashes in many games... 2015-07-11 16:59:14 +02:00
Henrik Rydgard
d1bbc1d3c0 More regcache fixes. ML_IMM works now although there is another stability issue somewhere. 2015-07-11 16:59:13 +02:00
Henrik Rydgard
568e2abb2b Save/load static registers around replacement funcs 2015-07-11 16:59:13 +02:00
Henrik Rydgard
1b8549b26f Couple more regcache fixes 2015-07-11 16:59:12 +02:00
Henrik Rydgard
4920f3e3c1 Work towards handling ML_IMM in static registers but doesn't work yet (enable on line 649) 2015-07-11 16:59:11 +02:00