mono.git
10 years agoMerge pull request #1026 from DavidKarlas/cacheThreadInfo
Jeffrey Stedfast [Thu, 8 May 2014 18:05:46 +0000 (14:05 -0400)]
Merge pull request #1026 from DavidKarlas/cacheThreadInfo

[Mono.Debugger.Soft] Adding caching of ThreadInfo in ThreadMirror

10 years ago[mono-api-html] Refactor to ensure the RegEx (if used) is applied everywhere
Sebastien Pouliot [Thu, 8 May 2014 17:30:49 +0000 (13:30 -0400)]
[mono-api-html] Refactor to ensure the RegEx (if used) is applied everywhere

* The existing regex was not always used (e.g. new sections);

* It's now possible to use a regex on 'removed' (not just added) elements;

* It's possible to use the same regex for both (or have different ones);

10 years ago[counters] Fix operator precedence
Ludovic Henry [Thu, 8 May 2014 15:29:01 +0000 (11:29 -0400)]
[counters] Fix operator precedence

10 years ago[counters] Edit dump_counter to use mono_counters_sample and accessors
Ludovic Henry [Wed, 7 May 2014 22:04:47 +0000 (18:04 -0400)]
[counters] Edit dump_counter to use mono_counters_sample and accessors

10 years ago[gsharedvt] Add tests for large structs.
Zoltan Varga [Wed, 7 May 2014 22:10:55 +0000 (00:10 +0200)]
[gsharedvt] Add tests for large structs.

10 years agoInitialize out parameters to NULL.
Rolf Bjarne Kvinge [Thu, 8 May 2014 14:57:17 +0000 (16:57 +0200)]
Initialize out parameters to NULL.

Fixes a crash in the debugger, where we were freeing random pointers:

(lldb)
frame #2: 0x000dc981 monotouchtest`method_commands_internal(command=<unavailable>, method=<unavailable>, domain=<unavailable>, p=0x7f52aca4, end=<unavailable>, buf=<unavailable>) + 9009 at debugger-agent.c:8116
   8113 g_free (il_offsets);
   8114 g_free (line_numbers);
   8115 g_free (column_numbers);
-> 8116 g_free (end_line_numbers);
   8117 g_free (end_column_numbers);
   8118 g_free (source_files);
   8119 g_ptr_array_free (source_file_list, TRUE);

10 years ago[Mono.Debugger.Soft] Adding caching of ThreadInfo in ThreadMirror
David Karlaš [Thu, 8 May 2014 08:51:40 +0000 (10:51 +0200)]
[Mono.Debugger.Soft] Adding caching of ThreadInfo in ThreadMirror

10 years ago[corlib] Use invariant culture for GetTempFileName generator
Marek Safar [Thu, 8 May 2014 08:25:00 +0000 (10:25 +0200)]
[corlib] Use invariant culture for GetTempFileName generator

10 years ago[xbuild] Don't crash when reporting top level unknown elements
Marek Safar [Wed, 7 May 2014 18:05:55 +0000 (20:05 +0200)]
[xbuild] Don't crash when reporting top level unknown elements

10 years ago[System.Core] Fix MOBILE-implementation of MemoryMappedFile
Sebastien Pouliot [Wed, 7 May 2014 23:33:45 +0000 (19:33 -0400)]
[System.Core] Fix MOBILE-implementation of MemoryMappedFile

Internal API was updated only for the non-MOBILE part. Public/shared API requires them in sync.

10 years ago[counters] Fix -1 array access in case counter is of type string and value is null
Ludovic Henry [Wed, 7 May 2014 22:40:11 +0000 (18:40 -0400)]
[counters] Fix -1 array access in case counter is of type string and value is null

10 years ago[counters] Improve the documentation of the counters API.
Rodrigo Kumpera [Wed, 7 May 2014 21:55:54 +0000 (17:55 -0400)]
[counters] Improve the documentation of the counters API.

10 years ago[counters] Fix the build and do some error handling.
Rodrigo Kumpera [Wed, 7 May 2014 21:55:20 +0000 (17:55 -0400)]
[counters] Fix the build and do some error handling.

10 years agoMerge pull request #1022 from ludovic-henry/pr9-string-counters
Rodrigo Kumpera [Wed, 7 May 2014 21:40:10 +0000 (17:40 -0400)]
Merge pull request #1022 from ludovic-henry/pr9-string-counters

[counters] Add support for string values

10 years ago[counters] Fix potential overflow in string sampling
Ludovic Henry [Wed, 7 May 2014 21:32:09 +0000 (17:32 -0400)]
[counters] Fix potential overflow in string sampling

10 years ago[mono-api-html] Prettier output when dealing with arrays ([] or [][]), nullable ...
Sebastien Pouliot [Wed, 7 May 2014 21:24:49 +0000 (17:24 -0400)]
[mono-api-html] Prettier output when dealing with arrays ([] or [][]), nullable (?) and pointers (*).

10 years agoMerge pull request #1023 from LogosBible/NetworkStreamBeginWriteInnerException
Marek Safar [Wed, 7 May 2014 17:10:27 +0000 (19:10 +0200)]
Merge pull request #1023 from LogosBible/NetworkStreamBeginWriteInnerException

Include inner exception when BeginWrite fails due to exception from Sock...

10 years ago[counters] Add support for string values
Ludovic Henry [Wed, 7 May 2014 16:01:25 +0000 (12:01 -0400)]
[counters] Add support for string values

Add new function mono_counters_register_with_size which let the counters API now what is going to be the max size of the string.
The type of the value passed when MONO_COUNTER_STRING is passed must be char* (instead of char** previously). This is to guarantee that, if we want to change the value of the counter, we do not reallocate and free the old value, but we change the value in place. Thus to avoir race condition and access to freed memory.

10 years agoInclude inner exception when BeginWrite fails due to exception from Socket.BeginSend.
Tom Philpot [Wed, 7 May 2014 16:48:31 +0000 (09:48 -0700)]
Include inner exception when BeginWrite fails due to exception from Socket.BeginSend.

10 years agoUndo project change from 073fe7a39cd9d64d77bc9687c50fd49bb0c66fdd which should not...
Marek Safar [Wed, 7 May 2014 15:01:09 +0000 (17:01 +0200)]
Undo project change from 073fe7a39cd9d64d77bc9687c50fd49bb0c66fdd which should not be included

10 years agoFix the check in 4660f44381e6f686b0cf3ded08564104c277e00a for special files.
Alex Rønne Petersen [Wed, 7 May 2014 14:56:41 +0000 (16:56 +0200)]
Fix the check in 4660f44381e6f686b0cf3ded08564104c277e00a for special files.

10 years ago[mcs] Fix completion for `new {' input
Marek Safar [Wed, 7 May 2014 14:51:08 +0000 (16:51 +0200)]
[mcs] Fix completion for `new {' input

10 years ago[mcs] Don't report interface implementation errors for optional implementations....
Marek Safar [Wed, 7 May 2014 13:10:13 +0000 (15:10 +0200)]
[mcs] Don't report interface implementation errors for optional implementations. Fixes #18030

10 years agoFix the build.
Zoltan Varga [Wed, 7 May 2014 12:50:20 +0000 (14:50 +0200)]
Fix the build.

10 years ago[system.core] Fix some MemoryMappedFile argument checks
Marek Safar [Wed, 7 May 2014 12:19:34 +0000 (14:19 +0200)]
[system.core] Fix some MemoryMappedFile argument checks

10 years ago[sdb] Add end lines/end columns to line number information.
Zoltan Varga [Wed, 7 May 2014 12:01:57 +0000 (14:01 +0200)]
[sdb] Add end lines/end columns to line number information.

10 years agoAdd end line/end column information to the mdb file format and pdb2mdb.
Zoltan Varga [Wed, 7 May 2014 12:00:53 +0000 (14:00 +0200)]
Add end line/end column information to the mdb file format and pdb2mdb.

10 years ago[corlib] Rethrow user not initialization exception when lazy initialization throws...
Marek Safar [Wed, 7 May 2014 11:12:12 +0000 (13:12 +0200)]
[corlib] Rethrow user not initialization exception when lazy initialization throws. Fixes #19564

10 years agoFix copyright.
Rodrigo Kumpera [Wed, 7 May 2014 03:11:25 +0000 (23:11 -0400)]
Fix copyright.

10 years ago[mono-api-html] Allow a lax processing mode of the XML files
Sebastien Pouliot [Tue, 6 May 2014 21:29:49 +0000 (17:29 -0400)]
[mono-api-html] Allow a lax processing mode of the XML files

This is useful when the files needs to be pre-processed (e.g. a major change between the assemblies internals) and where some duplicate entries might be created (e.g. merged types/namespaces).

Note: normally the mono-api* tools should not produce such files (so it's better not used unless required)

10 years ago[mono-api-html] Prettier output using singular and plural forms in sections
Sebastien Pouliot [Tue, 6 May 2014 15:32:05 +0000 (11:32 -0400)]
[mono-api-html] Prettier output using singular and plural forms in sections

10 years ago[counters] Fix --stat to not dump counters for all sections.
Rodrigo Kumpera [Tue, 6 May 2014 21:26:33 +0000 (17:26 -0400)]
[counters] Fix --stat to not dump counters for all sections.

10 years agoMerge pull request #1018 from ermshiperete/xamarin-19567
Miguel de Icaza [Tue, 6 May 2014 21:24:51 +0000 (17:24 -0400)]
Merge pull request #1018 from ermshiperete/xamarin-19567

[MWF] Clear currentCell before disposing (fixes #19567)

10 years ago[sgen-bridge] Add color duplication pathology.
Rodrigo Kumpera [Tue, 6 May 2014 19:39:03 +0000 (15:39 -0400)]
[sgen-bridge] Add color duplication  pathology.

10 years ago[sgen] Improve bridge comparison code a bit.
Rodrigo Kumpera [Tue, 6 May 2014 19:38:17 +0000 (15:38 -0400)]
[sgen] Improve bridge comparison code a bit.

10 years ago[sgen-bridge] Add the tarjan-coloring bridge.
Rodrigo Kumpera [Thu, 1 May 2014 18:35:55 +0000 (14:35 -0400)]
[sgen-bridge] Add the tarjan-coloring bridge.

The tarjan-coloring bridge is significant departure from the old bridge. It's design is based
on the Tarjan Strongly Connected Component algorithm.

SCC links are calculated as part of the Tarjan dfs on the second scan to calculate the low index and
form the components.

The algorithm does inspect all children after they have been processed, which enables us to do backward
propagation of the reachable SCCs.

In order to avoid the xref mess of the old algorithm, we color each component based on the sum of all
reachable components (colors). This means no matter how many non-bridge objects are in between two bridges,
they will all receive the same color and be represented in the final output as a single node in the SCC
graph.

This allows for a reasonably compact output graph as it will only include colors with no bridges when
a single object has multiple bridges reachable.

Said that, the basic algorithm received a series of optimizations:

1)Flag based merging, great idea from Mark, it bounds color and xref merging to be linear on the number of
colors found.

2)Objects and Colors bucket allocation. Instead of using expansible arrays we use fixed size buckets that
form a linked list. This allow us to use direct pointers instead of indexes. It avoid the expensive expansions.
Another benefit is that it reduces the work by sgen's malloc, which can be really slow.

3)Replace the object hash table with header patching. We tag objects with both pinning and forwarded bits and
store a pointer in the lock word. This eliminates the hashtable, a big source of perf issues. Patching objects
back at the end of bridge processing is much much cheaper than free'ing all the hashtable entries.

4)Color deduplication. It's possible to produce duplicated colors due to mutually unreachable paths that
both points to the same set of bridges. A cache is introduced to reduce it for colors points to 2 or 3 others.

The way we build colors allow us in the future to fix the hub object problem (SetupDoubleFan).

Experimental results with sgen-bridge-pathologies shows this implementation been 2-3x faster than the new one.

10 years ago[bridge] change the log entry name to make it easier to read logs.
Rodrigo Kumpera [Thu, 1 May 2014 18:34:27 +0000 (14:34 -0400)]
[bridge] change the log entry name to make it easier to read logs.

10 years ago[sgen-bridge] Each bridge needs it own internal mem type as their sizes differ.
Rodrigo Kumpera [Thu, 1 May 2014 15:01:08 +0000 (11:01 -0400)]
[sgen-bridge] Each bridge needs it own internal mem type as their sizes differ.

10 years agoMerge pull request #1010 from davidmoore1/bug-19304
Miguel de Icaza [Tue, 6 May 2014 18:19:43 +0000 (14:19 -0400)]
Merge pull request #1010 from davidmoore1/bug-19304

Prevent call to OwnerLostFocusHandler for disposed object

10 years ago[mcs] Include more unicode categories in parsing identifier part character. Fixes...
Marek Safar [Tue, 6 May 2014 17:58:34 +0000 (19:58 +0200)]
[mcs] Include more unicode categories in parsing identifier part character. Fixes #18229

10 years ago[MWF] Clear currentCell before disposing (fixes #19567)
Eberhard Beilharz [Tue, 6 May 2014 17:09:29 +0000 (19:09 +0200)]
[MWF] Clear currentCell before disposing (fixes #19567)

If currentCell still has a value when we call Columns.Clear() we
might try to end the editing. Because the columns got disposed
before calling Columns.Clear() we get a crash. This patch fixes
the problem by setting currentCell to null.

10 years ago[MWF] Unit test for DataGridView bug (#19567)
Eberhard Beilharz [Tue, 6 May 2014 17:06:50 +0000 (19:06 +0200)]
[MWF] Unit test for DataGridView bug (#19567)

10 years agoMerge pull request #992 from ludovic-henry/ludovic-counters-pr1
Rodrigo Kumpera [Tue, 6 May 2014 16:34:42 +0000 (12:34 -0400)]
Merge pull request #992 from ludovic-henry/ludovic-counters-pr1

[counters] Add sample and accessors to mono counters API

10 years ago[mcs] Emit null constant value for default parameters of generic types to indicate...
Marek Safar [Tue, 6 May 2014 15:56:50 +0000 (17:56 +0200)]
[mcs] Emit null constant value for default parameters of generic types to indicate not missing value. Fixes #19033

10 years ago[mcs] Report error for invalid unary nullable predefined operators
Marek Safar [Tue, 6 May 2014 15:19:15 +0000 (17:19 +0200)]
[mcs] Report error for invalid unary nullable predefined operators

10 years ago[mcs] Do type parameter conversion involving type parameters using dependency rules...
Marek Safar [Tue, 6 May 2014 14:51:40 +0000 (16:51 +0200)]
[mcs] Do type parameter conversion involving type parameters using dependency rules. Fixes #18473

10 years agoMerge pull request #1017 from akoeplinger/fix-monocc
Marek Safar [Tue, 6 May 2014 13:39:23 +0000 (15:39 +0200)]
Merge pull request #1017 from akoeplinger/fix-monocc

[Mono.CodeContracts] Always build debug file for the test assembly

10 years ago[Mono.CodeContracts] Always build debug file for the test assembly
Alexander Köplinger [Tue, 6 May 2014 13:37:16 +0000 (15:37 +0200)]
[Mono.CodeContracts] Always build debug file for the test assembly

The tests require that the debug file is available, however in the net_4_0 profile this file isn't generated by default.
We now ensure the debug file is always generated for the test assembly.

10 years ago[mono-api-html] Prettier output of ref and out (instead of &)
Sebastien Pouliot [Tue, 6 May 2014 12:55:50 +0000 (08:55 -0400)]
[mono-api-html] Prettier output of ref and out (instead of &)

10 years ago[mono-api-html] Make the [Obsolete] a bit prettier when no text message is available
Sebastien Pouliot [Tue, 6 May 2014 01:50:34 +0000 (21:50 -0400)]
[mono-api-html] Make the [Obsolete] a bit prettier when no text message is available

10 years ago[sdb] Add a new TypeMirror.NewInstance () method which can create valuetypes without...
Zoltan Varga [Mon, 5 May 2014 21:39:46 +0000 (23:39 +0200)]
[sdb] Add a new TypeMirror.NewInstance () method which can create valuetypes without a ctor.

10 years ago[Mono.Debugger.Soft] Modified TypeMirror.NewInstance() to check that the method is...
Jeffrey Stedfast [Mon, 5 May 2014 21:19:10 +0000 (17:19 -0400)]
[Mono.Debugger.Soft] Modified TypeMirror.NewInstance() to check that the method is a .ctor

10 years ago[mono-api-html] Report [Obsolete] members in a separate section (not as both removed...
Sebastien Pouliot [Mon, 5 May 2014 20:17:54 +0000 (16:17 -0400)]
[mono-api-html] Report [Obsolete] members in a separate section (not as both removed and added with an [Obsolete]). That makes it easier to read long API diff reports

10 years ago[counters] Disable register filter on valid_mask
Ludovic Henry [Mon, 5 May 2014 18:08:46 +0000 (14:08 -0400)]
[counters] Disable register filter on valid_mask

This was previously used to not store counters that were not going to be dumped, but because we can now sample them, we have to make sure that they are stored, even if we do not plan to dump or sample them.

10 years ago[dlr] Emit correct code for convert of nullable types. Fixes #19500
Marek Safar [Mon, 5 May 2014 17:16:11 +0000 (19:16 +0200)]
[dlr] Emit correct code for convert of nullable types. Fixes #19500

10 years ago[counters] Fix type issue on mini counters
Ludovic Henry [Mon, 5 May 2014 16:23:20 +0000 (12:23 -0400)]
[counters] Fix type issue on mini counters

Used MONO_COUNTER_WORD for gint32 variable, crashed on 64bits platform.

10 years ago[counters] Use macro to copy counter in sampling, and use sizeof directly instead...
Ludovic Henry [Mon, 5 May 2014 16:20:59 +0000 (12:20 -0400)]
[counters] Use macro to copy counter in sampling, and use sizeof directly instead of mono_counter_get_size

The use of sizeof will enable compilers optimization on memcpy.

10 years ago[mcs] Emit all method like members in same order as they appear in source code. Fixes...
Marek Safar [Mon, 5 May 2014 15:53:26 +0000 (17:53 +0200)]
[mcs] Emit all method like members in same order as they appear in source code. Fixes #19509

10 years ago[counters] Sample should fail if buffer size is too small
Ludovic Henry [Wed, 30 Apr 2014 18:51:22 +0000 (14:51 -0400)]
[counters] Sample should fail if buffer size is too small

10 years ago[counters] Add sample and accessors functions
Ludovic Henry [Wed, 30 Apr 2014 18:39:29 +0000 (14:39 -0400)]
[counters] Add sample and accessors functions

10 years ago[mcs] Convert extended underlying enum constants to their underlying type. Fixes...
Marek Safar [Mon, 5 May 2014 12:56:41 +0000 (14:56 +0200)]
[mcs] Convert extended underlying enum constants to their underlying type. Fixes #18866

10 years ago[corlib] Remove stale comments
Miguel de Icaza [Sun, 4 May 2014 21:34:12 +0000 (17:34 -0400)]
[corlib] Remove stale comments

10 years agoSystem: Fix the previous bulid
Miguel de Icaza [Sun, 4 May 2014 21:33:51 +0000 (17:33 -0400)]
System: Fix the previous bulid

10 years ago[System] Fix build warnings
Miguel de Icaza [Sun, 4 May 2014 21:14:54 +0000 (17:14 -0400)]
[System] Fix build warnings

10 years ago[jit] Register the Mono_UnhandledException_internal icall when TARGET_ANDROID is...
Zoltan Varga [Sat, 3 May 2014 19:50:52 +0000 (21:50 +0200)]
[jit] Register the Mono_UnhandledException_internal icall when TARGET_ANDROID is set.

10 years ago[runtime] Fix some automake conditionals in scripts/, they should be in the beginning...
Zoltan Varga [Sat, 3 May 2014 17:29:42 +0000 (19:29 +0200)]
[runtime] Fix some automake conditionals in scripts/, they should be in the beginning of the line.

10 years ago[runtime] Fix a warning which happens because we store the thread tid as a guint64.
Zoltan Varga [Sat, 3 May 2014 16:47:35 +0000 (18:47 +0200)]
[runtime] Fix a warning which happens because we store the thread tid as a guint64.

10 years ago[sgen-bridge] Don't forward a node to itself.
Mark Probst [Fri, 2 May 2014 20:56:52 +0000 (13:56 -0700)]
[sgen-bridge] Don't forward a node to itself.

10 years ago[sgen-bridge] Compare xrefs between bridge implementations, too.
Mark Probst [Wed, 30 Apr 2014 21:02:47 +0000 (14:02 -0700)]
[sgen-bridge] Compare xrefs between bridge implementations, too.

10 years ago[sgen-bridge] Compare SCCs between bridge implementations.
Mark Probst [Wed, 30 Apr 2014 20:33:31 +0000 (13:33 -0700)]
[sgen-bridge] Compare SCCs between bridge implementations.

10 years ago[sgen-bridge] Allow second bridge implementation to run alongside the active one.
Mark Probst [Wed, 30 Apr 2014 19:45:10 +0000 (12:45 -0700)]
[sgen-bridge] Allow second bridge implementation to run alongside the active one.

10 years ago[sgen-bridge] Small refactoring.
Mark Probst [Wed, 30 Apr 2014 18:29:50 +0000 (11:29 -0700)]
[sgen-bridge] Small refactoring.

10 years ago[sgen-bridge] Move bridge debug option handling to sgen-bridge.c.
Mark Probst [Wed, 30 Apr 2014 18:01:17 +0000 (11:01 -0700)]
[sgen-bridge] Move bridge debug option handling to sgen-bridge.c.

10 years ago[sgen-bridge] Set bridge_processing_in_progress in sgen-bridge.c.
Mark Probst [Wed, 30 Apr 2014 17:28:05 +0000 (10:28 -0700)]
[sgen-bridge] Set bridge_processing_in_progress in sgen-bridge.c.

10 years ago[sgen-bridge] Also separate old bridge into pre- and post-callback.
Mark Probst [Wed, 30 Apr 2014 16:51:35 +0000 (09:51 -0700)]
[sgen-bridge] Also separate old bridge into pre- and post-callback.

10 years ago[sgen-bridge] Move processing of API data structures to sgen-bridge.c, for sgen-new...
Mark Probst [Tue, 29 Apr 2014 21:38:45 +0000 (14:38 -0700)]
[sgen-bridge] Move processing of API data structures to sgen-bridge.c, for sgen-new-bridge.c.

10 years ago[sgen-bridge] Separate before- and after-callback in new bridge.
Mark Probst [Tue, 29 Apr 2014 21:15:25 +0000 (14:15 -0700)]
[sgen-bridge] Separate before- and after-callback in new bridge.

10 years ago[sgen-bridge] Special-case ptr array for 1 entry without allocating.
Mark Probst [Tue, 29 Apr 2014 17:48:27 +0000 (10:48 -0700)]
[sgen-bridge] Special-case ptr array for 1 entry without allocating.

10 years ago[sgen-bridge] Use bit field for is_visited and finishing_time.
Mark Probst [Tue, 29 Apr 2014 17:13:25 +0000 (10:13 -0700)]
[sgen-bridge] Use bit field for is_visited and finishing_time.

10 years ago[sgen-bridge] Make finishing_time a 32 bit unsigned int.
Mark Probst [Tue, 29 Apr 2014 15:50:41 +0000 (08:50 -0700)]
[sgen-bridge] Make finishing_time a 32 bit unsigned int.

10 years ago[sgen-bridge] Fix forwarding.
Mark Probst [Mon, 28 Apr 2014 23:03:36 +0000 (16:03 -0700)]
[sgen-bridge] Fix forwarding.
We can't forward to HashEntry's because they are volatile - the
hash table will resize, and the entries move.  We need to point to
the objects, and then look them up via the hash.  Also, we have
to forward chains of forwards.

10 years ago[sgen-bridge] Remove redundant object pointer in hash table entry.
Mark Probst [Mon, 28 Apr 2014 19:12:54 +0000 (12:12 -0700)]
[sgen-bridge] Remove redundant object pointer in hash table entry.

10 years ago[sgen-bridge] Separate DFS1 and DFS2 fields in HashEntry.
Mark Probst [Mon, 28 Apr 2014 18:58:29 +0000 (11:58 -0700)]
[sgen-bridge] Separate DFS1 and DFS2 fields in HashEntry.

10 years ago[sgen-bridge] Add a new bridge (non-)pathology.
Mark Probst [Fri, 25 Apr 2014 20:20:59 +0000 (13:20 -0700)]
[sgen-bridge] Add a new bridge (non-)pathology.

10 years ago[sgen-bridge] object_is_live() should be called object_needs_expansion().
Mark Probst [Fri, 25 Apr 2014 20:20:34 +0000 (13:20 -0700)]
[sgen-bridge] object_is_live() should be called object_needs_expansion().

10 years ago[sgen-bridge] Debugging option to dump whole bridge object graph.
Mark Probst [Fri, 25 Apr 2014 17:53:44 +0000 (10:53 -0700)]
[sgen-bridge] Debugging option to dump whole bridge object graph.

10 years ago[sgen-bridge] Remove single-reference non-bridge objects from graph.
Mark Probst [Fri, 25 Apr 2014 17:43:13 +0000 (10:43 -0700)]
[sgen-bridge] Remove single-reference non-bridge objects from graph.

10 years ago[sgen-bridge] Added test case with bridge performance pathologies.
Mark Probst [Thu, 24 Apr 2014 16:55:06 +0000 (09:55 -0700)]
[sgen-bridge] Added test case with bridge performance pathologies.

This is not meant as part of the test suite, but as a reference for
where the bridge has performance issues.

10 years ago[sgen-bridge] Copy-on-write for DynArrays.
Mark Probst [Thu, 24 Apr 2014 01:05:45 +0000 (18:05 -0700)]
[sgen-bridge] Copy-on-write for DynArrays.

This eliminates a pathological case for the old algorithm, where a
large array of SCCs is copied from one node to the next without
modification.

10 years ago[sgen-bridge] Remove dead DynArray merging code.
Mark Probst [Thu, 24 Apr 2014 01:01:21 +0000 (18:01 -0700)]
[sgen-bridge] Remove dead DynArray merging code.

10 years ago[sgen] Heavy hash table statistics.
Mark Probst [Wed, 23 Apr 2014 22:53:47 +0000 (15:53 -0700)]
[sgen] Heavy hash table statistics.

10 years ago[sgen-bridge] Make merging in old xrefs algorithm much more efficient.
Mark Probst [Wed, 23 Apr 2014 00:13:06 +0000 (17:13 -0700)]
[sgen-bridge] Make merging in old xrefs algorithm much more efficient.

Instead of merging the two lists by keeping them sorted, use the flag on
the SCCs the indicate whether an SCC has already been merged in, and
just append it if not.  This makes it as fast as the new algorithm on one
test case where it was pathologically slow, while not exhibiting another
pathology that the new algorithm has.

10 years ago[sgen-bridge] New xrefs graph optimization for nodes with incoming order 1.
Mark Probst [Tue, 22 Apr 2014 23:44:19 +0000 (16:44 -0700)]
[sgen-bridge] New xrefs graph optimization for nodes with incoming order 1.

10 years ago[sgen-bridge] Don't merge xrefs in DFS2. Speeds up some cases by orders of magnitude.
Mark Probst [Tue, 22 Apr 2014 22:18:30 +0000 (15:18 -0700)]
[sgen-bridge] Don't merge xrefs in DFS2. Speeds up some cases by orders of magnitude.

10 years agoSupport the datetime2 parameter type
Neale Ferguson [Fri, 2 May 2014 20:38:34 +0000 (16:38 -0400)]
Support the datetime2 parameter type

10 years ago[Mono.Debugger.Soft] Fixed the ILInterpreter to catch ArgumentExceptions from ObjectM...
Jeffrey Stedfast [Fri, 2 May 2014 16:52:09 +0000 (12:52 -0400)]
[Mono.Debugger.Soft] Fixed the ILInterpreter to catch ArgumentExceptions from ObjectMirror.GetValue()

10 years ago[Mono.Debugger.Soft] Make the ObjectMirror.GetValues() exception a bit more useful
Jeffrey Stedfast [Fri, 2 May 2014 16:51:24 +0000 (12:51 -0400)]
[Mono.Debugger.Soft] Make the ObjectMirror.GetValues() exception a bit more useful

10 years ago[mcs] Don't apply reference type is optimization for dynamic expressions. Fixes ...
Marek Safar [Fri, 2 May 2014 16:01:42 +0000 (18:01 +0200)]
[mcs] Don't apply reference type is optimization for dynamic expressions. Fixes #19423

10 years agoMerge pull request #1013 from ranma42/fix-19380
Rodrigo Kumpera [Fri, 2 May 2014 15:45:53 +0000 (11:45 -0400)]
Merge pull request #1013 from ranma42/fix-19380

Fix 19380

10 years ago[mcs] Inflate anonymymous method with correct type arguments when async this requires...
Marek Safar [Fri, 2 May 2014 13:32:10 +0000 (15:32 +0200)]
[mcs] Inflate anonymymous method with correct type arguments when async this requires hoisting in parent type. Fixes #19176