[jit] Add some missing compare instructions which will make it easier to optimize inlined boolean expressions.
[jit]Add x86 support for the new compare instructions.
 [jit]Add amd64 support for the new compare instructions.
[jit] Cleanup a bit how we handle small structs.
Fix the mobile_static build.
[runtime] Fix warnings.
[runtime] Handle unaligned access in all interlocked icalls. Fixes #15925.
[runtime]Split thread unregistration in two steps, one with no locks, one with locks taken. Fixes #15916.

In order allow for arbitrary code in the profiler callback we must invoke it without
holding any runtime leaf lock - this happens quite frequently with sdb as it tries to
suspend the world on those callbacks.

So thread shutdown is now split in two phases, first one that does the no-locks part
where the thread remains suspendable afterwards and then onewith locks taken where we
do the final cleanup and final shutdown.
Reduce contention and unnecessary checks at each lookup, part of xambug #14644.
[linker] Allow accessing more MarkStep.Mark* methods from subclasses
[runtime] Fix stack size detection on osx mavericks. Fixes #15890.
[runtime] Fix the osx mavericks stack size calculation in sgen too.
Further reduce the chance of an NRE in WebConnection, ref: 55f400b6446024adef5dcc8cc690b6951af98125
[runtime] Preserve the call chain in mono_arch_setup_async_callback () on amd64 to prevent crashes in the libgcc unwinder (#15969).