Func::~Func() { if (m_fullName != NULL && s_interceptsEnabled && m_maybeIntercepted != -1) { unregister_intercept_flag(fullNameRef(), &m_maybeIntercepted); } #ifdef DEBUG validate(); m_magic = ~m_magic; #endif }
Func::~Func() { if (m_fullName != nullptr && m_maybeIntercepted != -1) { unregister_intercept_flag(fullNameRef(), &m_maybeIntercepted); } if (m_funcId != InvalidFuncId) { DEBUG_ONLY auto oldVal = s_funcVec.exchange(m_funcId, nullptr); assert(oldVal == this); } int maxNumPrologues = getMaxNumPrologues(numParams()); int numPrologues = maxNumPrologues > kNumFixedPrologues ? maxNumPrologues : kNumFixedPrologues; TranslatorX64::Get()->smashPrologueGuards((TCA *)m_prologueTable, numPrologues, this); #ifdef DEBUG validate(); m_magic = ~m_magic; #endif }