mirror of
https://github.com/RPCS3/rpcs3.git
synced 2025-07-08 07:51:28 +12:00
SPU ASMJIT: Implement Mega block mode (experimental)
Disable extra modes for SPU LLVM for now. In Mega mode, SPU Analyser tries to determine complete functions. Recompiler tries to speed up returns via 'stack mirror'.
This commit is contained in:
parent
11bdb4102a
commit
12eee6a19e
5 changed files with 109 additions and 14 deletions
|
@ -637,8 +637,17 @@ SPUThread::SPUThread(const std::string& name, u32 index, lv2_spu_group* group)
|
|||
jit = spu_recompiler_base::make_llvm_recompiler();
|
||||
}
|
||||
|
||||
// Initialize lookup table
|
||||
jit_dispatcher.fill(&spu_recompiler_base::dispatch);
|
||||
if (g_cfg.core.spu_decoder != spu_decoder_type::fast && g_cfg.core.spu_decoder != spu_decoder_type::precise)
|
||||
{
|
||||
// Initialize lookup table
|
||||
jit_dispatcher.fill(&spu_recompiler_base::dispatch);
|
||||
|
||||
if (g_cfg.core.spu_block_size != spu_block_size_type::safe)
|
||||
{
|
||||
// Initialize stack mirror
|
||||
std::memset(stack_mirror.data(), 0xff, sizeof(stack_mirror));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void SPUThread::push_snr(u32 number, u32 value)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue