MONO_OPT_SIMD | \
MONO_OPT_AOT)
-#define EXCLUDED_FROM_ALL (MONO_OPT_SHARED | MONO_OPT_PRECOMP | MONO_OPT_UNSAFE)
+#define EXCLUDED_FROM_ALL (MONO_OPT_SHARED | MONO_OPT_PRECOMP | MONO_OPT_UNSAFE | MONO_OPT_GSHAREDVT)
static guint32
parse_optimizations (const char* p)
int i, invert, len;
/* call out to cpu detection code here that sets the defaults ... */
- opt |= mono_arch_cpu_optimizazions (&exclude);
+ opt |= mono_arch_cpu_optimizations (&exclude);
opt &= ~exclude;
if (!p)
return opt;
MonoDomain *domain = mono_domain_get ();
guint32 exclude = 0;
- mono_arch_cpu_optimizazions (&exclude);
+ mono_arch_cpu_optimizations (&exclude);
if (mini_stats_fd) {
fprintf (mini_stats_fd, "$stattitle = \'Mono Benchmark Results (various optimizations)\';\n");
" none No assemblies\n"
" program Entry point assembly\n"
" assembly Specifies an assembly\n"
+ " wrapper All wrappers bridging native and managed code\n"
" M:Type:Method Specifies a method\n"
" N:Namespace Specifies a namespace\n"
" T:Type Specifies a type\n"
+ " E:Type Specifies stack traces for an exception type\n"
" EXPR Includes expression\n"
" -EXPR Excludes expression\n"
" EXPR,EXPR Multiple expressions\n"
if (!mono_debugger_insert_breakpoint (argv [++i], FALSE))
fprintf (stderr, "Error: invalid method name '%s'\n", argv [i]);
+ } else if (strcmp (argv [i], "--llvm") == 0) {
+#ifndef MONO_ARCH_LLVM_SUPPORTED
+ fprintf (stderr, "Mono Warning: --llvm not supported on this platform.\n");
+#else
+ mono_use_llvm = TRUE;
+#endif
} else {
fprintf (stderr, "Unsupported command line option: '%s'\n", argv [i]);
exit (1);
#ifdef HOST_WIN32
int mixed_mode = FALSE;
#endif
+#ifdef __native_client__
+ gboolean nacl_null_checks_off = FALSE;
+#endif
#ifdef MOONLIGHT
#ifndef HOST_WIN32
if (!g_thread_supported ())
g_thread_init (NULL);
- if (mono_running_on_valgrind () && getenv ("MONO_VALGRIND_LEAK_CHECK")) {
- GMemVTable mem_vtable;
-
- /*
- * Instruct glib to use the system allocation functions so valgrind
- * can track the memory allocated by the g_... functions.
- */
- memset (&mem_vtable, 0, sizeof (mem_vtable));
- mem_vtable.malloc = malloc;
- mem_vtable.realloc = realloc;
- mem_vtable.free = free;
- mem_vtable.calloc = calloc;
-
- g_mem_set_vtable (&mem_vtable);
- }
-
g_log_set_always_fatal (G_LOG_LEVEL_ERROR);
g_log_set_fatal_mask (G_LOG_DOMAIN, G_LOG_LEVEL_ERROR);
#ifdef __native_client__
} else if (strcmp (argv [i], "--nacl-mono-path") == 0){
nacl_mono_path = g_strdup(argv[++i]);
+ } else if (strcmp (argv [i], "--nacl-null-checks-off") == 0){
+ nacl_null_checks_off = TRUE;
#endif
} else {
fprintf (stderr, "Unknown command line option: '%s'\n", argv [i]);
{
nacl_align_byte = -1; /* 0xff */
}
+ if (!nacl_null_checks_off) {
+ MonoDebugOptions *opt = mini_get_debug_options ();
+ opt->explicit_null_checks = TRUE;
+ }
#endif
if (!argv [i]) {
* This used to be an amd64 only crash, but it looks like now most glibc targets do unwinding
* that requires reading the target code.
*/
-#ifdef __linux__
+#if defined( __linux__ ) || defined( __native_client__ )
mono_dont_free_global_codeman = TRUE;
#endif