RFR 8043541: 'fastdebug' is printed twice in java -version

Alejandro E Murillo alejandro.murillo at oracle.com
Mon Jun 23 18:54:38 UTC 2014


On 6/20/2014 7:09 PM, 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.

Thanks Dan,
I should have added a note explaining that change in the request.
I tried to add to the logic that was already there, and minimize the 
changes,
David suggestion might make it easier to understand

Thanks
Alejandro

>
> 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