From d21c9cb6dec0afe64660a1e4edc4354aa716ac74 Mon Sep 17 00:00:00 2001 From: Sasha Szpakowski Date: Sun, 26 Nov 2023 17:11:34 -0400 Subject: [PATCH] macOS/arm64: turn off JIT compilation by default. --- changes.txt | 1 + src/modules/love/jitsetup.lua | 4 ++++ 2 files changed, 5 insertions(+) diff --git a/changes.txt b/changes.txt index 84a364eff..1807c43c9 100644 --- a/changes.txt +++ b/changes.txt @@ -6,6 +6,7 @@ Released: N/A * Added "LÖVE Loader" launcher on Android for easier loading of .love files. * Changed iOS game selector to alphabetically sort the list of .love files. +* Changed JIT compilation on macOS arm64 (Apple Silicon) to be off by default, since performance and available JIT memory isn't reliable. * Fixed inconsistent and buggy behaviour of 'pairs' by updating LuaJIT. * Fixed "unexpected alignment" errors when running love on some 32 bit Linux systems. diff --git a/src/modules/love/jitsetup.lua b/src/modules/love/jitsetup.lua index 39e85c18a..239f9f850 100644 --- a/src/modules/love/jitsetup.lua +++ b/src/modules/love/jitsetup.lua @@ -62,6 +62,10 @@ if jit.arch == "arm64" then jit.opt.start("sizemcode=128") for i=1, 100 do end + + -- Actually just turn the whole thing off for arm64. It's very hard to get + -- reliable performance in non-trivial games even with the above workaround. + jit.off() else -- Somewhat arbitrary value (>= the default). jit.opt.start("sizemcode=128")