mirror of
https://github.com/RPCS3/rpcs3.git
synced 2024-11-25 12:12:50 +01:00
Refactor some 'offending' code a bit (no effect)
It appears linkage errors were rare even in debug mode (GCC/clang).
This commit is contained in:
parent
6cf0c5cd6d
commit
f9bc682115
@ -1055,14 +1055,17 @@ fs::file::file(const std::string& path, bs_t<open_mode> mode)
|
|||||||
|
|
||||||
u64 seek(s64 offset, seek_mode whence) override
|
u64 seek(s64 offset, seek_mode whence) override
|
||||||
{
|
{
|
||||||
|
if (whence > seek_end)
|
||||||
|
{
|
||||||
|
fmt::throw_exception("Invalid whence (0x%x)", whence);
|
||||||
|
}
|
||||||
|
|
||||||
LARGE_INTEGER pos;
|
LARGE_INTEGER pos;
|
||||||
pos.QuadPart = offset;
|
pos.QuadPart = offset;
|
||||||
|
|
||||||
const DWORD mode =
|
const DWORD mode =
|
||||||
whence == seek_set ? FILE_BEGIN :
|
whence == seek_set ? FILE_BEGIN :
|
||||||
whence == seek_cur ? FILE_CURRENT :
|
whence == seek_cur ? FILE_CURRENT : FILE_END;
|
||||||
whence == seek_end ? FILE_END :
|
|
||||||
(fmt::throw_exception("Invalid whence (0x%x)", whence), 0);
|
|
||||||
|
|
||||||
if (!SetFilePointerEx(m_handle, pos, &pos, mode))
|
if (!SetFilePointerEx(m_handle, pos, &pos, mode))
|
||||||
{
|
{
|
||||||
@ -1196,11 +1199,14 @@ fs::file::file(const std::string& path, bs_t<open_mode> mode)
|
|||||||
|
|
||||||
u64 seek(s64 offset, seek_mode whence) override
|
u64 seek(s64 offset, seek_mode whence) override
|
||||||
{
|
{
|
||||||
|
if (whence > seek_end)
|
||||||
|
{
|
||||||
|
fmt::throw_exception("Invalid whence (0x%x)", whence);
|
||||||
|
}
|
||||||
|
|
||||||
const int mode =
|
const int mode =
|
||||||
whence == seek_set ? SEEK_SET :
|
whence == seek_set ? SEEK_SET :
|
||||||
whence == seek_cur ? SEEK_CUR :
|
whence == seek_cur ? SEEK_CUR : SEEK_END;
|
||||||
whence == seek_end ? SEEK_END :
|
|
||||||
(fmt::throw_exception("Invalid whence (0x%x)", whence), 0);
|
|
||||||
|
|
||||||
const auto result = ::lseek(m_fd, offset, mode);
|
const auto result = ::lseek(m_fd, offset, mode);
|
||||||
|
|
||||||
|
@ -126,11 +126,16 @@ static u64& ppu_ref(u32 addr)
|
|||||||
// Get interpreter cache value
|
// Get interpreter cache value
|
||||||
static u64 ppu_cache(u32 addr)
|
static u64 ppu_cache(u32 addr)
|
||||||
{
|
{
|
||||||
|
if (g_cfg.core.ppu_decoder > ppu_decoder_type::fast)
|
||||||
|
{
|
||||||
|
fmt::throw_exception("Invalid PPU decoder");
|
||||||
|
}
|
||||||
|
|
||||||
// Select opcode table
|
// Select opcode table
|
||||||
const auto& table = *(
|
const auto& table = *(
|
||||||
g_cfg.core.ppu_decoder == ppu_decoder_type::precise ? &g_ppu_interpreter_precise.get_table() :
|
g_cfg.core.ppu_decoder == ppu_decoder_type::precise
|
||||||
g_cfg.core.ppu_decoder == ppu_decoder_type::fast ? &g_ppu_interpreter_fast.get_table() :
|
? &g_ppu_interpreter_precise.get_table()
|
||||||
(fmt::throw_exception("Invalid PPU decoder"), nullptr));
|
: &g_ppu_interpreter_fast.get_table());
|
||||||
|
|
||||||
return reinterpret_cast<uptr>(table[ppu_decode(vm::read32(addr))]);
|
return reinterpret_cast<uptr>(table[ppu_decode(vm::read32(addr))]);
|
||||||
}
|
}
|
||||||
|
@ -1188,11 +1188,15 @@ void spu_recompiler_base::branch(spu_thread& spu, void*, u8* rip)
|
|||||||
|
|
||||||
void spu_recompiler_base::old_interpreter(spu_thread& spu, void* ls, u8* rip)
|
void spu_recompiler_base::old_interpreter(spu_thread& spu, void* ls, u8* rip)
|
||||||
{
|
{
|
||||||
|
if (g_cfg.core.spu_decoder > spu_decoder_type::fast)
|
||||||
|
{
|
||||||
|
fmt::throw_exception("Invalid SPU decoder");
|
||||||
|
}
|
||||||
|
|
||||||
// Select opcode table
|
// Select opcode table
|
||||||
const auto& table = *(
|
const auto& table = *(g_cfg.core.spu_decoder == spu_decoder_type::precise
|
||||||
g_cfg.core.spu_decoder == spu_decoder_type::precise ? &g_spu_interpreter_precise.get_table() :
|
? &g_spu_interpreter_precise.get_table()
|
||||||
g_cfg.core.spu_decoder == spu_decoder_type::fast ? &g_spu_interpreter_fast.get_table() :
|
: &g_spu_interpreter_fast.get_table());
|
||||||
(fmt::throw_exception("Invalid SPU decoder"), nullptr));
|
|
||||||
|
|
||||||
// LS pointer
|
// LS pointer
|
||||||
const auto base = static_cast<const u8*>(ls);
|
const auto base = static_cast<const u8*>(ls);
|
||||||
|
@ -1,16 +1,16 @@
|
|||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
enum class ppu_decoder_type
|
enum class ppu_decoder_type : unsigned
|
||||||
{
|
{
|
||||||
precise,
|
precise = 0, // Don't change (0)
|
||||||
fast,
|
fast, // Don't change (1)
|
||||||
llvm,
|
llvm,
|
||||||
};
|
};
|
||||||
|
|
||||||
enum class spu_decoder_type
|
enum class spu_decoder_type : unsigned
|
||||||
{
|
{
|
||||||
precise,
|
precise = 0, // Don't change (0)
|
||||||
fast,
|
fast, // Don't change (1)
|
||||||
asmjit,
|
asmjit,
|
||||||
llvm,
|
llvm,
|
||||||
};
|
};
|
||||||
|
Loading…
Reference in New Issue
Block a user