Lines Matching refs:strong
146 strong: CountState, field
225 strong: CountState::new(), in new()
268 inner.strong.has_count, in full_debug_print()
270 inner.strong.count, in full_debug_print()
354 let strong = inner.strong.count > 0; in inc_ref_done_locked() localVariable
355 let has_strong = inner.strong.has_count; in inc_ref_done_locked()
356 let weak = strong || inner.weak.count > 0; in inc_ref_done_locked()
360 let should_drop_strong = !strong && has_strong; in inc_ref_done_locked()
381 strong: bool, in update_refcount_locked()
389 let state = if strong { in update_refcount_locked()
390 &mut inner.strong in update_refcount_locked()
420 strong: bool, in incr_refcount_allow_zero2one()
427 let state = if strong { in incr_refcount_allow_zero2one()
428 &mut inner.strong in incr_refcount_allow_zero2one()
440 if !strong && inner.delivery_state.should_push_weak_zero2one() { in incr_refcount_allow_zero2one()
445 } else if strong && inner.delivery_state.should_push_strong_zero2one() { in incr_refcount_allow_zero2one()
462 strong: bool, in incr_refcount_allow_zero2one_with_wrapper()
466 match self.incr_refcount_allow_zero2one(strong, owner_inner) { in incr_refcount_allow_zero2one_with_wrapper()
470 assert!(strong); in incr_refcount_allow_zero2one_with_wrapper()
472 inner.strong.count += 1; in incr_refcount_allow_zero2one_with_wrapper()
479 pub(crate) fn update_refcount(self: &DArc<Self>, inc: bool, count: usize, strong: bool) { in update_refcount()
483 .update_node_refcount(self, inc, strong, count, None); in update_refcount()
492 out.strong_count = inner.strong.count as _; in populate_counts()
504 if inner.strong.has_count { in populate_debug_info()
514 inner.strong.has_count = true; in force_has_count()
611 let strong = inner.strong.count > 0; in do_work_locked() localVariable
612 let has_strong = inner.strong.has_count; in do_work_locked()
613 let weak = strong || inner.weak.count > 0; in do_work_locked()
621 if strong && !has_strong { in do_work_locked()
622 inner.strong.has_count = true; in do_work_locked()
628 let should_drop_strong = no_active_inc_refs && (!strong && has_strong); in do_work_locked()
633 inner.strong.has_count = false; in do_work_locked()
644 if strong && !has_strong { in do_work_locked()
803 inner.strong.count -= self.strong_node_count - 1; in absorb()
805 assert_ne!(inner.strong.count, 0); in absorb()
819 pub(crate) fn clone(&self, strong: bool) -> Result<NodeRef> { in clone()
820 if strong && self.strong_count == 0 { in clone()
828 .new_node_ref(self.node.clone(), strong, None)) in clone()
836 pub(crate) fn update(&mut self, inc: bool, strong: bool) -> bool { in update()
837 if strong && self.strong_count == 0 { in update()
840 let (count, node_count, other_count) = if strong { in update()
856 self.node.update_refcount(true, 1, strong); in update()
869 self.node.update_refcount(false, *node_count, strong); in update()