internal InternalFunctionCompiler(InjectContext InjectContext, MipsMethodEmitter MipsMethodEmitter, DynarecFunctionCompiler DynarecFunctionCompiler, IInstructionReader InstructionReader, Action<uint> _ExploreNewPcCallback, uint EntryPC, bool DoLog)
{
InjectContext.InjectDependencesTo(this);
this._ExploreNewPcCallback = _ExploreNewPcCallback;
this.MipsMethodEmitter = MipsMethodEmitter;
this.CpuEmitter = new CpuEmitter(InjectContext, MipsMethodEmitter, InstructionReader);
this.GlobalInstructionStats = CpuProcessor.GlobalInstructionStats;
//this.InstructionStats = MipsMethodEmitter.InstructionStats;
this.InstructionStats = new Dictionary<string, uint>();
this.NewInstruction = new Dictionary<string, bool>();
this.DoLog = DoLog;
this.DynarecFunctionCompiler = DynarecFunctionCompiler;
this.InstructionReader = InstructionReader;
this.EntryPC = EntryPC;
if (!PspMemory.IsAddressValid(EntryPC))
{
throw (new InvalidOperationException(String.Format("Trying to get invalid function 0x{0:X8}", EntryPC)));
}
}