提交 fcaadc65 编写于 作者: F Fadi Hanna

Properly sign-extend indirect loads

上级 61ec4db0
......@@ -223,17 +223,23 @@ public void EmitLdInd(TypeDesc type)
{
switch (type.UnderlyingType.Category)
{
case TypeFlags.Byte:
case TypeFlags.SByte:
case TypeFlags.Boolean:
Emit(ILOpcode.ldind_i1);
break;
case TypeFlags.Char:
case TypeFlags.UInt16:
case TypeFlags.Byte:
case TypeFlags.Boolean:
Emit(ILOpcode.ldind_u1);
break;
case TypeFlags.Int16:
Emit(ILOpcode.ldind_i2);
break;
case TypeFlags.Char:
case TypeFlags.UInt16:
Emit(ILOpcode.ldind_u2);
break;
case TypeFlags.UInt32:
Emit(ILOpcode.ldind_u4);
break;
case TypeFlags.Int32:
Emit(ILOpcode.ldind_i4);
break;
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册