Henrik Rydgård
3e198c53b2
More include cleanup
2024-12-18 13:57:26 +01:00
Henrik Rydgård
83af54950f
Move more core-related stuff into Core.cpp/h
2024-12-08 11:54:58 +01:00
Henrik Rydgård
c25e6b3933
Add "Split syscall" mechanism
2024-12-05 00:05:39 +01:00
Henrik Rydgård
96c4a10e8c
Add two new core states, rename RUNNING to RUNNING_CPU and similar for stepping.
2024-12-01 21:04:21 +01:00
Henrik Rydgård
2e85eb5128
More static code analysis fixes
2024-10-28 17:59:06 +01:00
oltolm
62194185d4
fix shutdown crash on Windows
2024-08-24 13:41:33 +02:00
Henrik Rydgård
5926886c0c
Some include cleanup, delete some obsolete code
2024-07-25 14:52:41 +02:00
Henrik Rydgård
e01ca5b057
Logging API change (refactor) ( #19324 )
...
* Rename LogType to Log
* Explicitly use the Log:: enum when logging. Allows for autocomplete when editing.
* Mac/ARM64 buildfix
* Do the same with the hle result log macros
* Rename the log names to mixed case while at it.
* iOS buildfix
* Qt buildfix attempt, ARM32 buildfix
2024-07-14 14:42:59 +02:00
Henrik Rydgård
9ef5250387
IRJit: If we're in "JIT using IR" mode, don't accidentally optimize for the interpreter.
2024-06-11 10:24:08 +02:00
Henrik Rydgård
e852771480
Integrate the voffset shuffle in ReadVector
2023-10-05 18:52:50 +02:00
Unknown W. Brackets
2e64abd2a0
x86jit: Improve some debug labels.
...
Helps when running a profiler that reads these.
2023-08-27 12:51:29 -07:00
Unknown W. Brackets
622c69dbb9
x86jit: Expose option to select new IR based jit.
2023-08-20 22:28:54 -07:00
fp64
a97c911d46
Address feedback
2023-05-25 17:28:38 -04:00
fp64
23ef21ba9b
Fix a bug, and bump savestate version
2023-05-25 16:18:58 -04:00
fp64
71884d5843
Make vrnd match HW closer
...
See investigation starting
https://github.com/hrydgard/ppsspp/issues/16946#issuecomment-1467261209
for more details.
Still needs more testing.
2023-05-25 14:18:19 -04:00
Henrik Rydgård
0719f1d4ea
Merge branch 'cheat-icache' (PR #16234 )
2022-10-16 09:55:30 +02:00
Unknown W. Brackets
0226d95000
jit: Run invalidates immediately.
...
Previously, I thought we might clear native code when invalidating - we
don't. We only do that when clearing.
2022-10-15 18:52:46 -07:00
Unknown W. Brackets
c4bf2cb5c0
jit: Ignore zero byte icache invalidates.
...
These were getting marked pending and were clearing all cache, causing
performance concerns in for example LittleBigPlanet.
2022-10-15 18:27:52 -07:00
Henrik Rydgård
a34e32abe1
Revert "Disables "ForceCheck" on jit invalidation on ARM32, introduced in #16194 "
...
This reverts commit bc28f54612
.
2022-10-11 15:42:59 +02:00
Henrik Rydgård
bc28f54612
Disables "ForceCheck" on jit invalidation on ARM32, introduced in #16194
...
I'm not sure if we should call it at all here, but at least this makes
games work again on ARM32. Will need more investigation.
2022-10-11 10:10:52 +02:00
Unknown W. Brackets
825450a373
jit: Defer invalidations made while running.
...
Previously, invalidating icache could happen while running, which might
cause the CPU to return into outer space. This runs such invalidations
after letting the CPU exit.
It was easy to trigger this with the debugger: step using the GE debugger,
add a CPU memory breakpoint, then resume from the GE debugger.
However, cheats and the like could cause similar issues.
2022-10-09 21:26:13 -07:00
Unknown W. Brackets
2479d52202
Global: Reduce includes of common headers.
...
In many places, string, map, or Common.h were included but not needed.
2022-01-30 16:35:33 -08:00
Unknown W. Brackets
48b597a1b9
Display: Move core counters/stats to HW file.
...
This separates things better, so not everything is pulling in HLE.
2022-01-30 11:53:48 -08:00
Unknown W. Brackets
b8ab7f39df
jit: Lock around changes to the jit pointer.
2021-11-28 10:04:22 -08:00
Unknown W. Brackets
0c6c2fb47a
jit: More atomically update pointer.
2021-11-27 06:00:18 -08:00
Unknown W. Brackets
e0afdfe9be
Core: Leave delay slot when re-entering jit.
...
If stepping, we may get into a delay slot within interpreted code, and
then try to run (i.e. Step Out), which won't clear the delay slot
properly.
This can cause weird behavior when interp is used again later, in addition
to immediate wrong branching behavior.
2021-05-09 08:52:38 -07:00
Henrik Rydgård
9e41fafd0d
Move math and some file and data conversion files out from native to Common.
...
Buildfixing
Move some file util files
Buildfix
Move KeyMap.cpp/h to Core where they belong better.
libretro buildfix attempt
Move ini_file
More buildfixes
2020-10-04 09:12:46 +02:00
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
xSacha
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