nsXPCWrappedNative::Release(void)
nsXPCWrappedJS::Release(void)
nsXPCWrappedNative::Release(void){    NS_PRECONDITION(mRoot, "bad root");    NS_PRECONDITION(0 != mRefCnt, "dup release");    --mRefCnt;    NS_LOG_RELEASE(this, mRefCnt, "nsXPCWrappedNative");    if(0 == mRefCnt)    {        NS_DELETEXPCOM(this);   // also unlinks us from chain        return 0;    }    if(1 == mRefCnt)    {        XPCContext* xpcc;        if(nsnull != (xpcc = mClass->GetXPCContext()))            JS_RemoveRoot(xpcc->GetJSContext(), &mJSObj);    }    return mRefCnt;}