mono.git
8 years ago[runtime][llvmonlyexceptions] Used correct preprocessor symbol for llvmonly try tracking.
Alexander Kyte [Tue, 22 Sep 2015 03:51:27 +0000 (23:51 -0400)]
[runtime][llvmonlyexceptions] Used correct preprocessor symbol for llvmonly try tracking.

8 years ago[runtime][llvmonlyexceptions] Fixed whitespace mentioned in code review
Alexander Kyte [Tue, 22 Sep 2015 03:49:18 +0000 (23:49 -0400)]
[runtime][llvmonlyexceptions] Fixed whitespace mentioned in code review

8 years ago[runtime][llvmonlyexceptions] Fixed visibility of unhandled exception handler
Alexander Kyte [Tue, 22 Sep 2015 03:35:45 +0000 (23:35 -0400)]
[runtime][llvmonlyexceptions] Fixed visibility of unhandled exception handler

8 years agoImplement the throwing of corlib exceptions.
Zoltan Varga [Tue, 22 Sep 2015 02:28:40 +0000 (22:28 -0400)]
Implement the throwing of corlib exceptions.

8 years agoImplement Assembly.GetExecutingAssembly () as an intrinsics so it works even if stack...
Zoltan Varga [Mon, 21 Sep 2015 23:44:58 +0000 (19:44 -0400)]
Implement Assembly.GetExecutingAssembly () as an intrinsics so it works even if stack walks are not available.

8 years agoAvoid emitting calls to the llvm.mono.load/store intrinsics in llvmonly mode.
Zoltan Varga [Mon, 21 Sep 2015 23:11:18 +0000 (19:11 -0400)]
Avoid emitting calls to the llvm.mono.load/store intrinsics in llvmonly mode.

8 years agoAvoid disabling llvm for methods with an lmf.
Zoltan Varga [Mon, 21 Sep 2015 20:38:44 +0000 (16:38 -0400)]
Avoid disabling llvm for methods with an lmf.

8 years agoAvoid falling back to the jit in llvmonly mode.
Zoltan Varga [Mon, 21 Sep 2015 20:28:06 +0000 (16:28 -0400)]
Avoid falling back to the jit in llvmonly mode.

8 years ago[llvm] Emit an unreachable instruction after llvm throws.
Zoltan Varga [Mon, 21 Sep 2015 20:27:41 +0000 (16:27 -0400)]
[llvm] Emit an unreachable instruction after llvm throws.

8 years ago[runtime] Merge origin/kyte/llvmonly-exceptions-pr.
Zoltan Varga [Mon, 21 Sep 2015 19:45:40 +0000 (15:45 -0400)]
[runtime] Merge origin/kyte/llvmonly-exceptions-pr.

8 years agoRemove the REALLY_LLVONLY flag, enable it by default. Use stock clang for compiling...
Zoltan Varga [Sun, 20 Sep 2015 04:16:45 +0000 (00:16 -0400)]
Remove the REALLY_LLVONLY flag, enable it by default. Use stock clang for compiling and linking llvm code.

8 years agoFix a merge problem.
Zoltan Varga [Sat, 12 Sep 2015 00:35:54 +0000 (20:35 -0400)]
Fix a merge problem.

8 years agoFix the REALLY_LLVMONY mode.
Zoltan Varga [Tue, 18 Aug 2015 21:30:35 +0000 (17:30 -0400)]
Fix the REALLY_LLVMONY mode.

8 years agoFix merge and other problems.
Zoltan Varga [Thu, 6 Aug 2015 00:19:47 +0000 (20:19 -0400)]
Fix merge and other problems.

8 years agoDisable REALLY_LLVM_ONLY by default.
Zoltan Varga [Wed, 5 Aug 2015 22:30:13 +0000 (18:30 -0400)]
Disable REALLY_LLVM_ONLY by default.

8 years agoVarious hacks to make hello world run with only llvm code. Define REALLY_LLVMONLY_MOD...
Zoltan Varga [Mon, 3 Aug 2015 18:51:52 +0000 (14:51 -0400)]
Various hacks to make hello world run with only llvm code. Define REALLY_LLVMONLY_MODE at the top of mini.h to enable it.

8 years agoFix support for generic virtual calls.
Zoltan Varga [Fri, 31 Jul 2015 02:18:11 +0000 (22:18 -0400)]
Fix support for generic virtual calls.

8 years agoParallelize the generation of aot images for make llvmonlycheck.
Zoltan Varga [Fri, 31 Jul 2015 02:17:57 +0000 (22:17 -0400)]
Parallelize the generation of aot images for make llvmonlycheck.

8 years agoPass the rgctx argument last, instead of first, because determining its ordering...
Zoltan Varga [Fri, 31 Jul 2015 00:07:11 +0000 (20:07 -0400)]
Pass the rgctx argument last, instead of first, because determining its ordering wrt to the 'this' and 'vret' arguments is very complicated.

8 years agoFix interface calls on a null receiver and virtual generic calls.
Zoltan Varga [Thu, 30 Jul 2015 21:26:03 +0000 (17:26 -0400)]
Fix interface calls on a null receiver and virtual generic calls.

8 years agoEnable explicit-null-checks in llvm-only mode by default.
Zoltan Varga [Thu, 30 Jul 2015 21:25:16 +0000 (17:25 -0400)]
Enable explicit-null-checks in llvm-only mode by default.

8 years agoAvoid an llvm assertion.
Zoltan Varga [Wed, 29 Jul 2015 21:36:27 +0000 (17:36 -0400)]
Avoid an llvm assertion.

8 years agoFix the build.
Zoltan Varga [Wed, 29 Jul 2015 21:36:01 +0000 (17:36 -0400)]
Fix the build.

8 years agoFix the build.
Zoltan Varga [Wed, 29 Jul 2015 21:18:45 +0000 (17:18 -0400)]
Fix the build.

8 years agoEnable support for more ldvirtftn+delegate creation cases.
Zoltan Varga [Sat, 18 Jul 2015 01:04:17 +0000 (21:04 -0400)]
Enable support for more ldvirtftn+delegate creation cases.

8 years agoFix the case when mono_method_needs_static_rgctx_invoke () returns TRUE, but we're...
Zoltan Varga [Fri, 17 Jul 2015 23:54:58 +0000 (19:54 -0400)]
Fix the case when mono_method_needs_static_rgctx_invoke () returns TRUE, but we're using an instance which doesn't have an rgctx argument.

8 years agoFix support for ldvirtftn+delegate creation.
Zoltan Varga [Fri, 17 Jul 2015 22:35:23 +0000 (18:35 -0400)]
Fix support for ldvirtftn+delegate creation.

8 years agoAdd support for delegates which call methods which require an rgctx argument.
Zoltan Varga [Fri, 17 Jul 2015 02:15:44 +0000 (22:15 -0400)]
Add support for delegates which call methods which require an rgctx argument.

8 years agoAvoid using the mono calling conv in llvm-only mode. Avoid emitting a dummy personali...
Zoltan Varga [Thu, 16 Jul 2015 21:47:53 +0000 (17:47 -0400)]
Avoid using the mono calling conv in llvm-only mode. Avoid emitting a dummy personality function.

8 years agoAd support for iface calls which might go to methods which need an rgctx.
Zoltan Varga [Thu, 16 Jul 2015 19:44:16 +0000 (15:44 -0400)]
Ad support for iface calls which might go to methods which need an rgctx.

8 years agoA bunch of hacks to compile llvm code using clang instead of opt/llc.
Zoltan Varga [Fri, 10 Jul 2015 21:31:43 +0000 (17:31 -0400)]
A bunch of hacks to compile llvm code using clang instead of opt/llc.

8 years agoPass the rgctx argument to gshared methods explicitly instead of in a non-abi registe...
Zoltan Varga [Thu, 9 Jul 2015 22:15:21 +0000 (18:15 -0400)]
Pass the rgctx argument to gshared methods explicitly instead of in a non-abi register. Delegates don't yet work.

8 years agoAdd a llvm_only flag to MonoCompile and use that instead of cfg->flags which means...
Zoltan Varga [Thu, 9 Jul 2015 19:40:28 +0000 (15:40 -0400)]
Add a llvm_only flag to MonoCompile and use that instead of cfg->flags which means something else.

8 years agoAvoid creating jump trampolines and delegate trampolines in llvm-only mode.
Zoltan Varga [Thu, 9 Jul 2015 01:38:44 +0000 (21:38 -0400)]
Avoid creating jump trampolines and delegate trampolines in llvm-only mode.

8 years agoDisable stack overflow trampolines in llvm-only mode.
Zoltan Varga [Thu, 9 Jul 2015 01:38:08 +0000 (21:38 -0400)]
Disable stack overflow trampolines in llvm-only mode.

8 years agoAvoid creating plt entries for empty plt sections.
Zoltan Varga [Wed, 8 Jul 2015 23:22:38 +0000 (19:22 -0400)]
Avoid creating plt entries for empty plt sections.

8 years agoDisable the dyn call runtime invoke code in llvm-only mode.
Zoltan Varga [Wed, 8 Jul 2015 17:21:42 +0000 (13:21 -0400)]
Disable the dyn call runtime invoke code in llvm-only mode.

8 years agoDisable the usage of delegate trampolines in llvm-only mode.
Zoltan Varga [Wed, 8 Jul 2015 17:08:33 +0000 (13:08 -0400)]
Disable the usage of delegate trampolines in llvm-only mode.

8 years agoProperly inflate methods called from llvm code without trampolines.
Zoltan Varga [Wed, 8 Jul 2015 17:08:06 +0000 (13:08 -0400)]
Properly inflate methods called from llvm code without trampolines.

8 years agoAvoid emitting symbols for jitted code if all methods were compiled by llvm.
Zoltan Varga [Wed, 8 Jul 2015 02:56:09 +0000 (22:56 -0400)]
Avoid emitting symbols for jitted code if all methods were compiled by llvm.

8 years agoDon't put references to LLVM compiled methods into the method_addresses table, its...
Zoltan Varga [Wed, 8 Jul 2015 01:52:45 +0000 (21:52 -0400)]
Don't put references to LLVM compiled methods into the method_addresses table, its not needed.

8 years agoImplement virtual/interface calls by calling a jit icall to resolve the method to...
Zoltan Varga [Wed, 8 Jul 2015 01:24:32 +0000 (21:24 -0400)]
Implement virtual/interface calls by calling a jit icall to resolve the method to be called.

8 years agoImplement unbox trampolines for llvm compiled methods in llvm as functions which...
Zoltan Varga [Wed, 8 Jul 2015 01:00:02 +0000 (21:00 -0400)]
Implement unbox trampolines for llvm compiled methods in llvm as functions which do a tail call to the real method.

8 years agoMove the lookup of llvm compiled methods into a generated llvm function.
Zoltan Varga [Wed, 8 Jul 2015 00:55:33 +0000 (20:55 -0400)]
Move the lookup of llvm compiled methods into a generated llvm function.

8 years agoImplement rgctx fetches by calling a JIT icall.
Zoltan Varga [Wed, 8 Jul 2015 00:35:59 +0000 (20:35 -0400)]
Implement rgctx fetches by calling a JIT icall.

8 years agoImplement support for self-initialization in methods, i.e. methods which initialize...
Zoltan Varga [Wed, 8 Jul 2015 00:12:50 +0000 (20:12 -0400)]
Implement support for self-initialization in methods, i.e. methods which initialize themselves instead of depending on plt entries to do it.

8 years agoAdd a GOT entry pointing to the AOT module.
Zoltan Varga [Tue, 7 Jul 2015 23:07:40 +0000 (19:07 -0400)]
Add a GOT entry pointing to the AOT module.

8 years agoTemporarily disable running opt.
Zoltan Varga [Tue, 7 Jul 2015 22:51:53 +0000 (18:51 -0400)]
Temporarily disable running opt.

8 years agoAdd an 'llvmonlycheck' makefile target to run the jit tests in llvm-only mode.
Zoltan Varga [Wed, 17 Jun 2015 00:09:25 +0000 (20:09 -0400)]
Add an 'llvmonlycheck' makefile target to run the jit tests in llvm-only mode.

8 years agoAdd 'llvmonly' aot option and a corresponding --llvmonly runtime option, these are...
Zoltan Varga [Tue, 7 Jul 2015 22:37:39 +0000 (18:37 -0400)]
Add 'llvmonly' aot option and a corresponding --llvmonly runtime option, these are extensions of full-aot.

8 years ago[process] Fix race between Exited and OutputDataReceived/ErrorDataReceived
Ludovic Henry [Thu, 8 Oct 2015 09:17:50 +0000 (10:17 +0100)]
[process] Fix race between Exited and OutputDataReceived/ErrorDataReceived

Because the previous implementation of the Exited would not wait on
async_output and async_error to complete before calling the Exited event
that would lead to race condition (observable in the test-runner).

The previous implementation was using the
ThreadPool.RegisterWaitForSingleObject method which, in the case of
Mono, would simply enqueue a work item that would wait on this handle.
So instead of monopolizing a ThreadPool thread for that, we create a
dedicated one that simply call WaitForExit.

8 years agoMerge pull request #2116 from cmp-/fix-sdb-trampoline-windows-x64
Zoltan Varga [Thu, 8 Oct 2015 20:40:53 +0000 (16:40 -0400)]
Merge pull request #2116 from cmp-/fix-sdb-trampoline-windows-x64

Fix sdb trampoline on Windows x64

8 years agoMerge pull request #2114 from cmp-/fix-sgen-gchandle-truncation-windows-x64
Mark Probst [Thu, 8 Oct 2015 19:53:16 +0000 (12:53 -0700)]
Merge pull request #2114 from cmp-/fix-sgen-gchandle-truncation-windows-x64

Fix sgen gchandle truncating pointers on Windows x64

8 years agoMerge pull request #1949 from lewurm/fixtype
Alexis Christoforides [Thu, 8 Oct 2015 19:27:12 +0000 (15:27 -0400)]
Merge pull request #1949 from lewurm/fixtype

[mono-config] use right type for result of strlen

8 years agoMerge pull request #2117 from Numpsy/ObjectSecurity
Marek Safar [Thu, 8 Oct 2015 18:06:49 +0000 (20:06 +0200)]
Merge pull request #2117 from Numpsy/ObjectSecurity

Add stub implementation of System.DirectoryServices.DirectoryEntry.Ob…

8 years agoFix sdb trampoline on Windows x64
cmp [Thu, 8 Oct 2015 12:21:13 +0000 (13:21 +0100)]
Fix sdb trampoline on Windows x64

On Windows x64 (and possibly other x64 systems) the offset between code
and the called function can be larger than 32 bits, but amd64_call_code
is just a wrapper around x86_call_code.

8 years agoAdd stub implementation of System.DirectoryServices.DirectoryEntry.ObjectSecurity...
Richard Webb [Thu, 8 Oct 2015 16:34:47 +0000 (17:34 +0100)]
Add stub implementation of System.DirectoryServices.DirectoryEntry.ObjectSecurity property

Add stub implementation of
System.DirectoryServices.DirectoryEntry.ObjectSecurity property (throws
on access)

8 years ago[mcs] Resolve target before resolving collection/dictionary initializers. Fixes ...
Marek Safar [Thu, 8 Oct 2015 13:03:04 +0000 (15:03 +0200)]
[mcs] Resolve target before resolving collection/dictionary initializers. Fixes #34604

8 years ago[threadpool-ms] Refactor thread parking
Ludovic Henry [Wed, 7 Oct 2015 19:49:12 +0000 (20:49 +0100)]
[threadpool-ms] Refactor thread parking

Use a global condition variable as opposed to one per parked thread.
This remove any memory passed to the interrupt token, as this could be
an issue.

The problem comes from the fact that a destroy on a cond variable could
make a wait on this cond variable fail with EINVAL, and this would
trigger an assertion in the mono-mutex code.

8 years ago[linker] Both the TypeSpecification (T) along with the GenericArguments (G) must...
Sebastien Pouliot [Thu, 8 Oct 2015 00:54:15 +0000 (20:54 -0400)]
[linker] Both the TypeSpecification (T) along with the GenericArguments (G) must be preserved from custom attributes, e.g. T<G>

8 years agoFix sgen gchandle truncating pointers on Windows x64
cmp [Wed, 7 Oct 2015 19:41:31 +0000 (20:41 +0100)]
Fix sgen gchandle truncating pointers on Windows x64

On Windows x64 sizeof(unsigned long) == 4, so & ~3UL ends up truncating
the upper 32 bits of the pointer.

8 years ago[test] The process output/error is finished only when null is passed
Ludovic Henry [Wed, 7 Oct 2015 18:38:37 +0000 (19:38 +0100)]
[test] The process output/error is finished only when null is passed

8 years ago[corlib] Rework some test to avoid unhandled and swallowed exception
Ludovic Henry [Wed, 7 Oct 2015 11:33:05 +0000 (12:33 +0100)]
[corlib] Rework some test to avoid unhandled and swallowed exception

These tests could fail randomly (timing issues) and this would lead to
unhandled exceptions. By using Task, instead of the ThreadPool directly,
we avoid these cases. We also ensure to wait for these tasks so we get
the test failing at the right moment and place.

8 years ago[threadpool-ms] Remove recursivity of active_threads_lock
Ludovic Henry [Tue, 6 Oct 2015 14:27:57 +0000 (15:27 +0100)]
[threadpool-ms] Remove recursivity of active_threads_lock

There was a recursive lock because of the interaction between
worker_kill and work_wait_interrupt, but as a matter of fact it is not
needed. This is because we cannot have an interrupt token with
worker_wait_interrupt, and the current thread in active_threads at
the same time.

8 years ago[Facades] Add reflection Facades back to xammac. XM 2.4.0 shipped them so we can...
Rodrigo Kumpera [Tue, 6 Oct 2015 19:42:46 +0000 (15:42 -0400)]
[Facades] Add reflection Facades back to xammac. XM 2.4.0 shipped them so we can't just drop them now.

8 years agoMerge pull request #2112 from madewokherd/lowercaseinclude
João Matos [Tue, 6 Oct 2015 21:44:16 +0000 (22:44 +0100)]
Merge pull request #2112 from madewokherd/lowercaseinclude

Standardize on lower-case names for Windows include files.

8 years agoStandardize on lower-case names for Windows include files.
Vincent Povirk [Tue, 6 Oct 2015 21:41:00 +0000 (16:41 -0500)]
Standardize on lower-case names for Windows include files.

This is needed for mingw builds on Linux.

8 years ago[runtime] Fix the handling of large allocation sizes in Marshal.AllocHGlobal/ReAllocH...
Zoltan Varga [Tue, 6 Oct 2015 17:41:27 +0000 (13:41 -0400)]
[runtime] Fix the handling of large allocation sizes in Marshal.AllocHGlobal/ReAllocHGlobal. Fixes #34382.

8 years ago[runtime] Fixed the MSVC build.
triton [Tue, 6 Oct 2015 14:58:14 +0000 (15:58 +0100)]
[runtime] Fixed the MSVC build.

8 years agoMerge pull request #1978 from ludovic-henry/coop-interrupt
Rodrigo Kumpera [Tue, 6 Oct 2015 14:41:50 +0000 (10:41 -0400)]
Merge pull request #1978 from ludovic-henry/coop-interrupt

[socket] Enable Thread.Abort on blocking syscall

8 years agoMerge pull request #2060 from ludovic-henry/socket-rework-async
Rodrigo Kumpera [Tue, 6 Oct 2015 14:40:47 +0000 (10:40 -0400)]
Merge pull request #2060 from ludovic-henry/socket-rework-async

[socket] Complete refactor of Begin/End and Async

8 years agoMerge pull request #2110 from ludovic-henry/threadpool-exit-worker
Rodrigo Kumpera [Tue, 6 Oct 2015 14:19:19 +0000 (10:19 -0400)]
Merge pull request #2110 from ludovic-henry/threadpool-exit-worker

[threadpool-ms] Exit worker thread after 5 to 60 seconds

8 years ago[socket] Enable Thread.Abort on blocking syscall
Ludovic Henry [Tue, 15 Sep 2015 10:21:55 +0000 (11:21 +0100)]
[socket] Enable Thread.Abort on blocking syscall

By installing interrupt token around the blocking syscalls, we make it possible to abort them with signals.

Previously, the only way to interrupt a blocking syscall, would have been to dispose of the SafeSocketHandle associated to the socket. But that make it impossible to abort the following case:
 - thread T1 accept a socket S and launch T2 (as a background thread) to receive on S
 - T2 block on receive
 - T1 (the main thread) quit, and the shutdown code try to abort T2

T2 would never be aborted, because S would never return from its blocking syscall, and that's because T2:
 - would still have a reference to S, making it impossible to call the finalizer on S
 - will not call Dispose on S before returning from the blocking syscall

This fixes the hang observed on System.Net.HttpWebRequestTest.GetRequestStream with the cooperative GC.

8 years ago[runtime] Cleanup of mono_unhandled_exception
Ludovic Henry [Thu, 1 Oct 2015 13:29:35 +0000 (14:29 +0100)]
[runtime] Cleanup of mono_unhandled_exception

8 years ago[threadpool-ms] Exit worker thread after 5 to 60 seconds
Ludovic Henry [Wed, 30 Sep 2015 13:25:25 +0000 (14:25 +0100)]
[threadpool-ms] Exit worker thread after 5 to 60 seconds

The timeout before exiting a worker thread is random to limit the worst case scenario where, if the timeout is set to N seconds, the user would launch a lot of work item simultaneously, at an interval of N + 1 seconds. In this case, we would have to kill all the threads at once, and starts them all over again 1 second later. The randomization makes the creation and destruction more linear in time, and avoid burst.

8 years ago[System] Make process pipe creation exception more verbose
Ludovic Henry [Tue, 6 Oct 2015 13:19:33 +0000 (14:19 +0100)]
[System] Make process pipe creation exception more verbose

8 years ago[mdoc] Update expected results due to 3156d1b05d75a2f70f1f2a882dab031a8ceed9f9
Marek Safar [Tue, 6 Oct 2015 11:43:36 +0000 (13:43 +0200)]
[mdoc] Update expected results due to 3156d1b05d75a2f70f1f2a882dab031a8ceed9f9

8 years ago[xbuild] Make ToolsVersion 14.0 targeting 4.5.* frameworks work
Marek Safar [Tue, 6 Oct 2015 11:16:43 +0000 (13:16 +0200)]
[xbuild] Make ToolsVersion 14.0 targeting 4.5.* frameworks work

8 years agoFixed HttpWebRequestTest to compile with mobile NUnit.
João Matos [Tue, 6 Oct 2015 11:05:34 +0000 (12:05 +0100)]
Fixed HttpWebRequestTest to compile with mobile NUnit.

Fixes an error in the mono-master-monodroid lane.

[9:24:52] Errors:
[9:24:52]
[9:24:52] /Users/builder/data/lanes/1845/aa3aab5f/source/monodroid/tests/bcl-test/BclTests.sln (default targets) ->
[9:24:52] (Build target) ->
[9:24:52] /Users/builder/data/lanes/1845/aa3aab5f/source/monodroid/tests/bcl-test/BclTests.csproj (default targets) ->
[9:24:52] /Library/Frameworks/Mono.framework/Versions/4.2.0/lib/mono/4.5/Microsoft.CSharp.Targets (CoreCompile target) ->
[9:24:52]
[9:24:52]  src/System/Test/System.Net/HttpWebRequestTest.cs(2336,13): error CS0117: `NUnit.Framework.Assert' does not contain a definition for `Greater'
[9:24:52]
[9:24:52]   13 Warning(s)
[9:24:52]   1 Error(s)

8 years ago[tests] Add test for apploading related crashes due to repetitive load/unload of...
Rodrigo Kumpera [Mon, 5 Oct 2015 22:53:59 +0000 (18:53 -0400)]
[tests] Add test for apploading related crashes due to repetitive load/unload of the same assembly.

Right there's a test for the gsharing/image set bad interaction. It doesn't crash, but produces bad pointers when under MONO_DEBUG_ASSEMBLY_UNLOAD=1

8 years ago[runtime/appdomain] Fix a bad interaction between appdomains and generic sharing.
Rodrigo Kumpera [Mon, 5 Oct 2015 22:36:44 +0000 (18:36 -0400)]
[runtime/appdomain] Fix a bad interaction between appdomains and generic sharing.

mini-generic-sharing.c (get_shared_gparam): This function is used to produce placeholder types
to be used in the sharing instances that are actually JIT'd.

The problem comes from creating a MonoGenericParam whose image is corlib but it's allocated on
a different image.

This becomes an issue in metadata.c:mono_metadata_get_generic_inst when computing the image set
the generic instance should live in. By setting the generic param image to corlib we effectively
lie to the ImageSet code about what are the images.

So, say we have assembly A and we call get_shared_gparam on a type on this assembly. The returned type
will be allocated on A mempool but say it belongs to corlib.

The image set for such a generic instance will be [corlib].

Now we unload A.

Now we have a MonoGenericInstance in the [corlib] mempool that points to memory in the freed
mempool of A.

The fix is to set owner to the right image whenever possible. This would have changed the image
set to [A] (or more likely, [A, corlib]). Either mempool would be freed when A is unloaded.

Testing this behavior turned out to be incredibly more complicated than expected and even though
I managed to produce a test case which has the bad pointers, I could not trigger a crash even with
MONO_DEBUG_ASSEMBLY_UNLOAD=1.

8 years ago[socket] Refactor SocketAsyncEventArgs creation
Ludovic Henry [Tue, 15 Sep 2015 21:33:26 +0000 (22:33 +0100)]
[socket] Refactor SocketAsyncEventArgs creation

8 years ago[socket] Move callbacks out of SocketAsyncEventArgs
Ludovic Henry [Tue, 15 Sep 2015 21:16:36 +0000 (22:16 +0100)]
[socket] Move callbacks out of SocketAsyncEventArgs

8 years ago[socket] Remove SocketAsyncCallback dead code
Ludovic Henry [Tue, 15 Sep 2015 21:02:22 +0000 (22:02 +0100)]
[socket] Remove SocketAsyncCallback dead code

8 years ago[socket] Remove SocketAsyncWorker
Ludovic Henry [Tue, 15 Sep 2015 20:30:12 +0000 (21:30 +0100)]
[socket] Remove SocketAsyncWorker

By having the callbacks directly in Socket, we can remove the SocketAsyncWorker class. This also greatly simplify this part of the code, as the callbacks are at the same place as the Begin/End invokes.

8 years ago[socket] Remove SocketAsyncEventArgs.Dispatcher
Ludovic Henry [Tue, 15 Sep 2015 19:21:43 +0000 (20:21 +0100)]
[socket] Remove SocketAsyncEventArgs.Dispatcher

8 years ago[socket] Remove SocketAsyncEventArgs.Init
Ludovic Henry [Tue, 15 Sep 2015 19:00:09 +0000 (20:00 +0100)]
[socket] Remove SocketAsyncEventArgs.Init

8 years ago[socket] Factor SocketAsyncResult and ProcessAsyncResult common parts into IOAsyncRes...
Ludovic Henry [Wed, 16 Sep 2015 10:17:03 +0000 (11:17 +0100)]
[socket] Factor SocketAsyncResult and ProcessAsyncResult common parts into IOAsyncResult + Abstract IO Threadpool jobs with IOSelectorJob

This simplifies greatly the native code, as we do not need to worry anymore about all IAsyncResult related work (call the callback, set completed, etc.), and we only need to care about the handle we are watching, and the callback to call when something happens on this handle.

This is quite a big commit, but unfortunatly, it's very hard to break it down in smaller commits as everything is very interwind.

8 years agoBump reference sources
Marek Safar [Mon, 5 Oct 2015 14:08:54 +0000 (16:08 +0200)]
Bump reference sources

8 years ago[mcs] Keep documentation formatting as was written in source code. Fixes #34409
Marek Safar [Mon, 5 Oct 2015 14:05:51 +0000 (16:05 +0200)]
[mcs] Keep documentation formatting as was written in source code. Fixes #34409

8 years ago[system.web] Expand reference source strings
Marek Safar [Mon, 5 Oct 2015 08:50:20 +0000 (10:50 +0200)]
[system.web] Expand reference source strings

8 years agoMerge pull request #2107 from kasthack/system.web.sr
Marek Safar [Mon, 5 Oct 2015 08:22:13 +0000 (10:22 +0200)]
Merge pull request #2107 from kasthack/system.web.sr

[System.Web] Generated SR class

8 years agoMerge pull request #2108 from kasthack/patch-1
Marek Safar [Mon, 5 Oct 2015 07:48:34 +0000 (09:48 +0200)]
Merge pull request #2108 from kasthack/patch-1

[System.ComponentModel.DataAnnotations] More resource strings

8 years ago[System.ComponentModel.DataAnnotations] More resource strings
kasthack [Sun, 4 Oct 2015 21:06:28 +0000 (00:06 +0300)]
[System.ComponentModel.DataAnnotations] More resource strings

8 years ago[docs] Update the man page. Remove dead env var, document a couple of GC options.
Rodrigo Kumpera [Fri, 2 Oct 2015 21:04:45 +0000 (17:04 -0400)]
[docs] Update the man page. Remove dead env var, document a couple of GC options.

8 years agoMerge pull request #2103 from xen2/calli_generic
João Matos [Fri, 2 Oct 2015 14:55:23 +0000 (15:55 +0100)]
Merge pull request #2103 from xen2/calli_generic

Inflate calli generic method signature even if not a wrapper

8 years agoInflate calli generic method signature even if not a wrapper
Virgile Bello [Fri, 2 Oct 2015 13:40:47 +0000 (22:40 +0900)]
Inflate calli generic method signature even if not a wrapper

8 years agoMerge pull request #1921 from mattzink/master
Miguel de Icaza [Thu, 1 Oct 2015 21:44:17 +0000 (17:44 -0400)]
Merge pull request #1921 from mattzink/master

Allow disabling the mono-find-provides/requires RPM processing scripts

8 years agoMerge pull request #2025 from sawachika-kenji/patch-1
Miguel de Icaza [Thu, 1 Oct 2015 21:43:20 +0000 (17:43 -0400)]
Merge pull request #2025 from sawachika-kenji/patch-1

Update FormsAuthentication.cs

8 years agoMerge pull request #2087 from joelmartinez/mdoc-membername-fixup
Miguel de Icaza [Thu, 1 Oct 2015 21:40:35 +0000 (17:40 -0400)]
Merge pull request #2087 from joelmartinez/mdoc-membername-fixup

[mdoc] Now rewriting incorrect `MemberName`.