X-Git-Url: http://wien.tomnetworks.com/gitweb/?a=blobdiff_plain;f=mono%2Fmini%2Flinear-scan.c;h=d778ab5fc73f700a880ab4f65618a59172e62a66;hb=1a4e073bafdcd9b79ab9f6217730b083d0c52302;hp=1e5a3429f500f4e85de47fe3d09c08cb54cff4ff;hpb=8efe5cab3eab18bef5ac682dc66904c4da1f7b9b;p=mono.git diff --git a/mono/mini/linear-scan.c b/mono/mini/linear-scan.c index 1e5a3429f50..d778ab5fc73 100644 --- a/mono/mini/linear-scan.c +++ b/mono/mini/linear-scan.c @@ -10,6 +10,8 @@ #include "mini.h" #include +#ifndef DISABLE_JIT + static void mono_linear_scan2 (MonoCompile *cfg, GList *vars, GList *regs, regmask_t *used_mask); GList * @@ -78,7 +80,7 @@ mono_linear_scan (MonoCompile *cfg, GList *vars, GList *regs, regmask_t *used_ma 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; } @@ -202,10 +204,7 @@ mono_linear_scan (MonoCompile *cfg, GList *vars, GList *regs, regmask_t *used_ma 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; @@ -223,7 +222,7 @@ mono_linear_scan (MonoCompile *cfg, GList *vars, GList *regs, regmask_t *used_ma } } - mono_jit_stats.regvars += n_regvars; + cfg->stat_n_regvars = n_regvars; /* Compute used regs */ used_regs = 0; @@ -494,7 +493,7 @@ mono_linear_scan2 (MonoCompile *cfg, GList *vars, GList *regs, regmask_t *used_m } } - mono_jit_stats.regvars += n_regvars; + cfg->stat_n_regvars = n_regvars; /* Compute used regs */ used_regs = 0; @@ -510,3 +509,5 @@ mono_linear_scan2 (MonoCompile *cfg, GList *vars, GList *regs, regmask_t *used_m g_list_free (active); g_list_free (inactive); } + +#endif /* #ifndef DISABLE_JIT */