1 / 13

Разработка JRE на ECMA CLI

Санкт – Петербургский Государственный Университет Математико – механический факультет. Разработка JRE на ECMA CLI. Ушаков Денис Сергеевич Кафедра системного программирования, группа 545 Научный руководитель: Салищев Сергей Игоревич Рецензент: Одинцов Игорь Олегович. 2008.

star
Download Presentation

Разработка JRE на ECMA CLI

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Санкт – Петербургский Государственный Университет Математико – механический факультет Разработка JRE на ECMA CLI Ушаков Денис Сергеевич Кафедра системного программирования, группа 545 Научный руководитель: Салищев Сергей Игоревич Рецензент: Одинцов Игорь Олегович 2008

  2. Актуальность проблемы: почему Managed in Managed • Виртуальная машина — наиболее крупный компонент среды исполнения • Высокая стоимость ошибки • Высокая изменчивость кода виртуальной машины • Требуются прогрессивные методы разработки, уменьшающие количество ошибок • Время разработки и стоимость владения кода для управляемых языков существенно меньше по сравнению с компилируемыми

  3. Актуальность проблемы: почему Java in ECMA CLI • Две успешные платформы управляемого исполнения общего прикладного назначения • Унификация платформ на базе одной из них уменьшает стоимость владения кода и увеличивает скорость проникновения инноваций • Платформа ECMA CLI является более предпочтительной для системного программирования

  4. Постановка задачи • Сформулировать требования к технологии для системного программирования • Провести сравнительный анализ JVM Specification и ECMA CLI • Разработать прототип JRE (на базе IKVM.NET и OpenJDK classlibraries)

  5. Управляемый код JNI Небезопасный код Компилируемый код Ассемблер целевой машины Результаты: Требования к технологии • Иерархический доступ к низкоуровневым средствам • Контроль типов на всех уровнях

  6. Результаты: Требования к технологии • Полная поддержка типов C • Сквозная оптимизация, в том числе низкоуровневых вставок • Типизированная аллокация на стеке

  7. Результаты:Несовместимости спецификаций • Наличие в Java SoftReference и PhantomReference • Различия реализации вычислений с плавающей точкой • Недетерминированная точность вычислений в ECMA CLI • Строгий режим вычислений в Java • Денормализация • NaN

  8. Результаты: Прототип • Интегрированы IKVM.NET и OpenJDK classlibraries • Устранены несовместимости спецификаций Java и ECMA CLI: • Реализованы SoftReference и PhantomReference • Реализована модель вычислений с плавающей точкой Java

  9. Примеры программ Scimark 2.0 Eclipse Europa

  10. Вопросы?

  11. Сравнение Managed in Managed • Java in Java • Jikes RVM • Moxie • JNode • Joeq • CLI in CLI • Singularity • Other • Squeak • Standard ML of New Jersey (STML/NJ)

  12. Hotspot JDK 1.0 Инновации в области виртуальных машин

  13. Преимущества ECMA CLI • Полная поддержка типов C • unsafeкод • Типизированная аллокация на стеке • Сквозной контроль типов • Сквозная оптимизация unsafeкода

More Related