static gboolean
lower_load (MonoCompile *cfg, MonoInst *load, MonoInst *ldaddr)
{
- MonoInst *var = ldaddr->inst_p0;
+ MonoInst *var = (MonoInst *)ldaddr->inst_p0;
MonoType *type = &var->klass->byval_arg;
int replaced_op = mono_type_to_load_membase (cfg, type);
static gboolean
lower_store (MonoCompile *cfg, MonoInst *store, MonoInst *ldaddr)
{
- MonoInst *var = ldaddr->inst_p0;
+ MonoInst *var = (MonoInst *)ldaddr->inst_p0;
MonoType *type = &var->klass->byval_arg;
int replaced_op = mono_type_to_store_membase (cfg, type);
static gboolean
lower_store_imm (MonoCompile *cfg, MonoInst *store, MonoInst *ldaddr)
{
- MonoInst *var = ldaddr->inst_p0;
+ MonoInst *var = (MonoInst *)ldaddr->inst_p0;
MonoType *type = &var->klass->byval_arg;
int store_op = mono_type_to_store_membase (cfg, type);
if (store_op == OP_STOREV_MEMBASE || store_op == OP_STOREX_MEMBASE)
case OP_LOADR8_MEMBASE:
if (ins->inst_offset != 0)
continue;
- tmp = g_hash_table_lookup (addr_loads, GINT_TO_POINTER (ins->sreg1));
+ tmp = (MonoInst *)g_hash_table_lookup (addr_loads, GINT_TO_POINTER (ins->sreg1));
if (tmp) {
if (cfg->verbose_level > 2) { printf ("Found candidate load:"); mono_print_ins (ins); }
if (lower_load (cfg, ins, tmp)) {
case OP_STOREV_MEMBASE:
if (ins->inst_offset != 0)
continue;
- tmp = g_hash_table_lookup (addr_loads, GINT_TO_POINTER (ins->dreg));
+ tmp = (MonoInst *)g_hash_table_lookup (addr_loads, GINT_TO_POINTER (ins->dreg));
if (tmp) {
if (cfg->verbose_level > 2) { printf ("Found candidate store:"); mono_print_ins (ins); }
if (lower_store (cfg, ins, tmp)) {
case OP_STOREI8_MEMBASE_IMM:
if (ins->inst_offset != 0)
continue;
- tmp = g_hash_table_lookup (addr_loads, GINT_TO_POINTER (ins->dreg));
+ tmp = (MonoInst *)g_hash_table_lookup (addr_loads, GINT_TO_POINTER (ins->dreg));
if (tmp) {
if (cfg->verbose_level > 2) { printf ("Found candidate store-imm:"); mono_print_ins (ins); }
needs_dce |= lower_store_imm (cfg, ins, tmp);
break;
case OP_CHECK_THIS:
case OP_NOT_NULL:
- tmp = g_hash_table_lookup (addr_loads, GINT_TO_POINTER (ins->sreg1));
+ tmp = (MonoInst *)g_hash_table_lookup (addr_loads, GINT_TO_POINTER (ins->sreg1));
if (tmp) {
if (cfg->verbose_level > 2) { printf ("Found null check over local: "); mono_print_ins (ins); }
NULLIFY_INS (ins);