diff --git a/hipamd/include/hip/hcc_detail/program_state.hpp b/hipamd/include/hip/hcc_detail/program_state.hpp index 19db8f9e0d..5741c22b4b 100644 --- a/hipamd/include/hip/hcc_detail/program_state.hpp +++ b/hipamd/include/hip/hcc_detail/program_state.hpp @@ -31,9 +31,6 @@ THE SOFTWARE. #include #include #include -#include -#include -#include struct ihipModuleSymbol_t; using hipFunction_t = ihipModuleSymbol_t*; @@ -72,6 +69,7 @@ class program_state { public: program_state(); ~program_state(); + program_state(const program_state&) = delete; hipFunction_t kernel_descriptor(std::uintptr_t, hsa_agent_t); @@ -83,12 +81,8 @@ public: void* global_addr_by_name(const char* name); - // to fix later - const std::vector& executables(hsa_agent_t agent); - - program_state(const program_state&) = delete; - private: + friend class agent_globals_impl; program_state_impl* impl; }; diff --git a/hipamd/src/hip_module.cpp b/hipamd/src/hip_module.cpp index 2b41988ac5..4ff6a987fd 100644 --- a/hipamd/src/hip_module.cpp +++ b/hipamd/src/hip_module.cpp @@ -415,7 +415,7 @@ namespace hip_impl { std::call_once(globals_from_process[agent].first, [this](hsa_agent_t aa) { std::vector tmp0; - for (auto&& executable : hip_impl::get_program_state().executables(aa)) { + for (auto&& executable : hip_impl::get_program_state().impl->get_executables(aa)) { auto tmp1 = read_agent_globals(aa, executable); tmp0.insert(tmp0.end(), make_move_iterator(tmp1.begin()), make_move_iterator(tmp1.end())); diff --git a/hipamd/src/program_state.cpp b/hipamd/src/program_state.cpp index 6783f85b9b..e226e1af66 100644 --- a/hipamd/src/program_state.cpp +++ b/hipamd/src/program_state.cpp @@ -45,10 +45,6 @@ hsa_executable_t program_state::load_executable(const char* data, return impl->load_executable(data, data_size, executable, agent); } -const std::vector& program_state::executables(hsa_agent_t agent) { - return impl->get_executables(agent); -} - hipFunction_t program_state::kernel_descriptor(std::uintptr_t function_address, hsa_agent_t agent) { auto& kd = impl->kernel_descriptor(function_address, agent);