Remi Forax forax at univ-mlv.fr
Sat May 2 16:47:42 UTC 2015

ping ?


On 04/13/2015 09:08 AM, Remi Forax wrote:
> Hi guys,
> I've written a simple AOT compiler [1] that takes a javascript file 
> and transform it to a .class file that can run with a very small 
> runtime. It uses the Nashorn Parser API and also Nashorn to bootstrap 
> itself (the AOT is written in JavaScript).
> While the runtime is fairly naive, everything is considered as an 
> java.lang.Object and JS Objects are hash maps (each field is accessed 
> through a double indirection), I've found that Nashorn was really slow 
> to run the AOT script (jsjs.js) compared to using jsjs to compile 
> itself, given that some Nashorn stacktraces seems to show 
> recompilation on top of recompilation on ... etc, I think there is a 
> bug that lies somewhere in the runtime of Nashorn.
> You can run Nashorn on jsjs.js that way:
> jjs -J-Xbootclasspath/p:lib/nashorn.jar -cp 
> classes:lib/asm-debug-all-5.0.3.jar jsjs.js -- jsjs.js
> and jsjs on jsjs.js that way:
> java -Xbootclasspath/p:lib/nashorn.jar -cp 
> .:classes:lib/asm-debug-all-5.0.3.jar jsjs jsjs.js
> cheers,
> Rémi
> [1] https://github.com/forax/jsjs

More information about the nashorn-dev mailing list