/*ARGSUSED*/ static void dis_pushts(const dtrace_difo_t *dp, const char *name, dif_instr_t instr) { static const char *const tnames[] = { "TYPE_CTF", "TYPE_STRING" }; uint_t type = DIF_INSTR_TYPE(instr); mdb_printf("%-4s DIF_TYPE(%u), %%r%u, %%r%u", name, type, DIF_INSTR_R2(instr), DIF_INSTR_RS(instr)); if (type < sizeof (tnames) / sizeof (tnames[0])) mdb_printf("\t\t! %s", tnames[type]); }
/*ARGSUSED*/ static void dt_dis_pushts(const dtrace_difo_t *dp, const char *name, dif_instr_t in, FILE *fp) { static const char *const tnames[] = { "D type", "string" }; uint_t type = DIF_INSTR_TYPE(in); (void) fprintf(fp, "%-4s DT_TYPE(%u), %%r%u, %%r%u", name, type, DIF_INSTR_R2(in), DIF_INSTR_RS(in)); if (type < sizeof (tnames) / sizeof (tnames[0])) (void) fprintf(fp, "\t! DT_TYPE(%u) = %s", type, tnames[type]); }