[x86] Reenable the no pushes code.
[x86] Fix the build.
Revert "[x86] Reenable the no pushes code."

This reverts commit 5093efd55883e8a8a093fdb43d938d7b9dde7a4e.

Revert this as it still breaks the build.
Revert "Disable `perf` support in the profiler when running on Android (for now)."

This reverts commit 8e35b7d01e14371851a806dad6196b36d9163c91.

The fallback implementation (as used on other platforms) appears to hang
the runtime. Having a maybe-working `perf`-backed sample profiler is better
than a not-working sample profiler.
Remove the architecture conditions for using `perf` in the log profiler.

We now use generic atomics which work on all platforms, so there's
no reason to keep this constraint here. This allows the `perf`-backed
profiler to be used on mips, ppc, s390x, etc.
Remove unnecessary MPH_INTERNAL applied to a function definition.

This should be applied to prototypes, and it already is for
this function (in mph.h).
Identities not being set in ClaimsPrincipal Ctor

Class' identities member is not set in constructor ClaimsPrincipal
(IEnumerable<ClaimsIdentity> identities)
Merge pull request #1094 from LRFalk01/master

Identities not being set in ClaimsPrincipal Ctor
Add build system plumbing for building with -Werror.
Attempt to sanitize the `vasprintf` situation in eglib.

The problem is that on some platforms we call the function
without having provided a prototype for it. This breaks when
building with `-Werror`.

Now we declare it in the private `vasprintf.h` header when
the platform doesn't have a declaration in `stdio.h`. This
should also let us remove the hack in `glib.h` for MSVC.

This may or may not break the build on some platforms; I've
tried on those that I have access to with success. Let me
know if this breaks anything.
[sys.xaml] fix TypeId and get broken WindowsBase tests pass.
Changed mono_win_chained_exception_needs_run to be a JIT TLS variable.

This fixes a potential race condition that might happen if two threads try to handle an exception at the same time.
Fix mono exception handler crashing on windows.

Here's the scenario that causes the crash:

Exception is fired, which invokes mono's vectored exception handler. It
is not an exception mono recognizes, so falls through to the default:
case in the exception handler. The problem is the return value has been
initialized to EXCEPTION_CONTINUE_EXECUTION. This causes SEH not to
process any other handlers, and just attempt to continue execution at
the point the exception was thrown.

The problem is much of windows internals will catch various exceptions
internally and handle them. So instead of the exception being handled,
we would just crash in the bowels of windows.

The solution is to set mono_win_chained_exception_needs_run to TRUE in
the default case - this is what the various exception handlers do if the
exception is not in JIT'd code. This causes the handler to return
EXCEPTION_CONTINUE_SEARCH, which causes SEH to search for the next
handler, and no crash is produced.

Both x86 and x64 had this bug, so I fixed it in both places.

Fix contributed by Steve Anichini.
[Mono.Debugger.Soft] minor code cleanup
[Http]: Only recycle ServicePoints from the idle timer (fixes #19823).

Thanks a lot for Martin Potter to find and report the race condition
which was causing the problem.

ServicePointManager.RecycleServicePoints() was a left-over from the
old times when we didn't have an idle-timer based approach.
[windows] Return early in the vectored exception handler if the thread is not managed by the runtime.
[Mono.Debugger.Soft] Improved ILInterpreter to eval properties that return a primitive constant
[System.Net.Http]: Always add "Content-Length" in HttpClientHandler.SendAsync().

This has been reported on the forums:
http://forums.xamarin.com/discussion/17770/length-required-error-in-http-post-since-latest-release
[Http]: Fix digest authentication (bug #18799).

We did not correctly parse key-value pairs without quotes in the
challenge.
[mcs] Implement rethrow support in awaited catch clause