From cc20356cd718ddfa1a1fe3af900dc95911f48f01 Mon Sep 17 00:00:00 2001 From: cacao Date: Tue, 6 Oct 1998 20:33:24 +0000 Subject: [PATCH] new disassembler options added --- compiler.h | 2 ++ main.c | 2 ++ newcomp.c | 12 +++++++----- src/cacao/cacao.c | 2 ++ 4 files changed, 13 insertions(+), 5 deletions(-) diff --git a/compiler.h b/compiler.h index c9e0e4aa6..86c8f6d5e 100644 --- a/compiler.h +++ b/compiler.h @@ -1,3 +1,4 @@ +/* -*- mode: c; tab-width: 4; c-basic-offset: 4 -*- */ /****************************** compiler.h ************************************* Copyright (c) 1997 A. Krall, R. Grafl, M. Gschwind, M. Probst @@ -21,6 +22,7 @@ extern bool compileverbose; extern bool showstack; extern bool showdisassemble; +extern bool showddatasegment; extern bool showintermediate; extern int optimizelevel; diff --git a/main.c b/main.c index d91cfc830..d84330c0e 100644 --- a/main.c +++ b/main.c @@ -1,3 +1,4 @@ +/* -*- mode: c; tab-width: 4; c-basic-offset: 4 -*- */ /******************************* main.c **************************************** Copyright (c) 1997 A. Krall, R. Grafl, M. Gschwind, M. Probst @@ -183,6 +184,7 @@ static void print_usage() printf (" -s(how)m(ethods) ..... show all methods&fields of a class\n"); printf (" c(onstants) ... show the constant pool\n"); printf (" a(ssembler) ... show disassembled listing\n"); + printf (" d(atasegment).. show data segment listing\n"); printf (" s(tack) ....... show stack for every javaVM-command\n"); printf (" i(ntermediate). show intermediate representation\n"); printf (" u(nicode) ..... show the unicode - hash\n"); diff --git a/newcomp.c b/newcomp.c index dad147620..eeeb1d6d2 100644 --- a/newcomp.c +++ b/newcomp.c @@ -1,3 +1,4 @@ +/* -*- mode: c; tab-width: 4; c-basic-offset: 4 -*- */ /***************************** ncomp/ncomp.c *********************************** Copyright (c) 1997 A. Krall, R. Grafl, M. Gschwind, M. Probst @@ -33,6 +34,7 @@ bool compileverbose = false; bool showstack = false; bool showdisassemble = false; +bool showddatasegment = false; bool showintermediate = false; int optimizelevel = 0; @@ -150,11 +152,11 @@ static chain *uninitializedclasses; #include "sysdep/ngen.h" /* code generator header file */ #include "ncomp/ntools.c" /* compiler tool functions */ #include "ncomp/mcode.c" /* code generation tool functions */ +#include "sysdep/disass.c" /* disassembler (for debug purposes only) */ #include "ncomp/nparse.c" /* parsing of JavaVM code */ #include "ncomp/nreg.c" /* register allocation and support routines */ #include "ncomp/nstack.c" /* analysing the stack operations */ #include "sysdep/ngen.c" /* code generator */ -#include "sysdep/disass.c" /* disassembler (for debug purposes only) */ @@ -284,12 +286,12 @@ methodptr new_compile(methodinfo *m) if (showintermediate) show_icmd_method(); + else if (showdisassemble) + disassemble((void*) (m->mcode + dseglen), m->mcodelength - dseglen); - if (showdisassemble) { + if (showddatasegment) dseg_display((void*) (m->mcode)); - disassemble((void*) (m->mcode + dseglen), m->mcodelength - dseglen); - fflush(stdout); - } + /* release dump area */ diff --git a/src/cacao/cacao.c b/src/cacao/cacao.c index d91cfc830..d84330c0e 100644 --- a/src/cacao/cacao.c +++ b/src/cacao/cacao.c @@ -1,3 +1,4 @@ +/* -*- mode: c; tab-width: 4; c-basic-offset: 4 -*- */ /******************************* main.c **************************************** Copyright (c) 1997 A. Krall, R. Grafl, M. Gschwind, M. Probst @@ -183,6 +184,7 @@ static void print_usage() printf (" -s(how)m(ethods) ..... show all methods&fields of a class\n"); printf (" c(onstants) ... show the constant pool\n"); printf (" a(ssembler) ... show disassembled listing\n"); + printf (" d(atasegment).. show data segment listing\n"); printf (" s(tack) ....... show stack for every javaVM-command\n"); printf (" i(ntermediate). show intermediate representation\n"); printf (" u(nicode) ..... show the unicode - hash\n"); -- 2.25.1