xamarin-macios/runtime
Rolf Bjarne Kvinge 751976a769
[CoreCLR] Stub out mono_runtime_set_pending_exception for CoreCLR. (#11521)
We need additional API in CoreCLR to support pending exception properly, and
this is in progress [1]. In the meantime, stub out parts of it, so that the
process doesn't abort. This way we'll have failing tests instead (and work in
other areas can progress, since the process doesn't abort).

[1]: https://github.com/dotnet/runtime/pull/52146
2021-05-13 07:12:17 +02:00
..
xamarin [runtime] Implement mono_array_new and mono_array_length for CoreCLR. (#11515) 2021-05-12 15:21:56 +02:00
.gitignore [runtime] Move MonoVM-specific initialization to MonoVM-specific code. (#10899) 2021-03-18 07:23:39 +01:00
COOP.md [src] Remove ObjectWrapper. 2020-05-04 11:31:19 +02:00
Delegates.cs.t4 [runtime] Add support for generating managed delegates only for CoreCLR. 2021-03-25 07:32:32 +01:00
EXCEPTIONS.md [runtime] Improve documentation about exceptions a little bit. 2016-06-08 20:11:07 +02:00
Makefile [runtime] Implement xamarin_dyn_objc_msgSend for ARM64. 2021-05-11 15:54:39 +02:00
README.md Initial review pass for COOP for watchOS. 2016-05-26 17:47:10 +02:00
Xamarin.framework-iphoneos.Info.plist [runtime] Split the build differently: build libraries for simulator and device separately. (#7143) 2019-10-03 16:38:44 +02:00
Xamarin.framework-iphonesimulator.Info.plist [runtime] Split the build differently: build libraries for simulator and device separately. (#7143) 2019-10-03 16:38:44 +02:00
Xamarin.framework-tvos.Info.plist Rename bundle identifier for the frameworks we ship. Fixes #6920. (#6926) 2019-09-06 09:30:49 -07:00
Xamarin.framework-tvsimulator.Info.plist [runtime] Split the build differently: build libraries for simulator and device separately. (#7143) 2019-10-03 16:38:44 +02:00
Xamarin.framework-watchos.Info.plist Rename bundle identifier for the frameworks we ship. Fixes #6920. (#6926) 2019-09-06 09:30:49 -07:00
Xamarin.framework-watchsimulator.Info.plist [runtime] Split the build differently: build libraries for simulator and device separately. (#7143) 2019-10-03 16:38:44 +02:00
bindings-generator.cs [runtime] Return the exception from wrapper methods for exception marshalling. (#11382) 2021-05-04 08:25:38 +02:00
bindings-generator.csproj Merge xcode9 into d15-4[-xi] (#2710) 2017-09-15 17:53:16 -04:00
bindings.h [runtime] Return the exception from wrapper methods for exception marshalling. (#11382) 2021-05-04 08:25:38 +02:00
bindings.m [runtime] Return the exception from wrapper methods for exception marshalling. (#11382) 2021-05-04 08:25:38 +02:00
coreclr-bridge.m [CoreCLR] Stub out mono_runtime_set_pending_exception for CoreCLR. (#11521) 2021-05-13 07:12:17 +02:00
delegates.h.t4 [runtime] Support automatic GCHandle -> MonoObject* conversion for parameters and return values when calling managed delegates. 2020-05-04 11:22:26 +02:00
delegates.inc.t4 [runtime] Implement functions for getting and setting array elements for CoreCLR. (#11519) 2021-05-13 07:11:49 +02:00
delegates.t4 [CoreCLR] Stub out mono_runtime_set_pending_exception for CoreCLR. (#11521) 2021-05-13 07:12:17 +02:00
exports.t4 [CoreCLR] Stub out mono_runtime_set_pending_exception for CoreCLR. (#11521) 2021-05-13 07:12:17 +02:00
extension-main.m [xcode12] Bump for beta 1 (#8935) 2020-06-26 14:02:44 -04:00
frameworks.h [runtime] MapKit is available on macOS/arm64. (#11363) 2021-04-29 14:45:58 +02:00
launcher.h Build our runtime. 2016-04-24 14:47:24 -04:00
launcher.m [CoreCLR] Add support for mono_assembly_open. 2021-03-25 07:32:32 +01:00
libmonotouch.csproj Remove zlib-helper from runtime/ 2019-02-05 01:46:02 +01:00
libxammac.csproj Set LangVersion in order to be able to build from an IDE (#7552) 2019-12-11 17:10:16 -05:00
main-internal.h [xcode12] Bump for beta 1 (#8935) 2020-06-26 14:02:44 -04:00
mono-runtime.h.t4 [CoreCLR] Stub out mono_runtime_set_pending_exception for CoreCLR. (#11521) 2021-05-13 07:12:17 +02:00
mono-runtime.m.t4 [runtime] Don't start the toggle ref machinery in CoreCLR. (#10990) 2021-03-30 18:06:23 -04:00
monotouch-debug.h [runtime] Move a few mono function declaration to the generated logic for mono function declarations instead of doing it manually. (#10849) 2021-03-12 07:37:27 +01:00
monotouch-debug.m [runtime] Fix a compiler warning. (#10755) 2021-03-03 07:41:35 +01:00
monotouch-main.m [CoreCLR] Implement mono_assembly_get_object. (#11254) 2021-04-21 15:00:10 +02:00
monotouch-support.h [Runtime] Move some of the changes back to int. (#7529) (#7606) 2019-12-16 22:06:51 -05:00
monovm-bridge.m [runtime] Implement several xamarin_is_class_* variants for CoreCLR. (#11481) 2021-05-10 23:12:52 +02:00
nsstring-localization.m Build our runtime. 2016-04-24 14:47:24 -04:00
product.h [src] Build Xamarin.MacCatalyst.dll 2020-12-03 10:43:19 +01:00
runtime-generated.h.t4 [runtime] Add support for generating managed delegates only for CoreCLR. 2021-03-25 07:32:32 +01:00
runtime-internal.h [runtime] Implement calling the managed Runtime.Initialize method from the CoreCLR bridge. (#10951) 2021-03-25 07:25:20 +01:00
runtime.m [runtime] Implement mono_reflection_type_get_type for CoreCLR. (#11513) 2021-05-12 23:37:40 +02:00
shared.h [runtime] Move the code to wrap every managed thread with an NSAutoreleasePool to the MonoVM bridge. (#11257) 2021-04-21 16:21:09 +02:00
shared.m [CoreCLR] Implement xamarin_gchandle_get_target. (#11333) 2021-04-27 14:59:03 +02:00
slinked-list.h Build our runtime. 2016-04-24 14:47:24 -04:00
trampolines-arm64-asm.s [runtime] Add correct prologue/epilogue to xamarin_arm64_common_trampoline 2021-05-11 15:54:39 +02:00
trampolines-arm64-objc_msgSend.inc.s [runtime] Implement xamarin_dyn_objc_msgSend for ARM64. 2021-05-11 15:54:39 +02:00
trampolines-arm64-objc_msgSend.s [runtime] Implement xamarin_dyn_objc_msgSend for ARM64. 2021-05-11 15:54:39 +02:00
trampolines-arm64-objc_msgSendSuper.s [runtime] Implement xamarin_dyn_objc_msgSend for ARM64. 2021-05-11 15:54:39 +02:00
trampolines-arm64.h Xamarin.Mac native Apple Silicon targetting support (#10115) 2021-03-17 21:48:02 -04:00
trampolines-arm64.m Use pointer-sized GCHandles everywhere. (#10597) 2021-02-11 08:18:38 +01:00
trampolines-i386-asm.s [runtime] Rename CallState to XamarinCallState to keep the public namespace cleaner. (#5940) 2019-04-23 16:53:35 +01:00
trampolines-i386-objc_msgSend-copyframe.inc [runtime] Don't store xmm registers where we store other registers. 2016-05-17 11:24:02 +02:00
trampolines-i386-objc_msgSend-post.inc [runtime] Make sure the stack is correctly aligned to 16 bytes. 2016-05-17 11:24:03 +02:00
trampolines-i386-objc_msgSend-pre.inc [runtime] Make sure the stack is correctly aligned to 16 bytes. 2016-05-17 11:24:03 +02:00
trampolines-i386-objc_msgSend.s Implement support for exception marshalling. 2016-05-17 11:23:48 +02:00
trampolines-i386-objc_msgSendSuper.s Implement support for exception marshalling. 2016-05-17 11:23:48 +02:00
trampolines-i386-objc_msgSendSuper_stret.s Implement support for exception marshalling. 2016-05-17 11:23:48 +02:00
trampolines-i386-objc_msgSend_stret.s Implement support for exception marshalling. 2016-05-17 11:23:48 +02:00
trampolines-i386.h [runtime] Rename CallState to XamarinCallState to keep the public namespace cleaner. (#5940) 2019-04-23 16:53:35 +01:00
trampolines-i386.m Use pointer-sized GCHandles everywhere. (#10597) 2021-02-11 08:18:38 +01:00
trampolines-internal.h Use pointer-sized GCHandles everywhere. (#10597) 2021-02-11 08:18:38 +01:00
trampolines-invoke.m [runtime] Implement mono_reflection_type_get_type for CoreCLR. (#11513) 2021-05-12 23:37:40 +02:00
trampolines-varargs.h [runtime] Rename CallState to XamarinCallState to keep the public namespace cleaner. (#5940) 2019-04-23 16:53:35 +01:00
trampolines-varargs.m Use pointer-sized GCHandles everywhere. (#10597) 2021-02-11 08:18:38 +01:00
trampolines-x86_64-asm.s [runtime] Fix crash in the x86_64 dynamic registrar. (#5989) 2019-05-06 07:25:49 +02:00
trampolines-x86_64-objc_msgSend-copyframe.inc Implement support for exception marshalling. 2016-05-17 11:23:48 +02:00
trampolines-x86_64-objc_msgSend-post.inc Implement support for exception marshalling. 2016-05-17 11:23:48 +02:00
trampolines-x86_64-objc_msgSend-pre.inc Implement support for exception marshalling. 2016-05-17 11:23:48 +02:00
trampolines-x86_64-objc_msgSend.s Implement support for exception marshalling. 2016-05-17 11:23:48 +02:00
trampolines-x86_64-objc_msgSendSuper.s Implement support for exception marshalling. 2016-05-17 11:23:48 +02:00
trampolines-x86_64-objc_msgSendSuper_stret.s Implement support for exception marshalling. 2016-05-17 11:23:48 +02:00
trampolines-x86_64-objc_msgSend_stret.s Implement support for exception marshalling. 2016-05-17 11:23:48 +02:00
trampolines-x86_64.h [runtime] Fix crash in the x86_64 dynamic registrar. (#5989) 2019-05-06 07:25:49 +02:00
trampolines-x86_64.m Use pointer-sized GCHandles everywhere. (#10597) 2021-02-11 08:18:38 +01:00
trampolines.m [runtime] Implement functions for getting and setting array elements for CoreCLR. (#11519) 2021-05-13 07:11:49 +02:00
xamarin-support.m [dotnet] Build macOS/.NET for ARM64 as well. (#10959) 2021-03-25 07:26:48 +01:00

README.md

Native runtime

This directory contains the native runtime for Xamarin.iOS and Xamarin.Mac.

Cooperative GC

See COOP.md

Generated code

A few files are generated automatically:

delegates.h|inc, Delegates.cs

These files contain the code required to glue the native runtime and the managed runtime.

mono-runtime.m, xamarin/mono-runtime.h

These files contain code that makes other code, consumers of the mono runtime, oblivious to whether the mono runtime is linked statically, dynamically, or using dlopen at runtime.

If you need to use a new function from the Mono headers, add it to exports.t4.

If you need a new enum / constant / typedef / etc, add it to mono-runtime.h.t4.

Shipped headers

These are the headers shipped with XI/XM (they're not for public consumption, but we need them to build generated code on customers machine, in particular main.m and registrar.m)

xamarin/runtime.h xamarin/trampolines.h xamarin/main.h xamarin/xamarin.h