Ноя 20 2008

Adobe выпустила тестовую версию компилятора Alchemy

Рубрика: НовостиDiestro @ 18:19

Как пишут на OpenNews:

Компания Adobe выпустила тестовую версию компилятора alchemy, предназначенного для сборки программ, написанных на языках Си и Си++, в байткод AS3, пригодный для выполнения в виртуальной машине ActionScript Virtual Machine (AVM2). Результатом сборки является SWF или SWC файл, пригодный для выполнения в Flash Player 10 или Adobe AIR 1.5. Разработка базируется на использовании открытого компилятора LLVM (Low Level Virtual Machine).

Основная цель проекта alchemy – разработка на языке Си/Си++ универсальных библиотек функций, с реализацией требующих интенсивных вычислений операций, таких как кодирование аудио/видео, преобразование данных, парсинг XML, криптографические операции, симулирование физических процессов. При написании таких библиотек на языке Си/Си++ производительность, при выполнении в виртуальной машине AVM2 будет значительно выше, чем при их реализации на ActionScript 3.0, но все же в 2-10 раз медленнее чем при станратной компиляции в машинный код.

Для работы программ доступен POSIX совместимый API, а также специальная мультимедийная библиотека, предоставляющая интерфейс к функциям технологии Flash. Для прямого доступа к памяти из Си программ, был разработан специальный режим эмуляции, осуществляющий маппинг блоков памяти внутри VM, немного замедляющий работу программ. Исходные тексты новой системы планируется представить под одной из открытых лицензий. В настоящее время представлены только бинарные сборки alchemy для Linux, Mac OS X и Windows.

Принцип работы компилятора:

  • При помощи LLVM, Си программа преобразуется в набор инструкций для абстрактной виртуальной машины;
  • LLVM инструкции преобразуются в объектный код, специфичный для виртуальной машины, выполняющей ActionScript;
  • ActionScript автоматически компилируется в байткод пригодный для запуска в Adobe Flash. Байткод в дальнейшем может быть преобразован в машинные инструкции при помощи JIT-компилятора из состава проекта Tamarin.

Первый раз технология была представлена в прошлом году на выставке MAX 2007, тогда специалисты из Adobe продемонстрировали выполнения игры Quake в окне браузера. Позднее для выполнения в виртуальной машине Flash удалось адаптировать интерпретаторы языков программирования Python, Lua, Ruby,Perl и эмулятор платформы Nintendo.

Здесь документация.

API здесь

3 комментария »

  1. Комментарий от Constantiner — 21 ноября 2008 @ 0:13

    Позднее для выполнения в виртуальной машине Flash удалось адаптировать интерпретаторы языков программирования Python, Lua, Ruby,Perl

    А откуда дровишки?

  2. Комментарий от Diestro — 21 ноября 2008 @ 13:07

    Ну вот тут в частности пишут

  3. Комментарий от Constantiner — 21 ноября 2008 @ 13:45

    Спасибо за ссылку!

RSS лента комментариев к этой записи. TrackBack URL

Оставить комментарий

Comment Spam Protection by WP-SpamFree