Для исполнения программ, написанных на языке программирования Java, требуется поддержка времени исполнения в виде оптимизирующего компилятора байт-кода. Цель данной работы — создание Java-машины для программно-аппаратной платформы «Эльбрус».
Основные параметры разрабатываемой Java-машины:
№ п/п |
Наименование параметра |
Значение |
1 |
Версия стандарта виртуальной Джава-машины |
6,0 |
2 |
Версия стандарта библиотеки классов Джава |
6,0 |
3 |
Версия формата класс-файлов Джава |
50,0 |
4 |
Поддержка стандартных инструментов и протоколов для сборки, отладки и мониторинга Джава-приложений |
jar, компилятор javac, javadoc, javah, javap, rmic, jvmti |
Должна быть реализована поддержка:
- режима исполнения байт-кода в режиме интерпретации;
- режима исполнения байт-кода в режиме компиляции в машинный код;
- системы профилировки и автоматического переключения из режима интерпретации в режим компиляции для наиболее “горячих” методов;
- системы автоматической очистки памяти: сборщик мусора;
- многопоточного исполнения Javа-программ посредством эффективного использования возможностей вычислительный комплекс с параллельной архитектурой;
- верификации безопасности исполнения байт-кодов;
- связи с С/C++ приложениями посредством реализации протокола JNI.
Проверка Java-машины на соответствие стандарту языка Java будет выполняться на пакете тестов «Комплект тестов на совместимость с Java» (Java Compatibility Kit) фирмы Oracle. Проверка эффективности реализации будет выполняться на пакете SPECjvm2008 и с помощью среды разработки Eclipse.
Разработка завершена в 2013 году, ведётся дальнейшее развитие технологии.