On the first page of the documentation for libjit is this:
“Only a very small proportion of the work is concerned with language specifics.”
For example, most normal operators in Perl 6 are just subroutines with a special name:
a + b == &infix:«+»(a,b)
put &infix:«+».candidates.elems; # 26
That is among the easiest of things to optimize in Perl 6.
I would also like to know if it is a JIT that profiles and compiles the optimized code on another thread like MoarVM does. Is there a plugin system that allows high level code to influence what code gets JIT compiled like MoarVM recently received?
I'm sure that for just about every other dynamic language libjit would be very suitable. It's just that I imagine it would quickly strain under the weight that is Perl 6.
(Perl 6 brings in many varied features from many languages, and combines them in a way that it feel like they have always belonged together.)