Do we need an interpreter or a fast code generating, zero optimizing JIT? I 
can think of advantages to each approach. Assuming a C/C++ implementation, a 
traditional interpreter is easy to port to a new architecture and we can 
populate Execution Engines (EE) for different platforms rather easily. On 
the other hand, a fast code-generating JIT can call runtime helpers and 
native methods without additional glue code whereas an interpreter has to 
have special glue code to make it work in a JIT environment. Needless to 
say, if a method is called more than once, the one time cost of JITing 
without optimization may be lower than the cost of running the interpreter 
loop.
Our experience is that a fast, zero optimizing JIT can yield low-enough 
response time. So, I think at least Harmony has the option of having a 
decent system without an interpreter. Thoughts?
 Steve Liao, Intel Managed Runtime Division

Reply via email to