PPU LLVM: Fix HLE patches

This commit is contained in:
Elad 2025-01-27 17:09:42 +02:00
parent 67703b49d8
commit c08f3498c6

View file

@ -5023,7 +5023,7 @@ bool ppu_initialize(const ppu_module<lv2_obj>& info, bool check_only, u64 file_s
if (source == func.addr)
{
(*shared_map)[func.addr - reloc] = reinterpret_cast<u64>(far_jump);
(*shared_map)[func.addr] = reinterpret_cast<u64>(far_jump);
}
ppu_register_function_at(source, 4, far_jump);
@ -5408,6 +5408,11 @@ bool ppu_initialize(const ppu_module<lv2_obj>& info, bool check_only, u64 file_s
while (jits.size() < utils::aligned_div<u64>(module_counter, c_moudles_per_jit) && is_being_used_in_emulation)
{
jits.emplace_back(std::make_shared<jit_compiler>(s_link_table, g_cfg.core.llvm_cpu, 0, symbols_cement));
for (const auto& [addr, func] : *shared_map)
{
jits.back()->update_global_mapping(fmt::format("__0x%x", addr - reloc), func);
}
}
if (jit_mod.symbol_resolvers.empty() && is_being_used_in_emulation)