Commit Graph
15 Commits
Author SHA1 Message Date
Ryan Houdek e510b9e82b Remove LogManager reference from public FEXCore header 2020-03-06 07:55:46 +02:00
Ryan Houdek b58b5687e0 Fixes AArch64 custom ASM dispatcher 2020-03-06 07:55:46 +02:00
Ryan Houdek 5db8de625a Adds a few new instructions to the X86Tables
I managed to hit these when messing with Multiblock.
2020-03-06 07:55:37 +02:00
Ryan Houdek 7da7880a41 Splits X86Table definitions in to multiple files
Allows YouCompleteMe to handle these files and makes recompiling less of
a pain when one line is changed.
2020-03-06 07:55:36 +02:00
Ryan Houdek f27f9485f6 Changes IR::CondJump's condition to dump textually. 2020-03-06 07:55:33 +02:00
Ryan Houdek 6d92146578 Flesh out X86Tables some more
Adds an EVEX table and throws some ops in to an unimplemented function.
This is necessary for multiblock in the future where it will see
unsupported instructions but not actually execute them.
2020-03-06 07:55:18 +02:00
Ryan Houdek 3f0d020899 Add support for an Invalid NodeWrapperIterator 2020-03-06 07:55:17 +02:00
Ryan Houdek db5467211c Fixes the AArch64 JIT
Moves it to the new IR iterating style.
Forgot to clear icache after generation.
Fixes overly aggressive struct packing causing a fault
2020-03-06 07:55:16 +02:00
Ryan Houdek 199cfd76d8 Refactor IR and other changes that are hard to split
I had to change how blocks are represented to make it easier to parse
This required a fairly substantial refactor that makes it so blocks are
represented differently and we can walk them sequentially.

This will make future analysis easier to deal with.
Had to rewrite the passes and core's parsing of the IR afterwards.

Moved RA in to a optimization pass to be shared between the JIT backends
This works because x86-64 and AArch64 RA can be identical.

Still doesn't support PHI nodes or spilling correctly, this is the first
step in the process of getting there.
2020-03-06 07:55:13 +02:00
Ryan Houdek 185f6c78a9 Cleans up X86Tables and removes a bunch of templates and lambdas
Drops compile time dramatically
2020-03-06 07:52:38 +02:00
Ryan Houdek 925ce8b35e [CPUBackend] Add custom dispatch virtual functions to be implemented 2020-03-06 07:52:36 +02:00
Ryan Houdek 92d4aaf2e2 Partial FXSave/FXRStor instruction implementations. 2020-03-06 07:52:35 +02:00
Ryan Houdek 7252050e42 Initial commit 2020-03-06 07:48:39 +02:00
Stefanos Kornilios Mitsis Poiitidis a468d10d56 SonicUtils: Move to External/SonicUtils 2020-03-06 07:24:46 +02:00
Ryan Houdek 33daca99e2 Adjust the project to be able to be installed
Cleans up file locations
2019-11-14 23:10:13 -08:00