Skip to content

Commit

Permalink
SPU: analyser v4 and fixes
Browse files Browse the repository at this point in the history
Build SPU cache after PPU, fix mixing progress
SPU ASMJIT: add support for Giga mode
SPU ASMJIT: use the same spu.log location as SPU LLVM
SPU: improve spu.log disasm
SPU: improve trampolines, unify with SPU ASMJIT
SPU: decode interrupt handler address from BR/BRA at 0x0
SPU LLVM: support Mega/Giga modes
SPU LLVM: implement function chunks
SPU LLVM: use PHI nodes, value visibility across basic blocks
  • Loading branch information
Nekotekina committed Jun 20, 2018
1 parent 0ffaf6c commit 16d9834
Show file tree
Hide file tree
Showing 7 changed files with 1,357 additions and 525 deletions.
4 changes: 2 additions & 2 deletions Utilities/JIT.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -383,7 +383,7 @@ class ObjectCache final : public llvm::ObjectCache
std::string name = m_path;
name.append(module->getName());
fs::file(name, fs::rewrite).write(obj.getBufferStart(), obj.getBufferSize());
LOG_SUCCESS(GENERAL, "LLVM: Created module: %s", module->getName().data());
LOG_NOTICE(GENERAL, "LLVM: Created module: %s", module->getName().data());
}

static std::unique_ptr<llvm::MemoryBuffer> load(const std::string& path)
Expand All @@ -405,7 +405,7 @@ class ObjectCache final : public llvm::ObjectCache

if (auto buf = load(path))
{
LOG_SUCCESS(GENERAL, "LLVM: Loaded module: %s", module->getName().data());
LOG_NOTICE(GENERAL, "LLVM: Loaded module: %s", module->getName().data());
return buf;
}

Expand Down
6 changes: 3 additions & 3 deletions rpcs3/Emu/Cell/PPUThread.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -1225,9 +1225,6 @@ extern void ppu_initialize()
fmt::throw_exception("Failed to create cache directory: %s (%s)", _main->cache, fs::g_tls_error);
}

// Initialize SPU cache
spu_cache::initialize();

if (Emu.IsStopped())
{
return;
Expand All @@ -1248,6 +1245,9 @@ extern void ppu_initialize()
{
ppu_initialize(*ptr);
}

// Initialize SPU cache
spu_cache::initialize();
}

extern void ppu_initialize(const ppu_module& info)
Expand Down
Loading

0 comments on commit 16d9834

Please sign in to comment.