mono.git
9 years ago[msvc] Refreshed .def files (needed for SGen to build)
Jo Shields [Fri, 21 Nov 2014 10:40:39 +0000 (10:40 +0000)]
[msvc] Refreshed .def files (needed for SGen to build)

9 years ago[profiler] Use the new hidden API to attach the helper thread as a tools thread....
Rodrigo Kumpera [Thu, 20 Nov 2014 23:33:33 +0000 (18:33 -0500)]
[profiler] Use the new hidden API to attach the helper thread as a tools thread. This makes JI lookup work more reliably.

9 years ago[jit] Don't sample threads that are not fully attached.
Rodrigo Kumpera [Thu, 20 Nov 2014 23:32:53 +0000 (18:32 -0500)]
[jit] Don't sample threads that are not fully attached.

9 years ago[runtime] Introduce the notion of a tools thread.
Rodrigo Kumpera [Thu, 20 Nov 2014 22:55:05 +0000 (17:55 -0500)]
[runtime] Introduce the notion of a tools thread.

A tools thread is one that can access core runtime structures but not touch anything managed (code or heap).

It's intended to enable the profiler to resolve missing backtraces from its helper thread.

THIS IS A HACK.

The right solution would be to not perform this on the profiler at all and simply log IPs and let the decoder
resolve them. But then there's reality and we can't simply break the current format without consequences.

We're taking this hack for now until we can fix the profiler to do something sensible.

9 years ago[utils] Add foreach variant that supports filtering the list as you go.
Rodrigo Kumpera [Thu, 20 Nov 2014 22:44:26 +0000 (17:44 -0500)]
[utils] Add foreach variant that supports filtering the list as you go.

9 years agoMerge pull request #1421 from BrzVlad/fix-monitor-resurrection
Mark Probst [Thu, 20 Nov 2014 19:12:27 +0000 (11:12 -0800)]
Merge pull request #1421 from BrzVlad/fix-monitor-resurrection

Fix monitor-resurrection test.

9 years agoFix monitor-resurrection test.
Vlad Brezae [Thu, 20 Nov 2014 18:57:00 +0000 (10:57 -0800)]
Fix monitor-resurrection test.

Try to avoid the pinning of the object that needs to be finalized.

9 years agoMerge pull request #1419 from directhex/bump_msvc_VERSION
Zoltan Varga [Thu, 20 Nov 2014 17:56:41 +0000 (12:56 -0500)]
Merge pull request #1419 from directhex/bump_msvc_VERSION

[msvc] Bump winconfig.h VERSION to match configure.ac

9 years ago[msvc] Bump winconfig.h VERSION to match configure.ac
Jo Shields [Thu, 20 Nov 2014 17:11:43 +0000 (17:11 +0000)]
[msvc] Bump winconfig.h VERSION to match configure.ac

Unhelpfully, winconfig.h is used for building eglib, and it includes a hardcoded VERSION definition which needs to match configure.ac - otherwise msvc builds identify themselves as 2.11

9 years agoMerge pull request #1416 from jbevain/token-wrapper-data
Rodrigo Kumpera [Thu, 20 Nov 2014 17:10:23 +0000 (12:10 -0500)]
Merge pull request #1416 from jbevain/token-wrapper-data

[jit] Use the proper function to resolve classes

9 years agoChanged ConcurrentBagTests.Bug24213 () to reuse variable array.
Marcos Henrich [Thu, 20 Nov 2014 16:15:46 +0000 (16:15 +0000)]
Changed ConcurrentBagTests.Bug24213 () to reuse variable array.

9 years agoMerge pull request #1418 from esdrubal/concurrentbag
Marek Safar [Thu, 20 Nov 2014 14:43:21 +0000 (15:43 +0100)]
Merge pull request #1418 from esdrubal/concurrentbag

Fixed CyclicDeque array growth.

9 years agoFixed CyclicDeque array growth. Fixes 24213.
Marcos Henrich [Thu, 20 Nov 2014 14:22:58 +0000 (14:22 +0000)]
Fixed CyclicDeque array growth. Fixes 24213.
Changed CyclicDeque.PushBottom to resize the array when its size is equal to its length.

9 years agoTest ConcurrentBag growth. Covers #24213.
Marcos Henrich [Thu, 20 Nov 2014 14:19:42 +0000 (14:19 +0000)]
Test ConcurrentBag growth. Covers #24213.

9 years agoMerge pull request #1417 from directhex/fix_msvc_build
Miguel de Icaza [Thu, 20 Nov 2014 13:13:57 +0000 (08:13 -0500)]
Merge pull request #1417 from directhex/fix_msvc_build

[msvc] Add a definition for _WIN32_WINNT to MonoPosixHelper

9 years ago[msvc] Add a definition for _WIN32_WINNT to MonoPosixHelper
Jo Shields [Thu, 20 Nov 2014 13:05:10 +0000 (13:05 +0000)]
[msvc] Add a definition for _WIN32_WINNT to MonoPosixHelper

MonoPosixHelper fails to build in my testing, due to config.h bailing the
build out if it doesn't think the build platform is XP SP2 or higher.
Adding this define forces that minimum Windows version, allowing mono.sln
to build fully.

9 years agoAdded missing projects files to corlib-net_4_5.csproj
Marcos Henrich [Thu, 20 Nov 2014 12:12:49 +0000 (12:12 +0000)]
Added missing projects files to corlib-net_4_5.csproj

9 years agoTest sizeof, mkrefany & refanyvalue in dynamic methods
Jb Evain [Thu, 20 Nov 2014 10:50:35 +0000 (11:50 +0100)]
Test sizeof, mkrefany & refanyvalue in dynamic methods

They previously resulted in TypeLoadExceptions.

9 years ago[jit] Use the proper function to get classes
Jb Evain [Thu, 20 Nov 2014 10:39:41 +0000 (11:39 +0100)]
[jit] Use the proper function to get classes

For the opcodes sizeof, mkrefany and refanyval the jit
was resolving the operand tokens directly from the image.

In dynamic scenarios where the tokens are stored in the
wrapper data, this triggered TypeLoadExceptions.

This patch uses mini_get_class, as used everywhere else,
to resolve the operand tokens of those opcodes.

9 years agoFix #24577 correctly, cfg->code_len is the size of the code, while cfg->code_size...
Zoltan Varga [Thu, 20 Nov 2014 09:45:44 +0000 (04:45 -0500)]
Fix #24577 correctly, cfg->code_len is the size of the code, while cfg->code_size is the size of the memory area allocated for code.

9 years agoFix a warning.
Zoltan Varga [Thu, 20 Nov 2014 05:06:03 +0000 (00:06 -0500)]
Fix a warning.

9 years agoFix a warning.
Zoltan Varga [Thu, 20 Nov 2014 05:05:33 +0000 (00:05 -0500)]
Fix a warning.

9 years agoAdd referencesource submodule
Miguel de Icaza [Thu, 20 Nov 2014 02:01:39 +0000 (21:01 -0500)]
Add referencesource submodule

9 years agoMerge pull request #1411 from jbevain/sdb-frame-domain
Zoltan Varga [Thu, 20 Nov 2014 01:51:34 +0000 (20:51 -0500)]
Merge pull request #1411 from jbevain/sdb-frame-domain

[sdb] Expose the domain of the stack frames

9 years ago[jit] Remove an unused interpeter file.
Zoltan Varga [Thu, 20 Nov 2014 00:20:02 +0000 (19:20 -0500)]
[jit] Remove an unused interpeter file.

9 years ago[jit] Remove some unused defines.
Zoltan Varga [Thu, 20 Nov 2014 00:12:52 +0000 (19:12 -0500)]
[jit] Remove some unused defines.

9 years ago[sgen] Remove dead code.
Mark Probst [Wed, 19 Nov 2014 20:46:08 +0000 (12:46 -0800)]
[sgen] Remove dead code.

9 years agoMerge pull request #1415 from ermshiperete/FixTruncatedButton
Miguel de Icaza [Wed, 19 Nov 2014 19:05:03 +0000 (14:05 -0500)]
Merge pull request #1415 from ermshiperete/FixTruncatedButton

[MWF] Fix bug that truncates button text

9 years agoMerge pull request #1414 from ExonyLimited/process-vmswap
Zoltan Varga [Wed, 19 Nov 2014 18:58:25 +0000 (13:58 -0500)]
Merge pull request #1414 from ExonyLimited/process-vmswap

Process.PagedMemorySize64 now returns value from /proc/PID/status

9 years ago[MWF] Fix bug that truncates button text
Eberhard Beilharz [Wed, 19 Nov 2014 18:48:27 +0000 (19:48 +0100)]
[MWF] Fix bug that truncates button text

A previous change (885b065e) accidentally calculated the text size
in some places without padding. This resulted in a slightly to small
text rectangle, causing the text to be truncated.

9 years agoFixes build
Marek Safar [Wed, 19 Nov 2014 17:07:52 +0000 (18:07 +0100)]
Fixes build

9 years ago[corlib] Capture awaited task exception stack. First part of #18629
Marek Safar [Wed, 19 Nov 2014 16:40:05 +0000 (17:40 +0100)]
[corlib] Capture awaited task exception stack. First part of #18629

9 years agoProcess.PagedMemorySize64 now returns value from /proc/PID/status
Craig Minihan [Wed, 19 Nov 2014 13:56:48 +0000 (05:56 -0800)]
Process.PagedMemorySize64 now returns value from /proc/PID/status

9 years agoFix typo, there is no profile called 'xammaci'.
Rolf Bjarne Kvinge [Wed, 19 Nov 2014 09:28:46 +0000 (10:28 +0100)]
Fix typo, there is no profile called 'xammaci'.

9 years agoMerge pull request #1413 from BrzVlad/bin-prot-io
Mark Probst [Wed, 19 Nov 2014 01:59:16 +0000 (17:59 -0800)]
Merge pull request #1413 from BrzVlad/bin-prot-io

System calls for binary protocol writing

9 years ago[sgen] Don't use standard C API for binary protocol IO.
Vlad Brezae [Tue, 18 Nov 2014 02:12:37 +0000 (18:12 -0800)]
[sgen] Don't use standard C API for binary protocol IO.

This prevents deadlocks from libc locks when interrupting.

9 years ago[sdb] Avoid asserts on shutdown when the appdomain unload callbacks are called on...
Zoltan Varga [Wed, 19 Nov 2014 01:54:12 +0000 (20:54 -0500)]
[sdb] Avoid asserts on shutdown when the appdomain unload callbacks are called on the debugger thread during shutdown. Fixes #24342.

9 years ago[sgen] Fix binary protocol build
Vlad Brezae [Wed, 19 Nov 2014 01:32:24 +0000 (17:32 -0800)]
[sgen] Fix binary protocol build

9 years ago[jit] Fix the calculation of the epilog size for EH info. Fixes #24577.
Zoltan Varga [Tue, 18 Nov 2014 21:53:15 +0000 (16:53 -0500)]
[jit] Fix the calculation of the epilog size for EH info. Fixes #24577.

9 years ago[runtime] Replace mono_method_get_signature(_full) with the _checked variant.
Rodrigo Kumpera [Tue, 18 Nov 2014 21:50:57 +0000 (16:50 -0500)]
[runtime] Replace mono_method_get_signature(_full) with the _checked variant.

9 years ago[runtime] Introduce mono_method_get_signature_checked as the MonoError variant of...
Rodrigo Kumpera [Tue, 18 Nov 2014 21:24:51 +0000 (16:24 -0500)]
[runtime] Introduce mono_method_get_signature_checked as the MonoError variant of mono_method_get_signature_full.

9 years ago[runtime] Remove monodiet.c.
Rodrigo Kumpera [Tue, 18 Nov 2014 19:34:03 +0000 (14:34 -0500)]
[runtime] Remove monodiet.c.

9 years ago[jit] Remove an assert from mono_arch_find_jit_info () on x86 which can be hit when...
Zoltan Varga [Tue, 18 Nov 2014 21:03:22 +0000 (16:03 -0500)]
[jit] Remove an assert from mono_arch_find_jit_info () on x86 which can be hit when a profiler stack walk is done while in a jump trampoline.

9 years ago[jit] Use _checked variant of mono_field_from_token.
Rodrigo Kumpera [Wed, 10 Sep 2014 23:03:51 +0000 (19:03 -0400)]
[jit] Use _checked variant of mono_field_from_token.

9 years ago[runtime] Use _checked variant of mono_field_from_token.
Rodrigo Kumpera [Wed, 10 Sep 2014 23:03:05 +0000 (19:03 -0400)]
[runtime] Use _checked variant of mono_field_from_token.

9 years ago[jit] Use MonoError when possible for error handling.
Rodrigo Kumpera [Wed, 10 Sep 2014 22:59:44 +0000 (18:59 -0400)]
[jit] Use MonoError when possible for error handling.

9 years ago[jit] Add a JIT failure mode that uses MonoError.
Rodrigo Kumpera [Wed, 10 Sep 2014 22:51:34 +0000 (18:51 -0400)]
[jit] Add a JIT failure mode that uses MonoError.

9 years ago[runtime] more loader error cleanup.
Rodrigo Kumpera [Wed, 10 Sep 2014 15:44:30 +0000 (11:44 -0400)]
[runtime] more loader error cleanup.

9 years ago[runtime] Fix #24605 "counters not enabled" message in monodis and peverify
Ludovic Henry [Tue, 18 Nov 2014 16:51:28 +0000 (11:51 -0500)]
[runtime] Fix #24605 "counters not enabled" message in monodis and peverify

9 years ago[eval] Don't assumen all captured types have storey assigned
Marek Safar [Tue, 18 Nov 2014 15:51:11 +0000 (16:51 +0100)]
[eval] Don't assumen all captured types have storey assigned

9 years ago[mcs] Remove primary constructors and declaration expressions from C#6
Marek Safar [Tue, 18 Nov 2014 13:44:16 +0000 (14:44 +0100)]
[mcs] Remove primary constructors and declaration expressions from C#6

9 years ago[Mono.Debugger.Soft] Add test for StackFrame.Domain
Jb Evain [Tue, 18 Nov 2014 13:12:36 +0000 (14:12 +0100)]
[Mono.Debugger.Soft] Add test for StackFrame.Domain

Assert that the property returns the proper domain for the stack frame.

9 years ago[mcs] Fix error reporting for incomplete attribute target. Fixes #24537
Marek Safar [Tue, 18 Nov 2014 13:11:59 +0000 (14:11 +0100)]
[mcs] Fix error reporting for incomplete attribute target. Fixes #24537

9 years ago[Mono.Debugger.Soft] Implement StackFrame.Domain
Jb Evain [Tue, 18 Nov 2014 13:10:53 +0000 (14:10 +0100)]
[Mono.Debugger.Soft] Implement StackFrame.Domain

This property uses the new CMD_STACK_FRAME_GET_DOMAIN command
to retrieve and cache the domain in which the stack frame
is executing.

Bump the protocol version to match the runtime.

9 years ago[sdb] Add command CMD_STACK_FRAME_GET_DOMAIN
Jb Evain [Tue, 18 Nov 2014 13:07:32 +0000 (14:07 +0100)]
[sdb] Add command CMD_STACK_FRAME_GET_DOMAIN

This command returns the domain in which the stack frame is executing

Bump protocol version.

9 years ago[mcs] Less cascading errors
Marek Safar [Tue, 18 Nov 2014 12:40:56 +0000 (13:40 +0100)]
[mcs] Less cascading errors

9 years ago[mcs] Makes flow analysis of goto/goto case significantly faster. Fixes #24511
Marek Safar [Tue, 18 Nov 2014 09:27:17 +0000 (10:27 +0100)]
[mcs] Makes flow analysis of goto/goto case significantly faster. Fixes #24511

9 years ago[jit] Fix a class initialization race which happens if a class initializer initialize...
Zoltan Varga [Tue, 18 Nov 2014 02:44:35 +0000 (21:44 -0500)]
[jit] Fix a class initialization race which happens if a class initializer initializes a got slot before it finishes running. Fixes #23242.

9 years ago[aot] Disable COM support in AOT code, the COM wrapper code doesn't play well with...
Zoltan Varga [Mon, 17 Nov 2014 22:42:28 +0000 (17:42 -0500)]
[aot] Disable COM support in AOT code, the COM wrapper code doesn't play well with AOT.

9 years agoMerge pull request #1406 from BrzVlad/monitor-resurrect
Mark Probst [Mon, 17 Nov 2014 22:17:32 +0000 (14:17 -0800)]
Merge pull request #1406 from BrzVlad/monitor-resurrect

Keep the monitor link to the object active also in the resurrection case

9 years agoMerge pull request #1388 from schani/fix-23401
Rodrigo Kumpera [Mon, 17 Nov 2014 22:17:04 +0000 (17:17 -0500)]
Merge pull request #1388 from schani/fix-23401

Fix 23401

9 years ago[runtime] Avoid crashes when a non-runtime thread receives a SIGQUIT.
Zoltan Varga [Mon, 17 Nov 2014 22:03:35 +0000 (17:03 -0500)]
[runtime] Avoid crashes when a non-runtime thread receives a SIGQUIT.

9 years agoMerge pull request #1408 from brendanzagaeski/signed-xml-bug-7716
Sebastien Pouliot [Mon, 17 Nov 2014 21:32:54 +0000 (16:32 -0500)]
Merge pull request #1408 from brendanzagaeski/signed-xml-bug-7716

[System.Security] Fix SignedXml bug #7716 with tests

9 years ago[arm] Applied patch from Richard Dunkley <rick.dunkley@gmail.com>. Fix complication...
Zoltan Varga [Mon, 17 Nov 2014 20:46:31 +0000 (15:46 -0500)]
[arm] Applied patch from Richard Dunkley <rick.dunkley@gmail.com>. Fix complication problems with newer gcc versions. Fixes #24588.

9 years ago[System.Security] Fix SignedXml bug #7716 with tests
Brendan Zagaeski [Sat, 15 Nov 2014 05:34:42 +0000 (00:34 -0500)]
[System.Security] Fix SignedXml bug #7716 with tests

The underlying problem for bug 7716 [1] was that the Mono C14N XML
canonicalizer was not sorting the XML attributes in the same order as
Microsoft .NET's canonicalizer.

The C14N specification [2] states: "the attributes are sorted
lexicographically by attribute name (based on Unicode character code
points)." This wording suggests that the order of attributes should be
strictly ascending based on Unicode byte value. This commit changes the
attribute sort order to match the specification.

The new tests pass on Windows, fail on Mono before this change, and
succeed on Mono after this change.

[1] https://bugzilla.xamarin.com/show_bug.cgi?id=7716
[2] http://www.w3.org/TR/2000/WD-xml-c14n-20000119.html

9 years agoKeep the monitor link to the object active also in the resurrection case.
Vlad Brezae [Mon, 17 Nov 2014 20:23:32 +0000 (12:23 -0800)]
Keep the monitor link to the object active also in the resurrection case.

The MonoThreadsSync data field contains a weak reference to the object that uses the structure, which should be a tracking one.

9 years agoMerge pull request #1405 from mono/revert-1289-stackframe
Rodrigo Kumpera [Mon, 17 Nov 2014 19:39:43 +0000 (14:39 -0500)]
Merge pull request #1405 from mono/revert-1289-stackframe

Revert "Improved exception stack frame displayed data."

9 years agoRevert "Improved exception stack frame displayed data."
Rodrigo Kumpera [Mon, 17 Nov 2014 19:37:41 +0000 (14:37 -0500)]
Revert "Improved exception stack frame displayed data."

9 years agoMerge pull request #1289 from esdrubal/stackframe
Rodrigo Kumpera [Mon, 17 Nov 2014 17:44:35 +0000 (12:44 -0500)]
Merge pull request #1289 from esdrubal/stackframe

Improved exception stack frame displayed data.

9 years agoChanged METHOD_EXIT_IL_OFFSET back to 0xffffff.
Marcos Henrich [Mon, 17 Nov 2014 12:47:43 +0000 (20:47 +0800)]
Changed METHOD_EXIT_IL_OFFSET back to 0xffffff.
The previous value was -2, that could introduce comparison issues.
Added flag MONO_SEQ_POINT_FLAG_EXIT_IL that is used to encode the exit IL, this avoids a 4 byte IL offset delta.

9 years agoAdded out_buf parameter to encode_var_int and decode_var_int.
Marcos Henrich [Mon, 17 Nov 2014 10:20:15 +0000 (18:20 +0800)]
Added out_buf parameter to encode_var_int and decode_var_int.

9 years agoRenamed seq_point_info_write_size to seq_point_info_get_write_size.
Marcos Henrich [Fri, 14 Nov 2014 18:37:10 +0000 (02:37 +0800)]
Renamed seq_point_info_write_size to seq_point_info_get_write_size.

9 years agoMonoSeqPointInfo data is now compressed.
Marcos Henrich [Fri, 31 Oct 2014 13:54:03 +0000 (13:54 +0000)]
MonoSeqPointInfo data is now compressed.
Encode data MonoSeqPointInfo len, has_debug_data and alloc_data into a single variable int.

9 years agoMonoSeqPointInfo no longer uses a GByteArray.
Marcos Henrich [Fri, 31 Oct 2014 10:29:15 +0000 (10:29 +0000)]
MonoSeqPointInfo no longer uses a GByteArray.
GByteArray requires too much memory, we still use GByteArray to build the buffer but when its done we store in MonoSeqPointInfo a copy.

9 years agoMerged SeqPoint.next_array with SeqPoint.array.
Marcos Henrich [Fri, 31 Oct 2014 09:38:09 +0000 (09:38 +0000)]
Merged SeqPoint.next_array with SeqPoint.array.

9 years agoSeqPoint next array is no longer allocated by default.
Marcos Henrich [Fri, 31 Oct 2014 08:57:23 +0000 (08:57 +0000)]
SeqPoint next array is no longer allocated by default.
Next array will only be allocated if has_debug_data is true.

9 years agoAdded size of sequence points to mono jit stats.
Marcos Henrich [Fri, 31 Oct 2014 08:54:24 +0000 (08:54 +0000)]
Added size of sequence points to mono jit stats.

9 years agoIgnore seq points of entry and exit IL offsets.
Marcos Henrich [Thu, 30 Oct 2014 22:37:45 +0000 (22:37 +0000)]
Ignore seq points of entry and exit IL offsets.
Those seq points are only required for debugging.

9 years agoChanged mini-exceptions functions to get IL offsets from seq point.
Marcos Henrich [Thu, 30 Oct 2014 22:34:44 +0000 (22:34 +0000)]
Changed mini-exceptions functions to get IL offsets from seq point.
mono_walk_stack_full and ves_icall_get_trace are now using find_prev_seq_point_for_native_offset to retrieve IL offsets.

9 years agoSequence points debug data is no longer store by default.
Marcos Henrich [Thu, 30 Oct 2014 21:17:55 +0000 (21:17 +0000)]
Sequence points debug data is no longer store by default.
Debug data is only stored when cfg->gen_seq_points_debug_data is true.

9 years agoSequence points are now generated by default.
Marcos Henrich [Thu, 30 Oct 2014 21:14:16 +0000 (21:14 +0000)]
Sequence points are now generated by default.

9 years agoChanged METHOD_EXIT_IL_OFFSET to -2
Marcos Henrich [Thu, 30 Oct 2014 15:20:10 +0000 (15:20 +0000)]
Changed METHOD_EXIT_IL_OFFSET to -2
The new value produces lower deltas and does not overflow when using variable integer encoding.

9 years agoaot-runtime and aot-compiler now use seq_point_info_read/write.
Marcos Henrich [Thu, 30 Oct 2014 09:18:10 +0000 (09:18 +0000)]
aot-runtime and aot-compiler now use seq_point_info_read/write.

9 years agoAdded methods to read and write MonoSeqPointInfo.
Marcos Henrich [Thu, 30 Oct 2014 09:15:07 +0000 (09:15 +0000)]
Added methods to read and write MonoSeqPointInfo.

9 years agoSeqPoint are now kept in memory with a compact encoding.
Marcos Henrich [Wed, 29 Oct 2014 11:00:46 +0000 (11:00 +0000)]
SeqPoint are now kept in memory with a compact encoding.
MonoSeqPointInfo has now a pointer to a buffer containing encoded sequence points, and to a buffer containing next values.
As there is no longer an array of SeqPoint ready to be read, SeqPointIterator was added.

9 years agoMoved sequence point logic to seq-points.h and seq-points.c
Marcos Henrich [Tue, 28 Oct 2014 22:06:07 +0000 (22:06 +0000)]
Moved sequence point logic to seq-points.h and seq-points.c

9 years agoImproved exception stack frame displayed data.
Marcos Henrich [Wed, 17 Sep 2014 19:08:31 +0000 (20:08 +0100)]
Improved exception stack frame displayed data.
Added stack frame method address display.

9 years agoAdded to StackFrame a field for the method address.
Marcos Henrich [Wed, 17 Sep 2014 18:48:43 +0000 (19:48 +0100)]
Added to StackFrame a field for the method address.
Incremented MONO_CORLIB_VERSION.

9 years ago[runtime] Fix the errors in edb931dfb9741660fefe73528c503b17e1341f4d so it actually...
Zoltan Varga [Fri, 14 Nov 2014 03:26:03 +0000 (22:26 -0500)]
[runtime] Fix the errors in edb931dfb9741660fefe73528c503b17e1341f4d so it actually works.

9 years ago[sgen] Add a FIXME.
Mark Probst [Thu, 13 Nov 2014 23:42:41 +0000 (15:42 -0800)]
[sgen] Add a FIXME.

9 years ago[sgen] Never mark from two threads at the same time.
Mark Probst [Wed, 12 Nov 2014 23:51:07 +0000 (15:51 -0800)]
[sgen] Never mark from two threads at the same time.

We don't update mark bits atomically, so we can't have two threads
marking at the same time, which means we have to stop the concurrent
collector worker thread while we do work in the main GC thread.  That
includes nursery collections, because they also touch mark bits.

Also problematic are mod-union updates.  The worker threads can add
global remsets, which they do in the main cardtable.  This will conflict
with updating the mod-union table, so having the workers stopped also
applies there.

9 years ago[sgen] Reorganize `sgen_perform_collection` for clarity.
Mark Probst [Wed, 12 Nov 2014 01:13:36 +0000 (17:13 -0800)]
[sgen] Reorganize `sgen_perform_collection` for clarity.

9 years ago[sgen] Make `check-mark-bits` work again.
Mark Probst [Tue, 11 Nov 2014 23:26:23 +0000 (15:26 -0800)]
[sgen] Make `check-mark-bits` work again.

9 years ago[sgen] Scan the whole nursery in the finish mark pause.
Mark Probst [Tue, 11 Nov 2014 23:17:18 +0000 (15:17 -0800)]
[sgen] Scan the whole nursery in the finish mark pause.

Before we do all the major heap work in the finish mark pause of a
concurrent collection, we perform a nursery collection, for simplicity's
sake.

The nursery collection left pinned objects in the nursery, without
following their references into the major heap, so the major heap work
had to scan those objects again.  There was no special provisioning
for this—major mark would do the pinning again, and we would
automatically end up scanning the objects again.

The way we determine the stack end for the GC thread, however,
had the effect of making pinning non-deterministic.  We would
conservatively scan part of the GC thread's stack, which was
subject to change, to pinning again might result in less or more
objects pinned.

The proper solution would be to determine the stack end correctly,
but for now we will just the whole nursery.

9 years ago[sgen] Only count cards for STW protocol if heavy is enabled.
Mark Probst [Fri, 7 Nov 2014 19:53:56 +0000 (11:53 -0800)]
[sgen] Only count cards for STW protocol if heavy is enabled.

9 years ago[sgen] Binary protocol entry for pin stage.
Mark Probst [Thu, 6 Nov 2014 22:59:08 +0000 (14:59 -0800)]
[sgen] Binary protocol entry for pin stage.

9 years ago[sgen] Add missing `volatile`.
Mark Probst [Thu, 6 Nov 2014 22:53:55 +0000 (14:53 -0800)]
[sgen] Add missing `volatile`.

9 years ago[System] Ignore two tests which are failing due to external factors changing.
Rolf Bjarne Kvinge [Thu, 13 Nov 2014 08:48:37 +0000 (09:48 +0100)]
[System] Ignore two tests which are failing due to external factors changing.

See https://bugzilla.xamarin.com/show_bug.cgi?id=24340

9 years ago[mono-api-html] Allow ignoring addition of property setters.
Jonathan Pryor [Thu, 13 Nov 2014 18:18:49 +0000 (13:18 -0500)]
[mono-api-html] Allow ignoring addition of property setters.

As mentioned in commit 789517f8, I'm trying to compare inter-API level
differences in Mono.Android.dll, and want to reduce as much
"meaningless noise" as possible -- changes which don't meaningfully
break API or ABI.

Among those "meaningless" changes are the addition of property setters
to properties. Adding a setter doesn't break API or ABI.

Add a `mono-api-html --ignore-changes-property-setters` option.

  --ignore-changes-property-setters:
      Ignore the addition of property setters.

      If a source property contains a getter and the target property
      contains both a getter and a setter, do not flag this as a
      change.

9 years ago[mono-api-html] Make --ignore-changes-virtual less lenient.
Jonathan Pryor [Thu, 13 Nov 2014 18:02:34 +0000 (13:02 -0500)]
[mono-api-html] Make --ignore-changes-virtual less lenient.

As mentioned in commit 789517f8, the intentino of
`mono-api-html --ignore-changes-virtual` is so that when a method is
changed from non-virtual to virtual or override, or from virtual to
override, a "Removed member" message isn't triggered.

However, the previous implementation was too lenient. While *adding*
virtual to the method is fine, *removing* is NOT fine, as that would
be an API breaking change (e.g. all classes which attempt to override
a previously virtual method could no longer do so).

Make the virtual check stricter so that virtual/override to
non-virtual changes are not ignored.