mirror of
https://github.com/hrydgard/ppsspp.git
synced 2026-07-25 00:04:49 +02:00
Disable preloading of function stubs if bPreloadFunctions is off
Fixes #19349. Strange that the game worked at all. The issue is that the arena could get resized due to precompile during sceKernelModuleLoad . Now respect the flag that turns precompile off properly (we should probably make it work differently instead, if we're gonna have it).
This commit is contained in:
@@ -772,7 +772,9 @@ void ImportFuncSymbol(const FuncSymbolImport &func, bool reimporting, const char
|
||||
}
|
||||
WriteSyscall(func.moduleName, func.nid, func.stubAddr);
|
||||
currentMIPS->InvalidateICache(func.stubAddr, 8);
|
||||
MIPSAnalyst::PrecompileFunction(func.stubAddr, 8);
|
||||
if (g_Config.bPreloadFunctions) {
|
||||
MIPSAnalyst::PrecompileFunction(func.stubAddr, 8);
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -791,7 +793,9 @@ void ImportFuncSymbol(const FuncSymbolImport &func, bool reimporting, const char
|
||||
}
|
||||
WriteFuncStub(func.stubAddr, it->symAddr);
|
||||
currentMIPS->InvalidateICache(func.stubAddr, 8);
|
||||
MIPSAnalyst::PrecompileFunction(func.stubAddr, 8);
|
||||
if (g_Config.bPreloadFunctions) {
|
||||
MIPSAnalyst::PrecompileFunction(func.stubAddr, 8);
|
||||
}
|
||||
return;
|
||||
}
|
||||
}
|
||||
@@ -831,7 +835,9 @@ void ExportFuncSymbol(const FuncSymbolExport &func) {
|
||||
INFO_LOG(Log::Loader, "Resolving function %s/%08x", func.moduleName, func.nid);
|
||||
WriteFuncStub(it->stubAddr, func.symAddr);
|
||||
currentMIPS->InvalidateICache(it->stubAddr, 8);
|
||||
MIPSAnalyst::PrecompileFunction(it->stubAddr, 8);
|
||||
if (g_Config.bPreloadFunctions) {
|
||||
MIPSAnalyst::PrecompileFunction(it->stubAddr, 8);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user