X-Git-Url: http://wien.tomnetworks.com/gitweb/?a=blobdiff_plain;f=src%2Fvm%2Foptions.h;h=373c613acfcc4c8fb2bc3701cd032fdfca9affa7;hb=1e162837cea0a838d3f857fd23a29544a2eabf74;hp=65b43eb2bf518fa2cbd2af3c3be5f6b335048faa;hpb=d75b6037acf17c342166b9c9bd6e657dfdd12cd9;p=cacao.git diff --git a/src/vm/options.h b/src/vm/options.h index 65b43eb2b..373c613ac 100644 --- a/src/vm/options.h +++ b/src/vm/options.h @@ -1,9 +1,9 @@ -/* vm/options.h - define global options extern +/* src/vm/options.h - define global options extern - Copyright (C) 1996-2005 R. Grafl, A. Krall, C. Kruegel, C. Oates, - R. Obermaisser, M. Platter, M. Probst, S. Ring, E. Steiner, - C. Thalinger, D. Thuernbeck, P. Tomsich, C. Ullrich, J. Wenninger, - Institut f. Computersprachen - TU Wien + Copyright (C) 1996-2005, 2006 R. Grafl, A. Krall, C. Kruegel, + C. Oates, R. Obermaisser, M. Platter, M. Probst, S. Ring, + E. Steiner, C. Thalinger, D. Thuernbeck, P. Tomsich, C. Ullrich, + J. Wenninger, Institut f. Computersprachen - TU Wien This file is part of CACAO. @@ -19,14 +19,16 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA - 02111-1307, USA. + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA + 02110-1301, USA. - Contact: cacao@complang.tuwien.ac.at + Contact: cacao@cacaojvm.org Authors: Christian Thalinger - $Id: options.h 1735 2004-12-07 14:33:27Z twisti $ + Changes: + + $Id: options.h 4942 2006-05-23 08:42:46Z twisti $ */ @@ -35,14 +37,20 @@ #define _OPTIONS_H +#include "config.h" +#include "vm/types.h" + +#include "native/jni.h" #include "vm/global.h" /* reserved option numbers ****************************************************/ +/* define these negative since the other options are an enum */ + #define OPT_DONE -1 -#define OPT_ERROR 0 -#define OPT_IGNORE 1 +#define OPT_ERROR -2 +#define OPT_IGNORE -3 typedef struct opt_struct opt_struct; @@ -56,35 +64,47 @@ struct opt_struct { /* global variables ***********************************************************/ +extern s4 opt_index; +extern char *opt_arg; + +extern bool opt_jit; +extern bool opt_intrp; + +extern bool opt_jar; +extern bool opt_run; + +extern s4 opt_heapmaxsize; +extern s4 opt_heapstartsize; +extern s4 opt_stacksize; + extern bool opt_verbose; extern bool compileall; -extern bool runverbose; -extern bool verboseexception; -extern bool collectverbose; extern bool loadverbose; /* Print debug messages during loading */ extern bool linkverbose; extern bool initverbose; /* Log class initialization */ -extern bool opt_rt; -extern bool opt_xta; -extern bool opt_vta; - -extern bool opt_liberalutf; /* Don't check overlong UTF-8 sequences */ +extern bool opt_verboseclass; +extern bool opt_verbosegc; +extern bool opt_verbosejni; +extern bool opt_verbosecall; +extern bool opt_verboseexception; extern bool showmethods; extern bool showconstantpool; extern bool showutf; +extern char *opt_method; +extern char *opt_signature; + extern bool compileverbose; extern bool showstack; -extern bool showdisassemble; -extern bool showddatasegment; -extern bool showintermediate; +extern bool opt_showdisassemble; +extern bool opt_showddatasegment; +extern bool opt_showintermediate; +extern bool opt_showexceptionstubs; +extern bool opt_shownativestub; -/*#undef INAFTERMAIN*/ /*use to inline system methods before main is called*/ -#define INAFTERMAIN T /*use to turn off inlining before main called */ -extern bool useinliningm; extern bool useinlining; extern bool inlinevirtuals; extern bool inlineexceptions; @@ -95,34 +115,53 @@ extern bool checkbounds; extern bool checknull; extern bool opt_noieee; extern bool checksync; +#if defined(ENABLE_LOOP) extern bool opt_loops; +#endif extern bool makeinitializations; -extern bool getloadingtime; -extern s8 loadingtime; - -extern bool getcompilingtime; -extern s8 compilingtime; - -extern int has_ext_instr_set; - +#if defined(ENABLE_STATISTICS) extern bool opt_stat; +extern bool opt_getloadingtime; +extern bool opt_getcompilingtime; +#endif +#if defined(ENABLE_VERIFIER) extern bool opt_verify; +#endif extern bool opt_eager; -#ifdef LSRA +extern bool opt_prof; +extern bool opt_prof_bb; + + +/* optimization options *******************************************************/ + +#if defined(ENABLE_IFCONV) +extern bool opt_ifconv; +#endif + +#if defined(ENABLE_LSRA) extern bool opt_lsra; #endif -extern int opt_ind; -extern char *opt_arg; +/* interpreter options ********************************************************/ + +#if defined(ENABLE_INTRP) +extern bool opt_no_dynamic; +extern bool opt_no_replication; +extern bool opt_no_quicksuper; + +extern s4 opt_static_supers; +extern bool vm_debug; +#endif -/* function prototypes ********************************************************/ -int get_opt(int argc, char **argv, opt_struct *opts); +/* function prototypes ********************************************************/ +s4 options_get(opt_struct *opts, JavaVMInitArgs *vm_args); +JavaVMInitArgs *options_prepare(int argc, char **argv); #endif /* _OPTIONS_H */