Fix decimal comparison by using signed char comparison of signs; Fix size of jmp...
authorNeale Ferguson <neale@sinenomine.net>
Mon, 23 Mar 2015 21:31:01 +0000 (17:31 -0400)
committerNeale Ferguson <neale@sinenomine.net>
Mon, 23 Mar 2015 21:43:41 +0000 (17:43 -0400)
mono/metadata/decimal-ms.c
mono/mini/cpu-s390x.md

index 6368e668856edb08312c5da1ccea8c5f1f3bc38d..47a4ed06ca805dbd598e47cb196a27f210192d64 100644 (file)
@@ -2242,9 +2242,9 @@ mono_decimal_compare (MonoDecimal *left, MonoDecimal *right)
        }
 
        //
-       // Signs are different.  Used signed byte compares
+       // Signs are different.  Use signed byte comparison
        //
-       if ((char)left_sign > (char)right_sign)
+       if ((signed char)left_sign > (signed char)right_sign)
                return MONO_DECIMAL_CMP_GT;
        return MONO_DECIMAL_CMP_LT;
 }
index d940b73a7ee3790a781f13ba37ddd898473c36b5..bc1a513d40b1c5ab3ca82594c065fc5046b2126c 100644 (file)
@@ -139,7 +139,7 @@ i8const: dest:i len:20
 icompare: src1:i src2:i len:4
 icompare_imm: src1:i len:18
 iconst: dest:i len:40
-jmp: len:46
+jmp: len:50
 label: len:0
 lcall: dest:o len:22 clob:c
 lcall_membase: dest:o src1:b len:12 clob:c