-/* src/vm/options.h - define global options extern
+/* src/vmcore/options.h - define global options extern
- Copyright (C) 1996-2005, 2006 R. Grafl, A. Krall, C. Kruegel,
+ Copyright (C) 1996-2005, 2006, 2007 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
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
02110-1301, USA.
- Contact: cacao@cacaojvm.org
-
- Authors: Christian Thalinger
-
- Changes:
-
- $Id: options.h 7246 2007-01-29 18:49:05Z twisti $
-
*/
#include "config.h"
+
+#include <stdint.h>
+
#include "vm/types.h"
#include "native/jni.h"
+
#include "vm/global.h"
};
+typedef struct option_t option_t;
+
+struct option_t {
+ char *name;
+ int value;
+ int type;
+ char *doc;
+};
+
+
/* global variables ***********************************************************/
extern s4 opt_index;
extern bool opt_verbosegc;
extern bool opt_verbosejni;
extern bool opt_verbosecall;
-extern bool opt_verboseexception;
+extern bool opt_verbosethreads;
extern bool showmethods;
extern bool showconstantpool;
extern bool opt_showddatasegment;
extern bool opt_showintermediate;
extern bool opt_showexceptionstubs;
-extern bool opt_shownativestub;
-
-extern bool useinlining;
-extern bool inlinevirtuals;
-extern bool inlineexceptions;
-extern bool inlineparamopt;
-extern bool inlineoutsiders;
extern bool checkbounds;
-extern bool checknull;
extern bool opt_noieee;
extern bool checksync;
#if defined(ENABLE_LOOP)
#if defined(ENABLE_VERIFIER)
extern bool opt_verify;
#endif
-extern bool opt_eager;
#if defined(ENABLE_PROFILING)
extern bool opt_prof;
extern bool opt_prof_bb;
#endif
+/* inlining options ***********************************************************/
+
+#if defined(ENABLE_INLINING)
+extern bool opt_inlining;
+#if defined(ENABLE_INLINING_DEBUG) || !defined(NDEBUG)
+extern s4 opt_inline_debug_min_size;
+extern s4 opt_inline_debug_max_size;
+extern s4 opt_inline_debug_end_counter;
+extern bool opt_inline_debug_all;
+#endif /* defined(ENABLE_INLINING_DEBUG) || !defined(NDEBUG) */
+#if !defined(NDEBUG)
+extern bool opt_inline_debug_log;
+#endif /* !defined(NDEBUG) */
+#endif /* defined(ENABLE_INLINING) */
+
/* optimization options *******************************************************/
extern bool vm_debug;
#endif
+/* debug output filtering options *********************************************/
+
+#if defined(ENABLE_DEBUG_FILTER)
+extern const char *opt_filter_verbosecall_include;
+extern const char *opt_filter_verbosecall_exclude;
+extern const char *opt_filter_show_method;
+#endif
+
+
+/* -XX options ****************************************************************/
+
+/* NOTE: For better readability keep these alpha-sorted. */
+
+extern int32_t opt_DebugStackFrameInfo;
+extern int32_t opt_DebugStackTrace;
+#if defined(ENABLE_DISASSEMBLER)
+extern int opt_DisassembleStubs;
+#endif
+#if defined(ENABLE_GC_CACAO)
+extern int32_t opt_GCDebugRootSet;
+extern int32_t opt_GCStress;
+#endif
+extern int32_t opt_MaxPermSize;
+extern int32_t opt_PermSize;
+extern int opt_PrintConfig;
+extern int32_t opt_ProfileGCMemoryUsage;
+extern int32_t opt_ProfileMemoryUsage;
+extern FILE *opt_ProfileMemoryUsageGNUPlot;
+extern int32_t opt_ThreadStackSize;
+extern int32_t opt_TraceExceptions;
+extern int32_t opt_TraceJavaCalls;
+extern int32_t opt_TraceJNICalls;
+extern int32_t opt_TraceJVMCalls;
+#if defined(ENABLE_REPLACEMENT)
+extern int32_t opt_TraceReplacement;
+#endif
+
/* function prototypes ********************************************************/
-s4 options_get(opt_struct *opts, JavaVMInitArgs *vm_args);
+s4 options_get(opt_struct *opts, JavaVMInitArgs *vm_args);
+void options_xx(const char *name);
#endif /* _OPTIONS_H */