hg: jdk8/tl/langtools: 8007279: Rename javax.l.model.element.Element.getAnnotations(Class) to getAnnotationsByType(Class)

2013-02-13 Thread joel . franck
Changeset: aeadaf905d78
Author:jfranck
Date:  2013-02-13 10:33 +0100
URL:   http://hg.openjdk.java.net/jdk8/tl/langtools/rev/aeadaf905d78

8007279: Rename javax.l.model.element.Element.getAnnotations(Class) to 
getAnnotationsByType(Class)
Reviewed-by: darcy, abuckley

! src/share/classes/com/sun/tools/javac/code/Symbol.java
! src/share/classes/javax/lang/model/element/Element.java
! 
test/tools/javac/processing/model/element/repeatingAnnotations/ElementRepAnnoTester.java



RFR (XS) 8008089: Delete OS dependent check in JdkFinder.getExecutable()

2013-02-13 Thread Yekaterina Kantserova

Hi everyone,

This small fixconcerns jdk.testlibrary.JdkFinder utility class. The 
check below is too OS dependent and should be deleted.

...
binPath += File.separatorChar + bin + File.separatorChar + 
executable;

File toolFile = new File(binPath);
== if (!toolFile.exists()) {
throw new RuntimeException(binPath +  does not exist);
}
...

On windows if executable is specified as e.g. 'java', without '.exe', 
the File exists() will fail. But it's still possible to run executable.



Webrev:
http://cr.openjdk.java.net/~ykantser/8008089/webrev.00/

Bug:
http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=8008089

Testing:
JPRT

Thanks,
Katja


hg: jdk8/tl/jdk: 8007278: Rename j.l.r.AnnotatedElement.getAnnotations(Class) to getAnnotationsByType(Class)

2013-02-13 Thread joel . franck
Changeset: 2cd67a8c7abc
Author:jfranck
Date:  2013-02-13 10:36 +0100
URL:   http://hg.openjdk.java.net/jdk8/tl/jdk/rev/2cd67a8c7abc

8007278: Rename j.l.r.AnnotatedElement.getAnnotations(Class) to 
getAnnotationsByType(Class)
Reviewed-by: darcy, abuckley

! src/share/classes/java/lang/Class.java
! src/share/classes/java/lang/Package.java
! src/share/classes/java/lang/reflect/AccessibleObject.java
! src/share/classes/java/lang/reflect/AnnotatedElement.java
! src/share/classes/java/lang/reflect/Executable.java
! src/share/classes/java/lang/reflect/Field.java
! src/share/classes/java/lang/reflect/Parameter.java
! src/share/classes/sun/reflect/annotation/AnnotatedTypeFactory.java
! src/share/classes/sun/reflect/generics/reflectiveObjects/TypeVariableImpl.java
! test/java/lang/annotation/TypeParamAnnotation.java
! test/java/lang/annotation/repeatingAnnotations/RepeatedUnitTest.java



Re: FAILS: test/sun/management/jdp/JdpTest.sh: test: argument expected

2013-02-13 Thread Chris Hegarty

Dmitry,

I have a trivial patch that resolves this issue. I would like to push it 
to jdk8/tl today before we freeze for M7, and have this failure escape 
into master.


The change is to simply use conditions that are also supported by bourne 
shell .


diff -r 7dcb74c3ffba test/sun/management/jdp/JdpTest.sh
--- a/test/sun/management/jdp/JdpTest.shTue Feb 12 09:25:43 2013 
-0800
+++ b/test/sun/management/jdp/JdpTest.shWed Feb 13 10:48:28 2013 
+

@@ -51,7 +51,7 @@ _do_compile(){
 # sun.* packages is not included to symbol file lib/ct.sym so we have
 # to ignore it

-if [ ! -f ${_testclasses} ]
+if [ ! -d ${_testclasses} ]
 then
  mkdir -p ${_testclasses}
 fi
@@ -319,7 +319,7 @@ rm -f ${_logname}
 rm -f ${_logname}
 rm -f ${_policyname}

-if [ -e ${_testsrc}/policy.tpl ]
+if [ -f ${_testsrc}/policy.tpl ]
 then

 cat ${_testsrc}/policy.tpl | \

-Chris.

On 12/02/2013 22:19, Dmitry Samersoff wrote:

Chris,

I'm not able to reproduce it locally. Do you have a link to jprt job you
see this failure?

-Dmitry

On 2013-02-12 21:38, Chris Hegarty wrote:

Dmitry,

This test is now failing on several platforms, on jdk8 and 7u-dev

---

result: Passed. Compilation successful

#section:shell
--messages:(3/154)--
command: shell JdpTest.sh [--jtreg, --no-compile]
reason: User specified action: run shell JdpTest.sh --jtreg --no-compile
elapsed time (seconds): 0.045
--System.out:(0/0)--
--System.err:(1/110)--
/export2/Users/chris/repos/jdk8/tl/master_top/jdk/test/sun/management/jdp/JdpTest.sh:
test: argument expected
result: Failed. Execution failed: exit code 1


test result: Failed. Execution failed: exit code 1

-Chris.


On 02/12/2013 12:04 PM, dmitry.samers...@oracle.com wrote:

Changeset: f7fb173ac833
Author:dsamersoff
Date:  2013-02-12 16:02 +0400
URL:   http://hg.openjdk.java.net/jdk8/tl/jdk/rev/f7fb173ac833

8007786: JDK-8002048 testcase doesn't work on Solaris
Summary: test built in into Solaris shell doesn't have -e operator
Reviewed-by: sla, sspitsyn

! test/sun/management/jdp/JdpTest.sh






Re: FAILS: test/sun/management/jdp/JdpTest.sh: test: argument expected

2013-02-13 Thread Dmitry Samersoff
Chris,

Will push it in few hours.

-Dmitry

On 2013-02-13 14:53, Chris Hegarty wrote:
 Dmitry,
 
 I have a trivial patch that resolves this issue. I would like to push it
 to jdk8/tl today before we freeze for M7, and have this failure escape
 into master.
 
 The change is to simply use conditions that are also supported by bourne
 shell .
 
 diff -r 7dcb74c3ffba test/sun/management/jdp/JdpTest.sh
 --- a/test/sun/management/jdp/JdpTest.shTue Feb 12 09:25:43 2013
 -0800
 +++ b/test/sun/management/jdp/JdpTest.shWed Feb 13 10:48:28 2013
 +
 @@ -51,7 +51,7 @@ _do_compile(){
  # sun.* packages is not included to symbol file lib/ct.sym so we have
  # to ignore it
 
 -if [ ! -f ${_testclasses} ]
 +if [ ! -d ${_testclasses} ]
  then
   mkdir -p ${_testclasses}
  fi
 @@ -319,7 +319,7 @@ rm -f ${_logname}
  rm -f ${_logname}
  rm -f ${_policyname}
 
 -if [ -e ${_testsrc}/policy.tpl ]
 +if [ -f ${_testsrc}/policy.tpl ]
  then
 
  cat ${_testsrc}/policy.tpl | \
 
 -Chris.
 
 On 12/02/2013 22:19, Dmitry Samersoff wrote:
 Chris,

 I'm not able to reproduce it locally. Do you have a link to jprt job you
 see this failure?

 -Dmitry

 On 2013-02-12 21:38, Chris Hegarty wrote:
 Dmitry,

 This test is now failing on several platforms, on jdk8 and 7u-dev

 ---

 result: Passed. Compilation successful

 #section:shell
 --messages:(3/154)--
 command: shell JdpTest.sh [--jtreg, --no-compile]
 reason: User specified action: run shell JdpTest.sh --jtreg --no-compile
 elapsed time (seconds): 0.045
 --System.out:(0/0)--
 --System.err:(1/110)--
 /export2/Users/chris/repos/jdk8/tl/master_top/jdk/test/sun/management/jdp/JdpTest.sh:

 test: argument expected
 result: Failed. Execution failed: exit code 1


 test result: Failed. Execution failed: exit code 1

 -Chris.


 On 02/12/2013 12:04 PM, dmitry.samers...@oracle.com wrote:
 Changeset: f7fb173ac833
 Author:dsamersoff
 Date:  2013-02-12 16:02 +0400
 URL:   http://hg.openjdk.java.net/jdk8/tl/jdk/rev/f7fb173ac833

 8007786: JDK-8002048 testcase doesn't work on Solaris
 Summary: test built in into Solaris shell doesn't have -e operator
 Reviewed-by: sla, sspitsyn

 ! test/sun/management/jdp/JdpTest.sh





-- 
Dmitry Samersoff
Oracle Java development team, Saint Petersburg, Russia
* Give Rabbit time, and he'll always get the answer


RR(S): 8008095.JDP-TEST3 (was Re: FAILS: test/sun/management/jdp/JdpTest.sh: test: argument expected)

2013-02-13 Thread Dmitry Samersoff
Chris,

Please take a look at the final changes:

http://cr.openjdk.java.net/~dsamersoff/8008095.JDP-TEST3/webrev.01/jdk/

I still not able to get valuable results from jprt but tried couple of
different solaris machines and hope this time the problem with this test
is gone.

I'm ready to push it right after your response.

-Dmitry

On 2013-02-13 14:53, Chris Hegarty wrote:
 Dmitry,
 
 I have a trivial patch that resolves this issue. I would like to push it
 to jdk8/tl today before we freeze for M7, and have this failure escape
 into master.
 
 The change is to simply use conditions that are also supported by bourne
 shell .
 
 diff -r 7dcb74c3ffba test/sun/management/jdp/JdpTest.sh
 --- a/test/sun/management/jdp/JdpTest.shTue Feb 12 09:25:43 2013
 -0800
 +++ b/test/sun/management/jdp/JdpTest.shWed Feb 13 10:48:28 2013
 +
 @@ -51,7 +51,7 @@ _do_compile(){
  # sun.* packages is not included to symbol file lib/ct.sym so we have
  # to ignore it
 
 -if [ ! -f ${_testclasses} ]
 +if [ ! -d ${_testclasses} ]
  then
   mkdir -p ${_testclasses}
  fi
 @@ -319,7 +319,7 @@ rm -f ${_logname}
  rm -f ${_logname}
  rm -f ${_policyname}
 
 -if [ -e ${_testsrc}/policy.tpl ]
 +if [ -f ${_testsrc}/policy.tpl ]
  then
 
  cat ${_testsrc}/policy.tpl | \
 
 -Chris.
 
 On 12/02/2013 22:19, Dmitry Samersoff wrote:
 Chris,

 I'm not able to reproduce it locally. Do you have a link to jprt job you
 see this failure?

 -Dmitry

 On 2013-02-12 21:38, Chris Hegarty wrote:
 Dmitry,

 This test is now failing on several platforms, on jdk8 and 7u-dev

 ---

 result: Passed. Compilation successful

 #section:shell
 --messages:(3/154)--
 command: shell JdpTest.sh [--jtreg, --no-compile]
 reason: User specified action: run shell JdpTest.sh --jtreg --no-compile
 elapsed time (seconds): 0.045
 --System.out:(0/0)--
 --System.err:(1/110)--
 /export2/Users/chris/repos/jdk8/tl/master_top/jdk/test/sun/management/jdp/JdpTest.sh:

 test: argument expected
 result: Failed. Execution failed: exit code 1


 test result: Failed. Execution failed: exit code 1

 -Chris.


 On 02/12/2013 12:04 PM, dmitry.samers...@oracle.com wrote:
 Changeset: f7fb173ac833
 Author:dsamersoff
 Date:  2013-02-12 16:02 +0400
 URL:   http://hg.openjdk.java.net/jdk8/tl/jdk/rev/f7fb173ac833

 8007786: JDK-8002048 testcase doesn't work on Solaris
 Summary: test built in into Solaris shell doesn't have -e operator
 Reviewed-by: sla, sspitsyn

 ! test/sun/management/jdp/JdpTest.sh





-- 
Dmitry Samersoff
Oracle Java development team, Saint Petersburg, Russia
* Give Rabbit time, and he'll always get the answer


hg: jdk8/tl/jdk: 8006691: Remove jvm_version_info-is_kernel_jvm field

2013-02-13 Thread zhengyu . gu
Changeset: cd111064d4e9
Author:zgu
Date:  2013-02-12 14:47 -0500
URL:   http://hg.openjdk.java.net/jdk8/tl/jdk/rev/cd111064d4e9

8006691: Remove jvm_version_info-is_kernel_jvm field
Summary: Remove is_kernel_jvm field in jvm_version_info structure, as kernel VM 
has been deprecated
Reviewed-by: mchung

! src/share/javavm/export/jvm.h



hg: jdk8/tl/jdk: 2 new changesets

2013-02-13 Thread vincent . x . ryan
Changeset: bf64f83aa0cd
Author:vinnie
Date:  2013-02-13 16:01 +
URL:   http://hg.openjdk.java.net/jdk8/tl/jdk/rev/bf64f83aa0cd

8007934: algorithm parameters for PBE Scheme 2 not decoded correctly in PKCS12 
keystore
Reviewed-by: mullan

! src/share/classes/sun/security/pkcs12/PKCS12KeyStore.java
! test/java/security/KeyStore/PBETest.java

Changeset: ceb7c712c693
Author:vinnie
Date:  2013-02-13 16:03 +
URL:   http://hg.openjdk.java.net/jdk8/tl/jdk/rev/ceb7c712c693

Merge




hg: jdk8/tl/langtools: 8006345: Report Synthesized Parameters in java.lang.reflect.Parameter API; ...

2013-02-13 Thread maurizio . cimadamore
Changeset: d04960f05593
Author:mcimadamore
Date:  2013-02-13 17:04 +
URL:   http://hg.openjdk.java.net/jdk8/tl/langtools/rev/d04960f05593

8006345: Report Synthesized Parameters in java.lang.reflect.Parameter API
8006896: ClassReader doesn't see MethodParameters attr for method of anon inner 
class
8007098: Output Synthesized Parameters to MethodParameters Attributes
Summary: Correctly report synthesized and mandated parameters
Reviewed-by: mcimadamore, jjg
Contributed-by: eric.mccor...@oracle.com

! src/share/classes/com/sun/tools/classfile/AccessFlags.java
! src/share/classes/com/sun/tools/javac/code/Flags.java
! src/share/classes/com/sun/tools/javac/code/Symbol.java
! src/share/classes/com/sun/tools/javac/comp/Lower.java
! src/share/classes/com/sun/tools/javac/comp/MemberEnter.java
! src/share/classes/com/sun/tools/javac/jvm/ClassWriter.java
! src/share/classes/com/sun/tools/javap/AttributeWriter.java



hg: jdk8/tl/jdk: 8008095: TEST_BUG: JDK-8002048 one more testcase failure on Solaris

2013-02-13 Thread dmitry . samersoff
Changeset: 8181be9a3538
Author:dsamersoff
Date:  2013-02-13 21:06 +0400
URL:   http://hg.openjdk.java.net/jdk8/tl/jdk/rev/8181be9a3538

8008095: TEST_BUG: JDK-8002048 one more testcase failure on Solaris
Summary: fixed couple of more Solaris shell incompatibilities
Reviewed-by: chegar

! test/sun/management/jdp/JdpTest.sh



Re: RR(S): 8008095.JDP-TEST3 (was Re: FAILS: test/sun/management/jdp/JdpTest.sh: test: argument expected)

2013-02-13 Thread Chris Hegarty

Looks fine to me.

-Chris.

On 13/02/2013 14:40, Dmitry Samersoff wrote:

Chris,

Please take a look at the final changes:

http://cr.openjdk.java.net/~dsamersoff/8008095.JDP-TEST3/webrev.01/jdk/

I still not able to get valuable results from jprt but tried couple of
different solaris machines and hope this time the problem with this test
is gone.

I'm ready to push it right after your response.

-Dmitry

On 2013-02-13 14:53, Chris Hegarty wrote:

Dmitry,

I have a trivial patch that resolves this issue. I would like to push it
to jdk8/tl today before we freeze for M7, and have this failure escape
into master.

The change is to simply use conditions that are also supported by bourne
shell .

diff -r 7dcb74c3ffba test/sun/management/jdp/JdpTest.sh
--- a/test/sun/management/jdp/JdpTest.shTue Feb 12 09:25:43 2013
-0800
+++ b/test/sun/management/jdp/JdpTest.shWed Feb 13 10:48:28 2013
+
@@ -51,7 +51,7 @@ _do_compile(){
  # sun.* packages is not included to symbol file lib/ct.sym so we have
  # to ignore it

-if [ ! -f ${_testclasses} ]
+if [ ! -d ${_testclasses} ]
  then
   mkdir -p ${_testclasses}
  fi
@@ -319,7 +319,7 @@ rm -f ${_logname}
  rm -f ${_logname}
  rm -f ${_policyname}

-if [ -e ${_testsrc}/policy.tpl ]
+if [ -f ${_testsrc}/policy.tpl ]
  then

  cat ${_testsrc}/policy.tpl | \

-Chris.

On 12/02/2013 22:19, Dmitry Samersoff wrote:

Chris,

I'm not able to reproduce it locally. Do you have a link to jprt job you
see this failure?

-Dmitry

On 2013-02-12 21:38, Chris Hegarty wrote:

Dmitry,

This test is now failing on several platforms, on jdk8 and 7u-dev

---

result: Passed. Compilation successful

#section:shell
--messages:(3/154)--
command: shell JdpTest.sh [--jtreg, --no-compile]
reason: User specified action: run shell JdpTest.sh --jtreg --no-compile
elapsed time (seconds): 0.045
--System.out:(0/0)--
--System.err:(1/110)--
/export2/Users/chris/repos/jdk8/tl/master_top/jdk/test/sun/management/jdp/JdpTest.sh:

test: argument expected
result: Failed. Execution failed: exit code 1


test result: Failed. Execution failed: exit code 1

-Chris.


On 02/12/2013 12:04 PM, dmitry.samers...@oracle.com wrote:

Changeset: f7fb173ac833
Author:dsamersoff
Date:  2013-02-12 16:02 +0400
URL:   http://hg.openjdk.java.net/jdk8/tl/jdk/rev/f7fb173ac833

8007786: JDK-8002048 testcase doesn't work on Solaris
Summary: test built in into Solaris shell doesn't have -e operator
Reviewed-by: sla, sspitsyn

! test/sun/management/jdp/JdpTest.sh









Re: RFR (S) : JDK-8007736 - VerifyError for use of static method in interface

2013-02-13 Thread Mandy Chung

Bharadwaj,

I'm including core-libs-dev so that they know this fix is coming.

http://cr.openjdk.java.net/~bharadwaj/8007736/jdk8-tl-jdk/webrev/ 


The jdk change looks  okay to me.  Minor nit:  L1250-1251: some 
identation will help.  You can follow the original formatting - breaking 
'?' and ': in the newlines.


Can you include the new regression test in the jdk repo as well 
(test/vm/verifier directory)?  That'll make sure this test is run by 
core-libs and JPRT job (it's part of the default testset).


Thanks
Mandy

On 2/12/2013 7:44 PM, S. Bharadwaj Yadavalli wrote:

On 2/12/2013 2:17 PM, Karen Kinnear wrote:

Code looks good. I like this length of test too :-)


Thanks for the review, Karen.

Please check -XX:-UseSplitVerifier to see if we also need to fix the 
old verifier for new

classfiles.


I checked with -XX:-UseSplitVerifier and found that I needed to fix 
the old verifier.


I updated the webrev with my changes which now need to be made to jdk 
tree as well as hotspot tree.
The changes to hotspot tree remain the same as reviewed previously by 
David Holmes, Krystal Mo and

Remi Forax.

Please review the jdk tree changes (to the old verifier).

Updated webrevs
   hotspot-rt tree : 
http://cr.openjdk.java.net/~bharadwaj/8007736/hotspot-rt/webrev
   jdk8/tl/jdl tree : 
http://cr.openjdk.java.net/~bharadwaj/8007736/jdk8-tl-jdk/webrev/


Bug fixed: https://jbs.oracle.com/bugs/browse/JDK-8007736

Summary of changes :
 Java 8 allows public static interface methods. To accommodate
for this, the proposed change modifies bytecode verification of Java
8 classfiles to allow invokestatic to refer to static interface
methods in CONSTANT_InterfaceMethodref as well as static class
methods in CONSTANT_Methodref.

New test added :
 A new jtreg test in hotspot/test/runtime is added.

Thanks,

Bharadwaj



Re: RFR (S) : JDK-8007736 - VerifyError for use of static method in interface

2013-02-13 Thread S. Bharadwaj Yadavalli

Mandy,

Thanks for the review.

I made the suggested changes and updated the webrev.

Thanks,

Bharadwaj

On 2/13/2013 12:29 PM, Mandy Chung wrote:

Bharadwaj,

I'm including core-libs-dev so that they know this fix is coming.

http://cr.openjdk.java.net/~bharadwaj/8007736/jdk8-tl-jdk/webrev/ 


The jdk change looks  okay to me.  Minor nit:  L1250-1251: some 
identation will help.  You can follow the original formatting - 
breaking '?' and ': in the newlines.


Can you include the new regression test in the jdk repo as well 
(test/vm/verifier directory)?  That'll make sure this test is run by 
core-libs and JPRT job (it's part of the default testset).


Thanks
Mandy

On 2/12/2013 7:44 PM, S. Bharadwaj Yadavalli wrote:

On 2/12/2013 2:17 PM, Karen Kinnear wrote:

Code looks good. I like this length of test too :-)


Thanks for the review, Karen.

Please check -XX:-UseSplitVerifier to see if we also need to fix the 
old verifier for new

classfiles.


I checked with -XX:-UseSplitVerifier and found that I needed to fix 
the old verifier.


I updated the webrev with my changes which now need to be made to jdk 
tree as well as hotspot tree.
The changes to hotspot tree remain the same as reviewed previously by 
David Holmes, Krystal Mo and

Remi Forax.

Please review the jdk tree changes (to the old verifier).

Updated webrevs
   hotspot-rt tree : 
http://cr.openjdk.java.net/~bharadwaj/8007736/hotspot-rt/webrev
   jdk8/tl/jdl tree : 
http://cr.openjdk.java.net/~bharadwaj/8007736/jdk8-tl-jdk/webrev/


Bug fixed: https://jbs.oracle.com/bugs/browse/JDK-8007736

Summary of changes :
 Java 8 allows public static interface methods. To accommodate
for this, the proposed change modifies bytecode verification of Java
8 classfiles to allow invokestatic to refer to static interface
methods in CONSTANT_InterfaceMethodref as well as static class
methods in CONSTANT_Methodref.

New test added :
 A new jtreg test in hotspot/test/runtime is added.

Thanks,

Bharadwaj





Re: RFR (S) : JDK-8007736 - VerifyError for use of static method in interface

2013-02-13 Thread Mandy Chung
Thumbs up.  Thanks for adding the regression test.  Is there any test in 
jdk/test/ProblemList.txt excluded due to this bug?   AFAIK no but just 
to double check.


Thanks
Mandy

On 2/13/2013 10:04 AM, S. Bharadwaj Yadavalli wrote:

Mandy,

Thanks for the review.

I made the suggested changes and updated the webrev.

Thanks,

Bharadwaj

On 2/13/2013 12:29 PM, Mandy Chung wrote:

Bharadwaj,

I'm including core-libs-dev so that they know this fix is coming.

http://cr.openjdk.java.net/~bharadwaj/8007736/jdk8-tl-jdk/webrev/ 


The jdk change looks  okay to me.  Minor nit:  L1250-1251: some 
identation will help.  You can follow the original formatting - 
breaking '?' and ': in the newlines.


Can you include the new regression test in the jdk repo as well 
(test/vm/verifier directory)?  That'll make sure this test is run by 
core-libs and JPRT job (it's part of the default testset).


Thanks
Mandy

On 2/12/2013 7:44 PM, S. Bharadwaj Yadavalli wrote:

On 2/12/2013 2:17 PM, Karen Kinnear wrote:

Code looks good. I like this length of test too :-)


Thanks for the review, Karen.

Please check -XX:-UseSplitVerifier to see if we also need to fix 
the old verifier for new

classfiles.


I checked with -XX:-UseSplitVerifier and found that I needed to fix 
the old verifier.


I updated the webrev with my changes which now need to be made to 
jdk tree as well as hotspot tree.
The changes to hotspot tree remain the same as reviewed previously 
by David Holmes, Krystal Mo and

Remi Forax.

Please review the jdk tree changes (to the old verifier).

Updated webrevs
   hotspot-rt tree : 
http://cr.openjdk.java.net/~bharadwaj/8007736/hotspot-rt/webrev
   jdk8/tl/jdl tree : 
http://cr.openjdk.java.net/~bharadwaj/8007736/jdk8-tl-jdk/webrev/


Bug fixed: https://jbs.oracle.com/bugs/browse/JDK-8007736

Summary of changes :
 Java 8 allows public static interface methods. To accommodate
for this, the proposed change modifies bytecode verification of Java
8 classfiles to allow invokestatic to refer to static interface
methods in CONSTANT_InterfaceMethodref as well as static class
methods in CONSTANT_Methodref.

New test added :
 A new jtreg test in hotspot/test/runtime is added.

Thanks,

Bharadwaj





[Review Request] 8008161: Regression: j.u.TimeZone.getAvailableIDs(rawOffset) returns non-sorted list

2013-02-13 Thread Xueming Shen

Hi,

This is the regression triggered by my changeset
8007572: Replace existing jdk timezone data at java.home/lib/zi with JSR310's 
tzdb.

While the specification does not specify that the returned list from
j.u.TimeZone.getAvailableIDs(rawOffset) should be sorted, this has
been the implementation for years. It appears there are at least some
tests may have dependency on this.

Here is the webrev to restore the existing behavior.

http://cr.openjdk.java.net/~sherman/8008161/webrev

Please help review.

Thanks!
-Sherman


Re: [Review Request] 8008161: Regression: j.u.TimeZone.getAvailableIDs(rawOffset) returns non-sorted list

2013-02-13 Thread Lance Andersen - Oracle
+1
On Feb 13, 2013, at 2:02 PM, Xueming Shen wrote:

 Hi,
 
 This is the regression triggered by my changeset
 8007572: Replace existing jdk timezone data at java.home/lib/zi with 
 JSR310's tzdb.
 
 While the specification does not specify that the returned list from
 j.u.TimeZone.getAvailableIDs(rawOffset) should be sorted, this has
 been the implementation for years. It appears there are at least some
 tests may have dependency on this.
 
 Here is the webrev to restore the existing behavior.
 
 http://cr.openjdk.java.net/~sherman/8008161/webrev
 
 Please help review.
 
 Thanks!
 -Sherman


Lance Andersen| Principal Member of Technical Staff | +1.781.442.2037
Oracle Java Engineering 
1 Network Drive 
Burlington, MA 01803
lance.ander...@oracle.com



hg: jdk8/tl/jdk: 8007755: Support the logical grouping of keystores

2013-02-13 Thread vincent . x . ryan
Changeset: 11438befdd4c
Author:vinnie
Date:  2013-02-13 19:40 +
URL:   http://hg.openjdk.java.net/jdk8/tl/jdk/rev/11438befdd4c

8007755: Support the logical grouping of keystores
Reviewed-by: mullan

! src/share/classes/java/security/KeyStore.java
+ src/share/classes/sun/security/provider/DomainKeyStore.java
! src/share/classes/sun/security/provider/PolicyParser.java
! src/share/classes/sun/security/provider/Sun.java
! src/share/classes/sun/security/provider/SunEntries.java
! src/share/classes/sun/security/util/Resources.java
+ test/sun/security/provider/KeyStore/DKSTest.java
+ test/sun/security/provider/KeyStore/DKSTest.sh
+ test/sun/security/provider/KeyStore/domains.cfg
! test/sun/security/tools/keytool/AltProviderPath.sh
! test/sun/security/tools/keytool/DummyProvider.java



hg: jdk8/tl/jdk: 8008161: Regression: j.u.TimeZone.getAvailableIDs(rawOffset) returns non-sorted list

2013-02-13 Thread xueming . shen
Changeset: efc66fe16f91
Author:sherman
Date:  2013-02-13 11:49 -0800
URL:   http://hg.openjdk.java.net/jdk8/tl/jdk/rev/efc66fe16f91

8008161: Regression: j.u.TimeZone.getAvailableIDs(rawOffset) returns non-sorted 
list
Summary: to return a sorted list
Reviewed-by: lancea, naoto

! src/share/classes/sun/util/calendar/ZoneInfoFile.java
! test/sun/util/calendar/zi/TestZoneInfo310.java



hg: jdk8/tl: 9 new changesets

2013-02-13 Thread lana . steuck
Changeset: 6e296219633d
Author:tbell
Date:  2013-01-31 13:31 -0800
URL:   http://hg.openjdk.java.net/jdk8/tl/rev/6e296219633d

8006933: Need to use nawk on Solaris to avoid awk limitations
Reviewed-by: erikj, dholmes, dsamersoff

! common/makefiles/IdlCompilation.gmk

Changeset: 12782ec1da5f
Author:ohrstrom
Date:  2013-01-31 14:00 +0100
URL:   http://hg.openjdk.java.net/jdk8/tl/rev/12782ec1da5f

8006872: Stop creating four jars with identical content in the new build system.
Reviewed-by: erikj

! common/autoconf/spec.gmk.in
! common/makefiles/JavaCompilation.gmk
! common/makefiles/javadoc/Javadoc.gmk

Changeset: 7e584be2ee58
Author:ohrstrom
Date:  2013-02-01 11:22 +0100
URL:   http://hg.openjdk.java.net/jdk8/tl/rev/7e584be2ee58

Merge


Changeset: 339e4df096a2
Author:erikj
Date:  2013-02-04 10:53 +0100
URL:   http://hg.openjdk.java.net/jdk8/tl/rev/339e4df096a2

8007093: build-infra: Make should fail if spec is older than configure files
Reviewed-by: tbell

! common/makefiles/Main.gmk

Changeset: dea045cc48ca
Author:erikj
Date:  2013-02-04 11:02 +0100
URL:   http://hg.openjdk.java.net/jdk8/tl/rev/dea045cc48ca

8007275: build-infra: Create final-images target
Reviewed-by: tbell

! common/autoconf/generated-configure.sh
! common/makefiles/Jprt.gmk

Changeset: d3d9ab8ee7b0
Author:erikj
Date:  2013-02-05 16:50 +0100
URL:   http://hg.openjdk.java.net/jdk8/tl/rev/d3d9ab8ee7b0

8007524: build-infra: Incremental build of tools.jar broken
Reviewed-by: tbell

! common/makefiles/JavaCompilation.gmk

Changeset: 278af9fc67e7
Author:katleman
Date:  2013-02-05 18:54 -0800
URL:   http://hg.openjdk.java.net/jdk8/tl/rev/278af9fc67e7

Merge


Changeset: 3933eebc659d
Author:katleman
Date:  2013-02-07 12:32 -0800
URL:   http://hg.openjdk.java.net/jdk8/tl/rev/3933eebc659d

Added tag jdk8-b76 for changeset 278af9fc67e7

! .hgtags

Changeset: 76808fb4194a
Author:lana
Date:  2013-02-13 11:21 -0800
URL:   http://hg.openjdk.java.net/jdk8/tl/rev/76808fb4194a

Merge

! common/makefiles/Main.gmk



hg: jdk8/tl/corba: 3 new changesets

2013-02-13 Thread lana . steuck
Changeset: ce106b6b7394
Author:ohrstrom
Date:  2013-01-31 14:02 +0100
URL:   http://hg.openjdk.java.net/jdk8/tl/corba/rev/ce106b6b7394

8006872: Stop creating four jars with identical content in the new build system.
Reviewed-by: erikj

! makefiles/BuildCorba.gmk

Changeset: 58be6ca3c060
Author:katleman
Date:  2013-02-05 18:54 -0800
URL:   http://hg.openjdk.java.net/jdk8/tl/corba/rev/58be6ca3c060

Merge


Changeset: 35684a40c584
Author:katleman
Date:  2013-02-07 12:32 -0800
URL:   http://hg.openjdk.java.net/jdk8/tl/corba/rev/35684a40c584

Added tag jdk8-b76 for changeset 58be6ca3c060

! .hgtags



hg: jdk8/tl/jaxws: 3 new changesets

2013-02-13 Thread lana . steuck
Changeset: 54beebb17494
Author:ohrstrom
Date:  2013-01-31 14:02 +0100
URL:   http://hg.openjdk.java.net/jdk8/tl/jaxws/rev/54beebb17494

8006872: Stop creating four jars with identical content in the new build system.
Reviewed-by: erikj

! makefiles/BuildJaxws.gmk

Changeset: c4853f3f0e89
Author:katleman
Date:  2013-02-05 18:54 -0800
URL:   http://hg.openjdk.java.net/jdk8/tl/jaxws/rev/c4853f3f0e89

Merge


Changeset: 64dfba1bad16
Author:katleman
Date:  2013-02-07 12:33 -0800
URL:   http://hg.openjdk.java.net/jdk8/tl/jaxws/rev/64dfba1bad16

Added tag jdk8-b76 for changeset c4853f3f0e89

! .hgtags



hg: jdk8/tl/jaxp: 4 new changesets

2013-02-13 Thread lana . steuck
Changeset: 8f6ca8755f46
Author:ohrstrom
Date:  2013-01-31 14:02 +0100
URL:   http://hg.openjdk.java.net/jdk8/tl/jaxp/rev/8f6ca8755f46

8006872: Stop creating four jars with identical content in the new build system.
Reviewed-by: erikj

! makefiles/BuildJaxp.gmk

Changeset: 0c08593944d0
Author:katleman
Date:  2013-02-05 18:54 -0800
URL:   http://hg.openjdk.java.net/jdk8/tl/jaxp/rev/0c08593944d0

Merge


Changeset: 02195d0e96b9
Author:katleman
Date:  2013-02-07 12:32 -0800
URL:   http://hg.openjdk.java.net/jdk8/tl/jaxp/rev/02195d0e96b9

Added tag jdk8-b76 for changeset 0c08593944d0

! .hgtags

Changeset: 573e789c187a
Author:lana
Date:  2013-02-11 16:12 -0800
URL:   http://hg.openjdk.java.net/jdk8/tl/jaxp/rev/573e789c187a

Merge




hg: jdk8/tl/langtools: 5 new changesets

2013-02-13 Thread lana . steuck
Changeset: 2d6789a725a4
Author:ohrstrom
Date:  2013-01-31 14:01 +0100
URL:   http://hg.openjdk.java.net/jdk8/tl/langtools/rev/2d6789a725a4

8006872: Stop creating four jars with identical content in the new build system.
Reviewed-by: erikj

! makefiles/BuildLangtools.gmk

Changeset: e81839b32337
Author:katleman
Date:  2013-02-05 18:55 -0800
URL:   http://hg.openjdk.java.net/jdk8/tl/langtools/rev/e81839b32337

Merge


Changeset: 6fde20398015
Author:katleman
Date:  2013-02-07 12:33 -0800
URL:   http://hg.openjdk.java.net/jdk8/tl/langtools/rev/6fde20398015

Added tag jdk8-b76 for changeset e81839b32337

! .hgtags

Changeset: 89c664151689
Author:lana
Date:  2013-02-11 16:15 -0800
URL:   http://hg.openjdk.java.net/jdk8/tl/langtools/rev/89c664151689

Merge


Changeset: 3f9875aa5d67
Author:lana
Date:  2013-02-13 11:25 -0800
URL:   http://hg.openjdk.java.net/jdk8/tl/langtools/rev/3f9875aa5d67

Merge




hg: jdk8/tl/hotspot: 74 new changesets

2013-02-13 Thread lana . steuck
Changeset: da53cb17186a
Author:katleman
Date:  2013-02-07 12:32 -0800
URL:   http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/da53cb17186a

Added tag jdk8-b76 for changeset 20b605466ccb

! .hgtags

Changeset: 6fbe8a57549d
Author:amurillo
Date:  2013-01-25 03:03 -0800
URL:   http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/6fbe8a57549d

8006827: new hotspot build - hs25-b18
Reviewed-by: jcoomes

! make/hotspot_version

Changeset: 3c327c2b6782
Author:jmasa
Date:  2013-01-03 15:03 -0800
URL:   http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/3c327c2b6782

8004895: NPG: JMapPermCore test failure caused by warnings about missing field
Reviewed-by: johnc

! 
src/share/vm/gc_implementation/concurrentMarkSweep/compactibleFreeListSpace.cpp
! 
src/share/vm/gc_implementation/concurrentMarkSweep/compactibleFreeListSpace.hpp
! src/share/vm/gc_implementation/concurrentMarkSweep/vmStructs_cms.hpp
! src/share/vm/memory/binaryTreeDictionary.cpp
! src/share/vm/memory/binaryTreeDictionary.hpp
! src/share/vm/runtime/vmStructs.cpp

Changeset: ef1e11845e18
Author:jmasa
Date:  2013-02-04 12:01 -0800
URL:   http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/ef1e11845e18

Merge

! 
src/share/vm/gc_implementation/concurrentMarkSweep/compactibleFreeListSpace.cpp
! src/share/vm/runtime/vmStructs.cpp

Changeset: 5daaddd917a1
Author:coleenp
Date:  2013-01-23 10:34 -0500
URL:   http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/5daaddd917a1

8006040: NPG: on_stack processing wastes space in ConstantPool
Summary: Added on_stack bit to flags.  Also MetadataMarkOnStack is used for 
more than JVMTI so had to be moved.
Reviewed-by: dholmes, stefank

! src/share/vm/classfile/classLoaderData.cpp
+ src/share/vm/classfile/metadataOnStackMark.cpp
+ src/share/vm/classfile/metadataOnStackMark.hpp
! src/share/vm/interpreter/linkResolver.cpp
! src/share/vm/oops/constantPool.cpp
! src/share/vm/oops/constantPool.hpp
! src/share/vm/oops/method.cpp
! src/share/vm/prims/jvmtiRedefineClasses.cpp
! src/share/vm/prims/jvmtiRedefineClasses.hpp

Changeset: 6cf2530f7fd3
Author:minqi
Date:  2013-01-24 23:30 -0800
URL:   http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/6cf2530f7fd3

8005278: Serviceability Agent: jmap -heap and jstack -m fail
Summary: BinaryTreeDictionary is typedef'ed as AFLBinaryTreeDictionary in 
vmStructs and in SA we still use old name for that. FreeList now is a template 
based class which is not reflect in SA type library. When SA does calculation 
of heap for CMS, the former will cause failure to retrieve BinaryTreeDictionary 
 sine the rename. The later will fail wherever it is used in SA.
Reviewed-by: dholmes, sla, coleenp
Contributed-by: yunda@taobao.com

+ agent/src/share/classes/sun/jvm/hotspot/memory/AFLBinaryTreeDictionary.java
- agent/src/share/classes/sun/jvm/hotspot/memory/BinaryTreeDictionary.java
! agent/src/share/classes/sun/jvm/hotspot/memory/CompactibleFreeListSpace.java
! agent/src/share/classes/sun/jvm/hotspot/memory/FreeList.java
! src/share/vm/gc_implementation/concurrentMarkSweep/vmStructs_cms.hpp

Changeset: 8b46b0196eb0
Author:zgu
Date:  2013-01-25 10:04 -0500
URL:   http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/8b46b0196eb0

8000692: Remove old KERNEL code
Summary: Removed depreciated kernel VM source code from hotspot VM
Reviewed-by: dholmes, acorn

! make/Makefile
! make/bsd/makefiles/dtrace.make
! make/solaris/Makefile
! make/solaris/makefiles/dtrace.make
- make/solaris/makefiles/kernel.make
! make/windows/build.bat
! make/windows/create_obj_files.sh
! make/windows/makefiles/defs.make
! make/windows/makefiles/projectcreator.make
! make/windows/makefiles/vm.make
! src/cpu/x86/vm/assembler_x86.hpp
! src/share/vm/classfile/systemDictionary.cpp
! src/share/vm/classfile/systemDictionary.hpp
! src/share/vm/classfile/vmSymbols.hpp
! src/share/vm/prims/jniCheck.hpp
! src/share/vm/prims/jvm.cpp
! src/share/vm/prims/jvmtiCodeBlobEvents.hpp
! src/share/vm/prims/jvmtiEnv.cpp
! src/share/vm/prims/jvmtiEnvBase.cpp
! src/share/vm/prims/jvmtiExport.cpp
! src/share/vm/prims/jvmtiExtensions.hpp
! src/share/vm/prims/jvmtiImpl.cpp
! src/share/vm/prims/jvmtiImpl.hpp
! src/share/vm/prims/jvmtiRawMonitor.hpp
! src/share/vm/prims/jvmtiRedefineClasses.cpp
! src/share/vm/prims/jvmtiTagMap.hpp
! src/share/vm/runtime/arguments.cpp
! src/share/vm/runtime/arguments.hpp
! src/share/vm/runtime/thread.cpp
! src/share/vm/runtime/vmStructs.hpp
! src/share/vm/runtime/vm_version.cpp
! src/share/vm/services/attachListener.cpp
! src/share/vm/services/attachListener.hpp

Changeset: edd76a5856f7
Author:sspitsyn
Date:  2013-01-24 22:13 -0800
URL:   http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/edd76a5856f7

8005128: JSR 292: the mlvm redefineClassInBootstrap test crashes in 
ConstantPool::compare_entry_to
Summary: When constant pool is copied in merge_constant_pools the invokedynamic 
operands must be copied before.
Reviewed-by: coleenp, twisti
Contributed-by: 

hg: jdk8/tl/jdk: 17 new changesets

2013-02-13 Thread lana . steuck
Changeset: c5a7ac2a721f
Author:ohrstrom
Date:  2013-01-31 14:03 +0100
URL:   http://hg.openjdk.java.net/jdk8/tl/jdk/rev/c5a7ac2a721f

8006872: Stop creating four jars with identical content in the new build system.
Reviewed-by: erikj

! makefiles/CreateJars.gmk
! makefiles/GensrcSwing.gmk
! makefiles/Setup.gmk

Changeset: 35cf77f633c9
Author:tbell
Date:  2013-02-01 09:16 -0800
URL:   http://hg.openjdk.java.net/jdk8/tl/jdk/rev/35cf77f633c9

8006808: mapfile use check in jdk/make/common/shared/Defs-solaris.gmk is 
throwing 'egrep: syntax error'
Summary: Use a valid egrep expression in the non-SPARC case
Reviewed-by: dholmes

! make/common/shared/Defs-solaris.gmk

Changeset: 5692ebe15321
Author:erikj
Date:  2013-02-04 10:58 +0100
URL:   http://hg.openjdk.java.net/jdk8/tl/jdk/rev/5692ebe15321

8007268: build-infra: configure reports Solaris needs gcc for deploy, but logs 
don't indicate it's used.
Reviewed-by: tbell, katleman

! make/common/shared/Sanity.gmk

Changeset: 3a2630528661
Author:katleman
Date:  2013-02-05 18:54 -0800
URL:   http://hg.openjdk.java.net/jdk8/tl/jdk/rev/3a2630528661

Merge


Changeset: 933742f4bb4c
Author:katleman
Date:  2013-02-07 12:33 -0800
URL:   http://hg.openjdk.java.net/jdk8/tl/jdk/rev/933742f4bb4c

Added tag jdk8-b76 for changeset 3a2630528661

! .hgtags

Changeset: e63e7ee18412
Author:bae
Date:  2013-02-01 20:06 +0400
URL:   http://hg.openjdk.java.net/jdk8/tl/jdk/rev/e63e7ee18412

8004801: The image of BufferedImage.TYPE_INT_ARGB is blank.
Reviewed-by: prr

! src/share/native/sun/awt/image/awt_parseImage.c
! src/solaris/native/sun/awt/awt_Mlib.c
! src/solaris/native/sun/awt/awt_Mlib.h
! src/windows/native/sun/windows/awt_Mlib.cpp
! src/windows/native/sun/windows/awt_Mlib.h
+ test/java/awt/image/LookupOp/IntImageReverseTest.java

Changeset: 1df2944db538
Author:serb
Date:  2013-02-04 19:50 +0400
URL:   http://hg.openjdk.java.net/jdk8/tl/jdk/rev/1df2944db538

8004821: Graphics2D.drawPolygon() fails with IllegalPathStateException
Reviewed-by: prr, flar

! src/share/classes/sun/java2d/pipe/PixelToShapeConverter.java
+ test/sun/java2d/pipe/Test8004821.java

Changeset: 8fc3e4015b09
Author:jgodinez
Date:  2013-02-04 12:04 -0800
URL:   http://hg.openjdk.java.net/jdk8/tl/jdk/rev/8fc3e4015b09

8005052: [parfait] #416 X11SurfaceData.c UNINITIALISED OR MISSING RETURN VALUE
8005054: [parfait] #417 X11SurfaceData.c UNINITIALISED OR MISSING RETURN VALUE
Reviewed-by: prr, vadim
Contributed-by: jia-hong.c...@oracle.com

! src/solaris/native/sun/java2d/x11/X11SurfaceData.c

Changeset: fd61fcc1a5a9
Author:leonidr
Date:  2013-01-31 18:25 +0400
URL:   http://hg.openjdk.java.net/jdk8/tl/jdk/rev/fd61fcc1a5a9

8007006: [macosx] Closing subwindow loses main window menus
Reviewed-by: anthony

! src/macosx/native/sun/awt/AWTWindow.m

Changeset: 452deb976c92
Author:ptbrunet
Date:  2013-01-31 18:51 +0400
URL:   http://hg.openjdk.java.net/jdk8/tl/jdk/rev/452deb976c92

7179482: Component.accessibleContext and JComponent.accessibleContext 
refactoring
Reviewed-by: art, anthony, alexsch

! src/share/classes/java/awt/Component.java
! src/share/classes/java/awt/Container.java
! src/share/classes/javax/swing/JComponent.java

Changeset: 0b56a169295f
Author:pchelko
Date:  2013-02-04 13:54 +
URL:   http://hg.openjdk.java.net/jdk8/tl/jdk/rev/0b56a169295f

8005405: [macosx] Drag and Drop: wrong animation when dropped outside any drop 
target.
Summary: Changed the calculation of the drag image offset
Reviewed-by: serb, kizune

! src/macosx/classes/sun/lwawt/macosx/CDragSourceContextPeer.java
! src/macosx/native/sun/awt/CDragSource.m

Changeset: 171443b1eb3b
Author:kshefov
Date:  2013-02-04 16:01 +
URL:   http://hg.openjdk.java.net/jdk8/tl/jdk/rev/171443b1eb3b

7077259: [TEST_BUG] [macosx] Test work correctly only when default LF is Metal
Reviewed-by: serb, alexsch

! test/javax/swing/JSlider/4252173/bug4252173.java
! test/javax/swing/JSpinner/6532833/bug6532833.java
! test/javax/swing/plaf/metal/MetalSliderUI/Test6657026.java

Changeset: 0e929be3a9da
Author:lana
Date:  2013-02-05 11:10 -0800
URL:   http://hg.openjdk.java.net/jdk8/tl/jdk/rev/0e929be3a9da

Merge


Changeset: f26b539bf1d5
Author:lana
Date:  2013-02-05 11:11 -0800
URL:   http://hg.openjdk.java.net/jdk8/tl/jdk/rev/f26b539bf1d5

Merge

- src/share/classes/java/lang/annotation/ContainedBy.java
- src/share/classes/java/lang/annotation/ContainerFor.java
- test/java/net/URL/abnormal_http_urls
- test/java/net/URL/ftp_urls
- test/java/net/URL/jar_urls
- test/java/net/URL/normal_http_urls
- test/java/net/URL/runconstructor.sh
- test/java/net/URL/share_file_urls
- test/java/net/URL/win32_file_urls
- test/sun/net/www/EncDec.doc
- test/sun/net/www/MarkResetTest.java
- test/sun/net/www/MarkResetTest.sh
- test/sun/security/util/Oid/S11N.sh
- test/sun/security/util/Oid/SerialTest.java

Changeset: 

Re: IdentityHashMap.[keySet|values|entrySet].toArray speed-up

2013-02-13 Thread Mike Duigou
This looks like excellent contribution Peter!

I will proceed with the testing needed to integrate your improved 
toArray()/toArray(T[]) implementations. I have created an issue, JDK-8008167, 
for this patch.

I am surprised that this didn't get more attention back in December as it does 
seem to offer significant benefits for size and performance.

Thanks,

Mike
 
On Dec 12 2012, at 01:07 , Peter Levart wrote:

 Hi all,
 
 I propose a patch to java.util.IdentityHashMap to speed-up toArray methods of 
 it's keySet, values and entrySet views:
 
 http://dl.dropbox.com/u/101777488/jdk8-tl/IdentityHashMap/webrev.01/index.html
 
 I toyed with the possibility to replace HashMap-s, that are used in 
 java.lang.Class and java.lang.reflect.[Field|Method|Constructor] to hold 
 cached annotations, with IdentityHashMap-s. They are a perfect replacement, 
 since keys in these maps are java.lang.Class objects.
 
 They are more compact then HashMap-s. This is the comparison of allocated 
 heap bytes between HashMap and IdentityHashMap for various sizes and 
 corresponding capacities which takes into account the size of the Map object, 
 the size of allocated array and the size of Map.Entry-s in case of HM (IHM 
 doesn't have them) and the size of associated values Collection view 
 (allocated when dumping annotations to array). HM-s for annotations are 
 currently allocated with default initial capacity (16). I propose to allocate 
 IHM-s with initial capacity 8 that fits to hold 5 entries which is enough for 
 typical annotation use cases on one hand and still makes improvement for any 
 case on the other:
 
 32 bit JVM:
 
| HashMap | IdentityHashMap |
size|capacitybytes|capacitybytes|IHM.bytes-HM.bytes
 +-+-+--
   0|  16  144|   8  136|  -8
   1|  16  168|   8  136| -32
   2|  16  192|   8  136| -56
   3|  16  216|   8  136| -80
   4|  16  240|   8  136|-104
   5|  16  264|   8  136|-128
   6|  16  288|  16  200| -88
   7|  16  312|  16  200|-112
   8|  16  336|  16  200|-136
   9|  16  360|  16  200|-160
  10|  16  384|  16  200|-184
  11|  16  408|  16  200|-208
  12|  16  432|  32  328|-104
  13|  32  520|  32  328|-192
  14|  32  544|  32  328|-216
  15|  32  568|  32  328|-240
  16|  32  592|  32  328|-264
  17|  32  616|  32  328|-288
  18|  32  640|  32  328|-312
  19|  32  664|  32  328|-336
  20|  32  688|  32  328|-360
  40|  64 1296|  64  584|-712
  60| 128 2032| 128 1096|-936
  80| 128 2512| 128 1096|   -1416
 100| 256 3504| 256 2120|   -1384
 120| 256 3984| 256 2120|   -1864
 140| 256 4464| 256 2120|   -2344
 160| 256 4944| 256 2120|   -2824
 180| 256 5424| 512 4168|   -1256
 
 64 bit JVM:
 
| HashMap | IdentityHashMap |
size|capacitybytes|capacitybytes|IHM.bytes-HM.bytes
 +-+-+--
   0|  16  248|   8  240|  -8
   1|  16  296|   8  240| -56
   2|  16  344|   8  240|-104
   3|  16  392|   8  240|-152
   4|  16  440|   8  240|-200
   5|  16  488|   8  240|-248
   6|  16  536|  16  368|-168
   7|  16  584|  16  368|-216
   8|  16  632|  16  368|-264
   9|  16  680|  16  368|-312
  10|  16  728|  16  368|-360
  11|  16  776|  16  368|-408
  12|  16  824|  32  624|-200
  13|  32 1000|  32  624|-376
  14|  32 1048|  32  624|-424
  15|  32 1096|  32  624|-472
  16|  32 1144|  32  624|-520
  17|  32 1192|  32  624|-568
  18|  32 1240|  32  624|-616
  19|  32 1288|  32  624|-664
  20|  32 1336|  32  624|-712
  40|  64 2552|  64 1136|   -1416
  60| 128 4024| 128 2160|   -1864
  80| 128 4984| 128 2160|   -2824
 100| 256 6968| 256 4208|   -2760
 120| 256 7928| 256 4208|   -3720
 140| 256 

Re: IdentityHashMap.[keySet|values|entrySet].toArray speed-up

2013-02-13 Thread Martin Buchholz
Seems pretty good overall. Thanks for doing this.


Style: put your open braces at the end of the line.

---

+int si = 0;
+while (si  tab.length) {


why not the more readable:

for (int i = 0, len = tab.length; i  len; i += 2) {
  Object key = tab[i];
  if (key != null) { ...


hg: jdk8/tl/jdk: 8005750: [parfait] Memory leak at jdk/src/share/bin/parse_manifest.c

2013-02-13 Thread kumar . x . srinivasan
Changeset: 83c09292f5ad
Author:ksrini
Date:  2013-02-13 12:56 -0800
URL:   http://hg.openjdk.java.net/jdk8/tl/jdk/rev/83c09292f5ad

8005750: [parfait] Memory leak at jdk/src/share/bin/parse_manifest.c
Reviewed-by: jjh

! src/share/bin/parse_manifest.c



hg: jdk8/tl/jdk: 8007935: java/lang/instrument/RedefineSubclassWithTwoInterfaces.sh should use $COMPILEJAVA for javac

2013-02-13 Thread daniel . daugherty
Changeset: b13247d5408d
Author:dcubed
Date:  2013-02-13 13:22 -0800
URL:   http://hg.openjdk.java.net/jdk8/tl/jdk/rev/b13247d5408d

8007935: java/lang/instrument/RedefineSubclassWithTwoInterfaces.sh should use 
$COMPILEJAVA for javac
Reviewed-by: sspitsyn, alanb

! test/java/lang/instrument/RedefineSubclassWithTwoInterfaces.sh



hg: jdk8/tl/jdk: 2 new changesets

2013-02-13 Thread karen . kinnear
Changeset: 4f520ce7ba3f
Author:acorn
Date:  2013-02-13 16:09 -0500
URL:   http://hg.openjdk.java.net/jdk8/tl/jdk/rev/4f520ce7ba3f

8007888: jdk fix default method: VerifyError: Illegal use of nonvirtual
Summary: Recognize VM generated method in old verifier. With 8004967
Reviewed-by: coleenp, acorn
Contributed-by: bharadwaj.yadava...@oracle.com

! src/share/javavm/export/jvm.h
! src/share/native/common/check_code.c

Changeset: e6f34051c60c
Author:acorn
Date:  2013-02-13 16:15 -0500
URL:   http://hg.openjdk.java.net/jdk8/tl/jdk/rev/e6f34051c60c

Merge




Re: RFR (S) CR 8006627/8007398: Improve performance of Long.toUnsignedString0, Integer.toUnsignedString0, UUID(String) and UUID.toString

2013-02-13 Thread Mike Duigou
I have updated the patch with some of Ulf's feedback and corrected one 
cut-and-paste error that I made.

The updated webrev is at:

http://cr.openjdk.java.net/~mduigou/JDK-8006627/2/webrev/

Mike

On Feb 12 2013, at 18:25 , Ulf Zibis wrote:

 Am 13.02.2013 02:34, schrieb Mike Duigou:
 Thank you for the comments Ulf.
 
 On Feb 12 2013, at 17:24 , Ulf Zibis wrote:
 
 Am 13.02.2013 00:30, schrieb Mike Duigou:
 Hi Steven;
 
 I have updated the patch for Java 8. There's somewhat less code sharing 
 and a bit of refactoring than your last version but the performance should 
 be about the same or a little better.
 
 http://cr.openjdk.java.net/~mduigou/JDK-8007398/0/webrev/
 Couldn't you use String(buf, true) for all to(Unsigned)String(...) methods ?
 Possibly. I didn't go looking too far with looking for additional 
 improvements.
 
 Instead of calculating the mask each time, you could use:
 309 private static String toUnsignedString(int i, int shift, int mask) {
 I think that would actually be inefficient. I haven't looked at the JITed 
 code but the mask calculation is pretty cheap relative to parameter passing.
 
 I believe, JIT will inline the code, so there would be no parameter passing.
 
 Additionally the calculation of char count could be faster, if you would have 
 short cuts like:
 numberOfLeading2Zeros(i)
 numberOfLeading4Zeros(i)
 numberOfLeading8Zeros(i)
 ...
 So the optimum would be with separate toString methods:
 String toBase2String(int i);
 String toBase4String(int i);
 String toBase8String(int i);
 ...
 
 In any case I would save 2 lines:
 
 311 int mag = Integer.SIZE - Long.numberOfLeadingZeros(i);
 312 int charCount = Math.max(((mag + (shift - 1)) / shift), 1);
 313 char[] buf = new char[charCount];
 316 int mask = (1  shift) - 1;
 
 -Ulf
 



Re: [Review Request] 8008161: Regression: j.u.TimeZone.getAvailableIDs(rawOffset) returns non-sorted list

2013-02-13 Thread Masayoshi Okutsu
The change is fine. But it's neither the spec nor guaranteed in the 
previous implementation to return a sorted list. The caller needed to 
sort the return value if a sorted list is required.


Masayoshi

On 2/14/2013 4:02 AM, Xueming Shen wrote:

Hi,

This is the regression triggered by my changeset
8007572: Replace existing jdk timezone data at java.home/lib/zi with 
JSR310's tzdb.


While the specification does not specify that the returned list from
j.u.TimeZone.getAvailableIDs(rawOffset) should be sorted, this has
been the implementation for years. It appears there are at least some
tests may have dependency on this.

Here is the webrev to restore the existing behavior.

http://cr.openjdk.java.net/~sherman/8008161/webrev

Please help review.

Thanks!
-Sherman




Re: Define JNIEXPORT as visibility default with GCC?

2013-02-13 Thread Martin Buchholz
This seems like an obvious improvement.
There are already bunches of places in the jdk sources that do things like:

./hotspot/src/cpu/x86/vm/jni_x86.h
#if defined(SOLARIS) || defined(LINUX) || defined(_ALLBSD_SOURCE)

#if defined(__GNUC__)  (__GNUC__  4) || (__GNUC__ == 4) 
(__GNUC_MINOR__  2)
  #define JNIEXPORT __attribute__((visibility(default)))
  #define JNIIMPORT __attribute__((visibility(default)))
#else
  #define JNIEXPORT
  #define JNIIMPORT
#endif

This is *crazy*.  The visibility feature has nothing to do with x86, or
SOLARIS, or LINUX, or BSD.
JNIEXPORT should be defined to  __attribute__((visibility(default)))
#if #and #only #if:
defined(__GNUC__)  (__GNUC__  4) || (__GNUC__ == 4)  (__GNUC_MINOR__ 
2)

and that change should simply be made to the public exported jdk jni headers

Martin

On Mon, Feb 11, 2013 at 10:26 AM, Jeremy Manson jeremyman...@google.comwrote:

 Hi folks,

 Pardon if this has come up before; a quick search didn't indicate
 anything, but the mailing list archives are kind of hard to search.

 I wonder if it makes sense to define JNIEXPORT as meaning __attribute__
 ((visibility (default))) when compiling with gcc.  Currently, anyone
 building JNI code with -fvisibility=hidden and a stock Oracle JDK is at a
 loss: their JNI exports will be hidden along with everything else.

 I notice that both IcedTea and OS X have made this change independently,
 and it has been added to Hotspot's JNIEXPORT definition (so HS can be built
 with -fvisibility=hidden), but the change isn't present in the latest JDK8
 bits:


 http://hg.openjdk.java.net/jdk8/jdk8/jdk/file/933742f4bb4c/src/solaris/javavm/export/jni_md.h

 The workaround is pretty ugly: people who want to use -fvisibility=hidden
 have to redefine JNIEXPORT.  Upstream, it would be a pretty simple change
 to jni_md.h, along the lines of:

 #if defined(__GNUC__)  __GNUC__ = 4
 #define JNIEXPORT __attribute__ ((visibility (default)))
 #else
 #define JNIEXPORT
 #endif

 Any thoughts?

 Jeremy



Re: Define JNIEXPORT as visibility default with GCC?

2013-02-13 Thread Martin Buchholz
So, here's an obvious patch.   Any reason not to do this?  (although we can
do even better, as always)

http://cr.openjdk.java.net/~martin/webrevs/openjdk8/JNIEXPORT/
# HG changeset patch
# User martin
# Date 1360805180 28800
# Node ID 0d31e5e0a2c8e4a40c669a6c1c59530aa5f705bb
# Parent  397424fe9fb52dd622af409ed2e3f1fc3463ee8d
666: JNIEXPORT should use gcc visibility default
Summary: Define JNIEXPORT

diff --git a/src/solaris/javavm/export/jni_md.h
b/src/solaris/javavm/export/jni_md.h
--- a/src/solaris/javavm/export/jni_md.h
+++ b/src/solaris/javavm/export/jni_md.h
@@ -26,8 +26,14 @@
 #ifndef _JAVASOFT_JNI_MD_H_
 #define _JAVASOFT_JNI_MD_H_

-#define JNIEXPORT
-#define JNIIMPORT
+#if defined(__GNUC__)  (__GNUC__  4) || (__GNUC__ == 4) 
(__GNUC_MINOR__  2)
+  #define JNIEXPORT __attribute__((visibility(default)))
+  #define JNIIMPORT __attribute__((visibility(default)))
+#else
+  #define JNIEXPORT
+  #define JNIIMPORT
+#endif
+
 #define JNICALL

 typedef int jint;
On Wed, Feb 13, 2013 at 5:14 PM, Martin Buchholz marti...@google.comwrote:

 This seems like an obvious improvement.
 There are already bunches of places in the jdk sources that do things like:

 ./hotspot/src/cpu/x86/vm/jni_x86.h
 #if defined(SOLARIS) || defined(LINUX) || defined(_ALLBSD_SOURCE)

 #if defined(__GNUC__)  (__GNUC__  4) || (__GNUC__ == 4) 
 (__GNUC_MINOR__  2)
   #define JNIEXPORT __attribute__((visibility(default)))
   #define JNIIMPORT __attribute__((visibility(default)))
 #else
   #define JNIEXPORT
   #define JNIIMPORT
 #endif

 This is *crazy*.  The visibility feature has nothing to do with x86, or
 SOLARIS, or LINUX, or BSD.
 JNIEXPORT should be defined to  __attribute__((visibility(default)))
 #if #and #only #if:
 defined(__GNUC__)  (__GNUC__  4) || (__GNUC__ == 4)  (__GNUC_MINOR__
  2)

 and that change should simply be made to the public exported jdk jni
 headers

 Martin

 On Mon, Feb 11, 2013 at 10:26 AM, Jeremy Manson 
 jeremyman...@google.comwrote:

 Hi folks,

 Pardon if this has come up before; a quick search didn't indicate
 anything, but the mailing list archives are kind of hard to search.

 I wonder if it makes sense to define JNIEXPORT as meaning __attribute__
 ((visibility (default))) when compiling with gcc.  Currently, anyone
 building JNI code with -fvisibility=hidden and a stock Oracle JDK is at a
 loss: their JNI exports will be hidden along with everything else.

 I notice that both IcedTea and OS X have made this change independently,
 and it has been added to Hotspot's JNIEXPORT definition (so HS can be built
 with -fvisibility=hidden), but the change isn't present in the latest JDK8
 bits:


 http://hg.openjdk.java.net/jdk8/jdk8/jdk/file/933742f4bb4c/src/solaris/javavm/export/jni_md.h

 The workaround is pretty ugly: people who want to use -fvisibility=hidden
 have to redefine JNIEXPORT.  Upstream, it would be a pretty simple change
 to jni_md.h, along the lines of:

 #if defined(__GNUC__)  __GNUC__ = 4
 #define JNIEXPORT __attribute__ ((visibility (default)))
 #else
 #define JNIEXPORT
 #endif

 Any thoughts?

 Jeremy





Review for 8006225: tools/jdeps/Basic.java fails with AssertionError

2013-02-13 Thread Mandy Chung

This fixes 8006225: tools/jdeps/Basic.java fails with AssertionError.

Webrev:
   http://cr.openjdk.java.net/~mchung/jdk8/webrevs/8006225/webrev.00/

jdeps maintains a static list of analyzed classes, each of which is 
expected to be from one archive.  test/tools/jdeps/Basic.java calls 
com.sun.tools.jdeps.Main multiple times with different classpath and 
thus the same class came from different path in a different invocation 
of jdeps.  Fix jdeps to keep the data in instance variables.  I 
refactored the analysis from JdepsTask into a new Analyzer class to ease 
further enhancement.


Thanks
Mandy


Re: RFR (S) CR 8006627/8007398: Improve performance of Long.toUnsignedString0, Integer.toUnsignedString0, UUID(String) and UUID.toString

2013-02-13 Thread Ulf Zibis

Am 13.02.2013 23:45, schrieb Mike Duigou:

I have updated the patch with some of Ulf's feedback and corrected one 
cut-and-paste error that I made.

The updated webrev is at:

http://cr.openjdk.java.net/~mduigou/JDK-8006627/2/webrev/


Fine, but I still see the typo in j.l.System.

-Ulf



hg: jdk8/tl/langtools: 8001457: New tests needed for library-side changes for repeating annotations

2013-02-13 Thread joe . darcy
Changeset: 63872da94576
Author:darcy
Date:  2013-02-13 23:05 -0800
URL:   http://hg.openjdk.java.net/jdk8/tl/langtools/rev/63872da94576

8001457: New tests needed for library-side changes for repeating annotations
Reviewed-by: darcy
Contributed-by: sonali.g...@oracle.com

! test/tools/javac/annotations/repeatingAnnotations/combo/Helper.java
+ test/tools/javac/annotations/repeatingAnnotations/combo/ReflectionTest.java
+ 
test/tools/javac/annotations/repeatingAnnotations/combo/expectedFiles/ExpectedBase.java
+ 
test/tools/javac/annotations/repeatingAnnotations/combo/expectedFiles/ExpectedContainer.java



Re: RFR (S) CR 8006627/8007398: Improve performance of Long.toUnsignedString0, Integer.toUnsignedString0, UUID(String) and UUID.toString

2013-02-13 Thread Martin Buchholz
I like the optimizations in this change, especially the avoidance of
copies. Was there some good reason the jdk never before used JavaLangAccess
to avoid String creation copies?

 I am tempted to micro-optimize this some more, e.g. specialize the hex
printing code.  I might get rid of the digits table and compute ASCII
characters simply:

((i  10) ? '0' : ('a' - 10)) + i

Why not formatUnsignedInt?
Why not make the new format methods public?

Is there a better name than createStringSharedChars?  We hope those chars
will *not* be shared!  How about newStringUnsafe(char[] chars)

The spec for
+int formatUnsignedLong(long val, int shift, char[] buf, int offset,
int len);
should make it clearer whose responsibility getting the size right is.  It
looks like the caller has to ensure there will be enough space, so perhaps
the caller should just pass one offset instead of offset plus len.

+ * @return the lowest character  location used
stray space



On Wed, Feb 13, 2013 at 2:45 PM, Mike Duigou mike.dui...@oracle.com wrote:

 I have updated the patch with some of Ulf's feedback and corrected one
 cut-and-paste error that I made.

 The updated webrev is at:

 http://cr.openjdk.java.net/~mduigou/JDK-8006627/2/webrev/

 Mike

 On Feb 12 2013, at 18:25 , Ulf Zibis wrote:

  Am 13.02.2013 02:34, schrieb Mike Duigou:
  Thank you for the comments Ulf.
 
  On Feb 12 2013, at 17:24 , Ulf Zibis wrote:
 
  Am 13.02.2013 00:30, schrieb Mike Duigou:
  Hi Steven;
 
  I have updated the patch for Java 8. There's somewhat less code
 sharing and a bit of refactoring than your last version but the performance
 should be about the same or a little better.
 
  http://cr.openjdk.java.net/~mduigou/JDK-8007398/0/webrev/
  Couldn't you use String(buf, true) for all to(Unsigned)String(...)
 methods ?
  Possibly. I didn't go looking too far with looking for additional
 improvements.
 
  Instead of calculating the mask each time, you could use:
  309 private static String toUnsignedString(int i, int shift, int
 mask) {
  I think that would actually be inefficient. I haven't looked at the
 JITed code but the mask calculation is pretty cheap relative to parameter
 passing.
 
  I believe, JIT will inline the code, so there would be no parameter
 passing.
 
  Additionally the calculation of char count could be faster, if you would
 have short cuts like:
  numberOfLeading2Zeros(i)
  numberOfLeading4Zeros(i)
  numberOfLeading8Zeros(i)
  ...
  So the optimum would be with separate toString methods:
  String toBase2String(int i);
  String toBase4String(int i);
  String toBase8String(int i);
  ...
 
  In any case I would save 2 lines:
 
  311 int mag = Integer.SIZE - Long.numberOfLeadingZeros(i);
  312 int charCount = Math.max(((mag + (shift - 1)) / shift), 1);
  313 char[] buf = new char[charCount];
  316 int mask = (1  shift) - 1;
 
  -Ulf