Esempio n. 1
0
hsa_status_t amd_executable_iterate_loaded_code_objects(
  hsa_executable_t executable,
  hsa_status_t (*callback)(
    amd_loaded_code_object_t loaded_code_object,
    void *data),
  void *data)
{
  if (!core::Runtime::runtime_singleton_->IsOpen()) {
    return HSA_STATUS_ERROR_NOT_INITIALIZED;
  }
  if (nullptr == callback) {
    return HSA_STATUS_ERROR_INVALID_ARGUMENT;
  }

  Executable *exec = Executable::Object(executable);
  if (nullptr == exec) {
    return HSA_STATUS_ERROR_INVALID_EXECUTABLE;
  }
  return exec->IterateLoadedCodeObjects(callback, data);
}