mirror of
https://github.com/RPCS3/rpcs3.git
synced 2024-11-22 02:32:36 +01:00
Implement jit_compiler::check
Instead of checking file existence (because file may be damaged).
This commit is contained in:
parent
7939160178
commit
91d80aa7b9
@ -1200,6 +1200,19 @@ void jit_compiler::add(const std::string& path)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bool jit_compiler::check(const std::string& path)
|
||||||
|
{
|
||||||
|
if (auto cache = ObjectCache::load(path))
|
||||||
|
{
|
||||||
|
if (auto object_file = llvm::object::ObjectFile::createObjectFile(*cache))
|
||||||
|
{
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
void jit_compiler::fin()
|
void jit_compiler::fin()
|
||||||
{
|
{
|
||||||
m_engine->finalizeObject();
|
m_engine->finalizeObject();
|
||||||
|
@ -171,6 +171,9 @@ public:
|
|||||||
// Add object (path to obj file)
|
// Add object (path to obj file)
|
||||||
void add(const std::string& path);
|
void add(const std::string& path);
|
||||||
|
|
||||||
|
// Check object file
|
||||||
|
static bool check(const std::string& path);
|
||||||
|
|
||||||
// Finalize
|
// Finalize
|
||||||
void fin();
|
void fin();
|
||||||
|
|
||||||
|
@ -1650,7 +1650,7 @@ extern void ppu_initialize(const ppu_module& info)
|
|||||||
link_workload.emplace_back(obj_name, false);
|
link_workload.emplace_back(obj_name, false);
|
||||||
|
|
||||||
// Check object file
|
// Check object file
|
||||||
if (fs::is_file(cache_path + obj_name + ".gz") || fs::is_file(cache_path + obj_name))
|
if (jit_compiler::check(cache_path + obj_name))
|
||||||
{
|
{
|
||||||
if (!jit)
|
if (!jit)
|
||||||
{
|
{
|
||||||
|
Loading…
Reference in New Issue
Block a user