Stefanos Kornilios Mitsis Poiitidis
ab44f800f7
AOTgen: Cleaner interfaces, use LogMan
2021-05-01 09:40:50 +03:00
Stefanos Kornilios Mitsis Poiitidis
4bd997adaa
AOT: Postfix ir files with .aotir
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
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
a30866a886
Merge pull request #976 from FEX-Emu/skmp/aotir-mmap
...
AOTIR: Switch over to mmap-based loading
2021-04-30 18:24:54 -07:00
Ryan Houdek
f6cc75de87
Fixes SDL2 interface check...again.
2021-04-30 01:55:08 -07:00
Stefanos Kornilios Mitsis Poiitidis
32b4b02302
AOTIR: mmap based loading
2021-04-28 13:08:43 +03:00
Stefanos Kornilios Mitsis Poiitidis
aae4de106a
Merge pull request #992 from Sonicadvance1/optimize_cpuid
...
Optimizes CPUID generation a bit
2021-04-28 09:12:09 +03:00
Ryan Houdek
b17464d81a
Oops: Missed line on FEXConfig SDL2
2021-04-27 16:51:12 -07:00
Ryan Houdek
34a5eb6d6f
Optimizes CPUID generation a bit
...
The flags calculation is fairly intensive and we were doing it for every core.
Do it once then duplicate it per core instead
Improves generation time quite significantly. A couple of milliseconds converted to half a millisecond
Slight improvement to startup time
2021-04-27 01:09:28 -07:00
Ryan Houdek
2a1a863c58
Only use SDL2 import target if it exists
...
Should fix Arch and Ubuntu 20.04 together
2021-04-27 00:45:20 -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
Stefanos Kornilios Mitsis Poiitidis
b45b7c3441
IR: Remove Entry from OP_HEADER, pass as parameter to CompileCode
2021-04-25 13:15:23 +03:00
Stefanos Kornilios Mitsis Poiitidis
6635765ea9
Merge pull request #972 from Sonicadvance1/naked_mman
...
Naked mman usage removal
2021-04-22 09:47:41 +03:00
Ryan Houdek
93ed411899
Fixes ELFCodeLoader2 loading relative ELF files
2021-04-20 01:58:37 -07:00
Stefanos Kornilios Mitsis Poiitidis
8260ddda13
Merge pull request #970 from Sonicadvance1/sdl2_target_imports
...
Use cmake SDL2 target properties
2021-04-19 00:02:59 +03:00
Ryan Houdek
5820c251e8
Fixes OpenAt breaking with anonymous objects
...
Fixes #753
2021-04-16 21:21:08 -07:00
Ryan Houdek
eff97509c0
Replaces naked mman usage in TestHarnessRunner
2021-04-16 21:01:59 -07:00
Ryan Houdek
3128d0c148
Replaces naked mman usage in SyscallHandler
2021-04-16 21:01:39 -07:00
Ryan Houdek
0216d7b552
Replaces naked mman usage in x86-64 syscalls
2021-04-16 21:01:07 -07:00
Ryan Houdek
87b473c7ee
Replaces naked mman usage in IRLoader
2021-04-16 21:00:51 -07:00
Ryan Houdek
f9d647c852
Replaces naked mman usage in HarnessHelpers
2021-04-16 21:00:19 -07:00
Ryan Houdek
2c175f1e0b
Replaces naked mman usage in FEXLoader
2021-04-16 21:00:01 -07:00
Ryan Houdek
96813b0d6c
Replaces naked mman usage in ELFCodeLoader
2021-04-16 20:59:27 -07:00
Ryan Houdek
e9aeebb3a1
Use cmake SDL2 target properties
...
Some distros include generated cmake files instead of the two cmake files from the source.
Distros that use the generated cmake files only have SDL import properties, so we are required
to use those.
2021-04-16 18:45:06 -07:00
Ryan Houdek
08bc7a8364
Merge pull request #967 from FEX-Emu/skmp/new-elf-loading
...
ELF: Simpler loader, uses mmap
2021-04-16 18:35:56 -07:00
Stefanos Kornilios Mitsis Poiitidis
13bfdcad06
Emulated Files: Don't precalculate /proc/pid path, it changes after fork
2021-04-15 15:33:10 +03:00
Stefanos Kornilios Mitsis Poiitidis
38a707b38e
Add missing functions to elfcodeloader2
2021-04-15 13:51:22 +03:00
Stefanos Kornilios Mitsis Poiitidis
ada7915b01
Convert an assert to log
2021-04-15 13:40:28 +03:00
Stefanos Kornilios Mitsis Poiitidis
9775a2148e
Fix rootfs interpreter loading
2021-04-15 12:16:33 +03:00
Stefanos Kornilios Mitsis Poiitidis
bc8696828b
More logging
2021-04-15 12:14:55 +03:00
Stefanos Kornilios Mitsis Poiitidis
7d792e65f0
Rootfs, assert fixes
2021-04-15 12:04:42 +03:00
Stefanos Kornilios Mitsis Poiitidis
14b5b881c5
Add more logging
2021-04-15 11:47:42 +03:00
Stefanos Kornilios Mitsis Poiitidis
830e41459c
Fix build for test harness, irloader
2021-04-15 11:05:07 +03:00
Stefanos Kornilios Mitsis Poiitidis
0db99ea4f6
Use allocator for x32
2021-04-15 10:51:16 +03:00
Stefanos Kornilios Mitsis Poiitidis
22f1cf0e2a
More wip
2021-04-15 10:05:59 +03:00
Stefanos Kornilios Mitsis Poiitidis
80493487db
ELF Loading: Cleanups all around
2021-04-14 10:59:23 +03:00
Stefanos Kornilios Mitsis Poiitidis
59ce750af6
Elf: Add ELFCodeLoader2, with simplified loading logic
2021-04-13 15:59:36 +03:00
Stefanos Kornilios Mitsis Poiitidis
a0a382cc5c
Clear up file naming a big
2021-04-13 15:59:36 +03:00
Ryan Houdek
6cc7d065aa
Merge pull request #964 from Sonicadvance1/paranoid_tso
...
First step in paranoid TSO mode
2021-04-12 23:34:54 -07:00
Ryan Houdek
cc0c45cf47
Switches FEX over to using jemalloc
...
This is the first step that we need to do for correct 32-bit memory allocations.
2021-04-08 12:42:37 -07:00
Ryan Houdek
849b83bd02
Adds new ParanoidTSO option
2021-04-06 18:46:52 -07:00
Ryan Houdek
235f6fbe39
Strip symbols and dead sections
...
These are unnecessary and just add some file bloat. Strip them out
2021-04-06 00:39:03 -07:00
Stefanos Kornilios Mitsis Poiitidis
5e6c6adf8b
Merge pull request #956 from Sonicadvance1/enable_gcc_32_tests
...
Enables GCC 32-bit unit tests
2021-04-06 09:48:38 +03:00
Ryan Houdek
0cb53fff89
Change kernel version error to not be fatal
2021-04-05 23:09:06 -07:00
Ryan Houdek
f1663abe81
Removes getenv usage for aotir
...
We can't rely on `getenv("HOME")` always working.
Have the AOTIR code use the helper method for getting the data directory instead.
2021-04-04 21:43:14 -07:00
Ryan Houdek
8319a85524
Merge pull request #946 from Sonicadvance1/fix_eventfd
...
Fixes eventfd and eventfd2
2021-04-03 06:52:32 -07:00
Ryan Houdek
8ad45071e4
Merge pull request #945 from Sonicadvance1/fix_truncate_creat
...
Fixes truncate and creat
2021-04-03 06:47:31 -07:00