diff --git a/Source/Core/Common/JitRegister.cpp b/Source/Core/Common/JitRegister.cpp index 7475cb6b85..964a88b214 100644 --- a/Source/Core/Common/JitRegister.cpp +++ b/Source/Core/Common/JitRegister.cpp @@ -71,18 +71,15 @@ void Shutdown() s_perf_map_file.Close(); } -void Register(const void* base_address, u32 code_size, - const char* format, ...) +void RegisterV(const void* base_address, u32 code_size, + const char* format, va_list args) { #if !(defined USE_OPROFILE && USE_OPROFILE) && !defined(USE_VTUNE) if (!s_perf_map_file.IsOpen()) return; #endif - va_list args; - va_start(args, format); std::string symbol_name = StringFromFormatV(format, args); - va_end(args); #if defined USE_OPROFILE && USE_OPROFILE op_write_native_code(s_agent, symbol_name.data(), (u64)base_address, diff --git a/Source/Core/Common/JitRegister.h b/Source/Core/Common/JitRegister.h index 2e9f168fb4..ce63aeace0 100644 --- a/Source/Core/Common/JitRegister.h +++ b/Source/Core/Common/JitRegister.h @@ -3,6 +3,7 @@ // Refer to the license.txt file included. #pragma once +#include #include "Common/CommonTypes.h" namespace JitRegister @@ -10,7 +11,26 @@ namespace JitRegister void Init(); void Shutdown(); -void Register(const void* base_address, u32 code_size, - const char* format, ...); +void RegisterV(const void* base_address, u32 code_size, + const char* format, va_list args); + +inline void Register(const void* base_address, u32 code_size, + const char* format, ...) +{ + va_list 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, ...) +{ + va_list args; + va_start(args, format); + u32 code_size = (u32) ((const char*) end - (const char*) start); + RegisterV(start, code_size, format, args); + va_end(args); +} } diff --git a/Source/Core/VideoCommon/VertexLoaderX64.cpp b/Source/Core/VideoCommon/VertexLoaderX64.cpp index 50c46da027..de4ab58cc6 100644 --- a/Source/Core/VideoCommon/VertexLoaderX64.cpp +++ b/Source/Core/VideoCommon/VertexLoaderX64.cpp @@ -33,7 +33,7 @@ VertexLoaderX64::VertexLoaderX64(const TVtxDesc& vtx_desc, const VAT& vtx_att): std::string name; AppendToString(&name); - JitRegister::Register(region, (u32)(GetCodePtr() - region), name.c_str()); + JitRegister::Register(region, GetCodePtr(), name.c_str()); } OpArg VertexLoaderX64::GetVertexAddr(int array, u64 attribute)