Rolf Bjarne Kvinge [Thu, 28 Jan 2016 14:14:13 +0000 (15:14 +0100)]
[mono-api-html] Make it possible to hide/show non-breaking changes in the html output.
We now add data-is-[non-]breaking attributes to the generated
html elements, and then use some javascript logic to show/hide
non-breaking elements (and the javascript also looks in the
container elements show/hide containers that have only
non-breaking descendants).
Also use css classes/styles to colorize.
Rolf Bjarne Kvinge [Thu, 28 Jan 2016 12:13:25 +0000 (13:13 +0100)]
[mono-api-info] Add an is-override attribute to determine if a method is overriding another method.
Alexander Köplinger [Thu, 28 Jan 2016 14:16:46 +0000 (15:16 +0100)]
[xbuild] Use -api folder for 2.0/3.5/4.0 profiles as well
Similar to
e2a79ed88800493cb0444445a176d9c7febbfabe. Those profiles are only contract/reference assemblies since Mono 4.0.
Rolf Bjarne Kvinge [Thu, 28 Jan 2016 13:49:29 +0000 (14:49 +0100)]
Merge branch 'mono-api-info-improvements'
Rolf Bjarne Kvinge [Wed, 27 Jan 2016 16:47:09 +0000 (17:47 +0100)]
[mono-api-info] CreateAttributeMapping: don't create dictionaries unless there is something to put in them.
Rolf Bjarne Kvinge [Wed, 27 Jan 2016 16:41:14 +0000 (17:41 +0100)]
[mono-api-info] Rework AttributeData to use a static method instead of creating an instance every time.
Rolf Bjarne Kvinge [Wed, 27 Jan 2016 16:39:45 +0000 (17:39 +0100)]
[mono-api-info] Improve CleanupTypeName to not create 3 strings every time somethings needs to change.
Rolf Bjarne Kvinge [Wed, 27 Jan 2016 16:38:40 +0000 (17:38 +0100)]
[mono-api-info] First filter, then order, and use ordinal comparison.
Rolf Bjarne Kvinge [Wed, 27 Jan 2016 16:37:11 +0000 (17:37 +0100)]
[mono-api-info] Rework SkipAttribute to use ordinal string comparison, and no string comparison unless needed.
Rolf Bjarne Kvinge [Wed, 27 Jan 2016 16:36:00 +0000 (17:36 +0100)]
[mono-api-info] Use ordinal string comparison. It's much faster.
Rolf Bjarne Kvinge [Wed, 27 Jan 2016 13:15:25 +0000 (14:15 +0100)]
[mono-api-info] Remove unused method.
Rolf Bjarne Kvinge [Wed, 27 Jan 2016 11:56:23 +0000 (12:56 +0100)]
[mono-api-info] Use XmlWriter instead of XmlDocument to make this faster.
Generating all the API references (in parallel) for Xamarin.iOS goes from
5.5s to 4.5s.
Marek Safar [Thu, 28 Jan 2016 13:19:18 +0000 (14:19 +0100)]
[xbuild] Set .net 4.5 target to 4.5 restricted api
Marek Safar [Thu, 28 Jan 2016 12:38:37 +0000 (13:38 +0100)]
[system] Add DeliveryFormat to SmtpSection. Fixes #37891
Rolf Bjarne Kvinge [Wed, 27 Jan 2016 11:07:24 +0000 (12:07 +0100)]
[mono-api-info] Add support for writing output to a file specified using a command line argument.
Marek Safar [Thu, 28 Jan 2016 12:08:11 +0000 (13:08 +0100)]
[mcs] Implements null operator for dynamic expressions. Fixes #37801, #37824
Zoltan Varga [Thu, 28 Jan 2016 08:03:35 +0000 (03:03 -0500)]
Merge pull request #2497 from ludovic-henry/monoerror-mono_gsharedvt_constrained_call
[runtime] Use MonoError for mono_gsharedvt_constrained_call
Sebastien Pouliot [Thu, 28 Jan 2016 03:10:40 +0000 (22:10 -0500)]
[System] Move HttpListenerResponse.GetStatusDescription to ease linking
The use of HttpResponseMessage.ReasonPhrase means:
* marking the HttpListenerResponse.GetStatusDescription method;
* marking the HttpListenerResponse type;
* which implements IDisposable, so it's Dispose method is marked
* marking the Close method...
from there a metric ton of code gets recursively marked to the point
where the whole SSL/TLS server code gets inside the app.
To avoid this we move the GetStatusDescription to a different
type that won't bring the end of the civilized world so fast.
Alexander Köplinger [Thu, 28 Jan 2016 00:23:52 +0000 (01:23 +0100)]
[System.Web] Fix another wrong test assembly name
Didn't catch that one in
180e745ccee4a80c9641a2e70235387e74b9eddb as it hides itself pretty well :)
Zoltan Varga [Thu, 28 Jan 2016 02:33:53 +0000 (21:33 -0500)]
Merge pull request #2527 from vargaz/jit-errors
[jit] Convert some of the error handling to use cfg->error instead of…
Alexander Köplinger [Wed, 27 Jan 2016 23:08:20 +0000 (00:08 +0100)]
Merge pull request #2526 from alexanderkyte/llvmonly_mobile_static_fixups
[mobile_static] Requested NunitLite comment and llvmonly configuration changes
Alexander Köplinger [Wed, 27 Jan 2016 21:11:35 +0000 (22:11 +0100)]
[bcl] Fix dll names and InternalsVisibleTo for test assemblies
The format of the test assembly name changed in
860334ff45a8d1c5886b8dbcfadaf28ac55b9393
from System.Web_test_net_4_x.dll to net_4_x_System.Web_test.dll.
This fixes all the places where the old name was used.
Alexander Köplinger [Wed, 27 Jan 2016 21:21:49 +0000 (22:21 +0100)]
Merge pull request #2523 from akoeplinger/fix-profiler-test-reporting
[profiler] Fix test reporting success even though a test failed
Zoltan Varga [Wed, 27 Jan 2016 21:01:41 +0000 (16:01 -0500)]
[jit] Convert some of the error handling to use cfg->error instead of cfg->exception_type.
Neale Ferguson [Wed, 27 Jan 2016 20:45:37 +0000 (15:45 -0500)]
Use S390_SET to get addresses rather than the previous more convoluted method
[jit] Add a new jit icall mono_interruption_checkpoint_from_trampoline () and use that instead of mono_thread_force_interruption_checkpoint () so the latter can go away eventually.
Alexander Kyte [Wed, 27 Jan 2016 20:48:25 +0000 (15:48 -0500)]
[mobile_static] Don't use gsharedvt with llvmonly
Alexander Kyte [Wed, 27 Jan 2016 20:28:05 +0000 (15:28 -0500)]
[nunitlite] Documented console .config usage
Alexander Kyte [Wed, 27 Jan 2016 20:10:56 +0000 (15:10 -0500)]
Merge pull request #2432 from alexanderkyte/compile_corlib_with_aot
[aot/bcl] Compile the BCL with AOT
Alexander Kyte [Wed, 13 Jan 2016 23:13:51 +0000 (18:13 -0500)]
[aot/bcl] Add Makefile configuration to build the bcl with aot, use it in mobile_static.
Alexander Kyte [Wed, 27 Jan 2016 20:09:29 +0000 (15:09 -0500)]
Merge pull request #2431 from alexanderkyte/tests_with_excludes
[mcs] Fix .sources/.excludes for tests, exclude corlib monotouch-excluded tests on mobile_static
Alexander Köplinger [Wed, 27 Jan 2016 19:15:44 +0000 (20:15 +0100)]
[profiler] Fix test reporting success even though a test failed
I noticed this in https://jenkins.mono-project.com/job/test-mono-pull-request-armhf/1715/ which reported success in the "profiler" test step,
even though the step actually reported errors:
```
MONO_PATH=/media/ssd/jenkins/workspace/test-mono-pull-request-armhf/mcs/class/lib/net_4_x perl ./ptestrunner.pl ../..
Checking test-alloc.exe with report ...
Checking test-busy.exe with report ...
Checking test-busy.exe with report,sample ...
Error: Missing thread Finalizer.
Error: Missing thread Main.
Error: Wrong loaded images 2.
Error: Not enough compiled method.
Error: Not enough compiled code.
Error: Missing thread BusyHelper.
Total errors: 6
Checking test-monitor.exe with report ...
Checking test-excleave.exe with report ...
Checking test-heapshot.exe with report,heapshot ...
Checking test-heapshot.exe with heapshot,output=-traces.mlpd ...
Checking test-traces.exe with output=-traces.mlpd ...
Checking test-traces.exe with nocalls,output=-traces.mlpd ...
make[1]: Leaving directory `/media/ssd/jenkins/workspace/test-mono-pull-request-armhf/mono/profiler'
make: Leaving directory `/media/ssd/jenkins/workspace/test-mono-pull-request-armhf/mono/profiler'
++ bc
+++ date +%s
++ echo
1453874768 -
1453874741
+ echo -e '*** end(27): profiler: \e[42mPassed\e[0m'
*** end(27): profiler: Passed
```
The culprit is that ptestrunner.pl checks whether $total_errors is non-zero to determin the process exit code.
This is wrong, as $total_errors is cleared before each test so unless the last test fails the exit code would always be zero.
Introduced a new $global_errors variable which is only incremented and never cleared to fix this.
Zoltan Varga [Wed, 27 Jan 2016 18:46:42 +0000 (13:46 -0500)]
Revert "[runtime] Use explicit loop checking to remove depth limitation of sequence point search."
This reverts commit
23ce21ede0d26d2815c670a11e6d870506b91dd0.
Revert this as it is non-linear and can take a lot of time for complicated cfg structures.
Rodrigo Kumpera [Wed, 27 Jan 2016 18:38:13 +0000 (13:38 -0500)]
Merge pull request #2520 from kumpera/loader-error-cleanup5
[mono-error] Another round of loader-error
monojenkins [Wed, 27 Jan 2016 16:15:23 +0000 (16:15 +0000)]
Merge pull request #2521 from akoeplinger/fix-sockettest-endconnect-error
[System] Fix error in new BeginConnectToIPV4EndPointUsingDualModelSocket test
It was added with
78c758494a04132c0965f8af82dd7370da5f4af1. The test fails on Jenkins:
```
Test Case Failures:
1) MonoTests.System.Net.Sockets.SocketTest.BeginConnectToIPV4EndPointUsingDualModelSocket : System.InvalidOperationException : EndConnect can only be called once per asynchronous operation
at System.Net.Sockets.Socket.ValidateEndIAsyncResult (IAsyncResult ares, System.String methodName, System.String argName) [0x0004a] in /var/lib/jenkins/workspace/test-mono-mainline/label/debian-amd64/mcs/class/System/System.Net.Sockets/Socket.cs:3412
at System.Net.Sockets.Socket.EndConnect (IAsyncResult result) [0x00006] in /var/lib/jenkins/workspace/test-mono-mainline/label/debian-amd64/mcs/class/System/System.Net.Sockets/Socket.cs:1584
at MonoTests.System.Net.Sockets.SocketTest.BeginConnectToIPV4EndPointUsingDualModelSocket () [0x0005d] in /var/lib/jenkins/workspace/test-mono-mainline/label/debian-amd64/mcs/class/System/Test/System.Net.Sockets/SocketTest.cs:4365
at (wrapper managed-to-native) System.Reflection.MonoMethod:InternalInvoke (System.Reflection.MonoMethod,object,object[],System.Exception&)
at System.Reflection.MonoMethod.Invoke (System.Object obj, BindingFlags invokeAttr, System.Reflection.Binder binder, System.Object[] parameters, System.Globalization.CultureInfo culture) [0x00038] in /var/lib/jenkins/workspace/test-mono-mainline/label/debian-amd64/mcs/class/corlib/System.Reflection/MonoMethod.cs:295
```
The reason is that BCCallback already calls EndConnect() so we need to remove it and just wait for the callback in the test itself.
@monojenkins merge
Marek Safar [Wed, 27 Jan 2016 15:56:31 +0000 (16:56 +0100)]
[mcs] Reset null operator barrier in parenthesis expression
Chris Hamons [Wed, 27 Jan 2016 14:51:24 +0000 (08:51 -0600)]
Fix serialization under XM 4.5 Target Framework
- System.Configuration.ConfigurationErrorsException: Failed to load configuration section for dataContractSerializer
- Fixes #36401 #38064
Alexander Köplinger [Wed, 27 Jan 2016 14:34:52 +0000 (15:34 +0100)]
[System] Fix error in new BeginConnectToIPV4EndPointUsingDualModelSocket test
It was added with
78c758494a04132c0965f8af82dd7370da5f4af1. The test fails on Jenkins:
```
Test Case Failures:
1) MonoTests.System.Net.Sockets.SocketTest.BeginConnectToIPV4EndPointUsingDualModelSocket : System.InvalidOperationException : EndConnect can only be called once per asynchronous operation
at System.Net.Sockets.Socket.ValidateEndIAsyncResult (IAsyncResult ares, System.String methodName, System.String argName) [0x0004a] in /var/lib/jenkins/workspace/test-mono-mainline/label/debian-amd64/mcs/class/System/System.Net.Sockets/Socket.cs:3412
at System.Net.Sockets.Socket.EndConnect (IAsyncResult result) [0x00006] in /var/lib/jenkins/workspace/test-mono-mainline/label/debian-amd64/mcs/class/System/System.Net.Sockets/Socket.cs:1584
at MonoTests.System.Net.Sockets.SocketTest.BeginConnectToIPV4EndPointUsingDualModelSocket () [0x0005d] in /var/lib/jenkins/workspace/test-mono-mainline/label/debian-amd64/mcs/class/System/Test/System.Net.Sockets/SocketTest.cs:4365
at (wrapper managed-to-native) System.Reflection.MonoMethod:InternalInvoke (System.Reflection.MonoMethod,object,object[],System.Exception&)
at System.Reflection.MonoMethod.Invoke (System.Object obj, BindingFlags invokeAttr, System.Reflection.Binder binder, System.Object[] parameters, System.Globalization.CultureInfo culture) [0x00038] in /var/lib/jenkins/workspace/test-mono-mainline/label/debian-amd64/mcs/class/corlib/System.Reflection/MonoMethod.cs:295
```
The reason is that BCCallback already calls EndConnect() so we need to remove it and just wait for the callback in the test itself.
Alexander Köplinger [Wed, 27 Jan 2016 11:29:45 +0000 (12:29 +0100)]
[System.Runtime.Caching] Bump timeout in tests to make them more reliable
Failed on Jenkins on ARM today:
```
Tests run: 38, Failures: 1, Not run: 0, Time: 32.132 seconds
Test Case Failures:
1) MonoTests.System.Runtime.Caching.MemoryCacheTest.TimedExpiration : #A4-4
Expected: not null
But was: null
at MonoTests.System.Runtime.Caching.MemoryCacheTest.TimedExpiration () [0x002b6] in /media/ssd/jenkins/workspace/test-mono-mainline/label/debian-armel/mcs/class/System.Runtime.Caching/Test/System.Runtime.Caching/MemoryCacheTest.cs:902
at (wrapper managed-to-native) System.Reflection.MonoMethod:InternalInvoke (System.Reflection.MonoMethod,object,object[],System.Exception&)
at System.Reflection.MonoMethod.Invoke (System.Object obj, BindingFlags invokeAttr, System.Reflection.Binder binder, System.Object[] parameters, System.Globalization.CultureInfo culture) [0x00038] in /media/ssd/jenkins/workspace/test-mono-mainline/label/debian-armel/mcs/class/corlib/System.Reflection/MonoMethod.cs:295
```
100ms could be too short, bumping the timeout should make it more reliable on the slower ARM machines.
Ludovic Henry [Wed, 27 Jan 2016 09:51:42 +0000 (09:51 +0000)]
Merge pull request #2420 from stefansedich/master
Handle automatically mapping IPv4 addresses to IPV6 for dual mode sockets, fixes #36192
Zoltan Varga [Wed, 27 Jan 2016 06:02:58 +0000 (01:02 -0500)]
[runtime] Use mono_error_set_pending_exception () instead of mono_error_raise_exception () in icall.c.
monojenkins [Wed, 27 Jan 2016 04:45:23 +0000 (04:45 +0000)]
Merge pull request #2486 from ludovic-henry/monoerror-mono_type_get_object
[runtime] Use MonoError for mono_type_get_object
monojenkins [Wed, 27 Jan 2016 04:05:23 +0000 (04:05 +0000)]
Merge pull request #2519 from ludovic-henry/fix-array-jiticalls
[array] Replace raise exception by pending exception in jit-icalls
The convention for jit-icalls is to set the pending exception, instead of raising it from native.
Rodrigo Kumpera [Wed, 27 Jan 2016 02:27:05 +0000 (21:27 -0500)]
[mono-error] The reflection code still festered with hidden deps for loader-error.
Zoltan Varga [Wed, 27 Jan 2016 01:31:08 +0000 (20:31 -0500)]
[x86] Change the way exceptions are thrown from trampolines: instead of calling mono_thread_force_interruption_checkpoint (), which would throw the exception using mono_raise_exception (), obtain the exception, unwind to the parent frame, and throw the exception normally there by calling the throw exception trampoline.
Rodrigo Kumpera [Mon, 16 Nov 2015 05:22:56 +0000 (00:22 -0500)]
[jit] Fix error propagation when loading methods. Move more checks to rely on cfg->error.
Zoltan Varga [Wed, 27 Jan 2016 00:43:20 +0000 (19:43 -0500)]
Fix the build.
Zoltan Varga [Wed, 27 Jan 2016 00:40:39 +0000 (19:40 -0500)]
[jit] Use mono_set_pending_exception () in one jit icall.
Ludovic Henry [Wed, 27 Jan 2016 00:35:43 +0000 (00:35 +0000)]
[array] Replace raise exception by pending exception in jit-icalls
The convention for jit-icalls is to set the pending exception, instead of raising it from native.
Ludovic Henry [Fri, 22 Jan 2016 17:10:23 +0000 (17:10 +0000)]
[runtime] Use MonoError for mono_gsharedvt_constrained_call
Ludovic Henry [Thu, 21 Jan 2016 19:41:12 +0000 (19:41 +0000)]
[runtime] Use MonoError for mono_type_get_object
Zoltan Varga [Tue, 26 Jan 2016 22:53:23 +0000 (17:53 -0500)]
[runtime] Get rid of mono_thread_force_interruption_checkpoint (), its not used anymore.
Zoltan Varga [Tue, 26 Jan 2016 22:49:01 +0000 (17:49 -0500)]
[jit] Add a new jit icall mono_interruption_checkpoint_from_trampoline () and use that instead of mono_thread_force_interruption_checkpoint () so the latter can go away eventually.
Zoltan Varga [Tue, 26 Jan 2016 22:33:34 +0000 (17:33 -0500)]
[amd64] Change the way exceptions are thrown from trampolines: instead of calling mono_thread_force_interruption_checkpoint (), which would throw the exception using mono_raise_exception (), obtain the exception, unwind to the parent frame, and throw the exception normally there by calling the throw exception trampoline.
Rodrigo Kumpera [Fri, 6 Nov 2015 07:47:03 +0000 (02:47 -0500)]
[mono-error] Replace legacy calls to mono_get_method(_full) with _checked variant.
Rodrigo Kumpera [Fri, 6 Nov 2015 06:11:02 +0000 (01:11 -0500)]
[mono-error] Remove usage of a couple of legacy functions from monodis.
Rodrigo Kumpera [Fri, 6 Nov 2015 04:04:54 +0000 (23:04 -0500)]
[mono-error] Remove loader-error conversion for 3 functions that are not longer called by the runtime.
The following legacy functions are no longer used by the runtime and don't need loader-error conversion:
mono_method_get_signature_full
mono_method_get_signature
mono_field_from_token
May all that is unholy smite upon those attempting to use those functions again.
Alexander Köplinger [Tue, 26 Jan 2016 21:06:56 +0000 (22:06 +0100)]
Merge pull request #2517 from steffen-kiess/posix-socket-osx-test
[Mono.Posix] Fix the SocketTest.ControlMsg() test on OSX
Rodrigo Kumpera [Tue, 26 Jan 2016 20:15:12 +0000 (15:15 -0500)]
Merge pull request #2500 from ludovic-henry/monoerror-mono_string_alloc
[runtime] Use MonoError for mono_string_alloc
Zoltan Varga [Tue, 26 Jan 2016 20:06:35 +0000 (15:06 -0500)]
[runtime] Fix the computation of StackFrame.native_offset for managed-to-native wrappers.
Alexis Christoforides [Fri, 22 Jan 2016 22:38:32 +0000 (17:38 -0500)]
[mkbundle] More Windows linking fixes, added "--custom-main" option
Rodrigo Kumpera [Tue, 26 Jan 2016 19:42:49 +0000 (14:42 -0500)]
Merge pull request #2513 from lambdageek/monoerror-RESOLVE_TYPE
[runtime] Use MonoError for RESOLVE_TYPE
Rodrigo Kumpera [Tue, 26 Jan 2016 19:42:03 +0000 (14:42 -0500)]
Merge pull request #2508 from lambdageek/monoerror-check_array_for_usertypes
[runtime] Use MonoError for check_array_for_usertypes
Rodrigo Kumpera [Tue, 26 Jan 2016 19:39:48 +0000 (14:39 -0500)]
Merge pull request #2506 from lambdageek/monoerror-mono_reflection_type_resolve_user_types
[runtime] Use MonoError for mono_reflection_type_resolve_user_types
monojenkins [Tue, 26 Jan 2016 19:15:17 +0000 (19:15 +0000)]
Merge pull request #2516 from lambdageek/monoerror-exception_instance
[runtime] Add MONO_ERROR_EXCEPTION_INSTANCE MonoError
This kind of MonoError can encapsulate a managed MonoException
object. (For example as a result of mono_runtime_invoke ()).
Issues:
- [x] Memory leak correctness.
`MonoError` already leaks memory if you simply swallow it without calling `mono_error_cleanup` or some function that calls it (for example `mono_error_raise_exception` or `mono_error_convert_to_exception`).
Now if we have an encapsulated exception, we'll leak a GC handle unless cleanup happens.
Steffen Kieß [Tue, 26 Jan 2016 18:46:38 +0000 (19:46 +0100)]
[Mono.Posix] Fix the SocketTest.ControlMsg() test on OSX
Unlike Linux, OSX does not allow multiple SCM_RIGHTS control messages in
sendmsg().
The SocketTest.ControlMsg() test is split into two tests, one which sends
only a single control message (containing two FDs), and another one which
sends two control messages (each containing one FD). The second test is not
executed on OSX.
Sebastien Pouliot [Tue, 26 Jan 2016 18:11:46 +0000 (13:11 -0500)]
[System] Make SmtpClient fallback to it's old behaviour if the hostname cannot be resolved. Fix #37246
Warning: System.Net.Mail is broken by design and sends incorrect emails.
This is not to fix SmtpClient itself but to ensure it remains compatible
(even if incorrect/broken) with older Mono releases.
The commit associated with bug# 33551 [1] can cause issues on computer
and devices that cannot resolve their hostname using the Dns API (which
have their own issues).
This commit catch the exception that occurs when resolution fails and
continue to send an email without a fully qualified domain name - just
like earlier Mono versions did in the past.
This solve bug #32746 [2] where some, but not all, AppleTV devices fails
to execute some of the System.dll unit tests.
Note: Whenever possible stay clear of SmtpClient (and friends) and use
something else like MimeKit/MailKit for your email needs
[1] https://bugzilla.xamarin.com/show_bug.cgi?id=33551
[2] https://bugzilla.xamarin.com/show_bug.cgi?id=37246
Rodrigo Kumpera [Tue, 26 Jan 2016 17:50:31 +0000 (12:50 -0500)]
Merge pull request #2490 from ludovic-henry/monoerror-mono_string_builder_to_
[runtime] Use MonoError for mono_string_builder_to_utf8 and mono_string_builder_to_utf16
Rodrigo Kumpera [Tue, 26 Jan 2016 17:41:56 +0000 (12:41 -0500)]
Merge pull request #2463 from ludovic-henry/monoerror-mono_object_new_pinned
[runtime] Use MonoError for mono_object_new_pinned
Jonathan Pryor [Tue, 26 Jan 2016 17:30:27 +0000 (12:30 -0500)]
Merge pull request #2510 from jonpryor/jonp-MonoThread-accessors
[runtime] Allow getting thread name, managed id from embedding API
Rodrigo Kumpera [Tue, 26 Jan 2016 17:20:29 +0000 (12:20 -0500)]
Merge pull request #2512 from ludovic-henry/fix-coop-test-runtime
[coop] Use mono_thread_info_usleep which transition to BLOCKING state
Aleksey Kliger [Mon, 25 Jan 2016 23:39:46 +0000 (18:39 -0500)]
[runtime] Add MONO_ERROR_EXCEPTION_INSTANCE MonoError
This kind of MonoError can encapsulate a managed MonoException
object. (For example as a result of mono_runtime_invoke ()).
monojenkins [Tue, 26 Jan 2016 14:50:17 +0000 (14:50 +0000)]
Merge pull request #2449 from lambdageek/dev/no-chunks
[handle] Remove chunk_last field from MonoHandleArena
Remove the `chunk_last` field. This changes MonoHandleArena from a queue of chunks to a stack of chunks. More importantly, the MonoHandleArena has an initial chunk that is allocated on the stack together with the arena. Previously that chunk was at the front of the list of chunks, but now it is at the end.
Alexander Köplinger [Tue, 26 Jan 2016 12:13:10 +0000 (13:13 +0100)]
Merge pull request #2514 from akoeplinger/disable-monoposix-test
[Mono.Posix] Disable new ControlMsg() test that fails on OSX for now
Ludovic Henry [Fri, 22 Jan 2016 12:26:46 +0000 (12:26 +0000)]
[runtime] Use MonoError for mono_string_builder_to_utf8 and mono_string_builder_to_utf16
monojenkins [Tue, 26 Jan 2016 08:20:42 +0000 (08:20 +0000)]
Merge pull request #2511 from ludovic-henry/fix-coop-debugger
[coop] Fix debugger BLOCKING transitions
Alexander Köplinger [Tue, 26 Jan 2016 01:10:41 +0000 (02:10 +0100)]
[Mono.Posix] Disable new ControlMsg() test that fails on OSX for now
Added with https://github.com/mono/mono/pull/2097. Fails on Jenkins:
```
Test Case Failures:
1) MonoTests.Mono.Unix.Native.SocketTest.ControlMsg : System.ArgumentException : Invalid argument
----> Mono.Unix.UnixIOException : Invalid argument [EINVAL].
at Mono.Unix.UnixMarshal.ThrowExceptionForLastError () [0x00000] in /Users/builder/jenkins/workspace/test-mono-mainline@2/label/osx-i386/mcs/class/Mono.Posix/Mono.Unix/UnixMarshal.cs:460
at MonoTests.Mono.Unix.Native.SocketTest+<ControlMsg>c__AnonStorey2.<>m__0 (Int32 so1, Int32 so2) [0x0018f] in /Users/builder/jenkins/workspace/test-mono-mainline@2/label/osx-i386/mcs/class/Mono.Posix/Test/Mono.Unix.Native/SocketTest.cs:778
at MonoTests.Mono.Unix.Native.SocketTest.WithSocketPair (System.Action`2 f) [0x00025] in /Users/builder/jenkins/workspace/test-mono-mainline@2/label/osx-i386/mcs/class/Mono.Posix/Test/Mono.Unix.Native/SocketTest.cs:68
at MonoTests.Mono.Unix.Native.SocketTest.<ControlMsg>m__9 (Int32 inner_so1, Int32 inner_so2) [0x00014] in /Users/builder/jenkins/workspace/test-mono-mainline@2/label/osx-i386/mcs/class/Mono.Posix/Test/Mono.Unix.Native/SocketTest.cs:739
at MonoTests.Mono.Unix.Native.SocketTest.WithSocketPair (System.Action`2 f) [0x00025] in /Users/builder/jenkins/workspace/test-mono-mainline@2/label/osx-i386/mcs/class/Mono.Posix/Test/Mono.Unix.Native/SocketTest.cs:68
at MonoTests.Mono.Unix.Native.SocketTest.ControlMsg () [0x00000] in /Users/builder/jenkins/workspace/test-mono-mainline@2/label/osx-i386/mcs/class/Mono.Posix/Test/Mono.Unix.Native/SocketTest.cs:738
at (wrapper managed-to-native) System.Reflection.MonoMethod:InternalInvoke (System.Reflection.MonoMethod,object,object[],System.Exception&)
at System.Reflection.MonoMethod.Invoke (System.Object obj, BindingFlags invokeAttr, System.Reflection.Binder binder, System.Object[] parameters, System.Globalization.CultureInfo culture) [0x00038] in /Users/builder/jenkins/workspace/test-mono-mainline@2/label/osx-i386/mcs/class/corlib/System.Reflection/MonoMethod.cs:295
--UnixIOException
```
Zoltan Varga [Tue, 26 Jan 2016 00:37:40 +0000 (19:37 -0500)]
[llvmonly] Call 'opt' when running with --aot=asmonly too. No optimizations enabled yet.
Zoltan Varga [Tue, 26 Jan 2016 00:13:56 +0000 (19:13 -0500)]
[llvm] Add another missing opcode.
Rodrigo Kumpera [Tue, 26 Jan 2016 00:07:23 +0000 (19:07 -0500)]
Merge pull request #2483 from ludovic-henry/monoerror-mono_string_new_size
[runtime] Use MonoError for mono_string_new_size
Rodrigo Kumpera [Mon, 25 Jan 2016 23:54:22 +0000 (18:54 -0500)]
Merge pull request #2493 from ludovic-henry/monoerror-mono_thread_attach_full
[runtime] Use MonoError for mono_thread_attach_full
Rodrigo Kumpera [Mon, 25 Jan 2016 22:42:33 +0000 (17:42 -0500)]
Merge pull request #2489 from ludovic-henry/monoerror-mono_array_new_specific
[runtime] Use MonoError for mono_array_new_specific
Rodrigo Kumpera [Mon, 25 Jan 2016 22:38:41 +0000 (17:38 -0500)]
Merge pull request #2481 from ludovic-henry/monoerror-mono_array_new_full
[runtime] Use MonoError for mono_array_new_full
Zoltan Varga [Mon, 25 Jan 2016 21:56:36 +0000 (16:56 -0500)]
[llvmonly] Reenable running 'opt', it was disabled by mistake.
Zoltan Varga [Mon, 25 Jan 2016 21:54:02 +0000 (16:54 -0500)]
[llvmonly] Avoid inlining the original method into unbox trampolines.
Ludovic Henry [Mon, 25 Jan 2016 21:43:47 +0000 (21:43 +0000)]
[coop] Use mono_thread_info_usleep which transition to BLOCKING state
Because we could sleep for too long, while being in RUNNING state, the cooperative suspend would not finish in a timely manner. That would lead to the abort in `mono_threads_wait_pending_operations`.
Ludovic Henry [Mon, 25 Jan 2016 21:08:33 +0000 (21:08 +0000)]
[coop] Fix debugger BLOCKING transitions
Make the transition as close as possible to the syscall, so we don't nest these BLOCKING transition, as they leads to a crash.
Ludovic Henry [Wed, 20 Jan 2016 14:34:58 +0000 (14:34 +0000)]
[runtime] Use MonoError for mono_object_new_pinned
Aleksey Kliger [Mon, 25 Jan 2016 20:30:40 +0000 (15:30 -0500)]
[runtime] Use MonoError for RESOLVE_TYPE
Jonathan Pryor [Mon, 25 Jan 2016 20:03:53 +0000 (15:03 -0500)]
Merge pull request #2097 from steffen-kiess/posix-sockets-3
[Mono.Posix] Add support for sending and receiving socket control messages
Aleksey Kliger [Mon, 25 Jan 2016 18:03:01 +0000 (13:03 -0500)]
[runtime] Use MonoError for check_array_for_usertypes
Jonathan Pryor [Mon, 25 Jan 2016 18:42:32 +0000 (13:42 -0500)]
[runtime] Allow getting thread name, managed id from embedding API
When tracing multi-threaded program execution, it is useful to have a
way of separating which events happen on which thread. The
System.Threading.Thread.Name and Thread.ManagedThreadId properties are
useful proxies for tracking program execution.
However, if program execution spans both managed and embedded mono
native code, there is no existing mechanism to read the Thread.Name or
Thread.ManagedThreadId properties from native code without using
delegates, and delegates may not be usable in all circumstances (e.g.
within a mono_gc_register_bridge_callbacks() callback).
Add the following APIs to the embedding API to permit reading the
Thread.Name and Thread.ManagedThreadId properties:
char *mono_thread_get_name_utf8 (MonoThread *thread);
gint32 mono_thread_get_managed_id (MonoThread *thread);
mono_thread_get_name_utf8() returns the Thread.Name value as a UTF-8
string in newly allocated memory; the caller must g_free() this value.
mono_thread_get_managed_id() returns the Thread.ManagedThreadId value.
Zoltan Varga [Mon, 25 Jan 2016 19:18:59 +0000 (14:18 -0500)]
[llvmonly] Rename MonoDelegate.rgctx to 'extra_arg' to better reflect its purpose.
Zoltan Varga [Mon, 25 Jan 2016 18:45:37 +0000 (13:45 -0500)]
Merge pull request #2429 from alexanderkyte/nunit_lite_integration
[nunit-lite] Add nunit-lite runner to build system
Sebastien Pouliot [Mon, 25 Jan 2016 18:45:11 +0000 (13:45 -0500)]
[tests][System][ios] Avoid reflection usage when testing for Xamarin.iOS. Fixes #34133
When the linker is enabled (default for device builds) unused methods
are removed and cannot be reflected.
In this case we do not need reflection as the answer to port reuse is
always true.
https://bugzilla.xamarin.com/show_bug.cgi?id=34133
Aleksey Kliger [Mon, 25 Jan 2016 17:50:34 +0000 (12:50 -0500)]
[runtime] Use MonoError for mono_reflection_type_resolve_user_types
Zoltan Varga [Mon, 25 Jan 2016 17:37:04 +0000 (12:37 -0500)]
monojenkins [Mon, 25 Jan 2016 16:45:18 +0000 (16:45 +0000)]
Merge pull request #2504 from ludovic-henry/fix-console-error
[Console] Fix Console.Error to terminal (tty)
Ludovic Henry [Mon, 25 Jan 2016 13:48:10 +0000 (13:48 +0000)]
[Console] Cleanup console setup
Ludovic Henry [Mon, 25 Jan 2016 13:01:11 +0000 (13:01 +0000)]
[Console] Fix Console.Error to terminal (tty)
We would previously open the standard output for the Console.Error StreamWriter. This behavior has never surfaced so far, because if you try to redirect the process standard output through a pipe or to a file, then the condition ConsoleDriver.IsConsole does not apply, and the other path does not have the same bug.
The only way to reproduce it is to redirect the standard error to another file, and observe that you would still have the Console.Error content. For example, with mono/tests/console-output.exe:
Expected output:
$> MONO_PATH=mcs/class/lib/net_4_x mono/mini/mono mono/tests/console-output.exe 2>/dev/null
Out
Actual output:
$> MONO_PATH=mcs/class/lib/net_4_x mono/mini/mono mono/tests/console-output.exe 2>/dev/null
Out
Error
Fixes https://bugzilla.xamarin.com/show_bug.cgi?id=36988
Zoltan Varga [Mon, 25 Jan 2016 01:46:01 +0000 (20:46 -0500)]
Remove libgc/depcomp and libgc/missing, newer automake versions seem to overwrite them.