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
Marek Safar [Wed, 26 Sep 2012 17:11:24 +0000 (18:11 +0100)]
Upadte csproj files
Zoltan Varga [Wed, 26 Sep 2012 15:14:33 +0000 (17:14 +0200)]
Fix the computation of TLS reference bitmaps (#6755) properly by using a 'numbits' variable instead of the confusing 'max_bits' variable.
Marek Safar [Wed, 26 Sep 2012 07:29:33 +0000 (08:29 +0100)]
Fixes build
Marek Safar [Wed, 26 Sep 2012 07:26:55 +0000 (08:26 +0100)]
Add location for namespace token
Zoltan Varga [Tue, 25 Sep 2012 21:26:00 +0000 (23:26 +0200)]
Treat the [UnmanagedFunctionPointer] attribute the same as [MonoNativeFunctionWrapper]. Fixes #7385.
Zoltan Varga [Tue, 25 Sep 2012 21:09:48 +0000 (23:09 +0200)]
Avoid constructing custom attribute objects during AOT compilation.
Marek Safar [Tue, 25 Sep 2012 19:00:51 +0000 (20:00 +0100)]
Add incomplete namespace declaration to ast. Fixes #7436
Jeremie Laval [Tue, 25 Sep 2012 13:24:56 +0000 (14:24 +0100)]
[corlib] Fix a edge case of ConcurrentQueue dequeuing by retrying after we fix up things
Jeremie Laval [Tue, 25 Sep 2012 13:24:03 +0000 (14:24 +0100)]
[corlib] Remove usage of ObjectPool, we will depend on sgen being a better GC instead
Martin Baulig [Tue, 25 Sep 2012 00:02:58 +0000 (02:02 +0200)]
[#7299][Serialization]: Fixed and improved collection serialization.
* Implement "Interchangeable Collections" and Collection Interface Types.
(see http://msdn.microsoft.com/en-us/library/
aa347850.aspx)
* Add element type check for arrays.
* Identify custom collection types (must have a public parameterless
constructor and an "Add" method with the correct argument type) and
distinguish them from types which implement one or more of the
collection interfaces without being a custom collection type.
* Add some checks for [CollectionDataContract].
* Added some NUnit tests for that.
Jonathan Pryor [Mon, 24 Sep 2012 16:45:59 +0000 (12:45 -0400)]
[mdoc, .xsd] Allow the <returns/> element to contain <c/> elements.
It's frequently useful (and accidentally used) to have <c/> within
<returns/> blocks:
<returns>
<c>-1</c> at end of stream; otherwise the number of bytes read.
</returns>
Allow this to validate.
Jeremie Laval [Mon, 24 Sep 2012 15:28:49 +0000 (16:28 +0100)]
[corlib] Fix 4.0 build
Jeremie Laval [Mon, 24 Sep 2012 15:19:56 +0000 (16:19 +0100)]
[corlib] Fix build
Jeremie Laval [Mon, 24 Sep 2012 11:28:25 +0000 (12:28 +0100)]
[corlib] Honor LazyCancellation flag