Skip to content

rebar 0.4.0

Choose a tag to compare

@OverlordDev OverlordDev released this 04 Nov 16:47
· 84 commits to main since this release

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 rebar and librebar_exec.dylib together, run ./rebar path/to/arm64/binary [args...].

Build from source: ./build.sh.