Ryan Houdek
520dfd7edf
Adds Long Divide removal pass
...
If the long divides don't have anything in the upper bits then they can be optimized away.
Teeworlds, SuperTuxKart, and RRootage were between 50%-55% getting removed
2021-04-24 23:10:59 -07:00
Stefanos Kornilios Mitsis Poiitidis
60671ee6cb
Merge pull request #975 from Sonicadvance1/use_xxhash
...
Switch from fasthash64 to xxhash's XXH3
2021-04-23 09:49:06 +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
Stefanos Kornilios Mitsis Poiitidis
3e4ff23ab6
Merge pull request #977 from Sonicadvance1/fix_relative_elf
...
Fixes ELFCodeLoader2 loading relative ELF files
2021-04-22 09:40:08 +03:00
Ryan Houdek
93ed411899
Fixes ELFCodeLoader2 loading relative ELF files
2021-04-20 01:58:37 -07:00
Ryan Houdek
0b0db08ebf
Switch from fasthash64 to xxhash's XXH3
...
Fixes #797
2021-04-18 18:13:27 -07:00
Stefanos Kornilios Mitsis Poiitidis
3419f40c00
Merge pull request #971 from Sonicadvance1/template_specialization
...
Declare missing template specialization for GetListIfExists
2021-04-19 00:03:25 +03: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
Stefanos Kornilios Mitsis Poiitidis
872e49f02a
Merge pull request #969 from Sonicadvance1/mcpu_native
...
Use mcpu=native with Clang 12
2021-04-19 00:02:22 +03:00
Stefanos Kornilios Mitsis Poiitidis
f0f6bc7a73
Merge pull request #973 from Sonicadvance1/fix_openat
...
Fixes OpenAt breaking with anonymous objects
2021-04-17 15:51:24 +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
967ac863be
Replaces naked mman usage in X86Dispatcher
2021-04-16 20:50:14 -07:00
Ryan Houdek
fa546fb492
Replaces naked mman usage in ELFSymbolDatabase
2021-04-16 20:50:09 -07:00
Ryan Houdek
99ab9864aa
Replaces naked mman usage in X86HelperGen
2021-04-16 20:50:03 -07:00
Ryan Houdek
11246355e2
Replaces naked mman usage in LookupCache
2021-04-16 20:49:58 -07:00
Ryan Houdek
0d236940e0
Replaces naked mman usage in x86-64 JIT
2021-04-16 20:49:52 -07:00
Ryan Houdek
a0afb4be5a
Replaces naked mman usage in Arm64 JIT
2021-04-16 20:49:47 -07:00
Ryan Houdek
ca45485d48
Adds new Allocator namespace for replace mmap and munmap
...
This is necessary for overriding these functions
2021-04-16 20:49:35 -07:00
Ryan Houdek
c8bb0e2d51
Declare missing template specialization for GetListIfExists
...
Clang 12 picks up that this was missing
2021-04-16 18:54:16 -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
1ad46c5af1
Use mcpu=native with Clang 12
...
Clang 12 fixes the bug with big.little configurations so we
can keep using mcpu=native past this point
2021-04-16 18:44:34 -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
Ryan Houdek
e7179ff84b
Merge pull request #968 from FEX-Emu/skmp/fix-self-exe-after-fork
...
Emulated Files: Don't precalculate /proc/pid path, it changes after fork
2021-04-15 13:01:41 -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
4ac81e22de
Move some more files around
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
93b9ca4bdb
Merge pull request #965 from Sonicadvance1/add_jemalloc
...
Switches FEX over to using jemalloc
2021-04-08 14:04:12 -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
4a504bdd00
Merge pull request #939 from Sonicadvance1/hidden_visibility
...
Default hidden visibility and strip symbols
2021-04-06 18:56:28 -07:00
Ryan Houdek
66c8dd2013
First step in paranoid TSO mode
...
This moves vector ops down the GPR atomic backpatch path.
Next step after this is to add SIGBUS based handlers for these rather than backpatching.
Needs more work to treat aligned versus unaligned vector loadstores differently
2021-04-06 18:48:36 -07:00
Ryan Houdek
91ac4ccdd8
Adds LDAXP and STLXP backpatch handlers
...
This will be used in the next commit
2021-04-06 18:47:50 -07:00