New Project: Nashorn – Lightweight High-Performance JavaScript Runtime in Java
mail.openjdk.java.net
mail.openjdk.java.net
If you're interested in InvokeDynamic, perhaps you'll check out the slides on a talk I gave about it:
https://speakerdeck.com/tarcieri/invokedynamic-your-guide-to...
The talk one of the team members gave [1] on invokeDynamic and their under-the-hood Dynalink [2] library was pretty interesting.
Links to all the Nashorn sessions at JavaOne are available on their blog [3].
[1] https://oracleus.activeevents.com/connect/sessionDetail.ww?S...
[2] http://szegedi.github.com/dynalink/
[3] https://blogs.oracle.com/nashorn/entry/welcome_to_the_nashor...
And according to Wikipedia: The word rhinoceros is derived through Latin from the Ancient Greek: ῥῑνόκερως, which is composed of ῥῑνο- (rhino-, "nose") and κέρας (keras, "horn").
Unicorn is "Jednorożec" which means "[with] one horn".
(I believe I got the above information from the MP4 of the JavaOne presentation that can be found here: https://oracleus.activeevents.com/connect/sessionDetail.ww?S...)
I'm using it to port dieter (clojure asset pipeline we to serve https://circleci.com [https://github.com/edgecase/dieter ]) from Rhino to Dieter. Our current 100s asset compiles are unbearable, and are only about 4s with V8.
I'm interested in how this will stack up to Rhino over the long term not just in performance but especially in ease of use.
Rhino is ridiculously easy to use and the "javaToJs" method(s) are wonderful.
Can anybody shed light on any over newer JVM features these guys are planning on utilizing (and why)?
Can somebody please explain what a "native" JVM is?
It is a bit misleading as there is still a lot that would have to be be emulated - the JVM does not support open types and the Java is centered around classes, which makes prototype mutation hard to implement efficiently ( InvokeDynamic somewhat helps, but would still impose a performance penalty when the prototype is changed).
See also John Rose's article about species: https://blogs.oracle.com/jrose/entry/larval_objects_in_the_v...
More info: http://en.wikipedia.org/wiki/Nashorn_(JavaScript_engine)
Had a try and it seems promising. The only drawback I see is that there are still bugs, and the owner is the sole developer for the project, and he seem to have plenty of other projects going on...
To have real good traction it must be easy to develop the nodejs standard library on it. If this happens, well, it would be pretty awesome. How are they going to manage the async structure for calls to other JVM compatible languages?