Alex Rønne Petersen [Fri, 8 May 2015 16:10:06 +0000 (18:10 +0200)]
Merge pull request #1781 from alexrp/master
[runtime] Improve context static LocalDataStoreSlot support
Alex Rønne Petersen [Fri, 8 May 2015 13:00:03 +0000 (15:00 +0200)]
Merge pull request #1782 from alexrp/profiler-symbol-fix
[utils] Export concurrent hash table and lock free queue functions
Marek Safar [Fri, 8 May 2015 11:52:28 +0000 (13:52 +0200)]
[system.xml] System.Xml.Serialization.Advanced from reference sources
Marek Safar [Fri, 8 May 2015 11:14:12 +0000 (13:14 +0200)]
[system.xml] serialization handlers from reference sources
Ludovic Henry [Thu, 7 May 2015 18:19:18 +0000 (19:19 +0100)]
[threadpool-ms] Reenable threadpool cleanup
Ludovic Henry [Thu, 7 May 2015 17:01:47 +0000 (18:01 +0100)]
[threadpool-ms] Refactor worker creation and domain unloading
Ludovic Henry [Thu, 7 May 2015 16:28:37 +0000 (17:28 +0100)]
[threadpool-ms] Ensure monitor thread does not start if runtime is shutting down
Ludovic Henry [Thu, 7 May 2015 16:27:55 +0000 (17:27 +0100)]
[threadpool-ms] Fix potential bug on monitor thread interuption
Ludovic Henry [Thu, 7 May 2015 16:25:14 +0000 (17:25 +0100)]
[threadpool-ms] Refactor lock for working and parked threads
Ludovic Henry [Thu, 7 May 2015 15:10:57 +0000 (16:10 +0100)]
[threadpool-ms] Guarantee icall parameter size
Alex Rønne Petersen [Fri, 8 May 2015 10:53:31 +0000 (12:53 +0200)]
[utils] Export concurrent hash table and lock free queue functions.
Marek Safar [Fri, 8 May 2015 09:15:50 +0000 (11:15 +0200)]
[system.xml] System.Xml.Serialization.Configuration from reference sources
Alex Rønne Petersen [Fri, 8 May 2015 03:55:11 +0000 (05:55 +0200)]
[runtime] Improve context static LocalDataStoreSlot support.
The context-specific code now mirrors the thread-specific code and uses the
internal NamedDataSlot class. The runtime code now correctly frees context
static data allocated via this class.
Zoltan Varga [Fri, 8 May 2015 09:01:04 +0000 (05:01 -0400)]
Fix make dist.
Zoltan Varga [Fri, 8 May 2015 08:59:08 +0000 (04:59 -0400)]
Fix the build.
Marek Safar [Fri, 8 May 2015 08:33:50 +0000 (10:33 +0200)]
[corlib] Bump reference souces. Fixes #29808
Marek Safar [Fri, 8 May 2015 06:49:01 +0000 (08:49 +0200)]
[system.data] remove unused files from mobile profile
Zoltan Varga [Fri, 8 May 2015 03:17:27 +0000 (23:17 -0400)]
[sdb] Remove the usage of WaitForSingleObject (), use cond vars instead on all platforms.
Zoltan Varga [Fri, 8 May 2015 03:06:11 +0000 (23:06 -0400)]
[runtime] Implement support for condition variables on windows using the win32 CONDITION_VARIABLE type available from Windows Vista.
Zoltan Varga [Fri, 8 May 2015 02:47:47 +0000 (22:47 -0400)]
[runtime] Fix the windows build.
Alex Rønne Petersen [Fri, 8 May 2015 02:15:12 +0000 (04:15 +0200)]
[runtime] Update LocalDataStoreSlot code to the new special static offset format.
Atsushi Eno [Fri, 8 May 2015 01:58:39 +0000 (10:58 +0900)]
Merge pull request #1778 from JetBrains/xbuild_do_not_stop_buildnodemanager
xbuild: do not stop BuildNodeManager after one build
Zoltan Varga [Fri, 8 May 2015 01:23:20 +0000 (21:23 -0400)]
[runtime] Disable the broken code which aligns small structs to 4/8 bytes. Add a MONO_DEBUG option to enable it.
Zoltan Varga [Fri, 8 May 2015 01:03:18 +0000 (21:03 -0400)]
Merge pull request #1780 from alexrp/master
[runtime] Initialize contexts after the GC
Alex Rønne Petersen [Fri, 8 May 2015 00:52:35 +0000 (02:52 +0200)]
[runtime] Initialize contexts after the GC.
This is necessary since they use GC handles. So the handles_section must
be initialized before we try to use it.
Mark Probst [Thu, 7 May 2015 21:45:07 +0000 (14:45 -0700)]
[runtime] Fix a few warnings.
Alex Rønne Petersen [Thu, 7 May 2015 20:48:30 +0000 (22:48 +0200)]
Merge pull request #1777 from alexrp/sgen-separation
[sgen] Move bridge debugging code out of the independent SGen code
triton [Thu, 7 May 2015 19:31:12 +0000 (20:31 +0100)]
Revert "[genmdesc] Improved unknown specifier error handling for Perl version."
This reverts commit
05ce4f6ee1d52c4d4edd599f271988875efae763.
It's giving some problems on Monodroid build:
/Users/builder/data/lanes/1196/
012ff355/source/mono/mono/mini/cpu-arm.md
Invalid specifier len:4 at line 51 at /Users/builder/data/lanes/1196/
012ff355/source/mono/mono/mini/genmdesc.pl line 153, <DESC> line 51.
Marek Safar [Thu, 7 May 2015 18:57:53 +0000 (20:57 +0200)]
[system.data] SqlConnectionStringBuilder from reference sources. Fixes #29823
Marek Safar [Thu, 7 May 2015 16:23:42 +0000 (18:23 +0200)]
[mcs] Flow analysis assignment from field expressions is now aware of special cased value types. Fixes #29276
Atsushi Eno [Thu, 7 May 2015 16:13:32 +0000 (01:13 +0900)]
Remove unused System.Runtime.Serialization code.
System.ServiceModel.Web/System.Runtime.Serialization.Json is left as is
because they seem to be used by System.Json build...
Zoltan Varga [Thu, 7 May 2015 15:55:39 +0000 (11:55 -0400)]
Atsushi Eno [Thu, 7 May 2015 15:50:27 +0000 (00:50 +0900)]
remove old System.Data code.
Leonid Shalupov [Thu, 7 May 2015 14:22:42 +0000 (16:22 +0200)]
xbuild: do not stop BuildNodeManager after one build (prevents subsequent builds from executing)
João Matos [Thu, 7 May 2015 15:10:31 +0000 (16:10 +0100)]
[genmdesc] Fixed generator to allow instructions lengths equal to 0.
I was induced in error because of the following comment in the machine read specs:
`# len:number describe the maximun length in bytes of the instruction
# number is a positive integer`
Ludovic Henry [Thu, 7 May 2015 15:07:27 +0000 (16:07 +0100)]
[tools] Fix sgen-grep-binprot after sgen code move to mono/sgen
Ludovic Henry [Wed, 6 May 2015 17:44:12 +0000 (18:44 +0100)]
[threadpool-ms] Change the meaning of ThreadPoolCounter active and working
João Matos [Thu, 7 May 2015 14:33:07 +0000 (15:33 +0100)]
[arm] Fixed regression related to invalid specifier for vcall2 instruction in ARM machine description.
Introduced in https://github.com/mono/mono/commit/
3469c138c67e4b7e0afcc6a31046fcca7931d660.
João Matos [Thu, 7 May 2015 14:31:50 +0000 (15:31 +0100)]
[genmdesc] Improved unknown specifier error handling for Perl version.
Should help catch regressions like the one introduced in https://github.com/mono/mono/commit/
3469c138c67e4b7e0afcc6a31046fcca7931d660#diff-e3dadd3f8246691b408c41c0441d49fcR358 at build time.
João Matos [Thu, 7 May 2015 14:31:18 +0000 (15:31 +0100)]
[genmdesc] Improved instruction length error handling for Perl version.
Should help catch regressions like the one introduced in https://github.com/mono/mono/commit/
3469c138c67e4b7e0afcc6a31046fcca7931d660#diff-e3dadd3f8246691b408c41c0441d49fcR358 at build time.
João Matos [Thu, 7 May 2015 14:30:08 +0000 (15:30 +0100)]
[genmdesc] Improved instruction length error handling for C version.
Atsushi Eno [Thu, 7 May 2015 10:03:11 +0000 (19:03 +0900)]
Merge pull request #1773 from ztzg/sql-server-datetime2
Allow transferring datetime2/datetimeoffset to/from SQL Server 2012
Atsushi Eno [Thu, 7 May 2015 09:54:49 +0000 (18:54 +0900)]
Merge pull request #1772 from ztzg/sql-server-variant
Fix SQL Server 2012 variant parameters and return values
Atsushi Eno [Thu, 7 May 2015 09:53:41 +0000 (18:53 +0900)]
Merge pull request #1771 from ztzg/sql-server-bulk-insert
Fix SQL Server 2012 bulk insert issues
Atsushi Eno [Thu, 7 May 2015 07:25:32 +0000 (16:25 +0900)]
[xbuild] for resolving assemblies from pkg-config, prefer specified version
... even if SpecificVersion is false. There is no reason to prefer any
mismatching version when SpecificVersion=false.
That behavior caused monodevelop build failures because of incorrectly-
resolved gtk# packages. After this fix, this issue goes away.
https://github.com/mono/monodevelop/blob/
2436ad1874694ec811871dacf9a659a79b5fad0d/README.md#known-problems
Alex Rønne Petersen [Thu, 7 May 2015 02:52:28 +0000 (04:52 +0200)]
[sgen] Move bridge debugging code out of the independent SGen code.
Alexander Köplinger [Thu, 7 May 2015 01:28:11 +0000 (03:28 +0200)]
[tests] Trim whitespace from testname in dummy unit test XML, Jenkins test display doesn't like it
Alexander Köplinger [Wed, 6 May 2015 21:36:13 +0000 (17:36 -0400)]
[tests] Small fixes to the dummy unit test XML output to make it a compliant NUnit file
Zoltan Varga [Wed, 6 May 2015 21:31:23 +0000 (17:31 -0400)]
[jit] Treat MONO_ARCH_IMT_REG as allways defined.
Zoltan Varga [Wed, 6 May 2015 20:15:54 +0000 (16:15 -0400)]
[runtime] Fix configure so it really uses -fvisibility=hidden.
Rodrigo Kumpera [Wed, 6 May 2015 20:11:41 +0000 (16:11 -0400)]
[threading] Fix a race during shutdown where a thread could have a suspend requested after it's too late for it to be served.
During thread shutdown, it gets to a point where the thread can no longer server suspend requests. To fix that
we ensure the thread gets one last suspend opportunity before going down.
Rodrigo Kumpera [Fri, 1 May 2015 19:31:18 +0000 (15:31 -0400)]
[runtime] Don't call managed code when OVF.
Rodrigo Kumpera [Thu, 30 Apr 2015 20:14:40 +0000 (16:14 -0400)]
[coop] Fix marshal code of reset-abort calls to use an IntPtr cookie var instead of int32.
Rodrigo Kumpera [Thu, 30 Apr 2015 18:45:48 +0000 (14:45 -0400)]
[coop] Ensure the polling tramp has a wrapper.
Alex Rønne Petersen [Wed, 6 May 2015 19:02:04 +0000 (21:02 +0200)]
Merge pull request #1750 from alexrp/precise-ctx-static-scan
Improve thread/context static field scanning
Alex Rønne Petersen [Wed, 6 May 2015 18:56:13 +0000 (20:56 +0200)]
Merge pull request #1742 from alexrp/symbol-renaming
Clean up some C symbols polluting the global namespace
João Matos [Wed, 6 May 2015 18:51:47 +0000 (19:51 +0100)]
Merge pull request #1776 from evincarofautumn/fix-independent-sgen
[sgen] Fix non-Mono SGen clients.
Jon Purdy [Wed, 6 May 2015 18:17:05 +0000 (11:17 -0700)]
[sgen] Fix non-Mono SGen clients.
Zoltan Varga [Wed, 6 May 2015 18:37:39 +0000 (14:37 -0400)]
[jit] Print out the numeric opcode name in mono_inst_name () when logging is disabled.
João Matos [Wed, 6 May 2015 16:37:46 +0000 (17:37 +0100)]
Merge pull request #1775 from StephenMcConnel/bug-29724A
Fix bug in new SWF.MWFFileView.Dispose method (Xamarin 29724)
Stephen McConnel [Wed, 6 May 2015 16:34:52 +0000 (11:34 -0500)]
Fix bug in new SWF.MWFFileView.Dispose method (Xamarin 29724)
The fix for Xamarin 29724 submitted a day or two ago wasn't quite right.
Marek Safar [Wed, 6 May 2015 15:17:00 +0000 (17:17 +0200)]
[build] Fixes reference sources hash
Marek Safar [Wed, 6 May 2015 15:11:02 +0000 (17:11 +0200)]
[bcl] Mobile profiles fixes
João Matos [Wed, 6 May 2015 14:08:17 +0000 (15:08 +0100)]
[runtime] Fixed `always_inline function might not be inlinable` warning on GCC.
This fix was suggested by @schani to the warning spam that we've started to see.
João Matos [Wed, 6 May 2015 14:05:04 +0000 (15:05 +0100)]
[runtime] Fixed warning by including <winsock2.h> before <windows.h>.
João Matos [Wed, 6 May 2015 14:04:30 +0000 (15:04 +0100)]
[runtime] Fixed unused `count` variable warning by moving some code around.
João Matos [Wed, 6 May 2015 14:03:58 +0000 (15:03 +0100)]
[runtime] Fixed warning by including <winsock2.h> before <windows.h>.
João Matos [Wed, 6 May 2015 14:02:32 +0000 (15:02 +0100)]
[runtime] Fixed warning by only using #pragma warning on MSVC.
João Matos [Wed, 6 May 2015 14:01:40 +0000 (15:01 +0100)]
[mini] Do not try to set the usermode exception policy unless we're targeting Windows.
Fixes Windows cross-compilation.
João Matos [Wed, 6 May 2015 14:00:18 +0000 (15:00 +0100)]
[mini] Do not use the ELF writer when hosting on Windows.
Zoltan Varga [Wed, 6 May 2015 08:56:52 +0000 (04:56 -0400)]
[runtime] Fix support for callvirt delegates with a vtype first argument. Fixes #29665.
Marek Safar [Wed, 6 May 2015 07:28:04 +0000 (09:28 +0200)]
Merge pull request #1774 from akoeplinger/unit-test-reporting-improvements
[RFC] Improve unit test reporting when test runner crashes
Alexander Köplinger [Wed, 6 May 2015 01:39:35 +0000 (21:39 -0400)]
[RFC] Improve unit test reporting when test runner crashes
Alex Rønne Petersen [Wed, 6 May 2015 01:02:54 +0000 (03:02 +0200)]
[sgen] Fix an accidental symbol export in sgen-workers.c.
Alex Rønne Petersen [Fri, 17 Apr 2015 10:10:44 +0000 (12:10 +0200)]
[mini] Rename machine description symbol names to avoid global namespace pollution.
Alex Rønne Petersen [Fri, 17 Apr 2015 10:03:18 +0000 (12:03 +0200)]
[utils] Rename JSON writer symbols to avoid global namespace pollution.
Alex Rønne Petersen [Fri, 17 Apr 2015 09:59:19 +0000 (11:59 +0200)]
[mini] Rename image writer symbols to avoid global namespace pollution.
Alex Rønne Petersen [Fri, 17 Apr 2015 09:11:27 +0000 (11:11 +0200)]
[runtime] Rename seq point symbols to avoid global namespace pollution.
Alex Rønne Petersen [Fri, 17 Apr 2015 08:50:03 +0000 (10:50 +0200)]
[runtime] Remove unused _mono_debug_address_from_il_offset function.
Alex Rønne Petersen [Fri, 17 Apr 2015 08:48:15 +0000 (10:48 +0200)]
[utils] Avoid symbol namespace pollution in iomap code.
Alex Rønne Petersen [Fri, 17 Apr 2015 08:44:13 +0000 (10:44 +0200)]
[utils] Rename SHA-1 symbols to not pollute the global namespace.
Alex Rønne Petersen [Fri, 17 Apr 2015 08:42:06 +0000 (10:42 +0200)]
[runtime] Rename GCHandle_CheckCurrentDomain to not pollute the global namespace.
Alex Rønne Petersen [Fri, 17 Apr 2015 08:41:55 +0000 (10:41 +0200)]
[wapi] Fix some symbol names to be remapped the same way as the rest.
This is in the interest of reducing namespace pollution.
Alex Rønne Petersen [Fri, 1 May 2015 19:27:58 +0000 (21:27 +0200)]
[runtime] Rework special static offset handling.
Special static offsets now have a less magical format:
[0] 6-bit index into the array of chunks.
[6] 25-bit offset into the array.
[31] Bit indicating thread or context static.
Also wrapped accesses to these fields in macros and a bitfield struct.
Alex Rønne Petersen [Wed, 29 Apr 2015 07:00:17 +0000 (09:00 +0200)]
[runtime] Unify thread/context static field scanning and management.
Context static data is now scanned precisely in the same way as thread static
data. To facilitate this, the memory management of context static data has been
fixed to work similarly to thread static data. This further required that all
contexts be available for iteration, so contexts are now added to a global hash
table (by GC handle) when they are created.
Alex Rønne Petersen [Wed, 29 Apr 2015 06:59:16 +0000 (08:59 +0200)]
[remoting] Increment the context ID counter atomically.
Alex Rønne Petersen [Tue, 28 Apr 2015 14:21:29 +0000 (16:21 +0200)]
[runtime] Rewrite TLS slot marking to use MonoBitSet.
Alex Rønne Petersen [Tue, 28 Apr 2015 14:18:05 +0000 (16:18 +0200)]
[utils] Add MONO_BITSET_FOREACH macro.
Mark Probst [Tue, 5 May 2015 22:21:58 +0000 (15:21 -0700)]
[sgen] Fix logging format specifiers. `t` modifier is not standard.
Damien Diederen [Wed, 21 Jan 2015 19:07:30 +0000 (20:07 +0100)]
[Mono.Data.Tds] Serialize GUIDs as 16-byte arrays (rather than zero)
Make sure we do not accidentally to encode an object by breaking out for
unknown TypeCode.Object instances (this is where the zero bytes used to
silently come from).
Damien Diederen [Wed, 21 Jan 2015 21:17:49 +0000 (22:17 +0100)]
[System.Data.SqlClient] Enable bulk insert of DateTime{,Offset} instances
This commit adds the missing mapping from DateTimeOffset to its SqlDbType,
and makes sure they are converted to string 1. in a locale-insensitive
manner, and 2. with maximum precision.
Damien Diederen [Tue, 5 May 2015 19:55:28 +0000 (21:55 +0200)]
[System.Data.SqlClient] Avoid "invalid source table" exception in bulk inserts
Mono's implementation of DataTableMappingCollection used not to care,
but MS', merged from the .NET reference sources, throws an exception
if the source table name is empty.
Damien Diederen [Tue, 20 Jan 2015 19:03:55 +0000 (20:03 +0100)]
[System.Data.SqlClient] Bulk copy: Query metadata in pending transaction
Without this, the bulk copy engine fails with a nested transaction error.
We now just reuse the current transaction to do the work.
Damien Diederen [Fri, 16 Jan 2015 14:05:51 +0000 (15:05 +0100)]
[Mono.Data.Tds] Deserialize variant-wrapped fixed-size integers (1-8 bytes)
Without this, variant output parameters are left unconsumed in the
input stream, and null is returned.
The new code skips the max length uint, and decodes a subset of the
variant types. What is not recognized is skipped, and we return null
as the previous code used to do.
(Ideally, the subset of GetColumnValue which decodes types which can
be embedded in a variant should be factored out to a different method,
and reused from GetVariantValue.)
Damien Diederen [Fri, 16 Jan 2015 13:45:50 +0000 (14:45 +0100)]
[Mono.Data.Tds] Register TdsColumnType.Variant as a "blob" type
On the wire, Variants are preceded by uint-encoded max length and
actual length (not bytes like smaller types). Without this patch,
SQL Server 2008 SP2 rejects our requests as truncated.
Damien Diederen [Fri, 16 Jan 2015 13:41:02 +0000 (14:41 +0100)]
[Mono.Data.Tds] Add "sql_variant" case to TdsMetaParameter.GetMetaType
Damien Diederen [Fri, 16 Jan 2015 13:39:49 +0000 (14:39 +0100)]
[System.Data.SqlClient] Set SqlParameter.SqlDbType even for SqlDbType.Variant
Without this, the TdsMetaParameter.TypeName ends up being null, which
crashes TdsMetaParameter.GetMetaType () when the variant value is
about to be serialized on the wire.
Damien Diederen [Fri, 16 Jan 2015 17:30:31 +0000 (18:30 +0100)]
[Mono.Data.Tds] Serialize SqlDbType.DateTime{2,Offset} as char(n)
DateTime2 and DateTimeOffset are not directly supported by the TDS 7.1
wire protocol, which is the version implemented by Mono's current TDS
driver. (Tds80.cs does in fact advertise version 0x00000071.)
Bumping the protocol version to 0x03000a73 or 0x03000b73, for TDS
7.3.A/7.3.B, is not sufficient; the stream generated by the driver
causes SQL Server to kill the connection right after the login packet.
More investigation is needed on that front.
SQL Server is fine, however, with us sending timestamps in
literal (ISO 8601) format down the wire, packed within ASCII char(n)
strings. Which is what this patch does, which allows client code
perform inserts using, e.g.:
var param = new SqlParameter("@Value", SqlDbType.DateTime2);
param.Value = DateTime.Now;
command.Parameters.Add(param);
Damien Diederen [Fri, 16 Jan 2015 17:12:32 +0000 (18:12 +0100)]
[System.Data.SqlClient] Map SqlDbType.DateTime{2,Offset}
Ludovic Henry [Tue, 5 May 2015 18:30:01 +0000 (19:30 +0100)]
[threadpool-ms] Disable cleanup
The cleanup code would wait for all worker threads to finish, but that could lead to some workload that would block. By disabling the cleanup code, we do not wait on anything to happen, we count on the OS to clean everything up.