xamarin-macios/runtime
Rolf Bjarne Kvinge 3087174202
[runtime] Use xamarin_gchandle_free instead of mono_gchandle_free. (#10874)
Our own functions support pointer-sized GCHandles, so this is one less place
to fix for CoreCLR.
2021-03-16 14:00:35 +01:00
..
xamarin [runtime] Move parts of NSObject creation from native to managed. (#10869) 2021-03-16 07:40:19 +01:00
.gitignore Implement notarization. (#6928) 2019-09-09 00:34:11 -07:00
COOP.md [src] Remove ObjectWrapper. 2020-05-04 11:31:19 +02:00
Delegates.cs.t4 Use pointer-sized GCHandles everywhere. (#10597) 2021-02-11 08:18:38 +01:00
EXCEPTIONS.md [runtime] Improve documentation about exceptions a little bit. 2016-06-08 20:11:07 +02:00
Makefile [runtime] Link the CoreCLR version of libxamarin with CoreCLR instead of Mono. (#10853) 2021-03-12 18:40:48 +01: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 [ARKit] Add support for Xcode 12 beta 1. (#9002) 2020-07-07 09:37:16 -04:00
bindings-generator.csproj Merge xcode9 into d15-4[-xi] (#2710) 2017-09-15 17:53:16 -04:00
bindings.h [runtime] Remove Classic code. (#8722) 2020-06-02 16:14:17 +02:00
bindings.m [runtime] Remove Classic code. (#8722) 2020-06-02 16:14: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 Use pointer-sized GCHandles everywhere. (#10597) 2021-02-11 08:18:38 +01:00
delegates.t4 [runtime] Move parts of NSObject creation from native to managed. (#10869) 2021-03-16 07:40:19 +01:00
exports.t4 [runtime] Move parts of NSObject creation from native to managed. (#10869) 2021-03-16 07:40:19 +01:00
extension-main.m [xcode12] Bump for beta 1 (#8935) 2020-06-26 14:02:44 -04:00
frameworks.h [registrar] Add support for the BindAs attribute. 2017-07-04 07:35:29 +02:00
launcher.h Build our runtime. 2016-04-24 14:47:24 -04:00
launcher.m Use our [OBJC_]CFLAGS when compiling code for macOS. (#10771) 2021-03-03 21:41:39 +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 [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
mono-runtime.m.t4 [runtime] Link the CoreCLR version of libxamarin with CoreCLR instead of Mono. (#10853) 2021-03-12 18:40:48 +01: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 [runtime] Call into managed code to call GC.Collect instead of using embedding API. (#10828) 2021-03-11 07:37:45 +01:00
monotouch-support.h [Runtime] Move some of the changes back to int. (#7529) (#7606) 2019-12-16 22:06:51 -05: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] Support automatic GCHandle -> MonoObject* conversion for parameters and return values when calling managed delegates. 2020-05-04 11:22:26 +02:00
runtime-internal.h Use pointer-sized GCHandles everywhere. (#10597) 2021-02-11 08:18:38 +01:00
runtime.m [runtime] Use xamarin_gchandle_free instead of mono_gchandle_free. (#10874) 2021-03-16 14:00:35 +01:00
shared.h Use pointer-sized GCHandles everywhere. (#10597) 2021-02-11 08:18:38 +01:00
shared.m Use pointer-sized GCHandles everywhere. (#10597) 2021-02-11 08:18:38 +01:00
slinked-list.h Build our runtime. 2016-04-24 14:47:24 -04:00
trampolines-arm64-asm.s [runtime] Implement support for an arm64 dynamic registrar. (#6005) 2019-05-07 07:35:39 +02:00
trampolines-arm64.h [runtime] Implement support for an arm64 dynamic registrar. (#6005) 2019-05-07 07:35:39 +02: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] Move parts of NSObject creation from native to managed. (#10869) 2021-03-16 07:40:19 +01: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 Use pointer-sized GCHandles everywhere. (#10597) 2021-02-11 08:18:38 +01:00
xamarin-support.m [runtime] Build our runtime for Mac Catalyst/ARM64 for .NET. (#10739) 2021-03-03 07:48:07 +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