unsafe fn mark_dtable_reachable_rec(&mut self, mem: GcRaw<DispatchTable>) {
      if !mem.get_mem().reachable.get() {
         mem.mark_reachable();
         let dtable = mem.get();
         if let Some(instance) = dtable.instance {
            // NOTE: Recurring here is okay because we never have dtables that are more than two
            // levels deep.
            self.mark_dtable_reachable_rec(instance);
         }
         for method in dtable.methods() {
            self.gray_stack.push(RawValue::from(method));
            self.mark_all_gray_reachable();
         }
      }
   }
/// Recursively (as in, actually recursively) marks the dtable and its methods reachable.
Recursively (as in, actually recursively) marks the dtable and its methods reachable.
Recursively ( as in actually recursively ) marks the dtable and its methods reachable .
unsafe fn mark_dtable_reachable_rec(&mut self, mem: GcRaw<DispatchTable>) {
      if !mem.get_mem().reachable.get() {
         mem.mark_reachable();
         let dtable = mem.get();
         if let Some(instance) = dtable.instance {
            // NOTE: Recurring here is okay because we never have dtables that are more than two
            // levels deep.
            self.mark_dtable_reachable_rec(instance);
         }
         for method in dtable.methods() {
            self.gray_stack.push(RawValue::from(method));
            self.mark_all_gray_reachable();
         }
      }
   }
unsafe fn mark_dtable_reachable_rec ( & mut self , mem : GcRaw < DispatchTable > ) { if ! mem . get_mem ( ) . reachable . get ( ) { mem . mark_reachable ( ) ; let dtable = mem . get ( ) ; if let Some ( instance ) = dtable . instance { // NOTE: Recurring here is okay because we never have dtables that are more than two // levels deep. self . mark_dtable_reachable_rec ( instance ) ; } for method in dtable . methods ( ) { self . gray_stack . push ( RawValue :: from ( method ) ) ; self . mark_all_gray_reachable ( ) ; } } }
Recursively (as in, actually recursively) marks the dtable and its methods reachable.
Recursively ( as in actually recursively ) marks the dtable and its methods reachable .
&mut self
mem
GcRaw<DispatchTable>