};
#ifdef __native_client_codegen__
-extern guint8 nacl_align_byte;
+extern gint8 nacl_align_byte;
+#endif
+#ifdef __native_client__
+extern char *nacl_mono_path;
#endif
#define DEFAULT_OPTIMIZATIONS ( \
MONO_OPT_BRANCH | MONO_OPT_PEEPHOLE | MONO_OPT_LINEARS | MONO_OPT_CFOLD,
MONO_OPT_BRANCH | MONO_OPT_PEEPHOLE | MONO_OPT_LINEARS | MONO_OPT_COPYPROP | MONO_OPT_CONSPROP | MONO_OPT_DEADCE,
MONO_OPT_BRANCH | MONO_OPT_PEEPHOLE | MONO_OPT_LINEARS | MONO_OPT_COPYPROP | MONO_OPT_CONSPROP | MONO_OPT_DEADCE | MONO_OPT_LOOP | MONO_OPT_INLINE | MONO_OPT_INTRINS,
+ MONO_OPT_BRANCH | MONO_OPT_PEEPHOLE | MONO_OPT_LINEARS | MONO_OPT_COPYPROP | MONO_OPT_CONSPROP | MONO_OPT_DEADCE | MONO_OPT_LOOP | MONO_OPT_INLINE | MONO_OPT_INTRINS | MONO_OPT_TAILC,
MONO_OPT_BRANCH | MONO_OPT_PEEPHOLE | MONO_OPT_LINEARS | MONO_OPT_COPYPROP | MONO_OPT_CONSPROP | MONO_OPT_DEADCE | MONO_OPT_LOOP | MONO_OPT_INLINE | MONO_OPT_INTRINS | MONO_OPT_SSA,
MONO_OPT_BRANCH | MONO_OPT_PEEPHOLE | MONO_OPT_LINEARS | MONO_OPT_COPYPROP | MONO_OPT_CONSPROP | MONO_OPT_DEADCE | MONO_OPT_LOOP | MONO_OPT_INLINE | MONO_OPT_INTRINS | MONO_OPT_EXCEPTION,
MONO_OPT_BRANCH | MONO_OPT_PEEPHOLE | MONO_OPT_LINEARS | MONO_OPT_COPYPROP | MONO_OPT_CONSPROP | MONO_OPT_DEADCE | MONO_OPT_LOOP | MONO_OPT_INLINE | MONO_OPT_INTRINS | MONO_OPT_EXCEPTION | MONO_OPT_CMOV,
" --stats Print statistics about the JIT operations\n"
" --wapi=hps|semdel|seminfo IO-layer maintenance\n"
" --inject-async-exc METHOD OFFSET Inject an asynchronous exception at METHOD\n"
- " --verify-all Run the verifier on all methods\n"
+ " --verify-all Run the verifier on all assemblies and methods\n"
" --full-aot Avoid JITting any code\n"
" --agent=ASSEMBLY[:ARG] Loads the specific agent assembly and executes its Main method with the given argument before loading the main assembly.\n"
" --no-x86-stack-align Don't align stack on x86\n"
#ifdef HOST_WIN32
BOOL APIENTRY DllMain (HMODULE module_handle, DWORD reason, LPVOID reserved)
{
- if (!GC_DllMain (module_handle, reason, reserved))
+ if (!mono_gc_dllmain (module_handle, reason, reserved))
return FALSE;
switch (reason)
mono_install_runtime_load (mini_init);
break;
case DLL_PROCESS_DETACH:
+#ifdef ENABLE_COREE
if (coree_module_handle)
FreeLibrary (coree_module_handle);
+#endif
break;
}
return TRUE;
char *build = mono_get_runtime_build_info ();
char *gc_descr;
- g_print ("Mono JIT compiler version %s\nCopyright (C) 2002-2010 Novell, Inc and Contributors. www.mono-project.com\n", build);
+ g_print ("Mono JIT compiler version %s\nCopyright (C) 2002-2011 Novell, Inc and Contributors. www.mono-project.com\n", build);
g_free (build);
g_print (info);
gc_descr = mono_gc_get_description ();
#ifdef HAVE_EXECVP
execvp (path->str, argv);
#else
- fprintf ("Error: --gc=<NAME> option not supported on this platform.\n");
+ fprintf (stderr, "Error: --gc=<NAME> option not supported on this platform.\n");
#endif
}
} else if (strcmp (argv [i], "--gc=boehm") == 0) {
#ifdef HAVE_EXECVP
execvp (p, argv);
#else
- fprintf ("Error: --gc=<NAME> option not supported on this platform.\n");
+ fprintf (stderr, "Error: --gc=<NAME> option not supported on this platform.\n");
#endif
}
} else if (strcmp (argv [i], "--config") == 0) {
mono_use_llvm = FALSE;
#ifdef __native_client_codegen__
} else if (strcmp (argv [i], "--nacl-align-mask-off") == 0){
- nacl_align_byte = 0xff;
+ nacl_align_byte = -1; /* 0xff */
+#endif
+#ifdef __native_client__
+ } else if (strcmp (argv [i], "--nacl-mono-path") == 0){
+ nacl_mono_path = g_strdup(argv[++i]);
#endif
} else {
fprintf (stderr, "Unknown command line option: '%s'\n", argv [i]);
#ifdef __native_client_codegen__
if (getenv ("MONO_NACL_ALIGN_MASK_OFF"))
{
- nacl_align_byte = 0xff;
+ nacl_align_byte = -1; /* 0xff */
}
#endif