When you write a method in Java and then compile it to dalvik, is it sure that all register that are in use will be the same on every binary i produce (on different machines for example but with the same compiler)?
So is it for sure that the register values are always applied in the same order?
There is no guarantee that dx will use a deterministic algorithm to choose the registers. I suspect that they would typically be the same, but you shouldn't depend on this.
In fact, you typically shouldn't need to think about dalvik registers at all, but I'll give you the benefit of the doubt.