void Func::init(int numParams, bool isGenerator) { // For methods, we defer setting the full name until m_cls is initialized m_maybeIntercepted = -1; if (!preClass()) { setNewFuncId(); setFullName(); } else { m_fullName = 0; } if (isSpecial(m_name)) { /* * i) We dont want these compiler generated functions to * appear in backtraces. * * ii) 86sinit and 86pinit construct NameValueTableWrappers * on the stack. So we MUST NOT allow those to leak into * the backtrace (since the backtrace will outlive the * variables). */ m_attrs = m_attrs | AttrNoInjection; } #ifdef DEBUG m_magic = kMagic; #endif assert(m_name); initPrologues(numParams, isGenerator); }
void Func::init(int numParams) { // For methods, we defer setting the full name until m_cls is initialized m_maybeIntercepted = s_interceptsEnabled ? -1 : 0; if (!preClass()) { setNewFuncId(); setFullName(); } else { m_fullName = 0; } #ifdef DEBUG m_magic = kMagic; #endif ASSERT(m_name); initPrologues(numParams); }