Henrik Rydgard
|
d60f5ba285
|
Fix minor memory leak in JIT block cache
|
2016-02-10 15:43:36 +01:00 |
|
Unknown W. Brackets
|
eebe3e7bce
|
armjit: Fix block exit safety writes.
This ensures we don't link to invalid blocks, fixes BKPTs on relinking,
and fixes BKPTs when relinking a prelinked block.
Should help #8524.
|
2016-01-30 20:44:57 -08:00 |
|
sum2012
|
8debe785b8
|
Revert "Fix Yu-Gi-Oh 6 crash with edit card in Android version"
This reverts commit f659e60c8d.
The crash is correctly fixed
|
2015-12-29 04:10:18 +08:00 |
|
Henrik Rydgard
|
7fee5abf9f
|
x86/x64: Don't use a separate code block for pregenerated functions, just like on ARM
|
2015-10-08 22:15:28 +02:00 |
|
Henrik Rydgard
|
b7725c4f40
|
Remove empty header files
|
2015-10-08 18:54:33 +02:00 |
|
Unknown W. Brackets
|
cd842ac21f
|
Validate blocklinking in icache invalidate all.
Normally blocks are invalidated on entry. But when blocklinking is on,
we don't validate on all entries.
This fixes Tales of Rebirth crashes (#7868.)
|
2015-07-19 13:08:32 -07:00 |
|
Unknown W. Brackets
|
96b01e4999
|
Make sure we don't clean up proxy blocks.
|
2015-07-19 13:04:06 -07:00 |
|
 Henrik RydgårdandUnknown W. Brackets
|
59d0baca93
|
Add way to print some block bloat stats.
|
2015-04-11 00:12:56 -07: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 |
|
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 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
|
51d55bd645
|
Namespacing cleanup (it's bad to do "using namespace" in a header)
|
2014-12-07 14:44:15 +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 |
|
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 |
|
Unknown W. Brackets
|
01f9521dc5
|
jit: Invalidate blocks even if they end unevenly.
This allows blocks to start and end where ever they need, which should be
good for replacements and for continuing.
|
2014-10-12 17:13:04 -07:00 |
|
Unknown W. Brackets
|
90821b761d
|
x86jit: Pad linked exits with breakpoints.
So that we don't get garbage, and so we see if we end up there.
|
2014-10-12 16:00:58 -07:00 |
|
Henrik Rydgard
|
808f05da89
|
(Partially) slip thin3d underneath DrawBuffer.
|
2014-08-22 20:54:53 +02:00 |
|
Unknown W. Brackets
|
09b9d2ad81
|
Keep track of ranges that have emuhack ops.
So that we can invalidate them smarter.
|
2014-07-05 16:25:16 -07:00 |
|
Henrik Rydgård
|
585050de27
|
Fix crash in block cache
|
2014-05-27 22:02:20 +02:00 |
|
Unknown W. Brackets
|
95dcadb6ae
|
Ignore when a proxied block points to erased mem.
Happens for example when a new module is loaded, sometimes.
|
2014-05-04 01:25:19 -07:00 |
|
Unknown W. Brackets
|
7326c6e716
|
Fix a race condition on shutdown with hashmap.
Also, always need to init the blocks, they are not zero initialized.
|
2014-04-20 21:44:10 -07:00 |
|
Unknown W. Brackets
|
dc39e75fc1
|
Oops, forgot about proxy blocks for replace jal.
Also fix a crash when they are used.
|
2014-04-17 01:03:46 -07:00 |
|
Henrik Rydgard
|
58237d976f
|
Fix performance issue in BlockCache due to an instance of std::vector in every block:
Avoid creating the vector when not necessary.
This was especially noticeable in debug mode.
|
2014-03-29 22:26:51 +01:00 |
|
Henrik Rydgard
|
ef6e6083dc
|
Including <cstddef> here was reported to fix a build problem.
|
2014-02-07 23:05:03 +01:00 |
|
lioncash
|
aaf834c032
|
Fix the destruction proxy blocks in DestroyBlock() in JitBlockCache.cpp.
Prior to this, it was possible for the wrong block to be deleted multiple times.
|
2014-02-03 14:40:37 -05:00 |
|
Henrik Rydgård
|
28a518bfa7
|
Reformat JitBlockCache
|
2013-12-19 13:34:06 +01:00 |
|
Henrik Rydgård
|
2eb1f89ad0
|
Rework proxy blocks a bit
|
2013-12-19 13:31:13 +01:00 |
|
Henrik Rydgård
|
3957b5fb42
|
Call ProxyBlock in ArmJit too. Plus various cleanup and one more string function.
|
2013-12-19 11:45:39 +01:00 |
|