From f4f3105ccd5b19b524d1dd58495f49b02b9e623c Mon Sep 17 00:00:00 2001 From: Miku AuahDark Date: Mon, 27 Nov 2023 12:13:56 +0800 Subject: [PATCH] Call love.jitsetup during thread initialization too. --- src/modules/thread/LuaThread.cpp | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/modules/thread/LuaThread.cpp b/src/modules/thread/LuaThread.cpp index 315f74b1b..79bc4d0c0 100644 --- a/src/modules/thread/LuaThread.cpp +++ b/src/modules/thread/LuaThread.cpp @@ -24,6 +24,7 @@ #ifdef LOVE_BUILD_STANDALONE extern "C" int luaopen_love(lua_State * L); +extern "C" int luaopen_love_jitsetup(lua_State * L); #endif // LOVE_BUILD_STANDALONE namespace love @@ -54,6 +55,13 @@ void LuaThread::threadFunction() luaL_openlibs(L); #ifdef LOVE_BUILD_STANDALONE + // Call LuaJIT-specific setup again. While it's quite late to call it at + // this point, it still needed to turn off JIT compilation (if necessary) + // for this thread. + luax_preload(L, luaopen_love_jitsetup, "love.jitsetup"); + luax_require(L, "love.jitsetup"); + lua_pop(L, 1); + luax_preload(L, luaopen_love, "love"); luax_require(L, "love"); lua_pop(L, 1);