xamarin-macios/runtime
Sebastien Pouliot 44d3e1b7ba
[runtime] Simplify string code inside launcher by using ObjC (#8859)
This avoids the use of `strcpy`, `memcpy` and `strlen` which can be
misused. We're already using ObjC code inside the file so we can
leverage higher-level API that makes review the code easier.
2020-06-17 10:03:35 -04:00
..
xamarin Convert Registrar.WriteUnmanagedDescription to use GCHandle. 2020-05-04 11:31:19 +02: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 [runtime] Support automatic GCHandle -> MonoObject* conversion for parameters and return values when calling managed delegates. 2020-05-04 11:22:26 +02:00
EXCEPTIONS.md [runtime] Improve documentation about exceptions a little bit. 2016-06-08 20:11:07 +02:00
Makefile [dotnet] Ship libxamarin.dylib and friends. (#8830) 2020-06-15 17:47:18 +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] Zeroize dummy member of structure in binding-generator (#7411) 2019-11-12 21:03:56 +01: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. (#8720) 2020-06-02 08:18:24 +02:00
bindings.m [runtime] Remove Classic code. (#8720) 2020-06-02 08:18:24 +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] Support automatic GCHandle -> MonoObject* conversion for parameters and return values when calling managed delegates. 2020-05-04 11:22:26 +02:00
delegates.t4 Convert Runtime.CreateDelegateProxy to use GCHandle. 2020-05-04 11:31:19 +02:00
exports.t4 [runtime] Throw a OutOfMemoryException when processing parameters (#7308) 2019-10-25 15:49:22 -04:00
extension-main.m [runtime] Clean up public symbols. Fixes #5124. (#5155) 2018-11-21 11:48:15 -05: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 [runtime] Simplify string code inside launcher by using ObjC (#8859) 2020-06-17 10:03:35 -04: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 [Mac] Add support for os x extensions (#83) 2016-05-25 17:20:33 -04:00
mono-runtime.h.t4 [runtime] Add GCHandle pointer-sized API. 2020-05-04 11:31:19 +02:00
mono-runtime.m.t4 [runtime] Replace custom string concatenation inside `mono-runtime.m.t4` (#8865) 2020-06-16 13:26:58 -04:00
monotouch-debug.h [Runtime] Move some of the changes back to int. (#7529) (#7606) 2019-12-16 22:06:51 -05:00
monotouch-debug.m [runtime] Only include debug over HTTP for watchOS devices (#8828) 2020-06-10 16:27:15 -04:00
monotouch-main.m Wrap mono_gc_init_finalizer_thread() call with now-needed coop GC state transition. (#8242) 2020-03-31 09:28:02 +02: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 Merge master into d16-5 2019-11-08 10:21:12 -05: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 [Runtime] Enable the -Wsign-conversion on runtime.m files. (#7474) 2019-11-21 09:42:17 -05:00
runtime.m Convert Runtime.GetNullableType to use GCHandle. 2020-05-04 11:31:19 +02:00
shared.h [runtime] Use newer atomic functions. (#7119) 2019-09-27 07:15:59 +02:00
shared.m [Runtime] Enable the -Wsign-conversion warnings flag and fix some of the warnings. (#7405) 2019-11-12 15:10:16 -05: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 [Runtime] Move some of the changes back to int. (#7529) (#7606) 2019-12-16 22:06:51 -05: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 [runtime] Put LOGZ directive in a header to not duplicate it everywhere. (#6001) 2019-05-06 19:29:28 +02:00
trampolines-internal.h [Runtime] Move some of the changes back to int. (#7529) (#7606) 2019-12-16 22:06:51 -05:00
trampolines-invoke.m Convert Registrar.WriteUnmanagedDescription to use GCHandle. 2020-05-04 11:31:19 +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 [Runtime] Enable the -Wsign-conversion on trampolines-varargs files. (#7428) 2019-11-14 14:35:27 -05: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 [Runtime] Enable the -Wsign-conversion on trampolines-x86_64.m files. (#7455) 2019-11-15 14:34:36 -05:00
trampolines.m Convert Registrar.WriteUnmanagedDescription to use GCHandle. 2020-05-04 11:31:19 +02:00
xamarin-support.m [Runtime] Move some of the changes back to int. (#7529) (#7606) 2019-12-16 22:06:51 -05: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