# HG changeset patch # User amurillo # Date 1398373600 25200 # Node ID 641b2b1b0163b9e022b09b6d517dc4eb254810d0 # Parent 7b210ef8c830f66ee886c3c9c85028905aa01e63 8030011: Update Hotspot version string output Reviewed-by: dholmes, jcoomes, kvn diff -r 7b210ef8c830 -r 641b2b1b0163 hotspot/make/aix/makefiles/buildtree.make --- a/hotspot/make/aix/makefiles/buildtree.make Thu Apr 03 14:54:42 2014 +0200 +++ b/hotspot/make/aix/makefiles/buildtree.make Thu Apr 24 14:06:40 2014 -0700 @@ -37,7 +37,7 @@ # GAMMADIR - top of workspace # OS_FAMILY - operating system # VARIANT - core, compiler1, compiler2, or tiered -# HOTSPOT_RELEASE_VERSION - .-b (11.0-b07) +# HOTSPOT_RELEASE_VERSION - ..[-][-][-b] # HOTSPOT_BUILD_VERSION - internal, internal-$(USER_RELEASE_SUFFIX) or empty # JRE_RELEASE_VERSION - .. (1.7.0) # diff -r 7b210ef8c830 -r 641b2b1b0163 hotspot/make/aix/makefiles/vm.make --- a/hotspot/make/aix/makefiles/vm.make Thu Apr 03 14:54:42 2014 +0200 +++ b/hotspot/make/aix/makefiles/vm.make Thu Apr 24 14:06:40 2014 -0700 @@ -73,17 +73,14 @@ endif endif -# HOTSPOT_RELEASE_VERSION and HOTSPOT_BUILD_VERSION are defined -# in $(GAMMADIR)/make/defs.make -ifeq ($(HOTSPOT_BUILD_VERSION),) - BUILD_VERSION = -DHOTSPOT_RELEASE_VERSION="\"$(HOTSPOT_RELEASE_VERSION)\"" -else - BUILD_VERSION = -DHOTSPOT_RELEASE_VERSION="\"$(HOTSPOT_RELEASE_VERSION)-$(HOTSPOT_BUILD_VERSION)\"" -endif - # The following variables are defined in the generated flags.make file. -BUILD_VERSION = -DHOTSPOT_RELEASE_VERSION="\"$(HS_BUILD_VER)\"" -JRE_VERSION = -DJRE_RELEASE_VERSION="\"$(JRE_RELEASE_VER)\"" +JDK_VER_DEFS = -DJDK_MAJOR_VERSION="\"$(JDK_MAJOR_VERSION)\"" \ + -DJDK_MINOR_VERSION="\"$(JDK_MINOR_VERSION)\"" \ + -DJDK_MICRO_VERSION="\"$(JDK_MICRO_VERSION)\"" \ + -DJDK_BUILD_NUMBER="\"$(JDK_BUILD_NUMBER)\"" +VM_VER_DEFS = -DHOTSPOT_RELEASE_VERSION="\"$(HS_BUILD_VER)\"" \ + -DJRE_RELEASE_VERSION="\"$(JRE_RELEASE_VER)\"" \ + $(JDK_VER_DEFS) HS_LIB_ARCH = -DHOTSPOT_LIB_ARCH=\"$(LIBARCH)\" BUILD_TARGET = -DHOTSPOT_BUILD_TARGET="\"$(TARGET)\"" BUILD_USER = -DHOTSPOT_BUILD_USER="\"$(HOTSPOT_BUILD_USER)\"" @@ -92,7 +89,6 @@ CXXFLAGS = \ ${SYSDEFS} \ ${INCLUDES} \ - ${BUILD_VERSION} \ ${BUILD_TARGET} \ ${BUILD_USER} \ ${HS_LIB_ARCH} \ @@ -101,7 +97,7 @@ # This is VERY important! The version define must only be supplied to vm_version.o # If not, ccache will not re-use the cache at all, since the version string might contain # a time and date. -CXXFLAGS/vm_version.o += ${JRE_VERSION} +CXXFLAGS/vm_version.o += ${VM_VER_DEFS} CXXFLAGS/BYFILE = $(CXXFLAGS/$@) diff -r 7b210ef8c830 -r 641b2b1b0163 hotspot/make/bsd/makefiles/buildtree.make --- a/hotspot/make/bsd/makefiles/buildtree.make Thu Apr 03 14:54:42 2014 +0200 +++ b/hotspot/make/bsd/makefiles/buildtree.make Thu Apr 24 14:06:40 2014 -0700 @@ -36,7 +36,7 @@ # GAMMADIR - top of workspace # OS_FAMILY - operating system # VARIANT - core, compiler1, compiler2, or tiered -# HOTSPOT_RELEASE_VERSION - .-b (11.0-b07) +# HOTSPOT_RELEASE_VERSION - ..[-][-][-b] # HOTSPOT_BUILD_VERSION - internal, internal-$(USER_RELEASE_SUFFIX) or empty # JRE_RELEASE_VERSION - .. (1.7.0) # diff -r 7b210ef8c830 -r 641b2b1b0163 hotspot/make/bsd/makefiles/vm.make --- a/hotspot/make/bsd/makefiles/vm.make Thu Apr 03 14:54:42 2014 +0200 +++ b/hotspot/make/bsd/makefiles/vm.make Thu Apr 24 14:06:40 2014 -0700 @@ -72,17 +72,14 @@ endif endif -# HOTSPOT_RELEASE_VERSION and HOTSPOT_BUILD_VERSION are defined -# in $(GAMMADIR)/make/defs.make -ifeq ($(HOTSPOT_BUILD_VERSION),) - BUILD_VERSION = -DHOTSPOT_RELEASE_VERSION="\"$(HOTSPOT_RELEASE_VERSION)\"" -else - BUILD_VERSION = -DHOTSPOT_RELEASE_VERSION="\"$(HOTSPOT_RELEASE_VERSION)-$(HOTSPOT_BUILD_VERSION)\"" -endif - # The following variables are defined in the generated flags.make file. -BUILD_VERSION = -DHOTSPOT_RELEASE_VERSION="\"$(HS_BUILD_VER)\"" -JRE_VERSION = -DJRE_RELEASE_VERSION="\"$(JRE_RELEASE_VER)\"" +JDK_VER_DEFS = -DJDK_MAJOR_VERSION="\"$(JDK_MAJOR_VERSION)\"" \ + -DJDK_MINOR_VERSION="\"$(JDK_MINOR_VERSION)\"" \ + -DJDK_MICRO_VERSION="\"$(JDK_MICRO_VERSION)\"" \ + -DJDK_BUILD_NUMBER="\"$(JDK_BUILD_NUMBER)\"" +VM_VER_DEFS = -DHOTSPOT_RELEASE_VERSION="\"$(HS_BUILD_VER)\"" \ + -DJRE_RELEASE_VERSION="\"$(JRE_RELEASE_VER)\"" \ + $(JDK_VER_DEFS) HS_LIB_ARCH = -DHOTSPOT_LIB_ARCH=\"$(LIBARCH)\" BUILD_TARGET = -DHOTSPOT_BUILD_TARGET="\"$(TARGET)\"" BUILD_USER = -DHOTSPOT_BUILD_USER="\"$(HOTSPOT_BUILD_USER)\"" @@ -91,7 +88,6 @@ CXXFLAGS = \ ${SYSDEFS} \ ${INCLUDES} \ - ${BUILD_VERSION} \ ${BUILD_TARGET} \ ${BUILD_USER} \ ${HS_LIB_ARCH} \ @@ -100,7 +96,7 @@ # This is VERY important! The version define must only be supplied to vm_version.o # If not, ccache will not re-use the cache at all, since the version string might contain # a time and date. -CXXFLAGS/vm_version.o += ${JRE_VERSION} +CXXFLAGS/vm_version.o += ${VM_VER_DEFS} CXXFLAGS/BYFILE = $(CXXFLAGS/$@) diff -r 7b210ef8c830 -r 641b2b1b0163 hotspot/make/defs.make --- a/hotspot/make/defs.make Thu Apr 03 14:54:42 2014 +0200 +++ b/hotspot/make/defs.make Thu Apr 24 14:06:40 2014 -0700 @@ -114,7 +114,7 @@ endif # hotspot version definitions -include $(GAMMADIR)/make/hotspot_version +include $(GAMMADIR)/make/jdk_version # Java versions needed ifeq ($(PREVIOUS_JDK_VERSION),) @@ -129,6 +129,9 @@ ifeq ($(JDK_MICRO_VERSION),) JDK_MICRO_VERSION=$(JDK_MICRO_VER) endif +ifeq ($(JDK_BUILD_NUMBER),) + JDK_BUILD_NUMBER=0 +endif ifeq ($(JDK_MKTG_VERSION),) JDK_MKTG_VERSION=$(JDK_MINOR_VERSION).$(JDK_MICRO_VERSION) endif @@ -146,7 +149,7 @@ endif ifndef HOTSPOT_RELEASE_VERSION - HOTSPOT_RELEASE_VERSION=$(HS_MAJOR_VER).$(HS_MINOR_VER)-b$(HS_BUILD_NUMBER) + HOTSPOT_RELEASE_VERSION=$(FULL_VERSION) endif ifdef HOTSPOT_BUILD_VERSION @@ -325,7 +328,6 @@ MAKE_ARGS += OUTPUTDIR=$(ABS_OUTPUTDIR) MAKE_ARGS += GAMMADIR=$(ABS_GAMMADIR) MAKE_ARGS += MAKE_VERBOSE=$(MAKE_VERBOSE) -MAKE_ARGS += HOTSPOT_RELEASE_VERSION=$(HOTSPOT_RELEASE_VERSION) MAKE_ARGS += JRE_RELEASE_VERSION=$(JRE_RELEASE_VERSION) # Pass HOTSPOT_BUILD_VERSION as argument to OS specific Makefile diff -r 7b210ef8c830 -r 641b2b1b0163 hotspot/make/hotspot_version --- a/hotspot/make/hotspot_version Thu Apr 03 14:54:42 2014 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,45 +0,0 @@ -# -# Copyright (c) 2006, 2013, 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. -# - -# -# - -# -# Master Hotspot version file. These values may be overridden by a control -# workspace build. This file format must remain compatible with both -# GNU Makefile and Microsoft nmake formats. -# - -# Don't put quotes (fail windows build). -HOTSPOT_VM_COPYRIGHT=Copyright 2013 - -HS_MAJOR_VER=25 -HS_MINOR_VER=0 -HS_BUILD_NUMBER=62 - -JDK_MAJOR_VER=1 -JDK_MINOR_VER=8 -JDK_MICRO_VER=0 - -# Previous (bootdir) JDK version -JDK_PREVIOUS_VERSION=1.7.0 diff -r 7b210ef8c830 -r 641b2b1b0163 hotspot/make/jdk_version --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/hotspot/make/jdk_version Thu Apr 24 14:06:40 2014 -0700 @@ -0,0 +1,36 @@ +# +# Copyright (c) 2006, 2014, 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. +# +# Master JDK version file. These values may be overridden by a control +# workspace build. This file format must remain compatible with both +# GNU Makefile and Microsoft nmake formats. +# + +# Don't put quotes (fail windows build). +HOTSPOT_VM_COPYRIGHT=Copyright 2014 + +JDK_MAJOR_VER=1 +JDK_MINOR_VER=9 +JDK_MICRO_VER=0 + +# Previous (bootdir) JDK version +JDK_PREVIOUS_VERSION=1.8.0 diff -r 7b210ef8c830 -r 641b2b1b0163 hotspot/make/linux/makefiles/buildtree.make --- a/hotspot/make/linux/makefiles/buildtree.make Thu Apr 03 14:54:42 2014 +0200 +++ b/hotspot/make/linux/makefiles/buildtree.make Thu Apr 24 14:06:40 2014 -0700 @@ -36,7 +36,7 @@ # GAMMADIR - top of workspace # OS_FAMILY - operating system # VARIANT - core, compiler1, compiler2, or tiered -# HOTSPOT_RELEASE_VERSION - .-b (11.0-b07) +# HOTSPOT_RELEASE_VERSION - ..[-][-][-b] # HOTSPOT_BUILD_VERSION - internal, internal-$(USER_RELEASE_SUFFIX) or empty # JRE_RELEASE_VERSION - .. (1.7.0) # diff -r 7b210ef8c830 -r 641b2b1b0163 hotspot/make/linux/makefiles/vm.make --- a/hotspot/make/linux/makefiles/vm.make Thu Apr 03 14:54:42 2014 +0200 +++ b/hotspot/make/linux/makefiles/vm.make Thu Apr 24 14:06:40 2014 -0700 @@ -73,17 +73,14 @@ endif endif -# HOTSPOT_RELEASE_VERSION and HOTSPOT_BUILD_VERSION are defined -# in $(GAMMADIR)/make/defs.make -ifeq ($(HOTSPOT_BUILD_VERSION),) - BUILD_VERSION = -DHOTSPOT_RELEASE_VERSION="\"$(HOTSPOT_RELEASE_VERSION)\"" -else - BUILD_VERSION = -DHOTSPOT_RELEASE_VERSION="\"$(HOTSPOT_RELEASE_VERSION)-$(HOTSPOT_BUILD_VERSION)\"" -endif - # The following variables are defined in the generated flags.make file. -BUILD_VERSION = -DHOTSPOT_RELEASE_VERSION="\"$(HS_BUILD_VER)\"" -JRE_VERSION = -DJRE_RELEASE_VERSION="\"$(JRE_RELEASE_VER)\"" +JDK_VER_DEFS = -DJDK_MAJOR_VERSION="\"$(JDK_MAJOR_VERSION)\"" \ + -DJDK_MINOR_VERSION="\"$(JDK_MINOR_VERSION)\"" \ + -DJDK_MICRO_VERSION="\"$(JDK_MICRO_VERSION)\"" \ + -DJDK_BUILD_NUMBER="\"$(JDK_BUILD_NUMBER)\"" +VM_VER_DEFS = -DHOTSPOT_RELEASE_VERSION="\"$(HS_BUILD_VER)\"" \ + -DJRE_RELEASE_VERSION="\"$(JRE_RELEASE_VER)\"" \ + $(JDK_VER_DEFS) HS_LIB_ARCH = -DHOTSPOT_LIB_ARCH=\"$(LIBARCH)\" BUILD_TARGET = -DHOTSPOT_BUILD_TARGET="\"$(TARGET)\"" BUILD_USER = -DHOTSPOT_BUILD_USER="\"$(HOTSPOT_BUILD_USER)\"" @@ -92,7 +89,6 @@ CXXFLAGS = \ ${SYSDEFS} \ ${INCLUDES} \ - ${BUILD_VERSION} \ ${BUILD_TARGET} \ ${BUILD_USER} \ ${HS_LIB_ARCH} \ @@ -101,7 +97,7 @@ # This is VERY important! The version define must only be supplied to vm_version.o # If not, ccache will not re-use the cache at all, since the version string might contain # a time and date. -CXXFLAGS/vm_version.o += ${JRE_VERSION} +CXXFLAGS/vm_version.o += ${VM_VER_DEFS} CXXFLAGS/BYFILE = $(CXXFLAGS/$@) diff -r 7b210ef8c830 -r 641b2b1b0163 hotspot/make/solaris/makefiles/buildtree.make --- a/hotspot/make/solaris/makefiles/buildtree.make Thu Apr 03 14:54:42 2014 +0200 +++ b/hotspot/make/solaris/makefiles/buildtree.make Thu Apr 24 14:06:40 2014 -0700 @@ -36,7 +36,7 @@ # GAMMADIR - top of workspace # OS_FAMILY - operating system # VARIANT - core, compiler1, compiler2, or tiered -# HOTSPOT_RELEASE_VERSION - .-b (11.0-b07) +# HOTSPOT_RELEASE_VERSION - ..[-][-][-b] # HOTSPOT_BUILD_VERSION - internal, internal-$(USER_RELEASE_SUFFIX) or empty # JRE_RELEASE_VERSION - .. (1.7.0) # diff -r 7b210ef8c830 -r 641b2b1b0163 hotspot/make/solaris/makefiles/vm.make --- a/hotspot/make/solaris/makefiles/vm.make Thu Apr 03 14:54:42 2014 +0200 +++ b/hotspot/make/solaris/makefiles/vm.make Thu Apr 24 14:06:40 2014 -0700 @@ -69,8 +69,13 @@ endif # The following variables are defined in the generated flags.make file. -BUILD_VERSION = -DHOTSPOT_RELEASE_VERSION="\"$(HS_BUILD_VER)\"" -JRE_VERSION = -DJRE_RELEASE_VERSION="\"$(JRE_RELEASE_VER)\"" +JDK_VER_DEFS = -DJDK_MAJOR_VERSION="\"$(JDK_MAJOR_VERSION)\"" \ + -DJDK_MINOR_VERSION="\"$(JDK_MINOR_VERSION)\"" \ + -DJDK_MICRO_VERSION="\"$(JDK_MICRO_VERSION)\"" \ + -DJDK_BUILD_NUMBER="\"$(JDK_BUILD_NUMBER)\"" +VM_VER_DEFS = -DHOTSPOT_RELEASE_VERSION="\"$(HS_BUILD_VER)\"" \ + -DJRE_RELEASE_VERSION="\"$(JRE_RELEASE_VER)\"" \ + $(JDK_VER_DEFS) HS_LIB_ARCH = -DHOTSPOT_LIB_ARCH=\"$(LIBARCH)\" BUILD_TARGET = -DHOTSPOT_BUILD_TARGET="\"$(TARGET)\"" BUILD_USER = -DHOTSPOT_BUILD_USER="\"$(HOTSPOT_BUILD_USER)\"" @@ -79,7 +84,6 @@ CXXFLAGS = \ ${SYSDEFS} \ ${INCLUDES} \ - ${BUILD_VERSION} \ ${BUILD_TARGET} \ ${BUILD_USER} \ ${HS_LIB_ARCH} \ @@ -88,7 +92,7 @@ # This is VERY important! The version define must only be supplied to vm_version.o # If not, ccache will not re-use the cache at all, since the version string might contain # a time and date. -CXXFLAGS/vm_version.o += ${JRE_VERSION} +CXXFLAGS/vm_version.o += ${VM_VER_DEFS} CXXFLAGS/BYFILE = $(CXXFLAGS/$@) diff -r 7b210ef8c830 -r 641b2b1b0163 hotspot/make/windows/build.make --- a/hotspot/make/windows/build.make Thu Apr 03 14:54:42 2014 +0200 +++ b/hotspot/make/windows/build.make Thu Apr 24 14:06:40 2014 -0700 @@ -117,7 +117,7 @@ # These can be overridden via the nmake.exe command line. # They are overridden by RE during the control builds. # -!include "$(WorkSpace)/make/hotspot_version" +!include "$(WorkSpace)/make/jdk_version" # Define HOTSPOT_VM_DISTRO based on settings in make/openjdk_distro # or make/hotspot_distro. @@ -163,7 +163,7 @@ # 1.6.0-b01 will be 6.0.0.1 # 1.6.0_01a-b02 will be 6.0.11.2 # -# JDK_* variables are defined in make/hotspot_version or on command line +# JDK_* variables are defined in make/jdk_version or on command line # JDK_VER=$(JDK_MINOR_VER),$(JDK_MICRO_VER),$(JDK_UPDATE_VER),$(JDK_BUILD_NUMBER) JDK_DOTVER=$(JDK_MINOR_VER).$(JDK_MICRO_VER).$(JDK_UPDATE_VER).$(JDK_BUILD_NUMBER) @@ -179,13 +179,12 @@ # Hotspot Express VM FileVersion: # 10.0-b will have DLL version 10.0.0.yz (need 4 numbers). # -# HS_* variables are defined in make/hotspot_version # -HS_VER=$(HS_MAJOR_VER),$(HS_MINOR_VER),0,$(HS_BUILD_NUMBER) -HS_DOTVER=$(HS_MAJOR_VER).$(HS_MINOR_VER).0.$(HS_BUILD_NUMBER) +HS_VER=$(JDK_VER) +HS_DOTVER=$(JDK_DOTVER) !if "$(HOTSPOT_RELEASE_VERSION)" == "" -HOTSPOT_RELEASE_VERSION=$(HS_MAJOR_VER).$(HS_MINOR_VER)-b$(HS_BUILD_NUMBER) +HOTSPOT_RELEASE_VERSION=$(JRE_RELEASE_VERSION) !endif !if "$(HOTSPOT_BUILD_VERSION)" == "" diff -r 7b210ef8c830 -r 641b2b1b0163 hotspot/make/windows/makefiles/defs.make --- a/hotspot/make/windows/makefiles/defs.make Thu Apr 03 14:54:42 2014 +0200 +++ b/hotspot/make/windows/makefiles/defs.make Thu Apr 24 14:06:40 2014 -0700 @@ -179,9 +179,9 @@ # next parameters are defined in $(GAMMADIR)/make/defs.make. MAKE_ARGS += JDK_MKTG_VERSION=$(JDK_MKTG_VERSION) -MAKE_ARGS += JDK_MAJOR_VER=$(JDK_MAJOR_VERSION) -MAKE_ARGS += JDK_MINOR_VER=$(JDK_MINOR_VERSION) -MAKE_ARGS += JDK_MICRO_VER=$(JDK_MICRO_VERSION) +MAKE_ARGS += JDK_MAJOR_VERSION=$(JDK_MAJOR_VERSION) +MAKE_ARGS += JDK_MINOR_VERSION=$(JDK_MINOR_VERSION) +MAKE_ARGS += JDK_MICRO_VERSION=$(JDK_MICRO_VERSION) ifdef COOKED_JDK_UPDATE_VERSION MAKE_ARGS += JDK_UPDATE_VER=$(COOKED_JDK_UPDATE_VERSION) diff -r 7b210ef8c830 -r 641b2b1b0163 hotspot/make/windows/makefiles/vm.make --- a/hotspot/make/windows/makefiles/vm.make Thu Apr 03 14:54:42 2014 +0200 +++ b/hotspot/make/windows/makefiles/vm.make Thu Apr 24 14:06:40 2014 -0700 @@ -56,6 +56,10 @@ # The following variables are defined in the generated local.make file. CXX_FLAGS=$(CXX_FLAGS) /D "HOTSPOT_RELEASE_VERSION=\"$(HS_BUILD_VER)\"" +CXX_FLAGS=$(CXX_FLAGS) /D "JDK_MAJOR_VERSION=\"$(JDK_MAJOR_VERSION)\"" +CXX_FLAGS=$(CXX_FLAGS) /D "JDK_MINOR_VERSION=\"$(JDK_MINOR_VERSION)\"" +CXX_FLAGS=$(CXX_FLAGS) /D "JDK_MICRO_VERSION=\"$(JDK_MICRO_VERSION)\"" +CXX_FLAGS=$(CXX_FLAGS) /D "JDK_BUILD_NUMBER=\"$(JDK_BUILD_NUMBER)\"" CXX_FLAGS=$(CXX_FLAGS) /D "JRE_RELEASE_VERSION=\"$(JRE_RELEASE_VER)\"" CXX_FLAGS=$(CXX_FLAGS) /D "HOTSPOT_LIB_ARCH=\"$(HOTSPOT_LIB_ARCH)\"" CXX_FLAGS=$(CXX_FLAGS) /D "HOTSPOT_BUILD_TARGET=\"$(BUILD_FLAVOR)\"" diff -r 7b210ef8c830 -r 641b2b1b0163 hotspot/make/windows/projectfiles/common/Makefile --- a/hotspot/make/windows/projectfiles/common/Makefile Thu Apr 03 14:54:42 2014 +0200 +++ b/hotspot/make/windows/projectfiles/common/Makefile Thu Apr 24 14:06:40 2014 -0700 @@ -78,24 +78,23 @@ default:: $(AdditionalTargets) $(JvmtiGeneratedFiles) $(TraceGeneratedFiles) -!include $(HOTSPOTWORKSPACE)/make/hotspot_version +!include $(HOTSPOTWORKSPACE)/make/jdk_version !if "$(USER_RELEASE_SUFFIX)" != "" HOTSPOT_BUILD_VERSION = internal-$(USER_RELEASE_SUFFIX) !else HOTSPOT_BUILD_VERSION = internal !endif -!if "$(HOTSPOT_RELEASE_VERSION)" != "" -HOTSPOT_RELEASE_VERSION="\\\"$(HOTSPOT_RELEASE_VERSION)\\\"" -!else -HOTSPOT_RELEASE_VERSION="\\\"$(HS_MAJOR_VER).$(HS_MINOR_VER)-b$(HS_BUILD_NUMBER)-$(HOTSPOT_BUILD_VERSION)\\\"" -!endif !if "$(JRE_RELEASE_VERSION)" != "" JRE_RELEASE_VERSION="\\\"$(JRE_RELEASE_VERSION)\\\"" !else JRE_RELEASE_VERSION="\\\"$(JDK_MAJOR_VER).$(JDK_MINOR_VER).$(JDK_MICRO_VER)\\\"" !endif - +!if "$(HOTSPOT_RELEASE_VERSION)" != "" +HOTSPOT_RELEASE_VERSION="\\\"$(HOTSPOT_RELEASE_VERSION)\\\"" +!else +HOTSPOT_RELEASE_VERSION="\\\"$(JRE_RELEASE_VERSION)\\\"" +!endif # Define HOTSPOT_VM_DISTRO if HOTSPOT_VM_DISTRO is set, # and if it is not see if we have the src/closed directory !if "$(HOTSPOT_VM_DISTRO)" != "" diff -r 7b210ef8c830 -r 641b2b1b0163 hotspot/src/share/vm/prims/jvm.h --- a/hotspot/src/share/vm/prims/jvm.h Thu Apr 03 14:54:42 2014 +0200 +++ b/hotspot/src/share/vm/prims/jvm.h Thu Apr 24 14:06:40 2014 -0700 @@ -1553,12 +1553,10 @@ * ========================================================================== */ typedef struct { - /* HotSpot Express VM version string: - * .-bxx[-][-] - */ - unsigned int jvm_version; /* Consists of major.minor.0.build */ - unsigned int update_version : 8; /* 0 in HotSpot Express VM */ - unsigned int special_update_version : 8; /* 0 in HotSpot Express VM */ + /* VM version string: follows the JDK release version naming convention */ + unsigned int jvm_version; /* ..[-][-][-b] */ + unsigned int update_version : 8; + unsigned int special_update_version : 8; unsigned int reserved1 : 16; unsigned int reserved2; @@ -1577,11 +1575,7 @@ #define JVM_VERSION_MAJOR(version) ((version & 0xFF000000) >> 24) #define JVM_VERSION_MINOR(version) ((version & 0x00FF0000) >> 16) -// Micro version is 0 in HotSpot Express VM (set in jvm.cpp). #define JVM_VERSION_MICRO(version) ((version & 0x0000FF00) >> 8) -/* Build number is available in all HotSpot Express VM builds. - * It is defined in make/hotspot_version file. - */ #define JVM_VERSION_BUILD(version) ((version & 0x000000FF)) JNIEXPORT void JNICALL diff -r 7b210ef8c830 -r 641b2b1b0163 hotspot/src/share/vm/runtime/vmStructs.cpp --- a/hotspot/src/share/vm/runtime/vmStructs.cpp Thu Apr 03 14:54:42 2014 +0200 +++ b/hotspot/src/share/vm/runtime/vmStructs.cpp Thu Apr 24 14:06:40 2014 -0700 @@ -1218,6 +1218,7 @@ static_field(Abstract_VM_Version, _s_internal_vm_info_string, const char*) \ static_field(Abstract_VM_Version, _vm_major_version, int) \ static_field(Abstract_VM_Version, _vm_minor_version, int) \ + static_field(Abstract_VM_Version, _vm_micro_version, int) \ static_field(Abstract_VM_Version, _vm_build_number, int) \ static_field(Abstract_VM_Version, _reserve_for_allocation_prefetch, int) \ \ diff -r 7b210ef8c830 -r 641b2b1b0163 hotspot/src/share/vm/runtime/vm_version.cpp --- a/hotspot/src/share/vm/runtime/vm_version.cpp Thu Apr 03 14:54:42 2014 +0200 +++ b/hotspot/src/share/vm/runtime/vm_version.cpp Thu Apr 24 14:06:40 2014 -0700 @@ -55,6 +55,20 @@ #ifndef HOTSPOT_RELEASE_VERSION #error HOTSPOT_RELEASE_VERSION must be defined #endif + +#ifndef JDK_MAJOR_VERSION + #error JDK_MAJOR_VERSION must be defined +#endif +#ifndef JDK_MINOR_VERSION + #error JDK_MINOR_VERSION must be defined +#endif +#ifndef JDK_MICRO_VERSION + #error JDK_MICRO_VERSION must be defined +#endif +#ifndef JDK_BUILD_NUMBER + #error JDK_BUILD_NUMBER must be defined +#endif + #ifndef JRE_RELEASE_VERSION #error JRE_RELEASE_VERSION must be defined #endif @@ -68,39 +82,44 @@ #define VM_RELEASE HOTSPOT_RELEASE_VERSION "-" HOTSPOT_BUILD_TARGET #endif -// HOTSPOT_RELEASE_VERSION must follow the release version naming convention -// .-b[-][-] +// HOTSPOT_RELEASE_VERSION follows the JDK release version naming convention +// ..[-][-][-b] int Abstract_VM_Version::_vm_major_version = 0; int Abstract_VM_Version::_vm_minor_version = 0; +int Abstract_VM_Version::_vm_micro_version = 0; int Abstract_VM_Version::_vm_build_number = 0; bool Abstract_VM_Version::_initialized = false; int Abstract_VM_Version::_parallel_worker_threads = 0; bool Abstract_VM_Version::_parallel_worker_threads_initialized = false; +#ifdef ASSERT +static void assert_digits(const char * s, const char * message) { + for (int i = 0; s[i] != '\0'; i++) { + assert(isdigit(s[i]), message); + } +} +#endif + +static void set_version_field(int * version_field, const char * version_str, + const char * const assert_msg) { + if (version_str != NULL && *version_str != '\0') { + DEBUG_ONLY(assert_digits(version_str, assert_msg)); + *version_field = atoi(version_str); + } +} + void Abstract_VM_Version::initialize() { if (_initialized) { return; } - char* vm_version = os::strdup(HOTSPOT_RELEASE_VERSION); - // Expecting the next vm_version format: - // .-b[-] - char* vm_major_ver = vm_version; - assert(isdigit(vm_major_ver[0]),"wrong vm major version number"); - char* vm_minor_ver = strchr(vm_major_ver, '.'); - assert(vm_minor_ver != NULL && isdigit(vm_minor_ver[1]),"wrong vm minor version number"); - vm_minor_ver[0] = '\0'; // terminate vm_major_ver - vm_minor_ver += 1; - char* vm_build_num = strchr(vm_minor_ver, '-'); - assert(vm_build_num != NULL && vm_build_num[1] == 'b' && isdigit(vm_build_num[2]),"wrong vm build number"); - vm_build_num[0] = '\0'; // terminate vm_minor_ver - vm_build_num += 2; + set_version_field(&_vm_major_version, JDK_MAJOR_VERSION, "bad major version"); + set_version_field(&_vm_minor_version, JDK_MINOR_VERSION, "bad minor version"); + set_version_field(&_vm_micro_version, JDK_MICRO_VERSION, "bad micro version"); + int offset = (JDK_BUILD_NUMBER != NULL && JDK_BUILD_NUMBER[0] == 'b') ? 1 : 0; + set_version_field(&_vm_build_number, JDK_BUILD_NUMBER + offset, + "bad build number"); - _vm_major_version = atoi(vm_major_ver); - _vm_minor_version = atoi(vm_minor_ver); - _vm_build_number = atoi(vm_build_num); - - os::free(vm_version); _initialized = true; } @@ -276,6 +295,7 @@ unsigned int Abstract_VM_Version::jvm_version() { return ((Abstract_VM_Version::vm_major_version() & 0xFF) << 24) | ((Abstract_VM_Version::vm_minor_version() & 0xFF) << 16) | + ((Abstract_VM_Version::vm_micro_version() & 0xFF) << 8) | (Abstract_VM_Version::vm_build_number() & 0xFF); } diff -r 7b210ef8c830 -r 641b2b1b0163 hotspot/src/share/vm/runtime/vm_version.hpp --- a/hotspot/src/share/vm/runtime/vm_version.hpp Thu Apr 03 14:54:42 2014 +0200 +++ b/hotspot/src/share/vm/runtime/vm_version.hpp Thu Apr 24 14:06:40 2014 -0700 @@ -44,6 +44,7 @@ static unsigned int _logical_processors_per_package; static int _vm_major_version; static int _vm_minor_version; + static int _vm_micro_version; static int _vm_build_number; static bool _initialized; static int _parallel_worker_threads; @@ -68,6 +69,7 @@ static int vm_major_version() { assert(_initialized, "not initialized"); return _vm_major_version; } static int vm_minor_version() { assert(_initialized, "not initialized"); return _vm_minor_version; } + static int vm_micro_version() { assert(_initialized, "not initialized"); return _vm_micro_version; } static int vm_build_number() { assert(_initialized, "not initialized"); return _vm_build_number; } // Gets the jvm_version_info.jvm_version defined in jvm.h