v8::Handle<v8::Function> ScriptFunction::adoptByGarbageCollector(PassOwnPtr<ScriptFunction> function) { if (!function) return v8::Handle<v8::Function>(); v8::Isolate* isolate = function->isolate(); return createClosure(&ScriptFunction::callCallback, function.leakPtr()->releaseToV8GarbageCollector(), isolate); }