public RuntimeHelpers(RTConstants constants, DarksVMRuntime rt, ModuleDef rtModule) { this.rt = rt; this.rtModule = rtModule; this.constants = constants; this.rtHelperType = new TypeDefUser("KoiVM.Runtime", "Helpers"); this.AllocateHelpers(); }
public ILPostTransformer(MethodDef method, ScopeBlock rootScope, DarksVMRuntime runtime) { this.RootScope = rootScope; this.Method = method; this.Runtime = runtime; this.Annotations = new Dictionary <object, object>(); this.pipeline = this.InitPipeline(); }
public IRTransformer(ScopeBlock rootScope, IRContext ctx, DarksVMRuntime runtime) { RootScope = rootScope; Context = ctx; Runtime = runtime; Annotations = new Dictionary <object, object>(); InitPipeline(); }
public ILASTTransformer(MethodDef method, ScopeBlock rootScope, DarksVMRuntime runtime) { RootScope = rootScope; Method = method; Runtime = runtime; Annotations = new Dictionary <object, object>(); InitPipeline(); }
public virtual uint Resolve(DarksVMRuntime runtime) { uint relBase = this.Base.Offset; if (this.Base is ILInstruction) { relBase += runtime.serializer.ComputeLength((ILInstruction)this.Base); } return(this.Target.Offset - relBase); }
public RuntimeMutator(ModuleDef module, DarksVMRuntime rt) { this.RTModule = module; this.rt = rt; this.methodPatcher = new MethodPatcher(module); this.constants = new RTConstants(); this.helpers = new RuntimeHelpers(this.constants, rt, module); this.constants.InjectConstants(module, rt.Descriptor, this.helpers); this.helpers.AddHelpers(); }
public IRTranslator(IRContext ctx, DarksVMRuntime runtime) { this.Context = ctx; this.Runtime = runtime; }
public override uint Resolve(DarksVMRuntime runtime) { return(base.Resolve(runtime) ^ Key); }
public override IKoiChunk CreateChunk(DarksVMRuntime rt, MethodDef method) { return(new SMCBlockChunk(rt, method, this)); }
public SMCBlockChunk(DarksVMRuntime rt, MethodDef method, SMCBlock block) : base(rt, method, block) { block.CounterOperand.Value = Length + 1; }
public IRTranslator(IRContext ctx, DarksVMRuntime runtime) { Context = ctx; Runtime = runtime; }
public void Initialize(ModuleDef runtimeLib) { Runtime = new DarksVMRuntime(this, runtimeLib); runtimeName = runtimeLib.Assembly.Name; vr = new MethodVirtualizer(Runtime); }
public void Resolve(DarksVMRuntime runtime) { runtime.LookupMethod(Target, out methodEntry); }
public virtual IKoiChunk CreateChunk(DarksVMRuntime rt, MethodDef method) { return(new BasicBlockChunk(rt, method, this)); }
public MethodVirtualizer(DarksVMRuntime runtime) => this.Runtime = runtime;
public void Initialize(ILPostTransformer tr) { runtime = tr.Runtime; methodInfo = tr.Runtime.Descriptor.Data.LookupInfo(tr.Method); ComputeBlockKeys(tr.RootScope); }
public MethodVirtualizer(DarksVMRuntime runtime) { Runtime = runtime; }
public ILTranslator(DarksVMRuntime runtime) => this.Runtime = runtime;
public ILTranslator(DarksVMRuntime runtime) { Runtime = runtime; }