This commit is contained in:
Peli de Halleux 2016-12-08 00:12:49 -08:00
commit 7f27432222

View File

@ -117,7 +117,6 @@ namespace pxt {
void RefObject::destroy() {
((RefObjectMethod)getVTable()->methods[0])(this);
delete this;
}
void RefObject::print() {
@ -132,6 +131,9 @@ namespace pxt {
if (refmask[i]) decr(r->fields[i]);
r->fields[i] = 0;
}
//RefRecord is allocated using placement new
r->~RefRecord();
::operator delete(r);
}
void RefRecord_print(RefRecord *r)
@ -242,6 +244,7 @@ namespace pxt {
this->data[i] = 0;
}
this->data.resize(0);
delete this;
}
void RefCollection::print()
@ -258,6 +261,9 @@ namespace pxt {
decr(fields[i]);
fields[i] = 0;
}
//RefAction is allocated using placement new
this->~RefAction();
::operator delete(this);
}
void RefAction::print()
@ -272,6 +278,7 @@ namespace pxt {
void RefLocal::destroy()
{
delete this;
}
PXT_VTABLE_CTOR(RefLocal) {
@ -290,6 +297,7 @@ namespace pxt {
void RefRefLocal::destroy()
{
decr(v);
delete this;
}
PXT_VTABLE_BEGIN(RefMap, 0, RefMapMarker)
@ -304,6 +312,7 @@ namespace pxt {
data[i].val = 0;
}
data.resize(0);
delete this;
}
int RefMap::findIdx(uint32_t key) {