Files
rocm-systems/runtime/hsa-ext-aql-profile/src/perfcounter/var_data.cpp
T
Evgeny 25035b8d09 Adding HSA extension AMD AQL profile library, see Readme.txt
Change-Id: Icbc1e0fb0185642eabbab411a2138ea030d22be8
2017-06-13 16:18:06 -04:00

49 baris
750 B
C++

#include <string.h>
#include "var_data.h"
namespace pm4_profile {
VarData::VarData() {
size_ = 0;
p_data_ = NULL;
}
VarData::~VarData() {}
void VarData::clear() {
size_ = 0;
if (p_data_) {
free(p_data_);
p_data_ = NULL;
}
}
bool VarData::set(uint32_t size, const void* p_data) {
if (!p_data || (size == 0)) {
return false;
}
clear();
if (NULL == (p_data_ = malloc(size))) {
return false;
}
memcpy(p_data_, p_data, size);
size_ = size;
return true;
}
uint32_t VarData::get(uint32_t size, void* p_data) {
if (!p_data || !size || !p_data_ || !size_) {
return 0;
}
uint32_t ret_size = size < size_ ? size : size_;
memcpy(p_data, p_data_, ret_size);
return ret_size;
}
} // pm4_profile