--- old/./README 2017-01-03 19:48:03.000000000 +0530 +++ new/./README 2017-01-03 19:48:03.000000000 +0530 @@ -24,33 +24,33 @@ You can clone Nashorn Mercurial forest using this command: - hg fclone http://hg.openjdk.java.net/nashorn/jdk8 nashorn~jdk8 + hg fclone http://hg.openjdk.java.net/nashorn/jdk9 nashorn~jdk9 To update your copy of the forest (fwith the latest code: - (cd nashorn~jdk8 ; hg fpull) + (cd nashorn~jdk9 ; hg fpull) Or just the nashorn subdirectory with - (cd nashorn~jdk8/nashorn ; hg pull -u) + (cd nashorn~jdk9/nashorn ; hg pull -u) To learn about Mercurial in detail, please visit http://hgbook.red-bean.com. - How to build? -To build Nashorn, you need to install JDK 8. You may use the Nashorn +To build Nashorn, you need to install JDK 9. You may use the Nashorn forest build (recommended) or down load from java.net. You will need to set JAVA_HOME environmental variable to point to your JDK installation directory. - cd nashorn~jdk8/nashorn/make + cd nashorn~jdk9/nashorn/make ant clean; ant - How to run? Use the jjs script (see RELESE_README): - cd nashorn~jdk8/nashorn + cd nashorn~jdk9/nashorn sh bin/jjs Nashorn supports javax.script API. It is possible to drop nashorn.jar in @@ -64,7 +64,7 @@ Comprehensive development documentation is found in the Nashorn JavaDoc. You can build it using: - cd nashorn~jdk8/nashorn/make + cd nashorn~jdk9/nashorn/make ant javadoc after which you can view the generated documentation at dist/javadoc/index.html. @@ -90,7 +90,7 @@ test/script/external/test262 a symbolic link to that directory. After you've done this, you can run the ECMA-262 tests using: - cd nashorn~jdk8/nashorn/make + cd nashorn~jdk9/nashorn/make ant test262 Ant target to get/update external test suites: @@ -101,7 +101,7 @@ These tests take time, so we have a parallelized runner for them that takes advantage of all processor cores on the computer: - cd nashorn~jdk8/nashorn/make + cd nashorn~jdk9/nashorn/make ant test262parallel - How to write your own test? --- old/src/jdk.dynalink/share/classes/jdk/dynalink/package-info.java 2017-01-03 19:48:04.000000000 +0530 +++ new/src/jdk.dynalink/share/classes/jdk/dynalink/package-info.java 2017-01-03 19:48:04.000000000 +0530 @@ -82,42 +82,8 @@ */ /** - *

- * Dynalink is a library for dynamic linking of high-level operations on objects. - * These operations include "read a property", - * "write a property", "invoke a function" and so on. Dynalink is primarily - * useful for implementing programming languages where at least some expressions - * have dynamic types (that is, types that can not be decided statically), and - * the operations on dynamic types are expressed as - * {@link java.lang.invoke.CallSite call sites}. These call sites will be - * linked to appropriate target {@link java.lang.invoke.MethodHandle method handles} - * at run time based on actual types of the values the expressions evaluated to. - * These can change between invocations, necessitating relinking the call site - * multiple times to accommodate new types; Dynalink handles all that and more. - *

- * Dynalink supports implementation of programming languages with object models - * that differ (even radically) from the JVM's class-based model and have their - * custom type conversions. - *

- * Dynalink is closely related to, and relies on, the {@link java.lang.invoke} - * package. - *

- * - * While {@link java.lang.invoke} provides a low level API for dynamic linking - * of {@code invokedynamic} call sites, it does not provide a way to express - * higher level operations on objects, nor methods that implement them. These - * operations are the usual ones in object-oriented environments: property - * access, access of elements of collections, invocation of methods and - * constructors (potentially with multiple dispatch, e.g. link- and run-time - * equivalents of Java overloaded method resolution). These are all functions - * that are normally desired in a language on the JVM. If a language is - * statically typed and its type system matches that of the JVM, it can - * accomplish this with use of the usual invocation, field access, etc. - * instructions (e.g. {@code invokevirtual}, {@code getfield}). However, if the - * language is dynamic (hence, types of some expressions are not known until - * evaluated at run time), or its object model or type system don't match - * closely that of the JVM, then it should use {@code invokedynamic} call sites - * instead and let Dynalink manage them. + * Contains interfaces and classes that are used to link an {@code invokedynamic} call site. + * *

Example

* Dynalink is probably best explained by an example showing its use. Let's * suppose you have a program in a language where you don't have to declare the --- old/src/jdk.dynalink/share/classes/module-info.java 2017-01-03 19:48:05.000000000 +0530 +++ new/src/jdk.dynalink/share/classes/module-info.java 2017-01-03 19:48:05.000000000 +0530 @@ -24,7 +24,42 @@ */ /** - * Dynalink + *

+ * Dynalink is a library for dynamic linking of high-level operations on objects. + * These operations include "read a property", + * "write a property", "invoke a function" and so on. Dynalink is primarily + * useful for implementing programming languages where at least some expressions + * have dynamic types (that is, types that can not be decided statically), and + * the operations on dynamic types are expressed as + * {@link java.lang.invoke.CallSite call sites}. These call sites will be + * linked to appropriate target {@link java.lang.invoke.MethodHandle method handles} + * at run time based on actual types of the values the expressions evaluated to. + * These can change between invocations, necessitating relinking the call site + * multiple times to accommodate new types; Dynalink handles all that and more. + *

+ * Dynalink supports implementation of programming languages with object models + * that differ (even radically) from the JVM's class-based model and have their + * custom type conversions. + *

+ * Dynalink is closely related to, and relies on, the {@link java.lang.invoke} + * package. + *

+ * + * While {@link java.lang.invoke} provides a low level API for dynamic linking + * of {@code invokedynamic} call sites, it does not provide a way to express + * higher level operations on objects, nor methods that implement them. These + * operations are the usual ones in object-oriented environments: property + * access, access of elements of collections, invocation of methods and + * constructors (potentially with multiple dispatch, e.g. link- and run-time + * equivalents of Java overloaded method resolution). These are all functions + * that are normally desired in a language on the JVM. If a language is + * statically typed and its type system matches that of the JVM, it can + * accomplish this with use of the usual invocation, field access, etc. + * instructions (e.g. {@code invokevirtual}, {@code getfield}). However, if the + * language is dynamic (hence, types of some expressions are not known until + * evaluated at run time), or its object model or type system don't match + * closely that of the JVM, then it should use {@code invokedynamic} call sites + * instead and let Dynalink manage them. */ module jdk.dynalink { requires java.logging; --- old/./RELEASE_README 2017-01-03 19:48:05.000000000 +0530 +++ /dev/null 2017-01-03 19:48:05.000000000 +0530 @@ -1,20 +0,0 @@ -The Nashorn repo is in the process of being migrated to OpenJDK and as such is -incomplete in several areas. - -- The build system is not fully integrated. When complete, Nashorn will be -installed in its proper location in the JRE. - -- Once integrated, the correct version of the JDK will be wrapped around -Nashorn. In the meantime, ensure you use JDK8 b68 or later. - -- The jjs tool has not been implemented in binary form yet. Use "sh bin/jjs" -(or bin/jjs.bat on windows) in the interm. - -- The Dynalink component is not fully integrated into Nashorn as yet, but will -be when details are finalized. - -- And, finally Nashorn is still in development. To stay up to date, subscribe -to nashorn-dev@openjdk.java.net at - - http://mail.openjdk.java.net/mailman/listinfo/nashorn-dev. -