From james.laskey at oracle.com Wed Jan 31 16:38:33 2018 From: james.laskey at oracle.com (Jim Laskey) Date: Wed, 31 Jan 2018 12:38:33 -0400 Subject: CFV: New Project: Detroit Message-ID: <682C4141-D48C-469B-BE0A-BBB1D803EE81@oracle.com> I hereby propose the creation of the Detroit Project with Hannes Walln?fer as the Lead and the Compiler Group as the sponsoring Group. In accordance with the OpenJDK guidelines [1], this project will provide the home for the development of a native implementation of the javax.script package based on the Chrome V8 JavaScript engine [2]. Our starting point is the prototype presented by James Laskey at JVMLS 2017 [3]. The resulting implementation will contain V8 itself together with the necessary Java and JavaScript bindings. When loaded by a JVM process it provides a new javax.script.ScriptEngine [4] called "V8" that allows loading and execution of JavaScript code via V8. We also want to support a significant subset of the JavaScript extensions implemented in Nashorn [5], including accessing, instantiating, and extending or implementing Java types from JavaScript. The initially targeted platforms are Linux and Mac OS X. V8 sources are acquired by build processes. We do not plan to modify the V8 sources in any way. Thus, maintenance and updating to new upstream releases will be straightforward. While the initial implementation will be based on JNI, the project could act as a platform for new technologies developed in Project Panama [6] in the future. The initial list of reviewers and committers will be based on the current reviewers and committers of the Nashorn team: James Laskey (reviewer) Sundararajan Athijegannathan (reviewer) Hannes Walln?fer (reviewer) Srinivas Dama (committer) Priya Lakshmi Muthuswamy (committer) Votes are due by the end of Wednesday, February 7, 2018. Only current OpenJDK Members [7] are eligible to vote on this motion. Votes must be cast in the open on the discuss list. Replying to this message is sufficient if your mail program honors the Reply-To header. For Lazy Consensus voting instructions, see [8]. Jim Laskey [1] http://openjdk.java.net/projects/#new-project [2] https://developers.google.com/v8/ [3] https://www.youtube.com/watch?v=-JLhwsbMvjQ [4] https://docs.oracle.com/javase/9/docs/api/javax/script/package-summary.html [5] https://wiki.openjdk.java.net/display/Nashorn/Nashorn+extensions [6] http://openjdk.java.net/projects/panama/ [7] http://openjdk.java.net/census#members [8] http://openjdk.java.net/projects/#new-project-vote