Repository navigation
rebar 0.4.0
Runs arm64 macOS programs on Intel/AMD (x86_64) Macs. A user-mode dynamic binary translator (interpreter + x86-64 JIT + Mach-O loader/bridge to the host's system libraries).
Frameworks and libraries that work in this release
Swift
- Swift Concurrency (async/await, tasks, executors)
- Swift runtime key paths
- SwiftUI (navigation, forms, canvas) and Swift Charts
Runtimes with their own JIT
- Java (HotSpot, C1/C2)
- .NET (CoreCLR)
- LLVM-based JIT runtimes
- V8 and JavaScriptCore JavaScript engines
System frameworks
- Mach exception handling (hardware faults delivered as Mach exceptions)
- Security: keychain item services, SecureTransport TLS
- CoreGraphics display enumeration and CoreVideo display link
- Objective-C runtime: protocol lookup, ARC return-value handshake, assertion handling
- libunwind (local unwinding API)
- POSIX process spawning (vfork, posix_spawn), dlopen with relative and @rpath paths
Third-party libraries
- GTK 3, GDK, GLib, Cairo, gdk-pixbuf
- OpenGL through GLFW and LWJGL
- libc++ strings used together with programs that replace the memory allocator
Also: uname and sysctl hw.machine report arm64 to guests.
Install
- Rebar-launcher: Rebar.app (English). Unzip, move to Applications, open. If macOS says the app is damaged:
xattr -dr com.apple.quarantine /Applications/Rebar.app. - rebar (command line): keep
rebarandlibrebar_exec.dylibtogether, run./rebar path/to/arm64/binary [args...].
Build from source: ./build.sh.