JSR y RET hacen que la verificación de bytecode sea mucho más difícil de lo que podría ser debido a la relajación de algunas restricciones de bytecode normales (como tener una forma de pila consistente al ingresar a un JSR). El lado positivo es muy pequeño (métodos potencialmente un poco más pequeños en algunos casos) y las dificultades continuas en el verificador que lidia con patrones JSR/RET impares (y posibles vulnerabilidades de seguridad, y el costo de tiempo de ejecución asociado de verificación completa) lo convierten en una característica no útil para seguir teniendo.
Los mapas de pila y el verificador de peso liviano que se habilita como resultado de los datos son una gran ganancia de rendimiento durante la carga de clases sin sacrificar la seguridad.
¿Quiere decir desaprobado por la JVM, o simplemente ya no lo usa el compilador de Java de Oracle? No pude encontrar un aviso de desaprobación en el JVMS 7 https://docs.oracle.com/javase/specs/jvms/se7/html/jvms-6.html#jvms-6.5.jsr –