Stefanos Kornilios Mitsis Poiitidis
5ff2e0edf7
Merge pull request #507 from Sonicadvance1/resizable_frontend_buffer
...
Adds resizable frontend decoded buffer
2020-11-18 11:14:41 +02:00
Stefanos Kornilios Mitsis Poiitidis
94003798ff
Merge pull request #506 from Sonicadvance1/irlistview_copy
...
Allow copying of an IRListView copy
2020-11-18 11:13:27 +02:00
Stefanos Kornilios Mitsis Poiitidis
d288602eeb
Merge pull request #505 from Sonicadvance1/fix_missing_pragma
...
Adds missing pragma in RA pass
2020-11-18 11:11:55 +02:00
Stefanos Kornilios Mitsis Poiitidis
c6abf2b97a
Merge pull request #504 from Sonicadvance1/debug_logs
...
Ensures pass validation goes through LogManager
2020-11-18 10:24:49 +02:00
Stefanos Kornilios Mitsis Poiitidis
1590506e41
Merge pull request #502 from Sonicadvance1/shebang_redirection
...
Adds support for shebang redirection
2020-11-18 10:19:18 +02:00
Ryan Houdek
c677fdf3e1
Adds support for the CPUBackends to run in a compile thread
...
These take different paths depending on if it was for a compile thread
or not
2020-11-17 14:07:18 -08:00
Ryan Houdek
edce88e66e
Ensures that we don't try and free the Dispatcher code if it doesn't
...
exist
This doesn't happen yet but it will soon
2020-11-17 14:07:10 -08:00
Ryan Houdek
47d47fac86
Adds function for copying data required for threaded compiler
...
These structures need to be shared to the threaded compiler, so set it
up for copying.
Will be necessary for the compile service
2020-11-17 13:48:10 -08:00
Ryan Houdek
f775bea63f
Fixes cache clear bug on x86_64
...
On cache clear this would munmap pages 1.5x past the code cache.
This most certainly leads to spurious bugs
2020-11-17 13:03:53 -08:00
Ryan Houdek
71a9f2cb71
Captures another CPU count file
...
Some application was using this to determine CPU count as well
2020-11-17 12:56:18 -08:00
Ryan Houdek
c122516077
Adds resizable frontend decoded buffer
...
Allows us to save memory in the frontend decoder by starting out with a
small buffer until we hit larger code blocks.
2020-11-17 12:43:26 -08:00
Ryan Houdek
1b21bb7699
Allow copying of an IRListView copy
...
This will be useful with the compile service coming up to keep
IRListViews coherent across threads
2020-11-17 12:31:53 -08:00
Ryan Houdek
a1dacf87ac
Adds missing pragma in RA pass
2020-11-17 12:29:28 -08:00
Ryan Houdek
d17530623b
Ensures pass validation goes through LogManager
...
Now that it supports large strings we can push these through here.
We really need to avoid touching stdout/stderr as an interpreter
2020-11-17 12:28:17 -08:00
Ryan Houdek
eb094bcf98
Adds support for shebang redirection
...
If a file has as shebang interpreter then switch over to that.
Fixes launching a bunch of titles in Steam where their launcher is a
bash script
2020-11-17 12:18:30 -08:00
Stefanos Kornilios Mitsis Poiitidis
42be02b84c
JITs: Review feedback
2020-11-17 16:46:23 +02:00
Stefanos Kornilios Mitsis Poiitidis
e228295f6e
Jit: Remove conditional TSO on backends
2020-11-17 16:42:21 +02:00
Stefanos Kornilios Mitsis Poiitidis
92eb140510
OpDisp: Rename TSO helper to _Load/_StoreAutoTSO
2020-11-17 16:39:38 +02:00
Stefanos Kornilios Mitsis Poiitidis
4ec41088e3
Typofix: UnwarpNode -> UnwrapNode
2020-11-17 16:25:00 +02:00
Stefanos Kornilios Mitsis Poiitidis
1073d4053d
IR Tests: Update LoadMem to use extended syntax
2020-11-17 16:23:50 +02:00
Stefanos Kornilios Mitsis Poiitidis
c5316b1fc5
IR Loader: Add support for MemOffsetType, Fix %Invalid
2020-11-17 16:23:50 +02:00
Stefanos Kornilios Mitsis Poiitidis
f38179913a
IR: Swith MemoryOffsetType to a type from uint8_t
2020-11-17 16:23:50 +02:00
Stefanos Kornilios Mitsis Poiitidis
d7191891a0
Load/Store: Use ->Addr and ->Offset in Interpreter
2020-11-17 16:23:50 +02:00
Stefanos Kornilios Mitsis Poiitidis
0e329f4e05
Load/StoreMem: Cleanup Complex address gen
2020-11-17 16:23:50 +02:00
Stefanos Kornilios Mitsis Poiitidis
b82c8b9e92
ConstProp: Fix inline consts for load/storemem
2020-11-17 16:23:50 +02:00
Stefanos Kornilios Mitsis Poiitidis
703a025a38
IR/Arm64: Inline Constants for MemoryOps
2020-11-17 16:23:50 +02:00
Stefanos Kornilios Mitsis Poiitidis
552f5db006
TSO: Only emit if enabled
2020-11-17 16:23:50 +02:00
Stefanos Kornilios Mitsis Poiitidis
9fdd2a5b10
LoadMem/StoreMem: Add OffsetType, OffsetScale
2020-11-17 16:23:50 +02:00
Stefanos Kornilios Mitsis Poiitidis
f0cedab31c
Fix unified mem, Add interpreter
2020-11-17 16:23:50 +02:00
Stefanos Kornilios Mitsis Poiitidis
2ff55a0420
Add arm64 backend, disable for TSO
2020-11-17 16:23:50 +02:00
Stefanos Kornilios Mitsis Poiitidis
74254a1a9c
IR: Load/Store mem with two args
2020-11-17 16:23:48 +02:00
Ryan Houdek
deaf879e78
Merge pull request #490 from FEX-Emu/skmp/extended-condjump-branching
...
CondJump: Add support for two operands to match Select
2020-11-17 01:19:21 -08:00
Ryan Houdek
96472a9b59
Merge pull request #486 from FEX-Emu/skmp/abi-opts
...
Unsafe opts: --unsafe-local-flags, --unsafe-no-pf, --unsafe-no-tso
2020-11-17 01:16:06 -08:00
Stefanos Kornilios Mitsis Poiitidis
1ffc8c15e2
Backends: Add OP_INVALIDATEFLAGS as nop
2020-11-17 11:11:18 +02:00
Stefanos Kornilios Mitsis Poiitidis
11e12a9b36
Add --unsafe-no-pf
2020-11-17 11:11:13 +02:00
Stefanos Kornilios Mitsis Poiitidis
0d7984fe0f
Rename unsafe options under --unsafe
2020-11-17 11:08:29 +02:00
Stefanos Kornilios Mitsis Poiitidis
8fc6f73571
IR: InvalidateFlags + --abi-local-flags
...
- InvalidateFlags pseudo-op is a hint for the Dead Flags Elimination pass that flags are not needed past that point
- Adds a new option, --abi-local-flags, that invalidates the flags on CALLs or RETs. This might break code that doesn't follow the ABI rules.
2020-11-17 11:08:29 +02:00
Stefanos Kornilios Mitsis Poiitidis
908796be1a
Typofix: UnwarpNode -> UnwrapNode
2020-11-17 11:06:01 +02:00
Stefanos Kornilios Mitsis Poiitidis
973b97bc49
Merge pull request #501 from Sonicadvance1/logman_fix
...
Fixes long messages passed through logman
2020-11-17 09:56:32 +02:00
Ryan Houdek
07310bc24a
Fixes long messages passed through logman
...
Default to 1024 bytes in the working string, but if something exceeds it
then try again.
Not common that we are passing through a large string but debug strings
can hit that limit
2020-11-16 20:46:06 -08:00
Ryan Houdek
212ff41914
Merge pull request #482 from FEX-Emu/skmp/rclse-improvements
...
RCLSE improvements
2020-11-16 18:13:13 -08:00
Ryan Houdek
29c5e8cbbb
Merge pull request #479 from FEX-Emu/skmp/dead-gpr-store-elim
...
IR: Add DeadGPRStoreElimination
2020-11-16 18:11:26 -08:00
Ryan Houdek
1cd833e516
Merge pull request #499 from FEX-Emu/skmp/muliblock-ra-livespans
...
RA: Greedily extend live ranges when values are used out of defining block
2020-11-16 18:10:51 -08:00
Ryan Houdek
d8bc97a32c
Merge pull request #500 from FEX-Emu/skmp/block-dumps
...
IR: Add DumpIR option, --dump-ir command line
2020-11-16 18:07:33 -08:00
Stefanos Kornilios Mitsis Poiitidis
075f3edcfe
RA: Greedily extend live ranges when values are used out of defining block
...
This fixes bogus RA when live ranges aren't contiguous, at the cost of
excessively increased register pressure.
This doesn't fix multi-block spilling, which requires fully working
PHI nodes among other things. As a workaround these ranges are marked
as unspillable.
2020-11-17 01:41:02 +02:00
Stefanos Kornilios Mitsis Poiitidis
2dad4718d6
IR: Add DumpIR option, --dump-ir command line
...
This dumps the IR before and after optimizations
--dump-ir can be
"no" -> Do not dump
"stderr" -> Dump to stderr
"stdout" -> Dump to stdout
"some/path" -> Dump to "some/path/$GuestRip-pre.ir" and "some/path/$GuestRip-post.ir"
2020-11-16 16:14:07 +02:00
Stefanos Kornilios Mitsis Poiitidis
31b333c40a
DeadGPRStoreElim: Review feedback
2020-11-10 19:13:37 +02:00
Stefanos Kornilios Mitsis Poiitidis
ce2dda806c
OpDisp: Flag calculation bypass
2020-11-09 20:04:35 +02:00
Stefanos Kornilios Mitsis Poiitidis
075958fa67
CondJump: Fix arm64 build
2020-11-06 10:54:52 +02:00
Stefanos Kornilios Mitsis Poiitidis
89dafc956e
CondJump: Only fold select if possible
2020-11-06 10:54:52 +02:00