xamarin-macios/runtime
Rolf Bjarne Kvinge 1d17cc6390 Add support for debugging over http. Fixes #41554.
The watchOS device has limited networking support; in particular
it does not allow inbound/output network connections using 'bind'
(kernel-level sandbox restrictions).

This means that we can't use BSD sockets to connect to the debugger
in the IDE on the desktop. Instead we create an http tunnel that
knows how to convert socket send/recv data into http requests on
both sides.

https://bugzilla.xamarin.com/show_bug.cgi?id=41554
2016-09-01 16:55:49 +02:00
..
xamarin [XM] Add support for disabling lldb attach on crash (#670) 2016-08-25 13:06:38 -05:00
.gitignore [mtouch/runtime] Implement support for tvOS extensions. 2016-04-25 18:15:02 -04:00
COOP.md Initial review pass for COOP for watchOS. 2016-05-26 17:47:10 +02:00
Delegates.cs.t4 [runtime] Handle any exceptions whenever we return from managed code. 2016-06-08 20:05:54 +02:00
EXCEPTIONS.md [runtime] Improve documentation about exceptions a little bit. 2016-06-08 20:11:07 +02:00
Makefile Create iOS 32-bit dylibs with min iOS version 8.0. Fixes #43102. (#731) 2016-09-01 15:45:23 +02:00
README.md Initial review pass for COOP for watchOS. 2016-05-26 17:47:10 +02:00
bindings-generator.cs [runtime] Generated binding wrappers that catch ObjC exceptions are supposed to always convert to managed exceptions. (#133) 2016-06-06 14:33:37 +02:00
bindings-generator.csproj Build our runtime. 2016-04-24 14:47:24 -04:00
bindings.h Build our runtime. 2016-04-24 14:47:24 -04:00
bindings.m [runtime] Use xamarin_process_nsexception instead of xamarin_throw_ns_exception in our generated bindings. (#84) 2016-05-26 13:36:56 +02:00
delegates.h.t4 Build our runtime. 2016-04-24 14:47:24 -04:00
delegates.inc.t4 Build our runtime. 2016-04-24 14:47:24 -04:00
delegates.t4 [runtime] Handle any exceptions whenever we return from managed code. 2016-06-08 20:05:54 +02:00
exports.t4 [runtime] Set base directory and config file name for extensions. Fixes #42784. (#489) 2016-07-26 15:51:31 +02:00
extension-main.m [mtouch/runtime] Implement support for tvOS extensions. 2016-04-25 18:15:02 -04:00
launcher.h Build our runtime. 2016-04-24 14:47:24 -04:00
launcher.m [XM] Add support for disabling lldb attach on crash (#670) 2016-08-25 13:06:38 -05:00
libmonotouch.csproj Implement support for exception marshalling. 2016-05-17 11:23:48 +02:00
libxammac.csproj [Mac] Add support for os x extensions (#83) 2016-05-25 17:20:33 -04: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] Catch and process managed exceptions that are thrown in reverse P/Invoke (delegate) callbacks. 2016-06-08 20:05:54 +02:00
mono-runtime.m.t4 Build our runtime. 2016-04-24 14:47:24 -04:00
monotouch-debug.h [runtime] Only enable debugging on watchOS devices if a native debugger is also attached. 2016-09-01 16:55:47 +02:00
monotouch-debug.m Add support for debugging over http. Fixes #41554. 2016-09-01 16:55:49 +02:00
monotouch-main.m [runtime] Make sure to call mono_gc_init_finalizer_thread for watchOS. Fixes #42780. (#502) 2016-07-27 17:54:01 +02:00
monotouch-support.h [runtime] Add dummy _stret symbols for iOS/ARM64 (#66) 2016-05-18 16:51:45 -04:00
nsstring-localization.m Build our runtime. 2016-04-24 14:47:24 -04:00
product.h Build our runtime. 2016-04-24 14:47:24 -04:00
runtime-internal.h [runtime] Handle any exceptions whenever we return from managed code. 2016-06-08 20:05:54 +02:00
runtime.m [XM] Add support for disabling lldb attach on crash (#670) 2016-08-25 13:06:38 -05:00
shared.h Implement support for exception marshalling. 2016-05-17 11:23:48 +02:00
shared.m [runtime] Use the same coop gc macro names as mono master does. 2016-05-26 17:47:10 +02:00
slinked-list.h Build our runtime. 2016-04-24 14:47:24 -04:00
trampolines-i386-asm.s [runtime] Make the existing trampolines exception-aware. 2016-05-17 11:20:26 +02: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 Build our runtime. 2016-04-24 14:47:24 -04:00
trampolines-i386.m [runtime] Handle any exceptions whenever we return from managed code. 2016-06-08 20:05:54 +02:00
trampolines-internal.h [runtime] Handle any exceptions whenever we return from managed code. 2016-06-08 20:05:54 +02:00
trampolines-invoke.m [runtime] Handle any exceptions whenever we return from managed code. 2016-06-08 20:05:54 +02:00
trampolines-varargs.h Build our runtime. 2016-04-24 14:47:24 -04:00
trampolines-varargs.m [runtime] Handle any exceptions whenever we return from managed code. 2016-06-08 20:05:54 +02:00
trampolines-x86_64-asm.s [runtime] Make the existing trampolines exception-aware. 2016-05-17 11:20:26 +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 Build our runtime. 2016-04-24 14:47:24 -04:00
trampolines-x86_64.m [runtime] Handle any exceptions whenever we return from managed code. 2016-06-08 20:05:54 +02:00
trampolines.m [runtime] Handle any exceptions whenever we return from managed code. 2016-06-08 20:05:54 +02:00
xamarin-support.m Initial review pass for COOP for watchOS. 2016-05-26 17:47:10 +02: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