Changes: Christian Thalinger
Anton Ertl
-
- $Id: disass.c 4357 2006-01-22 23:33:38Z twisti $
+ Edwin Steiner
*/
u1 *intrp_disassinstr(u1 *code)
{
- return (u1 *) vm_disassemble_inst((Inst *) code, vm_prim);
+ FILE *savedout;
+ u1 *r;
+
+ savedout = vm_out;
+ vm_out = stdout;
+ r = (u1 *) vm_disassemble_inst((Inst *) code, vm_prim);
+ vm_out = savedout;
+
+ return r;
}
void intrp_disassemble(u1 *start, u1 *end)
{
+ FILE *savedout;
+
printf(" --- disassembler listing ---\n");
+ savedout = vm_out;
+ vm_out = stdout;
vm_disassemble((Inst *) start, (Inst *) end, vm_prim);
+ vm_out = savedout;
}
void printarg_aClass (classinfo * aClass )
{
if (aClass)
- utf_fprint_classname(vm_out, aClass->name);
+ utf_fprint_printable_ascii_classname(vm_out, aClass->name);
else
fprintf(vm_out, "NULL");
}
fprintf(vm_out, "f: %p", (void *)af);
}
+void printarg_afi (fieldinfo * afi )
+{
+ if (afi) {
+ utf_fprint_printable_ascii_classname(vm_out, afi->class->name);
+ fprintf(vm_out, ".");
+ utf_fprint_printable_ascii(vm_out, afi->name);
+ utf_fprint_printable_ascii(vm_out, afi->descriptor);
+ } else
+ fprintf(vm_out, "fi=NULL");
+}
+
void printarg_am (methodinfo * am )
{
if (am) {
- utf_fprint_classname(vm_out, am->class->name);
+ utf_fprint_printable_ascii_classname(vm_out, am->class->name);
fprintf(vm_out, ".");
- utf_fprint(vm_out, am->name);
- utf_fprint(vm_out, am->descriptor);
+ utf_fprint_printable_ascii(vm_out, am->name);
+ utf_fprint_printable_ascii(vm_out, am->descriptor);
} else
fprintf(vm_out, "m=NULL");
}
void printarg_auf (unresolved_field * auf )
{
if (auf) {
- utf_fprint(vm_out, auf->fieldref->name);
+ utf_fprint_printable_ascii(vm_out, auf->fieldref->name);
fprintf(vm_out, " (type ");
- utf_fprint(vm_out, auf->fieldref->descriptor);
+ utf_fprint_printable_ascii(vm_out, auf->fieldref->descriptor);
fprintf(vm_out, ")");
} else
fprintf(vm_out, "NULL");
void printarg_aum (unresolved_method *aum )
{
if (aum) {
- utf_fprint_classname(vm_out, aum->methodref->classref->name);
+ utf_fprint_printable_ascii_classname(vm_out, METHODREF_CLASSNAME(aum->methodref));
fprintf(vm_out, ".");
- utf_fprint(vm_out, aum->methodref->name);
- utf_fprint(vm_out, aum->methodref->descriptor);
+ utf_fprint_printable_ascii(vm_out, aum->methodref->name);
+ utf_fprint_printable_ascii(vm_out, aum->methodref->descriptor);
} else
fprintf(vm_out, "NULL");
}
{
if (avftbl) {
fprintf(vm_out, "vftbl: ");
- utf_fprint_classname(vm_out, avftbl->class->name);
+ utf_fprint_printable_ascii_classname(vm_out, avftbl->class->name);
} else
fprintf(vm_out, "NULL");
}
* c-basic-offset: 4
* tab-width: 4
* End:
+ * vim:noexpandtab:sw=4:ts=4:
*/