public static new void Initialize()
 {
     GenerationalCollector.Initialize();
     // SlidingCollector.instance = new SlidingCollector();
     SlidingCollector.instance = (SlidingCollector)
                                 BootstrapMemory.Allocate(typeof(SlidingCollector));
     // markReferenceVisitor = new MarkReferenceVisitor();
     markReferenceVisitor = (MarkReferenceVisitor)
                            BootstrapMemory.Allocate(typeof(MarkReferenceVisitor));
     // registerThreadReferenceVisitor = new RegisterThreadReference();
     registerThreadReferenceVisitor = (RegisterThreadReference)
                                      BootstrapMemory.Allocate(typeof(RegisterThreadReference));
     // registerPinnedReferenceVisitor = new RegisterPinnedReference();
     registerPinnedReferenceVisitor = (RegisterPinnedReference)
                                      BootstrapMemory.Allocate(typeof(RegisterPinnedReference));
     // updateThreadReferenceVisitor = new UpdateThreadReference();
     updateThreadReferenceVisitor = (UpdateThreadReference)
                                    BootstrapMemory.Allocate(typeof(UpdateThreadReference));
     // forwardReferenceVisitor = new ForwardReferenceVisitor();
     forwardReferenceVisitor = (ForwardReferenceVisitor)
                               BootstrapMemory.Allocate(typeof(ForwardReferenceVisitor));
 }
 public static new void Initialize()
 {
     StopTheWorldCollector.Initialize();
     SegregatedFreeList.Initialize();
     // instance = new MarkSweepCollector();
     MarkSweepCollector.instance = (MarkSweepCollector)
                                   BootstrapMemory.Allocate(typeof(MarkSweepCollector));
     // markReferenceVisitor = new MarkReferenceVisitor();
     markReferenceVisitor = (MarkReferenceVisitor)
                            BootstrapMemory.Allocate(typeof(MarkReferenceVisitor));
     // markAndProcessReferenceVisitor = new MarkAndProcessReferenceVisitor();
     markAndProcessReferenceVisitor = (MarkAndProcessReferenceVisitor)
                                      BootstrapMemory.Allocate(typeof(MarkAndProcessReferenceVisitor));
     // updateReferenceVisitor = new UpdateReferenceVisitor();
     updateReferenceVisitor = (UpdateReferenceVisitor)
                              BootstrapMemory.Allocate(typeof(UpdateReferenceVisitor));
     // threadMarkReferenceVisitor = new ThreadMarkReferenceVisitor();
     threadMarkReferenceVisitor = (ThreadMarkReferenceVisitor)
                                  BootstrapMemory.Allocate(typeof(ThreadMarkReferenceVisitor));
     // sweepVisitor = new SweepVisitor();
     sweepVisitor = (SweepVisitor)
                    BootstrapMemory.Allocate(typeof(SweepVisitor));
     collectionTrigger = (UIntPtr)InitialTrigger;
 }