public ClrmdThread(IThreadData data, ClrRuntime runtime, ClrAppDomain currentDomain) { if (data is null) { throw new ArgumentNullException(nameof(data)); } _helpers = data.Helpers; Runtime = runtime; Address = data.Address; IsFinalizer = data.IsFinalizer; OSThreadId = data.OSThreadID; ManagedThreadId = data.ManagedThreadID; CurrentAppDomain = currentDomain; LockCount = data.LockCount; _threadState = data.State; _exceptionHandle = data.ExceptionHandle; StackBase = data.StackBase; StackLimit = data.StackLimit; GcMode = data.Preemptive ? GcMode.Preemptive : GcMode.Cooperative; }
public ThreadBuilder(SOSDac sos, ulong finalizer, IThreadHelpers helpers) { _sos = sos; _finalizer = finalizer; Helpers = helpers; }