I tried to understand the register allocation algorithm used in Dalvik JIT compiler, it looks it's not using the linear scanning register allocation as in Java SE Embedded Client JIT, as Dalvik bytecode is already register based (albeit virtual register based?), while the Java bytecode is stack-based. The source code said simple local register allocation, and it's done at the MIR level, wondering what the local register allocation algorithm is used.
--
You received this message because you are subscribed to the Google Groups "android-platform" group.
To unsubscribe from this group and stop receiving emails from it, send an email to android-platfo...@googlegroups.com.
To post to this group, send email to android-...@googlegroups.com.
Visit this group at http://groups.google.com/group/android-platform?hl=en.
For more options, visit https://groups.google.com/groups/opt_out.
backing to 2.3, when dalvik first introduced jit compiler, there was a linear scan ra. the code was there but was not on. it seems that the performance was not good in google 's evaluation.
i don't think performance is the primary consideration for dalvik, given the fact that arm cortex processors are so powerful now. actually, i think dx generates bad code from bytecode to dex.
--lx