mirror of
https://github.com/danbulant/Cosmos
synced 2026-06-12 03:01:32 +00:00
Compilation seems fixed now. Still testing debugger.
This commit is contained in:
parent
c340812392
commit
ae4600a0ee
2 changed files with 7 additions and 7 deletions
|
|
@ -19,11 +19,11 @@ namespace Cosmos.TestRunner.Core
|
|||
|
||||
// if you're working on the compiler (or other lower parts), you can choose to run the compiler in process
|
||||
// 1 thing to keep in mind though, is that this only works with 1 kernel at a time!
|
||||
engine.RunIL2CPUInProcess = true;
|
||||
engine.RunIL2CPUInProcess = false;
|
||||
|
||||
//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(VGACompilerCrash.Kernel).Assembly.Location);
|
||||
engine.AddKernel(typeof(VGACompilerCrash.Kernel).Assembly.Location);
|
||||
|
||||
// known bugs, therefor disabled for now:
|
||||
|
||||
|
|
|
|||
|
|
@ -87,20 +87,20 @@ namespace Cosmos.IL2CPU.X86.IL
|
|||
switch (xFieldInfo.Size)
|
||||
{
|
||||
case 1:
|
||||
new CPUx86.Mov { DestinationReg = CPUx86.Registers.AL, SourceReg = CPUx86.Registers.ESP, SourceIsIndirect = true };
|
||||
new CPUx86.Mov { DestinationReg = CPUx86.Registers.AL, SourceReg = CPUx86.Registers.ESP, SourceDisplacement=xOffset, SourceIsIndirect = true };
|
||||
break;
|
||||
|
||||
case 2:
|
||||
new CPUx86.Mov { DestinationReg = CPUx86.Registers.AX, SourceReg = CPUx86.Registers.ESP, SourceIsIndirect = true };
|
||||
new CPUx86.Mov { DestinationReg = CPUx86.Registers.AX, SourceReg = CPUx86.Registers.ESP, SourceDisplacement = xOffset, SourceIsIndirect = true };
|
||||
break;
|
||||
|
||||
case 3: //For Release
|
||||
new CPUx86.Mov { DestinationReg = CPUx86.Registers.EAX, SourceReg = CPUx86.Registers.ESP, SourceIsIndirect = true };
|
||||
new CPUx86.Mov { DestinationReg = CPUx86.Registers.EAX, SourceReg = CPUx86.Registers.ESP, SourceDisplacement = xOffset, SourceIsIndirect = true };
|
||||
new CPUx86.ShiftRight { DestinationReg = CPUx86.Registers.EAX, SourceValue = 8 };
|
||||
break;
|
||||
|
||||
case 4:
|
||||
new CPUx86.Mov { DestinationReg = CPUx86.Registers.EAX, SourceReg = CPUx86.Registers.ESP, SourceIsIndirect = true };
|
||||
new CPUx86.Mov { DestinationReg = CPUx86.Registers.EAX, SourceReg = CPUx86.Registers.ESP, SourceDisplacement = xOffset, SourceIsIndirect = true };
|
||||
break;
|
||||
|
||||
default:
|
||||
|
|
|
|||
Loading…
Reference in a new issue