Commit Graph

74 Commits

Author SHA1 Message Date
Vincent Povirk 22e58b11a7 mscoree: Remove appdomain tracking.
This didn't work correctly with multiple runtime versions. We
should rely on Mono to keep track of AppDomains.

Signed-off-by: Vincent Povirk <vincent@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-02-19 20:26:53 +01:00
Vincent Povirk a391492a96 mscoree: Ignore empty privatePath.
Signed-off-by: Vincent Povirk <vincent@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-12-05 23:36:23 +01:00
Vincent Povirk 1fddf230ff Revert "mscoree: Call mono_thread_manage in GC Unsafe mode.".
This reverts commit d10f2c0723.

The bug we were working around has been fixed in upstream Mono and
in Wine Mono 4.9.4.

Signed-off-by: Vincent Povirk <vincent@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-11-04 22:50:34 +01:00
Vincent Povirk d10f2c0723 mscoree: Call mono_thread_manage in GC Unsafe mode.
The mono_thread_manage API expects to be called in GC Unsafe mode.

This has been the case for a while, but for some reason it only
caused problems in the Mono merge I'm working on now.

We don't need a matching exit call because we're shutting down
the runtime anyway, and we can't change GC modes after the runtime
shuts down.

Signed-off-by: Vincent Povirk <vincent@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-10-27 19:20:35 +01:00
Gijs Vermeulen d7031be892 mscoree: Support loading assemblies from path specified in config file.
Signed-off-by: Gijs Vermeulen <gijsvrm@codeweavers.com>
Signed-off-by: Vincent Povirk <vincent@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-10-18 20:20:14 +02:00
Alexandre Julliard f89ab56ef6 mscoree: Build with msvcrt.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-07-05 17:34:22 +02:00
Michael Stefaniuc 5bd1b2652c mscoree: Remove a redundant NULL check before heap_free().
Signed-off-by: Michael Stefaniuc <mstefani@winehq.org>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-04-29 22:47:57 +02:00
Vincent Povirk fe4f00681e mscoree: Don't return from _CorExeMain.
Testing on Windows shows that unmanaged threads do not keep the
process open after a .NET program's entry point and all .NET
foreground threads have exited.

Signed-off-by: Vincent Povirk <vincent@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-04-04 19:16:19 +02:00
Vincent Povirk e41502b429 mscoree: Add support for config stream in GetRequestedRuntime.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=37751
Signed-off-by: Vincent Povirk <vincent@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-02-25 12:30:12 +01:00
Fabian Maurer 6428c45667 mscoree: Allow loading of registration free .NET COM objects.
Signed-off-by: Fabian Maurer <dark.shadow4@web.de>
Signed-off-by: Vincent Povirk <vincent@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-02-04 15:38:47 +01:00
Michael Stefaniuc d41e6cacae mscoree: Use the ARRAY_SIZE() macro.
Signed-off-by: Michael Stefaniuc <mstefani@winehq.org>
Signed-off-by: Vincent Povirk <vincent@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-08-14 11:58:03 +02:00
Michael Stefaniuc b412c166b3 mscoree: Use the more common ARRAY_SIZE spelling.
Signed-off-by: Michael Stefaniuc <mstefani@winehq.org>
Signed-off-by: Vincent Povirk <vincent@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-07-06 19:44:26 +02:00
Vincent Povirk bce8330f99 mscoree: Mono renamed mono_trace_set_assembly.
Signed-off-by: Vincent Povirk <vincent@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-10-05 19:36:15 +02:00
Nikolay Sivov cee34cb141 mscoree: Free argument buffer on error (Coverity).
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-12-23 11:41:42 +01:00
Andrew Eikum 0ea8893e1c mscoree: Leave the last backslash on application base path.
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-12-19 20:31:51 +01:00
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