xamarin-macios/runtime
Rolf Bjarne Kvinge aa8ded8e51
[runtime] Store assemblies' MVID in the generated static registrar code. (#15795)
This will increase app size a little bit: the space for the MVID + 4 bytes for each
assembly, but we'll be able to validate and show a helpful error message if the generated
static registrar code does not match the assembly loaded at runtime.

It's also a step toward per-assembly static registration (ref: #12067).
2022-09-08 10:34:05 +02:00
..
xamarin [runtime] Store assemblies' MVID in the generated static registrar code. (#15795) 2022-09-08 10:34:05 +02:00
.gitignore
COOP.md
Delegates.cs.t4
EXCEPTIONS.md
Makefile [runtime] Only build macOS libraries if we're building for macOS. (#15754) 2022-08-26 08:46:58 +02:00
README.md
Xamarin.framework-iphoneos.Info.plist
Xamarin.framework-iphonesimulator.Info.plist
Xamarin.framework-tvos.Info.plist
Xamarin.framework-tvsimulator.Info.plist
Xamarin.framework-watchos.Info.plist
Xamarin.framework-watchsimulator.Info.plist
bindings-generator.cs
bindings-generator.csproj
bindings.h [UIKit] Wrap the call to UIApplicationMain in a @try/@catch handler. (#15746) 2022-08-26 13:56:33 +02:00
bindings.m [UIKit] Wrap the call to UIApplicationMain in a @try/@catch handler. (#15746) 2022-08-26 13:56:33 +02:00
coreclr-bridge.m
delegates.h.t4
delegates.inc.t4
delegates.t4 [runtime] Use a custom native -> managed trampoline for calling NSObject.InvokeConformsToProtocol from the generated static registrar code. (#15830) 2022-09-02 15:54:34 +02:00
exports.t4
extension-main.m
frameworks.h
launcher.h
launcher.m
libmonotouch.csproj
libxammac.csproj
main-internal.h
mono-runtime.h.t4 [tools] Use MONO_AOT_MODE_INTERP_ONLY instead of MONO_AOT_MODE_INTERP for x86_64. (#15429) 2022-07-12 09:56:51 +02:00
mono-runtime.m.t4
monotouch-debug.h
monotouch-debug.m [runtime] Remove dead code. (#15479) 2022-07-13 20:33:40 +02:00
monotouch-main.m
monotouch-support.h
monovm-bridge.m Revert "[debugger] Work around a debugger issue when using the interpreter.". Fixes #15585. (#15827) 2022-09-01 20:49:18 +02:00
nsstring-localization.m
product.h
runtime-generated.h.t4
runtime-internal.h
runtime.m [runtime] Add some debugging aid to xamarin_release_managed_ref. (#15767) 2022-08-26 08:14:41 +02:00
shared.h
shared.m
slinked-list.h
trampolines-arm64-asm.s
trampolines-arm64-objc_msgSend.inc.s
trampolines-arm64-objc_msgSend.s
trampolines-arm64-objc_msgSendSuper.s
trampolines-arm64.h
trampolines-arm64.m
trampolines-i386-asm.s
trampolines-i386-objc_msgSend-copyframe.inc
trampolines-i386-objc_msgSend-post.inc
trampolines-i386-objc_msgSend-pre.inc
trampolines-i386-objc_msgSend.s
trampolines-i386-objc_msgSendSuper.s
trampolines-i386-objc_msgSendSuper_stret.s
trampolines-i386-objc_msgSend_stret.s
trampolines-i386.h
trampolines-i386.m
trampolines-internal.h
trampolines-invoke.m
trampolines-varargs.h
trampolines-varargs.m
trampolines-x86_64-asm.s
trampolines-x86_64-objc_msgSend-copyframe.inc
trampolines-x86_64-objc_msgSend-post.inc
trampolines-x86_64-objc_msgSend-pre.inc
trampolines-x86_64-objc_msgSend.s
trampolines-x86_64-objc_msgSendSuper.s
trampolines-x86_64-objc_msgSendSuper_stret.s
trampolines-x86_64-objc_msgSend_stret.s
trampolines-x86_64.h
trampolines-x86_64.m
trampolines.m
xamarin-support.m

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