mosa/MOSA-Project

BUG: Switches with more than 6 cases prevent the OS from being compiled

Dawid8plc opened this issue · 7 comments

It appears that when there is a switch with 7 or more cases, the OS doesn't get compiled into a .bin file to the Local/Temp/MOSA folder, and therefore the previous compiled bin file is launched by QEMU, and if there wasn't one, launcher will fail to launch the emulator.

I tried to add a new app to the Shell.cs file from the CoolWorld demo project, like so:

image

And it would prevent the OS from being compiled.

@Dawid8plc Does it also happen when you return null instead of return new DTest()?

Yes, it also happens with return null

Yup, seems to fail with Exception- Method: <PrivateImplementationDetails>::ComputeStringHash(System.String):System.UInt32 -> Mosa.Compiler.Common.Exceptions.CompilerException: ValueNumbering Stage: Expected PHI instruction but found instead: 0002C: IR.Move32 v25 [I4] <= v24 [I4] for v24 [I4].

However, it works without optimizations (ValueNumbering is an optimization).

If I disable value numbering however, none of the commands work anymore.
image

@Dawid8plc I recommend disabling all optimizations as a whole (that's what I did).

I see, it appears to be working just fine with all of them off.