--- old/make/autoconf/version-numbers 2018-06-27 14:20:29.874003999 -0700
+++ new/make/autoconf/version-numbers 2018-06-27 14:20:29.742003999 -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-19
+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-27 14:20:30.314003999 -0700
+++ new/make/common/SetupJavaCompilers.gmk 2018-06-27 14:20:30.186003999 -0700
@@ -1,5 +1,5 @@
#
-# Copyright (c) 2011, 2017, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2011, 2018, Oracle and/or its affiliates. All rights reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
# This code is free software; you can redistribute it and/or modify it
@@ -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-27 14:20:30.834003999 -0700
+++ new/src/hotspot/share/classfile/classFileParser.cpp 2018-06-27 14:20:30.690003999 -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-27 14:20:31.314003999 -0700
+++ new/src/java.base/share/classes/com/sun/java/util/jar/pack/Constants.java 2018-06-27 14:20:31.182003999 -0700
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2001, 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2001, 2018, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@@ -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-27 14:20:31.766003999 -0700
+++ new/src/java.base/share/classes/jdk/internal/module/ModuleInfo.java 2018-06-27 14:20:31.634003999 -0700
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2014, 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2018, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@@ -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-27 14:20:32.286003999 -0700
+++ new/src/java.base/share/classes/jdk/internal/org/objectweb/asm/ClassReader.java 2018-06-27 14:20:32.158003999 -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-27 14:20:32.730003999 -0700
+++ new/src/java.base/share/classes/jdk/internal/org/objectweb/asm/Opcodes.java 2018-06-27 14:20:32.598003999 -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-27 14:20:33.090003999 -0700
+++ new/src/java.compiler/share/classes/javax/lang/model/SourceVersion.java 2018-06-27 14:20:32.962003999 -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-27 14:20:33.514003999 -0700
+++ new/src/java.compiler/share/classes/javax/lang/model/util/AbstractAnnotationValueVisitor9.java 2018-06-27 14:20:33.386003999 -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-27 14:20:34.022003999 -0700
+++ new/src/java.compiler/share/classes/javax/lang/model/util/AbstractElementVisitor9.java 2018-06-27 14:20:33.890003999 -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-27 14:20:34.526003999 -0700
+++ new/src/java.compiler/share/classes/javax/lang/model/util/AbstractTypeVisitor9.java 2018-06-27 14:20:34.394003999 -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-27 14:20:35.030003999 -0700
+++ new/src/java.compiler/share/classes/javax/lang/model/util/ElementKindVisitor9.java 2018-06-27 14:20:34.902003999 -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-27 14:20:35.542003999 -0700
+++ new/src/java.compiler/share/classes/javax/lang/model/util/ElementScanner9.java 2018-06-27 14:20:35.406003999 -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-27 14:20:36.050003999 -0700
+++ new/src/java.compiler/share/classes/javax/lang/model/util/SimpleAnnotationValueVisitor9.java 2018-06-27 14:20:35.918003999 -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-27 14:20:36.570003999 -0700
+++ new/src/java.compiler/share/classes/javax/lang/model/util/SimpleElementVisitor9.java 2018-06-27 14:20:36.446003999 -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-27 14:20:37.082003999 -0700
+++ new/src/java.compiler/share/classes/javax/lang/model/util/SimpleTypeVisitor9.java 2018-06-27 14:20:36.950003999 -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-27 14:20:37.590003999 -0700
+++ new/src/java.compiler/share/classes/javax/lang/model/util/TypeKindVisitor9.java 2018-06-27 14:20:37.466003999 -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-27 14:20:38.018003999 -0700
+++ new/src/jdk.compiler/share/classes/com/sun/tools/javac/code/Source.java 2018-06-27 14:20:37.886003999 -0700
@@ -81,8 +81,11 @@
/** 1.10 local-variable type inference (var). */
JDK10("10"),
- /** 1.11 covers the to be determined language features that will be added in JDK 11. */
- JDK11("11");
+ /** 1.11 no explicit language changes. */
+ JDK11("11"),
+
+ /** 12 covers the to be determined language features that will be added in JDK 12. */
+ JDK12("12");
private static final Context.Key