diff --git a/source/Cosmos.Build.Builder/App.xaml.cs b/source/Cosmos.Build.Builder/App.xaml.cs index 5ffc657cf..55943c9a2 100644 --- a/source/Cosmos.Build.Builder/App.xaml.cs +++ b/source/Cosmos.Build.Builder/App.xaml.cs @@ -12,6 +12,7 @@ namespace Cosmos.Build.Builder { public static bool ResetHive; public static bool StayOpen; public static bool UseTask; + public static bool NoMsBuildClean; public static bool InstallTask; public static bool IgnoreVS; public static bool TestMode = false; @@ -28,6 +29,7 @@ namespace Cosmos.Build.Builder { ResetHive = xArgs.Contains("-RESETHIVE"); StayOpen = xArgs.Contains("-STAYOPEN"); UseTask = !xArgs.Contains("-NOTASK"); + NoMsBuildClean = xArgs.Contains("-NOCLEAN"); InstallTask = xArgs.Contains("-INSTALLTASK"); DoNotLaunchVS = xArgs.Contains("-NOVSLAUNCH"); // For use during dev of Builder only. diff --git a/source/Cosmos.Build.Builder/CosmosTask.cs b/source/Cosmos.Build.Builder/CosmosTask.cs index d48c01ade..2442fd8ca 100644 --- a/source/Cosmos.Build.Builder/CosmosTask.cs +++ b/source/Cosmos.Build.Builder/CosmosTask.cs @@ -96,7 +96,9 @@ namespace Cosmos.Build.Builder { string xMsBuild = Path.Combine(Paths.Windows, @"Microsoft.NET\Framework\v4.0.30319\msbuild.exe"); string xParams = Quoted(aSlnFile) + @" /maxcpucount /verbosity:normal /nologo /p:Configuration=" + aBuildCfg + " /p:Platform=x86 /p:OutputPath=" + Quoted(mOutputDir); // Clean then build: http://adrianfoyn.wordpress.com/2011/03/30/wrestling-with-msbuild-the-bane-of-trebuild/ - StartConsole(xMsBuild, "/t:Clean " + xParams); + if (false == App.NoMsBuildClean) { + StartConsole(xMsBuild, "/t:Clean " + xParams); + } StartConsole(xMsBuild, "/t:Build " + xParams); } diff --git a/source2/IL2CPU/Cosmos.IL2CPU/IL/Ldsfld.cs b/source2/IL2CPU/Cosmos.IL2CPU/IL/Ldsfld.cs index 7a9e6def2..0f04a7c43 100644 --- a/source2/IL2CPU/Cosmos.IL2CPU/IL/Ldsfld.cs +++ b/source2/IL2CPU/Cosmos.IL2CPU/IL/Ldsfld.cs @@ -32,13 +32,13 @@ namespace Cosmos.IL2CPU.X86.IL } //Assembler.Stack.Pop(); - int aExtraOffset;// = 0; - bool xNeedsGC = xField.FieldType.IsClass && !xField.FieldType.IsValueType; + //int aExtraOffset;// = 0; + //bool xNeedsGC = xField.FieldType.IsClass && !xField.FieldType.IsValueType; var xSize = SizeOfType( xField.FieldType ); - if( xNeedsGC ) - { - aExtraOffset = 12; - } + //if( xNeedsGC ) + //{ + // aExtraOffset = 12; + //} string xDataName = DataMember.GetStaticFieldName(xField); if( xSize >= 4 ) diff --git a/source2/IL2CPU/Cosmos.IL2CPU/IL/Stsfld.cs b/source2/IL2CPU/Cosmos.IL2CPU/IL/Stsfld.cs index 12e6a6c34..beb797485 100644 --- a/source2/IL2CPU/Cosmos.IL2CPU/IL/Stsfld.cs +++ b/source2/IL2CPU/Cosmos.IL2CPU/IL/Stsfld.cs @@ -29,14 +29,14 @@ namespace Cosmos.IL2CPU.X86.IL new Label(".AfterCCTorExceptionCheck"); } - int aExtraOffset;// = 0; - bool xNeedsGC = xField.FieldType.IsClass && !xField.FieldType.IsValueType; + //int aExtraOffset;// = 0; + //bool xNeedsGC = xField.FieldType.IsClass && !xField.FieldType.IsValueType; uint xSize = SizeOfType( xField.FieldType ); - if( xNeedsGC ) - { - aExtraOffset = 12; - } - new Comment( Assembler, "Type = '" + xField.FieldType.FullName + "', NeedsGC = " + xNeedsGC ); + //if( xNeedsGC ) + //{ + // aExtraOffset = 12; + //} + new Comment( Assembler, "Type = '" + xField.FieldType.FullName /*+ "', NeedsGC = " + xNeedsGC*/ ); uint xOffset = 0;