Commit Graph
266 Commits
Author SHA1 Message Date
Henrik Rydgård c55847a79e Fix typo causing #10408 2017-12-14 00:23:07 +01:00
Henrik Rydgård 0207739d76 Can't call functions through known-nil pointers, even if they don't touch local data - LLVM's optimizer might have done something stupid. 2017-11-30 01:07:03 +01:00
Unknown W. Brackets 3dacd323c8 x64: Avoid clobbering jr dest in cases. 2017-07-08 16:40:06 -07:00
Unknown W. Brackets 79a6690a30 x64: Fix coreState rip checks. 2017-07-08 16:39:26 -07:00
Henrik Rydgård 567937fa4d x64: Enable non-RIP addressing for FPU registers 2017-07-07 11:33:07 +02:00
Henrik Rydgård cfa7c61651 More RIP removal. Also add some comments to make it easy to just search for "M(&" to find remaining offenders. 2017-07-07 11:33:06 +02:00
Henrik Rydgård 0743334946 Guess what? More RIP elimination (but keep the fast path too) 2017-07-07 11:33:05 +02:00
Henrik Rydgård 7c3b37c561 More RIP elimination 2017-07-07 11:33:05 +02:00
Henrik Rydgård d82f90f1b2 More RIP removal 2017-07-07 11:33:05 +02:00
Henrik Rydgård f44f7472e5 Remove more RIP addressing 2017-07-05 13:27:38 +02:00
Henrik Rydgård 99d23fb021 X64/X86: Even more use of the context register 2017-07-05 13:21:35 +02:00
Henrik Rydgård 730e9ced6c X86/X64: We have the context register loaded, let's use it more. 2017-07-05 13:12:42 +02:00
Henrik Rydgård c4db0a2311 x64: Use context register to access saved_flags 2017-07-05 12:45:56 +02:00
Henrik Rydgård 0ec1e5e3b2 Don't erase and rewrite the dispatcher when the cache is cleared. Fixes #9708 2017-05-26 15:48:03 +02:00
Henrik Rydgard c1f9f96621 Minor code formatting in x86 Jit 2017-02-04 14:34:39 +01:00
Henrik Rydgård 635b2ada43 Remove a function that didn't make a lot of sense. 2017-01-26 09:50:16 +01:00
Florent Castelli 8c3552de74 cmake: Detect features at compile time
Instead of relying on manually passed down flags from CMake,
we now have ppsspp_config.h file to create the platform defines for us.
This improves support for multiplatform builds (such as iOS).
2016-10-19 12:31:19 +02:00
Henrik Rydgard 4e5f1e2797 Fix block linking with W^X mode 2016-08-28 18:54:14 +02:00
Henrik Rydgard b264657d56 Implement W^X-compatible path. Works on Windows and Android, hopefully iOS (untested).
Disabled block linking in this mode, can re-enable with some more work later.

To enable W^X on other platforms than iOS, simply change PlatformIsWXExclusive.
2016-08-28 14:52:08 +02:00
Unknown W. Brackets 9972e5b10a Debugger: Allow logging on CPU breakpoints. 2016-08-04 12:39:29 -07: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 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 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 5aadce59a2 Move architecture-specific code out of JitBlockCache 2016-05-01 11:39:58 +02:00
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
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
Henrik Rydgard 92f7f459dc Not safe to change the rounding mode function pointer in GenerateCode 2015-10-10 16:46:07 +02:00
Henrik Rydgard 1ddb508542 Improve x86 disassembly (a few symbols) 2015-10-10 13:05:17 +02:00
Henrik Rydgard d628b9b57b Minor fixes, mostly comments 2015-10-10 10:03:34 +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 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 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
Henrik Rydgard aaa8350591 Windows: Fix some remaining ASLR issues 2015-07-15 22:25:24 +02:00
Unknown W. Brackets 8fdceba7ca Add timing for all the basics.
This way we can see overall stats for a frame.
2015-07-03 12:05:08 -07:00
Henrik RydgårdandUnknown W. Brackets 70fa830ba5 Split out the ReplaceJalTo test logic.
This makes it so the IR, in the future, can work correctly for
replacements.
2015-04-12 13:35:10 -07:00
Henrik RydgårdandUnknown W. Brackets d014d420db Unify JitOptions across the backends.
This is required to make ExtractIR not a member of the various backends.
2015-04-12 11:41:26 -07:00
Henrik RydgårdandUnknown W. Brackets 81dec36da8 Use an accessor to read the compilerPC.
In the IR it will be read from the block.
2015-04-11 01:14:37 -07:00
Henrik RydgårdandUnknown W. Brackets a897723e6a Separate out jit reading nearby instructions.
This makes it easier to use an IR for these things, or remove them.
2015-04-11 00:53:24 -07:00
Unknown W. Brackets 9d52ee4e21 Fix cases where breakpoints were skipped.
After reset or savestate load.
2015-03-17 23:06:25 -07:00
ChinandHenrik Rydgard 37f50a3792 Change to pass some arguments by reference 2015-03-01 16:49:00 +01:00
Henrik Rydgard 07933cad42 Revert "Minor optimizations, add a failsafe"
This reverts commit 48e4d1edae.
2015-01-22 19:52:58 +01:00
Henrik Rydgard 48e4d1edae Minor optimizations, add a failsafe 2015-01-20 20:08:12 +01:00
Unknown W. Brackets 9cb1151b67 x86jit: Disable replacements w/ breakpoints inside.
This does alter graphics (memcpys won't fire anymore), but it also means
breakpoints work which is nice.
2015-01-18 21:26:37 -08:00
Unknown W. Brackets 5f6f8ac0a2 x86jit: Fix another sequential detect problem.
Arg.  Maybe should use voffset after all, but it won't fit in a u8
anyway...
2014-12-31 22:43:31 -08:00
Unknown W. Brackets c5f7b6fa72 x86jit: Disable simd again for now. 2014-12-31 19:43:40 -08:00
Bovine a9b7656f93 Fix to VFPU register allocation. Fixes #7174
GetFreeXRegs(_,_,true) invalidates registers it can see on spill,
but it can't see all the registers in the array due to how we call it
so we have to invalidate the rest ourselves.  Not doing so can get it
to use the same register twice.
2014-12-23 03:39:50 -07:00