[prev in list] [next in list] [prev in thread] [next in thread] 

List:       openjdk-hotspot-dev
Subject:    Re: RFR 8043541: 'fastdebug' is printed twice in java -version
From:       Alejandro E Murillo <alejandro.murillo () oracle ! com>
Date:       2014-06-23 18:55:53
Message-ID: 53A87839.8050104 () oracle ! com
[Download RAW message or body]


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


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic