[sdb] Implement support for DebuggerStepThrough attribute. Fixes #15139.
[jit] Clean up the tail call code a bit.
[jit] Remove OP_JMP implementation from the x86 backend, its not used there.
[jit] Add a comment.
[jit] Disable the optimization added by 63eb94e451a59491034516f2ec9f27d586b34d86 when using LLVM, the handler bblock has no in edges, which seems to cause problems when using LLVM.
Mark some corlib tests with the LLVMNotWorking category.
[jit] Add support for generating the push/pop the LMF from the LMF stack as IR instead of hand-written assembly code in the backends. Not yet used.
[jit] Get rid of the intermediate OP_..CALLVIRT opcodes, use the _MEMBASE opcodes instead.
Fix corlib tests with hard coded line numbers.
[jit] Reduce the number of #ifdefs in the JIT code by a little.
[build]Enable passing arguments to the extension module.

The build argument --enable-extension-module now takes a comma separated list
of arguments that are passed down. Passing no arguments triggers the old behavior.
[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.