Pourquoi la JVM de pile, et le Dalvik VM en fonction de registre?

Je suis curieux, pourquoi avez-Soleil décider de faire la JVM de pile, et Google décide de faire le DalvikVM en fonction de registre?

Je suppose que la JVM ne peut pas vraiment supposer qu'un certain nombre de registres sont disponibles sur la plate-forme cible, puisqu'il est censé être indépendant de la plateforme. À cet effet, il juste reporte le registre d'allocation, etc, pour le compilateur JIT. (Corrigez-moi si je me trompe.)

Si l'Android les gars, dit, "hey, c'est inefficace, let's go pour un registre vm tout de suite..."? Mais attendez, il y a plusieurs différents appareils android, quel est le nombre de registres ne le Dalvik cible? Sont le Dalvik opcodes codé en dur pour un certain nombre de registres?

Faire tous les appareils Android sur le marché ont environ le même nombre de registres? Ou, est-il un registre de ré-allocation effectuée pendant dex-chargement? Comment tout cela s'articulent?

  • Est que la décision de Google de faire de la DalvikVM en fonction de registre? Je pense que DalvikVM a été mis en œuvre avant que Google a racheté la Android Inc.
  • Vous avez raison, bien sûr. (Pas très pertinent pour la question de bien 😉
InformationsquelleAutor aioobe | 2010-04-27