* Removed all Id tags.
[cacao.git] / src / vmcore / options.h
index 167570aecf054da9ff43109ceef50c07492dd288..6e9b7b4a99c6686268ddb7de09c99f0809c311a5 100644 (file)
@@ -22,8 +22,6 @@
    Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
    02110-1301, USA.
 
-   $Id: options.h 7338 2007-02-13 00:17:22Z twisti $
-
 */
 
 
@@ -32,6 +30,9 @@
 
 
 #include "config.h"
+
+#include <stdint.h>
+
 #include "vm/types.h"
 
 #include "native/jni.h"
@@ -57,6 +58,16 @@ struct opt_struct {
 };
 
 
+typedef struct option_t option_t;
+
+struct option_t {
+       char *name;
+       int   value;
+       int   type;
+       char *doc;
+};
+
+
 /* global variables ***********************************************************/
 
 extern s4    opt_index;
@@ -86,8 +97,7 @@ extern bool opt_verboseclass;
 extern bool opt_verbosegc;
 extern bool opt_verbosejni;
 extern bool opt_verbosecall;
-extern bool opt_verboseexception;
-extern bool opt_verbosememory;
+extern bool opt_verbosethreads;
 
 extern bool showmethods;
 extern bool showconstantpool;
@@ -106,14 +116,7 @@ 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)
@@ -130,13 +133,27 @@ extern bool opt_getcompilingtime;
 #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 *******************************************************/
 
@@ -160,10 +177,41 @@ extern s4   opt_static_supers;
 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;
+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 */