Rodrigo Kumpera [Wed, 10 Oct 2012 22:01:21 +0000 (18:01 -0400)]
Merge remote-tracking branch 'joncham/sgen-msvc2'
Conflicts:
mono/metadata/sgen-copy-object.h
mono/metadata/sgen-gc.c
Rodrigo Kumpera [Wed, 10 Oct 2012 20:32:58 +0000 (13:32 -0700)]
Merge pull request #438 from mattleibow/master
UInt32 is too large for Int32
Andrew Wilson [Mon, 3 Sep 2012 20:13:28 +0000 (21:13 +0100)]
Add test for g_utf8_to_utf16_with_nuls.
Andrew Wilson [Mon, 3 Sep 2012 20:06:50 +0000 (21:06 +0100)]
Fix bug 5732, nuls in attribute strings.
Andrew Wilson [Mon, 3 Sep 2012 20:12:47 +0000 (21:12 +0100)]
Add g_utf8_to_utf16_with_nuls for strings containing nul.
Rodrigo Kumpera [Wed, 3 Oct 2012 16:26:28 +0000 (12:26 -0400)]
Make sure that the unsafe array store intrinsics emit a write barrier.
* method-to-ir.c: Array.UnsafeStore and Array.SetGenericValueImpl must
emit a write barrier for reference types.
Marek Safar [Wed, 10 Oct 2012 07:47:44 +0000 (08:47 +0100)]
Add catch variable to ast when block is missing
Sebastien Pouliot [Tue, 9 Oct 2012 23:45:36 +0000 (19:45 -0400)]
[OSX][iOS] Ensure 'sectrust' is released even if we deny the request
Sebastien Pouliot [Tue, 9 Oct 2012 23:43:52 +0000 (19:43 -0400)]
Provide a non-null X509Chain in the callback for MonoTouch (useful for custom validations) but we are not fully building it (since we do not use the output) and this can be done if customization is required
Martin Baulig [Tue, 9 Oct 2012 19:49:05 +0000 (21:49 +0200)]
[WCF,Serialization] Improve and fully implement support for collection types.
* System.Runtime.Serialization/XsdDataContractImporter:
Check ImportOptions.ReferencedCollectionTypes to determine the proxy type.
* System.ServiceModel.Description/MetadataImporter.cs:
Very simply implementation of the 'State' property.
* System.ServiceModel.Description/DataContractSerializerMessageContractImporter.cs:
Use it here.
* Test/Resources/WSDL: Added some sample .wsdl files for the new tests; adding
these as resources to the test dll.
* Test/System.Runtime.Serialization: Added WsdlHelper.cs,
XsdDataContractImporterTest2.cs and XsdDataContractExportTest2.cs
Zoltan Varga [Tue, 9 Oct 2012 19:36:26 +0000 (21:36 +0200)]
Clean up some cross-compilation issues on osx. Add a TARGET_MACH define instead of using __MACH__.
Marek Safar [Tue, 9 Oct 2012 07:49:36 +0000 (08:49 +0100)]
Don't include prepared catch block in ast when it's unfinished
Zoltan Varga [Mon, 8 Oct 2012 12:45:21 +0000 (14:45 +0200)]
Fix MonoInternalThread layout problems introduced by
1b0326d73f9709456c9de5728edafec96f8d996e. Add an assert to avoid this happening again.
Marek Safar [Mon, 8 Oct 2012 12:08:05 +0000 (13:08 +0100)]
Handle more incomplete declarations with full ast
Marek Safar [Mon, 8 Oct 2012 12:07:49 +0000 (13:07 +0100)]
Better reference type check
Zoltan Varga [Fri, 5 Oct 2012 18:07:54 +0000 (20:07 +0200)]
Remove an unused define.
Zoltan Varga [Fri, 5 Oct 2012 17:09:34 +0000 (19:09 +0200)]
Use #ifdef MONO_ARCH_SIMD_INTRINSICS in more places.
Zoltan Varga [Fri, 5 Oct 2012 16:48:42 +0000 (18:48 +0200)]
Revert "Allow inlining of methods which consist of only a call."
This reverts commit
9a2345d3f86e8f3b106eb5749939e8117b6c6bd9.
Zoltan Varga [Fri, 5 Oct 2012 16:48:31 +0000 (18:48 +0200)]
Revert "Fix the previous commit."
This reverts commit
dad73706274401838604806a571a3aad3d51124a.
Marek Safar [Fri, 5 Oct 2012 15:36:19 +0000 (16:36 +0100)]
Setup partial type constraints types without expanding interface list
Marek Safar [Fri, 5 Oct 2012 12:44:43 +0000 (13:44 +0100)]
Remove some redundant initializations
Zoltan Varga [Fri, 5 Oct 2012 12:29:37 +0000 (14:29 +0200)]
Clean up the InternalThread structure. Synchronize fields between the managed and unmanaged versions, group reference fields together near the beginning.
Zoltan Varga [Fri, 5 Oct 2012 11:02:12 +0000 (13:02 +0200)]
Fix a warning.
Zoltan Varga [Fri, 5 Oct 2012 10:49:43 +0000 (12:49 +0200)]
Fix the previous commit.
Zoltan Varga [Fri, 5 Oct 2012 06:00:31 +0000 (08:00 +0200)]
Allow inlining of methods which consist of only a call.
Zoltan Varga [Fri, 5 Oct 2012 05:08:52 +0000 (07:08 +0200)]
Allow 64 bit method addresses in the amd64 backend, LLVM on osx seems to generate them.
Marek Safar [Thu, 4 Oct 2012 14:13:38 +0000 (15:13 +0100)]
Report warning when calling async method without wait in non-async context.
Marek Safar [Thu, 4 Oct 2012 11:56:00 +0000 (12:56 +0100)]
Update IKVM.Reflection
Zoltan Varga [Thu, 4 Oct 2012 11:03:06 +0000 (13:03 +0200)]
Save fp registers in the ARM throw trampoline, ios has callee saved fp registers, and LLVM generates code which uses them.
Marek Safar [Thu, 4 Oct 2012 10:52:09 +0000 (11:52 +0100)]
BeginGetRequestStream cannot be called once the request has been submitted.
Marek Safar [Thu, 4 Oct 2012 10:39:21 +0000 (11:39 +0100)]
Add missing configureawait
Marek Safar [Thu, 4 Oct 2012 10:35:30 +0000 (11:35 +0100)]
Remove unnecessary and incompatible finalizer
Marek Safar [Thu, 4 Oct 2012 10:31:10 +0000 (11:31 +0100)]
Flush StreamWriter buffer even if underlying stream is kept open. Fixes #7510
Marek Safar [Wed, 3 Oct 2012 13:54:01 +0000 (14:54 +0100)]
Optimize list enumerator
Mark Probst [Tue, 2 Oct 2012 12:20:12 +0000 (14:20 +0200)]
[sgen] Complete the bridge weak reference fix.
When dereferencing a weak link we check whether bridge processing is
in progress. If it is, we wait for it to finish. This ensures that
we never follow weak links to dead objects before bridge processing
can null them.
Mark Probst [Tue, 18 Sep 2012 14:34:26 +0000 (16:34 +0200)]
[sgen] Use a hash table for the bridge weak references step.
Mark Probst [Tue, 18 Sep 2012 13:30:24 +0000 (15:30 +0200)]
[sgen] Incomplete bridge weak reference fix.
This is an incomplete fix for #6715. After bridge processing we
iterate through all weak references again, this time nulling those
that point to bridged objects that were diagnosed as dead by the
bridge.
As of now it's inefficient because it uses linear search for each weak
reference lookup, as well as incomplete because the code runs while
the world is running, so the weak links might be accessed before they
are consistent.
Mark Probst [Tue, 18 Sep 2012 13:17:27 +0000 (15:17 +0200)]
[sgen] Separate header for the hash table.
This is so that we can use the hash table more easily in the
mobile-master branch which doesn't yet have the hash table factored
out.
Zoltan Varga [Wed, 3 Oct 2012 11:26:28 +0000 (13:26 +0200)]
Implement constrained calls to iface methods correctly. Fixes #7571.
Marek Safar [Wed, 3 Oct 2012 11:26:07 +0000 (04:26 -0700)]
Merge pull request #474 from knocte/master
[System.XML]: Do not set XmlTypeMapElementInfo.IsNullable if it's already True
Marek Safar [Wed, 3 Oct 2012 11:19:19 +0000 (12:19 +0100)]
Clean up some static initializers
Andres G. Aragoneses [Wed, 3 Oct 2012 11:08:16 +0000 (12:08 +0100)]
[System.XML]: Do not set XmlTypeMapElementInfo.IsNullable if it's already True
The IsNullable attribute in XmlElementAttribute is false by default,
so when not using it in a member which was already nullable
(i.e. Nullable<DateTime>), Mono was overriding the attribute causing
a FormatException later if an xsi:nil value was found when deserializing.
Fixes https://bugzilla.xamarin.com/show_bug.cgi?id=7613
Zoltan Varga [Wed, 3 Oct 2012 10:21:23 +0000 (12:21 +0200)]
Add more information about inline failures to the verbose JIT output.
Zoltan Varga [Wed, 3 Oct 2012 08:27:43 +0000 (10:27 +0200)]
Fix a warning.
Zoltan Varga [Wed, 3 Oct 2012 08:26:37 +0000 (10:26 +0200)]
Use AM_CPPFLAGS instead of INCLUDES in Makefile.am files, as the later is no longer supported, see lists.gnu.org/archive/html/automake/2012-08/msg00087.html.
Rodrigo Kumpera [Tue, 2 Oct 2012 19:13:11 +0000 (15:13 -0400)]
Disable the type check on reference type array stores.
* method-to-ir.c (emit_array_store): We can avoid the type check
on stores to reference arrays as it turns out List<T> is not
covariant to its element type as I previously thought so.
Marek Safar [Tue, 2 Oct 2012 16:03:15 +0000 (17:03 +0100)]
Implement TaskFactory::FromAsync for calls completed synchronously.
Marek Safar [Tue, 2 Oct 2012 12:20:07 +0000 (13:20 +0100)]
Spped up array reverse
Marek Safar [Tue, 2 Oct 2012 08:46:16 +0000 (09:46 +0100)]
Fix array IStructuralEquatable.GetHashCode to use provided comparer.
Mark Probst [Tue, 2 Oct 2012 10:52:10 +0000 (12:52 +0200)]
[sgen] Fix race condition in mono_gc_weak_link_get ().
Rodrigo Kumpera [Mon, 1 Oct 2012 18:22:49 +0000 (14:22 -0400)]
Force List<T> accessors to be inlined.
* List.cs: Make sure indexers are always inlined. We use the 256 literal instead
of MethodImplOptions.AggressiveInlining since the later is only available on 4.5.
Rodrigo Kumpera [Mon, 1 Oct 2012 17:11:07 +0000 (13:11 -0400)]
List<T> accessors now use Array.Unsafe(Load|Store).
Rodrigo Kumpera [Mon, 1 Oct 2012 17:02:34 +0000 (13:02 -0400)]
Implement Array.UnsafeLoad and Array.UnsafeStore. Both functions ignores bounds check when possible.
* Array.cs: Add UnsafeLoad and UnsafeStore functions that don't perform bounds check.
The JIT will generate, when possible, direct a load/store. Right now the only case we can't
handle are stores to reference arrays.
Reference arrays are covariant on their element type which means that we must perform a runtime
type check on stores to preserve type safety. Since the type check is usually must more expensive
than the bounds check we simply ignore this for now.
The reasoning behind this decision was that given our initial target are corlib's collections and
they are too covariant to their element types they do need too a runtime type check on stores to ensure
correctness.
Rodrigo Kumpera [Mon, 1 Oct 2012 16:28:42 +0000 (12:28 -0400)]
Extract the array store code to separare function.
Zoltan Varga [Mon, 16 Apr 2012 12:22:31 +0000 (14:22 +0200)]
Revert "Disable wrapper generation code when DISABLE_JIT is defined."
This reverts commit
a6583c60c0c3814ca02bf2569c7a5e48b46377a7.
This doesn't work since emit_marshal () is used to compute the signatures of the wrappers themselves through the 'conv_arg_type' argument.
Marek Safar [Mon, 1 Oct 2012 17:41:03 +0000 (18:41 +0100)]
Update to the latest IKVM.Reflection
Marek Safar [Mon, 1 Oct 2012 16:44:00 +0000 (17:44 +0100)]
Make large float arrays emit faster
Marek Safar [Mon, 1 Oct 2012 12:17:54 +0000 (13:17 +0100)]
Remove commented code
Martin Baulig [Mon, 1 Oct 2012 12:47:49 +0000 (14:47 +0200)]
[WCF]: Fix WSDL import of methods with complex return types.
There is no bug report, the problem has been reported here:
http://stackoverflow.com/questions/
12551090/monotouch-wcf-service-reference-cs-errors/
12669880
DataContractSerializerMessageContractImporter.IsOperationImported()
did not check the method's return value, so it failed to recognize
methods such as
[OperationContract]
DateTime GetDate ();
as already being imported. This caused the method to be imported with
both the DataContractMessageContractImporterInternal and the
XmlSerializerMessageContractImporterInternal, but the latter does not
resolve type references, see the FIXME in that class.
I also added a new test case for this.
Zoltan Varga [Mon, 1 Oct 2012 13:02:03 +0000 (15:02 +0200)]
Avoid calling mono_jit_info_table_find () in is_ip_in_managed_allocator (). This leads to a small speedup, and works around #7564.
Marek Safar [Mon, 1 Oct 2012 12:14:47 +0000 (13:14 +0100)]
Speed up implicitly typed array inference. Fixes #7222
Zoltan Varga [Sun, 30 Sep 2012 01:53:49 +0000 (03:53 +0200)]
Fix a memory overwrite in the handling of some simd opcodes in the LLVM backend.
Zoltan Varga [Sun, 30 Sep 2012 01:17:26 +0000 (03:17 +0200)]
Remove the fconv_to_i test from iltests.il, it basically only works on x86.
Zoltan Varga [Sun, 30 Sep 2012 01:15:49 +0000 (03:15 +0200)]
Avoid copying the stack alignment area during tail calls on x86, if the caller method is frm LLVM, it might not have that area.
Zoltan Varga [Sun, 30 Sep 2012 01:14:38 +0000 (03:14 +0200)]
Fix dwarf register mapping on darwin/x86.
Zoltan Varga [Sat, 29 Sep 2012 23:16:09 +0000 (01:16 +0200)]
Disable OP_TLS_GET support in the LLVM backend on non-linux platforms.
Marek Safar [Sat, 29 Sep 2012 17:09:20 +0000 (10:09 -0700)]
Merge pull request #471 from antoniusriha/master
[System] Fix Uri.MakeRelativeUri on paths to higher level dir
Marek Safar [Sat, 29 Sep 2012 17:08:09 +0000 (10:08 -0700)]
Merge pull request #470 from clcrutch/SystemIcons
System.Drawing.SystemIcons.Shield
Antonius Riha [Sat, 29 Sep 2012 16:40:27 +0000 (18:40 +0200)]
[System] Fix Uri.MakeRelativeUri on paths to higher level dir
Given the test case when a relative path should be built from a lower
level dir to a higher level dir, the last bit from the "From-Path" is always
considered to be a file - even if it ends with "/". In contrast, .NET
considers paths ending with "/" as directories and therefore the
resulting path goes one level further up than the resulting path of the
mono implementation. This patch aims to fix that.
clcrutch [Sat, 29 Sep 2012 15:41:15 +0000 (08:41 -0700)]
Update mcs/class/System.Drawing/Assembly/ChangeLog
clcrutch [Sat, 29 Sep 2012 15:40:50 +0000 (08:40 -0700)]
Fixed System.Drawing/System.Drawing-net_4_5.csproj
clcrutch [Sat, 29 Sep 2012 15:39:58 +0000 (08:39 -0700)]
Fixed System.Drawing/System.Drawing-net_4_0.csproj
clcrutch [Sat, 29 Sep 2012 15:39:05 +0000 (08:39 -0700)]
Fixed System.Drawing/System.Drawing-net_2_0.csproj
clcrutch [Sat, 29 Sep 2012 15:36:00 +0000 (08:36 -0700)]
Fixed mcs/class/System.Drawing/ChangeLOg
Mark Probst [Sat, 29 Sep 2012 12:48:01 +0000 (14:48 +0200)]
[dtrace] Turns out "sweeped" is not a word.
Mark Probst [Sat, 29 Sep 2012 11:00:32 +0000 (13:00 +0200)]
[sgen] Flags bit field instead of individual args for OS alloc funcs.
Mark Probst [Sat, 29 Sep 2012 09:59:06 +0000 (11:59 +0200)]
[dtrace] Make pointers into user space uintptr_t instead of void*.
chris [Sat, 29 Sep 2012 03:35:48 +0000 (20:35 -0700)]
Added System.Drawing.SystemIcons.Shield to API to match .Net 2.0 SP1, 4.0, 4.5 API.
Chris [Sat, 29 Sep 2012 03:28:13 +0000 (20:28 -0700)]
Implemented System.Drawing.SystemIcons.Shield to match the .Net 2.0, 4.0, 4.5 API.
Zoltan Varga [Sat, 29 Sep 2012 00:36:59 +0000 (02:36 +0200)]
Fix a test name.
Zoltan Varga [Sat, 29 Sep 2012 00:21:02 +0000 (02:21 +0200)]
Fix some sign extension issues in the 2 dimensional array access implementation on 64 bit platforms. Fixes #7438.
Mark Probst [Fri, 28 Sep 2012 21:22:40 +0000 (23:22 +0200)]
Merge branch 'feature-dtrace'
Mark Probst [Sat, 22 Sep 2012 14:57:33 +0000 (16:57 +0200)]
[dtrace] Add G_UNLIKELY to all DTrace _ENABLED macros.
Mark Probst [Sat, 22 Sep 2012 10:40:35 +0000 (12:40 +0200)]
[dtrace] Probe for object moved, within or between heaps.
Mark Probst [Sat, 22 Sep 2012 14:32:48 +0000 (16:32 +0200)]
[dtrace] Pass namespace and class name to probes where appropriate.
Mark Probst [Sat, 22 Sep 2012 13:48:58 +0000 (15:48 +0200)]
[dtrace] Probes for large and pinned allocation.
Mark Probst [Sat, 22 Sep 2012 12:48:17 +0000 (14:48 +0200)]
[dtrace] Probe for pinning of objects.
Mark Probst [Sat, 22 Sep 2012 12:11:55 +0000 (14:11 +0200)]
[dtrace] Probe for major heap area sweep.
Mark Probst [Sat, 22 Sep 2012 10:53:41 +0000 (12:53 +0200)]
[dtrace] Probe for nursery fragment creation aka nursery sweep.
Mark Probst [Fri, 21 Sep 2012 17:54:21 +0000 (19:54 +0200)]
[dtrace] Probes for degraded and mature allocation.
Mark Probst [Fri, 21 Sep 2012 17:26:09 +0000 (19:26 +0200)]
[dtrace] Allocation of TLABs. Allocation of objects directly from nursery.
Mark Probst [Fri, 21 Sep 2012 16:55:08 +0000 (18:55 +0200)]
[dtrace] Remove our duplicates of DTrace probe defines.
Mark Probst [Fri, 21 Sep 2012 14:44:16 +0000 (16:44 +0200)]
[dtrace] Probes for taking/releasing the GC lock.
Mark Probst [Fri, 21 Sep 2012 12:34:41 +0000 (14:34 +0200)]
[dtrace] GC heap allocation probes for SGen.
These trigger whenever a segment of heap memory is allocated from the
OS, or freed to the OS again.
Mark Probst [Tue, 18 Sep 2012 18:16:20 +0000 (20:16 +0200)]
[dtrace] GC begin/end probes for SGen.
Marek Safar [Fri, 28 Sep 2012 18:23:19 +0000 (19:23 +0100)]
Better fix for invalid warning about missing documentation on partial parts.
Martin Baulig [Thu, 27 Sep 2012 01:59:18 +0000 (03:59 +0200)]
[#7424]: Fix regression in same-origin-check for Cookies.
Disable same-origin checks when the cookie does not have a domain
and we default to the Uri's hostname.
Sebastien Pouliot [Thu, 27 Sep 2012 00:36:50 +0000 (20:36 -0400)]
Fix CFB mode for Rijndael when data is not a multiple of block size
Martin Baulig [Thu, 27 Sep 2012 00:00:00 +0000 (02:00 +0200)]
[#7200]: WebRequest returns result in another thread.
This is a partial revertion of master commit #
9069d07, which was
backported into mono-2-10 in commit #
bfa23f8.
I only reverted the change in line 716, keeping the rest of the
commit in place.
Marek Safar [Wed, 26 Sep 2012 17:30:02 +0000 (18:30 +0100)]
Don't report missing documentation warning for partial parts. Fixes #7462