#include "mini.h"
#include <mono/metadata/debug-helpers.h>
+#ifndef DISABLE_JIT
+
static void mono_linear_scan2 (MonoCompile *cfg, GList *vars, GList *regs, regmask_t *used_mask);
GList *
regmask_t used_regs = 0;
gboolean cost_driven;
- if (vars && (((MonoMethodVar*)vars->data)->interval != NULL)) {
+ if (!cfg->disable_reuse_registers && vars && (((MonoMethodVar*)vars->data)->interval != NULL)) {
mono_linear_scan2 (cfg, vars, regs, used_mask);
return;
}
if (vmv->reg >= 0) {
if ((gains [vmv->reg] > mono_arch_regalloc_cost (cfg, vmv)) && (cfg->varinfo [vmv->idx]->opcode != OP_REGVAR)) {
if (cfg->verbose_level > 2) {
- if (cfg->new_ir)
- printf ("ALLOCATED R%d(%d) TO HREG %d COST %d\n", cfg->varinfo [vmv->idx]->dreg, vmv->idx, vmv->reg, vmv->spill_costs);
- else
- printf ("REGVAR %d C%d R%d\n", vmv->idx, vmv->spill_costs, vmv->reg);
+ printf ("ALLOCATED R%d(%d) TO HREG %d COST %d\n", cfg->varinfo [vmv->idx]->dreg, vmv->idx, vmv->reg, vmv->spill_costs);
}
cfg->varinfo [vmv->idx]->opcode = OP_REGVAR;
cfg->varinfo [vmv->idx]->dreg = vmv->reg;
}
}
- mono_jit_stats.regvars += n_regvars;
+ cfg->stat_n_regvars = n_regvars;
/* Compute used regs */
used_regs = 0;
}
}
- mono_jit_stats.regvars += n_regvars;
+ cfg->stat_n_regvars = n_regvars;
/* Compute used regs */
used_regs = 0;
g_list_free (active);
g_list_free (inactive);
}
+
+#endif /* #ifndef DISABLE_JIT */