mirror of
https://github.com/dolphin-emu/dolphin.git
synced 2025-02-09 14:08:58 +01:00
Merge pull request #10456 from merryhime/rm-StringFromFormatV
JitRegister: Use fmt
This commit is contained in:
commit
d9e0bf72dc
@ -81,15 +81,13 @@ bool IsEnabled()
|
|||||||
return s_is_enabled;
|
return s_is_enabled;
|
||||||
}
|
}
|
||||||
|
|
||||||
void RegisterV(const void* base_address, u32 code_size, const char* format, va_list args)
|
void Register(const void* base_address, u32 code_size, const std::string& symbol_name)
|
||||||
{
|
{
|
||||||
#if !(defined USE_OPROFILE && USE_OPROFILE) && !defined(USE_VTUNE)
|
#if !(defined USE_OPROFILE && USE_OPROFILE) && !defined(USE_VTUNE)
|
||||||
if (!s_perf_map_file.IsOpen())
|
if (!s_perf_map_file.IsOpen())
|
||||||
return;
|
return;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
std::string symbol_name = StringFromFormatV(format, args);
|
|
||||||
|
|
||||||
#if defined USE_OPROFILE && USE_OPROFILE
|
#if defined USE_OPROFILE && USE_OPROFILE
|
||||||
op_write_native_code(s_agent, symbol_name.c_str(), (u64)base_address, base_address, code_size);
|
op_write_native_code(s_agent, symbol_name.c_str(), (u64)base_address, base_address, code_size);
|
||||||
#endif
|
#endif
|
||||||
|
@ -2,31 +2,32 @@
|
|||||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||||
|
|
||||||
#pragma once
|
#pragma once
|
||||||
#include <stdarg.h>
|
|
||||||
#include <string>
|
#include <string>
|
||||||
|
|
||||||
|
#include <fmt/format.h>
|
||||||
|
|
||||||
#include "Common/CommonTypes.h"
|
#include "Common/CommonTypes.h"
|
||||||
|
|
||||||
namespace JitRegister
|
namespace JitRegister
|
||||||
{
|
{
|
||||||
void Init(const std::string& perf_dir);
|
void Init(const std::string& perf_dir);
|
||||||
void Shutdown();
|
void Shutdown();
|
||||||
void RegisterV(const void* base_address, u32 code_size, const char* format, va_list args);
|
void Register(const void* base_address, u32 code_size, const std::string& symbol_name);
|
||||||
bool IsEnabled();
|
bool IsEnabled();
|
||||||
|
|
||||||
inline void Register(const void* base_address, u32 code_size, const char* format, ...)
|
template <typename... Args>
|
||||||
|
inline void Register(const void* base_address, u32 code_size, fmt::format_string<Args...> format,
|
||||||
|
Args&&... args)
|
||||||
{
|
{
|
||||||
va_list args;
|
Register(base_address, code_size, fmt::format(format, std::forward<Args>(args)...));
|
||||||
va_start(args, format);
|
|
||||||
RegisterV(base_address, code_size, format, args);
|
|
||||||
va_end(args);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
inline void Register(const void* start, const void* end, const char* format, ...)
|
template <typename... Args>
|
||||||
|
inline void Register(const void* start, const void* end, fmt::format_string<Args...> format,
|
||||||
|
Args&&... args)
|
||||||
{
|
{
|
||||||
va_list args;
|
|
||||||
va_start(args, format);
|
|
||||||
u32 code_size = (u32)((const char*)end - (const char*)start);
|
u32 code_size = (u32)((const char*)end - (const char*)start);
|
||||||
RegisterV(start, code_size, format, args);
|
Register(start, code_size, fmt::format(format, std::forward<Args>(args)...));
|
||||||
va_end(args);
|
|
||||||
}
|
}
|
||||||
} // namespace JitRegister
|
} // namespace JitRegister
|
||||||
|
@ -369,7 +369,7 @@ const u8* CommonAsmRoutines::GenQuantizedStoreRuntime(bool single, EQuantizeType
|
|||||||
const u8* load = AlignCode4();
|
const u8* load = AlignCode4();
|
||||||
GenQuantizedStore(single, type, -1);
|
GenQuantizedStore(single, type, -1);
|
||||||
RET();
|
RET();
|
||||||
JitRegister::Register(start, GetCodePtr(), "JIT_QuantizedStore_%i_%i", type, single);
|
JitRegister::Register(start, GetCodePtr(), "JIT_QuantizedStore_{}_{}", type, single);
|
||||||
|
|
||||||
return load;
|
return load;
|
||||||
}
|
}
|
||||||
@ -400,7 +400,7 @@ const u8* CommonAsmRoutines::GenQuantizedLoadRuntime(bool single, EQuantizeType
|
|||||||
const u8* load = AlignCode4();
|
const u8* load = AlignCode4();
|
||||||
GenQuantizedLoad(single, type, -1);
|
GenQuantizedLoad(single, type, -1);
|
||||||
RET();
|
RET();
|
||||||
JitRegister::Register(start, GetCodePtr(), "JIT_QuantizedLoad_%i_%i", type, single);
|
JitRegister::Register(start, GetCodePtr(), "JIT_QuantizedLoad_{}_{}", type, single);
|
||||||
|
|
||||||
return load;
|
return load;
|
||||||
}
|
}
|
||||||
|
@ -48,7 +48,7 @@ const u8* TrampolineCache::GenerateReadTrampoline(const TrampolineInfo& info)
|
|||||||
|
|
||||||
JMP(info.start + info.len, true);
|
JMP(info.start + info.len, true);
|
||||||
|
|
||||||
JitRegister::Register(trampoline, GetCodePtr(), "JIT_ReadTrampoline_%x", info.pc);
|
JitRegister::Register(trampoline, GetCodePtr(), "JIT_ReadTrampoline_{:x}", info.pc);
|
||||||
return trampoline;
|
return trampoline;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -67,6 +67,6 @@ const u8* TrampolineCache::GenerateWriteTrampoline(const TrampolineInfo& info)
|
|||||||
|
|
||||||
JMP(info.start + info.len, true);
|
JMP(info.start + info.len, true);
|
||||||
|
|
||||||
JitRegister::Register(trampoline, GetCodePtr(), "JIT_WriteTrampoline_%x", info.pc);
|
JitRegister::Register(trampoline, GetCodePtr(), "JIT_WriteTrampoline_{:x}", info.pc);
|
||||||
return trampoline;
|
return trampoline;
|
||||||
}
|
}
|
||||||
|
@ -131,12 +131,12 @@ void JitBaseBlockCache::FinalizeBlock(JitBlock& block, bool block_link,
|
|||||||
if (JitRegister::IsEnabled() &&
|
if (JitRegister::IsEnabled() &&
|
||||||
(symbol = g_symbolDB.GetSymbolFromAddr(block.effectiveAddress)) != nullptr)
|
(symbol = g_symbolDB.GetSymbolFromAddr(block.effectiveAddress)) != nullptr)
|
||||||
{
|
{
|
||||||
JitRegister::Register(block.checkedEntry, block.codeSize, "JIT_PPC_%s_%08x",
|
JitRegister::Register(block.checkedEntry, block.codeSize, "JIT_PPC_{}_{:08x}",
|
||||||
symbol->function_name.c_str(), block.physicalAddress);
|
symbol->function_name.c_str(), block.physicalAddress);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
JitRegister::Register(block.checkedEntry, block.codeSize, "JIT_PPC_%08x",
|
JitRegister::Register(block.checkedEntry, block.codeSize, "JIT_PPC_{:08x}",
|
||||||
block.physicalAddress);
|
block.physicalAddress);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -50,9 +50,8 @@ VertexLoaderX64::VertexLoaderX64(const TVtxDesc& vtx_desc, const VAT& vtx_att)
|
|||||||
GenerateVertexLoader();
|
GenerateVertexLoader();
|
||||||
WriteProtect();
|
WriteProtect();
|
||||||
|
|
||||||
const std::string name =
|
JitRegister::Register(region, GetCodePtr(), "VertexLoaderX64\nVtx desc: \n{}\nVAT:\n{}", vtx_desc,
|
||||||
fmt::format("VertexLoaderX64\nVtx desc: \n{}\nVAT:\n{}", vtx_desc, vtx_att);
|
vtx_att);
|
||||||
JitRegister::Register(region, GetCodePtr(), name.c_str());
|
|
||||||
}
|
}
|
||||||
|
|
||||||
OpArg VertexLoaderX64::GetVertexAddr(CPArray array, VertexComponentFormat attribute)
|
OpArg VertexLoaderX64::GetVertexAddr(CPArray array, VertexComponentFormat attribute)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user