mirror of
https://github.com/pound-emu/ballistic.git
synced 2026-03-09 10:45:39 -07:00
main
`context->code_buffer` was only declared, not initialized, so the OS gave code_buffer a random address in memory. This random memory address was then freed during test_teardown(), causing a segfault. Signed-off-by: Ronald Caesar <github43132@proton.me>
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
- Support
MOVZ,MOVK,MOVNinstructions. - Support
ADDinstructions. - Implement backend.
Building Ballistic
Install Dependencies
macOS
brew install cmake python3 llvm
Debian/Ubuntu
sudo apt update
sudo apt install build-essential cmake python3 libclang-dev llvm-dev
Fedora
sudo dnf install cmake python3 gcc-c++ clang-devel llvm-devel
Configure CMake
mkdir build
cd build
cmake ..
macOS (If LLVM is not found)
cmake -DCMAKE_PREFIX_PATH=$(brew --prefix llvm) ..
Build Binaries
cmake --build .
The following executables will be created in the build/ directory:
libBallistic.a(Static Library)ballistic_cli(Used for Ballistic development)decoder_cli(Instruction decoding tool)cdoc(Documentation generator)test_*(Test suite, run withctest)
See tools/ for more information on these executables.
Languages
C
92.4%
XSLT
5.4%
Python
1.4%
CSS
0.5%
CMake
0.3%