Регистры, на которые ссылается байт-код dalvik, вовсе не являются машинными регистрами, а фактически являются расположениями в стеке вызовов.Всякий раз, когда вы вызываете метод, dalvik выделяет достаточно памяти в кадре стека этого метода для хранения всех регистров, в которых нуждается этот метод.
Обратите внимание, что не все вычисления немедленно изменят значение в стеке, очевидно, что vmзагрузить значения в машинный регистр для выполнения расчетов.Результаты могут быть сохранены в машинном регистре для последующего использования без немедленной записи их обратно в соответствующее местоположение стека по усмотрению ВМ.Значения будут сброшены обратно в стек вызовов, если и когда это необходимо (т. Е. Когда вы вызываете в другой метод, используете различные конструкции синхронизации или ему нужен регистр для другого вычисления и т. Д.).