X-Git-Url: http://wien.tomnetworks.com/gitweb/?a=blobdiff_plain;f=mono%2Fmini%2Fmini-codegen.c;h=4fde10b791fabbd369962c611d37f097cb6000d4;hb=f03a1b538bfb0d9be810688e8713731e122320b5;hp=a9c134cc4fe06b02f75e27763b679837622ad35d;hpb=f2a67e6fc746c9c98f57d211f47c342bb1442f17;p=mono.git diff --git a/mono/mini/mini-codegen.c b/mono/mini/mini-codegen.c index a9c134cc4fe..4fde10b791f 100644 --- a/mono/mini/mini-codegen.c +++ b/mono/mini/mini-codegen.c @@ -650,6 +650,19 @@ mono_print_ins_index (int i, MonoInst *ins) list = g_slist_next (list); } + list = call->out_freg_args; + while (list) { + guint32 regpair; + int reg, hreg; + + regpair = (guint32)(gssize)(list->data); + hreg = regpair >> 24; + reg = regpair & 0xffffff; + + printf (" [%s <- R%d]", mono_arch_fregname (hreg), reg); + + list = g_slist_next (list); + } break; } case OP_BR: @@ -689,7 +702,7 @@ mono_print_ins_index (int i, MonoInst *ins) break; case OP_IL_SEQ_POINT: case OP_SEQ_POINT: - printf (" il: %x", (int)ins->inst_imm); + printf (" il: 0x%x%s", (int)ins->inst_imm, ins->flags & MONO_INST_NONEMPTY_STACK ? ", nonempty-stack" : ""); break; default: break; @@ -2760,4 +2773,23 @@ mini_type_is_hfa (MonoType *t, int *out_nfields, int *out_esize) return TRUE; } +MonoRegState* +mono_regstate_new (void) +{ + MonoRegState* rs = g_new0 (MonoRegState, 1); + + rs->next_vreg = MAX (MONO_MAX_IREGS, MONO_MAX_FREGS); +#ifdef MONO_ARCH_NEED_SIMD_BANK + rs->next_vreg = MAX (rs->next_vreg, MONO_MAX_XREGS); +#endif + + return rs; +} + +void +mono_regstate_free (MonoRegState *rs) { + g_free (rs->vassign); + g_free (rs); +} + #endif /* DISABLE_JIT */