Tôi tò mò, tại sao Sun lại quyết định tạo JVM dựa trên ngăn xếp và Google quyết định làm dựa trên đăng ký DalvikVM?
Tôi cho rằng JVM không thể thực sự cho rằng một số lượng đăng ký nhất định có sẵn trên nền tảng đích, vì nó được cho là độc lập với nền tảng. Vì vậy, nó chỉ trì hoãn việc phân bổ đăng ký, v.v., cho trình biên dịch JIT. (Hãy sửa cho tôi nếu tôi sai.)
Vì vậy, các chàng trai Android nghĩ, "này, điều đó không hiệu quả, chúng ta hãy đăng ký dựa trên vm ngay lập tức ..."? Nhưng khoan đã, có nhiều thiết bị Android khác nhau, Dalvik đã nhắm mục tiêu vào số lượng đăng ký nào? Các mã opcodes Dalvik có được mã hóa cứng cho một số lượng đăng ký nhất định không?
Có phải tất cả các thiết bị Android hiện tại trên thị trường đều có cùng số lượng đăng ký không? Hoặc, có sự phân bổ lại thanh ghi được thực hiện trong quá trình tải dex không? Làm thế nào để tất cả những điều này phù hợp với nhau?