I am working with a Java JIT compiler, particularly Jikes, and I was wondering what kinds of optimizations are available from this kind of compiler? I don't have any experience with these kinds of compilers, but do they do loop-unrolling and register renaming, or completely different methods?