[Mono-devel-list] Another mini bug?
Paolo Molaro
lupus at ximian.com
Sun May 4 05:52:35 EDT 2003
On 05/03/03 Don Roberts wrote:
> Still trying to get #Smalltalk to work. Now our calculator example fails
> with the following message:
>
> ** ERROR **: unknown operator: long_conv_to_u8
>
> It is failing during instruction selection. Is this another place where
> M$ differs from their own spec or is there a hole in the giant switch
> statement in mono_burg_label_priv?
This is pretty much a honest-to-god lupus-bug. Fixed in cvs (patch
included in this mail too). My only excuse is that the C# compiler
seems to never emit this code sequence, so it went unnoticed.
Thanks for the report!
lupus
--
-----------------------------------------------------------------
lupus at debian.org debian/rules
lupus at ximian.com Monkeys do it better
Index: inssel-long32.brg
===================================================================
RCS file: /cvs/public/mono/mono/mini/inssel-long32.brg,v
retrieving revision 1.2
diff -u -p -r1.2 inssel-long32.brg
--- inssel-long32.brg 10 Apr 2003 15:51:45 -0000 1.2
+++ inssel-long32.brg 4 May 2003 09:47:23 -0000
@@ -498,6 +498,11 @@ reg: OP_LCONV_TO_U4 (lreg) {
MONO_EMIT_UNALU (s, tree, OP_MOVE, state->reg1, state->left->reg1);
}
+lreg: OP_LCONV_TO_U8 (lreg) {
+ MONO_EMIT_NEW_UNALU (s, OP_MOVE, state->reg1, state->left->reg1);
+ MONO_EMIT_UNALU (s, tree, OP_MOVE, state->reg2, state->left->reg2);
+}
+
reg: OP_LCONV_TO_U (lreg) {
MONO_EMIT_UNALU (s, tree, OP_MOVE, state->reg1, state->left->reg1);
}
More information about the Mono-devel-list
mailing list