Какая прелесть. ARM
тихой сапой добавил явовские байткоды в качестве еще одной ISA. (у них уже и так было две) Поскольку ARM просто везде, можно с уверенностью говорить, что никакой Явовской виртуальной машины вне пределов совсем "взрослых" писюков и рабочих станций уже нет - нелепая архитектура явовской машины канонизорована "в железе"! Фу
(
Read more... )
Comments 95
Тем не менее, "байт код" - весьма практичное разделение абстракций, а с AST - сложнее, сильнее завязка на свойства конкретного языка. С типа "байт кодом" (под названием IL) в Майкрософте в .NET компилируют массу всякой всячины (недавняя новость - F#, являющийся скрещенеим OCaml и .NET, решили продуктизовать). С AST ни фига подобного не вышло бы.
Reply
Reply
во-во, тут и начинается интересное: "данная исполнительная система выполняет AST языка А версии 3.1, AST языка Б версии 0.4, AST языка В версии... и вот такие вот их смеси, а других языков не знает в принципе" - и чем это сильно лучше набора интерпретаторов просто исходников (ну хорошо, зазипованных исходников, для компактности)? Разжевать исходник в специфический для данного языка AST - не такой уж большой труд. Вот задизайнить хороший стандарт AST, чтобы был практичный (работал для нескольких языков / версий) и долгоживущий - это труд. Я не слышал, чтобы существовали практичные (не академические, сколько-нибудь индустриальные) реализации на базе AST. Наверно, сильно глупые инженеры, да?
Reply
Reply
Reply
Reply
Every Android application runs in its own process, with its own instance of the Dalvik virtual machine. Dalvik has been written so that a device can run multiple VMs efficiently. The Dalvik VM executes files in the Dalvik Executable (.dex) format which is optimized for minimal memory footprint. The VM is register-based, and runs classes compiled by a Java language compiler that have been transformed into the .dex format by the included "dx" tool.
Reply
Reply
Reply
Reply
(The comment has been removed)
Reply
JITу сложные адресации не нужны. Он переводит стековый код в нормальный трехадресный, а потом его компилирует.
Аппаратная Java хороша для систем с маленькой памятью. Каковыми являются все встраиваемые системы :-).
Reply
Reply
Reply
Reply
Leave a comment