Пример #1
0
 public override void Visit(GCMoveEvent ev)
 {
     for (int i = 0; i < ev.NewObjectPointers.Count; i++)
     {
         if (allocationsTracker.TryGetValue(ev.OldObjectPointers[i], out var allocation))
         {
             allocationsTracker[ev.NewObjectPointers[i]] = allocation;
             allocationsTracker.Remove(ev.OldObjectPointers[i]);
         }
     }
 }
Пример #2
0
 public override void Visit(GCMoveEvent ev)
 {
     for (int i = 0; i < ev.NewObjectPointers.Count; i++)
     {
         if (allocationsTracker.TryGetValue(ev.OldObjectPointers[i], out var allocation))
         {
             allocationsTracker[ev.NewObjectPointers[i]] = allocation;
             allocationsTracker.Remove(ev.OldObjectPointers[i]);
         }
         else
         {
             Console.WriteLine("Scary stuff, moving something that doesn't exist.");
         }
     }
 }
Пример #3
0
 public virtual void Visit(GCMoveEvent ev)
 {
 }