Lines Matching refs:weak_ref
279 WeakReference* weak_ref = Unwrap<WeakReference>(args.Holder());
281 if (!weak_ref->target_.IsEmpty())
282 args.GetReturnValue().Set(weak_ref->target_.Get(isolate));
286 WeakReference* weak_ref = Unwrap<WeakReference>(args.Holder());
287 weak_ref->reference_count_++;
288 if (weak_ref->target_.IsEmpty()) return;
289 if (weak_ref->reference_count_ == 1) weak_ref->target_.ClearWeak();
291 v8::Number::New(args.GetIsolate(), weak_ref->reference_count_));
295 WeakReference* weak_ref = Unwrap<WeakReference>(args.Holder());
296 CHECK_GE(weak_ref->reference_count_, 1);
297 weak_ref->reference_count_--;
298 if (weak_ref->target_.IsEmpty()) return;
299 if (weak_ref->reference_count_ == 0) weak_ref->target_.SetWeak();
301 v8::Number::New(args.GetIsolate(), weak_ref->reference_count_));
473 Local<FunctionTemplate> weak_ref =
475 weak_ref->InstanceTemplate()->SetInternalFieldCount(
477 weak_ref->Inherit(BaseObject::GetConstructorTemplate(env));
478 SetProtoMethod(isolate, weak_ref, "get", WeakReference::Get);
479 SetProtoMethod(isolate, weak_ref, "incRef", WeakReference::IncRef);
480 SetProtoMethod(isolate, weak_ref, "decRef", WeakReference::DecRef);
481 SetConstructorFunction(context, target, "WeakReference", weak_ref);