mirror of
https://github.com/RPCS3/rpcs3.git
synced 2025-07-05 22:41:25 +12:00
SPU LLVM: re-enable stack mirror
It was disabled due to other bugs which should be fixed now.
This commit is contained in:
parent
a69329fe02
commit
a016728a9e
1 changed files with 2 additions and 2 deletions
|
@ -7735,7 +7735,7 @@ public:
|
||||||
m_ir->CreateStore(addr.value, spu_ptr<u32>(&spu_thread::pc));
|
m_ir->CreateStore(addr.value, spu_ptr<u32>(&spu_thread::pc));
|
||||||
const auto type = m_finfo->chunk->getFunctionType()->getPointerTo()->getPointerTo();
|
const auto type = m_finfo->chunk->getFunctionType()->getPointerTo()->getPointerTo();
|
||||||
|
|
||||||
if (ret && g_cfg.core.spu_block_size == spu_block_size_type::mega)
|
if (ret && g_cfg.core.spu_block_size >= spu_block_size_type::mega)
|
||||||
{
|
{
|
||||||
// Compare address stored in stack mirror with addr
|
// Compare address stored in stack mirror with addr
|
||||||
const auto stack0 = eval(zext<u64>(sp) + ::offset32(&spu_thread::stack_mirror));
|
const auto stack0 = eval(zext<u64>(sp) + ::offset32(&spu_thread::stack_mirror));
|
||||||
|
@ -8107,7 +8107,7 @@ public:
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (g_cfg.core.spu_block_size == spu_block_size_type::mega && m_block_info[m_pos / 4 + 1] && m_entry_info[m_pos / 4 + 1])
|
if (g_cfg.core.spu_block_size >= spu_block_size_type::mega && m_block_info[m_pos / 4 + 1] && m_entry_info[m_pos / 4 + 1])
|
||||||
{
|
{
|
||||||
// Store the return function chunk address at the stack mirror
|
// Store the return function chunk address at the stack mirror
|
||||||
const auto pfunc = add_function(m_pos + 4);
|
const auto pfunc = add_function(m_pos + 4);
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue