Commit Graph

72 Commits

Author SHA1 Message Date
Henrik Rydgard
3c5510e5a3 Disable debug file logging, fix issue with replacement functions, etc 2016-05-07 21:35:12 +02:00
Henrik Rydgard
4acf85aa06 It's kind of starting to run 2016-05-07 17:37:19 +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
Unknown W. Brackets
d273deedeb Use MEMSIZE SFO param to detect 64MB homebrew.
Now, use 32MB for normal games even in PSP-2000 mode, which is how real
firmware behaves.
2015-12-23 15:16:48 -08:00
Jan Beich
a4eb49f009 Unbreak build with FakeJit
Core/MIPS/fake/FakeJit.cpp:141:46: error:
      unknown type name 'FakeJitBlock'; did you mean 'JitBlock'?
const u8 *FakeJit::DoFakeJit(u32 em_address, FakeJitBlock *b)
                                             ^~~~~~~~~~~~
                                             JitBlock
Core/MIPS/JitCommon/JitBlockCache.h:59:8: note:
      'JitBlock' declared here
struct JitBlock {
       ^
Core/MIPS/fake/FakeJit.cpp:141:20: error:
      out-of-line definition of 'DoFakeJit' does not match any declaration in
      'MIPSComp::FakeJit'
const u8 *FakeJit::DoFakeJit(u32 em_address, FakeJitBlock *b)
                   ^~~~~~~~~
Core/HLE/ReplaceTables.cpp:1044:29: error:
      use of undeclared identifier 'JITFUNC'
        { "fabsf", &Replace_fabsf, JITFUNC(Replace_fabsf), REPFLAG_ALLOWINLI...
                                   ^
Core/HLE/ReplaceTables.cpp:1101:27: error:
      invalid application of 'sizeof' to an incomplete type 'const
      ReplacementTableEntry []'
        for (int i = 0; i < (int)ARRAY_SIZE(entries); i++) {
                                 ^~~~~~~~~~~~~~~~~~~
native/math/../base/basictypes.h:67:30: note:
      expanded from macro 'ARRAY_SIZE'
 #define ARRAY_SIZE(a) (sizeof(a) / sizeof(a[0]))
                             ^~~
Core/HLE/ReplaceTables.cpp:1117:9: error:
      invalid application of 'sizeof' to an incomplete type 'const
      ReplacementTableEntry []'
        return ARRAY_SIZE(entries);
               ^~~~~~~~~~~~~~~~~~~
native/math/../base/basictypes.h:67:30: note:
      expanded from macro 'ARRAY_SIZE'
 #define ARRAY_SIZE(a) (sizeof(a) / sizeof(a[0]))
                             ^~~
Core/MIPS/JitCommon/JitCommon.cpp:31:2: error:
      unknown type name 'Jit'
        Jit *jit;
        ^
Core/MIPS/JitCommon/JitCommon.cpp💯21: error:
      no member named 'Asm' in 'MIPSComp::FakeJit'
        if (MIPSComp::jit->Asm().IsInSpace((u8 *)(intptr_t)addr)) {
            ~~~~~~~~~~~~~  ^
Core/MIPS/JitCommon/JitCommon.cpp:101:45: error:
      no member named 'Asm' in 'MIPSComp::FakeJit'
                *offset = addr - (uint64_t)MIPSComp::jit->Asm().GetBasePtr();
                                           ~~~~~~~~~~~~~  ^
Core/MemMap.cpp:197:57: error:
      use of undeclared identifier 'MEMVIEW32_MASK'
  ...position, view.size, base + (view.virtual_address & MEMVIEW32_MASK));
                                                             ^
2015-05-26 15:20:10 +03:00
Henrik Rydgard
b309c83973 Initial work on ARM64, based on the ARM jit. 2015-04-06 18:13:01 +02:00
Unknown W. Brackets
2450724be2 Make Memory::Memcpy() execute memchecks directly.
This makes it easier to handle breakpoints in HLE.
2015-04-05 18:09:20 -07:00
Chin
37f50a3792 Change to pass some arguments by reference 2015-03-01 16:49:00 +01:00
Henrik Rydgard
75a9420b21 Reduce the number of places we include JitCommon.h. Update native. 2014-12-12 23:49:08 +01:00
Sacha
1ba9103cef Better support for new archs. 2014-11-11 22:55:49 +10:00
Unknown W. Brackets
8a57e37f33 Minor tweak to avoid some function call overhead. 2014-11-03 07:36:17 -08:00
Sacha
7b308247f8 Symbian buildfix. It doesn't use MemArena. 2014-08-25 02:18:58 +10:00
Henrik Rydgard
1d7642fa48 Remove most mentions of the "_XBOX" define 2014-08-24 14:21:35 +02:00
Unknown W. Brackets
55403e42c2 Introduce a memory shutdown lock.
This allows the debugger to access memory in a safe way that should never
crash.
2014-07-19 23:30:19 -07:00
Sacha
031c5d3569 Symbian: Fix memmap freeze. 2014-06-25 22:01:40 +10:00
Unknown W. Brackets
24d8a34a0b Properly respect resolveReplacements.
And use the same opcode reading func in armjit as x86jit.
Fixes Star Ocean on Android.
2014-06-23 08:20:38 -07:00
Unknown W. Brackets
fa875a6016 Fix memory mapping for sure this time on 32-bit. 2014-06-19 00:30:02 -07:00
Unknown W. Brackets
062d747cee Fix vram mirror issue on 32-bit.
Fixes #6249.
2014-06-15 08:59:35 -07:00
Sacha
f787a1cbe1 Fix Windows build. 2014-05-29 10:33:02 +10:00
Sacha
9b7ab3816f Clean up MemArena and MemMap. Remove Symbian from MemArena (shouldn't have more ifdefs than code) 2014-05-29 03:30:23 +10:00
Unknown W. Brackets
80cc9d8c0e Mirror memory for VRAM mirrors.
For a long time we've done this with GetPointer() only, but it's better if
it's the same for all methods of memory access.

Technically, we should do the swizzling (and also swizzle the depth data in
softgpu), but there's no indication games depend on this, and GetPointer
would need changes anyway.
2014-05-06 00:45:47 -07:00
Unknown W. Brackets
996fa39684 Reduce some unnecessary includes in Core/. 2014-03-15 10:41:07 -07:00
Unknown W. Brackets
eca06c60c7 Spend a bit less time in Read_Instruction on load. 2014-03-02 10:20:40 -08:00
Unknown W. Brackets
d2108a962e Switch from USING_GLES2 to MOBILE_DEVICE.
Still using USING_GLES2 for, well, GLES2.  But for things that are really
about mobile, we need a new define.  Devices are coming that don't use
GLES2.
2014-02-08 16:37:58 -08:00
Unknown W. Brackets
d09575f25e When loading a savestate with more ram, realloc.
Also, I'm not sure the extra ram is being handled correctly, I think it's
not meant to be exposed to games except homebrew, not sure of the exact
method...
2014-01-08 00:06:27 -08:00
Henrik Rydgård
e5e17fbc6e More include cleanup. Hoping for very slightly faster compile times.. 2013-12-30 10:49:05 +01:00
Unknown W. Brackets
be55be7dcb Fix some formatting warnings. 2013-12-29 16:08:06 -08:00
Henrik Rydgård
ce378b231f Delete CPU.cpp/h , cleanup 2013-12-30 00:11:29 +01:00
Henrik Rydgard
a53a032120 Prevent hashes from coming out differently after replacement. 2013-12-20 13:53:03 +01:00
Henrik Rydgard
1e300447e1 Fix some replace-related bugs. Add "jal" replace inlining, not activated. 2013-12-18 16:27:23 +01:00
Henrik Rydgard
2d4c28826a Show replaced instructions correctly in disassembly 2013-12-18 11:42:19 +01:00
Henrik Rydgard
2eab4aa1bf Play around with function replacement. Turned off by default of course. 2013-12-17 23:40:27 +01:00
Unknown W. Brackets
13bf4d83fa Add memchecks for common HLE copy operations.
Better to catch some than miss everything.
2013-12-14 14:56:05 -08:00
Henrik Rydgård
ebe2009124 Buildfix VS 2013 (see #4793) 2013-12-11 13:55:57 +01:00
Henrik Rydgard
1b770cc316 Typo fix 2013-12-11 11:00:01 +01:00
Unknown W. Brackets
5b0ece85da Use additional memory map mirrors for 32-bit.
Well, use them always for simplicity, but this works around 32-bit
limitations on mmap() size for Android and Linux.
2013-12-10 23:40:37 -08:00
Henrik Rydgard
2d8429ac48 Assorted cleanup in the MIPS emulation 2013-12-10 13:15:16 +01:00
Henrik Rydgård
9e42086e21 Logspam reduction 2013-12-09 13:45:17 +01:00
The Dax
eff74892b0 Fix a styling issue, and allow shader names to be translated in the Win32 menubar. 2013-11-29 12:52:10 -05:00
The Dax
e0f0409f82 Minimum version for the memory savestate section is 1, not 0. 2013-11-28 17:46:33 -05:00
The Dax
3e07e88e43 Don't break savestates made by HD Remasters. 2013-11-28 16:28:25 -05:00
The Dax
998a6f6fdb Load the model from the savestate before deciding the memory size. 2013-11-28 15:36:24 -05:00
The Dax
ba31e18060 Perform savestate actions more intelligently. 2013-11-28 15:34:11 -05:00
The Dax
1b8df0d826 Save the model into the save state. 2013-11-28 14:58:59 -05: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
Unknown W. Brackets
478d007f96 I'm a typo machine. 2013-09-09 00:35:38 -07:00
Unknown W. Brackets
38e30e5a67 Fix bugs when memory size is 0x04C00000/etc.
Was experimenting with trying to match my non-phat's ram size.
2013-09-09 00:25:10 -07:00
Unknown W. Brackets
109ad17ac6 Use a typesafe struct for opcodes.
Also, correctly read delayslots using Read_Instruction on ARM.
2013-08-24 15:36:24 -07:00
Henrik Rydgard
9109882c04 More microoptimization 2013-08-11 22:12:14 +02:00
The Dax
e4ed0f2d3e Various small code cleanups. 2013-07-17 17:49:57 -04:00