Compilar Java para asm.js
(2)
asm.js está llegando. Ahora incluso hay rumores de que Chrome pronto lo apoyará completamente.
Pero hasta ahora se ha utilizado para compilar la fuente de C / C ++ en JavaScript que se ejecutaría con una velocidad cercana a la nativa (depende de cómo se defina cerca de la nativa ...)
He estado planeando usar GWT para convertir mi código Java a JavaScript, pero ahora me preguntaba si actualmente existe una ruta / procedimiento para compilar el código fuente Java simple para ASM.JS, ¿y cuál sería?
¡Una razón más por la que uno podría querer eso: Java-to-ASM.js podría ejecutarse más rápido que Java-to-Dalvik en algún teléfono Android!
No solo el recolector de basura, sino la máquina virtual Java está escrita en C / C ++, asm.js comenta sobre la posibilidad de compilar "máquinas virtuales completas de C / C ++ a JavaScript e implementar JIT que emitan JavaScript".
En este momento (junio de 2015) esta posibilidad está lejos de ser real, así que apégate a GWT (no lo recomendaría) si te apetece.
asm.js (actualmente) está diseñado como un destino para idiomas que administran manualmente la asignación y el lanzamiento de memoria, como C / C ++. Actualmente no puede manejar idiomas con semántica de recolección de basura, por tonto que parezca, dado que es JavaScript, que es un tiempo de ejecución de recolección de basura.
Si realmente quería recorrer todo el camino, pase el código Java a través de j2c y luego pase esa salida de C ++ a través de emscripten que se compilará a asm.js.
Otra posibilidad sería pasar el código Java a través del compilador LLVM usando el VMKit y pasarlo a través del backend emscripten asm.js llvm ...