8191913: Bump classfile version number to 55
Co-authored-by: Erik Joelsson <erik.joelsson@oracle.com> Reviewed-by: dholmes, darcy
This commit is contained in:
parent
3851e0e030
commit
038b5f571c
@ -637,7 +637,7 @@ else
|
||||
# Declare dependencies between hotspot-<variant>* targets
|
||||
$(foreach v, $(JVM_VARIANTS), \
|
||||
$(eval hotspot-$v: hotspot-$v-gensrc hotspot-$v-libs) \
|
||||
$(eval hotspot-$v-libs: hotspot-$v-gensrc) \
|
||||
$(eval hotspot-$v-libs: hotspot-$v-gensrc java.base-copy) \
|
||||
)
|
||||
|
||||
hotspot-ide-project: hotspot exploded-image
|
||||
@ -691,8 +691,9 @@ else
|
||||
jdk.jdwp.agent-libs: jdk.jdwp.agent-gensrc
|
||||
|
||||
# The swing beans need to have java base properly generated to avoid errors
|
||||
# in javadoc.
|
||||
java.desktop-gensrc-src: java.base-gensrc
|
||||
# in javadoc. The X11 wrappers need the java.base include files to have been
|
||||
# copied and processed.
|
||||
java.desktop-gensrc-src: java.base-gensrc java.base-copy
|
||||
|
||||
# The annotation processing for jdk.internal.vm.ci and jdk.internal.vm.compiler
|
||||
# needs classes from the current JDK.
|
||||
|
@ -55,6 +55,7 @@ OPENJDK_TARGET_CPU_ARCH := @OPENJDK_BUILD_CPU_ARCH@
|
||||
OPENJDK_TARGET_CPU_BITS := @OPENJDK_BUILD_CPU_BITS@
|
||||
OPENJDK_TARGET_CPU_ENDIAN := @OPENJDK_BUILD_CPU_ENDIAN@
|
||||
OPENJDK_TARGET_CPU_LEGACY := @OPENJDK_BUILD_CPU_LEGACY@
|
||||
OPENJDK_TARGET_OS_INCLUDE_SUBDIR := @OPENJDK_BUILD_OS_INCLUDE_SUBDIR@
|
||||
|
||||
HOTSPOT_TARGET_OS := @HOTSPOT_BUILD_OS@
|
||||
HOTSPOT_TARGET_OS_TYPE := @HOTSPOT_BUILD_OS_TYPE@
|
||||
|
@ -1162,9 +1162,7 @@ AC_DEFUN([FLAGS_SETUP_COMPILER_FLAGS_FOR_JDK_HELPER],
|
||||
# Setup some hard coded includes
|
||||
$2COMMON_CCXXFLAGS_JDK="[$]$2COMMON_CCXXFLAGS_JDK \
|
||||
-I\$(SUPPORT_OUTPUTDIR)/modules_include/java.base \
|
||||
-I${TOPDIR}/src/java.base/share/native/include \
|
||||
-I${TOPDIR}/src/java.base/$OPENJDK_$1_OS/native/include \
|
||||
-I${TOPDIR}/src/java.base/$OPENJDK_$1_OS_TYPE/native/include \
|
||||
-I\$(SUPPORT_OUTPUTDIR)/modules_include/java.base/\$(OPENJDK_TARGET_OS_INCLUDE_SUBDIR) \
|
||||
-I${TOPDIR}/src/java.base/share/native/libjava \
|
||||
-I${TOPDIR}/src/java.base/$OPENJDK_$1_OS_TYPE/native/libjava \
|
||||
-I${TOPDIR}/src/hotspot/share/include \
|
||||
|
@ -887,6 +887,8 @@ JAVA
|
||||
BOOT_JDK
|
||||
JAVA_CHECK
|
||||
JAVAC_CHECK
|
||||
VERSION_CLASSFILE_MINOR
|
||||
VERSION_CLASSFILE_MAJOR
|
||||
VENDOR_VERSION_STRING
|
||||
VERSION_DATE
|
||||
VERSION_IS_GA
|
||||
@ -968,6 +970,7 @@ JDK_VARIANT
|
||||
USERNAME
|
||||
TOPDIR
|
||||
PATH_SEP
|
||||
OPENJDK_BUILD_OS_INCLUDE_SUBDIR
|
||||
HOTSPOT_BUILD_CPU_DEFINE
|
||||
HOTSPOT_BUILD_CPU_ARCH
|
||||
HOTSPOT_BUILD_CPU
|
||||
@ -978,6 +981,7 @@ OPENJDK_BUILD_CPU_OSARCH
|
||||
OPENJDK_BUILD_CPU_ISADIR
|
||||
OPENJDK_BUILD_CPU_LEGACY_LIB
|
||||
OPENJDK_BUILD_CPU_LEGACY
|
||||
OPENJDK_TARGET_OS_INCLUDE_SUBDIR
|
||||
HOTSPOT_TARGET_CPU_DEFINE
|
||||
HOTSPOT_TARGET_CPU_ARCH
|
||||
HOTSPOT_TARGET_CPU
|
||||
@ -1093,7 +1097,6 @@ infodir
|
||||
docdir
|
||||
oldincludedir
|
||||
includedir
|
||||
runstatedir
|
||||
localstatedir
|
||||
sharedstatedir
|
||||
sysconfdir
|
||||
@ -1383,7 +1386,6 @@ datadir='${datarootdir}'
|
||||
sysconfdir='${prefix}/etc'
|
||||
sharedstatedir='${prefix}/com'
|
||||
localstatedir='${prefix}/var'
|
||||
runstatedir='${localstatedir}/run'
|
||||
includedir='${prefix}/include'
|
||||
oldincludedir='/usr/include'
|
||||
docdir='${datarootdir}/doc/${PACKAGE_TARNAME}'
|
||||
@ -1636,15 +1638,6 @@ do
|
||||
| -silent | --silent | --silen | --sile | --sil)
|
||||
silent=yes ;;
|
||||
|
||||
-runstatedir | --runstatedir | --runstatedi | --runstated \
|
||||
| --runstate | --runstat | --runsta | --runst | --runs \
|
||||
| --run | --ru | --r)
|
||||
ac_prev=runstatedir ;;
|
||||
-runstatedir=* | --runstatedir=* | --runstatedi=* | --runstated=* \
|
||||
| --runstate=* | --runstat=* | --runsta=* | --runst=* | --runs=* \
|
||||
| --run=* | --ru=* | --r=*)
|
||||
runstatedir=$ac_optarg ;;
|
||||
|
||||
-sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb)
|
||||
ac_prev=sbindir ;;
|
||||
-sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \
|
||||
@ -1782,7 +1775,7 @@ fi
|
||||
for ac_var in exec_prefix prefix bindir sbindir libexecdir datarootdir \
|
||||
datadir sysconfdir sharedstatedir localstatedir includedir \
|
||||
oldincludedir docdir infodir htmldir dvidir pdfdir psdir \
|
||||
libdir localedir mandir runstatedir
|
||||
libdir localedir mandir
|
||||
do
|
||||
eval ac_val=\$$ac_var
|
||||
# Remove trailing slashes.
|
||||
@ -1935,7 +1928,6 @@ Fine tuning of the installation directories:
|
||||
--sysconfdir=DIR read-only single-machine data [PREFIX/etc]
|
||||
--sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com]
|
||||
--localstatedir=DIR modifiable single-machine data [PREFIX/var]
|
||||
--runstatedir=DIR modifiable per-process data [LOCALSTATEDIR/run]
|
||||
--libdir=DIR object code libraries [EPREFIX/lib]
|
||||
--includedir=DIR C header files [PREFIX/include]
|
||||
--oldincludedir=DIR C header files for non-gcc [/usr/include]
|
||||
@ -5185,7 +5177,7 @@ VS_SDK_PLATFORM_NAME_2013=
|
||||
#CUSTOM_AUTOCONF_INCLUDE
|
||||
|
||||
# Do not change or remove the following line, it is needed for consistency checks:
|
||||
DATE_WHEN_GENERATED=1513206608
|
||||
DATE_WHEN_GENERATED=1513362567
|
||||
|
||||
###############################################################################
|
||||
#
|
||||
@ -16316,6 +16308,14 @@ $as_echo "$COMPILE_TYPE" >&6; }
|
||||
fi
|
||||
|
||||
|
||||
# For historical reasons, the OS include directories have odd names.
|
||||
OPENJDK_TARGET_OS_INCLUDE_SUBDIR="$OPENJDK_TARGET_OS"
|
||||
if test "x$OPENJDK_TARGET_OS" = "xwindows"; then
|
||||
OPENJDK_TARGET_OS_INCLUDE_SUBDIR="win32"
|
||||
elif test "x$OPENJDK_TARGET_OS" = "xmacosx"; then
|
||||
OPENJDK_TARGET_OS_INCLUDE_SUBDIR="darwin"
|
||||
fi
|
||||
|
||||
|
||||
|
||||
# Also store the legacy naming of the cpu.
|
||||
@ -16467,6 +16467,14 @@ $as_echo "$COMPILE_TYPE" >&6; }
|
||||
fi
|
||||
|
||||
|
||||
# For historical reasons, the OS include directories have odd names.
|
||||
OPENJDK_BUILD_OS_INCLUDE_SUBDIR="$OPENJDK_TARGET_OS"
|
||||
if test "x$OPENJDK_TARGET_OS" = "xwindows"; then
|
||||
OPENJDK_BUILD_OS_INCLUDE_SUBDIR="win32"
|
||||
elif test "x$OPENJDK_TARGET_OS" = "xmacosx"; then
|
||||
OPENJDK_BUILD_OS_INCLUDE_SUBDIR="darwin"
|
||||
fi
|
||||
|
||||
|
||||
|
||||
|
||||
@ -25457,6 +25465,10 @@ fi
|
||||
VENDOR_VERSION_STRING="$with_vendor_version_string"
|
||||
fi
|
||||
|
||||
# We could define --with flags for these, if really needed
|
||||
VERSION_CLASSFILE_MAJOR="$DEFAULT_VERSION_CLASSFILE_MAJOR"
|
||||
VERSION_CLASSFILE_MINOR="$DEFAULT_VERSION_CLASSFILE_MINOR"
|
||||
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for version string" >&5
|
||||
$as_echo_n "checking for version string... " >&6; }
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $VERSION_STRING" >&5
|
||||
@ -25478,6 +25490,9 @@ $as_echo "$VERSION_STRING" >&6; }
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
###############################################################################
|
||||
#
|
||||
# Setup BootJDK, used to bootstrap the build.
|
||||
@ -52888,9 +52903,7 @@ fi
|
||||
# Setup some hard coded includes
|
||||
COMMON_CCXXFLAGS_JDK="$COMMON_CCXXFLAGS_JDK \
|
||||
-I\$(SUPPORT_OUTPUTDIR)/modules_include/java.base \
|
||||
-I${TOPDIR}/src/java.base/share/native/include \
|
||||
-I${TOPDIR}/src/java.base/$OPENJDK_TARGET_OS/native/include \
|
||||
-I${TOPDIR}/src/java.base/$OPENJDK_TARGET_OS_TYPE/native/include \
|
||||
-I\$(SUPPORT_OUTPUTDIR)/modules_include/java.base/\$(OPENJDK_TARGET_OS_INCLUDE_SUBDIR) \
|
||||
-I${TOPDIR}/src/java.base/share/native/libjava \
|
||||
-I${TOPDIR}/src/java.base/$OPENJDK_TARGET_OS_TYPE/native/libjava \
|
||||
-I${TOPDIR}/src/hotspot/share/include \
|
||||
@ -53771,9 +53784,7 @@ fi
|
||||
# Setup some hard coded includes
|
||||
OPENJDK_BUILD_COMMON_CCXXFLAGS_JDK="$OPENJDK_BUILD_COMMON_CCXXFLAGS_JDK \
|
||||
-I\$(SUPPORT_OUTPUTDIR)/modules_include/java.base \
|
||||
-I${TOPDIR}/src/java.base/share/native/include \
|
||||
-I${TOPDIR}/src/java.base/$OPENJDK_BUILD_OS/native/include \
|
||||
-I${TOPDIR}/src/java.base/$OPENJDK_BUILD_OS_TYPE/native/include \
|
||||
-I\$(SUPPORT_OUTPUTDIR)/modules_include/java.base/\$(OPENJDK_TARGET_OS_INCLUDE_SUBDIR) \
|
||||
-I${TOPDIR}/src/java.base/share/native/libjava \
|
||||
-I${TOPDIR}/src/java.base/$OPENJDK_BUILD_OS_TYPE/native/libjava \
|
||||
-I${TOPDIR}/src/hotspot/share/include \
|
||||
|
@ -331,6 +331,10 @@ AC_DEFUN_ONCE([JDKVER_SETUP_JDK_VERSION_NUMBERS],
|
||||
VENDOR_VERSION_STRING="$with_vendor_version_string"
|
||||
fi
|
||||
|
||||
# We could define --with flags for these, if really needed
|
||||
VERSION_CLASSFILE_MAJOR="$DEFAULT_VERSION_CLASSFILE_MAJOR"
|
||||
VERSION_CLASSFILE_MINOR="$DEFAULT_VERSION_CLASSFILE_MINOR"
|
||||
|
||||
AC_MSG_CHECKING([for version string])
|
||||
AC_MSG_RESULT([$VERSION_STRING])
|
||||
|
||||
@ -348,4 +352,7 @@ AC_DEFUN_ONCE([JDKVER_SETUP_JDK_VERSION_NUMBERS],
|
||||
AC_SUBST(VERSION_IS_GA)
|
||||
AC_SUBST(VERSION_DATE)
|
||||
AC_SUBST(VENDOR_VERSION_STRING)
|
||||
AC_SUBST(VERSION_CLASSFILE_MAJOR)
|
||||
AC_SUBST(VERSION_CLASSFILE_MINOR)
|
||||
|
||||
])
|
||||
|
@ -478,6 +478,14 @@ AC_DEFUN([PLATFORM_SETUP_LEGACY_VARS_HELPER],
|
||||
fi
|
||||
AC_SUBST(HOTSPOT_$1_CPU_DEFINE)
|
||||
|
||||
# For historical reasons, the OS include directories have odd names.
|
||||
OPENJDK_$1_OS_INCLUDE_SUBDIR="$OPENJDK_TARGET_OS"
|
||||
if test "x$OPENJDK_TARGET_OS" = "xwindows"; then
|
||||
OPENJDK_$1_OS_INCLUDE_SUBDIR="win32"
|
||||
elif test "x$OPENJDK_TARGET_OS" = "xmacosx"; then
|
||||
OPENJDK_$1_OS_INCLUDE_SUBDIR="darwin"
|
||||
fi
|
||||
AC_SUBST(OPENJDK_$1_OS_INCLUDE_SUBDIR)
|
||||
])
|
||||
|
||||
AC_DEFUN([PLATFORM_SET_RELEASE_FILE_OS_VALUES],
|
||||
|
@ -78,6 +78,7 @@ OPENJDK_TARGET_CPU_ISADIR:=@OPENJDK_TARGET_CPU_ISADIR@
|
||||
OPENJDK_TARGET_CPU_LEGACY:=@OPENJDK_TARGET_CPU_LEGACY@
|
||||
OPENJDK_TARGET_CPU_LEGACY_LIB:=@OPENJDK_TARGET_CPU_LEGACY_LIB@
|
||||
OPENJDK_TARGET_CPU_OSARCH:=@OPENJDK_TARGET_CPU_OSARCH@
|
||||
OPENJDK_TARGET_OS_INCLUDE_SUBIDR:=@OPENJDK_TARGET_OS_INCLUDE_SUBDIR@
|
||||
|
||||
HOTSPOT_TARGET_OS := @HOTSPOT_TARGET_OS@
|
||||
HOTSPOT_TARGET_OS_TYPE := @HOTSPOT_TARGET_OS_TYPE@
|
||||
@ -100,6 +101,8 @@ OPENJDK_BUILD_CPU_ARCH:=@OPENJDK_BUILD_CPU_ARCH@
|
||||
OPENJDK_BUILD_CPU_BITS:=@OPENJDK_BUILD_CPU_BITS@
|
||||
OPENJDK_BUILD_CPU_ENDIAN:=@OPENJDK_BUILD_CPU_ENDIAN@
|
||||
|
||||
OPENJDK_BUILD_OS_INCLUDE_SUBIDR:=@OPENJDK_TARGET_OS_INCLUDE_SUBDIR@
|
||||
|
||||
# Target platform value in ModuleTarget class file attribute.
|
||||
OPENJDK_MODULE_TARGET_PLATFORM:=@OPENJDK_MODULE_TARGET_PLATFORM@
|
||||
|
||||
@ -175,6 +178,10 @@ VERSION_DATE := @VERSION_DATE@
|
||||
# Vendor version string
|
||||
VENDOR_VERSION_STRING := @VENDOR_VERSION_STRING@
|
||||
|
||||
# Class-file version
|
||||
VERSION_CLASSFILE_MAJOR := @VERSION_CLASSFILE_MAJOR@
|
||||
VERSION_CLASSFILE_MINOR := @VERSION_CLASSFILE_MINOR@
|
||||
|
||||
# Convenience CFLAGS settings for passing version information into native programs.
|
||||
VERSION_CFLAGS := \
|
||||
-DVERSION_FEATURE=$(VERSION_FEATURE) \
|
||||
@ -190,6 +197,8 @@ VERSION_CFLAGS := \
|
||||
-DVERSION_SPECIFICATION='"$(VERSION_SPECIFICATION)"' \
|
||||
-DVERSION_DATE='"$(VERSION_DATE)"' \
|
||||
-DVENDOR_VERSION_STRING='"$(VENDOR_VERSION_STRING)"' \
|
||||
-DVERSION_CLASSFILE_MAJOR=$(VERSION_CLASSFILE_MAJOR) \
|
||||
-DVERSION_CLASSFILE_MINOR=$(VERSION_CLASSFILE_MINOR) \
|
||||
#
|
||||
|
||||
# Platform naming variables
|
||||
|
@ -30,6 +30,8 @@ DEFAULT_VERSION_INTERIM=0
|
||||
DEFAULT_VERSION_UPDATE=0
|
||||
DEFAULT_VERSION_PATCH=0
|
||||
DEFAULT_VERSION_DATE=2018-03-20
|
||||
DEFAULT_VERSION_CLASSFILE_MAJOR=55 # "`$EXPR $DEFAULT_VERSION_FEATURE + 44`"
|
||||
DEFAULT_VERSION_CLASSFILE_MINOR=0
|
||||
|
||||
LAUNCHER_NAME=openjdk
|
||||
PRODUCT_NAME=OpenJDK
|
||||
|
@ -24,6 +24,7 @@
|
||||
#
|
||||
|
||||
include CopyCommon.gmk
|
||||
include TextFileProcessing.gmk
|
||||
|
||||
$(eval $(call IncludeCustomExtension, copy/Copy-java.base.gmk))
|
||||
|
||||
@ -244,3 +245,16 @@ ifeq ($(ENABLE_LIBFFI_BUNDLING), true)
|
||||
endif
|
||||
|
||||
################################################################################
|
||||
# Generate classfile_constants.h
|
||||
|
||||
$(eval $(call SetupTextFileProcessing, CREATE_CLASSFILE_CONSTANTS_H, \
|
||||
SOURCE_FILES := $(TOPDIR)/src/java.base/share/native/include/classfile_constants.h.template, \
|
||||
OUTPUT_FILE := $(SUPPORT_OUTPUTDIR)/modules_include/java.base/classfile_constants.h, \
|
||||
REPLACEMENTS := \
|
||||
@@VERSION_CLASSFILE_MAJOR@@ => $(VERSION_CLASSFILE_MAJOR) ; \
|
||||
@@VERSION_CLASSFILE_MINOR@@ => $(VERSION_CLASSFILE_MINOR) ; , \
|
||||
))
|
||||
|
||||
TARGETS += $(CREATE_CLASSFILE_CONSTANTS_H)
|
||||
|
||||
################################################################################
|
||||
|
@ -39,20 +39,12 @@ ifneq ($(wildcard $(INCLUDE_SOURCE_DIR)/*), )
|
||||
$(eval $(call SetupCopyFiles, COPY_EXPORTED_INCLUDE, \
|
||||
SRC := $(INCLUDE_SOURCE_DIR), \
|
||||
DEST := $(INCLUDE_TARGET_DIR), \
|
||||
FILES := $(shell $(FIND) $(INCLUDE_SOURCE_DIR) -type f), \
|
||||
FILES := $(filter %.h, $(call CacheFind, $(INCLUDE_SOURCE_DIR))), \
|
||||
))
|
||||
|
||||
TARGETS += $(COPY_EXPORTED_INCLUDE)
|
||||
endif
|
||||
|
||||
# For historical reasons, the OS include directories have odd names.
|
||||
INCLUDE_TARGET_OS_SUBDIR := $(OPENJDK_TARGET_OS)
|
||||
ifeq ($(OPENJDK_TARGET_OS), windows)
|
||||
INCLUDE_TARGET_OS_SUBDIR := win32
|
||||
else ifeq ($(OPENJDK_TARGET_OS), macosx)
|
||||
INCLUDE_TARGET_OS_SUBDIR := darwin
|
||||
endif
|
||||
|
||||
# Use the most specific of OS and OS_TYPE.
|
||||
INCLUDE_SOURCE_OS_DIR := $(TOPDIR)/src/$(MODULE)/$(OPENJDK_TARGET_OS)/native/include
|
||||
ifeq ($(wildcard $(INCLUDE_SOURCE_OS_DIR)/*), )
|
||||
@ -62,8 +54,8 @@ endif
|
||||
ifneq ($(wildcard $(INCLUDE_SOURCE_OS_DIR)/*), )
|
||||
$(eval $(call SetupCopyFiles, COPY_EXPORTED_INCLUDE_OS, \
|
||||
SRC := $(INCLUDE_SOURCE_OS_DIR), \
|
||||
DEST := $(INCLUDE_TARGET_DIR)/$(INCLUDE_TARGET_OS_SUBDIR), \
|
||||
FILES := $(shell $(FIND) $(INCLUDE_SOURCE_OS_DIR) -type f), \
|
||||
DEST := $(INCLUDE_TARGET_DIR)/$(OPENJDK_TARGET_OS_INCLUDE_SUBDIR), \
|
||||
FILES := $(filter %.h, $(call CacheFind, $(INCLUDE_SOURCE_OS_DIR))), \
|
||||
))
|
||||
|
||||
TARGETS += $(COPY_EXPORTED_INCLUDE_OS)
|
||||
|
@ -92,10 +92,10 @@ ifneq ($(COMPILE_TYPE), cross)
|
||||
endif
|
||||
|
||||
SIZER_CFLAGS := \
|
||||
-I${TOPDIR}/src/hotspot/share/include \
|
||||
-I${TOPDIR}/src/hotspot/os/$(HOTSPOT_TARGET_OS_TYPE)/include \
|
||||
-I$(TOPDIR)/src/java.base/share/native/include \
|
||||
-I$(TOPDIR)/src/java.base/$(OPENJDK_TARGET_OS_TYPE)/native/include \
|
||||
-I$(TOPDIR)/src/hotspot/share/include \
|
||||
-I$(TOPDIR)/src/hotspot/os/$(HOTSPOT_TARGET_OS_TYPE)/include \
|
||||
-I$(SUPPORT_OUTPUTDIR)/modules_include/java.base \
|
||||
-I$(SUPPORT_OUTPUTDIR)/modules_include/java.base/$(OPENJDK_TARGET_OS_INCLUDE_SUBDIR) \
|
||||
-I$(TOPDIR)/src/java.base/share/native/libjava \
|
||||
-I$(TOPDIR)/src/java.base/$(OPENJDK_TARGET_OS_TYPE)/native/libjava \
|
||||
-I$(TOPDIR)/src/java.desktop/$(OPENJDK_TARGET_OS_TYPE)/native/common/awt \
|
||||
|
@ -59,8 +59,8 @@ JVM_CFLAGS_INCLUDES += \
|
||||
-I$(TOPDIR)/src/hotspot/share/precompiled \
|
||||
-I$(TOPDIR)/src/hotspot/share/include \
|
||||
-I$(TOPDIR)/src/hotspot/os/$(HOTSPOT_TARGET_OS_TYPE)/include \
|
||||
-I$(TOPDIR)/src/java.base/share/native/include \
|
||||
-I$(TOPDIR)/src/java.base/$(OPENJDK_TARGET_OS_TYPE)/native/include \
|
||||
-I$(SUPPORT_OUTPUTDIR)/modules_include/java.base \
|
||||
-I$(SUPPORT_OUTPUTDIR)/modules_include/java.base/$(OPENJDK_TARGET_OS_INCLUDE_SUBDIR) \
|
||||
-I$(TOPDIR)/src/java.base/share/native/libjimage \
|
||||
#
|
||||
|
||||
|
@ -86,8 +86,6 @@
|
||||
|
||||
#define JAVA_CLASSFILE_MAGIC 0xCAFEBABE
|
||||
#define JAVA_MIN_SUPPORTED_VERSION 45
|
||||
#define JAVA_MAX_SUPPORTED_VERSION 54
|
||||
#define JAVA_MAX_SUPPORTED_MINOR_VERSION 0
|
||||
|
||||
// Used for two backward compatibility reasons:
|
||||
// - to check for new additions to the class file format in JDK1.5
|
||||
@ -110,6 +108,8 @@
|
||||
|
||||
#define JAVA_10_VERSION 54
|
||||
|
||||
#define JAVA_11_VERSION 55
|
||||
|
||||
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");
|
||||
@ -4642,11 +4642,11 @@ static bool has_illegal_visibility(jint flags) {
|
||||
}
|
||||
|
||||
static bool is_supported_version(u2 major, u2 minor){
|
||||
const u2 max_version = JAVA_MAX_SUPPORTED_VERSION;
|
||||
const u2 max_version = JVM_CLASSFILE_MAJOR_VERSION;
|
||||
return (major >= JAVA_MIN_SUPPORTED_VERSION) &&
|
||||
(major <= max_version) &&
|
||||
((major != max_version) ||
|
||||
(minor <= JAVA_MAX_SUPPORTED_MINOR_VERSION));
|
||||
(minor <= JVM_CLASSFILE_MINOR_VERSION));
|
||||
}
|
||||
|
||||
void ClassFileParser::verify_legal_field_modifiers(jint flags,
|
||||
@ -5808,8 +5808,8 @@ void ClassFileParser::parse_stream(const ClassFileStream* const stream,
|
||||
_class_name->as_C_string(),
|
||||
_major_version,
|
||||
_minor_version,
|
||||
JAVA_MAX_SUPPORTED_VERSION,
|
||||
JAVA_MAX_SUPPORTED_MINOR_VERSION);
|
||||
JVM_CLASSFILE_MAJOR_VERSION,
|
||||
JVM_CLASSFILE_MINOR_VERSION);
|
||||
return;
|
||||
}
|
||||
|
||||
|
@ -48,6 +48,7 @@ class Constants {
|
||||
1.8 to 1.8.X 52,0
|
||||
1.9 to 1.9.X 53,0
|
||||
1.10 to 1.10.X 54,0
|
||||
1.11 to 1.11.X 55,0
|
||||
*/
|
||||
|
||||
public static final Package.Version JAVA_MIN_CLASS_VERSION =
|
||||
@ -71,6 +72,9 @@ class Constants {
|
||||
public static final Package.Version JAVA10_MAX_CLASS_VERSION =
|
||||
Package.Version.of(54, 00);
|
||||
|
||||
public static final Package.Version JAVA11_MAX_CLASS_VERSION =
|
||||
Package.Version.of(55, 00);
|
||||
|
||||
public static final int JAVA_PACKAGE_MAGIC = 0xCAFED00D;
|
||||
|
||||
public static final Package.Version JAVA5_PACKAGE_VERSION =
|
||||
@ -87,7 +91,7 @@ class Constants {
|
||||
|
||||
// upper limit, should point to the latest class version
|
||||
public static final Package.Version JAVA_MAX_CLASS_VERSION =
|
||||
JAVA10_MAX_CLASS_VERSION;
|
||||
JAVA11_MAX_CLASS_VERSION;
|
||||
|
||||
// upper limit should point to the latest package version, for version info!.
|
||||
public static final Package.Version MAX_PACKAGE_VERSION =
|
||||
|
@ -64,7 +64,7 @@ import static jdk.internal.module.ClassFileConstants.*;
|
||||
public final class ModuleInfo {
|
||||
|
||||
private final int JAVA_MIN_SUPPORTED_VERSION = 53;
|
||||
private final int JAVA_MAX_SUPPORTED_VERSION = 54;
|
||||
private final int JAVA_MAX_SUPPORTED_VERSION = 55;
|
||||
|
||||
private static final JavaLangModuleAccess JLMA
|
||||
= SharedSecrets.getJavaLangModuleAccess();
|
||||
|
@ -185,7 +185,7 @@ public class ClassReader {
|
||||
public ClassReader(final byte[] b, final int off, final int len) {
|
||||
this.b = b;
|
||||
// checks the class version
|
||||
if (readShort(off + 6) > Opcodes.V10) {
|
||||
if (readShort(off + 6) > Opcodes.V11) {
|
||||
throw new IllegalArgumentException();
|
||||
}
|
||||
// parses the constant pool
|
||||
|
@ -90,6 +90,7 @@ public interface Opcodes {
|
||||
int V1_8 = 0 << 16 | 52;
|
||||
int V9 = 0 << 16 | 53;
|
||||
int V10 = 0 << 16 | 54;
|
||||
int V11 = 0 << 16 | 55;
|
||||
|
||||
// access flags
|
||||
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2004, 2016, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 2004, 2017, 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
|
||||
@ -31,8 +31,8 @@ extern "C" {
|
||||
#endif
|
||||
|
||||
/* Classfile version number for this information */
|
||||
#define JVM_CLASSFILE_MAJOR_VERSION 54
|
||||
#define JVM_CLASSFILE_MINOR_VERSION 0
|
||||
#define JVM_CLASSFILE_MAJOR_VERSION @@VERSION_CLASSFILE_MAJOR@@
|
||||
#define JVM_CLASSFILE_MINOR_VERSION @@VERSION_CLASSFILE_MINOR@@
|
||||
|
||||
/* Flags */
|
||||
|
@ -114,9 +114,6 @@ Java_java_lang_System_identityHashCode(JNIEnv *env, jobject this, jobject x)
|
||||
#define VENDOR_URL_BUG "http://bugreport.java.com/bugreport/"
|
||||
#endif
|
||||
|
||||
#define JAVA_MAX_SUPPORTED_VERSION 54
|
||||
#define JAVA_MAX_SUPPORTED_MINOR_VERSION 0
|
||||
|
||||
#ifdef JAVA_SPECIFICATION_VENDOR /* Third party may NOT overwrite this. */
|
||||
#error "ERROR: No override of JAVA_SPECIFICATION_VENDOR is allowed"
|
||||
#else
|
||||
@ -219,8 +216,8 @@ Java_java_lang_System_initProperties(JNIEnv *env, jclass cla, jobject props)
|
||||
PUTPROP(props, "java.vendor.url", VENDOR_URL);
|
||||
PUTPROP(props, "java.vendor.url.bug", VENDOR_URL_BUG);
|
||||
|
||||
jio_snprintf(buf, sizeof(buf), "%d.%d", JAVA_MAX_SUPPORTED_VERSION,
|
||||
JAVA_MAX_SUPPORTED_MINOR_VERSION);
|
||||
jio_snprintf(buf, sizeof(buf), "%d.%d", JVM_CLASSFILE_MAJOR_VERSION,
|
||||
JVM_CLASSFILE_MINOR_VERSION);
|
||||
PUTPROP(props, "java.class.version", buf);
|
||||
|
||||
if (sprops->awt_toolkit) {
|
||||
|
@ -111,7 +111,8 @@ public class ClassFile {
|
||||
V51(51, 0), // JDK 1.7
|
||||
V52(52, 0), // JDK 1.8: lambda, type annos, param names
|
||||
V53(53, 0), // JDK 1.9: modules, indy string concat
|
||||
V54(54, 0); // JDK 10
|
||||
V54(54, 0), // JDK 10
|
||||
V55(55, 0); // JDK 11: constant dynamic
|
||||
Version(int major, int minor) {
|
||||
this.major = major;
|
||||
this.minor = minor;
|
||||
|
@ -67,7 +67,7 @@ public enum Target {
|
||||
JDK1_10("1.10", 54, 0),
|
||||
|
||||
/** JDK 11. */
|
||||
JDK1_11("11", 54, 0); // Initially an alias for JDK_10
|
||||
JDK1_11("11", 55, 0);
|
||||
|
||||
private static final Context.Key<Target> targetKey = new Context.Key<>();
|
||||
|
||||
|
@ -47,7 +47,7 @@ public class Classfile {
|
||||
private final List<ClassfileBytecode> codeAttributes;
|
||||
|
||||
private static final int MAJOR_VERSION_JAVA_MIN = 51;
|
||||
private static final int MAJOR_VERSION_JAVA_MAX = 54;
|
||||
private static final int MAJOR_VERSION_JAVA_MAX = 55;
|
||||
private static final int MAGIC = 0xCAFEBABE;
|
||||
|
||||
/**
|
||||
|
@ -67,7 +67,7 @@ public interface RuntimeConstants {
|
||||
/* Class File Constants */
|
||||
int JAVA_MAGIC = 0xcafebabe;
|
||||
int JAVA_MIN_SUPPORTED_VERSION = 45;
|
||||
int JAVA_MAX_SUPPORTED_VERSION = 54;
|
||||
int JAVA_MAX_SUPPORTED_VERSION = 55;
|
||||
int JAVA_MAX_SUPPORTED_MINOR_VERSION = 0;
|
||||
|
||||
/* Generate class file version for 1.1 by default */
|
||||
|
43
test/hotspot/jtreg/runtime/classFileParserBug/Class55.jasm
Normal file
43
test/hotspot/jtreg/runtime/classFileParserBug/Class55.jasm
Normal file
@ -0,0 +1,43 @@
|
||||
/*
|
||||
* Copyright (c) 2017, 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
|
||||
* under the terms of the GNU General Public License version 2 only, as
|
||||
* published by the Free Software Foundation.
|
||||
*
|
||||
* This code is distributed in the hope that it will be useful, but WITHOUT
|
||||
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
* version 2 for more details (a copy is included in the LICENSE file that
|
||||
* accompanied this code).
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License version
|
||||
* 2 along with this work; if not, write to the Free Software Foundation,
|
||||
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
*
|
||||
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
|
||||
* or visit www.oracle.com if you need additional information or have any
|
||||
* questions.
|
||||
*/
|
||||
|
||||
/*
|
||||
* @test
|
||||
* @bug 8173382
|
||||
* @summary Check that the JVM accepts class files with version 55
|
||||
* @run main Class55
|
||||
*/
|
||||
|
||||
super public class Class55 version 55:0 {
|
||||
|
||||
public Method "<init>":"()V" stack 1 locals 1 {
|
||||
aload_0;
|
||||
invokespecial Method java/lang/Object."<init>":"()V";
|
||||
return;
|
||||
}
|
||||
|
||||
public static Method main:"([Ljava/lang/String;)V" stack 0 locals 1 {
|
||||
return;
|
||||
}
|
||||
|
||||
} // end Class Class55
|
@ -54,6 +54,8 @@ public class ClassFileVersionsTest {
|
||||
{ 53, 0, Set.of(STATIC, TRANSITIVE) },
|
||||
|
||||
{ 54, 0, Set.of() }, // JDK 10
|
||||
|
||||
{ 55, 0, Set.of()}, // JDK 11
|
||||
};
|
||||
}
|
||||
|
||||
@ -69,7 +71,11 @@ public class ClassFileVersionsTest {
|
||||
{ 54, 0, Set.of(TRANSITIVE) },
|
||||
{ 54, 0, Set.of(STATIC, TRANSITIVE) },
|
||||
|
||||
{ 55, 0, Set.of()}, // JDK 11
|
||||
{ 55, 0, Set.of(STATIC) }, // JDK 11
|
||||
{ 55, 0, Set.of(TRANSITIVE) },
|
||||
{ 55, 0, Set.of(STATIC, TRANSITIVE) },
|
||||
|
||||
{ 56, 0, Set.of()}, // JDK 12
|
||||
};
|
||||
}
|
||||
|
||||
|
@ -32,8 +32,8 @@
|
||||
* jdk.compiler/com.sun.tools.javac.main
|
||||
* jdk.compiler/com.sun.tools.javac.util
|
||||
* @clean T1 T2
|
||||
* @compile -source 10 -target 10 T1.java
|
||||
* @compile -source 10 -target 10 T2.java
|
||||
* @compile -source 10 -target 11 T1.java
|
||||
* @compile -source 10 -target 11 T2.java
|
||||
* @run main/othervm T6330997
|
||||
*/
|
||||
|
||||
|
@ -23,7 +23,7 @@
|
||||
|
||||
/*
|
||||
* @test
|
||||
* @bug 7157626 8001112 8188870
|
||||
* @bug 7157626 8001112 8188870 8173382
|
||||
* @summary Test major version for all legal combinations for -source and -target
|
||||
* @author sgoel
|
||||
*
|
||||
@ -38,7 +38,7 @@ import java.util.regex.*;
|
||||
public class ClassVersionChecker {
|
||||
|
||||
int errors;
|
||||
String[] jdk = {"", "1.6", "1.7", "1.8", "1.9", "1.10"};
|
||||
String[] jdk = {"", "1.6", "1.7", "1.8", "1.9", "1.10", "11"};
|
||||
File javaFile = null;
|
||||
|
||||
public static void main(String[] args) throws Throwable {
|
||||
@ -58,11 +58,12 @@ public class ClassVersionChecker {
|
||||
* -1 => invalid combinations
|
||||
*/
|
||||
int[][] ver =
|
||||
{{54, -1, -1, -1, -1, -1},
|
||||
{54, 50, 51, 52, 53, 54},
|
||||
{54, -1, 51, 52, 53, 54},
|
||||
{54, -1, -1, 52, 53, 54},
|
||||
{54, -1, -1, -1, 53, 54}};
|
||||
{{55, -1, -1, -1, -1, -1, -1},
|
||||
{55, 50, 51, 52, 53, 54, 55},
|
||||
{55, -1, 51, 52, 53, 54, 55},
|
||||
{55, -1, -1, 52, 53, 54, 55},
|
||||
{55, -1, -1, -1, 53, 54, 55},
|
||||
{55, -1, -1, -1, -1, 54, 55}};
|
||||
|
||||
// Loop to run all possible combinations of source/target values
|
||||
for (int i = 0; i< ver.length; i++) {
|
||||
|
@ -23,7 +23,7 @@
|
||||
|
||||
/*
|
||||
* @test
|
||||
* @bug 4981566 5028634 5094412 6304984 7025786 7025789 8001112 8028545 8000961 8030610 8028546 8188870 8173382
|
||||
* @bug 4981566 5028634 5094412 6304984 7025786 7025789 8001112 8028545 8000961 8030610 8028546 8188870 8173382 8173382
|
||||
* @summary Check interpretation of -target and -source options
|
||||
* @modules java.compiler
|
||||
* jdk.compiler
|
||||
@ -64,13 +64,13 @@ public class Versions {
|
||||
String TC = "";
|
||||
System.out.println("Version.java: Starting");
|
||||
|
||||
check("54.0");
|
||||
check("54.0", "-source 1.6");
|
||||
check("54.0", "-source 1.7");
|
||||
check("54.0", "-source 1.8");
|
||||
check("54.0", "-source 1.9");
|
||||
check("54.0", "-source 1.10");
|
||||
check("54.0", "-source 11");
|
||||
check("55.0");
|
||||
check("55.0", "-source 1.6");
|
||||
check("55.0", "-source 1.7");
|
||||
check("55.0", "-source 1.8");
|
||||
check("55.0", "-source 1.9");
|
||||
check("55.0", "-source 1.10");
|
||||
check("55.0", "-source 11");
|
||||
|
||||
check_source_target(true, "50.0", "6", "6");
|
||||
check_source_target(true, "51.0", "6", "7");
|
||||
@ -87,7 +87,12 @@ public class Versions {
|
||||
check_source_target(true, "54.0", "8", "10");
|
||||
check_source_target(true, "54.0", "9", "10");
|
||||
check_source_target(true, "54.0", "10", "10");
|
||||
check_source_target(false, "54.0", "11", "11");
|
||||
check_source_target(false, "55.0", "6", "11");
|
||||
check_source_target(false, "55.0", "7", "11");
|
||||
check_source_target(false, "55.0", "8", "11");
|
||||
check_source_target(false, "55.0", "9", "11");
|
||||
check_source_target(false, "55.0", "10", "11");
|
||||
check_source_target(false, "55.0", "11", "11");
|
||||
|
||||
checksrc16("-source 1.6");
|
||||
checksrc16("-source 6");
|
||||
|
Loading…
Reference in New Issue
Block a user