[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