Граф коммитов

4258 Коммитов

Автор SHA1 Сообщение Дата
Alex Soto a8e5fc5413
[Intents] Fix xtro output (#3512) (#3520) 2018-02-19 11:55:42 -06:00
Sebastien Pouliot 44425878c2
Bump mono 2017-12 to head, includes JIT fix for csc optimization blocking PR 3393 (#3530)
Commit list for mono/mono:

* mono/mono@177997b063 [sdks] Fix for XA integration (#7108)
* mono/mono@c8845164ad Merge more SDK changes from mono master. (#7090)
* mono/mono@ac87945049 Revert "Merge more SDK changes from mono master." (#7106)
* mono/mono@5ef368bb1e [sdks] Fix for XA integration (#7092)
* mono/mono@c67ec40879 Merge more SDK changes from mono master. (#7090)
* mono/mono@fd1fd05f18 * Generalize commit 0c6932a985175a5cf0cbc59ffd3af4abf3db248e to support LDARG{0|1|2|3}, LDLOC{0|1|2|3}, LDARGS, LDLOCS, LDARG and LDLOC instead of LDLOC and LDLOCS. Improves generated code similar to issue #60945 (#7062)
* mono/mono@936f7841d7 [ci] Disable monodoc tests on Windows for now
* mono/mono@9a2f778a91 [coop] Disable failing tests on PR (#6472)
* mono/mono@96eee2f901 Disable some PngCodecTest that have trouble on CI right now
* mono/mono@28e047fd35 [debugger] disable StepOutAsync test because it's flaky
* mono/mono@0d51a8063b [sdks] Backport changes from master (#7084)
* mono/mono@b232a3929b Bump aot file format version because of 7cac757e60cd61aa070f7e0fffca225364f58c0c. (#7083)

Diff: fbc4f0546d...177997b063

https://bugzilla.xamarin.com/show_bug.cgi?id=60945
2018-02-19 12:19:03 -05:00
Rolf Bjarne Kvinge ae5b6631a9
[linker] Find linked away interfaces when resolving removed interfaces. Fixes #3513. (#3515) (#3524)
The linker might remove interfaces that have already been linked away. Make
sure to look for the TypeDefinition for such interfaces among the types that
have already been linked away.

Fixes https://github.com/xamarin/xamarin-macios/issues/3513.
2018-02-19 15:24:40 +01:00
Sebastien Pouliot eadb8376b8
Fix XM version for 15.7 (#3518) 2018-02-16 16:15:26 -05:00
Matt Sylvia 72d942be39 Branching for d15-7 2018-02-16 14:52:04 -05:00
Alex Soto 273824b3d7
[FinderSync] Fix xtro output (#3511)
This depends on https://github.com/xamarin/xamarin-macios/pull/2315
2018-02-16 11:48:11 -06:00
Rolf Bjarne Kvinge 75fa7b8e78
Bump the VSfM dependency to the latest d15-6 preview. (#3510)
It seems the d15-5 version of VSfM has a non-optimal startup path, where
launching vstool takes almost 4 minutes on the bots, making it difficult to
build & run tests within the allotted time for those tests:

    $ time /Applications/Visual\ Studio.app/Contents/MacOS/vstool help
    [...]
    real	3m30.172s

So bump to the latest d15-6 preview (which takes _only_ 12 seconds to launch
on my machine), hoping it will be enough to make tests build on the bots.
2018-02-16 17:42:44 +01:00
Manuel de la Pena 688b3020f9
[Foundation] Add missing NSLinguisticAnalysis category. Fixes 35009. (#3473)
* [Foundation] Add missing NSLinguisticAnalysis category. Fixes 35009.
2018-02-16 16:21:47 +01:00
Alex Soto 4cd3f5c2d9
[ImageKit] Fix xtro output (#3509) 2018-02-16 07:45:50 -06:00
Alex Soto 78650fb550
[CoreAudioKit] Fix macOS xtro output (#3508)
* [CoreAudioKit] Fix macOS xtro output

* Fix Midi typo

* Add trailing comma to enum value
2018-02-16 05:49:05 -06:00
Zoltan Varga 7c88610112 Remove the tvos cross compiler, use the normal ios cross compiler instead, they are the same. (#3492) 2018-02-16 10:45:22 +01:00
Alex Soto 45a8a0420d
[GLKit] Fixes macOS xtro output (#3507) 2018-02-15 22:40:18 -06:00
Alex Soto c03d3b158e
[Security] Fixes CS0162: Unreachable code detected in Certificate.cs (#3506)
Our build correctly issues

	Security/Certificate.cs(556,4): warning CS0162: Unreachable code detected
2018-02-15 21:57:25 -06:00
Alex Soto 6e324d37f9
[GameController] Fixes macOS xtro output (#3505) 2018-02-15 21:56:51 -06:00
Alex Soto 4ddc2dcfed
[CoreLocation] Fix macOS xtro output (#3504) 2018-02-15 20:58:40 -06:00
Sebastien Pouliot b170a4ec1a
Bump mono to head of 2017-12 (#3501)
Commit list for mono/mono:

* mono/mono@fbc4f0546d Bump to cecil:mono-2017-12

Diff: d0c1e9d32b...fbc4f0546d
2018-02-15 21:54:52 -05:00
Rolf Bjarne Kvinge c838a11c4d
Merge pull request #3495 (Implement support for optimizing away the dynamic registrar) from rolfbjarne/full-static-registrar
Implement support for optimizing away the dynamic registrar.

* Add a new property (Runtime.DynamicRegistrationSupported) that indicates at
  runtime whether dynamic registration is available.

* Check this new property whenever we need dynamic registration.

* Add an optimization to mtouch/mmp that detects whether dynamic registration
  is required, and if not, changes Runtime.DynamicRegistrationSupported to
  return false.

* Add an optimization to mtouch/mmp that inlines
  Runtime.DynamicRegistrationSupported as a constant value.

The end result is that the linker will link away the dynamic registrar if
mtouch/mmp detects that it's not needed.

Benchmark
---------

I've compared the size of entire apps built for device:

|test                          | Before |  After |   Diff |     % |
|:-----------------------------|-------:|-------:|-------:|------:|
|[monotouch-test/Release][1]   | 95.7mb | 95.0mb | -680kb | -0.7% |
|[link sdk/Release][2]         | 21.2mb | 20.9mb | -245kb | -1.2% |
|[minimalistic app/Release][3] | 4.58mb | 4.32mb | -259kb | -5.7% |

[1]: https://gist.github.com/rolfbjarne/3871e36d2de8db1a8eee1d9f9276d3d2#monotouch-test-release-wall-optimizations-enabled
[2]: https://gist.github.com/rolfbjarne/3871e36d2de8db1a8eee1d9f9276d3d2#link-sdk
[3]: https://gist.github.com/rolfbjarne/3871e36d2de8db1a8eee1d9f9276d3d2#minimalistic-app
2018-02-15 23:56:00 +01:00
Vincent Dondain 94ec17e875
[xamarin-analysis] Add XIA0007 to docs/website/xamarin-ios-analysis.md (#3498) 2018-02-15 14:14:35 -05:00
Sebastien Pouliot 013de9c441
Bump mono to head of 2017-12 (#3493)
* Bump mono to head of 2017-12

Commit list for mono/mono:

* mono/mono@f12e936ca3 [packaging] Remove FSharp patches that are no longer required
* mono/mono@3977339940 [packaging] Windows: remove FSharp.Core from GAC (#6345)
* mono/mono@cb15effa2f Emit the weak field indexes table using the MONO_AOT_TABLE code, so it works with separate aot data files/bitcode.
* mono/mono@2ad3f0bf9e Bug 60088 - Assertion at ../../../../external/mono/mono/mini/debugger-agent.c:4765, condition `array->len == 1' not met (#7004)
* mono/mono@899599b951 Bump nunitlite
* mono/mono@3da56339ec [2017-12] Update F# to 4.1.33 (#7020)
* mono/mono@a0af42ab18 [corlib] Pass null-terminated string for logging (#6954)
* mono/mono@aab818fbf3 Revert mkbundle defaulting behavior made in ca8b8bd346

Diff: 4b1745401d...f12e936ca3

* Bump again (to pickup nunit-lite revert) to head of 2017-12

    Commit list for mono/mono:
    
    * mono/mono@d0c1e9d32b Revert nunit-lite to earlier version
    * mono/mono@778a70ba01 Add denied assembly versions from previous ms extensions nugets
    * mono/mono@f83b8da83e Bump to cecil:master
    
    Diff: f12e936ca3...d0c1e9d32b
2018-02-15 13:43:52 -05:00
Alex Soto 47163efdb6
[Tests] Fixes CertificateTest for ios < 10 (#3500)
`SecKeyCopyAttributes` is iOS 10+ and is used by `GetAttributes`
2018-02-15 11:47:37 -06:00
Rolf Bjarne Kvinge 4123bf7ede Merge remote-tracking branch 'origin/master' into full-static-registrar 2018-02-15 17:45:41 +01:00
Vincent Dondain a93a5a10eb
[xtro-sharpie] Fix typo in xtro README
Extra '`'.
2018-02-15 11:45:24 -05:00
Rolf Bjarne Kvinge 1e6b294210 [documentation] Update according to review. 2018-02-15 17:45:03 +01:00
Rolf Bjarne Kvinge a2b49f4bb5 [tests] Fix expected warning message for optimize warning test. 2018-02-15 17:45:02 +01:00
Rolf Bjarne Kvinge 40d96bf79b [tests] Skip MX2107 test for XM. 2018-02-15 17:45:02 +01:00
Alex Soto 2608528866
[QuickLookUI] Fixes macOS xtro output (#3475) 2018-02-15 09:08:39 -06:00
Alex Soto 3f14eeea44
[GameKit] Fixes macOS xtro output (#3491) 2018-02-15 08:58:58 -06:00
Rolf Bjarne Kvinge fafd0fa151 [ObjCRuntime] BlockLiteral.GetBlockForDelegate must be optimizable because it calls Runtime.DynamicRegistrationSupported.
Fixes this test:

    Xamarin.ApiTest.ApiTest.AlwaysOptimizable(iOS) : All methods calling optimizable API must be optimizable
    	The method System.IntPtr ObjCRuntime.BlockLiteral::GetBlockForDelegate(System.Reflection.MethodInfo,System.Object,System.String) calls System.Boolean ObjCRuntime.Runtime::get_DynamicRegistrationSupported(), but it does not have a [BindingImpl (BindingImplOptions.Optimizable)] attribute.

Also skip the BlockLiteral.SetupBlock optimization for this method, because
it's not optimizable (and thus produces a warning users can't ignore).
2018-02-15 15:58:02 +01:00
Rolf Bjarne Kvinge f2652b7a4a
[mmp/mtouch] Update project files after mono bump where files where moved. (#3494) 2018-02-15 15:29:58 +01:00
Rolf Bjarne Kvinge c664698b09 [mmp] Don't write to xamarin_supports_dynamic_registration in Classic, it's not there. 2018-02-15 12:26:23 +01:00
Rolf Bjarne Kvinge ab5e04a4c7 [mtouch/mmp] Log when determining whether the dynamic registrar can be removed. 2018-02-15 11:44:56 +01:00
Rolf Bjarne Kvinge 99adcfe4b4 [xharness] Set the right csproj value (MtouchLink) when changing the linker mode for XI projects. 2018-02-15 10:26:22 +01:00
Rolf Bjarne Kvinge 7912f44fa5 [xharness] Set the LINKALL define when linking all assemblies in monotouch-test. 2018-02-15 10:26:22 +01:00
Rolf Bjarne Kvinge ff737fe294 [linker] Add support for marking switch statements in the code optimizer. 2018-02-15 10:26:22 +01:00
Rolf Bjarne Kvinge 0bf081fcf7 [mtouch/mmp] Don't enable empty (inexistent) optimizations even when enabling all optimizations.
This makes passing `--optimize:all` not enable optimizations that don't exist
or isn't fully implemented for a platform.
2018-02-15 10:25:31 +01:00
Rolf Bjarne Kvinge 8f23934a22 [tests][link all] Disable removal of the dynamic registrar, we need it for some tests. 2018-02-15 10:24:31 +01:00
Rolf Bjarne Kvinge 9cec7d3d59 [linker] Add support for removing exception handlers from optimized code.
It seems LLVM freaks out if it finds unreachable exception handlers:

    * Assertion at ../../../../external/mono/mono/mini/mini-llvm.c:7406, condition `err == 0' not met
    Basic Block in function 'Xamarin_iOS_ObjCRuntime_Class_GetClassHandle_System_Type' does not have terminator!
    label %BB7_CALL_HANDLER_TARGET
2018-02-15 10:24:31 +01:00
Rolf Bjarne Kvinge 8d7f951ea3 [mmp] Don't support removal of the dynamic registrar for XM, it needs more work. 2018-02-15 10:24:31 +01:00
Rolf Bjarne Kvinge 04927888f5 [ObjCRuntime] TypeConverter.ToManaged requires the dynamic registrar. 2018-02-15 10:24:31 +01:00
Rolf Bjarne Kvinge 67d26cd1c3 [tests] Add an MX2107 test. 2018-02-15 10:24:30 +01:00
Rolf Bjarne Kvinge b4f0c8b729 [tests] Add test to ensure the dynamic registrar really is removed when we request it to be. 2018-02-15 10:24:30 +01:00
Rolf Bjarne Kvinge e4956ef2cf [ObjCRuntime] Look up managed types from the native class using information from the static registrar if possible. 2018-02-15 10:24:30 +01:00
Rolf Bjarne Kvinge 961878b80b [tests] Update tests to cope with removal of the dynamic registrar. 2018-02-15 10:24:30 +01:00
Rolf Bjarne Kvinge 9022c81861 [src] Sprinkle [BindingImpl (Optimizable)] on methods that call Runtime.DynamicRegistrationSupported. 2018-02-15 10:24:20 +01:00
Rolf Bjarne Kvinge d43561583d [tests] Augment the AlwaysOptimizable test to ensure methods that call Runtime.DynamicRegistrationSupported are also optimizable. 2018-02-15 10:23:26 +01:00
Rolf Bjarne Kvinge 44b677599d [runtime] Mark managed callback functions if they're only used in the dynamic registrar.
Mark managed callback functions if they're only used in the dynamic registrar,
and only initialize the corresponding delegate if the dynamic registrar is
available.

This will make it possible for the linker to remove those managed functions if
the dynamic registrar is being removed.
2018-02-15 10:18:32 +01:00
Rolf Bjarne Kvinge 92f8fab14b [mtouch/mmp] Add support for inlining calls to Runtime.DynamicRegistrarSupported and removal of the dynamic registrar. 2018-02-15 10:18:27 +01:00
Rolf Bjarne Kvinge 0c89cfd7e9 [ObjCRuntime] Add a DynamicRegistrarSupported property, and use it in a few places that require the dynamic registrar. 2018-02-15 10:12:05 +01:00
Rolf Bjarne Kvinge 5b040406dd [mmp/mtouch] Update project files after mono bump where files where moved. 2018-02-15 08:32:32 +01:00
Vincent Dondain 6e5ab47605
[system-dependencies] Provide sharpie url when warning about incorrect version (#3490) 2018-02-14 23:38:13 -05:00