Commit Graph

52 Commits

Author SHA1 Message Date
Vincent Povirk 4dec065e2b mscoree: Restore previous domain whenever we set it.
Unmanaged APIs could be called directly or indirectly by managed code in
any domain, and we could create problems by not restoring the old one.

Signed-off-by: Vincent Povirk <vincent@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-03-09 18:41:05 +09:00
Charles Davis fdeaf812e2 mscoree: Implement ICorRuntimeHost::CreateDomain{, Ex}().
Signed-off-by: Charles Davis <cdavis5x@gmail.com>
Signed-off-by: Vincent Povirk <vincent@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-02-18 21:05:48 +09:00
Paul Gofman 98d5c4a90f mscoree: Call native DllEntryPoint when it is defined in COR header.
Signed-off-by: Paul Gofman <gofmanp@gmail.com>
Signed-off-by: Vincent Povirk <vincent@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-02-04 14:41:00 +09:00
Paul Gofman b9a0fe18e3 mscoree: Fix calling convention for mono callback functions.
ms_abi calling convention is required for x86_64 arch.

Signed-off-by: Paul Gofman <gofmanp@gmail.com>
Signed-off-by: Vincent Povirk <vincent@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-01-21 17:01:45 +09:00
Andrew Eikum 4d44363e60 mscoree: Set config path for default app domain.
Signed-off-by: Andrew Eikum <aeikum@codeweavers.com>
Signed-off-by: Vincent Povirk <vincent@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-01-13 15:48:39 +09:00
Vincent Povirk 2ecd3772e3 mscoree: Send Mono's debug output to Unix stderr. 2015-09-07 15:03:49 +09:00
Vincent Povirk 5cd6db0349 mscoree: Remove the runtime version selection logic and just use 4.0.
Mono has removed support for the .NET 2.0 profile, so we'll have to be
using 4.0 for everything next time we want to update.
2015-03-26 14:21:33 +09:00
Francois Gouget b861aed2c1 mscoree: Mark internal symbols with hidden visibility. 2015-03-20 18:05:17 +09:00
Vincent Povirk 6ef156e656 mscoree: Use mono_runtime_quit in shutdown process. 2014-10-16 12:59:46 +09:00
Frédéric Delanoy 8cdcf47001 mscoree: Use BOOL type where appropriate. 2014-02-19 11:37:02 +01:00
Francois Gouget fbe912d73b mscoree: RuntimeHost_Destroy() is not used anymore so remove it. 2013-10-28 10:42:00 +01:00
Vincent Povirk 5e81bad239 mscoree: Call Mono's System.Environment.Exit instead of duplicating it. 2013-10-25 13:35:36 +02:00
Vincent Povirk 770918a91b mscoree: Do a "normal" runtime shutdown from _CorExeMain.
This needs to work differently from CorExitProcess because we need to wait for
foreground threads and abort the rest.
2013-10-25 13:34:47 +02:00
Vincent Povirk 6b889fe918 mscoree: Remove support for multiple Mono ABI versions.
Having two instances of Mono loaded at once is problematic, and now that we
use the 2.0 runtime to support 1.x there's no need to support old versions.
2013-10-25 13:34:26 +02:00
Alistair Leslie-Hughes 3988ee9465 mscoree: Add support for ICLRMetaHostPolicy interface. 2013-10-17 20:29:41 +02:00
Daniel Jelinski 0eaa3ec9fb mscoree: Extract a helper function for getting file name from assembly. 2013-06-05 20:30:58 +02:00
Vincent Povirk ad5c4671a5 mscoree: Add WINE_MONO_VERBOSE environment setting. 2013-02-28 21:00:17 +01:00
Vincent Povirk f2437c2b32 mscoree: Add support for tracing the entry point assembly. 2012-09-05 11:47:44 +02:00
Vincent Povirk 56484cc037 mscoree: Add a fallback for mono_image_open_from_module_handle. 2012-05-17 17:44:28 +02:00
Vincent Povirk a629ba4949 mscoree: Implement vtable fixups. 2012-05-09 17:49:57 +02:00
Francois Gouget bde73d8dfc mscoree: Make assembly_rva_to_va() and parse_headers() static. 2012-05-04 18:08:34 +02:00
Vincent Povirk a824e8f659 mscoree: Use the main HMODULE in _CorExeMain instead of loading a new exe. 2012-05-03 11:51:36 +02:00
Vincent Povirk d2d1c6d824 mscoree: Detect when a CLR DLL requests vtable fixups. 2012-05-03 11:51:03 +02:00
Vincent Povirk 3b4d278026 mscoree: Always call mono_thread_attach before invoking managed code. 2012-04-24 11:37:34 +02:00
Alistair Leslie-Hughes 3f1c63c5bd mscoree: Implement DllGetClassObject. 2012-01-23 17:05:10 +01:00
Alistair Leslie-Hughes acaa258054 mscoree: Implement CLRRuntimeHost_ExecuteInDefaultAppDomain. 2012-01-03 18:04:36 +01:00
Alistair Leslie-Hughes 7ee1250e46 mscoree: Implement ICorDebug EnumerateProcesses. 2011-11-01 16:43:08 +01:00
Alistair Leslie-Hughes 5682743245 mscoree: Implement ICorDebug SetManagedHandler. 2011-10-10 13:46:36 +02:00
Marcus Meissner e2c5a0c23e mscoree: Mark cordebug_init as hidden. 2011-10-03 15:50:58 -05:00
Alistair Leslie-Hughes bef72c4884 mscoree: Add ICorDebug interface support. 2011-09-28 12:37:47 +02:00
Michael Stefaniuc c8fcf420c2 mscoree: COM cleanup for the ICLRRuntimeInfo iface. 2011-08-22 16:14:35 +02:00
Marcus Meissner ba9f4e807a mscoree: Mark internal symbols with hidden visibility and some vtables as static. 2011-05-20 10:32:32 +02:00
Francois Gouget d007d9feea mscoree: Force_get_runtime_info() is not used so remove it. 2011-03-16 16:31:52 +01:00
Vincent Povirk b92d834d36 mscoree: Always return S_FALSE from DllCanUnloadNow.
We can't really unload after Mono is loaded unless we're exiting the process.
We could before that, but it's probably not worth the effort.
2011-02-24 15:49:27 +01:00
Vincent Povirk d6582ae8bd mscoree: Overhaul of mono runtime shutdown process.
It turns out that we can't free individual domains because that tears down
important data structures. Instead we must shut down the entire runtime, but
only if Mono doesn't shut itself down first. And we need to do it before
DLL_PROCESS_DETACH because important libraries might be gone by then.
2011-02-24 15:49:15 +01:00
Vincent Povirk 8a8808984e mscoree: Implement GetFileVersion. 2011-01-28 11:59:21 +01:00
Jacek Caban 90ed396b03 mscoree: Explicitly specify CDECL on imported functions. 2010-11-29 11:23:24 +01:00
Vincent Povirk 3b76a0bed1 mscoree: Implement ClrCreateManagedInstance. 2010-11-12 17:00:09 +01:00
Vincent Povirk d2d743efbb mscoree: Search the Global Assembly Cache for required assemblies. 2010-11-12 16:59:41 +01:00
Vincent Povirk 9e20c21dbd mscoree: Add stub implementation of IMetaDataDispenserEx. 2010-11-11 16:41:54 +01:00
Vincent Povirk 4ce33c6960 mscoree: Implement config file parsing. 2010-11-11 16:25:10 +01:00
Vincent Povirk 1309731b4a mscoree: Add a proper implementation of DllCanUnloadNow. 2010-11-10 17:19:42 +01:00
Vincent Povirk e5d3294b83 mscoree: Use the new architecture to implement _CorExeMain. 2010-11-10 17:19:22 +01:00
Vincent Povirk cda37e4447 mscoree: Load mono when creating a runtime host interface. 2010-11-10 17:19:12 +01:00
Vincent Povirk 601b240f1e mscoree: Use the .NET 4 interfaces to implement CorBindToRuntimeEx. 2010-11-09 17:33:36 +01:00
Vincent Povirk 1682a92dd5 mscoree: Implement LoadLibraryShim. 2010-10-28 18:18:11 +02:00
Vincent Povirk 2c2d53024f mscoree: Use the new Mono runtime search code in GetRequestedRuntimeInfo. 2010-10-13 11:20:42 +02:00
Vincent Povirk d54b800793 mscoree: Implement ICLRRuntimeInfo_GetInterface. 2010-10-05 12:07:37 +02:00
Vincent Povirk 3f211a5126 mscoree: Implement ICLRMetaHost_GetVersionFromFile. 2010-10-05 12:07:37 +02:00
Vincent Povirk fce6f93b48 mscoree: Add stub implementation of ICLRMetaHost. 2010-10-05 12:07:37 +02:00