GT_JMP is an unfortunate node because it has implicit uses of all arguments, which requires a lot of special handling throughout the JIT (and causes bugs like #80731).
If we instead import jmp IL instructions as explicit tailcalls we should be able to get rid of this node and make the dependencies explicit. This would first require us to add fast tailcall support on x86 when the stack size of the caller and callee is the same. All other targets already have more general support for fast tailcalls.
GT_JMPis an unfortunate node because it has implicit uses of all arguments, which requires a lot of special handling throughout the JIT (and causes bugs like #80731).If we instead import
jmpIL instructions as explicit tailcalls we should be able to get rid of this node and make the dependencies explicit. This would first require us to add fast tailcall support on x86 when the stack size of the caller and callee is the same. All other targets already have more general support for fast tailcalls.