[jit] Fix using conv.u with string.
authorRodrigo Kumpera <kumpera@gmail.com>
Mon, 2 Oct 2017 23:31:40 +0000 (16:31 -0700)
committerMarek Safar <marek.safar@gmail.com>
Tue, 3 Oct 2017 10:17:44 +0000 (12:17 +0200)
mono/mini/iltests.il
mono/mini/method-to-ir.c

index 30419d9178a1397dfea214d7105bf364b2f8363a..1bc5a2cf720e6ea557da34f5fc621c3d13875b96 100644 (file)
@@ -3091,4 +3091,15 @@ L_3:
     IL_000c:  ret
   }
 
+  .method public hidebysig static int32 test_104_conv_u_and_string() cil managed
+  {
+    .maxstack  8
+       ldstr "hello"
+       conv.u
+       call int32 [mscorlib]System.Runtime.CompilerServices.RuntimeHelpers::get_OffsetToStringData()
+       add
+       ldind.u2
+       ret
+  }
+
 }
index ce326f3c2d3443d3461073d826215663523955e4..54e8c3580bf1ac6270c750908ad59a82b1165102 100644 (file)
@@ -1070,6 +1070,7 @@ type_from_op (MonoCompile *cfg, MonoInst *ins, MonoInst *src1, MonoInst *src2)
                        break;
                case STACK_PTR:
                case STACK_MP:
+               case STACK_OBJ:
 #if SIZEOF_VOID_P == 8
                        ins->opcode = OP_LCONV_TO_U;
 #else