Add stronger checking
- Add assertions to enforce that objects are of the correct kind and
have been allocated.
- Make destructors check if objects have been allocated before
deleting.
- Operations that require a non-NullDevice return failure if given a
NullDevice.
- Use static_cast rather than reinterpret_cast when cohersing from a
base class to a derived class.
Change-Id: I02ee0ea9d7982fd7ca29d49c9b02cfae111b7127
[ROCm/clr commit: e5431676d4]
This commit is contained in:
@@ -268,10 +268,14 @@ Device::Device()
|
||||
}
|
||||
|
||||
Device::~Device() {
|
||||
CondLog((vaCacheMap_ != nullptr) && (vaCacheMap_->size() != 0),
|
||||
"Application didn't unmap all host memory!");
|
||||
delete vaCacheMap_;
|
||||
delete vaCacheAccess_;
|
||||
if (vaCacheMap_) {
|
||||
CondLog(vaCacheMap_->size() != 0, "Application didn't unmap all host memory!");
|
||||
delete vaCacheMap_;
|
||||
}
|
||||
|
||||
if (vaCacheAccess_) {
|
||||
delete vaCacheAccess_;
|
||||
}
|
||||
|
||||
// Destroy device settings
|
||||
if (settings_ != nullptr) {
|
||||
@@ -297,6 +301,7 @@ bool Device::ValidateComgr() {
|
||||
}
|
||||
|
||||
bool Device::create() {
|
||||
assert(!vaCacheAccess_ && !vaCacheMap_);
|
||||
vaCacheAccess_ = new amd::Monitor("VA Cache Ops Lock", true);
|
||||
if (nullptr == vaCacheAccess_) {
|
||||
return false;
|
||||
|
||||
Fai riferimento in un nuovo problema
Block a user