Commit Graph
105 Commits
Author SHA1 Message Date
Unknown W. Brackets 4d7a948717 arm64: Fix a dump mistake with rounding modes. 2015-06-28 16:35:46 -07:00
Unknown W. Brackets b6612edf67 arm64: Use a cached rounding func for cvt.w.s.
This is much faster for this particular instruction, although not all
games even use it.
2015-06-28 12:40:29 -07: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:100: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 Rydgård 071b6b986a Best-effort update of the MipsJit prototype 2015-04-12 11:53:16 -07:00
Henrik Rydgård 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ård 59d0baca93 Add way to print some block bloat stats. 2015-04-11 00:12:56 -07:00
Unknown W. Brackets b2b20a6eee Correct an invalid format parameter. 2015-04-08 12:17:24 -07:00
Henrik Rydgård 95cd1478de Restore the x86 build. 2015-04-06 18:13:37 +02:00
Henrik Rydgard 57e759a605 ARM64: Fix and turn on basic block linking 2015-04-06 18:13:17 +02:00
Henrik Rydgard cc722f09f6 Improve ARM64 disassembly by merging MOVZ+MOVK. Minor stuff. 2015-04-06 18:13:07 +02:00
Henrik Rydgard 34ab532971 ARM64 jit: Fix some pointer truncations and other fun stuff.. 2015-04-06 18:13:05 +02: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
Unknown W. Brackets 6c03fc4f01 Correct savestate interaction with proxy blocks.
At least, I think that's what's going wrong here.  Either way, this is
safer and apparently fixes #7612.
2015-03-17 23:50:20 -07:00
Unknown W. Brackets 6cc84ffdbb jit: fix invalidation of blocks with only jr.
We need to expand the range not to the latest exit, but to the size of the
block.
2015-02-28 15:09:41 -08:00
Henrik Rydgard 2f6216d787 Fix bug in CwCheat icache invalidation. Fixes #7430 2015-02-04 10:56:38 +01:00
sum2012 f659e60c8d Fix Yu-Gi-Oh 6 crash with edit card in Android version
This revert part of
https://github.com/hrydgard/ppsspp/commit/74d8a9bdba9b8348e60e8a6b40b01da26b5eb020
2015-01-13 22:01:02 +08:00
Henrik Rydgård 53ab7ab4b2 Fix FakeJit, start preparing a little for ARM64 2014-12-23 09:36:28 +01:00
Unknown W. Brackets 326c298207 armjit: Fix BKPT on simple exits.
If we get lucky and write a single-op destination address, we only emit
one op.  So we have to check the next op before overwriting.
2014-12-22 22:56:15 -08:00
Henrik Rydgård a9be90229a Merge pull request #7140 from AbandonedCart/master
use libc++ for iOS to avoid additional directives
2014-12-18 22:38:14 +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 4ec30d98e1 Port the x86 and ARM emitters over to use the generic CodeBlock class 2014-12-15 22:32:55 +01:00
Henrik Rydgard 05a8e2e35d Some work towards being able to build two JITs together
This will be useful for testing/debugging, but not there yet.
2014-12-13 21:13:54 +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 50bb3e1e05 Minor fixes 2014-12-08 00:18:13 +01:00
Henrik Rydgard 51d55bd645 Namespacing cleanup (it's bad to do "using namespace" in a header) 2014-12-07 14:44:15 +01:00
Henrik Rydgard 4457dca4c9 Rename the ARM Jit class to ArmJit 2014-12-07 14:25:22 +01:00
TwistedUmbrella 3f4d58b0b2 use libc++ for iOS to avoid additional directives 2014-12-05 19:47:02 -05:00
Henrik Rydgard 1abadef87f Add "resolving" of a few symbols to x86 disassembler 2014-12-02 01:00:11 +01:00
Henrik Rydgard 8f016d3e48 Merge some matrix utils and stuff from the NEON branch 2014-11-29 11:37:45 +01:00
xSacha 88b1c00a67 MIPS: Complete MIPSX rename for buildfix. 2014-11-19 07:55:44 +10:00
xSacha 3172fa22e2 Integrate new MIPS emitter. 2014-11-18 08:40:57 -08:00
Henrik Rydgard 3298c1143f Arm disasm: Coalesce multiple "BKPT 1" like we do on x86 for INT 3 2014-11-17 21:21:44 +01:00
Henrik Rydgard 74d8a9bdba Clean up after the block linker. armdis: add BKPT 2014-11-17 21:21:34 +01:00
Sacha a0086f6412 Introduce a Fake JIT for generic builds. 2014-11-13 00:09:51 +10:00
Henrik Rydgard db853d8513 Collapse sequences of "int3" (padding after block linking) in x86 disassembly. 2014-11-09 12:10:37 +01:00
Henrik Rydgard 5bcdecc26b unittest: Have the JIT harness print disassembly, to make it easy to inspect results. 2014-11-09 12:03:04 +01:00
Unknown W. Brackets ad6b176e11 Naturally, modern C++ would not build on Symbian. 2014-11-03 08:56:45 -08:00
Unknown W. Brackets 61c21340fb Warning fixes. 2014-11-03 08:34:34 -08:00
Unknown W. Brackets 9d86d3ca9b Use std::unordered_multimaps in a few places. 2014-11-03 08:31:52 -08:00
Unknown W. Brackets 258b7c9a7c jit: Use the end just to be safe.
In case clearing near the end of a block.
2014-10-27 19:05:52 -07:00
Unknown W. Brackets 5bb9d32eaa jit: Fix partial invalidation of larger blocks.
Fixes #7031.
2014-10-27 19:04:19 -07:00
Unknown W. Brackets 0c1dcfeacf Avoid comparing invalidated iterators. 2014-10-22 00:50:39 -07:00
Unknown W. Brackets 65ecc9a464 jit: Use an exclusive end in the block map.
Simpler, was not consistent before, oops.
2014-10-21 11:52:19 -07:00
Unknown W. Brackets ef6d583542 x86jit: Oops, don't pad INT3s in prelinked blocks.
Fixes #7007.
2014-10-15 22:07:56 -07:00
Unknown W. Brackets 040a6d1745 jit: Improve performance of clearing jit. 2014-10-12 19:00:03 -07:00
Unknown W. Brackets e6373aaed9 jit: Remove from the block map more carefully. 2014-10-12 17:47:07 -07:00
Unknown W. Brackets 2e81a38892 jit: Fix a possible infinite loop in invalidation. 2014-10-12 17:46:54 -07:00
Unknown W. Brackets 4853a1b7a0 jit: Optimize proxy block lookup from address.
It was really slow before with enough proxy blocks.
2014-10-12 17:35:23 -07:00