void ServerThreadContext::Release() { InterlockedExchangeSubtract(&m_refCount, (uint)1); if (m_isClosed && m_refCount == 0) { HeapDelete(this); } }
void ServerScriptContext::Release() { InterlockedExchangeSubtract(&m_refCount, 1u); if (m_isClosed && m_refCount == 0) { // Not freeing here, we'll expect explicit ServerCleanupScriptContext() call to do the free // otherwise after free, the CodeGen call can still get same scriptContext if there's another // ServerInitializeScriptContext call } }
void ProcessContext::Release() { InterlockedExchangeSubtract(&this->refCount, 1); }
void ServerScriptContext::EndJIT() { InterlockedExchangeSubtract(&m_activeJITCount, 1); }