Exemplo n.º 1
0
 protected override bool WeakCASArbitrarySlow(Object o,
                                              UIntPtr offset,
                                              UIntPtr size,
                                              ulong value,
                                              ulong comparand)
 {
     VTable.NotImplemented();
     VTable.DebugBreak();
     return(false);
 }
Exemplo n.º 2
0
        internal unsafe static void Report(GCType gcType)
        {
            if (!MemoryAccounting.initialized)
            {
                VTable.DebugPrint("MemoryAccounting invoked before"
                                  + " initialization was completed!\n");
                return;
            }

            VTable.DebugPrint("\nCollector: ");
            switch (gcType)
            {
            case GCType.AdaptiveCopyingCollector: {
                VTable.DebugPrint("Adaptive Copying\n");
                break;
            }

            case GCType.MarkSweepCollector: {
                VTable.DebugPrint("Mark-Sweep\n");
                break;
            }

            case GCType.SemispaceCollector: {
                VTable.DebugPrint("Semispace\n");
                break;
            }

            case GCType.SlidingCollector: {
                VTable.DebugPrint("Sliding\n");
                break;
            }

            case GCType.ConcurrentMSCollector: {
                VTable.DebugPrint("Concurrent Mark-Sweep\n");
                break;
            }

            case GCType.ReferenceCountingCollector: {
                VTable.DebugPrint("Reference Counting\n");
                VTable.NotImplemented();
                return;   // Not supported yet.
            }

#if !SINGULARITY
            case GCType.DeferredReferenceCountingCollector: {
                VTable.DebugPrint("Deferred Reference Counting\n");
                VTable.NotImplemented();
                return;   // Not supported yet.
            }
#endif
            default: {
                VTable.NotReached("Unknown GC type: " + gcType);
                break;
            }
            }

            uint pageSize = (uint)(PageTable.PageSize >> 10);
            VTable.DebugPrint("\nPage size: {0}KB\nVM size: {1} KB\n",
                              __arglist(pageSize,
                                        pageSize * (uint)PageTable.pageTableCount));

            ReportNonGCDetails();
            ReportStackDetails();
            ReportHeapDetails();
        }