* Updated header: Added 2006. Changed address of FSF. Changed email
[cacao.git] / src / vm / options.c
index 1f08ea637217b12a12d7d5faefd8cf7a087236b8..7c9ff82a8012e894e2a0f5f150a844190938399d 100644 (file)
@@ -1,9 +1,9 @@
-/* options.c - contains global options
+/* src/vm/options.c - contains global options
 
-   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.
 
 
    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.c 2950 2005-07-09 13:37:29Z twisti $
+   Changes:
+
+   $Id: options.c 4357 2006-01-22 23:33:38Z twisti $
 
 */
 
 
 #include <string.h>
-#include "options.h"
-#include "types.h"
 
+#include "config.h"
+#include "vm/types.h"
+
+#include "vm/options.h"
+
+
+/* command line option ********************************************************/
+
+s4   opt_ind = 1;               /* index of processed arguments               */
+char *opt_arg;                  /* this one exports the option argument       */
+
+#if defined(ENABLE_JIT)
+bool opt_jit = true;            /* JIT mode execution (default)               */
+bool opt_intrp = false;         /* interpreter mode execution                 */
+#else
+bool opt_jit = false;           /* JIT mode execution                         */
+bool opt_intrp = true;          /* interpreter mode execution (default)       */
+#endif
 
-/* command line option */
+s4   opt_stacksize = 0;         /* thread stack size                          */
 
 bool opt_verbose = false;
 bool compileall = false;
-bool runverbose = false;       /* trace all method invocation                */
-bool verboseexception = false;
+bool runverbose = false;        /* trace all method invocation                */
+bool opt_verboseexception = false;
 
 bool loadverbose = false;
 bool linkverbose = false;
 bool initverbose = false;
+
+bool opt_verboseclass = false;
 bool opt_verbosegc = false;
 bool opt_verbosejni = false;
 
@@ -67,7 +87,6 @@ bool opt_showintermediate = false;      /* generate intermediate code listing */
 bool opt_showexceptionstubs = false;
 bool opt_shownativestub = false;
 
-bool useinliningm = false;      /* use method inlining                        */
 bool useinlining = false;      /* use method inlining                        */
 bool inlinevirtuals = false;   /* inline unique virtual methods              */
 bool inlineexceptions = false; /* inline methods, that contain excptions     */
@@ -90,11 +109,23 @@ int has_ext_instr_set = 0;     /* has instruction set extensions */
 bool opt_stat = false;
 bool opt_verify = true;        /* true if classfiles should be verified      */
 bool opt_eager = false;
-#ifdef LSRA
+
+#if defined(ENABLE_LSRA)
 bool opt_lsra = false;
 #endif
-int opt_ind = 1;               /* index of processed arguments               */
-char *opt_arg;                 /* this one exports the option argument       */
+
+
+/* interpreter options ********************************************************/
+
+#if defined(ENABLE_INTRP)
+bool opt_no_dynamic = false;            /* suppress dynamic superinstructions */
+bool opt_no_replication = false;        /* don't use replication in intrp     */
+bool opt_no_quicksuper = false;         /* instructions for quickening cannot be
+                                                                                  part of dynamic superinstructions */
+
+s4   opt_static_supers = 0x7fffffff;
+bool vm_debug = false;          /* XXX this should be called `opt_trace'      */
+#endif
 
 
 /* get_opt *********************************************************************