public void LoadFunction(ContextFreeModule contextFreeModule) { Module functionModule = _contextWrapper.LoadContextFreeModule(contextFreeModule); functionModule.VerifyAndThrowIfInvalid(); _globalModule.LinkInModule(functionModule.Clone()); }
public ExecutionContext(IRebarTargetRuntimeServices runtimeServices) { _contextWrapper = new ContextWrapper(); _runtimeServices = runtimeServices; _globalModule = _contextWrapper.CreateModule("global"); foreach (ContextFreeModule module in new[] { CommonModules.FakeDropModule, CommonModules.SchedulerModule, CommonModules.StringModule, CommonModules.OutputModule, CommonModules.RangeModule, CommonModules.FileModule }) { _globalModule.LinkInModule(_contextWrapper.LoadContextFreeModule(module)); } _engine = _globalModule.CreateMCJITCompilerForModule(); _targetData = LLVMSharp.LLVM.GetExecutionEngineTargetData(_engine); }