mirror of
https://github.com/danbulant/Cosmos
synced 2026-05-24 12:35:31 +00:00
Compiler bug fixed.
This commit is contained in:
parent
535d3d136e
commit
4ffeeae278
2 changed files with 15 additions and 7 deletions
|
|
@ -21,23 +21,23 @@ namespace Cosmos.TestRunner.Core
|
||||||
|
|
||||||
// If you're working on the compiler (or other lower parts), you can choose to run the compiler in process
|
// If you're working on the compiler (or other lower parts), you can choose to run the compiler in process
|
||||||
// one thing to keep in mind though, is that this only works with 1 kernel at a time!
|
// one thing to keep in mind though, is that this only works with 1 kernel at a time!
|
||||||
engine.RunIL2CPUInProcess = true;
|
//engine.RunIL2CPUInProcess = true;
|
||||||
|
|
||||||
engine.EnableStackCorruptionChecks = true;
|
engine.EnableStackCorruptionChecks = true;
|
||||||
//engine.RunWithGDB = true;
|
//engine.RunWithGDB = true;
|
||||||
|
|
||||||
// Select kernels to be tested by adding them to the engine
|
// Select kernels to be tested by adding them to the engine
|
||||||
//engine.AddKernel(typeof(Cosmos.Compiler.Tests.Bcl.Kernel).Assembly.Location);
|
engine.AddKernel(typeof(Cosmos.Compiler.Tests.Bcl.Kernel).Assembly.Location);
|
||||||
//engine.AddKernel(typeof(Cosmos.Compiler.Tests.SingleEchoTest.Kernel).Assembly.Location);
|
engine.AddKernel(typeof(Cosmos.Compiler.Tests.SingleEchoTest.Kernel).Assembly.Location);
|
||||||
//engine.AddKernel(typeof(Cosmos.Compiler.Tests.SimpleWriteLine.Kernel.Kernel).Assembly.Location);
|
engine.AddKernel(typeof(Cosmos.Compiler.Tests.SimpleWriteLine.Kernel.Kernel).Assembly.Location);
|
||||||
//engine.AddKernel(typeof(SimpleStructsAndArraysTest.Kernel).Assembly.Location);
|
engine.AddKernel(typeof(SimpleStructsAndArraysTest.Kernel).Assembly.Location);
|
||||||
//engine.AddKernel(typeof(VGACompilerCrash.Kernel).Assembly.Location);
|
engine.AddKernel(typeof(VGACompilerCrash.Kernel).Assembly.Location);
|
||||||
|
|
||||||
// Known bugs, therefore disabled for now:
|
// Known bugs, therefore disabled for now:
|
||||||
//engine.AddKernel(typeof(BoxingTests.Kernel).Assembly.Location);
|
//engine.AddKernel(typeof(BoxingTests.Kernel).Assembly.Location);
|
||||||
|
|
||||||
// Experimental stuff:
|
// Experimental stuff:
|
||||||
engine.AddKernel(typeof(Cosmos.Kernel.Tests.Fat.Kernel).Assembly.Location);
|
//engine.AddKernel(typeof(Cosmos.Kernel.Tests.Fat.Kernel).Assembly.Location);
|
||||||
|
|
||||||
// end of known bugs
|
// end of known bugs
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -673,6 +673,14 @@ namespace Cosmos.IL2CPU.ILOpCodes {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
if (StackPopTypes[0] == typeof(int) && StackPopTypes[1] == typeof(int))
|
if (StackPopTypes[0] == typeof(int) && StackPopTypes[1] == typeof(int))
|
||||||
|
{
|
||||||
|
StackPushTypes[0] = typeof(int);
|
||||||
|
aSituationChanged = true;
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
if ((StackPopTypes[0] == typeof(int) && StackPopTypes[1] == typeof(bool))
|
||||||
|
|| (StackPopTypes[0] == typeof(bool) && StackPopTypes[1] == typeof(int)))
|
||||||
|
|
||||||
{
|
{
|
||||||
StackPushTypes[0] = typeof(int);
|
StackPushTypes[0] = typeof(int);
|
||||||
aSituationChanged = true;
|
aSituationChanged = true;
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue