* Dietmar Maurer (dietmar@ximian.com)
*
* (C) 2002-2003 Ximian, Inc.
- * (C) 2003-2004 Novell, Inc.
+ * (C) 2003-2006 Novell, Inc.
*/
#include <config.h>
static void mini_usage (void);
+extern int mini_wapi_hps (int argc, char **argv);
+extern int mini_wapi_semdel (int argc, char **argv);
+extern int mini_wapi_seminfo (int argc, char **argv);
+
/* This turns off command line globbing under win32 */
#ifdef PLATFORM_WIN32
int _CRT_glob = 0;
#define DEFAULT_OPTIMIZATIONS ( \
MONO_OPT_PEEPHOLE | \
MONO_OPT_CFOLD | \
- MONO_OPT_INLINE | \
- MONO_OPT_CONSPROP | \
- MONO_OPT_COPYPROP | \
- MONO_OPT_TREEPROP | \
- MONO_OPT_DEADCE | \
+ MONO_OPT_INLINE | \
+ MONO_OPT_CONSPROP | \
+ MONO_OPT_COPYPROP | \
+ MONO_OPT_TREEPROP | \
+ MONO_OPT_DEADCE | \
MONO_OPT_BRANCH | \
MONO_OPT_LINEARS | \
MONO_OPT_INTRINS | \
}
method = mono_get_method (image, entry, NULL);
-
+ if (method == NULL){
+ g_print ("The entry point method could not be loaded\n");
+ mono_environment_exitcode_set (1);
+ return 1;
+ }
+
return mono_runtime_run_main (method, argc, argv, NULL);
}
" --regression Runs the regression test contained in the assembly\n"
" --statfile FILE Sets the stat file to FILE\n"
" --stats Print statistics about the JIT operations\n"
+ " --wapi=hps|semdel IO-layer maintenance\n"
"\n"
"Other options:\n"
" --graph[=TYPE] METHOD Draws a graph of the specified method:\n");
#else
"\tTLS: normal\n"
#endif /* HAVE_KW_THREAD */
-#ifdef HAVE_BOEHM_GC
-#ifdef USE_INCLUDED_LIBGC
- "\tGC: Included Boehm (with typed GC)\n"
-#else
-#if HAVE_GC_GCJ_MALLOC
- "\tGC: System Boehm (with typed GC)\n"
-#else
- "\tGC: System Boehm (no typed GC available)\n"
-#endif
-#endif
-#else
- "\tGC: none\n"
-#endif /* HAVE_BOEHM_GC */
+ "\tGC: " USED_GC_NAME "\n"
#ifdef MONO_ARCH_SIGSEGV_ON_ALTSTACK
"\tSIGSEGV: altstack\n"
#else
} else if (strcmp (argv [i], "--verbose") == 0 || strcmp (argv [i], "-v") == 0) {
mini_verbose++;
} else if (strcmp (argv [i], "--version") == 0 || strcmp (argv [i], "-V") == 0) {
- g_print ("Mono JIT compiler version %s, (C) 2002-2005 Novell, Inc and Contributors. www.mono-project.com\n", VERSION);
+ g_print ("Mono JIT compiler version %s, (C) 2002-2006 Novell, Inc and Contributors. www.mono-project.com\n", VERSION);
g_print (info);
if (mini_verbose) {
const char *cerror;
/* Put server-specific optimizations here */
} else if (strcmp (argv [i], "--inside-mdb") == 0) {
action = DO_DEBUGGER;
+ } else if (strncmp (argv [i], "--wapi=", 7) == 0) {
+ if (strcmp (argv [i] + 7, "hps") == 0) {
+ return mini_wapi_hps (argc - i, argv + i);
+ } else if (strcmp (argv [i] + 7, "semdel") == 0) {
+ return mini_wapi_semdel (argc - i, argv + i);
+ } else if (strcmp (argv [i] + 7, "seminfo") == 0) {
+ return mini_wapi_seminfo (argc - i, argv + i);
+ } else {
+ fprintf (stderr, "Invalid --wapi suboption: '%s'\n", argv [i]);
+ return 1;
+ }
} else {
fprintf (stderr, "Unknown command line option: '%s'\n", argv [i]);
return 1;
return 1;
}
+ if ((action == DO_EXEC) && g_getenv ("MONO_INSIDE_MDB"))
+ action = DO_DEBUGGER;
+
if (mono_compile_aot || action == DO_EXEC || action == DO_DEBUGGER) {
g_set_prgname (argv[i]);
}
if (action == DO_DEBUGGER) {
opt |= MONO_OPT_SHARED;
+ opt &= ~MONO_OPT_INLINE;
+ opt &= ~MONO_OPT_COPYPROP;
+ opt &= ~MONO_OPT_CONSPROP;
enable_debugging = TRUE;
#ifdef MONO_DEBUGGER_SUPPORTED
exit (1);
}
- mono_debugger_main (domain, assembly, argc, argv);
+ mono_debugger_main (domain, assembly, argc - i, argv + i);
mini_cleanup (domain);
return 0;
#else