Re: RFR 8030011: Update Hotspot version string output

2014-04-10 Thread David Holmes

On 11/04/2014 1:42 AM, Alejandro E Murillo wrote:

Hi David, thanks for the feedback, see below
On 4/9/2014 8:38 PM, David Holmes wrote:

Hi Alejandro,

Given we have to maintain the JDK version information in two places
(top level repo and hotspot repo) wouldn't it have been simpler to
keep hotspot_version file and HOTSPOT_RELEASE_VERSION and simply set
the major/minor/build values to match those of the JDK version?

The file is still used, just renamed as only jdk info is in there.
HOTSPOT_RELEASE_VERSION was also kept, we just don't get the
major,minor,micro and build number
from it anymore, mainly it  is now set very similar to the
JDK_RELEASE_VERSION (plus other values),
and that format it's not fixed as it used to be for hotspot express.
Those values (major,minor,micro and build number)
are already defined in the makefiles, so we just pass them to
vm_version.cpp, so no more parsing in it.


I still think the overall changes could have been much smaller but okay.

Thanks,
David
-




That aside, in jdk_version file hotspot copyright should now be 2014

will fix that


*/vm.make:

This line is way too long.

! VM_VER_DEFS   = -DHOTSPOT_RELEASE_VERSION="\"$(HS_BUILD_VER)\""
-DJRE_RELEASE_VERSION="\"$(JRE_RELEASE_VER)\""
-DJDK_MAJOR_VERSION="\"$(JDK_MAJOR_VERSION)\""
-DJDK_MINOR_VERSION="\"$(JDK_MINOR_VERSION)\""
-DJDK_MICRO_VERSION="\"$(JDK_MICRO_VERSION)\""
-DJDK_BUILD_NUMBER="\"$(JDK_BUILD_NUMBER)\""

ok


Not clear why we suddenly need defines for all the component pieces
either. You could have kept the HS_XXX variables, just adding the
micro part.

as mentioned above,  the micro part was actually added to
HOTSPOT_RELEASE_VERSION,
we just don't get those values by parsing it, so we just pass those
values to the vm_version.cpp,
since they are already defined in the makefiles. The format of the JDK
version is not that fixed.

Thanks
Alejandro


David


On 10/04/2014 10:15 AM, Alejandro E Murillo wrote:


Please review this change to make the hotspot related output produced by
"java -version"
match the corresponding JDK output:

webrev: http://cr.openjdk.java.net/~amurillo/9/8030011/
Bug: https://bugs.openjdk.java.net/browse/JDK-8030011

Note that we initially wanted to obtain more information from the repo
being built and add
it to the hotspot version output, but that will require changes in the
JPRT, so
we have decided to split the change in 2 bugs. One to make the version
match
(above webrev) and another one, an RFE, to add additional information
extracted from the repo.

Note that in the current version of vm_version.cpp, there is no error
checking in product mode,
I was suggested to make that explicit.

Release Engineering did some testing and I also ran several cases with
full and just hotspot JPRT builds.

Here is a summary of how the new output compares to the old one:

(1)  Release Engineering builds (9-dev):

from jdk9-dev build:
java version "1.9.0-ea"
Java(TM) SE Runtime Environment (build
1.9.0-ea-langtools-nightly-h257-20140328-b07-b00)
Java HotSpot(TM) 64-Bit Server VM (build
1.9.0-ea-langtools-nightly-h257-20140328-b07-b00, mixed mode)

compared with what we currently have
java version "1.9.0-ea"
Java(TM) SE Runtime Environment (build
1.9.0-ea-langtools-nightly-h247-20140326-b06-b00)
Java HotSpot(TM) 64-Bit Server VM (build 25.0-b62, mixed mode)

(2)  Release Engineering builds (jdk9):

java version "1.9.0-ea"
Java(TM) SE Runtime Environment (build 1.9.0-ea-b07)
Java HotSpot(TM) Server VM (build 1.9.0-ea-b07, mixed mode)

compared with what we currently have
java version "1.9.0-ea"
Java(TM) SE Runtime Environment (build 1.9.0-ea-b07)
Java HotSpot(TM) 64-Bit Server VM (build 25.0-b62, mixed mode)

(3) JPRT Full builds:

java version "1.9.0-internal"
#   Java(TM) SE Runtime Environment (build
1.9.0-internal-201404091627.amurillo.jdk9-hs-ver-str-co-b00)
#   Java HotSpot(TM) Server VM (build
1.9.0-internal-201404091627.amurillo.jdk9-hs-ver-str-co-b00, mixed mode)


(4) JPRT hotspot only builds:

java version "1.9.0-ea-fastdebug"
#   Java(TM) SE Runtime Environment (build 1.9.0-ea-fastdebug-b06)
#   Java HotSpot(TM) Server VM (build
1.9.0-internal-201404031820.amurillo.jdk9-hs-ver-str-HS-fastdebug, mixed
mode)


in this one the built VM is inserted into a promoted build bundle,
since we do not have the JDK build number info in the hotspot repo,
we can't match the build number in the JDK portion.
With the RFE mentioned above, we can extract the build info from the
repo
and add it to the hotspot portion.

I want to  mention, that this may change once the new JDK version change
is implemented
but we don't know when that will be implemented yet, so we need to go
ahead with this to
get rid of the old hotspot express output. And most of these changes
will still have to be done
anyways

BTW,  john Coomes and Dan Daugherty provided feedback in some pieces of
this webrev,
but I need full reviews now.

Thanks





Re: RFR: 8039411 : Add environment variable support to fixpath

2014-04-10 Thread Mike Duigou

On Apr 8 2014, at 23:26 , Erik Joelsson  wrote:

> Indentation look weird around line 460 and 470 (tab vs space?), otherwise 
> it's ok to me.

Corrected before push. Some text editor I was using was allowing tabs to sneak 
in.

Mike
> 
> /Erik
> 
> On 2014-04-08 21:31, Mike Duigou wrote:
>> I have made the changes Tim suggested along with other cleanups, additional 
>> diagnostics and refinements.
>> 
>> http://cr.openjdk.java.net/~mduigou/JDK-8039411/1/webrev/
>> 
>> I have not tested this change on mingw/msys and probably won't attempt to 
>> unless it is required.
>> 
>> Mike
>> 
>> 
>> On Apr 8 2014, at 08:10 , Tim Bell  wrote:
>> 
>>> Hi Mike
>>> 
>>> Looks good - one thing to pick on is line 402 - I'd like to see what was in 
>>> var if the setting fails.
>>> 
>>> Tim
>>> 
>>> On 04/08/14 08:35, Erik Joelsson wrote:
 Hello Mike,
 
 My C is a bit rusty, but I think it looks good in general. If you are able 
 to test it on mingw/msys I think that would be good since it's a pretty 
 big change.
 
 /Erik
 
 On 2014-04-07 23:53, Mike Duigou wrote:
> Hello all;
> 
> Currently the fixpath utility used in windows builds expects that the 
> first parameter it is passed will be the path of the executable. In some 
> cases it's desirable to define environment variables which will apply 
> during the execution of that executable. This change adds support for 
> defining environment variables. The variables appear before the 
> executable. Currently the command line parsing assumes that all arguments 
> containing "=" before the command path are environment variables. (This 
> precludes the executable having '=' in it's path, which is unlikely 
> anyway).
> 
> The remainder of the changes were lint warnings suggested by Visual C. 
> (mostly const)
> 
> https://bugs.openjdk.java.net/browse/JDK-8039411
> http://cr.openjdk.java.net/~mduigou/JDK-8039411/0/webrev/
> 
> Mike
> 



Re: RFR [9] sequential operation option for hgforest

2014-04-10 Thread Chris Hegarty
On 10 Apr 2014, at 20:03, Mike Duigou  wrote:

> Looks good to me and useful.  (Other than that I had hoped to claim "-s" for 
> a future change I planned ;-) (no worries, I will use "-r" for that))

Thanks for the review Mike.  If you want to keep ‘-s’ we can come up with 
something else, “—np|—non-parallel”  ??  Or anything, I’m happy once I can 
operate in non parallel mode.

-Chris.

> Mike
> 
> On Apr 10 2014, at 08:54 , Chris Hegarty  wrote:
> 
>> Sometimes I get a little confused/nervous when trying to push/status/in 
>> using the hgforest.sh script. The output can be a little confusing as it 
>> runs several jobs in parallel.
>> 
>> I would like to add an option to support sequential operation of commands. 
>> It is off by default. The more nervous of us that push using this script can 
>> opt in, if you like!
>> 
>> diff --git a/common/bin/hgforest.sh b/common/bin/hgforest.sh
>> --- a/common/bin/hgforest.sh
>> +++ b/common/bin/hgforest.sh
>> @@ -29,6 +29,7 @@
>> status_output="/dev/stdout"
>> qflag="false"
>> vflag="false"
>> +sflag="false"
>> while [ $# -gt 0 ]
>> do
>>  case $1 in
>> @@ -43,6 +44,10 @@
>>  global_opts="${global_opts} -v"
>>  ;;
>> 
>> +-s | --sequential )
>> +  sflag="true"
>> +  ;;
>> +
>>'--' ) # no more options
>>  shift; break
>>  ;;
>> @@ -63,7 +68,7 @@
>> command_args="$@"
>> 
>> usage() {
>> -  echo "usage: $0 [-q|--quiet] [-v|--verbose] [--]  
>> [commands...]" > ${status_output}
>> +  echo "usage: $0 [-q|--quiet] [-v|--verbose] [-s|--sequential] [--] 
>>  [commands...]" > ${status_output}
>>  exit 1
>> }
>> 
>> @@ -243,11 +248,15 @@
>>  ) 2>&1 | sed -e "s@^@${reponame}:   @" > ${status_output}
>>) &
>> 
>> -if [ `expr ${n} '%' ${at_a_time}` -eq 0 ] ; then
>> +if [ `expr ${n} '%' ${at_a_time}` -eq 0 -a "${sflag}" = "false" ] ; then
>>  sleep 2
>>  echo "Waiting 5 secs before spawning next background command." > 
>> ${status_output}
>>  sleep 3
>>fi
>> +
>> +if [ "${sflag}" = "true" ] ; then
>> +wait
>> +fi
>>  done
>> fi
>> 
>> -Chris.
>> 
> 



Re: RFR [9] sequential operation option for hgforest

2014-04-10 Thread Mike Duigou
Looks good to me and useful.  (Other than that I had hoped to claim "-s" for a 
future change I planned ;-) (no worries, I will use "-r" for that))

Mike

On Apr 10 2014, at 08:54 , Chris Hegarty  wrote:

> Sometimes I get a little confused/nervous when trying to push/status/in using 
> the hgforest.sh script. The output can be a little confusing as it runs 
> several jobs in parallel.
> 
> I would like to add an option to support sequential operation of commands. It 
> is off by default. The more nervous of us that push using this script can opt 
> in, if you like!
> 
> diff --git a/common/bin/hgforest.sh b/common/bin/hgforest.sh
> --- a/common/bin/hgforest.sh
> +++ b/common/bin/hgforest.sh
> @@ -29,6 +29,7 @@
> status_output="/dev/stdout"
> qflag="false"
> vflag="false"
> +sflag="false"
> while [ $# -gt 0 ]
> do
>   case $1 in
> @@ -43,6 +44,10 @@
>   global_opts="${global_opts} -v"
>   ;;
> 
> +-s | --sequential )
> +  sflag="true"
> +  ;;
> +
> '--' ) # no more options
>   shift; break
>   ;;
> @@ -63,7 +68,7 @@
> command_args="$@"
> 
> usage() {
> -  echo "usage: $0 [-q|--quiet] [-v|--verbose] [--]  
> [commands...]" > ${status_output}
> +  echo "usage: $0 [-q|--quiet] [-v|--verbose] [-s|--sequential] [--] 
>  [commands...]" > ${status_output}
>   exit 1
> }
> 
> @@ -243,11 +248,15 @@
>   ) 2>&1 | sed -e "s@^@${reponame}:   @" > ${status_output}
> ) &
> 
> -if [ `expr ${n} '%' ${at_a_time}` -eq 0 ] ; then
> +if [ `expr ${n} '%' ${at_a_time}` -eq 0 -a "${sflag}" = "false" ] ; then
>   sleep 2
>   echo "Waiting 5 secs before spawning next background command." > 
> ${status_output}
>   sleep 3
> fi
> +
> +if [ "${sflag}" = "true" ] ; then
> +wait
> +fi
>   done
> fi
> 
> -Chris.
> 



Re: CFV: Nomination of Tim Bell as the new Build Group Lead

2014-04-10 Thread Phil Race

Vote: yes

-phil.


RFR [9] sequential operation option for hgforest

2014-04-10 Thread Chris Hegarty
Sometimes I get a little confused/nervous when trying to push/status/in using 
the hgforest.sh script. The output can be a little confusing as it runs several 
jobs in parallel.

I would like to add an option to support sequential operation of commands. It 
is off by default. The more nervous of us that push using this script can opt 
in, if you like!

diff --git a/common/bin/hgforest.sh b/common/bin/hgforest.sh
--- a/common/bin/hgforest.sh
+++ b/common/bin/hgforest.sh
@@ -29,6 +29,7 @@
 status_output="/dev/stdout"
 qflag="false"
 vflag="false"
+sflag="false"
 while [ $# -gt 0 ]
 do
   case $1 in
@@ -43,6 +44,10 @@
   global_opts="${global_opts} -v"
   ;;
 
+-s | --sequential )
+  sflag="true"
+  ;;
+
 '--' ) # no more options
   shift; break
   ;;
@@ -63,7 +68,7 @@
 command_args="$@"
 
 usage() {
-  echo "usage: $0 [-q|--quiet] [-v|--verbose] [--]  
[commands...]" > ${status_output}
+  echo "usage: $0 [-q|--quiet] [-v|--verbose] [-s|--sequential] [--] 
 [commands...]" > ${status_output}
   exit 1
 }
 
@@ -243,11 +248,15 @@
   ) 2>&1 | sed -e "s@^@${reponame}:   @" > ${status_output}
 ) &
 
-if [ `expr ${n} '%' ${at_a_time}` -eq 0 ] ; then
+if [ `expr ${n} '%' ${at_a_time}` -eq 0 -a "${sflag}" = "false" ] ; then
   sleep 2
   echo "Waiting 5 secs before spawning next background command." > 
${status_output}
   sleep 3
 fi
+
+if [ "${sflag}" = "true" ] ; then
+wait
+fi
   done
 fi
 
-Chris.



Re: RFR 8030011: Update Hotspot version string output

2014-04-10 Thread Alejandro E Murillo

Hi David, thanks for the feedback, see below
On 4/9/2014 8:38 PM, David Holmes wrote:

Hi Alejandro,

Given we have to maintain the JDK version information in two places 
(top level repo and hotspot repo) wouldn't it have been simpler to 
keep hotspot_version file and HOTSPOT_RELEASE_VERSION and simply set 
the major/minor/build values to match those of the JDK version?

The file is still used, just renamed as only jdk info is in there.
HOTSPOT_RELEASE_VERSION was also kept, we just don't get the 
major,minor,micro and build number
from it anymore, mainly it  is now set very similar to the 
JDK_RELEASE_VERSION (plus other values),
and that format it's not fixed as it used to be for hotspot express. 
Those values (major,minor,micro and build number)
are already defined in the makefiles, so we just pass them to 
vm_version.cpp, so no more parsing in it.




That aside, in jdk_version file hotspot copyright should now be 2014

will fix that


*/vm.make:

This line is way too long.

! VM_VER_DEFS   = -DHOTSPOT_RELEASE_VERSION="\"$(HS_BUILD_VER)\"" 
-DJRE_RELEASE_VERSION="\"$(JRE_RELEASE_VER)\"" 
-DJDK_MAJOR_VERSION="\"$(JDK_MAJOR_VERSION)\"" 
-DJDK_MINOR_VERSION="\"$(JDK_MINOR_VERSION)\"" 
-DJDK_MICRO_VERSION="\"$(JDK_MICRO_VERSION)\"" 
-DJDK_BUILD_NUMBER="\"$(JDK_BUILD_NUMBER)\""

ok


Not clear why we suddenly need defines for all the component pieces 
either. You could have kept the HS_XXX variables, just adding the 
micro part.
as mentioned above,  the micro part was actually added to 
HOTSPOT_RELEASE_VERSION,
we just don't get those values by parsing it, so we just pass those 
values to the vm_version.cpp,
since they are already defined in the makefiles. The format of the JDK 
version is not that fixed.


Thanks
Alejandro


David


On 10/04/2014 10:15 AM, Alejandro E Murillo wrote:


Please review this change to make the hotspot related output produced by
"java -version"
match the corresponding JDK output:

webrev: http://cr.openjdk.java.net/~amurillo/9/8030011/
Bug: https://bugs.openjdk.java.net/browse/JDK-8030011

Note that we initially wanted to obtain more information from the repo
being built and add
it to the hotspot version output, but that will require changes in the
JPRT, so
we have decided to split the change in 2 bugs. One to make the version
match
(above webrev) and another one, an RFE, to add additional information
extracted from the repo.

Note that in the current version of vm_version.cpp, there is no error
checking in product mode,
I was suggested to make that explicit.

Release Engineering did some testing and I also ran several cases with
full and just hotspot JPRT builds.

Here is a summary of how the new output compares to the old one:

(1)  Release Engineering builds (9-dev):

from jdk9-dev build:
java version "1.9.0-ea"
Java(TM) SE Runtime Environment (build
1.9.0-ea-langtools-nightly-h257-20140328-b07-b00)
Java HotSpot(TM) 64-Bit Server VM (build
1.9.0-ea-langtools-nightly-h257-20140328-b07-b00, mixed mode)

compared with what we currently have
java version "1.9.0-ea"
Java(TM) SE Runtime Environment (build
1.9.0-ea-langtools-nightly-h247-20140326-b06-b00)
Java HotSpot(TM) 64-Bit Server VM (build 25.0-b62, mixed mode)

(2)  Release Engineering builds (jdk9):

java version "1.9.0-ea"
Java(TM) SE Runtime Environment (build 1.9.0-ea-b07)
Java HotSpot(TM) Server VM (build 1.9.0-ea-b07, mixed mode)

compared with what we currently have
java version "1.9.0-ea"
Java(TM) SE Runtime Environment (build 1.9.0-ea-b07)
Java HotSpot(TM) 64-Bit Server VM (build 25.0-b62, mixed mode)

(3) JPRT Full builds:

java version "1.9.0-internal"
#   Java(TM) SE Runtime Environment (build
1.9.0-internal-201404091627.amurillo.jdk9-hs-ver-str-co-b00)
#   Java HotSpot(TM) Server VM (build
1.9.0-internal-201404091627.amurillo.jdk9-hs-ver-str-co-b00, mixed mode)


(4) JPRT hotspot only builds:

java version "1.9.0-ea-fastdebug"
#   Java(TM) SE Runtime Environment (build 1.9.0-ea-fastdebug-b06)
#   Java HotSpot(TM) Server VM (build
1.9.0-internal-201404031820.amurillo.jdk9-hs-ver-str-HS-fastdebug, mixed
mode)


in this one the built VM is inserted into a promoted build bundle,
since we do not have the JDK build number info in the hotspot repo,
we can't match the build number in the JDK portion.
With the RFE mentioned above, we can extract the build info from the 
repo

and add it to the hotspot portion.

I want to  mention, that this may change once the new JDK version change
is implemented
but we don't know when that will be implemented yet, so we need to go
ahead with this to
get rid of the old hotspot express output. And most of these changes
will still have to be done
anyways

BTW,  john Coomes and Dan Daugherty provided feedback in some pieces of
this webrev,
but I need full reviews now.

Thanks



--
Alejandro