@@ -196,7 +196,7 @@ mono_mb_emit_save_args (MonoMethodBuilder *mb, MonoMethodSignature *sig, gboolea
196
196
mono_mb_emit_byte (mb , CEE_STIND_I );
197
197
/* tmp = tmp + sizeof (gpointer) */
198
198
if (sig -> param_count )
199
- mono_mb_emit_add_to_local (mb , tmp_var , TARGET_SIZEOF_VOID_P );
199
+ mono_mb_emit_add_to_local (mb , GINT_TO_UINT16 ( tmp_var ) , TARGET_SIZEOF_VOID_P );
200
200
201
201
}
202
202
@@ -206,7 +206,7 @@ mono_mb_emit_save_args (MonoMethodBuilder *mb, MonoMethodSignature *sig, gboolea
206
206
mono_mb_emit_byte (mb , CEE_STIND_I );
207
207
/* tmp = tmp + sizeof (gpointer) */
208
208
if (i < (sig -> param_count - 1 ))
209
- mono_mb_emit_add_to_local (mb , tmp_var , TARGET_SIZEOF_VOID_P );
209
+ mono_mb_emit_add_to_local (mb , GINT_TO_UINT16 ( tmp_var ) , TARGET_SIZEOF_VOID_P );
210
210
}
211
211
212
212
return params_var ;
@@ -413,7 +413,7 @@ emit_invoke_call (MonoMethodBuilder *mb, MonoMethod *method,
413
413
mono_mb_emit_exception_full (mb , "Mono" , "NullByRefReturnException" , NULL );
414
414
mono_mb_patch_branch (mb , pos );
415
415
416
- int ldind_op ;
416
+ guint8 ldind_op ;
417
417
MonoType * ret_byval = m_class_get_byval_arg (mono_class_from_mono_type_internal (sig -> ret ));
418
418
g_assert (!m_type_is_byref (ret_byval ));
419
419
// TODO: Handle null references
@@ -1228,7 +1228,7 @@ load_array_class (MonoMethodBuilder *mb, int aklass)
1228
1228
mono_mb_emit_byte (mb , CEE_LDIND_I );
1229
1229
mono_mb_emit_ldflda (mb , MONO_STRUCT_OFFSET (MonoVTable , klass ));
1230
1230
mono_mb_emit_byte (mb , CEE_LDIND_I );
1231
- mono_mb_emit_ldflda (mb , m_class_offsetof_element_class ());
1231
+ mono_mb_emit_ldflda (mb , GINTPTR_TO_INT32 ( m_class_offsetof_element_class () ));
1232
1232
mono_mb_emit_byte (mb , CEE_LDIND_I );
1233
1233
mono_mb_emit_stloc (mb , aklass );
1234
1234
}
@@ -1467,22 +1467,22 @@ emit_virtual_stelemref_ilgen (MonoMethodBuilder *mb, const char **param_names, M
1467
1467
1468
1468
/* if (vklass->idepth < aklass->idepth) goto failue */
1469
1469
mono_mb_emit_ldloc (mb , vklass );
1470
- mono_mb_emit_ldflda (mb , m_class_offsetof_idepth ());
1470
+ mono_mb_emit_ldflda (mb , GINTPTR_TO_INT32 ( m_class_offsetof_idepth () ));
1471
1471
mono_mb_emit_byte (mb , CEE_LDIND_U2 );
1472
1472
1473
1473
mono_mb_emit_ldloc (mb , aklass );
1474
- mono_mb_emit_ldflda (mb , m_class_offsetof_idepth ());
1474
+ mono_mb_emit_ldflda (mb , GINTPTR_TO_INT32 ( m_class_offsetof_idepth () ));
1475
1475
mono_mb_emit_byte (mb , CEE_LDIND_U2 );
1476
1476
1477
1477
b3 = mono_mb_emit_branch (mb , CEE_BLT_UN );
1478
1478
1479
1479
/* if (vklass->supertypes [aklass->idepth - 1] != aklass) goto failure */
1480
1480
mono_mb_emit_ldloc (mb , vklass );
1481
- mono_mb_emit_ldflda (mb , m_class_offsetof_supertypes ());
1481
+ mono_mb_emit_ldflda (mb , GINTPTR_TO_INT32 ( m_class_offsetof_supertypes () ));
1482
1482
mono_mb_emit_byte (mb , CEE_LDIND_I );
1483
1483
1484
1484
mono_mb_emit_ldloc (mb , aklass );
1485
- mono_mb_emit_ldflda (mb , m_class_offsetof_idepth ());
1485
+ mono_mb_emit_ldflda (mb , GINTPTR_TO_INT32 ( m_class_offsetof_idepth () ));
1486
1486
mono_mb_emit_byte (mb , CEE_LDIND_U2 );
1487
1487
mono_mb_emit_icon (mb , 1 );
1488
1488
mono_mb_emit_byte (mb , CEE_SUB );
@@ -1549,11 +1549,11 @@ emit_virtual_stelemref_ilgen (MonoMethodBuilder *mb, const char **param_names, M
1549
1549
1550
1550
/* if (vklass->supertypes [aklass->idepth - 1] != aklass) goto failure */
1551
1551
mono_mb_emit_ldloc (mb , vklass );
1552
- mono_mb_emit_ldflda (mb , m_class_offsetof_supertypes ());
1552
+ mono_mb_emit_ldflda (mb , GINTPTR_TO_INT32 ( m_class_offsetof_supertypes () ));
1553
1553
mono_mb_emit_byte (mb , CEE_LDIND_I );
1554
1554
1555
1555
mono_mb_emit_ldloc (mb , aklass );
1556
- mono_mb_emit_ldflda (mb , m_class_offsetof_idepth ());
1556
+ mono_mb_emit_ldflda (mb , GINTPTR_TO_INT32 ( m_class_offsetof_idepth () ));
1557
1557
mono_mb_emit_byte (mb , CEE_LDIND_U2 );
1558
1558
mono_mb_emit_icon (mb , 1 );
1559
1559
mono_mb_emit_byte (mb , CEE_SUB );
@@ -1622,7 +1622,7 @@ emit_virtual_stelemref_ilgen (MonoMethodBuilder *mb, const char **param_names, M
1622
1622
1623
1623
/* uiid = klass->interface_id; */
1624
1624
mono_mb_emit_ldloc (mb , aklass );
1625
- mono_mb_emit_ldflda (mb , m_class_offsetof_interface_id ());
1625
+ mono_mb_emit_ldflda (mb , GINTPTR_TO_INT32 ( m_class_offsetof_interface_id () ));
1626
1626
mono_mb_emit_byte (mb , CEE_LDIND_U4 );
1627
1627
mono_mb_emit_stloc (mb , uiid );
1628
1628
@@ -1740,7 +1740,7 @@ emit_stelemref_ilgen (MonoMethodBuilder *mb)
1740
1740
mono_mb_emit_byte (mb , CEE_LDIND_I );
1741
1741
mono_mb_emit_ldflda (mb , MONO_STRUCT_OFFSET (MonoVTable , klass ));
1742
1742
mono_mb_emit_byte (mb , CEE_LDIND_I );
1743
- mono_mb_emit_ldflda (mb , m_class_offsetof_element_class ());
1743
+ mono_mb_emit_ldflda (mb , GINTPTR_TO_INT32 ( m_class_offsetof_element_class () ));
1744
1744
mono_mb_emit_byte (mb , CEE_LDIND_I );
1745
1745
mono_mb_emit_stloc (mb , aklass );
1746
1746
@@ -1754,22 +1754,22 @@ emit_stelemref_ilgen (MonoMethodBuilder *mb)
1754
1754
1755
1755
/* if (vklass->idepth < aklass->idepth) goto failue */
1756
1756
mono_mb_emit_ldloc (mb , vklass );
1757
- mono_mb_emit_ldflda (mb , m_class_offsetof_idepth ());
1757
+ mono_mb_emit_ldflda (mb , GINTPTR_TO_INT32 ( m_class_offsetof_idepth () ));
1758
1758
mono_mb_emit_byte (mb , CEE_LDIND_U2 );
1759
1759
1760
1760
mono_mb_emit_ldloc (mb , aklass );
1761
- mono_mb_emit_ldflda (mb , m_class_offsetof_idepth ());
1761
+ mono_mb_emit_ldflda (mb , GINTPTR_TO_INT32 ( m_class_offsetof_idepth () ));
1762
1762
mono_mb_emit_byte (mb , CEE_LDIND_U2 );
1763
1763
1764
1764
b2 = mono_mb_emit_branch (mb , CEE_BLT_UN );
1765
1765
1766
1766
/* if (vklass->supertypes [aklass->idepth - 1] != aklass) goto failure */
1767
1767
mono_mb_emit_ldloc (mb , vklass );
1768
- mono_mb_emit_ldflda (mb , m_class_offsetof_supertypes ());
1768
+ mono_mb_emit_ldflda (mb , GINTPTR_TO_INT32 ( m_class_offsetof_supertypes () ));
1769
1769
mono_mb_emit_byte (mb , CEE_LDIND_I );
1770
1770
1771
1771
mono_mb_emit_ldloc (mb , aklass );
1772
- mono_mb_emit_ldflda (mb , m_class_offsetof_idepth ());
1772
+ mono_mb_emit_ldflda (mb , GINTPTR_TO_INT32 ( m_class_offsetof_idepth () ));
1773
1773
mono_mb_emit_byte (mb , CEE_LDIND_U2 );
1774
1774
mono_mb_emit_icon (mb , 1 );
1775
1775
mono_mb_emit_byte (mb , CEE_SUB );
@@ -1901,7 +1901,7 @@ emit_array_address_ilgen (MonoMethodBuilder *mb, int rank, int elem_size)
1901
1901
mono_mb_emit_byte (mb , CEE_ADD );
1902
1902
mono_mb_emit_byte (mb , CEE_LDIND_I );
1903
1903
/* sizes is an union, so this reads sizes.element_size */
1904
- mono_mb_emit_icon (mb , m_class_offsetof_sizes ());
1904
+ mono_mb_emit_icon (mb , GINTPTR_TO_INT32 ( m_class_offsetof_sizes () ));
1905
1905
mono_mb_emit_byte (mb , CEE_ADD );
1906
1906
mono_mb_emit_byte (mb , CEE_LDIND_I4 );
1907
1907
}
@@ -2115,7 +2115,7 @@ emit_delegate_invoke_internal_ilgen (MonoMethodBuilder *mb, MonoMethodSignature
2115
2115
mono_mb_emit_stloc (mb , local_res );
2116
2116
2117
2117
/* i += 1 */
2118
- mono_mb_emit_add_to_local (mb , local_i , 1 );
2118
+ mono_mb_emit_add_to_local (mb , GINT_TO_UINT16 ( local_i ) , 1 );
2119
2119
2120
2120
/* i < l */
2121
2121
mono_mb_emit_ldloc (mb , local_i );
@@ -3067,7 +3067,7 @@ emit_icall_wrapper_ilgen (MonoMethodBuilder *mb, MonoJitICallInfo *callinfo, Mon
3067
3067
3068
3068
mono_mb_emit_byte (mb , MONO_CUSTOM_PREFIX );
3069
3069
mono_mb_emit_byte (mb , CEE_MONO_JIT_ICALL_ADDR );
3070
- mono_mb_emit_i4 (mb , mono_jit_icall_info_index (callinfo ));
3070
+ mono_mb_emit_i4 (mb , GPTRDIFF_TO_INT32 ( mono_jit_icall_info_index (callinfo ) ));
3071
3071
mono_mb_emit_calli (mb , csig2 );
3072
3072
if (check_exceptions )
3073
3073
emit_thread_interrupt_checkpoint (mb );
0 commit comments