ฉันสงสัยว่าเหตุใด Sun จึงตัดสินใจสร้าง JVM stack-based และ Google ตัดสินใจที่จะสร้าง DalvikVM register
ฉันคิดว่า JVM ไม่สามารถสันนิษฐานได้จริงๆว่ามีการลงทะเบียนจำนวนหนึ่งบนแพลตฟอร์มเป้าหมายเนื่องจากควรเป็นแพลตฟอร์มที่ไม่ขึ้นกับ ดังนั้นจึงเลื่อนการจัดสรรการลงทะเบียน ฯลฯ ไปยังคอมไพเลอร์ JIT (ช่วยแก้ให้ด้วยนะถ้าฉันผิด.)
พวกแอนดรอยด์ก็เลยคิดว่า "เฮ้มันไม่มีประสิทธิภาพไปขอ register ตาม vm ทันที ... "? แต่เดี๋ยวก่อนมีอุปกรณ์ Android ที่แตกต่างกันจำนวนการลงทะเบียนที่ Dalvik กำหนดเป้าหมาย? Dalvik opcodes ฮาร์ดโค้ดสำหรับการลงทะเบียนจำนวนหนึ่งหรือไม่
อุปกรณ์ Android ปัจจุบันทั้งหมดในตลาดมีจำนวนการลงทะเบียนเท่ากันหรือไม่? หรือมีการจัดสรรรีจิสเตอร์ซ้ำระหว่างการโหลด dex หรือไม่ ทั้งหมดนี้เข้ากันได้อย่างไร?