2011-06-12 11 views
22

Como una prueba de concepto, me gustaría obtener un navegador para poder ejecutar LLVM IR. La idea básica sería que cualquier lenguaje con un compilador LLVM, podría funcionar como un ciudadano de primera clase en la red. (Por eso no quiero ir a la ruta LLVM IR -> JS para nada que no sea un "repliegue")Cómo reemplazar el motor de JavaScript del navegador con LLVM?

El código LLVM debe ser capaz de realizar todas las mismas funciones (por ejemplo, DOM) con las mismas restricciones . Estoy buscando indicadores para comenzar, donde el mejor lugar para bucear es (tengo experiencia C/C++) y cuál será el navegador más fácil de extender.

Idealmente Busco algo muy modular, por lo que este es sólo otro "motor de scripting", como es el javascript, al igual que otras cualesquiera futuras (por ejemplo pitón directa uno)

Muchas gracias

+3

Tenga en cuenta que LLVM IR no es independiente de la plataforma en absoluto. –

+0

¿Algún avance en esto? parece interesante, ya que PoC emscripten parece ser una buena opción. –

+0

De hecho me gusta su idea, pero creo que preguntar "cómo" es una manera incorrecta. Si alguien supiera cómo hacerlo, lo habrían hecho o publicado sus diseños. Si desea hacer esto, necesita investigar un poco, y cuando surge un problema técnico que no sabe cómo resolver, entonces venga y pregunte. – Kos

Respuesta

3

Emscripten es un backend de LLVM dirigido a asm.js, que puede ejecutarse en todos los navegadores principales. El proyecto data de 2010. Esto traduce el IR en asm.js para usted. Lo ideal sería que pueda expandir el proyecto para admitir idiomas adicionales en lugar de solo C/C++; ya sea eso o como una plataforma de lanzamiento para poner los otros componentes en su lugar antes de escribir sus enlaces para el entorno de ejecución contra las interfaces del navegador que desee.

asm.js se ha utilizado para ejecutar el motor Unreal, junto con la portabilidad de DosBox para los archivos de juego de Archive.org.

Cuestiones relacionadas