RFR 8043541: 'fastdebug' is printed twice in java -version
Alejandro E Murillo
alejandro.murillo at oracle.com
Mon Jun 23 18:55:53 UTC 2014
On 6/21/2014 12:23 AM, David Holmes wrote:
> 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.
yes, inverting the "if" can make it easier to understand it,
for the sake of clarity I will change it to this.
Thanks!
Alejandro
>
> 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
>>>
>>
--
Alejandro
More information about the hotspot-dev
mailing list