MIterCtx::~MIterCtx() { m_mArray->~MutableArrayIter(); smart_free(m_mArray); tvRefcountedDecRef(&m_key); tvRefcountedDecRef(&m_val); if (m_ref) decRefRef(const_cast<RefData*>(m_ref)); }
void c_SetResultToRefWaitHandle::markAsFailed(CObjRef exception) { RefData* ref = m_ref; m_ref = nullptr; tvSetIgnoreRef(make_tv<KindOfNull>(), *ref->tv()); decRefRef(ref); setException(exception.get()); m_child = nullptr; }
void c_SetResultToRefWaitHandle::markAsSucceeded(const Cell& result) { RefData* ref = m_ref; m_ref = nullptr; cellSet(result, *ref->tv()); decRefRef(ref); setResult(result); m_child = nullptr; }
void c_SetResultToRefWaitHandle::markAsSucceeded(const TypedValue* result) { RefData* ref = m_ref; m_ref = nullptr; tvSetIgnoreRef(result, ref->tv()); decRefRef(ref); setResult(result); m_child = nullptr; }
void ProxyArray::Release(ArrayData*ad) { decRefRef(asProxyArray(ad)->m_ref); MM().objFree(ad, sizeof(ProxyArray)); }
c_SetResultToRefWaitHandle::~c_SetResultToRefWaitHandle() { if (m_ref) { decRefRef(m_ref); } }