mirror of
https://github.com/dolphin-emu/dolphin.git
synced 2025-07-23 06:09:50 -06:00
JIT: Don't always look up symbols for blocks
With tons of symbols, this results in noticeable stuttering, so skip lookups if the perf dir option isn't set anyway.
This commit is contained in:
@ -37,10 +37,13 @@ static File::IOFile s_perf_map_file;
|
||||
|
||||
namespace JitRegister
|
||||
{
|
||||
static bool s_is_enabled = false;
|
||||
|
||||
void Init(const std::string& perf_dir)
|
||||
{
|
||||
#if defined USE_OPROFILE && USE_OPROFILE
|
||||
s_agent = op_open_agent();
|
||||
s_is_enabled = true;
|
||||
#endif
|
||||
|
||||
if (!perf_dir.empty() || getenv("PERF_BUILDID_DIR"))
|
||||
@ -51,6 +54,7 @@ void Init(const std::string& perf_dir)
|
||||
// Disable buffering in order to avoid missing some mappings
|
||||
// if the event of a crash:
|
||||
std::setvbuf(s_perf_map_file.GetHandle(), nullptr, _IONBF, 0);
|
||||
s_is_enabled = true;
|
||||
}
|
||||
}
|
||||
|
||||
@ -67,6 +71,13 @@ void Shutdown()
|
||||
|
||||
if (s_perf_map_file.IsOpen())
|
||||
s_perf_map_file.Close();
|
||||
|
||||
s_is_enabled = false;
|
||||
}
|
||||
|
||||
bool IsEnabled()
|
||||
{
|
||||
return s_is_enabled;
|
||||
}
|
||||
|
||||
void RegisterV(const void* base_address, u32 code_size, const char* format, va_list args)
|
||||
|
Reference in New Issue
Block a user