RFR 8043541: 'fastdebug' is printed twice in java -version
David Holmes
david.holmes at oracle.com
Sat Jun 21 06:23:03 UTC 2014
On 21/06/2014 11:09 AM, Daniel D. Daugherty wrote:
>
> On 6/18/14 11:39 PM, Alejandro E Murillo wrote:
>> Can I get a review for this change?
>>
>> Bug: https://bugs.openjdk.java.net/browse/JDK-8043541
>> webrev: http://cr.openjdk.java.net/~amurillo/9/8043541/
>
> make/aix/makefiles/vm.make
> No comments.
>
> make/bsd/makefiles/vm.make
> No comments.
>
> make/defs.make
> No comments.
>
> make/linux/makefiles/vm.make
> No comments.
>
> make/solaris/makefiles/vm.make
> No comments.
>
> make/windows/projectfiles/common/Makefile
> No comments.
>
> src/share/vm/runtime/vm_version.cpp
> It took me several readings to figure out what you're doing
> here. I'm not sure what my brain was doing wrong or how to
> clear it up for anyone else.
I had the same issue. Inverting the logic might be clearer:
if VS and not product
do special stuff
else
do normal stuff
but I'll leave it to Alejandro as to whether it is worth the effort to
change.
David
> Thumbs up.
>
>
> Dan
>
>
>>
>> Note that this was discovered through nightly testing, but is not per
>> se causing
>> any failures. It only affects full non product JDK builds. It does not
>> affect hotspot
>> only builds.
>>
>> The bug was initially filed as confidential, it's a p4, if you can't
>> see the description, here it is:
>> "After the format of the hotspot version string was changed now
>> 'fastdebug' is showing twice
>> in the hotspot version output of 'java -version' ONLY on Full non
>> product JDK builds as shown below:
>>
>> java version "1.9.0-ea-fastdebug"
>> Java(TM) SE Runtime Environment (build 1.9.0-ea-fastdebug-b14)
>> Java HotSpot(TM) Server VM (build 1.9.0-ea-fastdebug-b14-fastdebug,
>> mixed mode)
>> -----------------------------------------------------------------------^^^^^^^^^^--------^^^^^^^^^
>>
>>
>> Background about the fix:
>> In a nutshell, with this fix, the build target is added to
>> HOTSPOT_RELEASE_VERSION,
>> on hotspot/make/defs.make, and on Hotspot ONLY builds, instead of
>> passing it to
>> vm_version.cpp through HOTSPOT_TARGET_BUILD.
>>
>> HOWEVER, given the way the project to build hotspot (only) with Visual
>> Studio is created,
>> it is not possible to add that (HOTSPOT_TARGET_BUILD) to
>> HOTSPOT_RELEASE_VERSION
>> when the VS project is created, so HOTSPOT_TARGET_BUILD is still
>> passed to vm_version.cpp,
>> on windows builds, but only appended to HOTSPOT_RELEASE_VERSION when
>> building
>> with Visual studio. Building windows with gnu make (as jprt does) will
>> work as in other platforms.
>>
>> I wanted to to get rid of passing HOTSPOT_TARGET_BUILD to
>> vm_version.cpp altogether, but I suspect it
>> was done that way to append the target build on non product builds
>> when using Visual studio.
>> If someone is familiar with the VS create.bat script and visual studio
>> in general, please
>> take a look and see if there's a way to pass that info at project
>> creation time, so that
>> we can completely get rid of passing HOTSPOT_TARGET_BUILD to
>> vm_version.cpp.
>> Please file an RFE if necessary.
>>
>> With this solution:
>> (a) For FULL JDK builds, 'fastdebug' will not be duplicated (bug
>> being fixed) on those builds.
>> (b) And for JUST hotspot only, non product builds, the output format
>> for the hotspot
>> version will slightly change from (see ^^^^^^ below):
>>
>> java version "1.9.0-ea-fastdebug"
>> Java(TM) SE Runtime Environment (build 1.9.0-ea-fastdebug-b18)
>> Java HotSpot(TM) Server VM (build
>> 1.9.0-internal-201406172327.amurillo.jdk9-8043340-HSJOB-fastdebug,
>> mixed mode)
>> ------------------------------------------------------------------------------------------^^^^^^^^^
>>
>>
>> TO:
>>
>> java version "1.9.0-ea-fastdebug"
>> Java(TM) SE Runtime Environment (build 1.9.0-ea-fastdebug-b16)
>> Java HotSpot(TM) Server VM (build
>> 1.9.0-fastdebug-internal-201406130717.amurillo.jdk9-8043541-HSJOB,
>> mixed mode)
>> ----------------------------------------^^^^^^^^^----------------------------------------------------
>>
>>
>>
>> Basically 'fastdebug' is now added right after the jdk version, before
>> 'internal',
>> in the hotspot portion, instead of at the end. Product builds are not
>> affected at all.
>> note, those are outputs from hs only JPRT builds. Non JPRT hs only
>> builds may not have
>> anything after 'internal' (by default).
>>
>> thanks
>>
>
More information about the hotspot-dev
mailing list