Alexander Kyte [Mon, 1 Aug 2016 20:41:45 +0000 (16:41 -0400)]
Merge pull request #3269 from alexanderkyte/silence_zero_len
[runtime] Disable noisy warning
Aleksey Kliger [Mon, 1 Aug 2016 20:13:00 +0000 (16:13 -0400)]
[test] Fix sporadic Mono.Debugger.Soft ThreadpoolIOsinglestep failure.
ReadAsync size arg should not be greater than array.Length - offset.
Zoltan Varga [Mon, 1 Aug 2016 19:36:58 +0000 (15:36 -0400)]
Fix the build.
Zoltan Varga [Mon, 1 Aug 2016 19:22:57 +0000 (15:22 -0400)]
[runtime] Implement WaitForPendingFinalizers used cond vars instead of io-layer events. (#3315)
Alexander Köplinger [Mon, 1 Aug 2016 18:25:16 +0000 (20:25 +0200)]
Bump to include the F# bockbuild patch
Zoltan Varga [Mon, 1 Aug 2016 17:11:30 +0000 (13:11 -0400)]
[arm] Use soft breakpoints on watchos.
Ludovic Henry [Mon, 1 Aug 2016 16:17:09 +0000 (18:17 +0200)]
Merge pull request #3342 from ludovic-henry/gc-domain-finalizer-sem
[gc] Replace domain finalizer request cond+mutex by a semaphore
Aleksey Kliger (λgeek) [Mon, 1 Aug 2016 14:41:37 +0000 (10:41 -0400)]
Merge pull request #3335 from lambdageek/dev/system-reflection-assembly
[reflection] Move AssemblyName to managed
Marek Safar [Mon, 1 Aug 2016 11:12:44 +0000 (13:12 +0200)]
[Facades] Emit symbol files for lib like facades
Alexander Köplinger [Mon, 1 Aug 2016 10:12:29 +0000 (12:12 +0200)]
[man] Fix typo in environment variable name
The section was added in
410a200ecd07f5e53ffea858d204b3bbf88d311d but with the wrong name.
Ludovic Henry [Sat, 30 Jul 2016 10:08:02 +0000 (12:08 +0200)]
[gc] Fix timeout in mono_domain_finalize
Ludovic Henry [Fri, 29 Jul 2016 23:09:18 +0000 (01:09 +0200)]
[gc] Ensure we clean the DomainFinalizationReq
Ludovic Henry [Fri, 29 Jul 2016 22:40:13 +0000 (00:40 +0200)]
[gc] Replace domain finalizer request cond+mutex by a semaphore
This is possible because we only wait for it at one place, and only post it at one other place.
Zoltan Varga [Sat, 30 Jul 2016 05:12:46 +0000 (05:12 +0000)]
[arm] Implement support soft breakpoints + AOT.
Zoltan Varga [Sat, 30 Jul 2016 05:12:19 +0000 (05:12 +0000)]
[sdb] Fix an aot assert.
Rodrigo Kumpera [Fri, 10 Jun 2016 23:38:40 +0000 (16:38 -0700)]
[corlib] Bring AssemblyName(string) to the happy C# world.
Rodrigo Kumpera [Fri, 10 Jun 2016 20:31:10 +0000 (13:31 -0700)]
[corlib] Move Assembly::GetName to be implemented in managed.
This involves a few steps.
First define MonoAssemblyName in RuntimeStructs.cs
Then add some helped to decode blob arrays and handle hex digits.
Finally, move the actual implementation from native to managed.
Aleksey Kliger (λgeek) [Fri, 29 Jul 2016 20:05:32 +0000 (16:05 -0400)]
Merge pull request #3320 from lambdageek/dev/reflection-in-managed
[reflection] Marshal name strings from managed
Aleksey Kliger [Tue, 19 Jul 2016 23:22:43 +0000 (19:22 -0400)]
[reflection] Marshal name arg of RuntimeType.GetNestedTypes in managed code
Also do the name unmangling on the managed side.
Aleksey Kliger [Fri, 15 Jul 2016 19:55:52 +0000 (15:55 -0400)]
[reflection] RuntimeType.GetNestedTypes in managed
Aleksey Kliger [Tue, 19 Jul 2016 22:46:29 +0000 (18:46 -0400)]
[reflection] Marshal name arg to some RuntimeType search methods
Marshal the name argument of Get{Methods,Properties}ByName,Get{Fields,Events}
in managed code.
Cleanup the corresponding icalls.
Aleksey Kliger [Tue, 19 Jul 2016 21:51:48 +0000 (17:51 -0400)]
[corlib] Add Mono.SafeStringMarshal struct
Allows safe allocation of native utf8 char* strings from managed
strings.
using (var h = new SafeStringMarshal (str)) {
/* use h.Value IntPtr */
} // g_free'd by h.Dispose ()
Marek Safar [Fri, 29 Jul 2016 13:20:08 +0000 (15:20 +0200)]
[mcs] Recursive interface declaration check is needed for interfaces only. Fixes #42198
Marek Safar [Fri, 29 Jul 2016 12:49:44 +0000 (14:49 +0200)]
[mcs] Do exactly matching expression check for anonymous methods with successfully inferred return type only. Fixes #42611
Ludovic Henry [Fri, 29 Jul 2016 10:35:44 +0000 (12:35 +0200)]
Revert "[runtime] Add documentation to mono-os-{mutex,cond,sem} + Move to .c file"
This reverts commit
9ba062e5a183f3ace3a21e2e3d240adc3db0e5a4.
Ludovic Henry [Thu, 28 Jul 2016 22:06:54 +0000 (00:06 +0200)]
[gc] mono_os_cond_timedwait returns -1 on timeout, not ETIMEDOUT
Ludovic Henry [Thu, 28 Jul 2016 22:05:49 +0000 (00:05 +0200)]
[runtime] Add documentation to mono-os-{mutex,cond,sem} + Move to .c file
Aleksey Kliger [Thu, 28 Jul 2016 20:26:21 +0000 (16:26 -0400)]
[reflection] Plug more leaks.
Marek Habersack [Thu, 28 Jul 2016 17:24:25 +0000 (19:24 +0200)]
Fix a cut'n'paste error
Rodrigo Kumpera [Thu, 28 Jul 2016 15:21:01 +0000 (11:21 -0400)]
Merge pull request #3338 from lambdageek/dev/plug-ptrarray-leak
[reflection] Don't leak GPtrArray internal array
Alex Rønne Petersen [Thu, 28 Jul 2016 15:08:26 +0000 (17:08 +0200)]
Merge pull request #3334 from alexrp/arm-cpu-detect-fix
[arm] Also check the 'model name' line for the architecture version.
Aleksey Kliger [Thu, 28 Jul 2016 14:59:14 +0000 (10:59 -0400)]
[corlib] change Mono.SafeGPtrArrayHandle to a struct
Don't GC allocate short-lived internal garbage.
Aleksey Kliger [Thu, 28 Jul 2016 14:53:06 +0000 (10:53 -0400)]
[reflection] Don't leak GPtrArray internal array
`g_ptr_array_free (..., FALSE)` was the wrong thing here. We always
want TRUE in our use cases.
Marek Safar [Thu, 28 Jul 2016 12:09:45 +0000 (14:09 +0200)]
[mcs] Add codegen for compound assigment of complex expressions with concatenated string using await inside params arguments. Fixes #42224
Alex Rønne Petersen [Thu, 28 Jul 2016 02:32:19 +0000 (04:32 +0200)]
[arm] Make HAVE_ARMV{5,6,7} macros override hwcap detection.
This is necessary on weird devices where the hwcap code might fail to detect
the ARM version it's running on (usually caused by differences in /proc/cpuinfo
output).
Vlad Brezae [Wed, 27 Jul 2016 20:04:34 +0000 (23:04 +0300)]
Merge pull request #2961 from schani/fix-sgen-refactoring
SGen fixes and refactorings
Vlad Brezae [Wed, 27 Jul 2016 19:59:27 +0000 (22:59 +0300)]
Merge pull request #3328 from BrzVlad/finalizer-thread-exited2
[sgen] Avoid popping the entire finalizer queues if finalizers are su…
Marek Safar [Wed, 27 Jul 2016 19:50:39 +0000 (21:50 +0200)]
[System.Core] Add MonoTODOAttribute to workaround linker bug with IVT from mscorlib
Alex Rønne Petersen [Wed, 27 Jul 2016 16:17:40 +0000 (18:17 +0200)]
[arm] Also check the 'model name' line for the architecture version.
Some Android devices for some reason have a 'model name' line instead of a
'Processor' line. On such devices, we would fail to detect the architecture
version at all, and end up thinking that it's ARMv4 (even if the runtime
was compiled for ARMv7).
Marek Safar [Wed, 27 Jul 2016 09:40:49 +0000 (11:40 +0200)]
[mcs] Detect constant switch statement fall-through. Fixes #42585
Marek Safar [Wed, 27 Jul 2016 07:40:11 +0000 (09:40 +0200)]
[Facades] Remove duplicate System.IO.Compression
Zoltan Varga [Wed, 27 Jul 2016 00:32:30 +0000 (20:32 -0400)]
[sdb] Explicitly encode in the JIT debug info whenever there is precise information about variable locations instead of checking whenever the method has seq points. Fixes #42750.
Vlad Brezae [Mon, 25 Jul 2016 17:40:59 +0000 (20:40 +0300)]
[sgen] Avoid popping the entire finalizer queues if finalizers are suspended
When we shutdown we set suspend_finalizers flag in metadata so we no longer run any finalizers. After recent changes, we avoid traversing gc hashes for finalizer enqueuing when this flag is set. The counterpart, popping the queues empty (even without running the finalizers) can still take some time, especially since we lock for each entry. Exit early from this loop if we no longer need to run finalizers.
Achieve this by setting a new flag inside sgen, instead of passing the address of suspend_finalizers all the time to the sgen api.
Aleksey Kliger (λgeek) [Tue, 26 Jul 2016 16:47:45 +0000 (12:47 -0400)]
Merge pull request #3199 from lambdageek/dev/proxy-setter
[remoting] Convert mono_store_remote_field_new_checked to managed code
Marek Safar [Tue, 26 Jul 2016 15:44:28 +0000 (17:44 +0200)]
[mcs] Report interpolated strings feature. Fixes #42410
Marek Safar [Tue, 26 Jul 2016 14:26:02 +0000 (16:26 +0200)]
Merge pull request #3330 from madewokherd/compactframework
Remap the Compact Framework PublicKeyToken for assemblies it ships.
Marek Safar [Tue, 26 Jul 2016 14:13:30 +0000 (16:13 +0200)]
[System.Text.Encoding.CodePages] Small improvements
Marek Safar [Tue, 26 Jul 2016 13:08:43 +0000 (15:08 +0200)]
[mono-api-info] Add contract-api option
Marek Safar [Tue, 26 Jul 2016 13:06:46 +0000 (15:06 +0200)]
[mono-api-html] Ignore more non breaking virtual changes when enabled
Marek Safar [Tue, 26 Jul 2016 13:05:18 +0000 (15:05 +0200)]
[bcl] Update some of .net apis
Ludovic Henry [Wed, 13 Jul 2016 11:36:02 +0000 (13:36 +0200)]
[semaphore] Return error for mono_os_sem_timedwait
Ludovic Henry [Wed, 13 Jul 2016 11:15:24 +0000 (13:15 +0200)]
[semaphore] Make mono_os_semaphore_* functions return more meaningful values
By asserting on error, we ensure that we return from these functions only when successfull, or when it makes sense to return an error (for example, timedwait return -1 only on timeout or interrupt).
Ludovic Henry [Wed, 13 Jul 2016 11:10:01 +0000 (13:10 +0200)]
[mutex] Make mono_os_mutex_* functions return more meaningful value
By asserting on error, we ensure that we return from these functions only when successfull, or when it makes sense to return an error (for example, timedwait return -1 only on timeout).
Alexander Köplinger [Tue, 26 Jul 2016 11:30:51 +0000 (13:30 +0200)]
Merge pull request #3327 from rolfbjarne/bug41745
[System*] Disable tests that require working networking stack on watchOS.
Ludovic Henry [Tue, 26 Jul 2016 11:22:34 +0000 (13:22 +0200)]
[threadpool-ms] Fix use-after-unloaded of domain
The following scenario might happen:
- thread A: returns from tpdomain D1, then parks
- thread B: returns from tpdomain D1, D1 is unloading so it's removed with `domain_remove`
- thread A: unparks, calls `domain_get_next` with tpdomain D1
- domain_get_next asserts as it can't find tpdomain D1 in the list of domains
To fix that, we simply set the previous_tpdomain to NULL when unparking.
Rolf Bjarne Kvinge [Fri, 1 Jul 2016 11:12:19 +0000 (13:12 +0200)]
[System*] Add category for tests that use API that require BSD sockets.
We don't have access to BSD sockets on watchOS, so that API
doesn't work.
With this category we'll be able to exclude these tests.
Alexander Köplinger [Tue, 26 Jul 2016 08:56:27 +0000 (10:56 +0200)]
Merge pull request #3331 from lambdageek/dev/test-for-42625
[debugger-agent] Regression test for #42625
Alexander Köplinger [Tue, 26 Jul 2016 08:49:19 +0000 (10:49 +0200)]
Merge pull request #3262 from lindenlab/add_continuations_test
Added Mono.Tasklets test
Alexander Kyte [Tue, 26 Jul 2016 05:02:25 +0000 (01:02 -0400)]
[runtime] Accomplish BITCODE build symbol sharing with only make (#3329)
Dolphin Hawkins [Fri, 8 Jul 2016 23:47:45 +0000 (16:47 -0700)]
Added Mono.Tasklets test
Aleksey Kliger [Mon, 25 Jul 2016 21:25:33 +0000 (17:25 -0400)]
[debugger-agent] Regression test for #42625
Check that we can suspend I/O blocked threadpool workers in coop GC mode.
Alexander Köplinger [Mon, 25 Jul 2016 22:43:03 +0000 (00:43 +0200)]
[ci] Don't cd in run-test-acceptance-tests.sh
The other scripts like TESTCMD rely on paths being based off of the repo root.
Alexander Köplinger [Mon, 25 Jul 2016 21:44:37 +0000 (23:44 +0200)]
[ci] Fix typo in run-jenkins.sh
Vincent Povirk [Mon, 25 Jul 2016 21:17:50 +0000 (16:17 -0500)]
Remap the Compact Framework PublicKeyToken for assemblies it ships.
Alexander Kyte [Mon, 25 Jul 2016 20:32:29 +0000 (16:32 -0400)]
Merge pull request #3324 from alexanderkyte/threads_unhandled_exc
[runtime] Call unhandled exception handler explicitly to fix for bitcode
Alexander Köplinger [Mon, 25 Jul 2016 20:31:05 +0000 (22:31 +0200)]
[acceptance-tests] Remove folders from Roslyn script that we now ship after
8f130a6e17c372
Alexander Köplinger [Mon, 25 Jul 2016 20:05:02 +0000 (22:05 +0200)]
[ci] Move acceptance-tests script from Jenkins into the repo
Yay, less state on Jenkins!
Alexander Köplinger [Mon, 25 Jul 2016 19:02:24 +0000 (21:02 +0200)]
Bump Mono version to 4.7.0
Mark Probst [Sat, 2 Apr 2016 22:08:16 +0000 (15:08 -0700)]
[sgen] Fix and simplify some debugging stuff.
Mark Probst [Sat, 2 Apr 2016 15:40:37 +0000 (08:40 -0700)]
[sgen] Document sgen-copy-object.h
Mark Probst [Wed, 30 Mar 2016 21:05:28 +0000 (14:05 -0700)]
[sgen] Fix major collection time accounting.
This was from when we did a nursery collection as part of the
finishing collection pause. Now that we don't do that anymore, we
underaccount major collection times.
Mark Probst [Wed, 1 Jun 2016 23:37:28 +0000 (16:37 -0700)]
[sgen] Only do fence when concurrent collection is running.
The store/store fence incurs quite a high cost, so we only want it to
run when absolutely necessary. The most efficient way is to
separately compile nursery object operations for when the concurrent
collector is running, so there has to be no dynamic check.
In the future we might want to try batching updates of references to
moved objects so we have to do only one fence per batch.
Mark Probst [Sun, 3 Apr 2016 15:26:42 +0000 (08:26 -0700)]
[sgen] Missing store/store fence.
Mark Probst [Sat, 2 Apr 2016 03:04:37 +0000 (20:04 -0700)]
[sgen] Fix whole heap check.
Mark Probst [Tue, 29 Mar 2016 23:03:10 +0000 (16:03 -0700)]
[sgen] Make unnecessary stack check into assertion.
Mark Probst [Thu, 31 Mar 2016 19:22:43 +0000 (12:22 -0700)]
[sgen] Don't crash in binary protocol flush when forcing.
Mark Probst [Thu, 31 Mar 2016 19:07:05 +0000 (12:07 -0700)]
[sgen] Flush binary protocol buffers when missing remsets.
The missing remset check uses the binary protocol to log missing
remsets it found. Debugging is easier if we don't have to manually
flush the binary protocol.
Mark Probst [Tue, 29 Mar 2016 22:21:23 +0000 (15:21 -0700)]
[sgen] Remove stupid typedef.
Mark Probst [Tue, 29 Mar 2016 22:04:01 +0000 (15:04 -0700)]
[sgen] Get rid of the global gray queue.
Mark Probst [Tue, 29 Mar 2016 20:58:37 +0000 (13:58 -0700)]
[sgen] Pass GC thread gray queue into jobs.
Mark Probst [Tue, 29 Mar 2016 20:02:11 +0000 (13:02 -0700)]
[sgen] Don't expose the worker's gray queue.
Mark Probst [Thu, 31 Mar 2016 04:04:44 +0000 (21:04 -0700)]
[sgen] Give remset consistency check a proper name, and do it more often.
Mark Probst [Thu, 31 Mar 2016 03:55:48 +0000 (20:55 -0700)]
[sgen] Don't be too fussy about missing remsets to pinned objects.
If a thread is interrupted after a reference write but before the corresponding
write barrier, the remset will be missing, but the object will be pinned.
Alexander Kyte [Sat, 23 Jul 2016 06:41:11 +0000 (02:41 -0400)]
[runtime] Call unhandled exception handler explicitly to fix for bitcode
Alexander Kyte [Mon, 25 Jul 2016 16:02:07 +0000 (12:02 -0400)]
Merge pull request #3325 from alexanderkyte/fix_bitcode_mini
[mobile_static] Pass correct MONO_LLVMONLY for bitcode script
Alexander Köplinger [Mon, 25 Jul 2016 12:05:16 +0000 (14:05 +0200)]
[bcl] Implement System.Text.Encoding.CodePages.CodepagesEncodingProvider in the facade
Alexander Köplinger [Mon, 25 Jul 2016 10:32:13 +0000 (12:32 +0200)]
Fix Windows build broken in
2c061c18852
Zoltan Varga [Sun, 24 Jul 2016 21:19:27 +0000 (17:19 -0400)]
[runtime] Implement the GC domain finalization event using conditional variables instead of an io-layer event. (#3316)
Alexander Kyte [Sun, 24 Jul 2016 06:46:23 +0000 (02:46 -0400)]
[mobile_static] Pass correct MONO_LLVMONLY for bitcode
Zoltan Varga [Fri, 22 Jul 2016 22:25:59 +0000 (18:25 -0400)]
[runtime] Abort instead of stopping background threads on shutdown. Hopefully fixes #41644. (#3323)
Martin Baulig [Wed, 20 Jul 2016 21:06:03 +0000 (17:06 -0400)]
[System]: Fix SystemCertificateValidator.EvaluateSystem() on Android. Fixes #41290.
After the latest code changes, we may land here with `errors == SslPolicyErrors.None`,
so we need to make sure that we actually set it to `RemoteCertificateChainErrors` if
the system validator returns an error.
(cherry picked from commit
b4304354b149334e5ddd11c4c143aac64f46fe03)
Alexander Köplinger [Fri, 22 Jul 2016 12:20:45 +0000 (14:20 +0200)]
Merge pull request #3318 from akoeplinger/cleaner-mini-nunit
[mini] Explicitly turn nunit output on or off based on variable
Alexander Köplinger [Thu, 21 Jul 2016 23:46:28 +0000 (01:46 +0200)]
Merge pull request #3319 from akoeplinger/fix-mono.csharp
[Mono.CSharp] Fix test .sources to include ASTVisitorTest.cs
João Matos [Thu, 21 Jul 2016 23:44:38 +0000 (00:44 +0100)]
Merge pull request #3322 from grendello/offsets-tool-xa
Modify the offsets dumper to work with Xamarin.Android
Vlad Brezae [Thu, 21 Jul 2016 23:15:28 +0000 (02:15 +0300)]
[sgen] Fix build
Marek Habersack [Thu, 21 Jul 2016 22:35:17 +0000 (00:35 +0200)]
Modify the offsets dumper to work with Xamarin.Android
This is a handful of quick and dirty changes to make the utility
work with Xamarin.Android which uses a different directory layout
than monodroid.
Rodrigo Kumpera [Thu, 21 Jul 2016 22:35:06 +0000 (15:35 -0700)]
Merge pull request #3289 from BrzVlad/fix-critical-finalizer
[sgen] Fix critical/normal finalization order at domain unload
Rodrigo Kumpera [Thu, 21 Jul 2016 22:34:41 +0000 (15:34 -0700)]
Merge pull request #3321 from BrzVlad/fix-block-state-membar
[sgen] Add missing memory barrier
Rodrigo Kumpera [Thu, 21 Jul 2016 22:32:18 +0000 (15:32 -0700)]
Merge pull request #3290 from BrzVlad/fix-finalizer-tests
[tests] Fix finalizer tests
Alexander Köplinger [Thu, 21 Jul 2016 20:30:47 +0000 (22:30 +0200)]
[mini] Explicitly turn nunit output on or off based on variable
Alternative implementation to
8f092147bb604485c78c80b9781536ec995d51fe.
In CI we explicitly pass EMIT_NUNIT=1 and check-seq-points to generate the nunit xml and run the tests,
locally those are omitted. This avoids needing to sniff for Jenkins/Wrench variables.
Same for
a9eec21d62ecd1da3929cdbfea872bfc4d22134b, but we already pass V=1 in Jenkins.