Zoltan Varga [Tue, 21 Oct 2014 00:48:55 +0000 (20:48 -0400)]
Fix a warning.
Ludovic Henry [Tue, 30 Sep 2014 19:22:42 +0000 (15:22 -0400)]
[sgen] Adjust internal allocator block size to slot size.
The internal allocator used size segregated blocks which were always
16k large. Since we have quite a few different size classes this led
to a lot of allocation even for very small programs.
We now use block sizes that are determined by the slot size and are as
small as possible. They're power-of-two multiples of the page size,
so we end up with blocks of 4k, 8k and 16k.
Ludovic Henry [Tue, 30 Sep 2014 22:02:55 +0000 (18:02 -0400)]
[sgen] Add assertion on power of 2 for internal allocator section size
Ludovic Henry [Tue, 30 Sep 2014 21:11:33 +0000 (17:11 -0400)]
[sgen] Add internal allocator default sizes usage statistic
Ludovic Henry [Tue, 30 Sep 2014 21:09:50 +0000 (17:09 -0400)]
[sgen] Utility function to compute number of unfaulted pages.
Ludovic Henry [Tue, 30 Sep 2014 17:46:47 +0000 (13:46 -0400)]
[sgen] Cleanup some allocation code
Zoltan Varga [Mon, 20 Oct 2014 23:19:27 +0000 (19:19 -0400)]
Fix the build after the signals changes.
Zoltan Varga [Mon, 20 Oct 2014 22:22:40 +0000 (18:22 -0400)]
[jit] Remove some unused definitions.
Zoltan Varga [Mon, 20 Oct 2014 22:08:19 +0000 (18:08 -0400)]
Fix a typo.
Zoltan Varga [Mon, 20 Oct 2014 22:07:13 +0000 (18:07 -0400)]
[runtime] Clean up the signal handling code by moving the signal handler signature definitions to mono-signal-handler.h and using them everywhere.
Mark Probst [Tue, 7 Oct 2014 00:11:20 +0000 (17:11 -0700)]
[sgen] Fix allowance calculation.
The formula for calculating allowance was not only overly complicated
but completely broken, which resulted in the allowance always being the
minimum (4 times the nursery size). That resulted in too frequent garbage
collections when the heap grew larger.
Now we do something very similar to what Boehm does: Allow the heap
to grow by a third before the next major collection happens.
Miguel de Icaza [Mon, 20 Oct 2014 14:04:35 +0000 (10:04 -0400)]
Merge pull request #1354 from martinjt/RequestAbort
Implement Request.Abort()
Miguel de Icaza [Mon, 20 Oct 2014 14:04:00 +0000 (10:04 -0400)]
Merge pull request #1353 from martinjt/ReadEntityBodyMode
Implement the ReadEntityBodyMode properties
Martin Thwaites [Sat, 18 Oct 2014 21:31:14 +0000 (22:31 +0100)]
Implement Request.Abort()
Martin Thwaites [Sat, 18 Oct 2014 20:55:47 +0000 (21:55 +0100)]
Implement the ReadEntityBodyMode properties
Rodrigo Kumpera [Fri, 17 Oct 2014 19:37:14 +0000 (15:37 -0400)]
[runtime] Don't define ucontext_t for android if PLATFORM is not android.
Zoltan Varga [Fri, 17 Oct 2014 16:14:13 +0000 (12:14 -0400)]
Fix a warning.
Zoltan Varga [Thu, 16 Oct 2014 22:35:51 +0000 (18:35 -0400)]
Fix a warning.
Zoltan Varga [Thu, 16 Oct 2014 21:11:19 +0000 (17:11 -0400)]
Fix a warning.
Zoltan Varga [Thu, 16 Oct 2014 20:03:49 +0000 (16:03 -0400)]
[bcl] Add an AppDomain.DoUnhandledException () internal method which can be used to invoke the UnhandledException event handlers.
Zoltan Varga [Thu, 16 Oct 2014 17:53:56 +0000 (13:53 -0400)]
[io-layer] Make _wapi_shm_enabled () inline so more code can be optimized away if shared handles are disabled.
Zoltan Varga [Thu, 16 Oct 2014 16:59:06 +0000 (12:59 -0400)]
[io-layer] Remove more dead process code, add comments.
Paolo Molaro [Thu, 16 Oct 2014 14:39:33 +0000 (10:39 -0400)]
[jit] Fix -O=precomp option to skip generic methods and not crash.
Zoltan Varga [Wed, 15 Oct 2014 22:56:01 +0000 (18:56 -0400)]
[io-layer] Allocate the process name dynamically to make WapiHandle_process smaller.
Zoltan Varga [Wed, 15 Oct 2014 22:50:09 +0000 (18:50 -0400)]
[io-layer] Remove WapiHandle_process.self field, its no longer needed.
Zoltan Varga [Wed, 15 Oct 2014 21:22:08 +0000 (17:22 -0400)]
Include ucontext.h on android if it exists.
Zoltan Varga [Wed, 15 Oct 2014 21:18:21 +0000 (17:18 -0400)]
[runtime] Add a 'shared_handles' --enable-minimal option, same as --disable-shared-handles.
Zoltan Varga [Wed, 15 Oct 2014 21:17:41 +0000 (17:17 -0400)]
Fix a warning.
Zoltan Varga [Wed, 15 Oct 2014 20:52:56 +0000 (16:52 -0400)]
[io-layer] Remove another usage of getdtablesize ().
Zoltan Varga [Wed, 15 Oct 2014 20:45:19 +0000 (16:45 -0400)]
[runtime] Use getrlimit () to obtain the size of the fd table instead of getdtablesize () which is getting deprecated in Android.
Zoltan Varga [Wed, 15 Oct 2014 20:28:47 +0000 (16:28 -0400)]
[io-layer] More coding convention/formatting fixes.
Zoltan Varga [Wed, 15 Oct 2014 19:21:53 +0000 (15:21 -0400)]
[corlib] Implement MonoGenericClass:GetCustomAttributes () for created types. Fixes #23769.
Zoltan Varga [Wed, 15 Oct 2014 19:08:54 +0000 (15:08 -0400)]
[io-layer] Fix the linux build.
Zoltan Varga [Wed, 15 Oct 2014 18:50:58 +0000 (14:50 -0400)]
[io-layer] Make process handles non-shared. Fixes #23423.
João Matos [Wed, 15 Oct 2014 18:37:25 +0000 (14:37 -0400)]
Fixed linking on MinGW.
Zoltan Varga [Wed, 15 Oct 2014 16:53:30 +0000 (12:53 -0400)]
[jit] Fix the return of vtypes containing a single fp member from pinvoke methods on osx/x86. Fixes #23813.
Rodrigo Kumpera [Tue, 14 Oct 2014 22:11:36 +0000 (18:11 -0400)]
[build] Rework the buildver dep check.
Zoltan Varga [Tue, 14 Oct 2014 19:59:24 +0000 (15:59 -0400)]
Revert "Fixed buildver generated headers automake dependency tracking."
This reverts commit
8f41328a7811fee2798d95ed140e62b3198fc323.
Revert this for now as it breaks the parallel build.
Zoltan Varga [Tue, 14 Oct 2014 18:12:19 +0000 (14:12 -0400)]
Merge pull request #1341 from smortex/patch-2
Fix build on FreeBSD
Romain Tartière [Tue, 14 Oct 2014 18:03:29 +0000 (20:03 +0200)]
Protect #include <unistd.h>
Protect inclusion as reported by @vargaz
Zoltan Varga [Tue, 14 Oct 2014 17:49:53 +0000 (13:49 -0400)]
Merge pull request #1340 from smortex/patch-1
Add missing header
Romain Tartière [Tue, 14 Oct 2014 17:48:31 +0000 (19:48 +0200)]
Fix build on FreeBSD
pid_t (used at line 216) is available on Linux in `unistd.h` and so on on FreeBSD (`sys/types.h` to be precise, included in `unistd.h`), yet on FreeBSD this header is not automatically included.
Romain Tartière [Tue, 14 Oct 2014 17:42:44 +0000 (19:42 +0200)]
Add missing header
Zoltan Varga [Tue, 14 Oct 2014 16:54:48 +0000 (12:54 -0400)]
Merge pull request #1339 from tritao/master
Fixed buildver generated headers automake dependency tracking.
João Matos [Tue, 14 Oct 2014 15:46:14 +0000 (11:46 -0400)]
Fixed buildver generated headers automake dependency tracking.
We now include buildver-sgen/boehm.h in BUILT_SOURCES to have proper dependency tracking for these generated files.
Fixes the MinGW OSX cross build.
Zoltan Varga [Mon, 13 Oct 2014 22:39:56 +0000 (18:39 -0400)]
[runtime] Fix an SRE assert. Fixes #19039.
Zoltan Varga [Mon, 13 Oct 2014 17:56:29 +0000 (13:56 -0400)]
Merge pull request #1335 from nlhepler/master
Fix relocatable mono
Lance Hepler [Mon, 13 Oct 2014 16:28:19 +0000 (09:28 -0700)]
Fix relocatable mono
Marek Safar [Mon, 13 Oct 2014 10:28:08 +0000 (12:28 +0200)]
[mcs] A pointer-type may be used as the type of a volatile field. Fixes #23770
Zoltan Varga [Sun, 12 Oct 2014 22:02:29 +0000 (18:02 -0400)]
[runtime] Remove some dead code from the io-layer process code, avoid mixing ifdefs with control flow.
Marek Habersack [Fri, 10 Oct 2014 16:36:50 +0000 (18:36 +0200)]
Merge pull request #1333 from joero74/ignore-missing-host
Prevent NullReferenceException in case of missing Host
Joerg Rosenkranz [Fri, 10 Oct 2014 13:01:37 +0000 (15:01 +0200)]
Prevent NullReferenceException in case of missing Host
Do not throw a NullReferenceException when Host variable is not set.
Ignore the calls to RegisterObject and UnregisterObject instead.
Zoltan Varga [Fri, 10 Oct 2014 01:46:01 +0000 (21:46 -0400)]
[runtime] Rewrite io-layer process code to reduce duplication and make it conform to the mono coding conventions.
Zoltan Varga [Thu, 9 Oct 2014 20:48:51 +0000 (16:48 -0400)]
[runtime] Use explicit initialization in the io-layer process code instead of pthread_once (). Get rid of the WAPI_PROCESS_HANDLE_OFFSET code which was only used in shared mode.
Zoltan Varga [Thu, 9 Oct 2014 20:21:56 +0000 (16:21 -0400)]
[runtime] More win32 build fixes.
Zoltan Varga [Thu, 9 Oct 2014 19:50:56 +0000 (15:50 -0400)]
runtime] Really use WinXP SP2 as the minimum version on the msvc builds too. Update project files with newly
added/removed sources.
Zoltan Varga [Thu, 9 Oct 2014 19:19:56 +0000 (15:19 -0400)]
[runtime] Use WinXP SP2 as the minimum version on the msvc builds too.
Mark Probst [Thu, 9 Oct 2014 18:43:03 +0000 (11:43 -0700)]
Merge pull request #1326 from BrzVlad/master
[sgen] Fix pointer access.
Zoltan Varga [Thu, 9 Oct 2014 18:04:20 +0000 (14:04 -0400)]
[runtime] Remove pre WinXP SP2 windows support code.
Zoltan Varga [Thu, 9 Oct 2014 17:04:41 +0000 (13:04 -0400)]
[runtime] Use the functionality in mono-proclib.c to get the current pid, remove duplicate code from the io-layer.
Zoltan Varga [Thu, 9 Oct 2014 16:56:04 +0000 (12:56 -0400)]
[runtime] Use the functionality in mono-proclib.c to enumerate processes, remove duplicate code from the io-layer.
Alexis Christoforides [Thu, 9 Oct 2014 05:04:34 +0000 (22:04 -0700)]
Fix oops in DataContractJsonSerializer fix
Zoltan Varga [Wed, 8 Oct 2014 20:12:01 +0000 (16:12 -0400)]
[bcl] Use List instead of ArrayList () in a few places.
Zoltan Varga [Wed, 8 Oct 2014 19:12:26 +0000 (15:12 -0400)]
[bcl] Free strings allocated using Marshal.SecureStringToBSTR () using Marshal.ZeroFreeBSTR ().
Marek Safar [Wed, 8 Oct 2014 19:02:54 +0000 (15:02 -0400)]
Merge pull request #1330 from esdrubal/blockingcollection
Improved BlockingCollection.AddAny.
Ludovic Henry [Wed, 8 Oct 2014 17:52:55 +0000 (13:52 -0400)]
[threaddpool] Fix deadlock in thread pool with monitor thread (2nd attempt)
Because the monitor thread was not marked as background thread, remove_and_abort_threads (threads.c:2807) would mark it as needed to be waited to shutdown the runtime, and wait_for_tids (threads.c:2652) would then wait indefinitely for it to finish. The issue was that the monitor was waiting on the semaphore monitor_sem, and thus would never exit.
Thread 7 (Thread 0x1c13 of process 99776):
#0 0x00007fff86590a56 in ?? () from /usr/lib/system/libsystem_kernel.dylib
#1 0x00000001003cc03a in mono_sem_wait (sem=0x1004f7f50, alertable=0) at mono-semaphore.c:103
#2 0x00000001002cef41 in monitor_thread (unused=0x0) at threadpool.c:898
#3 0x00000001002cb78f in start_wrapper_internal (data=0x10500abf0) at threads.c:657
#4 0x00000001002cb4a1 in start_wrapper (data=0x10500abf0) at threads.c:704
#5 0x00000001003d61d4 in inner_start_thread (arg=0x7fff5fbfe500) at mono-threads-posix.c:84
#6 0x00007fff8e7c9899 in _pthread_body () from /usr/lib/system/libsystem_pthread.dylib
#7 0x00007fff8e7c972a in _pthread_start () from /usr/lib/system/libsystem_pthread.dylib
#8 0x00007fff8e7cdfc9 in thread_start () from /usr/lib/system/libsystem_pthread.dylib
#9 0x0000000000000000 in ?? ()
Thread 1 (Thread 0x1503 of process 99776):
#0 0x00007fff86594716 in ?? () from /usr/lib/system/libsystem_kernel.dylib
#1 0x00007fff8e7cbc3b in _pthread_cond_wait () from /usr/lib/system/libsystem_pthread.dylib
#2 0x000000010039cfaa in _wapi_handle_timedwait_signal_handle (handle=0xa55, timeout=0x0, alertable=1, poll=0) at handles.c:1595
#3 0x000000010039d03d in _wapi_handle_wait_signal_handle (handle=0xa55, alertable=1) at handles.c:1540
#4 0x00000001003b7ba3 in WaitForSingleObjectEx (handle=0xa55, timeout=
4294967295, alertable=1) at wait.c:194
#5 0x00000001003b865d in WaitForMultipleObjectsEx (numobjects=1, handles=0x7fff5fbff1f8, waitall=1, timeout=
4294967295, alertable=1) at wait.c:516
#6 0x00000001002c75df in wait_for_tids (wait=0x7fff5fbff1f8, timeout=
4294967295) at threads.c:2658
#7 0x00000001002c70e5 in mono_thread_manage () at threads.c:2951
#8 0x00000001000d551b in mono_main (argc=6, argv=0x7fff5fbff9e8) at driver.c:2021
#9 0x0000000100001bd1 in mono_main_with_options (argc=6, argv=0x7fff5fbff9e8) at ./main.c:91
#10 0x00000001000017d3 in main (argc=6, argv=0x7fff5fbff9e8) at ./main.c:122
Thanks @akoeplinger for the help debugging
Marcos Henrich [Wed, 8 Oct 2014 11:59:42 +0000 (12:59 +0100)]
Refactored AddToAny and TakeFromAny to reuse code.
Marcos Henrich [Wed, 8 Oct 2014 11:16:36 +0000 (12:16 +0100)]
Improved BlockingCollection.AddAny. Fixes #22775.
AddAny no longer consumes OperationCanceledException.
AddAny no longer blocks while adding an item to the first collection when its full.
Marcos Henrich [Wed, 8 Oct 2014 10:58:26 +0000 (11:58 +0100)]
Test BlockCollection.AddAny. Covers #22775.
Marcos Henrich [Wed, 8 Oct 2014 10:51:59 +0000 (11:51 +0100)]
BlockingCollection.Add was adding one more item than it should.
Marcos Henrich [Wed, 8 Oct 2014 09:41:14 +0000 (10:41 +0100)]
Test that BlockingCollection.Add blocks when there is no more space.
Zoltan Varga [Wed, 8 Oct 2014 00:44:28 +0000 (20:44 -0400)]
[jit] Extract the ctor calling code from the NEWOBJ implementation into a separate function.
Zoltan Varga [Wed, 8 Oct 2014 00:20:58 +0000 (20:20 -0400)]
[jit] Clean up the jit failure handling code a bit, move the the bulk of the eror handling macros into functions, unify the cleanup code at the end of mono_method_to_ir ().
Alexis Christoforides [Tue, 7 Oct 2014 23:23:37 +0000 (16:23 -0700)]
[bcl] Implement KnownTypes for DataContractJsonSerializer. Fixes #23058 and polymorphism support.
Also discarded old __type hint behavior in JsonSerializationReader that potentially allowed any loaded type to be instantiated.
Alexis Christoforides [Tue, 7 Oct 2014 23:18:25 +0000 (16:18 -0700)]
[tests] Add tests for Bug #23058 and polymorphism/known types in DataContractJsonSerializer.
Ludovic Henry [Tue, 7 Oct 2014 22:14:04 +0000 (18:14 -0400)]
[threaddpool] Fix deadlock in thread pool with monitor thread
Because the monitor thread was not marked as background thread, remove_and_abort_threads (threads.c:2807) would mark it as needed to be waited to shutdown the runtime, and wait_for_tids (threads.c:2652) would then wait indefinitely for it to finish. The issue was that the monitor was waiting on the semaphore monitor_sem, and thus would never exit.
Thread 7 (Thread 0x1c13 of process 99776):
#0 0x00007fff86590a56 in ?? () from /usr/lib/system/libsystem_kernel.dylib
#1 0x00000001003cc03a in mono_sem_wait (sem=0x1004f7f50, alertable=0) at mono-semaphore.c:103
#2 0x00000001002cef41 in monitor_thread (unused=0x0) at threadpool.c:898
#3 0x00000001002cb78f in start_wrapper_internal (data=0x10500abf0) at threads.c:657
#4 0x00000001002cb4a1 in start_wrapper (data=0x10500abf0) at threads.c:704
#5 0x00000001003d61d4 in inner_start_thread (arg=0x7fff5fbfe500) at mono-threads-posix.c:84
#6 0x00007fff8e7c9899 in _pthread_body () from /usr/lib/system/libsystem_pthread.dylib
#7 0x00007fff8e7c972a in _pthread_start () from /usr/lib/system/libsystem_pthread.dylib
#8 0x00007fff8e7cdfc9 in thread_start () from /usr/lib/system/libsystem_pthread.dylib
#9 0x0000000000000000 in ?? ()
Thread 1 (Thread 0x1503 of process 99776):
#0 0x00007fff86594716 in ?? () from /usr/lib/system/libsystem_kernel.dylib
#1 0x00007fff8e7cbc3b in _pthread_cond_wait () from /usr/lib/system/libsystem_pthread.dylib
#2 0x000000010039cfaa in _wapi_handle_timedwait_signal_handle (handle=0xa55, timeout=0x0, alertable=1, poll=0) at handles.c:1595
#3 0x000000010039d03d in _wapi_handle_wait_signal_handle (handle=0xa55, alertable=1) at handles.c:1540
#4 0x00000001003b7ba3 in WaitForSingleObjectEx (handle=0xa55, timeout=
4294967295, alertable=1) at wait.c:194
#5 0x00000001003b865d in WaitForMultipleObjectsEx (numobjects=1, handles=0x7fff5fbff1f8, waitall=1, timeout=
4294967295, alertable=1) at wait.c:516
#6 0x00000001002c75df in wait_for_tids (wait=0x7fff5fbff1f8, timeout=
4294967295) at threads.c:2658
#7 0x00000001002c70e5 in mono_thread_manage () at threads.c:2951
#8 0x00000001000d551b in mono_main (argc=6, argv=0x7fff5fbff9e8) at driver.c:2021
#9 0x0000000100001bd1 in mono_main_with_options (argc=6, argv=0x7fff5fbff9e8) at ./main.c:91
#10 0x00000001000017d3 in main (argc=6, argv=0x7fff5fbff9e8) at ./main.c:122
Zoltan Varga [Tue, 7 Oct 2014 19:43:08 +0000 (15:43 -0400)]
[jit] Reduce code duplication in the inlining code.
Marek Safar [Tue, 7 Oct 2014 18:31:50 +0000 (14:31 -0400)]
Merge pull request #1329 from esdrubal/httputility
HttpQSCollection.ToString now url encodes values.
Alexis Christoforides [Tue, 7 Oct 2014 18:30:52 +0000 (11:30 -0700)]
Merge pull request #1327 from ermshiperete/Xamarin-23168
[MWF] Pass graphics when calculating button text and image
Jonathan Pryor [Tue, 7 Oct 2014 17:51:10 +0000 (13:51 -0400)]
[System.Core/Android] Fix standalone unit tests.
Commit
5564dad1 broke the self-test (for testing on the developer
machine, not an Android target). Fixup the comment so that appropriate
data is grabbed and used for testing, and improve
AndroidTimeZones.GetDefaultTimeZoneName() so that the default timezone
ID can be specified via the __XA_OVERRIDE_TIMEZONE_ID__ environment
variable for testing.
Finally, demonstrate TimeZoneInfo.GetUtcOffset(DateTime) use so that I
can get better insight into the timezone data stored within the
database:
$ __XA_OVERRIDE_TIMEZONE_ID__=America/New_York ANDROID_ROOT=`pwd` ANDROID_DATA=`pwd` mono --debug tzi.exe --offset=1969-01-01
Using DateTime Offset: 1/1/1969 12:00:00 AM
DB type: System.AndroidTzData
name=Africa/Abidjan Africa/Abidjan From Offset: 00:00:00
name=Africa/Accra Africa/Accra From Offset: 00:00:00
name=Africa/Addis_Ababa Africa/Addis_Ababa From Offset: 03:00:00
...
Marcos Henrich [Tue, 7 Oct 2014 17:50:45 +0000 (18:50 +0100)]
HttpQSCollection.ToString now url encodes values. Fixes 22557.
Marcos Henrich [Tue, 7 Oct 2014 17:45:50 +0000 (18:45 +0100)]
Test HttpQSCollection.ToString url encoding. Covers #22557.
Zoltan Varga [Tue, 7 Oct 2014 17:26:12 +0000 (13:26 -0400)]
[runtime] Move the MonoJit/MonoJitInfoTable code to a separate file from domain.c.
Zoltan Varga [Tue, 7 Oct 2014 17:03:28 +0000 (13:03 -0400)]
[runtime] Factor out some duplicate code from the MonoJitInfo creation code.
Zoltan Varga [Tue, 7 Oct 2014 16:45:52 +0000 (12:45 -0400)]
Merge pull request #1328 from vkargov/master
[runtime] Take correct domain information from StackFrameInfo for each stack frame.
Eberhard Beilharz [Tue, 7 Oct 2014 15:34:44 +0000 (17:34 +0200)]
[MWF] Pass graphics when calculating button text and image
This fixes a problem with calculating the text width of a button
which caused the text to get truncated under certain circumstances
instead of being wrapped. This fixes Xamarin-23168.
Change-Id: Iac0d8a2720a99cf5433e05d5123a04c4b019e493
Vladimir Kargov [Tue, 7 Oct 2014 15:30:31 +0000 (19:30 +0400)]
[runtime] Take correct domain information from StackFrameInfo for each stack frame.
Rodrigo Kumpera [Tue, 7 Oct 2014 14:34:43 +0000 (10:34 -0400)]
Merge pull request #1179 from ludovic-henry/pr25-threadpool
[threadpool] Improve heuristic to approach optimal number of threads based on workload
Marcos Henrich [Tue, 7 Oct 2014 13:03:29 +0000 (14:03 +0100)]
Added missing files to projects csproj files.
Alexis Christoforides [Tue, 7 Oct 2014 00:02:23 +0000 (17:02 -0700)]
[runtime] Fix another lost canary change
Zoltan Varga [Mon, 6 Oct 2014 20:13:54 +0000 (16:13 -0400)]
Kill timed-out tests when using the managed test runner.
Vlad Brezae [Mon, 6 Oct 2014 19:11:57 +0000 (12:11 -0700)]
[sgen] Fix pointer access.
Thanks to @martinpotter for finding the bug.
Zoltan Varga [Mon, 6 Oct 2014 18:56:21 +0000 (14:56 -0400)]
[bcl] Remove some verbose test output.
Rodrigo Kumpera [Mon, 6 Oct 2014 14:54:09 +0000 (10:54 -0400)]
[runtime] Silence a warning that has not helped us fix anything.
Alexis Christoforides [Mon, 6 Oct 2014 06:08:48 +0000 (23:08 -0700)]
[runtime] Fix canary oops
Alexis Christoforides [Mon, 6 Oct 2014 05:32:53 +0000 (22:32 -0700)]
[runtime] Implement 'nursery-canaries' option for SGen.
Alexis Christoforides [Mon, 6 Oct 2014 05:21:15 +0000 (22:21 -0700)]
[runtime] Convert String.InternalSetLength to an icall. Needed for canary support.
The change does not have a negative impact on StringBuilder performance; under variable-string-length microbenchmarks it seems to perform ~15-20% faster than the managed implementation.
Alexis Christoforides [Mon, 6 Oct 2014 05:16:27 +0000 (22:16 -0700)]
[runtime] Implement nursery canaries.
Use the new MONO_GC_DEBUG option "nursery-canaries" to suffix each nursery object with a canary (guard) word, which is checked on each minor collection. Can be used to detect/debug
heap corruption issues.
Adding canaries to LOS is also easy if wanted - not sure about major heap.
Marek Safar [Sun, 5 Oct 2014 21:58:02 +0000 (17:58 -0400)]
[system.xml] Make XmlSerializer work even when XmlTextReader has explicitly set its resolver
Marek Safar [Sun, 5 Oct 2014 19:44:55 +0000 (15:44 -0400)]
[system.xml] Add missing 4.0 property