Commit Graph
155 Commits
Author SHA1 Message Date
Unknown W. Brackets 0f79afa172 interp: Support memory breakpoints too. 2022-11-13 17:45:43 -08:00
Unknown W. Brackets f9da9e6b60 interp: Centralize memory size handling. 2022-11-13 17:38:53 -08:00
Unknown W. Brackets 76cf4dbf12 interp: Allow breakpoints in release mode. 2022-11-13 16:52:40 -08:00
Unknown W. Brackets 1662bd3bb8 interp: Allow resume from breakpoint. 2022-11-13 16:03:29 -08:00
Unknown W. Brackets 2bd13c5d9d Debugger: Track reason for entering stepping. 2021-10-23 16:56:15 -07:00
kotcrab 450d0ef015 Remove .s suffix from vwbn disassembly 2021-09-27 22:42:10 +02:00
kotcrab 4bdba8ae6f Fix disassembly of vmfvc and vmtvc 2021-09-25 16:33:07 +02:00
Unknown W. Brackets c4eafcf008 jit: Increase the cycle cost of div.s.
This largely matches tests on a real PSP.
2021-04-12 07:06:18 -07:00
Unknown W. Brackets 53104639ff jit: Increase the cycle cost of VFPU ops.
It seems like they all take at least 2 cycles, which kinda makes sense.
2021-04-12 07:06:18 -07:00
Unknown W. Brackets bc16a55028 jit: Count delay slot cycles separately.
This makes it easier to count cycles per instruction, instead of ignoring
the delay slot's instruction for cycle count.
2021-04-12 07:04:22 -07:00
Unknown W. Brackets f32f89dd90 Global: Remove some unused variables. 2021-02-15 11:59:45 -08:00
Henrik Rydgård 6f1915110f Remove base/logging from UI and more 2020-08-15 19:08:54 +02:00
Henrik Rydgård c5e0b799d9 Remove category from _assert_msg_ functions. We don't filter these by category anyway.
Fixes the inconsistency where we _assert_ didn't take a category but
_assert_msg_ did.
2020-07-19 20:33:25 +02:00
Unknown W. Brackets 940066db68 Core: Track exception on bad jumps. 2020-07-12 21:59:08 -07:00
Unknown W. Brackets aff1d8e8b2 interp: Implement vsbz and vlgb.
Not sure any games actually use them, but good to have the remaining vfpu
ops all implemented.
2019-02-23 15:08:49 -08:00
Unknown W. Brackets 520f850e09 Jit: Correct VFPU prefix eating flags.
Verified by tests.  Also, confirmed that the old vxbz encoding had no
output, but the new position (as used by gas) does.
2019-02-23 15:08:49 -08:00
Unknown W. Brackets 25136eb019 Remove an unused function. 2016-05-31 11:40:39 -07:00
Henrik Rydgard 6e44e97ffa Refactor prep: Split JitInterface into MIPSFrontendInterface and JitInterface 2016-05-09 19:41:39 +02:00
Henrik Rydgard 3c5510e5a3 Disable debug file logging, fix issue with replacement functions, etc 2016-05-07 21:35:12 +02:00
Henrik Rydgard 12edfcea5a Enough to run cpu_alu.prx. 2016-05-07 21:00:30 +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 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 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
Henrik RydgårdandUnknown W. Brackets 6dcf56530b Add some missing FPU flags to MIPSTables. 2015-04-12 11:56:04 -07:00
Henrik RydgårdandUnknown W. Brackets 115486e431 Fix some fp instruction in/out flags 2015-04-11 00:03:56 -07:00
Henrik Rydgard 0922db6062 ARM64: Some FP work. 2015-04-06 18:13:11 +02:00
Henrik Rydgard b309c83973 Initial work on ARM64, based on the ARM jit. 2015-04-06 18:13:01 +02:00
Unknown W. Brackets dfcfad5d52 Remove a useless function call. 2015-01-19 09:10:04 -08:00
Unknown W. Brackets 0f920d9b43 Add flags for VFPUCC affecting instructions.
This may fix possible bugs in clobber as well as help spill.  Could also
affect nice delay slots?
2015-01-10 02:02:39 -08:00
Henrik Rydgard 240ebcb085 Fix memory leaks in sceJpeg 2014-12-31 15:34:50 +01:00
Henrik Rydgård 53ab7ab4b2 Fix FakeJit, start preparing a little for ARM64 2014-12-23 09:36:28 +01:00
Henrik Rydgard a54e0cf244 Goodbye PowerPC, you can always be resurrected when the time comes 2014-12-16 21:58:38 +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
Unknown W. Brackets afc779a824 jit: Add IN_RT to lwl/lwr and re-enable clobbering. 2014-12-08 21:17:01 -08:00
Henrik Rydgard 4457dca4c9 Rename the ARM Jit class to ArmJit 2014-12-07 14:25:22 +01:00
Henrik Rydgard 7740caeade Buildfix the arm emitter test in the unittest.
Also do some preparation for being able to have two JITs compiled at the same time
which may be useful in testing parts of the ARM jit on Windows.
2014-12-07 14:12:13 +01:00
Henrik Rydgard e3a81f4346 x86 Jit: Basic implementation of vbfy1/2 (mostly to just cross another one off the list..) 2014-12-04 00:18:58 +01:00
Henrik Rydgard ac772f25ff x86 JIT: Join adjacent vrot calls together to avoid redundant sin/cos calls. Add a prototype, fix minor issues. 2014-11-30 11:04:13 +01:00
Henrik Rydgård 3b1476c8ec MIPSTables: Annotate fp and hi/lo in/out more accurately than just "other"
Some typo fixes
2014-10-12 19:46:50 +02:00
Unknown W. Brackets 4459b8f483 jit: Actually jit vmtfc/vmfvc.
Sicne we have them and they are easy.
2014-09-01 23:13:39 -07:00
Henrik Rydgard c80510fb3b MemMap should not be included in MIPS.h. 2014-03-15 10:45:39 +01:00
Unknown W. Brackets f300f46b9c Speed up MIPSGetInstruction() by 35%.
It's not that hot, but gets called a lot when loading modules / running
tests.  Well, and also interpreter.

Some of the previous checks were just not necessary (we never have Rese in
the tables, for example, and let's just not.)
2014-03-02 10:20:41 -08:00
Henrik Rydgård ce378b231f Delete CPU.cpp/h , cleanup 2013-12-30 00:11:29 +01:00
Henrik Rydgard 2eab4aa1bf Play around with function replacement. Turned off by default of course. 2013-12-17 23:40:27 +01:00
Henrik Rydgard 2140892074 Initial preparations for ability to replace game functions with custom implementations.
Also auto-saves hashmap additions and reapplies the hashmap on function
rename so that if you rename a function that exists in several copies
they will all be labelled.

Note that actual function replacement is not activated yet.
2013-12-17 12:27:20 +01:00
Henrik Rydgard 2d8429ac48 Assorted cleanup in the MIPS emulation 2013-12-10 13:15:16 +01:00
Unknown W. Brackets ec05146ffd Improve vfpu disasm for a few instructions. 2013-11-29 10:07:15 -08:00
Henrik Rydgard 5bb3824dcf Implement vocp on ARM and x86. 2013-11-19 21:41:47 +01:00