although i'm not that fit in processor-design, i think it's not possible to do cool code optimizations executed in hardware. if you compare it with the possibilities java-jit has. it's not just code-morphing:
parallelization,
experimental-code-morphing (trying different possibilities)
total destruction/inlining of functions/the OO-design and reconstruction in native code (similar extreme to an white-paper of MIT: "burning c code into silicon")
somebody knows what kind of optimizations existing jit's do? i've no time to study kaffe src-code...
i could imagine, that something like java-bytecode will become the bin of the future and half-intelligent vm's would transform it with hardwaresupport to the current cpu's native code/"codes", because future cpu's will be dpu's (distributed pu).
one could also imagine, to let a intelligent vm compile the code for special cases (functions for special parameters, that often appear) and in worst case, (if the assumpted parameters do not fit) just has to interpret the original code...
too much imagination to stay alive... but i'm also nothing.
- parallelization,
- experimental-code-morphing (trying different possibilities)
- total destruction/inlining of functions/the OO-design and reconstruction in native code (similar extreme to an white-paper of MIT: "burning c code into silicon")
somebody knows what kind of optimizations existing jit's do? i've no time to study kaffe src-code...i could imagine, that something like java-bytecode will become the bin of the future and half-intelligent vm's would transform it with hardwaresupport to the current cpu's native code/"codes", because future cpu's will be dpu's (distributed pu).
one could also imagine, to let a intelligent vm compile the code for special cases (functions for special parameters, that often appear) and in worst case, (if the assumpted parameters do not fit) just has to interpret the original code...
too much imagination to stay alive... but i'm also nothing.