mirror of
https://github.com/dolphin-emu/dolphin.git
synced 2025-07-24 14:49:42 -06:00
JitRegister: fix VTune integration
This commit is contained in:
@ -26,7 +26,6 @@
|
||||
|
||||
#if defined USE_VTUNE
|
||||
#include <jitprofiling.h>
|
||||
#pragma comment(lib, "libittnotify.lib")
|
||||
#pragma comment(lib, "jitprofiling.lib")
|
||||
#endif
|
||||
|
||||
@ -89,12 +88,9 @@ void RegisterV(const void* base_address, u32 code_size,
|
||||
#ifdef USE_VTUNE
|
||||
iJIT_Method_Load jmethod = {0};
|
||||
jmethod.method_id = iJIT_GetNewMethodID();
|
||||
jmethod.class_file_name = "";
|
||||
jmethod.source_file_name = __FILE__;
|
||||
jmethod.method_load_address = base_address;
|
||||
jmethod.method_load_address = const_cast<void*>(base_address);
|
||||
jmethod.method_size = code_size;
|
||||
jmethod.line_number_size = 0;
|
||||
jmethod.method_name = symbol_name.data();
|
||||
jmethod.method_name = const_cast<char*>(symbol_name.data());
|
||||
iJIT_NotifyEvent(iJVM_EVENT_TYPE_METHOD_LOAD_FINISHED, (void*)&jmethod);
|
||||
#endif
|
||||
|
||||
|
@ -12,6 +12,11 @@
|
||||
#include <pthread_np.h>
|
||||
#endif
|
||||
|
||||
#ifdef USE_VTUNE
|
||||
#include <ittnotify.h>
|
||||
#pragma comment(lib, "libittnotify.lib")
|
||||
#endif
|
||||
|
||||
namespace Common
|
||||
{
|
||||
|
||||
@ -123,6 +128,10 @@ void SetCurrentThreadName(const char* szThreadName)
|
||||
#else
|
||||
pthread_setname_np(pthread_self(), szThreadName);
|
||||
#endif
|
||||
#ifdef USE_VTUNE
|
||||
// VTune uses OS thread names by default but probably supports longer names when set via its own API.
|
||||
__itt_thread_set_name(szThreadName);
|
||||
#endif
|
||||
}
|
||||
|
||||
#endif
|
||||
|
@ -13,10 +13,6 @@
|
||||
#include "Core/PowerPC/Gekko.h"
|
||||
#include "Core/PowerPC/PPCAnalyst.h"
|
||||
|
||||
// Define this in order to get VTune profile support for the Jit generated code.
|
||||
// Add the VTune include/lib directories to the project directories to get this to build.
|
||||
// #define USE_VTUNE
|
||||
|
||||
// emulate CPU with unlimited instruction cache
|
||||
// the only way to invalidate a region is the "icbi" instruction
|
||||
#define JIT_UNLIMITED_ICACHE
|
||||
|
@ -129,6 +129,25 @@
|
||||
<TreatLibWarningAsErrors>true</TreatLibWarningAsErrors>
|
||||
<LinkTimeCodeGeneration Condition="'$(DolphinRelease)'=='true'">true</LinkTimeCodeGeneration>
|
||||
</Lib>
|
||||
<!--
|
||||
Prefer VTune 2015 over 2013 but support both since there is no non-commercial license for 2015 :(
|
||||
-->
|
||||
<ItemDefinitionGroup Condition="Exists('$(VTUNE_AMPLIFIER_XE_2015_DIR)')">
|
||||
<ClCompile>
|
||||
<AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);"$(VTUNE_AMPLIFIER_XE_2015_DIR)\include"</AdditionalIncludeDirectories>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<AdditionalLibraryDirectories>%(AdditionalLibraryDirectories);"$(VTUNE_AMPLIFIER_XE_2015_DIR)\lib64"</AdditionalLibraryDirectories>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="Exists('$(VTUNE_AMPLIFIER_XE_2013_DIR)') And !Exists('$(VTUNE_AMPLIFIER_XE_2015_DIR)')">
|
||||
<ClCompile>
|
||||
<AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);"$(VTUNE_AMPLIFIER_XE_2013_DIR)\include"</AdditionalIncludeDirectories>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<AdditionalLibraryDirectories>%(AdditionalLibraryDirectories);"$(VTUNE_AMPLIFIER_XE_2013_DIR)\lib64"</AdditionalLibraryDirectories>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemGroup />
|
||||
</Project>
|
||||
|
Reference in New Issue
Block a user