--- old/make/autoconf/version-numbers 2018-06-21 20:19:25.505201551 -0700
+++ new/make/autoconf/version-numbers 2018-06-21 20:19:24.860879531 -0700
@@ -25,14 +25,14 @@
# Default version numbers to use unless overridden by configure
-DEFAULT_VERSION_FEATURE=11
+DEFAULT_VERSION_FEATURE=12
DEFAULT_VERSION_INTERIM=0
DEFAULT_VERSION_UPDATE=0
DEFAULT_VERSION_PATCH=0
-DEFAULT_VERSION_DATE=2018-09-25
-DEFAULT_VERSION_CLASSFILE_MAJOR=55 # "`$EXPR $DEFAULT_VERSION_FEATURE + 44`"
+DEFAULT_VERSION_DATE=2019-03-25
+DEFAULT_VERSION_CLASSFILE_MAJOR=56 # "`$EXPR $DEFAULT_VERSION_FEATURE + 44`"
DEFAULT_VERSION_CLASSFILE_MINOR=0
-DEFAULT_ACCEPTABLE_BOOT_VERSIONS="10 11"
+DEFAULT_ACCEPTABLE_BOOT_VERSIONS="10 11 12"
LAUNCHER_NAME=openjdk
PRODUCT_NAME=OpenJDK
--- old/make/common/SetupJavaCompilers.gmk 2018-06-21 20:19:27.298097607 -0700
+++ new/make/common/SetupJavaCompilers.gmk 2018-06-21 20:19:26.669783587 -0700
@@ -72,7 +72,7 @@
$(eval $(call SetupJavaCompiler,GENERATE_JDKBYTECODE, \
JVM := $(JAVA_JAVAC), \
JAVAC := $(NEW_JAVAC), \
- FLAGS := -source 11 -target 11 --doclint-format html5 \
+ FLAGS := -source 12 -target 12 --doclint-format html5 \
-encoding ascii -XDignore.symbol.file=true $(JAVAC_WARNINGS), \
SERVER_DIR := $(SJAVAC_SERVER_DIR), \
SERVER_JVM := $(SJAVAC_SERVER_JAVA)))
@@ -82,7 +82,7 @@
$(eval $(call SetupJavaCompiler,GENERATE_JDKBYTECODE_NOWARNINGS, \
JVM := $(JAVA_JAVAC), \
JAVAC := $(NEW_JAVAC), \
- FLAGS := -source 11 -target 11 \
+ FLAGS := -source 12 -target 12 \
-encoding ascii -XDignore.symbol.file=true $(DISABLE_WARNINGS), \
SERVER_DIR := $(SJAVAC_SERVER_DIR), \
SERVER_JVM := $(SJAVAC_SERVER_JAVA)))
--- old/src/hotspot/share/classfile/classFileParser.cpp 2018-06-21 20:19:29.299097670 -0700
+++ new/src/hotspot/share/classfile/classFileParser.cpp 2018-06-21 20:19:28.566731646 -0700
@@ -117,6 +117,8 @@
#define JAVA_11_VERSION 55
+#define JAVA_12_VERSION 56
+
void ClassFileParser::set_class_bad_constant_seen(short bad_constant) {
assert((bad_constant == 19 || bad_constant == 20) && _major_version >= JAVA_9_VERSION,
"Unexpected bad constant pool entry");
--- old/src/java.base/share/classes/com/sun/java/util/jar/pack/Constants.java 2018-06-21 20:19:31.732313745 -0700
+++ new/src/java.base/share/classes/com/sun/java/util/jar/pack/Constants.java 2018-06-21 20:19:31.019957723 -0700
@@ -49,6 +49,7 @@
1.9 to 1.9.X 53,0
1.10 to 1.10.X 54,0
1.11 to 1.11.X 55,0
+ 1.12 to 1.12.X 56,0
*/
public static final Package.Version JAVA_MIN_CLASS_VERSION =
@@ -75,6 +76,9 @@
public static final Package.Version JAVA11_MAX_CLASS_VERSION =
Package.Version.of(55, 00);
+ public static final Package.Version JAVA12_MAX_CLASS_VERSION =
+ Package.Version.of(56, 00);
+
public static final int JAVA_PACKAGE_MAGIC = 0xCAFED00D;
public static final Package.Version JAVA5_PACKAGE_VERSION =
@@ -91,7 +95,7 @@
// upper limit, should point to the latest class version
public static final Package.Version JAVA_MAX_CLASS_VERSION =
- JAVA11_MAX_CLASS_VERSION;
+ JAVA12_MAX_CLASS_VERSION;
// upper limit should point to the latest package version, for version info!.
public static final Package.Version MAX_PACKAGE_VERSION =
--- old/src/java.base/share/classes/jdk/internal/module/ModuleInfo.java 2018-06-21 20:19:33.729311807 -0700
+++ new/src/java.base/share/classes/jdk/internal/module/ModuleInfo.java 2018-06-21 20:19:33.036965786 -0700
@@ -64,7 +64,7 @@
public final class ModuleInfo {
private final int JAVA_MIN_SUPPORTED_VERSION = 53;
- private final int JAVA_MAX_SUPPORTED_VERSION = 55;
+ private final int JAVA_MAX_SUPPORTED_VERSION = 56;
private static final JavaLangModuleAccess JLMA
= SharedSecrets.getJavaLangModuleAccess();
--- old/src/java.base/share/classes/jdk/internal/org/objectweb/asm/ClassReader.java 2018-06-21 20:19:36.638765898 -0700
+++ new/src/java.base/share/classes/jdk/internal/org/objectweb/asm/ClassReader.java 2018-06-21 20:19:35.978435878 -0700
@@ -185,7 +185,7 @@
public ClassReader(final byte[] b, final int off, final int len) {
this.b = b;
// checks the class version
- if (readShort(off + 6) > Opcodes.V11) {
+ if (readShort(off + 6) > Opcodes.V12) {
throw new IllegalArgumentException();
}
// parses the constant pool
--- old/src/java.base/share/classes/jdk/internal/org/objectweb/asm/Opcodes.java 2018-06-21 20:19:38.687789963 -0700
+++ new/src/java.base/share/classes/jdk/internal/org/objectweb/asm/Opcodes.java 2018-06-21 20:19:38.019455942 -0700
@@ -91,6 +91,7 @@
int V9 = 0 << 16 | 53;
int V10 = 0 << 16 | 54;
int V11 = 0 << 16 | 55;
+ int V12 = 0 << 16 | 56;
// access flags
--- old/src/java.compiler/share/classes/javax/lang/model/SourceVersion.java 2018-06-21 20:19:40.216554011 -0700
+++ new/src/java.compiler/share/classes/javax/lang/model/SourceVersion.java 2018-06-21 20:19:39.532211989 -0700
@@ -171,7 +171,15 @@
*
* @since 11
*/
- RELEASE_11;
+ RELEASE_11,
+
+ /**
+ * The version recognized by the Java Platform, Standard Edition
+ * 12.
+ *
+ * @since 12
+ */
+ RELEASE_12;
// Note that when adding constants for newer releases, the
// behavior of latest() and latestSupported() must be updated too.
@@ -182,7 +190,7 @@
* @return the latest source version that can be modeled
*/
public static SourceVersion latest() {
- return RELEASE_11;
+ return RELEASE_12;
}
private static final SourceVersion latestSupported = getLatestSupported();
@@ -192,6 +200,8 @@
String specVersion = System.getProperty("java.specification.version");
switch (specVersion) {
+ case "12":
+ return RELEASE_12;
case "11":
return RELEASE_11;
case "10":
--- old/src/java.compiler/share/classes/javax/lang/model/util/AbstractAnnotationValueVisitor9.java 2018-06-21 20:19:42.113502070 -0700
+++ new/src/java.compiler/share/classes/javax/lang/model/util/AbstractAnnotationValueVisitor9.java 2018-06-21 20:19:41.441166049 -0700
@@ -32,7 +32,7 @@
/**
* A skeletal visitor for annotation values with default behavior
* appropriate for source versions {@link SourceVersion#RELEASE_9
- * RELEASE_9} through {@link SourceVersion#RELEASE_11 RELEASE_11}.
+ * RELEASE_9} through {@link SourceVersion#RELEASE_12 RELEASE_12}.
*
*
WARNING: The {@code AnnotationValueVisitor} interface
* implemented by this class may have methods added to it in the
@@ -59,7 +59,7 @@
* @see AbstractAnnotationValueVisitor8
* @since 9
*/
-@SupportedSourceVersion(RELEASE_11)
+@SupportedSourceVersion(RELEASE_12)
public abstract class AbstractAnnotationValueVisitor9 extends AbstractAnnotationValueVisitor8 {
/**
--- old/src/java.compiler/share/classes/javax/lang/model/util/AbstractElementVisitor9.java 2018-06-21 20:19:44.582736147 -0700
+++ new/src/java.compiler/share/classes/javax/lang/model/util/AbstractElementVisitor9.java 2018-06-21 20:19:43.918404126 -0700
@@ -34,7 +34,7 @@
/**
* A skeletal visitor of program elements with default behavior
* appropriate for source versions {@link SourceVersion#RELEASE_9
- * RELEASE_9} through {@link SourceVersion#RELEASE_11 RELEASE_11}.
+ * RELEASE_9} through {@link SourceVersion#RELEASE_12 RELEASE_12}.
*
*
WARNING: The {@code ElementVisitor} interface
* implemented by this class may have methods added to it in the
@@ -65,7 +65,7 @@
* @since 9
* @spec JPMS
*/
-@SupportedSourceVersion(RELEASE_11)
+@SupportedSourceVersion(RELEASE_12)
public abstract class AbstractElementVisitor9 extends AbstractElementVisitor8 {
/**
* Constructor for concrete subclasses to call.
--- old/src/java.compiler/share/classes/javax/lang/model/util/AbstractTypeVisitor9.java 2018-06-21 20:19:47.424156236 -0700
+++ new/src/java.compiler/share/classes/javax/lang/model/util/AbstractTypeVisitor9.java 2018-06-21 20:19:46.727808214 -0700
@@ -33,7 +33,7 @@
/**
* A skeletal visitor of types with default behavior appropriate for
* source versions {@link SourceVersion#RELEASE_9 RELEASE_9} through
- * {@link SourceVersion#RELEASE_11 RELEASE_11}.
+ * {@link SourceVersion#RELEASE_12 RELEASE_12}.
*
*
WARNING: The {@code TypeVisitor} interface implemented
* by this class may have methods added to it in the future to
@@ -63,7 +63,7 @@
* @see AbstractTypeVisitor8
* @since 9
*/
-@SupportedSourceVersion(RELEASE_11)
+@SupportedSourceVersion(RELEASE_12)
public abstract class AbstractTypeVisitor9 extends AbstractTypeVisitor8 {
/**
* Constructor for concrete subclasses to call.
--- old/src/java.compiler/share/classes/javax/lang/model/util/ElementKindVisitor9.java 2018-06-21 20:19:49.793340310 -0700
+++ new/src/java.compiler/share/classes/javax/lang/model/util/ElementKindVisitor9.java 2018-06-21 20:19:49.137012289 -0700
@@ -34,7 +34,7 @@
* A visitor of program elements based on their {@linkplain
* ElementKind kind} with default behavior appropriate for source
* versions {@link SourceVersion#RELEASE_9 RELEASE_9} through {@link
- * SourceVersion#RELEASE_11 RELEASE_11}.
+ * SourceVersion#RELEASE_12 RELEASE_12}.
*
* For {@linkplain
* Element elements} Xyz that may have more than one
@@ -80,7 +80,7 @@
* @since 9
* @spec JPMS
*/
-@SupportedSourceVersion(RELEASE_11)
+@SupportedSourceVersion(RELEASE_12)
public class ElementKindVisitor9 extends ElementKindVisitor8 {
/**
* Constructor for concrete subclasses; uses {@code null} for the
--- old/src/java.compiler/share/classes/javax/lang/model/util/ElementScanner9.java 2018-06-21 20:19:52.442664393 -0700
+++ new/src/java.compiler/share/classes/javax/lang/model/util/ElementScanner9.java 2018-06-21 20:19:51.570228365 -0700
@@ -34,7 +34,7 @@
/**
* A scanning visitor of program elements with default behavior
* appropriate for source versions {@link SourceVersion#RELEASE_9
- * RELEASE_9} through {@link SourceVersion#RELEASE_11 RELEASE_11}.
+ * RELEASE_9} through {@link SourceVersion#RELEASE_12 RELEASE_12}.
*
* The visitXyz methods in this
* class scan their component elements by calling {@code scan} on
@@ -92,7 +92,7 @@
* @since 9
* @spec JPMS
*/
-@SupportedSourceVersion(RELEASE_11)
+@SupportedSourceVersion(RELEASE_12)
public class ElementScanner9 extends ElementScanner8 {
/**
* Constructor for concrete subclasses; uses {@code null} for the
--- old/src/java.compiler/share/classes/javax/lang/model/util/SimpleAnnotationValueVisitor9.java 2018-06-21 20:19:54.887886469 -0700
+++ new/src/java.compiler/share/classes/javax/lang/model/util/SimpleAnnotationValueVisitor9.java 2018-06-21 20:19:54.167526446 -0700
@@ -32,7 +32,7 @@
/**
* A simple visitor for annotation values with default behavior
* appropriate for source versions {@link SourceVersion#RELEASE_9
- * RELEASE_9} through {@link SourceVersion#RELEASE_11 RELEASE_11}.
+ * RELEASE_9} through {@link SourceVersion#RELEASE_12 RELEASE_12}.
*
* Visit methods call {@link #defaultAction
* defaultAction} passing their arguments to {@code defaultAction}'s
@@ -68,7 +68,7 @@
* @see SimpleAnnotationValueVisitor8
* @since 9
*/
-@SupportedSourceVersion(RELEASE_11)
+@SupportedSourceVersion(RELEASE_12)
public class SimpleAnnotationValueVisitor9 extends SimpleAnnotationValueVisitor8 {
/**
* Constructor for concrete subclasses; uses {@code null} for the
--- old/src/java.compiler/share/classes/javax/lang/model/util/SimpleElementVisitor9.java 2018-06-21 20:19:57.421152548 -0700
+++ new/src/java.compiler/share/classes/javax/lang/model/util/SimpleElementVisitor9.java 2018-06-21 20:19:56.716800526 -0700
@@ -33,7 +33,7 @@
/**
* A simple visitor of program elements with default behavior
* appropriate for source versions {@link SourceVersion#RELEASE_9
- * RELEASE_9} through {@link SourceVersion#RELEASE_11 RELEASE_11}.
+ * RELEASE_9} through {@link SourceVersion#RELEASE_12 RELEASE_12}.
*
* Visit methods corresponding to {@code RELEASE_9} and earlier
* language constructs call {@link #defaultAction defaultAction},
@@ -73,7 +73,7 @@
* @since 9
* @spec JPMS
*/
-@SupportedSourceVersion(RELEASE_11)
+@SupportedSourceVersion(RELEASE_12)
public class SimpleElementVisitor9 extends SimpleElementVisitor8 {
/**
* Constructor for concrete subclasses; uses {@code null} for the
--- old/src/java.compiler/share/classes/javax/lang/model/util/SimpleTypeVisitor9.java 2018-06-21 20:19:59.886384625 -0700
+++ new/src/java.compiler/share/classes/javax/lang/model/util/SimpleTypeVisitor9.java 2018-06-21 20:19:59.138010602 -0700
@@ -33,7 +33,7 @@
/**
* A simple visitor of types with default behavior appropriate for
* source versions {@link SourceVersion#RELEASE_9 RELEASE_9} through
- * {@link SourceVersion#RELEASE_11 RELEASE_11}.
+ * {@link SourceVersion#RELEASE_12 RELEASE_12}.
*
* Visit methods corresponding to {@code RELEASE_9} and earlier
* language constructs call {@link #defaultAction defaultAction},
@@ -73,7 +73,7 @@
* @see SimpleTypeVisitor8
* @since 9
*/
-@SupportedSourceVersion(RELEASE_11)
+@SupportedSourceVersion(RELEASE_12)
public class SimpleTypeVisitor9 extends SimpleTypeVisitor8 {
/**
* Constructor for concrete subclasses; uses {@code null} for the
--- old/src/java.compiler/share/classes/javax/lang/model/util/TypeKindVisitor9.java 2018-06-21 20:20:02.295588701 -0700
+++ new/src/java.compiler/share/classes/javax/lang/model/util/TypeKindVisitor9.java 2018-06-21 20:20:01.615248679 -0700
@@ -34,7 +34,7 @@
* A visitor of types based on their {@linkplain TypeKind kind} with
* default behavior appropriate for source versions {@link
* SourceVersion#RELEASE_9 RELEASE_9} through {@link
- * SourceVersion#RELEASE_11 RELEASE_11}.
+ * SourceVersion#RELEASE_12 RELEASE_12}.
*
* For {@linkplain
* TypeMirror types} Xyz that may have more than one
@@ -77,7 +77,7 @@
* @see TypeKindVisitor8
* @since 9
*/
-@SupportedSourceVersion(RELEASE_11)
+@SupportedSourceVersion(RELEASE_12)
public class TypeKindVisitor9 extends TypeKindVisitor8 {
/**
* Constructor for concrete subclasses to call; uses {@code null}
--- old/src/jdk.compiler/share/classes/com/sun/tools/javac/code/Source.java 2018-06-21 20:20:04.364622766 -0700
+++ new/src/jdk.compiler/share/classes/com/sun/tools/javac/code/Source.java 2018-06-21 20:20:03.596238741 -0700
@@ -82,7 +82,10 @@
JDK10("10"),
/** 1.11 covers the to be determined language features that will be added in JDK 11. */
- JDK11("11");
+ JDK11("11"),
+
+ /** 12 covers the to be determined language features that will be added in JDK 12. */
+ JDK12("12");
private static final Context.Key