>>>>> "KF" == Ken Fox <[EMAIL PROTECTED]> writes:
KF> JITs help when the VM is focused on lots of small instructions KF> with well-known, static semantics. Perl's use of Parrot is going KF> to be focused almost completely on PMC vtable ops. A JIT has KF> no advantage over a threaded interpreter. there is also TIL code which is a way to remove the dispatch loop and make that happen as in line machine code. we generate machine code calls to each op instead of the op code loop calling them. the calls will still be made through vtables but the overhead of the dispatcher will be gone. if the vtable code is of decent speed, a TIL system could get nice results. maybe some of the vtable access and handling could also be optimized at machine level as well. a full JIT would require the same info that dan says we won't have for the optimizer. you have to guarantee that none of those sneaky and powerful backdoor tricks (like string eval, tying, %MY::, etc) are being done before you can generate pure machine code. that is one major win and loss with highly dynamic languages like perl - runtime and compile time can affect each other so much. uri -- Uri Guttman ------ [EMAIL PROTECTED] -------- http://www.stemsystems.com -- Stem is an Open Source Network Development Toolkit and Application Suite - ----- Stem and Perl Development, Systems Architecture, Design and Coding ---- Search or Offer Perl Jobs ---------------------------- http://jobs.perl.org