Merge pull request #14034 from JoshuaVandaele/byeprofile

JitRegister: Remove OProfile profiler
This commit is contained in:
JosJuice 2025-11-01 10:05:11 +01:00 committed by GitHub
commit 828e72d604
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
4 changed files with 1 additions and 69 deletions

View File

@ -1,31 +0,0 @@
# - Try to find OProfile
# Once done this will define
# OPROFILE_FOUND - System has OProfile
# OPROFILE_INCLUDE_DIRS - The OProfile include directories
# OPROFILE_LIBRARIES - The libraries needed to use OProfile
find_path(OPROFILE_INCLUDE_DIR opagent.h)
find_library(OPROFILE_LIBRARY opagent
PATH_SUFFIXES oprofile
)
set(OPROFILE_INCLUDE_DIRS ${OPROFILE_INCLUDE_DIR})
set(OPROFILE_LIBRARIES ${OPROFILE_LIBRARY})
include(FindPackageHandleStandardArgs)
find_package_handle_standard_args(OProfile DEFAULT_MSG
OPROFILE_LIBRARY OPROFILE_INCLUDE_DIR
)
if (OPROFILE_FOUND)
if (NOT TARGET OProfile::OProfile)
add_library(OProfile::OProfile UNKNOWN IMPORTED)
set_target_properties(OProfile::OProfile PROPERTIES
IMPORTED_LOCATION ${OPROFILE_LIBRARIES}
INTERFACE_INCLUDE_DIRECTORIES ${OPROFILE_INCLUDE_DIRS}
)
endif()
endif()
mark_as_advanced(OPROFILE_INCLUDE_DIR OPROFILE_LIBRARY)

View File

@ -119,7 +119,6 @@ option(ENCODE_FRAMEDUMPS "Encode framedumps in AVI format" ON)
option(ENABLE_GPROF "Enable gprof profiling (must be using Debug build)" OFF) option(ENABLE_GPROF "Enable gprof profiling (must be using Debug build)" OFF)
option(FASTLOG "Enable all logs" OFF) option(FASTLOG "Enable all logs" OFF)
option(OPROFILING "Enable profiling" OFF)
# TODO: Add DSPSpy # TODO: Add DSPSpy
option(DSPTOOL "Build dsptool" OFF) option(DSPTOOL "Build dsptool" OFF)
@ -565,16 +564,6 @@ if(ENCODE_FRAMEDUMPS)
endif() endif()
endif() endif()
if(OPROFILING)
find_package(OProfile)
if(OPROFILE_FOUND)
message(STATUS "OProfile found, enabling profiling support")
add_definitions(-DUSE_OPROFILE=1)
else()
message(FATAL_ERROR "OProfile not found. Can't build profiling support.")
endif()
endif()
if(ENABLE_HWDB) if(ENABLE_HWDB)
find_package(LIBUDEV REQUIRED) find_package(LIBUDEV REQUIRED)
if(LIBUDEV_FOUND) if(LIBUDEV_FOUND)

View File

@ -350,10 +350,6 @@ if(USE_UPNP)
target_link_libraries(common PRIVATE Miniupnpc::miniupnpc) target_link_libraries(common PRIVATE Miniupnpc::miniupnpc)
endif() endif()
if(OPROFILE_FOUND)
target_link_libraries(common PRIVATE OProfile::OProfile)
endif()
if(ENABLE_LLVM) if(ENABLE_LLVM)
find_package(LLVM CONFIG) find_package(LLVM CONFIG)
if(LLVM_FOUND) if(LLVM_FOUND)

View File

@ -21,19 +21,11 @@
#include <unistd.h> #include <unistd.h>
#endif #endif
#if defined USE_OPROFILE && USE_OPROFILE
#include <opagent.h>
#endif
#if defined USE_VTUNE #if defined USE_VTUNE
#include <jitprofiling.h> #include <jitprofiling.h>
#pragma comment(lib, "jitprofiling.lib") #pragma comment(lib, "jitprofiling.lib")
#endif #endif
#if defined USE_OPROFILE && USE_OPROFILE
static op_agent_t s_agent = nullptr;
#endif
static File::IOFile s_perf_map_file; static File::IOFile s_perf_map_file;
namespace Common::JitRegister namespace Common::JitRegister
@ -42,11 +34,6 @@ static bool s_is_enabled = false;
void Init(const std::string& perf_dir) 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")) if (!perf_dir.empty() || getenv("PERF_BUILDID_DIR"))
{ {
const std::string dir = perf_dir.empty() ? "/tmp" : perf_dir; const std::string dir = perf_dir.empty() ? "/tmp" : perf_dir;
@ -61,11 +48,6 @@ void Init(const std::string& perf_dir)
void Shutdown() void Shutdown()
{ {
#if defined USE_OPROFILE && USE_OPROFILE
op_close_agent(s_agent);
s_agent = nullptr;
#endif
#ifdef USE_VTUNE #ifdef USE_VTUNE
iJIT_NotifyEvent(iJVM_EVENT_TYPE_SHUTDOWN, nullptr); iJIT_NotifyEvent(iJVM_EVENT_TYPE_SHUTDOWN, nullptr);
#endif #endif
@ -83,15 +65,11 @@ bool IsEnabled()
void Register(const void* base_address, u32 code_size, const std::string& symbol_name) void Register(const void* base_address, u32 code_size, const std::string& symbol_name)
{ {
#if !(defined USE_OPROFILE && USE_OPROFILE) && !defined(USE_VTUNE) #ifndef USE_VTUNE
if (!s_perf_map_file.IsOpen()) if (!s_perf_map_file.IsOpen())
return; return;
#endif #endif
#if defined USE_OPROFILE && USE_OPROFILE
op_write_native_code(s_agent, symbol_name.c_str(), (u64)base_address, base_address, code_size);
#endif
#ifdef USE_VTUNE #ifdef USE_VTUNE
iJIT_Method_Load jmethod = {0}; iJIT_Method_Load jmethod = {0};
jmethod.method_id = iJIT_GetNewMethodID(); jmethod.method_id = iJIT_GetNewMethodID();