A JVM impede as otimizações de chamada final?

Eu vi esta citação na pergunta:O que é uma boa linguagem funcional na qual construir um serviço da web?

O Scala, em particular, não suporta a eliminação do tail-call, exceto em funções auto-recursivas, o que limita os tipos de composição que você pode fazer (esta é uma limitação fundamental da JVM).

Isso é verdade? Em caso afirmativo, o que é sobre a JVM que cria essa limitação fundamental?