[runtime] Avoid joining attached threads. Fixes #19343.
Fix formatting specifiers for some size_t arguments.
Add suggested parentheses to RHS of ^ operator.
Fix a bunch of warnings caused by unused functions.
Silence a bunch of unused result warnings in proflog.c.
Fix volatile pointer casts in proflog.c.
Silence some warnings in decode.c.
Fix a ton of printf formatting warnings in decode.c.
Use G_GNUC_UNUSED instead of commenting out variable declarations.

The previous approach resulted in mixed decls/stmts warnings.
Fix printf formatting warnings in mono-counters.c.
[delegate] Add invoke implementation for delegate to virtual methods
[delegate] Add delegate info cache struct and hash tables in MonoJitDomainInfo
[delegate] Add functions to create cached delegate trampoline informations
[delegate] Add generics support for new cached delegate information
[delegate] Update cache when going through mono_delegate_trampoline

This allow the next delegates with the same class and method as a previous delegate to not go through mono_delegate_trampoline, which is slow. This allow huge speedups in cases where we create the delegate in a loop for example.
[delegate] Use cache information at JIT time
[delegate] Edit AOT target to return the delegate cache information

Previously, only invoke_impl was returned as the target.
[delegate] Add optimisation for delegates to virtual methods
[delegate] Fallback to slow path if there was an error while creating the delegate trampoline
[delegate] Remove unused create_delegate_trampoline_data function