Esempio n. 1
0
        public IExecutionEngine GetExecutor(CompiledModel compiledModel, IILOperationSet ilOperationSet)
        {
            _typeLoader.LoadGlobalMethods(compiledModel.Methods.Values.ToList());
            IExecutionEngine executor = new ExecutionEngine(compiledModel, _gcHeap, _typesHeap, _typeLoader, new CallStack(Int16.MaxValue), ilOperationSet);

            return(executor);
        }
Esempio n. 2
0
 public MethodStateMachineFactory(IGCHeap gcHeap, ITypesHeap typesHeap, ITypeLoader typeLoader, IILOperationSet ilOperationSet)
 {
     _ilOperationSet = ilOperationSet;
     _gcHeap         = gcHeap;
     _typeLoader     = typeLoader;
     _typesHeap      = typesHeap;
 }
Esempio n. 3
0
 public ExecutionEngine(CompiledModel compiledModel, IGCHeap gcHeap, ITypesHeap typesHeap, ITypeLoader typeLoader, ICallStack callStack, IILOperationSet ilOperationSet)
 {
     _compiledModel             = compiledModel;
     _callStack                 = callStack;
     _methodStateMachineFactory = new MethodStateMachineFactory(gcHeap, typesHeap, typeLoader, ilOperationSet);
     FillInterruptionResolvers();
 }
Esempio n. 4
0
        public static MethodStateMachine CreateForMethod(MethodDesc methodDescription, IGCHeap gcHeap, ITypesHeap typesHeap, ITypeLoader typeLoader, IILOperationSet operationSet)
        {
            MethodStateMachine execModel = new MethodStateMachine()
            {
                _operationSet = operationSet,
                MethodDesc    = methodDescription,
                Context       = ILTool.Kernel.MethodContext.CreateForMethod(methodDescription, gcHeap, typesHeap, typeLoader),
                State         = new MethodState()
            };

            return(execModel);
        }