public AThread(AMemory Memory, long EntryPoint = 0, int Priority = 0) { this.Memory = Memory; this.EntryPoint = EntryPoint; this.Priority = Priority; Registers = new ARegisters(); Translator = new ATranslator(this); }
public AThread(ATranslator Translator, AMemory Memory, long EntryPoint) { this.Translator = Translator; this.Memory = Memory; this.EntryPoint = EntryPoint; ThreadState = new AThreadState(); ThreadState.Running = true; }
public AThread(ATranslator Translator, AMemory Memory, ThreadPriority Priority, long EntryPoint) { this.Translator = Translator; this.Memory = Memory; this.Priority = Priority; this.EntryPoint = EntryPoint; ThreadState = new AThreadState(); ExecuteLock = new object(); }
public AThread(AMemory Memory, ThreadPriority Priority, long EntryPoint) { this.Memory = Memory; this.Priority = Priority; this.EntryPoint = EntryPoint; Registers = new ARegisters(); Translator = new ATranslator(this); ExecuteLock = new object(); }
public AThread(ATranslator Translator, AMemory Memory, long EntryPoint) { this.Translator = Translator; this.Memory = Memory; ThreadState = new AThreadState(); ThreadState.ExecutionMode = AExecutionMode.AArch64; ThreadState.Running = true; Work = new Thread(delegate() { Translator.ExecuteSubroutine(this, EntryPoint); Memory.RemoveMonitor(ThreadState.Core); WorkFinished?.Invoke(this, EventArgs.Empty); }); }