ПП
Это имплементировано не им. Это промежуточная форма представления вызова конструкторов и паттерн-матчинга, которая превращается в по сути простой джамп, если конструирующий код инлайнится в матчащий.
JIT мог бы делать аналогичную оптимизацию, если бы подозревал о существовании таких вещей как "sealed abstract class/interface", и "match coexpression"
Я ссылаюсь на https://ghc.haskell.org/trac/ghc/wiki/SequentCore
2) Первая же ссылка с этой страницы (compiling without continuations) ведёт на его (с соавторами) статью, в которой эти самые join points определяются.
3) Вводится фича в компиляторный IR, который, как я уже сказал, ориентирован на ленивые языки (т.е. хаскель) и 1-в-1 не применим к JVM/Java/Scala.