Commit Graph
68 Commits
Author SHA1 Message Date
Unknown W. Brackets b8342fb8ec SaveState: Rename ChunkFile files to Serialize.
Makes more sense and less weird than ChunkFileDoMap, etc.
2020-08-10 08:04:05 +00:00
Unknown W. Brackets 4b4e3432cd SaveState: Split Do() into a separate header. 2020-08-10 08:03:41 +00:00
Unknown W. Brackets b4496f1975 Core: Move config enums to separate file.
These are a bit strewn about and there are constants that aren't
consistently used, which just adds confusion.
2018-06-23 10:59:18 -07:00
Unknown W. Brackets 09e307b097 arm64jit: Update rounding mode on thread switch.
Since fcr31 is per-thread, we must update jit state when it changes.
This also fixes the rounding mode on load state and jit/interp switch.
2018-04-01 10:12:32 -07: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
Henrik Rydgard b9b3a022fb Switch another enum to enum class 2017-03-02 12:36:54 +01:00
Henrik Rydgard ce8aae5ed1 Make the IRJit core selectable in developer tools 2016-05-08 01:43:27 +02:00
Henrik Rydgard 8b450c8034 Merge NativeJit.cpp/h with JitCommon.cpp/h 2016-05-01 11:39:59 +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
Sacha bbc4f64999 MIPS: Fix build so we can compile this again. 2015-10-29 02:46:43 +00:00
Unknown W. Brackets 909e4b9bd8 Switch lo and hi so that low comes first.
This way we can treat it as a single 64-bit value.
2015-06-28 10:42:19 -07:00
Henrik Rydgard e7e58591da More JIT work, not quite there yet... 2015-04-06 18:13:04 +02:00
Henrik Rydgard b309c83973 Initial work on ARM64, based on the ARM jit. 2015-04-06 18:13:01 +02:00
Henrik Rydgård 53ab7ab4b2 Fix FakeJit, start preparing a little for ARM64 2014-12-23 09:36:28 +01:00
Henrik Rydgard 8ad1ea4c84 Split JitCommon.h so that you can include it without getting the "NativeJit" definition 2014-12-13 21:13:28 +01:00
Henrik Rydgard 75a9420b21 Reduce the number of places we include JitCommon.h. Update native. 2014-12-12 23:49:08 +01:00
Henrik Rydgard 4457dca4c9 Rename the ARM Jit class to ArmJit 2014-12-07 14:25:22 +01:00
xSachaandUnknown W. Brackets 3172fa22e2 Integrate new MIPS emitter. 2014-11-18 08:40:57 -08:00
Sacha a0086f6412 Introduce a Fake JIT for generic builds. 2014-11-13 00:09:51 +10:00
Henrik Rydgård 91966824bb minor cleanup: No point in having special functions for ReadFCR/WriteFCR, they're smaller than many other ops.. 2014-10-11 15:57:36 +02:00
Unknown W. Brackets c9df66a450 Initialize the VFPU revision from a PSP-3000 value. 2014-09-01 23:16:50 -07:00
Unknown W. Brackets c0e6f26bb5 Fix startDefaultPrefix tripping.
We want the regs already initialized when we set this up.
2014-06-30 08:10:14 -07:00
Unknown W. Brackets f544a87b2f jit: Initialize startDefaultPrefix when switching. 2014-06-28 00:38:56 -07:00
Unknown W. Brackets 9efbc2694b Add an invalidate all method to the jit. 2014-06-19 01:13:06 -07:00
Henrik Rydgard 0879d76503 VFPU: Ensure that sin(4*x) returns 0.0 (and cos 1) for all x. Fixes #2921 2014-06-15 11:03:00 +02:00
Unknown W. Brackets a70b5abfb9 Allow jit to be enabled/disabled at runtime. 2014-05-27 00:02:51 -07:00
Henrik Rydgard c80510fb3b MemMap should not be included in MIPS.h. 2014-03-15 10:45:39 +01:00
Henrik Rydgård 2b05a60d9d Clear out the jit pointer on shutdown. Some cleanup. 2014-01-28 11:32:54 +01:00
Henrik Rydgård 79ff2f0ba8 Start untangling our include mess a little. 2013-12-29 23:34:45 +01:00
Unknown W. Brackets dd2e996838 Fix some type comparison warnings. 2013-12-01 11:21:16 -08:00
Henrik Rydgard 50a589ea72 Extend sanity check for vfpu reordering array. 2013-11-28 13:27:52 +01:00
Henrik Rydgard f9f6e9492d Reorder vfpu data in saved kernel contexts when loading in a new version. 2013-11-28 13:27:51 +01:00
Henrik Rydgard 55500d4bb6 Reorder VFPU registers in memory so that we can flush and reload them in bulk more often.
Doesn't actually do that yet, that's for the NEON branch.
2013-11-28 13:27:51 +01:00
Unknown W. Brackets f165a15eff Fix a -unsigned warning.
Looks ugly, but (u32)-(s32)val is what we really want here.

Also make a __FUNCTION__ redeclaration warning go away.
2013-11-15 08:18:34 -08:00
Unknown W. Brackets 5128083d93 Mask out fcr31 bits that can't be set on a PSP. 2013-11-14 23:57:28 -08:00
Unknown W. Brackets 26f5922174 Return the correct value for fcr0/fir.
This is what the PSP actually returns, it's read only.
2013-11-14 23:39:08 -08:00
Unknown W. Brackets 50e9e45d65 Check version in each DoState() func.
They bail on PointerWrap error or bad version.
2013-09-14 20:23:03 -07:00
Ced2911 c94d9b62d0 Update ppc jit 2013-09-12 10:18:59 +02:00
Unknown W. Brackets da0c9a86e5 Invalidate stubs/var imports when writing them. 2013-09-01 00:32:43 -07:00
Unknown W. Brackets 97aa1a631e Improve typesafety in the x86 regalloc. 2013-08-24 19:41:10 -07:00
Unknown W. Brackets 3f49101868 Clean up the COP1 MIPS tables, and reporting. 2013-08-11 19:35:39 -07:00
Henrik Rydgard d8294f025f More VFPU stuff (nothing new activated) 2013-07-30 01:09:11 +02:00
Henrik Rydgard afcb5add51 Minor code cleanup/reindent around ARM jit 2013-07-27 22:14:01 +02:00
Henrik Rydgard 5877929fe5 Add Mersenne Twister random number generator. 2013-05-20 00:57:45 +02:00
Henrik Rydgard 9eace8a80e Combine the two JitCache implementations (x86, ARM) into one. 2013-04-27 01:32:03 +02:00
Unknown W. Brackets c4ab0855b4 Make sure interpreter and jit savestates match. 2013-03-08 08:49:21 -08:00
Unknown W. Brackets afb7c0b83c Assume prefixes start default until proven wrong.
Currently this means nothing since the MIPSTables flags are wrong.
It will blow the cache once, after the first vfpu op.
2013-02-18 01:14:57 -08:00
Henrik Rydgard 37f998407b Replace "Core" with "Jit" in ini. Don't show Open dialog by default (use Ctrl+A or Ctrl+O to open it).
Delete "Slightly Faster Interpreter".
2013-02-16 09:49:33 +01:00
Henrik Rydgard 909b768f47 Don't need separate variables for writemask. Some optimizations. 2013-02-16 09:28:55 +01:00
Unknown W. Brackets 2a6457b6ab Cut down on h files including PointerWrap.
This makes changes to it a bit faster to build.
2013-02-04 08:26:59 -08:00