Smalltalk has them, and its JIT research eventually became Hotspot.
Anything can change at any time in Smalltalk.
Anything can change at any time in Smalltalk.
ifFalse: alternativeBlock
"Answer the value of alternativeBlock. Execution does not actually
reach here because the expression is compiled in-line."
^alternativeBlock value ~
"Creating blocks in Smalltalk has always been a potential source of performance problems. … In Resilient, we have restricted blocks to be last
in-first-out (LIFO)…"https://blog.bracha.org/resilient-paper.pdf
~
"Digitalk’s Team/V unobtrusively introduced a non-reflective syntax…"But you’re not wrong in general. Even for Python there’s PyPy, with a JIT ~3x faster than CPython.
Also to note that even in that regard, Java happens to be more dynamic that people think, while the syntax is C++ like, the platform semantics are more akin to Smalltalk/Objective-C, hence why a JIT with such a background was a great addition.
There is enough stuff to fill at least one semester.