Commit Graph
2454 Commits
Author SHA1 Message Date
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