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:
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).
@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.