Ryan Houdek ea3c4be9ed Implements TSO loadstore ops for the AArch64 JIT
This is the base implementation that uses LORegion loadstore
instructions to support the load/store release semantics, which these
instructions use.

Sadly these don't match the alignment requirements of x86 loadstores, so
if it was just used everywhere then it will cause alignment faults.
This means we need to catch the sigbus and backpatch the instruction to
do safe (aka expensive) TSO.

Currently this backpatch just falls back to regular loadstores
surrounded by DMB instructions.
Basically unaligned loadstores will fall back to nearly what we are
doing now, so significantly improved but not perfect.

A follow up PR will change this over to using a helper routine to be
100% safe
2020-08-12 15:24:01 -07:00
2020-03-06 09:08:13 +02:00
2020-08-10 10:23:31 +03:00
2020-03-06 09:08:13 +02:00
2020-03-06 09:08:13 +02:00

FEX - Fast x86 emulation frontend

This is the frontend application and tooling used for development and debugging of the FEXCore library.

Dependencies

  • SonicUtils
  • FEXCore
  • cpp-optparse
  • imgui
  • json-maker
  • tiny-json
  • boost interprocess (sadly)
  • A C++17 compliant compiler (There are assumptions made about using Clang and LTO)
  • clang-tidy if you want the code cleaned up
  • cmake

FEX diagram

S
Description
GitHub pull mirror of FEX-Emu/FEX. GitHub repository ID: 245352386. Gitea import mode: github-full.
https://github.com/FEX-Emu/FEX Readme MIT
60 MiB
0 Stars 1 Watchers 0 Forks
2026-10-07 22:00:17 +02:00
Languages
C++ 56%
Assembly 37.8%
C 3.8%
Python 1.2%
CMake 0.9%
Other 0.2%