hg: jdk8/tl/langtools: 8007279: Rename javax.l.model.element.Element.getAnnotations(Class) to getAnnotationsByType(Class)
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()
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)
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
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
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)
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
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
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; ...
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
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)
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
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
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
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
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
+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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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?
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?
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
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
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
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
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