Return empty result array when calling Task.WhenAllCore<T> with empty argument list. Fixes #15956
Added tests for Task.WhenAll w/ empty list
[jit] Remove references to unused llvm.invariant.start/end intrinsics.
Fix an NRE in System.Timers.Timer.Dispose ().

This would happen because _lock is nullified by the GC during
finalization. Dispose () calls Close () which sets the Enabled
property to false, which then attempts to lock on _lock.
Improve my previous change a bit.

Checking the `disposing` argument is cleaner.
System.CompomentModel.Component.cs: Make disposedEvent key static

There is no need for an instance of Component to create its own lookup key for the Disposed event. Use a shared static key instead.
Merge pull request #803 from Wolpertinger/patch-1

System.CompomentModel.Component.cs: Make disposedEvent key static
[jit] Add a simple loop invariant loop motion pass for use with LLVM, which moves loop invariant instructions out of loop headers into the preceeding bblock.
[llvm] Mark the load generated by OP_AOTCONST as invariant.
Do not justify the text
[llvm] Rename the MONO_INST_CONSTANT_LOAD flag to MONO_INST_INVARIANT_LOAD for consistency with LLVM.
[llvm] Update list of optimizations passed to 'opt'.
[llvm] Use i64*/i32* as the LLVM type of objrefs instead of i64/i32, the basicaa LLVM pass cannot see through the inttoptr casts we were emitting before loads.
[aot] Avoid emitting a 'methods' symbol using .set methods, clang's integrated assembler doesn't seem to support it.
[aot] Use clang as the assembler on osx.
[llvm] Add the strip-dead-prototypes pass to remove unused intrinsics definitions from the .bc file.
[aot] Use temp.bc/temp.opt.bc instead of temp.s.bc/temp.s.opt.bc as llvm temporary file names.
[aot] Clean up the linker invocation code a bit.
[aot] Remove -mattr=-avx flag to llc on amd64+osx, its no longer needed.
Socket ReceiveBufferSize & SendBufferSize set to random values.

Fixes :

https://bugzilla.xamarin.com/show_bug.cgi?id=16021
https://bugzilla.xamarin.com/show_bug.cgi?id=12754

Resolves:

http://lists.ximian.com/pipermail/mono-list/2013-June/050008.html

A reference to the variable bufsize, local to the else-if block was being passed to the function setsockopt hence
the properties ReceiveBufferSize & SendBufferSize were being set to garbage on the Socket class. This could and did have a SERIOUS performance hit on socket communication. It is not inconceivable that people would try to increase the
buffer sizes and inadvertently shrink them considerably with a consequence of drastically degrade performance.

Narinder Claire
narinder.claire <> gmail.com

Signed-off-by: Narinder CLAIRE <narinder.claire@uk.bnpparibas.com>