Commit Graph

59 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
Charles Davis c129cdf145 mscoree: Improve RuntimeHost_Invoke()'s error output a bit.
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-17 13:03:13 +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 5dea748c5b mscoree: Add FixupVTable_Assembly function which takes preloaded assembly headers.
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:40:49 +09:00
Paul Gofman 43c43179cd mscoree: Implement VTable fixup for x86_64 architecture.
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-26 14:50:57 +09:00
Paul Gofman 9236a668e6 mscoree: Make vtable and tokens local declarations arch independent.
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-26 14:49:05 +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 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
Michael Stefaniuc 60d54eee93 mscoree: Use SUCCEEDED instead of !FAILED. 2015-03-24 18:16:00 +09:00
Vincent Povirk 6ef156e656 mscoree: Use mono_runtime_quit in shutdown process. 2014-10-16 12:59:46 +09:00
Vincent Povirk 1986e496c7 mscoree: Factor out common code for calling .NET methods. 2014-08-18 21:33:05 +02:00
Vincent Povirk 88dfdded62 mscoree: Implement corruntimehost_CreateDomainSetup. 2014-08-18 21:33:02 +02:00
Vincent Povirk fb2f1f2b64 mscoree: Implement corruntimehost_Start. 2014-08-15 17:04:58 +02:00
Vincent Povirk 3a2e88534e mscoree: Fix runtime shutdown code. 2013-11-21 13:31:20 +01:00
Alistair Leslie-Hughes a3a19518f4 mscoree: Attempt to load the assembly from the application directory. 2013-11-20 19:38:21 +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
Frédéric Delanoy 1214fb41dd mscoree: Use BOOL type where appropriate. 2013-10-08 09:09:36 +02:00
Daniel Jelinski 1319515173 mscoree: Search for COM classes by assembly name if CodeBase not found. 2013-06-05 20:30:58 +02:00
Michael Stefaniuc 7fdcb092b7 mscoree: Use assignment instead of memcpy to copy a struct. 2013-01-25 11:17:53 +01:00
Vincent Povirk b5c663ee1e mscoree: Preserve %ecx when calling ReallyFixupVTable. 2012-09-06 14:16:45 +02:00
Vincent Povirk f2437c2b32 mscoree: Add support for tracing the entry point assembly. 2012-09-05 11:47:44 +02:00
Vincent Povirk d5cec3b08e mscoree: Avoid calling mono_image_open_from_module_handle for libraries. 2012-08-20 20:18:40 +02:00
Nikolay Sivov de37c1d57f mscoree: Call interface methods properly. 2012-08-20 10:59:11 +02:00
Alistair Leslie-Hughes 85d49c5819 mscoree: Correct possible uninitialized variable (clang). 2012-06-07 16:07:07 +02:00
Michael Stefaniuc b168da7752 mscoree: Remove duplicated include. 2012-06-07 10:33:47 +02:00
Vincent Povirk a629ba4949 mscoree: Implement vtable fixups. 2012-05-09 17:49:57 +02:00
Vincent Povirk b15a77463a mscoree: Change _CorDllMain fixme to a trace. 2012-05-03 11:51:37 +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
Michael Stefaniuc bf5e5a981e mscoree: Remove superfluous NULL pointer checks before free (Smatch). 2012-01-16 12:45:34 +01:00
Alistair Leslie-Hughes 091f31744a mscoree: Don't pass the string as a reference type. 2012-01-09 15:27:04 +01:00
Alistair Leslie-Hughes acaa258054 mscoree: Implement CLRRuntimeHost_ExecuteInDefaultAppDomain. 2012-01-03 18:04:36 +01:00
Alistair Leslie-Hughes 5682743245 mscoree: Implement ICorDebug SetManagedHandler. 2011-10-10 13:46:36 +02:00
Alistair Leslie-Hughes bef72c4884 mscoree: Add ICorDebug interface support. 2011-09-28 12:37:47 +02:00
Andrew Talbot ee9c027986 mscoree: Fix a zero-sized array. 2011-08-31 19:43:05 +02:00
Michael Stefaniuc e79e6e30f4 mscoree: COM cleanup in corruntimehost.c. 2011-06-22 12:58:56 +02:00
Vincent Povirk 6bd0887225 mscoree: Implement ICorRuntimeHost_GetDefaultDomain. 2011-05-20 10:31:28 +02:00
Vincent Povirk 692a7593cf mscoree: Return success from ICorRuntimeHost_Start stub.
We don't really have the ability to "Start" and "Stop" Mono, though we can create a default domain.
2011-05-20 10:31:10 +02: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 9c238d181d mscoree: Add a trace to _CorExeMain. 2010-11-12 17:00:18 +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