CFV: New Project: Nashorn

John Coomes John.Coomes at oracle.com
Wed Nov 21 15:58:11 PST 2012


I hereby propose the creation of the Nashorn Project with Jim Laskey
as the Lead and HotSpot group as the sponsoring Group.

In accordance with the OpenJDK guidelines [1], we would like to start
a new project to implement a lightweight high-performance JavaScript
runtime in Java with a native JVM.  This project intends to enable
Java developers to embed JavaScript in Java applications via JSR-223
[2] and to develop free standing JavaScript applications using the
jrunscript command line tool [2].

This project is designed to take full advantage of newer technologies
in a native JVM, made since the original development of JVM based
JavaScript started in 1997 by Netscape [3] and maintained by
Mozilla [4]. This project will be an entirely new code base, focused 
on these newer technologies. In particular the project will utilize
the MethodHandles and InvokeDynamic APIs described in JSR-292 [5].
The goal is to provide a lightweight high performance JavaScript
on a native JVM.

The scope of this project will include, but is not limited to, a
parser API for scanning JavaScript source code, a compiler to convert
ASTs from the parser to JVM byte code, and a runtime to support the
execution of said generated byte code.  Execution of JavaScript in
this environment will be in conformance with ECMA-262 Edition 5.1 [6]
and will adapt to newer guidelines as standards evolve.

The initial source of this project will come from an Oracle internal
project, which will wholly migrate to the OpenJDK repositories.  This
source base fully passes (100%) ECMAScript test262.  The current
status of this project is that further work needs to be done on
performance and hardening before it can be considered ready for
general use.

To ensure the broadest possible collaboration between potential
contributors the project will maintain one or more new OpenJDK code
repositories and a developers' mailing list.

The HotSpot group[7] will sponsor this project. Jim Laskey will be
the initial Lead; the initial Committers and Authors are still being
determined. (Reviewers are not needed as the project will not require
formal change review.)

Jim Laskey is the Multi-language lead at Oracle.  He has been developing
compilers and runtimes since the mid 1970s; contributor to APLUM (CDC) and
Pascal 2 (CDC), chief architect of the Prograph [8] programming language,
developer on Symantec's [9] Java symcjit.dll, ported Hotspot to 
PowerPC at Apple, developer on LLVM [10] at Apple [11], Hotspot engineer at
Azul [12] and developer on the JavaFX script [13] compiler at Oracle [14].

Votes are due by midnight December 6, 2012 UTC [15].

Only current OpenJDK Members [16] are eligible to vote on this motion.
Votes must be cast in the open by replying to this mailing list.

For Lazy Consensus voting instructions, see [17].

Regards,

Jim Laskey
John Coomes, OpenJDK HotSpot Group Lead

[1]http://openjdk.java.net/projects/#new-project
[2] http://www.jcp.org/en/jsr/detail?id=223
[3] http://en.wikipedia.org/wiki/Rhino_(JavaScript_engine)
[4] https://developer.mozilla.org/en-US/docs/Rhino
[5] http://www.jcp.org/en/jsr/detail?id=292
[6] http://www.ecma-international.org/publications/standards/Ecma-262.htm
[7]http://openjdk.java.net/census#hotspot
[8] http://en.wikipedia.org/wiki/Prograph
[9] http://www.symantec.com/index.jsp
[10] http://llvm.org
[11] http://www.apple.com
[12] http://www.azulsystems.com
[13] http://docs.oracle.com/javafx/1.3/tutorials/core/
[14] http://www.oracle.com/index.html
[15] http://www.timeanddate.com/worldclock/fixedtime.html?msg=CFV%3A+New+Project%3A+Nashorn&iso=20121206T00
[16] http://openjdk.java.net/census#members
[17] http://openjdk.java.net/projects/#new-project-vote


More information about the announce mailing list