if (rs->next_vreg > rs->vassign_size) {
g_free (rs->vassign);
rs->vassign_size = MAX (rs->next_vreg, 256);
- rs->vassign = g_malloc (rs->vassign_size * sizeof (gint32));
+ rs->vassign = (gint32 *)g_malloc (rs->vassign_size * sizeof (gint32));
}
memset (rs->isymbolic, 0, MONO_MAX_IREGS * sizeof (rs->isymbolic [0]));
g_assert (bank < MONO_NUM_REGBANKS);
- new_info = mono_mempool_alloc0 (cfg->mempool, sizeof (MonoSpillInfo) * new_len);
+ new_info = (MonoSpillInfo *)mono_mempool_alloc0 (cfg->mempool, sizeof (MonoSpillInfo) * new_len);
if (orig_info)
memcpy (new_info, orig_info, sizeof (MonoSpillInfo) * orig_len);
for (i = orig_len; i < new_len; ++i)
#undef PATCH_INFO
};
+const char*
+mono_ji_type_to_string (MonoJumpInfoType type)
+{
+ return patch_info_str [type];
+}
+
void
mono_print_ji (const MonoJumpInfo *ji)
{
g_free (s);
break;
}
+ case MONO_PATCH_INFO_INTERNAL_METHOD: {
+ printf ("[INTERNAL_METHOD - %s]", ji->data.name);
+ break;
+ }
default:
printf ("[%s]", patch_info_str [ji->type]);
break;
}
#else
+const char*
+mono_ji_type_to_string (MonoJumpInfoType type)
+{
+ return "";
+}
+
void
mono_print_ji (const MonoJumpInfo *ji)
{
if (cfg->reginfo && cfg->reginfo_len < max)
cfg->reginfo = NULL;
- reginfo = cfg->reginfo;
+ reginfo = (RegTrack *)cfg->reginfo;
if (!reginfo) {
cfg->reginfo_len = MAX (1024, max * 2);
- reginfo = cfg->reginfo = mono_mempool_alloc (cfg->mempool, sizeof (RegTrack) * cfg->reginfo_len);
+ reginfo = (RegTrack *)mono_mempool_alloc (cfg->mempool, sizeof (RegTrack) * cfg->reginfo_len);
+ cfg->reginfo = reginfo;
}
else
g_assert (cfg->reginfo_len >= rs->next_vreg);
default:
printf ("%s\n", mono_inst_name (opcode));
g_assert_not_reached ();
- return 0;
+ return (CompRelation)0;
}
}
}
} else {
g_error ("Unknown opcode '%s' in opcode_to_type", mono_inst_name (opcode));
- return 0;
+ return (CompType)0;
}
}
gboolean
mono_is_regsize_var (MonoType *t)
{
- t = mini_type_get_underlying_type (NULL, t);
+ t = mini_get_underlying_type (t);
switch (t->type) {
case MONO_TYPE_I1:
case MONO_TYPE_U1:
return FALSE;
prev_ftype = ftype;
nfields += nested_nfields;
- // FIXME: Nested float structs are aligned to 8 bytes
- if (ftype->type == MONO_TYPE_R4)
- return FALSE;
} else {
if (!(!ftype->byref && (ftype->type == MONO_TYPE_R4 || ftype->type == MONO_TYPE_R8)))
return FALSE;
nfields ++;
}
}
- if (nfields == 0 || nfields > 4)
+ if (nfields == 0)
return FALSE;
*out_nfields = nfields;
*out_esize = prev_ftype->type == MONO_TYPE_R4 ? 4 : 8;