As far as I understand JShell statements are wrapped in synthetic classes when the code snippet is evaluated the first time. This is documented in the JEP-222.
Can I conclude that excluding the first evaluation of the snippet (let's say a method definition and call) that triggers generation of synthetic class, methods and variables, the following calls (for instance calling the same method in a loop) to the same code snippet will perform as fast as normal java code and could even be compiled by the Java compiler at runtime if the snippet becomes "hot"