Ryan Houdek
edd1dfdfe8
Merge pull request #1040 from Sonicadvance1/more_syscalls_5_12
...
Implements more syscalls for supporting a higher guest kernel version
2021-06-01 00:27:50 -07:00
Ryan Houdek
2d342d4662
Handle user provided siginfo_t with user signal
...
If the guest has sent a signal and the si_code is SI_USER then
we need to pass that siginfo_t through without touching it.
User could be sticking whatever they want in to that struct
2021-05-27 22:59:27 -07:00
Ryan Houdek
211e7bf0f0
Implements SSE4.1 insertps
...
Cheap Golf is using this instruction unconditionally.
With this implemented the game now runs
2021-05-26 21:40:39 -07:00
Ryan Houdek
6cba775d4e
Merge pull request #1032 from FEX-Emu/skmp/aotir-gen-mt
...
Multi threaded AOTGen
2021-05-24 23:06:13 -07:00
Lioncash
37a33bf127
Externals: Add fmt as an external
...
Begins the process of addressing issue #146 .
This is separated off, so that others can make use of fmt for other
purposes (general localized non-sucky string formatting), while the
logging rework is being tackled.
2021-05-20 13:18:38 -04:00
Stefanos Kornilios Mitsis Poiitidis
d70c91ddc6
AOTIR: Multi-threaded AOTGen
2021-05-19 14:19:55 +03:00
Stefanos Kornilios Mitsis Poiitidis
b8dc63754b
AOTIR: Don't keep IR,RA,Code data around when aotirgenerating
2021-05-11 15:15:39 +03:00
Stefanos Kornilios Mitsis Poiitidis
df8f1850ae
AOTIR: .aotir files are now stream-written
2021-05-11 14:37:12 +03:00
Ryan Houdek
82b04d9886
Fixes JITSymbols for x86-64 JIT
2021-05-06 01:12:51 -07:00
Ryan Houdek
1e40148f60
Fixes host thread stacks ending up in lower 32-bit VA
...
Overriding glibc's mmap and munmap functions don't encapsulate that functions they use
for allocating stack data so it was falling down the system mmap/munmap path.
This was causing host side stacks to end up in the 32-bit VA space in 32-bit applications.
2021-05-04 22:15:46 -07:00
Stefanos Kornilios Mitsis Poiitidis
c8bb02f3a6
JIT: Add reason 1 (0xCD) to OP_BREAK implementations
2021-05-04 13:22:00 +03:00
Ryan Houdek
fd6d33d197
Merge pull request #996 from FEX-Emu/skmp/aotirgen
...
AOTIR: Offline Generation
2021-05-03 15:58:57 -07:00
Stefanos Kornilios Mitsis Poiitidis
1d82e9e59e
JIT: Stub Break reasons 2, 3
2021-05-03 05:42:46 +03:00
Ryan Houdek
8d1f9a9081
Merge pull request #1006 from Sonicadvance1/implement_clflush
...
Implements support for CLFLUSH
2021-05-02 12:27:54 -07:00
Ryan Houdek
4961604807
Implements support for CLFLUSH
...
JRE requires this to run
2021-05-02 12:18:35 -07:00
Stefanos Kornilios Mitsis Poiitidis
d6b7f32d33
AOTGen: Cleanup unwind symbol logic, add to x86-32 binaries
2021-05-02 11:08:12 +03:00
Ryan Houdek
63dee0e132
Remove reliance on librt and libnuma
...
These can fall down the raw syscall path
2021-05-01 17:40:33 -07:00
Ryan Houdek
a8881e8835
Adds option to force 32-bit allocator
2021-05-01 09:19:55 -07:00
Ryan Houdek
94017d2e65
On old kernels, steal the 32-bit address space before the 64-bit
...
Increases speed of startup
2021-05-01 09:06:39 -07:00
Ryan Houdek
13b93ef6b5
Allow memory allocation to go through if the base was above the lower bound
2021-05-01 09:06:39 -07:00
Ryan Houdek
417e8836a4
Arm64: Fixes some wrong sign extensions
2021-05-01 07:39:14 -07:00
Ryan Houdek
c5bda47b2a
Adds more allocator hooking
2021-05-01 07:39:14 -07:00
Ryan Houdek
5067737052
Adds 64-bit allocator
2021-05-01 07:39:14 -07:00
Ryan Houdek
5143100a73
Switches more usages of memory allocation routines over to FEX internal
2021-05-01 07:39:14 -07:00
Stefanos Kornilios Mitsis Poiitidis
8b6e767742
Frontend: Slightly more resilient max instruction size handling
2021-05-01 09:40:50 +03:00
Stefanos Kornilios Mitsis Poiitidis
331549c64a
RLSE: Use Constant, not inline constant, let ConstProp generate all inline consts
2021-05-01 09:40:50 +03:00
Stefanos Kornilios Mitsis Poiitidis
be0b29bbc6
OpDisp: Convert more asserts to soft-errors
2021-05-01 09:40:50 +03:00
Stefanos Kornilios Mitsis Poiitidis
ee8f8ed176
Improve error handling
2021-05-01 09:40:50 +03:00
Stefanos Kornilios Mitsis Poiitidis
5b8cbae1e1
Core/Frontend: Improve error handling
2021-05-01 09:40:50 +03:00
Stefanos Kornilios Mitsis Poiitidis
b98ef9e48b
Core/Frontend: Improve error handling
2021-05-01 09:40:50 +03:00
Stefanos Kornilios Mitsis Poiitidis
fd724448ab
Front End: Fix an error check
2021-05-01 09:40:50 +03:00
Stefanos Kornilios Mitsis Poiitidis
f4083883ca
Frontend: Fix ExternalBranches initialization
2021-05-01 09:40:50 +03:00
Stefanos Kornilios Mitsis Poiitidis
ab44f800f7
AOTgen: Cleaner interfaces, use LogMan
2021-05-01 09:40:50 +03:00
Stefanos Kornilios Mitsis Poiitidis
1a5bc39d09
Rebase fixes
2021-05-01 09:40:50 +03:00
Stefanos Kornilios Mitsis Poiitidis
244ef94e9b
AOTIR: Generate list of files with code, add Scripts/FEXUpdateAOTIRCache.sh to generate all files
2021-05-01 09:40:50 +03:00
Stefanos Kornilios Mitsis Poiitidis
a85ef061d1
AOITR: Add AOTIRGenerate fo FEXLoader option that does generation
2021-05-01 09:40:50 +03:00
Stefanos Kornilios Mitsis Poiitidis
4e847d03b7
Remove more assertions for invalid code
2021-05-01 09:40:49 +03:00
Stefanos Kornilios Mitsis Poiitidis
ce9324f50f
Kinda-parse unwind table
2021-05-01 09:40:49 +03:00
Stefanos Kornilios Mitsis Poiitidis
0897fc4a0a
pretrans wip
2021-05-01 09:40:49 +03:00
Ryan Houdek
d256bc59fd
Override glibc allocator functions
2021-04-30 18:28:45 -07:00
Ryan Houdek
e0d6f4bc34
Make sure link jemalloc in FEXCore
2021-04-30 18:28:45 -07:00
Ryan Houdek
73e61b0c8e
Switches default logging output to stderr
...
stdout is too likely to break something
2021-04-30 18:28:45 -07:00
Stefanos Kornilios Mitsis Poiitidis
8a73783a07
AOTIR: Use FEXCore::Allocator
2021-04-29 08:16:21 +03:00
Stefanos Kornilios Mitsis Poiitidis
32b4b02302
AOTIR: mmap based loading
2021-04-28 13:08:43 +03:00
Stefanos Kornilios Mitsis Poiitidis
528b01ad7a
Merge pull request #988 from Sonicadvance1/memory_layout_optimizations
...
Memory layout optimizations
2021-04-28 12:31:53 +03:00
Ryan Houdek
bab5927931
Merge pull request #981 from Sonicadvance1/optimize_long_divide
...
Adds Long Divide removal pass
2021-04-26 23:48:50 -07:00
Ryan Houdek
6255eba524
Memory layout optimizations
...
Some of these memory layouts weren't optimal for ARM loading.
This is now significantly improved
2021-04-26 23:48:22 -07:00
Ryan Houdek
04e0baadc6
Changes LogMan assert to defines
...
C++ no-op functions can't optimize out the predicate arguments in all cases.
This was causing a problem where zero cost assertions weren't actually zero cost.
The only way to resolve this is to actually use macros sadly enough.
This will give a fairly hefty performance uplift with anything operating on IR.
2021-04-26 13:49:35 -07:00
Ryan Houdek
7d4380fe6d
Merge pull request #984 from FEX-Emu/skmp/relocation-fixes
...
IR: Fix RIP relocation edge-cases
2021-04-26 10:11:24 -07:00
Ryan Houdek
7d5157b602
Merge pull request #983 from FEX-Emu/skmp/faster-l1
...
LookupCache: Add new entries to L1C
2021-04-26 10:10:51 -07:00