protected void LoadAssembly(string filename, string platform, string includeDirectory = null) { Compiler.CompilerOptions.Architecture = GetArchitecture(platform); Compiler.CompilerOptions.MultibootSpecification = MultibootSpecification.V1; Compiler.CompilerOptions.SearchPaths.Clear(); Compiler.CompilerOptions.SourceFiles.Clear(); Compiler.CompilerOptions.AddSearchPath(includeDirectory); Compiler.CompilerOptions.AddSearchPath(Path.GetDirectoryName(filename)); Compiler.CompilerOptions.AddSourceFile(filename); Compiler.CompilerOptions.AddSourceFile("Mosa.Plug.Korlib.dll"); Compiler.CompilerOptions.AddSourceFile("Mosa.Plug.Korlib." + platform + ".dll"); var moduleLoader = new MosaModuleLoader(); moduleLoader.AddSearchPaths(Compiler.CompilerOptions.SearchPaths); moduleLoader.LoadModuleFromFiles(Compiler.CompilerOptions.SourceFiles); var metadata = moduleLoader.CreateMetadata(); var typeSystem = TypeSystem.Load(metadata); Compiler.Load(typeSystem); }
protected void LoadAssembly(string filename, bool includeTestComponents, string platform) { Compiler.CompilerOptions.Architecture = GetArchitecture(cbPlatform.Text); var moduleLoader = new MosaModuleLoader(); if (includeTestComponents) { moduleLoader.AddPrivatePath(System.IO.Directory.GetCurrentDirectory()); moduleLoader.LoadModuleFromFile("mscorlib.dll"); moduleLoader.LoadModuleFromFile("Mosa.Platform.Internal." + platform + ".dll"); moduleLoader.LoadModuleFromFile("Mosa.Kernel.x86Test.dll"); } moduleLoader.AddPrivatePath(Path.GetDirectoryName(filename)); moduleLoader.LoadModuleFromFile(filename); var metadata = moduleLoader.CreateMetadata(); Compiler.Load(TypeSystem.Load(metadata)); UpdateTree(); Stage = CompileStage.Loaded; }
protected void CompileTestCode() { platform.InitializeSimulation(simAdapter); var moduleLoader = new MosaModuleLoader(); moduleLoader.AddPrivatePath(System.IO.Directory.GetCurrentDirectory()); moduleLoader.LoadModuleFromFile("mscorlib.dll"); moduleLoader.LoadModuleFromFile("Mosa.Platform.Internal." + platform.Name + ".dll"); moduleLoader.LoadModuleFromFile("Mosa.Test.Collection.dll"); moduleLoader.LoadModuleFromFile("Mosa.Kernel." + platform.Name + "Test.dll"); compiler.Load(TypeSystem.Load(moduleLoader.CreateMetadata())); //compiler.Execute(); compiler.Execute(Environment.ProcessorCount); linker = compiler.Linker as SimLinker; //DumpSymbols(); //simAdapter.SimCPU.Monitor.DebugOutput = true; // DEBUG OPTION Run <int>(string.Empty, "Default", "AssemblyInit", true); simAdapter.SimCPU.Monitor.DebugOutput = false; // DEBUG OPTION }
public void LoadAssembly(string filename) { var moduleLoader = new MosaModuleLoader(); moduleLoader.AddPrivatePath(System.IO.Path.GetDirectoryName(filename)); moduleLoader.LoadModuleFromFile(filename); Compiler.Load(TypeSystem.Load(moduleLoader.CreateMetadata())); assembliesView.UpdateTree(); }
public void Load() { lock (_lock) { var moduleLoader = new MosaModuleLoader(); moduleLoader.AddSearchPaths(CompilerOptions.SearchPaths); moduleLoader.LoadModuleFromFiles(CompilerOptions.SourceFiles); var typeSystem = TypeSystem.Load(moduleLoader.CreateMetadata()); Load(typeSystem); } }
protected void LoadAssembly(string filename, string platform) { Compiler.CompilerOptions.Architecture = GetArchitecture(cbPlatform.Text); var moduleLoader = new MosaModuleLoader(); moduleLoader.AddPrivatePath(Path.GetDirectoryName(filename)); moduleLoader.LoadModuleFromFile(filename); var metadata = moduleLoader.CreateMetadata(); Compiler.Load(TypeSystem.Load(metadata)); UpdateTree(); Stage = CompileStage.Loaded; }
private void CompileTestCode() { platform.InitializeSimulation(simAdapter); var moduleLoader = new MosaModuleLoader(); moduleLoader.AddPrivatePath(System.IO.Directory.GetCurrentDirectory()); moduleLoader.LoadModuleFromFile("mscorlib.dll"); moduleLoader.LoadModuleFromFile("Mosa.Runtime.dll"); moduleLoader.LoadModuleFromFile("Mosa.Runtime." + platform.Name + ".dll"); moduleLoader.LoadModuleFromFile("Mosa.Test.Collection.dll"); moduleLoader.LoadModuleFromFile("Mosa.Kernel." + platform.Name + "Test.dll"); Compiler.Load(TypeSystem.Load(moduleLoader.CreateMetadata())); //var threads = Compiler.CompilerOptions.UseMultipleThreadCompiler ? Environment.ProcessorCount : 1; //Compiler.Execute(threads); Compiler.Execute(Environment.ProcessorCount); }
protected void LoadAssembly(string filename, string platform, string includeDirectory = null) { Compiler.CompilerOptions.Architecture = GetArchitecture(platform); var moduleLoader = new MosaModuleLoader(); if (includeDirectory != null) { moduleLoader.AddPrivatePath(includeDirectory); } moduleLoader.AddPrivatePath(Path.GetDirectoryName(filename)); moduleLoader.LoadModuleFromFile(filename); var metadata = moduleLoader.CreateMetadata(); var typeSystem = TypeSystem.Load(metadata); Compiler.Load(typeSystem); }