Ronald Caesar cb12ae4809 tools/dashboard: make hot reloading safer
If a script fails to load or lua throws an error during execution,
the dashboard aborts which could get annoying when working with lua
and FFI bindings without proper IntelliSense. This commit makes
the dashboard stay alive during a hot reloading or lua runtime error.
The dashboard will then only reload the lua file if it has been
modified.

This adds 'dashboard_backend_recover()' in dashboard_backend.h to
recover lua's stack during a runtime error. This function simply
destroys and reinit the ImGui window context. The dashboard will then
run with a blank frame until the lua script has been reloaded.

Signed-off-by: Ronald Caesar <github43132@proton.me>
2026-06-08 11:43:38 -04:00
2026-06-05 03:49:36 -04:00
2026-06-07 18:55:17 -04:00
2025-12-12 18:29:36 -04:00
2026-02-21 02:52:28 -04:00
2025-12-07 13:09:15 -04:00
2026-06-07 18:46:06 -04:00

The Ballistic JIT Engine

„The world's fastest ARM recompiler“

Overview

This is a rewrite of the dynarmic recompiler, with the goal of fixing its many flaws.

Immediate Goals

  • Create Tier 1 backend compiler.
  • Create Tier 2 backend compiler.
  • Support MOVZ, MOVK, MOVN instructions on both compilers.
  • Add more peephole optimizations.
  • Have 100% branch coverage.
  • Have a config to change Ballistic behavior at runtime.
  • Support Block linking.
  • Map ARM flags to x86 flags.
  • Support 128-bit types and x86 SSE/AVX instructions.
  • Add exception handling and recover guest CPU state.
  • Add register spilling.
  • Add Callback Memory Model.
  • Add TLB Memory model.
  • Rewrite tools/cdoc.c

Building Ballistic

Install Dependencies

macOS

brew install cmake python3 llvm

Debian/Ubuntu

sudo apt update
sudo apt install build-essential cmake python3

Fedora

sudo dnf install cmake python3 gcc-c++

Configure CMake

mkdir build
cd build
cmake ..

Build Binaries

cmake --build .

The compiled executables will be created in the build/bin and build/lib directories.

See tools/ for more information on these executables.

S
Description
No description provided
Readme GPL-2.0 72 MiB
Languages
C 37.7%
cpp 36.8%
Lua 21.3%
XSLT 2%
C++ 1.2%
Other 1%