if (fun->interpreted)
if (fun->interpreted && fun->u.script)
fun_finalize(JSContext *cx, JSObject *obj){    JSFunction *fun;    /* No valid function object should lack private data, but check anyway. */    fun = (JSFunction *) JS_GetPrivate(cx, obj);    if (!fun)        return;    if (fun->object == obj)        fun->object = NULL;    JS_ATOMIC_DECREMENT(&fun->nrefs);    if (fun->nrefs)        return;    if (fun->interpreted)        js_DestroyScript(cx, fun->u.script);}