From joe.darcy at oracle.com Fri Feb 1 02:58:28 2013 From: joe.darcy at oracle.com (joe.darcy at oracle.com) Date: Fri, 01 Feb 2013 02:58:28 +0000 Subject: hg: jdk8/tl/langtools: 8007351: Malformed copyright statements in typeAnnotations test directory Message-ID: <20130201025835.C022847725@hg.openjdk.java.net> Changeset: bec996065c45 Author: darcy Date: 2013-01-31 18:58 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/langtools/rev/bec996065c45 8007351: Malformed copyright statements in typeAnnotations test directory Reviewed-by: jjg ! test/tools/javac/annotations/typeAnnotations/TargetTypes.java ! test/tools/javac/annotations/typeAnnotations/TypeProcOnly.java ! test/tools/javac/annotations/typeAnnotations/api/AnnotatedArrayOrder.java ! test/tools/javac/annotations/typeAnnotations/api/ArrayCreationTree.java ! test/tools/javac/annotations/typeAnnotations/api/ArrayPositionConsistency.java ! test/tools/javac/annotations/typeAnnotations/classfile/ClassfileTestHelper.java ! test/tools/javac/annotations/typeAnnotations/classfile/CombinationsTargetTest1.java ! test/tools/javac/annotations/typeAnnotations/classfile/CombinationsTargetTest2.java ! test/tools/javac/annotations/typeAnnotations/classfile/NewTypeArguments.java ! test/tools/javac/annotations/typeAnnotations/classfile/NoTargetAnnotations.java ! test/tools/javac/annotations/typeAnnotations/classfile/TypeCasts.java ! test/tools/javac/annotations/typeAnnotations/classfile/Wildcards.java ! test/tools/javac/annotations/typeAnnotations/failures/target/DotClass.java ! test/tools/javac/annotations/typeAnnotations/newlocations/Varargs.java ! test/tools/javac/annotations/typeAnnotations/packageanno/PackageProcessor.java ! test/tools/javac/annotations/typeAnnotations/packageanno/mypackage/Anno.java ! test/tools/javac/annotations/typeAnnotations/packageanno/mypackage/MyClass.java ! test/tools/javac/annotations/typeAnnotations/packageanno/mypackage/package-info.java ! test/tools/javac/annotations/typeAnnotations/referenceinfos/ClassExtends.java ! test/tools/javac/annotations/typeAnnotations/referenceinfos/ClassTypeParam.java ! test/tools/javac/annotations/typeAnnotations/referenceinfos/Constructors.java ! test/tools/javac/annotations/typeAnnotations/referenceinfos/Driver.java ! test/tools/javac/annotations/typeAnnotations/referenceinfos/ExceptionParameters.java ! test/tools/javac/annotations/typeAnnotations/referenceinfos/Fields.java ! test/tools/javac/annotations/typeAnnotations/referenceinfos/FromSpecification.java ! test/tools/javac/annotations/typeAnnotations/referenceinfos/MethodParameters.java ! test/tools/javac/annotations/typeAnnotations/referenceinfos/MethodReceivers.java ! test/tools/javac/annotations/typeAnnotations/referenceinfos/MethodReturns.java ! test/tools/javac/annotations/typeAnnotations/referenceinfos/MethodThrows.java ! test/tools/javac/annotations/typeAnnotations/referenceinfos/MethodTypeParam.java ! test/tools/javac/annotations/typeAnnotations/referenceinfos/MultiCatch.java ! test/tools/javac/annotations/typeAnnotations/referenceinfos/NestedTypes.java ! test/tools/javac/annotations/typeAnnotations/referenceinfos/NewObjects.java ! test/tools/javac/annotations/typeAnnotations/referenceinfos/ReferenceInfoUtil.java ! test/tools/javac/annotations/typeAnnotations/referenceinfos/RepeatingTypeAnnotations.java ! test/tools/javac/annotations/typeAnnotations/referenceinfos/TypeCasts.java ! test/tools/javac/annotations/typeAnnotations/referenceinfos/TypeTests.java From jonathan.gibbons at oracle.com Fri Feb 1 03:19:45 2013 From: jonathan.gibbons at oracle.com (jonathan.gibbons at oracle.com) Date: Fri, 01 Feb 2013 03:19:45 +0000 Subject: hg: jdk8/tl/langtools: 8007329: minor issues in impl class hierarchry for DCTree.* classes Message-ID: <20130201031952.A6EA947727@hg.openjdk.java.net> Changeset: 3ab64e4293a1 Author: jjg Date: 2013-01-31 19:19 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/langtools/rev/3ab64e4293a1 8007329: minor issues in impl class hierarchry for DCTree.* classes Reviewed-by: darcy ! src/share/classes/com/sun/tools/javac/tree/DCTree.java From jonathan.gibbons at oracle.com Fri Feb 1 03:32:09 2013 From: jonathan.gibbons at oracle.com (jonathan.gibbons at oracle.com) Date: Fri, 01 Feb 2013 03:32:09 +0000 Subject: hg: jdk8/tl/langtools: 8004353: Generated html is wrong for overview.html; content has incorrect css footer class Message-ID: <20130201033217.1C1094772D@hg.openjdk.java.net> Changeset: 3d97a9a7a82b Author: jjg Date: 2013-01-31 19:31 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/langtools/rev/3d97a9a7a82b 8004353: Generated html is wrong for overview.html; content has incorrect css footer class Reviewed-by: jjg Contributed-by: roger.riggs at oracle.com ! src/share/classes/com/sun/tools/doclets/formats/html/PackageIndexWriter.java From chris.hegarty at oracle.com Fri Feb 1 06:53:50 2013 From: chris.hegarty at oracle.com (chris.hegarty at oracle.com) Date: Fri, 01 Feb 2013 06:53:50 +0000 Subject: hg: jdk8/tl/jdk: 8006395: Race in async socket close on Linux Message-ID: <20130201065420.448C84773A@hg.openjdk.java.net> Changeset: 17b643956999 Author: chegar Date: 2013-02-01 06:51 +0000 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/17b643956999 8006395: Race in async socket close on Linux Reviewed-by: alanb, dsamersoff ! src/solaris/native/java/net/linux_close.c + test/java/net/Socket/asyncClose/Race.java From kumar.x.srinivasan at oracle.com Fri Feb 1 15:29:14 2013 From: kumar.x.srinivasan at oracle.com (kumar.x.srinivasan at oracle.com) Date: Fri, 01 Feb 2013 15:29:14 +0000 Subject: hg: jdk8/tl/jdk: 8006536: [launcher] removes trailing slashes on arguments Message-ID: <20130201152946.9565E47755@hg.openjdk.java.net> Changeset: ea8f3ca83501 Author: ksrini Date: 2013-02-01 07:25 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/ea8f3ca83501 8006536: [launcher] removes trailing slashes on arguments Reviewed-by: ksrini, akhil Contributed-by: jviswana at linux.vnet.ibm.com ! src/windows/bin/cmdtoargs.c ! test/tools/launcher/Arrrghs.java From jonathan.gibbons at oracle.com Fri Feb 1 16:34:22 2013 From: jonathan.gibbons at oracle.com (jonathan.gibbons at oracle.com) Date: Fri, 01 Feb 2013 16:34:22 +0000 Subject: hg: jdk8/tl/langtools: 8007306: DPrinter: improve display of impl-class, internal tag/kind, and external tag/kind Message-ID: <20130201163425.41E2E4775A@hg.openjdk.java.net> Changeset: 8590c20af3ce Author: jjg Date: 2013-02-01 08:33 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/langtools/rev/8590c20af3ce 8007306: DPrinter: improve display of impl-class, internal tag/kind, and external tag/kind Reviewed-by: mcimadamore ! test/tools/javac/lib/DPrinter.java From jonathan.gibbons at oracle.com Fri Feb 1 16:36:26 2013 From: jonathan.gibbons at oracle.com (jonathan.gibbons at oracle.com) Date: Fri, 01 Feb 2013 16:36:26 +0000 Subject: hg: jdk8/tl/langtools: 8007305: DPrinter: provide better usage message Message-ID: <20130201163629.5A50D4775B@hg.openjdk.java.net> Changeset: 6df931ce1a81 Author: jjg Date: 2013-02-01 08:36 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/langtools/rev/6df931ce1a81 8007305: DPrinter: provide better usage message Reviewed-by: mcimadamore ! test/tools/javac/lib/DPrinter.java From jonathan.gibbons at oracle.com Fri Feb 1 20:01:28 2013 From: jonathan.gibbons at oracle.com (jonathan.gibbons at oracle.com) Date: Fri, 01 Feb 2013 20:01:28 +0000 Subject: hg: jdk8/tl/langtools: 8007344: javac may not make tree end positions and/or doc comments available to processors and listeners Message-ID: <20130201200134.8D09947773@hg.openjdk.java.net> Changeset: 0b1c88705568 Author: jjg Date: 2013-02-01 12:01 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/langtools/rev/0b1c88705568 8007344: javac may not make tree end positions and/or doc comments available to processors and listeners Reviewed-by: darcy ! src/share/classes/com/sun/tools/javac/main/JavaCompiler.java + test/tools/javac/api/8007344/Test.java From vincent.x.ryan at oracle.com Fri Feb 1 20:12:25 2013 From: vincent.x.ryan at oracle.com (Vincent Ryan) Date: Fri, 01 Feb 2013 20:12:25 +0000 Subject: [8] code review for 8006994: Cleanup PKCS12 tests to ensure streams get closed Message-ID: <510C21A9.2020007@oracle.com> Please review this fix to correct PKCS12 tests that are failing (on Windows): Webrev: http://cr.openjdk.java.net/~vinnie/8006994/webrev.00/ Thanks. From joe.darcy at oracle.com Fri Feb 1 21:01:38 2013 From: joe.darcy at oracle.com (joe.darcy at oracle.com) Date: Fri, 01 Feb 2013 21:01:38 +0000 Subject: hg: jdk8/tl/langtools: 8001614: Include annotation type to documented supported-ness Message-ID: <20130201210141.910004777E@hg.openjdk.java.net> Changeset: 55cca2f38ee6 Author: darcy Date: 2013-02-01 13:01 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/langtools/rev/55cca2f38ee6 8001614: Include annotation type to documented supported-ness Reviewed-by: alanb, jjg, tbell ! make/Makefile-classic ! make/build.properties + src/share/classes/jdk/Supported.java From alan.bateman at oracle.com Fri Feb 1 21:03:41 2013 From: alan.bateman at oracle.com (alan.bateman at oracle.com) Date: Fri, 01 Feb 2013 21:03:41 +0000 Subject: hg: jdk8/tl/jdk: 5035569: Formatter should document that %a conversion unsupported for BigDecimal args Message-ID: <20130201210353.A3A914777F@hg.openjdk.java.net> Changeset: 5e47ee4d7196 Author: alanb Date: 2013-02-01 21:01 +0000 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/5e47ee4d7196 5035569: Formatter should document that %a conversion unsupported for BigDecimal args Reviewed-by: darcy Contributed-by: brian.burkhalter at oracle.com ! src/share/classes/java/util/Formatter.java From joe.darcy at oracle.com Sat Feb 2 03:30:18 2013 From: joe.darcy at oracle.com (joe.darcy at oracle.com) Date: Sat, 02 Feb 2013 03:30:18 +0000 Subject: hg: jdk8/tl/jdk: 6964528: Double.toHexString(double d) String manipulation with + in an append of StringBuilder Message-ID: <20130202033040.8FE714779B@hg.openjdk.java.net> Changeset: cba578db5f39 Author: darcy Date: 2013-02-01 19:30 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/cba578db5f39 6964528: Double.toHexString(double d) String manipulation with + in an append of StringBuilder Reviewed-by: shade ! src/share/classes/java/lang/Double.java From kumar.x.srinivasan at oracle.com Sat Feb 2 06:14:53 2013 From: kumar.x.srinivasan at oracle.com (kumar.x.srinivasan at oracle.com) Date: Sat, 02 Feb 2013 06:14:53 +0000 Subject: hg: jdk8/tl/jdk: 8003549: (pack200) assertion errors when processing lambda class files with IMethods Message-ID: <20130202061505.74629477A0@hg.openjdk.java.net> Changeset: c1aaa8451547 Author: ksrini Date: 2013-02-01 22:12 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/c1aaa8451547 8003549: (pack200) assertion errors when processing lambda class files with IMethods Summary: add more check for opcode, sketch provided by jrose Reviewed-by: jrose ! src/share/classes/com/sun/java/util/jar/pack/Attribute.java ! src/share/classes/com/sun/java/util/jar/pack/ClassReader.java ! src/share/classes/com/sun/java/util/jar/pack/ConstantPool.java ! src/share/classes/com/sun/java/util/jar/pack/Instruction.java ! src/share/classes/com/sun/java/util/jar/pack/PackageWriter.java ! src/share/classes/com/sun/java/util/jar/pack/PackerImpl.java ! src/share/classes/com/sun/java/util/jar/pack/PropMap.java ! src/share/classes/com/sun/java/util/jar/pack/Utils.java ! test/ProblemList.txt + test/tools/pack200/InstructionTests.java ! test/tools/pack200/pack200-verifier/src/xmlkit/ClassReader.java From kumar.x.srinivasan at oracle.com Sat Feb 2 06:19:32 2013 From: kumar.x.srinivasan at oracle.com (kumar.x.srinivasan at oracle.com) Date: Sat, 02 Feb 2013 06:19:32 +0000 Subject: hg: jdk8/tl/jdk: 8007428: [launcher] add tools/launcher/FXLauncherTest.java to ProblemList.txt Message-ID: <20130202061944.78EC3477A1@hg.openjdk.java.net> Changeset: 6c88a12ea834 Author: ksrini Date: 2013-02-01 22:18 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/6c88a12ea834 8007428: [launcher] add tools/launcher/FXLauncherTest.java to ProblemList.txt Reviewed-by: mchung ! test/ProblemList.txt From chris.hegarty at oracle.com Sat Feb 2 17:17:54 2013 From: chris.hegarty at oracle.com (chris.hegarty at oracle.com) Date: Sat, 02 Feb 2013 17:17:54 +0000 Subject: hg: jdk8/tl/jdk: 8007322: untangle ftp protocol from general networking URL tests Message-ID: <20130202171835.0C9F0477AA@hg.openjdk.java.net> Changeset: ee83319029a5 Author: chegar Date: 2013-02-02 17:15 +0000 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/ee83319029a5 8007322: untangle ftp protocol from general networking URL tests Reviewed-by: alanb ! test/java/net/URL/Constructor.java ! test/java/net/URL/HandlerLoop.java ! test/java/net/URL/Test.java ! test/java/net/URL/URIToURLTest.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/java/net/URLConnection/RequestProperties.java ! test/java/net/URLConnection/RequestPropertyValues.java + test/sun/net/ftp/EncDec.doc + test/sun/net/ftp/MarkResetTest.java + test/sun/net/ftp/MarkResetTest.sh - test/sun/net/www/EncDec.doc - test/sun/net/www/MarkResetTest.java - test/sun/net/www/MarkResetTest.sh ! test/sun/net/www/http/HttpClient/ProxyTest.java From kumar.x.srinivasan at oracle.com Sat Feb 2 20:09:37 2013 From: kumar.x.srinivasan at oracle.com (kumar.x.srinivasan at oracle.com) Date: Sat, 02 Feb 2013 20:09:37 +0000 Subject: hg: jdk8/tl/jdk: 8007135: tools/launcher/VersionCheck.java failing with new tool jabswitch Message-ID: <20130202201002.9FBF7477B0@hg.openjdk.java.net> Changeset: 25831e7009c4 Author: ksrini Date: 2013-02-02 12:08 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/25831e7009c4 8007135: tools/launcher/VersionCheck.java failing with new tool jabswitch Reviewed-by: ksrini, mduigou Contributed-by: ragini.prasad at oracle.com ! test/tools/launcher/VersionCheck.java From vicente.romero at oracle.com Sat Feb 2 21:50:03 2013 From: vicente.romero at oracle.com (vicente.romero at oracle.com) Date: Sat, 02 Feb 2013 21:50:03 +0000 Subject: hg: jdk8/tl/langtools: 8005075: Pool.Method, and Pool.Variable redundant Symbol field should be removed Message-ID: <20130202215006.3A5B9477B4@hg.openjdk.java.net> Changeset: 4cc73ec94686 Author: vromero Date: 2013-02-02 21:04 +0000 URL: http://hg.openjdk.java.net/jdk8/tl/langtools/rev/4cc73ec94686 8005075: Pool.Method, and Pool.Variable redundant Symbol field should be removed Reviewed-by: jjg ! src/share/classes/com/sun/tools/javac/code/Symbol.java ! src/share/classes/com/sun/tools/javac/jvm/ClassWriter.java ! src/share/classes/com/sun/tools/javac/jvm/Pool.java From vicente.romero at oracle.com Sun Feb 3 02:33:08 2013 From: vicente.romero at oracle.com (vicente.romero at oracle.com) Date: Sun, 03 Feb 2013 02:33:08 +0000 Subject: hg: jdk8/tl/langtools: 7199823: javac generates inner class that can't be verified Message-ID: <20130203023317.D15C2477B9@hg.openjdk.java.net> Changeset: a51a8dac0a2f Author: vromero Date: 2013-02-03 02:31 +0000 URL: http://hg.openjdk.java.net/jdk8/tl/langtools/rev/a51a8dac0a2f 7199823: javac generates inner class that can't be verified Reviewed-by: jjg, mcimadamore ! src/share/classes/com/sun/tools/javac/comp/Lower.java + test/tools/javac/7199823/InnerClassCannotBeVerified.java From dmitry.degrave at oracle.com Sun Feb 3 14:21:53 2013 From: dmitry.degrave at oracle.com (dmitry.degrave at oracle.com) Date: Sun, 03 Feb 2013 14:21:53 +0000 Subject: hg: jdk8/tl/jdk: 6471906: java.lang.NegativeArraySizeException in tenToThe Message-ID: <20130203142216.7F1E2477BE@hg.openjdk.java.net> Changeset: 308d1362b60a Author: dmeetry Date: 2013-02-03 18:20 +0400 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/308d1362b60a 6471906: java.lang.NegativeArraySizeException in tenToThe Reviewed-by: darcy Contributed-by: brian.burkhalter at oracle.com ! src/share/classes/java/math/BigDecimal.java From dmitry.samersoff at oracle.com Sun Feb 3 17:40:26 2013 From: dmitry.samersoff at oracle.com (dmitry.samersoff at oracle.com) Date: Sun, 03 Feb 2013 17:40:26 +0000 Subject: hg: jdk8/tl/jdk: 8002048: Protocol to discovery of manageable Java processes on a network Message-ID: <20130203174102.567C3477C3@hg.openjdk.java.net> Changeset: 962d6612cace Author: dsamersoff Date: 2013-02-03 21:39 +0400 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/962d6612cace 8002048: Protocol to discovery of manageable Java processes on a network Summary: Introduce a protocol to discover manageble Java instances across a network subnet, JDP Reviewed-by: sla, dfuchs ! src/share/classes/sun/management/Agent.java + src/share/classes/sun/management/jdp/JdpBroadcaster.java + src/share/classes/sun/management/jdp/JdpController.java + src/share/classes/sun/management/jdp/JdpException.java + src/share/classes/sun/management/jdp/JdpGenericPacket.java + src/share/classes/sun/management/jdp/JdpJmxPacket.java + src/share/classes/sun/management/jdp/JdpPacket.java + src/share/classes/sun/management/jdp/JdpPacketReader.java + src/share/classes/sun/management/jdp/JdpPacketWriter.java + src/share/classes/sun/management/jdp/package-info.java + test/sun/management/jdp/JdpClient.java + test/sun/management/jdp/JdpDoSomething.java + test/sun/management/jdp/JdpTest.sh + test/sun/management/jdp/JdpUnitTest.java From sean.mullan at oracle.com Mon Feb 4 15:41:01 2013 From: sean.mullan at oracle.com (Sean Mullan) Date: Mon, 04 Feb 2013 10:41:01 -0500 Subject: [8] code review for 8006994: Cleanup PKCS12 tests to ensure streams get closed In-Reply-To: <510C21A9.2020007@oracle.com> References: <510C21A9.2020007@oracle.com> Message-ID: <510FD68D.5000000@oracle.com> Looks good to me. --Sean On 02/01/2013 03:12 PM, Vincent Ryan wrote: > Please review this fix to correct PKCS12 tests that are failing > (on Windows): > > Webrev: http://cr.openjdk.java.net/~vinnie/8006994/webrev.00/ > > Thanks. From vincent.x.ryan at oracle.com Mon Feb 4 17:24:16 2013 From: vincent.x.ryan at oracle.com (Vincent Ryan) Date: Mon, 4 Feb 2013 17:24:16 +0000 Subject: [8] code review for 8006994: Cleanup PKCS12 tests to ensure streams get closed In-Reply-To: <510FD68D.5000000@oracle.com> References: <510C21A9.2020007@oracle.com> <510FD68D.5000000@oracle.com> Message-ID: <9CEEBAC2-2C39-466C-99CF-0BD653A6BA05@oracle.com> Thanks. On 4 Feb 2013, at 15:41, Sean Mullan wrote: > Looks good to me. > > --Sean > > On 02/01/2013 03:12 PM, Vincent Ryan wrote: >> Please review this fix to correct PKCS12 tests that are failing >> (on Windows): >> >> Webrev: http://cr.openjdk.java.net/~vinnie/8006994/webrev.00/ >> >> Thanks. > From vincent.x.ryan at oracle.com Mon Feb 4 17:21:27 2013 From: vincent.x.ryan at oracle.com (vincent.x.ryan at oracle.com) Date: Mon, 04 Feb 2013 17:21:27 +0000 Subject: hg: jdk8/tl/jdk: 8006994: Cleanup PKCS12 tests to ensure streams get closed Message-ID: <20130204172205.4E993477EF@hg.openjdk.java.net> Changeset: 5bf1c9e6be60 Author: vinnie Date: 2013-02-04 17:20 +0000 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/5bf1c9e6be60 8006994: Cleanup PKCS12 tests to ensure streams get closed Reviewed-by: mullan ! test/java/security/KeyStore/PBETest.java ! test/sun/security/pkcs12/StorePasswordTest.java ! test/sun/security/pkcs12/StoreSecretKeyTest.java ! test/sun/security/pkcs12/StoreTrustedCertTest.java From vincent.x.ryan at oracle.com Mon Feb 4 18:52:01 2013 From: vincent.x.ryan at oracle.com (Vincent Ryan) Date: Mon, 4 Feb 2013 18:52:01 +0000 Subject: [8] code review for 8007483: attributes are ignored when loading keys from a PKCS12 keystore Message-ID: <4DE1928A-3E05-476B-9A77-A8BC082A6DFD@oracle.com> Please review this fix to correct user's attributes being ignored when loading key entries from a PKCS12 keystore. Webrev: http://cr.openjdk.java.net/~vinnie/8007483/webrev.00/ Thanks. From xueming.shen at oracle.com Mon Feb 4 20:00:02 2013 From: xueming.shen at oracle.com (xueming.shen at oracle.com) Date: Mon, 04 Feb 2013 20:00:02 +0000 Subject: hg: jdk8/tl/jdk: 8006295: Base64.Decoder.wrap(java.io.InputStream) returns InputStream which throws unspecified IOException on attempt to decode invalid Base64 byte stream; ... Message-ID: <20130204200026.8C3DD477F8@hg.openjdk.java.net> Changeset: e202f43a8b8a Author: sherman Date: 2013-02-04 11:58 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/e202f43a8b8a 8006295: Base64.Decoder.wrap(java.io.InputStream) returns InputStream which throws unspecified IOException on attempt to decode invalid Base64 byte stream 8006315: Base64.Decoder decoding methods are not consistent in treating non-padded data 8006530: Base64.getMimeDecoder().decode() throws exception for non-base64 character after adding = Summary: updated the spec to describe the expected behave explicitly and the implementation to follow Reviewed-by: alanb, chegar, lancea ! src/share/classes/java/util/Base64.java ! test/java/util/Base64/TestBase64.java From jonathan.gibbons at oracle.com Mon Feb 4 23:32:12 2013 From: jonathan.gibbons at oracle.com (jonathan.gibbons at oracle.com) Date: Mon, 04 Feb 2013 23:32:12 +0000 Subject: hg: jdk8/tl/langtools: 8007490: NPE from DocumentationTool.run Message-ID: <20130204233217.0C59F47808@hg.openjdk.java.net> Changeset: 1690928dc560 Author: jjg Date: 2013-02-04 15:30 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/langtools/rev/1690928dc560 8007490: NPE from DocumentationTool.run Reviewed-by: darcy ! src/share/classes/com/sun/tools/javadoc/api/JavadocTool.java ! test/tools/javadoc/api/basic/RunTest.java From joe.darcy at oracle.com Tue Feb 5 01:56:46 2013 From: joe.darcy at oracle.com (joe.darcy at oracle.com) Date: Tue, 05 Feb 2013 01:56:46 +0000 Subject: hg: jdk8/tl/jdk: 8007113: Upgrade AnnotatedElement.isAnnotionPresent to be a default method Message-ID: <20130205015708.AEDEE4780B@hg.openjdk.java.net> Changeset: e04467fa13af Author: darcy Date: 2013-02-04 17:56 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/e04467fa13af 8007113: Upgrade AnnotatedElement.isAnnotionPresent to be a default method Reviewed-by: chegar, jfranck ! 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/Parameter.java ! src/share/classes/sun/reflect/annotation/AnnotatedTypeFactory.java ! src/share/classes/sun/reflect/generics/reflectiveObjects/TypeVariableImpl.java From jonathan.gibbons at oracle.com Tue Feb 5 02:14:29 2013 From: jonathan.gibbons at oracle.com (jonathan.gibbons at oracle.com) Date: Tue, 05 Feb 2013 02:14:29 +0000 Subject: hg: jdk8/tl/langtools: 8007492: DocumentationTool cannot locate standard doclet when invoked from JRE Message-ID: <20130205021433.E758A4780E@hg.openjdk.java.net> Changeset: 62d91c13dce2 Author: jjg Date: 2013-02-04 18:14 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/langtools/rev/62d91c13dce2 8007492: DocumentationTool cannot locate standard doclet when invoked from JRE Reviewed-by: darcy ! src/share/classes/com/sun/tools/javadoc/api/JavadocTool.java From lana.steuck at oracle.com Tue Feb 5 07:24:41 2013 From: lana.steuck at oracle.com (lana.steuck at oracle.com) Date: Tue, 05 Feb 2013 07:24:41 +0000 Subject: hg: jdk8/tl: Added tag jdk8-b75 for changeset 2a713921952c Message-ID: <20130205072441.3DB904781C@hg.openjdk.java.net> Changeset: 5b19cef637a6 Author: katleman Date: 2013-01-31 17:04 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/rev/5b19cef637a6 Added tag jdk8-b75 for changeset 2a713921952c ! .hgtags From lana.steuck at oracle.com Tue Feb 5 07:24:41 2013 From: lana.steuck at oracle.com (lana.steuck at oracle.com) Date: Tue, 05 Feb 2013 07:24:41 +0000 Subject: hg: jdk8/tl/corba: Added tag jdk8-b75 for changeset d4e68ce17795 Message-ID: <20130205072443.5E08B4781D@hg.openjdk.java.net> Changeset: 4a6be02e66a3 Author: katleman Date: 2013-01-31 17:04 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/corba/rev/4a6be02e66a3 Added tag jdk8-b75 for changeset d4e68ce17795 ! .hgtags From lana.steuck at oracle.com Tue Feb 5 07:24:45 2013 From: lana.steuck at oracle.com (lana.steuck at oracle.com) Date: Tue, 05 Feb 2013 07:24:45 +0000 Subject: hg: jdk8/tl/hotspot: Added tag jdk8-b75 for changeset 6778d0b16593 Message-ID: <20130205072456.148B94781E@hg.openjdk.java.net> Changeset: 20b605466ccb Author: katleman Date: 2013-01-31 17:04 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/20b605466ccb Added tag jdk8-b75 for changeset 6778d0b16593 ! .hgtags From lana.steuck at oracle.com Tue Feb 5 07:24:44 2013 From: lana.steuck at oracle.com (lana.steuck at oracle.com) Date: Tue, 05 Feb 2013 07:24:44 +0000 Subject: hg: jdk8/tl/jaxp: Added tag jdk8-b75 for changeset ff0b73a6b3f6 Message-ID: <20130205072456.2A5914781F@hg.openjdk.java.net> Changeset: 8d65b381880b Author: katleman Date: 2013-01-31 17:04 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/jaxp/rev/8d65b381880b Added tag jdk8-b75 for changeset ff0b73a6b3f6 ! .hgtags From lana.steuck at oracle.com Tue Feb 5 07:24:46 2013 From: lana.steuck at oracle.com (lana.steuck at oracle.com) Date: Tue, 05 Feb 2013 07:24:46 +0000 Subject: hg: jdk8/tl/jaxws: Added tag jdk8-b75 for changeset 966bf9f3c41a Message-ID: <20130205072456.5C8D447820@hg.openjdk.java.net> Changeset: a63ef2391c20 Author: katleman Date: 2013-01-31 17:04 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/jaxws/rev/a63ef2391c20 Added tag jdk8-b75 for changeset 966bf9f3c41a ! .hgtags From lana.steuck at oracle.com Tue Feb 5 07:24:51 2013 From: lana.steuck at oracle.com (lana.steuck at oracle.com) Date: Tue, 05 Feb 2013 07:24:51 +0000 Subject: hg: jdk8/tl/langtools: 2 new changesets Message-ID: <20130205072503.59ED147821@hg.openjdk.java.net> Changeset: 716935fec613 Author: katleman Date: 2013-01-31 17:04 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/langtools/rev/716935fec613 Added tag jdk8-b75 for changeset c2e11e2ec4a3 ! .hgtags Changeset: 10619513f51a Author: lana Date: 2013-02-04 22:38 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/langtools/rev/10619513f51a Merge From lana.steuck at oracle.com Tue Feb 5 07:24:58 2013 From: lana.steuck at oracle.com (lana.steuck at oracle.com) Date: Tue, 05 Feb 2013 07:24:58 +0000 Subject: hg: jdk8/tl/jdk: 2 new changesets Message-ID: <20130205072534.CB9A147822@hg.openjdk.java.net> Changeset: 6ba6353ab42c Author: katleman Date: 2013-01-31 17:04 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/6ba6353ab42c Added tag jdk8-b75 for changeset 4a67fdb752b7 ! .hgtags Changeset: fd37f0846653 Author: lana Date: 2013-02-04 22:37 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/fd37f0846653 Merge From sean.mullan at oracle.com Tue Feb 5 14:10:03 2013 From: sean.mullan at oracle.com (Sean Mullan) Date: Tue, 05 Feb 2013 09:10:03 -0500 Subject: [8] code review for 8007483: attributes are ignored when loading keys from a PKCS12 keystore In-Reply-To: <4DE1928A-3E05-476B-9A77-A8BC082A6DFD@oracle.com> References: <4DE1928A-3E05-476B-9A77-A8BC082A6DFD@oracle.com> Message-ID: <511112BB.30201@oracle.com> Looks good to me. --Sean On 02/04/2013 01:52 PM, Vincent Ryan wrote: > Please review this fix to correct user's attributes being ignored when loading key entries from a PKCS12 keystore. > > Webrev: http://cr.openjdk.java.net/~vinnie/8007483/webrev.00/ > > Thanks. > From vincent.x.ryan at oracle.com Tue Feb 5 14:13:28 2013 From: vincent.x.ryan at oracle.com (Vincent Ryan) Date: Tue, 5 Feb 2013 14:13:28 +0000 Subject: [8] code review for 8007483: attributes are ignored when loading keys from a PKCS12 keystore In-Reply-To: <511112BB.30201@oracle.com> References: <4DE1928A-3E05-476B-9A77-A8BC082A6DFD@oracle.com> <511112BB.30201@oracle.com> Message-ID: <8C4F3A57-6658-4DB5-A137-06774D7AF07E@oracle.com> Thanks. On 5 Feb 2013, at 14:10, Sean Mullan wrote: > Looks good to me. > > --Sean > > On 02/04/2013 01:52 PM, Vincent Ryan wrote: >> Please review this fix to correct user's attributes being ignored when loading key entries from a PKCS12 keystore. >> >> Webrev: http://cr.openjdk.java.net/~vinnie/8007483/webrev.00/ >> >> Thanks. >> > From vincent.x.ryan at oracle.com Tue Feb 5 14:27:47 2013 From: vincent.x.ryan at oracle.com (vincent.x.ryan at oracle.com) Date: Tue, 05 Feb 2013 14:27:47 +0000 Subject: hg: jdk8/tl/jdk: 8007483: attributes are ignored when loading keys from a PKCS12 keystore Message-ID: <20130205142810.420EC47838@hg.openjdk.java.net> Changeset: e526277b51be Author: vinnie Date: 2013-02-05 14:25 +0000 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/e526277b51be 8007483: attributes are ignored when loading keys from a PKCS12 keystore Reviewed-by: mullan ! src/share/classes/sun/security/pkcs12/PKCS12KeyStore.java ! test/sun/security/pkcs12/StorePasswordTest.java From alan.bateman at oracle.com Tue Feb 5 14:59:29 2013 From: alan.bateman at oracle.com (alan.bateman at oracle.com) Date: Tue, 05 Feb 2013 14:59:29 +0000 Subject: hg: jdk8/tl/jaxp: 8007389: Remove uses of _ as identifier in jaxp Message-ID: <20130205145933.C9A134783A@hg.openjdk.java.net> Changeset: f0ad3747b40e Author: emc Date: 2013-02-05 14:56 +0000 URL: http://hg.openjdk.java.net/jdk8/tl/jaxp/rev/f0ad3747b40e 8007389: Remove uses of _ as identifier in jaxp Reviewed-by: lancea, joehw ! src/javax/xml/validation/SchemaFactoryFinder.java ! src/javax/xml/xpath/XPathFactoryFinder.java From jaroslav.bachorik at oracle.com Tue Feb 5 11:29:19 2013 From: jaroslav.bachorik at oracle.com (jaroslav.bachorik at oracle.com) Date: Tue, 05 Feb 2013 11:29:19 +0000 Subject: hg: jdk8/tl/jdk: 7170447: Intermittent DeadListenerTest.java failure Message-ID: <20130205112943.1E78647830@hg.openjdk.java.net> Changeset: 9ffcd758e2be Author: jbachorik Date: 2013-02-05 12:28 +0100 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/9ffcd758e2be 7170447: Intermittent DeadListenerTest.java failure Summary: Due to asynchronous nature of processing server notifications it may happen that an "unregister" notification ha$ Reviewed-by: sjiang ! test/javax/management/remote/mandatory/notif/DeadListenerTest.java From jaroslav.bachorik at oracle.com Tue Feb 5 11:38:04 2013 From: jaroslav.bachorik at oracle.com (jaroslav.bachorik at oracle.com) Date: Tue, 05 Feb 2013 11:38:04 +0000 Subject: hg: jdk8/tl/jdk: 8005791: Remove java.beans.* imports from com.sun.jmx.mbeanserver.Introspector Message-ID: <20130205113826.4CEED47831@hg.openjdk.java.net> Changeset: 3119f0ebb58d Author: jbachorik Date: 2013-02-05 12:36 +0100 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/3119f0ebb58d 8005791: Remove java.beans.* imports from com.sun.jmx.mbeanserver.Introspector Reviewed-by: rbackman ! src/share/classes/com/sun/jmx/mbeanserver/Introspector.java From james.holmlund at oracle.com Tue Feb 5 18:56:11 2013 From: james.holmlund at oracle.com (james.holmlund at oracle.com) Date: Tue, 05 Feb 2013 18:56:11 +0000 Subject: hg: jdk8/tl/langtools: 8007504: Remove @ignore from tests that no longer need it Message-ID: <20130205185616.C6A2647848@hg.openjdk.java.net> Changeset: 2480aec9a3f1 Author: jjh Date: 2013-02-05 18:55 +0000 URL: http://hg.openjdk.java.net/jdk8/tl/langtools/rev/2480aec9a3f1 8007504: Remove @ignore from tests that no longer need it Reviewed-by: mcimadamore ! test/tools/javac/api/T6306137.java ! test/tools/javac/defaultMethods/TestNoBridgeOnDefaults.java ! test/tools/javac/lambda/LambdaCapture06.java ! test/tools/javac/lambda/LambdaExpr15.java From joe.darcy at oracle.com Tue Feb 5 22:35:49 2013 From: joe.darcy at oracle.com (Joe Darcy) Date: Tue, 05 Feb 2013 14:35:49 -0800 Subject: Security-related types that are candidates to be FunctionalInterfaces in JDK 8 Message-ID: <51118945.2010309@oracle.com> Hello, As part of Project Lambda, a FunctionalInterface annotation type was added to the platform to mark interfaces that are intended to be used in lambda expressions. I've sent out a code review request to add this annotation to types in the core-libs area [1]. To assist the security team in adding analogous annotations to your types, the list of candidate types in for security-related classes in java.* and javax.* is given below. I recommend sub-tasks of JDK-8005297 "Add FunctionalInterface support to the platform" be used to track the work of adding @FunctionalInterface annotations to security types. Thanks, -Joe [1] http://mail.openjdk.java.net/pipermail/core-libs-dev/2013-February/014292.html jdk/src/share/classes/java/security/DomainCombiner.java:81: Note: Candidate functional interface public interface DomainCombiner { ^ jdk/src/share/classes/java/security/KeyStore.java:212: Note: Candidate functional interface public static interface LoadStoreParameter { ^ jdk/src/share/classes/java/security/cert/CertPathParameters.java:40: Note: Candidate functional interface public interface CertPathParameters extends Cloneable { ^ jdk/src/share/classes/java/security/cert/CertPathValidatorResult.java:41: Note: Candidate functional interface public interface CertPathValidatorResult extends Cloneable { ^ jdk/src/share/classes/java/security/cert/CertStoreParameters.java:49: Note: Candidate functional interface public interface CertStoreParameters extends Cloneable { ^ jdk/src/share/classes/java/security/interfaces/ECKey.java:36: Note: Candidate functional interface public interface ECKey { ^ jdk/src/share/classes/java/security/interfaces/DSAKey.java:39: Note: Candidate functional interface public interface DSAKey { ^ jdk/src/share/classes/java/security/interfaces/RSAKey.java:41: Note: Candidate functional interface public interface RSAKey { ^ jdk/src/share/classes/java/security/PrivilegedAction.java:42: Note: Candidate functional interface public interface PrivilegedAction { ^ jdk/src/share/classes/java/security/Guard.java:43: Note: Candidate functional interface public interface Guard { ^ jdk/src/share/classes/java/security/PrivilegedExceptionAction.java:45: Note: Candidate functional interface public interface PrivilegedExceptionAction { ^ jdk/src/share/classes/java/security/Principal.java:39: Note: Candidate functional interface public interface Principal { ^ jdk/src/share/classes/java/security/spec/ECField.java:41: Note: Candidate functional interface public interface ECField { ^ jdk/src/share/classes/javax/crypto/interfaces/DHKey.java:40: Note: Candidate functional interface public interface DHKey { ^ jdk/src/share/classes/javax/security/auth/callback/CallbackHandler.java:68: Note: Candidate functional interface public interface CallbackHandler { ^ From brian.goetz at oracle.com Tue Feb 5 22:40:14 2013 From: brian.goetz at oracle.com (Brian Goetz) Date: Tue, 05 Feb 2013 17:40:14 -0500 Subject: Security-related types that are candidates to be FunctionalInterfaces in JDK 8 In-Reply-To: <51118945.2010309@oracle.com> References: <51118945.2010309@oracle.com> Message-ID: <51118A4E.9070909@oracle.com> A significant fraction of the lambda candidates in the JDK are converted to some form of PrivilegedAction. However, at least until there is a significant performance advantage of lambda over inner classes, I think it is probably not worth trying to convert these -- I think the explicitness of "new PrivilegedAction" is pretty valuable. As a result, I am not sure whether it is a good idea to blanketly mark these as @FunctionalInterface, even though they are technically. On 2/5/2013 5:35 PM, Joe Darcy wrote: > Hello, > > As part of Project Lambda, a FunctionalInterface annotation type was > added to the platform to mark interfaces that are intended to be used in > lambda expressions. I've sent out a code review request to add this > annotation to types in the core-libs area [1]. > > To assist the security team in adding analogous annotations to your > types, the list of candidate types in for security-related classes in > java.* and javax.* is given below. I recommend sub-tasks of JDK-8005297 > "Add FunctionalInterface support to the platform" be used to track the > work of adding @FunctionalInterface annotations to security types. > > Thanks, > > -Joe > > [1] > http://mail.openjdk.java.net/pipermail/core-libs-dev/2013-February/014292.html > > > jdk/src/share/classes/java/security/DomainCombiner.java:81: Note: > Candidate functional interface > public interface DomainCombiner { > ^ > jdk/src/share/classes/java/security/KeyStore.java:212: Note: Candidate > functional interface > public static interface LoadStoreParameter { > ^ > jdk/src/share/classes/java/security/cert/CertPathParameters.java:40: > Note: Candidate functional interface > public interface CertPathParameters extends Cloneable { > ^ > jdk/src/share/classes/java/security/cert/CertPathValidatorResult.java:41: Note: > Candidate functional interface > public interface CertPathValidatorResult extends Cloneable { > ^ > jdk/src/share/classes/java/security/cert/CertStoreParameters.java:49: > Note: Candidate functional interface > public interface CertStoreParameters extends Cloneable { > ^ > jdk/src/share/classes/java/security/interfaces/ECKey.java:36: Note: > Candidate functional interface > public interface ECKey { > ^ > jdk/src/share/classes/java/security/interfaces/DSAKey.java:39: Note: > Candidate functional interface > public interface DSAKey { > ^ > jdk/src/share/classes/java/security/interfaces/RSAKey.java:41: Note: > Candidate functional interface > public interface RSAKey { > ^ > jdk/src/share/classes/java/security/PrivilegedAction.java:42: Note: > Candidate functional interface > public interface PrivilegedAction { > ^ > jdk/src/share/classes/java/security/Guard.java:43: Note: Candidate > functional interface > public interface Guard { > ^ > jdk/src/share/classes/java/security/PrivilegedExceptionAction.java:45: > Note: Candidate functional interface > public interface PrivilegedExceptionAction { > ^ > jdk/src/share/classes/java/security/Principal.java:39: Note: Candidate > functional interface > public interface Principal { > ^ > jdk/src/share/classes/java/security/spec/ECField.java:41: Note: > Candidate functional interface > public interface ECField { > ^ > jdk/src/share/classes/javax/crypto/interfaces/DHKey.java:40: Note: > Candidate functional interface > public interface DHKey { > ^ > > jdk/src/share/classes/javax/security/auth/callback/CallbackHandler.java:68: > Note: Candidate functional interface > public interface CallbackHandler { > ^ > From john.zavgren at oracle.com Tue Feb 5 23:44:10 2013 From: john.zavgren at oracle.com (John Zavgren) Date: Tue, 5 Feb 2013 15:44:10 -0800 (PST) Subject: RFR: JDK-8007607 Message-ID: <2ac0a83e-9206-4012-a97b-8e6d1b82ca35@default> Greetings: I modified the native code to eliminate potential memory loss and crashes by checking the return values of malloc() and realloc() calls. The webrev image of these changes is visible at: http://cr.openjdk.java.net/~jzavgren/8007607/webrev.01/ Thanks! John Zavgren From valerie.peng at oracle.com Wed Feb 6 04:25:01 2013 From: valerie.peng at oracle.com (Valerie (Yu-Ching) Peng) Date: Tue, 05 Feb 2013 20:25:01 -0800 Subject: RFR: JDK-8007607 In-Reply-To: <2ac0a83e-9206-4012-a97b-8e6d1b82ca35@default> References: <2ac0a83e-9206-4012-a97b-8e6d1b82ca35@default> Message-ID: <5111DB1D.3010207@oracle.com> I think we need to throw OutOfMemoryError when malloc/realloc() calls return null. You can find a utility function in src/share/native/sun/security/pkcs11/wrapper/p11_util.c doing exactly that, i.e. throw OutOfMemoryError. Thanks, Valerie On 02/05/13 15:44, John Zavgren wrote: > Greetings: > > I modified the native code to eliminate potential memory loss and crashes by checking the return values of malloc() and realloc() calls. > > The webrev image of these changes is visible at: > http://cr.openjdk.java.net/~jzavgren/8007607/webrev.01/ > > Thanks! > John Zavgren From jonathan.gibbons at oracle.com Wed Feb 6 05:56:24 2013 From: jonathan.gibbons at oracle.com (jonathan.gibbons at oracle.com) Date: Wed, 06 Feb 2013 05:56:24 +0000 Subject: hg: jdk8/tl/langtools: 8007485: test creates .class files in the test/ directory Message-ID: <20130206055629.E9CCE47879@hg.openjdk.java.net> Changeset: de932285124c Author: jjg Date: 2013-02-05 21:55 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/langtools/rev/de932285124c 8007485: test creates .class files in the test/ directory Reviewed-by: mcimadamore ! test/tools/javac/api/8007344/Test.java From dmitry.samersoff at oracle.com Wed Feb 6 09:57:52 2013 From: dmitry.samersoff at oracle.com (Dmitry Samersoff) Date: Wed, 06 Feb 2013 13:57:52 +0400 Subject: RFR: JDK-8007607 In-Reply-To: <2ac0a83e-9206-4012-a97b-8e6d1b82ca35@default> References: <2ac0a83e-9206-4012-a97b-8e6d1b82ca35@default> Message-ID: <51122920.6040208@oracle.com> John, Not sure GSS_C_NO_CHANNEL_BINDINGS; is correct return value for this case. I'm second to Valerie - it's better to throw OOM -Dmitry On 2013-02-06 03:44, John Zavgren wrote: > Greetings: > > I modified the native code to eliminate potential memory loss and crashes by checking the return values of malloc() and realloc() calls. > > The webrev image of these changes is visible at: > http://cr.openjdk.java.net/~jzavgren/8007607/webrev.01/ > > Thanks! > John Zavgren > -- Dmitry Samersoff Oracle Java development team, Saint Petersburg, Russia * Give Rabbit time, and he'll always get the answer From chris.hegarty at oracle.com Wed Feb 6 11:37:15 2013 From: chris.hegarty at oracle.com (chris.hegarty at oracle.com) Date: Wed, 06 Feb 2013 11:37:15 +0000 Subject: hg: jdk8/tl: 8007625: race with nested repos in /common/bin/hgforest.sh Message-ID: <20130206113715.E536A47880@hg.openjdk.java.net> Changeset: 8dd61906da5f Author: chegar Date: 2013-02-06 11:36 +0000 URL: http://hg.openjdk.java.net/jdk8/tl/rev/8dd61906da5f 8007625: race with nested repos in /common/bin/hgforest.sh Reviewed-by: dholmes, ohair, ohrstrom ! common/bin/hgforest.sh ! get_source.sh From dmitry.samersoff at oracle.com Wed Feb 6 12:55:07 2013 From: dmitry.samersoff at oracle.com (dmitry.samersoff at oracle.com) Date: Wed, 06 Feb 2013 12:55:07 +0000 Subject: hg: jdk8/tl/jdk: 8007277: JDK-8002048 testcase fails to compile Message-ID: <20130206125528.1ADF547884@hg.openjdk.java.net> Changeset: 0e7d5dd84fdf Author: dsamersoff Date: 2013-02-06 16:53 +0400 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/0e7d5dd84fdf 8007277: JDK-8002048 testcase fails to compile Summary: sun.* classes is not included to ct.sym file and symbol file have to be ignored Reviewed-by: alanb ! test/sun/management/jdp/JdpTest.sh From maurizio.cimadamore at oracle.com Wed Feb 6 14:05:34 2013 From: maurizio.cimadamore at oracle.com (maurizio.cimadamore at oracle.com) Date: Wed, 06 Feb 2013 14:05:34 +0000 Subject: hg: jdk8/tl/langtools: 2 new changesets Message-ID: <20130206140542.3C41747886@hg.openjdk.java.net> Changeset: 1df20330f6bd Author: mcimadamore Date: 2013-02-06 14:03 +0000 URL: http://hg.openjdk.java.net/jdk8/tl/langtools/rev/1df20330f6bd 8007463: Cleanup inference related classes Summary: Make Infer.InferenceContext an inner class; adjust bound replacement logic in Type.UndetVar Reviewed-by: jjg ! src/share/classes/com/sun/tools/javac/code/Type.java ! src/share/classes/com/sun/tools/javac/code/Types.java ! src/share/classes/com/sun/tools/javac/comp/Attr.java ! src/share/classes/com/sun/tools/javac/comp/Check.java ! src/share/classes/com/sun/tools/javac/comp/DeferredAttr.java ! src/share/classes/com/sun/tools/javac/comp/Infer.java ! src/share/classes/com/sun/tools/javac/comp/Resolve.java ! src/share/classes/com/sun/tools/javac/util/List.java ! test/tools/javac/generics/inference/7154127/T7154127.out ! test/tools/javac/lib/DPrinter.java Changeset: 8cdd96f2fdb9 Author: mcimadamore Date: 2013-02-06 14:04 +0000 URL: http://hg.openjdk.java.net/jdk8/tl/langtools/rev/8cdd96f2fdb9 8007479: Refactor DeferredAttrContext so that it points to parent context Summary: Move DeferredAttrNode out of DeferredAttrContext; add support for nested deferred contexts Reviewed-by: jjg ! src/share/classes/com/sun/tools/javac/comp/DeferredAttr.java ! src/share/classes/com/sun/tools/javac/comp/Infer.java ! src/share/classes/com/sun/tools/javac/comp/Resolve.java From weijun.wang at oracle.com Wed Feb 6 14:14:44 2013 From: weijun.wang at oracle.com (Weijun Wang) Date: Wed, 06 Feb 2013 22:14:44 +0800 Subject: "_" in dNSName? (was Re: [Bug 100298] New: keytool and SANs (DNS types)) In-Reply-To: <36820F9BDE563C43B5869641E9411CB210886DA5@EXMAIL1.crinj.com> References: <5112126F.5090602@oracle.com> <36820F9BDE563C43B5869641E9411CB210886DA5@EXMAIL1.crinj.com> Message-ID: <51126554.1050902@oracle.com> Hi Walt I'm adding the openjdk security-dev mail list to CC. At the beginning of RFC 2181 11 we have Occasionally it is assumed that the Domain Name System serves only the purpose of mapping Internet host names to data, and mapping Internet addresses to host names. This is not correct... In my understanding, this RFC is relaxing the syntax for general DNS names. However, the dNSName in SAN is just the "only the purpose" mentioned above, and its syntax is still restricted. In fact, the latest X.509 cert spec (RFC 5280 4.2.1.6) still references RFC 1034 as the format for dNSName. Thanks Weijun On 02/06/2013 09:38 PM, Walter Holm wrote: > Hi Weijun, > > First, thank you for taking interest in this issue. > > Although it is true that this RFC specifies a "should" for domain names > (in "_Preferred_ name syntax") to remove confusion. Section 11 of > http://www.ietf.org/rfc/rfc2181.txt (which updates RFC 1034) clarifies > what the name syntax is?in particular the name syntax is supposed to be > unrestrictive (starts with the second paragraph). In a side note about > the behavior of keytool, when generating a self-signed cert, if the DN > contains an underscore, it is successful, it's just the SAN that fails. > > Thank you for your time, > > Sincerely, > > Walter Holm > > (Walt) > > -----Original Message----- > From: Weijun Wang [mailto:weijun.wang at oracle.com] > Sent: Wednesday, February 06, 2013 3:21 AM > To: Walter Holm > Subject: Fwd: [Bug 100298] New: keytool and SANs (DNS types) > > Hi Walter > > Hostname as specified in http://tools.ietf.org/html/rfc1034#section-3.5 > > which says a label can only contains let-dig-hyp > > ::= | "-" > > ::= | > > Is there any other specification that allows the underscore char? > > Thanks > > Weijun > > -------- Original Message -------- > > Subject: [Bug 100298] New: keytool and SANs (DNS types) > > Date: Tue, 5 Feb 2013 12:36:35 -0800 (PST) > > From: bugzilla-daemon at bugs.openjdk.java.net > > To: weijun.wang at oracle.com > > https://bugs.openjdk.java.net/show_bug.cgi?id=100298 > > Summary: keytool and SANs (DNS types) > > Product: security > > Version: 7 > > Platform: all > > OS/Version: all > > Status: NEW > > Severity: normal > > Priority: P3 > > Component: other > > AssignedTo: watch-security-other at bugs.openjdk.java.net > > > ReportedBy: walter.holm at crinj.com > > CC: watch-security-other at bugs.openjdk.java.net > > > The SAN for DNS type does not allow _'s (underscores) in the FQDN. This > is of course allowed normally and should be corrected. > > Example: > > DNS:x_yz.domain.com > > will fail > > -- > > Configure bugmail: https://bugs.openjdk.java.net/userprefs.cgi?tab=email > > ------- You are receiving this mail because: ------- You are watching > the assignee of the bug. > > You are watching someone on the CC list of the bug. > From jonathan.gibbons at oracle.com Wed Feb 6 15:49:53 2013 From: jonathan.gibbons at oracle.com (jonathan.gibbons at oracle.com) Date: Wed, 06 Feb 2013 15:49:53 +0000 Subject: hg: jdk8/tl/langtools: 8007566: DocLint too aggressive with not allowed here:

Message-ID: <20130206154958.3AFE04788A@hg.openjdk.java.net> Changeset: 153d20d0cac5 Author: jjg Date: 2013-02-06 07:49 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/langtools/rev/153d20d0cac5 8007566: DocLint too aggressive with not allowed here:

Reviewed-by: mcimadamore ! src/share/classes/com/sun/tools/doclint/Checker.java + test/tools/doclint/ParaTagTest.java From fweimer at redhat.com Wed Feb 6 17:15:05 2013 From: fweimer at redhat.com (Florian Weimer) Date: Wed, 06 Feb 2013 18:15:05 +0100 Subject: RFR: JDK-8007607 In-Reply-To: <2ac0a83e-9206-4012-a97b-8e6d1b82ca35@default> References: <2ac0a83e-9206-4012-a97b-8e6d1b82ca35@default> Message-ID: <51128F99.3080507@redhat.com> On 02/06/2013 12:44 AM, John Zavgren wrote: > Greetings: > > I modified the native code to eliminate potential memory loss and crashes by checking the return values of malloc() and realloc() calls. > > The webrev image of these changes is visible at: > http://cr.openjdk.java.net/~jzavgren/8007607/webrev.01/ In NativeUtil.c, you need to free the first allocation if the second one fails. (This also applies if you throw an OOM error.) -- Florian Weimer / Red Hat Product Security Team From mike.duigou at oracle.com Wed Feb 6 19:10:06 2013 From: mike.duigou at oracle.com (mike.duigou at oracle.com) Date: Wed, 06 Feb 2013 19:10:06 +0000 Subject: hg: jdk8/tl: 8004726: Link bug ids to jbs rather than monaco. Message-ID: <20130206191006.2B1DB47894@hg.openjdk.java.net> Changeset: 168dd033604a Author: mduigou Date: 2013-02-06 11:09 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/rev/168dd033604a 8004726: Link bug ids to jbs rather than monaco. Reviewed-by: ohair, chegar, katleman ! make/scripts/webrev.ksh From lance.andersen at oracle.com Wed Feb 6 19:15:39 2013 From: lance.andersen at oracle.com (lance.andersen at oracle.com) Date: Wed, 06 Feb 2013 19:15:39 +0000 Subject: hg: jdk8/tl/jdk: 8006505: additional changes for JSR 310 support Message-ID: <20130206191600.8C06347896@hg.openjdk.java.net> Changeset: 1574fa3df1c0 Author: lancea Date: 2013-02-06 14:15 -0500 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/1574fa3df1c0 8006505: additional changes for JSR 310 support Reviewed-by: naoto, ulfzibis ! src/share/classes/java/sql/JDBCType.java ! src/share/classes/java/sql/SQLInput.java ! src/share/classes/java/sql/SQLOutput.java ! src/share/classes/java/sql/Types.java From sean.mullan at oracle.com Wed Feb 6 19:33:18 2013 From: sean.mullan at oracle.com (Sean Mullan) Date: Wed, 06 Feb 2013 14:33:18 -0500 Subject: Security-related types that are candidates to be FunctionalInterfaces in JDK 8 In-Reply-To: <51118945.2010309@oracle.com> References: <51118945.2010309@oracle.com> Message-ID: <5112AFFE.9080107@oracle.com> I need to come up to speed on lambda in order to properly review this. What's the best place to learn more about lambda and FunctionalInterfaces? Thanks, Sean On 02/05/2013 05:35 PM, Joe Darcy wrote: > Hello, > > As part of Project Lambda, a FunctionalInterface annotation type was > added to the platform to mark interfaces that are intended to be used in > lambda expressions. I've sent out a code review request to add this > annotation to types in the core-libs area [1]. > > To assist the security team in adding analogous annotations to your > types, the list of candidate types in for security-related classes in > java.* and javax.* is given below. I recommend sub-tasks of JDK-8005297 > "Add FunctionalInterface support to the platform" be used to track the > work of adding @FunctionalInterface annotations to security types. > > Thanks, > > -Joe > > [1] > http://mail.openjdk.java.net/pipermail/core-libs-dev/2013-February/014292.html > > > jdk/src/share/classes/java/security/DomainCombiner.java:81: Note: > Candidate functional interface > public interface DomainCombiner { > ^ > jdk/src/share/classes/java/security/KeyStore.java:212: Note: Candidate > functional interface > public static interface LoadStoreParameter { > ^ > jdk/src/share/classes/java/security/cert/CertPathParameters.java:40: > Note: Candidate functional interface > public interface CertPathParameters extends Cloneable { > ^ > jdk/src/share/classes/java/security/cert/CertPathValidatorResult.java:41: Note: > Candidate functional interface > public interface CertPathValidatorResult extends Cloneable { > ^ > jdk/src/share/classes/java/security/cert/CertStoreParameters.java:49: > Note: Candidate functional interface > public interface CertStoreParameters extends Cloneable { > ^ > jdk/src/share/classes/java/security/interfaces/ECKey.java:36: Note: > Candidate functional interface > public interface ECKey { > ^ > jdk/src/share/classes/java/security/interfaces/DSAKey.java:39: Note: > Candidate functional interface > public interface DSAKey { > ^ > jdk/src/share/classes/java/security/interfaces/RSAKey.java:41: Note: > Candidate functional interface > public interface RSAKey { > ^ > jdk/src/share/classes/java/security/PrivilegedAction.java:42: Note: > Candidate functional interface > public interface PrivilegedAction { > ^ > jdk/src/share/classes/java/security/Guard.java:43: Note: Candidate > functional interface > public interface Guard { > ^ > jdk/src/share/classes/java/security/PrivilegedExceptionAction.java:45: > Note: Candidate functional interface > public interface PrivilegedExceptionAction { > ^ > jdk/src/share/classes/java/security/Principal.java:39: Note: Candidate > functional interface > public interface Principal { > ^ > jdk/src/share/classes/java/security/spec/ECField.java:41: Note: > Candidate functional interface > public interface ECField { > ^ > jdk/src/share/classes/javax/crypto/interfaces/DHKey.java:40: Note: > Candidate functional interface > public interface DHKey { > ^ > > jdk/src/share/classes/javax/security/auth/callback/CallbackHandler.java:68: > Note: Candidate functional interface > public interface CallbackHandler { > ^ > From sean.mullan at oracle.com Wed Feb 6 19:34:01 2013 From: sean.mullan at oracle.com (Sean Mullan) Date: Wed, 06 Feb 2013 14:34:01 -0500 Subject: Security-related types that are candidates to be FunctionalInterfaces in JDK 8 In-Reply-To: <51118945.2010309@oracle.com> References: <51118945.2010309@oracle.com> Message-ID: <5112B029.7060203@oracle.com> I need to come up to speed on lambda in order to properly review this. What's the best place to learn more about lambda and FunctionalInterfaces? Thanks, Sean On 02/05/2013 05:35 PM, Joe Darcy wrote: > Hello, > > As part of Project Lambda, a FunctionalInterface annotation type was > added to the platform to mark interfaces that are intended to be used in > lambda expressions. I've sent out a code review request to add this > annotation to types in the core-libs area [1]. > > To assist the security team in adding analogous annotations to your > types, the list of candidate types in for security-related classes in > java.* and javax.* is given below. I recommend sub-tasks of JDK-8005297 > "Add FunctionalInterface support to the platform" be used to track the > work of adding @FunctionalInterface annotations to security types. > > Thanks, > > -Joe > > [1] > http://mail.openjdk.java.net/pipermail/core-libs-dev/2013-February/014292.html > > > jdk/src/share/classes/java/security/DomainCombiner.java:81: Note: > Candidate functional interface > public interface DomainCombiner { > ^ > jdk/src/share/classes/java/security/KeyStore.java:212: Note: Candidate > functional interface > public static interface LoadStoreParameter { > ^ > jdk/src/share/classes/java/security/cert/CertPathParameters.java:40: > Note: Candidate functional interface > public interface CertPathParameters extends Cloneable { > ^ > jdk/src/share/classes/java/security/cert/CertPathValidatorResult.java:41: Note: > Candidate functional interface > public interface CertPathValidatorResult extends Cloneable { > ^ > jdk/src/share/classes/java/security/cert/CertStoreParameters.java:49: > Note: Candidate functional interface > public interface CertStoreParameters extends Cloneable { > ^ > jdk/src/share/classes/java/security/interfaces/ECKey.java:36: Note: > Candidate functional interface > public interface ECKey { > ^ > jdk/src/share/classes/java/security/interfaces/DSAKey.java:39: Note: > Candidate functional interface > public interface DSAKey { > ^ > jdk/src/share/classes/java/security/interfaces/RSAKey.java:41: Note: > Candidate functional interface > public interface RSAKey { > ^ > jdk/src/share/classes/java/security/PrivilegedAction.java:42: Note: > Candidate functional interface > public interface PrivilegedAction { > ^ > jdk/src/share/classes/java/security/Guard.java:43: Note: Candidate > functional interface > public interface Guard { > ^ > jdk/src/share/classes/java/security/PrivilegedExceptionAction.java:45: > Note: Candidate functional interface > public interface PrivilegedExceptionAction { > ^ > jdk/src/share/classes/java/security/Principal.java:39: Note: Candidate > functional interface > public interface Principal { > ^ > jdk/src/share/classes/java/security/spec/ECField.java:41: Note: > Candidate functional interface > public interface ECField { > ^ > jdk/src/share/classes/javax/crypto/interfaces/DHKey.java:40: Note: > Candidate functional interface > public interface DHKey { > ^ > > jdk/src/share/classes/javax/security/auth/callback/CallbackHandler.java:68: > Note: Candidate functional interface > public interface CallbackHandler { > ^ > From joe.darcy at oracle.com Wed Feb 6 19:43:07 2013 From: joe.darcy at oracle.com (Joe Darcy) Date: Wed, 06 Feb 2013 11:43:07 -0800 Subject: Security-related types that are candidates to be FunctionalInterfaces in JDK 8 In-Reply-To: <5112B029.7060203@oracle.com> References: <51118945.2010309@oracle.com> <5112B029.7060203@oracle.com> Message-ID: <5112B24B.5010807@oracle.com> Hi Sean, Apart from the performance concern Brian has already raised, I think the basic question to provide guidance on whether or not @FunctionalInterfaces should be applied to existing types is: do people routinely use anonymous inner classes to create instances of these types today? If so, the @FunctionalInterface annotation should be added to indicate the type is meant to be used for lambda expressions too. The JSR for lambda has some specification material and there is a lambda faq in progress (http://www.lambdafaq.org/), but I'm not aware of any existing discussion of the use of @FunctionalInterface since it is a relatively new addition to JDK 8 builds. HTH, -Joe On 2/6/2013 11:34 AM, Sean Mullan wrote: > I need to come up to speed on lambda in order to properly review this. > What's the best place to learn more about lambda and > FunctionalInterfaces? > > Thanks, > Sean > > On 02/05/2013 05:35 PM, Joe Darcy wrote: >> Hello, >> >> As part of Project Lambda, a FunctionalInterface annotation type was >> added to the platform to mark interfaces that are intended to be used in >> lambda expressions. I've sent out a code review request to add this >> annotation to types in the core-libs area [1]. >> >> To assist the security team in adding analogous annotations to your >> types, the list of candidate types in for security-related classes in >> java.* and javax.* is given below. I recommend sub-tasks of JDK-8005297 >> "Add FunctionalInterface support to the platform" be used to track the >> work of adding @FunctionalInterface annotations to security types. >> >> Thanks, >> >> -Joe >> >> [1] >> http://mail.openjdk.java.net/pipermail/core-libs-dev/2013-February/014292.html >> >> >> >> jdk/src/share/classes/java/security/DomainCombiner.java:81: Note: >> Candidate functional interface >> public interface DomainCombiner { >> ^ >> jdk/src/share/classes/java/security/KeyStore.java:212: Note: Candidate >> functional interface >> public static interface LoadStoreParameter { >> ^ >> jdk/src/share/classes/java/security/cert/CertPathParameters.java:40: >> Note: Candidate functional interface >> public interface CertPathParameters extends Cloneable { >> ^ >> jdk/src/share/classes/java/security/cert/CertPathValidatorResult.java:41: >> Note: >> Candidate functional interface >> public interface CertPathValidatorResult extends Cloneable { >> ^ >> jdk/src/share/classes/java/security/cert/CertStoreParameters.java:49: >> Note: Candidate functional interface >> public interface CertStoreParameters extends Cloneable { >> ^ >> jdk/src/share/classes/java/security/interfaces/ECKey.java:36: Note: >> Candidate functional interface >> public interface ECKey { >> ^ >> jdk/src/share/classes/java/security/interfaces/DSAKey.java:39: Note: >> Candidate functional interface >> public interface DSAKey { >> ^ >> jdk/src/share/classes/java/security/interfaces/RSAKey.java:41: Note: >> Candidate functional interface >> public interface RSAKey { >> ^ >> jdk/src/share/classes/java/security/PrivilegedAction.java:42: Note: >> Candidate functional interface >> public interface PrivilegedAction { >> ^ >> jdk/src/share/classes/java/security/Guard.java:43: Note: Candidate >> functional interface >> public interface Guard { >> ^ >> jdk/src/share/classes/java/security/PrivilegedExceptionAction.java:45: >> Note: Candidate functional interface >> public interface PrivilegedExceptionAction { >> ^ >> jdk/src/share/classes/java/security/Principal.java:39: Note: Candidate >> functional interface >> public interface Principal { >> ^ >> jdk/src/share/classes/java/security/spec/ECField.java:41: Note: >> Candidate functional interface >> public interface ECField { >> ^ >> jdk/src/share/classes/javax/crypto/interfaces/DHKey.java:40: Note: >> Candidate functional interface >> public interface DHKey { >> ^ >> >> jdk/src/share/classes/javax/security/auth/callback/CallbackHandler.java:68: >> >> Note: Candidate functional interface >> public interface CallbackHandler { >> ^ >> > From brian.goetz at oracle.com Wed Feb 6 19:45:08 2013 From: brian.goetz at oracle.com (Brian Goetz) Date: Wed, 06 Feb 2013 14:45:08 -0500 Subject: Security-related types that are candidates to be FunctionalInterfaces in JDK 8 In-Reply-To: <5112B24B.5010807@oracle.com> References: <51118945.2010309@oracle.com> <5112B029.7060203@oracle.com> <5112B24B.5010807@oracle.com> Message-ID: <5112B2C4.9030408@oracle.com> I'll just note that @FunctionalInterface is not *required* to convert a lambda to the target type; it is a statement of *design intent* by the interface author (which comes with some compile-time enforcement) that the interface is intended to be used to specify a function-like thing. On 2/6/2013 2:43 PM, Joe Darcy wrote: > Hi Sean, > > Apart from the performance concern Brian has already raised, I think the > basic question to provide guidance on whether or not > @FunctionalInterfaces should be applied to existing types is: do people > routinely use anonymous inner classes to create instances of these types > today? If so, the @FunctionalInterface annotation should be added to > indicate the type is meant to be used for lambda expressions too. > > The JSR for lambda has some specification material and there is a lambda > faq in progress (http://www.lambdafaq.org/), but I'm not aware of any > existing discussion of the use of @FunctionalInterface since it is a > relatively new addition to JDK 8 builds. > > HTH, > > -Joe > > On 2/6/2013 11:34 AM, Sean Mullan wrote: >> I need to come up to speed on lambda in order to properly review this. >> What's the best place to learn more about lambda and >> FunctionalInterfaces? >> >> Thanks, >> Sean >> >> On 02/05/2013 05:35 PM, Joe Darcy wrote: >>> Hello, >>> >>> As part of Project Lambda, a FunctionalInterface annotation type was >>> added to the platform to mark interfaces that are intended to be used in >>> lambda expressions. I've sent out a code review request to add this >>> annotation to types in the core-libs area [1]. >>> >>> To assist the security team in adding analogous annotations to your >>> types, the list of candidate types in for security-related classes in >>> java.* and javax.* is given below. I recommend sub-tasks of JDK-8005297 >>> "Add FunctionalInterface support to the platform" be used to track the >>> work of adding @FunctionalInterface annotations to security types. >>> >>> Thanks, >>> >>> -Joe >>> >>> [1] >>> http://mail.openjdk.java.net/pipermail/core-libs-dev/2013-February/014292.html >>> >>> >>> >>> jdk/src/share/classes/java/security/DomainCombiner.java:81: Note: >>> Candidate functional interface >>> public interface DomainCombiner { >>> ^ >>> jdk/src/share/classes/java/security/KeyStore.java:212: Note: Candidate >>> functional interface >>> public static interface LoadStoreParameter { >>> ^ >>> jdk/src/share/classes/java/security/cert/CertPathParameters.java:40: >>> Note: Candidate functional interface >>> public interface CertPathParameters extends Cloneable { >>> ^ >>> jdk/src/share/classes/java/security/cert/CertPathValidatorResult.java:41: >>> Note: >>> Candidate functional interface >>> public interface CertPathValidatorResult extends Cloneable { >>> ^ >>> jdk/src/share/classes/java/security/cert/CertStoreParameters.java:49: >>> Note: Candidate functional interface >>> public interface CertStoreParameters extends Cloneable { >>> ^ >>> jdk/src/share/classes/java/security/interfaces/ECKey.java:36: Note: >>> Candidate functional interface >>> public interface ECKey { >>> ^ >>> jdk/src/share/classes/java/security/interfaces/DSAKey.java:39: Note: >>> Candidate functional interface >>> public interface DSAKey { >>> ^ >>> jdk/src/share/classes/java/security/interfaces/RSAKey.java:41: Note: >>> Candidate functional interface >>> public interface RSAKey { >>> ^ >>> jdk/src/share/classes/java/security/PrivilegedAction.java:42: Note: >>> Candidate functional interface >>> public interface PrivilegedAction { >>> ^ >>> jdk/src/share/classes/java/security/Guard.java:43: Note: Candidate >>> functional interface >>> public interface Guard { >>> ^ >>> jdk/src/share/classes/java/security/PrivilegedExceptionAction.java:45: >>> Note: Candidate functional interface >>> public interface PrivilegedExceptionAction { >>> ^ >>> jdk/src/share/classes/java/security/Principal.java:39: Note: Candidate >>> functional interface >>> public interface Principal { >>> ^ >>> jdk/src/share/classes/java/security/spec/ECField.java:41: Note: >>> Candidate functional interface >>> public interface ECField { >>> ^ >>> jdk/src/share/classes/javax/crypto/interfaces/DHKey.java:40: Note: >>> Candidate functional interface >>> public interface DHKey { >>> ^ >>> >>> jdk/src/share/classes/javax/security/auth/callback/CallbackHandler.java:68: >>> >>> Note: Candidate functional interface >>> public interface CallbackHandler { >>> ^ >>> >> > From Walter.Holm at crinj.com Wed Feb 6 15:54:18 2013 From: Walter.Holm at crinj.com (Walter Holm) Date: Wed, 6 Feb 2013 15:54:18 +0000 Subject: "_" in dNSName? (was Re: [Bug 100298] New: keytool and SANs (DNS types)) In-Reply-To: <51126554.1050902@oracle.com> References: <5112126F.5090602@oracle.com> <36820F9BDE563C43B5869641E9411CB210886DA5@EXMAIL1.crinj.com> <51126554.1050902@oracle.com> Message-ID: <36820F9BDE563C43B5869641E9411CB21088767B@EXMAIL1.crinj.com> That is correct they are talking about the data content of DNS in general which includes the naming and the content and that section addresses Both. Once an RFC updates another RFC, I would take that to mean there is a change or clarification of a previous RFC. Hence you have to follow the rabbit hole of do's/don'ts and may's/shall's of these impossible chains of RFCs, correct? It is probably useful for pointing to an earlier RFC so the family tree of RFCs after the fact are properly referenced. -Walt -----Original Message----- From: Weijun Wang [mailto:weijun.wang at oracle.com] Sent: Wednesday, February 06, 2013 9:15 AM To: Walter Holm Cc: OpenJDK Subject: "_" in dNSName? (was Re: [Bug 100298] New: keytool and SANs (DNS types)) Hi Walt I'm adding the openjdk security-dev mail list to CC. At the beginning of RFC 2181 11 we have Occasionally it is assumed that the Domain Name System serves only the purpose of mapping Internet host names to data, and mapping Internet addresses to host names. This is not correct... In my understanding, this RFC is relaxing the syntax for general DNS names. However, the dNSName in SAN is just the "only the purpose" mentioned above, and its syntax is still restricted. In fact, the latest X.509 cert spec (RFC 5280 4.2.1.6) still references RFC 1034 as the format for dNSName. Thanks Weijun On 02/06/2013 09:38 PM, Walter Holm wrote: > Hi Weijun, > > First, thank you for taking interest in this issue. > > Although it is true that this RFC specifies a "should" for domain > names (in "_Preferred_ name syntax") to remove confusion. Section 11 > of http://www.ietf.org/rfc/rfc2181.txt (which updates RFC 1034) > clarifies what the name syntax is?in particular the name syntax is > supposed to be unrestrictive (starts with the second paragraph). In a > side note about the behavior of keytool, when generating a self-signed > cert, if the DN contains an underscore, it is successful, it's just the SAN that fails. > > Thank you for your time, > > Sincerely, > > Walter Holm > > (Walt) > > -----Original Message----- > From: Weijun Wang [mailto:weijun.wang at oracle.com] > Sent: Wednesday, February 06, 2013 3:21 AM > To: Walter Holm > Subject: Fwd: [Bug 100298] New: keytool and SANs (DNS types) > > Hi Walter > > Hostname as specified in > http://tools.ietf.org/html/rfc1034#section-3.5 > > which says a label can only contains let-dig-hyp > > ::= | "-" > > ::= | > > Is there any other specification that allows the underscore char? > > Thanks > > Weijun > > -------- Original Message -------- > > Subject: [Bug 100298] New: keytool and SANs (DNS types) > > Date: Tue, 5 Feb 2013 12:36:35 -0800 (PST) > > From: bugzilla-daemon at bugs.openjdk.java.net > > To: weijun.wang at oracle.com > > https://bugs.openjdk.java.net/show_bug.cgi?id=100298 > > Summary: keytool and SANs (DNS types) > > Product: security > > Version: 7 > > Platform: all > > OS/Version: all > > Status: NEW > > Severity: normal > > Priority: P3 > > Component: other > > AssignedTo: watch-security-other at bugs.openjdk.java.net > > > ReportedBy: walter.holm at crinj.com > > > CC: watch-security-other at bugs.openjdk.java.net > > > The SAN for DNS type does not allow _'s (underscores) in the FQDN. > This is of course allowed normally and should be corrected. > > Example: > > DNS:x_yz.domain.com > > will fail > > -- > > Configure bugmail: > https://bugs.openjdk.java.net/userprefs.cgi?tab=email > > ------- You are receiving this mail because: ------- You are watching > the assignee of the bug. > > You are watching someone on the CC list of the bug. > From bernd-2013 at eckenfels.net Wed Feb 6 19:49:50 2013 From: bernd-2013 at eckenfels.net (Bernd Eckenfels) Date: Wed, 06 Feb 2013 20:49:50 +0100 Subject: Security-related types that are candidates to be FunctionalInterfaces in JDK 8 In-Reply-To: <5112B24B.5010807@oracle.com> References: <51118945.2010309@oracle.com> <5112B029.7060203@oracle.com> <5112B24B.5010807@oracle.com> Message-ID: Am 06.02.2013, 20:43 Uhr, schrieb Joe Darcy : > @FunctionalInterfaces should be applied to existing types is: do people > routinely use anonymous inner classes to create instances of these types > today? If so, the @FunctionalInterface annotation should be added to > indicate the type is meant to be used for lambda expressions too. Most of those Interfaces are not candidates for this - they are JCA abstractions for different provider implementations or multiple inheritance style implementations. Callback might be the only candidate, but then it is unlikely used often. The PriveledgedAction is the only one where it is often used and could need some syntactic sugar. Will the marker affect compilation and normal runtime or is it strictly a marker accpeting the interface in the functional context? Greetings Bernd -- http://bernd.eckenfels.net From fweimer at redhat.com Wed Feb 6 20:17:02 2013 From: fweimer at redhat.com (Florian Weimer) Date: Wed, 06 Feb 2013 21:17:02 +0100 Subject: Security-related types that are candidates to be FunctionalInterfaces in JDK 8 In-Reply-To: References: <51118945.2010309@oracle.com> <5112B029.7060203@oracle.com> <5112B24B.5010807@oracle.com> Message-ID: <5112BA3E.3020508@redhat.com> On 02/06/2013 08:49 PM, Bernd Eckenfels wrote: > Will the marker affect compilation and normal runtime or is it strictly > a marker accpeting the interface in the functional context? It's supposed to be like @Override, but the retention policy is RUNTIME instead of SOURCE, so there's bound to be (incorrect) code triggering on its presence, and there is a small additional per-class overhead at run time. -- Florian Weimer / Red Hat Product Security Team From james.holmlund at oracle.com Wed Feb 6 23:11:09 2013 From: james.holmlund at oracle.com (james.holmlund at oracle.com) Date: Wed, 06 Feb 2013 23:11:09 +0000 Subject: hg: jdk8/tl/langtools: 8007698: jtreg test T6306137.java won't compile with ASCII encoding Message-ID: <20130206231115.68C24478A3@hg.openjdk.java.net> Changeset: b386b8c45387 Author: jjh Date: 2013-02-06 23:10 +0000 URL: http://hg.openjdk.java.net/jdk8/tl/langtools/rev/b386b8c45387 8007698: jtreg test T6306137.java won't compile with ASCII encoding Reviewed-by: ksrini ! test/tools/javac/api/T6306137.java From christos at zoulas.com Thu Feb 7 00:15:01 2013 From: christos at zoulas.com (Christos Zoulas) Date: Wed, 6 Feb 2013 19:15:01 -0500 Subject: "_" in dNSName? (was Re: [Bug 100298] New: keytool and SANs (DNS types)) In-Reply-To: <36820F9BDE563C43B5869641E9411CB21088767B@EXMAIL1.crinj.com> from Walter Holm (Feb 6, 3:54pm) Message-ID: <20130207001501.6F86797129@rebar.astron.com> On Feb 6, 3:54pm, Walter.Holm at crinj.com (Walter Holm) wrote: -- Subject: RE: "_" in dNSName? (was Re: [Bug 100298] New: keytool and SANs ( FYI, bind-9 warns about "_" in the names, but accepts them. Windows Domain controllers create "_" names. I think they should be accepted on the principle be liberal in what you accept, conservative in what you provide. christos From weijun.wang at oracle.com Thu Feb 7 01:02:35 2013 From: weijun.wang at oracle.com (Weijun Wang) Date: Thu, 07 Feb 2013 09:02:35 +0800 Subject: "_" in dNSName? (was Re: [Bug 100298] New: keytool and SANs (DNS types)) In-Reply-To: <36820F9BDE563C43B5869641E9411CB21088767B@EXMAIL1.crinj.com> References: <5112126F.5090602@oracle.com> <36820F9BDE563C43B5869641E9411CB210886DA5@EXMAIL1.crinj.com> <51126554.1050902@oracle.com> <36820F9BDE563C43B5869641E9411CB21088767B@EXMAIL1.crinj.com> Message-ID: <5112FD2B.8080601@oracle.com> On 02/06/2013 11:54 PM, Walter Holm wrote: > That is correct they are talking about the data content of DNS in general which includes the naming and the content and that section addresses > Both. > > Once an RFC updates another RFC, I would take that to mean there is a change or clarification of a previous RFC. Hence you have to follow the rabbit hole of do's/don'ts and may's/shall's of these impossible chains of RFCs, correct? It is probably useful for pointing to an earlier RFC so the family tree of RFCs after the fact are properly referenced. I think what RFC 2181 says by "any binary string" is just too relaxed. Adding a single "_" might be acceptable. Anyway, have you filed a bug at bugs.sun.com as suggested by Brad? If no I can file one for you. -Weijun > > -Walt > > -----Original Message----- > From: Weijun Wang [mailto:weijun.wang at oracle.com] > Sent: Wednesday, February 06, 2013 9:15 AM > To: Walter Holm > Cc: OpenJDK > Subject: "_" in dNSName? (was Re: [Bug 100298] New: keytool and SANs (DNS types)) > > Hi Walt > > I'm adding the openjdk security-dev mail list to CC. > > At the beginning of RFC 2181 11 we have > > Occasionally it is assumed that the Domain Name System serves only > the purpose of mapping Internet host names to data, and mapping > Internet addresses to host names. This is not correct... > > In my understanding, this RFC is relaxing the syntax for general DNS names. However, the dNSName in SAN is just the "only the purpose" > mentioned above, and its syntax is still restricted. In fact, the latest > X.509 cert spec (RFC 5280 4.2.1.6) still references RFC 1034 as the format for dNSName. > > Thanks > Weijun > > On 02/06/2013 09:38 PM, Walter Holm wrote: >> Hi Weijun, >> >> First, thank you for taking interest in this issue. >> >> Although it is true that this RFC specifies a "should" for domain >> names (in "_Preferred_ name syntax") to remove confusion. Section 11 >> of http://www.ietf.org/rfc/rfc2181.txt (which updates RFC 1034) >> clarifies what the name syntax is?in particular the name syntax is >> supposed to be unrestrictive (starts with the second paragraph). In a >> side note about the behavior of keytool, when generating a self-signed >> cert, if the DN contains an underscore, it is successful, it's just the SAN that fails. >> >> Thank you for your time, >> >> Sincerely, >> >> Walter Holm >> >> (Walt) >> >> -----Original Message----- >> From: Weijun Wang [mailto:weijun.wang at oracle.com] >> Sent: Wednesday, February 06, 2013 3:21 AM >> To: Walter Holm >> Subject: Fwd: [Bug 100298] New: keytool and SANs (DNS types) >> >> Hi Walter >> >> Hostname as specified in >> http://tools.ietf.org/html/rfc1034#section-3.5 >> >> which says a label can only contains let-dig-hyp >> >> ::= | "-" >> >> ::= | >> >> Is there any other specification that allows the underscore char? >> >> Thanks >> >> Weijun >> >> -------- Original Message -------- >> >> Subject: [Bug 100298] New: keytool and SANs (DNS types) >> >> Date: Tue, 5 Feb 2013 12:36:35 -0800 (PST) >> >> From: bugzilla-daemon at bugs.openjdk.java.net >> >> To: weijun.wang at oracle.com >> >> https://bugs.openjdk.java.net/show_bug.cgi?id=100298 >> >> Summary: keytool and SANs (DNS types) >> >> Product: security >> >> Version: 7 >> >> Platform: all >> >> OS/Version: all >> >> Status: NEW >> >> Severity: normal >> >> Priority: P3 >> >> Component: other >> >> AssignedTo: watch-security-other at bugs.openjdk.java.net >> >> >> ReportedBy: walter.holm at crinj.com >> >> >> CC: watch-security-other at bugs.openjdk.java.net >> >> >> The SAN for DNS type does not allow _'s (underscores) in the FQDN. >> This is of course allowed normally and should be corrected. >> >> Example: >> >> DNS:x_yz.domain.com >> >> will fail >> >> -- >> >> Configure bugmail: >> https://bugs.openjdk.java.net/userprefs.cgi?tab=email >> >> ------- You are receiving this mail because: ------- You are watching >> the assignee of the bug. >> >> You are watching someone on the CC list of the bug. >> From Walter.Holm at crinj.com Thu Feb 7 01:18:19 2013 From: Walter.Holm at crinj.com (Walter Holm) Date: Thu, 7 Feb 2013 01:18:19 +0000 Subject: "_" in dNSName? (was Re: [Bug 100298] New: keytool and SANs (DNS types)) Message-ID: <36820F9BDE563C43B5869641E9411CB2108883E8@EXMAIL1.crinj.com> I have not yet, I would appreciate it, thank you. Sent from Windows Surface From: Weijun Wang Sent: ?February? ?6?, ?2013 ?8?:?02? ?PM To: Walter Holm CC: OpenJDK Subject: Re: "_" in dNSName? (was Re: [Bug 100298] New: keytool and SANs (DNS types)) On 02/06/2013 11:54 PM, Walter Holm wrote: > That is correct they are talking about the data content of DNS in general which includes the naming and the content and that section addresses > Both. > > Once an RFC updates another RFC, I would take that to mean there is a change or clarification of a previous RFC. Hence you have to follow the rabbit hole of do's/don'ts and may's/shall's of these impossible chains of RFCs, correct? It is probably useful for pointing to an earlier RFC so the family tree of RFCs after the fact are properly referenced. I think what RFC 2181 says by "any binary string" is just too relaxed. Adding a single "_" might be acceptable. Anyway, have you filed a bug at bugs.sun.com as suggested by Brad? If no I can file one for you. -Weijun > > -Walt > > -----Original Message----- > From: Weijun Wang [mailto:weijun.wang at oracle.com] > Sent: Wednesday, February 06, 2013 9:15 AM > To: Walter Holm > Cc: OpenJDK > Subject: "_" in dNSName? (was Re: [Bug 100298] New: keytool and SANs (DNS types)) > > Hi Walt > > I'm adding the openjdk security-dev mail list to CC. > > At the beginning of RFC 2181 11 we have > > Occasionally it is assumed that the Domain Name System serves only > the purpose of mapping Internet host names to data, and mapping > Internet addresses to host names. This is not correct... > > In my understanding, this RFC is relaxing the syntax for general DNS names. However, the dNSName in SAN is just the "only the purpose" > mentioned above, and its syntax is still restricted. In fact, the latest > X.509 cert spec (RFC 5280 4.2.1.6) still references RFC 1034 as the format for dNSName. > > Thanks > Weijun > > On 02/06/2013 09:38 PM, Walter Holm wrote: >> Hi Weijun, >> >> First, thank you for taking interest in this issue. >> >> Although it is true that this RFC specifies a "should" for domain >> names (in "_Preferred_ name syntax") to remove confusion. Section 11 >> of http://www.ietf.org/rfc/rfc2181.txt (which updates RFC 1034) >> clarifies what the name syntax is?in particular the name syntax is >> supposed to be unrestrictive (starts with the second paragraph). In a >> side note about the behavior of keytool, when generating a self-signed >> cert, if the DN contains an underscore, it is successful, it's just the SAN that fails. >> >> Thank you for your time, >> >> Sincerely, >> >> Walter Holm >> >> (Walt) >> >> -----Original Message----- >> From: Weijun Wang [mailto:weijun.wang at oracle.com] >> Sent: Wednesday, February 06, 2013 3:21 AM >> To: Walter Holm >> Subject: Fwd: [Bug 100298] New: keytool and SANs (DNS types) >> >> Hi Walter >> >> Hostname as specified in >> http://tools.ietf.org/html/rfc1034#section-3.5 >> >> which says a label can only contains let-dig-hyp >> >> ::= | "-" >> >> ::= | >> >> Is there any other specification that allows the underscore char? >> >> Thanks >> >> Weijun >> >> -------- Original Message -------- >> >> Subject: [Bug 100298] New: keytool and SANs (DNS types) >> >> Date: Tue, 5 Feb 2013 12:36:35 -0800 (PST) >> >> From: bugzilla-daemon at bugs.openjdk.java.net >> >> To: weijun.wang at oracle.com >> >> https://bugs.openjdk.java.net/show_bug.cgi?id=100298 >> >> Summary: keytool and SANs (DNS types) >> >> Product: security >> >> Version: 7 >> >> Platform: all >> >> OS/Version: all >> >> Status: NEW >> >> Severity: normal >> >> Priority: P3 >> >> Component: other >> >> AssignedTo: watch-security-other at bugs.openjdk.java.net >> >> >> ReportedBy: walter.holm at crinj.com >> >> >> CC: watch-security-other at bugs.openjdk.java.net >> >> >> The SAN for DNS type does not allow _'s (underscores) in the FQDN. >> This is of course allowed normally and should be corrected. >> >> Example: >> >> DNS:x_yz.domain.com >> >> will fail >> >> -- >> >> Configure bugmail: >> https://bugs.openjdk.java.net/userprefs.cgi?tab=email >> >> ------- You are receiving this mail because: ------- You are watching >> the assignee of the bug. >> >> You are watching someone on the CC list of the bug. >> From martinrb at google.com Thu Feb 7 02:02:32 2013 From: martinrb at google.com (martinrb at google.com) Date: Thu, 07 Feb 2013 02:02:32 +0000 Subject: hg: jdk8/tl/jdk: 8006995: java launcher fails to open executable JAR > 2GB Message-ID: <20130207020243.8E8CA478AF@hg.openjdk.java.net> Changeset: 2f1505c49e79 Author: martin Date: 2013-02-06 17:59 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/2f1505c49e79 8006995: java launcher fails to open executable JAR > 2GB Summary: Use O_LARGEFILE consistently when opening jar files Reviewed-by: alanb, sherman ! src/share/bin/parse_manifest.c From staffan.larsen at oracle.com Thu Feb 7 12:35:33 2013 From: staffan.larsen at oracle.com (staffan.larsen at oracle.com) Date: Thu, 07 Feb 2013 12:35:33 +0000 Subject: hg: jdk8/tl/jdk: 8007142: Add utility classes for writing better multiprocess tests in jtreg Message-ID: <20130207123555.40E7A478D5@hg.openjdk.java.net> Changeset: 2de8c6c2d652 Author: ykantser Date: 2013-02-07 11:22 +0100 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/2de8c6c2d652 8007142: Add utility classes for writing better multiprocess tests in jtreg Reviewed-by: alanb, rbackman + test/lib/testlibrary/OutputAnalyzerTest.java + test/lib/testlibrary/jdk/testlibrary/JcmdBase.java + test/lib/testlibrary/jdk/testlibrary/JdkFinder.java + test/lib/testlibrary/jdk/testlibrary/OutputAnalyzer.java + test/lib/testlibrary/jdk/testlibrary/OutputBuffer.java + test/lib/testlibrary/jdk/testlibrary/ProcessTools.java + test/lib/testlibrary/jdk/testlibrary/StreamPumper.java From vincent.x.ryan at oracle.com Thu Feb 7 22:43:05 2013 From: vincent.x.ryan at oracle.com (Vincent Ryan) Date: Thu, 07 Feb 2013 22:43:05 +0000 Subject: [8] code review for 8007755: Support the logical grouping of keystores Message-ID: <51142DF9.2090507@oracle.com> Please review this final component of JEP-166 that adds support for logical keystores and introduces a new keystore type called DKS, the domain keystore. The purpose of the domain keystore is to simplify the handling of multiple keystores and truststores for applications and to ease their deployment. Webrev: http://cr.openjdk.java.net/~vinnie/8007755/webrev.00/ Thanks. From bernd-2013 at eckenfels.net Thu Feb 7 23:26:56 2013 From: bernd-2013 at eckenfels.net (Bernd Eckenfels) Date: Fri, 08 Feb 2013 00:26:56 +0100 Subject: SSLSocketImpl and Handshake Notifier efficiency/thread pooling In-Reply-To: References: <50F626D4.5030101@oracle.com> Message-ID: Hello, I have now submitted my OCA, how can we proceed here? Am 17.01.2013, 02:19 Uhr, schrieb Bernd Eckenfels : > Am 16.01.2013, 05:04 Uhr, schrieb Xuelei Fan : > >> I agree with you that create new threads in SSLSocket implementation is >> not good. The application is the better place to decide what's the >> right thread model. > >> For the same reason, using Executor in SSLSocket >> implementation might not be an option from my understanding. > > > A small change without Executor would be to have a boolean setter which > deactivates the Thread dispatching. The default will use new Threads, if > direct mode is enabled it will directly call the listeners in the data > thread: ... Greetings Bernd -- http://bernd.eckenfels.net From joe.darcy at oracle.com Fri Feb 8 04:47:42 2013 From: joe.darcy at oracle.com (joe.darcy at oracle.com) Date: Fri, 08 Feb 2013 04:47:42 +0000 Subject: hg: jdk8/tl/langtools: 7195131: Update 2 compiler combo tests for repeating annotations to include package and default use cases Message-ID: <20130208044749.690294791E@hg.openjdk.java.net> Changeset: 5125b9854d07 Author: darcy Date: 2013-02-07 20:47 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/langtools/rev/5125b9854d07 7195131: Update 2 compiler combo tests for repeating annotations to include package and default use cases Reviewed-by: darcy Contributed-by: sonali.goel at oracle.com ! test/tools/javac/annotations/repeatingAnnotations/combo/Helper.java + test/tools/javac/annotations/repeatingAnnotations/combo/TargetAnnoCombo.java + test/tools/javac/annotations/repeatingAnnotations/combo/TestCaseGenerator.java From vicente.romero at oracle.com Fri Feb 8 09:14:07 2013 From: vicente.romero at oracle.com (vicente.romero at oracle.com) Date: Fri, 08 Feb 2013 09:14:07 +0000 Subject: hg: jdk8/tl/langtools: 7166455: javac doesn't set ACC_STRICT bit on for strictfp class Message-ID: <20130208091412.4506D47935@hg.openjdk.java.net> Changeset: 762d0af062f5 Author: vromero Date: 2013-02-08 09:12 +0000 URL: http://hg.openjdk.java.net/jdk8/tl/langtools/rev/762d0af062f5 7166455: javac doesn't set ACC_STRICT bit on for strictfp class Reviewed-by: mcimadamore ! src/share/classes/com/sun/tools/javac/comp/Attr.java ! src/share/classes/com/sun/tools/javac/comp/Check.java ! src/share/classes/com/sun/tools/javac/jvm/Gen.java + test/tools/javac/7166455/CheckACC_STRICTFlagOnclinitTest.java From vicente.romero at oracle.com Fri Feb 8 09:16:56 2013 From: vicente.romero at oracle.com (vicente.romero at oracle.com) Date: Fri, 08 Feb 2013 09:16:56 +0000 Subject: hg: jdk8/tl/langtools: 8005931: javac doesn't set ACC_STRICT for classes with package access Message-ID: <20130208091658.A12BE47936@hg.openjdk.java.net> Changeset: b1deb90d2e37 Author: vromero Date: 2013-02-08 09:15 +0000 URL: http://hg.openjdk.java.net/jdk8/tl/langtools/rev/b1deb90d2e37 8005931: javac doesn't set ACC_STRICT for classes with package access Reviewed-by: mcimadamore ! src/share/classes/com/sun/tools/javac/parser/JavacParser.java + test/tools/javac/8005931/CheckACC_STRICTFlagOnPkgAccessClassTest.java From vicente.romero at oracle.com Fri Feb 8 09:22:22 2013 From: vicente.romero at oracle.com (vicente.romero at oracle.com) Date: Fri, 08 Feb 2013 09:22:22 +0000 Subject: hg: jdk8/tl/langtools: 7167125: Two variables after the same operation in a inner class return different results Message-ID: <20130208092224.F166D47937@hg.openjdk.java.net> Changeset: 017e8bdd440f Author: vromero Date: 2013-02-08 09:21 +0000 URL: http://hg.openjdk.java.net/jdk8/tl/langtools/rev/017e8bdd440f 7167125: Two variables after the same operation in a inner class return different results Reviewed-by: jjg, mcimadamore ! src/share/classes/com/sun/tools/javac/comp/Lower.java + test/tools/javac/7167125/DiffResultAfterSameOperationInnerClasses.java From john.zavgren at oracle.com Fri Feb 8 17:38:52 2013 From: john.zavgren at oracle.com (John Zavgren) Date: Fri, 08 Feb 2013 12:38:52 -0500 Subject: RFR: JDK-8007607 In-Reply-To: <51122920.6040208@oracle.com> References: <2ac0a83e-9206-4012-a97b-8e6d1b82ca35@default> <51122920.6040208@oracle.com> Message-ID: <5115382C.40708@oracle.com> Although I agree that the name: "GSS_C_NO_CHANNEL_BINDINGS" is misleading, I can't identify anything else that seems more appropriate. The header file: /jdk8-tl/jdk/src/share/native/sun/security/jgss/wrapper/gssapi.h defines GSS_C_NO_CHANNEL_BINDINGS as follows: #define GSS_C_NO_CHANNEL_BINDINGS ((gss_channel_bindings_t) 0) The symbol matches the prototype of the function: */* * Utility routine which creates a gss_channel_bindings_t structure * using the specified org.ietf.jgss.ChannelBinding object. */ gss_channel_bindings_t getGSSCB(JNIEnv *env, jobject jcb) { gss_channel_bindings_t cb; jobject jinetAddr; jbyteArray value; if (jcb == NULL) { return GSS_C_NO_CHANNEL_BINDINGS; } cb = malloc(sizeof(struct gss_channel_bindings_struct)); if(cb == NULL) return GSS_C_NO_CHANNEL_BINDINGS;* There doesn't appear to be anything in our set of options that is more suggestive of a memory allocation failure and the symbol: GSS_C_NO_CHANNEL_BINDINGS seems to be logically correct. Ideas? On 02/06/2013 04:57 AM, Dmitry Samersoff wrote: > John, > > Not sure GSS_C_NO_CHANNEL_BINDINGS; is correct return value for this case. > > I'm second to Valerie - it's better to throw OOM > > -Dmitry > > > On 2013-02-06 03:44, John Zavgren wrote: >> Greetings: >> >> I modified the native code to eliminate potential memory loss and crashes by checking the return values of malloc() and realloc() calls. >> >> The webrev image of these changes is visible at: >> http://cr.openjdk.java.net/~jzavgren/8007607/webrev.01/ >> >> Thanks! >> John Zavgren >> > -- John Zavgren john.zavgren at oracle.com 603-821-0904 US-Burlington-MA -------------- next part -------------- An HTML attachment was scrubbed... URL: From naoto.sato at oracle.com Fri Feb 8 17:36:43 2013 From: naoto.sato at oracle.com (naoto.sato at oracle.com) Date: Fri, 08 Feb 2013 17:36:43 +0000 Subject: hg: jdk8/tl/jdk: 8007038: ArrayIndexOutOfBoundsException on calling localizedDateTime().print() with JapaneseChrono Message-ID: <20130208173718.23C2E4794A@hg.openjdk.java.net> Changeset: 79d7595abe95 Author: naoto Date: 2013-02-08 09:35 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/79d7595abe95 8007038: ArrayIndexOutOfBoundsException on calling localizedDateTime().print() with JapaneseChrono Reviewed-by: okutsu ! src/share/classes/sun/util/locale/provider/CalendarNameProviderImpl.java + test/java/util/Calendar/Bug8007038.java From dmitry.samersoff at oracle.com Fri Feb 8 18:34:37 2013 From: dmitry.samersoff at oracle.com (Dmitry Samersoff) Date: Fri, 08 Feb 2013 22:34:37 +0400 Subject: RFR: JDK-8007607 In-Reply-To: <5115382C.40708@oracle.com> References: <2ac0a83e-9206-4012-a97b-8e6d1b82ca35@default> <51122920.6040208@oracle.com> <5115382C.40708@oracle.com> Message-ID: <5115453D.2010400@oracle.com> John, > Ideas? It's a JNI so just throw OOM. -Dmitry On 2013-02-08 21:38, John Zavgren wrote: > Although I agree that the name: "GSS_C_NO_CHANNEL_BINDINGS" is misleading, > I can't identify anything else that seems more appropriate. > > The header file: > /jdk8-tl/jdk/src/share/native/sun/security/jgss/wrapper/gssapi.h defines > GSS_C_NO_CHANNEL_BINDINGS as follows: > #define GSS_C_NO_CHANNEL_BINDINGS ((gss_channel_bindings_t) 0) > > The symbol matches the prototype of the function: > > */* > * Utility routine which creates a gss_channel_bindings_t structure > * using the specified org.ietf.jgss.ChannelBinding object. > */ > gss_channel_bindings_t getGSSCB(JNIEnv *env, jobject jcb) { > gss_channel_bindings_t cb; > jobject jinetAddr; > jbyteArray value; > > if (jcb == NULL) { > return GSS_C_NO_CHANNEL_BINDINGS; > } > cb = malloc(sizeof(struct gss_channel_bindings_struct)); > > if(cb == NULL) > return GSS_C_NO_CHANNEL_BINDINGS;* > > There doesn't appear to be anything in our set of options that is more > suggestive of a memory allocation failure and the symbol: > GSS_C_NO_CHANNEL_BINDINGS seems to be logically correct. > > Ideas? > > On 02/06/2013 04:57 AM, Dmitry Samersoff wrote: >> John, >> >> Not sure GSS_C_NO_CHANNEL_BINDINGS; is correct return value for this case. >> >> I'm second to Valerie - it's better to throw OOM >> >> -Dmitry >> >> >> On 2013-02-06 03:44, John Zavgren wrote: >>> Greetings: >>> >>> I modified the native code to eliminate potential memory loss and crashes by checking the return values of malloc() and realloc() calls. >>> >>> The webrev image of these changes is visible at: >>> http://cr.openjdk.java.net/~jzavgren/8007607/webrev.01/ >>> >>> Thanks! >>> John Zavgren >>> >> > > > -- > John Zavgren > john.zavgren at oracle.com > 603-821-0904 > US-Burlington-MA > -- Dmitry Samersoff Oracle Java development team, Saint Petersburg, Russia * Give Rabbit time, and he'll always get the answer From valerie.peng at oracle.com Fri Feb 8 19:01:47 2013 From: valerie.peng at oracle.com (Valerie (Yu-Ching) Peng) Date: Fri, 08 Feb 2013 11:01:47 -0800 Subject: RFR: JDK-8007607 In-Reply-To: <5115382C.40708@oracle.com> References: <2ac0a83e-9206-4012-a97b-8e6d1b82ca35@default> <51122920.6040208@oracle.com> <5115382C.40708@oracle.com> Message-ID: <51154B9B.5020709@oracle.com> Right, the important thing is to throw OOM to indicate the memory allocation failure. The return value won't matter. If the caller is a Java method, an OOM will occur when returning from this JNI call. If the caller is another JNI method, then the caller should check for pending error condition, i,e. by calling (*env)->ExceptionCheck(env), and do necessary cleanup before returning to its caller. The pending exception will be thrown when returning to Java method. Valerie On 02/08/13 09:38, John Zavgren wrote: > Although I agree that the name: "GSS_C_NO_CHANNEL_BINDINGS" is misleading, > I can't identify anything else that seems more appropriate. > > The header file: > /jdk8-tl/jdk/src/share/native/sun/security/jgss/wrapper/gssapi.h > defines GSS_C_NO_CHANNEL_BINDINGS as follows: > #define GSS_C_NO_CHANNEL_BINDINGS ((gss_channel_bindings_t) 0) > > The symbol matches the prototype of the function: > > */* > * Utility routine which creates a gss_channel_bindings_t structure > * using the specified org.ietf.jgss.ChannelBinding object. > */ > gss_channel_bindings_t getGSSCB(JNIEnv *env, jobject jcb) { > gss_channel_bindings_t cb; > jobject jinetAddr; > jbyteArray value; > > if (jcb == NULL) { > return GSS_C_NO_CHANNEL_BINDINGS; > } > cb = malloc(sizeof(struct gss_channel_bindings_struct)); > > if(cb == NULL) > return GSS_C_NO_CHANNEL_BINDINGS;* > > There doesn't appear to be anything in our set of options that is more > suggestive of a memory allocation failure and the symbol: > GSS_C_NO_CHANNEL_BINDINGS seems to be logically correct. > > Ideas? > > On 02/06/2013 04:57 AM, Dmitry Samersoff wrote: >> John, >> >> Not sure GSS_C_NO_CHANNEL_BINDINGS; is correct return value for this case. >> >> I'm second to Valerie - it's better to throw OOM >> >> -Dmitry >> >> >> On 2013-02-06 03:44, John Zavgren wrote: >>> Greetings: >>> >>> I modified the native code to eliminate potential memory loss and crashes by checking the return values of malloc() and realloc() calls. >>> >>> The webrev image of these changes is visible at: >>> http://cr.openjdk.java.net/~jzavgren/8007607/webrev.01/ >>> >>> Thanks! >>> John Zavgren >>> > > > -- > John Zavgren > john.zavgren at oracle.com > 603-821-0904 > US-Burlington-MA -------------- next part -------------- An HTML attachment was scrubbed... URL: From dmitry.samersoff at oracle.com Fri Feb 8 19:12:04 2013 From: dmitry.samersoff at oracle.com (Dmitry Samersoff) Date: Fri, 08 Feb 2013 23:12:04 +0400 Subject: RFR: JDK-8007607 In-Reply-To: <51154B9B.5020709@oracle.com> References: <2ac0a83e-9206-4012-a97b-8e6d1b82ca35@default> <51122920.6040208@oracle.com> <5115382C.40708@oracle.com> <51154B9B.5020709@oracle.com> Message-ID: <51154E04.7060009@oracle.com> John, In this particular case we MUST distinguish between (a) no channel bindings and basic context is all we have and (b) we can't process channel bindings for some reason. -Dmitry On 2013-02-08 23:01, Valerie (Yu-Ching) Peng wrote: > Right, the important thing is to throw OOM to indicate the memory > allocation failure. > The return value won't matter. If the caller is a Java method, an OOM > will occur when returning from this JNI call. If the caller is another > JNI method, then the caller should check for pending error condition, > i,e. by calling (*env)->ExceptionCheck(env), and do necessary cleanup > before returning to its caller. The pending exception will be thrown > when returning to Java method. > > Valerie > On 02/08/13 09:38, John Zavgren wrote: >> Although I agree that the name: "GSS_C_NO_CHANNEL_BINDINGS" is misleading, >> I can't identify anything else that seems more appropriate. >> >> The header file: >> /jdk8-tl/jdk/src/share/native/sun/security/jgss/wrapper/gssapi.h >> defines GSS_C_NO_CHANNEL_BINDINGS as follows: >> #define GSS_C_NO_CHANNEL_BINDINGS ((gss_channel_bindings_t) 0) >> >> The symbol matches the prototype of the function: >> >> */* >> * Utility routine which creates a gss_channel_bindings_t structure >> * using the specified org.ietf.jgss.ChannelBinding object. >> */ >> gss_channel_bindings_t getGSSCB(JNIEnv *env, jobject jcb) { >> gss_channel_bindings_t cb; >> jobject jinetAddr; >> jbyteArray value; >> >> if (jcb == NULL) { >> return GSS_C_NO_CHANNEL_BINDINGS; >> } >> cb = malloc(sizeof(struct gss_channel_bindings_struct)); >> >> if(cb == NULL) >> return GSS_C_NO_CHANNEL_BINDINGS;* >> >> There doesn't appear to be anything in our set of options that is more >> suggestive of a memory allocation failure and the symbol: >> GSS_C_NO_CHANNEL_BINDINGS seems to be logically correct. >> >> Ideas? >> >> On 02/06/2013 04:57 AM, Dmitry Samersoff wrote: >>> John, >>> >>> Not sure GSS_C_NO_CHANNEL_BINDINGS; is correct return value for this case. >>> >>> I'm second to Valerie - it's better to throw OOM >>> >>> -Dmitry >>> >>> >>> On 2013-02-06 03:44, John Zavgren wrote: >>>> Greetings: >>>> >>>> I modified the native code to eliminate potential memory loss and crashes by checking the return values of malloc() and realloc() calls. >>>> >>>> The webrev image of these changes is visible at: >>>> http://cr.openjdk.java.net/~jzavgren/8007607/webrev.01/ >>>> >>>> Thanks! >>>> John Zavgren >>>> >> >> >> -- >> John Zavgren >> john.zavgren at oracle.com >> 603-821-0904 >> US-Burlington-MA > -- Dmitry Samersoff Oracle Java development team, Saint Petersburg, Russia * Give Rabbit time, and he'll always get the answer From john.zavgren at oracle.com Fri Feb 8 20:00:36 2013 From: john.zavgren at oracle.com (John Zavgren) Date: Fri, 8 Feb 2013 12:00:36 -0800 (PST) Subject: RFR: JDK-8007607 Message-ID: All: I assume that anytime a "JNI" procedure in the native code experiences an OOM (Out Of Memory) error, then it should throw an exception, by executing: JNU_ThrowOutOfMemoryError(env, NULL); src/share/native/sun/security/jgss/wrapper/GSSLibStub.c src/share/native/sun/security/jgss/wrapper/NativeUtil.c src/share/native/sun/security/smartcardio/pcsc.c src/solaris/native/com/sun/security/auth/module/Solaris.c src/solaris/native/com/sun/security/auth/module/Unix.c If so, what messages, if any, should I pass as their second argument, instead of NULL? Thanks! John ----- Original Message ----- From: dmitry.samersoff at oracle.com To: john.zavgren at oracle.com Cc: security-dev at openjdk.java.net Sent: Friday, February 8, 2013 1:35:41 PM GMT -05:00 US/Canada Eastern Subject: Re: RFR: JDK-8007607 John, > Ideas? It's a JNI so just throw OOM. -Dmitry On 2013-02-08 21:38, John Zavgren wrote: > Although I agree that the name: "GSS_C_NO_CHANNEL_BINDINGS" is misleading, > I can't identify anything else that seems more appropriate. > > The header file: > /jdk8-tl/jdk/src/share/native/sun/security/jgss/wrapper/gssapi.h defines > GSS_C_NO_CHANNEL_BINDINGS as follows: > #define GSS_C_NO_CHANNEL_BINDINGS ((gss_channel_bindings_t) 0) > > The symbol matches the prototype of the function: > > */* > * Utility routine which creates a gss_channel_bindings_t structure > * using the specified org.ietf.jgss.ChannelBinding object. > */ > gss_channel_bindings_t getGSSCB(JNIEnv *env, jobject jcb) { > gss_channel_bindings_t cb; > jobject jinetAddr; > jbyteArray value; > > if (jcb == NULL) { > return GSS_C_NO_CHANNEL_BINDINGS; > } > cb = malloc(sizeof(struct gss_channel_bindings_struct)); > > if(cb == NULL) > return GSS_C_NO_CHANNEL_BINDINGS;* > > There doesn't appear to be anything in our set of options that is more > suggestive of a memory allocation failure and the symbol: > GSS_C_NO_CHANNEL_BINDINGS seems to be logically correct. > > Ideas? > > On 02/06/2013 04:57 AM, Dmitry Samersoff wrote: >> John, >> >> Not sure GSS_C_NO_CHANNEL_BINDINGS; is correct return value for this case. >> >> I'm second to Valerie - it's better to throw OOM >> >> -Dmitry >> >> >> On 2013-02-06 03:44, John Zavgren wrote: >>> Greetings: >>> >>> I modified the native code to eliminate potential memory loss and crashes by checking the return values of malloc() and realloc() calls. >>> >>> The webrev image of these changes is visible at: >>> http://cr.openjdk.java.net/~jzavgren/8007607/webrev.01/ >>> >>> Thanks! >>> John Zavgren >>> >> > > > -- > John Zavgren > john.zavgren at oracle.com > 603-821-0904 > US-Burlington-MA > -- Dmitry Samersoff Oracle Java development team, Saint Petersburg, Russia * Give Rabbit time, and he'll always get the answer From valerie.peng at oracle.com Fri Feb 8 20:19:11 2013 From: valerie.peng at oracle.com (Valerie (Yu-Ching) Peng) Date: Fri, 08 Feb 2013 12:19:11 -0800 Subject: RFR: JDK-8007607 In-Reply-To: References: Message-ID: <51155DBF.7040700@oracle.com> I think it's ok just to use NULL. An OOM is pretty self-explanatory. Most if not all invocations that I recall seeing simply use NULL. Valerie On 02/08/13 12:00, John Zavgren wrote: > All: > > I assume that anytime a "JNI" procedure in the native code experiences an OOM (Out Of Memory) error, then it should throw an exception, by executing: JNU_ThrowOutOfMemoryError(env, NULL); > > src/share/native/sun/security/jgss/wrapper/GSSLibStub.c > src/share/native/sun/security/jgss/wrapper/NativeUtil.c > src/share/native/sun/security/smartcardio/pcsc.c > src/solaris/native/com/sun/security/auth/module/Solaris.c > src/solaris/native/com/sun/security/auth/module/Unix.c > > If so, what messages, if any, should I pass as their second argument, instead of NULL? > > > > Thanks! > John > ----- Original Message ----- > From: dmitry.samersoff at oracle.com > To: john.zavgren at oracle.com > Cc: security-dev at openjdk.java.net > Sent: Friday, February 8, 2013 1:35:41 PM GMT -05:00 US/Canada Eastern > Subject: Re: RFR: JDK-8007607 > > John, > >> Ideas? > It's a JNI so just throw OOM. > > -Dmitry > > > On 2013-02-08 21:38, John Zavgren wrote: >> Although I agree that the name: "GSS_C_NO_CHANNEL_BINDINGS" is misleading, >> I can't identify anything else that seems more appropriate. >> >> The header file: >> /jdk8-tl/jdk/src/share/native/sun/security/jgss/wrapper/gssapi.h defines >> GSS_C_NO_CHANNEL_BINDINGS as follows: >> #define GSS_C_NO_CHANNEL_BINDINGS ((gss_channel_bindings_t) 0) >> >> The symbol matches the prototype of the function: >> >> */* >> * Utility routine which creates a gss_channel_bindings_t structure >> * using the specified org.ietf.jgss.ChannelBinding object. >> */ >> gss_channel_bindings_t getGSSCB(JNIEnv *env, jobject jcb) { >> gss_channel_bindings_t cb; >> jobject jinetAddr; >> jbyteArray value; >> >> if (jcb == NULL) { >> return GSS_C_NO_CHANNEL_BINDINGS; >> } >> cb = malloc(sizeof(struct gss_channel_bindings_struct)); >> >> if(cb == NULL) >> return GSS_C_NO_CHANNEL_BINDINGS;* >> >> There doesn't appear to be anything in our set of options that is more >> suggestive of a memory allocation failure and the symbol: >> GSS_C_NO_CHANNEL_BINDINGS seems to be logically correct. >> >> Ideas? >> >> On 02/06/2013 04:57 AM, Dmitry Samersoff wrote: >>> John, >>> >>> Not sure GSS_C_NO_CHANNEL_BINDINGS; is correct return value for this case. >>> >>> I'm second to Valerie - it's better to throw OOM >>> >>> -Dmitry >>> >>> >>> On 2013-02-06 03:44, John Zavgren wrote: >>>> Greetings: >>>> >>>> I modified the native code to eliminate potential memory loss and crashes by checking the return values of malloc() and realloc() calls. >>>> >>>> The webrev image of these changes is visible at: >>>> http://cr.openjdk.java.net/~jzavgren/8007607/webrev.01/ >>>> >>>> Thanks! >>>> John Zavgren >>>> >> >> -- >> John Zavgren >> john.zavgren at oracle.com >> 603-821-0904 >> US-Burlington-MA >> > From dmitry.samersoff at oracle.com Fri Feb 8 21:47:17 2013 From: dmitry.samersoff at oracle.com (Dmitry Samersoff) Date: Sat, 09 Feb 2013 01:47:17 +0400 Subject: RFR: JDK-8007607 In-Reply-To: <51155DBF.7040700@oracle.com> References: <51155DBF.7040700@oracle.com> Message-ID: <51157265.8030708@oracle.com> Valerie, C is not distinguish between 0 and NULL. In GSS case GSS_C_NO_CHANNEL_BINDINGS (expanded to 0) means that client and server agreed that basic context is OK. So return of GSS_C_NO_CHANNEL_BINDINGS(0) in OOM case could lead to security issue if upper level doesn't check for exception. I have no good and cheap solution for this problem. -Dmitry On 2013-02-09 00:19, Valerie (Yu-Ching) Peng wrote: > I think it's ok just to use NULL. An OOM is pretty self-explanatory. > Most if not all invocations that I recall seeing simply use NULL. > Valerie > > On 02/08/13 12:00, John Zavgren wrote: >> All: >> >> I assume that anytime a "JNI" procedure in the native code experiences >> an OOM (Out Of Memory) error, then it should throw an exception, by >> executing: JNU_ThrowOutOfMemoryError(env, NULL); >> >> src/share/native/sun/security/jgss/wrapper/GSSLibStub.c >> src/share/native/sun/security/jgss/wrapper/NativeUtil.c >> src/share/native/sun/security/smartcardio/pcsc.c >> src/solaris/native/com/sun/security/auth/module/Solaris.c >> src/solaris/native/com/sun/security/auth/module/Unix.c >> >> If so, what messages, if any, should I pass as their second argument, >> instead of NULL? >> >> >> >> Thanks! >> John >> ----- Original Message ----- >> From: dmitry.samersoff at oracle.com >> To: john.zavgren at oracle.com >> Cc: security-dev at openjdk.java.net >> Sent: Friday, February 8, 2013 1:35:41 PM GMT -05:00 US/Canada Eastern >> Subject: Re: RFR: JDK-8007607 >> >> John, >> >>> Ideas? >> It's a JNI so just throw OOM. >> >> -Dmitry >> >> >> On 2013-02-08 21:38, John Zavgren wrote: >>> Although I agree that the name: "GSS_C_NO_CHANNEL_BINDINGS" is >>> misleading, >>> I can't identify anything else that seems more appropriate. >>> >>> The header file: >>> /jdk8-tl/jdk/src/share/native/sun/security/jgss/wrapper/gssapi.h defines >>> GSS_C_NO_CHANNEL_BINDINGS as follows: >>> #define GSS_C_NO_CHANNEL_BINDINGS ((gss_channel_bindings_t) 0) >>> >>> The symbol matches the prototype of the function: >>> >>> */* >>> * Utility routine which creates a gss_channel_bindings_t structure >>> * using the specified org.ietf.jgss.ChannelBinding object. >>> */ >>> gss_channel_bindings_t getGSSCB(JNIEnv *env, jobject jcb) { >>> gss_channel_bindings_t cb; >>> jobject jinetAddr; >>> jbyteArray value; >>> >>> if (jcb == NULL) { >>> return GSS_C_NO_CHANNEL_BINDINGS; >>> } >>> cb = malloc(sizeof(struct gss_channel_bindings_struct)); >>> >>> if(cb == NULL) >>> return GSS_C_NO_CHANNEL_BINDINGS;* >>> >>> There doesn't appear to be anything in our set of options that is more >>> suggestive of a memory allocation failure and the symbol: >>> GSS_C_NO_CHANNEL_BINDINGS seems to be logically correct. >>> >>> Ideas? >>> >>> On 02/06/2013 04:57 AM, Dmitry Samersoff wrote: >>>> John, >>>> >>>> Not sure GSS_C_NO_CHANNEL_BINDINGS; is correct return value for this >>>> case. >>>> >>>> I'm second to Valerie - it's better to throw OOM >>>> >>>> -Dmitry >>>> >>>> >>>> On 2013-02-06 03:44, John Zavgren wrote: >>>>> Greetings: >>>>> >>>>> I modified the native code to eliminate potential memory loss and >>>>> crashes by checking the return values of malloc() and realloc() calls. >>>>> >>>>> The webrev image of these changes is visible at: >>>>> http://cr.openjdk.java.net/~jzavgren/8007607/webrev.01/ >>>>> >>>>> Thanks! >>>>> John Zavgren >>>>> >>> >>> -- >>> John Zavgren >>> john.zavgren at oracle.com >>> 603-821-0904 >>> US-Burlington-MA >>> >> > -- Dmitry Samersoff Oracle Java development team, Saint Petersburg, Russia * Give Rabbit time, and he'll always get the answer From mstjohns at comcast.net Fri Feb 8 21:49:41 2013 From: mstjohns at comcast.net (Michael StJohns) Date: Fri, 08 Feb 2013 16:49:41 -0500 Subject: RFR: JDK-8007607 In-Reply-To: <51155DBF.7040700@oracle.com> References: <51155DBF.7040700@oracle.com> Message-ID: <20130208214942.11F666031@mail.openjdk.java.net> It seems to me that this is a pretty common pattern. Would it make better sense to define standard jni_malloc and jni_calloc functions that throw an OOM if the underlying allocation fails and use those rather than having to add the if statement check everywhere? Mike At 03:19 PM 2/8/2013, Valerie (Yu-Ching) Peng wrote: >I think it's ok just to use NULL. An OOM is pretty self-explanatory. Most if not all invocations that I recall seeing simply use NULL. >Valerie > >On 02/08/13 12:00, John Zavgren wrote: >>All: >> >>I assume that anytime a "JNI" procedure in the native code experiences an OOM (Out Of Memory) error, then it should throw an exception, by executing: JNU_ThrowOutOfMemoryError(env, NULL); >> >>src/share/native/sun/security/jgss/wrapper/GSSLibStub.c >>src/share/native/sun/security/jgss/wrapper/NativeUtil.c >>src/share/native/sun/security/smartcardio/pcsc.c >>src/solaris/native/com/sun/security/auth/module/Solaris.c >>src/solaris/native/com/sun/security/auth/module/Unix.c >> >>If so, what messages, if any, should I pass as their second argument, instead of NULL? >> >> >> >>Thanks! >>John >>----- Original Message ----- >>From: dmitry.samersoff at oracle.com >>To: john.zavgren at oracle.com >>Cc: security-dev at openjdk.java.net >>Sent: Friday, February 8, 2013 1:35:41 PM GMT -05:00 US/Canada Eastern >>Subject: Re: RFR: JDK-8007607 >> >>John, >> >>>Ideas? >>It's a JNI so just throw OOM. >> >>-Dmitry >> >> >>On 2013-02-08 21:38, John Zavgren wrote: >>>Although I agree that the name: "GSS_C_NO_CHANNEL_BINDINGS" is misleading, >>>I can't identify anything else that seems more appropriate. >>> >>>The header file: >>>/jdk8-tl/jdk/src/share/native/sun/security/jgss/wrapper/gssapi.h defines >>>GSS_C_NO_CHANNEL_BINDINGS as follows: >>>#define GSS_C_NO_CHANNEL_BINDINGS ((gss_channel_bindings_t) 0) >>> >>>The symbol matches the prototype of the function: >>> >>> */* >>> * Utility routine which creates a gss_channel_bindings_t structure >>> * using the specified org.ietf.jgss.ChannelBinding object. >>> */ >>> gss_channel_bindings_t getGSSCB(JNIEnv *env, jobject jcb) { >>> gss_channel_bindings_t cb; >>> jobject jinetAddr; >>> jbyteArray value; >>> >>> if (jcb == NULL) { >>> return GSS_C_NO_CHANNEL_BINDINGS; >>> } >>> cb = malloc(sizeof(struct gss_channel_bindings_struct)); >>> >>> if(cb == NULL) >>> return GSS_C_NO_CHANNEL_BINDINGS;* >>> >>>There doesn't appear to be anything in our set of options that is more >>>suggestive of a memory allocation failure and the symbol: >>>GSS_C_NO_CHANNEL_BINDINGS seems to be logically correct. >>> >>>Ideas? >>> >>>On 02/06/2013 04:57 AM, Dmitry Samersoff wrote: >>>>John, >>>> >>>>Not sure GSS_C_NO_CHANNEL_BINDINGS; is correct return value for this case. >>>> >>>>I'm second to Valerie - it's better to throw OOM >>>> >>>>-Dmitry >>>> >>>> >>>>On 2013-02-06 03:44, John Zavgren wrote: >>>>>Greetings: >>>>> >>>>>I modified the native code to eliminate potential memory loss and crashes by checking the return values of malloc() and realloc() calls. >>>>> >>>>>The webrev image of these changes is visible at: >>>>>http://cr.openjdk.java.net/~jzavgren/8007607/webrev.01/ >>>>> >>>>>Thanks! >>>>>John Zavgren >>> >>>-- >>>John Zavgren >>>john.zavgren at oracle.com >>>603-821-0904 >>>US-Burlington-MA From valerie.peng at oracle.com Fri Feb 8 22:24:06 2013 From: valerie.peng at oracle.com (Valerie (Yu-Ching) Peng) Date: Fri, 08 Feb 2013 14:24:06 -0800 Subject: RFR: JDK-8007607 In-Reply-To: <51157265.8030708@oracle.com> References: <51155DBF.7040700@oracle.com> <51157265.8030708@oracle.com> Message-ID: <51157B06.7080905@oracle.com> The NULL in my earlier email is about the second argument for the OOM error and not about the return code/value. As long as an OOM is thrown, the return code/value won't be used. Since we must return a value per JNI syntax even when OOM has been thrown, maybe we can just return -1, or 0, or NULL. I don't think it really matters. Valerie On 02/08/13 13:47, Dmitry Samersoff wrote: > Valerie, > > C is not distinguish between 0 and NULL. > > In GSS case GSS_C_NO_CHANNEL_BINDINGS (expanded to 0) means that client > and server agreed that basic context is OK. > > So return of GSS_C_NO_CHANNEL_BINDINGS(0) in OOM case could lead to > security issue if upper level doesn't check for exception. > > I have no good and cheap solution for this problem. > > > -Dmitry > > > > On 2013-02-09 00:19, Valerie (Yu-Ching) Peng wrote: >> I think it's ok just to use NULL. An OOM is pretty self-explanatory. >> Most if not all invocations that I recall seeing simply use NULL. >> Valerie >> >> On 02/08/13 12:00, John Zavgren wrote: >>> All: >>> >>> I assume that anytime a "JNI" procedure in the native code experiences >>> an OOM (Out Of Memory) error, then it should throw an exception, by >>> executing: JNU_ThrowOutOfMemoryError(env, NULL); >>> >>> src/share/native/sun/security/jgss/wrapper/GSSLibStub.c >>> src/share/native/sun/security/jgss/wrapper/NativeUtil.c >>> src/share/native/sun/security/smartcardio/pcsc.c >>> src/solaris/native/com/sun/security/auth/module/Solaris.c >>> src/solaris/native/com/sun/security/auth/module/Unix.c >>> >>> If so, what messages, if any, should I pass as their second argument, >>> instead of NULL? >>> >>> >>> >>> Thanks! >>> John >>> ----- Original Message ----- >>> From: dmitry.samersoff at oracle.com >>> To: john.zavgren at oracle.com >>> Cc: security-dev at openjdk.java.net >>> Sent: Friday, February 8, 2013 1:35:41 PM GMT -05:00 US/Canada Eastern >>> Subject: Re: RFR: JDK-8007607 >>> >>> John, >>> >>>> Ideas? >>> It's a JNI so just throw OOM. >>> >>> -Dmitry >>> >>> >>> On 2013-02-08 21:38, John Zavgren wrote: >>>> Although I agree that the name: "GSS_C_NO_CHANNEL_BINDINGS" is >>>> misleading, >>>> I can't identify anything else that seems more appropriate. >>>> >>>> The header file: >>>> /jdk8-tl/jdk/src/share/native/sun/security/jgss/wrapper/gssapi.h defines >>>> GSS_C_NO_CHANNEL_BINDINGS as follows: >>>> #define GSS_C_NO_CHANNEL_BINDINGS ((gss_channel_bindings_t) 0) >>>> >>>> The symbol matches the prototype of the function: >>>> >>>> */* >>>> * Utility routine which creates a gss_channel_bindings_t structure >>>> * using the specified org.ietf.jgss.ChannelBinding object. >>>> */ >>>> gss_channel_bindings_t getGSSCB(JNIEnv *env, jobject jcb) { >>>> gss_channel_bindings_t cb; >>>> jobject jinetAddr; >>>> jbyteArray value; >>>> >>>> if (jcb == NULL) { >>>> return GSS_C_NO_CHANNEL_BINDINGS; >>>> } >>>> cb = malloc(sizeof(struct gss_channel_bindings_struct)); >>>> >>>> if(cb == NULL) >>>> return GSS_C_NO_CHANNEL_BINDINGS;* >>>> >>>> There doesn't appear to be anything in our set of options that is more >>>> suggestive of a memory allocation failure and the symbol: >>>> GSS_C_NO_CHANNEL_BINDINGS seems to be logically correct. >>>> >>>> Ideas? >>>> >>>> On 02/06/2013 04:57 AM, Dmitry Samersoff wrote: >>>>> John, >>>>> >>>>> Not sure GSS_C_NO_CHANNEL_BINDINGS; is correct return value for this >>>>> case. >>>>> >>>>> I'm second to Valerie - it's better to throw OOM >>>>> >>>>> -Dmitry >>>>> >>>>> >>>>> On 2013-02-06 03:44, John Zavgren wrote: >>>>>> Greetings: >>>>>> >>>>>> I modified the native code to eliminate potential memory loss and >>>>>> crashes by checking the return values of malloc() and realloc() calls. >>>>>> >>>>>> The webrev image of these changes is visible at: >>>>>> http://cr.openjdk.java.net/~jzavgren/8007607/webrev.01/ >>>>>> >>>>>> Thanks! >>>>>> John Zavgren >>>>>> >>>> -- >>>> John Zavgren >>>> john.zavgren at oracle.com >>>> 603-821-0904 >>>> US-Burlington-MA >>>> > From joe.darcy at oracle.com Sat Feb 9 00:00:41 2013 From: joe.darcy at oracle.com (joe.darcy at oracle.com) Date: Sat, 09 Feb 2013 00:00:41 +0000 Subject: hg: jdk8/tl/jdk: 8005623: Retrofit FunctionalInterface annotations to core platform interfaces Message-ID: <20130209000112.8DE1047963@hg.openjdk.java.net> Changeset: 522fb3867a3a Author: darcy Date: 2013-02-08 16:00 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/522fb3867a3a 8005623: Retrofit FunctionalInterface annotations to core platform interfaces Reviewed-by: mduigou, chegar, alanb ! src/share/classes/java/io/Closeable.java ! src/share/classes/java/io/FileFilter.java ! src/share/classes/java/io/FilenameFilter.java ! src/share/classes/java/io/Flushable.java ! src/share/classes/java/lang/AutoCloseable.java ! src/share/classes/java/lang/Comparable.java ! src/share/classes/java/lang/Iterable.java ! src/share/classes/java/lang/Readable.java ! src/share/classes/java/lang/Runnable.java ! src/share/classes/java/lang/Thread.java ! src/share/classes/java/nio/file/DirectoryStream.java ! src/share/classes/java/nio/file/PathMatcher.java ! src/share/classes/java/util/Comparator.java ! src/share/classes/java/util/function/BinaryOperator.java ! src/share/classes/java/util/function/Block.java ! src/share/classes/java/util/function/DoubleBinaryOperator.java ! src/share/classes/java/util/function/DoubleBlock.java ! src/share/classes/java/util/function/DoubleFunction.java ! src/share/classes/java/util/function/DoubleSupplier.java ! src/share/classes/java/util/function/DoubleUnaryOperator.java ! src/share/classes/java/util/function/Function.java ! src/share/classes/java/util/function/IntBinaryOperator.java ! src/share/classes/java/util/function/IntBlock.java ! src/share/classes/java/util/function/IntFunction.java ! src/share/classes/java/util/function/IntSupplier.java ! src/share/classes/java/util/function/IntUnaryOperator.java ! src/share/classes/java/util/function/LongBinaryOperator.java ! src/share/classes/java/util/function/LongBlock.java ! src/share/classes/java/util/function/LongFunction.java ! src/share/classes/java/util/function/LongSupplier.java ! src/share/classes/java/util/function/LongUnaryOperator.java ! src/share/classes/java/util/function/Predicate.java ! src/share/classes/java/util/function/Supplier.java ! src/share/classes/java/util/function/UnaryOperator.java ! src/share/classes/java/util/logging/Filter.java ! src/share/classes/java/util/prefs/PreferenceChangeListener.java From jonathan.gibbons at oracle.com Sat Feb 9 01:35:27 2013 From: jonathan.gibbons at oracle.com (jonathan.gibbons at oracle.com) Date: Sat, 09 Feb 2013 01:35:27 +0000 Subject: hg: jdk8/tl/langtools: 8007610: javadoc doclint does not work with -private Message-ID: <20130209013533.BE20047968@hg.openjdk.java.net> Changeset: 60caf53b98e2 Author: jjg Date: 2013-02-08 17:35 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/langtools/rev/60caf53b98e2 8007610: javadoc doclint does not work with -private Reviewed-by: darcy ! src/share/classes/com/sun/tools/javadoc/DocEnv.java ! test/com/sun/javadoc/T6735320/T6735320.java ! test/tools/javadoc/doclint/DocLintTest.java From chris.hegarty at oracle.com Sat Feb 9 08:37:27 2013 From: chris.hegarty at oracle.com (chris.hegarty at oracle.com) Date: Sat, 09 Feb 2013 08:37:27 +0000 Subject: hg: jdk8/tl/jdk: 8005697: Add StampedLock Message-ID: <20130209083747.A8AA847974@hg.openjdk.java.net> Changeset: 36d25dc2b8f0 Author: dl Date: 2013-02-09 08:35 +0000 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/36d25dc2b8f0 8005697: Add StampedLock Reviewed-by: chegar, alanb, dice, martin ! make/java/java/FILES_java.gmk ! src/share/classes/java/util/concurrent/locks/LockSupport.java + src/share/classes/java/util/concurrent/locks/StampedLock.java + test/java/util/concurrent/locks/StampedLock/Basic.java From weijun.wang at oracle.com Sat Feb 9 08:46:40 2013 From: weijun.wang at oracle.com (weijun.wang at oracle.com) Date: Sat, 09 Feb 2013 08:46:40 +0000 Subject: hg: jdk8/tl/jdk: 2 new changesets Message-ID: <20130209084703.D7F1447975@hg.openjdk.java.net> Changeset: d14cd2272b2d Author: weijun Date: 2013-02-09 16:43 +0800 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/d14cd2272b2d 8001104: Unbound SASL service: the GSSAPI/krb5 mech Reviewed-by: valeriep ! src/share/classes/com/sun/security/auth/module/Krb5LoginModule.java ! src/share/classes/javax/security/auth/kerberos/JavaxSecurityAuthKerberosAccessImpl.java ! src/share/classes/javax/security/auth/kerberos/KeyTab.java ! src/share/classes/sun/security/jgss/LoginConfigImpl.java ! src/share/classes/sun/security/jgss/krb5/Krb5Util.java ! src/share/classes/sun/security/jgss/krb5/ServiceCreds.java ! src/share/classes/sun/security/jgss/krb5/SubjectComber.java ! src/share/classes/sun/security/krb5/JavaxSecurityAuthKerberosAccess.java ! src/share/classes/sun/security/krb5/internal/ktab/KeyTab.java ! src/share/classes/sun/security/provider/ConfigSpiFile.java ! test/sun/security/krb5/ServiceCredsCombination.java ! test/sun/security/krb5/auto/AcceptPermissions.java + test/sun/security/krb5/auto/GSSUnbound.java ! test/sun/security/krb5/auto/OneKDC.java + test/sun/security/krb5/auto/SaslUnbound.java + test/sun/security/krb5/auto/UnboundService.java Changeset: 57cb988c811e Author: weijun Date: 2013-02-09 16:43 +0800 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/57cb988c811e 8007761: NTLM coding errors Reviewed-by: chegar ! src/share/classes/com/sun/security/ntlm/Client.java ! src/share/classes/com/sun/security/ntlm/NTLM.java From chris.hegarty at oracle.com Sat Feb 9 08:48:16 2013 From: chris.hegarty at oracle.com (Chris Hegarty) Date: Sat, 09 Feb 2013 08:48:16 +0000 Subject: RFR: JDK-8007607 In-Reply-To: <51157B06.7080905@oracle.com> References: <51155DBF.7040700@oracle.com> <51157265.8030708@oracle.com> <51157B06.7080905@oracle.com> Message-ID: <51160D50.3060806@oracle.com> On 02/08/2013 10:24 PM, Valerie (Yu-Ching) Peng wrote: > > The NULL in my earlier email is about the second argument for the OOM > error and not about the return code/value. As long as an OOM is thrown, > the return code/value won't be used. Since we must return a value per > JNI syntax even when OOM has been thrown, maybe we can just return -1, > or 0, or NULL. I don't think it really matters. Agreed. -Chris. > > Valerie > > On 02/08/13 13:47, Dmitry Samersoff wrote: >> Valerie, >> >> C is not distinguish between 0 and NULL. >> >> In GSS case GSS_C_NO_CHANNEL_BINDINGS (expanded to 0) means that client >> and server agreed that basic context is OK. >> >> So return of GSS_C_NO_CHANNEL_BINDINGS(0) in OOM case could lead to >> security issue if upper level doesn't check for exception. >> >> I have no good and cheap solution for this problem. >> >> >> -Dmitry >> >> >> >> On 2013-02-09 00:19, Valerie (Yu-Ching) Peng wrote: >>> I think it's ok just to use NULL. An OOM is pretty self-explanatory. >>> Most if not all invocations that I recall seeing simply use NULL. >>> Valerie >>> >>> On 02/08/13 12:00, John Zavgren wrote: >>>> All: >>>> >>>> I assume that anytime a "JNI" procedure in the native code experiences >>>> an OOM (Out Of Memory) error, then it should throw an exception, by >>>> executing: JNU_ThrowOutOfMemoryError(env, NULL); >>>> >>>> src/share/native/sun/security/jgss/wrapper/GSSLibStub.c >>>> src/share/native/sun/security/jgss/wrapper/NativeUtil.c >>>> src/share/native/sun/security/smartcardio/pcsc.c >>>> src/solaris/native/com/sun/security/auth/module/Solaris.c >>>> src/solaris/native/com/sun/security/auth/module/Unix.c >>>> >>>> If so, what messages, if any, should I pass as their second argument, >>>> instead of NULL? >>>> >>>> >>>> >>>> Thanks! >>>> John >>>> ----- Original Message ----- >>>> From: dmitry.samersoff at oracle.com >>>> To: john.zavgren at oracle.com >>>> Cc: security-dev at openjdk.java.net >>>> Sent: Friday, February 8, 2013 1:35:41 PM GMT -05:00 US/Canada Eastern >>>> Subject: Re: RFR: JDK-8007607 >>>> >>>> John, >>>> >>>>> Ideas? >>>> It's a JNI so just throw OOM. >>>> >>>> -Dmitry >>>> >>>> >>>> On 2013-02-08 21:38, John Zavgren wrote: >>>>> Although I agree that the name: "GSS_C_NO_CHANNEL_BINDINGS" is >>>>> misleading, >>>>> I can't identify anything else that seems more appropriate. >>>>> >>>>> The header file: >>>>> /jdk8-tl/jdk/src/share/native/sun/security/jgss/wrapper/gssapi.h >>>>> defines >>>>> GSS_C_NO_CHANNEL_BINDINGS as follows: >>>>> #define GSS_C_NO_CHANNEL_BINDINGS ((gss_channel_bindings_t) 0) >>>>> >>>>> The symbol matches the prototype of the function: >>>>> >>>>> */* >>>>> * Utility routine which creates a gss_channel_bindings_t >>>>> structure >>>>> * using the specified org.ietf.jgss.ChannelBinding object. >>>>> */ >>>>> gss_channel_bindings_t getGSSCB(JNIEnv *env, jobject jcb) { >>>>> gss_channel_bindings_t cb; >>>>> jobject jinetAddr; >>>>> jbyteArray value; >>>>> >>>>> if (jcb == NULL) { >>>>> return GSS_C_NO_CHANNEL_BINDINGS; >>>>> } >>>>> cb = malloc(sizeof(struct gss_channel_bindings_struct)); >>>>> >>>>> if(cb == NULL) >>>>> return GSS_C_NO_CHANNEL_BINDINGS;* >>>>> >>>>> There doesn't appear to be anything in our set of options that is more >>>>> suggestive of a memory allocation failure and the symbol: >>>>> GSS_C_NO_CHANNEL_BINDINGS seems to be logically correct. >>>>> >>>>> Ideas? >>>>> >>>>> On 02/06/2013 04:57 AM, Dmitry Samersoff wrote: >>>>>> John, >>>>>> >>>>>> Not sure GSS_C_NO_CHANNEL_BINDINGS; is correct return value for this >>>>>> case. >>>>>> >>>>>> I'm second to Valerie - it's better to throw OOM >>>>>> >>>>>> -Dmitry >>>>>> >>>>>> >>>>>> On 2013-02-06 03:44, John Zavgren wrote: >>>>>>> Greetings: >>>>>>> >>>>>>> I modified the native code to eliminate potential memory loss and >>>>>>> crashes by checking the return values of malloc() and realloc() >>>>>>> calls. >>>>>>> >>>>>>> The webrev image of these changes is visible at: >>>>>>> http://cr.openjdk.java.net/~jzavgren/8007607/webrev.01/ >>>>>>> >>>>>>> Thanks! >>>>>>> John Zavgren >>>>>>> >>>>> -- >>>>> John Zavgren >>>>> john.zavgren at oracle.com >>>>> 603-821-0904 >>>>> US-Burlington-MA >>>>> >> > From sigmaris at gmail.com Sun Feb 10 13:54:34 2013 From: sigmaris at gmail.com (Hugh Cole-Baker) Date: Sun, 10 Feb 2013 13:54:34 +0000 Subject: NegativeArraySizeException in JGSS / SASL Message-ID: Hi there, I'm running into an exception when trying to communicate with an OpenLDAP server using SASL GSSAPI for authentication, with integrity and privacy protection (i.e. with the javax.security.sasl.qop property set to auth-conf). I think the problem may be related to the SASL client (com.sun.security.sasl.gsskerb.GssKrb5Client) negotiating a negative rawSendSize value which is then used as an array length. If I turn on FINE logging I see: com.sun.security.sasl.gsskerb.GssKrb5Client constructor FINE: SASLIMPL01:Preferred qop property: auth-conf com.sun.security.sasl.gsskerb.GssKrb5Client constructor FINE: SASLIMPL02:Preferred qop mask: 4 com.sun.security.sasl.gsskerb.GssKrb5Client constructor FINE: SASLIMPL03:Preferred qops : 4 0 0 com.sun.security.sasl.gsskerb.GssKrb5Client constructor FINE: SASLIMPL04:Preferred strength property: null com.sun.security.sasl.gsskerb.GssKrb5Client constructor FINE: SASLIMPL05:Cipher strengths: 4 2 1 com.sun.security.sasl.gsskerb.GssKrb5Client FINE: KRB5CLNT01:Requesting service name: ldap at dir-1.dev.local com.sun.security.sasl.gsskerb.GssKrb5Client doFinalHandshake FINE: KRB5CLNT06:Server protections: 7 com.sun.security.sasl.gsskerb.GssKrb5Client doFinalHandshake FINE: KRB5CLNT07:Client max recv size: 65,536; server max recv size: 0; rawSendSize: -69 com.sun.security.sasl.gsskerb.GssKrb5Client doFinalHandshake FINE: KRB5CLNT08:Selected protection: 4; privacy: true; integrity: true Exception in thread "main" java.lang.NegativeArraySizeException at sun.security.jgss.krb5.CipherHelper.aes256Encrypt(CipherHelper.java:1367) at sun.security.jgss.krb5.CipherHelper.encryptData(CipherHelper.java:722) at sun.security.jgss.krb5.WrapToken_v2.(WrapToken_v2.java:200) at sun.security.jgss.krb5.Krb5Context.wrap(Krb5Context.java:861) at sun.security.jgss.GSSContextImpl.wrap(GSSContextImpl.java:385) at com.sun.security.sasl.gsskerb.GssKrb5Base.wrap(GssKrb5Base.java:103) at com.sun.jndi.ldap.sasl.SaslOutputStream.write(SaslOutputStream.java:89) at com.sun.jndi.ldap.Connection.writeRequest(Connection.java:428) at com.sun.jndi.ldap.LdapClient.search(LdapClient.java:547) (cut..) I've been able to cut down the test case to a simple program which logs in using JAAS to obtain a Kerberos ticket, then tries to connect to the LDAP server via JNDI, using GSSAPI for security, and tries to perform an LDAP search. With this test case I've been able to reproduce the bug on OpenJDK 7 on Ubuntu 12.04 (package version 7u9-2.3.4-0ubuntu1.12.04.1) and Oracle's JDK for Mac 1.7.0_13. I have also tried the EA build of JDK 8 for Mac from Oracle (b76-macosx-x86_64-07_feb_2013) which shows the same problem. All the systems I've been testing on are part of a Kerberos realm with a MIT Kerberos KDC (v 1.10) and the JREs I've been testing have the unlimited-strength cryptography policies installed, which means they're able to use AES-256 encryption types in Kerberos (apart from JDK 8 since I couldn't find a download for the policy files for that one). I'm not sure if this is a bug in OpenJDK or something to do with my test environment- I can attach the test case if necessary. If it is a bug in OpenJDK, what's the best place to report it? I checked on http://openjdk.java.net/ but couldn't find a link to a public bug tracker. Regards Hugh From weijun.wang at oracle.com Sun Feb 10 15:39:52 2013 From: weijun.wang at oracle.com (Weijun Wang) Date: Sun, 10 Feb 2013 23:39:52 +0800 Subject: NegativeArraySizeException in JGSS / SASL In-Reply-To: References: Message-ID: <5117BF48.4000507@oracle.com> Hi Hugh You can report a bug at http://bugs.sun.com/. The problem seems to be at this line > FINE: KRB5CLNT07:Client max recv size: 65,536; server max recv size: 0; rawSendSize: -69 where the server max recv size is 0. This is quite strange. I am thinking that a wrong packet is received. Can you adjust the log level to FINER and send me the debug output? You can send it directly to me if you are afraid the mysterious hex data might contain anything sensitive. Thanks Weijun On 02/10/2013 09:54 PM, Hugh Cole-Baker wrote: > Hi there, > > I'm running into an exception when trying to communicate with an OpenLDAP server > using SASL GSSAPI for authentication, with integrity and privacy protection > (i.e. with the javax.security.sasl.qop property set to auth-conf). > > I think the problem may be related to the SASL client > (com.sun.security.sasl.gsskerb.GssKrb5Client) negotiating a negative rawSendSize > value which is then used as an array length. If I turn on FINE logging I see: > > com.sun.security.sasl.gsskerb.GssKrb5Client constructor > FINE: SASLIMPL01:Preferred qop property: auth-conf > com.sun.security.sasl.gsskerb.GssKrb5Client constructor > FINE: SASLIMPL02:Preferred qop mask: 4 > com.sun.security.sasl.gsskerb.GssKrb5Client constructor > FINE: SASLIMPL03:Preferred qops : 4 0 0 > com.sun.security.sasl.gsskerb.GssKrb5Client constructor > FINE: SASLIMPL04:Preferred strength property: null > com.sun.security.sasl.gsskerb.GssKrb5Client constructor > FINE: SASLIMPL05:Cipher strengths: 4 2 1 > com.sun.security.sasl.gsskerb.GssKrb5Client > FINE: KRB5CLNT01:Requesting service name: ldap at dir-1.dev.local > com.sun.security.sasl.gsskerb.GssKrb5Client doFinalHandshake > FINE: KRB5CLNT06:Server protections: 7 > com.sun.security.sasl.gsskerb.GssKrb5Client doFinalHandshake > FINE: KRB5CLNT07:Client max recv size: 65,536; server max recv size: 0; rawSendSize: -69 > com.sun.security.sasl.gsskerb.GssKrb5Client doFinalHandshake > FINE: KRB5CLNT08:Selected protection: 4; privacy: true; integrity: true > Exception in thread "main" java.lang.NegativeArraySizeException > at sun.security.jgss.krb5.CipherHelper.aes256Encrypt(CipherHelper.java:1367) > at sun.security.jgss.krb5.CipherHelper.encryptData(CipherHelper.java:722) > at sun.security.jgss.krb5.WrapToken_v2.(WrapToken_v2.java:200) > at sun.security.jgss.krb5.Krb5Context.wrap(Krb5Context.java:861) > at sun.security.jgss.GSSContextImpl.wrap(GSSContextImpl.java:385) > at com.sun.security.sasl.gsskerb.GssKrb5Base.wrap(GssKrb5Base.java:103) > at com.sun.jndi.ldap.sasl.SaslOutputStream.write(SaslOutputStream.java:89) > at com.sun.jndi.ldap.Connection.writeRequest(Connection.java:428) > at com.sun.jndi.ldap.LdapClient.search(LdapClient.java:547) > (cut..) > > I've been able to cut down the test case to a simple program which logs in using > JAAS to obtain a Kerberos ticket, then tries to connect to the LDAP server via > JNDI, using GSSAPI for security, and tries to perform an LDAP search. With this > test case I've been able to reproduce the bug on OpenJDK 7 on Ubuntu 12.04 > (package version 7u9-2.3.4-0ubuntu1.12.04.1) and Oracle's JDK for Mac 1.7.0_13. > I have also tried the EA build of JDK 8 for Mac from Oracle > (b76-macosx-x86_64-07_feb_2013) which shows the same problem. > > All the systems I've been testing on are part of a Kerberos realm with a MIT > Kerberos KDC (v 1.10) and the JREs I've been testing have the unlimited-strength > cryptography policies installed, which means they're able to use AES-256 > encryption types in Kerberos (apart from JDK 8 since I couldn't find a > download for the policy files for that one). > > I'm not sure if this is a bug in OpenJDK or something to do with my test > environment- I can attach the test case if necessary. If it is a bug in OpenJDK, > what's the best place to report it? I checked on http://openjdk.java.net/ but > couldn't find a link to a public bug tracker. > > Regards > Hugh > From kumar.x.srinivasan at oracle.com Sun Feb 10 16:12:34 2013 From: kumar.x.srinivasan at oracle.com (kumar.x.srinivasan at oracle.com) Date: Sun, 10 Feb 2013 16:12:34 +0000 Subject: hg: jdk8/tl/jdk: 8007519: [unpack200] produces bad class files when producing BootstrapMethods attribute Message-ID: <20130210161315.5094947989@hg.openjdk.java.net> Changeset: 58c95d0b6b1a Author: ksrini Date: 2013-02-10 08:07 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/58c95d0b6b1a 8007519: [unpack200] produces bad class files when producing BootstrapMethods attribute Reviewed-by: alanb ! test/ProblemList.txt From kumar.x.srinivasan at oracle.com Sun Feb 10 17:02:01 2013 From: kumar.x.srinivasan at oracle.com (kumar.x.srinivasan at oracle.com) Date: Sun, 10 Feb 2013 17:02:01 +0000 Subject: hg: jdk8/tl/jdk: 8007902: [unpack200] incorrect BootstrapMethods attribute Message-ID: <20130210170212.F0A6B4798A@hg.openjdk.java.net> Changeset: 520a3433883d Author: ksrini Date: 2013-02-10 08:49 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/520a3433883d 8007902: [unpack200] incorrect BootstrapMethods attribute Reviewed-by: jjh ! src/share/native/com/sun/java/util/jar/pack/unpack.cpp ! test/tools/pack200/Pack200Test.java ! test/tools/pack200/pack200-verifier/data/golden.jar From sigmaris at gmail.com Sun Feb 10 23:00:43 2013 From: sigmaris at gmail.com (Hugh Cole-Baker) Date: Sun, 10 Feb 2013 23:00:43 +0000 Subject: NegativeArraySizeException in JGSS / SASL In-Reply-To: <5117BF48.4000507@oracle.com> References: <5117BF48.4000507@oracle.com> Message-ID: <46652EB8-DEB0-4557-B02B-7B02B3F1E41F@gmail.com> Having done a bit more debugging, it looks like an oddity within Cyrus-SASL's GSSAPI plugin. If no minimum security strength factor is specified for the acceptor, it will allow integrity and privacy protection to be negotiated, but it will just send 0 for the maximum recv size. If I add "minssf=1" to the sasl-secprops setting on the OpenLDAP server, the server will send a max recv size of 65536, the Java code can successfully communicate with the server, and all is well. Regards Hugh On 10 Feb 2013, at 15:39, Weijun Wang wrote: > Hi Hugh > > You can report a bug at http://bugs.sun.com/. > > The problem seems to be at this line > > > FINE: KRB5CLNT07:Client max recv size: 65,536; server max recv size: 0; rawSendSize: -69 > > where the server max recv size is 0. This is quite strange. I am thinking that a wrong packet is received. > > Can you adjust the log level to FINER and send me the debug output? You can send it directly to me if you are afraid the mysterious hex data might contain anything sensitive. > > Thanks > Weijun > > On 02/10/2013 09:54 PM, Hugh Cole-Baker wrote: >> Hi there, >> >> I'm running into an exception when trying to communicate with an OpenLDAP server >> using SASL GSSAPI for authentication, with integrity and privacy protection >> (i.e. with the javax.security.sasl.qop property set to auth-conf). >> >> I think the problem may be related to the SASL client >> (com.sun.security.sasl.gsskerb.GssKrb5Client) negotiating a negative rawSendSize >> value which is then used as an array length. If I turn on FINE logging I see: >> >> com.sun.security.sasl.gsskerb.GssKrb5Client constructor >> FINE: SASLIMPL01:Preferred qop property: auth-conf >> com.sun.security.sasl.gsskerb.GssKrb5Client constructor >> FINE: SASLIMPL02:Preferred qop mask: 4 >> com.sun.security.sasl.gsskerb.GssKrb5Client constructor >> FINE: SASLIMPL03:Preferred qops : 4 0 0 >> com.sun.security.sasl.gsskerb.GssKrb5Client constructor >> FINE: SASLIMPL04:Preferred strength property: null >> com.sun.security.sasl.gsskerb.GssKrb5Client constructor >> FINE: SASLIMPL05:Cipher strengths: 4 2 1 >> com.sun.security.sasl.gsskerb.GssKrb5Client >> FINE: KRB5CLNT01:Requesting service name: ldap at dir-1.dev.local >> com.sun.security.sasl.gsskerb.GssKrb5Client doFinalHandshake >> FINE: KRB5CLNT06:Server protections: 7 >> com.sun.security.sasl.gsskerb.GssKrb5Client doFinalHandshake >> FINE: KRB5CLNT07:Client max recv size: 65,536; server max recv size: 0; rawSendSize: -69 >> com.sun.security.sasl.gsskerb.GssKrb5Client doFinalHandshake >> FINE: KRB5CLNT08:Selected protection: 4; privacy: true; integrity: true >> Exception in thread "main" java.lang.NegativeArraySizeException >> at sun.security.jgss.krb5.CipherHelper.aes256Encrypt(CipherHelper.java:1367) >> at sun.security.jgss.krb5.CipherHelper.encryptData(CipherHelper.java:722) >> at sun.security.jgss.krb5.WrapToken_v2.(WrapToken_v2.java:200) >> at sun.security.jgss.krb5.Krb5Context.wrap(Krb5Context.java:861) >> at sun.security.jgss.GSSContextImpl.wrap(GSSContextImpl.java:385) >> at com.sun.security.sasl.gsskerb.GssKrb5Base.wrap(GssKrb5Base.java:103) >> at com.sun.jndi.ldap.sasl.SaslOutputStream.write(SaslOutputStream.java:89) >> at com.sun.jndi.ldap.Connection.writeRequest(Connection.java:428) >> at com.sun.jndi.ldap.LdapClient.search(LdapClient.java:547) >> (cut..) >> >> I've been able to cut down the test case to a simple program which logs in using >> JAAS to obtain a Kerberos ticket, then tries to connect to the LDAP server via >> JNDI, using GSSAPI for security, and tries to perform an LDAP search. With this >> test case I've been able to reproduce the bug on OpenJDK 7 on Ubuntu 12.04 >> (package version 7u9-2.3.4-0ubuntu1.12.04.1) and Oracle's JDK for Mac 1.7.0_13. >> I have also tried the EA build of JDK 8 for Mac from Oracle >> (b76-macosx-x86_64-07_feb_2013) which shows the same problem. >> >> All the systems I've been testing on are part of a Kerberos realm with a MIT >> Kerberos KDC (v 1.10) and the JREs I've been testing have the unlimited-strength >> cryptography policies installed, which means they're able to use AES-256 >> encryption types in Kerberos (apart from JDK 8 since I couldn't find a >> download for the policy files for that one). >> >> I'm not sure if this is a bug in OpenJDK or something to do with my test >> environment- I can attach the test case if necessary. If it is a bug in OpenJDK, >> what's the best place to report it? I checked on http://openjdk.java.net/ but >> couldn't find a link to a public bug tracker. >> >> Regards >> Hugh >> From weijun.wang at oracle.com Mon Feb 11 02:11:50 2013 From: weijun.wang at oracle.com (Weijun Wang) Date: Mon, 11 Feb 2013 10:11:50 +0800 Subject: NegativeArraySizeException in JGSS / SASL In-Reply-To: <46652EB8-DEB0-4557-B02B-7B02B3F1E41F@gmail.com> References: <5117BF48.4000507@oracle.com> <46652EB8-DEB0-4557-B02B-7B02B3F1E41F@gmail.com> Message-ID: <51185366.9020609@oracle.com> Thanks for the deep analysis. I think we should also make OpenJDK a little more friendly here. Either report an error early or ignore the 0 maximum recv size. We'll see which is better. *Vinnie*: which do you prefer? Thanks Weijun On 02/11/2013 07:00 AM, Hugh Cole-Baker wrote: > Having done a bit more debugging, it looks like an oddity within Cyrus-SASL's > GSSAPI plugin. If no minimum security strength factor is specified for the > acceptor, it will allow integrity and privacy protection to be negotiated, > but it will just send 0 for the maximum recv size. If I add "minssf=1" to the > sasl-secprops setting on the OpenLDAP server, the server will send a max recv > size of 65536, the Java code can successfully communicate with the server, > and all is well. > > Regards > Hugh > > On 10 Feb 2013, at 15:39, Weijun Wang wrote: > >> Hi Hugh >> >> You can report a bug at http://bugs.sun.com/. >> >> The problem seems to be at this line >> >>> FINE: KRB5CLNT07:Client max recv size: 65,536; server max recv size: 0; rawSendSize: -69 >> >> where the server max recv size is 0. This is quite strange. I am thinking that a wrong packet is received. >> >> Can you adjust the log level to FINER and send me the debug output? You can send it directly to me if you are afraid the mysterious hex data might contain anything sensitive. >> >> Thanks >> Weijun >> >> On 02/10/2013 09:54 PM, Hugh Cole-Baker wrote: >>> Hi there, >>> >>> I'm running into an exception when trying to communicate with an OpenLDAP server >>> using SASL GSSAPI for authentication, with integrity and privacy protection >>> (i.e. with the javax.security.sasl.qop property set to auth-conf). >>> >>> I think the problem may be related to the SASL client >>> (com.sun.security.sasl.gsskerb.GssKrb5Client) negotiating a negative rawSendSize >>> value which is then used as an array length. If I turn on FINE logging I see: >>> >>> com.sun.security.sasl.gsskerb.GssKrb5Client constructor >>> FINE: SASLIMPL01:Preferred qop property: auth-conf >>> com.sun.security.sasl.gsskerb.GssKrb5Client constructor >>> FINE: SASLIMPL02:Preferred qop mask: 4 >>> com.sun.security.sasl.gsskerb.GssKrb5Client constructor >>> FINE: SASLIMPL03:Preferred qops : 4 0 0 >>> com.sun.security.sasl.gsskerb.GssKrb5Client constructor >>> FINE: SASLIMPL04:Preferred strength property: null >>> com.sun.security.sasl.gsskerb.GssKrb5Client constructor >>> FINE: SASLIMPL05:Cipher strengths: 4 2 1 >>> com.sun.security.sasl.gsskerb.GssKrb5Client >>> FINE: KRB5CLNT01:Requesting service name: ldap at dir-1.dev.local >>> com.sun.security.sasl.gsskerb.GssKrb5Client doFinalHandshake >>> FINE: KRB5CLNT06:Server protections: 7 >>> com.sun.security.sasl.gsskerb.GssKrb5Client doFinalHandshake >>> FINE: KRB5CLNT07:Client max recv size: 65,536; server max recv size: 0; rawSendSize: -69 >>> com.sun.security.sasl.gsskerb.GssKrb5Client doFinalHandshake >>> FINE: KRB5CLNT08:Selected protection: 4; privacy: true; integrity: true >>> Exception in thread "main" java.lang.NegativeArraySizeException >>> at sun.security.jgss.krb5.CipherHelper.aes256Encrypt(CipherHelper.java:1367) >>> at sun.security.jgss.krb5.CipherHelper.encryptData(CipherHelper.java:722) >>> at sun.security.jgss.krb5.WrapToken_v2.(WrapToken_v2.java:200) >>> at sun.security.jgss.krb5.Krb5Context.wrap(Krb5Context.java:861) >>> at sun.security.jgss.GSSContextImpl.wrap(GSSContextImpl.java:385) >>> at com.sun.security.sasl.gsskerb.GssKrb5Base.wrap(GssKrb5Base.java:103) >>> at com.sun.jndi.ldap.sasl.SaslOutputStream.write(SaslOutputStream.java:89) >>> at com.sun.jndi.ldap.Connection.writeRequest(Connection.java:428) >>> at com.sun.jndi.ldap.LdapClient.search(LdapClient.java:547) >>> (cut..) >>> >>> I've been able to cut down the test case to a simple program which logs in using >>> JAAS to obtain a Kerberos ticket, then tries to connect to the LDAP server via >>> JNDI, using GSSAPI for security, and tries to perform an LDAP search. With this >>> test case I've been able to reproduce the bug on OpenJDK 7 on Ubuntu 12.04 >>> (package version 7u9-2.3.4-0ubuntu1.12.04.1) and Oracle's JDK for Mac 1.7.0_13. >>> I have also tried the EA build of JDK 8 for Mac from Oracle >>> (b76-macosx-x86_64-07_feb_2013) which shows the same problem. >>> >>> All the systems I've been testing on are part of a Kerberos realm with a MIT >>> Kerberos KDC (v 1.10) and the JREs I've been testing have the unlimited-strength >>> cryptography policies installed, which means they're able to use AES-256 >>> encryption types in Kerberos (apart from JDK 8 since I couldn't find a >>> download for the policy files for that one). >>> >>> I'm not sure if this is a bug in OpenJDK or something to do with my test >>> environment- I can attach the test case if necessary. If it is a bug in OpenJDK, >>> what's the best place to report it? I checked on http://openjdk.java.net/ but >>> couldn't find a link to a public bug tracker. >>> >>> Regards >>> Hugh >>> > From dmitry.samersoff at oracle.com Mon Feb 11 14:49:43 2013 From: dmitry.samersoff at oracle.com (dmitry.samersoff at oracle.com) Date: Mon, 11 Feb 2013 14:49:43 +0000 Subject: hg: jdk8/tl/jdk: 8007536: Incorrect copyright header in JDP files Message-ID: <20130211145005.0B2B4479A4@hg.openjdk.java.net> Changeset: 1df991184045 Author: dsamersoff Date: 2013-02-11 18:44 +0400 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/1df991184045 8007536: Incorrect copyright header in JDP files Summary: Copyright header in JDP files missed the "classpath exception" rule. Reviewed-by: mikael ! src/share/classes/sun/management/jdp/JdpBroadcaster.java ! src/share/classes/sun/management/jdp/JdpController.java ! src/share/classes/sun/management/jdp/JdpException.java ! src/share/classes/sun/management/jdp/JdpGenericPacket.java ! src/share/classes/sun/management/jdp/JdpJmxPacket.java ! src/share/classes/sun/management/jdp/JdpPacket.java ! src/share/classes/sun/management/jdp/JdpPacketReader.java ! src/share/classes/sun/management/jdp/JdpPacketWriter.java ! src/share/classes/sun/management/jdp/package-info.java From daniel.daugherty at oracle.com Mon Feb 11 18:09:01 2013 From: daniel.daugherty at oracle.com (daniel.daugherty at oracle.com) Date: Mon, 11 Feb 2013 18:09:01 +0000 Subject: hg: jdk8/tl/jdk: 8007420: add test for 6805864 to com/sun/jdi, add test for 7182152 to java/lang/instrument Message-ID: <20130211180922.66431479AA@hg.openjdk.java.net> Changeset: abd530253f01 Author: dcubed Date: 2013-02-11 10:07 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/abd530253f01 8007420: add test for 6805864 to com/sun/jdi, add test for 7182152 to java/lang/instrument Reviewed-by: coleenp, sspitsyn + test/com/sun/jdi/RedefineAbstractClass.sh + test/java/lang/instrument/RedefineSubclassWithTwoInterfaces.sh + test/java/lang/instrument/RedefineSubclassWithTwoInterfacesAgent.java + test/java/lang/instrument/RedefineSubclassWithTwoInterfacesApp.java + test/java/lang/instrument/RedefineSubclassWithTwoInterfacesImpl.java + test/java/lang/instrument/RedefineSubclassWithTwoInterfacesImpl_1.java + test/java/lang/instrument/RedefineSubclassWithTwoInterfacesIntf1.java + test/java/lang/instrument/RedefineSubclassWithTwoInterfacesIntf2.java + test/java/lang/instrument/RedefineSubclassWithTwoInterfacesRemote.java + test/java/lang/instrument/RedefineSubclassWithTwoInterfacesTarget.java + test/java/lang/instrument/RedefineSubclassWithTwoInterfacesTarget_1.java From vincent.x.ryan at oracle.com Mon Feb 11 19:09:31 2013 From: vincent.x.ryan at oracle.com (Vincent Ryan) Date: Mon, 11 Feb 2013 19:09:31 +0000 Subject: [8] code review for 8007934: algorithm parameters for PBE Scheme 2 not decoded correctly in PKCS12 keystore Message-ID: Please review this fix to correct the ASN.1 DER decoding of PBES2 algorithm parameters in PKCS12 keystore. Webrev: http://cr.openjdk.java.net/~vinnie/8007934/webrev.00/ Thanks. -------------- next part -------------- An HTML attachment was scrubbed... URL: From alan.bateman at oracle.com Mon Feb 11 20:20:15 2013 From: alan.bateman at oracle.com (alan.bateman at oracle.com) Date: Mon, 11 Feb 2013 20:20:15 +0000 Subject: hg: jdk8/tl/jdk: 8007405: Update java.lang.reflect API to replace SYNTHESIZED with MANDATED Message-ID: <20130211202037.63AC7479B1@hg.openjdk.java.net> Changeset: f21a4b761424 Author: alanb Date: 2013-02-11 20:16 +0000 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/f21a4b761424 8007405: Update java.lang.reflect API to replace SYNTHESIZED with MANDATED Reviewed-by: darcy ! src/share/classes/java/lang/reflect/Executable.java ! src/share/classes/java/lang/reflect/Modifier.java ! src/share/classes/java/lang/reflect/Parameter.java From joe.darcy at oracle.com Mon Feb 11 21:37:55 2013 From: joe.darcy at oracle.com (joe.darcy at oracle.com) Date: Mon, 11 Feb 2013 21:37:55 +0000 Subject: hg: jdk8/tl/langtools: 8007574: Provide isFunctionalInterface in javax.lang.model Message-ID: <20130211213800.20C09479B7@hg.openjdk.java.net> Changeset: 01af1b5c631d Author: darcy Date: 2013-02-11 13:37 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/langtools/rev/01af1b5c631d 8007574: Provide isFunctionalInterface in javax.lang.model Reviewed-by: jjg ! src/share/classes/com/sun/tools/javac/model/JavacElements.java ! src/share/classes/javax/lang/model/element/TypeElement.java ! src/share/classes/javax/lang/model/util/Elements.java + test/tools/javac/processing/model/util/elements/TestIsFunctionalInterface.java From pg20682 at alunos.uminho.pt Sat Feb 9 13:09:46 2013 From: pg20682 at alunos.uminho.pt (Diogo Vieira) Date: Sat, 9 Feb 2013 13:09:46 +0000 Subject: New JCA Engine Classes Message-ID: <40FF2E4C-75EC-402B-884C-49E6EE716EDD@alunos.uminho.pt> I'm sorry if it's not the appropriate channel but I have not found information anywhere about this. Is it possible to supply new Engine Classes to JCA (either in Java JDK or OpenJDK)? More specifically, is it possible to add new cryptographic schemes like, for example, Secret Sharing schemes to JCA? I believe it should be necessary to create a new SPI but I have no idea if it's possible for JCA to know this new interface. Thank you in advance, Diogo Vieira From mike.duigou at oracle.com Tue Feb 12 04:27:14 2013 From: mike.duigou at oracle.com (mike.duigou at oracle.com) Date: Tue, 12 Feb 2013 04:27:14 +0000 Subject: hg: jdk8/tl/jdk: 8006594: Add jdk_core target to jdk/test/Makefile Message-ID: <20130212042734.9CCB7479C5@hg.openjdk.java.net> Changeset: 465cce29a9ed Author: mduigou Date: 2013-02-06 11:28 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/465cce29a9ed 8006594: Add jdk_core target to jdk/test/Makefile Reviewed-by: alanb ! make/jprt.properties ! test/Makefile ! test/ProblemList.txt From mike.duigou at oracle.com Tue Feb 12 04:29:29 2013 From: mike.duigou at oracle.com (mike.duigou at oracle.com) Date: Tue, 12 Feb 2013 04:29:29 +0000 Subject: hg: jdk8/tl: 8006595: Use jdk/test/Makefile targets in preference to local definitions Message-ID: <20130212042929.27A3C479C6@hg.openjdk.java.net> Changeset: 7817368287cd Author: mduigou Date: 2013-02-06 11:12 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/rev/7817368287cd 8006595: Use jdk/test/Makefile targets in preference to local definitions Reviewed-by: alanb ! common/makefiles/Main.gmk ! test/Makefile From dmitry.samersoff at oracle.com Tue Feb 12 12:04:08 2013 From: dmitry.samersoff at oracle.com (dmitry.samersoff at oracle.com) Date: Tue, 12 Feb 2013 12:04:08 +0000 Subject: hg: jdk8/tl/jdk: 8007786: JDK-8002048 testcase doesn't work on Solaris Message-ID: <20130212120441.B8CCD479D2@hg.openjdk.java.net> 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 From vicente.romero at oracle.com Tue Feb 12 13:38:28 2013 From: vicente.romero at oracle.com (vicente.romero at oracle.com) Date: Tue, 12 Feb 2013 13:38:28 +0000 Subject: hg: jdk8/tl/langtools: 8006334: javap, JavapTask constructor breaks with null pointer exception if parameter options is null Message-ID: <20130212133831.64F4F479D8@hg.openjdk.java.net> Changeset: 073696f59241 Author: vromero Date: 2013-02-12 13:36 +0000 URL: http://hg.openjdk.java.net/jdk8/tl/langtools/rev/073696f59241 8006334: javap, JavapTask constructor breaks with null pointer exception if parameter options is null Reviewed-by: jjg ! src/share/classes/com/sun/tools/javap/JavapTask.java + test/tools/javap/8006334/JavapTaskCtorFailWithNPE.java From john.zavgren at oracle.com Tue Feb 12 15:51:43 2013 From: john.zavgren at oracle.com (John Zavgren) Date: Tue, 12 Feb 2013 10:51:43 -0500 Subject: RFR: JDK-8007607 In-Reply-To: <5115453D.2010400@oracle.com> References: <2ac0a83e-9206-4012-a97b-8e6d1b82ca35@default> <51122920.6040208@oracle.com> <5115382C.40708@oracle.com> <5115453D.2010400@oracle.com> Message-ID: <511A650F.2040601@oracle.com> On 02/08/2013 01:34 PM, Dmitry Samersoff wrote: > John, > >> Ideas? > It's a JNI so just throw OOM. > > -Dmitry > > > On 2013-02-08 21:38, John Zavgren wrote: >> Although I agree that the name: "GSS_C_NO_CHANNEL_BINDINGS" is misleading, >> I can't identify anything else that seems more appropriate. >> >> The header file: >> /jdk8-tl/jdk/src/share/native/sun/security/jgss/wrapper/gssapi.h defines >> GSS_C_NO_CHANNEL_BINDINGS as follows: >> #define GSS_C_NO_CHANNEL_BINDINGS ((gss_channel_bindings_t) 0) >> >> The symbol matches the prototype of the function: >> >> */* >> * Utility routine which creates a gss_channel_bindings_t structure >> * using the specified org.ietf.jgss.ChannelBinding object. >> */ >> gss_channel_bindings_t getGSSCB(JNIEnv *env, jobject jcb) { >> gss_channel_bindings_t cb; >> jobject jinetAddr; >> jbyteArray value; >> >> if (jcb == NULL) { >> return GSS_C_NO_CHANNEL_BINDINGS; >> } >> cb = malloc(sizeof(struct gss_channel_bindings_struct)); >> >> if(cb == NULL) >> return GSS_C_NO_CHANNEL_BINDINGS;* >> >> There doesn't appear to be anything in our set of options that is more >> suggestive of a memory allocation failure and the symbol: >> GSS_C_NO_CHANNEL_BINDINGS seems to be logically correct. >> >> Ideas? >> >> On 02/06/2013 04:57 AM, Dmitry Samersoff wrote: >>> John, >>> >>> Not sure GSS_C_NO_CHANNEL_BINDINGS; is correct return value for this case. >>> >>> I'm second to Valerie - it's better to throw OOM >>> >>> -Dmitry >>> >>> >>> On 2013-02-06 03:44, John Zavgren wrote: >>>> Greetings: >>>> >>>> I modified the native code to eliminate potential memory loss and crashes by checking the return values of malloc() and realloc() calls. >>>> >>>> The webrev image of these changes is visible at: >>>> http://cr.openjdk.java.net/~jzavgren/8007607/webrev.01/ >>>> >>>> Thanks! >>>> John Zavgren >>>> >> >> -- >> John Zavgren >> john.zavgren at oracle.com >> 603-821-0904 >> US-Burlington-MA >> > When I change the procedures in the following files: src/share/native/sun/security/jgss/wrapper/GSSLibStub.c src/share/native/sun/security/jgss/wrapper/NativeUtil.c src/share/native/sun/security/smartcardio/pcsc.c src/solaris/native/com/sun/security/auth/module/Solaris.c src/solaris/native/com/sun/security/auth/module/Unix.c to fix inappropriate usages of malloc, realloc, etc. (e.g., not checking the return value and referring to a NULL pointer and crashing) should I modify every instance so that an OOM (Out Of Memory) exception is thrown (before returning) whenever memory allocation fails? The exceptions would be thrown by a line of code that looks like: throwOutOfMemoryError(JNIEnv *env, const char *msg); where throwOutOfMemoryError(...) wraps something like this: jclass cls = (*env)->FindClass(env, name); if (cls != 0) /* Otherwise an exception has already been thrown */ (*env)->ThrowNew(env, cls, msg); If this is the right idea, what messages should I pass when an OOM exception is thrown? Thanks! John -- John Zavgren john.zavgren at oracle.com 603-821-0904 US-Burlington-MA From dmitry.samersoff at oracle.com Tue Feb 12 16:03:21 2013 From: dmitry.samersoff at oracle.com (Dmitry Samersoff) Date: Tue, 12 Feb 2013 20:03:21 +0400 Subject: RFR: JDK-8007607 In-Reply-To: <511A650F.2040601@oracle.com> References: <2ac0a83e-9206-4012-a97b-8e6d1b82ca35@default> <51122920.6040208@oracle.com> <5115382C.40708@oracle.com> <5115453D.2010400@oracle.com> <511A650F.2040601@oracle.com> Message-ID: <511A67C9.70503@oracle.com> John, Changing everything for throw OOM is the right goal but it's a huge work to do - it's meaningless to throw OOM if all callers doesn't check for exception. I'm in doubt it could be done all at once and probably this problem should go to the huge TODO pile. So I'm speaking about *one particular case*, where returned value could lead to misinterpretation of security context and lead to security vulnerability or subtle bug. We have to throw OOM there and change all callers as well for this case. -Dmitry On 2013-02-12 19:51, John Zavgren wrote: > On 02/08/2013 01:34 PM, Dmitry Samersoff wrote: >> John, >> >>> Ideas? >> It's a JNI so just throw OOM. >> >> -Dmitry >> >> >> On 2013-02-08 21:38, John Zavgren wrote: >>> Although I agree that the name: "GSS_C_NO_CHANNEL_BINDINGS" is >>> misleading, >>> I can't identify anything else that seems more appropriate. >>> >>> The header file: >>> /jdk8-tl/jdk/src/share/native/sun/security/jgss/wrapper/gssapi.h defines >>> GSS_C_NO_CHANNEL_BINDINGS as follows: >>> #define GSS_C_NO_CHANNEL_BINDINGS ((gss_channel_bindings_t) 0) >>> >>> The symbol matches the prototype of the function: >>> >>> */* >>> * Utility routine which creates a gss_channel_bindings_t structure >>> * using the specified org.ietf.jgss.ChannelBinding object. >>> */ >>> gss_channel_bindings_t getGSSCB(JNIEnv *env, jobject jcb) { >>> gss_channel_bindings_t cb; >>> jobject jinetAddr; >>> jbyteArray value; >>> >>> if (jcb == NULL) { >>> return GSS_C_NO_CHANNEL_BINDINGS; >>> } >>> cb = malloc(sizeof(struct gss_channel_bindings_struct)); >>> >>> if(cb == NULL) >>> return GSS_C_NO_CHANNEL_BINDINGS;* >>> >>> There doesn't appear to be anything in our set of options that is more >>> suggestive of a memory allocation failure and the symbol: >>> GSS_C_NO_CHANNEL_BINDINGS seems to be logically correct. >>> >>> Ideas? >>> >>> On 02/06/2013 04:57 AM, Dmitry Samersoff wrote: >>>> John, >>>> >>>> Not sure GSS_C_NO_CHANNEL_BINDINGS; is correct return value for this >>>> case. >>>> >>>> I'm second to Valerie - it's better to throw OOM >>>> >>>> -Dmitry >>>> >>>> >>>> On 2013-02-06 03:44, John Zavgren wrote: >>>>> Greetings: >>>>> >>>>> I modified the native code to eliminate potential memory loss and >>>>> crashes by checking the return values of malloc() and realloc() calls. >>>>> >>>>> The webrev image of these changes is visible at: >>>>> http://cr.openjdk.java.net/~jzavgren/8007607/webrev.01/ >>>>> >>>>> Thanks! >>>>> John Zavgren >>>>> >>> >>> -- >>> John Zavgren >>> john.zavgren at oracle.com >>> 603-821-0904 >>> US-Burlington-MA >>> >> > When I change the procedures in the following files: > > src/share/native/sun/security/jgss/wrapper/GSSLibStub.c > src/share/native/sun/security/jgss/wrapper/NativeUtil.c > src/share/native/sun/security/smartcardio/pcsc.c > src/solaris/native/com/sun/security/auth/module/Solaris.c > src/solaris/native/com/sun/security/auth/module/Unix.c > > to fix inappropriate usages of malloc, realloc, etc. (e.g., not checking > the return value and referring to a NULL pointer and crashing) should I > modify every instance so that an OOM (Out Of Memory) exception is thrown > (before returning) whenever memory allocation fails? > > The exceptions would be thrown by a line of code that looks like: > > throwOutOfMemoryError(JNIEnv *env, const char *msg); > > where throwOutOfMemoryError(...) wraps something like this: > > jclass cls = (*env)->FindClass(env, name); > > if (cls != 0) /* Otherwise an exception has already been > thrown */ > (*env)->ThrowNew(env, cls, msg); > > If this is the right idea, what messages should I pass when an OOM > exception is thrown? > > Thanks! > John > -- Dmitry Samersoff Oracle Java development team, Saint Petersburg, Russia * Give Rabbit time, and he'll always get the answer From john.zavgren at oracle.com Tue Feb 12 17:11:59 2013 From: john.zavgren at oracle.com (John Zavgren) Date: Tue, 12 Feb 2013 09:11:59 -0800 (PST) Subject: RFR: JDK-8007607 Message-ID: Thanks, Dmitry. If I were to rewrite the native code to throw exceptions, in the areas I indicated, and no one caught them, would that create any problems. I have the code in my sandbox right now for throwing them. If I can retain that in a graceful way, that seems like a prudent thing to do, if there are no negative consequences. John ----- Original Message ----- From: dmitry.samersoff at oracle.com To: john.zavgren at oracle.com Cc: security-dev at openjdk.java.net Sent: Tuesday, February 12, 2013 11:04:28 AM GMT -05:00 US/Canada Eastern Subject: Re: RFR: JDK-8007607 John, Changing everything for throw OOM is the right goal but it's a huge work to do - it's meaningless to throw OOM if all callers doesn't check for exception. I'm in doubt it could be done all at once and probably this problem should go to the huge TODO pile. So I'm speaking about *one particular case*, where returned value could lead to misinterpretation of security context and lead to security vulnerability or subtle bug. We have to throw OOM there and change all callers as well for this case. -Dmitry On 2013-02-12 19:51, John Zavgren wrote: > On 02/08/2013 01:34 PM, Dmitry Samersoff wrote: >> John, >> >>> Ideas? >> It's a JNI so just throw OOM. >> >> -Dmitry >> >> >> On 2013-02-08 21:38, John Zavgren wrote: >>> Although I agree that the name: "GSS_C_NO_CHANNEL_BINDINGS" is >>> misleading, >>> I can't identify anything else that seems more appropriate. >>> >>> The header file: >>> /jdk8-tl/jdk/src/share/native/sun/security/jgss/wrapper/gssapi.h defines >>> GSS_C_NO_CHANNEL_BINDINGS as follows: >>> #define GSS_C_NO_CHANNEL_BINDINGS ((gss_channel_bindings_t) 0) >>> >>> The symbol matches the prototype of the function: >>> >>> */* >>> * Utility routine which creates a gss_channel_bindings_t structure >>> * using the specified org.ietf.jgss.ChannelBinding object. >>> */ >>> gss_channel_bindings_t getGSSCB(JNIEnv *env, jobject jcb) { >>> gss_channel_bindings_t cb; >>> jobject jinetAddr; >>> jbyteArray value; >>> >>> if (jcb == NULL) { >>> return GSS_C_NO_CHANNEL_BINDINGS; >>> } >>> cb = malloc(sizeof(struct gss_channel_bindings_struct)); >>> >>> if(cb == NULL) >>> return GSS_C_NO_CHANNEL_BINDINGS;* >>> >>> There doesn't appear to be anything in our set of options that is more >>> suggestive of a memory allocation failure and the symbol: >>> GSS_C_NO_CHANNEL_BINDINGS seems to be logically correct. >>> >>> Ideas? >>> >>> On 02/06/2013 04:57 AM, Dmitry Samersoff wrote: >>>> John, >>>> >>>> Not sure GSS_C_NO_CHANNEL_BINDINGS; is correct return value for this >>>> case. >>>> >>>> I'm second to Valerie - it's better to throw OOM >>>> >>>> -Dmitry >>>> >>>> >>>> On 2013-02-06 03:44, John Zavgren wrote: >>>>> Greetings: >>>>> >>>>> I modified the native code to eliminate potential memory loss and >>>>> crashes by checking the return values of malloc() and realloc() calls. >>>>> >>>>> The webrev image of these changes is visible at: >>>>> http://cr.openjdk.java.net/~jzavgren/8007607/webrev.01/ >>>>> >>>>> Thanks! >>>>> John Zavgren >>>>> >>> >>> -- >>> John Zavgren >>> john.zavgren at oracle.com >>> 603-821-0904 >>> US-Burlington-MA >>> >> > When I change the procedures in the following files: > > src/share/native/sun/security/jgss/wrapper/GSSLibStub.c > src/share/native/sun/security/jgss/wrapper/NativeUtil.c > src/share/native/sun/security/smartcardio/pcsc.c > src/solaris/native/com/sun/security/auth/module/Solaris.c > src/solaris/native/com/sun/security/auth/module/Unix.c > > to fix inappropriate usages of malloc, realloc, etc. (e.g., not checking > the return value and referring to a NULL pointer and crashing) should I > modify every instance so that an OOM (Out Of Memory) exception is thrown > (before returning) whenever memory allocation fails? > > The exceptions would be thrown by a line of code that looks like: > > throwOutOfMemoryError(JNIEnv *env, const char *msg); > > where throwOutOfMemoryError(...) wraps something like this: > > jclass cls = (*env)->FindClass(env, name); > > if (cls != 0) /* Otherwise an exception has already been > thrown */ > (*env)->ThrowNew(env, cls, msg); > > If this is the right idea, what messages should I pass when an OOM > exception is thrown? > > Thanks! > John > -- Dmitry Samersoff Oracle Java development team, Saint Petersburg, Russia * Give Rabbit time, and he'll always get the answer From xueming.shen at oracle.com Tue Feb 12 17:27:13 2013 From: xueming.shen at oracle.com (xueming.shen at oracle.com) Date: Tue, 12 Feb 2013 17:27:13 +0000 Subject: hg: jdk8/tl/jdk: 8007392: JSR 310: DateTime API Updates; ... Message-ID: <20130212172753.897C6479E1@hg.openjdk.java.net> Changeset: 7dcb74c3ffba Author: sherman Date: 2013-02-12 09:25 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/7dcb74c3ffba 8007392: JSR 310: DateTime API Updates 8007520: Update date/time classes in j.util and j.sql packages 8007572: Replace existing jdk timezone data at /lib/zi with JSR310's tzdb Summary: Integration of JSR310 Date/Time API for M7 Reviewed-by: darcy, alanb, naoto Contributed-by: scolebourne at joda.org, roger.riggs at oracle.com, masayoshi.okutsu at oracle.com, patrick.zhang at oracle.com ! make/docs/CORE_PKGS.gmk ! make/java/java/FILES_java.gmk ! make/sun/Makefile ! make/sun/javazic/Makefile + make/sun/javazic/tzdata/gmt + make/sun/javazic/tzdata/jdk11_backward ! make/sun/tzdb/Makefile ! make/tools/Makefile ! make/tools/src/build/tools/javazic/Zoneinfo.java ! make/tools/src/build/tools/tzdb/TzdbZoneRulesCompiler.java ! makefiles/GendataTZDB.gmk ! makefiles/GendataTimeZone.gmk ! makefiles/GenerateData.gmk ! makefiles/Tools.gmk ! src/share/classes/java/sql/Date.java ! src/share/classes/java/sql/Time.java ! src/share/classes/java/sql/Timestamp.java ! src/share/classes/java/time/Clock.java ! src/share/classes/java/time/DayOfWeek.java ! src/share/classes/java/time/Duration.java ! src/share/classes/java/time/Instant.java ! src/share/classes/java/time/LocalDate.java ! src/share/classes/java/time/LocalDateTime.java ! src/share/classes/java/time/LocalTime.java ! src/share/classes/java/time/Month.java + src/share/classes/java/time/MonthDay.java + src/share/classes/java/time/OffsetDateTime.java + src/share/classes/java/time/OffsetTime.java ! src/share/classes/java/time/Period.java - src/share/classes/java/time/PeriodParser.java ! src/share/classes/java/time/Ser.java + src/share/classes/java/time/Year.java + src/share/classes/java/time/YearMonth.java ! src/share/classes/java/time/ZoneId.java ! src/share/classes/java/time/ZoneOffset.java ! src/share/classes/java/time/ZoneRegion.java ! src/share/classes/java/time/ZonedDateTime.java - src/share/classes/java/time/calendar/ChronoDateImpl.java - src/share/classes/java/time/calendar/HijrahChrono.java - src/share/classes/java/time/calendar/HijrahDate.java - src/share/classes/java/time/calendar/HijrahDeviationReader.java - src/share/classes/java/time/calendar/HijrahEra.java - src/share/classes/java/time/calendar/JapaneseChrono.java - src/share/classes/java/time/calendar/JapaneseDate.java - src/share/classes/java/time/calendar/JapaneseEra.java - src/share/classes/java/time/calendar/MinguoChrono.java - src/share/classes/java/time/calendar/MinguoDate.java - src/share/classes/java/time/calendar/MinguoEra.java - src/share/classes/java/time/calendar/Ser.java - src/share/classes/java/time/calendar/ThaiBuddhistChrono.java - src/share/classes/java/time/calendar/ThaiBuddhistDate.java - src/share/classes/java/time/calendar/ThaiBuddhistEra.java - src/share/classes/java/time/calendar/package-info.java + src/share/classes/java/time/chrono/ChronoDateImpl.java + src/share/classes/java/time/chrono/ChronoLocalDate.java + src/share/classes/java/time/chrono/ChronoLocalDateTime.java + src/share/classes/java/time/chrono/ChronoLocalDateTimeImpl.java + src/share/classes/java/time/chrono/ChronoZonedDateTime.java + src/share/classes/java/time/chrono/ChronoZonedDateTimeImpl.java + src/share/classes/java/time/chrono/Chronology.java + src/share/classes/java/time/chrono/Era.java + src/share/classes/java/time/chrono/HijrahChronology.java + src/share/classes/java/time/chrono/HijrahDate.java + src/share/classes/java/time/chrono/HijrahDeviationReader.java + src/share/classes/java/time/chrono/HijrahEra.java + src/share/classes/java/time/chrono/IsoChronology.java + src/share/classes/java/time/chrono/IsoEra.java + src/share/classes/java/time/chrono/JapaneseChronology.java + src/share/classes/java/time/chrono/JapaneseDate.java + src/share/classes/java/time/chrono/JapaneseEra.java + src/share/classes/java/time/chrono/MinguoChronology.java + src/share/classes/java/time/chrono/MinguoDate.java + src/share/classes/java/time/chrono/MinguoEra.java + src/share/classes/java/time/chrono/Ser.java + src/share/classes/java/time/chrono/ThaiBuddhistChronology.java + src/share/classes/java/time/chrono/ThaiBuddhistDate.java + src/share/classes/java/time/chrono/ThaiBuddhistEra.java + src/share/classes/java/time/chrono/package-info.java ! src/share/classes/java/time/format/DateTimeBuilder.java ! src/share/classes/java/time/format/DateTimeFormatStyleProvider.java ! src/share/classes/java/time/format/DateTimeFormatter.java ! src/share/classes/java/time/format/DateTimeFormatterBuilder.java - src/share/classes/java/time/format/DateTimeFormatters.java ! src/share/classes/java/time/format/DateTimeParseContext.java ! src/share/classes/java/time/format/DateTimePrintContext.java - src/share/classes/java/time/format/DateTimePrintException.java ! src/share/classes/java/time/format/DateTimeTextProvider.java ! src/share/classes/java/time/format/FormatStyle.java + src/share/classes/java/time/format/ZoneName.java ! src/share/classes/java/time/format/package-info.java ! src/share/classes/java/time/overview.html ! src/share/classes/java/time/package-info.java - src/share/classes/java/time/temporal/Chrono.java ! src/share/classes/java/time/temporal/ChronoField.java - src/share/classes/java/time/temporal/ChronoLocalDate.java - src/share/classes/java/time/temporal/ChronoLocalDateTime.java - src/share/classes/java/time/temporal/ChronoLocalDateTimeImpl.java ! src/share/classes/java/time/temporal/ChronoUnit.java - src/share/classes/java/time/temporal/ChronoZonedDateTime.java - src/share/classes/java/time/temporal/ChronoZonedDateTimeImpl.java - src/share/classes/java/time/temporal/Era.java - src/share/classes/java/time/temporal/ISOChrono.java - src/share/classes/java/time/temporal/ISOEra.java - src/share/classes/java/time/temporal/ISOFields.java + src/share/classes/java/time/temporal/IsoFields.java ! src/share/classes/java/time/temporal/JulianFields.java - src/share/classes/java/time/temporal/MonthDay.java - src/share/classes/java/time/temporal/OffsetDate.java - src/share/classes/java/time/temporal/OffsetDateTime.java - src/share/classes/java/time/temporal/OffsetTime.java ! src/share/classes/java/time/temporal/Queries.java - src/share/classes/java/time/temporal/Ser.java - src/share/classes/java/time/temporal/SimplePeriod.java ! src/share/classes/java/time/temporal/Temporal.java ! src/share/classes/java/time/temporal/TemporalAccessor.java - src/share/classes/java/time/temporal/TemporalAdder.java ! src/share/classes/java/time/temporal/TemporalAdjuster.java + src/share/classes/java/time/temporal/TemporalAmount.java ! src/share/classes/java/time/temporal/TemporalField.java ! src/share/classes/java/time/temporal/TemporalQuery.java - src/share/classes/java/time/temporal/TemporalSubtractor.java ! src/share/classes/java/time/temporal/TemporalUnit.java ! src/share/classes/java/time/temporal/WeekFields.java - src/share/classes/java/time/temporal/Year.java - src/share/classes/java/time/temporal/YearMonth.java ! src/share/classes/java/time/temporal/package-info.java ! src/share/classes/java/time/zone/TzdbZoneRulesProvider.java ! src/share/classes/java/time/zone/ZoneOffsetTransitionRule.java ! src/share/classes/java/time/zone/ZoneRules.java ! src/share/classes/java/time/zone/ZoneRulesProvider.java ! src/share/classes/java/util/Calendar.java ! src/share/classes/java/util/Date.java ! src/share/classes/java/util/Formatter.java ! src/share/classes/java/util/GregorianCalendar.java ! src/share/classes/java/util/TimeZone.java ! src/share/classes/sun/text/resources/FormatData.java ! src/share/classes/sun/text/resources/ar/FormatData_ar.java ! src/share/classes/sun/text/resources/el/FormatData_el.java ! src/share/classes/sun/text/resources/hr/FormatData_hr.java ! src/share/classes/sun/text/resources/ja/FormatData_ja.java ! src/share/classes/sun/text/resources/ko/FormatData_ko.java ! src/share/classes/sun/text/resources/sr/FormatData_sr.java ! src/share/classes/sun/text/resources/sv/FormatData_sv.java ! src/share/classes/sun/text/resources/zh/FormatData_zh.java ! src/share/classes/sun/text/resources/zh/FormatData_zh_TW.java ! src/share/classes/sun/util/calendar/CalendarSystem.java ! src/share/classes/sun/util/calendar/LocalGregorianCalendar.java - src/share/classes/sun/util/calendar/TzIDOldMapping.java ! src/share/classes/sun/util/calendar/ZoneInfo.java ! src/share/classes/sun/util/calendar/ZoneInfoFile.java ! src/share/classes/sun/util/locale/provider/CalendarDataUtility.java ! src/share/classes/sun/util/locale/provider/CalendarNameProviderImpl.java ! src/share/classes/sun/util/locale/provider/LocaleResources.java + test/java/sql/JavatimeTest.java + test/java/time/META-INF/services/java.time.chrono.Chronology - test/java/time/META-INF/services/java.time.temporal.Chrono ! test/java/time/tck/java/time/AbstractTCKTest.java + test/java/time/tck/java/time/MockSimplePeriod.java ! test/java/time/tck/java/time/TCKClock.java ! test/java/time/tck/java/time/TCKClock_Fixed.java ! test/java/time/tck/java/time/TCKClock_Offset.java ! test/java/time/tck/java/time/TCKClock_System.java ! test/java/time/tck/java/time/TCKClock_Tick.java ! test/java/time/tck/java/time/TCKDayOfWeek.java ! test/java/time/tck/java/time/TCKDuration.java ! test/java/time/tck/java/time/TCKInstant.java ! test/java/time/tck/java/time/TCKLocalDate.java ! test/java/time/tck/java/time/TCKLocalDateTime.java ! test/java/time/tck/java/time/TCKLocalTime.java ! test/java/time/tck/java/time/TCKMonth.java + test/java/time/tck/java/time/TCKMonthDay.java + test/java/time/tck/java/time/TCKOffsetDateTime.java + test/java/time/tck/java/time/TCKOffsetTime.java + test/java/time/tck/java/time/TCKPeriod.java + test/java/time/tck/java/time/TCKYear.java + test/java/time/tck/java/time/TCKYearMonth.java ! test/java/time/tck/java/time/TCKZoneId.java ! test/java/time/tck/java/time/TCKZoneOffset.java ! test/java/time/tck/java/time/TCKZonedDateTime.java + test/java/time/tck/java/time/TestChronology.java + test/java/time/tck/java/time/TestIsoChronology.java - test/java/time/tck/java/time/calendar/CopticChrono.java - test/java/time/tck/java/time/calendar/CopticDate.java - test/java/time/tck/java/time/calendar/CopticEra.java - test/java/time/tck/java/time/calendar/TestChronoLocalDate.java - test/java/time/tck/java/time/calendar/TestChronoLocalDateTime.java - test/java/time/tck/java/time/calendar/TestHijrahChrono.java - test/java/time/tck/java/time/calendar/TestJapaneseChrono.java - test/java/time/tck/java/time/calendar/TestMinguoChrono.java - test/java/time/tck/java/time/calendar/TestServiceLoader.java - test/java/time/tck/java/time/calendar/TestThaiBuddhistChrono.java + test/java/time/tck/java/time/chrono/CopticChronology.java + test/java/time/tck/java/time/chrono/CopticDate.java + test/java/time/tck/java/time/chrono/CopticEra.java + test/java/time/tck/java/time/chrono/TCKChronology.java + test/java/time/tck/java/time/chrono/TCKTestServiceLoader.java + test/java/time/tck/java/time/chrono/TestChronoLocalDate.java + test/java/time/tck/java/time/chrono/TestChronoLocalDateTime.java + test/java/time/tck/java/time/chrono/TestHijrahChronology.java + test/java/time/tck/java/time/chrono/TestJapaneseChronology.java + test/java/time/tck/java/time/chrono/TestMinguoChronology.java + test/java/time/tck/java/time/chrono/TestThaiBuddhistChronology.java + test/java/time/tck/java/time/format/TCKChronoPrinterParser.java ! test/java/time/tck/java/time/format/TCKDateTimeFormatter.java ! test/java/time/tck/java/time/format/TCKDateTimeFormatterBuilder.java ! test/java/time/tck/java/time/format/TCKDateTimeFormatters.java - test/java/time/tck/java/time/format/TCKDateTimePrintException.java ! test/java/time/tck/java/time/format/TCKDateTimeTextPrinting.java ! test/java/time/tck/java/time/format/TCKLocalizedFieldParser.java ! test/java/time/tck/java/time/format/TCKLocalizedFieldPrinter.java + test/java/time/tck/java/time/format/TCKLocalizedPrinterParser.java + test/java/time/tck/java/time/format/TCKOffsetPrinterParser.java + test/java/time/tck/java/time/format/TCKPadPrinterParser.java + test/java/time/tck/java/time/format/TCKZoneIdPrinterParser.java - test/java/time/tck/java/time/temporal/TCKISOFields.java + test/java/time/tck/java/time/temporal/TCKIsoFields.java ! test/java/time/tck/java/time/temporal/TCKJulianFields.java - test/java/time/tck/java/time/temporal/TCKMonthDay.java - test/java/time/tck/java/time/temporal/TCKOffsetDate.java - test/java/time/tck/java/time/temporal/TCKOffsetDateTime.java - test/java/time/tck/java/time/temporal/TCKOffsetTime.java - test/java/time/tck/java/time/temporal/TCKSimplePeriod.java ! test/java/time/tck/java/time/temporal/TCKWeekFields.java - test/java/time/tck/java/time/temporal/TCKYear.java - test/java/time/tck/java/time/temporal/TCKYearMonth.java - test/java/time/tck/java/time/temporal/TestChrono.java ! test/java/time/tck/java/time/temporal/TestChronoLocalDate.java ! test/java/time/tck/java/time/temporal/TestChronoLocalDateTime.java ! test/java/time/tck/java/time/temporal/TestChronoZonedDateTime.java - test/java/time/tck/java/time/temporal/TestISOChrono.java ! test/java/time/tck/java/time/zone/TCKFixedZoneRules.java ! test/java/time/tck/java/time/zone/TCKZoneOffsetTransition.java ! test/java/time/tck/java/time/zone/TCKZoneOffsetTransitionRule.java ! test/java/time/tck/java/time/zone/TCKZoneRules.java ! test/java/time/tck/java/time/zone/TCKZoneRulesProvider.java ! test/java/time/test/java/time/MockSimplePeriod.java ! test/java/time/test/java/time/TestDuration.java ! test/java/time/test/java/time/TestLocalDateTime.java ! test/java/time/test/java/time/TestLocalTime.java + test/java/time/test/java/time/TestMonthDay.java + test/java/time/test/java/time/TestOffsetDateTime.java + test/java/time/test/java/time/TestOffsetDateTime_instants.java + test/java/time/test/java/time/TestOffsetTime.java ! test/java/time/test/java/time/TestPeriod.java - test/java/time/test/java/time/TestPeriodParser.java + test/java/time/test/java/time/TestYear.java + test/java/time/test/java/time/TestYearMonth.java ! test/java/time/test/java/time/TestZoneId.java + test/java/time/test/java/time/chrono/TestExampleCode.java + test/java/time/test/java/time/chrono/TestIsoChronoImpl.java + test/java/time/test/java/time/chrono/TestServiceLoader.java ! test/java/time/test/java/time/format/TestCharLiteralParser.java ! test/java/time/test/java/time/format/TestCharLiteralPrinter.java + test/java/time/test/java/time/format/TestDateTimeFormatterBuilder.java - test/java/time/test/java/time/format/TestDateTimeFormatters.java - test/java/time/test/java/time/format/TestDateTimePrintException.java ! test/java/time/test/java/time/format/TestDateTimeTextProvider.java ! test/java/time/test/java/time/format/TestFractionPrinterParser.java + test/java/time/test/java/time/format/TestNonIsoFormatter.java ! test/java/time/test/java/time/format/TestNumberParser.java ! test/java/time/test/java/time/format/TestNumberPrinter.java - test/java/time/test/java/time/format/TestPadParserDecorator.java ! test/java/time/test/java/time/format/TestPadPrinterDecorator.java ! test/java/time/test/java/time/format/TestReducedParser.java ! test/java/time/test/java/time/format/TestReducedPrinter.java ! test/java/time/test/java/time/format/TestSettingsParser.java ! test/java/time/test/java/time/format/TestStringLiteralParser.java ! test/java/time/test/java/time/format/TestStringLiteralPrinter.java ! test/java/time/test/java/time/format/TestTextParser.java ! test/java/time/test/java/time/format/TestTextPrinter.java - test/java/time/test/java/time/format/TestZoneIdParser.java ! test/java/time/test/java/time/format/TestZoneOffsetParser.java ! test/java/time/test/java/time/format/TestZoneOffsetPrinter.java ! test/java/time/test/java/time/format/TestZoneTextPrinterParser.java + test/java/time/test/java/time/format/ZoneName.java ! test/java/time/test/java/time/temporal/MockFieldNoValue.java ! test/java/time/test/java/time/temporal/MockFieldValue.java ! test/java/time/test/java/time/temporal/TestChronoUnit.java ! test/java/time/test/java/time/temporal/TestDateTimeBuilderCombinations.java - test/java/time/test/java/time/temporal/TestISOChronoImpl.java ! test/java/time/test/java/time/temporal/TestJapaneseChronoImpl.java + test/java/time/test/java/time/temporal/TestJulianFields.java - test/java/time/test/java/time/temporal/TestMonthDay.java - test/java/time/test/java/time/temporal/TestOffsetDate.java - test/java/time/test/java/time/temporal/TestOffsetDateTime.java - test/java/time/test/java/time/temporal/TestOffsetDateTime_instants.java - test/java/time/test/java/time/temporal/TestOffsetTime.java ! test/java/time/test/java/time/temporal/TestThaiBuddhistChronoImpl.java - test/java/time/test/java/time/temporal/TestYear.java - test/java/time/test/java/time/temporal/TestYearMonth.java ! test/java/time/test/java/time/zone/TestFixedZoneRules.java ! test/java/time/test/java/util/TestFormatter.java + test/java/util/Calendar/JavatimeTest.java ! test/java/util/TimeZone/OldIDMappingTest.java + test/java/util/TimeZone/TzIDOldMapping.java + test/sun/util/calendar/zi/BackEnd.java + test/sun/util/calendar/zi/Checksum.java + test/sun/util/calendar/zi/DayOfWeek.java + test/sun/util/calendar/zi/Gen.java + test/sun/util/calendar/zi/GenDoc.java + test/sun/util/calendar/zi/Main.java + test/sun/util/calendar/zi/Mappings.java + test/sun/util/calendar/zi/Month.java + test/sun/util/calendar/zi/Rule.java + test/sun/util/calendar/zi/RuleDay.java + test/sun/util/calendar/zi/RuleRec.java + test/sun/util/calendar/zi/Simple.java + test/sun/util/calendar/zi/TestZoneInfo310.java + test/sun/util/calendar/zi/Time.java + test/sun/util/calendar/zi/Timezone.java + test/sun/util/calendar/zi/TzIDOldMapping.java + test/sun/util/calendar/zi/Zone.java + test/sun/util/calendar/zi/ZoneInfoFile.java + test/sun/util/calendar/zi/ZoneInfoOld.java + test/sun/util/calendar/zi/ZoneRec.java + test/sun/util/calendar/zi/Zoneinfo.java + test/sun/util/calendar/zi/tzdata/VERSION + test/sun/util/calendar/zi/tzdata/africa + test/sun/util/calendar/zi/tzdata/antarctica + test/sun/util/calendar/zi/tzdata/asia + test/sun/util/calendar/zi/tzdata/australasia + test/sun/util/calendar/zi/tzdata/backward + test/sun/util/calendar/zi/tzdata/etcetera + test/sun/util/calendar/zi/tzdata/europe + test/sun/util/calendar/zi/tzdata/factory + test/sun/util/calendar/zi/tzdata/gmt + test/sun/util/calendar/zi/tzdata/iso3166.tab + test/sun/util/calendar/zi/tzdata/jdk11_backward + test/sun/util/calendar/zi/tzdata/leapseconds + test/sun/util/calendar/zi/tzdata/northamerica + test/sun/util/calendar/zi/tzdata/pacificnew + test/sun/util/calendar/zi/tzdata/solar87 + test/sun/util/calendar/zi/tzdata/solar88 + test/sun/util/calendar/zi/tzdata/solar89 + test/sun/util/calendar/zi/tzdata/southamerica + test/sun/util/calendar/zi/tzdata/systemv + test/sun/util/calendar/zi/tzdata/zone.tab + test/sun/util/calendar/zi/tzdata_jdk/gmt + test/sun/util/calendar/zi/tzdata_jdk/jdk11_backward + test/sun/util/calendar/zi/tzdata_jdk/jdk11_full_backward From xueming.shen at oracle.com Tue Feb 12 17:29:25 2013 From: xueming.shen at oracle.com (xueming.shen at oracle.com) Date: Tue, 12 Feb 2013 17:29:25 +0000 Subject: hg: jdk8/tl: 8007392: JSR 310: DateTime API Updates Message-ID: <20130212172926.46541479E2@hg.openjdk.java.net> Changeset: fdb1e09519ed Author: sherman Date: 2013-02-12 09:27 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/rev/fdb1e09519ed 8007392: JSR 310: DateTime API Updates Summary: Integration of JSR310 Date/Time API for M7 Reviewed-by: darcy, alanb, naoto Contributed-by: scolebourne at joda.org, roger.riggs at oracle.com, masayoshi.okutsu at oracle.com, patrick.zhang at oracle.com ! common/makefiles/javadoc/CORE_PKGS.gmk From maurizio.cimadamore at oracle.com Tue Feb 12 19:25:52 2013 From: maurizio.cimadamore at oracle.com (maurizio.cimadamore at oracle.com) Date: Tue, 12 Feb 2013 19:25:52 +0000 Subject: hg: jdk8/tl/langtools: 8007464: Add graph inference support Message-ID: <20130212192555.51CF1479EB@hg.openjdk.java.net> Changeset: 2154ed9ff6c8 Author: mcimadamore Date: 2013-02-12 19:25 +0000 URL: http://hg.openjdk.java.net/jdk8/tl/langtools/rev/2154ed9ff6c8 8007464: Add graph inference support Summary: Add support for more aggressive type-inference scheme Reviewed-by: jjg ! src/share/classes/com/sun/tools/javac/code/Source.java ! src/share/classes/com/sun/tools/javac/comp/Attr.java ! src/share/classes/com/sun/tools/javac/comp/DeferredAttr.java ! src/share/classes/com/sun/tools/javac/comp/Infer.java + src/share/classes/com/sun/tools/javac/util/GraphUtils.java ! test/tools/javac/6758789/T6758789b.out ! test/tools/javac/Diagnostics/6799605/T6799605.out ! test/tools/javac/diags/examples/CantApplyDiamond1.java ! test/tools/javac/diags/examples/InferredDoNotConformToEq.java ! test/tools/javac/diags/examples/InferredDoNotConformToUpper.java ! test/tools/javac/diags/examples/WhereFreshTvar.java ! test/tools/javac/generics/7015430/T7015430.out ! test/tools/javac/generics/7151802/T7151802.out ! test/tools/javac/generics/diamond/neg/Neg06.out ! test/tools/javac/generics/inference/6278587/T6278587Neg.java ! test/tools/javac/generics/inference/6638712/T6638712d.out ! test/tools/javac/generics/inference/6638712/T6638712e.out ! test/tools/javac/generics/inference/7154127/T7154127.java ! test/tools/javac/generics/inference/7154127/T7154127.out ! test/tools/javac/generics/inference/7177306/T7177306a.out ! test/tools/javac/generics/inference/7177306/T7177306e.java ! test/tools/javac/generics/inference/7177306/T7177306e.out ! test/tools/javac/generics/odersky/BadTest4.java ! test/tools/javac/lambda/TargetType14.out ! test/tools/javac/lambda/TargetType20.java - test/tools/javac/lambda/TargetType20.out ! test/tools/javac/lambda/TargetType28.out ! test/tools/javac/lambda/TargetType50.java - test/tools/javac/lambda/TargetType50.out ! test/tools/javac/lambda/TargetType51.java ! test/tools/javac/lambda/TargetType52.java ! test/tools/javac/lambda/TargetType52.out + test/tools/javac/lambda/TargetType53.java + test/tools/javac/lambda/TargetType54.java + test/tools/javac/lambda/TargetType55.java + test/tools/javac/lambda/TargetType56.java + test/tools/javac/lambda/TargetType57.java + test/tools/javac/lambda/TargetType57.out + test/tools/javac/lambda/TargetType58.java + test/tools/javac/lambda/TargetType59.java + test/tools/javac/lambda/TargetType61.java + test/tools/javac/lambda/TargetType62.java From sean.mullan at oracle.com Tue Feb 12 20:19:47 2013 From: sean.mullan at oracle.com (Sean Mullan) Date: Tue, 12 Feb 2013 15:19:47 -0500 Subject: [8] code review for 8007934: algorithm parameters for PBE Scheme 2 not decoded correctly in PKCS12 keystore In-Reply-To: References: Message-ID: <511AA3E3.9030008@oracle.com> A couple of comments: mapPBEParamsToAlgorithm should be a static method. Instead of catching the IOException and falling back, couldn't you instead look at the algorithm OID (on line 328 & 1954) and determine if it is PBE or PBES2 (and pass that in as an additional parameter)? --Sean On 02/11/2013 02:09 PM, Vincent Ryan wrote: > Please review this fix to correct the ASN.1 DER decoding of PBES2 > algorithm parameters in PKCS12 keystore. > > Webrev: http://cr.openjdk.java.net/~vinnie/8007934/webrev.00/ > > Thanks. From vincent.x.ryan at oracle.com Tue Feb 12 20:59:34 2013 From: vincent.x.ryan at oracle.com (Vincent Ryan) Date: Tue, 12 Feb 2013 20:59:34 +0000 Subject: [8] code review for 8007934: algorithm parameters for PBE Scheme 2 not decoded correctly in PKCS12 keystore In-Reply-To: <511AA3E3.9030008@oracle.com> References: <511AA3E3.9030008@oracle.com> Message-ID: <511AAD36.8000008@oracle.com> Thanks Sean. Updated webrev: http://cr.openjdk.java.net/~vinnie/8007934/webrev.01/ On 12/02/2013 20:19, Sean Mullan wrote: > A couple of comments: > > mapPBEParamsToAlgorithm should be a static method. Changed both mapPBExxx methods. > > Instead of catching the IOException and falling back, couldn't you > instead look at the algorithm OID (on line 328 & 1954) and determine if > it is PBE or PBES2 (and pass that in as an additional parameter)? > Much better. > --Sean > > On 02/11/2013 02:09 PM, Vincent Ryan wrote: >> Please review this fix to correct the ASN.1 DER decoding of PBES2 >> algorithm parameters in PKCS12 keystore. >> >> Webrev: http://cr.openjdk.java.net/~vinnie/8007934/webrev.00/ >> >> Thanks. > From sean.mullan at oracle.com Tue Feb 12 21:17:39 2013 From: sean.mullan at oracle.com (Sean Mullan) Date: Tue, 12 Feb 2013 16:17:39 -0500 Subject: [8] code review for 8007934: algorithm parameters for PBE Scheme 2 not decoded correctly in PKCS12 keystore In-Reply-To: <511AAD36.8000008@oracle.com> References: <511AA3E3.9030008@oracle.com> <511AAD36.8000008@oracle.com> Message-ID: <511AB173.6080008@oracle.com> Looks good. --Sean On 02/12/2013 03:59 PM, Vincent Ryan wrote: > Thanks Sean. Updated webrev: > http://cr.openjdk.java.net/~vinnie/8007934/webrev.01/ > > On 12/02/2013 20:19, Sean Mullan wrote: >> A couple of comments: >> >> mapPBEParamsToAlgorithm should be a static method. > > Changed both mapPBExxx methods. > > >> >> Instead of catching the IOException and falling back, couldn't you >> instead look at the algorithm OID (on line 328 & 1954) and determine if >> it is PBE or PBES2 (and pass that in as an additional parameter)? >> > > Much better. > > >> --Sean >> >> On 02/11/2013 02:09 PM, Vincent Ryan wrote: >>> Please review this fix to correct the ASN.1 DER decoding of PBES2 >>> algorithm parameters in PKCS12 keystore. >>> >>> Webrev: http://cr.openjdk.java.net/~vinnie/8007934/webrev.00/ >>> >>> Thanks. >> > From dmitry.samersoff at oracle.com Tue Feb 12 21:59:42 2013 From: dmitry.samersoff at oracle.com (Dmitry Samersoff) Date: Wed, 13 Feb 2013 01:59:42 +0400 Subject: RFR: JDK-8007607 In-Reply-To: References: Message-ID: <511ABB4E.9040901@oracle.com> John, On 2013-02-12 21:11, John Zavgren wrote: > If I were to rewrite the native code to throw exceptions, in the > areas I indicated, and no one caught them, would that create any > problems. I have the code in my sandbox right now for throwing them. > If I can retain that in a graceful way, that seems like a prudent > thing to do, if there are no negative consequences. Java level catch OOM exception and Java program will do something accordingly. Unfortunately, native caller is not enforced to check for exception and could do lots of nasty things if it doesn't check for exception. Lets consider imaginary code below: uint some_function(){ void *p = malloc(...) // do something return p->int_field; } void caller(){ a = some_function() if (a > 0){ // some code } } this code most probably crash on OOM and it's OK. but after change to uint some_function(){ void *p = malloc(...) if (p == NULL){ throw OOM return 1; } // do something return p->int_field; } code become totally wrong and can do lots of nasty things ever if Java level handle OOM late. So all callers have to be carefully checked for interpretation of the return value in case of OOM. If we can *semantically* recover on native level we should do it. If not - make sure that all callers do nothing but pass exception to Java or leave program crashing. e.g. enumerating network interfaces it probably OK to return incomplete list in case of OOM and throw ??? exception to let Java know that the list is not complete, but enumerating domain names for particular IP, we shouldn't return incomplete list because it used for some security check and could lead to hardly reproducible application problems like rejected e-mails. -Dmitry > > John > > > ----- Original Message ----- From: dmitry.samersoff at oracle.com To: > john.zavgren at oracle.com Cc: security-dev at openjdk.java.net Sent: > Tuesday, February 12, 2013 11:04:28 AM GMT -05:00 US/Canada Eastern > Subject: Re: RFR: JDK-8007607 > > John, > > Changing everything for throw OOM is the right goal but it's a huge > work to do - it's meaningless to throw OOM if all callers doesn't > check for exception. > > I'm in doubt it could be done all at once and probably this problem > should go to the huge TODO pile. > > So I'm speaking about *one particular case*, where returned value > could lead to misinterpretation of security context and lead to > security vulnerability or subtle bug. > > We have to throw OOM there and change all callers as well for this > case. > > -Dmitry > > On 2013-02-12 19:51, John Zavgren wrote: >> On 02/08/2013 01:34 PM, Dmitry Samersoff wrote: >>> John, >>> >>>> Ideas? >>> It's a JNI so just throw OOM. >>> >>> -Dmitry >>> >>> >>> On 2013-02-08 21:38, John Zavgren wrote: >>>> Although I agree that the name: "GSS_C_NO_CHANNEL_BINDINGS" is >>>> misleading, I can't identify anything else that seems more >>>> appropriate. >>>> >>>> The header file: >>>> /jdk8-tl/jdk/src/share/native/sun/security/jgss/wrapper/gssapi.h >>>> defines GSS_C_NO_CHANNEL_BINDINGS as follows: #define >>>> GSS_C_NO_CHANNEL_BINDINGS ((gss_channel_bindings_t) 0) >>>> >>>> The symbol matches the prototype of the function: >>>> >>>> */* * Utility routine which creates a gss_channel_bindings_t >>>> structure * using the specified org.ietf.jgss.ChannelBinding >>>> object. */ gss_channel_bindings_t getGSSCB(JNIEnv *env, jobject >>>> jcb) { gss_channel_bindings_t cb; jobject jinetAddr; jbyteArray >>>> value; >>>> >>>> if (jcb == NULL) { return GSS_C_NO_CHANNEL_BINDINGS; } cb = >>>> malloc(sizeof(struct gss_channel_bindings_struct)); >>>> >>>> if(cb == NULL) return GSS_C_NO_CHANNEL_BINDINGS;* >>>> >>>> There doesn't appear to be anything in our set of options that >>>> is more suggestive of a memory allocation failure and the >>>> symbol: GSS_C_NO_CHANNEL_BINDINGS seems to be logically >>>> correct. >>>> >>>> Ideas? >>>> >>>> On 02/06/2013 04:57 AM, Dmitry Samersoff wrote: >>>>> John, >>>>> >>>>> Not sure GSS_C_NO_CHANNEL_BINDINGS; is correct return value >>>>> for this case. >>>>> >>>>> I'm second to Valerie - it's better to throw OOM >>>>> >>>>> -Dmitry >>>>> >>>>> >>>>> On 2013-02-06 03:44, John Zavgren wrote: >>>>>> Greetings: >>>>>> >>>>>> I modified the native code to eliminate potential memory >>>>>> loss and crashes by checking the return values of malloc() >>>>>> and realloc() calls. >>>>>> >>>>>> The webrev image of these changes is visible at: >>>>>> http://cr.openjdk.java.net/~jzavgren/8007607/webrev.01/ >>>>>> >>>>>> Thanks! John Zavgren >>>>>> >>>> >>>> -- John Zavgren john.zavgren at oracle.com 603-821-0904 >>>> US-Burlington-MA >>>> >>> >> When I change the procedures in the following files: >> >> src/share/native/sun/security/jgss/wrapper/GSSLibStub.c >> src/share/native/sun/security/jgss/wrapper/NativeUtil.c >> src/share/native/sun/security/smartcardio/pcsc.c >> src/solaris/native/com/sun/security/auth/module/Solaris.c >> src/solaris/native/com/sun/security/auth/module/Unix.c >> >> to fix inappropriate usages of malloc, realloc, etc. (e.g., not >> checking the return value and referring to a NULL pointer and >> crashing) should I modify every instance so that an OOM (Out Of >> Memory) exception is thrown (before returning) whenever memory >> allocation fails? >> >> The exceptions would be thrown by a line of code that looks like: >> >> throwOutOfMemoryError(JNIEnv *env, const char *msg); >> >> where throwOutOfMemoryError(...) wraps something like this: >> >> jclass cls = (*env)->FindClass(env, name); >> >> if (cls != 0) /* Otherwise an exception has already been thrown */ >> (*env)->ThrowNew(env, cls, msg); >> >> If this is the right idea, what messages should I pass when an OOM >> exception is thrown? >> >> Thanks! John >> > > -- Dmitry Samersoff Oracle Java development team, Saint Petersburg, Russia * Give Rabbit time, and he'll always get the answer From valerie.peng at oracle.com Tue Feb 12 22:12:20 2013 From: valerie.peng at oracle.com (Valerie (Yu-Ching) Peng) Date: Tue, 12 Feb 2013 14:12:20 -0800 Subject: RFR: JDK-8007607 In-Reply-To: References: Message-ID: <511ABE44.20002@oracle.com> Well, although it's huge effort to fix and catch all the malloc calls, I think it's still better to start somewhere. Note that for the list of sources that you have in your webrev, they aren't linked against libjvm and libjava, and thus you need to use local utility method(s) for throwing the OOM error. Just like the PKCS11 native code that I mentioned earlier. Valerie On 02/12/13 09:11, John Zavgren wrote: > Thanks, Dmitry. > > If I were to rewrite the native code to throw exceptions, in the areas I indicated, and no one caught them, would that create any problems. I have the code in my sandbox right now for throwing them. If I can retain that in a graceful way, that seems like a prudent thing to do, if there are no negative consequences. > > John > > > ----- Original Message ----- > From: dmitry.samersoff at oracle.com > To: john.zavgren at oracle.com > Cc: security-dev at openjdk.java.net > Sent: Tuesday, February 12, 2013 11:04:28 AM GMT -05:00 US/Canada Eastern > Subject: Re: RFR: JDK-8007607 > > John, > > Changing everything for throw OOM is the right goal but it's a huge work > to do - it's meaningless to throw OOM if all callers doesn't check for > exception. > > I'm in doubt it could be done all at once and probably this problem > should go to the huge TODO pile. > > So I'm speaking about *one particular case*, where returned value could > lead to misinterpretation of security context and lead to security > vulnerability or subtle bug. > > We have to throw OOM there and change all callers as well for this case. > > -Dmitry > > On 2013-02-12 19:51, John Zavgren wrote: >> On 02/08/2013 01:34 PM, Dmitry Samersoff wrote: >>> John, >>> >>>> Ideas? >>> It's a JNI so just throw OOM. >>> >>> -Dmitry >>> >>> >>> On 2013-02-08 21:38, John Zavgren wrote: >>>> Although I agree that the name: "GSS_C_NO_CHANNEL_BINDINGS" is >>>> misleading, >>>> I can't identify anything else that seems more appropriate. >>>> >>>> The header file: >>>> /jdk8-tl/jdk/src/share/native/sun/security/jgss/wrapper/gssapi.h defines >>>> GSS_C_NO_CHANNEL_BINDINGS as follows: >>>> #define GSS_C_NO_CHANNEL_BINDINGS ((gss_channel_bindings_t) 0) >>>> >>>> The symbol matches the prototype of the function: >>>> >>>> */* >>>> * Utility routine which creates a gss_channel_bindings_t structure >>>> * using the specified org.ietf.jgss.ChannelBinding object. >>>> */ >>>> gss_channel_bindings_t getGSSCB(JNIEnv *env, jobject jcb) { >>>> gss_channel_bindings_t cb; >>>> jobject jinetAddr; >>>> jbyteArray value; >>>> >>>> if (jcb == NULL) { >>>> return GSS_C_NO_CHANNEL_BINDINGS; >>>> } >>>> cb = malloc(sizeof(struct gss_channel_bindings_struct)); >>>> >>>> if(cb == NULL) >>>> return GSS_C_NO_CHANNEL_BINDINGS;* >>>> >>>> There doesn't appear to be anything in our set of options that is more >>>> suggestive of a memory allocation failure and the symbol: >>>> GSS_C_NO_CHANNEL_BINDINGS seems to be logically correct. >>>> >>>> Ideas? >>>> >>>> On 02/06/2013 04:57 AM, Dmitry Samersoff wrote: >>>>> John, >>>>> >>>>> Not sure GSS_C_NO_CHANNEL_BINDINGS; is correct return value for this >>>>> case. >>>>> >>>>> I'm second to Valerie - it's better to throw OOM >>>>> >>>>> -Dmitry >>>>> >>>>> >>>>> On 2013-02-06 03:44, John Zavgren wrote: >>>>>> Greetings: >>>>>> >>>>>> I modified the native code to eliminate potential memory loss and >>>>>> crashes by checking the return values of malloc() and realloc() calls. >>>>>> >>>>>> The webrev image of these changes is visible at: >>>>>> http://cr.openjdk.java.net/~jzavgren/8007607/webrev.01/ >>>>>> >>>>>> Thanks! >>>>>> John Zavgren >>>>>> >>>> -- >>>> John Zavgren >>>> john.zavgren at oracle.com >>>> 603-821-0904 >>>> US-Burlington-MA >>>> >> When I change the procedures in the following files: >> >> src/share/native/sun/security/jgss/wrapper/GSSLibStub.c >> src/share/native/sun/security/jgss/wrapper/NativeUtil.c >> src/share/native/sun/security/smartcardio/pcsc.c >> src/solaris/native/com/sun/security/auth/module/Solaris.c >> src/solaris/native/com/sun/security/auth/module/Unix.c >> >> to fix inappropriate usages of malloc, realloc, etc. (e.g., not checking >> the return value and referring to a NULL pointer and crashing) should I >> modify every instance so that an OOM (Out Of Memory) exception is thrown >> (before returning) whenever memory allocation fails? >> >> The exceptions would be thrown by a line of code that looks like: >> >> throwOutOfMemoryError(JNIEnv *env, const char *msg); >> >> where throwOutOfMemoryError(...) wraps something like this: >> >> jclass cls = (*env)->FindClass(env, name); >> >> if (cls != 0) /* Otherwise an exception has already been >> thrown */ >> (*env)->ThrowNew(env, cls, msg); >> >> If this is the right idea, what messages should I pass when an OOM >> exception is thrown? >> >> Thanks! >> John >> > From jonathan.gibbons at oracle.com Wed Feb 13 01:16:05 2013 From: jonathan.gibbons at oracle.com (jonathan.gibbons at oracle.com) Date: Wed, 13 Feb 2013 01:16:05 +0000 Subject: hg: jdk8/tl/langtools: 8008077: update reference impl for type-annotations Message-ID: <20130213011609.95D9047A01@hg.openjdk.java.net> Changeset: bc456436c613 Author: jjg Date: 2013-02-12 17:15 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/langtools/rev/bc456436c613 8008077: update reference impl for type-annotations Reviewed-by: jjg Contributed-by: wmdietl at cs.washington.edu ! src/share/classes/com/sun/tools/classfile/ClassWriter.java ! src/share/classes/com/sun/tools/classfile/TypeAnnotation.java ! src/share/classes/com/sun/tools/javac/code/TargetType.java ! src/share/classes/com/sun/tools/javac/code/TypeAnnotationPosition.java ! src/share/classes/com/sun/tools/javac/code/TypeAnnotations.java ! src/share/classes/com/sun/tools/javac/code/Types.java ! src/share/classes/com/sun/tools/javac/comp/Attr.java ! src/share/classes/com/sun/tools/javac/jvm/ClassReader.java ! src/share/classes/com/sun/tools/javac/jvm/ClassWriter.java ! src/share/classes/com/sun/tools/javac/parser/JavacParser.java ! src/share/classes/com/sun/tools/javac/tree/TreeInfo.java ! src/share/classes/com/sun/tools/javap/AnnotationWriter.java + test/tools/javac/annotations/typeAnnotations/failures/LazyConstantValue.java + test/tools/javac/annotations/typeAnnotations/failures/TypeVariable.java ! test/tools/javac/annotations/typeAnnotations/failures/VoidGenericMethod.java + test/tools/javac/annotations/typeAnnotations/newlocations/Lambda.java + test/tools/javac/annotations/typeAnnotations/referenceinfos/Lambda.java ! test/tools/javac/annotations/typeAnnotations/referenceinfos/MethodParameters.java ! test/tools/javac/annotations/typeAnnotations/referenceinfos/TypeCasts.java From joel.franck at oracle.com Tue Feb 12 10:32:07 2013 From: joel.franck at oracle.com (joel.franck at oracle.com) Date: Tue, 12 Feb 2013 10:32:07 +0000 Subject: hg: jdk8/tl/langtools: 8004822: RFE to write language model API tests for repeating annotations based on the spec updates Message-ID: <20130212103213.A6A78479CE@hg.openjdk.java.net> Changeset: 973646bf043a Author: jfranck Date: 2013-02-12 11:28 +0100 URL: http://hg.openjdk.java.net/jdk8/tl/langtools/rev/973646bf043a 8004822: RFE to write language model API tests for repeating annotations based on the spec updates Reviewed-by: jjg, abuckley Contributed-by: Matherey Nunez + test/tools/javac/processing/model/element/repeatingAnnotations/ElementRepAnnoTester.java + test/tools/javac/processing/model/element/repeatingAnnotations/MixRepeatableAndOfficialContainerBasicTest.java + test/tools/javac/processing/model/element/repeatingAnnotations/MixRepeatableAndOfficialContainerInheritedA1Test.java + test/tools/javac/processing/model/element/repeatingAnnotations/MixRepeatableAndOfficialContainerInheritedA2Test.java + test/tools/javac/processing/model/element/repeatingAnnotations/MixRepeatableAndOfficialContainerInheritedB1Test.java + test/tools/javac/processing/model/element/repeatingAnnotations/MixRepeatableAndOfficialContainerInheritedB2Test.java + test/tools/javac/processing/model/element/repeatingAnnotations/MixSingularAndUnofficialContainerBasicTest.java + test/tools/javac/processing/model/element/repeatingAnnotations/MixSingularAndUnofficialContainerInheritedA1Test.java + test/tools/javac/processing/model/element/repeatingAnnotations/MixSingularAndUnofficialContainerInheritedA2Test.java + test/tools/javac/processing/model/element/repeatingAnnotations/MixSingularAndUnofficialContainerInheritedB1Test.java + test/tools/javac/processing/model/element/repeatingAnnotations/MixSingularAndUnofficialContainerInheritedB2Test.java + test/tools/javac/processing/model/element/repeatingAnnotations/OfficialContainerBasicTest.java + test/tools/javac/processing/model/element/repeatingAnnotations/OfficialContainerInheritedTest.java + test/tools/javac/processing/model/element/repeatingAnnotations/RepeatableBasicTest.java + test/tools/javac/processing/model/element/repeatingAnnotations/RepeatableInheritedTest.java + test/tools/javac/processing/model/element/repeatingAnnotations/RepeatableOfficialContainerBasicTest.java + test/tools/javac/processing/model/element/repeatingAnnotations/RepeatableOfficialContainerInheritedTest.java + test/tools/javac/processing/model/element/repeatingAnnotations/RepeatableOverrideATest.java + test/tools/javac/processing/model/element/repeatingAnnotations/RepeatableOverrideBTest.java + test/tools/javac/processing/model/element/repeatingAnnotations/SingularBasicTest.java + test/tools/javac/processing/model/element/repeatingAnnotations/SingularInheritedATest.java + test/tools/javac/processing/model/element/repeatingAnnotations/SingularInheritedBTest.java + test/tools/javac/processing/model/element/repeatingAnnotations/UnofficialContainerBasicTest.java + test/tools/javac/processing/model/element/repeatingAnnotations/UnofficialContainerInheritedTest.java + test/tools/javac/processing/model/element/repeatingAnnotations/supportingAnnotations/Bar.java + test/tools/javac/processing/model/element/repeatingAnnotations/supportingAnnotations/BarContainer.java + test/tools/javac/processing/model/element/repeatingAnnotations/supportingAnnotations/BarContainerContainer.java + test/tools/javac/processing/model/element/repeatingAnnotations/supportingAnnotations/BarInherited.java + test/tools/javac/processing/model/element/repeatingAnnotations/supportingAnnotations/BarInheritedContainer.java + test/tools/javac/processing/model/element/repeatingAnnotations/supportingAnnotations/BarInheritedContainerContainer.java + test/tools/javac/processing/model/element/repeatingAnnotations/supportingAnnotations/ExpectedBase.java + test/tools/javac/processing/model/element/repeatingAnnotations/supportingAnnotations/ExpectedContainer.java + test/tools/javac/processing/model/element/repeatingAnnotations/supportingAnnotations/Foo.java + test/tools/javac/processing/model/element/repeatingAnnotations/supportingAnnotations/FooInherited.java + test/tools/javac/processing/model/element/repeatingAnnotations/supportingAnnotations/UnofficialContainer.java + test/tools/javac/processing/model/element/repeatingAnnotations/supportingAnnotations/UnofficialInheritedContainer.java From joel.franck at oracle.com Wed Feb 13 09:34:40 2013 From: joel.franck at oracle.com (joel.franck at oracle.com) Date: Wed, 13 Feb 2013 09:34:40 +0000 Subject: hg: jdk8/tl/langtools: 8007279: Rename javax.l.model.element.Element.getAnnotations(Class) to getAnnotationsByType(Class) Message-ID: <20130213093444.F348847A14@hg.openjdk.java.net> 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 From zhengyu.gu at oracle.com Wed Feb 13 15:14:55 2013 From: zhengyu.gu at oracle.com (zhengyu.gu at oracle.com) Date: Wed, 13 Feb 2013 15:14:55 +0000 Subject: hg: jdk8/tl/jdk: 8006691: Remove jvm_version_info->is_kernel_jvm field Message-ID: <20130213151507.412A047A21@hg.openjdk.java.net> 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 From vincent.x.ryan at oracle.com Wed Feb 13 16:04:18 2013 From: vincent.x.ryan at oracle.com (vincent.x.ryan at oracle.com) Date: Wed, 13 Feb 2013 16:04:18 +0000 Subject: hg: jdk8/tl/jdk: 2 new changesets Message-ID: <20130213160452.06FAF47A29@hg.openjdk.java.net> Changeset: bf64f83aa0cd Author: vinnie Date: 2013-02-13 16:01 +0000 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 +0000 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/ceb7c712c693 Merge From sean.mullan at oracle.com Wed Feb 13 16:47:51 2013 From: sean.mullan at oracle.com (Sean Mullan) Date: Wed, 13 Feb 2013 11:47:51 -0500 Subject: [8] code review for 8007755: Support the logical grouping of keystores In-Reply-To: <51142DF9.2090507@oracle.com> References: <51142DF9.2090507@oracle.com> Message-ID: <511BC3B7.6030900@oracle.com> Overall this looks good, just have a few comments: * KeyStore [313-317] You should state what the String keys are supposed to contain (i.e. keystore aliases). [329] You need to make a copy of the Map before wrapping it in an unmodifiable Map. Also, this will require a CCC, so you won't be able to fix this now, but the DomainLoadStoreParameter should be a standalone class, since it is keystore-type specific. Also, I don't think a policy keystore entry will work with a Domain Keystore since it doesn't use LoadStoreParameters. Please file another bug to fix this later. --Sean On 02/07/2013 05:43 PM, Vincent Ryan wrote: > > Please review this final component of JEP-166 that adds support > for logical keystores and introduces a new keystore type called > DKS, the domain keystore. > > The purpose of the domain keystore is to simplify the handling of > multiple keystores and truststores for applications and to ease > their deployment. > > Webrev: http://cr.openjdk.java.net/~vinnie/8007755/webrev.00/ > > Thanks. From maurizio.cimadamore at oracle.com Wed Feb 13 17:04:51 2013 From: maurizio.cimadamore at oracle.com (maurizio.cimadamore at oracle.com) Date: Wed, 13 Feb 2013 17:04:51 +0000 Subject: hg: jdk8/tl/langtools: 8006345: Report Synthesized Parameters in java.lang.reflect.Parameter API; ... Message-ID: <20130213170456.BF6DA47A2F@hg.openjdk.java.net> Changeset: d04960f05593 Author: mcimadamore Date: 2013-02-13 17:04 +0000 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.mccorkle at 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 From dmitry.samersoff at oracle.com Wed Feb 13 17:07:34 2013 From: dmitry.samersoff at oracle.com (dmitry.samersoff at oracle.com) Date: Wed, 13 Feb 2013 17:07:34 +0000 Subject: hg: jdk8/tl/jdk: 8008095: TEST_BUG: JDK-8002048 one more testcase failure on Solaris Message-ID: <20130213170800.8425947A30@hg.openjdk.java.net> 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 From vincent.x.ryan at oracle.com Wed Feb 13 18:22:08 2013 From: vincent.x.ryan at oracle.com (Vincent Ryan) Date: Wed, 13 Feb 2013 18:22:08 +0000 Subject: [8] code review for 8007755: Support the logical grouping of keystores In-Reply-To: <511BC3B7.6030900@oracle.com> References: <51142DF9.2090507@oracle.com> <511BC3B7.6030900@oracle.com> Message-ID: <511BD9D0.4060101@oracle.com> Latest webrev: http://cr.openjdk.java.net/~vinnie/8007755/webrev.01/ On 13/02/2013 16:47, Sean Mullan wrote: > Overall this looks good, just have a few comments: > > * KeyStore > > [313-317] You should state what the String keys are supposed to contain > (i.e. keystore aliases). Done. > > [329] You need to make a copy of the Map before wrapping it in an > unmodifiable Map. Done. > > Also, this will require a CCC, so you won't be able to fix this now, but > the DomainLoadStoreParameter should be a standalone class, since it is > keystore-type specific. A more descriptive name would be useful since it'll no longer be nested in the KeyStore class. For example, java.security.KeyStoreDomainParameter. > > Also, I don't think a policy keystore entry will work with a Domain > Keystore since it doesn't use LoadStoreParameters. Please file another > bug to fix this later. OK. That will require adding support for a new optional line in the policy file that specifies the location of a DKS configuration. For example: keystore "NONE", "DKS"; keystoreConfigURI "file:///x/y/z"; > > --Sean > > On 02/07/2013 05:43 PM, Vincent Ryan wrote: >> >> Please review this final component of JEP-166 that adds support >> for logical keystores and introduces a new keystore type called >> DKS, the domain keystore. >> >> The purpose of the domain keystore is to simplify the handling of >> multiple keystores and truststores for applications and to ease >> their deployment. >> >> Webrev: http://cr.openjdk.java.net/~vinnie/8007755/webrev.00/ >> >> Thanks. > From sean.mullan at oracle.com Wed Feb 13 19:10:01 2013 From: sean.mullan at oracle.com (Sean Mullan) Date: Wed, 13 Feb 2013 14:10:01 -0500 Subject: [8] code review for 8007755: Support the logical grouping of keystores In-Reply-To: <511BD9D0.4060101@oracle.com> References: <51142DF9.2090507@oracle.com> <511BC3B7.6030900@oracle.com> <511BD9D0.4060101@oracle.com> Message-ID: <511BE509.4030900@oracle.com> On 02/13/2013 01:22 PM, Vincent Ryan wrote: > Latest webrev: > http://cr.openjdk.java.net/~vinnie/8007755/webrev.01/ Looks good. >> Also, this will require a CCC, so you won't be able to fix this now, but >> the DomainLoadStoreParameter should be a standalone class, since it is >> keystore-type specific. > > A more descriptive name would be useful since it'll no longer be nested > in the KeyStore class. > > For example, java.security.KeyStoreDomainParameter. I actually prefer if the name starts with Domain, or DKS. I also think this is consistent with other type specific parameter classes like LDAPCertStoreParameters, etc .. >> >> Also, I don't think a policy keystore entry will work with a Domain >> Keystore since it doesn't use LoadStoreParameters. Please file another >> bug to fix this later. > > OK. That will require adding support for a new optional line in the > policy file that specifies the location of a DKS configuration. > > For example: > keystore "NONE", "DKS"; > keystoreConfigURI "file:///x/y/z"; Or you could treat the URL as the config URL just for domain keystores: keystore "file:///x/y/z", "DKS"; --Sean From joel.franck at oracle.com Wed Feb 13 10:24:12 2013 From: joel.franck at oracle.com (joel.franck at oracle.com) Date: Wed, 13 Feb 2013 10:24:12 +0000 Subject: hg: jdk8/tl/jdk: 8007278: Rename j.l.r.AnnotatedElement.getAnnotations(Class) to getAnnotationsByType(Class) Message-ID: <20130213102440.E03F147A17@hg.openjdk.java.net> 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 From vincent.x.ryan at oracle.com Wed Feb 13 19:33:39 2013 From: vincent.x.ryan at oracle.com (Vincent Ryan) Date: Wed, 13 Feb 2013 19:33:39 +0000 Subject: [8] code review for 8007755: Support the logical grouping of keystores In-Reply-To: <511BE509.4030900@oracle.com> References: <51142DF9.2090507@oracle.com> <511BC3B7.6030900@oracle.com> <511BD9D0.4060101@oracle.com> <511BE509.4030900@oracle.com> Message-ID: <511BEA93.10304@oracle.com> On 13/02/2013 19:10, Sean Mullan wrote: > On 02/13/2013 01:22 PM, Vincent Ryan wrote: >> Latest webrev: >> http://cr.openjdk.java.net/~vinnie/8007755/webrev.01/ > > Looks good. > >>> Also, this will require a CCC, so you won't be able to fix this now, but >>> the DomainLoadStoreParameter should be a standalone class, since it is >>> keystore-type specific. >> >> A more descriptive name would be useful since it'll no longer be nested >> in the KeyStore class. >> >> For example, java.security.KeyStoreDomainParameter. > > I actually prefer if the name starts with Domain, or DKS. I also think > this is consistent with other type specific parameter classes like > LDAPCertStoreParameters, etc .. > OK. DomainKeyStoreParameters would be consistent. >>> >>> Also, I don't think a policy keystore entry will work with a Domain >>> Keystore since it doesn't use LoadStoreParameters. Please file another >>> bug to fix this later. >> >> OK. That will require adding support for a new optional line in the >> policy file that specifies the location of a DKS configuration. >> >> For example: >> keystore "NONE", "DKS"; >> keystoreConfigURI "file:///x/y/z"; > > Or you could treat the URL as the config URL just for domain keystores: > > keystore "file:///x/y/z", "DKS"; That'd certainly be convenient but it might lead to confusion since the keystore file is normally in that location and we've already established the practice of using "NONE" when a keystore file is not appplicable. However it would also allow us to add similar support to keytool, for consistency. For example, % keytool -storetype DKS -keystore file:///x/y/z > > --Sean From vincent.x.ryan at oracle.com Wed Feb 13 19:42:10 2013 From: vincent.x.ryan at oracle.com (vincent.x.ryan at oracle.com) Date: Wed, 13 Feb 2013 19:42:10 +0000 Subject: hg: jdk8/tl/jdk: 8007755: Support the logical grouping of keystores Message-ID: <20130213194232.73EDE47A36@hg.openjdk.java.net> Changeset: 11438befdd4c Author: vinnie Date: 2013-02-13 19:40 +0000 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 From xueming.shen at oracle.com Wed Feb 13 19:51:04 2013 From: xueming.shen at oracle.com (xueming.shen at oracle.com) Date: Wed, 13 Feb 2013 19:51:04 +0000 Subject: hg: jdk8/tl/jdk: 8008161: Regression: j.u.TimeZone.getAvailableIDs(rawOffset) returns non-sorted list Message-ID: <20130213195117.CDB8747A38@hg.openjdk.java.net> 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 From lana.steuck at oracle.com Wed Feb 13 20:11:38 2013 From: lana.steuck at oracle.com (lana.steuck at oracle.com) Date: Wed, 13 Feb 2013 20:11:38 +0000 Subject: hg: jdk8/tl: 9 new changesets Message-ID: <20130213201139.8AD2D47A39@hg.openjdk.java.net> 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 From lana.steuck at oracle.com Wed Feb 13 20:11:38 2013 From: lana.steuck at oracle.com (lana.steuck at oracle.com) Date: Wed, 13 Feb 2013 20:11:38 +0000 Subject: hg: jdk8/tl/corba: 3 new changesets Message-ID: <20130213201141.D1F8D47A3A@hg.openjdk.java.net> 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 From lana.steuck at oracle.com Wed Feb 13 20:11:43 2013 From: lana.steuck at oracle.com (lana.steuck at oracle.com) Date: Wed, 13 Feb 2013 20:11:43 +0000 Subject: hg: jdk8/tl/jaxws: 3 new changesets Message-ID: <20130213201151.53CD647A3B@hg.openjdk.java.net> 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 From lana.steuck at oracle.com Wed Feb 13 20:11:43 2013 From: lana.steuck at oracle.com (lana.steuck at oracle.com) Date: Wed, 13 Feb 2013 20:11:43 +0000 Subject: hg: jdk8/tl/jaxp: 4 new changesets Message-ID: <20130213201155.6354047A3C@hg.openjdk.java.net> 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 From lana.steuck at oracle.com Wed Feb 13 20:11:49 2013 From: lana.steuck at oracle.com (lana.steuck at oracle.com) Date: Wed, 13 Feb 2013 20:11:49 +0000 Subject: hg: jdk8/tl/langtools: 5 new changesets Message-ID: <20130213201205.3D4A047A3D@hg.openjdk.java.net> 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 From lana.steuck at oracle.com Wed Feb 13 20:12:20 2013 From: lana.steuck at oracle.com (lana.steuck at oracle.com) Date: Wed, 13 Feb 2013 20:12:20 +0000 Subject: hg: jdk8/tl/hotspot: 74 new changesets Message-ID: <20130213201507.A029A47A3E@hg.openjdk.java.net> 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.mly at 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: serguei.spitsyn at oracle.com ! src/share/vm/oops/constantPool.cpp ! src/share/vm/oops/constantPool.hpp ! src/share/vm/prims/jvmtiRedefineClasses.cpp Changeset: 4a0dd3799a44 Author: minqi Date: 2013-01-25 04:23 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/4a0dd3799a44 Merge Changeset: 8d1fb417a42d Author: minqi Date: 2013-01-25 13:47 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/8d1fb417a42d Merge ! src/share/vm/prims/jvmtiRedefineClasses.cpp Changeset: cf8470eaf7e5 Author: acorn Date: 2013-01-27 21:58 -0500 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/cf8470eaf7e5 Merge - agent/src/share/classes/sun/jvm/hotspot/memory/BinaryTreeDictionary.java - make/solaris/makefiles/kernel.make ! src/cpu/x86/vm/assembler_x86.hpp ! src/share/vm/classfile/vmSymbols.hpp Changeset: 16fb9f942703 Author: acorn Date: 2013-01-25 15:06 -0500 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/16fb9f942703 6479360: PrintClassHistogram improvements Summary: jcmd GC.class_stats (UnlockDiagnosticVMOptions) Reviewed-by: coleenp, hseigel, sla, acorn Contributed-by: ioi.lam at oracle.com ! src/share/vm/classfile/classLoaderData.cpp ! src/share/vm/classfile/classLoaderData.hpp ! src/share/vm/gc_implementation/shared/vmGCOperations.cpp ! src/share/vm/gc_implementation/shared/vmGCOperations.hpp ! src/share/vm/memory/heapInspection.cpp ! src/share/vm/memory/heapInspection.hpp ! src/share/vm/oops/annotations.cpp ! src/share/vm/oops/annotations.hpp ! src/share/vm/oops/arrayKlass.hpp ! src/share/vm/oops/constMethod.cpp ! src/share/vm/oops/constMethod.hpp ! src/share/vm/oops/constantPool.cpp ! src/share/vm/oops/constantPool.hpp ! src/share/vm/oops/instanceKlass.cpp ! src/share/vm/oops/instanceKlass.hpp ! src/share/vm/oops/klass.cpp ! src/share/vm/oops/klass.hpp ! src/share/vm/oops/method.cpp ! src/share/vm/oops/method.hpp ! src/share/vm/oops/methodData.cpp ! src/share/vm/oops/methodData.hpp ! src/share/vm/services/diagnosticCommand.cpp ! src/share/vm/services/diagnosticCommand.hpp Changeset: 0d26ce8e9251 Author: acorn Date: 2013-01-28 10:34 -0500 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/0d26ce8e9251 Merge - make/solaris/makefiles/kernel.make ! src/share/vm/oops/constantPool.cpp ! src/share/vm/oops/constantPool.hpp Changeset: 815957d0203e Author: acorn Date: 2013-01-28 10:55 -0500 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/815957d0203e 8004967: Default method cause VerifyError: Illegal use of nonvirtual Summary: Recognize VM generated method in old verifier Reviewed-by: acorn, coleenp Contributed-by: bharadwaj.yadavelli at oracle.com ! make/bsd/makefiles/mapfile-vers-debug ! make/bsd/makefiles/mapfile-vers-product ! make/linux/makefiles/mapfile-vers-debug ! make/linux/makefiles/mapfile-vers-product ! make/solaris/makefiles/mapfile-vers ! src/share/vm/prims/jvm.cpp ! src/share/vm/prims/jvm.h Changeset: 7885e162c30f Author: acorn Date: 2013-01-28 09:33 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/7885e162c30f Merge Changeset: 9be6cde7919d Author: ctornqvi Date: 2013-01-25 10:14 +0100 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/9be6cde7919d 8006413: Add utility classes for writing better multiprocess tests in jtreg Summary: Add a few utility classes to test/testlibrary to support multi process testing in jtreg tests. Added a test case for one of the utility classes. Also reviewed by Vitaly Davidovich Reviewed-by: brutisso, dholmes, vlivanov, nloodin, mgerdin + test/testlibrary/OutputAnalyzerTest.java + test/testlibrary/com/oracle/java/testlibrary/JDKToolFinder.java + test/testlibrary/com/oracle/java/testlibrary/OutputAnalyzer.java + test/testlibrary/com/oracle/java/testlibrary/OutputBuffer.java + test/testlibrary/com/oracle/java/testlibrary/ProcessTools.java + test/testlibrary/com/oracle/java/testlibrary/StreamPumper.java Changeset: baf7fac3167e Author: hseigel Date: 2013-02-01 14:14 -0500 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/baf7fac3167e 8006298: Specifying malformed JFR options (-XX:+FlightRecorderOptions) outputs non-sensical error Summary: Change error messages for malformed options so the messages are more useful. Reviewed-by: mikael, kvn, nloodin ! src/share/vm/runtime/arguments.cpp Changeset: 4c75576d18d0 Author: hseigel Date: 2013-02-01 13:30 -0500 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/4c75576d18d0 Merge Changeset: 9bf5f643d1cf Author: sspitsyn Date: 2013-01-31 20:07 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/9bf5f643d1cf 8006542: JSR 292: the VM_RedefineClasses::append_entry() must support invokedynamic entry kinds Summary: Need a support for invokedynamic entry kinds when new and old constant pools are merged. Reviewed-by: coleenp, twisti Contributed-by: serguei.spitsyn at oracle.com ! src/share/vm/prims/jvmtiRedefineClasses.cpp ! src/share/vm/prims/jvmtiRedefineClasses.hpp Changeset: dc31f560d6e7 Author: sspitsyn Date: 2013-01-31 20:09 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/dc31f560d6e7 8006546: JSR 292: typos in the ConstantPool::copy_cp_impl() Summary: Simple typos that need to be fixed Reviewed-by: coleenp, twisti Contributed-by: serguei.spitsyn at oracle.com ! src/share/vm/oops/constantPool.cpp Changeset: 79c1bb8fce5d Author: sspitsyn Date: 2013-01-31 20:11 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/79c1bb8fce5d 8006731: JSR 292: the VM_RedefineClasses::rewrite_cp_refs_in_method() must support invokedynamic Summary: The invokedynamic bytecode ref to a CP entry needs to be checked and fixed as well. Reviewed-by: coleenp, twisti Contributed-by: serguei.spitsyn at oracle.com ! src/share/vm/prims/jvmtiRedefineClasses.cpp Changeset: 9a9f870325cf Author: minqi Date: 2013-02-01 10:57 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/9a9f870325cf Merge Changeset: b935589d2807 Author: minqi Date: 2013-02-01 14:42 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/b935589d2807 Merge Changeset: 44c5fcd9cb25 Author: iklam Date: 2013-01-24 10:57 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/44c5fcd9cb25 8006280: Need to reorder metadata structures to reduce size (64-bit) Summary: Reordered Klass, InstanceKlass and Method to save 8 bytes each Reviewed-by: coleenp, jiangli Contributed-by: ioi.lam at oracle.com ! src/share/vm/oops/instanceKlass.hpp ! src/share/vm/oops/klass.hpp ! src/share/vm/oops/method.hpp Changeset: 1eae78177059 Author: jiangli Date: 2013-02-01 15:25 -0500 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/1eae78177059 Merge - make/solaris/makefiles/kernel.make ! src/share/vm/oops/instanceKlass.hpp ! src/share/vm/oops/klass.hpp ! src/share/vm/oops/method.hpp Changeset: dc8ad3fd7050 Author: jiangli Date: 2013-02-01 19:36 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/dc8ad3fd7050 Merge Changeset: 4102b59539ce Author: ctornqvi Date: 2013-02-01 23:48 +0100 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/4102b59539ce 8005012: Add WB APIs to better support NMT testing Summary: Add WB API functions to enable better NMT testing Reviewed-by: dholmes, zgu ! src/share/tools/whitebox/sun/hotspot/WhiteBox.java ! src/share/vm/memory/allocation.hpp ! src/share/vm/prims/whitebox.cpp ! src/share/vm/services/memBaseline.cpp ! src/share/vm/services/memPtr.cpp ! src/share/vm/services/memPtr.hpp ! src/share/vm/services/memRecorder.cpp ! src/share/vm/services/memRecorder.hpp ! src/share/vm/services/memTrackWorker.cpp ! src/share/vm/services/memTrackWorker.hpp ! src/share/vm/services/memTracker.cpp ! src/share/vm/services/memTracker.hpp Changeset: 4460acf8687b Author: ctornqvi Date: 2013-02-02 07:24 +0100 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/4460acf8687b Merge Changeset: 9fe95b01ad32 Author: ctornqvi Date: 2013-02-02 08:46 +0100 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/9fe95b01ad32 Merge Changeset: 43badbe2717a Author: minqi Date: 2013-01-31 17:43 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/43badbe2717a 8000973: SA on windows thread inspection is broken Summary: After bug 7161732, On Windows SA could not find correct address of thread_id of OSThread since _thread_id moved to end of the class . The presupposition of the address is following thread handle no longer stands. Fix by adding thread_id field to OSThread and getting the address directly from OSThread. Reviewed-by: nloodin, sspitsyn Contributed-by: yumin.qi at oracle.com ! agent/src/share/classes/sun/jvm/hotspot/debugger/windbg/amd64/WindbgAMD64Thread.java ! agent/src/share/classes/sun/jvm/hotspot/debugger/windbg/x86/WindbgX86Thread.java ! agent/src/share/classes/sun/jvm/hotspot/runtime/OSThread.java ! agent/src/share/classes/sun/jvm/hotspot/runtime/win32_amd64/Win32AMD64JavaThreadPDAccess.java ! agent/src/share/classes/sun/jvm/hotspot/runtime/win32_x86/Win32X86JavaThreadPDAccess.java Changeset: 65b632b77a97 Author: minqi Date: 2013-02-01 22:41 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/65b632b77a97 Merge Changeset: ff5401ad5635 Author: minqi Date: 2013-02-02 03:51 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/ff5401ad5635 Merge Changeset: 879c6de913d6 Author: ctornqvi Date: 2013-02-02 16:34 +0100 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/879c6de913d6 8005013: Add NMT tests Summary: Add tests for the Native Memory Tracking feature, includes regression tests for 8005936 and 8004802 Reviewed-by: zgu, coleenp ! test/TEST.ROOT + test/runtime/NMT/AllocTestType.java + test/runtime/NMT/BaselineWithParameter.java + test/runtime/NMT/CommandLineDetail.java + test/runtime/NMT/CommandLineEmptyArgument.java + test/runtime/NMT/CommandLineInvalidArgument.java + test/runtime/NMT/CommandLineSummary.java + test/runtime/NMT/CommandLineTurnOffNMT.java + test/runtime/NMT/JcmdScale.java + test/runtime/NMT/JcmdWithNMTDisabled.java + test/runtime/NMT/PrintNMTStatistics.java + test/runtime/NMT/PrintNMTStatisticsWithNMTDisabled.java + test/runtime/NMT/ShutdownTwice.java + test/runtime/NMT/SummaryAfterShutdown.java + test/runtime/NMT/SummarySanityCheck.java Changeset: a7f9a1195d86 Author: ctornqvi Date: 2013-02-02 20:13 +0100 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/a7f9a1195d86 8000363: runtime/7158988/FieldMonitor.java fails with exception Summary: Removed unnecessary shell script in the test. Reviewed-by: coleenp, sla ! test/runtime/7158988/FieldMonitor.java - test/runtime/7158988/TestFieldMonitor.sh Changeset: 8f696cf1a0fb Author: dsamersoff Date: 2013-02-03 22:28 +0400 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/8f696cf1a0fb 8002048: Protocol to discovery of manageable Java processes on a network Summary: Introduce a protocol to discover manageble Java instances across a network subnet, JDP Reviewed-by: sla, dfuchs ! src/share/vm/services/diagnosticCommand.cpp ! src/share/vm/services/diagnosticCommand.hpp Changeset: c4ef3380a70b Author: hseigel Date: 2013-02-03 16:49 -0500 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/c4ef3380a70b 7197672: There are issues with shared data on windows Summary: On Windows, set rw protection on the CDS file just before removing it. Reviewed-by: dcubed, iklam ! src/share/vm/memory/filemap.cpp Changeset: ce5467120c84 Author: hseigel Date: 2013-02-03 17:12 -0500 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/ce5467120c84 Merge Changeset: 10d5f25a7c67 Author: hseigel Date: 2013-02-04 08:26 -0500 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/10d5f25a7c67 8000968: NPG: UseCompressedKlassPointers asserts with ObjectAlignmentInBytes for > 32G CompressedOops Summary: Pick a base that works for both CompressedOpps alignment and CompressedKlassPtrs alignment. Reviewed-by: kvn, roland ! src/share/vm/memory/universe.cpp ! src/share/vm/memory/universe.hpp ! src/share/vm/oops/oop.inline.hpp ! src/share/vm/runtime/arguments.cpp + test/runtime/8000968/Test8000968.sh Changeset: 24a91505f9d5 Author: emc Date: 2013-02-04 13:05 -0500 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/24a91505f9d5 8006949: Update hotspot for MethodParameters format change 8006907: Hotspot should reject classfiles with multiple MethodParameters attributes Summary: Update to Hotspot's processing of MethodParameters attributes in classfiles Reviewed-by: coleenp, jrose ! src/share/vm/classfile/classFileParser.cpp ! src/share/vm/oops/constMethod.hpp ! src/share/vm/prims/jvm.cpp Changeset: 42ea5e1fad75 Author: coleenp Date: 2013-02-04 13:51 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/42ea5e1fad75 Merge Changeset: ab826603e572 Author: simonis Date: 2013-02-04 13:14 -0500 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/ab826603e572 8007475: Memory stomp with UseMallocOnly Summary: Fix off-by-one error Reviewed-by: coleenp, hseigel ! src/share/vm/classfile/stackMapFrame.hpp + test/runtime/8007475/StackMapFrameTest.java Changeset: a401757763f9 Author: coleenp Date: 2013-02-04 22:59 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/a401757763f9 Merge Changeset: 12285410684f Author: dholmes Date: 2013-02-04 23:53 -0500 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/12285410684f 8006508: Wrong frame constructor is called in os_linux_x86.cpp Reviewed-by: dholmes, coleenp Contributed-by: Jeremy Manson ! src/os_cpu/bsd_x86/vm/os_bsd_x86.cpp ! src/os_cpu/linux_x86/vm/os_linux_x86.cpp ! src/os_cpu/windows_x86/vm/os_windows_x86.cpp Changeset: f3ea1af9207a Author: dholmes Date: 2013-02-05 00:59 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/f3ea1af9207a Merge Changeset: 454d7cc622ab Author: dcubed Date: 2013-02-06 15:22 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/454d7cc622ab Merge - agent/src/share/classes/sun/jvm/hotspot/memory/BinaryTreeDictionary.java - make/solaris/makefiles/kernel.make ! src/share/vm/gc_implementation/concurrentMarkSweep/vmStructs_cms.hpp - test/runtime/7158988/TestFieldMonitor.sh Changeset: fcc9e7681d63 Author: vlivanov Date: 2013-02-01 02:50 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/fcc9e7681d63 8006410: allocating without ResourceMark when CompileCommand was specified Reviewed-by: kvn, vlivanov Contributed-by: Igor Ignatyev ! src/share/vm/ci/ciEnv.cpp ! src/share/vm/ci/ciInstanceKlass.cpp ! src/share/vm/ci/ciMethod.cpp ! src/share/vm/ci/ciMethodData.cpp ! src/share/vm/oops/symbol.cpp Changeset: 60bba1398c51 Author: vlivanov Date: 2013-02-01 03:02 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/60bba1398c51 8005439: no message about inline method if it specifed by CompileCommand Reviewed-by: kvn, vlivanov Contributed-by: Igor Ignatyev ! src/share/vm/c1/c1_GraphBuilder.cpp ! src/share/vm/opto/bytecodeInfo.cpp ! src/share/vm/opto/parse.hpp Changeset: e4bb0bda20a4 Author: morris Date: 2013-01-25 16:31 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/e4bb0bda20a4 8005811: Turn off TierdCompilation in JDK8 trunk for all platforms Summary: Disable tiered compilation in jdk8 because of CodeCache and performance anomalies Reviewed-by: kvn, twisti ! src/cpu/sparc/vm/c2_globals_sparc.hpp ! src/cpu/x86/vm/c2_globals_x86.hpp Changeset: 76341426b645 Author: drchase Date: 2013-01-25 16:09 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/76341426b645 8006500: compiler/8004741/Test8004741.java fails intermediately Summary: rewrote the test to be more reliable, add test for invalid size exception Reviewed-by: kvn ! test/compiler/8004741/Test8004741.java Changeset: 9fae07c31641 Author: morris Date: 2013-01-25 16:50 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/9fae07c31641 6518907: cleanup IA64 specific code in Hotspot Summary: removed unused IA64 specific code Reviewed-by: twisti, kvn, dholmes ! agent/src/os/linux/LinuxDebuggerLocal.c ! agent/src/os/linux/libproc.h ! agent/src/os/win32/windbg/sawindbg.cpp ! src/os/linux/vm/os_linux.cpp ! src/os/windows/vm/os_windows.cpp ! src/share/vm/interpreter/bytecodeInterpreter.cpp ! src/share/vm/opto/generateOptoStub.cpp ! src/share/vm/runtime/os.cpp ! src/share/vm/runtime/sharedRuntime.cpp ! src/share/vm/runtime/synchronizer.cpp ! src/share/vm/runtime/vframeArray.cpp Changeset: 37c18711a0df Author: roland Date: 2013-02-04 09:11 +0100 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/37c18711a0df 8005114: VM is crashing in ciKlass*ciObjArrayKlass::element_klass() if metaspaces are full Summary: missing test for loaded klass in c1 Reviewed-by: kvn ! src/share/vm/c1/c1_Instruction.cpp Changeset: 39901f2f1abe Author: mikael Date: 2013-02-04 10:28 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/39901f2f1abe 8007403: Incorrect format arguments in adlparse.cpp Reviewed-by: kvn, twisti ! src/share/vm/adlc/adlparse.cpp Changeset: 8bd61471a109 Author: roland Date: 2013-02-04 11:30 +0100 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/8bd61471a109 8007144: Incremental inlining mistakes some call sites for dead ones and doesn't inline them Summary: wrong detection for dead call sites. Reviewed-by: kvn ! src/share/vm/opto/callGenerator.cpp Changeset: 6a51fc70a15e Author: vlivanov Date: 2013-02-05 08:25 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/6a51fc70a15e 8006613: adding reason to made_not_compilable Reviewed-by: kvn, vlivanov Contributed-by: Igor Ignatyev ! src/share/vm/ci/ciMethod.cpp ! src/share/vm/ci/ciMethod.hpp ! src/share/vm/compiler/compileBroker.cpp ! src/share/vm/oops/method.cpp ! src/share/vm/oops/method.hpp ! src/share/vm/oops/methodData.hpp ! src/share/vm/runtime/deoptimization.cpp Changeset: 4fcf990aa34a Author: drchase Date: 2013-02-06 11:33 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/4fcf990aa34a 8006807: C2 crash due to out of bounds array access in Parse::do_multianewarray Summary: check ndimensions before accessing length[i] element Reviewed-by: kvn Contributed-by: volker.simonis at gmail.com ! src/share/vm/opto/parse3.cpp Changeset: d05ff4bf41b3 Author: vlivanov Date: 2013-02-07 12:23 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/d05ff4bf41b3 Merge ! src/share/vm/oops/method.cpp ! src/share/vm/oops/method.hpp ! src/share/vm/oops/methodData.hpp Changeset: db9981fd3124 Author: jprovino Date: 2013-01-23 13:02 -0500 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/db9981fd3124 8005915: Unify SERIALGC and INCLUDE_ALTERNATE_GCS Summary: Rename INCLUDE_ALTERNATE_GCS to INCLUDE_ALL_GCS and replace SERIALGC with INCLUDE_ALL_GCS. Reviewed-by: coleenp, stefank ! make/bsd/makefiles/minimal1.make ! make/excludeSrc.make ! make/linux/makefiles/minimal1.make ! src/cpu/sparc/vm/c1_CodeStubs_sparc.cpp ! src/cpu/sparc/vm/c1_Runtime1_sparc.cpp ! src/cpu/sparc/vm/cppInterpreter_sparc.cpp ! src/cpu/sparc/vm/macroAssembler_sparc.cpp ! src/cpu/sparc/vm/macroAssembler_sparc.hpp ! src/cpu/sparc/vm/templateInterpreter_sparc.cpp ! src/cpu/sparc/vm/templateTable_sparc.cpp ! src/cpu/x86/vm/assembler_x86.cpp ! src/cpu/x86/vm/c1_CodeStubs_x86.cpp ! src/cpu/x86/vm/c1_Runtime1_x86.cpp ! src/cpu/x86/vm/cppInterpreter_x86.cpp ! src/cpu/x86/vm/macroAssembler_x86.cpp ! src/cpu/x86/vm/macroAssembler_x86.hpp ! src/cpu/x86/vm/templateInterpreter_x86_32.cpp ! src/cpu/x86/vm/templateInterpreter_x86_64.cpp ! src/cpu/x86/vm/templateTable_x86_32.cpp ! src/cpu/x86/vm/templateTable_x86_64.cpp ! src/cpu/zero/vm/assembler_zero.cpp ! src/cpu/zero/vm/cppInterpreter_zero.cpp ! src/share/vm/c1/c1_CodeStubs.hpp ! src/share/vm/c1/c1_LIRGenerator.cpp ! src/share/vm/ci/ciEnv.cpp ! src/share/vm/ci/ciReplay.cpp ! src/share/vm/gc_implementation/g1/g1SATBCardTableModRefBS.hpp ! src/share/vm/gc_implementation/g1/heapRegion.hpp ! src/share/vm/gc_implementation/shared/allocationStats.cpp ! src/share/vm/gc_implementation/shared/allocationStats.hpp ! src/share/vm/gc_implementation/shared/concurrentGCThread.hpp ! src/share/vm/gc_implementation/shared/gSpaceCounters.cpp ! src/share/vm/gc_implementation/shared/gSpaceCounters.hpp ! src/share/vm/gc_implementation/shared/gcAdaptivePolicyCounters.hpp ! src/share/vm/gc_implementation/shared/hSpaceCounters.hpp ! src/share/vm/gc_implementation/shared/immutableSpace.cpp ! src/share/vm/gc_implementation/shared/isGCActiveMark.hpp ! src/share/vm/gc_implementation/shared/markSweep.inline.hpp ! src/share/vm/gc_implementation/shared/mutableNUMASpace.hpp ! src/share/vm/gc_implementation/shared/mutableSpace.cpp ! src/share/vm/gc_implementation/shared/spaceCounters.cpp ! src/share/vm/gc_implementation/shared/spaceCounters.hpp ! src/share/vm/gc_implementation/shared/vmGCOperations.cpp ! src/share/vm/memory/binaryTreeDictionary.cpp ! src/share/vm/memory/cardTableModRefBS.cpp ! src/share/vm/memory/cardTableRS.cpp ! src/share/vm/memory/collectorPolicy.cpp ! src/share/vm/memory/collectorPolicy.hpp ! src/share/vm/memory/freeBlockDictionary.cpp ! src/share/vm/memory/freeList.cpp ! src/share/vm/memory/genCollectedHeap.cpp ! src/share/vm/memory/generationSpec.cpp ! src/share/vm/memory/heapInspection.cpp ! src/share/vm/memory/heapInspection.hpp ! src/share/vm/memory/space.cpp ! src/share/vm/memory/space.hpp ! src/share/vm/memory/specialized_oop_closures.hpp ! src/share/vm/memory/tenuredGeneration.cpp ! src/share/vm/memory/tenuredGeneration.hpp ! src/share/vm/memory/universe.cpp ! src/share/vm/oops/cpCache.cpp ! src/share/vm/oops/instanceClassLoaderKlass.cpp ! src/share/vm/oops/instanceClassLoaderKlass.hpp ! src/share/vm/oops/instanceKlass.cpp ! src/share/vm/oops/instanceKlass.hpp ! src/share/vm/oops/instanceMirrorKlass.cpp ! src/share/vm/oops/instanceMirrorKlass.hpp ! src/share/vm/oops/instanceRefKlass.cpp ! src/share/vm/oops/instanceRefKlass.hpp ! src/share/vm/oops/klass.cpp ! src/share/vm/oops/klass.hpp ! src/share/vm/oops/klassPS.hpp ! src/share/vm/oops/objArrayKlass.cpp ! src/share/vm/oops/objArrayKlass.hpp ! src/share/vm/oops/objArrayKlass.inline.hpp ! src/share/vm/oops/oop.hpp ! src/share/vm/oops/oop.inline.hpp ! src/share/vm/oops/oop.pcgc.inline.hpp ! src/share/vm/oops/oop.psgc.inline.hpp ! src/share/vm/oops/typeArrayKlass.cpp ! src/share/vm/precompiled/precompiled.hpp ! src/share/vm/prims/jni.cpp ! src/share/vm/prims/jvmtiEnvBase.hpp ! src/share/vm/prims/jvmtiExport.cpp ! src/share/vm/prims/jvmtiExport.hpp ! src/share/vm/prims/jvmtiTagMap.cpp ! src/share/vm/prims/nativeLookup.cpp ! src/share/vm/prims/unsafe.cpp ! src/share/vm/prims/whitebox.cpp ! src/share/vm/runtime/arguments.cpp ! src/share/vm/runtime/fprofiler.hpp ! src/share/vm/runtime/globals.cpp ! src/share/vm/runtime/globals_extension.hpp ! src/share/vm/runtime/init.cpp ! src/share/vm/runtime/java.cpp ! src/share/vm/runtime/safepoint.cpp ! src/share/vm/runtime/sharedRuntime.cpp ! src/share/vm/runtime/sharedRuntime.hpp ! src/share/vm/runtime/thread.cpp ! src/share/vm/runtime/thread.hpp ! src/share/vm/runtime/vmStructs.cpp ! src/share/vm/services/attachListener.hpp ! src/share/vm/services/classLoadingService.cpp ! src/share/vm/services/classLoadingService.hpp ! src/share/vm/services/diagnosticCommand.cpp ! src/share/vm/services/diagnosticCommand.hpp ! src/share/vm/services/g1MemoryPool.hpp ! src/share/vm/services/heapDumper.cpp ! src/share/vm/services/management.cpp ! src/share/vm/services/memReporter.hpp ! src/share/vm/services/memoryPool.cpp ! src/share/vm/services/memoryPool.hpp ! src/share/vm/services/memoryService.cpp ! src/share/vm/services/psMemoryPool.hpp ! src/share/vm/services/runtimeService.cpp ! src/share/vm/utilities/macros.hpp ! src/share/vm/utilities/top.hpp ! src/share/vm/utilities/yieldingWorkgroup.cpp ! src/share/vm/utilities/yieldingWorkgroup.hpp Changeset: 8391fdd36e1f Author: dlong Date: 2013-01-27 01:07 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/8391fdd36e1f Merge ! src/cpu/x86/vm/assembler_x86.cpp ! src/cpu/x86/vm/macroAssembler_x86.cpp ! src/cpu/x86/vm/macroAssembler_x86.hpp ! src/share/vm/ci/ciReplay.cpp ! src/share/vm/memory/universe.cpp ! src/share/vm/runtime/arguments.cpp ! src/share/vm/runtime/vmStructs.cpp ! src/share/vm/services/heapDumper.cpp Changeset: 3c9bc17b9403 Author: bpittore Date: 2013-02-07 16:05 -0500 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/3c9bc17b9403 Merge ! src/share/vm/gc_implementation/shared/vmGCOperations.cpp ! src/share/vm/memory/binaryTreeDictionary.cpp ! src/share/vm/memory/heapInspection.cpp ! src/share/vm/memory/heapInspection.hpp ! src/share/vm/memory/universe.cpp ! src/share/vm/oops/instanceKlass.cpp ! src/share/vm/oops/instanceKlass.hpp ! src/share/vm/oops/klass.cpp ! src/share/vm/oops/klass.hpp ! src/share/vm/oops/oop.inline.hpp ! src/share/vm/prims/jvmtiExport.cpp ! src/share/vm/prims/whitebox.cpp ! src/share/vm/runtime/arguments.cpp ! src/share/vm/runtime/thread.cpp ! src/share/vm/runtime/vmStructs.cpp ! src/share/vm/services/attachListener.hpp ! src/share/vm/services/diagnosticCommand.cpp ! src/share/vm/services/diagnosticCommand.hpp Changeset: df8462fbe585 Author: vladidan Date: 2013-02-07 20:40 -0500 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/df8462fbe585 Merge ! src/share/vm/ci/ciEnv.cpp ! src/share/vm/runtime/sharedRuntime.cpp Changeset: ec0c4951286c Author: stefank Date: 2013-01-29 10:51 +0100 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/ec0c4951286c 8004710: NPG: jmap could throw sun.jvm.hotspot.types.WrongTypeException after PermGen removal Summary: When calculating live object regions, make sure that the alignment reserve, at the end of a TLAB, is excluded. Reviewed-by: jmasa, brutisso ! agent/src/share/classes/sun/jvm/hotspot/oops/ObjectHeap.java ! agent/src/share/classes/sun/jvm/hotspot/runtime/ThreadLocalAllocBuffer.java ! agent/src/share/classes/sun/jvm/hotspot/runtime/VM.java ! src/share/vm/runtime/vmStructs.cpp Changeset: 4700e77d44c1 Author: johnc Date: 2013-02-01 13:17 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/4700e77d44c1 8006894: G1: Number of marking threads missing from PrintFlagsFinal output Summary: Set ConcGCThreads to the calculated number of marking threads. Reviewed-by: jmasa, ysr ! src/share/vm/gc_implementation/g1/concurrentMark.cpp Changeset: d9058e388631 Author: mikael Date: 2013-02-01 17:21 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/d9058e388631 8007257: NPG: metaspace.cpp: Incorrect arguments in calls to err_msg Summary: Fix size checks in assert and corrected some print formats. Also reviewed by vitalyd at gmail.com. Reviewed-by: coleenp, sspitsyn ! src/share/vm/memory/metaspace.cpp Changeset: 256d3f43c177 Author: johnc Date: 2013-01-31 10:45 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/256d3f43c177 8005875: G1: Kitchensink fails with ParallelGCThreads=0 Summary: Check that the concurrent marking worker gang exists in ConcurrentMark::print_worker_threads_on(). Changes were also reviewed by Vitaly Davidovich . Reviewed-by: brutisso ! src/share/vm/gc_implementation/g1/concurrentMark.cpp ! src/share/vm/gc_implementation/g1/concurrentMark.hpp Changeset: 80518f4ecf32 Author: jmasa Date: 2013-02-04 12:51 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/80518f4ecf32 Merge ! src/share/vm/runtime/vmStructs.cpp Changeset: f2f0cf0f5444 Author: jmasa Date: 2013-02-04 13:26 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/f2f0cf0f5444 Merge Changeset: 06fd03af6ce4 Author: johnc Date: 2013-02-04 13:24 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/06fd03af6ce4 8001384: G1: assert(!is_null(v)) failed: narrow oop value can never be zero Summary: Flush any deferred card mark before a Java thread exits. Reviewed-by: brutisso, jmasa ! src/share/vm/runtime/thread.cpp Changeset: 84304a77c4e3 Author: johnc Date: 2013-02-04 19:40 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/84304a77c4e3 Merge Changeset: 95ccff9eee8e Author: jwilhelm Date: 2013-01-28 15:41 +0100 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/95ccff9eee8e 6348447: Specifying -XX:OldSize crashes 64-bit VMs Summary: Heap size will be set to allow for OldSize to fit. Also reviewed by vitalyd at gmail.com Reviewed-by: ehelin, jmasa ! src/share/vm/memory/collectorPolicy.cpp ! src/share/vm/memory/collectorPolicy.hpp Changeset: f90b9bceb8e5 Author: johnc Date: 2013-02-05 09:13 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/f90b9bceb8e5 8005032: G1: Cleanup serial reference processing closures in concurrent marking Summary: Reuse the parallel reference processing oop closures during serial reference processing. Reviewed-by: brutisso ! src/share/vm/gc_implementation/g1/concurrentMark.cpp ! src/share/vm/gc_implementation/g1/concurrentMark.hpp Changeset: 50d3b37d5bcd Author: johnc Date: 2013-02-05 22:24 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/50d3b37d5bcd Merge Changeset: 1135141fb97e Author: brutisso Date: 2013-02-08 10:08 +0100 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/1135141fb97e Merge ! src/share/vm/memory/collectorPolicy.cpp ! src/share/vm/memory/collectorPolicy.hpp ! src/share/vm/runtime/thread.cpp ! src/share/vm/runtime/vmStructs.cpp Changeset: 412d722168bc Author: amurillo Date: 2013-02-08 08:07 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/412d722168bc Merge - agent/src/share/classes/sun/jvm/hotspot/memory/BinaryTreeDictionary.java - make/solaris/makefiles/kernel.make - test/runtime/7158988/TestFieldMonitor.sh Changeset: cdb46031e718 Author: amurillo Date: 2013-02-08 08:07 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/cdb46031e718 Added tag hs25-b18 for changeset 412d722168bc ! .hgtags From lana.steuck at oracle.com Wed Feb 13 20:12:29 2013 From: lana.steuck at oracle.com (lana.steuck at oracle.com) Date: Wed, 13 Feb 2013 20:12:29 +0000 Subject: hg: jdk8/tl/jdk: 17 new changesets Message-ID: <20130213201754.188E447A3F@hg.openjdk.java.net> 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.chen at 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 +0000 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 +0000 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/171443b1eb3b 7077259: [TEST_BUG] [macosx] Test work correctly only when default L&F 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: b2fc8e31cecc Author: lana Date: 2013-02-11 16:14 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/b2fc8e31cecc 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: ff80a6b2ae9b Author: lana Date: 2013-02-13 11:25 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/ff80a6b2ae9b Merge Changeset: a5aad284904e Author: lana Date: 2013-02-13 11:57 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/a5aad284904e Merge From kumar.x.srinivasan at oracle.com Wed Feb 13 21:04:06 2013 From: kumar.x.srinivasan at oracle.com (kumar.x.srinivasan at oracle.com) Date: Wed, 13 Feb 2013 21:04:06 +0000 Subject: hg: jdk8/tl/jdk: 8005750: [parfait] Memory leak at jdk/src/share/bin/parse_manifest.c Message-ID: <20130213210430.BEEF847A44@hg.openjdk.java.net> 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 From daniel.daugherty at oracle.com Wed Feb 13 21:23:16 2013 From: daniel.daugherty at oracle.com (daniel.daugherty at oracle.com) Date: Wed, 13 Feb 2013 21:23:16 +0000 Subject: hg: jdk8/tl/jdk: 8007935: java/lang/instrument/RedefineSubclassWithTwoInterfaces.sh should use $COMPILEJAVA for javac Message-ID: <20130213212336.BAB1B47A4B@hg.openjdk.java.net> 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 From karen.kinnear at oracle.com Wed Feb 13 21:33:42 2013 From: karen.kinnear at oracle.com (karen.kinnear at oracle.com) Date: Wed, 13 Feb 2013 21:33:42 +0000 Subject: hg: jdk8/tl/jdk: 2 new changesets Message-ID: <20130213213406.00F8047A4C@hg.openjdk.java.net> 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.yadavalli at 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 From joe.darcy at oracle.com Thu Feb 14 07:05:28 2013 From: joe.darcy at oracle.com (joe.darcy at oracle.com) Date: Thu, 14 Feb 2013 07:05:28 +0000 Subject: hg: jdk8/tl/langtools: 8001457: New tests needed for library-side changes for repeating annotations Message-ID: <20130214070531.6FABF47A6A@hg.openjdk.java.net> 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.goel at 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 From chris.hegarty at oracle.com Thu Feb 14 13:01:56 2013 From: chris.hegarty at oracle.com (chris.hegarty at oracle.com) Date: Thu, 14 Feb 2013 13:01:56 +0000 Subject: hg: jdk8/tl/jdk: 8008201: Add java/lang/Class/asSubclass/BasicUnit.java to the ProblemList Message-ID: <20130214130218.73A3C47A79@hg.openjdk.java.net> Changeset: 153884b550f0 Author: chegar Date: 2013-02-14 13:01 +0000 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/153884b550f0 8008201: Add java/lang/Class/asSubclass/BasicUnit.java to the ProblemList Reviewed-by: mcimadamore ! test/ProblemList.txt From mandy.chung at oracle.com Thu Feb 14 17:44:18 2013 From: mandy.chung at oracle.com (mandy.chung at oracle.com) Date: Thu, 14 Feb 2013 17:44:18 +0000 Subject: hg: jdk8/tl/langtools: 8006225: tools/jdeps/Basic.java failes with AssertionError Message-ID: <20130214174421.CF37B47A95@hg.openjdk.java.net> Changeset: 88286a36bb34 Author: mchung Date: 2013-02-14 09:43 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/langtools/rev/88286a36bb34 8006225: tools/jdeps/Basic.java failes with AssertionError Reviewed-by: alanb + src/share/classes/com/sun/tools/jdeps/Analyzer.java ! src/share/classes/com/sun/tools/jdeps/Archive.java ! src/share/classes/com/sun/tools/jdeps/JdepsTask.java ! test/tools/jdeps/Basic.java From mike.duigou at oracle.com Thu Feb 14 17:55:14 2013 From: mike.duigou at oracle.com (mike.duigou at oracle.com) Date: Thu, 14 Feb 2013 17:55:14 +0000 Subject: hg: jdk8/tl/jdk: 8008167: IdentityHashMap.[keySet|values|entrySet].toArray speed-up Message-ID: <20130214175538.236EC47A96@hg.openjdk.java.net> Changeset: e57019d2f34a Author: mduigou Date: 2013-02-13 14:50 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/e57019d2f34a 8008167: IdentityHashMap.[keySet|values|entrySet].toArray speed-up Reviewed-by: mduigou, martin Contributed-by: Peter Levart ! src/share/classes/java/util/IdentityHashMap.java From mandy.chung at oracle.com Thu Feb 14 19:09:30 2013 From: mandy.chung at oracle.com (mandy.chung at oracle.com) Date: Thu, 14 Feb 2013 19:09:30 +0000 Subject: hg: jdk8/tl/jdk: 8007736: VerifyError for use of static method in interface Message-ID: <20130214190943.2B08D47A98@hg.openjdk.java.net> Changeset: 1405ad6afb1e Author: bharadwaj Date: 2013-02-14 11:09 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/1405ad6afb1e 8007736: VerifyError for use of static method in interface Reviewed-by: mchung ! src/share/native/common/check_code.c + test/vm/verifier/TestStaticIF.java From dmitry.degrave at oracle.com Thu Feb 14 21:51:11 2013 From: dmitry.degrave at oracle.com (dmitry.degrave at oracle.com) Date: Thu, 14 Feb 2013 21:51:11 +0000 Subject: hg: jdk8/tl/corba: 7199858: Marshal exception is wrong Message-ID: <20130214215111.D1D6247AA0@hg.openjdk.java.net> Changeset: e725dd195858 Author: dmeetry Date: 2013-02-15 01:49 +0400 URL: http://hg.openjdk.java.net/jdk8/tl/corba/rev/e725dd195858 7199858: Marshal exception is wrong Reviewed-by: lancea ! src/share/classes/com/sun/corba/se/impl/corba/TypeCodeImpl.java From mark.sheppard at oracle.com Thu Feb 14 13:24:34 2013 From: mark.sheppard at oracle.com (Mark Sheppard) Date: Thu, 14 Feb 2013 13:24:34 +0000 Subject: RFR JDK-8006182 Message-ID: <511CE592.9010901@oracle.com> Hi, as part of a refactoring of the jdk codebase to use the base64 capabilities of java.util.Base64, the following modifications, as per the webrev, http://cr.openjdk.java.net/~chegar/8006182/webrev.00/ have been made to complete task JDK-8006182. Could you oblige and review these changes, please? Description: jdk8 has java.util.Base64 to define a standard API for base64 encoding/decoding. It would be good to investigate whether this API could be used in the security components, providers and regression tests. In the main this work involved replacing the sun.misc.BASE64Encoder and sun.misc.BASE64Decoder with the corresponding Mime Base64 Encoder/Decoder (as per rfc2045) from the java.util.Base64 class. This is a like for like replacement. As such, sun.misc.BASE64Encoder maps to the encoder returned by java.util.Base64.getMimeEncoder() sun.misc.BASE64Decoder maps to the decoder returned by java.util.Base64.getMimeDecoder() However a couple of items worth noting: In the jarsigner (Main.java) the standard Base64 encoder (rfc 4648), java.util.Base64.getEncoder(), has been used to replace the JarBASE64Encoder, which was a package private extension of BASE64Encoder, which avoids writing newline to the encoded data. In the keytool (Main.java), methods such as dumpCert, printCert. printCRL, and so on, write a Base64 encoding to an OutputStream, typically std out. This is achieved in the BASE64Encoder, by passing the OutputStream to methods such as encodeBuffer(). A couple of options exist to do this under the new Base64 utilities, which include: * using a Mime Encoder encodeToString() and output to the stream via println() * use the wrap capabilities of the Base64.Encoder: - define a package private class, which extends FilterOutputStream (e.g. NoCloseWrapperOutputStream) and, overrides close() to do nothing - inject the OutputStream, passed to the keytool method, into the NoCloseWrapperOutputStreamwapper, - wrap() the NoCloseWrapperOutputStreamwrapper in the Mime Encoder, which will in turn return an encapsulating OutputStream; - write the data buffer to be encoded to the encoder's OutputStream; - close the encoder's OutputStream, which completes the base64 encoding; - append a newline to the initial OutputStream. pragmatics and the simplest thing that works, went for the first option. regards Mark From xueming.shen at oracle.com Fri Feb 15 01:19:09 2013 From: xueming.shen at oracle.com (xueming.shen at oracle.com) Date: Fri, 15 Feb 2013 01:19:09 +0000 Subject: hg: jdk8/tl/jdk: 8008254: j.u.Calendar.JavatimeTest failed at TL b78 pit testing Message-ID: <20130215011921.2050947AB0@hg.openjdk.java.net> Changeset: 1ce1a307cded Author: sherman Date: 2013-02-15 01:17 +0000 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/1ce1a307cded 8008254: j.u.Calendar.JavatimeTest failed at TL b78 pit testing Summary: to use j.t.ZoneId zone name to keep round-trip Reviewed-by: okutsu ! test/java/util/Calendar/JavatimeTest.java From chris.hegarty at oracle.com Fri Feb 15 11:07:39 2013 From: chris.hegarty at oracle.com (chris.hegarty at oracle.com) Date: Fri, 15 Feb 2013 11:07:39 +0000 Subject: hg: jdk8/tl/jdk: 8008223: java/net/BindException/Test.java fails rarely Message-ID: <20130215110832.15E1847AE4@hg.openjdk.java.net> Changeset: 048637b40787 Author: chegar Date: 2013-02-15 11:06 +0000 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/048637b40787 8008223: java/net/BindException/Test.java fails rarely Reviewed-by: khazra, alanb ! test/java/net/BindException/Test.java From chris.hegarty at oracle.com Fri Feb 15 15:50:08 2013 From: chris.hegarty at oracle.com (Chris Hegarty) Date: Fri, 15 Feb 2013 15:50:08 +0000 Subject: RFR JDK-8006182 In-Reply-To: <511CE592.9010901@oracle.com> References: <511CE592.9010901@oracle.com> Message-ID: <511E5930.3040202@oracle.com> This looks good to me Mark, some minor comments: - in places you you have imported java.util.Base64, where java.util.* is already imported. Or you may need to slot the new import along with other java.util. imports. - Personally I would go with the NoCloseWrapperOutputStreamwrapper, rather than converting to a String, especially if the incoming data can be rather large. -Chris. On 14/02/2013 13:24, Mark Sheppard wrote: > Hi, > as part of a refactoring of the jdk codebase to use the base64 > capabilities of java.util.Base64, the following modifications, > as per the webrev, > > http://cr.openjdk.java.net/~chegar/8006182/webrev.00/ > > have been made to complete task JDK-8006182. > > Could you oblige and review these changes, please? > > Description: > jdk8 has java.util.Base64 to define a standard API for base64 > encoding/decoding. It would be good to investigate whether this API > could be used in the security components, providers and regression tests. > > In the main this work involved replacing the sun.misc.BASE64Encoder and > sun.misc.BASE64Decoder with the > corresponding Mime Base64 Encoder/Decoder (as per rfc2045) from the > java.util.Base64 class. > This is a like for like replacement. > As such, sun.misc.BASE64Encoder maps to the encoder returned by > java.util.Base64.getMimeEncoder() > sun.misc.BASE64Decoder maps to the decoder returned by > java.util.Base64.getMimeDecoder() > > However a couple of items worth noting: > > In the jarsigner (Main.java) the standard Base64 encoder (rfc 4648), > java.util.Base64.getEncoder(), has been used to replace the > JarBASE64Encoder, which was a package private extension of > BASE64Encoder, which avoids writing newline to the encoded data. > > In the keytool (Main.java), methods such as dumpCert, printCert. > printCRL, and so on, write a Base64 encoding to an OutputStream, > typically std out. > This is achieved in the BASE64Encoder, by passing the OutputStream to > methods such as encodeBuffer(). > > A couple of options exist to do this under the new Base64 utilities, > which include: > > * using a Mime Encoder encodeToString() and output to the stream via > println() > > * use the wrap capabilities of the Base64.Encoder: > - define a package private class, which extends FilterOutputStream (e.g. > NoCloseWrapperOutputStream) and, overrides close() to do nothing > - inject the OutputStream, passed to the keytool method, into the > NoCloseWrapperOutputStreamwapper, > - wrap() the NoCloseWrapperOutputStreamwrapper in the Mime Encoder, > which will in turn return an encapsulating OutputStream; > - write the data buffer to be encoded to the encoder's OutputStream; > - close the encoder's OutputStream, which completes the base64 encoding; > - append a newline to the initial OutputStream. > > pragmatics and the simplest thing that works, went for the first option. > > regards > Mark > > > > > > From vincent.x.ryan at oracle.com Fri Feb 15 15:56:50 2013 From: vincent.x.ryan at oracle.com (Vincent Ryan) Date: Fri, 15 Feb 2013 15:56:50 +0000 Subject: RFR JDK-8006182 In-Reply-To: <511CE592.9010901@oracle.com> References: <511CE592.9010901@oracle.com> Message-ID: Hello Mark, Your changes look fine to me. Just a few minor comments: - PKCS10.java l.296: the commented line seems better than the 2 proceeding lines - keytool/Main.java l.358, SignatureFile.java l.35: superfluous line On 14 Feb 2013, at 13:24, Mark Sheppard wrote: > Hi, > as part of a refactoring of the jdk codebase to use the base64 capabilities of java.util.Base64, the following modifications, > as per the webrev, > > http://cr.openjdk.java.net/~chegar/8006182/webrev.00/ > > have been made to complete task JDK-8006182. > > Could you oblige and review these changes, please? > > Description: > jdk8 has java.util.Base64 to define a standard API for base64 encoding/decoding. It would be good to investigate whether this API could be used in the security components, providers and regression tests. > > In the main this work involved replacing the sun.misc.BASE64Encoder and sun.misc.BASE64Decoder with the > corresponding Mime Base64 Encoder/Decoder (as per rfc2045) from the java.util.Base64 class. > This is a like for like replacement. > As such, sun.misc.BASE64Encoder maps to the encoder returned by java.util.Base64.getMimeEncoder() > sun.misc.BASE64Decoder maps to the decoder returned by java.util.Base64.getMimeDecoder() > > However a couple of items worth noting: > > In the jarsigner (Main.java) the standard Base64 encoder (rfc 4648), java.util.Base64.getEncoder(), has been used to replace the JarBASE64Encoder, which was a package private extension of BASE64Encoder, which avoids writing newline to the encoded data. > > In the keytool (Main.java), methods such as dumpCert, printCert. printCRL, and so on, write a Base64 encoding to an OutputStream, typically std out. > This is achieved in the BASE64Encoder, by passing the OutputStream to methods such as encodeBuffer(). > > A couple of options exist to do this under the new Base64 utilities, which include: > > * using a Mime Encoder encodeToString() and output to the stream via println() > > * use the wrap capabilities of the Base64.Encoder: > - define a package private class, which extends FilterOutputStream (e.g. NoCloseWrapperOutputStream) and, overrides close() to do nothing > - inject the OutputStream, passed to the keytool method, into the NoCloseWrapperOutputStreamwapper, > - wrap() the NoCloseWrapperOutputStreamwrapper in the Mime Encoder, which will in turn return an encapsulating OutputStream; > - write the data buffer to be encoded to the encoder's OutputStream; > - close the encoder's OutputStream, which completes the base64 encoding; > - append a newline to the initial OutputStream. > > pragmatics and the simplest thing that works, went for the first option. > > regards > Mark > > > > > > From jonathan.gibbons at oracle.com Fri Feb 15 16:29:20 2013 From: jonathan.gibbons at oracle.com (jonathan.gibbons at oracle.com) Date: Fri, 15 Feb 2013 16:29:20 +0000 Subject: hg: jdk8/tl/langtools: 8007052: javap should include the descriptor for a method in verbose mode Message-ID: <20130215162925.78AF547AEC@hg.openjdk.java.net> Changeset: 040f02711b73 Author: jjg Date: 2013-02-15 08:28 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/langtools/rev/040f02711b73 8007052: javap should include the descriptor for a method in verbose mode Reviewed-by: mcimadamore ! src/share/classes/com/sun/tools/javap/ClassWriter.java ! src/share/classes/com/sun/tools/javap/JavapTask.java ! src/share/classes/com/sun/tools/javap/Options.java + test/tools/javap/DescriptorTest.java From maurizio.cimadamore at oracle.com Fri Feb 15 16:38:04 2013 From: maurizio.cimadamore at oracle.com (maurizio.cimadamore at oracle.com) Date: Fri, 15 Feb 2013 16:38:04 +0000 Subject: hg: jdk8/tl/langtools: 6 new changesets Message-ID: <20130215163819.E60CC47AEE@hg.openjdk.java.net> Changeset: 0baaae675b19 Author: mcimadamore Date: 2013-02-15 16:28 +0000 URL: http://hg.openjdk.java.net/jdk8/tl/langtools/rev/0baaae675b19 8006749: compiler does not allow Object protected methods to be used in lambda Summary: Check.checkFunctionalInterface should take into account 'fake' override Reviewed-by: jjg ! src/share/classes/com/sun/tools/javac/code/Types.java ! src/share/classes/com/sun/tools/javac/comp/Check.java + test/tools/javac/lambda/LambdaConv26.java Changeset: f6e667f52af4 Author: mcimadamore Date: 2013-02-15 16:28 +0000 URL: http://hg.openjdk.java.net/jdk8/tl/langtools/rev/f6e667f52af4 8007285: AbstractMethodError instead of compile-time error when method reference with super and abstract Summary: Missing abstractness check on super rmethod references Reviewed-by: jjg ! src/share/classes/com/sun/tools/javac/comp/Attr.java + test/tools/javac/lambda/MethodReference62.java + test/tools/javac/lambda/MethodReference62.out Changeset: 4ff468de829d Author: mcimadamore Date: 2013-02-15 16:29 +0000 URL: http://hg.openjdk.java.net/jdk8/tl/langtools/rev/4ff468de829d 8007462: Fix provisional applicability for method references Summary: Add speculative arity-based check to rule out potential candidates when stuck reference is passed to method Reviewed-by: jjg ! src/share/classes/com/sun/tools/javac/comp/Attr.java ! src/share/classes/com/sun/tools/javac/comp/DeferredAttr.java ! src/share/classes/com/sun/tools/javac/comp/Resolve.java ! src/share/classes/com/sun/tools/javac/resources/compiler.properties + test/tools/javac/diags/examples/IncompatibleArgTypesInMethodRef.java + test/tools/javac/lambda/TargetType60.java + test/tools/javac/lambda/TargetType60.out Changeset: 3cd997b9fd84 Author: mcimadamore Date: 2013-02-15 16:30 +0000 URL: http://hg.openjdk.java.net/jdk8/tl/langtools/rev/3cd997b9fd84 8007535: Compiler crashes on @FunctionalInterface used on interface with two inherited methods with same signatures Summary: Bad check in Types.interfaceCandidates Reviewed-by: jjg ! src/share/classes/com/sun/tools/javac/code/Types.java + test/tools/javac/lambda/FunctionalInterfaceAnno02.java Changeset: 186023614cd3 Author: mcimadamore Date: 2013-02-15 16:31 +0000 URL: http://hg.openjdk.java.net/jdk8/tl/langtools/rev/186023614cd3 8007427: Annotation element as '_' gives compiler error instead of a warning 8007401: Write test to check for generation of warnings when '_' is used as an identifier Summary: Extended identifier production not used in annotation values Reviewed-by: jjg Contributed-by: sonali.goel at oracle.com ! src/share/classes/com/sun/tools/javac/parser/JavacParser.java + test/tools/javac/lambda/IdentifierTest.java + test/tools/javac/lambda/IdentifierTest.out Changeset: 258c72fa7fa2 Author: mcimadamore Date: 2013-02-15 16:37 +0000 URL: http://hg.openjdk.java.net/jdk8/tl/langtools/rev/258c72fa7fa2 Merge From mstjohns at comcast.net Fri Feb 15 16:52:47 2013 From: mstjohns at comcast.net (Michael StJohns) Date: Fri, 15 Feb 2013 11:52:47 -0500 Subject: RFR JDK-8006182 In-Reply-To: <511CE592.9010901@oracle.com> References: <511CE592.9010901@oracle.com> Message-ID: <20130215165245.6F33D66A8@mail.openjdk.java.net> Is the "mime" variant of Base64 the correct one for this? I ask because that variant ignores extraneous characters rather than throwing an error on decode. Also, reading the code for the Base64 implementation, it silently "fixes" the case where there are missing padding "=" characters. Neither of these seem ideal for security related processing. It may be reasonable to add a PEM variant to the Base64 code that deals with the above. Mike At 08:24 AM 2/14/2013, Mark Sheppard wrote: >Hi, > as part of a refactoring of the jdk codebase to use the base64 capabilities of java.util.Base64, the following modifications, >as per the webrev, > >http://cr.openjdk.java.net/~chegar/8006182/webrev.00/ > >have been made to complete task JDK-8006182. > >Could you oblige and review these changes, please? > >Description: >jdk8 has java.util.Base64 to define a standard API for base64 encoding/decoding. It would be good to investigate whether this API could be used in the security components, providers and regression tests. > >In the main this work involved replacing the sun.misc.BASE64Encoder and sun.misc.BASE64Decoder with the >corresponding Mime Base64 Encoder/Decoder (as per rfc2045) from the java.util.Base64 class. >This is a like for like replacement. >As such, sun.misc.BASE64Encoder maps to the encoder returned by java.util.Base64.getMimeEncoder() >sun.misc.BASE64Decoder maps to the decoder returned by java.util.Base64.getMimeDecoder() > >However a couple of items worth noting: > >In the jarsigner (Main.java) the standard Base64 encoder (rfc 4648), java.util.Base64.getEncoder(), has been used to replace the JarBASE64Encoder, which was a package private extension of BASE64Encoder, which avoids writing newline to the encoded data. > >In the keytool (Main.java), methods such as dumpCert, printCert. printCRL, and so on, write a Base64 encoding to an OutputStream, typically std out. >This is achieved in the BASE64Encoder, by passing the OutputStream to methods such as encodeBuffer(). > >A couple of options exist to do this under the new Base64 utilities, which include: > >* using a Mime Encoder encodeToString() and output to the stream via println() > >* use the wrap capabilities of the Base64.Encoder: > - define a package private class, which extends FilterOutputStream (e.g. NoCloseWrapperOutputStream) and, overrides close() to do nothing > - inject the OutputStream, passed to the keytool method, into the NoCloseWrapperOutputStreamwapper, > - wrap() the NoCloseWrapperOutputStreamwrapper in the Mime Encoder, which will in turn return an encapsulating OutputStream; > - write the data buffer to be encoded to the encoder's OutputStream; > - close the encoder's OutputStream, which completes the base64 encoding; > - append a newline to the initial OutputStream. > >pragmatics and the simplest thing that works, went for the first option. > >regards >Mark > > > > > From chris.hegarty at oracle.com Fri Feb 15 16:57:49 2013 From: chris.hegarty at oracle.com (Chris Hegarty) Date: Fri, 15 Feb 2013 16:57:49 +0000 Subject: RFR JDK-8006182 In-Reply-To: <20130215165245.6F33D66A8@mail.openjdk.java.net> References: <511CE592.9010901@oracle.com> <20130215165245.6F33D66A8@mail.openjdk.java.net> Message-ID: <511E690D.80309@oracle.com> Mike, I believe that Marks changes are a like for like replacement with what was there before, only using a supported public API. Are you saying otherwise? Or have you identified another potential issue? -Chris. On 15/02/2013 16:52, Michael StJohns wrote: > Is the "mime" variant of Base64 the correct one for this? I ask because that variant ignores extraneous characters rather than throwing an error on decode. Also, reading the code for the Base64 implementation, it silently "fixes" the case where there are missing padding "=" characters. Neither of these seem ideal for security related processing. > > It may be reasonable to add a PEM variant to the Base64 code that deals with the above. > > Mike > > > > At 08:24 AM 2/14/2013, Mark Sheppard wrote: >> Hi, >> as part of a refactoring of the jdk codebase to use the base64 capabilities of java.util.Base64, the following modifications, >> as per the webrev, >> >> http://cr.openjdk.java.net/~chegar/8006182/webrev.00/ >> >> have been made to complete task JDK-8006182. >> >> Could you oblige and review these changes, please? >> >> Description: >> jdk8 has java.util.Base64 to define a standard API for base64 encoding/decoding. It would be good to investigate whether this API could be used in the security components, providers and regression tests. >> >> In the main this work involved replacing the sun.misc.BASE64Encoder and sun.misc.BASE64Decoder with the >> corresponding Mime Base64 Encoder/Decoder (as per rfc2045) from the java.util.Base64 class. >> This is a like for like replacement. >> As such, sun.misc.BASE64Encoder maps to the encoder returned by java.util.Base64.getMimeEncoder() >> sun.misc.BASE64Decoder maps to the decoder returned by java.util.Base64.getMimeDecoder() >> >> However a couple of items worth noting: >> >> In the jarsigner (Main.java) the standard Base64 encoder (rfc 4648), java.util.Base64.getEncoder(), has been used to replace the JarBASE64Encoder, which was a package private extension of BASE64Encoder, which avoids writing newline to the encoded data. >> >> In the keytool (Main.java), methods such as dumpCert, printCert. printCRL, and so on, write a Base64 encoding to an OutputStream, typically std out. >> This is achieved in the BASE64Encoder, by passing the OutputStream to methods such as encodeBuffer(). >> >> A couple of options exist to do this under the new Base64 utilities, which include: >> >> * using a Mime Encoder encodeToString() and output to the stream via println() >> >> * use the wrap capabilities of the Base64.Encoder: >> - define a package private class, which extends FilterOutputStream (e.g. NoCloseWrapperOutputStream) and, overrides close() to do nothing >> - inject the OutputStream, passed to the keytool method, into the NoCloseWrapperOutputStreamwapper, >> - wrap() the NoCloseWrapperOutputStreamwrapper in the Mime Encoder, which will in turn return an encapsulating OutputStream; >> - write the data buffer to be encoded to the encoder's OutputStream; >> - close the encoder's OutputStream, which completes the base64 encoding; >> - append a newline to the initial OutputStream. >> >> pragmatics and the simplest thing that works, went for the first option. >> >> regards >> Mark >> >> >> >> >> > > From xueming.shen at oracle.com Fri Feb 15 17:16:29 2013 From: xueming.shen at oracle.com (Xueming Shen) Date: Fri, 15 Feb 2013 09:16:29 -0800 Subject: RFR JDK-8006182 In-Reply-To: <511CE592.9010901@oracle.com> References: <511CE592.9010901@oracle.com> Message-ID: <511E6D6D.5070708@oracle.com> nitpicks (1) personally I prefer the "commented out" one-line code, don't see the value-add of storing it into "base64EncodedCertString" //out.println(Base64.getMimeEncoder().encodeToString(encoded)); (2) X509Factory.java: Wouldn't it be more reasonable if the "data" was byte[]? Understand we may want to avoid touching the original code logic if it is really not necessary (performance could be the motivation, if performance matters here) (3) keytool/Main.java #358 #558, two extra blank lines, if not intentional (4) I see couple places in the code base that use new String(byte[]) without explicitly specifying an encoding (which implies the default system decoding). My guess is that maybe we should use something explicit? This has nothing to do with this base64 migration though. Looking at the use cases, I think we may seriously consider Mike's suggestion to use sharedsecret to improve the performance of de/encoding from/to String. -Sherman On 2/14/13 5:24 AM, Mark Sheppard wrote: > Hi, > as part of a refactoring of the jdk codebase to use the base64 > capabilities of java.util.Base64, the following modifications, > as per the webrev, > > http://cr.openjdk.java.net/~chegar/8006182/webrev.00/ > > have been made to complete task JDK-8006182. > > Could you oblige and review these changes, please? > > Description: > jdk8 has java.util.Base64 to define a standard API for base64 > encoding/decoding. It would be good to investigate whether this API > could be used in the security components, providers and regression tests. > > In the main this work involved replacing the sun.misc.BASE64Encoder > and sun.misc.BASE64Decoder with the > corresponding Mime Base64 Encoder/Decoder (as per rfc2045) from the > java.util.Base64 class. > This is a like for like replacement. > As such, sun.misc.BASE64Encoder maps to the encoder returned by > java.util.Base64.getMimeEncoder() > sun.misc.BASE64Decoder maps to the decoder returned by > java.util.Base64.getMimeDecoder() > > However a couple of items worth noting: > > In the jarsigner (Main.java) the standard Base64 encoder (rfc 4648), > java.util.Base64.getEncoder(), has been used to replace the > JarBASE64Encoder, which was a package private extension of > BASE64Encoder, which avoids writing newline to the encoded data. > > In the keytool (Main.java), methods such as dumpCert, printCert. > printCRL, and so on, write a Base64 encoding to an OutputStream, > typically std out. > This is achieved in the BASE64Encoder, by passing the OutputStream to > methods such as encodeBuffer(). > > A couple of options exist to do this under the new Base64 utilities, > which include: > > * using a Mime Encoder encodeToString() and output to the stream via > println() > > * use the wrap capabilities of the Base64.Encoder: > - define a package private class, which extends FilterOutputStream > (e.g. NoCloseWrapperOutputStream) and, overrides close() to do nothing > - inject the OutputStream, passed to the keytool method, into the > NoCloseWrapperOutputStreamwapper, > - wrap() the NoCloseWrapperOutputStreamwrapper in the Mime > Encoder, which will in turn return an encapsulating OutputStream; > - write the data buffer to be encoded to the encoder's OutputStream; > - close the encoder's OutputStream, which completes the base64 > encoding; > - append a newline to the initial OutputStream. > > pragmatics and the simplest thing that works, went for the first option. > > regards > Mark > > > > > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From xueming.shen at oracle.com Fri Feb 15 17:22:28 2013 From: xueming.shen at oracle.com (Xueming Shen) Date: Fri, 15 Feb 2013 09:22:28 -0800 Subject: RFR JDK-8006182 In-Reply-To: <201302151652.r1FGqlvC019370@userp1020.oracle.com> References: <511CE592.9010901@oracle.com> <201302151652.r1FGqlvC019370@userp1020.oracle.com> Message-ID: <511E6ED4.8030504@oracle.com> On 2/15/13 8:52 AM, Michael StJohns wrote: > Is the "mime" variant of Base64 the correct one for this? I ask because that variant ignores extraneous characters rather than throwing an error on decode. Also, reading the code for the Base64 implementation, it silently "fixes" the case where there are missing padding "=" characters. Neither of these seem ideal for security related processing. Just want to point out that the latest Base64.Decoder spec has been updated to "explicitly" says "The Base64 padding character |'='| is accepted and interpreted as the end of the encoded byte data, but is not required. So if the final unit of the encoded byte data only has two or three Base64 characters (without the corresponding padding character(s) padded), they are decoded as if followed by padding character(s). " So it's no longer "silently" anymore:-) -Sherman > > It may be reasonable to add a PEM variant to the Base64 code that deals with the above. > > Mike > > > > At 08:24 AM 2/14/2013, Mark Sheppard wrote: >> Hi, >> as part of a refactoring of the jdk codebase to use the base64 capabilities of java.util.Base64, the following modifications, >> as per the webrev, >> >> http://cr.openjdk.java.net/~chegar/8006182/webrev.00/ >> >> have been made to complete task JDK-8006182. >> >> Could you oblige and review these changes, please? >> >> Description: >> jdk8 has java.util.Base64 to define a standard API for base64 encoding/decoding. It would be good to investigate whether this API could be used in the security components, providers and regression tests. >> >> In the main this work involved replacing the sun.misc.BASE64Encoder and sun.misc.BASE64Decoder with the >> corresponding Mime Base64 Encoder/Decoder (as per rfc2045) from the java.util.Base64 class. >> This is a like for like replacement. >> As such, sun.misc.BASE64Encoder maps to the encoder returned by java.util.Base64.getMimeEncoder() >> sun.misc.BASE64Decoder maps to the decoder returned by java.util.Base64.getMimeDecoder() >> >> However a couple of items worth noting: >> >> In the jarsigner (Main.java) the standard Base64 encoder (rfc 4648), java.util.Base64.getEncoder(), has been used to replace the JarBASE64Encoder, which was a package private extension of BASE64Encoder, which avoids writing newline to the encoded data. >> >> In the keytool (Main.java), methods such as dumpCert, printCert. printCRL, and so on, write a Base64 encoding to an OutputStream, typically std out. >> This is achieved in the BASE64Encoder, by passing the OutputStream to methods such as encodeBuffer(). >> >> A couple of options exist to do this under the new Base64 utilities, which include: >> >> * using a Mime Encoder encodeToString() and output to the stream via println() >> >> * use the wrap capabilities of the Base64.Encoder: >> - define a package private class, which extends FilterOutputStream (e.g. NoCloseWrapperOutputStream) and, overrides close() to do nothing >> - inject the OutputStream, passed to the keytool method, into the NoCloseWrapperOutputStreamwapper, >> - wrap() the NoCloseWrapperOutputStreamwrapper in the Mime Encoder, which will in turn return an encapsulating OutputStream; >> - write the data buffer to be encoded to the encoder's OutputStream; >> - close the encoder's OutputStream, which completes the base64 encoding; >> - append a newline to the initial OutputStream. >> >> pragmatics and the simplest thing that works, went for the first option. >> >> regards >> Mark >> >> >> >> >> > -------------- next part -------------- An HTML attachment was scrubbed... URL: From maurizio.cimadamore at oracle.com Fri Feb 15 18:13:23 2013 From: maurizio.cimadamore at oracle.com (maurizio.cimadamore at oracle.com) Date: Fri, 15 Feb 2013 18:13:23 +0000 Subject: hg: jdk8/tl/langtools: 8008309: TargetType60 fails because of bad golden file Message-ID: <20130215181326.4143947AFE@hg.openjdk.java.net> Changeset: da2f7dd53915 Author: mcimadamore Date: 2013-02-15 18:13 +0000 URL: http://hg.openjdk.java.net/jdk8/tl/langtools/rev/da2f7dd53915 8008309: TargetType60 fails because of bad golden file Summary: bad golden file Reviewed-by: jjg ! test/tools/javac/lambda/TargetType60.out From jonathan.gibbons at oracle.com Fri Feb 15 19:26:16 2013 From: jonathan.gibbons at oracle.com (jonathan.gibbons at oracle.com) Date: Fri, 15 Feb 2013 19:26:16 +0000 Subject: hg: jdk8/tl/langtools: 8008313: 8007052 breaks test/tools/javap/MethodParameters.java Message-ID: <20130215192621.D6DDB47B01@hg.openjdk.java.net> Changeset: 9fb4f223a90d Author: jjg Date: 2013-02-15 11:26 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/langtools/rev/9fb4f223a90d 8008313: 8007052 breaks test/tools/javap/MethodParameters.java Reviewed-by: darcy ! test/tools/javap/MethodParameters.java From mstjohns at comcast.net Fri Feb 15 20:26:23 2013 From: mstjohns at comcast.net (Michael StJohns) Date: Fri, 15 Feb 2013 15:26:23 -0500 Subject: RFR JDK-8006182 In-Reply-To: <511E690D.80309@oracle.com> References: <511CE592.9010901@oracle.com> <20130215165245.6F33D66A8@mail.openjdk.java.net> <511E690D.80309@oracle.com> Message-ID: <20130215202621.5AFA5676C@mail.openjdk.java.net> At 11:57 AM 2/15/2013, Chris Hegarty wrote: >Mike, > >I believe that Marks changes are a like for like replacement with what was there before, only using a supported public API. Are you saying otherwise? Or have you identified another potential issue? I ran into this problem when trying to do my own de-armoring code and dealing with stuff that had been OCR'd - (don't ask -it was painful all around, but it was what I had). I ended up having to wrap the de-armoring code in regex processing to ensure well-formed base64. I guess what I'm saying is that you should be able to detect a base64 problem and report it before trying to decode the byte stream. The fact that the old code didn't do this is occasionally problematic as I have at times spent hours trying to figure out what was wrong with the certificate encoding when it was the base64 that was confused. While I'm at it ( :-) ) it would be nice the code that detects the sentinels (e.g. the "-----BEGIN -----") would accept a number of the more common variations - "BEGIN X509 CERTIFICATE" "BEGIN CERTIFICATE REQUEST" (instead of "BEGIN CERTIFICATE and BEGIN NEW CERTIFICATE..."), and not care about white space between the "-----" and the beginning or end of the sentinel string. To answer the question you didn't quite ask - no, this isn't critical, but since the code is open... just a thought. Mike >-Chris. > >On 15/02/2013 16:52, Michael StJohns wrote: >>Is the "mime" variant of Base64 the correct one for this? I ask because that variant ignores extraneous characters rather than throwing an error on decode. Also, reading the code for the Base64 implementation, it silently "fixes" the case where there are missing padding "=" characters. Neither of these seem ideal for security related processing. >> >>It may be reasonable to add a PEM variant to the Base64 code that deals with the above. >> >>Mike >> >> >> >>At 08:24 AM 2/14/2013, Mark Sheppard wrote: >>>Hi, >>> as part of a refactoring of the jdk codebase to use the base64 capabilities of java.util.Base64, the following modifications, >>>as per the webrev, >>> >>>http://cr.openjdk.java.net/~chegar/8006182/webrev.00/ >>> >>>have been made to complete task JDK-8006182. >>> >>>Could you oblige and review these changes, please? >>> >>>Description: >>>jdk8 has java.util.Base64 to define a standard API for base64 encoding/decoding. It would be good to investigate whether this API could be used in the security components, providers and regression tests. >>> >>>In the main this work involved replacing the sun.misc.BASE64Encoder and sun.misc.BASE64Decoder with the >>>corresponding Mime Base64 Encoder/Decoder (as per rfc2045) from the java.util.Base64 class. >>>This is a like for like replacement. >>>As such, sun.misc.BASE64Encoder maps to the encoder returned by java.util.Base64.getMimeEncoder() >>>sun.misc.BASE64Decoder maps to the decoder returned by java.util.Base64.getMimeDecoder() >>> >>>However a couple of items worth noting: >>> >>>In the jarsigner (Main.java) the standard Base64 encoder (rfc 4648), java.util.Base64.getEncoder(), has been used to replace the JarBASE64Encoder, which was a package private extension of BASE64Encoder, which avoids writing newline to the encoded data. >>> >>>In the keytool (Main.java), methods such as dumpCert, printCert. printCRL, and so on, write a Base64 encoding to an OutputStream, typically std out. >>>This is achieved in the BASE64Encoder, by passing the OutputStream to methods such as encodeBuffer(). >>> >>>A couple of options exist to do this under the new Base64 utilities, which include: >>> >>>* using a Mime Encoder encodeToString() and output to the stream via println() >>> >>>* use the wrap capabilities of the Base64.Encoder: >>> - define a package private class, which extends FilterOutputStream (e.g. NoCloseWrapperOutputStream) and, overrides close() to do nothing >>> - inject the OutputStream, passed to the keytool method, into the NoCloseWrapperOutputStreamwapper, >>> - wrap() the NoCloseWrapperOutputStreamwrapper in the Mime Encoder, which will in turn return an encapsulating OutputStream; >>> - write the data buffer to be encoded to the encoder's OutputStream; >>> - close the encoder's OutputStream, which completes the base64 encoding; >>> - append a newline to the initial OutputStream. >>> >>>pragmatics and the simplest thing that works, went for the first option. >>> >>>regards >>>Mark >>> >>> >>> >>> >> From mstjohns at comcast.net Fri Feb 15 20:28:40 2013 From: mstjohns at comcast.net (Michael StJohns) Date: Fri, 15 Feb 2013 15:28:40 -0500 Subject: RFR JDK-8006182 In-Reply-To: <511E6ED4.8030504@oracle.com> References: <511CE592.9010901@oracle.com> <201302151652.r1FGqlvC019370@userp1020.oracle.com> <511E6ED4.8030504@oracle.com> Message-ID: <20130215202838.4BD3D6771@mail.openjdk.java.net> Heh. You and I have a different understanding of silent! I meant that the base64 decoder doesn't actually complain if the base64 is malformed by either the insertion of extraneous characters, or by the omission of the ending pad characters if any. Later, Mike At 12:22 PM 2/15/2013, Xueming Shen wrote: >On 2/15/13 8:52 AM, Michael StJohns wrote: >> >>Is the "mime" variant of Base64 the correct one for this? I ask because that variant ignores extraneous characters rather than throwing an error on decode. Also, reading the code for the Base64 implementation, it silently "fixes" the case where there are missing padding "=" characters. Neither of these seem ideal for security related processing. > >Just want to point out that the latest Base64.Decoder spec has been updated to "explicitly" says > >"The Base64 padding character '=' is accepted and interpreted as the end of the encoded byte data, but is not required. So if the final unit of the encoded byte data only has two or three Base64 characters (without the corresponding padding character(s) padded), they are decoded as if followed by padding character(s). " > >So it's no longer "silently" anymore:-) > >-Sherman > >> >> >> >>It may be reasonable to add a PEM variant to the Base64 code that deals with the above. >> >>Mike >> >> >> >>At 08:24 AM 2/14/2013, Mark Sheppard wrote: >>> >>>Hi, >>> as part of a refactoring of the jdk codebase to use the base64 capabilities of java.util.Base64, the following modifications, >>>as per the webrev, >>> >>>http://cr.openjdk.java.net/~chegar/8006182/webrev.00/ >>> >>>have been made to complete task JDK-8006182. >>> >>>Could you oblige and review these changes, please? >>> >>>Description: >>>jdk8 has java.util.Base64 to define a standard API for base64 encoding/decoding. It would be good to investigate whether this API could be used in the security components, providers and regression tests. >>> >>>In the main this work involved replacing the sun.misc.BASE64Encoder and sun.misc.BASE64Decoder with the >>>corresponding Mime Base64 Encoder/Decoder (as per rfc2045) from the java.util.Base64 class. >>>This is a like for like replacement. >>>As such, sun.misc.BASE64Encoder maps to the encoder returned by java.util.Base64.getMimeEncoder() >>>sun.misc.BASE64Decoder maps to the decoder returned by java.util.Base64.getMimeDecoder() >>> >>>However a couple of items worth noting: >>> >>>In the jarsigner (Main.java) the standard Base64 encoder (rfc 4648), java.util.Base64.getEncoder(), has been used to replace the JarBASE64Encoder, which was a package private extension of BASE64Encoder, which avoids writing newline to the encoded data. >>> >>>In the keytool (Main.java), methods such as dumpCert, printCert. printCRL, and so on, write a Base64 encoding to an OutputStream, typically std out. >>>This is achieved in the BASE64Encoder, by passing the OutputStream to methods such as encodeBuffer(). >>> >>>A couple of options exist to do this under the new Base64 utilities, which include: >>> >>>* using a Mime Encoder encodeToString() and output to the stream via println() >>> >>>* use the wrap capabilities of the Base64.Encoder: >>> - define a package private class, which extends FilterOutputStream (e.g. NoCloseWrapperOutputStream) and, overrides close() to do nothing >>> - inject the OutputStream, passed to the keytool method, into the NoCloseWrapperOutputStreamwapper, >>> - wrap() the NoCloseWrapperOutputStreamwrapper in the Mime Encoder, which will in turn return an encapsulating OutputStream; >>> - write the data buffer to be encoded to the encoder's OutputStream; >>> - close the encoder's OutputStream, which completes the base64 encoding; >>> - append a newline to the initial OutputStream. >>> >>>pragmatics and the simplest thing that works, went for the first option. >>> >>>regards >>>Mark >>> >>> >>> >>> >>> >> >> >> -------------- next part -------------- An HTML attachment was scrubbed... URL: From chris.hegarty at oracle.com Fri Feb 15 21:13:17 2013 From: chris.hegarty at oracle.com (Chris Hegarty) Date: Fri, 15 Feb 2013 21:13:17 +0000 Subject: RFR JDK-8006182 In-Reply-To: <201302152026.r1FKQM3c007462@aserp1060.oracle.com> References: <511CE592.9010901@oracle.com> <20130215165245.6F33D66A8@mail.openjdk.java.net> <511E690D.80309@oracle.com> <201302152026.r1FKQM3c007462@aserp1060.oracle.com> Message-ID: <417A611C-CC05-43B1-98CB-BC14C501CD55@oracle.com> Mike, The issue you are describing exists both before and after Marks proposed patch. I am somewhat sympathetic to it, but it is outside the scope of what this issue is trying to address. Since the code is open ;-) you can of course propose a separate patch, but I don't think it should prevent this proceeding. -Chris On 15 Feb 2013, at 20:26, Michael StJohns wrote: > At 11:57 AM 2/15/2013, Chris Hegarty wrote: >> Mike, >> >> I believe that Marks changes are a like for like replacement with what was there before, only using a supported public API. Are you saying otherwise? Or have you identified another potential issue? > > I ran into this problem when trying to do my own de-armoring code and dealing with stuff that had been OCR'd - (don't ask -it was painful all around, but it was what I had). I ended up having to wrap the de-armoring code in regex processing to ensure well-formed base64. > > I guess what I'm saying is that you should be able to detect a base64 problem and report it before trying to decode the byte stream. The fact that the old code didn't do this is occasionally problematic as I have at times spent hours trying to figure out what was wrong with the certificate encoding when it was the base64 that was confused. > > While I'm at it ( :-) ) it would be nice the code that detects the sentinels (e.g. the "-----BEGIN -----") would accept a number of the more common variations - "BEGIN X509 CERTIFICATE" "BEGIN CERTIFICATE REQUEST" (instead of "BEGIN CERTIFICATE and BEGIN NEW CERTIFICATE..."), and not care about white space between the "-----" and the beginning or end of the sentinel string. > > To answer the question you didn't quite ask - no, this isn't critical, but since the code is open... just a thought. > > Mike > > > >> -Chris. >> >> On 15/02/2013 16:52, Michael StJohns wrote: >>> Is the "mime" variant of Base64 the correct one for this? I ask because that variant ignores extraneous characters rather than throwing an error on decode. Also, reading the code for the Base64 implementation, it silently "fixes" the case where there are missing padding "=" characters. Neither of these seem ideal for security related processing. >>> >>> It may be reasonable to add a PEM variant to the Base64 code that deals with the above. >>> >>> Mike >>> >>> >>> >>> At 08:24 AM 2/14/2013, Mark Sheppard wrote: >>>> Hi, >>>> as part of a refactoring of the jdk codebase to use the base64 capabilities of java.util.Base64, the following modifications, >>>> as per the webrev, >>>> >>>> http://cr.openjdk.java.net/~chegar/8006182/webrev.00/ >>>> >>>> have been made to complete task JDK-8006182. >>>> >>>> Could you oblige and review these changes, please? >>>> >>>> Description: >>>> jdk8 has java.util.Base64 to define a standard API for base64 encoding/decoding. It would be good to investigate whether this API could be used in the security components, providers and regression tests. >>>> >>>> In the main this work involved replacing the sun.misc.BASE64Encoder and sun.misc.BASE64Decoder with the >>>> corresponding Mime Base64 Encoder/Decoder (as per rfc2045) from the java.util.Base64 class. >>>> This is a like for like replacement. >>>> As such, sun.misc.BASE64Encoder maps to the encoder returned by java.util.Base64.getMimeEncoder() >>>> sun.misc.BASE64Decoder maps to the decoder returned by java.util.Base64.getMimeDecoder() >>>> >>>> However a couple of items worth noting: >>>> >>>> In the jarsigner (Main.java) the standard Base64 encoder (rfc 4648), java.util.Base64.getEncoder(), has been used to replace the JarBASE64Encoder, which was a package private extension of BASE64Encoder, which avoids writing newline to the encoded data. >>>> >>>> In the keytool (Main.java), methods such as dumpCert, printCert. printCRL, and so on, write a Base64 encoding to an OutputStream, typically std out. >>>> This is achieved in the BASE64Encoder, by passing the OutputStream to methods such as encodeBuffer(). >>>> >>>> A couple of options exist to do this under the new Base64 utilities, which include: >>>> >>>> * using a Mime Encoder encodeToString() and output to the stream via println() >>>> >>>> * use the wrap capabilities of the Base64.Encoder: >>>> - define a package private class, which extends FilterOutputStream (e.g. NoCloseWrapperOutputStream) and, overrides close() to do nothing >>>> - inject the OutputStream, passed to the keytool method, into the NoCloseWrapperOutputStreamwapper, >>>> - wrap() the NoCloseWrapperOutputStreamwrapper in the Mime Encoder, which will in turn return an encapsulating OutputStream; >>>> - write the data buffer to be encoded to the encoder's OutputStream; >>>> - close the encoder's OutputStream, which completes the base64 encoding; >>>> - append a newline to the initial OutputStream. >>>> >>>> pragmatics and the simplest thing that works, went for the first option. >>>> >>>> regards >>>> Mark > > From mstjohns at comcast.net Fri Feb 15 21:15:53 2013 From: mstjohns at comcast.net (Michael StJohns) Date: Fri, 15 Feb 2013 16:15:53 -0500 Subject: RFR JDK-8006182 In-Reply-To: <417A611C-CC05-43B1-98CB-BC14C501CD55@oracle.com> References: <511CE592.9010901@oracle.com> <20130215165245.6F33D66A8@mail.openjdk.java.net> <511E690D.80309@oracle.com> <201302152026.r1FKQM3c007462@aserp1060.oracle.com> <417A611C-CC05-43B1-98CB-BC14C501CD55@oracle.com> Message-ID: <20130215211551.AF0FD67A0@mail.openjdk.java.net> At 04:13 PM 2/15/2013, Chris Hegarty wrote: >Mike, > >The issue you are describing exists both before and after Marks proposed patch. I am somewhat sympathetic to it, but it is outside the scope of what this issue is trying to address. > >Since the code is open ;-) you can of course propose a separate patch, but I don't think it should prevent this proceeding. Agreed. >-Chris > >On 15 Feb 2013, at 20:26, Michael StJohns wrote: > >> At 11:57 AM 2/15/2013, Chris Hegarty wrote: >>> Mike, >>> >>> I believe that Marks changes are a like for like replacement with what was there before, only using a supported public API. Are you saying otherwise? Or have you identified another potential issue? >> >> I ran into this problem when trying to do my own de-armoring code and dealing with stuff that had been OCR'd - (don't ask -it was painful all around, but it was what I had). I ended up having to wrap the de-armoring code in regex processing to ensure well-formed base64. >> >> I guess what I'm saying is that you should be able to detect a base64 problem and report it before trying to decode the byte stream. The fact that the old code didn't do this is occasionally problematic as I have at times spent hours trying to figure out what was wrong with the certificate encoding when it was the base64 that was confused. >> >> While I'm at it ( :-) ) it would be nice the code that detects the sentinels (e.g. the "-----BEGIN -----") would accept a number of the more common variations - "BEGIN X509 CERTIFICATE" "BEGIN CERTIFICATE REQUEST" (instead of "BEGIN CERTIFICATE and BEGIN NEW CERTIFICATE..."), and not care about white space between the "-----" and the beginning or end of the sentinel string. >> >> To answer the question you didn't quite ask - no, this isn't critical, but since the code is open... just a thought. >> >> Mike >> >> >> >>> -Chris. >>> >>> On 15/02/2013 16:52, Michael StJohns wrote: >>>> Is the "mime" variant of Base64 the correct one for this? I ask because that variant ignores extraneous characters rather than throwing an error on decode. Also, reading the code for the Base64 implementation, it silently "fixes" the case where there are missing padding "=" characters. Neither of these seem ideal for security related processing. >>>> >>>> It may be reasonable to add a PEM variant to the Base64 code that deals with the above. >>>> >>>> Mike >>>> >>>> >>>> >>>> At 08:24 AM 2/14/2013, Mark Sheppard wrote: >>>>> Hi, >>>>> as part of a refactoring of the jdk codebase to use the base64 capabilities of java.util.Base64, the following modifications, >>>>> as per the webrev, >>>>> >>>>> http://cr.openjdk.java.net/~chegar/8006182/webrev.00/ >>>>> >>>>> have been made to complete task JDK-8006182. >>>>> >>>>> Could you oblige and review these changes, please? >>>>> >>>>> Description: >>>>> jdk8 has java.util.Base64 to define a standard API for base64 encoding/decoding. It would be good to investigate whether this API could be used in the security components, providers and regression tests. >>>>> >>>>> In the main this work involved replacing the sun.misc.BASE64Encoder and sun.misc.BASE64Decoder with the >>>>> corresponding Mime Base64 Encoder/Decoder (as per rfc2045) from the java.util.Base64 class. >>>>> This is a like for like replacement. >>>>> As such, sun.misc.BASE64Encoder maps to the encoder returned by java.util.Base64.getMimeEncoder() >>>>> sun.misc.BASE64Decoder maps to the decoder returned by java.util.Base64.getMimeDecoder() >>>>> >>>>> However a couple of items worth noting: >>>>> >>>>> In the jarsigner (Main.java) the standard Base64 encoder (rfc 4648), java.util.Base64.getEncoder(), has been used to replace the JarBASE64Encoder, which was a package private extension of BASE64Encoder, which avoids writing newline to the encoded data. >>>>> >>>>> In the keytool (Main.java), methods such as dumpCert, printCert. printCRL, and so on, write a Base64 encoding to an OutputStream, typically std out. >>>>> This is achieved in the BASE64Encoder, by passing the OutputStream to methods such as encodeBuffer(). >>>>> >>>>> A couple of options exist to do this under the new Base64 utilities, which include: >>>>> >>>>> * using a Mime Encoder encodeToString() and output to the stream via println() >>>>> >>>>> * use the wrap capabilities of the Base64.Encoder: >>>>> - define a package private class, which extends FilterOutputStream (e.g. NoCloseWrapperOutputStream) and, overrides close() to do nothing >>>>> - inject the OutputStream, passed to the keytool method, into the NoCloseWrapperOutputStreamwapper, >>>>> - wrap() the NoCloseWrapperOutputStreamwrapper in the Mime Encoder, which will in turn return an encapsulating OutputStream; >>>>> - write the data buffer to be encoded to the encoder's OutputStream; >>>>> - close the encoder's OutputStream, which completes the base64 encoding; >>>>> - append a newline to the initial OutputStream. >>>>> >>>>> pragmatics and the simplest thing that works, went for the first option. >>>>> >>>>> regards >>>>> Mark >> >> From robert.field at oracle.com Sat Feb 16 02:42:24 2013 From: robert.field at oracle.com (robert.field at oracle.com) Date: Sat, 16 Feb 2013 02:42:24 +0000 Subject: hg: jdk8/tl/langtools: 8004969: Generate $deserializeLambda$ method; ... Message-ID: <20130216024229.22EFB47B22@hg.openjdk.java.net> Changeset: f1f605f85850 Author: rfield Date: 2013-02-15 18:40 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/langtools/rev/f1f605f85850 8004969: Generate $deserializeLambda$ method 8006763: super in method reference used in anonymous class - ClassFormatError is produced 8005632: Inner classes within lambdas cause build failures 8005653: Lambdas containing inner classes referencing external type variables do not correctly parameterize the inner classes Reviewed-by: mcimadamore ! src/share/classes/com/sun/tools/javac/code/Symtab.java ! src/share/classes/com/sun/tools/javac/code/Types.java ! src/share/classes/com/sun/tools/javac/comp/LambdaToMethod.java ! src/share/classes/com/sun/tools/javac/jvm/ClassReader.java ! src/share/classes/com/sun/tools/javac/jvm/ClassWriter.java ! src/share/classes/com/sun/tools/javac/util/Names.java + test/tools/javac/lambda/LambdaInnerTypeVarArgs.java + test/tools/javac/lambda/LambdaInnerTypeVarReflect.java + test/tools/javac/lambda/MethodReference61.java From robert.field at oracle.com Sat Feb 16 20:38:08 2013 From: robert.field at oracle.com (robert.field at oracle.com) Date: Sat, 16 Feb 2013 20:38:08 +0000 Subject: hg: jdk8/tl/jdk: 8004970: Implement serialization in the lambda metafactory Message-ID: <20130216203829.DCAEC47B2F@hg.openjdk.java.net> Changeset: 7748ffdca16a Author: rfield Date: 2013-02-16 12:36 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/7748ffdca16a 8004970: Implement serialization in the lambda metafactory Reviewed-by: forax ! src/share/classes/java/lang/invoke/AbstractValidatingLambdaMetafactory.java ! src/share/classes/java/lang/invoke/InnerClassLambdaMetafactory.java ! src/share/classes/java/lang/invoke/LambdaMetafactory.java ! src/share/classes/java/lang/invoke/MethodHandleInfo.java + src/share/classes/java/lang/invoke/SerializedLambda.java ! src/share/classes/java/lang/invoke/TypeConvertingMethodAdapter.java + test/java/lang/invoke/lambda/LambdaSerialization.java From xueming.shen at oracle.com Sun Feb 17 01:03:07 2013 From: xueming.shen at oracle.com (xueming.shen at oracle.com) Date: Sun, 17 Feb 2013 01:03:07 +0000 Subject: hg: jdk8/tl/jdk: 8008348: The leftover jdk/make/tools/javazic causes build problems with hs25-b19 control Message-ID: <20130217010318.E96E247B30@hg.openjdk.java.net> Changeset: 43726ed11fb3 Author: sherman Date: 2013-02-17 01:01 +0000 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/43726ed11fb3 8008348: The leftover jdk/make/tools/javazic causes build problems with hs25-b19 control Summary: To remove jdk/make/tools/javazic from the jdk repo Reviewed-by: alanb - make/tools/javazic/Makefile - make/tools/src/build/tools/javazic/BackEnd.java - make/tools/src/build/tools/javazic/Checksum.java - make/tools/src/build/tools/javazic/DayOfWeek.java - make/tools/src/build/tools/javazic/Gen.java - make/tools/src/build/tools/javazic/GenDoc.java - make/tools/src/build/tools/javazic/Main.java - make/tools/src/build/tools/javazic/Mappings.java - make/tools/src/build/tools/javazic/Month.java - make/tools/src/build/tools/javazic/Rule.java - make/tools/src/build/tools/javazic/RuleDay.java - make/tools/src/build/tools/javazic/RuleRec.java - make/tools/src/build/tools/javazic/Simple.java - make/tools/src/build/tools/javazic/Time.java - make/tools/src/build/tools/javazic/Timezone.java - make/tools/src/build/tools/javazic/Zone.java - make/tools/src/build/tools/javazic/ZoneRec.java - make/tools/src/build/tools/javazic/Zoneinfo.java From alan.bateman at oracle.com Mon Feb 18 08:16:50 2013 From: alan.bateman at oracle.com (alan.bateman at oracle.com) Date: Mon, 18 Feb 2013 08:16:50 +0000 Subject: hg: jdk8/tl/jdk: 6429204: (se) Concurrent Selector.register and SelectionKey.interestOps can ignore interestOps Message-ID: <20130218081708.B0DB147B4D@hg.openjdk.java.net> Changeset: bcde0486261e Author: dingxmin Date: 2013-02-18 08:14 +0000 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/bcde0486261e 6429204: (se) Concurrent Selector.register and SelectionKey.interestOps can ignore interestOps Reviewed-by: alanb ! src/windows/classes/sun/nio/ch/WindowsSelectorImpl.java + test/java/nio/channels/Selector/RacyDeregister.java From vicente.romero at oracle.com Mon Feb 18 14:34:41 2013 From: vicente.romero at oracle.com (vicente.romero at oracle.com) Date: Mon, 18 Feb 2013 14:34:41 +0000 Subject: hg: jdk8/tl/langtools: 6563143: javac should issue a warning for overriding equals without hashCode Message-ID: <20130218143447.2E7C347B5F@hg.openjdk.java.net> Changeset: 2620c953e9fe Author: vromero Date: 2013-02-18 14:33 +0000 URL: http://hg.openjdk.java.net/jdk8/tl/langtools/rev/2620c953e9fe 6563143: javac should issue a warning for overriding equals without hashCode Reviewed-by: jjg, mcimadamore ! src/share/classes/com/sun/tools/javac/code/Flags.java ! src/share/classes/com/sun/tools/javac/code/Lint.java ! src/share/classes/com/sun/tools/javac/comp/Attr.java ! src/share/classes/com/sun/tools/javac/comp/Check.java ! src/share/classes/com/sun/tools/javac/comp/Resolve.java ! src/share/classes/com/sun/tools/javac/resources/compiler.properties ! src/share/classes/com/sun/tools/sjavac/comp/Dependencies.java + test/tools/javac/6563143/OverridesEqualsButNotHashCodeTest.java + test/tools/javac/6563143/OverridesEqualsButNotHashCodeTest.out ! test/tools/javac/diags/examples.not-yet.txt From john.zavgren at oracle.com Mon Feb 18 16:09:13 2013 From: john.zavgren at oracle.com (John Zavgren) Date: Mon, 18 Feb 2013 11:09:13 -0500 Subject: RFR: JDK-8007607 In-Reply-To: <511A67C9.70503@oracle.com> References: <2ac0a83e-9206-4012-a97b-8e6d1b82ca35@default> <51122920.6040208@oracle.com> <5115382C.40708@oracle.com> <5115453D.2010400@oracle.com> <511A650F.2040601@oracle.com> <511A67C9.70503@oracle.com> Message-ID: <51225229.6080807@oracle.com> Greetings: I posted a new webrev image. http://cr.openjdk.java.net/~jzavgren/8007607/webrev.04/ The code now throws an OOM exception when *alloc() fails, and the callers of procedures that call procedures that throw it, check for it. John On 02/12/2013 11:03 AM, Dmitry Samersoff wrote: > John, > > Changing everything for throw OOM is the right goal but it's a huge work > to do - it's meaningless to throw OOM if all callers doesn't check for > exception. > > I'm in doubt it could be done all at once and probably this problem > should go to the huge TODO pile. > > So I'm speaking about *one particular case*, where returned value could > lead to misinterpretation of security context and lead to security > vulnerability or subtle bug. > > We have to throw OOM there and change all callers as well for this case. > > -Dmitry > > On 2013-02-12 19:51, John Zavgren wrote: >> On 02/08/2013 01:34 PM, Dmitry Samersoff wrote: >>> John, >>> >>>> Ideas? >>> It's a JNI so just throw OOM. >>> >>> -Dmitry >>> >>> >>> On 2013-02-08 21:38, John Zavgren wrote: >>>> Although I agree that the name: "GSS_C_NO_CHANNEL_BINDINGS" is >>>> misleading, >>>> I can't identify anything else that seems more appropriate. >>>> >>>> The header file: >>>> /jdk8-tl/jdk/src/share/native/sun/security/jgss/wrapper/gssapi.h defines >>>> GSS_C_NO_CHANNEL_BINDINGS as follows: >>>> #define GSS_C_NO_CHANNEL_BINDINGS ((gss_channel_bindings_t) 0) >>>> >>>> The symbol matches the prototype of the function: >>>> >>>> */* >>>> * Utility routine which creates a gss_channel_bindings_t structure >>>> * using the specified org.ietf.jgss.ChannelBinding object. >>>> */ >>>> gss_channel_bindings_t getGSSCB(JNIEnv *env, jobject jcb) { >>>> gss_channel_bindings_t cb; >>>> jobject jinetAddr; >>>> jbyteArray value; >>>> >>>> if (jcb == NULL) { >>>> return GSS_C_NO_CHANNEL_BINDINGS; >>>> } >>>> cb = malloc(sizeof(struct gss_channel_bindings_struct)); >>>> >>>> if(cb == NULL) >>>> return GSS_C_NO_CHANNEL_BINDINGS;* >>>> >>>> There doesn't appear to be anything in our set of options that is more >>>> suggestive of a memory allocation failure and the symbol: >>>> GSS_C_NO_CHANNEL_BINDINGS seems to be logically correct. >>>> >>>> Ideas? >>>> >>>> On 02/06/2013 04:57 AM, Dmitry Samersoff wrote: >>>>> John, >>>>> >>>>> Not sure GSS_C_NO_CHANNEL_BINDINGS; is correct return value for this >>>>> case. >>>>> >>>>> I'm second to Valerie - it's better to throw OOM >>>>> >>>>> -Dmitry >>>>> >>>>> >>>>> On 2013-02-06 03:44, John Zavgren wrote: >>>>>> Greetings: >>>>>> >>>>>> I modified the native code to eliminate potential memory loss and >>>>>> crashes by checking the return values of malloc() and realloc() calls. >>>>>> >>>>>> The webrev image of these changes is visible at: >>>>>> http://cr.openjdk.java.net/~jzavgren/8007607/webrev.01/ >>>>>> >>>>>> Thanks! >>>>>> John Zavgren >>>>>> >>>> -- >>>> John Zavgren >>>> john.zavgren at oracle.com >>>> 603-821-0904 >>>> US-Burlington-MA >>>> >> When I change the procedures in the following files: >> >> src/share/native/sun/security/jgss/wrapper/GSSLibStub.c >> src/share/native/sun/security/jgss/wrapper/NativeUtil.c >> src/share/native/sun/security/smartcardio/pcsc.c >> src/solaris/native/com/sun/security/auth/module/Solaris.c >> src/solaris/native/com/sun/security/auth/module/Unix.c >> >> to fix inappropriate usages of malloc, realloc, etc. (e.g., not checking >> the return value and referring to a NULL pointer and crashing) should I >> modify every instance so that an OOM (Out Of Memory) exception is thrown >> (before returning) whenever memory allocation fails? >> >> The exceptions would be thrown by a line of code that looks like: >> >> throwOutOfMemoryError(JNIEnv *env, const char *msg); >> >> where throwOutOfMemoryError(...) wraps something like this: >> >> jclass cls = (*env)->FindClass(env, name); >> >> if (cls != 0) /* Otherwise an exception has already been >> thrown */ >> (*env)->ThrowNew(env, cls, msg); >> >> If this is the right idea, what messages should I pass when an OOM >> exception is thrown? >> >> Thanks! >> John >> > -- John Zavgren john.zavgren at oracle.com 603-821-0904 US-Burlington-MA -------------- next part -------------- An HTML attachment was scrubbed... URL: From yong.huang at oracle.com Sun Feb 17 09:17:51 2013 From: yong.huang at oracle.com (yong.huang at oracle.com) Date: Sun, 17 Feb 2013 09:17:51 +0000 Subject: hg: jdk8/tl/jdk: 8006748: getISO3Country() returns wrong value Message-ID: <20130217091812.2B8DC47B3B@hg.openjdk.java.net> Changeset: ce6a2fcb4c9b Author: yhuang Date: 2013-02-16 21:22 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/ce6a2fcb4c9b 8006748: getISO3Country() returns wrong value Reviewed-by: naoto ! src/share/classes/java/util/LocaleISOData.java From jonathan.gibbons at oracle.com Mon Feb 18 22:29:55 2013 From: jonathan.gibbons at oracle.com (jonathan.gibbons at oracle.com) Date: Mon, 18 Feb 2013 22:29:55 +0000 Subject: hg: jdk8/tl/langtools: 8008339: Test TargetAnnoCombo.java is broken Message-ID: <20130218223002.A31F847B76@hg.openjdk.java.net> Changeset: 87884cd0fea3 Author: jjg Date: 2013-02-18 14:29 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/langtools/rev/87884cd0fea3 8008339: Test TargetAnnoCombo.java is broken Reviewed-by: jjh ! test/tools/javac/annotations/repeatingAnnotations/combo/TargetAnnoCombo.java From joe.darcy at oracle.com Tue Feb 19 08:19:33 2013 From: joe.darcy at oracle.com (joe.darcy at oracle.com) Date: Tue, 19 Feb 2013 08:19:33 +0000 Subject: hg: jdk8/tl/jdk: 8008434: Misc javadoc warning fixes in DateTimeFormatterBuilder and TimeZone Message-ID: <20130219082010.CC88F47B87@hg.openjdk.java.net> Changeset: 49b3d8efd30a Author: darcy Date: 2013-02-19 00:19 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/49b3d8efd30a 8008434: Misc javadoc warning fixes in DateTimeFormatterBuilder and TimeZone Reviewed-by: mduigou, okutsu ! src/share/classes/java/time/format/DateTimeFormatterBuilder.java ! src/share/classes/java/util/TimeZone.java From joe.darcy at oracle.com Tue Feb 19 08:25:18 2013 From: joe.darcy at oracle.com (joe.darcy at oracle.com) Date: Tue, 19 Feb 2013 08:25:18 +0000 Subject: hg: jdk8/tl: 8008435: Fix new build to include jdk.Supported in ct.sym Message-ID: <20130219082518.AD92747B88@hg.openjdk.java.net> Changeset: ecc8fda8f187 Author: darcy Date: 2013-02-19 00:24 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/rev/ecc8fda8f187 8008435: Fix new build to include jdk.Supported in ct.sym Reviewed-by: erikj ! common/makefiles/javadoc/NON_CORE_PKGS.gmk From joe.darcy at oracle.com Tue Feb 19 08:32:03 2013 From: joe.darcy at oracle.com (joe.darcy at oracle.com) Date: Tue, 19 Feb 2013 08:32:03 +0000 Subject: hg: jdk8/tl/langtools: 8008267: Add @Supported annotation to com.sun.source types Message-ID: <20130219083209.2371A47B8B@hg.openjdk.java.net> Changeset: 011cf7e0a148 Author: darcy Date: 2013-02-19 00:31 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/langtools/rev/011cf7e0a148 8008267: Add @Supported annotation to com.sun.source types Reviewed-by: jjg ! src/share/classes/com/sun/source/doctree/AttributeTree.java ! src/share/classes/com/sun/source/doctree/AuthorTree.java ! src/share/classes/com/sun/source/doctree/BlockTagTree.java ! src/share/classes/com/sun/source/doctree/CommentTree.java ! src/share/classes/com/sun/source/doctree/DeprecatedTree.java ! src/share/classes/com/sun/source/doctree/DocCommentTree.java ! src/share/classes/com/sun/source/doctree/DocRootTree.java ! src/share/classes/com/sun/source/doctree/DocTree.java ! src/share/classes/com/sun/source/doctree/DocTreeVisitor.java ! src/share/classes/com/sun/source/doctree/EndElementTree.java ! src/share/classes/com/sun/source/doctree/EntityTree.java ! src/share/classes/com/sun/source/doctree/ErroneousTree.java ! src/share/classes/com/sun/source/doctree/IdentifierTree.java ! src/share/classes/com/sun/source/doctree/InheritDocTree.java ! src/share/classes/com/sun/source/doctree/InlineTagTree.java ! src/share/classes/com/sun/source/doctree/LinkTree.java ! src/share/classes/com/sun/source/doctree/LiteralTree.java ! src/share/classes/com/sun/source/doctree/ParamTree.java ! src/share/classes/com/sun/source/doctree/ReferenceTree.java ! src/share/classes/com/sun/source/doctree/ReturnTree.java ! src/share/classes/com/sun/source/doctree/SeeTree.java ! src/share/classes/com/sun/source/doctree/SerialDataTree.java ! src/share/classes/com/sun/source/doctree/SerialFieldTree.java ! src/share/classes/com/sun/source/doctree/SerialTree.java ! src/share/classes/com/sun/source/doctree/SinceTree.java ! src/share/classes/com/sun/source/doctree/StartElementTree.java ! src/share/classes/com/sun/source/doctree/TextTree.java ! src/share/classes/com/sun/source/doctree/ThrowsTree.java ! src/share/classes/com/sun/source/doctree/UnknownBlockTagTree.java ! src/share/classes/com/sun/source/doctree/UnknownInlineTagTree.java ! src/share/classes/com/sun/source/doctree/ValueTree.java ! src/share/classes/com/sun/source/doctree/VersionTree.java ! src/share/classes/com/sun/source/doctree/package-info.java ! src/share/classes/com/sun/source/tree/AnnotatedTypeTree.java ! src/share/classes/com/sun/source/tree/AnnotationTree.java ! src/share/classes/com/sun/source/tree/ArrayAccessTree.java ! src/share/classes/com/sun/source/tree/ArrayTypeTree.java ! src/share/classes/com/sun/source/tree/AssertTree.java ! src/share/classes/com/sun/source/tree/AssignmentTree.java ! src/share/classes/com/sun/source/tree/BinaryTree.java ! src/share/classes/com/sun/source/tree/BlockTree.java ! src/share/classes/com/sun/source/tree/BreakTree.java ! src/share/classes/com/sun/source/tree/CaseTree.java ! src/share/classes/com/sun/source/tree/CatchTree.java ! src/share/classes/com/sun/source/tree/ClassTree.java ! src/share/classes/com/sun/source/tree/CompilationUnitTree.java ! src/share/classes/com/sun/source/tree/CompoundAssignmentTree.java ! src/share/classes/com/sun/source/tree/ConditionalExpressionTree.java ! src/share/classes/com/sun/source/tree/ContinueTree.java ! src/share/classes/com/sun/source/tree/DoWhileLoopTree.java ! src/share/classes/com/sun/source/tree/EmptyStatementTree.java ! src/share/classes/com/sun/source/tree/EnhancedForLoopTree.java ! src/share/classes/com/sun/source/tree/ErroneousTree.java ! src/share/classes/com/sun/source/tree/ExpressionStatementTree.java ! src/share/classes/com/sun/source/tree/ExpressionTree.java ! src/share/classes/com/sun/source/tree/ForLoopTree.java ! src/share/classes/com/sun/source/tree/IdentifierTree.java ! src/share/classes/com/sun/source/tree/IfTree.java ! src/share/classes/com/sun/source/tree/ImportTree.java ! src/share/classes/com/sun/source/tree/InstanceOfTree.java ! src/share/classes/com/sun/source/tree/IntersectionTypeTree.java ! src/share/classes/com/sun/source/tree/LabeledStatementTree.java ! src/share/classes/com/sun/source/tree/LambdaExpressionTree.java ! src/share/classes/com/sun/source/tree/LineMap.java ! src/share/classes/com/sun/source/tree/LiteralTree.java ! src/share/classes/com/sun/source/tree/MemberReferenceTree.java ! src/share/classes/com/sun/source/tree/MemberSelectTree.java ! src/share/classes/com/sun/source/tree/MethodInvocationTree.java ! src/share/classes/com/sun/source/tree/MethodTree.java ! src/share/classes/com/sun/source/tree/ModifiersTree.java ! src/share/classes/com/sun/source/tree/NewArrayTree.java ! src/share/classes/com/sun/source/tree/NewClassTree.java ! src/share/classes/com/sun/source/tree/ParameterizedTypeTree.java ! src/share/classes/com/sun/source/tree/ParenthesizedTree.java ! src/share/classes/com/sun/source/tree/PrimitiveTypeTree.java ! src/share/classes/com/sun/source/tree/ReturnTree.java ! src/share/classes/com/sun/source/tree/Scope.java ! src/share/classes/com/sun/source/tree/StatementTree.java ! src/share/classes/com/sun/source/tree/SwitchTree.java ! src/share/classes/com/sun/source/tree/SynchronizedTree.java ! src/share/classes/com/sun/source/tree/ThrowTree.java ! src/share/classes/com/sun/source/tree/Tree.java ! src/share/classes/com/sun/source/tree/TreeVisitor.java ! src/share/classes/com/sun/source/tree/TryTree.java ! src/share/classes/com/sun/source/tree/TypeCastTree.java ! src/share/classes/com/sun/source/tree/TypeParameterTree.java ! src/share/classes/com/sun/source/tree/UnaryTree.java ! src/share/classes/com/sun/source/tree/UnionTypeTree.java ! src/share/classes/com/sun/source/tree/VariableTree.java ! src/share/classes/com/sun/source/tree/WhileLoopTree.java ! src/share/classes/com/sun/source/tree/WildcardTree.java ! src/share/classes/com/sun/source/tree/package-info.java ! src/share/classes/com/sun/source/util/DocTreeScanner.java ! src/share/classes/com/sun/source/util/DocTrees.java ! src/share/classes/com/sun/source/util/JavacTask.java ! src/share/classes/com/sun/source/util/Plugin.java ! src/share/classes/com/sun/source/util/SimpleDocTreeVisitor.java ! src/share/classes/com/sun/source/util/SimpleTreeVisitor.java ! src/share/classes/com/sun/source/util/SourcePositions.java ! src/share/classes/com/sun/source/util/TaskEvent.java ! src/share/classes/com/sun/source/util/TaskListener.java ! src/share/classes/com/sun/source/util/TreePath.java ! src/share/classes/com/sun/source/util/TreePathScanner.java ! src/share/classes/com/sun/source/util/TreeScanner.java ! src/share/classes/com/sun/source/util/Trees.java ! src/share/classes/com/sun/source/util/package-info.java ! src/share/classes/com/sun/tools/javac/Main.java ! src/share/classes/com/sun/tools/javac/Server.java From sean.coffey at oracle.com Tue Feb 19 14:12:02 2013 From: sean.coffey at oracle.com (sean.coffey at oracle.com) Date: Tue, 19 Feb 2013 14:12:02 +0000 Subject: hg: jdk8/tl/jdk: 2 new changesets Message-ID: <20130219141238.723BE47B9B@hg.openjdk.java.net> Changeset: 885bb24f6018 Author: coffeys Date: 2013-02-19 14:07 +0000 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/885bb24f6018 7197187: Currency.isPastCutoverDate should be made more robust Reviewed-by: alanb ! src/share/classes/java/util/Currency.java Changeset: 01b6b0dd2006 Author: coffeys Date: 2013-02-19 14:12 +0000 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/01b6b0dd2006 8007315: HttpURLConnection.filterHeaderField method returns null where empty string is expected Reviewed-by: chegar ! src/share/classes/sun/net/www/protocol/http/HttpURLConnection.java ! test/sun/net/www/protocol/http/HttpOnly.java From chris.hegarty at oracle.com Tue Feb 19 16:20:19 2013 From: chris.hegarty at oracle.com (chris.hegarty at oracle.com) Date: Tue, 19 Feb 2013 16:20:19 +0000 Subject: hg: jdk8/tl/jdk: 8007609: WinNTFileSystem_md.c should correctly check value returned from realloc Message-ID: <20130219162050.551CD47BA0@hg.openjdk.java.net> Changeset: 824187de1591 Author: jzavgren Date: 2013-02-19 16:19 +0000 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/824187de1591 8007609: WinNTFileSystem_md.c should correctly check value returned from realloc Reviewed-by: alanb, chegar, dholmes ! src/windows/native/java/io/WinNTFileSystem_md.c From alan.bateman at oracle.com Tue Feb 19 17:11:32 2013 From: alan.bateman at oracle.com (alan.bateman at oracle.com) Date: Tue, 19 Feb 2013 17:11:32 +0000 Subject: hg: jdk8/tl/jdk: 8008312: Re-enable MethodParameter tests in JDK Message-ID: <20130219171143.ABF3C47BA1@hg.openjdk.java.net> Changeset: e20c1c9197bf Author: emc Date: 2013-02-19 17:09 +0000 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/e20c1c9197bf 8008312: Re-enable MethodParameter tests in JDK Reviewed-by: darcy ! src/share/classes/java/lang/reflect/Parameter.java ! test/java/lang/reflect/Parameter/WithParameters.java From chris.hegarty at oracle.com Tue Feb 19 17:16:12 2013 From: chris.hegarty at oracle.com (Chris Hegarty) Date: Tue, 19 Feb 2013 17:16:12 +0000 Subject: RFR: JDK-8007607 In-Reply-To: <51225229.6080807@oracle.com> References: <2ac0a83e-9206-4012-a97b-8e6d1b82ca35@default> <51122920.6040208@oracle.com> <5115382C.40708@oracle.com> <5115453D.2010400@oracle.com> <511A650F.2040601@oracle.com> <511A67C9.70503@oracle.com> <51225229.6080807@oracle.com> Message-ID: <5123B35C.6080208@oracle.com> Hi John, Functionally this looks fine. Most my comments are nit picking, and style. src/share/native/sun/security/jgss/wrapper/GSSLibStub.c My fault, I think I suggested you return NULL, but since these methods return jlong they cannot (without generating warnings). It would be better to: < 332 return NULL; --- > 332 return jlong_zero; 1167 return NULL; [same comment, return jlong_zero] The indentation looks a little too much in a few places, e.g. 331 if ((*env)->ExceptionCheck(env)) { 332 ______return NULL; 333 } src/share/native/sun/security/jgss/wrapper/NativeUtil.c 620 cOid = malloc(sizeof(struct gss_OID_desc_struct)); 621 if_(cOid == NULL) { [add a space after if] 622 ____throwOutOfMemoryError(env,NULL); [I would suggest 2 spaces] 623 return GSS_C_NO_OID; 624 } 625 cOid->length = (*env)->GetArrayLength(env, jbytes) - 2; 626 cOid->elements = malloc(cOid->length); 627 if(cOid->elements == NULL) { [ same as above ] 628 throwOutOfMemoryError(env,NULL); 629 free(cOid); 630 return GSS_C_NO_OID; 631 } src/share/native/sun/security/smartcardio/pcsc.c src/solaris/native/sun/security/smartcardio/pcsc_md.c It is kinda weird to have #ifdef WIN32 for these. It really seems that these functions should be moved up to the shared pcsc.c and externed from platform specific code, or an addition of pcsc.h that declares the definitions. src/solaris/native/com/sun/security/auth/module/Solaris.c The comment is strange 34 /* 35 * ** Throws a Java Exception by name 36 * **/ src/solaris/native/com/sun/security/auth/module/Unix.c Strange comment ( as above ). Also, why is there a need to for #ifndef __solaris__ ?? -Chris. On 02/18/2013 04:09 PM, John Zavgren wrote: > Greetings: > I posted a new webrev image. > http://cr.openjdk.java.net/~jzavgren/8007607/webrev.04/ > > > The code now throws an OOM exception when *alloc() fails, and the > callers of procedures that call procedures that throw it, check for it. > > John > > On 02/12/2013 11:03 AM, Dmitry Samersoff wrote: >> John, >> >> Changing everything for throw OOM is the right goal but it's a huge work >> to do - it's meaningless to throw OOM if all callers doesn't check for >> exception. >> >> I'm in doubt it could be done all at once and probably this problem >> should go to the huge TODO pile. >> >> So I'm speaking about *one particular case*, where returned value could >> lead to misinterpretation of security context and lead to security >> vulnerability or subtle bug. >> >> We have to throw OOM there and change all callers as well for this case. >> >> -Dmitry >> >> On 2013-02-12 19:51, John Zavgren wrote: >>> On 02/08/2013 01:34 PM, Dmitry Samersoff wrote: >>>> John, >>>> >>>>> Ideas? >>>> It's a JNI so just throw OOM. >>>> >>>> -Dmitry >>>> >>>> >>>> On 2013-02-08 21:38, John Zavgren wrote: >>>>> Although I agree that the name: "GSS_C_NO_CHANNEL_BINDINGS" is >>>>> misleading, >>>>> I can't identify anything else that seems more appropriate. >>>>> >>>>> The header file: >>>>> /jdk8-tl/jdk/src/share/native/sun/security/jgss/wrapper/gssapi.h defines >>>>> GSS_C_NO_CHANNEL_BINDINGS as follows: >>>>> #define GSS_C_NO_CHANNEL_BINDINGS ((gss_channel_bindings_t) 0) >>>>> >>>>> The symbol matches the prototype of the function: >>>>> >>>>> */* >>>>> * Utility routine which creates a gss_channel_bindings_t structure >>>>> * using the specified org.ietf.jgss.ChannelBinding object. >>>>> */ >>>>> gss_channel_bindings_t getGSSCB(JNIEnv *env, jobject jcb) { >>>>> gss_channel_bindings_t cb; >>>>> jobject jinetAddr; >>>>> jbyteArray value; >>>>> >>>>> if (jcb == NULL) { >>>>> return GSS_C_NO_CHANNEL_BINDINGS; >>>>> } >>>>> cb = malloc(sizeof(struct gss_channel_bindings_struct)); >>>>> >>>>> if(cb == NULL) >>>>> return GSS_C_NO_CHANNEL_BINDINGS;* >>>>> >>>>> There doesn't appear to be anything in our set of options that is more >>>>> suggestive of a memory allocation failure and the symbol: >>>>> GSS_C_NO_CHANNEL_BINDINGS seems to be logically correct. >>>>> >>>>> Ideas? >>>>> >>>>> On 02/06/2013 04:57 AM, Dmitry Samersoff wrote: >>>>>> John, >>>>>> >>>>>> Not sure GSS_C_NO_CHANNEL_BINDINGS; is correct return value for this >>>>>> case. >>>>>> >>>>>> I'm second to Valerie - it's better to throw OOM >>>>>> >>>>>> -Dmitry >>>>>> >>>>>> >>>>>> On 2013-02-06 03:44, John Zavgren wrote: >>>>>>> Greetings: >>>>>>> >>>>>>> I modified the native code to eliminate potential memory loss and >>>>>>> crashes by checking the return values of malloc() and realloc() calls. >>>>>>> >>>>>>> The webrev image of these changes is visible at: >>>>>>> http://cr.openjdk.java.net/~jzavgren/8007607/webrev.01/ >>>>>>> >>>>>>> Thanks! >>>>>>> John Zavgren >>>>>>> >>>>> -- >>>>> John Zavgren >>>>> john.zavgren at oracle.com >>>>> 603-821-0904 >>>>> US-Burlington-MA >>>>> >>> When I change the procedures in the following files: >>> >>> src/share/native/sun/security/jgss/wrapper/GSSLibStub.c >>> src/share/native/sun/security/jgss/wrapper/NativeUtil.c >>> src/share/native/sun/security/smartcardio/pcsc.c >>> src/solaris/native/com/sun/security/auth/module/Solaris.c >>> src/solaris/native/com/sun/security/auth/module/Unix.c >>> >>> to fix inappropriate usages of malloc, realloc, etc. (e.g., not checking >>> the return value and referring to a NULL pointer and crashing) should I >>> modify every instance so that an OOM (Out Of Memory) exception is thrown >>> (before returning) whenever memory allocation fails? >>> >>> The exceptions would be thrown by a line of code that looks like: >>> >>> throwOutOfMemoryError(JNIEnv *env, const char *msg); >>> >>> where throwOutOfMemoryError(...) wraps something like this: >>> >>> jclass cls = (*env)->FindClass(env, name); >>> >>> if (cls != 0) /* Otherwise an exception has already been >>> thrown */ >>> (*env)->ThrowNew(env, cls, msg); >>> >>> If this is the right idea, what messages should I pass when an OOM >>> exception is thrown? >>> >>> Thanks! >>> John >>> >> > > > -- > John Zavgren > john.zavgren at oracle.com > 603-821-0904 > US-Burlington-MA > From john.zavgren at oracle.com Tue Feb 19 17:16:54 2013 From: john.zavgren at oracle.com (John Zavgren) Date: Tue, 19 Feb 2013 09:16:54 -0800 (PST) Subject: RFR JDK-8008107 Message-ID: <855fec4b-929f-43a3-9754-a443959cbf1b@default> Greetings: I posted a webrev image: http://cr.openjdk.java.net/~jzavgren/8008107/webrev.01/, of a change that I made to the native source code file: jdk/src/share/native/sun/security/pkcs11/wrapper/p11_convert.c There is a block of code in this file, around line 685, that attempts to free memory after an exception has been detected. The original code frees memory at the address of the pointer: ckParam.pReturnedKeyMaterial, then it frees memory at the address: ckParam.pReturnedKeyMaterial->pIVClient, that is pointed to by the same freed pointer. After the original memory location is freed, the pointer is no longer valid. I fixed the problem by reversing the order in which these two memory segments are freed. Thanks! John Zavgren From chris.hegarty at oracle.com Tue Feb 19 17:42:53 2013 From: chris.hegarty at oracle.com (Chris Hegarty) Date: Tue, 19 Feb 2013 17:42:53 +0000 Subject: RFR JDK-8008107 In-Reply-To: <855fec4b-929f-43a3-9754-a443959cbf1b@default> References: <855fec4b-929f-43a3-9754-a443959cbf1b@default> Message-ID: <5123B99D.7080709@oracle.com> Looks ok to me. -Chris. On 02/19/2013 05:16 PM, John Zavgren wrote: > Greetings: > > I posted a webrev image: http://cr.openjdk.java.net/~jzavgren/8008107/webrev.01/, > of a change that I made to the native source code file: > jdk/src/share/native/sun/security/pkcs11/wrapper/p11_convert.c > > There is a block of code in this file, around line 685, that attempts to free memory after an exception has been detected. The original code frees memory at the address of the pointer: > ckParam.pReturnedKeyMaterial, then it frees memory at the address: ckParam.pReturnedKeyMaterial->pIVClient, that is pointed to by the same freed pointer. After the original memory location is freed, the pointer is no longer valid. > > I fixed the problem by reversing the order in which these two memory segments are freed. > > Thanks! > John Zavgren > From sean.mullan at oracle.com Tue Feb 19 17:47:24 2013 From: sean.mullan at oracle.com (Sean Mullan) Date: Tue, 19 Feb 2013 12:47:24 -0500 Subject: RFR JDK-8008107 In-Reply-To: <5123B99D.7080709@oracle.com> References: <855fec4b-929f-43a3-9754-a443959cbf1b@default> <5123B99D.7080709@oracle.com> Message-ID: <5123BAAC.4060701@oracle.com> Looks good to me too. --Sean On 02/19/2013 12:42 PM, Chris Hegarty wrote: > Looks ok to me. > > -Chris. > > On 02/19/2013 05:16 PM, John Zavgren wrote: >> Greetings: >> >> I posted a webrev image: >> http://cr.openjdk.java.net/~jzavgren/8008107/webrev.01/, >> of a change that I made to the native source code file: >> jdk/src/share/native/sun/security/pkcs11/wrapper/p11_convert.c >> >> There is a block of code in this file, around line 685, that attempts >> to free memory after an exception has been detected. The original code >> frees memory at the address of the pointer: >> ckParam.pReturnedKeyMaterial, then it frees memory at the address: >> ckParam.pReturnedKeyMaterial->pIVClient, that is pointed to by the >> same freed pointer. After the original memory location is freed, the >> pointer is no longer valid. >> >> I fixed the problem by reversing the order in which these two memory >> segments are freed. >> >> Thanks! >> John Zavgren >> From vicente.romero at oracle.com Tue Feb 19 17:54:38 2013 From: vicente.romero at oracle.com (vicente.romero at oracle.com) Date: Tue, 19 Feb 2013 17:54:38 +0000 Subject: hg: jdk8/tl/langtools: 8006212: javac, convert jtreg tests from shell script to java Message-ID: <20130219175447.0916147BA5@hg.openjdk.java.net> Changeset: dc8b7aa7cef3 Author: vromero Date: 2013-02-19 17:53 +0000 URL: http://hg.openjdk.java.net/jdk8/tl/langtools/rev/dc8b7aa7cef3 8006212: javac, convert jtreg tests from shell script to java Reviewed-by: jjg ! src/share/classes/com/sun/tools/javac/api/JavacTaskImpl.java ! src/share/classes/com/sun/tools/javac/util/ArrayUtils.java + test/tools/apt/Basics/CheckAptIsRemovedTest.java - test/tools/apt/Basics/NullAPF.java - test/tools/apt/Basics/apt.sh - test/tools/apt/verifyVariables.sh + test/tools/javac/4846262/CheckEBCDICLocaleTest.java - test/tools/javac/4846262/Test.java - test/tools/javac/4846262/Test.out - test/tools/javac/4846262/Test.sh + test/tools/javac/6302184/HiddenOptionsShouldUseGivenEncodingTest.java - test/tools/javac/6302184/T6302184.sh + test/tools/javac/ClassPathTest/ClassPathTest.java - test/tools/javac/ClassPathTest/ClassPathTest.sh - test/tools/javac/ClassPathTest/ClassPathTest1.java - test/tools/javac/ClassPathTest/ClassPathTest2.java - test/tools/javac/ClassPathTest/ClassPathTest3.java - test/tools/javac/ClassPathTest/bar/pkg/ClassPathTestAux2.java - test/tools/javac/ClassPathTest/foo/pkg/ClassPathTestAux1.java - test/tools/javac/ClassPathTest/pkg/ClassPathTestAux3.java + test/tools/javac/ExtDirs/ExtDirTest.java - test/tools/javac/ExtDirs/ExtDirTest_1.java - test/tools/javac/ExtDirs/ExtDirTest_2.java - test/tools/javac/ExtDirs/ExtDirTest_3.java - test/tools/javac/ExtDirs/ExtDirs.sh - test/tools/javac/MissingInclude.java - test/tools/javac/MissingInclude.sh + test/tools/javac/MissingInclude/MissingIncludeTest.java - test/tools/javac/ProtectedInnerClass/ProtectedInnerClass.sh - test/tools/javac/ProtectedInnerClass/ProtectedInnerClass_2.java + test/tools/javac/ProtectedInnerClass/ProtectedInnerClassesTest.java - test/tools/javac/ProtectedInnerClass/p1/ProtectedInnerClass1.java - test/tools/javac/ProtectedInnerClass/p2/ProtectedInnerClass2.java - test/tools/javac/ProtectedInnerClass/p2/ProtectedInnerClass3.java + test/tools/javac/T5090006/AssertionFailureTest.java - test/tools/javac/T5090006/T5090006.java - test/tools/javac/T5090006/compiler.sh - test/tools/javac/constDebug/ConstDebug.java - test/tools/javac/constDebug/ConstDebug.sh + test/tools/javac/constDebug/ConstDebugTest.java - test/tools/javac/fatalErrors/NoJavaLang.java - test/tools/javac/fatalErrors/NoJavaLang.out - test/tools/javac/fatalErrors/NoJavaLang.sh + test/tools/javac/fatalErrors/NoJavaLangTest.java - test/tools/javac/innerClassFile/Driver.sh + test/tools/javac/innerClassFile/InnerClassFileTest.java - test/tools/javac/innerClassFile/x/B.java - test/tools/javac/innerClassFile/x/C.java - test/tools/javac/innerClassFile/y/Main.java - test/tools/javac/innerClassFile/y/R1.java - test/tools/javac/innerClassFile/y/R2.java - test/tools/javac/innerClassFile/y/R3.java - test/tools/javac/javazip/A.java + test/tools/javac/javazip/JavaZipTest.java - test/tools/javac/javazip/Test.sh - test/tools/javac/javazip/bad/B.java - test/tools/javac/javazip/good/B.java + test/tools/javac/lib/ToolBox.java + test/tools/javac/links/LinksTest.java - test/tools/javac/links/T.java - test/tools/javac/links/b/B.java - test/tools/javac/links/links.sh + test/tools/javac/newlines/NewLineTest.java - test/tools/javac/newlines/Newlines.sh + test/tools/javac/stackmap/StackMapTest.java - test/tools/javac/stackmap/T4955930.java - test/tools/javac/stackmap/T4955930.sh ! test/tools/javac/unicode/SupplementaryJavaID6.java - test/tools/javac/unicode/SupplementaryJavaID6.sh + test/tools/javah/6257087/T6257087.java - test/tools/javah/6257087/foo.java - test/tools/javah/6257087/foo.sh - test/tools/javah/6257087/foo_bar.h - test/tools/javah/ConstMacroTest.sh - test/tools/javah/MissingParamClassException.java - test/tools/javah/MissingParamClassTest.sh - test/tools/javah/ParamClassTest.java - test/tools/javah/SubClassConsts.java - test/tools/javah/SubClassConsts.out - test/tools/javah/SubClassConsts.win - test/tools/javah/SuperClassConsts.java + test/tools/javah/T4942232/MissingParamClassTest.java + test/tools/javah/constMacroTest/ConstMacroTest.java + test/tools/javap/4798312/JavapShouldLoadClassesFromRTJarTest.java + test/tools/javap/4866831/PublicInterfaceTest.java - test/tools/javap/NotPackagePrivateInterface.java - test/tools/javap/PublicInterfaceTest.sh - test/tools/javap/pathsep.sh + test/tools/javap/stackmap/StackmapTest.java - test/tools/javap/stackmap/T6271292.java - test/tools/javap/stackmap/T6271292.out - test/tools/javap/stackmap/T6271292.sh From naoto.sato at oracle.com Tue Feb 19 18:35:14 2013 From: naoto.sato at oracle.com (naoto.sato at oracle.com) Date: Tue, 19 Feb 2013 18:35:14 +0000 Subject: hg: jdk8/tl/jdk: 7092447: Clarify the default locale used in each locale sensitive operation Message-ID: <20130219183537.5621847BA7@hg.openjdk.java.net> Changeset: af396ec087f4 Author: naoto Date: 2013-02-19 10:34 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/af396ec087f4 7092447: Clarify the default locale used in each locale sensitive operation Reviewed-by: okutsu ! src/share/classes/java/text/DateFormat.java ! src/share/classes/java/text/DateFormatSymbols.java ! src/share/classes/java/text/DecimalFormat.java ! src/share/classes/java/text/DecimalFormatSymbols.java ! src/share/classes/java/text/MessageFormat.java ! src/share/classes/java/text/NumberFormat.java ! src/share/classes/java/text/SimpleDateFormat.java ! src/share/classes/java/time/format/DateTimeFormatSymbols.java ! src/share/classes/java/util/Calendar.java ! src/share/classes/java/util/Currency.java ! src/share/classes/java/util/Formatter.java ! src/share/classes/java/util/GregorianCalendar.java ! src/share/classes/java/util/Locale.java ! src/share/classes/java/util/Scanner.java From jonathan.gibbons at oracle.com Tue Feb 19 18:50:02 2013 From: jonathan.gibbons at oracle.com (Jonathan Gibbons) Date: Tue, 19 Feb 2013 10:50:02 -0800 Subject: hg: jdk8/tl/langtools: 8006212: javac, convert jtreg tests from shell script to java In-Reply-To: <20130219175447.0916147BA5@hg.openjdk.java.net> References: <20130219175447.0916147BA5@hg.openjdk.java.net> Message-ID: <5123C95A.3060703@oracle.com> Woohoo -- 23 shell tests replaced with equivalent Java code: that's over 2/3 of the shell tests in langtools/test. -- Jon On 02/19/2013 09:54 AM, vicente.romero at oracle.com wrote: > Changeset: dc8b7aa7cef3 > Author: vromero > Date: 2013-02-19 17:53 +0000 > URL: http://hg.openjdk.java.net/jdk8/tl/langtools/rev/dc8b7aa7cef3 > > 8006212: javac, convert jtreg tests from shell script to java > Reviewed-by: jjg > > ! src/share/classes/com/sun/tools/javac/api/JavacTaskImpl.java > ! src/share/classes/com/sun/tools/javac/util/ArrayUtils.java > + test/tools/apt/Basics/CheckAptIsRemovedTest.java > - test/tools/apt/Basics/NullAPF.java > - test/tools/apt/Basics/apt.sh > - test/tools/apt/verifyVariables.sh > + test/tools/javac/4846262/CheckEBCDICLocaleTest.java > - test/tools/javac/4846262/Test.java > - test/tools/javac/4846262/Test.out > - test/tools/javac/4846262/Test.sh > + test/tools/javac/6302184/HiddenOptionsShouldUseGivenEncodingTest.java > - test/tools/javac/6302184/T6302184.sh > + test/tools/javac/ClassPathTest/ClassPathTest.java > - test/tools/javac/ClassPathTest/ClassPathTest.sh > - test/tools/javac/ClassPathTest/ClassPathTest1.java > - test/tools/javac/ClassPathTest/ClassPathTest2.java > - test/tools/javac/ClassPathTest/ClassPathTest3.java > - test/tools/javac/ClassPathTest/bar/pkg/ClassPathTestAux2.java > - test/tools/javac/ClassPathTest/foo/pkg/ClassPathTestAux1.java > - test/tools/javac/ClassPathTest/pkg/ClassPathTestAux3.java > + test/tools/javac/ExtDirs/ExtDirTest.java > - test/tools/javac/ExtDirs/ExtDirTest_1.java > - test/tools/javac/ExtDirs/ExtDirTest_2.java > - test/tools/javac/ExtDirs/ExtDirTest_3.java > - test/tools/javac/ExtDirs/ExtDirs.sh > - test/tools/javac/MissingInclude.java > - test/tools/javac/MissingInclude.sh > + test/tools/javac/MissingInclude/MissingIncludeTest.java > - test/tools/javac/ProtectedInnerClass/ProtectedInnerClass.sh > - test/tools/javac/ProtectedInnerClass/ProtectedInnerClass_2.java > + test/tools/javac/ProtectedInnerClass/ProtectedInnerClassesTest.java > - test/tools/javac/ProtectedInnerClass/p1/ProtectedInnerClass1.java > - test/tools/javac/ProtectedInnerClass/p2/ProtectedInnerClass2.java > - test/tools/javac/ProtectedInnerClass/p2/ProtectedInnerClass3.java > + test/tools/javac/T5090006/AssertionFailureTest.java > - test/tools/javac/T5090006/T5090006.java > - test/tools/javac/T5090006/compiler.sh > - test/tools/javac/constDebug/ConstDebug.java > - test/tools/javac/constDebug/ConstDebug.sh > + test/tools/javac/constDebug/ConstDebugTest.java > - test/tools/javac/fatalErrors/NoJavaLang.java > - test/tools/javac/fatalErrors/NoJavaLang.out > - test/tools/javac/fatalErrors/NoJavaLang.sh > + test/tools/javac/fatalErrors/NoJavaLangTest.java > - test/tools/javac/innerClassFile/Driver.sh > + test/tools/javac/innerClassFile/InnerClassFileTest.java > - test/tools/javac/innerClassFile/x/B.java > - test/tools/javac/innerClassFile/x/C.java > - test/tools/javac/innerClassFile/y/Main.java > - test/tools/javac/innerClassFile/y/R1.java > - test/tools/javac/innerClassFile/y/R2.java > - test/tools/javac/innerClassFile/y/R3.java > - test/tools/javac/javazip/A.java > + test/tools/javac/javazip/JavaZipTest.java > - test/tools/javac/javazip/Test.sh > - test/tools/javac/javazip/bad/B.java > - test/tools/javac/javazip/good/B.java > + test/tools/javac/lib/ToolBox.java > + test/tools/javac/links/LinksTest.java > - test/tools/javac/links/T.java > - test/tools/javac/links/b/B.java > - test/tools/javac/links/links.sh > + test/tools/javac/newlines/NewLineTest.java > - test/tools/javac/newlines/Newlines.sh > + test/tools/javac/stackmap/StackMapTest.java > - test/tools/javac/stackmap/T4955930.java > - test/tools/javac/stackmap/T4955930.sh > ! test/tools/javac/unicode/SupplementaryJavaID6.java > - test/tools/javac/unicode/SupplementaryJavaID6.sh > + test/tools/javah/6257087/T6257087.java > - test/tools/javah/6257087/foo.java > - test/tools/javah/6257087/foo.sh > - test/tools/javah/6257087/foo_bar.h > - test/tools/javah/ConstMacroTest.sh > - test/tools/javah/MissingParamClassException.java > - test/tools/javah/MissingParamClassTest.sh > - test/tools/javah/ParamClassTest.java > - test/tools/javah/SubClassConsts.java > - test/tools/javah/SubClassConsts.out > - test/tools/javah/SubClassConsts.win > - test/tools/javah/SuperClassConsts.java > + test/tools/javah/T4942232/MissingParamClassTest.java > + test/tools/javah/constMacroTest/ConstMacroTest.java > + test/tools/javap/4798312/JavapShouldLoadClassesFromRTJarTest.java > + test/tools/javap/4866831/PublicInterfaceTest.java > - test/tools/javap/NotPackagePrivateInterface.java > - test/tools/javap/PublicInterfaceTest.sh > - test/tools/javap/pathsep.sh > + test/tools/javap/stackmap/StackmapTest.java > - test/tools/javap/stackmap/T6271292.java > - test/tools/javap/stackmap/T6271292.out > - test/tools/javap/stackmap/T6271292.sh > From valerie.peng at oracle.com Tue Feb 19 19:22:39 2013 From: valerie.peng at oracle.com (Valerie (Yu-Ching) Peng) Date: Tue, 19 Feb 2013 11:22:39 -0800 Subject: RFR: JDK-8007607 In-Reply-To: <51225229.6080807@oracle.com> References: <2ac0a83e-9206-4012-a97b-8e6d1b82ca35@default> <51122920.6040208@oracle.com> <5115382C.40708@oracle.com> <5115453D.2010400@oracle.com> <511A650F.2040601@oracle.com> <511A67C9.70503@oracle.com> <51225229.6080807@oracle.com> Message-ID: <5123D0FF.5000106@oracle.com> - The implementation of throwByName(...) and throwOutOfMemory(...) should be moved to NativeUtil.c as that's where most if not all the utility functions are held. - I think it's better to move the block of code from line 330 to 333 to before the initGSSBuffer(...) call on line 329. Note that initGSSBuffer(...) calls should be paired with resetGSSBuffer(...) calls, so, easier/cleaner if you adjust the order here. - Same comment applies to line 927 and the code block of line928-931. Swapping their order would save you the call of resetGSSBuffer(...) calls. - why do you make change to line 1167? - The extern declaration on line 31 should be moved to NativeUtil.h and not here. - This is nothing to do with your change, but I noticed that there should be a return statement following line618. No point to continue to the rest of code, i.e. malloc and etc., if an exception has already occurred. - since there are only one calloc call, I don't see much value for defining a local method. I think you can just follow the same pattern of line 78-85. Less lines of code this way. - see above, same comment as Solaris.c. - line141, space between the "if" and "("? - line 195-196, I think the check here is somewhat redundant. If an exception occurred in the pcsc_multi2jstring(...), then it should free "mszReaders" before returning. The next two lines doing exactly that, so I don't think adding a check here makes any difference. - line 311, it's cleaner to do the malloc call and the null-check before calling (*env)->GetIntArrayElements(...) (you have on line 309) since it is paired with a (*env)->ReleaseIntArrayElements(...) call. * * - There is no malloc calls in this file at all. So, I think you should just move the throwOutOfMemoryError method to the "pcsc.c" file. Then you can get rid of the code block from line 42 to 57. Thanks, Valerie On 02/18/13 08:09, John Zavgren wrote: > Greetings: > I posted a new webrev image. > http://cr.openjdk.java.net/~jzavgren/8007607/webrev.04/ > > > The code now throws an OOM exception when *alloc() fails, and the > callers of procedures that call procedures that throw it, check for it. > > John > > On 02/12/2013 11:03 AM, Dmitry Samersoff wrote: >> John, >> >> Changing everything for throw OOM is the right goal but it's a huge work >> to do - it's meaningless to throw OOM if all callers doesn't check for >> exception. >> >> I'm in doubt it could be done all at once and probably this problem >> should go to the huge TODO pile. >> >> So I'm speaking about *one particular case*, where returned value could >> lead to misinterpretation of security context and lead to security >> vulnerability or subtle bug. >> >> We have to throw OOM there and change all callers as well for this case. >> >> -Dmitry >> >> On 2013-02-12 19:51, John Zavgren wrote: >>> On 02/08/2013 01:34 PM, Dmitry Samersoff wrote: >>>> John, >>>> >>>>> Ideas? >>>> It's a JNI so just throw OOM. >>>> >>>> -Dmitry >>>> >>>> >>>> On 2013-02-08 21:38, John Zavgren wrote: >>>>> Although I agree that the name: "GSS_C_NO_CHANNEL_BINDINGS" is >>>>> misleading, >>>>> I can't identify anything else that seems more appropriate. >>>>> >>>>> The header file: >>>>> /jdk8-tl/jdk/src/share/native/sun/security/jgss/wrapper/gssapi.h defines >>>>> GSS_C_NO_CHANNEL_BINDINGS as follows: >>>>> #define GSS_C_NO_CHANNEL_BINDINGS ((gss_channel_bindings_t) 0) >>>>> >>>>> The symbol matches the prototype of the function: >>>>> >>>>> */* >>>>> * Utility routine which creates a gss_channel_bindings_t structure >>>>> * using the specified org.ietf.jgss.ChannelBinding object. >>>>> */ >>>>> gss_channel_bindings_t getGSSCB(JNIEnv *env, jobject jcb) { >>>>> gss_channel_bindings_t cb; >>>>> jobject jinetAddr; >>>>> jbyteArray value; >>>>> >>>>> if (jcb == NULL) { >>>>> return GSS_C_NO_CHANNEL_BINDINGS; >>>>> } >>>>> cb = malloc(sizeof(struct gss_channel_bindings_struct)); >>>>> >>>>> if(cb == NULL) >>>>> return GSS_C_NO_CHANNEL_BINDINGS;* >>>>> >>>>> There doesn't appear to be anything in our set of options that is more >>>>> suggestive of a memory allocation failure and the symbol: >>>>> GSS_C_NO_CHANNEL_BINDINGS seems to be logically correct. >>>>> >>>>> Ideas? >>>>> >>>>> On 02/06/2013 04:57 AM, Dmitry Samersoff wrote: >>>>>> John, >>>>>> >>>>>> Not sure GSS_C_NO_CHANNEL_BINDINGS; is correct return value for this >>>>>> case. >>>>>> >>>>>> I'm second to Valerie - it's better to throw OOM >>>>>> >>>>>> -Dmitry >>>>>> >>>>>> >>>>>> On 2013-02-06 03:44, John Zavgren wrote: >>>>>>> Greetings: >>>>>>> >>>>>>> I modified the native code to eliminate potential memory loss and >>>>>>> crashes by checking the return values of malloc() and realloc() calls. >>>>>>> >>>>>>> The webrev image of these changes is visible at: >>>>>>> http://cr.openjdk.java.net/~jzavgren/8007607/webrev.01/ >>>>>>> >>>>>>> Thanks! >>>>>>> John Zavgren >>>>>>> >>>>> -- >>>>> John Zavgren >>>>> john.zavgren at oracle.com >>>>> 603-821-0904 >>>>> US-Burlington-MA >>>>> >>> When I change the procedures in the following files: >>> >>> src/share/native/sun/security/jgss/wrapper/GSSLibStub.c >>> src/share/native/sun/security/jgss/wrapper/NativeUtil.c >>> src/share/native/sun/security/smartcardio/pcsc.c >>> src/solaris/native/com/sun/security/auth/module/Solaris.c >>> src/solaris/native/com/sun/security/auth/module/Unix.c >>> >>> to fix inappropriate usages of malloc, realloc, etc. (e.g., not checking >>> the return value and referring to a NULL pointer and crashing) should I >>> modify every instance so that an OOM (Out Of Memory) exception is thrown >>> (before returning) whenever memory allocation fails? >>> >>> The exceptions would be thrown by a line of code that looks like: >>> >>> throwOutOfMemoryError(JNIEnv *env, const char *msg); >>> >>> where throwOutOfMemoryError(...) wraps something like this: >>> >>> jclass cls = (*env)->FindClass(env, name); >>> >>> if (cls != 0) /* Otherwise an exception has already been >>> thrown */ >>> (*env)->ThrowNew(env, cls, msg); >>> >>> If this is the right idea, what messages should I pass when an OOM >>> exception is thrown? >>> >>> Thanks! >>> John >>> > > > -- > John Zavgren > john.zavgren at oracle.com > 603-821-0904 > US-Burlington-MA -------------- next part -------------- An HTML attachment was scrubbed... URL: From mhall at mhcomputing.net Tue Feb 19 19:56:00 2013 From: mhall at mhcomputing.net (Matthew Hall) Date: Tue, 19 Feb 2013 11:56:00 -0800 Subject: PKCS #11 provider shutdown process, key zeroization Message-ID: <20130219195600.GA19984@mhcomputing.net> Hello, I am working on a product which uses the Sun PKCS #11 provider. I was curious how the FIPS mode worked, in particular about the shutdown procedure and whether or not it performed key and password zeroization, so I was reading through the OpenJDK 7 trunk version of the implementation code to learn more. In share/classes/sun/security/pkcs11/wrapper/PKCS11.java we have some methods: private static native void finalizeLibrary(); I could not find any code which ever called this method. In share/native/sun/security/pkcs11/wrapper/p11_general.c, all the implementation code for this native method is commented out, with an XXX marker but no explanation why it's commented out. public native void C_Finalize(Object pReserved) throws PKCS11Exception; I could not find any code which ever called this either, but at least the implementation code is not commented out, and looks like it would probably work if it was called. I believe that this method often implements zeroization so it seems like it could be an issue if nothing is ever calling this. /** * Calls disconnect() to cleanup the native part of the wrapper. Once this * method is called, this object cannot be used any longer. Any subsequent * call to a C_* method will result in a runtime exception. * * @exception Throwable If finalization fails. */ public void finalize() throws Throwable { disconnect(); } Next we have the finalizer, which calls the disconnect method. Note that it is documented as throwing an exception, but any exceptions during finalization would be ignored and not reported anywhere, which would mean we would not have a way of knowing that unloading is failing and nothing is getting zeroized properly. (This is according to Object#finalize documentation). Is there a way to obtain a reference to the PKCS11 wrapper and call this function explicitly? I could not find a good way to do it. Since finalize might never get called if the object never gets unreferences, I can't see how we could be sure the keys are zeroized right, even if some of the items inside of disconnect perform the zeroization, which I'm not sure that they do. /** * Disconnects the PKCS#11 library from this object. After calling this * method, this object is no longer connected to a native PKCS#11 module * and any subsequent calls to C_ methods will fail. This method is for * internal use only. * Declared private, because incorrect handling may result in errors in the * native part. * * @preconditions * @postconditions */ private native void disconnect(); Let's take a look at the implementation of disconnect from solaris/native/sun/security/pkcs11/wrapper/p11_md.c: /* * Class: sun_security_pkcs11_wrapper_PKCS11 * Method: disconnect * Signature: ()V */ JNIEXPORT void JNICALL Java_sun_security_pkcs11_wrapper_PKCS11_disconnect (JNIEnv *env, jobject obj) { ModuleData *moduleData; TRACE0("DEBUG: disconnecting module..."); moduleData = removeModuleEntry(env, obj); if (moduleData != NULL) { dlclose(moduleData->hModule); } free(moduleData); TRACE0("FINISHED\n"); } If you read through removeModuleEntry, the only interesting operation performed there is: (*env)->SetLongField(env, pkcs11Implementation, pNativeDataID, 0); This is setting the pNativeDataID field from the PKCS #11 class to zero. Then, the higher code in disconnect will dlclose the library. However dlclose is only reference-counting, and does not guarantee the library will be removed from memory, or that the removed memory will be zeroized. In addition if the keys are stored in a dynamic area and not a static area inside the library, which is what I suspect, they could still be present in memory after this point, which seems to be against what's required for zeroization in FIPS. Therefore I am asking now, if we are sure that the way all of this works will perform the key zeroization we expect. Can anybody comment on whether this could be an actual issue or not? In addition, I noticed there are a number of pieces of code that are zeroizing keys using \x20 instead of \x00: share/classes/com/sun/crypto/provider/PBEKey.java:70: java.util.Arrays.fill(passwd, ' '); share/classes/com/sun/crypto/provider/PBEKeyFactory.java:151: java.util.Arrays.fill(passwdChars, ' '); share/classes/com/sun/jmx/remote/security/FileLoginModule.java:561: Arrays.fill(password, ' '); share/classes/com/sun/security/auth/module/LdapLoginModule.java:1000: Arrays.fill(password, ' '); share/classes/java/io/Console.java:84: * java.util.Arrays.fill(passwd, ' '); share/classes/java/io/Console.java:388: Arrays.fill(rcb, 0, len, ' '); share/classes/java/security/KeyStore.java:297: Arrays.fill(password, ' '); share/classes/sun/net/www/protocol/http/spnego/NegotiateCallbackHandler.java:91: if (password != null) Arrays.fill(password, ' '); share/classes/sun/security/pkcs11/P11KeyStore.java:253: Arrays.fill(password, ' '); share/classes/sun/security/pkcs11/SunPKCS11.java:1191: Arrays.fill(pin, ' '); share/classes/sun/security/util/Password.java:104: Arrays.fill(lineBuffer, ' '); share/classes/sun/security/util/Password.java:118: Arrays.fill(buf, ' '); share/classes/sun/security/util/Password.java:123: Arrays.fill(consoleEntered, ' '); share/classes/sun/security/util/PolicyUtil.java:174: Arrays.fill(keyStorePassword, ' '); Officially I don't think this is allowed either, but it's a more minor issue than the other item I'm asking about. Regards, Matthew. From mike.duigou at oracle.com Tue Feb 19 19:58:06 2013 From: mike.duigou at oracle.com (mike.duigou at oracle.com) Date: Tue, 19 Feb 2013 19:58:06 +0000 Subject: hg: jdk8/tl/jdk: 8004561: Additional functional interfaces, extension methods and name changes Message-ID: <20130219195818.338C147BAD@hg.openjdk.java.net> Changeset: 16efb7ba188f Author: mduigou Date: 2013-02-19 11:56 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/16efb7ba188f 8004561: Additional functional interfaces, extension methods and name changes Summary: Adds additional functional interfaces for primitives and "Bi" (two operand). Adds utility extension methods. Includes some name changes for existing functional interfaces per EG decisions. Reviewed-by: briangoetz, darcy, chegar, dholmes ! src/share/classes/java/time/chrono/HijrahDeviationReader.java ! src/share/classes/java/util/concurrent/atomic/AtomicInteger.java ! src/share/classes/java/util/concurrent/atomic/AtomicIntegerArray.java ! src/share/classes/java/util/concurrent/atomic/AtomicIntegerFieldUpdater.java ! src/share/classes/java/util/concurrent/atomic/AtomicLong.java ! src/share/classes/java/util/concurrent/atomic/AtomicLongArray.java ! src/share/classes/java/util/concurrent/atomic/AtomicLongFieldUpdater.java ! src/share/classes/java/util/concurrent/atomic/AtomicReference.java ! src/share/classes/java/util/concurrent/atomic/AtomicReferenceArray.java ! src/share/classes/java/util/concurrent/atomic/AtomicReferenceFieldUpdater.java ! src/share/classes/java/util/concurrent/atomic/DoubleAccumulator.java ! src/share/classes/java/util/concurrent/atomic/LongAccumulator.java ! src/share/classes/java/util/concurrent/atomic/Striped64.java + src/share/classes/java/util/function/BiConsumer.java + src/share/classes/java/util/function/BiFunction.java + src/share/classes/java/util/function/BiPredicate.java ! src/share/classes/java/util/function/BinaryOperator.java - src/share/classes/java/util/function/Block.java + src/share/classes/java/util/function/BooleanSupplier.java + src/share/classes/java/util/function/Consumer.java ! src/share/classes/java/util/function/DoubleBinaryOperator.java - src/share/classes/java/util/function/DoubleBlock.java + src/share/classes/java/util/function/DoubleConsumer.java ! src/share/classes/java/util/function/DoubleFunction.java + src/share/classes/java/util/function/DoublePredicate.java ! src/share/classes/java/util/function/DoubleSupplier.java ! src/share/classes/java/util/function/DoubleUnaryOperator.java ! src/share/classes/java/util/function/Function.java ! src/share/classes/java/util/function/IntBinaryOperator.java - src/share/classes/java/util/function/IntBlock.java + src/share/classes/java/util/function/IntConsumer.java ! src/share/classes/java/util/function/IntFunction.java + src/share/classes/java/util/function/IntPredicate.java ! src/share/classes/java/util/function/IntSupplier.java ! src/share/classes/java/util/function/IntUnaryOperator.java ! src/share/classes/java/util/function/LongBinaryOperator.java - src/share/classes/java/util/function/LongBlock.java + src/share/classes/java/util/function/LongConsumer.java ! src/share/classes/java/util/function/LongFunction.java + src/share/classes/java/util/function/LongPredicate.java ! src/share/classes/java/util/function/LongSupplier.java ! src/share/classes/java/util/function/LongUnaryOperator.java + src/share/classes/java/util/function/ObjDoubleConsumer.java + src/share/classes/java/util/function/ObjIntConsumer.java + src/share/classes/java/util/function/ObjLongConsumer.java ! src/share/classes/java/util/function/Predicate.java + src/share/classes/java/util/function/ToDoubleBiFunction.java + src/share/classes/java/util/function/ToDoubleFunction.java + src/share/classes/java/util/function/ToIntBiFunction.java + src/share/classes/java/util/function/ToIntFunction.java + src/share/classes/java/util/function/ToLongBiFunction.java + src/share/classes/java/util/function/ToLongFunction.java ! src/share/classes/java/util/function/UnaryOperator.java ! src/share/classes/java/util/function/package-info.java ! test/java/lang/PrimitiveSumMinMaxTest.java From sean.mullan at oracle.com Tue Feb 19 20:32:12 2013 From: sean.mullan at oracle.com (sean.mullan at oracle.com) Date: Tue, 19 Feb 2013 20:32:12 +0000 Subject: hg: jdk8/tl/jdk: 8008107: [parfait] Use after free of pointer in jdk/src/share/native/sun/security/pkcs11/wrapper/p11_convert.c Message-ID: <20130219203225.2BB1847BB2@hg.openjdk.java.net> Changeset: 267bca6af07e Author: jzavgren Date: 2013-02-19 15:31 -0500 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/267bca6af07e 8008107: [parfait] Use after free of pointer in jdk/src/share/native/sun/security/pkcs11/wrapper/p11_convert.c Reviewed-by: mullan, chegar ! src/share/native/sun/security/pkcs11/wrapper/p11_convert.c From mhall at mhcomputing.net Wed Feb 20 00:26:49 2013 From: mhall at mhcomputing.net (Matthew Hall) Date: Tue, 19 Feb 2013 16:26:49 -0800 Subject: Safe storage of RSA private keys before binding to X.509 cert Message-ID: <20130220002649.GA21221@mhcomputing.net> Hello, I have a question about safely storing RSA private keys while waiting for a Cerification Request to be processed remotely so a signed X.509 Certificate will be returned. I want to store it inside the PKCS #11 KeyStore so it will be protected while we wait for the Certificate to become available, so that both can be bound together and then stored. However, the KeyStore APIs prevent this from succeeding: If public final void setKeyEntry(String alias, byte[] key, Certificate[] chain) is used with keyPair.getPrivate().getEncoded(), it throws UnsupportedOperationException. If public final void setKeyEntry(String alias, Key key, char[] password, Certificate[] chain) is used, it throws java.lang.IllegalArgumentException: Private key must be accompanied by certificate chain. If one creates a RAW-type SecretKey using SecretKeySpec privateKeySpec = new SecretKeySpec(privateKeyBytes, "RAW"), and attempts to store the RAW SecretKey, it throws java.security.KeyStoreException: Cannot convert to PKCS11 keys caused by java.security.InvalidKeyException: Unknown algorithm RAW. How is one supposed to store the RSA PrivateKey in a FIPS-safe way, if the KeyStore refuses to handle it via any of these APIs? Several threads on StackOverflow also mentioned this issue, with no known workaround. Regards, Matthew. From mhall at mhcomputing.net Wed Feb 20 00:59:30 2013 From: mhall at mhcomputing.net (Matthew Hall) Date: Tue, 19 Feb 2013 16:59:30 -0800 Subject: PKCS #11 provider shutdown process, key zeroization In-Reply-To: <20130219195600.GA19984@mhcomputing.net> References: <20130219195600.GA19984@mhcomputing.net> Message-ID: <20130220005929.GA21416@mhcomputing.net> I found another issue related to this topic. Quite a number of bits of code are printing out the content of the private exponent of the RSA Private Keys by default into the toString() output, which could lead to key compromise if they're printed into a log. share/classes/sun/security/pkcs11/P11Key.java:552: sb.append("\n private exponent: "); share/classes/sun/security/pkcs11/P11Key.java:624: sb.append("\n private exponent: "); share/classes/sun/security/rsa/RSAPrivateCrtKeyImpl.java:238: sb.append("\n private exponent: "); share/classes/sun/security/rsa/RSAPrivateKeyImpl.java:105: + n + "\n private exponent: " + d; Ordinarily I believe FIPS and PCI would require that there isn't any code sitting around that could accidentally or unexpectedly print out the private key data. Is this toString() behaving that way for a good reason? Matthew. From kumar.x.srinivasan at oracle.com Wed Feb 20 01:41:00 2013 From: kumar.x.srinivasan at oracle.com (kumar.x.srinivasan at oracle.com) Date: Wed, 20 Feb 2013 01:41:00 +0000 Subject: hg: jdk8/tl/jdk: 8008262: pack200 should support MethodParameters - part 2 Message-ID: <20130220014112.58B8347BBD@hg.openjdk.java.net> Changeset: ec1a79c3a99c Author: ksrini Date: 2013-02-19 16:49 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/ec1a79c3a99c 8008262: pack200 should support MethodParameters - part 2 Reviewed-by: jrose ! src/share/classes/com/sun/java/util/jar/pack/Attribute.java ! src/share/classes/com/sun/java/util/jar/pack/BandStructure.java ! src/share/classes/com/sun/java/util/jar/pack/PackageReader.java ! src/share/native/com/sun/java/util/jar/pack/bands.cpp ! src/share/native/com/sun/java/util/jar/pack/bands.h ! src/share/native/com/sun/java/util/jar/pack/unpack.cpp ! test/tools/pack200/AttributeTests.java ! test/tools/pack200/Utils.java From kumar.x.srinivasan at oracle.com Wed Feb 20 01:42:18 2013 From: kumar.x.srinivasan at oracle.com (kumar.x.srinivasan at oracle.com) Date: Wed, 20 Feb 2013 01:42:18 +0000 Subject: hg: jdk8/tl/langtools: 8006948: Update javac for MethodParameters format change Message-ID: <20130220014220.9FB7447BBE@hg.openjdk.java.net> Changeset: 9345394ac8fe Author: ksrini Date: 2013-02-19 17:19 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/langtools/rev/9345394ac8fe 8006948: Update javac for MethodParameters format change Reviewed-by: ksrini, forax Contributed-by: eric.mccorkle at oracle.com ! src/share/classes/com/sun/tools/classfile/ClassWriter.java ! src/share/classes/com/sun/tools/classfile/MethodParameters_attribute.java ! src/share/classes/com/sun/tools/javac/jvm/ClassReader.java ! src/share/classes/com/sun/tools/javac/jvm/ClassWriter.java From mstjohns at comcast.net Wed Feb 20 02:24:40 2013 From: mstjohns at comcast.net (mstjohns at comcast.net) Date: Wed, 20 Feb 2013 02:24:40 +0000 (UTC) Subject: Safe storage of RSA private keys before binding to X.509 cert Message-ID: <1530384777.1379617.1361327080626.JavaMail.root@sz0152a.westchester.pa.mail.comcast.net> Store the private key with a self-signed certificate. Replace the cert when it is issued. Sent from Comcast mobile -----Original Message----- From: Matthew Hall To: security-dev Sent: 2013-02-20 00:27:51 +0000 Subject: Safe storage of RSA private keys before binding to X.509 cert Hello, I have a question about safely storing RSA private keys while waiting for a Cerification Request to be processed remotely so a signed X.509 Certificate will be returned. I want to store it inside the PKCS #11 KeyStore so it will be protected while we wait for the Certificate to become available, so that both can be bound together and then stored. However, the KeyStore APIs prevent this from succeeding: If public final void setKeyEntry(String alias, byte[] key, Certificate[] chain) is used with keyPair.getPrivate().getEncoded(), it throws UnsupportedOperationException. If public final void setKeyEntry(String alias, Key key, char[] password, Certificate[] chain) is used, it throws java.lang.IllegalArgumentException: Private key must be accompanied by certificate chain. If one creates a RAW-type SecretKey using SecretKeySpec privateKeySpec = new SecretKeySpec(privateKeyBytes, "RAW"), and attempts to store the RAW SecretKey, it throws java.security.KeyStoreException: Cannot convert to PKCS11 keys caused by java.security.InvalidKeyException: Unknown algorithm RAW. How is one supposed to store the RSA PrivateKey in a FIPS-safe way, if the KeyStore refuses to handle it via any of these APIs? Several threads on StackOverflow also mentioned this issue, with no known workaround. Regards, Matthew. From mhall at mhcomputing.net Wed Feb 20 02:26:28 2013 From: mhall at mhcomputing.net (Matthew Hall) Date: Tue, 19 Feb 2013 18:26:28 -0800 Subject: Safe storage of RSA private keys before binding to X.509 cert In-Reply-To: <1530384777.1379617.1361327080626.JavaMail.root@sz0152a.westchester.pa.mail.comcast.net> References: <1530384777.1379617.1361327080626.JavaMail.root@sz0152a.westchester.pa.mail.comcast.net> Message-ID: <20130220022628.GA21684@mhcomputing.net> Is there a more elegant way? On Wed, Feb 20, 2013 at 02:24:40AM +0000, mstjohns at comcast.net wrote: > Store the private key with a self-signed certificate. Replace the cert when it is issued. > > Sent from Comcast mobile > > -----Original Message----- > From: Matthew Hall > To: security-dev > Sent: 2013-02-20 00:27:51 +0000 > Subject: Safe storage of RSA private keys before binding to X.509 cert > > Hello, > > I have a question about safely storing RSA private keys while waiting for a > Cerification Request to be processed remotely so a signed X.509 Certificate > will be returned. > > I want to store it inside the PKCS #11 KeyStore so it will be protected while > we wait for the Certificate to become available, so that both can be bound > together and then stored. > > However, the KeyStore APIs prevent this from succeeding: > > If public final void setKeyEntry(String alias, byte[] key, Certificate[] > chain) is used with keyPair.getPrivate().getEncoded(), it throws > UnsupportedOperationException. > > If public final void setKeyEntry(String alias, Key key, char[] password, > Certificate[] chain) is used, it throws java.lang.IllegalArgumentException: > Private key must be accompanied by certificate chain. > > If one creates a RAW-type SecretKey using SecretKeySpec privateKeySpec = new > SecretKeySpec(privateKeyBytes, "RAW"), and attempts to store the RAW > SecretKey, it throws java.security.KeyStoreException: Cannot convert to PKCS11 > keys caused by java.security.InvalidKeyException: Unknown algorithm RAW. > > How is one supposed to store the RSA PrivateKey in a FIPS-safe way, if the > KeyStore refuses to handle it via any of these APIs? Several threads on > StackOverflow also mentioned this issue, with no known workaround. > > Regards, > Matthew. From mstjohns at comcast.net Wed Feb 20 02:36:26 2013 From: mstjohns at comcast.net (mstjohns at comcast.net) Date: Wed, 20 Feb 2013 02:36:26 +0000 (UTC) Subject: Safe storage of RSA private keys before binding to X.509 cert Message-ID: <322572785.1380090.1361327786635.JavaMail.root@sz0152a.westchester.pa.mail.comcast.net> Not using the pkcs11 provider. If you use the (undocumented) wrapper classes you can get more direct access to the pkcs11 libraries. Or go with the iaik pkcs11 lobs. Sent from Comcast mobile -----Original Message----- From: Matthew Hall To: mstjohns Cc: security-dev Sent: 2013-02-20 02:27:21 +0000 Subject: Re: Safe storage of RSA private keys before binding to X.509 cert Is there a more elegant way? On Wed, Feb 20, 2013 at 02:24:40AM +0000, mstjohns at comcast.net wrote: > Store the private key with a self-signed certificate. Replace the cert when it is issued. >> Sent from Comcast mobile >> -----Original Message----- > From: Matthew Hall > To: security-dev > Sent: 2013-02-20 00:27:51 +0000 > Subject: Safe storage of RSA private keys before binding to X.509 cert >> Hello, >> I have a question about safely storing RSA private keys while waiting for a > Cerification Request to be processed remotely so a signed X.509 Certificate > will be returned. >> I want to store it inside the PKCS #11 KeyStore so it will be protected while > we wait for the Certificate to become available, so that both can be bound > together and then stored. >> However, the KeyStore APIs prevent this from succeeding: >> If public final void setKeyEntry(String alias, byte[] key, Certificate[] > chain) is used with keyPair.getPrivate().getEncoded(), it throws > UnsupportedOperationException. >> If public final void setKeyEntry(String alias, Key key, char[] password, > Certificate[] chain) is used, it throws java.lang.IllegalArgumentException: > Private key must be accompanied by certificate chain. >> If one creates a RAW-type SecretKey using SecretKeySpec privateKeySpec = new > SecretKeySpec(privateKeyBytes, "RAW"), and attempts to store the RAW > SecretKey, it throws java.security.KeyStoreException: Cannot convert to PKCS11 > keys caused by java.security.InvalidKeyException: Unknown algorithm RAW. >> How is one supposed to store the RSA PrivateKey in a FIPS-safe way, if the > KeyStore refuses to handle it via any of these APIs? Several threads on > StackOverflow also mentioned this issue, with no known workaround. >> Regards, > Matthew. From mhall at mhcomputing.net Wed Feb 20 02:48:02 2013 From: mhall at mhcomputing.net (Matthew Hall) Date: Tue, 19 Feb 2013 18:48:02 -0800 Subject: Safe storage of RSA private keys before binding to X.509 cert In-Reply-To: <322572785.1380090.1361327786635.JavaMail.root@sz0152a.westchester.pa.mail.comcast.net> References: <322572785.1380090.1361327786635.JavaMail.root@sz0152a.westchester.pa.mail.comcast.net> Message-ID: <20130220024802.GB21733@mhcomputing.net> How could I do it with the undocumented classes? Muahahahahaha! :) On Wed, Feb 20, 2013 at 02:36:26AM +0000, mstjohns at comcast.net wrote: > Not using the pkcs11 provider. If you use the (undocumented) wrapper classes you can get more direct access to the pkcs11 libraries. Or go with the iaik pkcs11 lobs. > > Sent from Comcast mobile > > -----Original Message----- > From: Matthew Hall > To: mstjohns > Cc: security-dev > Sent: 2013-02-20 02:27:21 +0000 > Subject: Re: Safe storage of RSA private keys before binding to X.509 cert > > Is there a more elegant way? > > On Wed, Feb 20, 2013 at 02:24:40AM +0000, mstjohns at comcast.net wrote: > > Store the private key with a self-signed certificate. Replace the cert when it is issued. > >> Sent from Comcast mobile > >> -----Original Message----- > > From: Matthew Hall > > To: security-dev > > Sent: 2013-02-20 00:27:51 +0000 > > Subject: Safe storage of RSA private keys before binding to X.509 cert > >> Hello, > >> I have a question about safely storing RSA private keys while waiting for a > > Cerification Request to be processed remotely so a signed X.509 Certificate > > will be returned. > >> I want to store it inside the PKCS #11 KeyStore so it will be protected while > > we wait for the Certificate to become available, so that both can be bound > > together and then stored. > >> However, the KeyStore APIs prevent this from succeeding: > >> If public final void setKeyEntry(String alias, byte[] key, Certificate[] > > chain) is used with keyPair.getPrivate().getEncoded(), it throws > > UnsupportedOperationException. > >> If public final void setKeyEntry(String alias, Key key, char[] password, > > Certificate[] chain) is used, it throws java.lang.IllegalArgumentException: > > Private key must be accompanied by certificate chain. > >> If one creates a RAW-type SecretKey using SecretKeySpec privateKeySpec = new > > SecretKeySpec(privateKeyBytes, "RAW"), and attempts to store the RAW > > SecretKey, it throws java.security.KeyStoreException: Cannot convert to PKCS11 > > keys caused by java.security.InvalidKeyException: Unknown algorithm RAW. > >> How is one supposed to store the RSA PrivateKey in a FIPS-safe way, if the > > KeyStore refuses to handle it via any of these APIs? Several threads on > > StackOverflow also mentioned this issue, with no known workaround. > >> Regards, > > Matthew. From mstjohns at comcast.net Wed Feb 20 02:54:08 2013 From: mstjohns at comcast.net (mstjohns at comcast.net) Date: Wed, 20 Feb 2013 02:54:08 +0000 (UTC) Subject: Safe storage of RSA private keys before binding to X.509 cert Message-ID: <1190934869.1380724.1361328848262.JavaMail.root@sz0152a.westchester.pa.mail.comcast.net> Use the source Luke. Sent from Comcast mobile -----Original Message----- From: Matthew Hall To: mstjohns Cc: security-dev Sent: 2013-02-20 02:48:57 +0000 Subject: Re: Safe storage of RSA private keys before binding to X.509 cert How could I do it with the undocumented classes? Muahahahahaha! :) On Wed, Feb 20, 2013 at 02:36:26AM +0000, mstjohns at comcast.net wrote: > Not using the pkcs11 provider. If you use the (undocumented) wrapper classes you can get more direct access to the pkcs11 libraries. Or go with the iaik pkcs11 lobs. >> Sent from Comcast mobile >> -----Original Message----- > From: Matthew Hall > To: mstjohns > Cc: security-dev > Sent: 2013-02-20 02:27:21 +0000 > Subject: Re: Safe storage of RSA private keys before binding to X.509 cert >> Is there a more elegant way? >> On Wed, Feb 20, 2013 at 02:24:40AM +0000, mstjohns at comcast.net wrote: >> Store the private key with a self-signed certificate. Replace the cert when it is issued. >>> Sent from Comcast mobile >>> -----Original Message----- >> From: Matthew Hall >> To: security-dev >> Sent: 2013-02-20 00:27:51 +0000 >> Subject: Safe storage of RSA private keys before binding to X.509 cert >>> Hello, >>> I have a question about safely storing RSA private keys while waiting for a >> Cerification Request to be processed remotely so a signed X.509 Certificate >> will be returned. >>> I want to store it inside the PKCS #11 KeyStore so it will be protected while >> we wait for the Certificate to become available, so that both can be bound >> together and then stored. >>> However, the KeyStore APIs prevent this from succeeding: >>> If public final void setKeyEntry(String alias, byte[] key, Certificate[] >> chain) is used with keyPair.getPrivate().getEncoded(), it throws >> UnsupportedOperationException. >>> If public final void setKeyEntry(String alias, Key key, char[] password, >> Certificate[] chain) is used, it throws java.lang.IllegalArgumentException: >> Private key must be accompanied by certificate chain. >>> If one creates a RAW-type SecretKey using SecretKeySpec privateKeySpec = new >> SecretKeySpec(privateKeyBytes, "RAW"), and attempts to store the RAW >> SecretKey, it throws java.security.KeyStoreException: Cannot convert to PKCS11 >> keys caused by java.security.InvalidKeyException: Unknown algorithm RAW. >>> How is one supposed to store the RSA PrivateKey in a FIPS-safe way, if the >> KeyStore refuses to handle it via any of these APIs? Several threads on >> StackOverflow also mentioned this issue, with no known workaround. >>> Regards, >> Matthew. From mhall at mhcomputing.net Wed Feb 20 03:03:51 2013 From: mhall at mhcomputing.net (Matthew Hall) Date: Tue, 19 Feb 2013 19:03:51 -0800 Subject: Safe storage of RSA private keys before binding to X.509 cert In-Reply-To: <1190934869.1380724.1361328848262.JavaMail.root@sz0152a.westchester.pa.mail.comcast.net> References: <1190934869.1380724.1361328848262.JavaMail.root@sz0152a.westchester.pa.mail.comcast.net> Message-ID: <20130220030351.GA21823@mhcomputing.net> Abandon all hope, ye who import sun.* ? :-D On Wed, Feb 20, 2013 at 02:54:08AM +0000, mstjohns at comcast.net wrote: > Use the source Luke. > > Sent from Comcast mobile > > -----Original Message----- > From: Matthew Hall > To: mstjohns > Cc: security-dev > Sent: 2013-02-20 02:48:57 +0000 > Subject: Re: Safe storage of RSA private keys before binding to X.509 cert > > How could I do it with the undocumented classes? Muahahahahaha! :) > > On Wed, Feb 20, 2013 at 02:36:26AM +0000, mstjohns at comcast.net wrote: > > Not using the pkcs11 provider. If you use the (undocumented) wrapper classes you can get more direct access to the pkcs11 libraries. Or go with the iaik pkcs11 lobs. > >> Sent from Comcast mobile > >> -----Original Message----- > > From: Matthew Hall > > To: mstjohns > > Cc: security-dev > > Sent: 2013-02-20 02:27:21 +0000 > > Subject: Re: Safe storage of RSA private keys before binding to X.509 cert > >> Is there a more elegant way? > >> On Wed, Feb 20, 2013 at 02:24:40AM +0000, mstjohns at comcast.net wrote: > >> Store the private key with a self-signed certificate. Replace the cert when it is issued. > >>> Sent from Comcast mobile > >>> -----Original Message----- > >> From: Matthew Hall > >> To: security-dev > >> Sent: 2013-02-20 00:27:51 +0000 > >> Subject: Safe storage of RSA private keys before binding to X.509 cert > >>> Hello, > >>> I have a question about safely storing RSA private keys while waiting for a > >> Cerification Request to be processed remotely so a signed X.509 Certificate > >> will be returned. > >>> I want to store it inside the PKCS #11 KeyStore so it will be protected while > >> we wait for the Certificate to become available, so that both can be bound > >> together and then stored. > >>> However, the KeyStore APIs prevent this from succeeding: > >>> If public final void setKeyEntry(String alias, byte[] key, Certificate[] > >> chain) is used with keyPair.getPrivate().getEncoded(), it throws > >> UnsupportedOperationException. > >>> If public final void setKeyEntry(String alias, Key key, char[] password, > >> Certificate[] chain) is used, it throws java.lang.IllegalArgumentException: > >> Private key must be accompanied by certificate chain. > >>> If one creates a RAW-type SecretKey using SecretKeySpec privateKeySpec = new > >> SecretKeySpec(privateKeyBytes, "RAW"), and attempts to store the RAW > >> SecretKey, it throws java.security.KeyStoreException: Cannot convert to PKCS11 > >> keys caused by java.security.InvalidKeyException: Unknown algorithm RAW. > >>> How is one supposed to store the RSA PrivateKey in a FIPS-safe way, if the > >> KeyStore refuses to handle it via any of these APIs? Several threads on > >> StackOverflow also mentioned this issue, with no known workaround. > >>> Regards, > >> Matthew. From lana.steuck at oracle.com Wed Feb 20 05:40:31 2013 From: lana.steuck at oracle.com (lana.steuck at oracle.com) Date: Wed, 20 Feb 2013 05:40:31 +0000 Subject: hg: jdk8/tl/corba: 2 new changesets Message-ID: <20130220054033.9558647BCE@hg.openjdk.java.net> Changeset: 27d6368ae8ba Author: katleman Date: 2013-02-14 11:43 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/corba/rev/27d6368ae8ba Added tag jdk8-b77 for changeset 35684a40c584 ! .hgtags Changeset: c528d8ce83f1 Author: lana Date: 2013-02-19 20:48 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/corba/rev/c528d8ce83f1 Merge From lana.steuck at oracle.com Wed Feb 20 05:40:31 2013 From: lana.steuck at oracle.com (lana.steuck at oracle.com) Date: Wed, 20 Feb 2013 05:40:31 +0000 Subject: hg: jdk8/tl: 3 new changesets Message-ID: <20130220054031.A3D9A47BCD@hg.openjdk.java.net> Changeset: 45dcccc6d221 Author: katleman Date: 2013-02-14 11:43 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/rev/45dcccc6d221 Added tag jdk8-b77 for changeset 3933eebc659d ! .hgtags Changeset: bbb7548d45c7 Author: lana Date: 2013-02-14 22:11 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/rev/bbb7548d45c7 Merge Changeset: eca3bce3d151 Author: lana Date: 2013-02-19 20:48 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/rev/eca3bce3d151 Merge From lana.steuck at oracle.com Wed Feb 20 05:40:36 2013 From: lana.steuck at oracle.com (lana.steuck at oracle.com) Date: Wed, 20 Feb 2013 05:40:36 +0000 Subject: hg: jdk8/tl/jaxp: Added tag jdk8-b77 for changeset 573e789c187a Message-ID: <20130220054042.817EB47BCF@hg.openjdk.java.net> Changeset: 00958c5a7070 Author: katleman Date: 2013-02-14 11:43 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/jaxp/rev/00958c5a7070 Added tag jdk8-b77 for changeset 573e789c187a ! .hgtags From lana.steuck at oracle.com Wed Feb 20 05:40:40 2013 From: lana.steuck at oracle.com (lana.steuck at oracle.com) Date: Wed, 20 Feb 2013 05:40:40 +0000 Subject: hg: jdk8/tl/langtools: 3 new changesets Message-ID: <20130220054051.84E8F47BD1@hg.openjdk.java.net> Changeset: bc24411bcc37 Author: katleman Date: 2013-02-14 11:44 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/langtools/rev/bc24411bcc37 Added tag jdk8-b77 for changeset 89c664151689 ! .hgtags Changeset: a3aa32fe4536 Author: lana Date: 2013-02-14 22:11 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/langtools/rev/a3aa32fe4536 Merge Changeset: 4cf6e84f844f Author: lana Date: 2013-02-19 20:53 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/langtools/rev/4cf6e84f844f Merge From lana.steuck at oracle.com Wed Feb 20 05:40:40 2013 From: lana.steuck at oracle.com (lana.steuck at oracle.com) Date: Wed, 20 Feb 2013 05:40:40 +0000 Subject: hg: jdk8/tl/jaxws: Added tag jdk8-b77 for changeset 64dfba1bad16 Message-ID: <20130220054044.CFFBD47BD0@hg.openjdk.java.net> Changeset: 391de4c992d1 Author: katleman Date: 2013-02-14 11:43 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/jaxws/rev/391de4c992d1 Added tag jdk8-b77 for changeset 64dfba1bad16 ! .hgtags From lana.steuck at oracle.com Wed Feb 20 05:40:54 2013 From: lana.steuck at oracle.com (lana.steuck at oracle.com) Date: Wed, 20 Feb 2013 05:40:54 +0000 Subject: hg: jdk8/tl/hotspot: 36 new changesets Message-ID: <20130220054204.A4CF347BD2@hg.openjdk.java.net> Changeset: 1f84c84f8e1a Author: katleman Date: 2013-02-14 11:43 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/1f84c84f8e1a Added tag jdk8-b77 for changeset cdb46031e718 ! .hgtags Changeset: 1a0174612b49 Author: amurillo Date: 2013-02-08 08:16 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/1a0174612b49 8007801: new hotspot build - hs25-b19 Reviewed-by: jcoomes ! make/hotspot_version Changeset: 8d9fc28831cc Author: dcubed Date: 2013-02-06 14:31 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/8d9fc28831cc 7182152: Instrumentation hot swap test incorrect monitor count Summary: Add/refine new tracing support using -XX:TraceRedefineClasses=16384. Reviewed-by: coleenp, acorn, sspitsyn ! src/share/vm/oops/cpCache.cpp ! src/share/vm/oops/cpCache.hpp ! src/share/vm/oops/klassVtable.cpp ! src/share/vm/oops/klassVtable.hpp ! src/share/vm/oops/method.cpp ! src/share/vm/oops/method.hpp ! src/share/vm/prims/jvmtiRedefineClasses.cpp ! src/share/vm/prims/jvmtiRedefineClasses.hpp ! src/share/vm/prims/jvmtiRedefineClassesTrace.hpp ! src/share/vm/utilities/accessFlags.cpp ! src/share/vm/utilities/accessFlags.hpp Changeset: 3a88007634b0 Author: ctornqvi Date: 2013-02-08 10:42 +0100 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/3a88007634b0 8007434: Write tests for 8006298 Summary: Four tests written for 8006298 Reviewed-by: mgerdin, coleenp + test/runtime/CommandLine/BooleanFlagWithInvalidValue.java + test/runtime/CommandLine/FlagWithInvalidValue.java + test/runtime/CommandLine/NonBooleanFlagWithInvalidBooleanPrefix.java + test/runtime/CommandLine/UnrecognizedVMOption.java Changeset: 758935f7c23f Author: sla Date: 2013-02-08 12:48 +0100 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/758935f7c23f 8006423: SA: NullPointerException in sun.jvm.hotspot.debugger.bsd.BsdThread.getContext(BsdThread.java:67) Summary: Do not rely on mach thread port names to identify threads from SA Reviewed-by: dholmes, minqi, rbackman ! agent/src/os/bsd/MacosxDebuggerLocal.m ! agent/src/share/classes/sun/jvm/hotspot/debugger/bsd/BsdDebugger.java ! agent/src/share/classes/sun/jvm/hotspot/debugger/bsd/BsdDebuggerLocal.java ! agent/src/share/classes/sun/jvm/hotspot/debugger/bsd/BsdThread.java ! agent/src/share/classes/sun/jvm/hotspot/runtime/bsd_amd64/BsdAMD64JavaThreadPDAccess.java ! src/os/bsd/vm/osThread_bsd.hpp ! src/os/bsd/vm/os_bsd.cpp ! src/os_cpu/bsd_x86/vm/vmStructs_bsd_x86.hpp Changeset: 7194f764221c Author: sla Date: 2013-02-08 14:05 +0100 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/7194f764221c Merge Changeset: 461a3adac4d1 Author: sspitsyn Date: 2013-02-08 09:14 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/461a3adac4d1 Merge ! src/share/vm/oops/cpCache.cpp ! src/share/vm/oops/method.cpp ! src/share/vm/oops/method.hpp Changeset: 8bf62bd86a4e Author: zgu Date: 2013-02-08 14:49 -0500 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/8bf62bd86a4e 8007791: More Restricted hs_err file permission Summary: Enforce more restricted hs_file permission Reviewed-by: acorn, dcubed, dsamersoff ! src/share/vm/utilities/vmError.cpp Changeset: 1ba5b18088a8 Author: zgu Date: 2013-02-08 14:32 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/1ba5b18088a8 Merge Changeset: 41d73c9b30a8 Author: zgu Date: 2013-02-08 16:31 -0500 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/41d73c9b30a8 8006691: Remove jvm_version_info.is_kernel_jvm field Summary: Removed is_kernel_jvm from jvm_version_info as Kernel VM has been deprecated Reviewed-by: mchung, coleenp ! src/share/vm/prims/jvm.cpp ! src/share/vm/prims/jvm.h Changeset: 3f11b37f047c Author: zgu Date: 2013-02-08 13:55 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/3f11b37f047c Merge Changeset: f989aff6946f Author: zgu Date: 2013-02-08 16:56 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/f989aff6946f Merge Changeset: 927a311d00f9 Author: coleenp Date: 2013-02-11 14:06 -0500 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/927a311d00f9 8007320: NPG: move method annotations Summary: allocate method annotations and attach to ConstMethod if present Reviewed-by: dcubed, jiangli, sspitsyn, iklam ! agent/src/share/classes/sun/jvm/hotspot/oops/ConstMethod.java ! src/share/vm/classfile/classFileParser.cpp ! src/share/vm/classfile/classFileParser.hpp ! src/share/vm/classfile/defaultMethods.cpp ! src/share/vm/memory/heapInspection.hpp ! src/share/vm/oops/annotations.cpp ! src/share/vm/oops/annotations.hpp ! src/share/vm/oops/constMethod.cpp ! src/share/vm/oops/constMethod.hpp ! src/share/vm/oops/instanceKlass.cpp ! src/share/vm/oops/instanceKlass.hpp ! src/share/vm/oops/method.cpp ! src/share/vm/oops/method.hpp ! src/share/vm/prims/jvm.cpp ! src/share/vm/prims/jvmtiRedefineClasses.cpp ! src/share/vm/prims/jvmtiRedefineClasses.hpp ! src/share/vm/runtime/fieldDescriptor.cpp ! src/share/vm/runtime/vmStructs.cpp + test/runtime/8007320/ConstMethodTest.java Changeset: 5ee2b330eacd Author: zgu Date: 2013-02-12 12:19 -0500 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/5ee2b330eacd 8007950: Undo hs_file permission change Summary: Reverse hs_err file permission back to 0666, as early push was premature Reviewed-by: dsamersoff, dcubed, acorn ! src/share/vm/utilities/vmError.cpp Changeset: deb43b8a436e Author: sspitsyn Date: 2013-02-13 08:42 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/deb43b8a436e Merge Changeset: bce1ac447f6b Author: johnc Date: 2013-02-06 14:50 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/bce1ac447f6b 7052429: G1: Avoid unnecessary scanning of humongous regions during concurrent marking Summary: Skip unnecessary scanning of bitmap for unmarked humongous objects/regions. Reviewed-by: jwilhelm, johnc Contributed-by: Tao Mao ! src/share/vm/gc_implementation/g1/concurrentMark.cpp ! src/share/vm/runtime/globals.hpp Changeset: f64ffbf81af5 Author: jwilhelm Date: 2013-02-07 15:51 +0100 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/f64ffbf81af5 8006432: Ratio flags should be unsigned Summary: Flags changed to be of uintx type Reviewed-by: johnc, tamao ! src/cpu/zero/vm/shark_globals_zero.hpp ! src/os_cpu/bsd_x86/vm/globals_bsd_x86.hpp ! src/share/vm/gc_implementation/concurrentMarkSweep/concurrentMarkSweepGeneration.cpp ! src/share/vm/gc_implementation/concurrentMarkSweep/concurrentMarkSweepGeneration.hpp ! src/share/vm/gc_implementation/g1/g1_globals.hpp ! src/share/vm/runtime/arguments.cpp ! src/share/vm/runtime/globals.hpp Changeset: 5d8325eb8240 Author: brutisso Date: 2013-02-07 22:04 +0100 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/5d8325eb8240 Merge ! src/share/vm/runtime/thread.cpp Changeset: 9425ba04792d Author: brutisso Date: 2013-02-07 18:40 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/9425ba04792d Merge - agent/src/share/classes/sun/jvm/hotspot/memory/BinaryTreeDictionary.java - make/solaris/makefiles/kernel.make ! src/share/vm/runtime/arguments.cpp - test/runtime/7158988/TestFieldMonitor.sh Changeset: ad747ee9d0b1 Author: brutisso Date: 2013-02-10 21:15 +0100 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/ad747ee9d0b1 8002144: G1: large number of evacuation failures may lead to large c heap memory usage Summary: Use Stack<> instead of GrowableArray to keep track of preserved marks. Also reviewed by vitalyd at gmail.com. Reviewed-by: johnc, jcoomes ! src/share/vm/gc_implementation/g1/g1CollectedHeap.cpp ! src/share/vm/gc_implementation/g1/g1CollectedHeap.hpp Changeset: 5e401ef52ec0 Author: johnc Date: 2013-02-11 15:24 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/5e401ef52ec0 8007772: G1: assert(!hr->isHumongous() || mr.start() == hr->bottom()) failed: the start of HeapRegion and MemRegion should be consistent for humongous regions Summary: In do_marking_step(), we should always give up current region after scanning the object, if the region is humongous. Reviewed-by: brutisso, jwilhelm, tamao ! src/share/vm/gc_implementation/g1/concurrentMark.cpp Changeset: a83cd101fd62 Author: jmasa Date: 2013-01-23 19:08 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/a83cd101fd62 8005452: NPG: Create new flags for Metaspace resizing policy Reviewed-by: johnc, jwilhelm, coleenp, stefank ! src/share/vm/memory/metaspace.cpp ! src/share/vm/runtime/arguments.cpp ! src/share/vm/runtime/globals.hpp Changeset: b8d5d7a6c94c Author: brutisso Date: 2013-02-14 11:01 +0100 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/b8d5d7a6c94c Merge ! src/share/vm/runtime/arguments.cpp ! src/share/vm/runtime/thread.cpp Changeset: 91a23b11d8dc Author: kvn Date: 2013-02-08 15:07 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/91a23b11d8dc 8007708: compiler/6855215 assert(VM_Version::supports_sse4_2()) Summary: Added missing UseSSE42 check. Also added missing avx2 assert for vpermq instruction. Reviewed-by: roland, twisti ! src/cpu/x86/vm/assembler_x86.cpp ! src/cpu/x86/vm/macroAssembler_x86.cpp Changeset: 309460dcedf7 Author: morris Date: 2013-02-08 15:39 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/309460dcedf7 8006851: When TieredCompilation is set, max code cache should be bumped to 256mb Summary: Set ReservedCodeCacheSize to (default value)*5 when TieredCompilation is on. Reviewed-by: kvn, twisti ! src/share/vm/runtime/arguments.cpp Changeset: 2c673161698a Author: drchase Date: 2013-02-09 12:55 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/2c673161698a 8007402: Code cleanup to remove Parfait false positive Summary: add array access range check Reviewed-by: kvn ! src/share/vm/opto/regmask.cpp ! src/share/vm/opto/regmask.hpp Changeset: 64d2a0a39954 Author: kmo Date: 2013-02-10 22:35 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/64d2a0a39954 8006430: TraceTypeProfile is a product flag while it should be a diagnostic flag Summary: make sure all diagnostic and experimental flag kinds are checked in Flag::is_unlocked() Reviewed-by: kvn ! src/share/vm/runtime/globals.cpp Changeset: a9c29dfc7d73 Author: morris Date: 2013-02-11 10:38 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/a9c29dfc7d73 8003251: ARM: move MacroAssembler into separate file Summary: moved MacroAssembler into separate file Reviewed-by: twisti, kvn, dlong ! src/share/vm/asm/macroAssembler.hpp ! src/share/vm/asm/macroAssembler.inline.hpp Changeset: 1e5e28bac299 Author: morris Date: 2013-02-11 14:47 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/1e5e28bac299 8003252: PPC: move MacroAssembler into separate file Summary: moved MacroAssembler into separate file Reviewed-by: twisti, kvn, dlong ! src/share/vm/asm/macroAssembler.hpp ! src/share/vm/asm/macroAssembler.inline.hpp Changeset: 8b3da8d14c93 Author: roland Date: 2013-02-12 12:56 +0100 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/8b3da8d14c93 7197327: 40% regression on 8 b41 comp 8 b40 on specjvm2008.mpegaudio on oob Summary: Add support for expensive nodes. Reviewed-by: kvn ! src/share/vm/opto/c2_globals.hpp ! src/share/vm/opto/compile.cpp ! src/share/vm/opto/compile.hpp ! src/share/vm/opto/library_call.cpp ! src/share/vm/opto/loopnode.cpp ! src/share/vm/opto/loopnode.hpp ! src/share/vm/opto/node.cpp ! src/share/vm/opto/node.hpp ! src/share/vm/opto/phaseX.cpp ! src/share/vm/opto/subnode.hpp Changeset: c703f9c4b025 Author: kmo Date: 2013-02-12 07:39 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/c703f9c4b025 8002169: TEST_BUG: compiler/7009359/Test7009359.java sometimes times out Summary: make the test less prone to timeout by reducing the amount of iteration and allowing main to be compiled Reviewed-by: jrose ! test/compiler/7009359/Test7009359.java Changeset: aaad39923cdb Author: kmo Date: 2013-02-12 14:33 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/aaad39923cdb Merge Changeset: 12e01444ca2d Author: iignatyev Date: 2013-02-13 08:29 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/12e01444ca2d 8006683: Add WhiteBox API to testing of compiler Reviewed-by: kvn, vlivanov ! src/share/tools/whitebox/sun/hotspot/WhiteBox.java ! src/share/vm/prims/wbtestmethods/parserTests.hpp ! src/share/vm/prims/whitebox.cpp ! src/share/vm/prims/whitebox.hpp + test/compiler/whitebox/CompilerWhiteBoxTest.java + test/compiler/whitebox/DeoptimizeAllTest.java + test/compiler/whitebox/DeoptimizeMethodTest.java + test/compiler/whitebox/IsMethodCompilableTest.java + test/compiler/whitebox/MakeMethodNotCompilableTest.java + test/compiler/whitebox/SetDontInlineMethodTest.java Changeset: 1cdf241a4b26 Author: vlivanov Date: 2013-02-14 05:36 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/1cdf241a4b26 Merge ! src/share/vm/runtime/arguments.cpp Changeset: 9f19f4a7d48a Author: amurillo Date: 2013-02-15 13:27 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/9f19f4a7d48a Merge Changeset: d5e12e7d2f71 Author: amurillo Date: 2013-02-15 13:27 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/d5e12e7d2f71 Added tag hs25-b19 for changeset 9f19f4a7d48a ! .hgtags From lana.steuck at oracle.com Wed Feb 20 05:41:41 2013 From: lana.steuck at oracle.com (lana.steuck at oracle.com) Date: Wed, 20 Feb 2013 05:41:41 +0000 Subject: hg: jdk8/tl/jdk: 19 new changesets Message-ID: <20130220054532.A7D0947BD3@hg.openjdk.java.net> Changeset: c1304eb051f6 Author: katleman Date: 2013-02-14 11:44 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/c1304eb051f6 Added tag jdk8-b77 for changeset b2fc8e31cecc ! .hgtags Changeset: 37719b174e87 Author: jgodinez Date: 2013-02-06 14:45 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/37719b174e87 8005194: [parfait] #353 sun/awt/image/jpeg/imageioJPEG.c Memory leak of pointer 'scale' allocated with calloc() Reviewed-by: prr, vadim Contributed-by: jia-hong.chen at oracle.com ! src/share/native/sun/awt/image/jpeg/imageioJPEG.c Changeset: ad49012d10a1 Author: jgodinez Date: 2013-02-08 11:25 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/ad49012d10a1 8005129: [parfait] #1122 - #1130 native/sun/awt/medialib/mlib_Image*.c Memory leak of pointer 'k' allocated with mlib_malloc Reviewed-by: prr, vadim Contributed-by: jia-hong.chen at oracle.com ! src/share/native/sun/awt/medialib/mlib_ImageConv.h ! src/share/native/sun/awt/medialib/mlib_ImageConvMxN_ext.c ! src/share/native/sun/awt/medialib/mlib_ImageConv_16ext.c ! src/share/native/sun/awt/medialib/mlib_ImageConv_16nw.c ! src/share/native/sun/awt/medialib/mlib_ImageConv_32nw.c ! src/share/native/sun/awt/medialib/mlib_ImageConv_8ext.c ! src/share/native/sun/awt/medialib/mlib_ImageConv_8nw.c ! src/share/native/sun/awt/medialib/mlib_ImageConv_u16ext.c ! src/share/native/sun/awt/medialib/mlib_ImageConv_u16nw.c ! src/share/native/sun/awt/medialib/mlib_ImageCreate.c ! src/share/native/sun/awt/medialib/mlib_c_ImageConv.h Changeset: 1ea9feb6d8c5 Author: jgodinez Date: 2013-02-08 11:36 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/1ea9feb6d8c5 8005261: [parfait] #415 sun/java2d/opengl/GLXSurfaceData.c Memory leak of pointer 'glxsdo' allocated with malloc Reviewed-by: prr, vadim Contributed-by: jia-hong.chen at oracle.com ! src/solaris/native/sun/java2d/opengl/GLXSurfaceData.c Changeset: 5f0217537435 Author: prr Date: 2013-02-12 09:58 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/5f0217537435 8007748: MacOSX build error : cast of type 'SEL' to 'uintptr_t' (aka 'unsigned long') is deprecated; use sel_getName instead Reviewed-by: anthony ! src/macosx/native/jobjc/src/core/native/SEL.m Changeset: 1b47e2dfa89a Author: lana Date: 2013-02-13 13:01 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/1b47e2dfa89a 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: 6df3acd02449 Author: prr Date: 2013-02-13 15:06 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/6df3acd02449 8008017: The fix for 8005129 does not build on Windows Reviewed-by: prr, jgodinez Contributed-by: jia-hong.chen at oracle.com ! src/share/native/sun/awt/medialib/mlib_ImageConv_16ext.c ! src/share/native/sun/awt/medialib/mlib_ImageConv_16nw.c ! src/share/native/sun/awt/medialib/mlib_ImageConv_8ext.c ! src/share/native/sun/awt/medialib/mlib_ImageConv_8nw.c ! src/share/native/sun/awt/medialib/mlib_ImageConv_u16ext.c ! src/share/native/sun/awt/medialib/mlib_ImageConv_u16nw.c Changeset: ac89a5d71466 Author: alexsch Date: 2013-02-06 18:25 +0400 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/ac89a5d71466 8000326: Focus unable to traverse in the menubar Reviewed-by: alexsch, malenkov ! src/share/classes/javax/swing/JMenuBar.java Changeset: 6e17465f4a1a Author: mcherkas Date: 2013-02-08 22:08 +0400 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/6e17465f4a1a 8005932: Java 7 on mac os x only provides text clipboard formats Reviewed-by: alexp, denis ! src/macosx/lib/flavormap.properties + test/java/awt/DataFlavor/MissedHtmlAndRtfBug/AbsoluteComponentCenterCalculator.java + test/java/awt/DataFlavor/MissedHtmlAndRtfBug/DataFlavorSearcher.java + test/java/awt/DataFlavor/MissedHtmlAndRtfBug/InterprocessMessages.java + test/java/awt/DataFlavor/MissedHtmlAndRtfBug/MissedHtmlAndRtfBug.html + test/java/awt/DataFlavor/MissedHtmlAndRtfBug/MissedHtmlAndRtfBug.java + test/java/awt/DataFlavor/MissedHtmlAndRtfBug/MyTransferable.java + test/java/awt/DataFlavor/MissedHtmlAndRtfBug/NextFramePositionCalculator.java + test/java/awt/DataFlavor/MissedHtmlAndRtfBug/SourcePanel.java + test/java/awt/DataFlavor/MissedHtmlAndRtfBug/TargetPanel.java Changeset: 5406c4e381e2 Author: kshefov Date: 2013-02-13 18:01 +0400 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/5406c4e381e2 7161759: TEST_BUG: java/awt/Frame/WindowDragTest/WindowDragTest.java fails to compile, should be modified Summary: Added @build Util jtreg tag Reviewed-by: serb, alexsch Contributed-by: Vera Akulova ! test/java/awt/Frame/WindowDragTest/WindowDragTest.java Changeset: dd6cf41a6953 Author: kshefov Date: 2013-02-13 19:06 +0400 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/dd6cf41a6953 7132383: [macosx] bug6596966.java should be adapted for Mac Reviewed-by: serb, alexsch Contributed-by: Vera Akulova ! test/javax/swing/JLabel/6596966/bug6596966.java ! test/javax/swing/regtesthelpers/Util.java Changeset: caec64340f42 Author: vkarnauk Date: 2013-02-13 19:23 +0400 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/caec64340f42 4199622: RFE: JComboBox shouldn't sending ActionEvents for keyboard navigation Reviewed-by: alexp, alexsch ! src/share/classes/javax/swing/plaf/basic/BasicComboBoxUI.java ! src/share/classes/javax/swing/plaf/basic/BasicLookAndFeel.java + test/javax/swing/JComboBox/4199622/bug4199622.java Changeset: 4d9691e95e05 Author: pchelko Date: 2013-02-13 15:27 +0000 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/4d9691e95e05 7079260: InputContext leaks memory Summary: Replaced strong refs with weak refs Reviewed-by: art, serb ! src/share/classes/sun/awt/im/CompositionAreaHandler.java ! src/solaris/classes/sun/awt/X11InputMethod.java + test/java/awt/im/memoryleak/InputContextMemoryLeakTest.java ! test/java/awt/regtesthelpers/Util.java Changeset: c552cde0e3f9 Author: pchelko Date: 2013-02-13 15:32 +0000 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/c552cde0e3f9 8005629: javac warnings compiling java.awt.EventDispatchThread and sun.awt.X11.XIconWindow Summary: Removed macosx specific workaround from shared code and made macosx use public API Reviewed-by: art, serb ! src/macosx/classes/sun/lwawt/macosx/CPrinterJob.java - src/macosx/classes/sun/lwawt/macosx/EventDispatchAccess.java ! src/macosx/native/sun/awt/CPrinterJob.m ! src/share/classes/java/awt/EventDispatchThread.java ! src/solaris/classes/sun/awt/X11/XIconWindow.java Changeset: c95dc15ac183 Author: lana Date: 2013-02-13 12:38 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/c95dc15ac183 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: c9efb349b391 Author: lana Date: 2013-02-13 17:55 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/c9efb349b391 Merge - src/macosx/classes/sun/lwawt/macosx/EventDispatchAccess.java Changeset: dc3019a336c0 Author: lana Date: 2013-02-13 17:57 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/dc3019a336c0 Merge - src/share/classes/java/time/PeriodParser.java - src/share/classes/java/time/calendar/ChronoDateImpl.java - src/share/classes/java/time/calendar/HijrahChrono.java - src/share/classes/java/time/calendar/HijrahDate.java - src/share/classes/java/time/calendar/HijrahDeviationReader.java - src/share/classes/java/time/calendar/HijrahEra.java - src/share/classes/java/time/calendar/JapaneseChrono.java - src/share/classes/java/time/calendar/JapaneseDate.java - src/share/classes/java/time/calendar/JapaneseEra.java - src/share/classes/java/time/calendar/MinguoChrono.java - src/share/classes/java/time/calendar/MinguoDate.java - src/share/classes/java/time/calendar/MinguoEra.java - src/share/classes/java/time/calendar/Ser.java - src/share/classes/java/time/calendar/ThaiBuddhistChrono.java - src/share/classes/java/time/calendar/ThaiBuddhistDate.java - src/share/classes/java/time/calendar/ThaiBuddhistEra.java - src/share/classes/java/time/calendar/package-info.java - src/share/classes/java/time/format/DateTimeFormatters.java - src/share/classes/java/time/format/DateTimePrintException.java - src/share/classes/java/time/temporal/Chrono.java - src/share/classes/java/time/temporal/ChronoLocalDate.java - src/share/classes/java/time/temporal/ChronoLocalDateTime.java - src/share/classes/java/time/temporal/ChronoLocalDateTimeImpl.java - src/share/classes/java/time/temporal/ChronoZonedDateTime.java - src/share/classes/java/time/temporal/ChronoZonedDateTimeImpl.java - src/share/classes/java/time/temporal/Era.java - src/share/classes/java/time/temporal/ISOChrono.java - src/share/classes/java/time/temporal/ISOEra.java - src/share/classes/java/time/temporal/ISOFields.java - src/share/classes/java/time/temporal/MonthDay.java - src/share/classes/java/time/temporal/OffsetDate.java - src/share/classes/java/time/temporal/OffsetDateTime.java - src/share/classes/java/time/temporal/OffsetTime.java - src/share/classes/java/time/temporal/Ser.java - src/share/classes/java/time/temporal/SimplePeriod.java - src/share/classes/java/time/temporal/TemporalAdder.java - src/share/classes/java/time/temporal/TemporalSubtractor.java - src/share/classes/java/time/temporal/Year.java - src/share/classes/java/time/temporal/YearMonth.java - src/share/classes/sun/util/calendar/TzIDOldMapping.java - test/java/time/META-INF/services/java.time.temporal.Chrono - test/java/time/tck/java/time/calendar/CopticChrono.java - test/java/time/tck/java/time/calendar/CopticDate.java - test/java/time/tck/java/time/calendar/CopticEra.java - test/java/time/tck/java/time/calendar/TestChronoLocalDate.java - test/java/time/tck/java/time/calendar/TestChronoLocalDateTime.java - test/java/time/tck/java/time/calendar/TestHijrahChrono.java - test/java/time/tck/java/time/calendar/TestJapaneseChrono.java - test/java/time/tck/java/time/calendar/TestMinguoChrono.java - test/java/time/tck/java/time/calendar/TestServiceLoader.java - test/java/time/tck/java/time/calendar/TestThaiBuddhistChrono.java - test/java/time/tck/java/time/format/TCKDateTimePrintException.java - test/java/time/tck/java/time/temporal/TCKISOFields.java - test/java/time/tck/java/time/temporal/TCKMonthDay.java - test/java/time/tck/java/time/temporal/TCKOffsetDate.java - test/java/time/tck/java/time/temporal/TCKOffsetDateTime.java - test/java/time/tck/java/time/temporal/TCKOffsetTime.java - test/java/time/tck/java/time/temporal/TCKSimplePeriod.java - test/java/time/tck/java/time/temporal/TCKYear.java - test/java/time/tck/java/time/temporal/TCKYearMonth.java - test/java/time/tck/java/time/temporal/TestChrono.java - test/java/time/tck/java/time/temporal/TestISOChrono.java - test/java/time/test/java/time/TestPeriodParser.java - test/java/time/test/java/time/format/TestDateTimeFormatters.java - test/java/time/test/java/time/format/TestDateTimePrintException.java - test/java/time/test/java/time/format/TestPadParserDecorator.java - test/java/time/test/java/time/format/TestZoneIdParser.java - test/java/time/test/java/time/temporal/TestISOChronoImpl.java - test/java/time/test/java/time/temporal/TestMonthDay.java - test/java/time/test/java/time/temporal/TestOffsetDate.java - test/java/time/test/java/time/temporal/TestOffsetDateTime.java - test/java/time/test/java/time/temporal/TestOffsetDateTime_instants.java - test/java/time/test/java/time/temporal/TestOffsetTime.java - test/java/time/test/java/time/temporal/TestYear.java - test/java/time/test/java/time/temporal/TestYearMonth.java Changeset: 5ea0024ba765 Author: lana Date: 2013-02-14 22:12 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/5ea0024ba765 Merge Changeset: 85a44860f5bb Author: lana Date: 2013-02-19 20:52 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/85a44860f5bb Merge - src/macosx/classes/sun/lwawt/macosx/EventDispatchAccess.java From vicente.romero at oracle.com Wed Feb 20 10:52:08 2013 From: vicente.romero at oracle.com (Vicente-Arturo Romero-Zaldivar) Date: Wed, 20 Feb 2013 10:52:08 +0000 Subject: hg: jdk8/tl/langtools: 8006212: javac, convert jtreg tests from shell script to java In-Reply-To: <5123C95A.3060703@oracle.com> References: <20130219175447.0916147BA5@hg.openjdk.java.net> <5123C95A.3060703@oracle.com> Message-ID: <5124AAD8.1060307@oracle.com> On 19/02/13 18:50, Jonathan Gibbons wrote: > Woohoo -- 23 shell tests replaced with equivalent Java code: that's > over 2/3 of the shell tests in langtools/test. And lots of files removed, "less is more" :) Vicente > > -- Jon > > On 02/19/2013 09:54 AM, vicente.romero at oracle.com wrote: >> Changeset: dc8b7aa7cef3 >> Author: vromero >> Date: 2013-02-19 17:53 +0000 >> URL: http://hg.openjdk.java.net/jdk8/tl/langtools/rev/dc8b7aa7cef3 >> >> 8006212: javac, convert jtreg tests from shell script to java >> Reviewed-by: jjg >> >> ! src/share/classes/com/sun/tools/javac/api/JavacTaskImpl.java >> ! src/share/classes/com/sun/tools/javac/util/ArrayUtils.java >> + test/tools/apt/Basics/CheckAptIsRemovedTest.java >> - test/tools/apt/Basics/NullAPF.java >> - test/tools/apt/Basics/apt.sh >> - test/tools/apt/verifyVariables.sh >> + test/tools/javac/4846262/CheckEBCDICLocaleTest.java >> - test/tools/javac/4846262/Test.java >> - test/tools/javac/4846262/Test.out >> - test/tools/javac/4846262/Test.sh >> + test/tools/javac/6302184/HiddenOptionsShouldUseGivenEncodingTest.java >> - test/tools/javac/6302184/T6302184.sh >> + test/tools/javac/ClassPathTest/ClassPathTest.java >> - test/tools/javac/ClassPathTest/ClassPathTest.sh >> - test/tools/javac/ClassPathTest/ClassPathTest1.java >> - test/tools/javac/ClassPathTest/ClassPathTest2.java >> - test/tools/javac/ClassPathTest/ClassPathTest3.java >> - test/tools/javac/ClassPathTest/bar/pkg/ClassPathTestAux2.java >> - test/tools/javac/ClassPathTest/foo/pkg/ClassPathTestAux1.java >> - test/tools/javac/ClassPathTest/pkg/ClassPathTestAux3.java >> + test/tools/javac/ExtDirs/ExtDirTest.java >> - test/tools/javac/ExtDirs/ExtDirTest_1.java >> - test/tools/javac/ExtDirs/ExtDirTest_2.java >> - test/tools/javac/ExtDirs/ExtDirTest_3.java >> - test/tools/javac/ExtDirs/ExtDirs.sh >> - test/tools/javac/MissingInclude.java >> - test/tools/javac/MissingInclude.sh >> + test/tools/javac/MissingInclude/MissingIncludeTest.java >> - test/tools/javac/ProtectedInnerClass/ProtectedInnerClass.sh >> - test/tools/javac/ProtectedInnerClass/ProtectedInnerClass_2.java >> + test/tools/javac/ProtectedInnerClass/ProtectedInnerClassesTest.java >> - test/tools/javac/ProtectedInnerClass/p1/ProtectedInnerClass1.java >> - test/tools/javac/ProtectedInnerClass/p2/ProtectedInnerClass2.java >> - test/tools/javac/ProtectedInnerClass/p2/ProtectedInnerClass3.java >> + test/tools/javac/T5090006/AssertionFailureTest.java >> - test/tools/javac/T5090006/T5090006.java >> - test/tools/javac/T5090006/compiler.sh >> - test/tools/javac/constDebug/ConstDebug.java >> - test/tools/javac/constDebug/ConstDebug.sh >> + test/tools/javac/constDebug/ConstDebugTest.java >> - test/tools/javac/fatalErrors/NoJavaLang.java >> - test/tools/javac/fatalErrors/NoJavaLang.out >> - test/tools/javac/fatalErrors/NoJavaLang.sh >> + test/tools/javac/fatalErrors/NoJavaLangTest.java >> - test/tools/javac/innerClassFile/Driver.sh >> + test/tools/javac/innerClassFile/InnerClassFileTest.java >> - test/tools/javac/innerClassFile/x/B.java >> - test/tools/javac/innerClassFile/x/C.java >> - test/tools/javac/innerClassFile/y/Main.java >> - test/tools/javac/innerClassFile/y/R1.java >> - test/tools/javac/innerClassFile/y/R2.java >> - test/tools/javac/innerClassFile/y/R3.java >> - test/tools/javac/javazip/A.java >> + test/tools/javac/javazip/JavaZipTest.java >> - test/tools/javac/javazip/Test.sh >> - test/tools/javac/javazip/bad/B.java >> - test/tools/javac/javazip/good/B.java >> + test/tools/javac/lib/ToolBox.java >> + test/tools/javac/links/LinksTest.java >> - test/tools/javac/links/T.java >> - test/tools/javac/links/b/B.java >> - test/tools/javac/links/links.sh >> + test/tools/javac/newlines/NewLineTest.java >> - test/tools/javac/newlines/Newlines.sh >> + test/tools/javac/stackmap/StackMapTest.java >> - test/tools/javac/stackmap/T4955930.java >> - test/tools/javac/stackmap/T4955930.sh >> ! test/tools/javac/unicode/SupplementaryJavaID6.java >> - test/tools/javac/unicode/SupplementaryJavaID6.sh >> + test/tools/javah/6257087/T6257087.java >> - test/tools/javah/6257087/foo.java >> - test/tools/javah/6257087/foo.sh >> - test/tools/javah/6257087/foo_bar.h >> - test/tools/javah/ConstMacroTest.sh >> - test/tools/javah/MissingParamClassException.java >> - test/tools/javah/MissingParamClassTest.sh >> - test/tools/javah/ParamClassTest.java >> - test/tools/javah/SubClassConsts.java >> - test/tools/javah/SubClassConsts.out >> - test/tools/javah/SubClassConsts.win >> - test/tools/javah/SuperClassConsts.java >> + test/tools/javah/T4942232/MissingParamClassTest.java >> + test/tools/javah/constMacroTest/ConstMacroTest.java >> + test/tools/javap/4798312/JavapShouldLoadClassesFromRTJarTest.java >> + test/tools/javap/4866831/PublicInterfaceTest.java >> - test/tools/javap/NotPackagePrivateInterface.java >> - test/tools/javap/PublicInterfaceTest.sh >> - test/tools/javap/pathsep.sh >> + test/tools/javap/stackmap/StackmapTest.java >> - test/tools/javap/stackmap/T6271292.java >> - test/tools/javap/stackmap/T6271292.out >> - test/tools/javap/stackmap/T6271292.sh >> > From staffan.larsen at oracle.com Wed Feb 20 11:40:31 2013 From: staffan.larsen at oracle.com (staffan.larsen at oracle.com) Date: Wed, 20 Feb 2013 11:40:31 +0000 Subject: hg: jdk8/tl/jdk: 8008089: Delete OS dependent check in JdkFinder.getExecutable() Message-ID: <20130220114053.28EE647BEE@hg.openjdk.java.net> Changeset: ca43e2761a1d Author: ykantser Date: 2013-02-13 10:24 +0100 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/ca43e2761a1d 8008089: Delete OS dependent check in JdkFinder.getExecutable() Reviewed-by: egahlin, alanb ! test/lib/testlibrary/jdk/testlibrary/JdkFinder.java From alexey.utkin at oracle.com Wed Feb 20 12:38:08 2013 From: alexey.utkin at oracle.com (alexey.utkin at oracle.com) Date: Wed, 20 Feb 2013 12:38:08 +0000 Subject: hg: jdk8/tl/jdk: 8007454: (process) SetHandleInformation parameters DWORD (not BOOLEAN) Message-ID: <20130220123839.4C46047BF5@hg.openjdk.java.net> Changeset: 0a2b308cc82d Author: uta Date: 2013-02-20 16:39 +0400 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/0a2b308cc82d 8007454: (process) SetHandleInformation parameters DWORD (not BOOLEAN) Summary: the SetHandleInformation arguments list was fixed. Reviewed-by: alanb ! src/windows/native/java/lang/ProcessImpl_md.c From daniel.daugherty at oracle.com Wed Feb 20 21:24:47 2013 From: daniel.daugherty at oracle.com (daniel.daugherty at oracle.com) Date: Wed, 20 Feb 2013 21:24:47 +0000 Subject: hg: jdk8/tl/jdk: 8008352: java/lang/instrument/RedefineSubclassWithTwoInterfaces.sh fails on MKS Message-ID: <20130220212510.9704C47C19@hg.openjdk.java.net> Changeset: 5772e9edbc4c Author: dcubed Date: 2013-02-20 13:23 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/5772e9edbc4c 8008352: java/lang/instrument/RedefineSubclassWithTwoInterfaces.sh fails on MKS Summary: Use more portable pattern counting constructs in test driver. Reviewed-by: sspitsyn, sla, coleenp ! test/java/lang/instrument/RedefineSubclassWithTwoInterfaces.sh From jonathan.gibbons at oracle.com Wed Feb 20 23:47:33 2013 From: jonathan.gibbons at oracle.com (jonathan.gibbons at oracle.com) Date: Wed, 20 Feb 2013 23:47:33 +0000 Subject: hg: jdk8/tl/langtools: 8006582: Test for parameter names feature Message-ID: <20130220234736.9287C47C1F@hg.openjdk.java.net> Changeset: 267225edc1fe Author: strarup Date: 2013-02-20 15:47 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/langtools/rev/267225edc1fe 8006582: Test for parameter names feature Reviewed-by: jjg, darcy, emc - test/tools/javac/MethodParameters.java + test/tools/javac/MethodParameters/AnnotationTest.java + test/tools/javac/MethodParameters/AnonymousClass.java + test/tools/javac/MethodParameters/AttributeVisitor.java + test/tools/javac/MethodParameters/ClassFileVisitor.java + test/tools/javac/MethodParameters/Constructors.java + test/tools/javac/MethodParameters/EnumTest.java + test/tools/javac/MethodParameters/InstanceMethods.java + test/tools/javac/MethodParameters/LambdaTest.java + test/tools/javac/MethodParameters/LocalClassTest.java + test/tools/javac/MethodParameters/MemberClassTest.java + test/tools/javac/MethodParameters/ReflectionVisitor.java + test/tools/javac/MethodParameters/StaticMethods.java + test/tools/javac/MethodParameters/Tester.java + test/tools/javac/MethodParameters/UncommonParamNames.java + test/tools/javac/MethodParametersTest.java From mike.duigou at oracle.com Thu Feb 21 01:56:54 2013 From: mike.duigou at oracle.com (mike.duigou at oracle.com) Date: Thu, 21 Feb 2013 01:56:54 +0000 Subject: hg: jdk8/tl: 8008629: webrev.ksh needs to quote bug title it gets back from scraping bugs.sun.com Message-ID: <20130221015654.9AA3A47C26@hg.openjdk.java.net> Changeset: c641268c4532 Author: mduigou Date: 2013-02-20 17:56 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/rev/c641268c4532 8008629: webrev.ksh needs to quote bug title it gets back from scraping bugs.sun.com Reviewed-by: darcy ! make/scripts/webrev.ksh From neil.richards at ngmr.net Thu Feb 21 12:13:31 2013 From: neil.richards at ngmr.net (Neil Richards) Date: Thu, 21 Feb 2013 12:13:31 +0000 Subject: RFR: Re-enable support for non-Principal implementations of PrincipalComparator Message-ID: <1361448811.27395.82.camel@chalkhill> Hi, The change made for the RFE 7019834 [1] [2] [3] is built upon the assertion that: "All PrincipalComparator implementations should already implement Principal". However, the Javadoc for com.sun.security.auth.PrincipalComparator in the JAAS specification [4] states that: "Although classes that implement this interface typically also implement the java.security.Principal interface, it is not required. In other words, classes may implement the java.security.Principal interface by itself, the PrincipalComparator interface by itself, or both at the same time." Therefore, it is to be expected that there exist user implementations of PrincipalComparator which do not also implement Principal, and which are therefore broken by the change made by 7019834. One example of this (prior to its modification by 7019834) was the jtreg test test/sun/security/provider/PolicyFile/Comparator.java, which (legitimately) had several classes implementing only PrincipalComparator. The changes made by 7019834 effectively both deprecate the use of PrincipalComparator - which is arguably fair enough (though the Javadoc for PrincipalComparator should to modified to reflect this change) - AND remove the support for its function, all in one fell swoop, which I suggest is not legitimate to do (within the same release as the initial deprecation). Given this, I have prepared a suggested change [5] to re-enable support for honoring the JAAS spec in this regard for implementations of PrincipalComparator that do not also implement Principal. Trying to conform to the spirit of the 7019834 change, I've implemented this using reflection, so the code is tolerant of situations where PrincipalComparator is not available. For jtreg tests, I've copied the original form of the "Comparator" test, changing only its name (to "CompatibleComparator"). Please review this change and let me know what you think. I'd be particularly interested in any suggestions regarding the Class.forName() call to find the PrincipalComparator class in the static initializer block - should it be wrapped in a doPrivileged block, or fed some specific ClassLoader ? Also, could a new bug id be generated for this, please ? Thanks, Neil [1] http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=7019834 [2] http://mail.openjdk.java.net/pipermail/security-dev/2012-December/006270.html [3] http://hg.openjdk.java.net/jdk8/jdk8/jdk/rev/bf6d0bca5ea7 [4] http://docs.oracle.com/javase/7/docs/jre/api/security/jaas/spec/com/sun/security/auth/PrincipalComparator.html [5] http://cr.openjdk.java.net/~ngmr/comparator/webrev.00/ -- Unless stated above: IBM email: neil_richards at uk.ibm.com IBM United Kingdom Limited - Registered in England and Wales with number 741598. Registered office: PO Box 41, North Harbour, Portsmouth, Hampshire PO6 3AU From maurizio.cimadamore at oracle.com Thu Feb 21 16:00:57 2013 From: maurizio.cimadamore at oracle.com (maurizio.cimadamore at oracle.com) Date: Thu, 21 Feb 2013 16:00:57 +0000 Subject: hg: jdk8/tl/langtools: 6 new changesets Message-ID: <20130221160118.3B1AE47C3C@hg.openjdk.java.net> Changeset: d686d8a7eb78 Author: mcimadamore Date: 2013-02-21 15:19 +0000 URL: http://hg.openjdk.java.net/jdk8/tl/langtools/rev/d686d8a7eb78 8008227: Mixing lambdas with anonymous classes leads to NPE thrown by compiler Summary: Disentangle cyclic dependency between static-ness of synthetic lambda method and static-ness of classes nested within lambdas Reviewed-by: jjg ! src/share/classes/com/sun/tools/javac/comp/LambdaToMethod.java + test/tools/javac/lambda/LambdaConv27.java Changeset: 3a39d123d33a Author: mcimadamore Date: 2013-02-21 15:21 +0000 URL: http://hg.openjdk.java.net/jdk8/tl/langtools/rev/3a39d123d33a 8008276: assertion error in com.sun.tools.javac.comp.TransTypes.visitApply Summary: DiagnosticFilter used during speculative attribution is too broad Reviewed-by: jjg ! src/share/classes/com/sun/tools/javac/comp/DeferredAttr.java ! src/share/classes/com/sun/tools/javac/util/JCDiagnostic.java + test/tools/javac/lambda/speculative/MissingError.java + test/tools/javac/lambda/speculative/MissingError.out Changeset: f4fdd53f8b3e Author: mcimadamore Date: 2013-02-21 15:23 +0000 URL: http://hg.openjdk.java.net/jdk8/tl/langtools/rev/f4fdd53f8b3e 8005183: Missing accessor for constructor reference pointing to private inner class ctor Summary: Compiler should add bridges when translating private constructor reference Reviewed-by: jjg ! src/share/classes/com/sun/tools/javac/comp/LambdaToMethod.java + test/tools/javac/lambda/MethodReference63.java Changeset: 7ac9242d2ca6 Author: mcimadamore Date: 2013-02-21 15:25 +0000 URL: http://hg.openjdk.java.net/jdk8/tl/langtools/rev/7ac9242d2ca6 8008293: Declared bounds not considered when functional interface containing unbound wildcards is instantiated Summary: Wildcards inference should re-use some of the bounds info generated during capture conversion Reviewed-by: jjg ! src/share/classes/com/sun/tools/javac/code/Types.java + test/tools/javac/lambda/TargetType64.java Changeset: 9f0ec00514b6 Author: mcimadamore Date: 2013-02-21 15:26 +0000 URL: http://hg.openjdk.java.net/jdk8/tl/langtools/rev/9f0ec00514b6 8007461: Regression: bad overload resolution when inner class and outer class have method with same name Summary: Fix regression in varargs method resolution introduced by bad refactoring Reviewed-by: jjg ! src/share/classes/com/sun/tools/javac/comp/Resolve.java ! test/tools/javac/resolve/Pos.java + test/tools/javac/resolve/tests/InnerOverOuter.java Changeset: 3fef0cae83b3 Author: mcimadamore Date: 2013-02-21 15:27 +0000 URL: http://hg.openjdk.java.net/jdk8/tl/langtools/rev/3fef0cae83b3 8008444: Inherited generic functional descriptors are merged incorrectly Summary: Missing call to Types.createMethodWithThrownTypes Reviewed-by: jjg ! src/share/classes/com/sun/tools/javac/code/Types.java + test/tools/javac/lambda/LambdaConv25.java + test/tools/javac/lambda/LambdaConv25.out From Alan.Bateman at oracle.com Thu Feb 21 18:46:20 2013 From: Alan.Bateman at oracle.com (Alan Bateman) Date: Thu, 21 Feb 2013 18:46:20 +0000 Subject: 8008662: Add @jdk.Supported to JDK-specific/supported API Message-ID: <51266B7C.3040804@oracle.com> Joe Darcy recently added @jdk.Supported [1] to make it possible to identify JDK-specific APIs. I'd like to add this to a number of APIs in the com.sun namespace to make it obvious these are "supported". Specifically I'm proposing to add it to: - Java Debug Interface (com.sun.jdi) - Attach API (com.sun.tools.attach) - SCTP API (com.sun.nio.sctp) - HTTP server API (com.sun.net.httpserver) - Management extensions (com.sun.management) - JDK-specific API to JAAS (com.sun.security.auth) - JDK-specific JGSS API (com.sun.security.jgss) The javadoc for all of these is generated as part of the regular JDK "docs" build and so shouldn't be controversial. There are a number of other candidates in com.sun with murkier status that I've stayed clear of for now. The webrev with the changes is here: http://cr.openjdk.java.net/~alanb/8008662/webrev/ In a couple of cases the package description is legacy package.html so I've had to move/convert them to package-info.java. In all but one case I've added the annotation to the package-info, the one exception is com.sun.management where there is at least one type that is documented as "not supported". Joe Darcy might have suggestions on that. Otherwise this is mostly mechanical and the patch file is easier to review that the webrev. -Alan [1] http://hg.openjdk.java.net/jdk8/tl/langtools/rev/55cca2f38ee6 From Lance.Andersen at oracle.com Thu Feb 21 19:35:26 2013 From: Lance.Andersen at oracle.com (Lance Andersen - Oracle) Date: Thu, 21 Feb 2013 14:35:26 -0500 Subject: 8008662: Add @jdk.Supported to JDK-specific/supported API In-Reply-To: <51266B7C.3040804@oracle.com> References: <51266B7C.3040804@oracle.com> Message-ID: Well, that was quite a few files to have to go through :-) Looks fine On Feb 21, 2013, at 1:46 PM, Alan Bateman wrote: > > Joe Darcy recently added @jdk.Supported [1] to make it possible to identify JDK-specific APIs. > > I'd like to add this to a number of APIs in the com.sun namespace to make it obvious these are "supported". Specifically I'm proposing to add it to: > > - Java Debug Interface (com.sun.jdi) > - Attach API (com.sun.tools.attach) > - SCTP API (com.sun.nio.sctp) > - HTTP server API (com.sun.net.httpserver) > - Management extensions (com.sun.management) > - JDK-specific API to JAAS (com.sun.security.auth) > - JDK-specific JGSS API (com.sun.security.jgss) > > The javadoc for all of these is generated as part of the regular JDK "docs" build and so shouldn't be controversial. There are a number of other candidates in com.sun with murkier status that I've stayed clear of for now. > > The webrev with the changes is here: > > http://cr.openjdk.java.net/~alanb/8008662/webrev/ > > In a couple of cases the package description is legacy package.html so I've had to move/convert them to package-info.java. > > In all but one case I've added the annotation to the package-info, the one exception is com.sun.management where there is at least one type that is documented as "not supported". Joe Darcy might have suggestions on that. > > Otherwise this is mostly mechanical and the patch file is easier to review that the webrev. > > -Alan > > [1] http://hg.openjdk.java.net/jdk8/tl/langtools/rev/55cca2f38ee6 -------------- next part -------------- A non-text attachment was scrubbed... Name: oracle_sig_logo.gif Type: image/gif Size: 658 bytes Desc: not available URL: -------------- next part -------------- Lance Andersen| Principal Member of Technical Staff | +1.781.442.2037 Oracle Java Engineering 1 Network Drive Burlington, MA 01803 Lance.Andersen at oracle.com From sean.mullan at oracle.com Thu Feb 21 22:38:29 2013 From: sean.mullan at oracle.com (Sean Mullan) Date: Thu, 21 Feb 2013 17:38:29 -0500 Subject: RFR: Re-enable support for non-Principal implementations of PrincipalComparator In-Reply-To: <1361448811.27395.82.camel@chalkhill> References: <1361448811.27395.82.camel@chalkhill> Message-ID: <5126A1E5.6020701@oracle.com> Hi, On 02/21/2013 07:13 AM, Neil Richards wrote: > Hi, > The change made for the RFE 7019834 [1] [2] [3] is built upon the > assertion that: > "All PrincipalComparator implementations should already > implement Principal". > > However, the Javadoc for com.sun.security.auth.PrincipalComparator in > the JAAS specification [4] states that: > "Although classes that implement this interface typically also > implement the java.security.Principal interface, it is not > required. In other words, classes may implement the > java.security.Principal interface by itself, the > PrincipalComparator interface by itself, or both at the same > time." > > Therefore, it is to be expected that there exist user implementations of > PrincipalComparator which do not also implement Principal, and which are > therefore broken by the change made by 7019834. Do you have any evidence that there are user implementations of PrincipalComparator which do not also implement Principal? I'm sympathetic to the compatibility issue, but would really like to see some evidence of real use cases. > One example of this (prior to its modification by 7019834) was the jtreg > test test/sun/security/provider/PolicyFile/Comparator.java, which > (legitimately) had several classes implementing only > PrincipalComparator. Yes, though I would argue that the JavaPolicy implementation actually had a bug in it and was not compliant with the policy syntax [1]. These should be classes that implement the java.security.Principal interface. > The changes made by 7019834 effectively both deprecate the use of > PrincipalComparator - which is arguably fair enough (though the Javadoc > for PrincipalComparator should to modified to reflect this change) - AND > remove the support for its function, all in one fell swoop, which I > suggest is not legitimate to do (within the same release as the initial > deprecation). Preserving compatibility is certainly important, so I do think its important that we understand if there are actual scenarios that might break, but I don't think we should add this extra code for something that is not compliant with the documented JavaPolicy syntax. > Given this, I have prepared a suggested change [5] to re-enable support > for honoring the JAAS spec in this regard for implementations of > PrincipalComparator that do not also implement Principal. > > Trying to conform to the spirit of the 7019834 change, I've implemented > this using reflection, so the code is tolerant of situations where > PrincipalComparator is not available. > > For jtreg tests, I've copied the original form of the "Comparator" test, > changing only its name (to "CompatibleComparator"). > > > Please review this change and let me know what you think. > > I'd be particularly interested in any suggestions regarding the > Class.forName() call to find the PrincipalComparator class in the static > initializer block - should it be wrapped in a doPrivileged block, or fed > some specific ClassLoader ? > > Also, could a new bug id be generated for this, please ? > > Thanks, > Neil > > [1] http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=7019834 > [2] http://mail.openjdk.java.net/pipermail/security-dev/2012-December/006270.html > [3] http://hg.openjdk.java.net/jdk8/jdk8/jdk/rev/bf6d0bca5ea7 > [4] http://docs.oracle.com/javase/7/docs/jre/api/security/jaas/spec/com/sun/security/auth/PrincipalComparator.html > [5] http://cr.openjdk.java.net/~ngmr/comparator/webrev.00/ > Thanks, Sean [1] http://docs.oracle.com/javase/7/docs/technotes/guides/security/PolicyFiles.html From robert.field at oracle.com Thu Feb 21 22:44:31 2013 From: robert.field at oracle.com (robert.field at oracle.com) Date: Thu, 21 Feb 2013 22:44:31 +0000 Subject: hg: jdk8/tl/langtools: 8008405: Now that metafactory is in place, add javac lambda serialization tests Message-ID: <20130221224433.DC7AA47C57@hg.openjdk.java.net> Changeset: cd7340a84bb8 Author: rfield Date: 2013-02-21 14:43 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/langtools/rev/cd7340a84bb8 8008405: Now that metafactory is in place, add javac lambda serialization tests Summary: Tests part of original langtools serialization review. Reviewed-by: mcimadamore + test/tools/javac/T8004969.java + test/tools/javac/lambda/LambdaInnerTypeVarArgsSerialize.java + test/tools/javac/lambda/LambdaInnerTypeVarSerialize.java From kumar.x.srinivasan at oracle.com Thu Feb 21 23:25:21 2013 From: kumar.x.srinivasan at oracle.com (kumar.x.srinivasan at oracle.com) Date: Thu, 21 Feb 2013 23:25:21 +0000 Subject: hg: jdk8/tl/langtools: 8008658: Four new method param jtreg tests fail in nightly tests Message-ID: <20130221232524.9E1E747C5B@hg.openjdk.java.net> Changeset: dabb36173c63 Author: ksrini Date: 2013-02-21 12:23 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/langtools/rev/dabb36173c63 8008658: Four new method param jtreg tests fail in nightly tests Reviewed-by: jjg, ksrini, mcimadamore Contributed-by: eric.mccorkle at oracle.com ! src/share/classes/com/sun/tools/javac/jvm/ClassWriter.java ! test/tools/javac/MethodParameters/EnumTest.java ! test/tools/javac/MethodParameters/LocalClassTest.java ! test/tools/javac/MethodParameters/MemberClassTest.java From robert.field at oracle.com Thu Feb 21 23:47:12 2013 From: robert.field at oracle.com (robert.field at oracle.com) Date: Thu, 21 Feb 2013 23:47:12 +0000 Subject: hg: jdk8/tl/jdk: 8008356: Test LambdaSerialization.java failing Message-ID: <20130221234732.5FCA747C5C@hg.openjdk.java.net> Changeset: 1da987f0311a Author: rfield Date: 2013-02-21 15:46 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/1da987f0311a 8008356: Test LambdaSerialization.java failing Summary: run in /othervm mode Reviewed-by: ksrini ! test/java/lang/invoke/lambda/LambdaSerialization.java From mandy.chung at oracle.com Fri Feb 22 01:43:03 2013 From: mandy.chung at oracle.com (Mandy Chung) Date: Thu, 21 Feb 2013 17:43:03 -0800 Subject: 8008662: Add @jdk.Supported to JDK-specific/supported API In-Reply-To: <51266B7C.3040804@oracle.com> References: <51266B7C.3040804@oracle.com> Message-ID: <5126CD27.4010608@oracle.com> On 2/21/2013 10:46 AM, Alan Bateman wrote: > > Joe Darcy recently added @jdk.Supported [1] to make it possible to > identify JDK-specific APIs. > > I'd like to add this to a number of APIs in the com.sun namespace to > make it obvious these are "supported". It's nice to be able to mark what is supported vs unsupported in the com.sun namespace since there are a mix of supported and unsupported APIs. > [...] > The webrev with the changes is here: > > http://cr.openjdk.java.net/~alanb/8008662/webrev/ > Looks good to me. > In a couple of cases the package description is legacy package.html so > I've had to move/convert them to package-info.java. > > In all but one case I've added the annotation to the package-info, the > one exception is com.sun.management where there is at least one type > that is documented as "not supported". Joe Darcy might have > suggestions on that. > I wasn't aware of the unsupported com.sun.management.OSMBeanFactory class being included in the javadoc. I think that can be fixed and I'll file a bug and hopefully we can clean that up. Mandy > Otherwise this is mostly mechanical and the patch file is easier to > review that the webrev. > > -Alan > > [1] http://hg.openjdk.java.net/jdk8/tl/langtools/rev/55cca2f38ee6 From joe.darcy at oracle.com Fri Feb 22 02:16:54 2013 From: joe.darcy at oracle.com (Joe Darcy) Date: Thu, 21 Feb 2013 18:16:54 -0800 Subject: 8008662: Add @jdk.Supported to JDK-specific/supported API In-Reply-To: <51266B7C.3040804@oracle.com> References: <51266B7C.3040804@oracle.com> Message-ID: <5126D516.1040005@oracle.com> On 02/21/2013 10:46 AM, Alan Bateman wrote: > > Joe Darcy recently added @jdk.Supported [1] to make it possible to > identify JDK-specific APIs. > > I'd like to add this to a number of APIs in the com.sun namespace to > make it obvious these are "supported". Specifically I'm proposing to > add it to: To add some more context here, there are various APIs outside of the Java SE namespaces (java.* and javax.*) that are shipped with the JDK. Some of these APIs and meant to be called by normal users of the JDK and evolve under essentially the same general evolution policy [1] as the SE API. Call such non-SE APIs in the JDK "supported." One example of such a supported API is the javac Tree API in com.sun.source.* JDK 7: http://docs.oracle.com/javase/7/docs/jdk/api/javac/tree/index.html JDK 8: http://download.java.net/jdk8/docs/jdk/api/javac/tree/index.html However, the com.sun.* subpackages are a mix of APIs that are supported as described above as well as APIs that are not supported. APIs that are not supported are *not* meant to be called by normal users of the JDK and can have a very different evolution policy, up to and including deletion from the JDK in a update release. The goal of adding the @Supported annotations is to allow these API categories to be more easily distinguished from each other, including enabling tools to check that @Supported(value=false) APIs are not referenced. The jdk.Supported annotation can be applied to both types and packages; it is *not* intended to allow modeling of supported-ness down to only a subset of methods of a type. In other words, if @jdk.Supported is applied to something, it is meant to refer to the whole entity, either all the parts of a type or all the types in a package. To make the information more prominent and easier to find, I recommend applying the annotation to both all the types in a package and the package itself, which is what I've done in the tree API. [2] In Alan's case below, I would not apply the annotation to a package if the package had a mix of supported and unsupported types. Cheers, -Joe [1] http://cr.openjdk.java.net/~darcy/OpenJdkDevGuide/OpenJdkDevelopersGuide.v0.777.html#general_evolution_policy [2] http://hg.openjdk.java.net/jdk8/tl/langtools/rev/011cf7e0a148 > > - Java Debug Interface (com.sun.jdi) > - Attach API (com.sun.tools.attach) > - SCTP API (com.sun.nio.sctp) > - HTTP server API (com.sun.net.httpserver) > - Management extensions (com.sun.management) > - JDK-specific API to JAAS (com.sun.security.auth) > - JDK-specific JGSS API (com.sun.security.jgss) > > The javadoc for all of these is generated as part of the regular JDK > "docs" build and so shouldn't be controversial. There are a number of > other candidates in com.sun with murkier status that I've stayed clear > of for now. > > The webrev with the changes is here: > > http://cr.openjdk.java.net/~alanb/8008662/webrev/ > > In a couple of cases the package description is legacy package.html so > I've had to move/convert them to package-info.java. > > In all but one case I've added the annotation to the package-info, the > one exception is com.sun.management where there is at least one type > that is documented as "not supported". Joe Darcy might have > suggestions on that. > > Otherwise this is mostly mechanical and the patch file is easier to > review that the webrev. > > -Alan > > [1] http://hg.openjdk.java.net/jdk8/tl/langtools/rev/55cca2f38ee6 From lana.steuck at oracle.com Fri Feb 22 03:39:08 2013 From: lana.steuck at oracle.com (lana.steuck at oracle.com) Date: Fri, 22 Feb 2013 03:39:08 +0000 Subject: hg: jdk8/tl: 9 new changesets Message-ID: <20130222033909.2CDA947C63@hg.openjdk.java.net> Changeset: ffb4d2e95140 Author: erikj Date: 2013-02-15 10:40 +0100 URL: http://hg.openjdk.java.net/jdk8/tl/rev/ffb4d2e95140 8005879: Add -DMAC_OS_X_VERSION_MAX_ALLOWED=1070 to builds on Mac Reviewed-by: ohair ! common/autoconf/generated-configure.sh ! common/autoconf/spec.gmk.in ! common/autoconf/toolchain.m4 Changeset: b0642df54d63 Author: erikj Date: 2013-02-18 10:46 +0100 URL: http://hg.openjdk.java.net/jdk8/tl/rev/b0642df54d63 Merge Changeset: b80abec66e70 Author: bpatel Date: 2013-01-21 00:29 -0500 URL: http://hg.openjdk.java.net/jdk8/tl/rev/b80abec66e70 8006124: javadoc/doclet should be updated to support profiles Reviewed-by: jjg, dholmes ! common/makefiles/javadoc/Javadoc.gmk Changeset: 7ed0c9db6943 Author: dholmes Date: 2013-01-21 01:50 -0500 URL: http://hg.openjdk.java.net/jdk8/tl/rev/7ed0c9db6943 8004265: Add build support for Compact Profiles Reviewed-by: erikj, ohair ! NewMakefile.gmk ! common/autoconf/generated-configure.sh ! common/makefiles/Main.gmk Changeset: 2f8fd30f02e6 Author: dholmes Date: 2013-01-22 19:30 -0500 URL: http://hg.openjdk.java.net/jdk8/tl/rev/2f8fd30f02e6 Merge ! common/autoconf/generated-configure.sh Changeset: bebeaa04ab8e Author: dholmes Date: 2013-02-04 18:08 -0500 URL: http://hg.openjdk.java.net/jdk8/tl/rev/bebeaa04ab8e Merge ! common/autoconf/generated-configure.sh ! common/makefiles/javadoc/Javadoc.gmk Changeset: 28071e4ca1de Author: dholmes Date: 2013-02-17 16:44 -0500 URL: http://hg.openjdk.java.net/jdk8/tl/rev/28071e4ca1de Merge ! common/autoconf/generated-configure.sh ! common/makefiles/Main.gmk Changeset: fd1a5574cf68 Author: dholmes Date: 2013-02-18 15:35 -0500 URL: http://hg.openjdk.java.net/jdk8/tl/rev/fd1a5574cf68 Merge ! common/autoconf/generated-configure.sh Changeset: b70196e01c53 Author: lana Date: 2013-02-21 17:39 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/rev/b70196e01c53 Merge From lana.steuck at oracle.com Fri Feb 22 03:39:30 2013 From: lana.steuck at oracle.com (lana.steuck at oracle.com) Date: Fri, 22 Feb 2013 03:39:30 +0000 Subject: hg: jdk8/tl/langtools: 5 new changesets Message-ID: <20130222033945.E1B3A47C64@hg.openjdk.java.net> Changeset: 5f0731e4e5e6 Author: bpatel Date: 2013-01-21 00:45 -0500 URL: http://hg.openjdk.java.net/jdk8/tl/langtools/rev/5f0731e4e5e6 8006124: javadoc/doclet should be updated to support profiles Reviewed-by: jjg ! src/share/classes/com/sun/tools/doclets/formats/html/AbstractPackageIndexWriter.java + src/share/classes/com/sun/tools/doclets/formats/html/AbstractProfileIndexWriter.java ! src/share/classes/com/sun/tools/doclets/formats/html/ClassWriterImpl.java ! src/share/classes/com/sun/tools/doclets/formats/html/FrameOutputWriter.java ! src/share/classes/com/sun/tools/doclets/formats/html/HtmlDoclet.java ! src/share/classes/com/sun/tools/doclets/formats/html/HtmlDocletWriter.java ! src/share/classes/com/sun/tools/doclets/formats/html/PackageIndexFrameWriter.java ! src/share/classes/com/sun/tools/doclets/formats/html/PackageIndexWriter.java + src/share/classes/com/sun/tools/doclets/formats/html/ProfileIndexFrameWriter.java + src/share/classes/com/sun/tools/doclets/formats/html/ProfilePackageFrameWriter.java + src/share/classes/com/sun/tools/doclets/formats/html/ProfilePackageIndexFrameWriter.java + src/share/classes/com/sun/tools/doclets/formats/html/ProfilePackageWriterImpl.java + src/share/classes/com/sun/tools/doclets/formats/html/ProfileWriterImpl.java ! src/share/classes/com/sun/tools/doclets/formats/html/WriterFactoryImpl.java ! src/share/classes/com/sun/tools/doclets/formats/html/markup/HtmlConstants.java ! src/share/classes/com/sun/tools/doclets/formats/html/markup/HtmlWriter.java ! src/share/classes/com/sun/tools/doclets/formats/html/resources/standard.properties ! src/share/classes/com/sun/tools/doclets/internal/toolkit/AbstractDoclet.java ! src/share/classes/com/sun/tools/doclets/internal/toolkit/Configuration.java + src/share/classes/com/sun/tools/doclets/internal/toolkit/ProfilePackageSummaryWriter.java + src/share/classes/com/sun/tools/doclets/internal/toolkit/ProfileSummaryWriter.java ! src/share/classes/com/sun/tools/doclets/internal/toolkit/WriterFactory.java ! src/share/classes/com/sun/tools/doclets/internal/toolkit/builders/BuilderFactory.java + src/share/classes/com/sun/tools/doclets/internal/toolkit/builders/ProfilePackageSummaryBuilder.java + src/share/classes/com/sun/tools/doclets/internal/toolkit/builders/ProfileSummaryBuilder.java ! src/share/classes/com/sun/tools/doclets/internal/toolkit/resources/doclet.xml ! src/share/classes/com/sun/tools/doclets/internal/toolkit/resources/doclets.properties ! src/share/classes/com/sun/tools/doclets/internal/toolkit/resources/stylesheet.css ! src/share/classes/com/sun/tools/doclets/internal/toolkit/util/DocPaths.java ! src/share/classes/com/sun/tools/doclets/internal/toolkit/util/MetaKeywords.java + test/com/sun/javadoc/testProfiles/TestProfiles.java + test/com/sun/javadoc/testProfiles/pkg1/Class1Pkg1.java + test/com/sun/javadoc/testProfiles/pkg1/Class2Pkg1.java + test/com/sun/javadoc/testProfiles/pkg1/Class3Pkg1.java + test/com/sun/javadoc/testProfiles/pkg1/Interface1Pkg1.java + test/com/sun/javadoc/testProfiles/pkg2/Anno1Pkg2.java + test/com/sun/javadoc/testProfiles/pkg2/Anno2Pkg2.java + test/com/sun/javadoc/testProfiles/pkg2/Class1Pkg2.java + test/com/sun/javadoc/testProfiles/pkg3/Class1Pkg3.java + test/com/sun/javadoc/testProfiles/pkg3/Class2Pkg3.java + test/com/sun/javadoc/testProfiles/pkg3/Interface1Pkg3.java + test/com/sun/javadoc/testProfiles/pkg4/Anno1Pkg4.java + test/com/sun/javadoc/testProfiles/pkg4/Class1Pkg4.java + test/com/sun/javadoc/testProfiles/pkg5/Class1Pkg5.java + test/com/sun/javadoc/testProfiles/pkg5/Interface1Pkg5.java + test/com/sun/javadoc/testProfiles/profile-rtjar-includes.txt Changeset: 475eb15dfdad Author: jjg Date: 2013-01-21 01:27 -0500 URL: http://hg.openjdk.java.net/jdk8/tl/langtools/rev/475eb15dfdad 8004182: Add support for profiles in javac Reviewed-by: mcimadamore ! src/share/classes/com/sun/tools/javac/api/JavacTaskImpl.java ! src/share/classes/com/sun/tools/javac/code/Flags.java ! src/share/classes/com/sun/tools/javac/code/Symtab.java ! src/share/classes/com/sun/tools/javac/comp/Attr.java ! src/share/classes/com/sun/tools/javac/comp/Check.java ! src/share/classes/com/sun/tools/javac/jvm/ClassReader.java + src/share/classes/com/sun/tools/javac/jvm/Profile.java ! src/share/classes/com/sun/tools/javac/jvm/Target.java ! src/share/classes/com/sun/tools/javac/main/Main.java ! src/share/classes/com/sun/tools/javac/main/Option.java ! src/share/classes/com/sun/tools/javac/resources/compiler.properties ! src/share/classes/com/sun/tools/javac/resources/javac.properties ! src/share/classes/com/sun/tools/javac/sym/CreateSymbols.java + src/share/classes/com/sun/tools/javac/sym/Profiles.java ! src/share/classes/com/sun/tools/javac/util/AbstractDiagnosticFormatter.java ! src/share/classes/com/sun/tools/javac/util/RichDiagnosticFormatter.java + test/tools/javac/diags/examples/NotInProfile.java + test/tools/javac/profiles/ProfileOptionTest.java Changeset: f91144b7da75 Author: dholmes Date: 2013-02-04 18:08 -0500 URL: http://hg.openjdk.java.net/jdk8/tl/langtools/rev/f91144b7da75 Merge ! src/share/classes/com/sun/tools/doclets/formats/html/HtmlDocletWriter.java ! src/share/classes/com/sun/tools/doclets/internal/toolkit/Configuration.java ! src/share/classes/com/sun/tools/doclets/internal/toolkit/resources/doclets.properties ! src/share/classes/com/sun/tools/javac/code/Flags.java ! src/share/classes/com/sun/tools/javac/code/Symtab.java ! src/share/classes/com/sun/tools/javac/comp/Attr.java ! src/share/classes/com/sun/tools/javac/comp/Check.java ! src/share/classes/com/sun/tools/javac/jvm/ClassReader.java ! src/share/classes/com/sun/tools/javac/resources/compiler.properties ! src/share/classes/com/sun/tools/javac/util/RichDiagnosticFormatter.java - test/tools/javac/annotations/repeatingAnnotations/MissingContainedBy.java - test/tools/javac/annotations/repeatingAnnotations/MissingContainerFor.java - test/tools/javac/annotations/repeatingAnnotations/UseWrongContainedBy.java - test/tools/javac/annotations/repeatingAnnotations/UseWrongContainerFor.java - test/tools/javac/annotations/repeatingAnnotations/WrongContainedBy.java - test/tools/javac/annotations/repeatingAnnotations/WrongContainerFor.java - test/tools/javac/diags/examples/ContainedByDocumentedMismatch.java - test/tools/javac/diags/examples/ContainedByInheritedMismatch.java - test/tools/javac/diags/examples/ContainedByNoValue.java - test/tools/javac/diags/examples/ContainedByNonDefault.java - test/tools/javac/diags/examples/ContainedByRetentionMismatch.java - test/tools/javac/diags/examples/ContainedByTargetMismatch.java - test/tools/javac/diags/examples/ContainedByWrongValueType.java - test/tools/javac/diags/examples/InferredDoNotConformToLower.java - test/tools/javac/diags/examples/NoUniqueMaximalInstance.java - test/tools/javac/diags/examples/WrongContainedBy.java - test/tools/javac/diags/examples/WrongContainerFor.java - test/tools/javac/lambda/MethodReference26.out - test/tools/javac/lambda/TargetType06.out - test/tools/javac/lambda/TargetType11.out - test/tools/javac/lambda/TargetType45.out - test/tools/javac/lambda/VoidCompatibility.out - test/tools/javac/typeAnnotations/newlocations/BasicTest.java - test/tools/javac/typeAnnotations/newlocations/BasicTest.out Changeset: af8417e590f4 Author: dholmes Date: 2013-02-17 16:44 -0500 URL: http://hg.openjdk.java.net/jdk8/tl/langtools/rev/af8417e590f4 Merge ! src/share/classes/com/sun/tools/doclets/formats/html/PackageIndexWriter.java ! src/share/classes/com/sun/tools/javac/code/Flags.java ! src/share/classes/com/sun/tools/javac/comp/Attr.java ! src/share/classes/com/sun/tools/javac/comp/Check.java ! src/share/classes/com/sun/tools/javac/jvm/ClassReader.java - test/tools/javac/lambda/TargetType20.out - test/tools/javac/lambda/TargetType50.out Changeset: 6118072811e5 Author: lana Date: 2013-02-21 17:49 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/langtools/rev/6118072811e5 Merge ! src/share/classes/com/sun/tools/javac/api/JavacTaskImpl.java ! src/share/classes/com/sun/tools/javac/code/Flags.java ! src/share/classes/com/sun/tools/javac/code/Symtab.java ! src/share/classes/com/sun/tools/javac/comp/Attr.java ! src/share/classes/com/sun/tools/javac/comp/Check.java ! src/share/classes/com/sun/tools/javac/jvm/ClassReader.java ! src/share/classes/com/sun/tools/javac/resources/compiler.properties From lana.steuck at oracle.com Fri Feb 22 03:40:45 2013 From: lana.steuck at oracle.com (lana.steuck at oracle.com) Date: Fri, 22 Feb 2013 03:40:45 +0000 Subject: hg: jdk8/tl/jdk: 23 new changesets Message-ID: <20130222034515.E3E2847C65@hg.openjdk.java.net> Changeset: 90707943f83c Author: erikj Date: 2013-02-15 10:41 +0100 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/90707943f83c 8005879: Add -DMAC_OS_X_VERSION_MAX_ALLOWED=1070 to builds on Mac Reviewed-by: ohair ! make/common/Defs-macosx.gmk Changeset: 9a693ebd5595 Author: erikj Date: 2013-02-18 10:48 +0100 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/9a693ebd5595 Merge - src/macosx/classes/sun/lwawt/macosx/EventDispatchAccess.java - src/share/classes/java/time/PeriodParser.java - src/share/classes/java/time/calendar/ChronoDateImpl.java - src/share/classes/java/time/calendar/HijrahChrono.java - src/share/classes/java/time/calendar/HijrahDate.java - src/share/classes/java/time/calendar/HijrahDeviationReader.java - src/share/classes/java/time/calendar/HijrahEra.java - src/share/classes/java/time/calendar/JapaneseChrono.java - src/share/classes/java/time/calendar/JapaneseDate.java - src/share/classes/java/time/calendar/JapaneseEra.java - src/share/classes/java/time/calendar/MinguoChrono.java - src/share/classes/java/time/calendar/MinguoDate.java - src/share/classes/java/time/calendar/MinguoEra.java - src/share/classes/java/time/calendar/Ser.java - src/share/classes/java/time/calendar/ThaiBuddhistChrono.java - src/share/classes/java/time/calendar/ThaiBuddhistDate.java - src/share/classes/java/time/calendar/ThaiBuddhistEra.java - src/share/classes/java/time/calendar/package-info.java - src/share/classes/java/time/format/DateTimeFormatters.java - src/share/classes/java/time/format/DateTimePrintException.java - src/share/classes/java/time/temporal/Chrono.java - src/share/classes/java/time/temporal/ChronoLocalDate.java - src/share/classes/java/time/temporal/ChronoLocalDateTime.java - src/share/classes/java/time/temporal/ChronoLocalDateTimeImpl.java - src/share/classes/java/time/temporal/ChronoZonedDateTime.java - src/share/classes/java/time/temporal/ChronoZonedDateTimeImpl.java - src/share/classes/java/time/temporal/Era.java - src/share/classes/java/time/temporal/ISOChrono.java - src/share/classes/java/time/temporal/ISOEra.java - src/share/classes/java/time/temporal/ISOFields.java - src/share/classes/java/time/temporal/MonthDay.java - src/share/classes/java/time/temporal/OffsetDate.java - src/share/classes/java/time/temporal/OffsetDateTime.java - src/share/classes/java/time/temporal/OffsetTime.java - src/share/classes/java/time/temporal/Ser.java - src/share/classes/java/time/temporal/SimplePeriod.java - src/share/classes/java/time/temporal/TemporalAdder.java - src/share/classes/java/time/temporal/TemporalSubtractor.java - src/share/classes/java/time/temporal/Year.java - src/share/classes/java/time/temporal/YearMonth.java - src/share/classes/sun/util/calendar/TzIDOldMapping.java - test/java/time/META-INF/services/java.time.temporal.Chrono - test/java/time/tck/java/time/calendar/CopticChrono.java - test/java/time/tck/java/time/calendar/CopticDate.java - test/java/time/tck/java/time/calendar/CopticEra.java - test/java/time/tck/java/time/calendar/TestChronoLocalDate.java - test/java/time/tck/java/time/calendar/TestChronoLocalDateTime.java - test/java/time/tck/java/time/calendar/TestHijrahChrono.java - test/java/time/tck/java/time/calendar/TestJapaneseChrono.java - test/java/time/tck/java/time/calendar/TestMinguoChrono.java - test/java/time/tck/java/time/calendar/TestServiceLoader.java - test/java/time/tck/java/time/calendar/TestThaiBuddhistChrono.java - test/java/time/tck/java/time/format/TCKDateTimePrintException.java - test/java/time/tck/java/time/temporal/TCKISOFields.java - test/java/time/tck/java/time/temporal/TCKMonthDay.java - test/java/time/tck/java/time/temporal/TCKOffsetDate.java - test/java/time/tck/java/time/temporal/TCKOffsetDateTime.java - test/java/time/tck/java/time/temporal/TCKOffsetTime.java - test/java/time/tck/java/time/temporal/TCKSimplePeriod.java - test/java/time/tck/java/time/temporal/TCKYear.java - test/java/time/tck/java/time/temporal/TCKYearMonth.java - test/java/time/tck/java/time/temporal/TestChrono.java - test/java/time/tck/java/time/temporal/TestISOChrono.java - test/java/time/test/java/time/TestPeriodParser.java - test/java/time/test/java/time/format/TestDateTimeFormatters.java - test/java/time/test/java/time/format/TestDateTimePrintException.java - test/java/time/test/java/time/format/TestPadParserDecorator.java - test/java/time/test/java/time/format/TestZoneIdParser.java - test/java/time/test/java/time/temporal/TestISOChronoImpl.java - test/java/time/test/java/time/temporal/TestMonthDay.java - test/java/time/test/java/time/temporal/TestOffsetDate.java - test/java/time/test/java/time/temporal/TestOffsetDateTime.java - test/java/time/test/java/time/temporal/TestOffsetDateTime_instants.java - test/java/time/test/java/time/temporal/TestOffsetTime.java - test/java/time/test/java/time/temporal/TestYear.java - test/java/time/test/java/time/temporal/TestYearMonth.java Changeset: fb7e3edf22b2 Author: erikj Date: 2013-02-18 11:26 +0100 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/fb7e3edf22b2 8008294: build-infra: Build-infra closed fails on solaris 11.1 Reviewed-by: ohrstrom, dholmes, tbell ! makefiles/CompileDemos.gmk ! makefiles/CompileNativeLibraries.gmk Changeset: a23b0df73324 Author: erikj Date: 2013-02-18 11:27 +0100 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/a23b0df73324 8008295: build-infra: Cleanup in Import.gmk Reviewed-by: ohrstrom, tbell ! makefiles/Import.gmk Changeset: 32549d339437 Author: bpatel Date: 2013-01-21 00:31 -0500 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/32549d339437 8006124: javadoc/doclet should be updated to support profiles Reviewed-by: jjg, dholmes ! make/docs/Makefile Changeset: 80afadbf967d Author: alanb Date: 2013-01-21 01:46 -0500 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/80afadbf967d 8004182: Add support for profiles in javac Reviewed-by: dholmes ! make/common/Release.gmk Changeset: 353b88963430 Author: dholmes Date: 2013-01-21 21:54 -0500 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/353b88963430 8006651: build-infra: Import.gmk needs to add support for the minimal VM Reviewed-by: erikj, ohair ! makefiles/Import.gmk Changeset: 7096f51288ab Author: dholmes Date: 2013-01-21 23:17 -0500 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/7096f51288ab 8004265: Add build support for Compact Profiles Reviewed-by: erikj, ohair ! make/tools/src/build/tools/jarreorder/JarReorder.java ! makefiles/BuildJdk.gmk ! makefiles/CreateJars.gmk ! makefiles/Images.gmk + makefiles/ProfileNames.gmk + makefiles/Profiles.gmk Changeset: ccd0aceb1190 Author: alanb Date: 2013-01-21 23:20 -0500 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/ccd0aceb1190 8003255: (profiles) Update JAR file specification to support profiles Reviewed-by: dholmes, mchung, ksrini ! src/share/classes/java/net/URLClassLoader.java ! src/share/classes/java/util/jar/Attributes.java + src/share/classes/java/util/jar/UnsupportedProfileException.java ! src/share/classes/sun/launcher/LauncherHelper.java ! src/share/classes/sun/launcher/resources/launcher.properties ! src/share/classes/sun/misc/URLClassPath.java ! src/share/classes/sun/tools/jar/Main.java ! src/share/classes/sun/tools/jar/resources/jar.properties + test/java/net/URLClassLoader/profiles/Basic.java + test/java/net/URLClassLoader/profiles/Lib.java + test/java/net/URLClassLoader/profiles/basic.sh + test/tools/jar/AddAndUpdateProfile.java + test/tools/launcher/profiles/Basic.java + test/tools/launcher/profiles/Logging.java + test/tools/launcher/profiles/Main.java Changeset: c024147205f6 Author: alanb Date: 2013-01-21 23:21 -0500 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/c024147205f6 8003256: (profiles) Add support for profile identification Reviewed-by: dholmes, mchung, ksrini ! make/java/version/Makefile ! makefiles/GensrcMisc.gmk ! src/share/classes/sun/misc/Version.java.template + test/tools/launcher/profiles/VersionCheck.java Changeset: 4b3434f5f509 Author: alanb Date: 2013-01-21 23:23 -0500 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/4b3434f5f509 8004931: add/removePropertyChangeListener should not exist in subset Profiles of Java SE Reviewed-by: dholmes, mchung, ksrini + make/tools/src/build/tools/RemoveMethods.java ! makefiles/Tools.gmk ! src/share/classes/java/util/jar/Pack200.java ! src/share/classes/java/util/logging/LogManager.java + test/java/util/logging/Reflect.java + test/tools/pack200/NoBeans.java + test/tools/pack200/Reflect.java Changeset: d9cfe581c8fe Author: alanb Date: 2013-01-21 23:35 -0500 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/d9cfe581c8fe 8004502: Compact Profiles contents Reviewed-by: dholmes, mchung + makefiles/profile-includes.txt + makefiles/profile-rtjar-includes.txt + test/java/lang/SecurityManager/NoAWT.java + test/java/security/cert/CertStore/NoLDAP.java + test/javax/management/remote/mandatory/connection/NoIIOP.java + test/javax/naming/InitialContext/NoApplet.java + test/sun/net/www/protocol/http/NoNTLM.java + test/sun/security/ssl/sanity/ciphersuites/NoKerberos.java Changeset: d1b29d290ebd Author: dholmes Date: 2013-01-22 19:31 -0500 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/d1b29d290ebd Merge Changeset: 0918d6d9c18b Author: dholmes Date: 2013-01-22 20:04 -0500 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/0918d6d9c18b 8006667: Merge issue: Profile attribute need to be examined before custom attributes Summary: swap profile checking and FXHelper checking Reviewed-by: alanb ! src/share/classes/sun/launcher/LauncherHelper.java Changeset: 77668918a388 Author: dholmes Date: 2013-02-04 18:08 -0500 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/77668918a388 Merge ! make/docs/Makefile ! makefiles/CreateJars.gmk ! makefiles/GensrcMisc.gmk ! makefiles/Tools.gmk ! src/share/classes/sun/misc/URLClassPath.java - test/java/rmi/activation/ActivationSystem/unregisterGroup/CallbackInterface.java - test/java/rmi/activation/ActivationSystem/unregisterGroup/Callback_Stub.java - test/java/rmi/activation/ActivationSystem/unregisterGroup/UnregisterGroup_Stub.java Changeset: f308a689c049 Author: dholmes Date: 2013-02-17 16:44 -0500 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/f308a689c049 Merge ! makefiles/Tools.gmk - src/macosx/classes/sun/lwawt/macosx/EventDispatchAccess.java - src/share/classes/java/lang/annotation/ContainedBy.java - src/share/classes/java/lang/annotation/ContainerFor.java - src/share/classes/java/time/PeriodParser.java - src/share/classes/java/time/calendar/ChronoDateImpl.java - src/share/classes/java/time/calendar/HijrahChrono.java - src/share/classes/java/time/calendar/HijrahDate.java - src/share/classes/java/time/calendar/HijrahDeviationReader.java - src/share/classes/java/time/calendar/HijrahEra.java - src/share/classes/java/time/calendar/JapaneseChrono.java - src/share/classes/java/time/calendar/JapaneseDate.java - src/share/classes/java/time/calendar/JapaneseEra.java - src/share/classes/java/time/calendar/MinguoChrono.java - src/share/classes/java/time/calendar/MinguoDate.java - src/share/classes/java/time/calendar/MinguoEra.java - src/share/classes/java/time/calendar/Ser.java - src/share/classes/java/time/calendar/ThaiBuddhistChrono.java - src/share/classes/java/time/calendar/ThaiBuddhistDate.java - src/share/classes/java/time/calendar/ThaiBuddhistEra.java - src/share/classes/java/time/calendar/package-info.java - src/share/classes/java/time/format/DateTimeFormatters.java - src/share/classes/java/time/format/DateTimePrintException.java - src/share/classes/java/time/temporal/Chrono.java - src/share/classes/java/time/temporal/ChronoLocalDate.java - src/share/classes/java/time/temporal/ChronoLocalDateTime.java - src/share/classes/java/time/temporal/ChronoLocalDateTimeImpl.java - src/share/classes/java/time/temporal/ChronoZonedDateTime.java - src/share/classes/java/time/temporal/ChronoZonedDateTimeImpl.java - src/share/classes/java/time/temporal/Era.java - src/share/classes/java/time/temporal/ISOChrono.java - src/share/classes/java/time/temporal/ISOEra.java - src/share/classes/java/time/temporal/ISOFields.java - src/share/classes/java/time/temporal/MonthDay.java - src/share/classes/java/time/temporal/OffsetDate.java - src/share/classes/java/time/temporal/OffsetDateTime.java - src/share/classes/java/time/temporal/OffsetTime.java - src/share/classes/java/time/temporal/Ser.java - src/share/classes/java/time/temporal/SimplePeriod.java - src/share/classes/java/time/temporal/TemporalAdder.java - src/share/classes/java/time/temporal/TemporalSubtractor.java - src/share/classes/java/time/temporal/Year.java - src/share/classes/java/time/temporal/YearMonth.java - src/share/classes/sun/util/calendar/TzIDOldMapping.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/java/time/META-INF/services/java.time.temporal.Chrono - test/java/time/tck/java/time/calendar/CopticChrono.java - test/java/time/tck/java/time/calendar/CopticDate.java - test/java/time/tck/java/time/calendar/CopticEra.java - test/java/time/tck/java/time/calendar/TestChronoLocalDate.java - test/java/time/tck/java/time/calendar/TestChronoLocalDateTime.java - test/java/time/tck/java/time/calendar/TestHijrahChrono.java - test/java/time/tck/java/time/calendar/TestJapaneseChrono.java - test/java/time/tck/java/time/calendar/TestMinguoChrono.java - test/java/time/tck/java/time/calendar/TestServiceLoader.java - test/java/time/tck/java/time/calendar/TestThaiBuddhistChrono.java - test/java/time/tck/java/time/format/TCKDateTimePrintException.java - test/java/time/tck/java/time/temporal/TCKISOFields.java - test/java/time/tck/java/time/temporal/TCKMonthDay.java - test/java/time/tck/java/time/temporal/TCKOffsetDate.java - test/java/time/tck/java/time/temporal/TCKOffsetDateTime.java - test/java/time/tck/java/time/temporal/TCKOffsetTime.java - test/java/time/tck/java/time/temporal/TCKSimplePeriod.java - test/java/time/tck/java/time/temporal/TCKYear.java - test/java/time/tck/java/time/temporal/TCKYearMonth.java - test/java/time/tck/java/time/temporal/TestChrono.java - test/java/time/tck/java/time/temporal/TestISOChrono.java - test/java/time/test/java/time/TestPeriodParser.java - test/java/time/test/java/time/format/TestDateTimeFormatters.java - test/java/time/test/java/time/format/TestDateTimePrintException.java - test/java/time/test/java/time/format/TestPadParserDecorator.java - test/java/time/test/java/time/format/TestZoneIdParser.java - test/java/time/test/java/time/temporal/TestISOChronoImpl.java - test/java/time/test/java/time/temporal/TestMonthDay.java - test/java/time/test/java/time/temporal/TestOffsetDate.java - test/java/time/test/java/time/temporal/TestOffsetDateTime.java - test/java/time/test/java/time/temporal/TestOffsetDateTime_instants.java - test/java/time/test/java/time/temporal/TestOffsetTime.java - test/java/time/test/java/time/temporal/TestYear.java - test/java/time/test/java/time/temporal/TestYearMonth.java - 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: 16c684b2ab82 Author: alanb Date: 2013-02-18 08:57 +0000 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/16c684b2ab82 8007436: (profiles) Add JSR-310 to Compact Profiles contents Reviewed-by: dholmes, erikj ! makefiles/profile-includes.txt ! makefiles/profile-rtjar-includes.txt Changeset: c24bc91caa67 Author: dholmes Date: 2013-02-18 15:35 -0500 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/c24bc91caa67 Merge ! makefiles/Import.gmk Changeset: b46c75e221c7 Author: dholmes Date: 2013-02-19 06:27 -0500 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/b46c75e221c7 8008424: Isolate PROFILE make variable from incidental setting in the environment Reviewed-by: erikj, alanb ! makefiles/BuildJdk.gmk Changeset: 6f4615fd32da Author: alanb Date: 2013-02-19 11:08 +0000 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/6f4615fd32da 8007097: (profiles) Build needs test to ensure that profile definitions are updated Reviewed-by: dholmes, erikj - make/tools/src/build/tools/RemoveMethods.java + make/tools/src/build/tools/classfile/RemoveMethods.java + make/tools/src/build/tools/deps/CheckDeps.java + make/tools/src/build/tools/deps/refs.allowed ! makefiles/Images.gmk ! makefiles/Tools.gmk ! makefiles/profile-rtjar-includes.txt Changeset: 033f2707ef32 Author: alanb Date: 2013-02-19 11:32 +0000 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/033f2707ef32 Merge Changeset: 00b7535d743f Author: dholmes Date: 2013-02-19 17:32 -0500 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/00b7535d743f 8008481: Dependency analyzer needs exclusion for profile builds with JFR disabled Reviewed-by: alanb ! make/tools/src/build/tools/deps/refs.allowed Changeset: 03db11a7fb8e Author: lana Date: 2013-02-21 17:43 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/03db11a7fb8e Merge From chris.hegarty at oracle.com Fri Feb 22 08:54:06 2013 From: chris.hegarty at oracle.com (Chris Hegarty) Date: Fri, 22 Feb 2013 08:54:06 +0000 Subject: 8008662: Add @jdk.Supported to JDK-specific/supported API In-Reply-To: <51266B7C.3040804@oracle.com> References: <51266B7C.3040804@oracle.com> Message-ID: <5127322E.8070809@oracle.com> Thank you Alan, this will clear up a lot of issues surrounding these API's. I skimmed over the changes, paying particular attention to the httpserver and sctp packages. -Chris. On 02/21/2013 06:46 PM, Alan Bateman wrote: > > Joe Darcy recently added @jdk.Supported [1] to make it possible to > identify JDK-specific APIs. > > I'd like to add this to a number of APIs in the com.sun namespace to > make it obvious these are "supported". Specifically I'm proposing to > add it to: > > - Java Debug Interface (com.sun.jdi) > - Attach API (com.sun.tools.attach) > - SCTP API (com.sun.nio.sctp) > - HTTP server API (com.sun.net.httpserver) > - Management extensions (com.sun.management) > - JDK-specific API to JAAS (com.sun.security.auth) > - JDK-specific JGSS API (com.sun.security.jgss) > > The javadoc for all of these is generated as part of the regular JDK > "docs" build and so shouldn't be controversial. There are a number of > other candidates in com.sun with murkier status that I've stayed clear > of for now. > > The webrev with the changes is here: > > http://cr.openjdk.java.net/~alanb/8008662/webrev/ > > In a couple of cases the package description is legacy package.html so > I've had to move/convert them to package-info.java. > > In all but one case I've added the annotation to the package-info, the > one exception is com.sun.management where there is at least one type > that is documented as "not supported". Joe Darcy might have suggestions > on that. > > Otherwise this is mostly mechanical and the patch file is easier to > review that the webrev. > > -Alan > > [1] http://hg.openjdk.java.net/jdk8/tl/langtools/rev/55cca2f38ee6 From chris.hegarty at oracle.com Fri Feb 22 10:11:12 2013 From: chris.hegarty at oracle.com (chris.hegarty at oracle.com) Date: Fri, 22 Feb 2013 10:11:12 +0000 Subject: hg: jdk8/tl/jdk: 8006182: cleanup to use java.util.Base64 in java security component, providers, and regression tests Message-ID: <20130222101139.E2A8E47C6C@hg.openjdk.java.net> Changeset: 9078c34437ab Author: msheppar Date: 2013-02-21 20:01 +0000 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/9078c34437ab 8006182: cleanup to use java.util.Base64 in java security component, providers, and regression tests Summary: Refactored code to use java.util.Base64 Mime Encoder and Decoder as a replacement for sun.misc.BASE64Encoder and sun.misc.BASE64Decoder Reviewed-by: vinnie, chegar, sherman ! src/share/classes/sun/security/pkcs10/PKCS10.java ! src/share/classes/sun/security/provider/X509Factory.java ! src/share/classes/sun/security/tools/jarsigner/Main.java ! src/share/classes/sun/security/tools/keytool/Main.java ! src/share/classes/sun/security/util/ManifestEntryVerifier.java ! src/share/classes/sun/security/util/SignatureFileVerifier.java ! src/share/classes/sun/security/x509/X509CertImpl.java ! src/share/classes/sun/tools/jar/Manifest.java ! src/share/classes/sun/tools/jar/SignatureFile.java ! test/javax/security/auth/kerberos/KerberosTixDateTest.java ! test/sun/security/krb5/auto/HttpNegotiateServer.java ! test/sun/security/ssl/com/sun/net/ssl/internal/ssl/SSLContextImpl/MD2InTrustAnchor.java ! test/sun/security/ssl/com/sun/net/ssl/internal/ssl/SSLContextImpl/TrustTrustedCert.java ! test/sun/security/ssl/com/sun/net/ssl/internal/ssl/X509TrustManagerImpl/BasicConstraints.java ! test/sun/security/ssl/com/sun/net/ssl/internal/ssl/X509TrustManagerImpl/SelfIssuedCert.java ! test/sun/security/ssl/com/sun/net/ssl/internal/www/protocol/https/HttpsClient/ProxyTunnelServer.java ! test/sun/security/ssl/javax/net/ssl/ServerName/SSLSocketSNISensitive.java ! test/sun/security/ssl/javax/net/ssl/TLSv12/DisabledShortRSAKeys.java ! test/sun/security/ssl/javax/net/ssl/TLSv12/ShortRSAKey512.java ! test/sun/security/ssl/sun/net/www/protocol/https/HttpsURLConnection/ProxyTunnelServer.java From maurizio.cimadamore at oracle.com Fri Feb 22 13:32:07 2013 From: maurizio.cimadamore at oracle.com (maurizio.cimadamore at oracle.com) Date: Fri, 22 Feb 2013 13:32:07 +0000 Subject: hg: jdk8/tl/langtools: 8008337: Write test to check for compiler error when static method in interface is called via super() Message-ID: <20130222133212.B496F47C72@hg.openjdk.java.net> Changeset: 8e82e4f225e4 Author: mcimadamore Date: 2013-02-22 13:31 +0000 URL: http://hg.openjdk.java.net/jdk8/tl/langtools/rev/8e82e4f225e4 8008337: Write test to check for compiler error when static method in interface is called via super() Reviewed-by: mcimadamore Contributed-by: sonali.goel at oracle.com + test/tools/javac/lambda/StaticMethodNegTest.java + test/tools/javac/lambda/StaticMethodNegTest.out From martinrb at google.com Fri Feb 22 14:06:52 2013 From: martinrb at google.com (Martin Buchholz) Date: Fri, 22 Feb 2013 06:06:52 -0800 Subject: 8008662: Add @jdk.Supported to JDK-specific/supported API In-Reply-To: <5126D516.1040005@oracle.com> References: <51266B7C.3040804@oracle.com> <5126D516.1040005@oracle.com> Message-ID: On Thu, Feb 21, 2013 at 6:16 PM, Joe Darcy wrote: > > However, the com.sun.* subpackages are a mix of APIs that are supported as > described above as well as APIs that are not supported. I was under the impression that the general rule was that all of com.sun.* fell under the "jdk supported" umbrella, and the level of support was the distinction between sun.com.* and sun.* . In any case, it would be good if there was a single canonical place that documented the various levels of support with subtle distinctions, including java.* vs. javax.*, endorsed standards, com.sun.* vs. sun.* vs. jdk.*, and recommendations for where non-Oracle vendor extensions should go. Is the jdk.Supported annotation itself part of Java SE? Should third-party vendor extensions that are "supported" for public use by the third-party use jdk.Supported? What about the X's in hotspot flags and the java tools command line interfaces? -------------- next part -------------- An HTML attachment was scrubbed... URL: From alan.bateman at oracle.com Fri Feb 22 14:12:44 2013 From: alan.bateman at oracle.com (alan.bateman at oracle.com) Date: Fri, 22 Feb 2013 14:12:44 +0000 Subject: hg: jdk8/tl/jdk: 8008290: (profiles) Startup regression due to additional checking of JAR file manifests Message-ID: <20130222141307.4732F47C73@hg.openjdk.java.net> Changeset: 63fe6a9820b6 Author: alanb Date: 2013-02-22 14:04 +0000 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/63fe6a9820b6 8008290: (profiles) Startup regression due to additional checking of JAR file manifests Reviewed-by: lancea, chegar, iris, mchung, sherman ! src/share/classes/java/util/jar/JarFile.java ! src/share/classes/java/util/jar/JavaUtilJarAccessImpl.java ! src/share/classes/sun/misc/JavaUtilJarAccess.java ! src/share/classes/sun/misc/URLClassPath.java From sean.mullan at oracle.com Fri Feb 22 14:26:55 2013 From: sean.mullan at oracle.com (Sean Mullan) Date: Fri, 22 Feb 2013 09:26:55 -0500 Subject: 8008662: Add @jdk.Supported to JDK-specific/supported API In-Reply-To: <51266B7C.3040804@oracle.com> References: <51266B7C.3040804@oracle.com> Message-ID: <5127802F.6080200@oracle.com> The security related ones look ok to me. --Sean On 02/21/2013 01:46 PM, Alan Bateman wrote: > > Joe Darcy recently added @jdk.Supported [1] to make it possible to > identify JDK-specific APIs. > > I'd like to add this to a number of APIs in the com.sun namespace to > make it obvious these are "supported". Specifically I'm proposing to > add it to: > > - Java Debug Interface (com.sun.jdi) > - Attach API (com.sun.tools.attach) > - SCTP API (com.sun.nio.sctp) > - HTTP server API (com.sun.net.httpserver) > - Management extensions (com.sun.management) > - JDK-specific API to JAAS (com.sun.security.auth) > - JDK-specific JGSS API (com.sun.security.jgss) > > The javadoc for all of these is generated as part of the regular JDK > "docs" build and so shouldn't be controversial. There are a number of > other candidates in com.sun with murkier status that I've stayed clear > of for now. > > The webrev with the changes is here: > > http://cr.openjdk.java.net/~alanb/8008662/webrev/ > > In a couple of cases the package description is legacy package.html so > I've had to move/convert them to package-info.java. > > In all but one case I've added the annotation to the package-info, the > one exception is com.sun.management where there is at least one type > that is documented as "not supported". Joe Darcy might have suggestions > on that. > > Otherwise this is mostly mechanical and the patch file is easier to > review that the webrev. > > -Alan > > [1] http://hg.openjdk.java.net/jdk8/tl/langtools/rev/55cca2f38ee6 From Alan.Bateman at oracle.com Fri Feb 22 14:37:28 2013 From: Alan.Bateman at oracle.com (Alan Bateman) Date: Fri, 22 Feb 2013 14:37:28 +0000 Subject: 8008662: Add @jdk.Supported to JDK-specific/supported API In-Reply-To: References: <51266B7C.3040804@oracle.com> <5126D516.1040005@oracle.com> Message-ID: <512782A8.3060202@oracle.com> On 22/02/2013 14:06, Martin Buchholz wrote: > > I was under the impression that the general rule was that all of > com.sun.* fell under the "jdk supported" umbrella, and the level of > support was the distinction between sun.com.* and sun.* . > com.sun is a mixed bag. There are lots of com.sun.*.internal that are clearly JDK internal/implementation/stay-away but several useful and documented APIs are in com.sun too (the JDK build generates the javadoc for these). In addition there are several APIs with murkier pasts, transitional APIs for areas that previous had a life as a standalone technology before coming into the JDK. -Alan. From lance.andersen at oracle.com Fri Feb 22 14:59:27 2013 From: lance.andersen at oracle.com (lance.andersen at oracle.com) Date: Fri, 22 Feb 2013 14:59:27 +0000 Subject: hg: jdk8/tl/jdk: 2 new changesets Message-ID: <20130222145950.715BF47C76@hg.openjdk.java.net> Changeset: 9f9dac5a9e74 Author: lancea Date: 2013-02-22 09:29 -0500 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/9f9dac5a9e74 8008716: address typo in CallableStatement javadocs Reviewed-by: chegar ! src/share/classes/java/sql/CallableStatement.java Changeset: 8d8a35ac7d40 Author: lancea Date: 2013-02-22 09:58 -0500 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/8d8a35ac7d40 Merge From maurizio.cimadamore at oracle.com Fri Feb 22 18:20:20 2013 From: maurizio.cimadamore at oracle.com (maurizio.cimadamore at oracle.com) Date: Fri, 22 Feb 2013 18:20:20 +0000 Subject: hg: jdk8/tl/langtools: 8008708: Regression: separate compilation causes crash in wildcards inference logic Message-ID: <20130222182026.6EB3347CC8@hg.openjdk.java.net> Changeset: 94e67bed460d Author: mcimadamore Date: 2013-02-22 18:19 +0000 URL: http://hg.openjdk.java.net/jdk8/tl/langtools/rev/94e67bed460d 8008708: Regression: separate compilation causes crash in wildcards inference logic Summary: Invalid use of WildcardType.bound in Types.removeWildcards Reviewed-by: jjg ! src/share/classes/com/sun/tools/javac/code/Types.java + test/tools/javac/lambda/separate/Foo.java + test/tools/javac/lambda/separate/Test.java From joe.darcy at oracle.com Fri Feb 22 19:19:48 2013 From: joe.darcy at oracle.com (Joe Darcy) Date: Fri, 22 Feb 2013 11:19:48 -0800 Subject: 8008662: Add @jdk.Supported to JDK-specific/supported API In-Reply-To: References: <51266B7C.3040804@oracle.com> <5126D516.1040005@oracle.com> Message-ID: <5127C4D4.5090800@oracle.com> Hi Martin, On 2/22/2013 6:06 AM, Martin Buchholz wrote: > > > On Thu, Feb 21, 2013 at 6:16 PM, Joe Darcy > wrote: > > > However, the com.sun.* subpackages are a mix of APIs that are > supported as described above as well as APIs that are not supported. > > > I was under the impression that the general rule was that all of > com.sun.* fell under the "jdk supported" umbrella, and the level of > support was the distinction between sun.com.* and sun.* . Alan has previously replied on the varied supported-ness found in com.sun.*. > > In any case, it would be good if there was a single canonical place > that documented the various levels of support with subtle > distinctions, including java.* vs. javax.*, endorsed standards, > com.sun.* vs. sun.* vs. jdk.*, and recommendations for where > non-Oracle vendor extensions should go. Is the jdk.Supported > annotation itself part of Java SE? No, the jdk.Supported annotation type is part of the JDK (currently living in the langtools repo): http://hg.openjdk.java.net/jdk8/jdk8/langtools/file/56dfafbb9e1a/src/share/classes/jdk/Supported.java As you can see, the jdk.Supported type itself has a @jdk.Supported annotation :-) > Should third-party vendor extensions that are "supported" for public > use by the third-party use jdk.Supported? No; as I envision it, the jdk.Supported annotation is only meant to convey supported-ness in the JDK of parts of the JDK. > What about the X's in hotspot flags and the java tools command line > interfaces? The policy around command line interfaces is unchanged; the interfaces are mostly stable, but the more X's are in a flags name, the less stable it can be. -Joe -------------- next part -------------- An HTML attachment was scrubbed... URL: From martinrb at google.com Fri Feb 22 21:40:09 2013 From: martinrb at google.com (Martin Buchholz) Date: Fri, 22 Feb 2013 13:40:09 -0800 Subject: 8008662: Add @jdk.Supported to JDK-specific/supported API In-Reply-To: <5127C4D4.5090800@oracle.com> References: <51266B7C.3040804@oracle.com> <5126D516.1040005@oracle.com> <5127C4D4.5090800@oracle.com> Message-ID: Hi Joe, On Fri, Feb 22, 2013 at 11:19 AM, Joe Darcy wrote: > > Should third-party vendor extensions that are "supported" for public use > by the third-party use jdk.Supported? > > > No; as I envision it, the jdk.Supported annotation is only meant to convey > supported-ness in the JDK of parts of the JDK. > > Depends on what you mean by "JDK". Suppose the icedtea project added a public "supported" method usesSystemZlib(). It would be good to provide guidance what package to put this in (org.classpath.* ?) and how to indicate level of support (by the icedtea project). Suppose the IcedTea project decided to officially support sun.misc.Unsafe. Would they do this by adding jdk.Supported annotation to their version of Unsafe.java, even if their upstream chose not to? What about the X's in hotspot flags and the java tools command line interfaces? > > The policy around command line interfaces is unchanged; the interfaces are > mostly stable, but the more X's are in a flags name, the less stable it can > be. > We all learned this by indoctrination from the local sensei greybeard, but where is it documented for the wider world? Perhaps Supported isn't a binary thing, but needs to capture different levels of support? Solaris has had such support levels. A "beta" ("laba", "experimental") support level is very useful for introducing new technology. It's a very hard problem, especially in a 1000 flowers world. -------------- next part -------------- An HTML attachment was scrubbed... URL: From joe.darcy at oracle.com Fri Feb 22 22:09:18 2013 From: joe.darcy at oracle.com (Joe Darcy) Date: Fri, 22 Feb 2013 14:09:18 -0800 Subject: 8008662: Add @jdk.Supported to JDK-specific/supported API In-Reply-To: References: <51266B7C.3040804@oracle.com> <5126D516.1040005@oracle.com> <5127C4D4.5090800@oracle.com> Message-ID: <5127EC8E.4040608@oracle.com> Hi Martin, On 2/22/2013 1:40 PM, Martin Buchholz wrote: > Hi Joe, > > On Fri, Feb 22, 2013 at 11:19 AM, Joe Darcy > wrote: > > >> Should third-party vendor extensions that are "supported" for >> public use by the third-party use jdk.Supported? > > No; as I envision it, the jdk.Supported annotation is only meant > to convey supported-ness in the JDK of parts of the JDK. > > > Depends on what you mean by "JDK". Suppose the icedtea project added > a public "supported" method usesSystemZlib(). It would be good to > provide guidance what package to put this in (org.classpath.* ?) and > how to indicate level of support (by the icedtea project). > > Suppose the IcedTea project decided to officially support > sun.misc.Unsafe. Would they do this by adding jdk.Supported > annotation to their version of Unsafe.java, even if their upstream > chose not to? For some definition of "JDK", IcedTea is "JDK" too since they provide a JDK distribution, one at least a little distinct from plain OpenJDK and also distinct from OracleJDK. The long-standing problem I wanted to address was clearly indicating whether or not the upstream code in shared JDK 8 sources was regarded as a public API or not. So I don't think it would necessarily be inappropriate for a hypothetical org.classpath type to use jdk.Supported, but I wasn't really thinking about that use case. > > What about the X's in hotspot flags and the java tools command line > interfaces? > > > The policy around command line interfaces is unchanged; the > interfaces are mostly stable, but the more X's are in a flags > name, the less stable it can be. > > > We all learned this by indoctrination from the local sensei greybeard, > but where is it documented for the wider world? There is some approximation to that guidance in the java man page; options without a "X" prefix are described as "standard" and ones with at least one "X" are described as "non-standard." Not all XX options are included in the man page. > > Perhaps Supported isn't a binary thing, but needs to capture different > levels of support? > Solaris has had such support levels. > A "beta" ("laba", "experimental") support level is very useful for > introducing new technology. > > It's a very hard problem, especially in a 1000 flowers world. Yes, I'm vaguely aware that Solaris has had a rich taxonomy in this space and there are, IIRC, dtrace tools to audit if you are calling any sufficient unapproved APIs. However, at least as a first cut, I think a binary supported / not-supported distinction captures at least 80% of the distinction that needs to be made for the purposes of the JDK. Anything more involves much less favorable complexity vs benefit trade-offs. -Joe -------------- next part -------------- An HTML attachment was scrubbed... URL: From stefan.karlsson at oracle.com Fri Feb 22 12:19:56 2013 From: stefan.karlsson at oracle.com (stefan.karlsson at oracle.com) Date: Fri, 22 Feb 2013 12:19:56 +0000 Subject: hg: jdk8/tl/jdk: 2 new changesets Message-ID: <20130222122134.917BF47C71@hg.openjdk.java.net> Changeset: c6d77b2b4478 Author: stefank Date: 2013-01-22 13:53 +0100 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/c6d77b2b4478 8006506: Add test for redefining methods in backtraces to java/lang/instrument tests Reviewed-by: sspitsyn, coleenp + test/java/lang/instrument/RedefineMethodInBacktrace.sh + test/java/lang/instrument/RedefineMethodInBacktraceAgent.java + test/java/lang/instrument/RedefineMethodInBacktraceApp.java + test/java/lang/instrument/RedefineMethodInBacktraceTarget.java + test/java/lang/instrument/RedefineMethodInBacktraceTarget_2.java Changeset: 0e93015e77f6 Author: stefank Date: 2013-01-22 15:25 +0100 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/0e93015e77f6 7140852: Add test for 7022100 Reviewed-by: sspitsyn, coleenp + test/java/lang/instrument/RedefineMethodWithAnnotations.sh + test/java/lang/instrument/RedefineMethodWithAnnotationsAgent.java + test/java/lang/instrument/RedefineMethodWithAnnotationsAnnotations.java + test/java/lang/instrument/RedefineMethodWithAnnotationsApp.java + test/java/lang/instrument/RedefineMethodWithAnnotationsTarget.java + test/java/lang/instrument/RedefineMethodWithAnnotationsTarget_2.java From joe.darcy at oracle.com Sat Feb 23 21:32:52 2013 From: joe.darcy at oracle.com (joe.darcy at oracle.com) Date: Sat, 23 Feb 2013 21:32:52 +0000 Subject: hg: jdk8/tl/jdk: 6556996: (ann spec) SuppressWarnings strings should be documented Message-ID: <20130223213315.CE89947D92@hg.openjdk.java.net> Changeset: 6f9b3e216b01 Author: darcy Date: 2013-02-23 13:32 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/6f9b3e216b01 6556996: (ann spec) SuppressWarnings strings should be documented Reviewed-by: mduigou, chegar, abuckley ! src/share/classes/java/lang/Deprecated.java ! src/share/classes/java/lang/Override.java ! src/share/classes/java/lang/SafeVarargs.java ! src/share/classes/java/lang/SuppressWarnings.java ! src/share/classes/java/lang/annotation/Inherited.java ! src/share/classes/java/lang/annotation/Retention.java ! src/share/classes/java/lang/annotation/Target.java From jonathan.gibbons at oracle.com Sun Feb 24 19:38:23 2013 From: jonathan.gibbons at oracle.com (jonathan.gibbons at oracle.com) Date: Sun, 24 Feb 2013 19:38:23 +0000 Subject: hg: jdk8/tl/langtools: 7112427: The doclet needs to be able to generate JavaFX documentation. Message-ID: <20130224193826.A335947DEC@hg.openjdk.java.net> Changeset: ccbe7ffdd867 Author: jjg Date: 2013-02-24 11:36 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/langtools/rev/ccbe7ffdd867 7112427: The doclet needs to be able to generate JavaFX documentation. Reviewed-by: jjg Contributed-by: jan.valenta at oracle.com ! src/share/classes/com/sun/tools/doclets/formats/html/ConstructorWriterImpl.java ! src/share/classes/com/sun/tools/doclets/formats/html/HtmlDocletWriter.java ! src/share/classes/com/sun/tools/doclets/formats/html/LinkInfoImpl.java ! src/share/classes/com/sun/tools/doclets/formats/html/PackageFrameWriter.java + src/share/classes/com/sun/tools/doclets/formats/html/PropertyWriterImpl.java ! src/share/classes/com/sun/tools/doclets/formats/html/WriterFactoryImpl.java ! src/share/classes/com/sun/tools/doclets/formats/html/markup/HtmlConstants.java ! src/share/classes/com/sun/tools/doclets/formats/html/markup/HtmlWriter.java ! src/share/classes/com/sun/tools/doclets/formats/html/resources/standard.properties ! src/share/classes/com/sun/tools/doclets/internal/toolkit/Configuration.java + src/share/classes/com/sun/tools/doclets/internal/toolkit/PropertyWriter.java ! src/share/classes/com/sun/tools/doclets/internal/toolkit/WriterFactory.java ! src/share/classes/com/sun/tools/doclets/internal/toolkit/builders/AnnotationTypeRequiredMemberBuilder.java ! src/share/classes/com/sun/tools/doclets/internal/toolkit/builders/BuilderFactory.java ! src/share/classes/com/sun/tools/doclets/internal/toolkit/builders/ClassBuilder.java ! src/share/classes/com/sun/tools/doclets/internal/toolkit/builders/ConstantsSummaryBuilder.java ! src/share/classes/com/sun/tools/doclets/internal/toolkit/builders/ConstructorBuilder.java ! src/share/classes/com/sun/tools/doclets/internal/toolkit/builders/EnumConstantBuilder.java ! src/share/classes/com/sun/tools/doclets/internal/toolkit/builders/FieldBuilder.java ! src/share/classes/com/sun/tools/doclets/internal/toolkit/builders/MemberSummaryBuilder.java ! src/share/classes/com/sun/tools/doclets/internal/toolkit/builders/MethodBuilder.java ! src/share/classes/com/sun/tools/doclets/internal/toolkit/builders/PackageSummaryBuilder.java + src/share/classes/com/sun/tools/doclets/internal/toolkit/builders/PropertyBuilder.java ! src/share/classes/com/sun/tools/doclets/internal/toolkit/resources/doclet.xml ! src/share/classes/com/sun/tools/doclets/internal/toolkit/resources/doclets.properties + src/share/classes/com/sun/tools/doclets/internal/toolkit/taglets/BasePropertyTaglet.java + src/share/classes/com/sun/tools/doclets/internal/toolkit/taglets/ExpertTaglet.java + src/share/classes/com/sun/tools/doclets/internal/toolkit/taglets/PropertyGetterTaglet.java + src/share/classes/com/sun/tools/doclets/internal/toolkit/taglets/PropertySetterTaglet.java ! src/share/classes/com/sun/tools/doclets/internal/toolkit/taglets/TagletManager.java ! src/share/classes/com/sun/tools/doclets/internal/toolkit/taglets/TagletWriter.java ! src/share/classes/com/sun/tools/doclets/internal/toolkit/util/ClassTree.java ! src/share/classes/com/sun/tools/doclets/internal/toolkit/util/IndexBuilder.java ! src/share/classes/com/sun/tools/doclets/internal/toolkit/util/Util.java ! src/share/classes/com/sun/tools/doclets/internal/toolkit/util/VisibleMemberMap.java + test/com/sun/javadoc/testJavaFX/C.java + test/com/sun/javadoc/testJavaFX/D.java + test/com/sun/javadoc/testJavaFX/TestJavaFX.java ! test/com/sun/javadoc/testLambdaFeature/TestLambdaFeature.java From Alan.Bateman at oracle.com Mon Feb 25 12:07:47 2013 From: Alan.Bateman at oracle.com (Alan Bateman) Date: Mon, 25 Feb 2013 12:07:47 +0000 Subject: 8008793: SecurityManager.checkXXX behavior not specified for methods that check AWTPermission and AWT not present Message-ID: <512B5413.8050905@oracle.com> SecurityManager's checkTopLevelWindow, checkSystemClipboardAccess and checkAwtEventQueueAccess methods are specified to check AWTPermission. An outstanding issue is that they don't specify how they behave when AWT is not present (compact profiles, and modules in the future). I would like to change these methods so that they behave as if the permission check fails. I think this is the approach of least-surprise as it's not possible to grant anyone AWTPermission when the permission type does not exist. This the webrev with the proposed changes: http://cr.openjdk.java.net/~alanb/8008793/webrev/ Note that the implementation changes are mostly just removing the "fake permission" code (this was originally put in to ensure that checkPermission was called with a permission that could never be granted, it's not needed now). Thanks, -Alan. From tom.hawtin at oracle.com Mon Feb 25 12:56:44 2013 From: tom.hawtin at oracle.com (Tom Hawtin) Date: Mon, 25 Feb 2013 12:56:44 +0000 Subject: 8008793: SecurityManager.checkXXX behavior not specified for methods that check AWTPermission and AWT not present In-Reply-To: <512B5413.8050905@oracle.com> References: <512B5413.8050905@oracle.com> Message-ID: <512B5F8C.4000109@oracle.com> On 25/02/2013 12:07, Alan Bateman wrote: > I would like to change these methods so that they behave as if the > permission check fails. I think this is the approach of least-surprise > as it's not possible to grant anyone AWTPermission when the permission > type does not exist. That would mean even with a fully trusted acc the permission check would fail. Checking AllPermission in that case would make more sense. Tom From dmitry.samersoff at oracle.com Mon Feb 25 13:21:26 2013 From: dmitry.samersoff at oracle.com (Dmitry Samersoff) Date: Mon, 25 Feb 2013 17:21:26 +0400 Subject: 8008793: SecurityManager.checkXXX behavior not specified for methods that check AWTPermission and AWT not present In-Reply-To: <512B5413.8050905@oracle.com> References: <512B5413.8050905@oracle.com> Message-ID: <512B6556.7000100@oracle.com> Alan, Did you consider to explicitly throw security exception with the message like "Permission couldn't be granted because of wrong profile" or something like this. -Dmitry On 2013-02-25 16:07, Alan Bateman wrote: > > SecurityManager's checkTopLevelWindow, checkSystemClipboardAccess and > checkAwtEventQueueAccess methods are specified to check AWTPermission. > An outstanding issue is that they don't specify how they behave when AWT > is not present (compact profiles, and modules in the future). > > I would like to change these methods so that they behave as if the > permission check fails. I think this is the approach of least-surprise > as it's not possible to grant anyone AWTPermission when the permission > type does not exist. > > This the webrev with the proposed changes: > > http://cr.openjdk.java.net/~alanb/8008793/webrev/ > > Note that the implementation changes are mostly just removing the "fake > permission" code (this was originally put in to ensure that > checkPermission was called with a permission that could never be > granted, it's not needed now). > > Thanks, > > -Alan. -- Dmitry Samersoff Oracle Java development team, Saint Petersburg, Russia * Give Rabbit time, and he'll always get the answer From Alan.Bateman at oracle.com Mon Feb 25 13:49:05 2013 From: Alan.Bateman at oracle.com (Alan Bateman) Date: Mon, 25 Feb 2013 13:49:05 +0000 Subject: 8008793: SecurityManager.checkXXX behavior not specified for methods that check AWTPermission and AWT not present In-Reply-To: <512B6556.7000100@oracle.com> References: <512B5413.8050905@oracle.com> <512B6556.7000100@oracle.com> Message-ID: <512B6BD1.1050002@oracle.com> On 25/02/2013 13:21, Dmitry Samersoff wrote: > Alan, > > Did you consider to explicitly throw security exception with the message > like "Permission couldn't be granted because of wrong profile" or > something like this. > > -Dmitry These checkXXX method should only be called from AWT or other client code that already its own dependency on AWT (in which case java.awt.AWTPermission will exist. So it's really a corner case for these methods to be invoked when AWT is not present so I don't think we have to do very much. -Alan From dmitry.samersoff at oracle.com Mon Feb 25 13:58:58 2013 From: dmitry.samersoff at oracle.com (Dmitry Samersoff) Date: Mon, 25 Feb 2013 17:58:58 +0400 Subject: 8008793: SecurityManager.checkXXX behavior not specified for methods that check AWTPermission and AWT not present In-Reply-To: <512B6BD1.1050002@oracle.com> References: <512B5413.8050905@oracle.com> <512B6556.7000100@oracle.com> <512B6BD1.1050002@oracle.com> Message-ID: <512B6E22.9020102@oracle.com> On 2013-02-25 17:49, Alan Bateman wrote: > On 25/02/2013 13:21, Dmitry Samersoff wrote: >> Alan, >> >> Did you consider to explicitly throw security exception with the message >> like "Permission couldn't be granted because of wrong profile" or >> something like this. >> >> -Dmitry > These checkXXX method should only be called from AWT or other client > code that already its own dependency on AWT (in which case > java.awt.AWTPermission will exist. So it's really a corner case for > these methods to be invoked when AWT is not present so I don't think we > have to do very much. Yes, I see. But IMHO, if (.. = null) throw new SecurtyException("Permission couldn't be granted"); doesn't complicate things, but would be a clean reminder to app developers that theirs code is wrong and have to be fixed. -Dmitry -- Dmitry Samersoff Oracle Java development team, Saint Petersburg, Russia * Give Rabbit time, and he'll always get the answer From sean.mullan at oracle.com Mon Feb 25 15:22:41 2013 From: sean.mullan at oracle.com (Sean Mullan) Date: Mon, 25 Feb 2013 10:22:41 -0500 Subject: 8008793: SecurityManager.checkXXX behavior not specified for methods that check AWTPermission and AWT not present In-Reply-To: <512B5F8C.4000109@oracle.com> References: <512B5413.8050905@oracle.com> <512B5F8C.4000109@oracle.com> Message-ID: <512B81C1.2000708@oracle.com> On 02/25/13 07:56, Tom Hawtin wrote: > On 25/02/2013 12:07, Alan Bateman wrote: > >> I would like to change these methods so that they behave as if the >> permission check fails. I think this is the approach of least-surprise >> as it's not possible to grant anyone AWTPermission when the permission >> type does not exist. > > That would mean even with a fully trusted acc the permission check would > fail. Checking AllPermission in that case would make more sense. Yes, good point, but Alan has corrected that, refresh the webrev. I just had one comment: - I think you need to run the test in it's own JVM, since it sets an SM. --Sean From Alan.Bateman at oracle.com Mon Feb 25 15:52:28 2013 From: Alan.Bateman at oracle.com (Alan Bateman) Date: Mon, 25 Feb 2013 15:52:28 +0000 Subject: 8008793: SecurityManager.checkXXX behavior not specified for methods that check AWTPermission and AWT not present In-Reply-To: <512B81C1.2000708@oracle.com> References: <512B5413.8050905@oracle.com> <512B5F8C.4000109@oracle.com> <512B81C1.2000708@oracle.com> Message-ID: <512B88BC.6000307@oracle.com> On 25/02/2013 15:22, Sean Mullan wrote: > > Yes, good point, but Alan has corrected that, refresh the webrev. > > I just had one comment: > > - I think you need to run the test in it's own JVM, since it sets an SM. > > --Sean > Yes, Tom is right and the checkPermissions in these methods should succeed if AllPermission is granted. I should have replied to my original mail to clarify this as I also noticed this when generating the javadoc diffs after the mail. In any case, this is really a corner case because I wouldn't expect these methods to be invoked by anything outside of AWT (or something using AWT). On the test, then jtreg attempts restore the security manager after each test so I don't think we need to add /other here (also it is using a security manager already and hasn't caused any issues, at least I'm not aware of any). -Alan. From sean.mullan at oracle.com Mon Feb 25 16:04:20 2013 From: sean.mullan at oracle.com (Sean Mullan) Date: Mon, 25 Feb 2013 11:04:20 -0500 Subject: 8008793: SecurityManager.checkXXX behavior not specified for methods that check AWTPermission and AWT not present In-Reply-To: <512B88BC.6000307@oracle.com> References: <512B5413.8050905@oracle.com> <512B5F8C.4000109@oracle.com> <512B81C1.2000708@oracle.com> <512B88BC.6000307@oracle.com> Message-ID: <512B8B84.5060400@oracle.com> On 02/25/13 10:52, Alan Bateman wrote: > On 25/02/2013 15:22, Sean Mullan wrote: >> >> Yes, good point, but Alan has corrected that, refresh the webrev. >> >> I just had one comment: >> >> - I think you need to run the test in it's own JVM, since it sets an SM. >> >> --Sean >> > Yes, Tom is right and the checkPermissions in these methods should > succeed if AllPermission is granted. I should have replied to my > original mail to clarify this as I also noticed this when generating the > javadoc diffs after the mail. > > In any case, this is really a corner case because I wouldn't expect > these methods to be invoked by anything outside of AWT (or something > using AWT). > > On the test, then jtreg attempts restore the security manager after each > test so I don't think we need to add /other here (also it is using a > security manager already and hasn't caused any issues, at least I'm not > aware of any). But there can be only one SM, so it could potentially affect other tests in different threads that depend on an SM. (If 2 tests that set their own SM ran in the same VM, potential issues would result, right?). --Sean From Alan.Bateman at oracle.com Mon Feb 25 16:32:27 2013 From: Alan.Bateman at oracle.com (Alan Bateman) Date: Mon, 25 Feb 2013 16:32:27 +0000 Subject: 8008793: SecurityManager.checkXXX behavior not specified for methods that check AWTPermission and AWT not present In-Reply-To: <512B8B84.5060400@oracle.com> References: <512B5413.8050905@oracle.com> <512B5F8C.4000109@oracle.com> <512B81C1.2000708@oracle.com> <512B88BC.6000307@oracle.com> <512B8B84.5060400@oracle.com> Message-ID: <512B921B.6030101@oracle.com> On 25/02/2013 16:04, Sean Mullan wrote: > > But there can be only one SM, so it could potentially affect other > tests in different threads that depend on an SM. (If 2 tests that set > their own SM ran in the same VM, potential issues would result, right?). Tests run sequentially in the same VM (never concurrently). At the end of each test then jtreg will attempt to restore the security manager if set by the test. So I think we are okay here, it's not an issue in my test runs and this test is already using a security manager. -Alan From sean.mullan at oracle.com Mon Feb 25 16:39:56 2013 From: sean.mullan at oracle.com (Sean Mullan) Date: Mon, 25 Feb 2013 11:39:56 -0500 Subject: 8008793: SecurityManager.checkXXX behavior not specified for methods that check AWTPermission and AWT not present In-Reply-To: <512B921B.6030101@oracle.com> References: <512B5413.8050905@oracle.com> <512B5F8C.4000109@oracle.com> <512B81C1.2000708@oracle.com> <512B88BC.6000307@oracle.com> <512B8B84.5060400@oracle.com> <512B921B.6030101@oracle.com> Message-ID: <512B93DC.8050903@oracle.com> On 02/25/13 11:32, Alan Bateman wrote: > On 25/02/2013 16:04, Sean Mullan wrote: >> >> But there can be only one SM, so it could potentially affect other >> tests in different threads that depend on an SM. (If 2 tests that set >> their own SM ran in the same VM, potential issues would result, right?). > Tests run sequentially in the same VM (never concurrently). At the end > of each test then jtreg will attempt to restore the security manager if > set by the test. So I think we are okay here, it's not an issue in my > test runs and this test is already using a security manager. Ah I see. However, the jtreg FAQ [1] still advises running these in its own VM. Might want to check to see what Jonathan Gibbons says. --Sean [1] http://openjdk.java.net/jtreg/faq.html#question4.17 From Alan.Bateman at oracle.com Mon Feb 25 16:53:07 2013 From: Alan.Bateman at oracle.com (Alan Bateman) Date: Mon, 25 Feb 2013 16:53:07 +0000 Subject: 8008793: SecurityManager.checkXXX behavior not specified for methods that check AWTPermission and AWT not present In-Reply-To: <512B93DC.8050903@oracle.com> References: <512B5413.8050905@oracle.com> <512B5F8C.4000109@oracle.com> <512B81C1.2000708@oracle.com> <512B88BC.6000307@oracle.com> <512B8B84.5060400@oracle.com> <512B921B.6030101@oracle.com> <512B93DC.8050903@oracle.com> Message-ID: <512B96F3.8090000@oracle.com> On 25/02/2013 16:39, Sean Mullan wrote: > > Ah I see. However, the jtreg FAQ [1] still advises running these in > its own VM. Might want to check to see what Jonathan Gibbons says. If this is a blocking issue then I can change this test but it's not an issue (the test is already using security manager, and in agent VM mode then jtreg will attempt to restore the security manager). -Alan. From alan.bateman at oracle.com Mon Feb 25 17:19:22 2013 From: alan.bateman at oracle.com (alan.bateman at oracle.com) Date: Mon, 25 Feb 2013 17:19:22 +0000 Subject: hg: jdk8/tl/jdk: 8008808: Allowed dependencies added by JDK-8008481 no longer required Message-ID: <20130225171953.F389247E38@hg.openjdk.java.net> Changeset: 155095c245b4 Author: alanb Date: 2013-02-25 17:17 +0000 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/155095c245b4 8008808: Allowed dependencies added by JDK-8008481 no longer required Reviewed-by: tbell, chegar ! make/tools/src/build/tools/deps/refs.allowed From sundararajan.athijegannathan at oracle.com Mon Feb 25 13:46:47 2013 From: sundararajan.athijegannathan at oracle.com (sundararajan.athijegannathan at oracle.com) Date: Mon, 25 Feb 2013 13:46:47 +0000 Subject: hg: jdk8/tl/nashorn: 119 new changesets Message-ID: <20130225134751.BFF1647E25@hg.openjdk.java.net> Changeset: b8a1b238c77c Author: duke Date: 2007-12-01 00:00 +0000 URL: http://hg.openjdk.java.net/jdk8/tl/nashorn/rev/b8a1b238c77c Initial load + .hgignore + .jcheck/conf Changeset: 6031a0bc0ae2 Author: jcoomes Date: 2012-12-20 14:16 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/nashorn/rev/6031a0bc0ae2 8005364: initial hg tags for nashorn repo Reviewed-by: amurillo + .hgtags Changeset: da1e581c933b Author: jlaskey Date: 2012-12-21 16:36 -0400 URL: http://hg.openjdk.java.net/jdk8/tl/nashorn/rev/da1e581c933b 8005403: Open-source Nashorn Reviewed-by: attila, hannesw, lagergren, sundar Contributed-by: james.laskey at oracle.com, akhil.arora at oracle.com, andreas.woess at jku.at, attila.szegedi at oracle.com, hannes.wallnoefer at oracle.com, henry.jen at oracle.com, marcus.lagergren at oracle.com, pavel.semenov at oracle.com, pavel.stepanov at oracle.com, petr.hejl at oracle.com, petr.pisl at oracle.com, sundararajan.athijegannathan at oracle.com ! .hgignore + ASSEMBLY_EXCEPTION + LICENSE + README + RELEASE_README + THIRD_PARTY_README + bin/checkintest.sh + bin/fixorphantests.sh + bin/fixwhitespace.sh + bin/jjs + bin/jjs.bat + bin/jjssecure + bin/jjssecure.bat + bin/nashorn + bin/nashorn.bat + bin/rm-non-tracked.sh + bin/verbose_octane.bat + bin/verbose_octane.sh + buildtools/nasgen/README + buildtools/nasgen/build.xml + buildtools/nasgen/nasgen.iml + buildtools/nasgen/project.properties + buildtools/nasgen/src/META-INF/MANIFEST.MF + buildtools/nasgen/src/jdk/nashorn/internal/tools/nasgen/ClassGenerator.java + buildtools/nasgen/src/jdk/nashorn/internal/tools/nasgen/ConstructorGenerator.java + buildtools/nasgen/src/jdk/nashorn/internal/tools/nasgen/Main.java + buildtools/nasgen/src/jdk/nashorn/internal/tools/nasgen/MemberInfo.java + buildtools/nasgen/src/jdk/nashorn/internal/tools/nasgen/MethodGenerator.java + buildtools/nasgen/src/jdk/nashorn/internal/tools/nasgen/NullVisitor.java + buildtools/nasgen/src/jdk/nashorn/internal/tools/nasgen/PrototypeGenerator.java + buildtools/nasgen/src/jdk/nashorn/internal/tools/nasgen/ScriptClassInfo.java + buildtools/nasgen/src/jdk/nashorn/internal/tools/nasgen/ScriptClassInfoCollector.java + buildtools/nasgen/src/jdk/nashorn/internal/tools/nasgen/ScriptClassInstrumentor.java + buildtools/nasgen/src/jdk/nashorn/internal/tools/nasgen/StringConstants.java + docs/DEVELOPER_README + docs/genshelldoc.js + make/Makefile + make/build-benchmark.xml + make/build-nasgen.xml + make/build.xml + make/nbproject/ide-file-targets.xml + make/nbproject/ide-targets.xml + make/nbproject/jdk.xml + make/nbproject/nbjdk.properties + make/nbproject/nbjdk.xml + make/nbproject/project.xml + make/project.properties + samples/counters.js + samples/letter.js + samples/parser.js + samples/shell.js + samples/test.js + samples/uniq.js + src/META-INF/MANIFEST.MF + src/META-INF/services/javax.script.ScriptEngineFactory + src/jdk/nashorn/api/scripting/NashornException.java + src/jdk/nashorn/api/scripting/NashornScriptEngine.java + src/jdk/nashorn/api/scripting/NashornScriptEngineFactory.java + src/jdk/nashorn/api/scripting/ScriptObjectMirror.java + src/jdk/nashorn/api/scripting/package-info.java + src/jdk/nashorn/api/scripting/resources/engine.js + src/jdk/nashorn/internal/codegen/AccessSpecializer.java + src/jdk/nashorn/internal/codegen/BranchOptimizer.java + src/jdk/nashorn/internal/codegen/ClassEmitter.java + src/jdk/nashorn/internal/codegen/CodeGenerator.java + src/jdk/nashorn/internal/codegen/CompileUnit.java + src/jdk/nashorn/internal/codegen/Compiler.java + src/jdk/nashorn/internal/codegen/CompilerConstants.java + src/jdk/nashorn/internal/codegen/ConstantData.java + src/jdk/nashorn/internal/codegen/Emitter.java + src/jdk/nashorn/internal/codegen/Frame.java + src/jdk/nashorn/internal/codegen/FunctionSignature.java + src/jdk/nashorn/internal/codegen/Lower.java + src/jdk/nashorn/internal/codegen/MethodEmitter.java + src/jdk/nashorn/internal/codegen/Namespace.java + src/jdk/nashorn/internal/codegen/RuntimeCallSite.java + src/jdk/nashorn/internal/codegen/SharedScopeCall.java + src/jdk/nashorn/internal/codegen/Splitter.java + src/jdk/nashorn/internal/codegen/Transform.java + src/jdk/nashorn/internal/codegen/WeighNodes.java + src/jdk/nashorn/internal/codegen/objects/FieldObjectCreator.java + src/jdk/nashorn/internal/codegen/objects/FunctionObjectCreator.java + src/jdk/nashorn/internal/codegen/objects/MapCreator.java + src/jdk/nashorn/internal/codegen/objects/ObjectClassGenerator.java + src/jdk/nashorn/internal/codegen/objects/ObjectCreator.java + src/jdk/nashorn/internal/codegen/objects/ObjectMapCreator.java + src/jdk/nashorn/internal/codegen/types/ArrayType.java + src/jdk/nashorn/internal/codegen/types/BitwiseType.java + src/jdk/nashorn/internal/codegen/types/BooleanType.java + src/jdk/nashorn/internal/codegen/types/BytecodeArrayOps.java + src/jdk/nashorn/internal/codegen/types/BytecodeBitwiseOps.java + src/jdk/nashorn/internal/codegen/types/BytecodeNumericOps.java + src/jdk/nashorn/internal/codegen/types/BytecodeOps.java + src/jdk/nashorn/internal/codegen/types/IntType.java + src/jdk/nashorn/internal/codegen/types/LongType.java + src/jdk/nashorn/internal/codegen/types/NumberType.java + src/jdk/nashorn/internal/codegen/types/NumericType.java + src/jdk/nashorn/internal/codegen/types/ObjectType.java + src/jdk/nashorn/internal/codegen/types/Type.java + src/jdk/nashorn/internal/ir/AccessNode.java + src/jdk/nashorn/internal/ir/Assignment.java + src/jdk/nashorn/internal/ir/BaseNode.java + src/jdk/nashorn/internal/ir/BinaryNode.java + src/jdk/nashorn/internal/ir/Block.java + src/jdk/nashorn/internal/ir/BreakNode.java + src/jdk/nashorn/internal/ir/BreakableNode.java + src/jdk/nashorn/internal/ir/CallNode.java + src/jdk/nashorn/internal/ir/CaseNode.java + src/jdk/nashorn/internal/ir/CatchNode.java + src/jdk/nashorn/internal/ir/ContinueNode.java + src/jdk/nashorn/internal/ir/DoWhileNode.java + src/jdk/nashorn/internal/ir/EmptyNode.java + src/jdk/nashorn/internal/ir/ExecuteNode.java + src/jdk/nashorn/internal/ir/ForNode.java + src/jdk/nashorn/internal/ir/FunctionCall.java + src/jdk/nashorn/internal/ir/FunctionNode.java + src/jdk/nashorn/internal/ir/IdentNode.java + src/jdk/nashorn/internal/ir/IfNode.java + src/jdk/nashorn/internal/ir/IndexNode.java + src/jdk/nashorn/internal/ir/LabelNode.java + src/jdk/nashorn/internal/ir/LabeledNode.java + src/jdk/nashorn/internal/ir/LineNumberNode.java + src/jdk/nashorn/internal/ir/LiteralNode.java + src/jdk/nashorn/internal/ir/Location.java + src/jdk/nashorn/internal/ir/Node.java + src/jdk/nashorn/internal/ir/ObjectNode.java + src/jdk/nashorn/internal/ir/PropertyKey.java + src/jdk/nashorn/internal/ir/PropertyNode.java + src/jdk/nashorn/internal/ir/ReferenceNode.java + src/jdk/nashorn/internal/ir/ReturnNode.java + src/jdk/nashorn/internal/ir/RuntimeNode.java + src/jdk/nashorn/internal/ir/SplitNode.java + src/jdk/nashorn/internal/ir/SwitchNode.java + src/jdk/nashorn/internal/ir/Symbol.java + src/jdk/nashorn/internal/ir/TernaryNode.java + src/jdk/nashorn/internal/ir/ThrowNode.java + src/jdk/nashorn/internal/ir/TryNode.java + src/jdk/nashorn/internal/ir/TypeOverride.java + src/jdk/nashorn/internal/ir/UnaryNode.java + src/jdk/nashorn/internal/ir/VarNode.java + src/jdk/nashorn/internal/ir/WhileNode.java + src/jdk/nashorn/internal/ir/WithNode.java + src/jdk/nashorn/internal/ir/annotations/ChildNode.java + src/jdk/nashorn/internal/ir/annotations/Ignore.java + src/jdk/nashorn/internal/ir/annotations/ParentNode.java + src/jdk/nashorn/internal/ir/annotations/Reference.java + src/jdk/nashorn/internal/ir/debug/ASTWriter.java + src/jdk/nashorn/internal/ir/debug/JSONWriter.java + src/jdk/nashorn/internal/ir/debug/PrintVisitor.java + src/jdk/nashorn/internal/ir/visitor/NodeOperatorVisitor.java + src/jdk/nashorn/internal/ir/visitor/NodeVisitor.java + src/jdk/nashorn/internal/objects/AccessorPropertyDescriptor.java + src/jdk/nashorn/internal/objects/ArrayBufferView.java + src/jdk/nashorn/internal/objects/DataPropertyDescriptor.java + src/jdk/nashorn/internal/objects/DateParser.java + src/jdk/nashorn/internal/objects/GenericPropertyDescriptor.java + src/jdk/nashorn/internal/objects/Global.java + src/jdk/nashorn/internal/objects/NativeArguments.java + src/jdk/nashorn/internal/objects/NativeArray.java + src/jdk/nashorn/internal/objects/NativeArrayBuffer.java + src/jdk/nashorn/internal/objects/NativeBoolean.java + src/jdk/nashorn/internal/objects/NativeDate.java + src/jdk/nashorn/internal/objects/NativeDebug.java + src/jdk/nashorn/internal/objects/NativeError.java + src/jdk/nashorn/internal/objects/NativeEvalError.java + src/jdk/nashorn/internal/objects/NativeFloat32Array.java + src/jdk/nashorn/internal/objects/NativeFloat64Array.java + src/jdk/nashorn/internal/objects/NativeFunction.java + src/jdk/nashorn/internal/objects/NativeInt16Array.java + src/jdk/nashorn/internal/objects/NativeInt32Array.java + src/jdk/nashorn/internal/objects/NativeInt8Array.java + src/jdk/nashorn/internal/objects/NativeJSAdapter.java + src/jdk/nashorn/internal/objects/NativeJSON.java + src/jdk/nashorn/internal/objects/NativeJava.java + src/jdk/nashorn/internal/objects/NativeJavaImporter.java + src/jdk/nashorn/internal/objects/NativeMath.java + src/jdk/nashorn/internal/objects/NativeNumber.java + src/jdk/nashorn/internal/objects/NativeObject.java + src/jdk/nashorn/internal/objects/NativeRangeError.java + src/jdk/nashorn/internal/objects/NativeReferenceError.java + src/jdk/nashorn/internal/objects/NativeRegExp.java + src/jdk/nashorn/internal/objects/NativeRegExpExecResult.java + src/jdk/nashorn/internal/objects/NativeStrictArguments.java + src/jdk/nashorn/internal/objects/NativeString.java + src/jdk/nashorn/internal/objects/NativeSyntaxError.java + src/jdk/nashorn/internal/objects/NativeTypeError.java + src/jdk/nashorn/internal/objects/NativeURIError.java + src/jdk/nashorn/internal/objects/NativeUint16Array.java + src/jdk/nashorn/internal/objects/NativeUint32Array.java + src/jdk/nashorn/internal/objects/NativeUint8Array.java + src/jdk/nashorn/internal/objects/NativeUint8ClampedArray.java + src/jdk/nashorn/internal/objects/PrototypeObject.java + src/jdk/nashorn/internal/objects/ScriptFunctionImpl.java + src/jdk/nashorn/internal/objects/annotations/Attribute.java + src/jdk/nashorn/internal/objects/annotations/Constructor.java + src/jdk/nashorn/internal/objects/annotations/Function.java + src/jdk/nashorn/internal/objects/annotations/Getter.java + src/jdk/nashorn/internal/objects/annotations/Property.java + src/jdk/nashorn/internal/objects/annotations/ScriptClass.java + src/jdk/nashorn/internal/objects/annotations/Setter.java + src/jdk/nashorn/internal/objects/annotations/SpecializedConstructor.java + src/jdk/nashorn/internal/objects/annotations/SpecializedFunction.java + src/jdk/nashorn/internal/objects/annotations/Where.java + src/jdk/nashorn/internal/objects/package-info.java + src/jdk/nashorn/internal/parser/AbstractParser.java + src/jdk/nashorn/internal/parser/JSONParser.java + src/jdk/nashorn/internal/parser/Lexer.java + src/jdk/nashorn/internal/parser/Parser.java + src/jdk/nashorn/internal/parser/RegExp.java + src/jdk/nashorn/internal/parser/RegExpScanner.java + src/jdk/nashorn/internal/parser/Scanner.java + src/jdk/nashorn/internal/parser/Token.java + src/jdk/nashorn/internal/parser/TokenKind.java + src/jdk/nashorn/internal/parser/TokenLookup.java + src/jdk/nashorn/internal/parser/TokenStream.java + src/jdk/nashorn/internal/parser/TokenType.java + src/jdk/nashorn/internal/runtime/AccessorProperty.java + src/jdk/nashorn/internal/runtime/BitVector.java + src/jdk/nashorn/internal/runtime/CodeInstaller.java + src/jdk/nashorn/internal/runtime/ConsString.java + src/jdk/nashorn/internal/runtime/Context.java + src/jdk/nashorn/internal/runtime/Debug.java + src/jdk/nashorn/internal/runtime/DebugLogger.java + src/jdk/nashorn/internal/runtime/DefaultPropertyAccess.java + src/jdk/nashorn/internal/runtime/ECMAErrors.java + src/jdk/nashorn/internal/runtime/ECMAException.java + src/jdk/nashorn/internal/runtime/ErrorManager.java + src/jdk/nashorn/internal/runtime/FindProperty.java + src/jdk/nashorn/internal/runtime/FunctionScope.java + src/jdk/nashorn/internal/runtime/GlobalFunctions.java + src/jdk/nashorn/internal/runtime/GlobalObject.java + src/jdk/nashorn/internal/runtime/JSErrorType.java + src/jdk/nashorn/internal/runtime/JSType.java + src/jdk/nashorn/internal/runtime/Logging.java + src/jdk/nashorn/internal/runtime/NashornLoader.java + src/jdk/nashorn/internal/runtime/NativeJavaPackage.java + src/jdk/nashorn/internal/runtime/NumberToString.java + src/jdk/nashorn/internal/runtime/ParserException.java + src/jdk/nashorn/internal/runtime/Property.java + src/jdk/nashorn/internal/runtime/PropertyAccess.java + src/jdk/nashorn/internal/runtime/PropertyDescriptor.java + src/jdk/nashorn/internal/runtime/PropertyHashMap.java + src/jdk/nashorn/internal/runtime/PropertyListener.java + src/jdk/nashorn/internal/runtime/PropertyListenerManager.java + src/jdk/nashorn/internal/runtime/PropertyMap.java + src/jdk/nashorn/internal/runtime/QuotedStringTokenizer.java + src/jdk/nashorn/internal/runtime/RegExpMatch.java + src/jdk/nashorn/internal/runtime/Scope.java + src/jdk/nashorn/internal/runtime/ScriptFunction.java + src/jdk/nashorn/internal/runtime/ScriptLoader.java + src/jdk/nashorn/internal/runtime/ScriptObject.java + src/jdk/nashorn/internal/runtime/ScriptRuntime.java + src/jdk/nashorn/internal/runtime/ScriptingFunctions.java + src/jdk/nashorn/internal/runtime/Source.java + src/jdk/nashorn/internal/runtime/SpillProperty.java + src/jdk/nashorn/internal/runtime/StructureLoader.java + src/jdk/nashorn/internal/runtime/URIUtils.java + src/jdk/nashorn/internal/runtime/Undefined.java + src/jdk/nashorn/internal/runtime/UserAccessorProperty.java + src/jdk/nashorn/internal/runtime/Version.java + src/jdk/nashorn/internal/runtime/WithObject.java + src/jdk/nashorn/internal/runtime/arrays/ArrayData.java + src/jdk/nashorn/internal/runtime/arrays/ArrayFilter.java + src/jdk/nashorn/internal/runtime/arrays/ArrayIndex.java + src/jdk/nashorn/internal/runtime/arrays/ArrayIterator.java + src/jdk/nashorn/internal/runtime/arrays/ArrayLikeIterator.java + src/jdk/nashorn/internal/runtime/arrays/DeletedArrayFilter.java + src/jdk/nashorn/internal/runtime/arrays/DeletedRangeArrayFilter.java + src/jdk/nashorn/internal/runtime/arrays/EmptyArrayLikeIterator.java + src/jdk/nashorn/internal/runtime/arrays/FrozenArrayFilter.java + src/jdk/nashorn/internal/runtime/arrays/IntArrayData.java + src/jdk/nashorn/internal/runtime/arrays/InvalidArrayIndexException.java + src/jdk/nashorn/internal/runtime/arrays/IteratorAction.java + src/jdk/nashorn/internal/runtime/arrays/LongArrayData.java + src/jdk/nashorn/internal/runtime/arrays/MapIterator.java + src/jdk/nashorn/internal/runtime/arrays/NoTypeArrayData.java + src/jdk/nashorn/internal/runtime/arrays/NumberArrayData.java + src/jdk/nashorn/internal/runtime/arrays/ObjectArrayData.java + src/jdk/nashorn/internal/runtime/arrays/ReverseArrayIterator.java + src/jdk/nashorn/internal/runtime/arrays/ReverseMapIterator.java + src/jdk/nashorn/internal/runtime/arrays/SealedArrayFilter.java + src/jdk/nashorn/internal/runtime/arrays/SparseArrayData.java + src/jdk/nashorn/internal/runtime/arrays/UndefinedArrayFilter.java + src/jdk/nashorn/internal/runtime/linker/Bootstrap.java + src/jdk/nashorn/internal/runtime/linker/InvokeByName.java + src/jdk/nashorn/internal/runtime/linker/JSObjectLinker.java + src/jdk/nashorn/internal/runtime/linker/JavaAdapterFactory.java + src/jdk/nashorn/internal/runtime/linker/JavaArgumentConverters.java + src/jdk/nashorn/internal/runtime/linker/LinkerCallSite.java + src/jdk/nashorn/internal/runtime/linker/Lookup.java + src/jdk/nashorn/internal/runtime/linker/Mangler.java + src/jdk/nashorn/internal/runtime/linker/MethodHandleFactory.java + src/jdk/nashorn/internal/runtime/linker/MethodHandleFunctionality.java + src/jdk/nashorn/internal/runtime/linker/NashornBottomLinker.java + src/jdk/nashorn/internal/runtime/linker/NashornCallSiteDescriptor.java + src/jdk/nashorn/internal/runtime/linker/NashornGuardedInvocation.java + src/jdk/nashorn/internal/runtime/linker/NashornGuards.java + src/jdk/nashorn/internal/runtime/linker/NashornLinker.java + src/jdk/nashorn/internal/runtime/linker/NashornPrimitiveLinker.java + src/jdk/nashorn/internal/runtime/linker/PrimitiveLookup.java + src/jdk/nashorn/internal/runtime/options/KeyValueOption.java + src/jdk/nashorn/internal/runtime/options/Option.java + src/jdk/nashorn/internal/runtime/options/OptionTemplate.java + src/jdk/nashorn/internal/runtime/options/Options.java + src/jdk/nashorn/internal/runtime/options/ValueOption.java + src/jdk/nashorn/internal/runtime/resources/Messages.properties + src/jdk/nashorn/internal/runtime/resources/Options.properties + src/jdk/nashorn/internal/runtime/resources/mozilla_compat.js + src/jdk/nashorn/internal/runtime/resources/parser.js + src/jdk/nashorn/internal/runtime/resources/version.properties-template + src/jdk/nashorn/internal/scripts/JO$.java + src/jdk/nashorn/internal/scripts/JS$.java + src/jdk/nashorn/tools/Shell.java + src/jdk/nashorn/tools/resources/Shell.properties + src/jdk/nashorn/tools/resources/shell.js + src/netscape/javascript/JSObject.java + src/overview.html + test/README + test/examples/dual-fields-micro.js + test/examples/innerbench.js + test/examples/typechain.js + test/lib/benchmark.js + test/opt/add.js + test/opt/add_constant.js + test/opt/add_reuse_callsite.js + test/opt/add_revert2.js + test/opt/cascade_specialize.js + test/script/assert.js + test/script/basic/NASHORN-100.js + test/script/basic/NASHORN-100.js.EXPECTED + test/script/basic/NASHORN-101.js + test/script/basic/NASHORN-101.js.EXPECTED + test/script/basic/NASHORN-102.js + test/script/basic/NASHORN-102.js.EXPECTED + test/script/basic/NASHORN-103.js + test/script/basic/NASHORN-104.js + test/script/basic/NASHORN-104.js.EXPECTED + test/script/basic/NASHORN-105.js + test/script/basic/NASHORN-105.js.EXPECTED + test/script/basic/NASHORN-106.js + test/script/basic/NASHORN-106.js.EXPECTED + test/script/basic/NASHORN-107.js + test/script/basic/NASHORN-108.js + test/script/basic/NASHORN-108.js.EXPECTED + test/script/basic/NASHORN-109.js + test/script/basic/NASHORN-109.js.EXPECTED + test/script/basic/NASHORN-11.js + test/script/basic/NASHORN-11.js.EXPECTED + test/script/basic/NASHORN-111.js + test/script/basic/NASHORN-111.js.EXPECTED + test/script/basic/NASHORN-113.js + test/script/basic/NASHORN-113.js.EXPECTED + test/script/basic/NASHORN-114.js + test/script/basic/NASHORN-115.js + test/script/basic/NASHORN-115.js.EXPECTED + test/script/basic/NASHORN-117.js + test/script/basic/NASHORN-118.js + test/script/basic/NASHORN-118.js.EXPECTED + test/script/basic/NASHORN-119.js + test/script/basic/NASHORN-119.js.EXPECTED + test/script/basic/NASHORN-12.js + test/script/basic/NASHORN-120.js + test/script/basic/NASHORN-122.js + test/script/basic/NASHORN-122.js.EXPECTED + test/script/basic/NASHORN-126.js + test/script/basic/NASHORN-126.js.EXPECTED + test/script/basic/NASHORN-127.js + test/script/basic/NASHORN-127.js.EXPECTED + test/script/basic/NASHORN-130.js + test/script/basic/NASHORN-132.js + test/script/basic/NASHORN-132.js.EXPECTED + test/script/basic/NASHORN-133.js + test/script/basic/NASHORN-133.js.EXPECTED + test/script/basic/NASHORN-135.js + test/script/basic/NASHORN-136.js + test/script/basic/NASHORN-136.js.EXPECTED + test/script/basic/NASHORN-14.js + test/script/basic/NASHORN-14.js.EXPECTED + test/script/basic/NASHORN-148.js + test/script/basic/NASHORN-148.js.EXPECTED + test/script/basic/NASHORN-15.js + test/script/basic/NASHORN-15.js.EXPECTED + test/script/basic/NASHORN-153.js + test/script/basic/NASHORN-156.js + test/script/basic/NASHORN-157.js + test/script/basic/NASHORN-163.js + test/script/basic/NASHORN-163.js.EXPECTED + test/script/basic/NASHORN-164.js + test/script/basic/NASHORN-165.js + test/script/basic/NASHORN-166.js + test/script/basic/NASHORN-168.js + test/script/basic/NASHORN-168.js.EXPECTED + test/script/basic/NASHORN-169.js + test/script/basic/NASHORN-172.js + test/script/basic/NASHORN-173.js + test/script/basic/NASHORN-173.js.EXPECTED + test/script/basic/NASHORN-174.js + test/script/basic/NASHORN-175.js + test/script/basic/NASHORN-176.js + test/script/basic/NASHORN-177.js + test/script/basic/NASHORN-177.js.EXPECTED + test/script/basic/NASHORN-178.js + test/script/basic/NASHORN-178.js.EXPECTED + test/script/basic/NASHORN-179.js + test/script/basic/NASHORN-18.js + test/script/basic/NASHORN-18.js.EXPECTED + test/script/basic/NASHORN-181.js + test/script/basic/NASHORN-182.js + test/script/basic/NASHORN-183.js + test/script/basic/NASHORN-184.js + test/script/basic/NASHORN-184.js.EXPECTED + test/script/basic/NASHORN-185.js + test/script/basic/NASHORN-185.js.EXPECTED + test/script/basic/NASHORN-187.js + test/script/basic/NASHORN-188.js + test/script/basic/NASHORN-188.js.EXPECTED + test/script/basic/NASHORN-19.js + test/script/basic/NASHORN-19.js.EXPECTED + test/script/basic/NASHORN-190.js + test/script/basic/NASHORN-192.js + test/script/basic/NASHORN-194.js + test/script/basic/NASHORN-196.js + test/script/basic/NASHORN-198.js + test/script/basic/NASHORN-20.js + test/script/basic/NASHORN-20.js.EXPECTED + test/script/basic/NASHORN-201.js + test/script/basic/NASHORN-202.js + test/script/basic/NASHORN-203.js + test/script/basic/NASHORN-204.js + test/script/basic/NASHORN-205.js + test/script/basic/NASHORN-206.js + test/script/basic/NASHORN-207.js + test/script/basic/NASHORN-207_2.js + test/script/basic/NASHORN-208.js + test/script/basic/NASHORN-208.js.EXPECTED + test/script/basic/NASHORN-209.js + test/script/basic/NASHORN-209.js.EXPECTED + test/script/basic/NASHORN-21.js + test/script/basic/NASHORN-21.js.EXPECTED + test/script/basic/NASHORN-211.js + test/script/basic/NASHORN-212.js + test/script/basic/NASHORN-213.js + test/script/basic/NASHORN-215.js + test/script/basic/NASHORN-215.js.EXPECTED + test/script/basic/NASHORN-216.js + test/script/basic/NASHORN-217.js + test/script/basic/NASHORN-217.js.EXPECTED + test/script/basic/NASHORN-219.js + test/script/basic/NASHORN-219.js.EXPECTED + test/script/basic/NASHORN-22.js + test/script/basic/NASHORN-22.js.EXPECTED + test/script/basic/NASHORN-221.js + test/script/basic/NASHORN-222.js + test/script/basic/NASHORN-223.js + test/script/basic/NASHORN-225.js + test/script/basic/NASHORN-226.js + test/script/basic/NASHORN-227.js + test/script/basic/NASHORN-228.js + test/script/basic/NASHORN-229.js + test/script/basic/NASHORN-229_subtest.js + test/script/basic/NASHORN-23.js + test/script/basic/NASHORN-23.js.EXPECTED + test/script/basic/NASHORN-232.js + test/script/basic/NASHORN-234.js + test/script/basic/NASHORN-235.js + test/script/basic/NASHORN-236.js + test/script/basic/NASHORN-237.js + test/script/basic/NASHORN-239.js + test/script/basic/NASHORN-24.js + test/script/basic/NASHORN-24.js.EXPECTED + test/script/basic/NASHORN-241.js + test/script/basic/NASHORN-242.js + test/script/basic/NASHORN-245.js + test/script/basic/NASHORN-247.js + test/script/basic/NASHORN-25.js + test/script/basic/NASHORN-25.js.EXPECTED + test/script/basic/NASHORN-251.js + test/script/basic/NASHORN-252.js + test/script/basic/NASHORN-253.js + test/script/basic/NASHORN-256.js + test/script/basic/NASHORN-258.js + test/script/basic/NASHORN-258.js.EXPECTED + test/script/basic/NASHORN-26.js + test/script/basic/NASHORN-26.js.EXPECTED + test/script/basic/NASHORN-260.js + test/script/basic/NASHORN-261.js + test/script/basic/NASHORN-262.js + test/script/basic/NASHORN-263.js + test/script/basic/NASHORN-264.js + test/script/basic/NASHORN-265.js + test/script/basic/NASHORN-265.js.EXPECTED + test/script/basic/NASHORN-266.js + test/script/basic/NASHORN-269.js + test/script/basic/NASHORN-27.js + test/script/basic/NASHORN-27.js.EXPECTED + test/script/basic/NASHORN-270.js + test/script/basic/NASHORN-271.js + test/script/basic/NASHORN-275.js + test/script/basic/NASHORN-276.js + test/script/basic/NASHORN-277.js + test/script/basic/NASHORN-278.js + test/script/basic/NASHORN-28.js + test/script/basic/NASHORN-28.js.EXPECTED + test/script/basic/NASHORN-281.js + test/script/basic/NASHORN-284.js + test/script/basic/NASHORN-284.js.EXPECTED + test/script/basic/NASHORN-285.js + test/script/basic/NASHORN-285.js.EXPECTED + test/script/basic/NASHORN-288.js + test/script/basic/NASHORN-29.js + test/script/basic/NASHORN-29.js.EXPECTED + test/script/basic/NASHORN-293.js + test/script/basic/NASHORN-293.js.EXPECTED + test/script/basic/NASHORN-294.js + test/script/basic/NASHORN-296.js + test/script/basic/NASHORN-297.js + test/script/basic/NASHORN-30.js + test/script/basic/NASHORN-30.js.EXPECTED + test/script/basic/NASHORN-300.js + test/script/basic/NASHORN-301.js + test/script/basic/NASHORN-301.js.EXPECTED + test/script/basic/NASHORN-304.js + test/script/basic/NASHORN-310.js + test/script/basic/NASHORN-310.js.EXPECTED + test/script/basic/NASHORN-318.js + test/script/basic/NASHORN-318.js.EXPECTED + test/script/basic/NASHORN-32.js + test/script/basic/NASHORN-32.js.EXPECTED + test/script/basic/NASHORN-321.js + test/script/basic/NASHORN-321.js.EXPECTED + test/script/basic/NASHORN-323.js + test/script/basic/NASHORN-323.js.EXPECTED + test/script/basic/NASHORN-324.js + test/script/basic/NASHORN-33.js + test/script/basic/NASHORN-33.js.EXPECTED + test/script/basic/NASHORN-331.js + test/script/basic/NASHORN-331.js.EXPECTED + test/script/basic/NASHORN-337.js + test/script/basic/NASHORN-337.js.EXPECTED + test/script/basic/NASHORN-34.js + test/script/basic/NASHORN-34.js.EXPECTED + test/script/basic/NASHORN-340.js + test/script/basic/NASHORN-340.js.EXPECTED + test/script/basic/NASHORN-349.js + test/script/basic/NASHORN-354.js + test/script/basic/NASHORN-354.js.EXPECTED + test/script/basic/NASHORN-355.js + test/script/basic/NASHORN-355.js.EXPECTED + test/script/basic/NASHORN-36.js + test/script/basic/NASHORN-36.js.EXPECTED + test/script/basic/NASHORN-365.js + test/script/basic/NASHORN-366.js + test/script/basic/NASHORN-366.js.EXPECTED + test/script/basic/NASHORN-368.js + test/script/basic/NASHORN-368.js.EXPECTED + test/script/basic/NASHORN-37.js + test/script/basic/NASHORN-37.js.EXPECTED + test/script/basic/NASHORN-375.js + test/script/basic/NASHORN-376.js + test/script/basic/NASHORN-377.js + test/script/basic/NASHORN-377.js.EXPECTED + test/script/basic/NASHORN-378.js + test/script/basic/NASHORN-38.js + test/script/basic/NASHORN-38.js.EXPECTED + test/script/basic/NASHORN-380.js + test/script/basic/NASHORN-380.js.EXPECTED + test/script/basic/NASHORN-381.js + test/script/basic/NASHORN-382.js + test/script/basic/NASHORN-383.js + test/script/basic/NASHORN-384.js + test/script/basic/NASHORN-384.js.EXPECTED + test/script/basic/NASHORN-385.js + test/script/basic/NASHORN-385.js.EXPECTED + test/script/basic/NASHORN-389.js + test/script/basic/NASHORN-389.js.EXPECTED + test/script/basic/NASHORN-393.js + test/script/basic/NASHORN-393.js.EXPECTED + test/script/basic/NASHORN-394.js + test/script/basic/NASHORN-394.js.EXPECTED + test/script/basic/NASHORN-396.js + test/script/basic/NASHORN-397.js + test/script/basic/NASHORN-398.js + test/script/basic/NASHORN-40.js + test/script/basic/NASHORN-40.js.EXPECTED + test/script/basic/NASHORN-400.js + test/script/basic/NASHORN-400.js.EXPECTED + test/script/basic/NASHORN-401.js + test/script/basic/NASHORN-401.js.EXPECTED + test/script/basic/NASHORN-402.js + test/script/basic/NASHORN-402.js.EXPECTED + test/script/basic/NASHORN-404.js + test/script/basic/NASHORN-405.js + test/script/basic/NASHORN-405.js.EXPECTED + test/script/basic/NASHORN-406.js + test/script/basic/NASHORN-408.js + test/script/basic/NASHORN-408.js.EXPECTED + test/script/basic/NASHORN-415.js + test/script/basic/NASHORN-415.js.EXPECTED + test/script/basic/NASHORN-416.js + test/script/basic/NASHORN-417.js + test/script/basic/NASHORN-418.js + test/script/basic/NASHORN-420.js + test/script/basic/NASHORN-421.js + test/script/basic/NASHORN-423.js + test/script/basic/NASHORN-423.js.EXPECTED + test/script/basic/NASHORN-423a.js + test/script/basic/NASHORN-424.js + test/script/basic/NASHORN-424.js.EXPECTED + test/script/basic/NASHORN-425.js + test/script/basic/NASHORN-425.js.EXPECTED + test/script/basic/NASHORN-426.js + test/script/basic/NASHORN-427.js + test/script/basic/NASHORN-428.js + test/script/basic/NASHORN-429.js + test/script/basic/NASHORN-432.js + test/script/basic/NASHORN-433.js + test/script/basic/NASHORN-434.js + test/script/basic/NASHORN-435.js + test/script/basic/NASHORN-437.js + test/script/basic/NASHORN-44.js + test/script/basic/NASHORN-44.js.EXPECTED + test/script/basic/NASHORN-441.js + test/script/basic/NASHORN-441.js.EXPECTED + test/script/basic/NASHORN-442.js + test/script/basic/NASHORN-443.js + test/script/basic/NASHORN-444.js + test/script/basic/NASHORN-444.js.EXPECTED + test/script/basic/NASHORN-445.js + test/script/basic/NASHORN-446.js + test/script/basic/NASHORN-447.js + test/script/basic/NASHORN-448.js + test/script/basic/NASHORN-449.js + test/script/basic/NASHORN-449.js.EXPECTED + test/script/basic/NASHORN-45.js + test/script/basic/NASHORN-45.js.EXPECTED + test/script/basic/NASHORN-450.js + test/script/basic/NASHORN-452.js + test/script/basic/NASHORN-459.js + test/script/basic/NASHORN-46.js + test/script/basic/NASHORN-46.js.EXPECTED + test/script/basic/NASHORN-462.js + test/script/basic/NASHORN-463.js + test/script/basic/NASHORN-468.js + test/script/basic/NASHORN-47.js + test/script/basic/NASHORN-473.js + test/script/basic/NASHORN-473.js.EXPECTED + test/script/basic/NASHORN-474.js + test/script/basic/NASHORN-474.js.EXPECTED + test/script/basic/NASHORN-478.js + test/script/basic/NASHORN-48.js + test/script/basic/NASHORN-48.js.EXPECTED + test/script/basic/NASHORN-481.js + test/script/basic/NASHORN-481.js.EXPECTED + test/script/basic/NASHORN-482.js + test/script/basic/NASHORN-484.js + test/script/basic/NASHORN-484.js.EXPECTED + test/script/basic/NASHORN-486.js + test/script/basic/NASHORN-487.js + test/script/basic/NASHORN-488.js + test/script/basic/NASHORN-49.js + test/script/basic/NASHORN-49.js.EXPECTED + test/script/basic/NASHORN-490.js + test/script/basic/NASHORN-494.js + test/script/basic/NASHORN-497.js + test/script/basic/NASHORN-498.js + test/script/basic/NASHORN-499.js + test/script/basic/NASHORN-50.js + test/script/basic/NASHORN-50.js.EXPECTED + test/script/basic/NASHORN-500.js + test/script/basic/NASHORN-503.js + test/script/basic/NASHORN-503.js.EXPECTED + test/script/basic/NASHORN-51.js + test/script/basic/NASHORN-51.js.EXPECTED + test/script/basic/NASHORN-511.js + test/script/basic/NASHORN-515.js + test/script/basic/NASHORN-515.js.EXPECTED + test/script/basic/NASHORN-516.js + test/script/basic/NASHORN-52.js + test/script/basic/NASHORN-534.js + test/script/basic/NASHORN-534.js.EXPECTED + test/script/basic/NASHORN-535.js + test/script/basic/NASHORN-535.js.EXPECTED + test/script/basic/NASHORN-544.js + test/script/basic/NASHORN-55.js + test/script/basic/NASHORN-554.js + test/script/basic/NASHORN-554.js.EXPECTED + test/script/basic/NASHORN-556.js + test/script/basic/NASHORN-556.js.EXPECTED + test/script/basic/NASHORN-56.js + test/script/basic/NASHORN-56.js.EXPECTED + test/script/basic/NASHORN-562.js + test/script/basic/NASHORN-565.js + test/script/basic/NASHORN-565.js.EXPECTED + test/script/basic/NASHORN-575.js + test/script/basic/NASHORN-575.js.EXPECTED + test/script/basic/NASHORN-58.js + test/script/basic/NASHORN-58.js.EXPECTED + test/script/basic/NASHORN-59.js + test/script/basic/NASHORN-59.js.EXPECTED + test/script/basic/NASHORN-592.js + test/script/basic/NASHORN-592.js.EXPECTED + test/script/basic/NASHORN-597.js + test/script/basic/NASHORN-597.js.EXPECTED + test/script/basic/NASHORN-60.js + test/script/basic/NASHORN-60.js.EXPECTED + test/script/basic/NASHORN-609.js + test/script/basic/NASHORN-609.js.EXPECTED + test/script/basic/NASHORN-61.js + test/script/basic/NASHORN-61.js.EXPECTED + test/script/basic/NASHORN-62.js + test/script/basic/NASHORN-62.js.EXPECTED + test/script/basic/NASHORN-620.js + test/script/basic/NASHORN-620.js.EXPECTED + test/script/basic/NASHORN-623.js + test/script/basic/NASHORN-623.js.EXPECTED + test/script/basic/NASHORN-627.js + test/script/basic/NASHORN-627.js.EXPECTED + test/script/basic/NASHORN-63.js + test/script/basic/NASHORN-631.js.EXPECTED + test/script/basic/NASHORN-637.js + test/script/basic/NASHORN-637.js.EXPECTED + test/script/basic/NASHORN-638.js + test/script/basic/NASHORN-638.js.EXPECTED + test/script/basic/NASHORN-639.js + test/script/basic/NASHORN-64.js + test/script/basic/NASHORN-642.js + test/script/basic/NASHORN-642.js.EXPECTED + test/script/basic/NASHORN-646.js + test/script/basic/NASHORN-653.js + test/script/basic/NASHORN-658.js + test/script/basic/NASHORN-659.js + test/script/basic/NASHORN-66.js + test/script/basic/NASHORN-66.js.EXPECTED + test/script/basic/NASHORN-664.js + test/script/basic/NASHORN-665.js + test/script/basic/NASHORN-67.js + test/script/basic/NASHORN-67.js.EXPECTED + test/script/basic/NASHORN-678.js + test/script/basic/NASHORN-68.js + test/script/basic/NASHORN-68.js.EXPECTED + test/script/basic/NASHORN-689.js + test/script/basic/NASHORN-689.js.EXPECTED + test/script/basic/NASHORN-69.js + test/script/basic/NASHORN-69.js.EXPECTED + test/script/basic/NASHORN-691.js + test/script/basic/NASHORN-691.js.EXPECTED + test/script/basic/NASHORN-694.js + test/script/basic/NASHORN-694.js.EXPECTED + test/script/basic/NASHORN-697.js + test/script/basic/NASHORN-703.js + test/script/basic/NASHORN-703.js.EXPECTED + test/script/basic/NASHORN-703a.js + test/script/basic/NASHORN-703a.js.EXPECTED + test/script/basic/NASHORN-705.js + test/script/basic/NASHORN-71.js + test/script/basic/NASHORN-71.js.EXPECTED + test/script/basic/NASHORN-710.js + test/script/basic/NASHORN-711.js + test/script/basic/NASHORN-711.js.EXPECTED + test/script/basic/NASHORN-72.js + test/script/basic/NASHORN-72.js.EXPECTED + test/script/basic/NASHORN-722.js + test/script/basic/NASHORN-73.js + test/script/basic/NASHORN-73.js.EXPECTED + test/script/basic/NASHORN-737.js + test/script/basic/NASHORN-737.js.EXPECTED + test/script/basic/NASHORN-74.js + test/script/basic/NASHORN-74.js.EXPECTED + test/script/basic/NASHORN-740.js + test/script/basic/NASHORN-740.js.EXPECTED + test/script/basic/NASHORN-75.js + test/script/basic/NASHORN-75.js.EXPECTED + test/script/basic/NASHORN-758.js + test/script/basic/NASHORN-759.js + test/script/basic/NASHORN-759.js.EXPECTED + test/script/basic/NASHORN-760.js + test/script/basic/NASHORN-768.js + test/script/basic/NASHORN-778.js + test/script/basic/NASHORN-78.js + test/script/basic/NASHORN-79.js + test/script/basic/NASHORN-79.js.EXPECTED + test/script/basic/NASHORN-792.js + test/script/basic/NASHORN-792.js.EXPECTED + test/script/basic/NASHORN-80.js + test/script/basic/NASHORN-80.js.EXPECTED + test/script/basic/NASHORN-81.js + test/script/basic/NASHORN-833.js + test/script/basic/NASHORN-833.js.EXPECTED + test/script/basic/NASHORN-85.js + test/script/basic/NASHORN-85.js.EXPECTED + test/script/basic/NASHORN-86.js + test/script/basic/NASHORN-87.js + test/script/basic/NASHORN-89.js + test/script/basic/NASHORN-90.js + test/script/basic/NASHORN-90.js.EXPECTED + test/script/basic/NASHORN-91.js + test/script/basic/NASHORN-91.js.EXPECTED + test/script/basic/NASHORN-92.js + test/script/basic/NASHORN-92.js.EXPECTED + test/script/basic/NASHORN-93.js + test/script/basic/NASHORN-95.js + test/script/basic/NASHORN-95.js.EXPECTED + test/script/basic/NASHORN-96.js + test/script/basic/NASHORN-96.js.EXPECTED + test/script/basic/NASHORN-97.js + test/script/basic/NASHORN-98.js + test/script/basic/NASHORN-98.js.EXPECTED + test/script/basic/NASHORN-99.js + test/script/basic/addition.js + test/script/basic/addition.js.EXPECTED + test/script/basic/allgettersetters.js + test/script/basic/andor.js + test/script/basic/andor.js.EXPECTED + test/script/basic/anonrecur.js + test/script/basic/anonrecur.js.EXPECTED + test/script/basic/applycall.js + test/script/basic/applycall.js.EXPECTED + test/script/basic/args.js + test/script/basic/args.js.EXPECTED + test/script/basic/arity.js + test/script/basic/arity.js.EXPECTED + test/script/basic/arrayprotoclass.js + test/script/basic/arrayprotoclass.js.EXPECTED + test/script/basic/arrays.js + test/script/basic/arrays.js.EXPECTED + test/script/basic/arrays2.js + test/script/basic/arrays2.js.EXPECTED + test/script/basic/arraysIntKey.js + test/script/basic/arraysIntKey.js.EXPECTED + test/script/basic/arrayset.js + test/script/basic/arrayset.js.EXPECTED + test/script/basic/arrayundefined.js + test/script/basic/arrayundefined.js.EXPECTED + test/script/basic/assign.js + test/script/basic/assign.js.EXPECTED + test/script/basic/bitwise_and.js + test/script/basic/bitwise_and.js.EXPECTED + test/script/basic/booleangetter.js + test/script/basic/booleangetter.js.EXPECTED + test/script/basic/builtin.js + test/script/basic/builtin.js.EXPECTED + test/script/basic/builtin_assign.js + test/script/basic/builtin_assign.js.EXPECTED + test/script/basic/builtinchain.js + test/script/basic/builtinchain.js.EXPECTED + test/script/basic/calllink.js + test/script/basic/calllink.js.EXPECTED + test/script/basic/closure.js + test/script/basic/closure.js.EXPECTED + test/script/basic/commandargs.js + test/script/basic/commandargs.js.EXPECTED + test/script/basic/compile-octane.js + test/script/basic/compile-octane.js.EXPECTED + test/script/basic/condassign.js + test/script/basic/condassign.js.EXPECTED + test/script/basic/construct.js + test/script/basic/construct.js.EXPECTED + test/script/basic/constructorname.js + test/script/basic/constructorname.js.EXPECTED + test/script/basic/date.js + test/script/basic/date.js.EXPECTED + test/script/basic/dateparse.js + test/script/basic/dateparse.js.EXPECTED + test/script/basic/decinc.js + test/script/basic/decinc.js.EXPECTED + test/script/basic/delete.js + test/script/basic/delete.js.EXPECTED + test/script/basic/delete2.js + test/script/basic/delete2.js.EXPECTED + test/script/basic/dotpropname.js + test/script/basic/dotpropname.js.EXPECTED + test/script/basic/doublecache.js + test/script/basic/doublecache.js.EXPECTED + test/script/basic/enumeration.js + test/script/basic/enumeration.js.EXPECTED + test/script/basic/errors.js + test/script/basic/errors.js.EXPECTED + test/script/basic/errorstack.js + test/script/basic/errorstack.js.EXPECTED + test/script/basic/eval.js + test/script/basic/eval.js.EXPECTED + test/script/basic/evalreturn.js + test/script/basic/evalreturn.js.EXPECTED + test/script/basic/exprclosure.js + test/script/basic/exprclosure.js.EXPECTED + test/script/basic/extensibility.js + test/script/basic/extensibility.js.EXPECTED + test/script/basic/fileline.js + test/script/basic/fileline.js.EXPECTED + test/script/basic/finally-catchalls.js + test/script/basic/finally-catchalls.js.EXPECTED + test/script/basic/finallyreturn.js + test/script/basic/finallyreturn.js.EXPECTED + test/script/basic/forin.js + test/script/basic/forin.js.EXPECTED + test/script/basic/forin2.js + test/script/basic/forin2.js.EXPECTED + test/script/basic/funcarray.js + test/script/basic/funcarray.js.EXPECTED + test/script/basic/funcbind.js + test/script/basic/funcbind.js.EXPECTED + test/script/basic/funcconstructor.js + test/script/basic/funcconstructor.js.EXPECTED + test/script/basic/getclassname.js + test/script/basic/getenv.js + test/script/basic/getenv.js.EXPECTED + test/script/basic/getter_callsite.js + test/script/basic/getter_callsite.js.EXPECTED + test/script/basic/gettercalls.js + test/script/basic/gettercalls.js.EXPECTED + test/script/basic/getterfunc.js + test/script/basic/getterfunc.js.EXPECTED + test/script/basic/gettersetter.js + test/script/basic/gettersetter.js.EXPECTED + test/script/basic/globalaccess.js + test/script/basic/globalaccess.js.EXPECTED + test/script/basic/globals.js + test/script/basic/globals.js.EXPECTED + test/script/basic/globalscope.js + test/script/basic/globalscope.js.EXPECTED + test/script/basic/hello.js + test/script/basic/hello.js.EXPECTED + test/script/basic/herestr_operator.js + test/script/basic/herestr_operator.js.EXPECTED + test/script/basic/illegaljavaname.js + test/script/basic/illegaljavaname.js.EXPECTED + test/script/basic/incheck.js + test/script/basic/incheck.js.EXPECTED + test/script/basic/indexedcall.js + test/script/basic/indexedcall.js.EXPECTED + test/script/basic/info.js + test/script/basic/info.js.EXPECTED + test/script/basic/inherited_nonwritable.js + test/script/basic/instanceof.js + test/script/basic/instanceof.js.EXPECTED + test/script/basic/instanceof2.js + test/script/basic/instanceof2.js.EXPECTED + test/script/basic/interfaces.js + test/script/basic/interfaces.js.EXPECTED + test/script/basic/iterator.js + test/script/basic/iterator.js.EXPECTED + test/script/basic/java.js + test/script/basic/java.js.EXPECTED + test/script/basic/javaarray.js + test/script/basic/javaarray.js.EXPECTED + test/script/basic/javaarrayconversion.js + test/script/basic/javaarrayconversion.js.EXPECTED + test/script/basic/javaexceptions.js + test/script/basic/javaexceptions.js.EXPECTED + test/script/basic/javaimporter.js + test/script/basic/javaimporter.js.EXPECTED + test/script/basic/javainnerclasses.js + test/script/basic/javainnerclasses.js.EXPECTED + test/script/basic/javasigcall.js + test/script/basic/javasigcall.js.EXPECTED + test/script/basic/jquery.js + test/script/basic/jquery.js.EXPECTED + test/script/basic/jsadapter.js + test/script/basic/jsadapter.js.EXPECTED + test/script/basic/jsadapterlink.js + test/script/basic/jsadapterlink.js.EXPECTED + test/script/basic/json.js + test/script/basic/json.js.EXPECTED + test/script/basic/list.js + test/script/basic/list.js.EXPECTED + test/script/basic/literal.js + test/script/basic/literal.js.EXPECTED + test/script/basic/load.js + test/script/basic/load.js.EXPECTED + test/script/basic/loadedfile.js + test/script/basic/localundef.js + test/script/basic/localundef.js.EXPECTED + test/script/basic/map.js + test/script/basic/map.js.EXPECTED + test/script/basic/math.js + test/script/basic/math.js.EXPECTED + test/script/basic/minuszero.js + test/script/basic/minuszero.js.EXPECTED + test/script/basic/module.js + test/script/basic/moduleload.js + test/script/basic/moduleload.js.EXPECTED + test/script/basic/nashorn2.js + test/script/basic/nashorn2.js.EXPECTED + test/script/basic/natives.js + test/script/basic/natives.js.EXPECTED + test/script/basic/new.js + test/script/basic/new.js.EXPECTED + test/script/basic/newexpr.js + test/script/basic/newexpr.js.EXPECTED + test/script/basic/newnew.js + test/script/basic/newnew.js.EXPECTED + test/script/basic/nonconstructors.js + test/script/basic/nonconstructors.js.EXPECTED + test/script/basic/nosuchmethod.js + test/script/basic/nosuchmethod.js.EXPECTED + test/script/basic/nosuchproperty.js + test/script/basic/nosuchproperty.js.EXPECTED + test/script/basic/number.js + test/script/basic/number.js.EXPECTED + test/script/basic/numberstring.js + test/script/basic/numberstring.js.EXPECTED + test/script/basic/objectprops.js + test/script/basic/objectprops.js.EXPECTED + test/script/basic/objects.js + test/script/basic/objects.js.EXPECTED + test/script/basic/options.js + test/script/basic/options.js.EXPECTED + test/script/basic/propchange.js + test/script/basic/propchange.js.EXPECTED + test/script/basic/propertycheck.js + test/script/basic/propertycheck.js.EXPECTED + test/script/basic/proto.js.EXPECTED + test/script/basic/prototype.js + test/script/basic/prototype.js.EXPECTED + test/script/basic/pushpull.js + test/script/basic/pushpull.js.EXPECTED + test/script/basic/regex.js + test/script/basic/regex.js.EXPECTED + test/script/basic/regexp_flags.js + test/script/basic/run-octane.js + test/script/basic/runsunspider.js + test/script/basic/runsunspider.js.EXPECTED + test/script/basic/samfunc.js + test/script/basic/samfunc.js.EXPECTED + test/script/basic/scripting.js + test/script/basic/scripting.js.EXPECTED + test/script/basic/sealfreeze.js + test/script/basic/sealfreeze.js.EXPECTED + test/script/basic/setlength.js + test/script/basic/setlength.js.EXPECTED + test/script/basic/stdin.js + test/script/basic/stdin.js.EXPECTED + test/script/basic/strings.js + test/script/basic/strings.js.EXPECTED + test/script/basic/throws.js + test/script/basic/throws.js.EXPECTED + test/script/basic/tosource.js + test/script/basic/tosource.js.EXPECTED + test/script/basic/tostring.js + test/script/basic/tostring.js.EXPECTED + test/script/basic/try.js + test/script/basic/try.js.EXPECTED + test/script/basic/trybreakcont.js + test/script/basic/trybreakcont.js.EXPECTED + test/script/basic/trycatch.js + test/script/basic/trycatch.js.EXPECTED + test/script/basic/trycatchfor.js + test/script/basic/trycatchfor.js.EXPECTED + test/script/basic/tryfinallyreturn.js + test/script/basic/tryfinallyreturn.js.EXPECTED + test/script/basic/tryforbreak.js + test/script/basic/tryforbreak.js.EXPECTED + test/script/basic/typechange.js + test/script/basic/typechange.js.EXPECTED + test/script/basic/typeof.js + test/script/basic/typeof.js.EXPECTED + test/script/basic/typeof2.js + test/script/basic/typeof2.js.EXPECTED + test/script/basic/undefined.js + test/script/basic/undefined.js.EXPECTED + test/script/basic/underscore.js + test/script/basic/underscore.js.EXPECTED + test/script/basic/varargs.js + test/script/basic/varargs.js.EXPECTED + test/script/basic/void.js + test/script/basic/void.js.EXPECTED + test/script/basic/with.js + test/script/basic/with.js.EXPECTED + test/script/basic/withprimitive.js + test/script/basic/withprimitive.js.EXPECTED + test/script/basic/writable_relink.js + test/script/basic/writable_relink.js.EXPECTED + test/script/basic/xmlStrings.js.EXPECTED + test/script/basic/xorassign.js + test/script/basic/xorassign.js.EXPECTED + test/script/basic/yui.js + test/script/basic/yui.js.EXPECTED + test/script/error/NASHORN-154/README + test/script/error/NASHORN-154/function_mult_params_in_strict.js + test/script/error/NASHORN-154/function_mult_params_in_strict.js.EXPECTED + test/script/error/NASHORN-154/improper_return_break_continue.js + test/script/error/NASHORN-154/improper_return_break_continue.js.EXPECTED + test/script/error/NASHORN-154/invalid_lvalue.js + test/script/error/NASHORN-154/invalid_lvalue.js.EXPECTED + test/script/error/NASHORN-154/literal_data_and_accessor.js + test/script/error/NASHORN-154/literal_data_and_accessor.js.EXPECTED + test/script/error/NASHORN-154/literal_mult_getters.js + test/script/error/NASHORN-154/literal_mult_getters.js.EXPECTED + test/script/error/NASHORN-154/literal_mult_prop_in_strict.js + test/script/error/NASHORN-154/literal_mult_prop_in_strict.js.EXPECTED + test/script/error/NASHORN-154/with_in_strict.js + test/script/error/NASHORN-154/with_in_strict.js.EXPECTED + test/script/error/NASHORN-214.js + test/script/error/NASHORN-214.js.EXPECTED + test/script/error/NASHORN-35.js + test/script/error/NASHORN-35.js.EXPECTED + test/script/error/NASHORN-39.js + test/script/error/NASHORN-39.js.EXPECTED + test/script/error/NASHORN-568.js + test/script/error/NASHORN-568.js.EXPECTED + test/script/error/NASHORN-57.js + test/script/error/NASHORN-57.js.EXPECTED + test/script/error/NASHORN-668.js + test/script/error/NASHORN-668.js.EXPECTED + test/script/error/quotemissing.js + test/script/error/quotemissing.js.EXPECTED + test/script/error/strictmode.js + test/script/error/strictmode.js.EXPECTED + test/script/representations/NASHORN-592a.js + test/script/sandbox/NASHORN-525.js + test/script/sandbox/README + test/script/sandbox/classloader.js + test/script/sandbox/classloader.js.EXPECTED + test/script/sandbox/doprivileged.js + test/script/sandbox/doprivileged.js.EXPECTED + test/script/sandbox/exit.js + test/script/sandbox/exit.js.EXPECTED + test/script/sandbox/file.js + test/script/sandbox/file.js.EXPECTED + test/script/sandbox/javaextend.js + test/script/sandbox/javaextend.js.EXPECTED + test/script/sandbox/loadLibrary.js + test/script/sandbox/net.js + test/script/sandbox/net.js.EXPECTED + test/script/sandbox/property.js + test/script/sandbox/property.js.EXPECTED + test/script/sandbox/reflection.js + test/script/sandbox/reflection.js.EXPECTED + test/script/sandbox/runnable.js + test/script/sandbox/runnable.js.EXPECTED + test/script/sandbox/unsafe.js + test/script/sandbox/unsafe.js.EXPECTED + test/script/test262.js + test/script/test262_single.js + test/src/UnnamedPackageTestCallback.java + test/src/jdk/nashorn/api/scripting/MultipleEngineTest.java + test/src/jdk/nashorn/api/scripting/ScriptEngineTest.java + test/src/jdk/nashorn/api/scripting/Window.java + test/src/jdk/nashorn/api/scripting/WindowEventHandler.java + test/src/jdk/nashorn/internal/access/BooleanAccessTest.java + test/src/jdk/nashorn/internal/access/MethodAccessTest.java + test/src/jdk/nashorn/internal/access/NumberAccessTest.java + test/src/jdk/nashorn/internal/access/NumberBoxingTest.java + test/src/jdk/nashorn/internal/access/ObjectAccessTest.java + test/src/jdk/nashorn/internal/access/Person.java + test/src/jdk/nashorn/internal/access/SharedObject.java + test/src/jdk/nashorn/internal/access/StringAccessTest.java + test/src/jdk/nashorn/internal/codegen/CompilerTest.java + test/src/jdk/nashorn/internal/parser/ParserTest.java + test/src/jdk/nashorn/internal/performance/AuroraWrapper.java + test/src/jdk/nashorn/internal/performance/OctaneTest.java + test/src/jdk/nashorn/internal/performance/PerformanceWrapper.java + test/src/jdk/nashorn/internal/performance/SplayTest.java + test/src/jdk/nashorn/internal/runtime/ContextTest.java + test/src/jdk/nashorn/internal/runtime/JSTypeTest.java + test/src/jdk/nashorn/internal/runtime/Nashorn401TestSubject.java + test/src/jdk/nashorn/internal/test/framework/AbstractScriptRunnable.java + test/src/jdk/nashorn/internal/test/framework/JSJUnitReportReporter.java + test/src/jdk/nashorn/internal/test/framework/OrphanTestFinder.java + test/src/jdk/nashorn/internal/test/framework/ParallelTestRunner.java + test/src/jdk/nashorn/internal/test/framework/ScriptEvaluator.java + test/src/jdk/nashorn/internal/test/framework/ScriptRunnable.java + test/src/jdk/nashorn/internal/test/framework/ScriptTest.java + test/src/jdk/nashorn/internal/test/framework/SeparateContextEvaluator.java + test/src/jdk/nashorn/internal/test/framework/SharedContextEvaluator.java + test/src/jdk/nashorn/internal/test/framework/TestConfig.java + test/src/jdk/nashorn/internal/test/framework/TestFinder.java + test/src/jdk/nashorn/internal/test/framework/TestHelper.java + test/src/jdk/nashorn/internal/test/framework/TestReorderInterceptor.java + test/src/jdk/nashorn/internal/test/models/ConstructorWithArgument.java + test/src/jdk/nashorn/internal/test/models/FinalClass.java + test/src/jdk/nashorn/internal/test/models/NoAccessibleConstructorClass.java + test/src/jdk/nashorn/internal/test/models/NonPublicClass.java + test/src/jdk/nashorn/internal/test/models/OuterClass.java + test/src/jdk/nashorn/internal/test/models/OverloadedSam.java + test/src/jdk/nashorn/internal/test/models/OverrideObject.java Changeset: b4b05457b8b2 Author: jlaskey Date: 2012-12-22 08:49 -0400 URL: http://hg.openjdk.java.net/jdk8/tl/nashorn/rev/b4b05457b8b2 8005440: Improve .hgignore filtering for Nashorn repo Reviewed-by: sundar Contributed-by: james.laskey at oracle.com ! .hgignore Changeset: 3a7e1580bc0a Author: jlaskey Date: 2013-01-04 09:58 -0400 URL: http://hg.openjdk.java.net/jdk8/tl/nashorn/rev/3a7e1580bc0a 8005666: Add webrev to .hgignore Reviewed-by: sundar Contributed-by: james.laskey at oracle.com ! .hgignore Changeset: c6e194450af7 Author: jlaskey Date: 2013-01-04 09:58 -0400 URL: http://hg.openjdk.java.net/jdk8/tl/nashorn/rev/c6e194450af7 8005665: JavaDoc should only display public interfaces Reviewed-by: sundar Contributed-by: james.laskey at oracle.com ! make/build.xml Changeset: 5a1b0714df0e Author: jlaskey Date: 2013-01-04 09:58 -0400 URL: http://hg.openjdk.java.net/jdk8/tl/nashorn/rev/5a1b0714df0e 8005663: Update copyright year to 2013 Reviewed-by: sundar Contributed-by: james.laskey at oracle.com ! bin/checkintest.sh ! bin/fixorphantests.sh ! bin/fixwhitespace.sh ! bin/jjs ! bin/jjs.bat ! bin/jjssecure ! bin/jjssecure.bat ! bin/nashorn ! bin/nashorn.bat ! bin/rm-non-tracked.sh ! bin/verbose_octane.bat ! bin/verbose_octane.sh ! buildtools/nasgen/build.xml ! buildtools/nasgen/nasgen.iml ! buildtools/nasgen/project.properties ! buildtools/nasgen/src/jdk/nashorn/internal/tools/nasgen/ClassGenerator.java ! buildtools/nasgen/src/jdk/nashorn/internal/tools/nasgen/ConstructorGenerator.java ! buildtools/nasgen/src/jdk/nashorn/internal/tools/nasgen/Main.java ! buildtools/nasgen/src/jdk/nashorn/internal/tools/nasgen/MemberInfo.java ! buildtools/nasgen/src/jdk/nashorn/internal/tools/nasgen/MethodGenerator.java ! buildtools/nasgen/src/jdk/nashorn/internal/tools/nasgen/NullVisitor.java ! buildtools/nasgen/src/jdk/nashorn/internal/tools/nasgen/PrototypeGenerator.java ! buildtools/nasgen/src/jdk/nashorn/internal/tools/nasgen/ScriptClassInfo.java ! buildtools/nasgen/src/jdk/nashorn/internal/tools/nasgen/ScriptClassInfoCollector.java ! buildtools/nasgen/src/jdk/nashorn/internal/tools/nasgen/ScriptClassInstrumentor.java ! buildtools/nasgen/src/jdk/nashorn/internal/tools/nasgen/StringConstants.java ! docs/genshelldoc.js ! make/Makefile ! make/build-benchmark.xml ! make/build-nasgen.xml ! make/build.xml ! make/nbproject/ide-file-targets.xml ! make/nbproject/ide-targets.xml ! make/nbproject/jdk.xml ! make/nbproject/nbjdk.properties ! make/nbproject/nbjdk.xml ! make/nbproject/project.xml ! make/project.properties ! samples/counters.js ! samples/letter.js ! samples/parser.js ! samples/shell.js ! samples/test.js ! samples/uniq.js ! src/META-INF/services/javax.script.ScriptEngineFactory ! src/jdk/nashorn/api/scripting/NashornException.java ! src/jdk/nashorn/api/scripting/NashornScriptEngine.java ! src/jdk/nashorn/api/scripting/NashornScriptEngineFactory.java ! src/jdk/nashorn/api/scripting/ScriptObjectMirror.java ! src/jdk/nashorn/api/scripting/package-info.java ! src/jdk/nashorn/api/scripting/resources/engine.js ! src/jdk/nashorn/internal/codegen/AccessSpecializer.java ! src/jdk/nashorn/internal/codegen/BranchOptimizer.java ! src/jdk/nashorn/internal/codegen/ClassEmitter.java ! src/jdk/nashorn/internal/codegen/CodeGenerator.java ! src/jdk/nashorn/internal/codegen/CompileUnit.java ! src/jdk/nashorn/internal/codegen/Compiler.java ! src/jdk/nashorn/internal/codegen/CompilerConstants.java ! src/jdk/nashorn/internal/codegen/ConstantData.java ! src/jdk/nashorn/internal/codegen/Emitter.java ! src/jdk/nashorn/internal/codegen/Frame.java ! src/jdk/nashorn/internal/codegen/FunctionSignature.java ! src/jdk/nashorn/internal/codegen/Lower.java ! src/jdk/nashorn/internal/codegen/MethodEmitter.java ! src/jdk/nashorn/internal/codegen/Namespace.java ! src/jdk/nashorn/internal/codegen/RuntimeCallSite.java ! src/jdk/nashorn/internal/codegen/SharedScopeCall.java ! src/jdk/nashorn/internal/codegen/Splitter.java ! src/jdk/nashorn/internal/codegen/Transform.java ! src/jdk/nashorn/internal/codegen/WeighNodes.java ! src/jdk/nashorn/internal/codegen/objects/FieldObjectCreator.java ! src/jdk/nashorn/internal/codegen/objects/FunctionObjectCreator.java ! src/jdk/nashorn/internal/codegen/objects/MapCreator.java ! src/jdk/nashorn/internal/codegen/objects/ObjectClassGenerator.java ! src/jdk/nashorn/internal/codegen/objects/ObjectCreator.java ! src/jdk/nashorn/internal/codegen/objects/ObjectMapCreator.java ! src/jdk/nashorn/internal/codegen/types/ArrayType.java ! src/jdk/nashorn/internal/codegen/types/BitwiseType.java ! src/jdk/nashorn/internal/codegen/types/BooleanType.java ! src/jdk/nashorn/internal/codegen/types/BytecodeArrayOps.java ! src/jdk/nashorn/internal/codegen/types/BytecodeBitwiseOps.java ! src/jdk/nashorn/internal/codegen/types/BytecodeNumericOps.java ! src/jdk/nashorn/internal/codegen/types/BytecodeOps.java ! src/jdk/nashorn/internal/codegen/types/IntType.java ! src/jdk/nashorn/internal/codegen/types/LongType.java ! src/jdk/nashorn/internal/codegen/types/NumberType.java ! src/jdk/nashorn/internal/codegen/types/NumericType.java ! src/jdk/nashorn/internal/codegen/types/ObjectType.java ! src/jdk/nashorn/internal/codegen/types/Type.java ! src/jdk/nashorn/internal/ir/AccessNode.java ! src/jdk/nashorn/internal/ir/Assignment.java ! src/jdk/nashorn/internal/ir/BaseNode.java ! src/jdk/nashorn/internal/ir/BinaryNode.java ! src/jdk/nashorn/internal/ir/Block.java ! src/jdk/nashorn/internal/ir/BreakNode.java ! src/jdk/nashorn/internal/ir/BreakableNode.java ! src/jdk/nashorn/internal/ir/CallNode.java ! src/jdk/nashorn/internal/ir/CaseNode.java ! src/jdk/nashorn/internal/ir/CatchNode.java ! src/jdk/nashorn/internal/ir/ContinueNode.java ! src/jdk/nashorn/internal/ir/DoWhileNode.java ! src/jdk/nashorn/internal/ir/EmptyNode.java ! src/jdk/nashorn/internal/ir/ExecuteNode.java ! src/jdk/nashorn/internal/ir/ForNode.java ! src/jdk/nashorn/internal/ir/FunctionCall.java ! src/jdk/nashorn/internal/ir/FunctionNode.java ! src/jdk/nashorn/internal/ir/IdentNode.java ! src/jdk/nashorn/internal/ir/IfNode.java ! src/jdk/nashorn/internal/ir/IndexNode.java ! src/jdk/nashorn/internal/ir/LabelNode.java ! src/jdk/nashorn/internal/ir/LabeledNode.java ! src/jdk/nashorn/internal/ir/LineNumberNode.java ! src/jdk/nashorn/internal/ir/LiteralNode.java ! src/jdk/nashorn/internal/ir/Location.java ! src/jdk/nashorn/internal/ir/Node.java ! src/jdk/nashorn/internal/ir/ObjectNode.java ! src/jdk/nashorn/internal/ir/PropertyKey.java ! src/jdk/nashorn/internal/ir/PropertyNode.java ! src/jdk/nashorn/internal/ir/ReferenceNode.java ! src/jdk/nashorn/internal/ir/ReturnNode.java ! src/jdk/nashorn/internal/ir/RuntimeNode.java ! src/jdk/nashorn/internal/ir/SplitNode.java ! src/jdk/nashorn/internal/ir/SwitchNode.java ! src/jdk/nashorn/internal/ir/Symbol.java ! src/jdk/nashorn/internal/ir/TernaryNode.java ! src/jdk/nashorn/internal/ir/ThrowNode.java ! src/jdk/nashorn/internal/ir/TryNode.java ! src/jdk/nashorn/internal/ir/TypeOverride.java ! src/jdk/nashorn/internal/ir/UnaryNode.java ! src/jdk/nashorn/internal/ir/VarNode.java ! src/jdk/nashorn/internal/ir/WhileNode.java ! src/jdk/nashorn/internal/ir/WithNode.java ! src/jdk/nashorn/internal/ir/annotations/ChildNode.java ! src/jdk/nashorn/internal/ir/annotations/Ignore.java ! src/jdk/nashorn/internal/ir/annotations/ParentNode.java ! src/jdk/nashorn/internal/ir/annotations/Reference.java ! src/jdk/nashorn/internal/ir/debug/ASTWriter.java ! src/jdk/nashorn/internal/ir/debug/JSONWriter.java ! src/jdk/nashorn/internal/ir/debug/PrintVisitor.java ! src/jdk/nashorn/internal/ir/visitor/NodeOperatorVisitor.java ! src/jdk/nashorn/internal/ir/visitor/NodeVisitor.java ! src/jdk/nashorn/internal/objects/AccessorPropertyDescriptor.java ! src/jdk/nashorn/internal/objects/ArrayBufferView.java ! src/jdk/nashorn/internal/objects/DataPropertyDescriptor.java ! src/jdk/nashorn/internal/objects/DateParser.java ! src/jdk/nashorn/internal/objects/GenericPropertyDescriptor.java ! src/jdk/nashorn/internal/objects/Global.java ! src/jdk/nashorn/internal/objects/NativeArguments.java ! src/jdk/nashorn/internal/objects/NativeArray.java ! src/jdk/nashorn/internal/objects/NativeArrayBuffer.java ! src/jdk/nashorn/internal/objects/NativeBoolean.java ! src/jdk/nashorn/internal/objects/NativeDate.java ! src/jdk/nashorn/internal/objects/NativeDebug.java ! src/jdk/nashorn/internal/objects/NativeError.java ! src/jdk/nashorn/internal/objects/NativeEvalError.java ! src/jdk/nashorn/internal/objects/NativeFloat32Array.java ! src/jdk/nashorn/internal/objects/NativeFloat64Array.java ! src/jdk/nashorn/internal/objects/NativeFunction.java ! src/jdk/nashorn/internal/objects/NativeInt16Array.java ! src/jdk/nashorn/internal/objects/NativeInt32Array.java ! src/jdk/nashorn/internal/objects/NativeInt8Array.java ! src/jdk/nashorn/internal/objects/NativeJSAdapter.java ! src/jdk/nashorn/internal/objects/NativeJSON.java ! src/jdk/nashorn/internal/objects/NativeJava.java ! src/jdk/nashorn/internal/objects/NativeJavaImporter.java ! src/jdk/nashorn/internal/objects/NativeMath.java ! src/jdk/nashorn/internal/objects/NativeNumber.java ! src/jdk/nashorn/internal/objects/NativeObject.java ! src/jdk/nashorn/internal/objects/NativeRangeError.java ! src/jdk/nashorn/internal/objects/NativeReferenceError.java ! src/jdk/nashorn/internal/objects/NativeRegExp.java ! src/jdk/nashorn/internal/objects/NativeRegExpExecResult.java ! src/jdk/nashorn/internal/objects/NativeStrictArguments.java ! src/jdk/nashorn/internal/objects/NativeString.java ! src/jdk/nashorn/internal/objects/NativeSyntaxError.java ! src/jdk/nashorn/internal/objects/NativeTypeError.java ! src/jdk/nashorn/internal/objects/NativeURIError.java ! src/jdk/nashorn/internal/objects/NativeUint16Array.java ! src/jdk/nashorn/internal/objects/NativeUint32Array.java ! src/jdk/nashorn/internal/objects/NativeUint8Array.java ! src/jdk/nashorn/internal/objects/NativeUint8ClampedArray.java ! src/jdk/nashorn/internal/objects/PrototypeObject.java ! src/jdk/nashorn/internal/objects/ScriptFunctionImpl.java ! src/jdk/nashorn/internal/objects/annotations/Attribute.java ! src/jdk/nashorn/internal/objects/annotations/Constructor.java ! src/jdk/nashorn/internal/objects/annotations/Function.java ! src/jdk/nashorn/internal/objects/annotations/Getter.java ! src/jdk/nashorn/internal/objects/annotations/Property.java ! src/jdk/nashorn/internal/objects/annotations/ScriptClass.java ! src/jdk/nashorn/internal/objects/annotations/Setter.java ! src/jdk/nashorn/internal/objects/annotations/SpecializedConstructor.java ! src/jdk/nashorn/internal/objects/annotations/SpecializedFunction.java ! src/jdk/nashorn/internal/objects/annotations/Where.java ! src/jdk/nashorn/internal/objects/package-info.java ! src/jdk/nashorn/internal/parser/AbstractParser.java ! src/jdk/nashorn/internal/parser/JSONParser.java ! src/jdk/nashorn/internal/parser/Lexer.java ! src/jdk/nashorn/internal/parser/Parser.java ! src/jdk/nashorn/internal/parser/RegExp.java ! src/jdk/nashorn/internal/parser/RegExpScanner.java ! src/jdk/nashorn/internal/parser/Scanner.java ! src/jdk/nashorn/internal/parser/Token.java ! src/jdk/nashorn/internal/parser/TokenKind.java ! src/jdk/nashorn/internal/parser/TokenLookup.java ! src/jdk/nashorn/internal/parser/TokenStream.java ! src/jdk/nashorn/internal/parser/TokenType.java ! src/jdk/nashorn/internal/runtime/AccessorProperty.java ! src/jdk/nashorn/internal/runtime/BitVector.java ! src/jdk/nashorn/internal/runtime/CodeInstaller.java ! src/jdk/nashorn/internal/runtime/ConsString.java ! src/jdk/nashorn/internal/runtime/Context.java ! src/jdk/nashorn/internal/runtime/Debug.java ! src/jdk/nashorn/internal/runtime/DebugLogger.java ! src/jdk/nashorn/internal/runtime/DefaultPropertyAccess.java ! src/jdk/nashorn/internal/runtime/ECMAErrors.java ! src/jdk/nashorn/internal/runtime/ECMAException.java ! src/jdk/nashorn/internal/runtime/ErrorManager.java ! src/jdk/nashorn/internal/runtime/FindProperty.java ! src/jdk/nashorn/internal/runtime/FunctionScope.java ! src/jdk/nashorn/internal/runtime/GlobalFunctions.java ! src/jdk/nashorn/internal/runtime/GlobalObject.java ! src/jdk/nashorn/internal/runtime/JSErrorType.java ! src/jdk/nashorn/internal/runtime/JSType.java ! src/jdk/nashorn/internal/runtime/Logging.java ! src/jdk/nashorn/internal/runtime/NashornLoader.java ! src/jdk/nashorn/internal/runtime/NativeJavaPackage.java ! src/jdk/nashorn/internal/runtime/NumberToString.java ! src/jdk/nashorn/internal/runtime/ParserException.java ! src/jdk/nashorn/internal/runtime/Property.java ! src/jdk/nashorn/internal/runtime/PropertyAccess.java ! src/jdk/nashorn/internal/runtime/PropertyDescriptor.java ! src/jdk/nashorn/internal/runtime/PropertyHashMap.java ! src/jdk/nashorn/internal/runtime/PropertyListener.java ! src/jdk/nashorn/internal/runtime/PropertyListenerManager.java ! src/jdk/nashorn/internal/runtime/PropertyMap.java ! src/jdk/nashorn/internal/runtime/QuotedStringTokenizer.java ! src/jdk/nashorn/internal/runtime/RegExpMatch.java ! src/jdk/nashorn/internal/runtime/Scope.java ! src/jdk/nashorn/internal/runtime/ScriptFunction.java ! src/jdk/nashorn/internal/runtime/ScriptLoader.java ! src/jdk/nashorn/internal/runtime/ScriptObject.java ! src/jdk/nashorn/internal/runtime/ScriptRuntime.java ! src/jdk/nashorn/internal/runtime/ScriptingFunctions.java ! src/jdk/nashorn/internal/runtime/Source.java ! src/jdk/nashorn/internal/runtime/SpillProperty.java ! src/jdk/nashorn/internal/runtime/StructureLoader.java ! src/jdk/nashorn/internal/runtime/URIUtils.java ! src/jdk/nashorn/internal/runtime/Undefined.java ! src/jdk/nashorn/internal/runtime/UserAccessorProperty.java ! src/jdk/nashorn/internal/runtime/Version.java ! src/jdk/nashorn/internal/runtime/WithObject.java ! src/jdk/nashorn/internal/runtime/arrays/ArrayData.java ! src/jdk/nashorn/internal/runtime/arrays/ArrayFilter.java ! src/jdk/nashorn/internal/runtime/arrays/ArrayIndex.java ! src/jdk/nashorn/internal/runtime/arrays/ArrayIterator.java ! src/jdk/nashorn/internal/runtime/arrays/ArrayLikeIterator.java ! src/jdk/nashorn/internal/runtime/arrays/DeletedArrayFilter.java ! src/jdk/nashorn/internal/runtime/arrays/DeletedRangeArrayFilter.java ! src/jdk/nashorn/internal/runtime/arrays/EmptyArrayLikeIterator.java ! src/jdk/nashorn/internal/runtime/arrays/FrozenArrayFilter.java ! src/jdk/nashorn/internal/runtime/arrays/IntArrayData.java ! src/jdk/nashorn/internal/runtime/arrays/InvalidArrayIndexException.java ! src/jdk/nashorn/internal/runtime/arrays/IteratorAction.java ! src/jdk/nashorn/internal/runtime/arrays/LongArrayData.java ! src/jdk/nashorn/internal/runtime/arrays/MapIterator.java ! src/jdk/nashorn/internal/runtime/arrays/NoTypeArrayData.java ! src/jdk/nashorn/internal/runtime/arrays/NumberArrayData.java ! src/jdk/nashorn/internal/runtime/arrays/ObjectArrayData.java ! src/jdk/nashorn/internal/runtime/arrays/ReverseArrayIterator.java ! src/jdk/nashorn/internal/runtime/arrays/ReverseMapIterator.java ! src/jdk/nashorn/internal/runtime/arrays/SealedArrayFilter.java ! src/jdk/nashorn/internal/runtime/arrays/SparseArrayData.java ! src/jdk/nashorn/internal/runtime/arrays/UndefinedArrayFilter.java ! src/jdk/nashorn/internal/runtime/linker/Bootstrap.java ! src/jdk/nashorn/internal/runtime/linker/InvokeByName.java ! src/jdk/nashorn/internal/runtime/linker/JSObjectLinker.java ! src/jdk/nashorn/internal/runtime/linker/JavaAdapterFactory.java ! src/jdk/nashorn/internal/runtime/linker/JavaArgumentConverters.java ! src/jdk/nashorn/internal/runtime/linker/LinkerCallSite.java ! src/jdk/nashorn/internal/runtime/linker/Lookup.java ! src/jdk/nashorn/internal/runtime/linker/Mangler.java ! src/jdk/nashorn/internal/runtime/linker/MethodHandleFactory.java ! src/jdk/nashorn/internal/runtime/linker/MethodHandleFunctionality.java ! src/jdk/nashorn/internal/runtime/linker/NashornBottomLinker.java ! src/jdk/nashorn/internal/runtime/linker/NashornCallSiteDescriptor.java ! src/jdk/nashorn/internal/runtime/linker/NashornGuardedInvocation.java ! src/jdk/nashorn/internal/runtime/linker/NashornGuards.java ! src/jdk/nashorn/internal/runtime/linker/NashornLinker.java ! src/jdk/nashorn/internal/runtime/linker/NashornPrimitiveLinker.java ! src/jdk/nashorn/internal/runtime/linker/PrimitiveLookup.java ! src/jdk/nashorn/internal/runtime/options/KeyValueOption.java ! src/jdk/nashorn/internal/runtime/options/Option.java ! src/jdk/nashorn/internal/runtime/options/OptionTemplate.java ! src/jdk/nashorn/internal/runtime/options/Options.java ! src/jdk/nashorn/internal/runtime/options/ValueOption.java ! src/jdk/nashorn/internal/runtime/resources/Messages.properties ! src/jdk/nashorn/internal/runtime/resources/Options.properties ! src/jdk/nashorn/internal/runtime/resources/mozilla_compat.js ! src/jdk/nashorn/internal/runtime/resources/parser.js ! src/jdk/nashorn/internal/runtime/resources/version.properties-template ! src/jdk/nashorn/internal/scripts/JO$.java ! src/jdk/nashorn/internal/scripts/JS$.java ! src/jdk/nashorn/tools/Shell.java ! src/jdk/nashorn/tools/resources/Shell.properties ! src/jdk/nashorn/tools/resources/shell.js ! src/netscape/javascript/JSObject.java ! src/overview.html ! test/examples/dual-fields-micro.js ! test/examples/innerbench.js ! test/examples/typechain.js ! test/lib/benchmark.js ! test/opt/add.js ! test/opt/add_constant.js ! test/opt/add_reuse_callsite.js ! test/opt/add_revert2.js ! test/opt/cascade_specialize.js ! test/script/assert.js ! test/script/basic/NASHORN-100.js ! test/script/basic/NASHORN-101.js ! test/script/basic/NASHORN-102.js ! test/script/basic/NASHORN-103.js ! test/script/basic/NASHORN-104.js ! test/script/basic/NASHORN-105.js ! test/script/basic/NASHORN-106.js ! test/script/basic/NASHORN-107.js ! test/script/basic/NASHORN-108.js ! test/script/basic/NASHORN-109.js ! test/script/basic/NASHORN-11.js ! test/script/basic/NASHORN-111.js ! test/script/basic/NASHORN-113.js ! test/script/basic/NASHORN-114.js ! test/script/basic/NASHORN-115.js ! test/script/basic/NASHORN-117.js ! test/script/basic/NASHORN-118.js ! test/script/basic/NASHORN-119.js ! test/script/basic/NASHORN-12.js ! test/script/basic/NASHORN-120.js ! test/script/basic/NASHORN-122.js ! test/script/basic/NASHORN-126.js ! test/script/basic/NASHORN-127.js ! test/script/basic/NASHORN-130.js ! test/script/basic/NASHORN-132.js ! test/script/basic/NASHORN-133.js ! test/script/basic/NASHORN-135.js ! test/script/basic/NASHORN-136.js ! test/script/basic/NASHORN-14.js ! test/script/basic/NASHORN-148.js ! test/script/basic/NASHORN-15.js ! test/script/basic/NASHORN-153.js ! test/script/basic/NASHORN-156.js ! test/script/basic/NASHORN-157.js ! test/script/basic/NASHORN-163.js ! test/script/basic/NASHORN-164.js ! test/script/basic/NASHORN-165.js ! test/script/basic/NASHORN-166.js ! test/script/basic/NASHORN-168.js ! test/script/basic/NASHORN-169.js ! test/script/basic/NASHORN-172.js ! test/script/basic/NASHORN-173.js ! test/script/basic/NASHORN-174.js ! test/script/basic/NASHORN-175.js ! test/script/basic/NASHORN-176.js ! test/script/basic/NASHORN-177.js ! test/script/basic/NASHORN-178.js ! test/script/basic/NASHORN-179.js ! test/script/basic/NASHORN-18.js ! test/script/basic/NASHORN-181.js ! test/script/basic/NASHORN-182.js ! test/script/basic/NASHORN-183.js ! test/script/basic/NASHORN-184.js ! test/script/basic/NASHORN-185.js ! test/script/basic/NASHORN-187.js ! test/script/basic/NASHORN-188.js ! test/script/basic/NASHORN-19.js ! test/script/basic/NASHORN-190.js ! test/script/basic/NASHORN-192.js ! test/script/basic/NASHORN-194.js ! test/script/basic/NASHORN-196.js ! test/script/basic/NASHORN-198.js ! test/script/basic/NASHORN-20.js ! test/script/basic/NASHORN-201.js ! test/script/basic/NASHORN-202.js ! test/script/basic/NASHORN-203.js ! test/script/basic/NASHORN-204.js ! test/script/basic/NASHORN-205.js ! test/script/basic/NASHORN-206.js ! test/script/basic/NASHORN-207.js ! test/script/basic/NASHORN-207_2.js ! test/script/basic/NASHORN-208.js ! test/script/basic/NASHORN-209.js ! test/script/basic/NASHORN-21.js ! test/script/basic/NASHORN-211.js ! test/script/basic/NASHORN-212.js ! test/script/basic/NASHORN-213.js ! test/script/basic/NASHORN-215.js ! test/script/basic/NASHORN-216.js ! test/script/basic/NASHORN-217.js ! test/script/basic/NASHORN-219.js ! test/script/basic/NASHORN-22.js ! test/script/basic/NASHORN-221.js ! test/script/basic/NASHORN-222.js ! test/script/basic/NASHORN-223.js ! test/script/basic/NASHORN-225.js ! test/script/basic/NASHORN-226.js ! test/script/basic/NASHORN-227.js ! test/script/basic/NASHORN-228.js ! test/script/basic/NASHORN-229.js ! test/script/basic/NASHORN-229_subtest.js ! test/script/basic/NASHORN-23.js ! test/script/basic/NASHORN-232.js ! test/script/basic/NASHORN-234.js ! test/script/basic/NASHORN-235.js ! test/script/basic/NASHORN-236.js ! test/script/basic/NASHORN-237.js ! test/script/basic/NASHORN-239.js ! test/script/basic/NASHORN-24.js ! test/script/basic/NASHORN-241.js ! test/script/basic/NASHORN-242.js ! test/script/basic/NASHORN-245.js ! test/script/basic/NASHORN-247.js ! test/script/basic/NASHORN-25.js ! test/script/basic/NASHORN-251.js ! test/script/basic/NASHORN-252.js ! test/script/basic/NASHORN-253.js ! test/script/basic/NASHORN-256.js ! test/script/basic/NASHORN-258.js ! test/script/basic/NASHORN-26.js ! test/script/basic/NASHORN-260.js ! test/script/basic/NASHORN-261.js ! test/script/basic/NASHORN-262.js ! test/script/basic/NASHORN-263.js ! test/script/basic/NASHORN-264.js ! test/script/basic/NASHORN-265.js ! test/script/basic/NASHORN-266.js ! test/script/basic/NASHORN-269.js ! test/script/basic/NASHORN-27.js ! test/script/basic/NASHORN-270.js ! test/script/basic/NASHORN-271.js ! test/script/basic/NASHORN-275.js ! test/script/basic/NASHORN-276.js ! test/script/basic/NASHORN-277.js ! test/script/basic/NASHORN-278.js ! test/script/basic/NASHORN-28.js ! test/script/basic/NASHORN-281.js ! test/script/basic/NASHORN-284.js ! test/script/basic/NASHORN-285.js ! test/script/basic/NASHORN-288.js ! test/script/basic/NASHORN-29.js ! test/script/basic/NASHORN-293.js ! test/script/basic/NASHORN-294.js ! test/script/basic/NASHORN-296.js ! test/script/basic/NASHORN-297.js ! test/script/basic/NASHORN-30.js ! test/script/basic/NASHORN-300.js ! test/script/basic/NASHORN-301.js ! test/script/basic/NASHORN-304.js ! test/script/basic/NASHORN-310.js ! test/script/basic/NASHORN-318.js ! test/script/basic/NASHORN-32.js ! test/script/basic/NASHORN-321.js ! test/script/basic/NASHORN-323.js ! test/script/basic/NASHORN-324.js ! test/script/basic/NASHORN-33.js ! test/script/basic/NASHORN-331.js ! test/script/basic/NASHORN-337.js ! test/script/basic/NASHORN-34.js ! test/script/basic/NASHORN-340.js ! test/script/basic/NASHORN-349.js ! test/script/basic/NASHORN-354.js ! test/script/basic/NASHORN-355.js ! test/script/basic/NASHORN-36.js ! test/script/basic/NASHORN-365.js ! test/script/basic/NASHORN-366.js ! test/script/basic/NASHORN-368.js ! test/script/basic/NASHORN-37.js ! test/script/basic/NASHORN-375.js ! test/script/basic/NASHORN-376.js ! test/script/basic/NASHORN-377.js ! test/script/basic/NASHORN-378.js ! test/script/basic/NASHORN-38.js ! test/script/basic/NASHORN-380.js ! test/script/basic/NASHORN-381.js ! test/script/basic/NASHORN-382.js ! test/script/basic/NASHORN-383.js ! test/script/basic/NASHORN-384.js ! test/script/basic/NASHORN-385.js ! test/script/basic/NASHORN-389.js ! test/script/basic/NASHORN-393.js ! test/script/basic/NASHORN-394.js ! test/script/basic/NASHORN-396.js ! test/script/basic/NASHORN-397.js ! test/script/basic/NASHORN-398.js ! test/script/basic/NASHORN-40.js ! test/script/basic/NASHORN-400.js ! test/script/basic/NASHORN-401.js ! test/script/basic/NASHORN-402.js ! test/script/basic/NASHORN-404.js ! test/script/basic/NASHORN-405.js ! test/script/basic/NASHORN-406.js ! test/script/basic/NASHORN-408.js ! test/script/basic/NASHORN-415.js ! test/script/basic/NASHORN-416.js ! test/script/basic/NASHORN-417.js ! test/script/basic/NASHORN-418.js ! test/script/basic/NASHORN-420.js ! test/script/basic/NASHORN-421.js ! test/script/basic/NASHORN-423.js ! test/script/basic/NASHORN-423a.js ! test/script/basic/NASHORN-424.js ! test/script/basic/NASHORN-425.js ! test/script/basic/NASHORN-426.js ! test/script/basic/NASHORN-427.js ! test/script/basic/NASHORN-428.js ! test/script/basic/NASHORN-429.js ! test/script/basic/NASHORN-432.js ! test/script/basic/NASHORN-433.js ! test/script/basic/NASHORN-434.js ! test/script/basic/NASHORN-435.js ! test/script/basic/NASHORN-437.js ! test/script/basic/NASHORN-44.js ! test/script/basic/NASHORN-441.js ! test/script/basic/NASHORN-442.js ! test/script/basic/NASHORN-443.js ! test/script/basic/NASHORN-444.js ! test/script/basic/NASHORN-445.js ! test/script/basic/NASHORN-446.js ! test/script/basic/NASHORN-447.js ! test/script/basic/NASHORN-448.js ! test/script/basic/NASHORN-449.js ! test/script/basic/NASHORN-45.js ! test/script/basic/NASHORN-450.js ! test/script/basic/NASHORN-452.js ! test/script/basic/NASHORN-459.js ! test/script/basic/NASHORN-46.js ! test/script/basic/NASHORN-462.js ! test/script/basic/NASHORN-463.js ! test/script/basic/NASHORN-468.js ! test/script/basic/NASHORN-47.js ! test/script/basic/NASHORN-473.js ! test/script/basic/NASHORN-474.js ! test/script/basic/NASHORN-478.js ! test/script/basic/NASHORN-48.js ! test/script/basic/NASHORN-481.js ! test/script/basic/NASHORN-482.js ! test/script/basic/NASHORN-484.js ! test/script/basic/NASHORN-486.js ! test/script/basic/NASHORN-487.js ! test/script/basic/NASHORN-488.js ! test/script/basic/NASHORN-49.js ! test/script/basic/NASHORN-490.js ! test/script/basic/NASHORN-494.js ! test/script/basic/NASHORN-497.js ! test/script/basic/NASHORN-498.js ! test/script/basic/NASHORN-499.js ! test/script/basic/NASHORN-50.js ! test/script/basic/NASHORN-500.js ! test/script/basic/NASHORN-503.js ! test/script/basic/NASHORN-51.js ! test/script/basic/NASHORN-511.js ! test/script/basic/NASHORN-515.js ! test/script/basic/NASHORN-516.js ! test/script/basic/NASHORN-52.js ! test/script/basic/NASHORN-534.js ! test/script/basic/NASHORN-535.js ! test/script/basic/NASHORN-544.js ! test/script/basic/NASHORN-55.js ! test/script/basic/NASHORN-554.js ! test/script/basic/NASHORN-556.js ! test/script/basic/NASHORN-56.js ! test/script/basic/NASHORN-562.js ! test/script/basic/NASHORN-565.js ! test/script/basic/NASHORN-575.js ! test/script/basic/NASHORN-58.js ! test/script/basic/NASHORN-59.js ! test/script/basic/NASHORN-592.js ! test/script/basic/NASHORN-597.js ! test/script/basic/NASHORN-60.js ! test/script/basic/NASHORN-609.js ! test/script/basic/NASHORN-61.js ! test/script/basic/NASHORN-62.js ! test/script/basic/NASHORN-620.js ! test/script/basic/NASHORN-623.js ! test/script/basic/NASHORN-627.js ! test/script/basic/NASHORN-63.js ! test/script/basic/NASHORN-637.js ! test/script/basic/NASHORN-638.js ! test/script/basic/NASHORN-639.js ! test/script/basic/NASHORN-64.js ! test/script/basic/NASHORN-642.js ! test/script/basic/NASHORN-646.js ! test/script/basic/NASHORN-653.js ! test/script/basic/NASHORN-658.js ! test/script/basic/NASHORN-659.js ! test/script/basic/NASHORN-66.js ! test/script/basic/NASHORN-664.js ! test/script/basic/NASHORN-665.js ! test/script/basic/NASHORN-67.js ! test/script/basic/NASHORN-678.js ! test/script/basic/NASHORN-68.js ! test/script/basic/NASHORN-689.js ! test/script/basic/NASHORN-69.js ! test/script/basic/NASHORN-691.js ! test/script/basic/NASHORN-694.js ! test/script/basic/NASHORN-697.js ! test/script/basic/NASHORN-703.js ! test/script/basic/NASHORN-703a.js ! test/script/basic/NASHORN-705.js ! test/script/basic/NASHORN-71.js ! test/script/basic/NASHORN-710.js ! test/script/basic/NASHORN-711.js ! test/script/basic/NASHORN-72.js ! test/script/basic/NASHORN-722.js ! test/script/basic/NASHORN-73.js ! test/script/basic/NASHORN-737.js ! test/script/basic/NASHORN-74.js ! test/script/basic/NASHORN-740.js ! test/script/basic/NASHORN-75.js ! test/script/basic/NASHORN-758.js ! test/script/basic/NASHORN-759.js ! test/script/basic/NASHORN-760.js ! test/script/basic/NASHORN-768.js ! test/script/basic/NASHORN-778.js ! test/script/basic/NASHORN-78.js ! test/script/basic/NASHORN-79.js ! test/script/basic/NASHORN-792.js ! test/script/basic/NASHORN-80.js ! test/script/basic/NASHORN-81.js ! test/script/basic/NASHORN-833.js ! test/script/basic/NASHORN-85.js ! test/script/basic/NASHORN-86.js ! test/script/basic/NASHORN-87.js ! test/script/basic/NASHORN-89.js ! test/script/basic/NASHORN-90.js ! test/script/basic/NASHORN-91.js ! test/script/basic/NASHORN-92.js ! test/script/basic/NASHORN-93.js ! test/script/basic/NASHORN-95.js ! test/script/basic/NASHORN-96.js ! test/script/basic/NASHORN-97.js ! test/script/basic/NASHORN-98.js ! test/script/basic/NASHORN-99.js ! test/script/basic/addition.js ! test/script/basic/allgettersetters.js ! test/script/basic/andor.js ! test/script/basic/anonrecur.js ! test/script/basic/applycall.js ! test/script/basic/args.js ! test/script/basic/arity.js ! test/script/basic/arrayprotoclass.js ! test/script/basic/arrays.js ! test/script/basic/arrays2.js ! test/script/basic/arraysIntKey.js ! test/script/basic/arrayset.js ! test/script/basic/arrayundefined.js ! test/script/basic/assign.js ! test/script/basic/bitwise_and.js ! test/script/basic/booleangetter.js ! test/script/basic/builtin.js ! test/script/basic/builtin_assign.js ! test/script/basic/builtinchain.js ! test/script/basic/calllink.js ! test/script/basic/closure.js ! test/script/basic/commandargs.js ! test/script/basic/compile-octane.js ! test/script/basic/condassign.js ! test/script/basic/construct.js ! test/script/basic/constructorname.js ! test/script/basic/date.js ! test/script/basic/dateparse.js ! test/script/basic/decinc.js ! test/script/basic/delete.js ! test/script/basic/delete2.js ! test/script/basic/dotpropname.js ! test/script/basic/doublecache.js ! test/script/basic/enumeration.js ! test/script/basic/errors.js ! test/script/basic/errorstack.js ! test/script/basic/eval.js ! test/script/basic/evalreturn.js ! test/script/basic/exprclosure.js ! test/script/basic/extensibility.js ! test/script/basic/fileline.js ! test/script/basic/finally-catchalls.js ! test/script/basic/finallyreturn.js ! test/script/basic/forin.js ! test/script/basic/forin2.js ! test/script/basic/funcarray.js ! test/script/basic/funcbind.js ! test/script/basic/funcconstructor.js ! test/script/basic/getclassname.js ! test/script/basic/getenv.js ! test/script/basic/getter_callsite.js ! test/script/basic/gettercalls.js ! test/script/basic/getterfunc.js ! test/script/basic/gettersetter.js ! test/script/basic/globalaccess.js ! test/script/basic/globals.js ! test/script/basic/globalscope.js ! test/script/basic/hello.js ! test/script/basic/herestr_operator.js ! test/script/basic/illegaljavaname.js ! test/script/basic/incheck.js ! test/script/basic/indexedcall.js ! test/script/basic/info.js ! test/script/basic/inherited_nonwritable.js ! test/script/basic/instanceof.js ! test/script/basic/instanceof2.js ! test/script/basic/interfaces.js ! test/script/basic/iterator.js ! test/script/basic/java.js ! test/script/basic/javaarray.js ! test/script/basic/javaarrayconversion.js ! test/script/basic/javaexceptions.js ! test/script/basic/javaimporter.js ! test/script/basic/javainnerclasses.js ! test/script/basic/javasigcall.js ! test/script/basic/jquery.js ! test/script/basic/jsadapter.js ! test/script/basic/jsadapterlink.js ! test/script/basic/json.js ! test/script/basic/list.js ! test/script/basic/literal.js ! test/script/basic/load.js ! test/script/basic/loadedfile.js ! test/script/basic/localundef.js ! test/script/basic/map.js ! test/script/basic/math.js ! test/script/basic/minuszero.js ! test/script/basic/module.js ! test/script/basic/moduleload.js ! test/script/basic/nashorn2.js ! test/script/basic/natives.js ! test/script/basic/new.js ! test/script/basic/newexpr.js ! test/script/basic/newnew.js ! test/script/basic/nonconstructors.js ! test/script/basic/nosuchmethod.js ! test/script/basic/nosuchproperty.js ! test/script/basic/number.js ! test/script/basic/numberstring.js ! test/script/basic/objectprops.js ! test/script/basic/objects.js ! test/script/basic/options.js ! test/script/basic/propchange.js ! test/script/basic/propertycheck.js ! test/script/basic/prototype.js ! test/script/basic/pushpull.js ! test/script/basic/regex.js ! test/script/basic/regexp_flags.js ! test/script/basic/run-octane.js ! test/script/basic/runsunspider.js ! test/script/basic/samfunc.js ! test/script/basic/scripting.js ! test/script/basic/scripting.js.EXPECTED ! test/script/basic/sealfreeze.js ! test/script/basic/setlength.js ! test/script/basic/stdin.js ! test/script/basic/strings.js ! test/script/basic/throws.js ! test/script/basic/tosource.js ! test/script/basic/tostring.js ! test/script/basic/try.js ! test/script/basic/trybreakcont.js ! test/script/basic/trycatch.js ! test/script/basic/trycatchfor.js ! test/script/basic/tryfinallyreturn.js ! test/script/basic/tryforbreak.js ! test/script/basic/typechange.js ! test/script/basic/typeof.js ! test/script/basic/typeof2.js ! test/script/basic/undefined.js ! test/script/basic/underscore.js ! test/script/basic/varargs.js ! test/script/basic/void.js ! test/script/basic/with.js ! test/script/basic/withprimitive.js ! test/script/basic/writable_relink.js ! test/script/basic/xorassign.js ! test/script/basic/yui.js ! test/script/error/NASHORN-154/function_mult_params_in_strict.js ! test/script/error/NASHORN-154/improper_return_break_continue.js ! test/script/error/NASHORN-154/invalid_lvalue.js ! test/script/error/NASHORN-154/literal_data_and_accessor.js ! test/script/error/NASHORN-154/literal_mult_getters.js ! test/script/error/NASHORN-154/literal_mult_prop_in_strict.js ! test/script/error/NASHORN-154/with_in_strict.js ! test/script/error/NASHORN-214.js ! test/script/error/NASHORN-35.js ! test/script/error/NASHORN-39.js ! test/script/error/NASHORN-568.js ! test/script/error/NASHORN-57.js ! test/script/error/NASHORN-668.js ! test/script/error/quotemissing.js ! test/script/error/strictmode.js ! test/script/representations/NASHORN-592a.js ! test/script/sandbox/NASHORN-525.js ! test/script/sandbox/classloader.js ! test/script/sandbox/doprivileged.js ! test/script/sandbox/exit.js ! test/script/sandbox/file.js ! test/script/sandbox/javaextend.js ! test/script/sandbox/loadLibrary.js ! test/script/sandbox/net.js ! test/script/sandbox/property.js ! test/script/sandbox/reflection.js ! test/script/sandbox/runnable.js ! test/script/sandbox/unsafe.js ! test/script/test262.js ! test/script/test262_single.js ! test/src/UnnamedPackageTestCallback.java ! test/src/jdk/nashorn/api/scripting/MultipleEngineTest.java ! test/src/jdk/nashorn/api/scripting/ScriptEngineTest.java ! test/src/jdk/nashorn/api/scripting/Window.java ! test/src/jdk/nashorn/api/scripting/WindowEventHandler.java ! test/src/jdk/nashorn/internal/access/BooleanAccessTest.java ! test/src/jdk/nashorn/internal/access/MethodAccessTest.java ! test/src/jdk/nashorn/internal/access/NumberAccessTest.java ! test/src/jdk/nashorn/internal/access/NumberBoxingTest.java ! test/src/jdk/nashorn/internal/access/ObjectAccessTest.java ! test/src/jdk/nashorn/internal/access/Person.java ! test/src/jdk/nashorn/internal/access/SharedObject.java ! test/src/jdk/nashorn/internal/access/StringAccessTest.java ! test/src/jdk/nashorn/internal/codegen/CompilerTest.java ! test/src/jdk/nashorn/internal/parser/ParserTest.java ! test/src/jdk/nashorn/internal/performance/AuroraWrapper.java ! test/src/jdk/nashorn/internal/performance/OctaneTest.java ! test/src/jdk/nashorn/internal/performance/PerformanceWrapper.java ! test/src/jdk/nashorn/internal/performance/SplayTest.java ! test/src/jdk/nashorn/internal/runtime/ContextTest.java ! test/src/jdk/nashorn/internal/runtime/JSTypeTest.java ! test/src/jdk/nashorn/internal/runtime/Nashorn401TestSubject.java ! test/src/jdk/nashorn/internal/test/framework/AbstractScriptRunnable.java ! test/src/jdk/nashorn/internal/test/framework/JSJUnitReportReporter.java ! test/src/jdk/nashorn/internal/test/framework/OrphanTestFinder.java ! test/src/jdk/nashorn/internal/test/framework/ParallelTestRunner.java ! test/src/jdk/nashorn/internal/test/framework/ScriptEvaluator.java ! test/src/jdk/nashorn/internal/test/framework/ScriptRunnable.java ! test/src/jdk/nashorn/internal/test/framework/ScriptTest.java ! test/src/jdk/nashorn/internal/test/framework/SeparateContextEvaluator.java ! test/src/jdk/nashorn/internal/test/framework/SharedContextEvaluator.java ! test/src/jdk/nashorn/internal/test/framework/TestConfig.java ! test/src/jdk/nashorn/internal/test/framework/TestFinder.java ! test/src/jdk/nashorn/internal/test/framework/TestHelper.java ! test/src/jdk/nashorn/internal/test/framework/TestReorderInterceptor.java ! test/src/jdk/nashorn/internal/test/models/ConstructorWithArgument.java ! test/src/jdk/nashorn/internal/test/models/FinalClass.java ! test/src/jdk/nashorn/internal/test/models/NoAccessibleConstructorClass.java ! test/src/jdk/nashorn/internal/test/models/NonPublicClass.java ! test/src/jdk/nashorn/internal/test/models/OuterClass.java ! test/src/jdk/nashorn/internal/test/models/OverloadedSam.java ! test/src/jdk/nashorn/internal/test/models/OverrideObject.java Changeset: 1e3f411f47bf Author: lagergren Date: 2013-01-07 19:31 +0100 URL: http://hg.openjdk.java.net/jdk8/tl/nashorn/rev/1e3f411f47bf 8005789: Forgot to document -Dnashorn.unstable.relink.threshold Summary: Added documentation to DEVELOPER_README, fixed code convention warnings Reviewed-by: attila ! docs/DEVELOPER_README ! src/jdk/nashorn/internal/codegen/CodeGenerator.java ! src/jdk/nashorn/internal/codegen/Splitter.java ! src/jdk/nashorn/internal/runtime/PropertyMap.java ! src/jdk/nashorn/internal/runtime/options/Options.java Changeset: 41c7093477ae Author: jlaskey Date: 2013-01-07 14:41 -0400 URL: http://hg.openjdk.java.net/jdk8/tl/nashorn/rev/41c7093477ae 8005703: Offsets miscalculated for blocks Reviewed-by: lagergren Contributed-by: petr.hejl at oracle.com ! src/jdk/nashorn/internal/ir/Block.java ! src/jdk/nashorn/internal/parser/AbstractParser.java ! src/jdk/nashorn/internal/parser/Parser.java Changeset: d14da0d0c577 Author: sundar Date: 2013-01-08 08:51 +0530 URL: http://hg.openjdk.java.net/jdk8/tl/nashorn/rev/d14da0d0c577 8005782: get rid of javadoc errors, warnings in nashorn build Reviewed-by: lagergren ! make/build.xml ! make/project.properties ! src/jdk/nashorn/internal/codegen/MethodEmitter.java ! src/jdk/nashorn/internal/runtime/ECMAErrors.java ! src/jdk/nashorn/internal/runtime/PropertyMap.java Changeset: 0e7da548ef6a Author: lagergren Date: 2013-01-08 09:59 +0100 URL: http://hg.openjdk.java.net/jdk8/tl/nashorn/rev/0e7da548ef6a 8005788: Loggers and their corresponding system properties not working correctly Summary: 1-1 mapping now maintained. Used Context err instead of System.err in several places (after bootstrapping Context). Problematic closing of err stream replaced by @SuppressWarnings("resource") Reviewed-by: jlaskey, sundar ! src/jdk/nashorn/internal/ir/Symbol.java ! src/jdk/nashorn/internal/objects/NativeDebug.java ! src/jdk/nashorn/internal/runtime/Context.java ! src/jdk/nashorn/internal/runtime/DebugLogger.java ! src/jdk/nashorn/internal/runtime/ECMAException.java ! src/jdk/nashorn/internal/runtime/ErrorManager.java ! src/jdk/nashorn/internal/runtime/Logging.java ! src/jdk/nashorn/internal/runtime/linker/LinkerCallSite.java ! src/jdk/nashorn/internal/runtime/linker/MethodHandleFactory.java ! src/jdk/nashorn/internal/runtime/options/Options.java ! src/jdk/nashorn/tools/Shell.java Changeset: 5f2db2d8a7fa Author: sundar Date: 2013-01-08 15:02 +0530 URL: http://hg.openjdk.java.net/jdk8/tl/nashorn/rev/5f2db2d8a7fa 8005835: NASHORN-668 output fails to compare with the corresponding .EXPECTED file Reviewed-by: lagergren, hannesw ! test/script/error/NASHORN-668.js.EXPECTED Changeset: d8e4d66f1a06 Author: lagergren Date: 2013-01-08 10:52 +0100 URL: http://hg.openjdk.java.net/jdk8/tl/nashorn/rev/d8e4d66f1a06 8005843: refSymbols lookup of unbound variable could cause NullPointerException in Lower Reviewed-by: hannesw, attila ! src/jdk/nashorn/internal/codegen/Lower.java + test/script/basic/NASHORN-837.js Changeset: c5a321205f49 Author: attila Date: 2013-01-08 13:50 +0100 URL: http://hg.openjdk.java.net/jdk8/tl/nashorn/rev/c5a321205f49 8005846: Remove Mangler in favor of Dynalink's NameCodec Reviewed-by: jlaskey, sundar ! src/jdk/nashorn/internal/codegen/Compiler.java Changeset: 4620ac94e7dc Author: attila Date: 2013-01-08 14:14 +0100 URL: http://hg.openjdk.java.net/jdk8/tl/nashorn/rev/4620ac94e7dc 8005801: Refactor findSetMethod Summary: findSetMethod() was a very large single method, very unreadable and unmaintainable. It was broken into easy-to-understand pieces. The refactoring required introduction of a comand-object like entity, SetMethodCreator, to contain the nontrivial transient state of the algorithm that made the original big method so resistant to refactoring in the first place. Reviewed-by: lagergren, sundar ! src/jdk/nashorn/internal/runtime/ScriptObject.java + src/jdk/nashorn/internal/runtime/SetMethodCreator.java ! src/jdk/nashorn/internal/runtime/SpillProperty.java - src/jdk/nashorn/internal/runtime/linker/Mangler.java Changeset: 69a4f0363d0f Author: lagergren Date: 2013-01-08 15:20 +0100 URL: http://hg.openjdk.java.net/jdk8/tl/nashorn/rev/69a4f0363d0f 8005842: Loops in ASTWriter. Corrected @Reference and @Ignore node annotation for IR nodes Reviewed-by: hannesw, sundar ! src/jdk/nashorn/internal/ir/Block.java ! src/jdk/nashorn/internal/ir/FunctionNode.java ! src/jdk/nashorn/internal/ir/LabelNode.java ! src/jdk/nashorn/internal/ir/LabeledNode.java ! src/jdk/nashorn/internal/ir/ObjectNode.java ! src/jdk/nashorn/internal/ir/ReferenceNode.java ! src/jdk/nashorn/internal/ir/ReturnNode.java ! src/jdk/nashorn/internal/ir/SplitNode.java ! src/jdk/nashorn/internal/ir/SwitchNode.java ! src/jdk/nashorn/internal/ir/ThrowNode.java ! src/jdk/nashorn/internal/ir/TryNode.java ! src/jdk/nashorn/internal/ir/debug/ASTWriter.java Changeset: 548587cfb065 Author: sundar Date: 2013-01-08 21:16 +0530 URL: http://hg.openjdk.java.net/jdk8/tl/nashorn/rev/548587cfb065 8005848: assigning to global toString variable affects Object.prototype.toString Reviewed-by: jlaskey, lagergren ! src/jdk/nashorn/internal/runtime/ScriptObject.java + test/script/basic/JDK_8005848.js Changeset: 812b9963b1c7 Author: attila Date: 2013-01-09 15:02 +0100 URL: http://hg.openjdk.java.net/jdk8/tl/nashorn/rev/812b9963b1c7 8005777: Bug in the FacetIntrospector of Dynalink - non-public class should search super Reviewed-by: lagergren, sundar ! make/project.properties Changeset: 4cd65798ec70 Author: sundar Date: 2013-01-09 22:32 +0530 URL: http://hg.openjdk.java.net/jdk8/tl/nashorn/rev/4cd65798ec70 8005940: provide ant targets to get and update external test scripts Reviewed-by: jlaskey, lagergren ! bin/verbose_octane.bat ! bin/verbose_octane.sh ! make/Makefile ! make/build-benchmark.xml ! make/build.xml ! make/project.properties ! test/script/basic/run-octane.js ! test/script/basic/runsunspider.js ! test/src/jdk/nashorn/internal/codegen/CompilerTest.java ! test/src/jdk/nashorn/internal/parser/ParserTest.java Changeset: 9f59ba5090f2 Author: lagergren Date: 2013-01-10 10:28 +0100 URL: http://hg.openjdk.java.net/jdk8/tl/nashorn/rev/9f59ba5090f2 8005971: runsunspider.js should check results of benchmarks Reviewed-by: attila, hannesw ! test/script/basic/runsunspider.js Changeset: a7f177d6639c Author: sundar Date: 2013-01-10 19:03 +0530 URL: http://hg.openjdk.java.net/jdk8/tl/nashorn/rev/a7f177d6639c 8005987: ant octane tries to run non-benchmark scripts Reviewed-by: lagergren, attila, jlaskey ! make/build-benchmark.xml ! make/project.properties Changeset: 0362d36d3dd6 Author: sundar Date: 2013-01-10 19:55 +0530 URL: http://hg.openjdk.java.net/jdk8/tl/nashorn/rev/0362d36d3dd6 8005982: NASHORN-71.js failing in nightlys Reviewed-by: attila, lagergren, jlaskey ! test/script/basic/NASHORN-71.js - test/script/basic/NASHORN-71.js.EXPECTED Changeset: 2a5c2258827b Author: attila Date: 2013-01-10 15:28 +0100 URL: http://hg.openjdk.java.net/jdk8/tl/nashorn/rev/2a5c2258827b 8005983: JavaAdapterFactory generated proxy classes should take extra constructor arguments at the end Reviewed-by: lagergren, sundar ! src/jdk/nashorn/internal/runtime/linker/JavaAdapterFactory.java ! src/jdk/nashorn/internal/runtime/linker/NashornLinker.java ! test/script/sandbox/javaextend.js ! test/script/sandbox/javaextend.js.EXPECTED Changeset: 2a4769fcd13f Author: lagergren Date: 2013-01-11 10:40 +0100 URL: http://hg.openjdk.java.net/jdk8/tl/nashorn/rev/2a4769fcd13f 8005976: Break out AccessSpecializer into one pass before CodeGenerator instead of iterative applications from CodeGenerator Summary: Now scope and slot information is guaranteed to be fixed AND NOT CHANGE before CodeGeneration. We want to keep it that way to build future type specializations and bring all type work out of CodeGenerator. Reviewed-by: attila, hannesw + bin/dump_octane_code.sh ! bin/verbose_octane.sh ! docs/DEVELOPER_README ! src/jdk/nashorn/internal/codegen/AccessSpecializer.java ! src/jdk/nashorn/internal/codegen/CodeGenerator.java ! src/jdk/nashorn/internal/codegen/Compiler.java ! src/jdk/nashorn/internal/codegen/Lower.java ! src/jdk/nashorn/internal/codegen/Splitter.java - src/jdk/nashorn/internal/codegen/Transform.java ! src/jdk/nashorn/internal/ir/Block.java ! src/jdk/nashorn/internal/ir/FunctionNode.java ! src/jdk/nashorn/internal/ir/Symbol.java ! src/jdk/nashorn/internal/runtime/ScriptObject.java Changeset: f67bf56495ca Author: sundar Date: 2013-01-11 18:26 +0530 URL: http://hg.openjdk.java.net/jdk8/tl/nashorn/rev/f67bf56495ca 8006082: Provide option to run octane benchmarks in separate processes Reviewed-by: lagergren, jlaskey ! make/build-benchmark.xml ! make/project.properties Changeset: 8a5922638ff0 Author: sundar Date: 2013-01-11 20:34 +0530 URL: http://hg.openjdk.java.net/jdk8/tl/nashorn/rev/8a5922638ff0 8006093: Add a makefile target to run all tests (test, test262, perf tests) Reviewed-by: attila, hannesw ! make/Makefile ! make/build.xml Changeset: eda69555239a Author: attila Date: 2013-01-14 16:00 +0100 URL: http://hg.openjdk.java.net/jdk8/tl/nashorn/rev/eda69555239a 8006168: ability to generate multi-type Java adapters Reviewed-by: lagergren, jlaskey ! src/jdk/nashorn/internal/objects/NativeJava.java ! src/jdk/nashorn/internal/runtime/linker/JavaAdapterFactory.java ! src/jdk/nashorn/internal/runtime/linker/NashornPrimitiveLinker.java ! src/jdk/nashorn/internal/runtime/resources/Messages.properties ! test/script/sandbox/javaextend.js ! test/script/sandbox/javaextend.js.EXPECTED + test/src/jdk/nashorn/internal/test/models/DessertTopping.java + test/src/jdk/nashorn/internal/test/models/DessertToppingFloorWaxDriver.java + test/src/jdk/nashorn/internal/test/models/FloorWax.java + test/src/jdk/nashorn/internal/test/models/Toothpaste.java Changeset: 3c6db5ea0ecc Author: sundar Date: 2013-01-14 21:30 +0530 URL: http://hg.openjdk.java.net/jdk8/tl/nashorn/rev/3c6db5ea0ecc 8006181: nashorn script engine does not run jrunscript's initialization script Reviewed-by: lagergren, jlaskey Contributed-by: rieberandreas at gmail.com + src/jdk/nashorn/api/scripting/Formatter.java ! src/jdk/nashorn/api/scripting/NashornScriptEngine.java ! src/jdk/nashorn/api/scripting/resources/engine.js + src/jdk/nashorn/api/scripting/resources/init.js Changeset: 1d0307c2bb4c Author: attila Date: 2013-01-15 13:10 +0100 URL: http://hg.openjdk.java.net/jdk8/tl/nashorn/rev/1d0307c2bb4c 8006293: Reduce ScriptObject.findCallMethodMethod Reviewed-by: lagergren, jlaskey ! src/jdk/nashorn/internal/runtime/ScriptFunction.java ! src/jdk/nashorn/internal/runtime/ScriptObject.java ! src/jdk/nashorn/internal/runtime/WithObject.java ! src/jdk/nashorn/internal/runtime/linker/Bootstrap.java ! src/jdk/nashorn/internal/runtime/linker/MethodHandleFactory.java ! src/jdk/nashorn/internal/runtime/linker/MethodHandleFunctionality.java Changeset: ee73d7378e3e Author: attila Date: 2013-01-15 17:09 +0100 URL: http://hg.openjdk.java.net/jdk8/tl/nashorn/rev/ee73d7378e3e 8005958: invoking a function through INVOKESTATIC with more arguments than it declares resulted in malformed bytecode being generated Reviewed-by: lagergren, jlaskey ! src/jdk/nashorn/internal/codegen/CodeGenerator.java + test/script/basic/JDK-8005958.js Changeset: 9088170e68df Author: attila Date: 2013-01-15 18:08 +0100 URL: http://hg.openjdk.java.net/jdk8/tl/nashorn/rev/9088170e68df 8006337: Discarded arguments for INVOKESTATIC must still be evaluated for side effects Reviewed-by: hannesw, jlaskey, sundar ! src/jdk/nashorn/internal/codegen/CodeGenerator.java + test/script/basic/JDK-8006337.js + test/script/basic/JDK-8006337.js.EXPECTED Changeset: 617313881c55 Author: jlaskey Date: 2013-01-16 07:06 -0400 URL: http://hg.openjdk.java.net/jdk8/tl/nashorn/rev/617313881c55 8006304: Remove pre-population of maps for constructor produced maps Reviewed-by: sundar Contributed-by: james.laskey at oracle.com ! .hgignore ! src/jdk/nashorn/internal/codegen/CodeGenerator.java ! src/jdk/nashorn/internal/codegen/objects/FunctionObjectCreator.java + test/script/basic/JDK-8006304.js + test/script/basic/JDK-8006304.js.EXPECTED Changeset: 80447df16322 Author: sundar Date: 2013-01-16 17:58 +0530 URL: http://hg.openjdk.java.net/jdk8/tl/nashorn/rev/80447df16322 8006412: Improve toString method of ScriptObjectMirror class Reviewed-by: jlaskey, lagergren ! src/jdk/nashorn/api/scripting/ScriptObjectMirror.java ! test/src/jdk/nashorn/api/scripting/ScriptEngineTest.java Changeset: cd5b684ce7b2 Author: sundar Date: 2013-01-16 21:26 +0530 URL: http://hg.openjdk.java.net/jdk8/tl/nashorn/rev/cd5b684ce7b2 8006424: Passing null or undefined to adapter class constructors results in NPE or ClassCastException Reviewed-by: attila, hannesw, jlaskey ! src/jdk/nashorn/internal/runtime/linker/JavaAdapterFactory.java + test/script/basic/JDK-8006424.js Changeset: 4acebfe9e504 Author: jlaskey Date: 2013-01-17 10:33 -0400 URL: http://hg.openjdk.java.net/jdk8/tl/nashorn/rev/4acebfe9e504 8006517: PropertyHashMap.Element.equals() compares to Property Reviewed-by: sundar Contributed-by: james.laskey at oracle.com ! src/jdk/nashorn/internal/runtime/PropertyHashMap.java Changeset: f8136c060914 Author: sundar Date: 2013-01-18 08:45 +0530 URL: http://hg.openjdk.java.net/jdk8/tl/nashorn/rev/f8136c060914 8006527: nashorn jsr223 engine does not work in sandbox Reviewed-by: jlaskey, attila, lagergren + bin/nashornsecure + bin/nashornsecure.bat ! src/jdk/nashorn/api/scripting/NashornScriptEngine.java ! src/jdk/nashorn/api/scripting/resources/init.js ! src/jdk/nashorn/internal/objects/NativeJSAdapter.java + test/script/sandbox/engine.js + test/script/sandbox/engine.js.EXPECTED + test/script/sandbox/jsadapter.js Changeset: 4361e8cd6a02 Author: sundar Date: 2013-01-18 17:55 +0530 URL: http://hg.openjdk.java.net/jdk8/tl/nashorn/rev/4361e8cd6a02 8006562: findOwnMH in nashorn "objects" package should be cleaned up Reviewed-by: jlaskey, lagergren ! make/project.properties ! src/jdk/nashorn/internal/objects/Global.java ! src/jdk/nashorn/internal/objects/NativeArguments.java ! src/jdk/nashorn/internal/objects/NativeBoolean.java ! src/jdk/nashorn/internal/objects/NativeError.java ! src/jdk/nashorn/internal/objects/NativeJSAdapter.java ! src/jdk/nashorn/internal/objects/NativeNumber.java ! src/jdk/nashorn/internal/objects/NativeStrictArguments.java ! src/jdk/nashorn/internal/objects/NativeString.java ! src/jdk/nashorn/internal/objects/PrototypeObject.java ! src/jdk/nashorn/internal/objects/ScriptFunctionImpl.java Changeset: c887baec012a Author: sundar Date: 2013-01-19 09:14 +0530 URL: http://hg.openjdk.java.net/jdk8/tl/nashorn/rev/c887baec012a 8006584: improve variable handling in NashornScriptEngine Reviewed-by: jlaskey, hannesw ! src/jdk/nashorn/api/scripting/NashornScriptEngine.java ! src/jdk/nashorn/api/scripting/ScriptObjectMirror.java ! test/src/jdk/nashorn/api/scripting/ScriptEngineTest.java Changeset: a8966074d4e9 Author: sundar Date: 2013-01-19 22:35 +0530 URL: http://hg.openjdk.java.net/jdk8/tl/nashorn/rev/a8966074d4e9 8006557: JDK8/Lambda build clashes on Map.replace() Reviewed-by: jlaskey ! src/jdk/nashorn/internal/runtime/ScriptObject.java ! test/src/jdk/nashorn/internal/runtime/ContextTest.java Changeset: 0cee498b330d Author: attila Date: 2013-01-21 11:03 +0100 URL: http://hg.openjdk.java.net/jdk8/tl/nashorn/rev/0cee498b330d 8006525: Give StaticClass objects their own linker Reviewed-by: hannesw, lagergren ! src/jdk/nashorn/internal/runtime/linker/Bootstrap.java ! src/jdk/nashorn/internal/runtime/linker/NashornPrimitiveLinker.java + src/jdk/nashorn/internal/runtime/linker/NashornStaticClassLinker.java Changeset: 8b3cc4ad1810 Author: sundar Date: 2013-01-21 21:17 +0530 URL: http://hg.openjdk.java.net/jdk8/tl/nashorn/rev/8b3cc4ad1810 8006635: Reduce access levels as much as possible Reviewed-by: jlaskey, lagergren, attila ! src/jdk/nashorn/api/scripting/NashornScriptEngine.java ! src/jdk/nashorn/api/scripting/ScriptObjectMirror.java ! src/jdk/nashorn/internal/codegen/Compiler.java ! src/jdk/nashorn/internal/ir/Symbol.java ! src/jdk/nashorn/internal/ir/debug/JSONWriter.java ! src/jdk/nashorn/internal/objects/Global.java ! src/jdk/nashorn/internal/objects/NativeArray.java ! src/jdk/nashorn/internal/objects/NativeDebug.java ! src/jdk/nashorn/internal/objects/NativeJava.java ! src/jdk/nashorn/internal/runtime/Context.java ! src/jdk/nashorn/internal/runtime/DebugLogger.java ! src/jdk/nashorn/internal/runtime/ECMAException.java + src/jdk/nashorn/internal/runtime/OptionsObject.java ! src/jdk/nashorn/internal/runtime/ScriptObject.java ! src/jdk/nashorn/internal/runtime/StructureLoader.java ! src/jdk/nashorn/internal/runtime/arrays/ArrayIterator.java ! src/jdk/nashorn/internal/runtime/linker/JavaAdapterFactory.java ! src/jdk/nashorn/internal/runtime/linker/LinkerCallSite.java ! src/jdk/nashorn/tools/Shell.java ! test/src/jdk/nashorn/internal/access/BooleanAccessTest.java ! test/src/jdk/nashorn/internal/codegen/CompilerTest.java ! test/src/jdk/nashorn/internal/parser/ParserTest.java ! test/src/jdk/nashorn/internal/runtime/ContextTest.java ! test/src/jdk/nashorn/internal/runtime/JSTypeTest.java ! test/src/jdk/nashorn/internal/test/framework/SharedContextEvaluator.java Changeset: 935dcec38e9a Author: hannesw Date: 2013-01-22 14:14 +0100 URL: http://hg.openjdk.java.net/jdk8/tl/nashorn/rev/935dcec38e9a 8006570: This-value for non-strict functions should be converted to object Reviewed-by: jlaskey, lagergren, attila ! src/jdk/nashorn/internal/objects/Global.java ! src/jdk/nashorn/internal/objects/NativeBoolean.java ! src/jdk/nashorn/internal/objects/NativeFunction.java ! src/jdk/nashorn/internal/objects/NativeNumber.java ! src/jdk/nashorn/internal/objects/NativeString.java ! src/jdk/nashorn/internal/runtime/GlobalObject.java ! src/jdk/nashorn/internal/runtime/ScriptFunction.java ! src/jdk/nashorn/internal/runtime/ScriptObject.java ! src/jdk/nashorn/internal/runtime/SetMethodCreator.java ! src/jdk/nashorn/internal/runtime/linker/NashornGuardedInvocation.java ! src/jdk/nashorn/internal/runtime/linker/NashornLinker.java ! src/jdk/nashorn/internal/runtime/linker/PrimitiveLookup.java + test/script/basic/JDK-8006570.js + test/script/basic/JDK-8006570.js.EXPECTED Changeset: e43d1013d871 Author: attila Date: 2013-01-22 14:36 +0100 URL: http://hg.openjdk.java.net/jdk8/tl/nashorn/rev/e43d1013d871 8006677: Remove unused FunctionNode flags Reviewed-by: hannesw, jlaskey ! src/jdk/nashorn/internal/codegen/Lower.java ! src/jdk/nashorn/internal/ir/FunctionNode.java ! src/jdk/nashorn/internal/parser/Parser.java Changeset: e62dba3ce52b Author: sundar Date: 2013-01-22 22:07 +0530 URL: http://hg.openjdk.java.net/jdk8/tl/nashorn/rev/e62dba3ce52b 8006678: Avoid too many Context.getGlobal() calls Reviewed-by: lagergren, jlaskey ! make/project.properties ! src/jdk/nashorn/api/scripting/NashornScriptEngine.java ! src/jdk/nashorn/api/scripting/ScriptObjectMirror.java ! src/jdk/nashorn/internal/codegen/Lower.java ! src/jdk/nashorn/internal/ir/debug/JSONWriter.java ! src/jdk/nashorn/internal/objects/AccessorPropertyDescriptor.java ! src/jdk/nashorn/internal/objects/Global.java ! src/jdk/nashorn/internal/objects/NativeArguments.java ! src/jdk/nashorn/internal/objects/NativeArray.java ! src/jdk/nashorn/internal/objects/NativeBoolean.java ! src/jdk/nashorn/internal/objects/NativeDate.java ! src/jdk/nashorn/internal/objects/NativeFunction.java ! src/jdk/nashorn/internal/objects/NativeJSAdapter.java ! src/jdk/nashorn/internal/objects/NativeJSON.java ! src/jdk/nashorn/internal/objects/NativeJava.java ! src/jdk/nashorn/internal/objects/NativeNumber.java ! src/jdk/nashorn/internal/objects/NativeObject.java ! src/jdk/nashorn/internal/objects/NativeRegExp.java ! src/jdk/nashorn/internal/objects/NativeString.java ! src/jdk/nashorn/internal/runtime/Context.java ! src/jdk/nashorn/internal/runtime/ECMAErrors.java ! src/jdk/nashorn/internal/runtime/ErrorManager.java ! src/jdk/nashorn/internal/runtime/JSType.java ! src/jdk/nashorn/internal/runtime/ParserException.java ! src/jdk/nashorn/internal/runtime/ScriptFunction.java ! src/jdk/nashorn/internal/runtime/ScriptObject.java ! src/jdk/nashorn/internal/runtime/ScriptRuntime.java ! src/jdk/nashorn/internal/runtime/ScriptingFunctions.java ! src/jdk/nashorn/internal/runtime/SetMethodCreator.java ! src/jdk/nashorn/internal/runtime/URIUtils.java ! src/jdk/nashorn/internal/runtime/Undefined.java ! src/jdk/nashorn/internal/runtime/arrays/ArrayLikeIterator.java ! src/jdk/nashorn/internal/runtime/arrays/FrozenArrayFilter.java ! src/jdk/nashorn/internal/runtime/arrays/IteratorAction.java ! src/jdk/nashorn/internal/runtime/arrays/SealedArrayFilter.java ! src/jdk/nashorn/internal/runtime/linker/JavaAdapterFactory.java ! src/jdk/nashorn/internal/runtime/linker/JavaArgumentConverters.java ! src/jdk/nashorn/internal/runtime/linker/Lookup.java ! src/jdk/nashorn/internal/runtime/linker/NashornBottomLinker.java ! src/jdk/nashorn/internal/runtime/linker/NashornStaticClassLinker.java Changeset: 0dbcb7350595 Author: sundar Date: 2013-01-23 17:04 +0530 URL: http://hg.openjdk.java.net/jdk8/tl/nashorn/rev/0dbcb7350595 8006736: nashorn script engine should support the usage multiple global objects with same engine instance Reviewed-by: lagergren, jlaskey, hannesw ! src/jdk/nashorn/api/scripting/NashornScriptEngine.java ! src/jdk/nashorn/api/scripting/ScriptObjectMirror.java ! test/src/jdk/nashorn/api/scripting/ScriptEngineTest.java Changeset: d4a968ca8953 Author: sundar Date: 2013-01-24 16:21 +0530 URL: http://hg.openjdk.java.net/jdk8/tl/nashorn/rev/d4a968ca8953 8006575: Error in codegen for element access on primitive value Reviewed-by: hannesw, lagergren ! src/jdk/nashorn/internal/codegen/CodeGenerator.java + test/script/basic/JDK-8006575.js Changeset: 3f528769aee1 Author: sundar Date: 2013-01-24 17:49 +0530 URL: http://hg.openjdk.java.net/jdk8/tl/nashorn/rev/3f528769aee1 8006755: Functions inside with statements dont get correct scope Reviewed-by: lagergren, attila ! src/jdk/nashorn/internal/parser/Parser.java + test/script/basic/JDK-8006755.js Changeset: edfa73d9fde7 Author: hannesw Date: 2013-01-24 14:55 +0100 URL: http://hg.openjdk.java.net/jdk8/tl/nashorn/rev/edfa73d9fde7 8006408: Clean up and specialize NativeString Reviewed-by: jlaskey, lagergren ! src/jdk/nashorn/internal/objects/NativeString.java + test/examples/string-micro.js Changeset: f336aee22e85 Author: jlaskey Date: 2013-01-24 12:15 -0400 URL: http://hg.openjdk.java.net/jdk8/tl/nashorn/rev/f336aee22e85 8006852: Move tests from JIRA for prepopulated map failures Reviewed-by: sundar Contributed-by: james.laskey at oracle.com + test/script/basic/JDK-8006852a.js + test/script/basic/JDK-8006852a.js.EXPECTED + test/script/basic/JDK-8006852b.js Changeset: bff7087396d7 Author: sundar Date: 2013-01-24 22:38 +0530 URL: http://hg.openjdk.java.net/jdk8/tl/nashorn/rev/bff7087396d7 8006857: ClassCastException when interface implementing function uses arguments object Reviewed-by: jlaskey, lagergren ! src/jdk/nashorn/internal/runtime/ScriptObject.java + test/script/basic/JDK-8006857.js + test/script/basic/JDK-8006857.js.EXPECTED Changeset: f52d7294536f Author: hannesw Date: 2013-01-25 17:35 +0100 URL: http://hg.openjdk.java.net/jdk8/tl/nashorn/rev/f52d7294536f 8006766: Array-like access to characters of a string is slow Reviewed-by: lagergren, attila ! src/jdk/nashorn/internal/objects/Global.java ! src/jdk/nashorn/internal/objects/NativeBoolean.java ! src/jdk/nashorn/internal/objects/NativeJSAdapter.java ! src/jdk/nashorn/internal/objects/NativeJavaImporter.java ! src/jdk/nashorn/internal/objects/NativeNumber.java ! src/jdk/nashorn/internal/objects/NativeString.java ! src/jdk/nashorn/internal/runtime/GlobalObject.java ! src/jdk/nashorn/internal/runtime/NativeJavaPackage.java ! src/jdk/nashorn/internal/runtime/ScriptFunction.java ! src/jdk/nashorn/internal/runtime/ScriptObject.java ! src/jdk/nashorn/internal/runtime/WithObject.java ! src/jdk/nashorn/internal/runtime/linker/NashornLinker.java ! src/jdk/nashorn/internal/runtime/linker/NashornPrimitiveLinker.java ! src/jdk/nashorn/internal/runtime/linker/PrimitiveLookup.java Changeset: 8f7a86f82376 Author: sundar Date: 2013-01-28 18:10 +0530 URL: http://hg.openjdk.java.net/jdk8/tl/nashorn/rev/8f7a86f82376 8006983: Introduce a command line option to switch off syntactic extensions of nashorn Reviewed-by: lagergren, attila ! src/jdk/nashorn/internal/objects/Global.java ! src/jdk/nashorn/internal/parser/Parser.java ! src/jdk/nashorn/internal/runtime/Context.java ! src/jdk/nashorn/internal/runtime/ScriptingFunctions.java ! src/jdk/nashorn/internal/runtime/resources/Options.properties + test/script/basic/JDK-8006983.js ! test/script/basic/scripting.js ! test/script/basic/scripting.js.EXPECTED Changeset: 265c46dbcf43 Author: sundar Date: 2013-01-28 21:29 +0530 URL: http://hg.openjdk.java.net/jdk8/tl/nashorn/rev/265c46dbcf43 8007004: nashorn script engine should not use thread context class loader as script 'application loader' Reviewed-by: attila, hannesw ! src/jdk/nashorn/api/scripting/NashornScriptEngine.java ! src/jdk/nashorn/api/scripting/NashornScriptEngineFactory.java Changeset: b6c69beebde6 Author: jlaskey Date: 2013-01-28 16:22 -0400 URL: http://hg.openjdk.java.net/jdk8/tl/nashorn/rev/b6c69beebde6 8006676: Integrate Nashorn into new build system Reviewed-by: jlaskey Contributed-by: james.laskey at oracle.com ! make/Makefile + makefiles/BuildNashorn.gmk + makefiles/Makefile Changeset: 333748665588 Author: sundar Date: 2013-01-29 19:57 +0530 URL: http://hg.openjdk.java.net/jdk8/tl/nashorn/rev/333748665588 8007091: Provide private API to pass application class loader for nashorn script engine Reviewed-by: jlaskey, lagergren ! src/jdk/nashorn/api/scripting/NashornScriptEngineFactory.java ! test/src/jdk/nashorn/api/scripting/ScriptEngineTest.java Changeset: 755404d7d189 Author: jlaskey Date: 2013-01-29 14:25 -0400 URL: http://hg.openjdk.java.net/jdk8/tl/nashorn/rev/755404d7d189 8007094: Apply version to nashorn.jar manifest Reviewed-by: sundar Contributed-by: james.laskey at oracle.com ! makefiles/BuildNashorn.gmk Changeset: 59970b70ebb5 Author: lagergren Date: 2013-01-30 12:26 +0100 URL: http://hg.openjdk.java.net/jdk8/tl/nashorn/rev/59970b70ebb5 8007062: Split Lower up into Lower/Attr/FinalizeTypes. Integrate AccessSpecalizer into FinalizeTypes. Summary: Lower suffered from being a "God class" trying to do everything at once. As Nashorn code generation has grown, so has Lower. It does several post processing passes, tries to do several things at once even though all type information isn't in place, adjusting state afterwards and so on. It also performs control flow analysis, type attribution and constant folding, and everything else code generation related before byte code emission. I have now separated the compilation process into Lower (create low level nodes from high level ones, copy code such as finally block inlining etc), Attr (assign types and symbols to all nodes - freeze slot and scope information) and FinalizeTypes (insert explicit casts, specialize invoke dynamic types for scope accesses). I've removed the kludgy AccessSpecializer, as this now integrates naturally with typing. Everything is now much easier to read and each module performs only one thing. I have added separate loggers for the separate ti ers. In the process I have also fixed: (1) problems with type coercion (see test/script/basic/typecoercion.js, basically our coercion was too late and our symbol inference was erroneous. This only manifested itself in very rare occasions where toNumber coercion has side effects, such as for example when valueOf is overridden) (2) copying literal nodes (literal copy did not use the superclass copy, which made all the Node specific fields not to be copied (3) erroneous literal tokenization (literals shouldn't always just inherit token information from whatever node that creates them) (4) splitter weighnodes - unary nodes were considered weightless (4) removed the hateful and kludgy "VarNode.shouldAppend", which really isn't needed when we have an attribution phase that determines self reference symbols (the only thing it was used for) (5) duplicate line number issues in the parser (6) convert bug in CodeGenerator for intermediate results of scope accesses (see test/script/b asic/access-specializer.js) ... Several of these things just stopped being problems with the new architecture "can't happen anymore" and are not bug fixes per se. All tests run. No performance regressions exist that I've been able to measure. Some increases in performance were measured, but in the statistical margin of error (which is very wide as HotSpot currently has warmup issues with LambdaForms/invoke dynamic). Compile speed has not measurably increased. Reviewed-by: jlaskey, attila ! docs/DEVELOPER_README ! src/jdk/nashorn/api/scripting/Formatter.java ! src/jdk/nashorn/api/scripting/NashornScriptEngine.java - src/jdk/nashorn/internal/codegen/AccessSpecializer.java + src/jdk/nashorn/internal/codegen/Attr.java ! src/jdk/nashorn/internal/codegen/CodeGenerator.java ! src/jdk/nashorn/internal/codegen/Compiler.java + src/jdk/nashorn/internal/codegen/FinalizeTypes.java + src/jdk/nashorn/internal/codegen/FoldConstants.java ! src/jdk/nashorn/internal/codegen/Lower.java ! src/jdk/nashorn/internal/codegen/MethodEmitter.java ! src/jdk/nashorn/internal/codegen/SharedScopeCall.java ! src/jdk/nashorn/internal/codegen/WeighNodes.java ! src/jdk/nashorn/internal/codegen/objects/FunctionObjectCreator.java ! src/jdk/nashorn/internal/ir/Block.java ! src/jdk/nashorn/internal/ir/CallNode.java ! src/jdk/nashorn/internal/ir/CatchNode.java ! src/jdk/nashorn/internal/ir/ExecuteNode.java ! src/jdk/nashorn/internal/ir/FunctionNode.java ! src/jdk/nashorn/internal/ir/LiteralNode.java ! src/jdk/nashorn/internal/ir/Node.java ! src/jdk/nashorn/internal/ir/RuntimeNode.java ! src/jdk/nashorn/internal/ir/Symbol.java ! src/jdk/nashorn/internal/ir/TryNode.java ! src/jdk/nashorn/internal/ir/VarNode.java ! src/jdk/nashorn/internal/ir/debug/ASTWriter.java ! src/jdk/nashorn/internal/objects/NativeJSON.java ! src/jdk/nashorn/internal/objects/NativeString.java ! src/jdk/nashorn/internal/parser/AbstractParser.java ! src/jdk/nashorn/internal/parser/Parser.java ! src/jdk/nashorn/internal/parser/TokenType.java ! src/jdk/nashorn/internal/runtime/Context.java ! src/jdk/nashorn/internal/runtime/DebugLogger.java ! src/jdk/nashorn/internal/runtime/OptionsObject.java ! src/jdk/nashorn/internal/runtime/PropertyMap.java ! src/jdk/nashorn/internal/runtime/ScriptObject.java ! src/jdk/nashorn/internal/runtime/ScriptingFunctions.java ! src/jdk/nashorn/internal/runtime/arrays/ArrayIterator.java ! src/jdk/nashorn/internal/runtime/arrays/ArrayLikeIterator.java ! src/jdk/nashorn/internal/runtime/arrays/FrozenArrayFilter.java ! src/jdk/nashorn/internal/runtime/arrays/SealedArrayFilter.java ! src/jdk/nashorn/internal/runtime/linker/LinkerCallSite.java ! src/jdk/nashorn/internal/runtime/options/Options.java ! src/jdk/nashorn/tools/Shell.java + test/script/basic/access-specializer.js ! test/script/basic/compile-octane.js.EXPECTED ! test/script/basic/run-octane.js + test/script/basic/typecoerce.js + test/script/basic/typecoerce.js.EXPECTED Changeset: ca6d5e4b8170 Author: sundar Date: 2013-01-30 17:52 +0530 URL: http://hg.openjdk.java.net/jdk8/tl/nashorn/rev/ca6d5e4b8170 8007132: Java objects returned from constructor functions are lost Reviewed-by: hannesw, lagergren, attila ! src/jdk/nashorn/internal/runtime/ScriptFunction.java + test/script/basic/JDK-8007132.js Changeset: 9f913c1843c8 Author: hannesw Date: 2013-01-30 14:57 +0100 URL: http://hg.openjdk.java.net/jdk8/tl/nashorn/rev/9f913c1843c8 8007109: Regression: String(ConsString) does not flatten argument to String Reviewed-by: sundar, lagergren ! src/jdk/nashorn/internal/objects/NativeString.java + test/script/basic/consstring.js + test/src/jdk/nashorn/internal/test/models/StringArgs.java Changeset: c04f54d5b672 Author: sundar Date: 2013-01-30 21:15 +0530 URL: http://hg.openjdk.java.net/jdk8/tl/nashorn/rev/c04f54d5b672 8007140: Java.extend crashes when attempting to extend java.lang.Object Reviewed-by: lagergren, hannesw ! src/jdk/nashorn/internal/runtime/linker/JavaAdapterFactory.java ! test/script/basic/JDK-8006424.js + test/script/basic/JDK-8007140.js Changeset: 9c1e7ae975db Author: sundar Date: 2013-01-31 20:07 +0530 URL: http://hg.openjdk.java.net/jdk8/tl/nashorn/rev/9c1e7ae975db 8007286: Add JavaAdapter and importPackage to compatibility script Reviewed-by: lagergren, jlaskey ! src/jdk/nashorn/api/scripting/NashornException.java ! src/jdk/nashorn/api/scripting/NashornScriptEngine.java ! src/jdk/nashorn/api/scripting/resources/engine.js ! src/jdk/nashorn/internal/parser/TokenLookup.java ! src/jdk/nashorn/internal/parser/TokenType.java ! src/jdk/nashorn/internal/runtime/ECMAException.java ! src/jdk/nashorn/internal/runtime/PropertyHashMap.java ! src/jdk/nashorn/internal/runtime/ScriptObject.java ! src/jdk/nashorn/internal/runtime/resources/mozilla_compat.js + test/script/basic/importpackage.js + test/script/basic/javaadapter.js Changeset: f7825c1a11d3 Author: attila Date: 2013-01-31 18:34 +0100 URL: http://hg.openjdk.java.net/jdk8/tl/nashorn/rev/f7825c1a11d3 8006529: Methods always get callee - it should be conditional Summary: This commit streamlines the bytecode function signatures, prologue, local variable use, scope creation, and invocation. It started out quite innocently when we noticed that we always emit __callee__ parameters for all functions even when they are not needed, but it turned out to be quite a deep rabbit hole. In the end, I identified exact conditions when functions need to have a callee parameter, when they need to receive parent scope, when they need to create their own scope, when they need to have variable arity signature, and when they need to have an "arguments" object, and made sure that callee parameters in signatures only show up when they are needed, that parent function's scope is only passed to a child function when it is needed, that the function only creates its own scope when it is needed. In crypto.js, the number of scopes dropped from 446 to 244, and the number of callees dropped from 315 to 145. Reviewed-by: jlaskey, lagergren ! src/jdk/nashorn/internal/codegen/Attr.java ! src/jdk/nashorn/internal/codegen/CodeGenerator.java ! src/jdk/nashorn/internal/codegen/Compiler.java ! src/jdk/nashorn/internal/codegen/FinalizeTypes.java ! src/jdk/nashorn/internal/codegen/Lower.java ! src/jdk/nashorn/internal/codegen/MethodEmitter.java ! src/jdk/nashorn/internal/codegen/objects/FieldObjectCreator.java ! src/jdk/nashorn/internal/codegen/objects/FunctionObjectCreator.java ! src/jdk/nashorn/internal/codegen/types/Type.java ! src/jdk/nashorn/internal/ir/Block.java ! src/jdk/nashorn/internal/ir/FunctionNode.java ! src/jdk/nashorn/internal/ir/Symbol.java ! src/jdk/nashorn/internal/objects/Global.java ! src/jdk/nashorn/internal/objects/NativeArguments.java ! src/jdk/nashorn/internal/objects/ScriptFunctionImpl.java ! src/jdk/nashorn/internal/parser/Parser.java + src/jdk/nashorn/internal/runtime/ArgumentSetter.java ! src/jdk/nashorn/internal/runtime/ScriptFunction.java ! src/jdk/nashorn/internal/runtime/ScriptRuntime.java + test/script/basic/JDK-8006529-b.js + test/script/basic/JDK-8006529-b.js.EXPECTED + test/script/basic/JDK-8006529.js + test/src/jdk/nashorn/internal/codegen/CompilerAccess.java Changeset: 697f700d90c0 Author: hannesw Date: 2013-02-01 02:24 +0100 URL: http://hg.openjdk.java.net/jdk8/tl/nashorn/rev/697f700d90c0 8007060: Primitive wrap filter throws ClassCastException in test262parallel Reviewed-by: sundar, jlaskey, lagergren ! src/jdk/nashorn/internal/objects/Global.java ! src/jdk/nashorn/internal/objects/NativeFunction.java ! src/jdk/nashorn/internal/objects/ScriptFunctionImpl.java ! src/jdk/nashorn/internal/runtime/GlobalObject.java ! src/jdk/nashorn/internal/runtime/ScriptFunction.java ! src/jdk/nashorn/internal/runtime/ScriptObject.java ! src/jdk/nashorn/internal/runtime/SetMethodCreator.java - src/jdk/nashorn/internal/runtime/linker/NashornGuardedInvocation.java ! src/jdk/nashorn/internal/runtime/linker/NashornGuards.java ! src/jdk/nashorn/internal/runtime/linker/PrimitiveLookup.java + test/script/basic/JDK-8007060.js + test/script/basic/JDK-8007060.js.EXPECTED Changeset: a704700470fb Author: jlaskey Date: 2013-02-04 08:13 -0400 URL: http://hg.openjdk.java.net/jdk8/tl/nashorn/rev/a704700470fb 8007455: Extraneous $(ECHO) in make/Makefile Reviewed-by: sundar Contributed-by: james.laskey at oracle.com ! make/Makefile Changeset: bb86bf840f9f Author: attila Date: 2013-02-04 15:59 +0100 URL: http://hg.openjdk.java.net/jdk8/tl/nashorn/rev/bb86bf840f9f 8007460: var assignment to a parameter in a varargs method causes compilation error Reviewed-by: jlaskey, lagergren ! src/jdk/nashorn/internal/codegen/CodeGenerator.java ! src/jdk/nashorn/internal/codegen/MethodEmitter.java + test/script/basic/JDK-8007460.js + test/script/basic/JDK-8007460.js.EXPECTED Changeset: bee7c8a45a04 Author: lagergren Date: 2013-02-04 16:20 +0100 URL: http://hg.openjdk.java.net/jdk8/tl/nashorn/rev/bee7c8a45a04 8007215: Varargs broken for the case of passing more than the arg limit arguments. Reviewed-by: jlaskey, attila ! src/jdk/nashorn/api/scripting/NashornException.java ! src/jdk/nashorn/api/scripting/NashornScriptEngine.java ! src/jdk/nashorn/internal/codegen/CodeGenerator.java ! src/jdk/nashorn/internal/codegen/FunctionSignature.java ! src/jdk/nashorn/internal/codegen/MethodEmitter.java ! src/jdk/nashorn/internal/codegen/RuntimeCallSite.java ! src/jdk/nashorn/internal/codegen/SharedScopeCall.java ! src/jdk/nashorn/internal/objects/Global.java ! src/jdk/nashorn/internal/runtime/ECMAException.java ! src/jdk/nashorn/internal/runtime/ScriptFunction.java ! src/jdk/nashorn/internal/runtime/ScriptObject.java + test/script/basic/JDK-8007215.js + test/script/basic/JDK-8007215.js.EXPECTED Changeset: 6f58c28c4faa Author: jlaskey Date: 2013-02-04 14:48 -0400 URL: http://hg.openjdk.java.net/jdk8/tl/nashorn/rev/6f58c28c4faa 8006191: `cmd` -> exec("cmd") in script mode Reviewed-by: sundar, lagergren, hannesw Contributed-by: james.laskey at oracle.com ! src/jdk/nashorn/api/scripting/NashornScriptEngine.java ! src/jdk/nashorn/internal/objects/Global.java ! src/jdk/nashorn/internal/parser/Lexer.java ! src/jdk/nashorn/internal/parser/Parser.java ! src/jdk/nashorn/internal/parser/TokenType.java ! src/jdk/nashorn/internal/runtime/Context.java ! src/jdk/nashorn/internal/runtime/OptionsObject.java ! src/jdk/nashorn/internal/runtime/ScriptingFunctions.java ! src/jdk/nashorn/internal/runtime/resources/Messages.properties + test/script/basic/JDK-8006191.js + test/script/basic/JDK-8006191.js.EXPECTED Changeset: 5c2ed5d89524 Author: sundar Date: 2013-02-05 09:11 +0530 URL: http://hg.openjdk.java.net/jdk8/tl/nashorn/rev/5c2ed5d89524 8007452: add scripting programmers doc changes for nashorn Reviewed-by: jlaskey, hannesw + docs/JavaScriptingProgrammersGuide.html + docs/source/EvalFile.java + docs/source/EvalScript.java + docs/source/InvokeScriptFunction.java + docs/source/InvokeScriptMethod.java + docs/source/MultiScopes.java + docs/source/RunnableImpl.java + docs/source/RunnableImplObject.java + docs/source/ScriptVars.java + docs/source/importpackageclass.js + docs/source/javaarray.js + docs/source/javaextend.js + docs/source/javaimporter.js + docs/source/javatypes.js + docs/source/overload.js + docs/source/runnable.js + docs/source/samfunc.js + docs/source/test.js ! src/jdk/nashorn/internal/objects/NativeJava.java Changeset: c48e8a28da90 Author: sundar Date: 2013-02-05 18:44 +0530 URL: http://hg.openjdk.java.net/jdk8/tl/nashorn/rev/c48e8a28da90 8007521: $ENV should be undefined when security manager is present Reviewed-by: hannesw, jlaskey ! src/jdk/nashorn/internal/objects/Global.java ! src/jdk/nashorn/internal/runtime/ScriptingFunctions.java - test/script/basic/JDK-8006191.js - test/script/basic/JDK-8006191.js.EXPECTED + test/script/currently-failing/JDK-8006191.js + test/script/currently-failing/JDK-8006191.js.EXPECTED + test/script/sandbox/env.js + test/script/sandbox/exec.js Changeset: 819b5485949d Author: sundar Date: 2013-02-05 21:00 +0530 URL: http://hg.openjdk.java.net/jdk8/tl/nashorn/rev/819b5485949d 8007522: IllegalStateException thrown from String.prototype.search function Reviewed-by: jlaskey ! src/jdk/nashorn/internal/objects/NativeRegExp.java + test/script/basic/JDK-8007522.js Changeset: f05d4dae30f7 Author: sundar Date: 2013-02-05 22:07 +0530 URL: http://hg.openjdk.java.net/jdk8/tl/nashorn/rev/f05d4dae30f7 8007523: VerifyError on script that uses regular expression literals with ternary operator Reviewed-by: lagergren ! src/jdk/nashorn/internal/ir/LiteralNode.java ! test/script/basic/JDK-8007522.js + test/script/basic/JDK-8007523.js Changeset: f6fae6de6f4f Author: hannesw Date: 2013-02-06 10:31 +0100 URL: http://hg.openjdk.java.net/jdk8/tl/nashorn/rev/f6fae6de6f4f 8007273: Creation of ScriptFunctions can be refactored Reviewed-by: lagergren, attila ! src/jdk/nashorn/internal/codegen/objects/FunctionObjectCreator.java ! src/jdk/nashorn/internal/codegen/objects/ObjectCreator.java ! src/jdk/nashorn/internal/objects/Global.java ! src/jdk/nashorn/internal/objects/ScriptFunctionImpl.java ! src/jdk/nashorn/internal/runtime/PropertyMap.java ! src/jdk/nashorn/internal/runtime/ScriptFunction.java + src/jdk/nashorn/internal/runtime/ScriptFunctionData.java Changeset: fcf541418304 Author: sundar Date: 2013-02-06 17:56 +0530 URL: http://hg.openjdk.java.net/jdk8/tl/nashorn/rev/fcf541418304 8007619: Add support for deprecated properties of RegExp constructor Reviewed-by: lagergren, hannesw ! src/jdk/nashorn/internal/objects/Global.java ! src/jdk/nashorn/internal/objects/NativeRegExp.java ! src/jdk/nashorn/internal/runtime/ScriptObject.java + test/script/basic/JDK-8007619.js + test/script/basic/JDK-8007619.js.EXPECTED Changeset: ec4d59c9b8d2 Author: jlaskey Date: 2013-02-06 08:42 -0400 URL: http://hg.openjdk.java.net/jdk8/tl/nashorn/rev/ec4d59c9b8d2 8007545: jjs input evalinput need to be NOT_ENUMERABLE Reviewed-by: sundar, lagergren Contributed-by: james.laskey at oracle.com ! src/jdk/nashorn/tools/resources/shell.js Changeset: 2ca25bf25d0c Author: jlaskey Date: 2013-02-06 11:57 -0400 URL: http://hg.openjdk.java.net/jdk8/tl/nashorn/rev/2ca25bf25d0c 8007629: Remove extraneous quit from shell.js Reviewed-by: sundar, hannesw Contributed-by: james.laskey at oracle.com ! src/jdk/nashorn/api/scripting/resources/init.js ! src/jdk/nashorn/internal/objects/Global.java ! src/jdk/nashorn/internal/runtime/ScriptingFunctions.java ! src/jdk/nashorn/tools/resources/shell.js Changeset: 02f810c26ff9 Author: jlaskey Date: 2013-02-06 12:51 -0400 URL: http://hg.openjdk.java.net/jdk8/tl/nashorn/rev/02f810c26ff9 8007643: Add testing for quit and exit Reviewed-by: sundar Contributed-by: james.laskey at oracle.com ! test/script/sandbox/exit.js ! test/script/sandbox/exit.js.EXPECTED Changeset: d7e83be6e7aa Author: sundar Date: 2013-02-07 17:17 +0530 URL: http://hg.openjdk.java.net/jdk8/tl/nashorn/rev/d7e83be6e7aa 8007715: Make sure that not all tests run with AllPermission Reviewed-by: lagergren, attila ! make/build.xml ! make/project.properties ! src/jdk/nashorn/internal/runtime/Context.java ! src/jdk/nashorn/internal/runtime/linker/JavaAdapterFactory.java + test/script/README - test/script/basic/JDK-8006424.js - test/script/basic/JDK-8006529.js - test/script/basic/NASHORN-638.js - test/script/basic/NASHORN-638.js.EXPECTED - test/script/basic/NASHORN-653.js ! test/script/basic/NASHORN-758.js - test/script/basic/getenv.js - test/script/basic/getenv.js.EXPECTED ! test/script/basic/javaexceptions.js ! test/script/basic/newexpr.js + test/script/sandbox/interfaceimpl.js + test/script/sandbox/loadcompat.js + test/script/trusted/JDK-8006424.js + test/script/trusted/JDK-8006529.js + test/script/trusted/NASHORN-638.js + test/script/trusted/NASHORN-638.js.EXPECTED + test/script/trusted/NASHORN-653.js + test/script/trusted/README + test/script/trusted/getenv.js + test/script/trusted/getenv.js.EXPECTED ! test/src/jdk/nashorn/api/scripting/ScriptEngineTest.java ! test/src/jdk/nashorn/internal/runtime/ContextTest.java Changeset: bca3a64a4a82 Author: hannesw Date: 2013-02-07 14:58 +0100 URL: http://hg.openjdk.java.net/jdk8/tl/nashorn/rev/bca3a64a4a82 8007627: Support @Getter annotation on constructor Reviewed-by: attila, lagergren ! buildtools/nasgen/src/jdk/nashorn/internal/tools/nasgen/ConstructorGenerator.java ! buildtools/nasgen/src/jdk/nashorn/internal/tools/nasgen/PrototypeGenerator.java Changeset: d5130a5803d1 Author: hannesw Date: 2013-02-07 15:33 +0100 URL: http://hg.openjdk.java.net/jdk8/tl/nashorn/rev/d5130a5803d1 8007718: Make static RegExp properties fully compatible to other engines Reviewed-by: lagergren, sundar ! src/jdk/nashorn/internal/objects/Global.java ! src/jdk/nashorn/internal/objects/NativeRegExp.java ! src/jdk/nashorn/internal/runtime/RegExpMatch.java ! src/jdk/nashorn/internal/runtime/ScriptObject.java + test/script/basic/JDK-8007718.js + test/script/basic/JDK-8007718.js.EXPECTED Changeset: 8742be332c8a Author: jlaskey Date: 2013-02-08 09:19 -0400 URL: http://hg.openjdk.java.net/jdk8/tl/nashorn/rev/8742be332c8a 8006222: Move slot from SpillProperty to Property Reviewed-by: hannesw, lagergren Contributed-by: james.laskey at oracle.com ! src/jdk/nashorn/internal/codegen/objects/FieldObjectCreator.java ! src/jdk/nashorn/internal/codegen/objects/MapCreator.java ! src/jdk/nashorn/internal/codegen/objects/ObjectCreator.java ! src/jdk/nashorn/internal/objects/ScriptFunctionImpl.java ! src/jdk/nashorn/internal/runtime/AccessorProperty.java ! src/jdk/nashorn/internal/runtime/FindProperty.java ! src/jdk/nashorn/internal/runtime/Property.java ! src/jdk/nashorn/internal/runtime/PropertyMap.java ! src/jdk/nashorn/internal/runtime/ScriptObject.java ! src/jdk/nashorn/internal/runtime/SpillProperty.java ! src/jdk/nashorn/internal/runtime/UserAccessorProperty.java ! src/jdk/nashorn/internal/runtime/linker/Lookup.java Changeset: 5ead5333fa59 Author: attila Date: 2013-02-09 16:58 +0100 URL: http://hg.openjdk.java.net/jdk8/tl/nashorn/rev/5ead5333fa59 8006943: Fix order of function method arguments to be (callee, thisObject) Reviewed-by: jlaskey, lagergren ! src/jdk/nashorn/internal/codegen/Attr.java ! src/jdk/nashorn/internal/codegen/CodeGenerator.java ! src/jdk/nashorn/internal/codegen/CompilerConstants.java ! src/jdk/nashorn/internal/codegen/FunctionSignature.java ! src/jdk/nashorn/internal/codegen/MethodEmitter.java ! src/jdk/nashorn/internal/codegen/objects/ObjectClassGenerator.java ! src/jdk/nashorn/internal/codegen/types/ObjectType.java ! src/jdk/nashorn/internal/objects/ScriptFunctionImpl.java ! src/jdk/nashorn/internal/runtime/Context.java ! src/jdk/nashorn/internal/runtime/ScriptFunction.java ! src/jdk/nashorn/internal/runtime/ScriptFunctionData.java Changeset: abea4ba28901 Author: sundar Date: 2013-02-11 21:26 +0530 URL: http://hg.openjdk.java.net/jdk8/tl/nashorn/rev/abea4ba28901 8007915: Nashorn IR, codegen, parser packages and Context instance should be inaccessible to user code Reviewed-by: lagergren, jlaskey, attila ! bin/jjssecure ! bin/jjssecure.bat ! bin/nashornsecure ! bin/nashornsecure.bat ! make/Makefile ! make/build.xml + make/java.security.override ! make/project.properties ! src/jdk/nashorn/internal/codegen/Attr.java ! src/jdk/nashorn/internal/codegen/CodeGenerator.java ! src/jdk/nashorn/internal/codegen/Compiler.java ! src/jdk/nashorn/internal/codegen/RuntimeCallSite.java ! src/jdk/nashorn/internal/ir/Symbol.java ! src/jdk/nashorn/internal/ir/debug/JSONWriter.java ! src/jdk/nashorn/internal/objects/AccessorPropertyDescriptor.java ! src/jdk/nashorn/internal/objects/DataPropertyDescriptor.java ! src/jdk/nashorn/internal/objects/GenericPropertyDescriptor.java ! src/jdk/nashorn/internal/objects/Global.java ! src/jdk/nashorn/internal/objects/NativeArray.java ! src/jdk/nashorn/internal/objects/NativeArrayBuffer.java ! src/jdk/nashorn/internal/objects/NativeDebug.java ! src/jdk/nashorn/internal/objects/NativeError.java ! src/jdk/nashorn/internal/objects/NativeEvalError.java ! src/jdk/nashorn/internal/objects/NativeFloat32Array.java ! src/jdk/nashorn/internal/objects/NativeFloat64Array.java ! src/jdk/nashorn/internal/objects/NativeFunction.java ! src/jdk/nashorn/internal/objects/NativeInt16Array.java ! src/jdk/nashorn/internal/objects/NativeInt32Array.java ! src/jdk/nashorn/internal/objects/NativeInt8Array.java ! src/jdk/nashorn/internal/objects/NativeJSAdapter.java ! src/jdk/nashorn/internal/objects/NativeJSON.java ! src/jdk/nashorn/internal/objects/NativeJava.java ! src/jdk/nashorn/internal/objects/NativeJavaImporter.java ! src/jdk/nashorn/internal/objects/NativeRangeError.java ! src/jdk/nashorn/internal/objects/NativeReferenceError.java ! src/jdk/nashorn/internal/objects/NativeRegExp.java ! src/jdk/nashorn/internal/objects/NativeRegExpExecResult.java ! src/jdk/nashorn/internal/objects/NativeString.java ! src/jdk/nashorn/internal/objects/NativeSyntaxError.java ! src/jdk/nashorn/internal/objects/NativeTypeError.java ! src/jdk/nashorn/internal/objects/NativeURIError.java ! src/jdk/nashorn/internal/objects/NativeUint16Array.java ! src/jdk/nashorn/internal/objects/NativeUint32Array.java ! src/jdk/nashorn/internal/objects/NativeUint8Array.java ! src/jdk/nashorn/internal/objects/NativeUint8ClampedArray.java ! src/jdk/nashorn/internal/objects/ScriptFunctionImpl.java ! src/jdk/nashorn/internal/parser/AbstractParser.java ! src/jdk/nashorn/internal/parser/Lexer.java - src/jdk/nashorn/internal/parser/RegExp.java - src/jdk/nashorn/internal/parser/RegExpScanner.java ! src/jdk/nashorn/internal/runtime/ArgumentSetter.java ! src/jdk/nashorn/internal/runtime/BitVector.java ! src/jdk/nashorn/internal/runtime/ConsString.java ! src/jdk/nashorn/internal/runtime/Context.java ! src/jdk/nashorn/internal/runtime/Debug.java ! src/jdk/nashorn/internal/runtime/DebugLogger.java ! src/jdk/nashorn/internal/runtime/GlobalFunctions.java + src/jdk/nashorn/internal/runtime/JSONFunctions.java ! src/jdk/nashorn/internal/runtime/Logging.java ! src/jdk/nashorn/internal/runtime/NashornLoader.java ! src/jdk/nashorn/internal/runtime/NativeJavaPackage.java + src/jdk/nashorn/internal/runtime/RegExp.java + src/jdk/nashorn/internal/runtime/RegExpScanner.java ! src/jdk/nashorn/internal/runtime/ScriptFunction.java ! src/jdk/nashorn/internal/runtime/ScriptFunctionData.java ! src/jdk/nashorn/internal/runtime/ScriptLoader.java ! src/jdk/nashorn/internal/runtime/ScriptObject.java ! src/jdk/nashorn/internal/runtime/ScriptRuntime.java ! src/jdk/nashorn/internal/runtime/ScriptingFunctions.java ! src/jdk/nashorn/internal/runtime/SetMethodCreator.java ! src/jdk/nashorn/internal/runtime/StructureLoader.java ! src/jdk/nashorn/internal/runtime/WithObject.java ! src/jdk/nashorn/internal/runtime/arrays/EmptyArrayLikeIterator.java ! src/jdk/nashorn/internal/runtime/arrays/MapIterator.java ! src/jdk/nashorn/internal/runtime/linker/Bootstrap.java ! src/jdk/nashorn/internal/runtime/resources/parser.js + test/script/sandbox/nashorninternals.js ! test/script/trusted/JDK-8006529.js + test/src/jdk/nashorn/api/javaaccess/BooleanAccessTest.java + test/src/jdk/nashorn/api/javaaccess/MethodAccessTest.java + test/src/jdk/nashorn/api/javaaccess/NumberAccessTest.java + test/src/jdk/nashorn/api/javaaccess/NumberBoxingTest.java + test/src/jdk/nashorn/api/javaaccess/ObjectAccessTest.java + test/src/jdk/nashorn/api/javaaccess/Person.java + test/src/jdk/nashorn/api/javaaccess/SharedObject.java + test/src/jdk/nashorn/api/javaaccess/StringAccessTest.java - test/src/jdk/nashorn/internal/access/BooleanAccessTest.java - test/src/jdk/nashorn/internal/access/MethodAccessTest.java - test/src/jdk/nashorn/internal/access/NumberAccessTest.java - test/src/jdk/nashorn/internal/access/NumberBoxingTest.java - test/src/jdk/nashorn/internal/access/ObjectAccessTest.java - test/src/jdk/nashorn/internal/access/Person.java - test/src/jdk/nashorn/internal/access/SharedObject.java - test/src/jdk/nashorn/internal/access/StringAccessTest.java - test/src/jdk/nashorn/internal/codegen/CompilerAccess.java Changeset: 774a0f349cc0 Author: hannesw Date: 2013-02-12 13:55 +0100 URL: http://hg.openjdk.java.net/jdk8/tl/nashorn/rev/774a0f349cc0 8007956: Wrong or obsolete system properties in docs/DEVELOPER_README Reviewed-by: attila, jlaskey ! docs/DEVELOPER_README Changeset: d50e1752f59b Author: attila Date: 2013-02-12 12:47 +0100 URL: http://hg.openjdk.java.net/jdk8/tl/nashorn/rev/d50e1752f59b 8007900: Function binding is inefficient Reviewed-by: jlaskey, lagergren + src/jdk/nashorn/internal/objects/BoundScriptFunctionImpl.java ! src/jdk/nashorn/internal/objects/Global.java ! src/jdk/nashorn/internal/objects/NativeStrictArguments.java ! src/jdk/nashorn/internal/objects/ScriptFunctionImpl.java ! src/jdk/nashorn/internal/runtime/ArgumentSetter.java ! src/jdk/nashorn/internal/runtime/PropertyMap.java ! src/jdk/nashorn/internal/runtime/ScriptFunction.java ! src/jdk/nashorn/internal/runtime/ScriptFunctionData.java ! src/jdk/nashorn/internal/runtime/ScriptRuntime.java + src/jdk/nashorn/internal/runtime/SpecializedMethodChooser.java + test/script/basic/funcbind2.js + test/script/basic/funcbind2.js.EXPECTED + test/script/basic/funcbind3.js + test/script/basic/funcbind3.js.EXPECTED Changeset: a3dc1b180ce7 Author: hannesw Date: 2013-02-13 13:30 +0100 URL: http://hg.openjdk.java.net/jdk8/tl/nashorn/rev/a3dc1b180ce7 8008096: TokenStream buffer should grow exponentially Reviewed-by: attila, lagergren, sundar ! src/jdk/nashorn/internal/parser/TokenStream.java Changeset: 38c44687e4bd Author: sundar Date: 2013-02-13 19:59 +0530 URL: http://hg.openjdk.java.net/jdk8/tl/nashorn/rev/38c44687e4bd 8008103: Source object should maintain URL of the script source as a private field Reviewed-by: lagergren, jlaskey ! src/jdk/nashorn/api/scripting/NashornScriptEngine.java ! src/jdk/nashorn/internal/runtime/Context.java ! src/jdk/nashorn/internal/runtime/Source.java ! src/jdk/nashorn/tools/Shell.java ! test/src/jdk/nashorn/internal/codegen/CompilerTest.java ! test/src/jdk/nashorn/internal/runtime/ContextTest.java ! test/src/jdk/nashorn/internal/test/framework/SharedContextEvaluator.java Changeset: 222b9f32b674 Author: sundar Date: 2013-02-14 09:14 +0530 URL: http://hg.openjdk.java.net/jdk8/tl/nashorn/rev/222b9f32b674 8008193: test262 tests should be run with security manager enabled Reviewed-by: jlaskey ! make/build.xml Changeset: 8c72a2bec1be Author: sundar Date: 2013-02-14 14:16 +0530 URL: http://hg.openjdk.java.net/jdk8/tl/nashorn/rev/8c72a2bec1be 8008197: Cross script engine function calls do not work as expected Reviewed-by: lagergren, hannesw ! src/jdk/nashorn/api/scripting/NashornScriptEngine.java ! src/jdk/nashorn/api/scripting/ScriptObjectMirror.java ! src/jdk/nashorn/internal/runtime/ScriptFunction.java ! src/jdk/nashorn/internal/runtime/ScriptRuntime.java + test/script/basic/JDK-8008197.js ! test/script/basic/jquery.js Changeset: 43e32b36153c Author: lagergren Date: 2013-02-14 13:01 +0100 URL: http://hg.openjdk.java.net/jdk8/tl/nashorn/rev/43e32b36153c 8008199: Lazy compilation and trampoline implementation Summary: The code pipeline now supports lazy compilation, which can be used to only compile certain FunctionNodes and leave others be, saving startup time. When these uncompiled nodes are hit, a trampoline will force them to be recompiled. This can also be used to specialize compilation fixing parameter types and return types to a callsite specific compilation. This will give performance. Reviewed-by: attila, sundar ! src/jdk/nashorn/internal/codegen/Attr.java ! src/jdk/nashorn/internal/codegen/ClassEmitter.java ! src/jdk/nashorn/internal/codegen/CodeGenerator.java + src/jdk/nashorn/internal/codegen/CompilationPhase.java ! src/jdk/nashorn/internal/codegen/CompileUnit.java ! src/jdk/nashorn/internal/codegen/Compiler.java ! src/jdk/nashorn/internal/codegen/ConstantData.java ! src/jdk/nashorn/internal/codegen/FinalizeTypes.java ! src/jdk/nashorn/internal/codegen/FoldConstants.java ! src/jdk/nashorn/internal/codegen/FunctionSignature.java ! src/jdk/nashorn/internal/codegen/Lower.java ! src/jdk/nashorn/internal/codegen/SharedScopeCall.java ! src/jdk/nashorn/internal/codegen/Splitter.java ! src/jdk/nashorn/internal/codegen/WeighNodes.java - src/jdk/nashorn/internal/codegen/objects/FunctionObjectCreator.java ! src/jdk/nashorn/internal/codegen/objects/ObjectClassGenerator.java ! src/jdk/nashorn/internal/ir/FunctionNode.java ! src/jdk/nashorn/internal/ir/debug/JSONWriter.java ! src/jdk/nashorn/internal/ir/visitor/NodeVisitor.java ! src/jdk/nashorn/internal/objects/BoundScriptFunctionImpl.java ! src/jdk/nashorn/internal/objects/Global.java ! src/jdk/nashorn/internal/objects/NativeJava.java ! src/jdk/nashorn/internal/objects/ScriptFunctionImpl.java + src/jdk/nashorn/internal/objects/ScriptFunctionTrampolineImpl.java ! src/jdk/nashorn/internal/parser/Lexer.java ! src/jdk/nashorn/internal/parser/Parser.java ! src/jdk/nashorn/internal/runtime/CodeInstaller.java ! src/jdk/nashorn/internal/runtime/Context.java ! src/jdk/nashorn/internal/runtime/DebugLogger.java ! src/jdk/nashorn/internal/runtime/FindProperty.java ! src/jdk/nashorn/internal/runtime/ScriptFunction.java ! src/jdk/nashorn/internal/runtime/ScriptFunctionData.java ! src/jdk/nashorn/internal/runtime/ScriptingFunctions.java ! src/jdk/nashorn/tools/Shell.java ! test/script/trusted/JDK-8006529.js ! test/src/jdk/nashorn/internal/parser/ParserTest.java ! test/src/jdk/nashorn/internal/test/framework/SharedContextEvaluator.java Changeset: 5a820fb11814 Author: attila Date: 2013-02-14 13:22 +0100 URL: http://hg.openjdk.java.net/jdk8/tl/nashorn/rev/5a820fb11814 8008085: Integrate Dynalink source code into Nashorn codebase Reviewed-by: jlaskey, lagergren, sundar ! THIRD_PARTY_README ! make/build.xml ! make/nbproject/project.xml ! make/project.properties + src/jdk/internal/dynalink/CallSiteDescriptor.java + src/jdk/internal/dynalink/ChainedCallSite.java + src/jdk/internal/dynalink/DefaultBootstrapper.java + src/jdk/internal/dynalink/DynamicLinker.java + src/jdk/internal/dynalink/DynamicLinkerFactory.java + src/jdk/internal/dynalink/MonomorphicCallSite.java + src/jdk/internal/dynalink/NoSuchDynamicMethodException.java + src/jdk/internal/dynalink/RelinkableCallSite.java + src/jdk/internal/dynalink/beans/AbstractJavaLinker.java + src/jdk/internal/dynalink/beans/AccessibleMembersLookup.java + src/jdk/internal/dynalink/beans/ApplicableOverloadedMethods.java + src/jdk/internal/dynalink/beans/BeanIntrospector.java + src/jdk/internal/dynalink/beans/BeanLinker.java + src/jdk/internal/dynalink/beans/BeansLinker.java + src/jdk/internal/dynalink/beans/CheckRestrictedPackage.java + src/jdk/internal/dynalink/beans/CheckRestrictedPackageInternal.java + src/jdk/internal/dynalink/beans/ClassLinker.java + src/jdk/internal/dynalink/beans/ClassString.java + src/jdk/internal/dynalink/beans/DynamicMethod.java + src/jdk/internal/dynalink/beans/DynamicMethodLinker.java + src/jdk/internal/dynalink/beans/FacetIntrospector.java + src/jdk/internal/dynalink/beans/GuardedInvocationComponent.java + src/jdk/internal/dynalink/beans/MaximallySpecific.java + src/jdk/internal/dynalink/beans/OverloadedDynamicMethod.java + src/jdk/internal/dynalink/beans/OverloadedMethod.java + src/jdk/internal/dynalink/beans/RestrictedPackageTester.java + src/jdk/internal/dynalink/beans/SimpleDynamicMethod.java + src/jdk/internal/dynalink/beans/StaticClass.java + src/jdk/internal/dynalink/beans/StaticClassIntrospector.java + src/jdk/internal/dynalink/beans/StaticClassLinker.java + src/jdk/internal/dynalink/beans/messages.properties + src/jdk/internal/dynalink/beans/package.html + src/jdk/internal/dynalink/linker/ConversionComparator.java + src/jdk/internal/dynalink/linker/GuardedInvocation.java + src/jdk/internal/dynalink/linker/GuardingDynamicLinker.java + src/jdk/internal/dynalink/linker/GuardingTypeConverterFactory.java + src/jdk/internal/dynalink/linker/LinkRequest.java + src/jdk/internal/dynalink/linker/LinkerServices.java + src/jdk/internal/dynalink/linker/TypeBasedGuardingDynamicLinker.java + src/jdk/internal/dynalink/linker/package.html + src/jdk/internal/dynalink/package.html + src/jdk/internal/dynalink/support/AbstractCallSiteDescriptor.java + src/jdk/internal/dynalink/support/AbstractRelinkableCallSite.java + src/jdk/internal/dynalink/support/AutoDiscovery.java + src/jdk/internal/dynalink/support/Backport.java + src/jdk/internal/dynalink/support/BottomGuardingDynamicLinker.java + src/jdk/internal/dynalink/support/CallSiteDescriptorFactory.java + src/jdk/internal/dynalink/support/ClassMap.java + src/jdk/internal/dynalink/support/CompositeGuardingDynamicLinker.java + src/jdk/internal/dynalink/support/CompositeTypeBasedGuardingDynamicLinker.java + src/jdk/internal/dynalink/support/DefaultCallSiteDescriptor.java + src/jdk/internal/dynalink/support/Guards.java + src/jdk/internal/dynalink/support/LinkRequestImpl.java + src/jdk/internal/dynalink/support/LinkerServicesImpl.java + src/jdk/internal/dynalink/support/Lookup.java + src/jdk/internal/dynalink/support/LookupCallSiteDescriptor.java + src/jdk/internal/dynalink/support/NameCodec.java + src/jdk/internal/dynalink/support/NamedDynCallSiteDescriptor.java + src/jdk/internal/dynalink/support/RuntimeContextLinkRequestImpl.java + src/jdk/internal/dynalink/support/TypeConverterFactory.java + src/jdk/internal/dynalink/support/TypeUtilities.java + src/jdk/internal/dynalink/support/UnnamedDynCallSiteDescriptor.java + src/jdk/internal/dynalink/support/messages.properties + src/jdk/internal/dynalink/support/package.html ! src/jdk/nashorn/internal/codegen/Compiler.java ! src/jdk/nashorn/internal/codegen/MethodEmitter.java ! src/jdk/nashorn/internal/codegen/WeighNodes.java ! src/jdk/nashorn/internal/ir/Block.java ! src/jdk/nashorn/internal/ir/CallNode.java ! src/jdk/nashorn/internal/ir/Node.java ! src/jdk/nashorn/internal/ir/Symbol.java ! src/jdk/nashorn/internal/objects/Global.java ! src/jdk/nashorn/internal/objects/NativeBoolean.java ! src/jdk/nashorn/internal/objects/NativeJSAdapter.java ! src/jdk/nashorn/internal/objects/NativeJava.java ! src/jdk/nashorn/internal/objects/NativeJavaImporter.java ! src/jdk/nashorn/internal/objects/NativeNumber.java ! src/jdk/nashorn/internal/objects/NativeString.java ! src/jdk/nashorn/internal/parser/Lexer.java ! src/jdk/nashorn/internal/runtime/GlobalObject.java ! src/jdk/nashorn/internal/runtime/JSType.java ! src/jdk/nashorn/internal/runtime/NativeJavaPackage.java ! src/jdk/nashorn/internal/runtime/ScriptFunction.java ! src/jdk/nashorn/internal/runtime/ScriptLoader.java ! src/jdk/nashorn/internal/runtime/ScriptObject.java ! src/jdk/nashorn/internal/runtime/ScriptRuntime.java ! src/jdk/nashorn/internal/runtime/SetMethodCreator.java ! src/jdk/nashorn/internal/runtime/StructureLoader.java ! src/jdk/nashorn/internal/runtime/Undefined.java ! src/jdk/nashorn/internal/runtime/WithObject.java ! src/jdk/nashorn/internal/runtime/linker/Bootstrap.java ! src/jdk/nashorn/internal/runtime/linker/JSObjectLinker.java ! src/jdk/nashorn/internal/runtime/linker/JavaAdapterFactory.java ! src/jdk/nashorn/internal/runtime/linker/JavaArgumentConverters.java ! src/jdk/nashorn/internal/runtime/linker/LinkerCallSite.java ! src/jdk/nashorn/internal/runtime/linker/NashornBottomLinker.java ! src/jdk/nashorn/internal/runtime/linker/NashornCallSiteDescriptor.java ! src/jdk/nashorn/internal/runtime/linker/NashornLinker.java ! src/jdk/nashorn/internal/runtime/linker/NashornPrimitiveLinker.java ! src/jdk/nashorn/internal/runtime/linker/NashornStaticClassLinker.java ! src/jdk/nashorn/internal/runtime/linker/PrimitiveLookup.java ! src/jdk/nashorn/internal/runtime/options/Options.java ! test/script/sandbox/nashorninternals.js ! test/src/jdk/nashorn/api/scripting/ScriptEngineTest.java ! test/src/jdk/nashorn/internal/runtime/ContextTest.java ! test/src/jdk/nashorn/internal/runtime/JSTypeTest.java Changeset: d086c3eead6b Author: lagergren Date: 2013-02-14 13:52 +0100 URL: http://hg.openjdk.java.net/jdk8/tl/nashorn/rev/d086c3eead6b 8008206: The allInteger case for SwitchNode generation in CodeGenerator assumes integer LITERALS only. Reviewed-by: sundar, jlaskey ! src/jdk/nashorn/internal/codegen/Attr.java ! src/jdk/nashorn/internal/codegen/CodeGenerator.java + test/script/basic/JDK-8008206.js + test/script/basic/JDK-8008206.js.EXPECTED Changeset: 3df0a0d62d60 Author: attila Date: 2013-02-14 13:51 +0100 URL: http://hg.openjdk.java.net/jdk8/tl/nashorn/rev/3df0a0d62d60 8007990: No access to interface methods on a restricted class Reviewed-by: jlaskey, lagergren, sundar ! make/build.xml + test/script/basic/JDK-8007990.js + test/script/basic/JDK-8007990.js.EXPECTED Changeset: d1ce4e09e4ba Author: hannesw Date: 2013-02-14 14:07 +0100 URL: http://hg.openjdk.java.net/jdk8/tl/nashorn/rev/d1ce4e09e4ba 8008198: java.lang.AssertionError: Invalid break target class jdk.nashorn.internal.ir.TryNode Reviewed-by: attila, jlaskey ! src/jdk/nashorn/internal/ir/LabelNode.java ! src/jdk/nashorn/internal/parser/Parser.java + test/script/basic/JDK-8008198.js + test/script/basic/JDK-8008198.js.EXPECTED Changeset: d41d7cf9ab8b Author: jlaskey Date: 2013-02-14 11:32 -0400 URL: http://hg.openjdk.java.net/jdk8/tl/nashorn/rev/d41d7cf9ab8b 8008231: Fix build system to accommodate integration of dynalink Reviewed-by: jlaskey Contributed-by: james.laskey at oracle.com ! makefiles/BuildNashorn.gmk Changeset: 36065e5ea3d1 Author: hannesw Date: 2013-02-15 09:18 +0100 URL: http://hg.openjdk.java.net/jdk8/tl/nashorn/rev/36065e5ea3d1 8008215: break in catch clause causes java.lang.VerifyError: Inconsistent stackmap Reviewed-by: jlaskey, lagergren ! src/jdk/nashorn/internal/parser/Parser.java + test/script/basic/JDK-8008215.js + test/script/basic/JDK-8008215.js.EXPECTED Changeset: e478708faa22 Author: lagergren Date: 2013-02-15 09:44 +0100 URL: http://hg.openjdk.java.net/jdk8/tl/nashorn/rev/e478708faa22 8008239: Unpublicized parts of the code generator package that were only package internal. Reviewed-by: hannesw, attila ! src/jdk/nashorn/internal/codegen/BranchOptimizer.java ! src/jdk/nashorn/internal/codegen/ClassEmitter.java ! src/jdk/nashorn/internal/codegen/CodeGenerator.java ! src/jdk/nashorn/internal/codegen/CompilationPhase.java ! src/jdk/nashorn/internal/codegen/CompilerConstants.java + src/jdk/nashorn/internal/codegen/Condition.java + src/jdk/nashorn/internal/codegen/FieldObjectCreator.java ! src/jdk/nashorn/internal/codegen/FunctionSignature.java + src/jdk/nashorn/internal/codegen/Label.java + src/jdk/nashorn/internal/codegen/MapCreator.java ! src/jdk/nashorn/internal/codegen/MethodEmitter.java + src/jdk/nashorn/internal/codegen/ObjectClassGenerator.java + src/jdk/nashorn/internal/codegen/ObjectCreator.java ! src/jdk/nashorn/internal/codegen/SharedScopeCall.java ! src/jdk/nashorn/internal/codegen/Splitter.java - src/jdk/nashorn/internal/codegen/objects/FieldObjectCreator.java - src/jdk/nashorn/internal/codegen/objects/MapCreator.java - src/jdk/nashorn/internal/codegen/objects/ObjectClassGenerator.java - src/jdk/nashorn/internal/codegen/objects/ObjectCreator.java - src/jdk/nashorn/internal/codegen/objects/ObjectMapCreator.java ! src/jdk/nashorn/internal/codegen/types/BooleanType.java ! src/jdk/nashorn/internal/codegen/types/IntType.java ! src/jdk/nashorn/internal/codegen/types/LongType.java ! src/jdk/nashorn/internal/codegen/types/NumberType.java ! src/jdk/nashorn/internal/ir/AccessNode.java ! src/jdk/nashorn/internal/ir/BaseNode.java ! src/jdk/nashorn/internal/ir/Block.java ! src/jdk/nashorn/internal/ir/BreakNode.java ! src/jdk/nashorn/internal/ir/BreakableNode.java ! src/jdk/nashorn/internal/ir/CallNode.java ! src/jdk/nashorn/internal/ir/CaseNode.java ! src/jdk/nashorn/internal/ir/CatchNode.java ! src/jdk/nashorn/internal/ir/ContinueNode.java ! src/jdk/nashorn/internal/ir/IdentNode.java ! src/jdk/nashorn/internal/ir/IndexNode.java ! src/jdk/nashorn/internal/ir/LabelNode.java ! src/jdk/nashorn/internal/ir/LineNumberNode.java ! src/jdk/nashorn/internal/ir/ObjectNode.java ! src/jdk/nashorn/internal/ir/ReturnNode.java ! src/jdk/nashorn/internal/ir/SplitNode.java ! src/jdk/nashorn/internal/ir/SwitchNode.java ! src/jdk/nashorn/internal/ir/ThrowNode.java ! src/jdk/nashorn/internal/ir/TryNode.java ! src/jdk/nashorn/internal/ir/UnaryNode.java ! src/jdk/nashorn/internal/ir/WhileNode.java ! src/jdk/nashorn/internal/ir/WithNode.java ! src/jdk/nashorn/internal/objects/NativeRegExp.java ! src/jdk/nashorn/internal/objects/ScriptFunctionImpl.java ! src/jdk/nashorn/internal/runtime/AccessorProperty.java ! src/jdk/nashorn/internal/runtime/Context.java ! src/jdk/nashorn/internal/runtime/ECMAException.java ! src/jdk/nashorn/internal/runtime/FindProperty.java ! src/jdk/nashorn/internal/runtime/Property.java ! src/jdk/nashorn/internal/runtime/Scope.java ! src/jdk/nashorn/internal/runtime/ScriptObject.java ! src/jdk/nashorn/internal/runtime/ScriptRuntime.java ! src/jdk/nashorn/internal/runtime/SetMethodCreator.java ! src/jdk/nashorn/internal/runtime/StructureLoader.java Changeset: 757a49aaad02 Author: sundar Date: 2013-02-15 18:30 +0530 URL: http://hg.openjdk.java.net/jdk8/tl/nashorn/rev/757a49aaad02 8008291: Add more tests for better coverage of objects, scripting and parser packages Reviewed-by: lagergren, jlaskey ! src/jdk/nashorn/internal/parser/AbstractParser.java ! src/jdk/nashorn/internal/parser/Scanner.java ! src/jdk/nashorn/internal/runtime/BitVector.java ! src/jdk/nashorn/internal/runtime/Context.java ! src/jdk/nashorn/internal/runtime/QuotedStringTokenizer.java ! src/jdk/nashorn/internal/runtime/RegExpScanner.java ! src/jdk/nashorn/internal/runtime/Source.java ! src/jdk/nashorn/tools/Shell.java ! test/script/basic/NASHORN-401.js ! test/script/basic/NASHORN-401.js.EXPECTED + test/script/basic/assign_builtin_func_props.js + test/script/basic/debugger.js + test/script/basic/yield.js ! test/src/jdk/nashorn/api/scripting/MultipleEngineTest.java ! test/src/jdk/nashorn/api/scripting/ScriptEngineTest.java ! test/src/jdk/nashorn/api/scripting/Window.java ! test/src/jdk/nashorn/internal/parser/ParserTest.java Changeset: 5851c5dac260 Author: sundar Date: 2013-02-15 20:40 +0530 URL: http://hg.openjdk.java.net/jdk8/tl/nashorn/rev/5851c5dac260 8008298: Add tests to cover specialized versions of Math functions. Reviewed-by: jlaskey, lagergren + test/script/basic/JDK-8008298.js Changeset: d5f74bd2dc20 Author: sundar Date: 2013-02-18 14:41 +0530 URL: http://hg.openjdk.java.net/jdk8/tl/nashorn/rev/d5f74bd2dc20 8008305: ScriptEngine.eval should offer the ability to provide a codebase Reviewed-by: lagergren, hannesw, attila ! src/jdk/nashorn/api/scripting/NashornScriptEngine.java + src/jdk/nashorn/api/scripting/URLReader.java + test/script/trusted/JDK-8008305.js + test/script/trusted/JDK-8008305_subtest.js + test/script/trusted/urlreader.js Changeset: 3245e174fe3a Author: hannesw Date: 2013-02-18 10:36 +0100 URL: http://hg.openjdk.java.net/jdk8/tl/nashorn/rev/3245e174fe3a 8008351: Avoid using String.replace(String, String) in codegen Reviewed-by: sundar, attila ! src/jdk/nashorn/internal/codegen/Condition.java ! src/jdk/nashorn/internal/codegen/RuntimeCallSite.java ! src/jdk/nashorn/internal/ir/RuntimeNode.java Changeset: f8221ce53c2e Author: attila Date: 2013-02-18 16:00 +0100 URL: http://hg.openjdk.java.net/jdk8/tl/nashorn/rev/f8221ce53c2e 8008371: Fix Dynalink compiler warnings and whitespace Reviewed-by: jlaskey, sundar ! src/jdk/internal/dynalink/CallSiteDescriptor.java ! src/jdk/internal/dynalink/ChainedCallSite.java ! src/jdk/internal/dynalink/DefaultBootstrapper.java ! src/jdk/internal/dynalink/DynamicLinker.java ! src/jdk/internal/dynalink/DynamicLinkerFactory.java ! src/jdk/internal/dynalink/MonomorphicCallSite.java ! src/jdk/internal/dynalink/NoSuchDynamicMethodException.java ! src/jdk/internal/dynalink/RelinkableCallSite.java ! src/jdk/internal/dynalink/beans/AbstractJavaLinker.java ! src/jdk/internal/dynalink/beans/ApplicableOverloadedMethods.java ! src/jdk/internal/dynalink/beans/BeanLinker.java ! src/jdk/internal/dynalink/beans/BeansLinker.java ! src/jdk/internal/dynalink/beans/CheckRestrictedPackageInternal.java ! src/jdk/internal/dynalink/beans/ClassLinker.java ! src/jdk/internal/dynalink/beans/ClassString.java ! src/jdk/internal/dynalink/beans/DynamicMethod.java ! src/jdk/internal/dynalink/beans/DynamicMethodLinker.java ! src/jdk/internal/dynalink/beans/FacetIntrospector.java ! src/jdk/internal/dynalink/beans/GuardedInvocationComponent.java ! src/jdk/internal/dynalink/beans/MaximallySpecific.java ! src/jdk/internal/dynalink/beans/OverloadedDynamicMethod.java ! src/jdk/internal/dynalink/beans/OverloadedMethod.java ! src/jdk/internal/dynalink/beans/SimpleDynamicMethod.java ! src/jdk/internal/dynalink/beans/StaticClass.java ! src/jdk/internal/dynalink/beans/StaticClassLinker.java ! src/jdk/internal/dynalink/linker/GuardedInvocation.java ! src/jdk/internal/dynalink/linker/GuardingDynamicLinker.java ! src/jdk/internal/dynalink/linker/GuardingTypeConverterFactory.java ! src/jdk/internal/dynalink/linker/LinkRequest.java ! src/jdk/internal/dynalink/linker/LinkerServices.java ! src/jdk/internal/dynalink/support/AbstractCallSiteDescriptor.java ! src/jdk/internal/dynalink/support/AbstractRelinkableCallSite.java ! src/jdk/internal/dynalink/support/AutoDiscovery.java ! src/jdk/internal/dynalink/support/BottomGuardingDynamicLinker.java ! src/jdk/internal/dynalink/support/CallSiteDescriptorFactory.java ! src/jdk/internal/dynalink/support/CompositeGuardingDynamicLinker.java ! src/jdk/internal/dynalink/support/CompositeTypeBasedGuardingDynamicLinker.java ! src/jdk/internal/dynalink/support/DefaultCallSiteDescriptor.java ! src/jdk/internal/dynalink/support/Guards.java ! src/jdk/internal/dynalink/support/LinkRequestImpl.java ! src/jdk/internal/dynalink/support/LinkerServicesImpl.java ! src/jdk/internal/dynalink/support/Lookup.java ! src/jdk/internal/dynalink/support/LookupCallSiteDescriptor.java ! src/jdk/internal/dynalink/support/NamedDynCallSiteDescriptor.java ! src/jdk/internal/dynalink/support/RuntimeContextLinkRequestImpl.java ! src/jdk/internal/dynalink/support/TypeConverterFactory.java ! src/jdk/internal/dynalink/support/TypeUtilities.java ! src/jdk/internal/dynalink/support/UnnamedDynCallSiteDescriptor.java ! src/jdk/nashorn/internal/codegen/CompilationPhase.java ! src/jdk/nashorn/internal/codegen/FunctionSignature.java ! src/jdk/nashorn/internal/ir/FunctionNode.java ! src/jdk/nashorn/internal/objects/ScriptFunctionImpl.java ! src/jdk/nashorn/internal/objects/ScriptFunctionTrampolineImpl.java ! src/jdk/nashorn/internal/parser/Parser.java ! src/jdk/nashorn/internal/runtime/Context.java Changeset: 4738de1bd57f Author: sundar Date: 2013-02-18 20:41 +0530 URL: http://hg.openjdk.java.net/jdk8/tl/nashorn/rev/4738de1bd57f 8008387: Improve code coverage tests for JSObjectLinker and NashornBottomLinker Reviewed-by: lagergren, jlaskey, hannesw ! src/jdk/internal/dynalink/beans/BeansLinker.java ! src/jdk/nashorn/internal/runtime/linker/NashornBottomLinker.java + test/script/basic/javamethodcallerrors.js + test/script/basic/jsobject.js Changeset: b6798a83dbd4 Author: jlaskey Date: 2013-02-19 09:46 -0400 URL: http://hg.openjdk.java.net/jdk8/tl/nashorn/rev/b6798a83dbd4 8008420: Tweaks to make all NEWBUILD=false round 2 Reviewed-by: jjh Contributed-by: james.laskey at oracle.com ! make/Makefile Changeset: b228e3cdbfc3 Author: jlaskey Date: 2013-02-19 09:47 -0400 URL: http://hg.openjdk.java.net/jdk8/tl/nashorn/rev/b228e3cdbfc3 Merge Changeset: b632446ba138 Author: sundar Date: 2013-02-19 20:33 +0530 URL: http://hg.openjdk.java.net/jdk8/tl/nashorn/rev/b632446ba138 8008448: Add coverage test for jdk.nashorn.internal.ir.debug.JSONWriter Reviewed-by: jlaskey, attila ! src/jdk/nashorn/internal/ir/debug/JSONWriter.java + test/script/basic/JDK-8008448.js Changeset: 58eea0e8f369 Author: sundar Date: 2013-02-20 17:08 +0530 URL: http://hg.openjdk.java.net/jdk8/tl/nashorn/rev/58eea0e8f369 8008207: Make constants array and source fields private Reviewed-by: hannesw, lagergren ! src/jdk/nashorn/internal/codegen/ClassEmitter.java ! src/jdk/nashorn/internal/codegen/Compiler.java Changeset: 671852e35ced Author: lagergren Date: 2013-02-20 16:43 +0100 URL: http://hg.openjdk.java.net/jdk8/tl/nashorn/rev/671852e35ced 8008166: URL handling was broken on windows, causing "load" to malfunction Reviewed-by: attila, jlaskey Contributed-by: klara.ward at oracle.com ! make/build.xml ! src/jdk/nashorn/internal/runtime/Context.java Changeset: a971adb68f38 Author: lagergren Date: 2013-02-21 16:57 +0100 URL: http://hg.openjdk.java.net/jdk8/tl/nashorn/rev/a971adb68f38 8008648: Lazy JIT scope and callee semantics bugfixes. Broke out wallclock timer. Reviewed-by: attila, hannesw ! src/jdk/internal/dynalink/beans/BeansLinker.java ! src/jdk/nashorn/internal/codegen/CodeGenerator.java + src/jdk/nashorn/internal/codegen/CompilationException.java ! src/jdk/nashorn/internal/codegen/CompilationPhase.java ! src/jdk/nashorn/internal/codegen/Compiler.java ! src/jdk/nashorn/internal/codegen/FinalizeTypes.java ! src/jdk/nashorn/internal/codegen/Lower.java ! src/jdk/nashorn/internal/codegen/MethodEmitter.java ! src/jdk/nashorn/internal/codegen/Splitter.java ! src/jdk/nashorn/internal/ir/FunctionNode.java ! src/jdk/nashorn/internal/ir/TernaryNode.java ! src/jdk/nashorn/internal/objects/ScriptFunctionTrampolineImpl.java ! src/jdk/nashorn/internal/parser/Parser.java ! src/jdk/nashorn/internal/runtime/NashornLoader.java ! src/jdk/nashorn/internal/runtime/ScriptingFunctions.java + src/jdk/nashorn/internal/runtime/Timing.java ! test/script/trusted/JDK-8006529.js Changeset: ae1c9716685b Author: jlaskey Date: 2013-02-21 15:24 -0400 URL: http://hg.openjdk.java.net/jdk8/tl/nashorn/rev/ae1c9716685b 8008447: Tweaks to make all NEWBUILD=false round 3 Reviewed-by: jjh, sundar Contributed-by: james.laskey at oracle.com ! make/Makefile Changeset: 678da59a29b3 Author: lagergren Date: 2013-02-22 08:57 +0100 URL: http://hg.openjdk.java.net/jdk8/tl/nashorn/rev/678da59a29b3 8008554: load was broken for URLs Reviewed-by: attila, sundar ! src/jdk/nashorn/internal/runtime/Context.java + test/script/basic/JDK-8008554.js Changeset: 230a711062c1 Author: lagergren Date: 2013-02-22 11:27 +0100 URL: http://hg.openjdk.java.net/jdk8/tl/nashorn/rev/230a711062c1 8008575: Re-integrate code coverage Reviewed-by: attila, hannesw Contributed-by: eugene.drobitko at oracle.com, ilya.dergalin at oracle.com ! make/build.xml + make/code_coverage.xml ! make/project.properties Changeset: 267cc4c85160 Author: lagergren Date: 2013-02-22 12:22 +0100 URL: http://hg.openjdk.java.net/jdk8/tl/nashorn/rev/267cc4c85160 8007002: Replace implicit exception throwing methods with explicit throws - simplify control flow and remove useless code Reviewed-by: attila, hannesw ! src/jdk/nashorn/api/scripting/NashornException.java ! src/jdk/nashorn/api/scripting/NashornScriptEngine.java ! src/jdk/nashorn/api/scripting/URLReader.java ! src/jdk/nashorn/internal/objects/AccessorPropertyDescriptor.java ! src/jdk/nashorn/internal/objects/Global.java ! src/jdk/nashorn/internal/objects/NativeArguments.java ! src/jdk/nashorn/internal/objects/NativeArray.java ! src/jdk/nashorn/internal/objects/NativeBoolean.java ! src/jdk/nashorn/internal/objects/NativeDate.java ! src/jdk/nashorn/internal/objects/NativeError.java ! src/jdk/nashorn/internal/objects/NativeFunction.java ! src/jdk/nashorn/internal/objects/NativeJSAdapter.java ! src/jdk/nashorn/internal/objects/NativeJSON.java ! src/jdk/nashorn/internal/objects/NativeJava.java ! src/jdk/nashorn/internal/objects/NativeNumber.java ! src/jdk/nashorn/internal/objects/NativeObject.java ! src/jdk/nashorn/internal/objects/NativeRegExp.java ! src/jdk/nashorn/internal/objects/NativeString.java ! src/jdk/nashorn/internal/parser/AbstractParser.java ! src/jdk/nashorn/internal/parser/Lexer.java ! src/jdk/nashorn/internal/runtime/Context.java ! src/jdk/nashorn/internal/runtime/ECMAErrors.java ! src/jdk/nashorn/internal/runtime/ECMAException.java ! src/jdk/nashorn/internal/runtime/ErrorManager.java ! src/jdk/nashorn/internal/runtime/JSONFunctions.java ! src/jdk/nashorn/internal/runtime/JSType.java ! src/jdk/nashorn/internal/runtime/ParserException.java ! src/jdk/nashorn/internal/runtime/ScriptFunction.java ! src/jdk/nashorn/internal/runtime/ScriptFunctionData.java ! src/jdk/nashorn/internal/runtime/ScriptObject.java ! src/jdk/nashorn/internal/runtime/ScriptRuntime.java ! src/jdk/nashorn/internal/runtime/ScriptingFunctions.java ! src/jdk/nashorn/internal/runtime/SetMethodCreator.java ! src/jdk/nashorn/internal/runtime/URIUtils.java ! src/jdk/nashorn/internal/runtime/Undefined.java ! src/jdk/nashorn/internal/runtime/arrays/FrozenArrayFilter.java ! src/jdk/nashorn/internal/runtime/arrays/IteratorAction.java ! src/jdk/nashorn/internal/runtime/arrays/SealedArrayFilter.java ! src/jdk/nashorn/internal/runtime/linker/JavaAdapterFactory.java ! src/jdk/nashorn/internal/runtime/linker/JavaArgumentConverters.java ! src/jdk/nashorn/internal/runtime/linker/Lookup.java ! src/jdk/nashorn/internal/runtime/linker/NashornBottomLinker.java ! src/jdk/nashorn/internal/runtime/linker/NashornStaticClassLinker.java Changeset: 3f0ff84aaf36 Author: jlaskey Date: 2013-02-22 10:39 -0400 URL: http://hg.openjdk.java.net/jdk8/tl/nashorn/rev/3f0ff84aaf36 8008721: Tweaks to make all NEWBUILD=false round 4 Reviewed-by: jjh Contributed-by: james.laskey at oracle.com ! makefiles/BuildNashorn.gmk Changeset: 508da3c7fc3a Author: hannesw Date: 2013-02-22 16:31 +0100 URL: http://hg.openjdk.java.net/jdk8/tl/nashorn/rev/508da3c7fc3a 8008093: Make RegExp engine pluggable Reviewed-by: lagergren, attila ! src/jdk/nashorn/internal/objects/Global.java ! src/jdk/nashorn/internal/objects/NativeRegExp.java ! src/jdk/nashorn/internal/objects/NativeRegExpExecResult.java ! src/jdk/nashorn/internal/objects/NativeString.java ! src/jdk/nashorn/internal/parser/AbstractParser.java - src/jdk/nashorn/internal/runtime/RegExp.java - src/jdk/nashorn/internal/runtime/RegExpMatch.java - src/jdk/nashorn/internal/runtime/RegExpScanner.java + src/jdk/nashorn/internal/runtime/regexp/DefaultRegExp.java + src/jdk/nashorn/internal/runtime/regexp/RegExp.java + src/jdk/nashorn/internal/runtime/regexp/RegExpFactory.java + src/jdk/nashorn/internal/runtime/regexp/RegExpMatcher.java + src/jdk/nashorn/internal/runtime/regexp/RegExpResult.java + src/jdk/nashorn/internal/runtime/regexp/RegExpScanner.java Changeset: e42fd1640ff9 Author: hannesw Date: 2013-02-22 17:00 +0100 URL: http://hg.openjdk.java.net/jdk8/tl/nashorn/rev/e42fd1640ff9 8006028: Integrate Joni regexp engine with Nashorn Reviewed-by: lagergren, attila ! THIRD_PARTY_README ! docs/DEVELOPER_README + src/jdk/nashorn/internal/runtime/regexp/JoniRegExp.java ! src/jdk/nashorn/internal/runtime/regexp/RegExpFactory.java + src/jdk/nashorn/internal/runtime/regexp/joni/Analyser.java + src/jdk/nashorn/internal/runtime/regexp/joni/ApplyCaseFold.java + src/jdk/nashorn/internal/runtime/regexp/joni/ApplyCaseFoldArg.java + src/jdk/nashorn/internal/runtime/regexp/joni/ArrayCompiler.java + src/jdk/nashorn/internal/runtime/regexp/joni/AsmCompiler.java + src/jdk/nashorn/internal/runtime/regexp/joni/AsmCompilerSupport.java + src/jdk/nashorn/internal/runtime/regexp/joni/BitSet.java + src/jdk/nashorn/internal/runtime/regexp/joni/BitStatus.java + src/jdk/nashorn/internal/runtime/regexp/joni/ByteCodeMachine.java + src/jdk/nashorn/internal/runtime/regexp/joni/ByteCodePrinter.java + src/jdk/nashorn/internal/runtime/regexp/joni/CaptureTreeNode.java + src/jdk/nashorn/internal/runtime/regexp/joni/CodeRangeBuffer.java + src/jdk/nashorn/internal/runtime/regexp/joni/Compiler.java + src/jdk/nashorn/internal/runtime/regexp/joni/Config.java + src/jdk/nashorn/internal/runtime/regexp/joni/EncodingHelper.java + src/jdk/nashorn/internal/runtime/regexp/joni/Lexer.java + src/jdk/nashorn/internal/runtime/regexp/joni/Matcher.java + src/jdk/nashorn/internal/runtime/regexp/joni/MatcherFactory.java + src/jdk/nashorn/internal/runtime/regexp/joni/MinMaxLen.java + src/jdk/nashorn/internal/runtime/regexp/joni/NameEntry.java + src/jdk/nashorn/internal/runtime/regexp/joni/NativeMachine.java + src/jdk/nashorn/internal/runtime/regexp/joni/NodeOptInfo.java + src/jdk/nashorn/internal/runtime/regexp/joni/OptAnchorInfo.java + src/jdk/nashorn/internal/runtime/regexp/joni/OptEnvironment.java + src/jdk/nashorn/internal/runtime/regexp/joni/OptExactInfo.java + src/jdk/nashorn/internal/runtime/regexp/joni/OptMapInfo.java + src/jdk/nashorn/internal/runtime/regexp/joni/Option.java + src/jdk/nashorn/internal/runtime/regexp/joni/Parser.java + src/jdk/nashorn/internal/runtime/regexp/joni/Regex.java + src/jdk/nashorn/internal/runtime/regexp/joni/Region.java + src/jdk/nashorn/internal/runtime/regexp/joni/ScanEnvironment.java + src/jdk/nashorn/internal/runtime/regexp/joni/ScannerSupport.java + src/jdk/nashorn/internal/runtime/regexp/joni/SearchAlgorithm.java + src/jdk/nashorn/internal/runtime/regexp/joni/StackEntry.java + src/jdk/nashorn/internal/runtime/regexp/joni/StackMachine.java + src/jdk/nashorn/internal/runtime/regexp/joni/Syntax.java + src/jdk/nashorn/internal/runtime/regexp/joni/Token.java + src/jdk/nashorn/internal/runtime/regexp/joni/UnsetAddrList.java + src/jdk/nashorn/internal/runtime/regexp/joni/WarnCallback.java + src/jdk/nashorn/internal/runtime/regexp/joni/Warnings.java + src/jdk/nashorn/internal/runtime/regexp/joni/ast/AnchorNode.java + src/jdk/nashorn/internal/runtime/regexp/joni/ast/AnyCharNode.java + src/jdk/nashorn/internal/runtime/regexp/joni/ast/BackRefNode.java + src/jdk/nashorn/internal/runtime/regexp/joni/ast/CClassNode.java + src/jdk/nashorn/internal/runtime/regexp/joni/ast/CTypeNode.java + src/jdk/nashorn/internal/runtime/regexp/joni/ast/CallNode.java + src/jdk/nashorn/internal/runtime/regexp/joni/ast/ConsAltNode.java + src/jdk/nashorn/internal/runtime/regexp/joni/ast/EncloseNode.java + src/jdk/nashorn/internal/runtime/regexp/joni/ast/Node.java + src/jdk/nashorn/internal/runtime/regexp/joni/ast/QuantifierNode.java + src/jdk/nashorn/internal/runtime/regexp/joni/ast/StateNode.java + src/jdk/nashorn/internal/runtime/regexp/joni/ast/StringNode.java + src/jdk/nashorn/internal/runtime/regexp/joni/bench/AbstractBench.java + src/jdk/nashorn/internal/runtime/regexp/joni/bench/BenchGreedyBacktrack.java + src/jdk/nashorn/internal/runtime/regexp/joni/bench/BenchRailsRegs.java + src/jdk/nashorn/internal/runtime/regexp/joni/bench/BenchSeveralRegexps.java + src/jdk/nashorn/internal/runtime/regexp/joni/constants/AnchorType.java + src/jdk/nashorn/internal/runtime/regexp/joni/constants/Arguments.java + src/jdk/nashorn/internal/runtime/regexp/joni/constants/AsmConstants.java + src/jdk/nashorn/internal/runtime/regexp/joni/constants/CCSTATE.java + src/jdk/nashorn/internal/runtime/regexp/joni/constants/CCVALTYPE.java + src/jdk/nashorn/internal/runtime/regexp/joni/constants/EncloseType.java + src/jdk/nashorn/internal/runtime/regexp/joni/constants/MetaChar.java + src/jdk/nashorn/internal/runtime/regexp/joni/constants/NodeStatus.java + src/jdk/nashorn/internal/runtime/regexp/joni/constants/NodeType.java + src/jdk/nashorn/internal/runtime/regexp/joni/constants/OPCode.java + src/jdk/nashorn/internal/runtime/regexp/joni/constants/OPSize.java + src/jdk/nashorn/internal/runtime/regexp/joni/constants/Reduce.java + src/jdk/nashorn/internal/runtime/regexp/joni/constants/RegexState.java + src/jdk/nashorn/internal/runtime/regexp/joni/constants/StackPopLevel.java + src/jdk/nashorn/internal/runtime/regexp/joni/constants/StackType.java + src/jdk/nashorn/internal/runtime/regexp/joni/constants/StringType.java + src/jdk/nashorn/internal/runtime/regexp/joni/constants/SyntaxProperties.java + src/jdk/nashorn/internal/runtime/regexp/joni/constants/TargetInfo.java + src/jdk/nashorn/internal/runtime/regexp/joni/constants/TokenType.java + src/jdk/nashorn/internal/runtime/regexp/joni/constants/Traverse.java + src/jdk/nashorn/internal/runtime/regexp/joni/encoding/AsciiTables.java + src/jdk/nashorn/internal/runtime/regexp/joni/encoding/CharacterType.java + src/jdk/nashorn/internal/runtime/regexp/joni/encoding/IntHolder.java + src/jdk/nashorn/internal/runtime/regexp/joni/encoding/ObjPtr.java + src/jdk/nashorn/internal/runtime/regexp/joni/encoding/PosixBracket.java + src/jdk/nashorn/internal/runtime/regexp/joni/encoding/Ptr.java + src/jdk/nashorn/internal/runtime/regexp/joni/exception/ErrorMessages.java + src/jdk/nashorn/internal/runtime/regexp/joni/exception/InternalException.java + src/jdk/nashorn/internal/runtime/regexp/joni/exception/JOniException.java + src/jdk/nashorn/internal/runtime/regexp/joni/exception/SyntaxException.java + src/jdk/nashorn/internal/runtime/regexp/joni/exception/ValueException.java Changeset: 7f5b7c6859d7 Author: sundar Date: 2013-02-22 22:39 +0530 URL: http://hg.openjdk.java.net/jdk8/tl/nashorn/rev/7f5b7c6859d7 8008729: Make sure that we can run basic jsr223 tests using jtreg Reviewed-by: jlaskey, hannesw, lagergren + test/TEST.ROOT ! test/src/jdk/nashorn/api/scripting/MultipleEngineTest.java + test/src/jdk/nashorn/api/scripting/ScriptEngineSecurityTest.java ! test/src/jdk/nashorn/api/scripting/ScriptEngineTest.java Changeset: 5452f82eb2ce Author: jlaskey Date: 2013-02-22 23:33 -0400 URL: http://hg.openjdk.java.net/jdk8/tl/nashorn/rev/5452f82eb2ce 8008776: Revise BuildNashorn.gmk for changes in new build system Reviewed-by: jjh Contributed-by: james.laskey at oracle.com ! makefiles/BuildNashorn.gmk Changeset: 927fba6785b0 Author: sundar Date: 2013-02-25 16:58 +0530 URL: http://hg.openjdk.java.net/jdk8/tl/nashorn/rev/927fba6785b0 8008731: Separate configuration environment (options, error/output writer etc.) from Context Reviewed-by: hannesw, lagergren ! src/jdk/nashorn/internal/codegen/Attr.java ! src/jdk/nashorn/internal/codegen/ClassEmitter.java ! src/jdk/nashorn/internal/codegen/CodeGenerator.java ! src/jdk/nashorn/internal/codegen/CompilationPhase.java ! src/jdk/nashorn/internal/codegen/Compiler.java ! src/jdk/nashorn/internal/codegen/MethodEmitter.java ! src/jdk/nashorn/internal/codegen/ObjectClassGenerator.java ! src/jdk/nashorn/internal/ir/debug/JSONWriter.java ! src/jdk/nashorn/internal/objects/Global.java ! src/jdk/nashorn/internal/objects/NativeDate.java ! src/jdk/nashorn/internal/objects/NativeString.java ! src/jdk/nashorn/internal/objects/ScriptFunctionTrampolineImpl.java ! src/jdk/nashorn/internal/parser/Parser.java ! src/jdk/nashorn/internal/runtime/CodeInstaller.java ! src/jdk/nashorn/internal/runtime/Context.java ! src/jdk/nashorn/internal/runtime/JSONFunctions.java - src/jdk/nashorn/internal/runtime/OptionsObject.java + src/jdk/nashorn/internal/runtime/ScriptEnvironment.java ! src/jdk/nashorn/internal/runtime/ScriptRuntime.java ! src/jdk/nashorn/tools/Shell.java ! test/script/trusted/JDK-8006529.js ! test/src/jdk/nashorn/internal/parser/ParserTest.java ! test/src/jdk/nashorn/internal/test/framework/SharedContextEvaluator.java Changeset: 5610ac25d8ff Author: sundar Date: 2013-02-25 18:13 +0530 URL: http://hg.openjdk.java.net/jdk8/tl/nashorn/rev/5610ac25d8ff 8008789: Enable java access and nashorn runtime tests for jtreg Reviewed-by: lagergren, jlaskey, hannesw ! make/build.xml ! test/TEST.ROOT ! test/src/jdk/nashorn/api/javaaccess/BooleanAccessTest.java ! test/src/jdk/nashorn/api/javaaccess/MethodAccessTest.java ! test/src/jdk/nashorn/api/javaaccess/NumberAccessTest.java ! test/src/jdk/nashorn/api/javaaccess/NumberBoxingTest.java ! test/src/jdk/nashorn/api/javaaccess/ObjectAccessTest.java ! test/src/jdk/nashorn/api/javaaccess/StringAccessTest.java ! test/src/jdk/nashorn/internal/runtime/ContextTest.java ! test/src/jdk/nashorn/internal/runtime/JSTypeTest.java + test/src/jdk/nashorn/internal/runtime/TrustedScriptEngineTest.java From mandy.chung at oracle.com Mon Feb 25 22:07:39 2013 From: mandy.chung at oracle.com (Mandy Chung) Date: Mon, 25 Feb 2013 14:07:39 -0800 Subject: 8008793: SecurityManager.checkXXX behavior not specified for methods that check AWTPermission and AWT not present In-Reply-To: <512B88BC.6000307@oracle.com> References: <512B5413.8050905@oracle.com> <512B5F8C.4000109@oracle.com> <512B81C1.2000708@oracle.com> <512B88BC.6000307@oracle.com> Message-ID: <512BE0AB.6000109@oracle.com> On 2/25/2013 7:52 AM, Alan Bateman wrote: > On 25/02/2013 15:22, Sean Mullan wrote: >> >> Yes, good point, but Alan has corrected that, refresh the webrev. >> >> I just had one comment: >> >> - I think you need to run the test in it's own JVM, since it sets an SM. >> >> --Sean >> > Yes, Tom is right and the checkPermissions in these methods should > succeed if AllPermission is granted. I should have replied to my > original mail to clarify this as I also noticed this when generating > the javadoc diffs after the mail. > > In any case, this is really a corner case because I wouldn't expect > these methods to be invoked by anything outside of AWT (or something > using AWT). What you have is fine. However, this means that the base module would need to require the desktop module for reflection. I wonder if we could remove this reflective dependency from the base module. These methods were added in JDK 1.1 before SecurityManager.checkPermission was added (in 1.2). Since they were defined and target for AWT to use, have you considered deprecating these 3 methods in JDK 8? These methods are equivalent to call the SecurityManager.checkPermission method with the specific permission instance and the caller of these methods can call the checkPermission instead. In a future release, these checkXXX methods can then be changed to throw UnsupportedOperationException. Since this is really a corner case, I think the compatibility risk would be minimal. Mandy From Alan.Bateman at oracle.com Mon Feb 25 22:25:17 2013 From: Alan.Bateman at oracle.com (Alan Bateman) Date: Mon, 25 Feb 2013 22:25:17 +0000 Subject: 8008793: SecurityManager.checkXXX behavior not specified for methods that check AWTPermission and AWT not present In-Reply-To: <512BE0AB.6000109@oracle.com> References: <512B5413.8050905@oracle.com> <512B5F8C.4000109@oracle.com> <512B81C1.2000708@oracle.com> <512B88BC.6000307@oracle.com> <512BE0AB.6000109@oracle.com> Message-ID: <512BE4CD.5090405@oracle.com> On 25/02/2013 22:07, Mandy Chung wrote: > > What you have is fine. However, this means that the base module would > need to require the desktop module for reflection. I wonder if we > could remove this reflective dependency from the base module. > > These methods were added in JDK 1.1 before > SecurityManager.checkPermission was added (in 1.2). Since they were > defined and target for AWT to use, have you considered deprecating > these 3 methods in JDK 8? These methods are equivalent to call the > SecurityManager.checkPermission method with the specific permission > instance and the caller of these methods can call the checkPermission > instead. In a future release, these checkXXX methods can then be > changed to throw UnsupportedOperationException. Since this is really > a corner case, I think the compatibility risk would be minimal. > > Mandy The changes here are primarily for profiles. For modules then we do need to sort out the remaining reflective dependencies on desktop. I don't have a proposal on this yet, the main issue is Bidi. For SecurityManager then changing these in jdk9 as you suggest is a possible option. -Alan From mandy.chung at oracle.com Mon Feb 25 22:36:42 2013 From: mandy.chung at oracle.com (Mandy Chung) Date: Mon, 25 Feb 2013 14:36:42 -0800 Subject: 8008793: SecurityManager.checkXXX behavior not specified for methods that check AWTPermission and AWT not present In-Reply-To: <512BE4CD.5090405@oracle.com> References: <512B5413.8050905@oracle.com> <512B5F8C.4000109@oracle.com> <512B81C1.2000708@oracle.com> <512B88BC.6000307@oracle.com> <512BE0AB.6000109@oracle.com> <512BE4CD.5090405@oracle.com> Message-ID: <512BE77A.4000404@oracle.com> On 2/25/2013 2:25 PM, Alan Bateman wrote: > On 25/02/2013 22:07, Mandy Chung wrote: >> >> What you have is fine. However, this means that the base module >> would need to require the desktop module for reflection. I wonder if >> we could remove this reflective dependency from the base module. >> >> These methods were added in JDK 1.1 before >> SecurityManager.checkPermission was added (in 1.2). Since they were >> defined and target for AWT to use, have you considered deprecating >> these 3 methods in JDK 8? These methods are equivalent to call the >> SecurityManager.checkPermission method with the specific permission >> instance and the caller of these methods can call the checkPermission >> instead. In a future release, these checkXXX methods can then be >> changed to throw UnsupportedOperationException. Since this is really >> a corner case, I think the compatibility risk would be minimal. >> >> Mandy > The changes here are primarily for profiles. Thumbs up from me with this change for profiles. > For modules then we do need to sort out the remaining reflective > dependencies on desktop. I don't have a proposal on this yet, the main > issue is Bidi. For SecurityManager then changing these in jdk9 as you > suggest is a possible option. > Right. Bidi is the main issue. IMO we should deprecate these 3 methods in JDK 8 to at least clean up the SecurityManager dependency as part of JEP 162 [1] and deal with other reflective dependencies separately. Anyway that is for modules and we can file a separate bug for it. Mandy [1] http://openjdk.java.net/jeps/162 From kumar.x.srinivasan at oracle.com Mon Feb 25 22:40:28 2013 From: kumar.x.srinivasan at oracle.com (kumar.x.srinivasan at oracle.com) Date: Mon, 25 Feb 2013 22:40:28 +0000 Subject: hg: jdk8/tl/jdk: 8006039: test/tools/launcher/I18NJarTest.java fails on Mac w/ LANG=C, LC_ALL=C Message-ID: <20130225224051.93CE247E99@hg.openjdk.java.net> Changeset: 58f829566fe3 Author: bchristi Date: 2013-02-25 14:19 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/58f829566fe3 8006039: test/tools/launcher/I18NJarTest.java fails on Mac w/ LANG=C, LC_ALL=C Summary: Avoid automated test failure by just exiting when in 'C' locale Reviewed-by: naoto, ksrini ! test/ProblemList.txt ! test/tools/launcher/I18NJarTest.java From jonathan.gibbons at oracle.com Mon Feb 25 23:09:15 2013 From: jonathan.gibbons at oracle.com (jonathan.gibbons at oracle.com) Date: Mon, 25 Feb 2013 23:09:15 +0000 Subject: hg: jdk8/tl: 8008914: Add nashorn to the tl build Message-ID: <20130225230915.4782747E9C@hg.openjdk.java.net> Changeset: 5b0b6ef58dbf Author: jjg Date: 2013-02-25 15:08 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/rev/5b0b6ef58dbf 8008914: Add nashorn to the tl build Reviewed-by: mr, tbell, jjh Contributed-by: erik.joelsson at oracle.com, james.laskey at oracle.com ! Makefile ! common/autoconf/generated-configure.sh ! common/autoconf/source-dirs.m4 ! common/autoconf/spec.gmk.in ! common/bin/hgforest.sh ! common/makefiles/Main.gmk ! common/makefiles/MakeBase.gmk ! make/Defs-internal.gmk ! make/jdk-rules.gmk ! make/sanity-rules.gmk ! make/scripts/hgforest.sh From jonathan.gibbons at oracle.com Mon Feb 25 23:09:21 2013 From: jonathan.gibbons at oracle.com (jonathan.gibbons at oracle.com) Date: Mon, 25 Feb 2013 23:09:21 +0000 Subject: hg: jdk8/tl/jdk: 8008914: Add nashorn to the tl build Message-ID: <20130225230933.273A747E9F@hg.openjdk.java.net> Changeset: 4cf4403c9bf2 Author: jjg Date: 2013-02-25 15:08 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/4cf4403c9bf2 8008914: Add nashorn to the tl build Reviewed-by: mr, tbell, jjh Contributed-by: erik.joelsson at oracle.com, james.laskey at oracle.com ! make/launchers/Makefile ! makefiles/CompileLaunchers.gmk ! makefiles/CreateJars.gmk ! test/tools/launcher/VersionCheck.java From chris.hegarty at oracle.com Tue Feb 26 11:20:13 2013 From: chris.hegarty at oracle.com (chris.hegarty at oracle.com) Date: Tue, 26 Feb 2013 11:20:13 +0000 Subject: hg: jdk8/tl/jdk: 3 new changesets Message-ID: <20130226112307.08DE647412@hg.openjdk.java.net> Changeset: bc92e4b044e2 Author: kmo Date: 2013-02-26 11:05 +0000 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/bc92e4b044e2 7087570: java.lang.invoke.MemberName information wrong for method handles created with findConstructor Summary: REF_invokeSpecial DMHs (which are unusual) get marked explicitly; tweak the MHI to use this bit Reviewed-by: jrose, twisti ! src/share/classes/java/lang/invoke/DirectMethodHandle.java ! src/share/classes/java/lang/invoke/MethodHandle.java ! src/share/classes/java/lang/invoke/MethodHandleImpl.java ! src/share/classes/java/lang/invoke/MethodHandleInfo.java ! src/share/classes/java/lang/invoke/MethodHandles.java + test/java/lang/invoke/7087570/Test7087570.java Changeset: 5fcecbcefb71 Author: chegar Date: 2013-02-26 11:06 +0000 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/5fcecbcefb71 Merge Changeset: 77447981db73 Author: chegar Date: 2013-02-26 11:18 +0000 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/77447981db73 Merge From vicente.romero at oracle.com Tue Feb 26 12:39:22 2013 From: vicente.romero at oracle.com (vicente.romero at oracle.com) Date: Tue, 26 Feb 2013 12:39:22 +0000 Subject: hg: jdk8/tl/langtools: 8008436: javac should not issue a warning for overriding equals without hasCode if hashCode has been overriden by a superclass Message-ID: <20130226123930.27B6247414@hg.openjdk.java.net> Changeset: bd49e0304281 Author: vromero Date: 2013-02-26 09:04 +0000 URL: http://hg.openjdk.java.net/jdk8/tl/langtools/rev/bd49e0304281 8008436: javac should not issue a warning for overriding equals without hasCode if hashCode has been overriden by a superclass Reviewed-by: jjg, mcimadamore ! src/share/classes/com/sun/tools/javac/code/Symbol.java ! src/share/classes/com/sun/tools/javac/comp/Attr.java ! src/share/classes/com/sun/tools/javac/comp/Check.java ! src/share/classes/com/sun/tools/javac/resources/compiler.properties ! test/tools/javac/6563143/OverridesEqualsButNotHashCodeTest.java ! test/tools/javac/6563143/OverridesEqualsButNotHashCodeTest.out From alan.bateman at oracle.com Tue Feb 26 14:11:27 2013 From: alan.bateman at oracle.com (alan.bateman at oracle.com) Date: Tue, 26 Feb 2013 14:11:27 +0000 Subject: hg: jdk8/tl: 8008978: nashorn-rules.gmk missing Message-ID: <20130226141127.EAE4947417@hg.openjdk.java.net> Changeset: e065107437b9 Author: alanb Date: 2013-02-26 14:08 +0000 URL: http://hg.openjdk.java.net/jdk8/tl/rev/e065107437b9 8008978: nashorn-rules.gmk missing Reviewed-by: alanb Contributed-by: erik.joelsson at oracle.com, james.laskey at oracle.com + make/nashorn-rules.gmk From alan.bateman at oracle.com Tue Feb 26 14:19:11 2013 From: alan.bateman at oracle.com (alan.bateman at oracle.com) Date: Tue, 26 Feb 2013 14:19:11 +0000 Subject: hg: jdk8/tl/jdk: 8008977: profiles build broken by Nashorn build changes Message-ID: <20130226141937.1898847419@hg.openjdk.java.net> Changeset: 022cd5adc0fa Author: alanb Date: 2013-02-26 14:16 +0000 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/022cd5adc0fa 8008977: profiles build broken by Nashorn build changes Reviewed-by: chegar ! makefiles/profile-rtjar-includes.txt From Alan.Bateman at oracle.com Tue Feb 26 15:07:10 2013 From: Alan.Bateman at oracle.com (Alan Bateman) Date: Tue, 26 Feb 2013 15:07:10 +0000 Subject: 8008793: SecurityManager.checkXXX behavior not specified for methods that check AWTPermission and AWT not present In-Reply-To: <512BE77A.4000404@oracle.com> References: <512B5413.8050905@oracle.com> <512B5F8C.4000109@oracle.com> <512B81C1.2000708@oracle.com> <512B88BC.6000307@oracle.com> <512BE0AB.6000109@oracle.com> <512BE4CD.5090405@oracle.com> <512BE77A.4000404@oracle.com> Message-ID: <512CCF9E.3030002@oracle.com> On 25/02/2013 22:36, Mandy Chung wrote: > > : > > Right. Bidi is the main issue. IMO we should deprecate these 3 > methods in JDK 8 to at least clean up the SecurityManager dependency > as part of JEP 162 [1] and deal with other reflective dependencies > separately. Anyway that is for modules and we can file a separate bug > for it. You are right, there is a very good case to deprecate these now as it would make things easier post JDK 8. I'll create a bug for this now. -Alan. From neil.richards at ngmr.net Tue Feb 26 18:36:17 2013 From: neil.richards at ngmr.net (Neil Richards) Date: Tue, 26 Feb 2013 18:36:17 +0000 Subject: RFR: Re-enable support for non-Principal implementations of PrincipalComparator In-Reply-To: <5126A1E5.6020701@oracle.com> References: <1361448811.27395.82.camel@chalkhill> <5126A1E5.6020701@oracle.com> Message-ID: <1361903777.9980.16.camel@chalkhill> Hi Sean, Thanks for your quick response. I admit, I hadn't spotted the description of the policy file syntax to which you point. (In my defence, it's a lot easier to overlook than the explicit wording that I found at the top of PrincipalComparator's Javadoc). Just for info, are there other scenarios where (non-Principal) PrincipalComparator impls can (still) be used, which matches that class' Javadoc ? And do these other scenarios also (already) support the use of Principal.implies() ? I think your answer may have obviated my desire for using the suggested fix. I'm asking around nearby to see if evidence of real use breakage can be found, and will tug on this thread again if/when I have something more to share on this. Regards, Neil On Thu, 2013-02-21 at 17:38 -0500, Sean Mullan wrote: > Hi, > > On 02/21/2013 07:13 AM, Neil Richards wrote: > > Hi, > > The change made for the RFE 7019834 [1] [2] [3] is built upon the > > assertion that: > > "All PrincipalComparator implementations should already > > implement Principal". > > > > However, the Javadoc for com.sun.security.auth.PrincipalComparator in > > the JAAS specification [4] states that: > > "Although classes that implement this interface typically also > > implement the java.security.Principal interface, it is not > > required. In other words, classes may implement the > > java.security.Principal interface by itself, the > > PrincipalComparator interface by itself, or both at the same > > time." > > > > Therefore, it is to be expected that there exist user implementations of > > PrincipalComparator which do not also implement Principal, and which are > > therefore broken by the change made by 7019834. > > Do you have any evidence that there are user implementations of > PrincipalComparator which do not also implement Principal? I'm > sympathetic to the compatibility issue, but would really like to see > some evidence of real use cases. > > > One example of this (prior to its modification by 7019834) was the jtreg > > test test/sun/security/provider/PolicyFile/Comparator.java, which > > (legitimately) had several classes implementing only > > PrincipalComparator. > > Yes, though I would argue that the JavaPolicy implementation actually > had a bug in it and was not compliant with the policy syntax [1]. These > should be classes that implement the java.security.Principal interface. > > > The changes made by 7019834 effectively both deprecate the use of > > PrincipalComparator - which is arguably fair enough (though the Javadoc > > for PrincipalComparator should to modified to reflect this change) - AND > > remove the support for its function, all in one fell swoop, which I > > suggest is not legitimate to do (within the same release as the initial > > deprecation). > > Preserving compatibility is certainly important, so I do think its > important that we understand if there are actual scenarios that might > break, but I don't think we should add this extra code for something > that is not compliant with the documented JavaPolicy syntax. > > > Given this, I have prepared a suggested change [5] to re-enable support > > for honoring the JAAS spec in this regard for implementations of > > PrincipalComparator that do not also implement Principal. > > > > Trying to conform to the spirit of the 7019834 change, I've implemented > > this using reflection, so the code is tolerant of situations where > > PrincipalComparator is not available. > > > > For jtreg tests, I've copied the original form of the "Comparator" test, > > changing only its name (to "CompatibleComparator"). > > > > > > Please review this change and let me know what you think. > > > > I'd be particularly interested in any suggestions regarding the > > Class.forName() call to find the PrincipalComparator class in the static > > initializer block - should it be wrapped in a doPrivileged block, or fed > > some specific ClassLoader ? > > > > Also, could a new bug id be generated for this, please ? > > > > Thanks, > > Neil > > > > [1] http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=7019834 > > [2] http://mail.openjdk.java.net/pipermail/security-dev/2012-December/006270.html > > [3] http://hg.openjdk.java.net/jdk8/jdk8/jdk/rev/bf6d0bca5ea7 > > [4] http://docs.oracle.com/javase/7/docs/jre/api/security/jaas/spec/com/sun/security/auth/PrincipalComparator.html > > [5] http://cr.openjdk.java.net/~ngmr/comparator/webrev.00/ > > > > Thanks, > Sean > > [1] > http://docs.oracle.com/javase/7/docs/technotes/guides/security/PolicyFiles.html > -- Unless stated above: IBM email: neil_richards at uk.ibm.com IBM United Kingdom Limited - Registered in England and Wales with number 741598. Registered office: PO Box 41, North Harbour, Portsmouth, Hampshire PO6 3AU From robert.field at oracle.com Tue Feb 26 18:44:48 2013 From: robert.field at oracle.com (robert.field at oracle.com) Date: Tue, 26 Feb 2013 18:44:48 +0000 Subject: hg: jdk8/tl/jdk: 8008770: SerializedLambda incorrect class loader for lambda deserializing class Message-ID: <20130226184510.A901D47425@hg.openjdk.java.net> Changeset: 5ebc62421717 Author: rfield Date: 2013-02-26 10:38 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/5ebc62421717 8008770: SerializedLambda incorrect class loader for lambda deserializing class Summary: current thread's context ClassLoader was used to load class by name, pass class not name in serialization (Thank you Peter Levart for test and prototype. Thank you Sundar and Peter for unofficial reviews) Reviewed-by: forax ! src/share/classes/java/lang/invoke/InnerClassLambdaMetafactory.java ! src/share/classes/java/lang/invoke/SerializedLambda.java + test/java/lang/invoke/lambda/LambdaClassLoaderSerialization.java ! test/java/lang/invoke/lambda/LambdaSerialization.java From alan.bateman at oracle.com Tue Feb 26 22:41:57 2013 From: alan.bateman at oracle.com (alan.bateman at oracle.com) Date: Tue, 26 Feb 2013 22:41:57 +0000 Subject: hg: jdk8/tl/jdk: 8009029: SunEC provider classes ending up in rt.jar after Nashorn build changes Message-ID: <20130226224220.A988947445@hg.openjdk.java.net> Changeset: ecd33c6ab12f Author: alanb Date: 2013-02-26 22:39 +0000 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/ecd33c6ab12f 8009029: SunEC provider classes ending up in rt.jar after Nashorn build changes Reviewed-by: mduigou ! makefiles/CreateJars.gmk From joe.darcy at oracle.com Wed Feb 27 01:01:23 2013 From: joe.darcy at oracle.com (joe.darcy at oracle.com) Date: Wed, 27 Feb 2013 01:01:23 +0000 Subject: hg: jdk8/tl/jdk: 8009102: Several docs warnings in Project Lambda APIs Message-ID: <20130227010146.5DE3047448@hg.openjdk.java.net> Changeset: 543be9488e50 Author: darcy Date: 2013-02-26 17:01 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/543be9488e50 8009102: Several docs warnings in Project Lambda APIs Reviewed-by: mduigou ! src/share/classes/java/lang/invoke/LambdaMetafactory.java ! src/share/classes/java/util/function/BinaryOperator.java ! src/share/classes/java/util/function/ToDoubleBiFunction.java From joe.darcy at oracle.com Wed Feb 27 01:38:42 2013 From: joe.darcy at oracle.com (joe.darcy at oracle.com) Date: Wed, 27 Feb 2013 01:38:42 +0000 Subject: hg: jdk8/tl/jdk: 8008279: Remove InvalidContainerAnnotationError.java Message-ID: <20130227013902.8F1684744B@hg.openjdk.java.net> Changeset: d623f520557b Author: darcy Date: 2013-02-26 17:38 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/d623f520557b 8008279: Remove InvalidContainerAnnotationError.java Reviewed-by: jfranck - src/share/classes/java/lang/annotation/InvalidContainerAnnotationError.java ! src/share/classes/java/lang/reflect/AnnotatedElement.java ! src/share/classes/sun/reflect/annotation/AnnotationSupport.java From Alan.Bateman at oracle.com Wed Feb 27 11:24:52 2013 From: Alan.Bateman at oracle.com (Alan Bateman) Date: Wed, 27 Feb 2013 11:24:52 +0000 Subject: RFR: Re-enable support for non-Principal implementations of PrincipalComparator In-Reply-To: <1361903777.9980.16.camel@chalkhill> References: <1361448811.27395.82.camel@chalkhill> <5126A1E5.6020701@oracle.com> <1361903777.9980.16.camel@chalkhill> Message-ID: <512DED04.8080409@oracle.com> On 26/02/2013 18:36, Neil Richards wrote: > Hi Sean, > Thanks for your quick response. > > I admit, I hadn't spotted the description of the policy file syntax to > which you point. > > (In my defence, it's a lot easier to overlook than the explicit wording > that I found at the top of PrincipalComparator's Javadoc). > > Just for info, are there other scenarios where (non-Principal) > PrincipalComparator impls can (still) be used, which matches that class' > Javadoc ? > > And do these other scenarios also (already) support the use of > Principal.implies() ? > > I think your answer may have obviated my desire for using the suggested > fix. > I'm asking around nearby to see if evidence of real use breakage can be > found, and will tug on this thread again if/when I have something more > to share on this. > I'll leave it to Sean to comment on this but just to mention that if this reflective dependency is added then I think it would be good to plan to remove it in jdk9. I suggest this because PolicyFile will most likely end up in our base/core module whereas the JDK-specific API to JAAS (com.sun.security.auth) may not. -Alan From alan.bateman at oracle.com Wed Feb 27 14:15:17 2013 From: alan.bateman at oracle.com (alan.bateman at oracle.com) Date: Wed, 27 Feb 2013 14:15:17 +0000 Subject: hg: jdk8/tl/nashorn: 8008950: jdk8/tl failing with SetupJavaCompilation BUILD_NASGEN contains missing directory -c on Windows Message-ID: <20130227141518.B525F47463@hg.openjdk.java.net> Changeset: 1d3dca059b3e Author: alanb Date: 2013-02-27 14:12 +0000 URL: http://hg.openjdk.java.net/jdk8/tl/nashorn/rev/1d3dca059b3e 8008950: jdk8/tl failing with SetupJavaCompilation BUILD_NASGEN contains missing directory -c on Windows Reviewed-by: chegar, sundar ! makefiles/BuildNashorn.gmk From alan.bateman at oracle.com Wed Feb 27 14:28:50 2013 From: alan.bateman at oracle.com (alan.bateman at oracle.com) Date: Wed, 27 Feb 2013 14:28:50 +0000 Subject: hg: jdk8/tl/jdk: 8008793: SecurityManager.checkXXX behavior not specified for methods that check AWTPermission and AWT not present Message-ID: <20130227142911.1D25047465@hg.openjdk.java.net> Changeset: 13013dedcdfd Author: alanb Date: 2013-02-27 14:24 +0000 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/13013dedcdfd 8008793: SecurityManager.checkXXX behavior not specified for methods that check AWTPermission and AWT not present Reviewed-by: hawtin, mullan, dsamersoff, mchung ! src/share/classes/java/lang/SecurityManager.java ! src/share/classes/sun/security/util/SecurityConstants.java ! test/java/lang/SecurityManager/NoAWT.java From mike.duigou at oracle.com Wed Feb 27 19:00:45 2013 From: mike.duigou at oracle.com (mike.duigou at oracle.com) Date: Wed, 27 Feb 2013 19:00:45 +0000 Subject: hg: jdk8/tl/jdk: 8008785: IdentityHashMap.values().toArray(V[]) broken by JDK-8008167 Message-ID: <20130227190108.3E2634747B@hg.openjdk.java.net> Changeset: f4b01f4e8f35 Author: mduigou Date: 2013-02-27 11:00 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/f4b01f4e8f35 8008785: IdentityHashMap.values().toArray(V[]) broken by JDK-8008167 Reviewed-by: alanb ! src/share/classes/java/util/IdentityHashMap.java + test/java/util/Map/ToArray.java From sean.mullan at oracle.com Wed Feb 27 21:43:33 2013 From: sean.mullan at oracle.com (Sean Mullan) Date: Wed, 27 Feb 2013 16:43:33 -0500 Subject: RFR: Re-enable support for non-Principal implementations of PrincipalComparator In-Reply-To: <512DED04.8080409@oracle.com> References: <1361448811.27395.82.camel@chalkhill> <5126A1E5.6020701@oracle.com> <1361903777.9980.16.camel@chalkhill> <512DED04.8080409@oracle.com> Message-ID: <512E7E05.1000109@oracle.com> On 02/27/2013 06:24 AM, Alan Bateman wrote: > On 26/02/2013 18:36, Neil Richards wrote: >> Hi Sean, >> Thanks for your quick response. >> >> I admit, I hadn't spotted the description of the policy file syntax to >> which you point. >> >> (In my defence, it's a lot easier to overlook than the explicit wording >> that I found at the top of PrincipalComparator's Javadoc). >> >> Just for info, are there other scenarios where (non-Principal) >> PrincipalComparator impls can (still) be used, which matches that class' >> Javadoc ? Yes, I believe the legacy JAAS PolicyFile implementation (com.sun.security.auth.PolicyFile) supports PrincipalComparator classes that don't implement Principal, though I have not tested that to confirm. >> And do these other scenarios also (already) support the use of >> Principal.implies() ? No for the case above, but the JAAS PolicyFile API is deprecated so I don't think we need to enhance that to support the new Principal.implies method. >> I think your answer may have obviated my desire for using the suggested >> fix. >> I'm asking around nearby to see if evidence of real use breakage can be >> found, and will tug on this thread again if/when I have something more >> to share on this. >> > I'll leave it to Sean to comment on this but just to mention that if > this reflective dependency is added then I think it would be good to > plan to remove it in jdk9. I suggest this because PolicyFile will most > likely end up in our base/core module whereas the JDK-specific API to > JAAS (com.sun.security.auth) may not. I think we should just wait a bit and see if anything comes up after the developer preview is released. Thanks, Sean From chris.hegarty at oracle.com Thu Feb 28 12:40:37 2013 From: chris.hegarty at oracle.com (chris.hegarty at oracle.com) Date: Thu, 28 Feb 2013 12:40:37 +0000 Subject: hg: jdk8/tl/jdk: 8006409: ThreadLocalRandom should dropping padding fields from its serialized form Message-ID: <20130228124055.A25F8474AC@hg.openjdk.java.net> Changeset: 7d272e524768 Author: chegar Date: 2013-02-28 12:39 +0000 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/7d272e524768 8006409: ThreadLocalRandom should dropping padding fields from its serialized form Reviewed-by: dl, martin, alanb, shade ! src/share/classes/java/util/concurrent/ThreadLocalRandom.java From maurizio.cimadamore at oracle.com Thu Feb 28 14:08:40 2013 From: maurizio.cimadamore at oracle.com (maurizio.cimadamore at oracle.com) Date: Thu, 28 Feb 2013 14:08:40 +0000 Subject: hg: jdk8/tl/langtools: 3 new changesets Message-ID: <20130228140850.94A29474B0@hg.openjdk.java.net> Changeset: 133a0a0c2cbc Author: mcimadamore Date: 2013-02-28 14:00 +0000 URL: http://hg.openjdk.java.net/jdk8/tl/langtools/rev/133a0a0c2cbc 8008723: Graph Inference: bad graph calculation leads to assertion error Summary: Dependencies are not propagated correctly through merged nodes during inference graph initialization Reviewed-by: jjg ! src/share/classes/com/sun/tools/javac/comp/Infer.java + test/tools/javac/lambda/TargetType65.java Changeset: 332f23993353 Author: mcimadamore Date: 2013-02-28 14:05 +0000 URL: http://hg.openjdk.java.net/jdk8/tl/langtools/rev/332f23993353 8008813: Structural most specific fails when method reference is passed to overloaded method Summary: Bad logic for checking most specific method reference type Reviewed-by: jjg ! src/share/classes/com/sun/tools/javac/comp/Resolve.java + test/tools/javac/lambda/MostSpecific08.java Changeset: 08782b8b03ce Author: mcimadamore Date: 2013-02-28 14:05 +0000 URL: http://hg.openjdk.java.net/jdk8/tl/langtools/rev/08782b8b03ce 8008537: Missing method reference lookup error when unbound search finds a static method Summary: Static-ness check should be applied after member reference resolution Reviewed-by: jjg ! src/share/classes/com/sun/tools/javac/comp/Attr.java ! src/share/classes/com/sun/tools/javac/comp/Resolve.java ! src/share/classes/com/sun/tools/javac/resources/compiler.properties ! test/tools/javac/diags/examples/NonStaticCantBeRefFragment.java + test/tools/javac/diags/examples/StaticMethodInUnboundLookup.java ! test/tools/javac/lambda/MethodReference22.java ! test/tools/javac/lambda/MethodReference22.out ! test/tools/javac/lambda/MethodReference28.out ! test/tools/javac/lambda/MethodReference51.out ! test/tools/javac/lambda/TargetType60.java ! test/tools/javac/lambda/TargetType60.out From tim.bell at oracle.com Tue Feb 26 17:29:55 2013 From: tim.bell at oracle.com (tim.bell at oracle.com) Date: Tue, 26 Feb 2013 17:29:55 +0000 Subject: hg: jdk8/tl: 8009019: Updates to generated-configure.sh required for 8008914 Message-ID: <20130226172955.1AECA47420@hg.openjdk.java.net> Changeset: cb0ac8979caa Author: tbell Date: 2013-02-26 09:25 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/rev/cb0ac8979caa 8009019: Updates to generated-configure.sh required for 8008914 Reviewed-by: sundar, jlaskey, jjg ! common/autoconf/generated-configure.sh From sundararajan.athijegannathan at oracle.com Tue Feb 26 18:39:55 2013 From: sundararajan.athijegannathan at oracle.com (sundararajan.athijegannathan at oracle.com) Date: Tue, 26 Feb 2013 18:39:55 +0000 Subject: hg: jdk8/tl/nashorn: 2 new changesets Message-ID: <20130226183956.6A44F47424@hg.openjdk.java.net> Changeset: 1654918e0612 Author: attila Date: 2013-02-25 16:51 +0100 URL: http://hg.openjdk.java.net/jdk8/tl/nashorn/rev/1654918e0612 8006984: Introducing local into a function inside with statement confuses its scope Reviewed-by: jlaskey, lagergren, sundar ! src/jdk/nashorn/internal/runtime/ScriptObject.java ! src/jdk/nashorn/internal/runtime/WithObject.java + test/script/basic/JDK-8006984.js + test/script/basic/JDK-8006984.js.EXPECTED Changeset: a90094ae5be3 Author: sundar Date: 2013-02-26 22:57 +0530 URL: http://hg.openjdk.java.net/jdk8/tl/nashorn/rev/a90094ae5be3 8009021: nasgen should be run on boot jdk rather than currenly built jdk Reviewed-by: jlaskey ! makefiles/BuildNashorn.gmk From sundararajan.athijegannathan at oracle.com Wed Feb 27 11:55:34 2013 From: sundararajan.athijegannathan at oracle.com (sundararajan.athijegannathan at oracle.com) Date: Wed, 27 Feb 2013 11:55:34 +0000 Subject: hg: jdk8/tl/jdk: 8009115: jtreg tests under jdk/test/javax/script should use nashorn as script engine Message-ID: <20130227115602.B096C4745F@hg.openjdk.java.net> Changeset: f5416026cdf5 Author: sundar Date: 2013-02-27 17:22 +0530 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/f5416026cdf5 8009115: jtreg tests under jdk/test/javax/script should use nashorn as script engine Reviewed-by: alanb ! test/javax/script/CauseExceptionTest.java + test/javax/script/ExceptionTest.java ! test/javax/script/GetInterfaceTest.java ! test/javax/script/Helper.java - test/javax/script/RhinoExceptionTest.java ! test/javax/script/StringWriterPrintTest.java ! test/javax/script/Test3.js ! test/javax/script/Test5.java ! test/javax/script/Test5.js ! test/javax/script/Test6.java ! test/javax/script/Test7.js ! test/javax/script/UnescapedBracketRegExTest.java ! test/javax/script/VersionTest.java From sundararajan.athijegannathan at oracle.com Wed Feb 27 15:05:21 2013 From: sundararajan.athijegannathan at oracle.com (sundararajan.athijegannathan at oracle.com) Date: Wed, 27 Feb 2013 15:05:21 +0000 Subject: hg: jdk8/tl/jdk: 8009140: jtreg tests under sun/tools/jrunscript should use nashorn engine Message-ID: <20130227150543.C4F8B47469@hg.openjdk.java.net> Changeset: 1b3173c326e6 Author: sundar Date: 2013-02-27 20:34 +0530 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/1b3173c326e6 8009140: jtreg tests under sun/tools/jrunscript should use nashorn engine Reviewed-by: alanb ! test/sun/tools/jrunscript/CheckEngine.java ! test/sun/tools/jrunscript/jrunscript-DTest.sh ! test/sun/tools/jrunscript/jrunscript-argsTest.sh ! test/sun/tools/jrunscript/jrunscript-cpTest.sh ! test/sun/tools/jrunscript/jrunscript-eTest.sh ! test/sun/tools/jrunscript/jrunscript-fTest.sh ! test/sun/tools/jrunscript/jrunscriptTest.sh ! test/sun/tools/jrunscript/repl.out From vladimir.danushevsky at oracle.com Wed Feb 27 16:23:11 2013 From: vladimir.danushevsky at oracle.com (vladimir.danushevsky at oracle.com) Date: Wed, 27 Feb 2013 16:23:11 +0000 Subject: hg: jdk8/tl/jdk: 8005545: Add System property to identify ARCH specific details such as ARM hard-float binaries Message-ID: <20130227162334.B24894746D@hg.openjdk.java.net> Changeset: 093fdf8937bd Author: vladidan Date: 2013-02-22 17:12 -0500 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/093fdf8937bd 8005545: Add System property to identify ARCH specific details such as ARM hard-float binaries Summary: Adding sun.os.abi Java Property support Reviewed-by: bobv, alanb, dholmes ! makefiles/Images.gmk ! src/share/native/java/lang/System.c ! src/share/native/java/lang/java_props.h ! src/solaris/native/java/lang/java_props_md.c