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
Stefanos Kornilios Mitsis Poiitidis
cd0492a143
Merge pull request #994 from Sonicadvance1/enable_armv8.4
...
Enables ARMv8.4 CI runner
2021-04-28 09:53:47 +03:00
Ryan Houdek
26bf903b93
Enables ARMv8.4 CI runner
...
Requires #990 and #993 to be merged first
2021-04-27 23:16:39 -07: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
Stefanos Kornilios Mitsis Poiitidis
c495d8120d
Merge pull request #993 from Sonicadvance1/fix_sdl_missed_line
...
Oops: Missed line on FEXConfig SDL2
2021-04-28 09:10:52 +03:00
Stefanos Kornilios Mitsis Poiitidis
a6d9425091
Merge pull request #990 from Sonicadvance1/fix_native_m1
...
Work around M1 Parallels hypervisor not showing CPU type
2021-04-28 09:09:08 +03:00
Ryan Houdek
b06ebf486f
Work around M1 Parallels hypervisor not showing CPU type
...
Parallels claims that the CPU is of implementor 0x41 and part number 0.
Easy enough to work around before real numbers get exposed
2021-04-27 22:26:35 -07:00
Ryan Houdek
b17464d81a
Oops: Missed line on FEXConfig SDL2
2021-04-27 16:51:12 -07:00
Ryan Houdek
2ab8a97055
Merge pull request #989 from Sonicadvance1/sdl2_fix
...
Only use SDL2 import target if it exists
2021-04-27 01:11:28 -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
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
37108058d1
Removes some unnecessary branching checks
...
It doesn't actually matter if the invalid node has has its linked list nodes changed
Faster to just set than to check while in a tight loop
2021-04-26 23:48:22 -07:00
Stefanos Kornilios Mitsis Poiitidis
c3ad571062
Merge pull request #987 from Sonicadvance1/fix_assert_dumb_code
...
Changes LogMan assert to defines
2021-04-27 09:41:12 +03: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
5ffbd97f01
IROp types can be marked const
...
Allows the compiler to know it can be optimized out without LTO
2021-04-26 13:45:37 -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
Ryan Houdek
e9a32da997
Merge pull request #986 from FEX-Emu/skmp/fix-20.04-build
...
Deps: Require xxhash 0.7.3, ubuntu 20.04 ships with that version
2021-04-26 10:05:35 -07:00
Stefanos Kornilios Mitsis Poiitidis
b3564a4a48
IR: Fix RIP relocation edge-cases
2021-04-26 19:20:01 +03:00
Stefanos Kornilios Mitsis Poiitidis
2294419353
Deps: Require xxhash 0.7.3, ubuntu 20.04 ships with that version
2021-04-26 19:07:23 +03:00
Stefanos Kornilios Mitsis Poiitidis
df8b78b327
Dispatcher: Use Also lookup L1C when dispatching interpreter
2021-04-26 19:06:11 +03:00
Stefanos Kornilios Mitsis Poiitidis
2ea6a2a141
LookupCache: Fix L1C to actually cache entries
2021-04-26 18:38:03 +03:00
Ryan Houdek
db776fae4e
Merge pull request #985 from FEX-Emu/skmp/rip-relative-compilation
...
IR: Remove Entry from OP_HEADER, pass as parameter to CompileCode
2021-04-25 18:27:37 -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
7805552edb
LookupCache: Add new entries to L1C
2021-04-25 13:03:43 +03:00
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