public ClrInstanceFieldDecorator(ClrInstanceField clrInstanceField, ThreadDispatcher threadDispatcher, IClrHeapDecorator heap) { _clrInstanceField = clrInstanceField; _threadDispatcher = threadDispatcher; _threadDispatcher.Process(() => { Name = _clrInstanceField.Name; HasSimpleValue = _clrInstanceField.HasSimpleValue; Type = new ClrTypeDecorator(heap, _threadDispatcher, _clrInstanceField.Type); IsObjectAndNotString = _clrInstanceField.IsObjectReference() &&_clrInstanceField.ElementType != ClrElementType.String; }); }
public ClrHeapDecorator(ClrRuntime clrRuntime, ThreadDispatcher threadDispatcher) { _threadDispatcher = threadDispatcher; _clrHeap = threadDispatcher.Process(() => clrRuntime.GetHeap()); _threadDispatcher.Process(()=> { objectIndex = IndexBuilder.Build(_clrHeap); GCSettings.LargeObjectHeapCompactionMode = GCLargeObjectHeapCompactionMode.CompactOnce; }); }