Henrik Rydgård
0c077acc74
Do some include untangling, to limit the spread of the Windows.h include from SevenZipFileReader.h
2026-03-27 14:34:18 -06:00
Henrik Rydgård
1b0e701c87
Expose some more pointers in the ImDebugger UI
2026-02-17 22:40:00 +01:00
Henrik Rydgård
f0ba391a4e
Remove the whole concept of proxy blocks from the block cache, and experimental uses of it.
2026-02-17 09:40:27 +01:00
Henrik Rydgård
6e84cd7f38
Correct the clearing/destruction order when switching JITs.
...
Fixes #20502
2025-06-11 16:27:48 +02:00
Henrik Rydgård
ba148e5ec7
JIT/IRJit: Delete an old "function preloading" experiment
...
This caused some confusion while trying to debug #20502
2025-06-11 15:45:18 +02:00
Henrik Rydgård
2e85eb5128
More static code analysis fixes
2024-10-28 17:59:06 +01:00
Nemoumbra
00cd142365
Comment fix + new QOL method
2024-09-14 19:46:04 +03:00
Henrik Rydgård
b6a3996e65
Remove a warning, change some & params to pointers for clarity, func rename
2024-09-11 11:48:12 +02:00
Henrik Rydgård
eda60a5df9
IR: Disable unworkable overwriting of instructions on invalidation. Add debug-mode sanity check.
2024-07-22 12:03:53 +02:00
Henrik Rydgård
85e7ff7ac3
Target->Native renaming. More intuitive (at least to me)
2024-07-22 01:24:34 +02:00
Henrik Rydgård
898774a93d
Attempt more thorough block invalidation
2024-07-22 01:22:54 +02:00
Henrik Rydgård
9d36a08ec4
Some renaming, remove a gross hack
2024-07-21 19:12:51 +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
7ef6cdb515
Improve accuracy of block timing
2024-06-07 10:17:16 +02:00
Henrik Rydgård
a6f398a7d2
Add IRJit arena overflow check
2024-06-07 10:17:01 +02:00
Henrik Rydgård
8d6e96d04e
Use binary search to find IR block offsets
2024-06-07 09:28:27 +02:00
Henrik Rydgård
ee6ba74c88
Store IRInst offsets instead of block indices
2024-06-07 09:28:27 +02:00
Henrik Rydgård
5526ef012c
Store IR instructions in a large arena vector instead of loosely in each block.
2024-06-07 09:28:27 +02:00
Henrik Rydgård
584d07ea8e
iOS: Implement basic physical keyboard support
2024-06-05 23:27:03 +02:00
Henrik Rydgård
294593f741
Fix IR profiling
2024-06-05 19:12:08 +02:00
Henrik Rydgård
5583dc10d5
Hook up profiling, something is wrong
2024-06-05 18:58:33 +02:00
Henrik Rydgård
3bb74ea9ad
Rework the JitCompare window to hold a list of blocks, and allow some filtering and browsing
2024-06-05 18:16:33 +02:00
Henrik Rydgård
feeddbabe3
Redesign the jit compare screen a bit (add a top bar)
2024-06-05 16:13:38 +02:00
Henrik Rydgård
ba1ced77c3
IRJit block profiling basics
2024-06-05 13:02:40 +02:00
Henrik Rydgård
f2837e3b55
JIT compare screen with IR blocks - fix some crashing issues
2024-05-26 14:10:50 +02:00
Henrik Rydgård
91d9ef9b81
Minor IR interpreter optimization
2024-05-10 18:27:29 +02:00
Herman Semenov
17ecee1715
Fixed return copies from functions and const ref params
2024-04-02 18:37:00 +03:00
Unknown W. Brackets
247788806a
irjit: Add direct helper for start PC.
...
It's annoying always fetching length too.
2023-08-12 09:37:02 -07:00
Unknown W. Brackets
3757ebca2d
irjit: Invalidate/finalize target blocks.
...
Doesn't actually do anything yet, but adds plumbing.
2023-08-12 09:37:02 -07:00
Unknown W. Brackets
93e3d35f5d
irjit: Move more to IRNativeBackend, split.
2023-08-06 00:16:43 -07:00
Unknown W. Brackets
8d60c10a64
riscv: Use jit address offsets directly.
...
We'll have IR able to use block number or target offset.
2023-07-29 19:02:15 -07:00
Unknown W. Brackets
e271e43ec5
riscv: Initial staffolding for IR based jit.
2023-07-23 18:01:00 -07:00
Unknown W. Brackets
3468423bb4
Debugger: Handle missing crash/block ptrs better.
2023-07-23 18:01:00 -07:00
Unknown W. Brackets
f44852bb18
Global: Cleanup virtual/override specifiers.
...
Also missing virtual destructors, hidden non-overrides, etc.
2022-12-10 21:13:36 -08: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
cae0815095
jit: Avoid using mips identifier directly.
...
Apparently this gets defined on mips systems.
2021-02-26 07:24:58 -08:00
Henrik Rydgard
c988d42b04
ARM/ARM64 instruction analysis, hook up to handler
2020-07-14 09:25:45 +02: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
Unknown W. Brackets
463b2a90c7
irjit: Allow precompiling funcs at start.
...
This can take a second, but cuts down on jitc spikes throughout runtime.
Note: bits of the game will still be recompiled as games change code.
This is basically the same operation as loading from cache, without the
cache yet.
2018-01-06 17:06:53 -08:00
Henrik Rydgård
468b830bec
Show IR disassembly in JIT Compare screen
2018-01-04 12:23:23 +01:00
Unknown W. Brackets
cffb2d61a7
irjit: Embed constant inside IRInst.
...
This simplifies a bunch of code and improves compile performance by about
30%, at the cost of a bit more memory.
2018-01-03 23:24:04 -08:00
Unknown W. Brackets
3af78883c7
irjit: Speed up icache block invalidation.
...
Turns out, in games using a ton of small memcpys, this was causing perf
issues.
2017-12-31 10:37:09 -08: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 Rydgård
635b2ada43
Remove a function that didn't make a lot of sense.
2017-01-26 09:50:16 +01:00
Florent Castelli
4145b60a0e
symbian: Remove!
2016-10-11 18:49:08 +02:00
Unknown W. Brackets
e55198f7e7
Correct some initialization order warnings.
...
Also, another missing init with IRBlocks.
2016-08-05 10:46:11 -07:00
Henrik Rydgard
eb72a746b9
Fix one possible (reproducible!) startup crash in IRJit. May help #8848
2016-07-25 00:21:01 +02:00
Henrik Rydgård
c6d4966067
Make really sure we're not using the IRBlock copy constructor other than on Symbian.
...
Turns out it ended up being used on Mac, and our asserts just debugprint and don't actually assert...
2016-07-09 09:32:41 +02:00
Henrik Rydgard
e0845b876f
Fix some bugs in the IRJit. Hopefully helps #8848
2016-07-08 00:05:44 +02:00
Unknown W. Brackets
1df08518ae
jit-ir: Implement basic icache clear.
2016-07-01 17:27:24 -07:00