WikiDer > SableVM - Википедия

SableVM - Wikipedia
SableVM
SableVM Logo.png
Разработчики)Sable Research Group в г. Университет Макгилла
Окончательный релиз
1.13 / 30 марта 2007 г.; 13 лет назад (2007-03-30)
Репозиторий Отредактируйте это в Викиданных
Операционная системаКроссплатформенность
ТипВиртуальная машина Java
ЛицензияСтандартная общественная лицензия ограниченного применения GNU
Интернет сайтsablevm.org

SableVM был реализация чистой комнаты из Ява байт-код устный переводчик реализация Виртуальная машина Java (ВМ) спецификация, второе издание. SableVM была разработана как надежная, чрезвычайно портативная, эффективная и полностью соответствующая спецификациям (спецификация JVM, Собственный интерфейс Java, Интерфейс вызова, интерфейс отладки и т. Д.) Виртуальная машина Java, которую было бы легко поддерживать и расширять.[нужна цитата] Сейчас он больше не поддерживается.

Внедрение было частью попытки в начале 2000-х сломать Ява экосистема, свободная от Sun Microsystemsпод контролем.[1][2][3]

Обзор

Ядро двигателя - это устный переводчик который использовал новаторские методы для обеспечения производительности, приближающейся к "наивной" JIT-компилятор, сохраняя программная инженерия преимущества переводчиков: переносимость, ремонтопригодность и простота.[4][5] Эта простота делает SableVM исходный код очень доступный и простой для понимания для новых пользователей / программистов.

SableVM - это Бесплатно программное обеспечение - под лицензией GNU Стандартная общественная лицензия ограниченного применения (LGPL). Он также использует Путь к классам GNU (защищены авторским правом ФСПО) под лицензией Стандартная общественная лицензия GNU с исключением связи.

SableVM - первая Открытый исходный код виртуальная машина для Java, чтобы включить поддержку JVMDI (Интерфейс отладки виртуальной машины Java) и JDWP (Протокол Java Debug Wire Protocol).[нужна цитата] Эти стандартные интерфейсы отладки Java используются, например, Затмение чтобы предоставить богатую и удобную среду разработки Java.

Промежуточный язык Java

Некоторые версии SableVM используют Java Intermediate Language, промежуточный язык (который является подмножеством XML), представляющий структуру типов Ява программа. Язык был предложен командой SableVM в Университет Макгилла в январе 2002 г., чтобы помочь в анализе программы Java с целью масштабируемости и хорошей производительности.[6][7] Язык не получил широкого распространения.

Рассмотрим следующий фрагмент кода Java.

общественный Мой класс орудия МойИнтерфейс расширяет MySupperClass {  int MyField;  пустота MyMethod (двойной Икс, двойной у) {    двойной z;    z = Икс + у;    это.MyField = z  }}

Это произведение может быть выражено на языке следующим образом:

<jil><класс имя ="Мой класс" расширяется ="MySupperClass">  <модификаторы> <модификатор имя ="общественный" />  <интерфейсы> <интерфейс имя ="мой интерфейс" />      <fields>    <поле имя =«MyField» type ="int" />  </fields>  <methods>    <метод имя =«MyMethod» тип возврата ="пустота">    <parameters>      <параметр имя ="Икс" type ="двойной" />      <параметр имя ="у" type ="двойной" />    </parameters>    <locals>      <местный имя ="z" type ="двойной" />    </locals>    <statements>                 генератор кода как трехадресный код. Ниже           используется язык, называемый baf. ->      <baf>                  $ r2 = $ r0 + $ r1;          this.MyField = (двойной) $ r2;        ]]>        <!-- Here, we are assuming x is expressed as $r0, y $r1 and z $r2. -->      </baf>    </statements>    </method>  </methods></class></jil>

Смотрите также

Рекомендации

  1. ^ «Утвержденная Sun Java с открытым исходным кодом делает успехи». Спрашивающий. 2006-03-31. Получено 2012-12-02.
  2. ^ «Сеть O'Reilly получает удар; платформа SNAP получает удар». Onlamp.com. Получено 2012-12-02.
  3. ^ "Варвары у ворот | SYS-CON.TV". Tv.sys-con.com. 2006-09-22. Получено 2012-12-02.
  4. ^ Ганьон, Этьен М. и Лори Дж. Хендрен. «SableVM: исследовательская структура для эффективного выполнения байт-кода Java». Труды симпозиума по исследованиям и технологиям виртуальных машин Java. Vol. 1. 2001.
  5. ^ Прокопский, Грегори Б., Этьен М. Ганьон и Кристиан Аркан. Фреймворк для тестирования байт-кода для механизма копирования кода SableVM. Технический отчет SABLETR-2007-9, Исследовательская группа Sable, Школа компьютерных наук, Университет Макгилла, Монреаль, Квебек, Канада, 2007.
  6. ^ Eng, Дэвид. «JIL: расширяемый промежуточный язык». Исследовательская группа Sable, Университет Макгилла (2002).
  7. ^ Eng, Дэвид. Объединение статических и динамических данных в визуализации кода. Vol. 28. № 1. АКМ, 2002.

внешняя ссылка