From eric.mccorkle at oracle.com Sat Jun 1 05:28:19 2013 From: eric.mccorkle at oracle.com (Eric McCorkle) Date: Sat, 01 Jun 2013 08:28:19 -0400 Subject: Review request for JDK-8013357: Javac accepts erroneous binary comparison operations In-Reply-To: <51A715F4.2040709@oracle.com> References: <51A65CAD.5020905@oracle.com> <51A715F4.2040709@oracle.com> Message-ID: <51A9E8E3.2010706@oracle.com> New webrev is up. I rolled back allowing Number == primitive comparisons (I thought I'd rolled that back in the previous), and I implemented maurizio's suggested simpler comparison. I also added a few more test cases. JPRT's been a bit unreliable, but I'm getting clean runs. Please review and comment. On 05/30/13 05:03, Maurizio Cimadamore wrote: > On 29/05/13 20:53, Eric McCorkle wrote: >> Hello, >> >> Please review my latest patch for this problem. Since my earlier review >> request, several things have happened: >> >> 1) A CCC has been submitted, reviewed (at length) and approved. >> >> 2) I've confirmed the correct behavior wrt object-primitive comparisons. >> >> 3) I've fixed some errors in our tests, which would not compile when >> javac enforces the correct type rules. >> >> 4) This change has been flagged for a release note. >> >> The webrev is here: >> http://cr.openjdk.java.net/~emc/8013357/webrev.01/ > Hi, > couple of comments: > > *) I would be wary of adding Number to the symtab which will load > symbols eagerly; j.l.Number is not available on all platforms, so there > will be issues when using javac in cross compilation environment, > compiling against a J2ME rt.jar; the usual trick is to call Symbtab. > synthesizeEmptyInterfaceIfMissing (see for other code in Symtab that > does that for a reference). > > *) The logic for checking equality seems questionable/overly complex > (expanded in meta code below): > > boolean isEqualityComparable (Type s, Type t) > if () { > return s <: t //1 > } else if () { > return s castable to t //2 > } else if (source >= 1.5) { > if () { > return () ? } else { > return () ? } > } > > The first thing that strikes me is that in places (1, 2, 3, 4) we are > not being symmetric; i.e. > > isEqualityComparable(int, long) = true > isEqualityComparable(long, int) = false > > The second thing that worries me is that the spec says something like: > > *) if both are numeric (i.e. primitives) and one is convertible to > numeric (i.e. unboxable), then a numeric comparison is performed > > I think this means that the code should do some check to see whether > numeric comparison is applicable, (i.e. eventually unboxing) and then > calling appropriate routine to do the comparison test. > > Also, restating a point raised by Alex, Number == primitive is not > allowed as Number is not convertible to a numeric type; I think the test > should be something like: > > boolean isEqualityComparable(Type s, Type t) > if () { > if (source >= 1.5) { > s = types.unboxedTypeOrType(s); > t = types.unboxedTypeOrType(t); > } > return s <: t || t <: s; > } else if () { > return (s castable to t) || (t castable to s); > } > > > Maurizio > -------------- next part -------------- A non-text attachment was scrubbed... Name: eric_mccorkle.vcf Type: text/x-vcard Size: 314 bytes Desc: not available Url : http://mail.openjdk.java.net/pipermail/compiler-dev/attachments/20130601/c896af5a/eric_mccorkle.vcf From eric.mccorkle at oracle.com Sat Jun 1 05:31:43 2013 From: eric.mccorkle at oracle.com (Eric McCorkle) Date: Sat, 01 Jun 2013 08:31:43 -0400 Subject: JDK-8015701: MethodParameters are not filled in for synthetic captured local variables Message-ID: <51A9E9AF.7070103@oracle.com> Hello, Please review this patch, which fixes the generation of MethodParameters entries for extra parameters to constructors for anonymous inner classes. The webrev is here: http://cr.openjdk.java.net/~emc/8015701/ The bug report is here: http://bugs.sun.com/view_bug.do?bug_id=8015701 Thanks, Eric -------------- next part -------------- A non-text attachment was scrubbed... Name: eric_mccorkle.vcf Type: text/x-vcard Size: 303 bytes Desc: not available Url : http://mail.openjdk.java.net/pipermail/compiler-dev/attachments/20130601/5e0911c5/eric_mccorkle.vcf From jonathan.gibbons at oracle.com Sat Jun 1 10:06:31 2013 From: jonathan.gibbons at oracle.com (Jonathan Gibbons) Date: Sat, 01 Jun 2013 10:06:31 -0700 Subject: JDK-8015701: MethodParameters are not filled in for synthetic captured local variables In-Reply-To: <51A9E9AF.7070103@oracle.com> References: <51A9E9AF.7070103@oracle.com> Message-ID: <51AA2A17.6090402@oracle.com> There's no test. Did you forget to hg add it? -- Jon On 06/01/2013 05:31 AM, Eric McCorkle wrote: > Hello, > > Please review this patch, which fixes the generation of MethodParameters > entries for extra parameters to constructors for anonymous inner classes. > > The webrev is here: > http://cr.openjdk.java.net/~emc/8015701/ > > The bug report is here: > http://bugs.sun.com/view_bug.do?bug_id=8015701 > > Thanks, > Eric From vicente.romero at oracle.com Sat Jun 1 14:00:17 2013 From: vicente.romero at oracle.com (vicente.romero at oracle.com) Date: Sat, 01 Jun 2013 21:00:17 +0000 Subject: hg: jdk8/tl/langtools: 8010737: javac, known parameter's names should be copied to automatically generated constructors for inner classes Message-ID: <20130601210023.612D248EB9@hg.openjdk.java.net> Changeset: e9855150c5b0 Author: vromero Date: 2013-06-01 21:57 +0100 URL: http://hg.openjdk.java.net/jdk8/tl/langtools/rev/e9855150c5b0 8010737: javac, known parameter's names should be copied to automatically generated constructors for inner classes Reviewed-by: mcimadamore ! src/share/classes/com/sun/tools/javac/comp/MemberEnter.java ! test/tools/javac/MethodParameters/ClassFileVisitor.java ! test/tools/javac/MethodParameters/ReflectionVisitor.java + test/tools/javac/T8010737/ParameterNamesAreNotCopiedToAnonymousInitTest.java From vicente.romero at oracle.com Sat Jun 1 14:10:17 2013 From: vicente.romero at oracle.com (vicente.romero at oracle.com) Date: Sat, 01 Jun 2013 21:10:17 +0000 Subject: hg: jdk8/tl/langtools: 6695379: Copy method annotations and parameter annotations to synthetic bridge methods Message-ID: <20130601211020.6BA4348EBA@hg.openjdk.java.net> Changeset: ec871c3e8337 Author: vromero Date: 2013-06-01 22:09 +0100 URL: http://hg.openjdk.java.net/jdk8/tl/langtools/rev/ec871c3e8337 6695379: Copy method annotations and parameter annotations to synthetic bridge methods Reviewed-by: mcimadamore ! src/share/classes/com/sun/tools/javac/comp/TransTypes.java ! src/share/classes/com/sun/tools/javac/jvm/ClassWriter.java ! test/tools/javac/6889255/T6889255.java ! test/tools/javac/MethodParameters/ClassFileVisitor.java ! test/tools/javac/MethodParameters/ReflectionVisitor.java ! test/tools/javac/MethodParameters/Tester.java + test/tools/javac/T6695379/AnnotationsAreNotCopiedToBridgeMethodsTest.java From eric.mccorkle at oracle.com Sat Jun 1 19:04:06 2013 From: eric.mccorkle at oracle.com (Eric McCorkle) Date: Sat, 01 Jun 2013 22:04:06 -0400 Subject: JDK-8015701: MethodParameters are not filled in for synthetic captured local variables In-Reply-To: <51AA2A17.6090402@oracle.com> References: <51A9E9AF.7070103@oracle.com> <51AA2A17.6090402@oracle.com> Message-ID: <51AAA816.8000000@oracle.com> I did. It's up there now. On 06/01/13 13:06, Jonathan Gibbons wrote: > There's no test. Did you forget to hg add it? > > -- Jon > > On 06/01/2013 05:31 AM, Eric McCorkle wrote: >> Hello, >> >> Please review this patch, which fixes the generation of MethodParameters >> entries for extra parameters to constructors for anonymous inner classes. >> >> The webrev is here: >> http://cr.openjdk.java.net/~emc/8015701/ >> >> The bug report is here: >> http://bugs.sun.com/view_bug.do?bug_id=8015701 >> >> Thanks, >> Eric > -------------- next part -------------- A non-text attachment was scrubbed... Name: eric_mccorkle.vcf Type: text/x-vcard Size: 314 bytes Desc: not available Url : http://mail.openjdk.java.net/pipermail/compiler-dev/attachments/20130601/94d71ca1/eric_mccorkle.vcf From mike.duigou at oracle.com Sun Jun 2 15:41:33 2013 From: mike.duigou at oracle.com (mike.duigou at oracle.com) Date: Sun, 02 Jun 2013 22:41:33 +0000 Subject: hg: jdk8/tl/jdk: 8007398: Peformance improvements to Integer and Long string formatting. Message-ID: <20130602224212.0147748EC8@hg.openjdk.java.net> Changeset: c8410ce73ad6 Author: mduigou Date: 2013-02-12 17:04 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/c8410ce73ad6 8007398: Peformance improvements to Integer and Long string formatting. Reviewed-by: mduigou, martin, darcy, briangoetz Contributed-by: Steven Schlansker , Mike Duigou ! src/share/classes/java/lang/Integer.java ! src/share/classes/java/lang/Long.java + test/java/lang/IntegralPrimitiveToString.java From paul.sandoz at oracle.com Mon Jun 3 01:44:08 2013 From: paul.sandoz at oracle.com (paul.sandoz at oracle.com) Date: Mon, 03 Jun 2013 08:44:08 +0000 Subject: hg: jdk8/tl/jdk: 8015008: Primitive iterator over empty sequence, null consumer: forEachRemaining methods do not throw NPE Message-ID: <20130603084437.9FA2948ED1@hg.openjdk.java.net> Changeset: f3c7c5f753dc Author: psandoz Date: 2013-06-03 10:28 +0200 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/f3c7c5f753dc 8015008: Primitive iterator over empty sequence, null consumer: forEachRemaining methods do not throw NPE Reviewed-by: chegar ! src/share/classes/java/util/PrimitiveIterator.java + test/java/util/Iterator/PrimitiveIteratorDefaults.java From paul.sandoz at oracle.com Mon Jun 3 01:53:02 2013 From: paul.sandoz at oracle.com (paul.sandoz at oracle.com) Date: Mon, 03 Jun 2013 08:53:02 +0000 Subject: hg: jdk8/tl/jdk: 8014731: j.u.stream.StreamSupport class has default constructor generated Message-ID: <20130603085315.D311948ED2@hg.openjdk.java.net> Changeset: 44ef47f3efed Author: psandoz Date: 2013-06-03 10:45 +0200 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/44ef47f3efed 8014731: j.u.stream.StreamSupport class has default constructor generated Summary: This change set also fixes broken links Reviewed-by: alanb, chegar Contributed-by: Paul Sandoz , Henry Jen ! src/share/classes/java/util/stream/StreamSupport.java From nils.loodin at oracle.com Mon Jun 3 07:22:31 2013 From: nils.loodin at oracle.com (nils.loodin at oracle.com) Date: Mon, 03 Jun 2013 14:22:31 +0000 Subject: hg: jdk8/tl/jdk: 6526682: JConsole shows negative CPU Usage Message-ID: <20130603142259.C0BA248EE6@hg.openjdk.java.net> Changeset: 33d1376bf725 Author: nloodin Date: 2013-06-03 16:13 +0200 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/33d1376bf725 6526682: JConsole shows negative CPU Usage Reviewed-by: alanb, mchung ! src/share/classes/sun/tools/jconsole/SummaryTab.java From eric.mccorkle at oracle.com Mon Jun 3 07:48:46 2013 From: eric.mccorkle at oracle.com (eric.mccorkle at oracle.com) Date: Mon, 03 Jun 2013 14:48:46 +0000 Subject: hg: jdk8/tl/jdk: 8014834: shell tests don't begin with #!/bin/sh Message-ID: <20130603144858.89CF948EE7@hg.openjdk.java.net> Changeset: 3d4d7ed93731 Author: emc Date: 2013-06-03 10:44 -0400 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/3d4d7ed93731 8014834: shell tests don't begin with #!/bin/sh Summary: Some shell tests don't begin with the command interpreter line Reviewed-by: alanb, ksrini ! test/java/util/Locale/LocaleCategory.sh ! test/java/util/Locale/LocaleProviders.sh ! test/java/util/Locale/data/deflocale.sh ! test/java/util/PluggableLocale/BreakIteratorProviderTest.sh ! test/java/util/PluggableLocale/CalendarDataProviderTest.sh ! test/java/util/PluggableLocale/ClasspathTest.sh ! test/java/util/PluggableLocale/CollatorProviderTest.sh ! test/java/util/PluggableLocale/CurrencyNameProviderTest.sh ! test/java/util/PluggableLocale/DateFormatProviderTest.sh ! test/java/util/PluggableLocale/DateFormatSymbolsProviderTest.sh ! test/java/util/PluggableLocale/DecimalFormatSymbolsProviderTest.sh ! test/java/util/PluggableLocale/ExecTest.sh ! test/java/util/PluggableLocale/GenericTest.sh ! test/java/util/PluggableLocale/LocaleNameProviderTest.sh ! test/java/util/PluggableLocale/NumberFormatProviderTest.sh ! test/java/util/PluggableLocale/TimeZoneNameProviderTest.sh ! test/java/util/ResourceBundle/Bug6299235Test.sh ! test/sun/java2d/X11SurfaceData/SharedMemoryPixmapsTest/SharedMemoryPixmapsTest.sh ! test/sun/rmi/rmic/manifestClassPath/run.sh ! test/sun/rmi/rmic/newrmic/equivalence/batch.sh ! test/tools/launcher/MultipleJRE.sh From paul.sandoz at oracle.com Mon Jun 3 08:43:28 2013 From: paul.sandoz at oracle.com (paul.sandoz at oracle.com) Date: Mon, 03 Jun 2013 15:43:28 +0000 Subject: hg: jdk8/tl/jdk: 8014383: StringJoiner example in class description not in sync with streams API Message-ID: <20130603154340.F1AC048EE8@hg.openjdk.java.net> Changeset: a79e2683eae3 Author: psandoz Date: 2013-06-03 17:37 +0200 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/a79e2683eae3 8014383: StringJoiner example in class description not in sync with streams API Reviewed-by: alanb ! src/share/classes/java/util/StringJoiner.java From eric.mccorkle at oracle.com Mon Jun 3 11:11:22 2013 From: eric.mccorkle at oracle.com (Eric McCorkle) Date: Mon, 03 Jun 2013 14:11:22 -0400 Subject: Review request for JDK-8013357: Javac accepts erroneous binary comparison operations In-Reply-To: <51A9E8E3.2010706@oracle.com> References: <51A65CAD.5020905@oracle.com> <51A715F4.2040709@oracle.com> <51A9E8E3.2010706@oracle.com> Message-ID: <51ACDC4A.3070500@oracle.com> Forgot the URL on this. It's here: http://cr.openjdk.java.net/~emc/8013357/webrev.02/ On 06/01/13 08:28, Eric McCorkle wrote: > New webrev is up. I rolled back allowing Number == primitive > comparisons (I thought I'd rolled that back in the previous), and I > implemented maurizio's suggested simpler comparison. I also added a few > more test cases. > > JPRT's been a bit unreliable, but I'm getting clean runs. > > Please review and comment. > > On 05/30/13 05:03, Maurizio Cimadamore wrote: >> On 29/05/13 20:53, Eric McCorkle wrote: >>> Hello, >>> >>> Please review my latest patch for this problem. Since my earlier review >>> request, several things have happened: >>> >>> 1) A CCC has been submitted, reviewed (at length) and approved. >>> >>> 2) I've confirmed the correct behavior wrt object-primitive comparisons. >>> >>> 3) I've fixed some errors in our tests, which would not compile when >>> javac enforces the correct type rules. >>> >>> 4) This change has been flagged for a release note. >>> >>> The webrev is here: >>> http://cr.openjdk.java.net/~emc/8013357/webrev.01/ >> Hi, >> couple of comments: >> >> *) I would be wary of adding Number to the symtab which will load >> symbols eagerly; j.l.Number is not available on all platforms, so there >> will be issues when using javac in cross compilation environment, >> compiling against a J2ME rt.jar; the usual trick is to call Symbtab. >> synthesizeEmptyInterfaceIfMissing (see for other code in Symtab that >> does that for a reference). >> >> *) The logic for checking equality seems questionable/overly complex >> (expanded in meta code below): >> >> boolean isEqualityComparable (Type s, Type t) >> if () { >> return s <: t //1 >> } else if () { >> return s castable to t //2 >> } else if (source >= 1.5) { >> if () { >> return () ? > } else { >> return () ? > } >> } >> >> The first thing that strikes me is that in places (1, 2, 3, 4) we are >> not being symmetric; i.e. >> >> isEqualityComparable(int, long) = true >> isEqualityComparable(long, int) = false >> >> The second thing that worries me is that the spec says something like: >> >> *) if both are numeric (i.e. primitives) and one is convertible to >> numeric (i.e. unboxable), then a numeric comparison is performed >> >> I think this means that the code should do some check to see whether >> numeric comparison is applicable, (i.e. eventually unboxing) and then >> calling appropriate routine to do the comparison test. >> >> Also, restating a point raised by Alex, Number == primitive is not >> allowed as Number is not convertible to a numeric type; I think the test >> should be something like: >> >> boolean isEqualityComparable(Type s, Type t) >> if () { >> if (source >= 1.5) { >> s = types.unboxedTypeOrType(s); >> t = types.unboxedTypeOrType(t); >> } >> return s <: t || t <: s; >> } else if () { >> return (s castable to t) || (t castable to s); >> } >> >> >> Maurizio >> -------------- next part -------------- A non-text attachment was scrubbed... Name: eric_mccorkle.vcf Type: text/x-vcard Size: 314 bytes Desc: not available Url : http://mail.openjdk.java.net/pipermail/compiler-dev/attachments/20130603/908babdb/eric_mccorkle.vcf From alex.buckley at oracle.com Mon Jun 3 11:22:37 2013 From: alex.buckley at oracle.com (Alex Buckley) Date: Mon, 03 Jun 2013 11:22:37 -0700 Subject: Review request for JDK-8013357: Javac accepts erroneous binary comparison operations In-Reply-To: <51ACDC4A.3070500@oracle.com> References: <51A65CAD.5020905@oracle.com> <51A715F4.2040709@oracle.com> <51A9E8E3.2010706@oracle.com> <51ACDC4A.3070500@oracle.com> Message-ID: <51ACDEED.5080709@oracle.com> In ObjectZeroCompare, I would just suggest having the *_name and *_contents variables listed in the same order as the assert_compile_* invocations in run(). I think the most readable order is: Object, Number, IntegerSuper, Uncastable, [Flips from failure to success here] Castable, Integer, etc [as you have it already]. Alex On 6/3/2013 11:11 AM, Eric McCorkle wrote: > Forgot the URL on this. It's here: > http://cr.openjdk.java.net/~emc/8013357/webrev.02/ > > On 06/01/13 08:28, Eric McCorkle wrote: >> New webrev is up. I rolled back allowing Number == primitive >> comparisons (I thought I'd rolled that back in the previous), and I >> implemented maurizio's suggested simpler comparison. I also added a few >> more test cases. >> >> JPRT's been a bit unreliable, but I'm getting clean runs. >> >> Please review and comment. >> >> On 05/30/13 05:03, Maurizio Cimadamore wrote: >>> On 29/05/13 20:53, Eric McCorkle wrote: >>>> Hello, >>>> >>>> Please review my latest patch for this problem. Since my earlier review >>>> request, several things have happened: >>>> >>>> 1) A CCC has been submitted, reviewed (at length) and approved. >>>> >>>> 2) I've confirmed the correct behavior wrt object-primitive comparisons. >>>> >>>> 3) I've fixed some errors in our tests, which would not compile when >>>> javac enforces the correct type rules. >>>> >>>> 4) This change has been flagged for a release note. >>>> >>>> The webrev is here: >>>> http://cr.openjdk.java.net/~emc/8013357/webrev.01/ >>> Hi, >>> couple of comments: >>> >>> *) I would be wary of adding Number to the symtab which will load >>> symbols eagerly; j.l.Number is not available on all platforms, so there >>> will be issues when using javac in cross compilation environment, >>> compiling against a J2ME rt.jar; the usual trick is to call Symbtab. >>> synthesizeEmptyInterfaceIfMissing (see for other code in Symtab that >>> does that for a reference). >>> >>> *) The logic for checking equality seems questionable/overly complex >>> (expanded in meta code below): >>> >>> boolean isEqualityComparable (Type s, Type t) >>> if () { >>> return s <: t //1 >>> } else if () { >>> return s castable to t //2 >>> } else if (source >= 1.5) { >>> if () { >>> return () ? >> } else { >>> return () ? >> } >>> } >>> >>> The first thing that strikes me is that in places (1, 2, 3, 4) we are >>> not being symmetric; i.e. >>> >>> isEqualityComparable(int, long) = true >>> isEqualityComparable(long, int) = false >>> >>> The second thing that worries me is that the spec says something like: >>> >>> *) if both are numeric (i.e. primitives) and one is convertible to >>> numeric (i.e. unboxable), then a numeric comparison is performed >>> >>> I think this means that the code should do some check to see whether >>> numeric comparison is applicable, (i.e. eventually unboxing) and then >>> calling appropriate routine to do the comparison test. >>> >>> Also, restating a point raised by Alex, Number == primitive is not >>> allowed as Number is not convertible to a numeric type; I think the test >>> should be something like: >>> >>> boolean isEqualityComparable(Type s, Type t) >>> if () { >>> if (source >= 1.5) { >>> s = types.unboxedTypeOrType(s); >>> t = types.unboxedTypeOrType(t); >>> } >>> return s <: t || t <: s; >>> } else if () { >>> return (s castable to t) || (t castable to s); >>> } >>> >>> >>> Maurizio >>> From mike.duigou at oracle.com Mon Jun 3 11:32:11 2013 From: mike.duigou at oracle.com (mike.duigou at oracle.com) Date: Mon, 03 Jun 2013 18:32:11 +0000 Subject: hg: jdk8/tl/jdk: 8014966: Add the proper Javadoc to @Contended Message-ID: <20130603183231.B809A48EF4@hg.openjdk.java.net> Changeset: 62d3c82b4509 Author: shade Date: 2013-06-03 22:09 +0400 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/62d3c82b4509 8014966: Add the proper Javadoc to @Contended Summary: more extensive description. Reviewed-by: dholmes, mduigou, martin ! src/share/classes/sun/misc/Contended.java From eric.mccorkle at oracle.com Mon Jun 3 12:38:12 2013 From: eric.mccorkle at oracle.com (Eric McCorkle) Date: Mon, 03 Jun 2013 15:38:12 -0400 Subject: Review request for JDK-8013357: Javac accepts erroneous binary comparison operations In-Reply-To: <51ACDEED.5080709@oracle.com> References: <51A65CAD.5020905@oracle.com> <51A715F4.2040709@oracle.com> <51A9E8E3.2010706@oracle.com> <51ACDC4A.3070500@oracle.com> <51ACDEED.5080709@oracle.com> Message-ID: <51ACF0A4.2000606@oracle.com> Good suggestion, I've made the change (no new webrev, as it just reorders defs). Are there any more suggestions from anyone, or is this one good to go? On 06/03/13 14:22, Alex Buckley wrote: > In ObjectZeroCompare, I would just suggest having the *_name and > *_contents variables listed in the same order as the assert_compile_* > invocations in run(). I think the most readable order is: Object, > Number, IntegerSuper, Uncastable, [Flips from failure to success here] > Castable, Integer, etc [as you have it already]. > > Alex > > On 6/3/2013 11:11 AM, Eric McCorkle wrote: >> Forgot the URL on this. It's here: >> http://cr.openjdk.java.net/~emc/8013357/webrev.02/ >> >> On 06/01/13 08:28, Eric McCorkle wrote: >>> New webrev is up. I rolled back allowing Number == primitive >>> comparisons (I thought I'd rolled that back in the previous), and I >>> implemented maurizio's suggested simpler comparison. I also added a few >>> more test cases. >>> >>> JPRT's been a bit unreliable, but I'm getting clean runs. >>> >>> Please review and comment. >>> >>> On 05/30/13 05:03, Maurizio Cimadamore wrote: >>>> On 29/05/13 20:53, Eric McCorkle wrote: >>>>> Hello, >>>>> >>>>> Please review my latest patch for this problem. Since my earlier >>>>> review >>>>> request, several things have happened: >>>>> >>>>> 1) A CCC has been submitted, reviewed (at length) and approved. >>>>> >>>>> 2) I've confirmed the correct behavior wrt object-primitive >>>>> comparisons. >>>>> >>>>> 3) I've fixed some errors in our tests, which would not compile when >>>>> javac enforces the correct type rules. >>>>> >>>>> 4) This change has been flagged for a release note. >>>>> >>>>> The webrev is here: >>>>> http://cr.openjdk.java.net/~emc/8013357/webrev.01/ >>>> Hi, >>>> couple of comments: >>>> >>>> *) I would be wary of adding Number to the symtab which will load >>>> symbols eagerly; j.l.Number is not available on all platforms, so there >>>> will be issues when using javac in cross compilation environment, >>>> compiling against a J2ME rt.jar; the usual trick is to call Symbtab. >>>> synthesizeEmptyInterfaceIfMissing (see for other code in Symtab that >>>> does that for a reference). >>>> >>>> *) The logic for checking equality seems questionable/overly complex >>>> (expanded in meta code below): >>>> >>>> boolean isEqualityComparable (Type s, Type t) >>>> if () { >>>> return s <: t //1 >>>> } else if () { >>>> return s castable to t //2 >>>> } else if (source >= 1.5) { >>>> if () { >>>> return () ? >>> t) //3 >>>> } else { >>>> return () ? >>> s) //4 >>>> } >>>> } >>>> >>>> The first thing that strikes me is that in places (1, 2, 3, 4) we are >>>> not being symmetric; i.e. >>>> >>>> isEqualityComparable(int, long) = true >>>> isEqualityComparable(long, int) = false >>>> >>>> The second thing that worries me is that the spec says something like: >>>> >>>> *) if both are numeric (i.e. primitives) and one is convertible to >>>> numeric (i.e. unboxable), then a numeric comparison is performed >>>> >>>> I think this means that the code should do some check to see whether >>>> numeric comparison is applicable, (i.e. eventually unboxing) and then >>>> calling appropriate routine to do the comparison test. >>>> >>>> Also, restating a point raised by Alex, Number == primitive is not >>>> allowed as Number is not convertible to a numeric type; I think the >>>> test >>>> should be something like: >>>> >>>> boolean isEqualityComparable(Type s, Type t) >>>> if () { >>>> if (source >= 1.5) { >>>> s = types.unboxedTypeOrType(s); >>>> t = types.unboxedTypeOrType(t); >>>> } >>>> return s <: t || t <: s; >>>> } else if () { >>>> return (s castable to t) || (t castable to s); >>>> } >>>> >>>> >>>> Maurizio >>>> -------------- next part -------------- A non-text attachment was scrubbed... Name: eric_mccorkle.vcf Type: text/x-vcard Size: 314 bytes Desc: not available Url : http://mail.openjdk.java.net/pipermail/compiler-dev/attachments/20130603/00deb2a7/eric_mccorkle.vcf From kumar.x.srinivasan at oracle.com Mon Jun 3 13:21:22 2013 From: kumar.x.srinivasan at oracle.com (kumar.x.srinivasan at oracle.com) Date: Mon, 03 Jun 2013 20:21:22 +0000 Subject: hg: jdk8/tl/jdk: 8015813: add test/tools/pack200/TimeStamp.java to ProblemsList Message-ID: <20130603202136.520D048EFC@hg.openjdk.java.net> Changeset: f4e2a70260cf Author: ksrini Date: 2013-06-03 13:20 -0700 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/f4e2a70260cf 8015813: add test/tools/pack200/TimeStamp.java to ProblemsList Reviewed-by: sherman ! test/ProblemList.txt From jonathan.gibbons at oracle.com Mon Jun 3 16:23:17 2013 From: jonathan.gibbons at oracle.com (jonathan.gibbons at oracle.com) Date: Mon, 03 Jun 2013 23:23:17 +0000 Subject: hg: jdk8/tl/langtools: 8013405: DocLint should support
  • Message-ID: <20130603232321.C159F48F00@hg.openjdk.java.net> Changeset: 391f97e270c2 Author: jjg Date: 2013-06-03 16:22 -0700 URL: http://hg.openjdk.java.net/jdk8/tl/langtools/rev/391f97e270c2 8013405: DocLint should support
  • Reviewed-by: ksrini ! src/share/classes/com/sun/tools/doclint/Checker.java ! src/share/classes/com/sun/tools/doclint/HtmlTag.java ! src/share/classes/com/sun/tools/doclint/resources/doclint.properties ! test/tools/doclint/html/ListTagsTest.java + test/tools/doclint/html/ListTagsTest.out From lana.steuck at oracle.com Mon Jun 3 16:59:00 2013 From: lana.steuck at oracle.com (lana.steuck at oracle.com) Date: Mon, 03 Jun 2013 23:59:00 +0000 Subject: hg: jdk8/tl/jaxp: 4 new changesets Message-ID: <20130603235917.4C80C48F08@hg.openjdk.java.net> Changeset: 827b59af45f3 Author: katleman Date: 2013-05-23 10:47 -0700 URL: http://hg.openjdk.java.net/jdk8/tl/jaxp/rev/827b59af45f3 Added tag jdk8-b91 for changeset e3065fb07877 ! .hgtags Changeset: 1ab5d8d6eab8 Author: katleman Date: 2013-05-29 10:15 -0700 URL: http://hg.openjdk.java.net/jdk8/tl/jaxp/rev/1ab5d8d6eab8 8015525: JDK8 b91 source with GPL header errors Reviewed-by: dholmes, lancea ! src/com/sun/org/apache/xerces/internal/impl/XMLEntityManager.java Changeset: a6596a06e10b Author: katleman Date: 2013-05-30 10:58 -0700 URL: http://hg.openjdk.java.net/jdk8/tl/jaxp/rev/a6596a06e10b Added tag jdk8-b92 for changeset 1ab5d8d6eab8 ! .hgtags Changeset: f117a66f337c Author: lana Date: 2013-06-03 16:09 -0700 URL: http://hg.openjdk.java.net/jdk8/tl/jaxp/rev/f117a66f337c Merge From lana.steuck at oracle.com Mon Jun 3 16:58:51 2013 From: lana.steuck at oracle.com (lana.steuck at oracle.com) Date: Mon, 03 Jun 2013 23:58:51 +0000 Subject: hg: jdk8/tl: 8 new changesets Message-ID: <20130603235853.1796E48F04@hg.openjdk.java.net> Changeset: eea249c1ecee Author: erikj Date: 2013-05-21 13:18 +0200 URL: http://hg.openjdk.java.net/jdk8/tl/rev/eea249c1ecee 8014508: Fix log levels in make Reviewed-by: tbell ! NewMakefile.gmk ! common/autoconf/spec.gmk.in Changeset: e83abb0a04ab Author: katleman Date: 2013-05-21 12:51 -0700 URL: http://hg.openjdk.java.net/jdk8/tl/rev/e83abb0a04ab Merge Changeset: cb51fb4789ac Author: andrew Date: 2013-05-22 13:49 +0100 URL: http://hg.openjdk.java.net/jdk8/tl/rev/cb51fb4789ac 8015087: Provide debugging information for programs Summary: Enable debugging info on programs in OpenJDK builds Reviewed-by: erikj ! common/makefiles/NativeCompilation.gmk Changeset: f089df41bff5 Author: katleman Date: 2013-05-23 10:47 -0700 URL: http://hg.openjdk.java.net/jdk8/tl/rev/f089df41bff5 Added tag jdk8-b91 for changeset cb51fb4789ac ! .hgtags Changeset: e247ee3924d5 Author: erikj Date: 2013-05-22 17:26 +0200 URL: http://hg.openjdk.java.net/jdk8/tl/rev/e247ee3924d5 8014514: Fix jvm args for sjavac Reviewed-by: tbell ! common/autoconf/basics.m4 ! common/autoconf/build-performance.m4 ! common/autoconf/generated-configure.sh Changeset: e7c09a983c3c Author: erikj Date: 2013-05-28 08:50 +0200 URL: http://hg.openjdk.java.net/jdk8/tl/rev/e7c09a983c3c 8007129: build-infra Add configure --with-jtreg option for location of JTREG Reviewed-by: tbell ! common/autoconf/basics.m4 ! common/autoconf/generated-configure.sh ! common/autoconf/spec.gmk.in ! common/autoconf/toolchain.m4 Changeset: 3a36c926a7aa Author: katleman Date: 2013-05-28 17:57 -0700 URL: http://hg.openjdk.java.net/jdk8/tl/rev/3a36c926a7aa Merge Changeset: 46be9eb242d1 Author: katleman Date: 2013-05-30 10:57 -0700 URL: http://hg.openjdk.java.net/jdk8/tl/rev/46be9eb242d1 Added tag jdk8-b92 for changeset 3a36c926a7aa ! .hgtags From lana.steuck at oracle.com Mon Jun 3 16:58:57 2013 From: lana.steuck at oracle.com (lana.steuck at oracle.com) Date: Mon, 03 Jun 2013 23:58:57 +0000 Subject: hg: jdk8/tl/nashorn: 3 new changesets Message-ID: <20130603235904.7A98F48F06@hg.openjdk.java.net> Changeset: dee23cce5235 Author: katleman Date: 2013-05-23 10:47 -0700 URL: http://hg.openjdk.java.net/jdk8/tl/nashorn/rev/dee23cce5235 Added tag jdk8-b91 for changeset 6b9f41203800 ! .hgtags Changeset: 1c7481ac7fe0 Author: katleman Date: 2013-05-30 10:58 -0700 URL: http://hg.openjdk.java.net/jdk8/tl/nashorn/rev/1c7481ac7fe0 Added tag jdk8-b92 for changeset dee23cce5235 ! .hgtags Changeset: 7e105c2f3167 Author: lana Date: 2013-06-03 16:10 -0700 URL: http://hg.openjdk.java.net/jdk8/tl/nashorn/rev/7e105c2f3167 Merge From lana.steuck at oracle.com Mon Jun 3 16:58:52 2013 From: lana.steuck at oracle.com (lana.steuck at oracle.com) Date: Mon, 03 Jun 2013 23:58:52 +0000 Subject: hg: jdk8/tl/corba: 2 new changesets Message-ID: <20130603235855.52BFC48F05@hg.openjdk.java.net> Changeset: 717aa26f8e0a Author: katleman Date: 2013-05-23 10:47 -0700 URL: http://hg.openjdk.java.net/jdk8/tl/corba/rev/717aa26f8e0a Added tag jdk8-b91 for changeset 8f7ffb296385 ! .hgtags Changeset: 8dc9d7ccbb2d Author: katleman Date: 2013-05-30 10:57 -0700 URL: http://hg.openjdk.java.net/jdk8/tl/corba/rev/8dc9d7ccbb2d Added tag jdk8-b92 for changeset 717aa26f8e0a ! .hgtags From lana.steuck at oracle.com Mon Jun 3 16:58:54 2013 From: lana.steuck at oracle.com (lana.steuck at oracle.com) Date: Mon, 03 Jun 2013 23:58:54 +0000 Subject: hg: jdk8/tl/jaxws: 2 new changesets Message-ID: <20130603235908.E1D2148F07@hg.openjdk.java.net> Changeset: a0f604766ca1 Author: katleman Date: 2013-05-23 10:47 -0700 URL: http://hg.openjdk.java.net/jdk8/tl/jaxws/rev/a0f604766ca1 Added tag jdk8-b91 for changeset 0bb1a9fa56b0 ! .hgtags Changeset: 7386eca865e1 Author: katleman Date: 2013-05-30 10:58 -0700 URL: http://hg.openjdk.java.net/jdk8/tl/jaxws/rev/7386eca865e1 Added tag jdk8-b92 for changeset a0f604766ca1 ! .hgtags From lana.steuck at oracle.com Mon Jun 3 16:59:21 2013 From: lana.steuck at oracle.com (lana.steuck at oracle.com) Date: Mon, 03 Jun 2013 23:59:21 +0000 Subject: hg: jdk8/tl/hotspot: 42 new changesets Message-ID: <20130604000052.5BF3848F0A@hg.openjdk.java.net> Changeset: ad47de214f0c Author: katleman Date: 2013-05-23 10:47 -0700 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/ad47de214f0c Added tag jdk8-b91 for changeset 7cbdf0e3725c ! .hgtags Changeset: 7ec426e29e4c Author: amurillo Date: 2013-05-17 09:10 -0700 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/7ec426e29e4c 8014760: new hotspot build - hs25-b34 Reviewed-by: jcoomes ! make/hotspot_version Changeset: f49e0508a38a Author: rbackman Date: 2013-05-15 11:30 +0200 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/f49e0508a38a 4965252: JvmtiExport::post_raw_field_modification jni ref handling is odd Reviewed-by: coleenp, sspitsyn ! src/share/vm/prims/jvmtiExport.cpp Changeset: 243469d929e6 Author: ctornqvi Date: 2013-05-16 15:31 +0200 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/243469d929e6 8008169: test/runtime/7158804/Test7158804.sh has bad copyright header Summary: Re-wrote test in Java in addition to fixing the Copyright notice. Also reviewed by leonid.mesnik at oracle.com Reviewed-by: coleenp, ctornqvi Contributed-by: Mikhailo Seledtsov - test/runtime/7158804/Test7158804.sh + test/runtime/CommandLine/ConfigFileParsing.java Changeset: 17db82f22f1e Author: ctornqvi Date: 2013-05-16 17:54 +0200 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/17db82f22f1e 8014511: runtime/RedefineObject/TestRedefineObject.java has incorrect classname in @run tag Summary: Corrected the class name Reviewed-by: coleenp, ctornqvi, hseigel Contributed-by: Mikhailo Seledtsov ! test/runtime/RedefineObject/TestRedefineObject.java Changeset: 78332b46e604 Author: kevinw Date: 2013-05-16 12:40 +0100 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/78332b46e604 6313816: SA: jstack -m fails on Win32 : UnalignedAddressException Reviewed-by: sla, poonam - agent/src/share/classes/sun/jvm/hotspot/debugger/cdbg/basic/amd64/AMD64CFrame.java - agent/src/share/classes/sun/jvm/hotspot/debugger/cdbg/basic/x86/X86CFrame.java ! agent/src/share/classes/sun/jvm/hotspot/debugger/windbg/WindbgCDebugger.java + agent/src/share/classes/sun/jvm/hotspot/debugger/windows/amd64/WindowsAMD64CFrame.java + agent/src/share/classes/sun/jvm/hotspot/debugger/windows/x86/WindowsX86CFrame.java ! make/sa.files Changeset: 205dd30230e1 Author: shade Date: 2013-05-17 01:43 +0400 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/205dd30230e1 8012939: @Contended doesn't work correctly with inheritance Summary: Fix instance_size miscalculation. Reviewed-by: jrose, kvn ! src/share/vm/classfile/classFileParser.cpp + test/runtime/contended/Inheritance1.java Changeset: b334821dad92 Author: dholmes Date: 2013-05-16 21:19 -0400 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/b334821dad92 Merge Changeset: 50e9396d5257 Author: shade Date: 2013-05-17 01:58 +0400 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/50e9396d5257 8014509: @Contended: explicit default value behaves differently from the implicit value Summary: Treat the empty string as the default value tag Reviewed-by: kvn, twisti ! src/share/vm/classfile/classFileParser.cpp + test/runtime/contended/DefaultValue.java Changeset: 074ba6269cf4 Author: dholmes Date: 2013-05-16 22:11 -0400 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/074ba6269cf4 Merge - agent/src/share/classes/sun/jvm/hotspot/debugger/cdbg/basic/amd64/AMD64CFrame.java - agent/src/share/classes/sun/jvm/hotspot/debugger/cdbg/basic/x86/X86CFrame.java Changeset: 1ba508fcd3e2 Author: dholmes Date: 2013-05-16 23:40 -0400 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/1ba508fcd3e2 Merge Changeset: 6ce351ac7339 Author: rdurbin Date: 2013-05-17 08:51 -0700 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/6ce351ac7339 7145527: sscanf must use a length in the format string Summary: Remove dead code containing last call to scanf with no string length specifier Reviewed-by: dcubed, coleenp ! src/share/vm/utilities/debug.cpp Changeset: a250c89cf9e3 Author: dcubed Date: 2013-05-17 08:56 -0700 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/a250c89cf9e3 Merge Changeset: b5be63340698 Author: dcubed Date: 2013-05-17 11:36 -0700 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/b5be63340698 Merge - agent/src/share/classes/sun/jvm/hotspot/debugger/cdbg/basic/amd64/AMD64CFrame.java - agent/src/share/classes/sun/jvm/hotspot/debugger/cdbg/basic/x86/X86CFrame.java ! src/share/vm/classfile/classFileParser.cpp - test/runtime/7158804/Test7158804.sh Changeset: 386b77bf6427 Author: dcubed Date: 2013-05-17 17:52 -0700 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/386b77bf6427 Merge - make/bsd/makefiles/launcher.make - make/linux/makefiles/launcher.make - make/solaris/makefiles/launcher.make - make/windows/makefiles/launcher.make - src/os/posix/launcher/java_md.c - src/os/posix/launcher/java_md.h - src/os/posix/launcher/launcher.script - src/os/windows/launcher/java_md.c - src/os/windows/launcher/java_md.h - src/share/tools/launcher/java.c - src/share/tools/launcher/java.h - src/share/tools/launcher/jli_util.c - src/share/tools/launcher/jli_util.h - src/share/tools/launcher/wildcard.c - src/share/tools/launcher/wildcard.h - src/share/vm/gc_implementation/parallelScavenge/parMarkBitMap.inline.hpp Changeset: a5d6f0c3585f Author: iklam Date: 2013-05-18 20:41 -0700 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/a5d6f0c3585f 8014262: PrintStringTableStatistics should include more footprint info Summary: Added info for the string/symbol objects and the hash entries Reviewed-by: coleenp, rbackman ! src/share/vm/classfile/symbolTable.cpp ! src/share/vm/utilities/hashtable.cpp ! src/share/vm/utilities/hashtable.hpp Changeset: 5e3573e08a83 Author: shade Date: 2013-05-20 15:43 +0400 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/5e3573e08a83 8014871: Move @Contended regression tests to the same place Summary: Move the missing test to appropriate location. Reviewed-by: dholmes, sla - test/runtime/8003985/Test8003985.java + test/runtime/contended/Basic.java Changeset: bbddfb08190f Author: shade Date: 2013-05-20 23:41 +0400 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/bbddfb08190f 8014878: Clean up class field layout code Summary: rename/remove local variables, re-arrange instance_size calculation, more comments. Reviewed-by: kvn, coleenp ! src/share/vm/classfile/classFileParser.cpp Changeset: 293b99787401 Author: dholmes Date: 2013-05-14 07:24 -0400 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/293b99787401 8014460: Need to check for non-empty EXT_LIBS_PATH before using it Reviewed-by: tbell, collins, sla, coleenp ! make/bsd/makefiles/arm.make ! make/linux/makefiles/arm.make Changeset: 26579ac80ce9 Author: bpittore Date: 2013-05-15 23:06 -0400 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/26579ac80ce9 8014669: arch specific flags not passed to some link commands Summary: EXTRA_CFLAGS does not propagate to saproc and jsig makefiles Reviewed-by: dholmes, tbell, collins ! make/linux/makefiles/jsig.make ! make/linux/makefiles/saproc.make Changeset: f8c833eb2a5f Author: jiangli Date: 2013-05-20 13:13 -0400 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/f8c833eb2a5f Merge Changeset: c838b672691c Author: jiangli Date: 2013-05-23 13:40 -0400 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/c838b672691c Merge Changeset: 91eba9f82325 Author: anoll Date: 2013-05-16 15:46 +0200 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/91eba9f82325 8012371: Adjust Tiered compile threshold according to available space in code cache Summary: Added command line parameter to define a threshold at which C1 compilation threshold for is increased. Reviewed-by: kvn, iveresov ! src/share/vm/code/codeCache.cpp ! src/share/vm/code/codeCache.hpp ! src/share/vm/runtime/advancedThresholdPolicy.cpp ! src/share/vm/runtime/advancedThresholdPolicy.hpp ! src/share/vm/runtime/arguments.cpp ! src/share/vm/runtime/globals.hpp Changeset: ec922e5c545a Author: anoll Date: 2013-05-22 10:28 +0200 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/ec922e5c545a 8012312: hsdis fails to compile with binutils-2.23.2 Summary: added to header file to make hsdis compile with binutils 2.23.* Reviewed-by: kvn, twisti ! src/share/tools/hsdis/hsdis.c Changeset: b4907b24ed48 Author: twisti Date: 2013-05-22 11:44 -0700 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/b4907b24ed48 Merge Changeset: 1682bec79205 Author: kvn Date: 2013-05-22 09:02 -0700 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/1682bec79205 8014811: loopTransform.cpp assert(cmp_end->in(2) == limit) failed Summary: Stop current iteration of loop opts if partial_peel() failed and it created node clones outside processed loop. Reviewed-by: roland ! src/share/vm/opto/loopnode.hpp ! src/share/vm/opto/loopopts.cpp Changeset: 71a2d06b9c2b Author: kvn Date: 2013-05-22 17:39 -0700 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/71a2d06b9c2b Merge Changeset: 3f281b313240 Author: kvn Date: 2013-05-22 18:25 -0700 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/3f281b313240 8010927: Kitchensink crashed with SIGSEGV, Problematic frame: v ~StubRoutines::checkcast_arraycopy Summary: Changed gen_write_ref_array_post_barrier() code on x64 to pass start address and number of copied oop elements. In generate_checkcast_copy() skip post barrier code if no elements are copied. Reviewed-by: roland ! src/cpu/x86/vm/stubGenerator_x86_32.cpp ! src/cpu/x86/vm/stubGenerator_x86_64.cpp + test/compiler/8010927/Test8010927.java Changeset: 01e51113b4f5 Author: anoll Date: 2013-05-23 14:11 +0200 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/01e51113b4f5 8014430: JRE crashes instead of stop compilation on full Code Cache. Internal Error (c1_Compiler.cpp:87) Summary: Disable client compiler and switch to interpreter if there is not enough free space in the code cache. Reviewed-by: kvn, twisti ! src/share/vm/c1/c1_Compiler.cpp ! src/share/vm/c1/c1_Compiler.hpp Changeset: 59e18b573605 Author: twisti Date: 2013-05-23 15:30 -0700 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/59e18b573605 Merge Changeset: 001ec9515f84 Author: ehelin Date: 2013-05-17 11:57 +0200 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/001ec9515f84 8014277: Remove ObjectClosure as base class for BoolObjectClosure Reviewed-by: brutisso, tschatzl ! src/share/vm/gc_implementation/concurrentMarkSweep/concurrentMarkSweepGeneration.hpp ! src/share/vm/gc_implementation/g1/concurrentMark.hpp ! src/share/vm/gc_implementation/g1/g1CollectedHeap.cpp ! src/share/vm/gc_implementation/g1/g1CollectedHeap.hpp ! src/share/vm/gc_implementation/parallelScavenge/psMarkSweep.cpp ! src/share/vm/gc_implementation/parallelScavenge/psParallelCompact.cpp ! src/share/vm/gc_implementation/parallelScavenge/psParallelCompact.hpp ! src/share/vm/gc_implementation/parallelScavenge/psScavenge.cpp ! src/share/vm/gc_implementation/shared/markSweep.cpp ! src/share/vm/gc_implementation/shared/markSweep.hpp ! src/share/vm/memory/defNewGeneration.cpp ! src/share/vm/memory/defNewGeneration.hpp ! src/share/vm/memory/iterator.hpp ! src/share/vm/memory/referenceProcessor.cpp ! src/share/vm/memory/sharedHeap.cpp ! src/share/vm/runtime/jniHandles.cpp Changeset: 2138a2c14831 Author: jwilhelm Date: 2013-05-19 20:31 +0200 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/2138a2c14831 Merge ! src/share/vm/gc_implementation/shared/markSweep.cpp Changeset: 10f759898d40 Author: tamao Date: 2013-05-20 10:44 -0700 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/10f759898d40 7186737: Unable to allocate bit maps or card tables for parallel gc for the requested heap Summary: Print helpful error message when VM aborts due to inability of allocating bit maps or card tables Reviewed-by: jmasa, stefank Contributed-by: tamao ! src/share/vm/gc_implementation/parallelScavenge/parMarkBitMap.cpp ! src/share/vm/gc_implementation/parallelScavenge/parMarkBitMap.hpp ! src/share/vm/gc_implementation/parallelScavenge/psParallelCompact.cpp ! src/share/vm/gc_implementation/parallelScavenge/psParallelCompact.hpp Changeset: 2b1a9d972fc2 Author: jmasa Date: 2013-05-20 22:34 -0700 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/2b1a9d972fc2 8014862: Add fast Metasapce capacity and used per MetadataType Reviewed-by: ehelin, stefank ! src/share/vm/memory/metaspace.cpp ! src/share/vm/memory/metaspace.hpp Changeset: 28e53b8db94f Author: brutisso Date: 2013-05-21 08:50 +0200 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/28e53b8db94f 7066063: CMS: "Conservation Principle" assert failed Summary: Add call to coalBirth() in CompactibleFreeListSpace::reset() Reviewed-by: ysr, jmasa ! src/share/vm/gc_implementation/concurrentMarkSweep/compactibleFreeListSpace.cpp Changeset: 5ed122fbd0ef Author: brutisso Date: 2013-05-21 10:39 +0200 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/5ed122fbd0ef Merge Changeset: 6702da6b6082 Author: tschatzl Date: 2013-05-21 11:30 +0200 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/6702da6b6082 8014405: G1: PerRegionTable::fl_mem_size() calculates size of the free list using wrong element sizes Summary: Instead of using a simple sizeof(), ask the PerRegionTable class about its size when iterating over the free list. Reviewed-by: jwilhelm, brutisso ! src/share/vm/gc_implementation/g1/heapRegionRemSet.cpp ! src/share/vm/gc_implementation/g1/heapRegionRemSet.hpp ! src/share/vm/prims/jni.cpp Changeset: 7c5a1b62f53d Author: brutisso Date: 2013-05-22 08:04 +0200 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/7c5a1b62f53d 8014971: Minor code cleanup of the freelist management Reviewed-by: jwilhelm, jmasa, tschatzl ! src/share/vm/gc_implementation/concurrentMarkSweep/adaptiveFreeList.cpp ! src/share/vm/gc_implementation/concurrentMarkSweep/adaptiveFreeList.hpp ! src/share/vm/gc_implementation/concurrentMarkSweep/compactibleFreeListSpace.cpp ! src/share/vm/gc_implementation/concurrentMarkSweep/concurrentMarkSweepGeneration.cpp ! src/share/vm/memory/freeList.cpp ! src/share/vm/memory/freeList.hpp Changeset: 62890ed7e2a8 Author: jwilhelm Date: 2013-05-24 09:29 +0200 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/62890ed7e2a8 Merge - agent/src/share/classes/sun/jvm/hotspot/debugger/cdbg/basic/amd64/AMD64CFrame.java - agent/src/share/classes/sun/jvm/hotspot/debugger/cdbg/basic/x86/X86CFrame.java - test/runtime/7158804/Test7158804.sh - test/runtime/8003985/Test8003985.java Changeset: 38da9f4f6709 Author: amurillo Date: 2013-05-24 09:25 -0700 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/38da9f4f6709 Merge - agent/src/share/classes/sun/jvm/hotspot/debugger/cdbg/basic/amd64/AMD64CFrame.java - agent/src/share/classes/sun/jvm/hotspot/debugger/cdbg/basic/x86/X86CFrame.java - test/runtime/7158804/Test7158804.sh - test/runtime/8003985/Test8003985.java Changeset: 092018493d3b Author: amurillo Date: 2013-05-24 09:25 -0700 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/092018493d3b Added tag hs25-b34 for changeset 38da9f4f6709 ! .hgtags Changeset: 573d86d412cd Author: katleman Date: 2013-05-30 10:57 -0700 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/573d86d412cd Added tag jdk8-b92 for changeset 092018493d3b ! .hgtags From lana.steuck at oracle.com Mon Jun 3 16:59:01 2013 From: lana.steuck at oracle.com (lana.steuck at oracle.com) Date: Mon, 03 Jun 2013 23:59:01 +0000 Subject: hg: jdk8/tl/langtools: 7 new changesets Message-ID: <20130603235930.C178B48F09@hg.openjdk.java.net> Changeset: 4830d661c4f9 Author: katleman Date: 2013-05-23 10:47 -0700 URL: http://hg.openjdk.java.net/jdk8/tl/langtools/rev/4830d661c4f9 Added tag jdk8-b91 for changeset 997c0fae2b12 ! .hgtags Changeset: 58eace4d997f Author: erikj Date: 2013-05-28 08:49 +0200 URL: http://hg.openjdk.java.net/jdk8/tl/langtools/rev/58eace4d997f 8012566: Replace find, rm, printf and similar with their proper variables Reviewed-by: tbell ! makefiles/BuildLangtools.gmk Changeset: 3597773628a4 Author: katleman Date: 2013-05-28 17:58 -0700 URL: http://hg.openjdk.java.net/jdk8/tl/langtools/rev/3597773628a4 Merge Changeset: 149890642a0e Author: katleman Date: 2013-05-29 10:16 -0700 URL: http://hg.openjdk.java.net/jdk8/tl/langtools/rev/149890642a0e 8015525: JDK8 b91 source with GPL header errors Reviewed-by: dholmes, lancea ! test/tools/javac/annotations/typeAnnotations/classfile/TestNewCastArray.java Changeset: 023e9a614d26 Author: katleman Date: 2013-05-30 10:58 -0700 URL: http://hg.openjdk.java.net/jdk8/tl/langtools/rev/023e9a614d26 Added tag jdk8-b92 for changeset 149890642a0e ! .hgtags Changeset: 8258f84a8649 Author: lana Date: 2013-06-03 16:10 -0700 URL: http://hg.openjdk.java.net/jdk8/tl/langtools/rev/8258f84a8649 Merge Changeset: 7a4fd1076b15 Author: lana Date: 2013-06-03 16:56 -0700 URL: http://hg.openjdk.java.net/jdk8/tl/langtools/rev/7a4fd1076b15 Merge From lana.steuck at oracle.com Mon Jun 3 16:59:10 2013 From: lana.steuck at oracle.com (lana.steuck at oracle.com) Date: Mon, 03 Jun 2013 23:59:10 +0000 Subject: hg: jdk8/tl/jdk: 9 new changesets Message-ID: <20130604000125.5D10348F0B@hg.openjdk.java.net> Changeset: 2868607646a0 Author: erikj Date: 2013-05-21 17:02 +0200 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/2868607646a0 8011346: build-infra: While Constructing Javadoc information, JSpinner.java error: package sun.util.locale.provider does not exist Reviewed-by: dholmes, tbell, naoto ! makefiles/GensrcSwing.gmk Changeset: b61632814be2 Author: katleman Date: 2013-05-21 12:54 -0700 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/b61632814be2 Merge Changeset: f559fadbf491 Author: andrew Date: 2013-05-22 13:48 +0100 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/f559fadbf491 8015087: Provide debugging information for programs Summary: Add missing debug info to unpack200 and jexec Reviewed-by: erikj ! makefiles/CompileLaunchers.gmk Changeset: 88d6a20672ac Author: erikj Date: 2013-05-22 10:31 +0200 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/88d6a20672ac 8014970: Use open man pages for non commercial builds Reviewed-by: omajid, tbell ! makefiles/Images.gmk Changeset: 169451cf0cc5 Author: erikj Date: 2013-05-22 15:00 +0200 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/169451cf0cc5 Merge Changeset: fbd926b20201 Author: katleman Date: 2013-05-23 10:47 -0700 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/fbd926b20201 Added tag jdk8-b91 for changeset 169451cf0cc5 ! .hgtags Changeset: a2a2a91075ad Author: katleman Date: 2013-05-29 10:16 -0700 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/a2a2a91075ad 8015525: JDK8 b91 source with GPL header errors Reviewed-by: dholmes, lancea ! test/java/util/stream/test/org/openjdk/tests/java/util/FillableStringTest.java ! test/java/util/stream/test/org/openjdk/tests/java/util/MapTest.java ! test/jdk/lambda/MethodReferenceTestInstanceMethod.java ! test/jdk/lambda/MethodReferenceTestKinds.java ! test/jdk/lambda/MethodReferenceTestSueCase1.java ! test/jdk/lambda/MethodReferenceTestSueCase2.java ! test/jdk/lambda/MethodReferenceTestSueCase4.java ! test/jdk/lambda/separate/AttributeInjector.java ! test/jdk/lambda/separate/ClassFile.java ! test/jdk/lambda/separate/ClassFilePreprocessor.java ! test/jdk/lambda/separate/ClassToInterfaceConverter.java ! test/jdk/lambda/separate/Compiler.java ! test/jdk/lambda/separate/DirectedClassLoader.java ! test/jdk/lambda/separate/SourceModel.java ! test/jdk/lambda/separate/TestHarness.java ! test/jdk/lambda/vm/DefaultMethodRegressionTests.java ! test/jdk/lambda/vm/DefaultMethodsTest.java ! test/jdk/lambda/vm/InterfaceAccessFlagsTest.java Changeset: 3c08c9ebd1fb Author: katleman Date: 2013-05-30 10:58 -0700 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/3c08c9ebd1fb Added tag jdk8-b92 for changeset a2a2a91075ad ! .hgtags Changeset: 1fd682e7110b Author: lana Date: 2013-06-03 16:09 -0700 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/1fd682e7110b Merge From jonathan.gibbons at oracle.com Mon Jun 3 17:09:31 2013 From: jonathan.gibbons at oracle.com (jonathan.gibbons at oracle.com) Date: Tue, 04 Jun 2013 00:09:31 +0000 Subject: hg: jdk8/tl/langtools: 8006615: [doclint] move remaining messages into resource bundle Message-ID: <20130604000934.BA9B048F0C@hg.openjdk.java.net> Changeset: 242bcad5be74 Author: jjg Date: 2013-06-03 17:09 -0700 URL: http://hg.openjdk.java.net/jdk8/tl/langtools/rev/242bcad5be74 8006615: [doclint] move remaining messages into resource bundle Reviewed-by: mcimadamore, vromero ! src/share/classes/com/sun/tools/doclint/DocLint.java ! src/share/classes/com/sun/tools/doclint/resources/doclint.properties + test/tools/doclint/ResourceTest.java ! test/tools/doclint/tool/RunTest.java From jonathan.gibbons at oracle.com Mon Jun 3 17:24:56 2013 From: jonathan.gibbons at oracle.com (jonathan.gibbons at oracle.com) Date: Tue, 04 Jun 2013 00:24:56 +0000 Subject: hg: jdk8/tl/langtools: 8007687: javadoc -X does not include -Xdoclint Message-ID: <20130604002459.86C9948F0D@hg.openjdk.java.net> Changeset: 019063968164 Author: jjg Date: 2013-06-03 17:24 -0700 URL: http://hg.openjdk.java.net/jdk8/tl/langtools/rev/019063968164 8007687: javadoc -X does not include -Xdoclint Reviewed-by: darcy ! src/share/classes/com/sun/tools/doclets/formats/html/ConfigurationImpl.java ! src/share/classes/com/sun/tools/doclets/formats/html/resources/standard.properties ! src/share/classes/com/sun/tools/javac/resources/javac.properties ! src/share/classes/com/sun/tools/javadoc/Start.java ! src/share/classes/com/sun/tools/javadoc/resources/javadoc.properties ! test/com/sun/javadoc/testHelpOption/TestHelpOption.java + test/com/sun/javadoc/testXOption/TestXOption.java From staffan.larsen at oracle.com Tue Jun 4 00:45:42 2013 From: staffan.larsen at oracle.com (staffan.larsen at oracle.com) Date: Tue, 04 Jun 2013 07:45:42 +0000 Subject: hg: jdk8/tl/jdk: 8015856: Remove java/lang/instrument/IsModifiableClassAgent.java from ProblemList.txt Message-ID: <20130604074603.0396A48F1A@hg.openjdk.java.net> Changeset: 25cf25fb8c68 Author: sla Date: 2013-06-04 09:45 +0200 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/25cf25fb8c68 8015856: Remove java/lang/instrument/IsModifiableClassAgent.java from ProblemList.txt Reviewed-by: dholmes ! test/ProblemList.txt From alan.bateman at oracle.com Tue Jun 4 02:12:54 2013 From: alan.bateman at oracle.com (alan.bateman at oracle.com) Date: Tue, 04 Jun 2013 09:12:54 +0000 Subject: hg: jdk8/tl/jdk: 8005698: Handle Frequent HashMap Collisions with Balanced Trees Message-ID: <20130604091322.8CA5748F1D@hg.openjdk.java.net> Changeset: 5223d3228658 Author: bchristi Date: 2013-06-04 10:04 +0100 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/5223d3228658 8005698: Handle Frequent HashMap Collisions with Balanced Trees Summary: HashMap bins with many collisions store entries in balanced trees Reviewed-by: alanb, dl, mduigou ! src/share/classes/java/util/HashMap.java ! src/share/classes/java/util/Hashtable.java ! src/share/classes/java/util/LinkedHashMap.java ! src/share/classes/java/util/WeakHashMap.java ! src/share/classes/sun/misc/Hashing.java + test/java/util/Map/CheckRandomHashSeed.java ! test/java/util/Map/Collisions.java + test/java/util/Map/InPlaceOpsCollisions.java + test/java/util/Map/TreeBinSplitBackToEntries.java + test/java/util/Spliterator/SpliteratorCollisions.java From paul.sandoz at oracle.com Tue Jun 4 02:55:01 2013 From: paul.sandoz at oracle.com (paul.sandoz at oracle.com) Date: Tue, 04 Jun 2013 09:55:01 +0000 Subject: hg: jdk8/tl/jdk: 8015790: Remove duplicate spliterator tests Message-ID: <20130604095545.4BD1148F1F@hg.openjdk.java.net> Changeset: fad4ef2123ca Author: psandoz Date: 2013-06-04 11:53 +0200 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/fad4ef2123ca 8015790: Remove duplicate spliterator tests Reviewed-by: alanb, mduigou - test/java/util/stream/test/org/openjdk/tests/java/util/stream/SpliteratorLateBindingFailFastTest.java - test/java/util/stream/test/org/openjdk/tests/java/util/stream/SpliteratorTraversingAndSplittingTest.java From michael.x.mcmahon at oracle.com Tue Jun 4 02:57:58 2013 From: michael.x.mcmahon at oracle.com (michael.x.mcmahon at oracle.com) Date: Tue, 04 Jun 2013 09:57:58 +0000 Subject: hg: jdk8/tl/jdk: 8014723: sun/misc/URLClassPath/ClassnameCharTest.java failing Message-ID: <20130604095818.9D81848F20@hg.openjdk.java.net> Changeset: f8b071428ca5 Author: michaelm Date: 2013-06-04 10:56 +0100 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/f8b071428ca5 8014723: sun/misc/URLClassPath/ClassnameCharTest.java failing Reviewed-by: alanb, chegar ! src/share/classes/java/net/HttpURLPermission.java ! test/ProblemList.txt From maurizio.cimadamore at oracle.com Tue Jun 4 03:08:03 2013 From: maurizio.cimadamore at oracle.com (Maurizio Cimadamore) Date: Tue, 04 Jun 2013 11:08:03 +0100 Subject: Review request for JDK-8013357: Javac accepts erroneous binary comparison operations In-Reply-To: <51ACF0A4.2000606@oracle.com> References: <51A65CAD.5020905@oracle.com> <51A715F4.2040709@oracle.com> <51A9E8E3.2010706@oracle.com> <51ACDC4A.3070500@oracle.com> <51ACDEED.5080709@oracle.com> <51ACF0A4.2000606@oracle.com> Message-ID: <51ADBC83.8080405@oracle.com> On 03/06/13 20:38, Eric McCorkle wrote: > Good suggestion, I've made the change (no new webrev, as it just > reorders defs). > > Are there any more suggestions from anyone, or is this one good to go? The code is wrong - I didn't realize when writing it on the review. You only do unboxing _after_ having checked that both types are primitives - so nothing can possibly happen. I have to say I'm a bit worried that the test you wrote didn't catch this (as well as the symmetry problems with the previous implementation). I'd focus on writing a better test first and then tweaking the compiler code accordingly. Note that the test can be made much simpler by using the infrastructure for testing types available in test/tools/javac/types (which will save you the hassle of creating mini test cases when the only thing you are interested in is whether a type is 'equality comparable' to another type). The right code for the test should be this: if (allowBoxing) { s = unboxedTypeOrType(s); t = unboxedTypeOrType(t); } boolean tPrimitive = t.isPrimitive(); boolean sPrimitive = s.isPrimitive(); if (tPrimitive && sPrimitive) { return isSubtype(s, t) || isSubtype(t, s); } else if (!tPrimitive && !sPrimitive) { return isCastable(s, t, warn) || isCastable(t, s, warn); } else { return false; } Maurizio > > On 06/03/13 14:22, Alex Buckley wrote: >> In ObjectZeroCompare, I would just suggest having the *_name and >> *_contents variables listed in the same order as the assert_compile_* >> invocations in run(). I think the most readable order is: Object, >> Number, IntegerSuper, Uncastable, [Flips from failure to success here] >> Castable, Integer, etc [as you have it already]. >> >> Alex >> >> On 6/3/2013 11:11 AM, Eric McCorkle wrote: >>> Forgot the URL on this. It's here: >>> http://cr.openjdk.java.net/~emc/8013357/webrev.02/ >>> >>> On 06/01/13 08:28, Eric McCorkle wrote: >>>> New webrev is up. I rolled back allowing Number == primitive >>>> comparisons (I thought I'd rolled that back in the previous), and I >>>> implemented maurizio's suggested simpler comparison. I also added a few >>>> more test cases. >>>> >>>> JPRT's been a bit unreliable, but I'm getting clean runs. >>>> >>>> Please review and comment. >>>> >>>> On 05/30/13 05:03, Maurizio Cimadamore wrote: >>>>> On 29/05/13 20:53, Eric McCorkle wrote: >>>>>> Hello, >>>>>> >>>>>> Please review my latest patch for this problem. Since my earlier >>>>>> review >>>>>> request, several things have happened: >>>>>> >>>>>> 1) A CCC has been submitted, reviewed (at length) and approved. >>>>>> >>>>>> 2) I've confirmed the correct behavior wrt object-primitive >>>>>> comparisons. >>>>>> >>>>>> 3) I've fixed some errors in our tests, which would not compile when >>>>>> javac enforces the correct type rules. >>>>>> >>>>>> 4) This change has been flagged for a release note. >>>>>> >>>>>> The webrev is here: >>>>>> http://cr.openjdk.java.net/~emc/8013357/webrev.01/ >>>>> Hi, >>>>> couple of comments: >>>>> >>>>> *) I would be wary of adding Number to the symtab which will load >>>>> symbols eagerly; j.l.Number is not available on all platforms, so there >>>>> will be issues when using javac in cross compilation environment, >>>>> compiling against a J2ME rt.jar; the usual trick is to call Symbtab. >>>>> synthesizeEmptyInterfaceIfMissing (see for other code in Symtab that >>>>> does that for a reference). >>>>> >>>>> *) The logic for checking equality seems questionable/overly complex >>>>> (expanded in meta code below): >>>>> >>>>> boolean isEqualityComparable (Type s, Type t) >>>>> if () { >>>>> return s <: t //1 >>>>> } else if () { >>>>> return s castable to t //2 >>>>> } else if (source >= 1.5) { >>>>> if () { >>>>> return () ? >>>> t) //3 >>>>> } else { >>>>> return () ? >>>> s) //4 >>>>> } >>>>> } >>>>> >>>>> The first thing that strikes me is that in places (1, 2, 3, 4) we are >>>>> not being symmetric; i.e. >>>>> >>>>> isEqualityComparable(int, long) = true >>>>> isEqualityComparable(long, int) = false >>>>> >>>>> The second thing that worries me is that the spec says something like: >>>>> >>>>> *) if both are numeric (i.e. primitives) and one is convertible to >>>>> numeric (i.e. unboxable), then a numeric comparison is performed >>>>> >>>>> I think this means that the code should do some check to see whether >>>>> numeric comparison is applicable, (i.e. eventually unboxing) and then >>>>> calling appropriate routine to do the comparison test. >>>>> >>>>> Also, restating a point raised by Alex, Number == primitive is not >>>>> allowed as Number is not convertible to a numeric type; I think the >>>>> test >>>>> should be something like: >>>>> >>>>> boolean isEqualityComparable(Type s, Type t) >>>>> if () { >>>>> if (source >= 1.5) { >>>>> s = types.unboxedTypeOrType(s); >>>>> t = types.unboxedTypeOrType(t); >>>>> } >>>>> return s <: t || t <: s; >>>>> } else if () { >>>>> return (s castable to t) || (t castable to s); >>>>> } >>>>> >>>>> >>>>> Maurizio >>>>> -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/compiler-dev/attachments/20130604/2f63c604/attachment-0001.html From maurizio.cimadamore at oracle.com Tue Jun 4 03:45:28 2013 From: maurizio.cimadamore at oracle.com (maurizio.cimadamore at oracle.com) Date: Tue, 04 Jun 2013 10:45:28 +0000 Subject: hg: jdk8/tl/langtools: 3 new changesets Message-ID: <20130604104540.031B548F23@hg.openjdk.java.net> Changeset: 5cd3cb69c8b3 Author: mcimadamore Date: 2013-06-04 11:30 +0100 URL: http://hg.openjdk.java.net/jdk8/tl/langtools/rev/5cd3cb69c8b3 7116676: RichDiagnosticFormatter throws NPE when formatMessage is called directly Summary: Fix NPE in RichDiagnosticFormatter.formatMessage Reviewed-by: jjg ! src/share/classes/com/sun/tools/javac/util/RichDiagnosticFormatter.java + test/tools/javac/Diagnostics/7116676/T7116676.java Changeset: 32c50b5f70b5 Author: mcimadamore Date: 2013-06-04 11:31 +0100 URL: http://hg.openjdk.java.net/jdk8/tl/langtools/rev/32c50b5f70b5 8008160: Five lambda TargetType tests have @ignore Summary: Remove @ignore flags from tests that now pass Reviewed-by: jjg ! test/tools/javac/lambda/TargetType53.java ! test/tools/javac/lambda/TargetType54.java ! test/tools/javac/lambda/TargetType58.java ! test/tools/javac/lambda/TargetType59.java ! test/tools/javac/lambda/TargetType62.java Changeset: c8acc254b6d7 Author: mcimadamore Date: 2013-06-04 11:34 +0100 URL: http://hg.openjdk.java.net/jdk8/tl/langtools/rev/c8acc254b6d7 8015505: Spurious inference error when return type of generic method requires unchecked conversion to target Summary: Use check context compatibility during 15.12.2.8 check (only when JDK 8 inference is enabled) Reviewed-by: jjg ! src/share/classes/com/sun/tools/javac/comp/Infer.java + test/tools/javac/generics/inference/8015505/T8015505.java + test/tools/javac/generics/inference/8015505/T8015505.out ! test/tools/javac/generics/rawOverride/7062745/GenericOverrideTest.java From alan.bateman at oracle.com Tue Jun 4 03:54:03 2013 From: alan.bateman at oracle.com (alan.bateman at oracle.com) Date: Tue, 04 Jun 2013 10:54:03 +0000 Subject: hg: jdk8/tl/jdk: 8015872: ProblemList.txt updates (6/2013) Message-ID: <20130604105418.1BA0F48F24@hg.openjdk.java.net> Changeset: 780fbbd50ce4 Author: alanb Date: 2013-06-04 11:52 +0100 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/780fbbd50ce4 8015872: ProblemList.txt updates (6/2013) Reviewed-by: chegar ! test/ProblemList.txt From vicente.romero at oracle.com Tue Jun 4 05:22:08 2013 From: vicente.romero at oracle.com (vicente.romero at oracle.com) Date: Tue, 04 Jun 2013 12:22:08 +0000 Subject: hg: jdk8/tl/langtools: 7165659: javac incorrectly sets strictfp access flag on inner-classes Message-ID: <20130604122211.584C048F28@hg.openjdk.java.net> Changeset: 775a51e3276f Author: vromero Date: 2013-06-04 13:21 +0100 URL: http://hg.openjdk.java.net/jdk8/tl/langtools/rev/775a51e3276f 7165659: javac incorrectly sets strictfp access flag on inner-classes Reviewed-by: jjg, mcimadamore ! src/share/classes/com/sun/tools/javac/jvm/ClassWriter.java + test/tools/javac/T7165659/InnerClassAttrMustNotHaveStrictFPFlagTest.java From r.spilker at gmail.com Tue Jun 4 07:16:01 2013 From: r.spilker at gmail.com (Roel Spilker) Date: Tue, 4 Jun 2013 16:16:01 +0200 Subject: hg: jdk8/tl/jdk: 8014383: StringJoiner example in class description not in sync with streams API In-Reply-To: <20130603154340.F1AC048EE8@hg.openjdk.java.net> References: <20130603154340.F1AC048EE8@hg.openjdk.java.net> Message-ID: Looking at the implementation, the code in toString suggest that it's worthwhile to optimize for an empty suffix (although I doubt that this optimization has any measurable effects). But the constructor always concatenates the prefix and the suffix, which results in both a new string instance and a StringBuilder. If an empty suffix is common (actually, having a separate constructor and the current toString implementation both suggest it is), I think that the initializing the emptyValue field in the constructor should be written as: this.emptyValue = this.suffix.isEmpty() ? this.prefix : this.prefix + this.suffix; Actually, since there is also a setEmptyValue, I think that the field should be left null, and toString and length check for null, resulting in even less objects allocated in that scenario. Roel On Mon, Jun 3, 2013 at 5:43 PM, wrote: > Changeset: a79e2683eae3 > Author: psandoz > Date: 2013-06-03 17:37 +0200 > URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/a79e2683eae3 > > 8014383: StringJoiner example in class description not in sync with > streams API > Reviewed-by: alanb > > ! src/share/classes/java/util/StringJoiner.java > > -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/compiler-dev/attachments/20130604/1d893d7f/attachment.html From alan.bateman at oracle.com Tue Jun 4 07:26:42 2013 From: alan.bateman at oracle.com (alan.bateman at oracle.com) Date: Tue, 04 Jun 2013 14:26:42 +0000 Subject: hg: jdk8/tl/jdk: 8014855: TEST_BUG: java/nio/file/Files/StreamTest.java fails when sym links not supported Message-ID: <20130604142715.C1D5E48F2A@hg.openjdk.java.net> Changeset: 25a8e6fd0210 Author: alanb Date: 2013-06-04 15:18 +0100 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/25a8e6fd0210 8014855: TEST_BUG: java/nio/file/Files/StreamTest.java fails when sym links not supported Reviewed-by: alanb Contributed-by: henry.jen at oracle.com ! test/java/nio/file/Files/StreamTest.java From eric.mccorkle at oracle.com Tue Jun 4 08:12:44 2013 From: eric.mccorkle at oracle.com (Eric McCorkle) Date: Tue, 04 Jun 2013 11:12:44 -0400 Subject: JDK-8015701: MethodParameters are not filled in for synthetic captured local variables In-Reply-To: <51AAA816.8000000@oracle.com> References: <51A9E9AF.7070103@oracle.com> <51AA2A17.6090402@oracle.com> <51AAA816.8000000@oracle.com> Message-ID: <51AE03EC.9050400@oracle.com> Any comments on this patch? On 06/01/13 22:04, Eric McCorkle wrote: > I did. It's up there now. > > On 06/01/13 13:06, Jonathan Gibbons wrote: >> There's no test. Did you forget to hg add it? >> >> -- Jon >> >> On 06/01/2013 05:31 AM, Eric McCorkle wrote: >>> Hello, >>> >>> Please review this patch, which fixes the generation of MethodParameters >>> entries for extra parameters to constructors for anonymous inner classes. >>> >>> The webrev is here: >>> http://cr.openjdk.java.net/~emc/8015701/ >>> >>> The bug report is here: >>> http://bugs.sun.com/view_bug.do?bug_id=8015701 >>> >>> Thanks, >>> Eric >> -------------- next part -------------- A non-text attachment was scrubbed... Name: eric_mccorkle.vcf Type: text/x-vcard Size: 314 bytes Desc: not available Url : http://mail.openjdk.java.net/pipermail/compiler-dev/attachments/20130604/24bc4c8b/eric_mccorkle.vcf From maurizio.cimadamore at oracle.com Tue Jun 4 09:17:24 2013 From: maurizio.cimadamore at oracle.com (Maurizio Cimadamore) Date: Tue, 04 Jun 2013 17:17:24 +0100 Subject: JDK-8015701: MethodParameters are not filled in for synthetic captured local variables In-Reply-To: <51AE03EC.9050400@oracle.com> References: <51A9E9AF.7070103@oracle.com> <51AA2A17.6090402@oracle.com> <51AAA816.8000000@oracle.com> <51AE03EC.9050400@oracle.com> Message-ID: <51AE1314.9060604@oracle.com> On 04/06/13 16:12, Eric McCorkle wrote: > Any comments on this patch? Having initField subtly changing stuff on the outer method symbol is not good. Move that code outside the initField method, so that the symbol update is very clear. Maurizio > > On 06/01/13 22:04, Eric McCorkle wrote: >> I did. It's up there now. >> >> On 06/01/13 13:06, Jonathan Gibbons wrote: >>> There's no test. Did you forget to hg add it? >>> >>> -- Jon >>> >>> On 06/01/2013 05:31 AM, Eric McCorkle wrote: >>>> Hello, >>>> >>>> Please review this patch, which fixes the generation of MethodParameters >>>> entries for extra parameters to constructors for anonymous inner classes. >>>> >>>> The webrev is here: >>>> http://cr.openjdk.java.net/~emc/8015701/ >>>> >>>> The bug report is here: >>>> http://bugs.sun.com/view_bug.do?bug_id=8015701 >>>> >>>> Thanks, >>>> Eric From huizhe.wang at oracle.com Tue Jun 4 09:36:06 2013 From: huizhe.wang at oracle.com (huizhe.wang at oracle.com) Date: Tue, 04 Jun 2013 16:36:06 +0000 Subject: hg: jdk8/tl/jaxp: 8015630: Remove default restriction settings of jaxp 1.5 properties in JDK8 Message-ID: <20130604163612.CDF1648F30@hg.openjdk.java.net> Changeset: 5b958f0a5498 Author: joehw Date: 2013-06-04 09:35 -0700 URL: http://hg.openjdk.java.net/jdk8/tl/jaxp/rev/5b958f0a5498 8015630: Remove default restriction settings of jaxp 1.5 properties in JDK8 Reviewed-by: alanb ! src/com/sun/org/apache/xalan/internal/XalanConstants.java ! src/com/sun/org/apache/xalan/internal/xsltc/trax/TransformerFactoryImpl.java ! src/com/sun/org/apache/xerces/internal/impl/Constants.java ! src/com/sun/org/apache/xerces/internal/jaxp/validation/XMLSchemaFactory.java From naoto.sato at oracle.com Tue Jun 4 10:34:18 2013 From: naoto.sato at oracle.com (naoto.sato at oracle.com) Date: Tue, 04 Jun 2013 17:34:18 +0000 Subject: hg: jdk8/tl/jdk: 8013903: Japanese calendar field names are not displayed with -Djava.locale.providers=HOST on Windows Message-ID: <20130604173453.3630C48F3B@hg.openjdk.java.net> Changeset: 379e1bcae693 Author: naoto Date: 2013-06-04 10:33 -0700 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/379e1bcae693 8013903: Japanese calendar field names are not displayed with -Djava.locale.providers=HOST on Windows Reviewed-by: okutsu ! src/share/classes/java/util/spi/LocaleServiceProvider.java ! src/share/classes/sun/util/locale/provider/FallbackLocaleProviderAdapter.java ! src/share/classes/sun/util/locale/provider/JRELocaleProviderAdapter.java ! src/share/classes/sun/util/locale/provider/LocaleProviderAdapter.java ! src/share/classes/sun/util/locale/provider/LocaleServiceProviderPool.java ! src/windows/classes/sun/util/locale/provider/HostLocaleProviderAdapterImpl.java ! test/java/util/Locale/LocaleProviders.java ! test/java/util/Locale/LocaleProviders.sh From jonathan.gibbons at oracle.com Tue Jun 4 14:19:14 2013 From: jonathan.gibbons at oracle.com (jonathan.gibbons at oracle.com) Date: Tue, 04 Jun 2013 21:19:14 +0000 Subject: hg: jdk8/tl/langtools: 8004643: Reduce javac space overhead introduced with compiler support for repeating annotations Message-ID: <20130604211917.77FDE48F4C@hg.openjdk.java.net> Changeset: 8fb68f73d4b1 Author: jjg Date: 2013-06-04 14:17 -0700 URL: http://hg.openjdk.java.net/jdk8/tl/langtools/rev/8fb68f73d4b1 8004643: Reduce javac space overhead introduced with compiler support for repeating annotations Reviewed-by: mcimadamore, jfranck ! src/share/classes/com/sun/tools/javac/code/Lint.java ! src/share/classes/com/sun/tools/javac/code/Symbol.java ! src/share/classes/com/sun/tools/javac/code/TypeAnnotations.java ! src/share/classes/com/sun/tools/javac/comp/Attr.java ! src/share/classes/com/sun/tools/javac/comp/Enter.java ! src/share/classes/com/sun/tools/javac/comp/Flow.java ! src/share/classes/com/sun/tools/javac/comp/LambdaToMethod.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/comp/TransTypes.java ! src/share/classes/com/sun/tools/javac/jvm/ClassReader.java ! src/share/classes/com/sun/tools/javac/jvm/Code.java ! src/share/classes/com/sun/tools/javac/jvm/Gen.java ! src/share/classes/com/sun/tools/javac/jvm/JNIWriter.java ! src/share/classes/com/sun/tools/javac/sym/CreateSymbols.java ! src/share/classes/com/sun/tools/javac/tree/TreeInfo.java ! test/tools/javac/lib/DPrinter.java From eric.mccorkle at oracle.com Tue Jun 4 15:03:42 2013 From: eric.mccorkle at oracle.com (Eric McCorkle) Date: Tue, 04 Jun 2013 18:03:42 -0400 Subject: Review request for JDK-8013357: Javac accepts erroneous binary comparison operations In-Reply-To: <51ADBC83.8080405@oracle.com> References: <51A65CAD.5020905@oracle.com> <51A715F4.2040709@oracle.com> <51A9E8E3.2010706@oracle.com> <51ACDC4A.3070500@oracle.com> <51ACDEED.5080709@oracle.com> <51ACF0A4.2000606@oracle.com> <51ADBC83.8080405@oracle.com> Message-ID: <51AE643E.8040506@oracle.com> Actually that code doesn't work (it won't even get through a build). Any kind of null == Object comparison fails. Strangely, the code in webrev.02 seems to pass all the existing tests (including my new ones), which seems strange to me. I'll backpedal to webrev.01 and simplify it. But perhaps we ought to flag this part of the type checker for refactoring as well. On 06/04/13 06:08, Maurizio Cimadamore wrote: > On 03/06/13 20:38, Eric McCorkle wrote: >> Good suggestion, I've made the change (no new webrev, as it just >> reorders defs). >> >> Are there any more suggestions from anyone, or is this one good to go? > The code is wrong - I didn't realize when writing it on the review. You > only do unboxing _after_ having checked that both types are primitives - > so nothing can possibly happen. I have to say I'm a bit worried that the > test you wrote didn't catch this (as well as the symmetry problems with > the previous implementation). I'd focus on writing a better test first > and then tweaking the compiler code accordingly. Note that the test can > be made much simpler by using the infrastructure for testing types > available in test/tools/javac/types (which will save you the hassle of > creating mini test cases when the only thing you are interested in is > whether a type is 'equality comparable' to another type). > > The right code for the test should be this: > > if (allowBoxing) { > s = unboxedTypeOrType(s); > t = unboxedTypeOrType(t); > } > > boolean tPrimitive = t.isPrimitive(); > boolean sPrimitive = s.isPrimitive(); > > if (tPrimitive && sPrimitive) { > return isSubtype(s, t) || isSubtype(t, s); > } else if (!tPrimitive && !sPrimitive) { > return isCastable(s, t, warn) || isCastable(t, s, warn); > } else { > return false; > } > > Maurizio >> >> On 06/03/13 14:22, Alex Buckley wrote: >>> In ObjectZeroCompare, I would just suggest having the *_name and >>> *_contents variables listed in the same order as the assert_compile_* >>> invocations in run(). I think the most readable order is: Object, >>> Number, IntegerSuper, Uncastable, [Flips from failure to success here] >>> Castable, Integer, etc [as you have it already]. >>> >>> Alex >>> >>> On 6/3/2013 11:11 AM, Eric McCorkle wrote: >>>> Forgot the URL on this. It's here: >>>> http://cr.openjdk.java.net/~emc/8013357/webrev.02/ >>>> >>>> On 06/01/13 08:28, Eric McCorkle wrote: >>>>> New webrev is up. I rolled back allowing Number == primitive >>>>> comparisons (I thought I'd rolled that back in the previous), and I >>>>> implemented maurizio's suggested simpler comparison. I also added a few >>>>> more test cases. >>>>> >>>>> JPRT's been a bit unreliable, but I'm getting clean runs. >>>>> >>>>> Please review and comment. >>>>> >>>>> On 05/30/13 05:03, Maurizio Cimadamore wrote: >>>>>> On 29/05/13 20:53, Eric McCorkle wrote: >>>>>>> Hello, >>>>>>> >>>>>>> Please review my latest patch for this problem. Since my earlier >>>>>>> review >>>>>>> request, several things have happened: >>>>>>> >>>>>>> 1) A CCC has been submitted, reviewed (at length) and approved. >>>>>>> >>>>>>> 2) I've confirmed the correct behavior wrt object-primitive >>>>>>> comparisons. >>>>>>> >>>>>>> 3) I've fixed some errors in our tests, which would not compile when >>>>>>> javac enforces the correct type rules. >>>>>>> >>>>>>> 4) This change has been flagged for a release note. >>>>>>> >>>>>>> The webrev is here: >>>>>>> http://cr.openjdk.java.net/~emc/8013357/webrev.01/ >>>>>> Hi, >>>>>> couple of comments: >>>>>> >>>>>> *) I would be wary of adding Number to the symtab which will load >>>>>> symbols eagerly; j.l.Number is not available on all platforms, so there >>>>>> will be issues when using javac in cross compilation environment, >>>>>> compiling against a J2ME rt.jar; the usual trick is to call Symbtab. >>>>>> synthesizeEmptyInterfaceIfMissing (see for other code in Symtab that >>>>>> does that for a reference). >>>>>> >>>>>> *) The logic for checking equality seems questionable/overly complex >>>>>> (expanded in meta code below): >>>>>> >>>>>> boolean isEqualityComparable (Type s, Type t) >>>>>> if () { >>>>>> return s <: t //1 >>>>>> } else if () { >>>>>> return s castable to t //2 >>>>>> } else if (source >= 1.5) { >>>>>> if () { >>>>>> return () ? >>>>> t) //3 >>>>>> } else { >>>>>> return () ? >>>>> s) //4 >>>>>> } >>>>>> } >>>>>> >>>>>> The first thing that strikes me is that in places (1, 2, 3, 4) we are >>>>>> not being symmetric; i.e. >>>>>> >>>>>> isEqualityComparable(int, long) = true >>>>>> isEqualityComparable(long, int) = false >>>>>> >>>>>> The second thing that worries me is that the spec says something like: >>>>>> >>>>>> *) if both are numeric (i.e. primitives) and one is convertible to >>>>>> numeric (i.e. unboxable), then a numeric comparison is performed >>>>>> >>>>>> I think this means that the code should do some check to see whether >>>>>> numeric comparison is applicable, (i.e. eventually unboxing) and then >>>>>> calling appropriate routine to do the comparison test. >>>>>> >>>>>> Also, restating a point raised by Alex, Number == primitive is not >>>>>> allowed as Number is not convertible to a numeric type; I think the >>>>>> test >>>>>> should be something like: >>>>>> >>>>>> boolean isEqualityComparable(Type s, Type t) >>>>>> if () { >>>>>> if (source >= 1.5) { >>>>>> s = types.unboxedTypeOrType(s); >>>>>> t = types.unboxedTypeOrType(t); >>>>>> } >>>>>> return s <: t || t <: s; >>>>>> } else if () { >>>>>> return (s castable to t) || (t castable to s); >>>>>> } >>>>>> >>>>>> >>>>>> Maurizio >>>>>> > -------------- next part -------------- A non-text attachment was scrubbed... Name: eric_mccorkle.vcf Type: text/x-vcard Size: 314 bytes Desc: not available Url : http://mail.openjdk.java.net/pipermail/compiler-dev/attachments/20130604/03d876f6/eric_mccorkle.vcf From chris.hegarty at oracle.com Tue Jun 4 15:10:55 2013 From: chris.hegarty at oracle.com (chris.hegarty at oracle.com) Date: Tue, 04 Jun 2013 22:10:55 +0000 Subject: hg: jdk8/tl/jdk: 8005704: Update ConcurrentHashMap to v8 Message-ID: <20130604221108.8CB1B48F4E@hg.openjdk.java.net> Changeset: d6401129327e Author: dl Date: 2013-06-04 21:59 +0100 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/d6401129327e 8005704: Update ConcurrentHashMap to v8 Reviewed-by: chegar, mduigou ! src/share/classes/java/util/concurrent/ConcurrentHashMap.java From mandy.chung at oracle.com Tue Jun 4 15:45:05 2013 From: mandy.chung at oracle.com (mandy.chung at oracle.com) Date: Tue, 04 Jun 2013 22:45:05 +0000 Subject: hg: jdk8/tl/jdk: 8014097: add doPrivileged methods with limited privilege scope Message-ID: <20130604224517.2AD3D48F51@hg.openjdk.java.net> Changeset: bd84bad9ee99 Author: jdn Date: 2013-06-04 15:33 -0700 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/bd84bad9ee99 8014097: add doPrivileged methods with limited privilege scope Reviewed-by: mchung ! src/share/classes/java/security/AccessControlContext.java ! src/share/classes/java/security/AccessController.java + test/java/security/AccessController/LimitedDoPrivileged.java From lana.steuck at oracle.com Tue Jun 4 23:33:28 2013 From: lana.steuck at oracle.com (lana.steuck at oracle.com) Date: Wed, 05 Jun 2013 06:33:28 +0000 Subject: hg: jdk8/tl/nashorn: 3 new changesets Message-ID: <20130605063338.47C7A48F61@hg.openjdk.java.net> Changeset: 4463e94d9b0d Author: lana Date: 2013-05-29 16:59 -0700 URL: http://hg.openjdk.java.net/jdk8/tl/nashorn/rev/4463e94d9b0d Merge - src/jdk/nashorn/internal/runtime/options/ValueOption.java - src/jdk/nashorn/internal/runtime/regexp/DefaultRegExp.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/CaptureTreeNode.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/UnsetAddrList.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/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/Reduce.java - src/jdk/nashorn/internal/runtime/regexp/joni/encoding/AsciiTables.java - src/jdk/nashorn/internal/runtime/regexp/joni/encoding/PosixBracket.java - src/jdk/nashorn/internal/runtime/regexp/joni/encoding/Ptr.java - src/netscape/javascript/JSObject.java Changeset: ddbf41575a2b Author: lana Date: 2013-06-03 23:24 -0700 URL: http://hg.openjdk.java.net/jdk8/tl/nashorn/rev/ddbf41575a2b Merge - src/jdk/nashorn/internal/runtime/options/ValueOption.java - src/jdk/nashorn/internal/runtime/regexp/DefaultRegExp.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/CaptureTreeNode.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/UnsetAddrList.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/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/Reduce.java - src/jdk/nashorn/internal/runtime/regexp/joni/encoding/AsciiTables.java - src/jdk/nashorn/internal/runtime/regexp/joni/encoding/PosixBracket.java - src/jdk/nashorn/internal/runtime/regexp/joni/encoding/Ptr.java - src/netscape/javascript/JSObject.java Changeset: d2bd881976b5 Author: lana Date: 2013-06-04 21:38 -0700 URL: http://hg.openjdk.java.net/jdk8/tl/nashorn/rev/d2bd881976b5 Merge From lana.steuck at oracle.com Tue Jun 4 23:33:12 2013 From: lana.steuck at oracle.com (lana.steuck at oracle.com) Date: Wed, 05 Jun 2013 06:33:12 +0000 Subject: hg: jdk8/tl: 3 new changesets Message-ID: <20130605063313.8166F48F60@hg.openjdk.java.net> Changeset: 78852ce176db Author: jqzuo Date: 2013-05-28 20:03 +0200 URL: http://hg.openjdk.java.net/jdk8/tl/rev/78852ce176db 8014762: Add JMC configure option mapping to Jprt.gmk Summary: Need to add the mapping between JPRT env var and configure flag for JMC, from ALT_JMC_ZIP_DIR to --with-jmc-zip-dir (same pattern as for Javafx) Reviewed-by: tbell, erikj Contributed-by: klara.ward at oracle.com ! common/autoconf/generated-configure.sh ! common/makefiles/Jprt.gmk Changeset: c22d59e3f06e Author: pbhat Date: 2013-05-29 11:02 -0400 URL: http://hg.openjdk.java.net/jdk8/tl/rev/c22d59e3f06e Merge Changeset: ea6f3bf82903 Author: jqzuo Date: 2013-06-04 00:12 -0400 URL: http://hg.openjdk.java.net/jdk8/tl/rev/ea6f3bf82903 Merge ! common/autoconf/generated-configure.sh From lana.steuck at oracle.com Tue Jun 4 23:33:17 2013 From: lana.steuck at oracle.com (lana.steuck at oracle.com) Date: Wed, 05 Jun 2013 06:33:17 +0000 Subject: hg: jdk8/tl/jaxp: 3 new changesets Message-ID: <20130605063341.31C9B48F62@hg.openjdk.java.net> Changeset: 627c265d6e0c Author: lana Date: 2013-05-29 16:57 -0700 URL: http://hg.openjdk.java.net/jdk8/tl/jaxp/rev/627c265d6e0c Merge - src/com/sun/org/apache/xerces/internal/xinclude/ObjectFactory.java - src/com/sun/org/apache/xml/internal/serialize/ObjectFactory.java Changeset: d583a491d63c Author: lana Date: 2013-06-03 23:19 -0700 URL: http://hg.openjdk.java.net/jdk8/tl/jaxp/rev/d583a491d63c Merge - src/com/sun/org/apache/xerces/internal/xinclude/ObjectFactory.java - src/com/sun/org/apache/xml/internal/serialize/ObjectFactory.java Changeset: e996ea806630 Author: lana Date: 2013-06-04 21:33 -0700 URL: http://hg.openjdk.java.net/jdk8/tl/jaxp/rev/e996ea806630 Merge From lana.steuck at oracle.com Tue Jun 4 23:33:31 2013 From: lana.steuck at oracle.com (lana.steuck at oracle.com) Date: Wed, 05 Jun 2013 06:33:31 +0000 Subject: hg: jdk8/tl/langtools: 3 new changesets Message-ID: <20130605063350.E09D548F63@hg.openjdk.java.net> Changeset: 18943a1b7a47 Author: lana Date: 2013-05-29 16:59 -0700 URL: http://hg.openjdk.java.net/jdk8/tl/langtools/rev/18943a1b7a47 Merge - test/tools/javac/HiddenAbstractMethod/Test - test/tools/javac/NonAmbiguousField/Test Changeset: 2c5a568ee36e Author: lana Date: 2013-06-03 23:24 -0700 URL: http://hg.openjdk.java.net/jdk8/tl/langtools/rev/2c5a568ee36e Merge - test/tools/javac/HiddenAbstractMethod/Test - test/tools/javac/NonAmbiguousField/Test Changeset: 9acd0f8d6e44 Author: lana Date: 2013-06-04 21:38 -0700 URL: http://hg.openjdk.java.net/jdk8/tl/langtools/rev/9acd0f8d6e44 Merge From lana.steuck at oracle.com Tue Jun 4 23:37:11 2013 From: lana.steuck at oracle.com (lana.steuck at oracle.com) Date: Wed, 05 Jun 2013 06:37:11 +0000 Subject: hg: jdk8/tl/jdk: 23 new changesets Message-ID: <20130605064724.065D748F65@hg.openjdk.java.net> Changeset: 93de1ab38793 Author: jchen Date: 2013-05-17 10:04 -0700 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/93de1ab38793 8003444: Fix potential NULL pointer dereference Reviewed-by: jgodinez, prr ! src/share/native/sun/java2d/cmm/lcms/cmscgats.c ! src/share/native/sun/java2d/cmm/lcms/cmslut.c Changeset: 0cec8dc2bcf8 Author: lana Date: 2013-05-22 19:35 -0700 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/0cec8dc2bcf8 Merge - make/com/sun/script/Makefile - make/sun/org/Makefile - make/sun/org/mozilla/Makefile - make/sun/org/mozilla/javascript/Makefile - src/share/classes/com/sun/script/javascript/ExternalScriptable.java - src/share/classes/com/sun/script/javascript/JSAdapter.java - src/share/classes/com/sun/script/javascript/JavaAdapter.java - src/share/classes/com/sun/script/javascript/META-INF/services/javax.script.ScriptEngineFactory - src/share/classes/com/sun/script/javascript/RhinoClassShutter.java - src/share/classes/com/sun/script/javascript/RhinoCompiledScript.java - src/share/classes/com/sun/script/javascript/RhinoScriptEngine.java - src/share/classes/com/sun/script/javascript/RhinoScriptEngineFactory.java - src/share/classes/com/sun/script/javascript/RhinoTopLevel.java - src/share/classes/com/sun/script/javascript/RhinoWrapFactory.java - src/share/classes/com/sun/script/util/BindingsBase.java - src/share/classes/com/sun/script/util/BindingsEntrySet.java - src/share/classes/com/sun/script/util/BindingsImpl.java - src/share/classes/com/sun/script/util/InterfaceImplementor.java - src/share/classes/com/sun/script/util/ScriptEngineFactoryBase.java - src/share/classes/java/time/format/DateTimeFormatSymbols.java - src/share/classes/sun/nio/cs/ext/META-INF/services/java.nio.charset.spi.CharsetProvider - test/java/lang/Thread/StackTraces.java - test/java/time/tck/java/time/format/TCKDateTimeFormatSymbols.java - test/java/time/test/java/time/format/TestDateTimeFormatSymbols.java - test/java/util/logging/bundlesearch/LoadItUp.java - test/sun/security/provider/certpath/X509CertPath/ForwardBuildCompromised.java - test/sun/security/provider/certpath/X509CertPath/ReverseBuildCompromised.java - test/sun/security/provider/certpath/X509CertPath/ValidateCompromised.java Changeset: 0208f5f12dc3 Author: jchen Date: 2013-05-23 12:16 -0700 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/0208f5f12dc3 8012629: java.lang.UnsatisfiedLinkError exception throw by getAllFonts() on MacOSX Reviewed-by: bae, prr ! make/sun/awt/FILES_c_unix.gmk ! make/sun/awt/FILES_export_unix.gmk ! make/sun/awt/mawt.gmk ! makefiles/CompileNativeLibraries.gmk ! src/macosx/native/sun/font/AWTFont.m Changeset: f24f9038e050 Author: prr Date: 2013-05-24 09:31 -0700 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/f24f9038e050 8008535: JDK7 Printing : CJK and Latin Text in a string overlap Reviewed-by: bae, jgodinez ! src/windows/classes/sun/awt/windows/WPathGraphics.java + test/java/awt/print/PrinterJob/PrintLatinCJKTest.java Changeset: f4ad2fa22474 Author: jgodinez Date: 2013-05-29 09:18 -0700 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/f4ad2fa22474 7183520: [macosx]Unable to print out the defined page for 2D_PrintingTiger/JTablePrintPageRangesTest. Reviewed-by: bae, prr ! src/macosx/classes/sun/lwawt/macosx/CPrinterJob.java Changeset: 7e2a887a069e Author: jgodinez Date: 2013-05-29 09:46 -0700 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/7e2a887a069e 8012381: [macosx]Unable to print out the defined page for 2D_PrintingTiger/JTablePrintPageRangesTest Reviewed-by: jchen, prr ! src/solaris/classes/sun/print/IPPPrintService.java ! test/java/awt/print/PrinterJob/Collate2DPrintingTest.java Changeset: 8ac29ee867fd Author: lana Date: 2013-05-29 16:54 -0700 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/8ac29ee867fd Merge Changeset: 85df65495177 Author: mcherkas Date: 2013-05-21 03:20 +0400 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/85df65495177 7011777: JDK 6 parses html text with script tags within comments differently from previous releases Reviewed-by: alexsch Contributed-by: Dmitry Markov ! src/share/classes/javax/swing/text/html/parser/Parser.java + test/javax/swing/text/html/parser/Parser/7011777/bug7011777.java Changeset: e36d0b9ed018 Author: alitvinov Date: 2013-05-21 05:02 +0400 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/e36d0b9ed018 8005607: Recursion in J2DXErrHandler() Causes a Stack Overflow on Linux Reviewed-by: art, anthony, prr ! src/solaris/classes/sun/awt/X11/MotifDnDConstants.java ! src/solaris/classes/sun/awt/X11/MotifDnDDropTargetProtocol.java ! src/solaris/classes/sun/awt/X11/WindowPropertyGetter.java ! src/solaris/classes/sun/awt/X11/XConstants.java ! src/solaris/classes/sun/awt/X11/XDnDDragSourceProtocol.java ! src/solaris/classes/sun/awt/X11/XDnDDropTargetProtocol.java ! src/solaris/classes/sun/awt/X11/XDragSourceProtocol.java ! src/solaris/classes/sun/awt/X11/XDropTargetRegistry.java ! src/solaris/classes/sun/awt/X11/XEmbedCanvasPeer.java ! src/solaris/classes/sun/awt/X11/XErrorHandler.java + src/solaris/classes/sun/awt/X11/XErrorHandlerUtil.java ! src/solaris/classes/sun/awt/X11/XQueryTree.java ! src/solaris/classes/sun/awt/X11/XToolkit.java ! src/solaris/classes/sun/awt/X11/XTranslateCoordinates.java ! src/solaris/classes/sun/awt/X11/XWM.java ! src/solaris/classes/sun/awt/X11/XlibUtil.java ! src/solaris/classes/sun/awt/X11/generator/WrapperGenerator.java ! src/solaris/native/sun/awt/awt_GraphicsEnv.c ! src/solaris/native/sun/awt/awt_GraphicsEnv.h ! src/solaris/native/sun/awt/awt_util.c ! src/solaris/native/sun/awt/awt_util.h ! src/solaris/native/sun/java2d/opengl/GLXSurfaceData.c ! src/solaris/native/sun/java2d/x11/X11SurfaceData.c ! src/solaris/native/sun/xawt/XlibWrapper.c Changeset: 73d3bed5f8c8 Author: lana Date: 2013-05-22 17:37 -0700 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/73d3bed5f8c8 Merge - make/com/sun/script/Makefile - make/sun/org/Makefile - make/sun/org/mozilla/Makefile - make/sun/org/mozilla/javascript/Makefile - src/share/classes/com/sun/script/javascript/ExternalScriptable.java - src/share/classes/com/sun/script/javascript/JSAdapter.java - src/share/classes/com/sun/script/javascript/JavaAdapter.java - src/share/classes/com/sun/script/javascript/META-INF/services/javax.script.ScriptEngineFactory - src/share/classes/com/sun/script/javascript/RhinoClassShutter.java - src/share/classes/com/sun/script/javascript/RhinoCompiledScript.java - src/share/classes/com/sun/script/javascript/RhinoScriptEngine.java - src/share/classes/com/sun/script/javascript/RhinoScriptEngineFactory.java - src/share/classes/com/sun/script/javascript/RhinoTopLevel.java - src/share/classes/com/sun/script/javascript/RhinoWrapFactory.java - src/share/classes/com/sun/script/util/BindingsBase.java - src/share/classes/com/sun/script/util/BindingsEntrySet.java - src/share/classes/com/sun/script/util/BindingsImpl.java - src/share/classes/com/sun/script/util/InterfaceImplementor.java - src/share/classes/com/sun/script/util/ScriptEngineFactoryBase.java - src/share/classes/java/time/format/DateTimeFormatSymbols.java - src/share/classes/sun/nio/cs/ext/META-INF/services/java.nio.charset.spi.CharsetProvider - test/java/lang/Thread/StackTraces.java - test/java/time/tck/java/time/format/TCKDateTimeFormatSymbols.java - test/java/time/test/java/time/format/TestDateTimeFormatSymbols.java - test/java/util/logging/bundlesearch/LoadItUp.java - test/sun/security/provider/certpath/X509CertPath/ForwardBuildCompromised.java - test/sun/security/provider/certpath/X509CertPath/ReverseBuildCompromised.java - test/sun/security/provider/certpath/X509CertPath/ValidateCompromised.java Changeset: 6261e94e9869 Author: alexsch Date: 2013-05-23 15:52 +0400 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/6261e94e9869 8014924: JToolTip#setTipText() sometimes (very often) not repaints component. Reviewed-by: serb ! src/share/classes/javax/swing/JToolTip.java Changeset: e8cacde33d27 Author: ant Date: 2013-05-24 18:01 +0400 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/e8cacde33d27 8013437: Test sun/awt/datatransfer/SuplementaryCharactersTransferTest.java fails to compile since 8b86 Reviewed-by: alexsch ! test/sun/awt/datatransfer/SuplementaryCharactersTransferTest.java Changeset: 6b29c27d0807 Author: malenkov Date: 2013-05-24 19:41 +0400 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/6b29c27d0807 8013416: Java Bean Persistence with XMLEncoder Reviewed-by: alexsch ! src/share/classes/com/sun/beans/finder/AbstractFinder.java ! src/share/classes/com/sun/beans/finder/ConstructorFinder.java ! src/share/classes/com/sun/beans/finder/MethodFinder.java + test/java/beans/XMLEncoder/Test8013416.java Changeset: c36626831f07 Author: vkarnauk Date: 2013-05-27 12:47 +0400 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/c36626831f07 8010721: [macosx] In JDK7 the menu bar disappears when a Dialog is shown Reviewed-by: anthony, serb ! src/macosx/classes/sun/lwawt/macosx/CPlatformWindow.java ! src/macosx/native/sun/awt/AWTWindow.m Changeset: 70ac1bf74865 Author: serb Date: 2013-05-27 22:31 +0400 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/70ac1bf74865 8014726: TEST_BUG: java/awt/WMSpecificTests/Metacity/FullscreenDialogModality.java should be modified Reviewed-by: serb, anthony Contributed-by: alexander.zvegintsev at oracle.com ! test/java/awt/WMSpecificTests/Metacity/FullscreenDialogModality.java Changeset: ff1c2e379f27 Author: pchelko Date: 2013-05-28 12:37 +0400 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/ff1c2e379f27 8000422: [macosx] Views keep scrolling back to the drag position after DnD Reviewed-by: serb, anthony ! src/macosx/classes/sun/lwawt/macosx/CDropTargetContextPeer.java Changeset: 4f24a4f65a07 Author: anthony Date: 2013-05-28 16:38 +0400 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/4f24a4f65a07 7039616: java/awt/Window/TranslucentJAppletTest/TranslucentJAppletTest.java should be updated Summary: Consider the test passed if the system does not support translucency Reviewed-by: art ! test/java/awt/Window/TranslucentJAppletTest/TranslucentJAppletTest.java Changeset: 1f0628078531 Author: pchelko Date: 2013-05-29 12:10 +0400 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/1f0628078531 8009911: [macosx] SWT app freeze when going full screen using Java 7 on Mac Reviewed-by: anthony, ksrini ! src/macosx/bin/java_md_macosx.c Changeset: c8a0abc1fd2d Author: mcherkas Date: 2013-05-29 18:40 +0400 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/c8a0abc1fd2d 8014863: Line break calculations in Java 7 are incorrect. Reviewed-by: alexp, alexsch Contributed-by: Dmitry Markov ! src/share/classes/javax/swing/text/View.java + test/javax/swing/text/View/8014863/bug8014863.java Changeset: aae7b96a350e Author: lana Date: 2013-05-29 16:56 -0700 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/aae7b96a350e Merge Changeset: 5d9273a5a84e Author: lana Date: 2013-05-29 16:58 -0700 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/5d9273a5a84e Merge - test/com/sun/jmx/remote/NotificationMarshalVersions/TestSerializationMismatch.sh Changeset: 7eae7c89dab4 Author: lana Date: 2013-06-03 23:23 -0700 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/7eae7c89dab4 Merge - test/com/sun/jmx/remote/NotificationMarshalVersions/TestSerializationMismatch.sh Changeset: bb71021af586 Author: lana Date: 2013-06-04 21:37 -0700 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/bb71021af586 Merge From maurizio.cimadamore at oracle.com Wed Jun 5 02:16:11 2013 From: maurizio.cimadamore at oracle.com (Maurizio Cimadamore) Date: Wed, 05 Jun 2013 10:16:11 +0100 Subject: Review request for JDK-8013357: Javac accepts erroneous binary comparison operations In-Reply-To: <51AE643E.8040506@oracle.com> References: <51A65CAD.5020905@oracle.com> <51A715F4.2040709@oracle.com> <51A9E8E3.2010706@oracle.com> <51ACDC4A.3070500@oracle.com> <51ACDEED.5080709@oracle.com> <51ACF0A4.2000606@oracle.com> <51ADBC83.8080405@oracle.com> <51AE643E.8040506@oracle.com> Message-ID: <51AF01DB.8020903@oracle.com> All versions I've seen so far are wrong in a way or another, so I would not go back to a previous version. Have you tried the code I pasted in my last email? Maurizio On 04/06/13 23:03, Eric McCorkle wrote: > Actually that code doesn't work (it won't even get through a build). > Any kind of null == Object comparison fails. Strangely, the code in > webrev.02 seems to pass all the existing tests (including my new ones), > which seems strange to me. > > I'll backpedal to webrev.01 and simplify it. But perhaps we ought to > flag this part of the type checker for refactoring as well. > > On 06/04/13 06:08, Maurizio Cimadamore wrote: >> On 03/06/13 20:38, Eric McCorkle wrote: >>> Good suggestion, I've made the change (no new webrev, as it just >>> reorders defs). >>> >>> Are there any more suggestions from anyone, or is this one good to go? >> The code is wrong - I didn't realize when writing it on the review. You >> only do unboxing _after_ having checked that both types are primitives - >> so nothing can possibly happen. I have to say I'm a bit worried that the >> test you wrote didn't catch this (as well as the symmetry problems with >> the previous implementation). I'd focus on writing a better test first >> and then tweaking the compiler code accordingly. Note that the test can >> be made much simpler by using the infrastructure for testing types >> available in test/tools/javac/types (which will save you the hassle of >> creating mini test cases when the only thing you are interested in is >> whether a type is 'equality comparable' to another type). >> >> The right code for the test should be this: >> >> if (allowBoxing) { >> s = unboxedTypeOrType(s); >> t = unboxedTypeOrType(t); >> } >> >> boolean tPrimitive = t.isPrimitive(); >> boolean sPrimitive = s.isPrimitive(); >> >> if (tPrimitive && sPrimitive) { >> return isSubtype(s, t) || isSubtype(t, s); >> } else if (!tPrimitive && !sPrimitive) { >> return isCastable(s, t, warn) || isCastable(t, s, warn); >> } else { >> return false; >> } >> >> Maurizio >>> On 06/03/13 14:22, Alex Buckley wrote: >>>> In ObjectZeroCompare, I would just suggest having the *_name and >>>> *_contents variables listed in the same order as the assert_compile_* >>>> invocations in run(). I think the most readable order is: Object, >>>> Number, IntegerSuper, Uncastable, [Flips from failure to success here] >>>> Castable, Integer, etc [as you have it already]. >>>> >>>> Alex >>>> >>>> On 6/3/2013 11:11 AM, Eric McCorkle wrote: >>>>> Forgot the URL on this. It's here: >>>>> http://cr.openjdk.java.net/~emc/8013357/webrev.02/ >>>>> >>>>> On 06/01/13 08:28, Eric McCorkle wrote: >>>>>> New webrev is up. I rolled back allowing Number == primitive >>>>>> comparisons (I thought I'd rolled that back in the previous), and I >>>>>> implemented maurizio's suggested simpler comparison. I also added a few >>>>>> more test cases. >>>>>> >>>>>> JPRT's been a bit unreliable, but I'm getting clean runs. >>>>>> >>>>>> Please review and comment. >>>>>> >>>>>> On 05/30/13 05:03, Maurizio Cimadamore wrote: >>>>>>> On 29/05/13 20:53, Eric McCorkle wrote: >>>>>>>> Hello, >>>>>>>> >>>>>>>> Please review my latest patch for this problem. Since my earlier >>>>>>>> review >>>>>>>> request, several things have happened: >>>>>>>> >>>>>>>> 1) A CCC has been submitted, reviewed (at length) and approved. >>>>>>>> >>>>>>>> 2) I've confirmed the correct behavior wrt object-primitive >>>>>>>> comparisons. >>>>>>>> >>>>>>>> 3) I've fixed some errors in our tests, which would not compile when >>>>>>>> javac enforces the correct type rules. >>>>>>>> >>>>>>>> 4) This change has been flagged for a release note. >>>>>>>> >>>>>>>> The webrev is here: >>>>>>>> http://cr.openjdk.java.net/~emc/8013357/webrev.01/ >>>>>>> Hi, >>>>>>> couple of comments: >>>>>>> >>>>>>> *) I would be wary of adding Number to the symtab which will load >>>>>>> symbols eagerly; j.l.Number is not available on all platforms, so there >>>>>>> will be issues when using javac in cross compilation environment, >>>>>>> compiling against a J2ME rt.jar; the usual trick is to call Symbtab. >>>>>>> synthesizeEmptyInterfaceIfMissing (see for other code in Symtab that >>>>>>> does that for a reference). >>>>>>> >>>>>>> *) The logic for checking equality seems questionable/overly complex >>>>>>> (expanded in meta code below): >>>>>>> >>>>>>> boolean isEqualityComparable (Type s, Type t) >>>>>>> if () { >>>>>>> return s <: t //1 >>>>>>> } else if () { >>>>>>> return s castable to t //2 >>>>>>> } else if (source >= 1.5) { >>>>>>> if () { >>>>>>> return () ? >>>>>> t) //3 >>>>>>> } else { >>>>>>> return () ? >>>>>> s) //4 >>>>>>> } >>>>>>> } >>>>>>> >>>>>>> The first thing that strikes me is that in places (1, 2, 3, 4) we are >>>>>>> not being symmetric; i.e. >>>>>>> >>>>>>> isEqualityComparable(int, long) = true >>>>>>> isEqualityComparable(long, int) = false >>>>>>> >>>>>>> The second thing that worries me is that the spec says something like: >>>>>>> >>>>>>> *) if both are numeric (i.e. primitives) and one is convertible to >>>>>>> numeric (i.e. unboxable), then a numeric comparison is performed >>>>>>> >>>>>>> I think this means that the code should do some check to see whether >>>>>>> numeric comparison is applicable, (i.e. eventually unboxing) and then >>>>>>> calling appropriate routine to do the comparison test. >>>>>>> >>>>>>> Also, restating a point raised by Alex, Number == primitive is not >>>>>>> allowed as Number is not convertible to a numeric type; I think the >>>>>>> test >>>>>>> should be something like: >>>>>>> >>>>>>> boolean isEqualityComparable(Type s, Type t) >>>>>>> if () { >>>>>>> if (source >= 1.5) { >>>>>>> s = types.unboxedTypeOrType(s); >>>>>>> t = types.unboxedTypeOrType(t); >>>>>>> } >>>>>>> return s <: t || t <: s; >>>>>>> } else if () { >>>>>>> return (s castable to t) || (t castable to s); >>>>>>> } >>>>>>> >>>>>>> >>>>>>> Maurizio >>>>>>> From sundararajan.athijegannathan at oracle.com Wed Jun 5 02:40:02 2013 From: sundararajan.athijegannathan at oracle.com (sundararajan.athijegannathan at oracle.com) Date: Wed, 05 Jun 2013 09:40:02 +0000 Subject: hg: jdk8/tl/nashorn: 16 new changesets Message-ID: <20130605094015.847BF48F75@hg.openjdk.java.net> Changeset: 66b2fde90c9d Author: jlaskey Date: 2013-05-29 16:23 -0300 URL: http://hg.openjdk.java.net/jdk8/tl/nashorn/rev/66b2fde90c9d 8015636: Add more typed arrays code coverage tests. Reviewed-by: sundar Contributed-by: james.laskey at oracle.com + test/script/basic/typedarrays.js Changeset: eda227663eda Author: sundar Date: 2013-05-30 16:49 +0530 URL: http://hg.openjdk.java.net/jdk8/tl/nashorn/rev/eda227663eda 8015353: Date.parse illegal string parsing issues Reviewed-by: jlaskey, lagergren - src/jdk/nashorn/internal/objects/DateParser.java ! src/jdk/nashorn/internal/objects/NativeDate.java + src/jdk/nashorn/internal/parser/DateParser.java + test/script/basic/JDK-8015353.js Changeset: 818946884410 Author: attila Date: 2013-05-31 12:56 +0200 URL: http://hg.openjdk.java.net/jdk8/tl/nashorn/rev/818946884410 8015693: reduce NodeLiteralNode to NullLiteralNode Reviewed-by: jlaskey, lagergren ! src/jdk/nashorn/internal/ir/LiteralNode.java Changeset: d8a7727a519e Author: attila Date: 2013-05-31 12:57 +0200 URL: http://hg.openjdk.java.net/jdk8/tl/nashorn/rev/d8a7727a519e 8015684: FieldObjectCreator.putField ignores getValueType Reviewed-by: jlaskey, lagergren ! src/jdk/nashorn/internal/codegen/CodeGenerator.java ! src/jdk/nashorn/internal/codegen/FieldObjectCreator.java Changeset: cab639125b98 Author: attila Date: 2013-05-31 12:57 +0200 URL: http://hg.openjdk.java.net/jdk8/tl/nashorn/rev/cab639125b98 8015674: CodeGenerator.initSymbols mutates a list Reviewed-by: jlaskey, lagergren ! src/jdk/nashorn/internal/codegen/CodeGenerator.java Changeset: 11b81fa7125a Author: attila Date: 2013-05-31 12:58 +0200 URL: http://hg.openjdk.java.net/jdk8/tl/nashorn/rev/11b81fa7125a 8015673: Type for :e symbol is wrong Reviewed-by: jlaskey, lagergren ! src/jdk/nashorn/internal/codegen/Attr.java ! src/jdk/nashorn/internal/codegen/CompilerConstants.java Changeset: b4e6cc05ce09 Author: sundar Date: 2013-05-31 17:39 +0530 URL: http://hg.openjdk.java.net/jdk8/tl/nashorn/rev/b4e6cc05ce09 8012164: Error.stack needs trimming Reviewed-by: lagergren, jlaskey ! src/jdk/nashorn/internal/objects/NativeError.java + test/script/basic/JDK-8012164.js + test/script/basic/JDK-8012164.js.EXPECTED ! test/script/basic/NASHORN-108.js.EXPECTED ! test/script/basic/NASHORN-109.js.EXPECTED ! test/script/basic/errorstack.js.EXPECTED Changeset: 64250b3a2f2a Author: jlaskey Date: 2013-05-31 13:04 -0300 URL: http://hg.openjdk.java.net/jdk8/tl/nashorn/rev/64250b3a2f2a 8015727: Thread safe print function Reviewed-by: sundar Contributed-by: james.laskey at oracle.com ! src/jdk/nashorn/internal/objects/Global.java Changeset: 295c91f5fdde Author: sundar Date: 2013-06-03 15:58 +0530 URL: http://hg.openjdk.java.net/jdk8/tl/nashorn/rev/295c91f5fdde 8015345: Function("}),print('test'),({") should throw SyntaxError Reviewed-by: lagergren, hannesw, jlaskey ! src/jdk/nashorn/internal/objects/NativeFunction.java ! src/jdk/nashorn/internal/parser/Parser.java + test/script/basic/JDK-8015345.js + test/script/basic/JDK-8015345.js.EXPECTED ! test/script/basic/funcconstructor.js.EXPECTED Changeset: 08a8fda6c0bf Author: jlaskey Date: 2013-06-03 08:34 -0300 URL: http://hg.openjdk.java.net/jdk8/tl/nashorn/rev/08a8fda6c0bf 8015741: Need a global.load function that starts with a new global scope. Reviewed-by: sundar, lagergren Contributed-by: james.laskey at oracle.com ! src/jdk/nashorn/internal/objects/Global.java ! src/jdk/nashorn/internal/runtime/Context.java + test/script/basic/JDK-8015741.js + test/script/basic/JDK-8015741.js.EXPECTED Changeset: 2df08f4c531d Author: jlaskey Date: 2013-06-03 11:16 -0300 URL: http://hg.openjdk.java.net/jdk8/tl/nashorn/rev/2df08f4c531d 8015796: Race condition in RuntimeCallsites Reviewed-by: lagergren, attila Contributed-by: james.laskey at oracle.com ! src/jdk/nashorn/internal/codegen/RuntimeCallSite.java Changeset: 0946c8a60f39 Author: jlaskey Date: 2013-06-03 12:57 -0300 URL: http://hg.openjdk.java.net/jdk8/tl/nashorn/rev/0946c8a60f39 8015814: loadWithNewGlobal needs to wrap createGlobal in AccessController.doPrivileged Reviewed-by: sundar Contributed-by: james.laskey at oracle.com ! src/jdk/nashorn/internal/runtime/Context.java Changeset: 78113cda23bf Author: sundar Date: 2013-06-04 17:33 +0530 URL: http://hg.openjdk.java.net/jdk8/tl/nashorn/rev/78113cda23bf 8015855: test/script/basic/JDK-8012164.js fails on Windows Reviewed-by: hannesw, lagergren, jlaskey ! test/script/basic/JDK-8012164.js Changeset: c70f60578385 Author: sundar Date: 2013-06-04 22:31 +0530 URL: http://hg.openjdk.java.net/jdk8/tl/nashorn/rev/c70f60578385 8015830: Javascript mapping of ScriptEngine bindings does not expose keys Reviewed-by: jlaskey, lagergren ! src/jdk/nashorn/api/scripting/ScriptObjectMirror.java ! src/jdk/nashorn/internal/runtime/ScriptObject.java ! src/jdk/nashorn/internal/runtime/ScriptRuntime.java + test/script/basic/JDK-8015830.js + test/script/basic/JDK-8015830.js.EXPECTED Changeset: 62b096f7bac3 Author: sundar Date: 2013-06-05 12:08 +0530 URL: http://hg.openjdk.java.net/jdk8/tl/nashorn/rev/62b096f7bac3 8015945: loadWithNewGlobal return value has to be properly wrapped Reviewed-by: lagergren, hannesw ! src/jdk/nashorn/api/scripting/ScriptObjectMirror.java ! src/jdk/nashorn/internal/runtime/Context.java + test/script/basic/JDK-8015945.js + test/script/basic/JDK-8015945.js.EXPECTED Changeset: c6c05f23bca4 Author: sundar Date: 2013-06-05 13:33 +0530 URL: http://hg.openjdk.java.net/jdk8/tl/nashorn/rev/c6c05f23bca4 Merge - src/jdk/nashorn/internal/objects/DateParser.java From alan.bateman at oracle.com Wed Jun 5 03:14:12 2013 From: alan.bateman at oracle.com (alan.bateman at oracle.com) Date: Wed, 05 Jun 2013 10:14:12 +0000 Subject: hg: jdk8/tl/jdk: 8003895: java/nio/channels/AsynchronousChannelGroup/Unbounded.java failing again [win64] Message-ID: <20130605101435.8EF6848F7A@hg.openjdk.java.net> Changeset: 8a9f897a57d6 Author: alanb Date: 2013-06-05 11:12 +0100 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/8a9f897a57d6 8003895: java/nio/channels/AsynchronousChannelGroup/Unbounded.java failing again [win64] Reviewed-by: chegar ! test/ProblemList.txt ! test/java/nio/channels/AsynchronousChannelGroup/Unbounded.java From paul.sandoz at oracle.com Wed Jun 5 03:40:53 2013 From: paul.sandoz at oracle.com (paul.sandoz at oracle.com) Date: Wed, 05 Jun 2013 10:40:53 +0000 Subject: hg: jdk8/tl/jdk: 8013649: HashMap spliterator tryAdvance() encounters remaining elements after forEachRemaining() Message-ID: <20130605104105.AD39E48F7D@hg.openjdk.java.net> Changeset: de11b20f8c01 Author: psandoz Date: 2013-05-31 10:53 +0200 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/de11b20f8c01 8013649: HashMap spliterator tryAdvance() encounters remaining elements after forEachRemaining() Reviewed-by: chegar ! src/share/classes/java/util/HashMap.java ! src/share/classes/java/util/WeakHashMap.java ! test/java/util/Spliterator/SpliteratorTraversingAndSplittingTest.java From alexander.zuev at oracle.com Wed Jun 5 05:58:34 2013 From: alexander.zuev at oracle.com (alexander.zuev at oracle.com) Date: Wed, 05 Jun 2013 12:58:34 +0000 Subject: hg: jdk8/tl/langtools: 7186887: Test T6567415.java can fail on a slow machine Message-ID: <20130605125842.F3F1648F84@hg.openjdk.java.net> Changeset: 79fd9cfa55f2 Author: kizune Date: 2013-06-05 16:58 +0400 URL: http://hg.openjdk.java.net/jdk8/tl/langtools/rev/79fd9cfa55f2 7186887: Test T6567415.java can fail on a slow machine Reviewed-by: jjg, ksrini ! test/tools/javac/6567415/T6567415.java From alan.bateman at oracle.com Wed Jun 5 05:58:52 2013 From: alan.bateman at oracle.com (alan.bateman at oracle.com) Date: Wed, 05 Jun 2013 12:58:52 +0000 Subject: hg: jdk8/tl/jdk: 8015880: GenerateBreakIteratorData build warning Message-ID: <20130605125928.936D448F86@hg.openjdk.java.net> Changeset: ae700bdb68b6 Author: alanb Date: 2013-06-05 13:57 +0100 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/ae700bdb68b6 8015880: GenerateBreakIteratorData build warning Reviewed-by: peytoia ! make/tools/src/build/tools/generatebreakiteratordata/CharSet.java From dmitry.samersoff at oracle.com Wed Jun 5 07:21:01 2013 From: dmitry.samersoff at oracle.com (dmitry.samersoff at oracle.com) Date: Wed, 05 Jun 2013 14:21:01 +0000 Subject: hg: jdk8/tl/jdk: 8015604: JDP packets containing ideographic characters are broken Message-ID: <20130605142131.6BEF348F96@hg.openjdk.java.net> Changeset: df1b35c7901d Author: dsamersoff Date: 2013-06-05 18:20 +0400 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/df1b35c7901d 8015604: JDP packets containing ideographic characters are broken Summary: Code uses string length rather than byte array length and non ascii entry brakes packet. Reviewed-by: dholmes, jbachorik, sla ! src/share/classes/sun/management/jdp/JdpPacketWriter.java ! test/sun/management/jdp/JdpUnitTest.java From erik.joelsson at oracle.com Wed Jun 5 07:24:43 2013 From: erik.joelsson at oracle.com (Erik Joelsson) Date: Wed, 05 Jun 2013 16:24:43 +0200 Subject: RFR: 8014513: Sjavac doesn't detect 32-bit jvm properly Message-ID: <51AF4A2B.3010508@oracle.com> Hello, Here is a small patch fixing a problem with sjavac. Sjavac tries to be smart about sizing itself to no run out of memory. The logic for figuring out if it's running on a 32 or 64bit jvm is rather crude and misses on several platforms. This patch makes the code more robust. Fixing this issue is a requirement to get sjavac to work well on all platforms in jprt. Bug: http://bugs.sun.com/view_bug.do?bug_id=8014513 Webrev: http://cr.openjdk.java.net/~erikj/8014513/webrev.langtools.01/ /Erik From eric.mccorkle at oracle.com Wed Jun 5 07:35:45 2013 From: eric.mccorkle at oracle.com (Eric McCorkle) Date: Wed, 05 Jun 2013 10:35:45 -0400 Subject: JDK-8015701: MethodParameters are not filled in for synthetic captured local variables In-Reply-To: <51AE1314.9060604@oracle.com> References: <51A9E9AF.7070103@oracle.com> <51AA2A17.6090402@oracle.com> <51AAA816.8000000@oracle.com> <51AE03EC.9050400@oracle.com> <51AE1314.9060604@oracle.com> Message-ID: <51AF4CC1.3090106@oracle.com> I moved that code outside initField. It leads to a bit more code duplication than I'd have liked, though. On 06/04/13 12:17, Maurizio Cimadamore wrote: > On 04/06/13 16:12, Eric McCorkle wrote: >> Any comments on this patch? > Having initField subtly changing stuff on the outer method symbol is not > good. Move that code outside the initField method, so that the symbol > update is very clear. > > Maurizio >> >> On 06/01/13 22:04, Eric McCorkle wrote: >>> I did. It's up there now. >>> >>> On 06/01/13 13:06, Jonathan Gibbons wrote: >>>> There's no test. Did you forget to hg add it? >>>> >>>> -- Jon >>>> >>>> On 06/01/2013 05:31 AM, Eric McCorkle wrote: >>>>> Hello, >>>>> >>>>> Please review this patch, which fixes the generation of >>>>> MethodParameters >>>>> entries for extra parameters to constructors for anonymous inner >>>>> classes. >>>>> >>>>> The webrev is here: >>>>> http://cr.openjdk.java.net/~emc/8015701/ >>>>> >>>>> The bug report is here: >>>>> http://bugs.sun.com/view_bug.do?bug_id=8015701 >>>>> >>>>> Thanks, >>>>> Eric > -------------- next part -------------- A non-text attachment was scrubbed... Name: eric_mccorkle.vcf Type: text/x-vcard Size: 314 bytes Desc: not available Url : http://mail.openjdk.java.net/pipermail/compiler-dev/attachments/20130605/d9253aa8/eric_mccorkle.vcf From maurizio.cimadamore at oracle.com Wed Jun 5 07:56:25 2013 From: maurizio.cimadamore at oracle.com (Maurizio Cimadamore) Date: Wed, 05 Jun 2013 15:56:25 +0100 Subject: JDK-8015701: MethodParameters are not filled in for synthetic captured local variables In-Reply-To: <51AF4CC1.3090106@oracle.com> References: <51A9E9AF.7070103@oracle.com> <51AA2A17.6090402@oracle.com> <51AAA816.8000000@oracle.com> <51AE03EC.9050400@oracle.com> <51AE1314.9060604@oracle.com> <51AF4CC1.3090106@oracle.com> Message-ID: <51AF5199.7010800@oracle.com> I think it's ok - note that you can cache the result of proxyName() and reuse it twice. Maurizio On 05/06/13 15:35, Eric McCorkle wrote: > I moved that code outside initField. It leads to a bit more code > duplication than I'd have liked, though. > > On 06/04/13 12:17, Maurizio Cimadamore wrote: >> On 04/06/13 16:12, Eric McCorkle wrote: >>> Any comments on this patch? >> Having initField subtly changing stuff on the outer method symbol is not >> good. Move that code outside the initField method, so that the symbol >> update is very clear. >> >> Maurizio >>> On 06/01/13 22:04, Eric McCorkle wrote: >>>> I did. It's up there now. >>>> >>>> On 06/01/13 13:06, Jonathan Gibbons wrote: >>>>> There's no test. Did you forget to hg add it? >>>>> >>>>> -- Jon >>>>> >>>>> On 06/01/2013 05:31 AM, Eric McCorkle wrote: >>>>>> Hello, >>>>>> >>>>>> Please review this patch, which fixes the generation of >>>>>> MethodParameters >>>>>> entries for extra parameters to constructors for anonymous inner >>>>>> classes. >>>>>> >>>>>> The webrev is here: >>>>>> http://cr.openjdk.java.net/~emc/8015701/ >>>>>> >>>>>> The bug report is here: >>>>>> http://bugs.sun.com/view_bug.do?bug_id=8015701 >>>>>> >>>>>> Thanks, >>>>>> Eric From chris.hegarty at oracle.com Wed Jun 5 08:07:58 2013 From: chris.hegarty at oracle.com (chris.hegarty at oracle.com) Date: Wed, 05 Jun 2013 15:07:58 +0000 Subject: hg: jdk8/tl/jdk: 8011719: Properties.loadFromXML fails with a chunked HTTP connection Message-ID: <20130605150811.0691948F9A@hg.openjdk.java.net> Changeset: 5edcc8ca4146 Author: chegar Date: 2013-06-05 16:06 +0100 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/5edcc8ca4146 8011719: Properties.loadFromXML fails with a chunked HTTP connection Reviewed-by: michaelm ! src/share/classes/sun/net/www/protocol/http/HttpURLConnection.java + test/sun/net/www/protocol/http/HttpStreams.java From chris.hegarty at oracle.com Wed Jun 5 08:25:06 2013 From: chris.hegarty at oracle.com (chris.hegarty at oracle.com) Date: Wed, 05 Jun 2013 15:25:06 +0000 Subject: hg: jdk8/tl/jdk: 8015963: Add at since tags to new ConcurrentHashMap methods Message-ID: <20130605152518.AC06D48F9F@hg.openjdk.java.net> Changeset: c1af6b5a979a Author: chegar Date: 2013-06-05 16:23 +0100 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/c1af6b5a979a 8015963: Add at since tags to new ConcurrentHashMap methods Reviewed-by: shade, martin ! src/share/classes/java/util/concurrent/ConcurrentHashMap.java From frederic.parain at oracle.com Wed Jun 5 08:41:32 2013 From: frederic.parain at oracle.com (frederic.parain at oracle.com) Date: Wed, 05 Jun 2013 15:41:32 +0000 Subject: hg: jdk8/tl/jdk: 7150256: Add back Diagnostic Command JMX API Message-ID: <20130605154144.A815E48FA0@hg.openjdk.java.net> Changeset: e857b2a3ecee Author: fparain Date: 2013-06-05 08:41 -0700 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/e857b2a3ecee 7150256: Add back Diagnostic Command JMX API Reviewed-by: mchung, jbachorik ! make/java/management/Exportedfiles.gmk ! make/java/management/FILES_c.gmk ! make/java/management/mapfile-vers ! makefiles/mapfiles/libmanagement/mapfile-vers + src/share/classes/com/sun/management/DiagnosticCommandMBean.java ! src/share/classes/java/lang/management/ManagementFactory.java + src/share/classes/sun/management/DiagnosticCommandArgumentInfo.java + src/share/classes/sun/management/DiagnosticCommandImpl.java + src/share/classes/sun/management/DiagnosticCommandInfo.java ! src/share/classes/sun/management/ManagementFactoryHelper.java ! src/share/classes/sun/management/VMManagement.java ! src/share/classes/sun/management/VMManagementImpl.java ! src/share/javavm/export/jmm.h + src/share/native/sun/management/DiagnosticCommandImpl.c ! src/share/native/sun/management/VMManagementImpl.c + test/com/sun/management/DiagnosticCommandMBean/DcmdMBeanDoubleInvocationTest.java + test/com/sun/management/DiagnosticCommandMBean/DcmdMBeanInvocationTest.java + test/com/sun/management/DiagnosticCommandMBean/DcmdMBeanPermissionsTest.java + test/com/sun/management/DiagnosticCommandMBean/DcmdMBeanTest.java ! test/java/lang/management/MXBean/MXBeanBehavior.java ! test/java/lang/management/ManagementFactory/MBeanServerMXBeanUnsupportedTest.java From james.laskey at oracle.com Wed Jun 5 08:56:03 2013 From: james.laskey at oracle.com (james.laskey at oracle.com) Date: Wed, 05 Jun 2013 15:56:03 +0000 Subject: hg: jdk8/tl/nashorn: 6 new changesets Message-ID: <20130605155608.E354148FA2@hg.openjdk.java.net> Changeset: 0feca8a93cb3 Author: attila Date: 2013-06-05 10:44 +0200 URL: http://hg.openjdk.java.net/jdk8/tl/nashorn/rev/0feca8a93cb3 8015955: ObjectNode.elements should be stronger typed Reviewed-by: lagergren, sundar ! src/jdk/nashorn/internal/codegen/CodeGenerator.java ! src/jdk/nashorn/internal/ir/BlockLexicalContext.java ! src/jdk/nashorn/internal/ir/ObjectNode.java ! src/jdk/nashorn/internal/parser/JSONParser.java ! src/jdk/nashorn/internal/parser/Parser.java ! src/jdk/nashorn/internal/runtime/JSONFunctions.java Changeset: 9374c04f38fe Author: attila Date: 2013-06-05 12:17 +0200 URL: http://hg.openjdk.java.net/jdk8/tl/nashorn/rev/9374c04f38fe 8015961: Several small code-gardening fixes Reviewed-by: lagergren, sundar ! src/jdk/nashorn/internal/codegen/Lower.java ! src/jdk/nashorn/internal/codegen/RuntimeCallSite.java ! src/jdk/nashorn/internal/ir/FunctionNode.java ! src/jdk/nashorn/internal/objects/GenericPropertyDescriptor.java ! src/jdk/nashorn/internal/objects/NativeMath.java ! src/jdk/nashorn/internal/runtime/Context.java ! src/jdk/nashorn/internal/runtime/ListAdapter.java ! src/jdk/nashorn/internal/runtime/regexp/joni/Parser.java Changeset: 60bc560df392 Author: hannesw Date: 2013-06-05 12:44 +0200 URL: http://hg.openjdk.java.net/jdk8/tl/nashorn/rev/60bc560df392 8015350: Array.prototype.reduceRight issue with large length and index Reviewed-by: attila, sundar, lagergren ! src/jdk/nashorn/internal/objects/NativeArray.java ! src/jdk/nashorn/internal/runtime/arrays/ArrayIterator.java ! src/jdk/nashorn/internal/runtime/arrays/ArrayLikeIterator.java ! src/jdk/nashorn/internal/runtime/arrays/EmptyArrayLikeIterator.java ! src/jdk/nashorn/internal/runtime/arrays/IteratorAction.java ! src/jdk/nashorn/internal/runtime/arrays/MapIterator.java ! src/jdk/nashorn/internal/runtime/arrays/ReverseArrayIterator.java ! src/jdk/nashorn/internal/runtime/arrays/ReverseMapIterator.java + test/script/basic/JDK-8015350.js + test/script/basic/JDK-8015350.js.EXPECTED Changeset: 35bba63990b7 Author: jlaskey Date: 2013-06-05 10:32 -0300 URL: http://hg.openjdk.java.net/jdk8/tl/nashorn/rev/35bba63990b7 8015911: $EXEC does not handle large outputs Reviewed-by: sundar, attila Contributed-by: james.laskey at oracle.com ! src/jdk/nashorn/internal/runtime/ScriptingFunctions.java Changeset: 16219bef66ec Author: jlaskey Date: 2013-06-05 12:41 -0300 URL: http://hg.openjdk.java.net/jdk8/tl/nashorn/rev/16219bef66ec 8015910: Nashorn JavaFX includes are out of sync with JavaFX repo Reviewed-by: sundar Contributed-by: james.laskey at oracle.com ! src/jdk/nashorn/internal/runtime/resources/fx/controls.js ! src/jdk/nashorn/internal/runtime/resources/fx/graphics.js ! src/jdk/nashorn/internal/runtime/resources/fx/swt.js ! src/jdk/nashorn/internal/runtime/resources/fx/web.js Changeset: e3bd0ed64da8 Author: jlaskey Date: 2013-06-05 12:54 -0300 URL: http://hg.openjdk.java.net/jdk8/tl/nashorn/rev/e3bd0ed64da8 Merge From eric.mccorkle at oracle.com Wed Jun 5 11:11:20 2013 From: eric.mccorkle at oracle.com (Eric McCorkle) Date: Wed, 05 Jun 2013 14:11:20 -0400 Subject: JDK-8015701: MethodParameters are not filled in for synthetic captured local variables In-Reply-To: <51AF5199.7010800@oracle.com> References: <51A9E9AF.7070103@oracle.com> <51AA2A17.6090402@oracle.com> <51AAA816.8000000@oracle.com> <51AE03EC.9050400@oracle.com> <51AE1314.9060604@oracle.com> <51AF4CC1.3090106@oracle.com> <51AF5199.7010800@oracle.com> Message-ID: <51AF7F48.9070806@oracle.com> Added the cache, and I'll push this after it passes a last round of tests. Thanks for the reviews. On 06/05/13 10:56, Maurizio Cimadamore wrote: > I think it's ok - note that you can cache the result of proxyName() and > reuse it twice. > > Maurizio > > On 05/06/13 15:35, Eric McCorkle wrote: >> I moved that code outside initField. It leads to a bit more code >> duplication than I'd have liked, though. >> >> On 06/04/13 12:17, Maurizio Cimadamore wrote: >>> On 04/06/13 16:12, Eric McCorkle wrote: >>>> Any comments on this patch? >>> Having initField subtly changing stuff on the outer method symbol is not >>> good. Move that code outside the initField method, so that the symbol >>> update is very clear. >>> >>> Maurizio >>>> On 06/01/13 22:04, Eric McCorkle wrote: >>>>> I did. It's up there now. >>>>> >>>>> On 06/01/13 13:06, Jonathan Gibbons wrote: >>>>>> There's no test. Did you forget to hg add it? >>>>>> >>>>>> -- Jon >>>>>> >>>>>> On 06/01/2013 05:31 AM, Eric McCorkle wrote: >>>>>>> Hello, >>>>>>> >>>>>>> Please review this patch, which fixes the generation of >>>>>>> MethodParameters >>>>>>> entries for extra parameters to constructors for anonymous inner >>>>>>> classes. >>>>>>> >>>>>>> The webrev is here: >>>>>>> http://cr.openjdk.java.net/~emc/8015701/ >>>>>>> >>>>>>> The bug report is here: >>>>>>> http://bugs.sun.com/view_bug.do?bug_id=8015701 >>>>>>> >>>>>>> Thanks, >>>>>>> Eric > -------------- next part -------------- A non-text attachment was scrubbed... Name: eric_mccorkle.vcf Type: text/x-vcard Size: 314 bytes Desc: not available Url : http://mail.openjdk.java.net/pipermail/compiler-dev/attachments/20130605/e5cd9404/eric_mccorkle.vcf From jonathan.gibbons at oracle.com Wed Jun 5 11:38:26 2013 From: jonathan.gibbons at oracle.com (Jonathan Gibbons) Date: Wed, 05 Jun 2013 11:38:26 -0700 Subject: RFR: 8014513: Sjavac doesn't detect 32-bit jvm properly In-Reply-To: <51AF4A2B.3010508@oracle.com> References: <51AF4A2B.3010508@oracle.com> Message-ID: <51AF85A2.3010108@oracle.com> On 06/05/2013 07:24 AM, Erik Joelsson wrote: > Hello, > > Here is a small patch fixing a problem with sjavac. Sjavac tries to be > smart about sizing itself to no run out of memory. The logic for > figuring out if it's running on a 32 or 64bit jvm is rather crude and > misses on several platforms. This patch makes the code more robust. > > Fixing this issue is a requirement to get sjavac to work well on all > platforms in jprt. > > Bug: http://bugs.sun.com/view_bug.do?bug_id=8014513 > > Webrev: http://cr.openjdk.java.net/~erikj/8014513/webrev.langtools.01/ > > /Erik Erik, It's OK, but I think it would be better if there was a back door to override the default value. That would also partially address the comment in the bug about sjavac looking at the wrong JVM -- it's using the client process, not the server process. If you push it as is, I suggest you file a followup bug for further improvements. -- Jon From jonathan.gibbons at oracle.com Wed Jun 5 11:40:55 2013 From: jonathan.gibbons at oracle.com (Jonathan Gibbons) Date: Wed, 05 Jun 2013 11:40:55 -0700 Subject: RFR: 8014513: Sjavac doesn't detect 32-bit jvm properly In-Reply-To: <51AF85A2.3010108@oracle.com> References: <51AF4A2B.3010508@oracle.com> <51AF85A2.3010108@oracle.com> Message-ID: <51AF8637.9060709@oracle.com> On 06/05/2013 11:38 AM, Jonathan Gibbons wrote: > On 06/05/2013 07:24 AM, Erik Joelsson wrote: >> Hello, >> >> Here is a small patch fixing a problem with sjavac. Sjavac tries to >> be smart about sizing itself to no run out of memory. The logic for >> figuring out if it's running on a 32 or 64bit jvm is rather crude and >> misses on several platforms. This patch makes the code more robust. >> >> Fixing this issue is a requirement to get sjavac to work well on all >> platforms in jprt. >> >> Bug: http://bugs.sun.com/view_bug.do?bug_id=8014513 >> >> Webrev: http://cr.openjdk.java.net/~erikj/8014513/webrev.langtools.01/ >> >> /Erik > > Erik, > > It's OK, but I think it would be better if there was a back door to > override the default value. That would also partially address the > comment in the bug about sjavac looking at the wrong JVM -- it's using > the client process, not the server process. > > If you push it as is, I suggest you file a followup bug for further > improvements. > > -- Jon Erik, The code might also look better if you used a Set for 32 bit values, and tested for set.contains(dataModel), or if not that, the use a strings-in-switch statement. -- Jon From david.holmes at oracle.com Thu Jun 6 02:32:57 2013 From: david.holmes at oracle.com (david.holmes at oracle.com) Date: Thu, 06 Jun 2013 09:32:57 +0000 Subject: hg: jdk8/tl/jdk: 8015470: Remove redundant calls of toString() on String objects Message-ID: <20130606093321.BBDDF48FED@hg.openjdk.java.net> Changeset: 571e5f452640 Author: dholmes Date: 2013-06-06 05:32 -0400 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/571e5f452640 8015470: Remove redundant calls of toString() on String objects Reviewed-by: dholmes, alanb Contributed-by: Otavio Goncalves ! src/share/classes/com/sun/jndi/toolkit/dir/SearchFilter.java ! src/share/classes/java/lang/annotation/IncompleteAnnotationException.java ! src/share/classes/sun/rmi/rmic/Main.java ! src/share/classes/sun/tools/java/MemberDefinition.java ! src/share/classes/sun/tools/jconsole/inspector/Utils.java From weijun.wang at oracle.com Thu Jun 6 02:42:53 2013 From: weijun.wang at oracle.com (Weijun Wang) Date: Thu, 06 Jun 2013 17:42:53 +0800 Subject: Is there a better way to throw this exception? Message-ID: <51B0599D.4020906@oracle.com> Hi All I have a method that could throw two kinds of checked exceptions and possibly other unchecked ones: void once() throws One, Two Now I have a wrapper method that calls once() for multiple times, and want to throw the first exception if *all* fails. Now it looks like void multiple() throws One, Two { Exception saved = null; for (all chances) { try { once(); return; } catch (Exception e) { if (saved != null) saved = e; } } if (saved instanceof One) { throw (One)saved; } else if (saved instanceof One) { throw (Two)saved; } else if (saved instanceof RuntimeException) { throw (RuntimeException)saved; } else { // Not likely, but I've already wrote so many lines. throw new RuntimeException(saved); } } Is there any way I can make it shorter? Thanks Max From vicente.romero at oracle.com Thu Jun 6 05:41:51 2013 From: vicente.romero at oracle.com (Vicente-Arturo Romero-Zaldivar) Date: Thu, 06 Jun 2013 13:41:51 +0100 Subject: JDK-8015701: MethodParameters are not filled in for, synthetic captured local variables In-Reply-To: References: Message-ID: <51B0838F.1040609@oracle.com> Hi Eric, Comments on the test: - As the test is new you don't need to add 2012 in the Copyright section. - import java.lang.Class can be removed. - the test can be further simplified. You don't need the ParameterNames class, instead you can move the makeInner method from that class to AnonymousParameters class and later in the run method you can do: Class cls = makeInner("hello").getClass(); keeping the rest unchanged. Vicente. > Date: Wed, 05 Jun 2013 10:35:45 -0400 > From: Eric McCorkle > Subject: Re: JDK-8015701: MethodParameters are not filled in for > synthetic captured local variables > To: Maurizio Cimadamore > Cc: compiler-dev at openjdk.java.net > Message-ID: <51AF4CC1.3090106 at oracle.com> > Content-Type: text/plain; charset="utf-8" > > I moved that code outside initField. It leads to a bit more code > duplication than I'd have liked, though. > > On 06/04/13 12:17, Maurizio Cimadamore wrote: >> On 04/06/13 16:12, Eric McCorkle wrote: >>> Any comments on this patch? >> Having initField subtly changing stuff on the outer method symbol is not >> good. Move that code outside the initField method, so that the symbol >> update is very clear. >> >> Maurizio >>> On 06/01/13 22:04, Eric McCorkle wrote: >>>> I did. It's up there now. >>>> >>>> On 06/01/13 13:06, Jonathan Gibbons wrote: >>>>> There's no test. Did you forget to hg add it? >>>>> >>>>> -- Jon >>>>> >>>>> On 06/01/2013 05:31 AM, Eric McCorkle wrote: >>>>>> Hello, >>>>>> >>>>>> Please review this patch, which fixes the generation of >>>>>> MethodParameters >>>>>> entries for extra parameters to constructors for anonymous inner >>>>>> classes. >>>>>> >>>>>> The webrev is here: >>>>>> http://cr.openjdk.java.net/~emc/8015701/ >>>>>> >>>>>> The bug report is here: >>>>>> http://bugs.sun.com/view_bug.do?bug_id=8015701 >>>>>> >>>>>> Thanks, >>>>>> Eric > From eric.mccorkle at oracle.com Thu Jun 6 05:49:34 2013 From: eric.mccorkle at oracle.com (eric.mccorkle at oracle.com) Date: Thu, 06 Jun 2013 12:49:34 +0000 Subject: hg: jdk8/tl/langtools: 8015701: MethodParameters are not filled in for synthetic captured local variables Message-ID: <20130606124940.E621C48FF6@hg.openjdk.java.net> Changeset: 8717586f7b05 Author: emc Date: 2013-06-06 08:48 -0400 URL: http://hg.openjdk.java.net/jdk8/tl/langtools/rev/8717586f7b05 8015701: MethodParameters are not filled in for synthetic captured local variables Summary: Synthetic parameters for captured local variables in an anonymous inner class are not added to MethodParameters attributes Reviewed-by: mcimadamore ! src/share/classes/com/sun/tools/javac/comp/Lower.java + test/tools/javac/8015701/AnonymousParameters.java From sean.coffey at oracle.com Thu Jun 6 06:26:36 2013 From: sean.coffey at oracle.com (sean.coffey at oracle.com) Date: Thu, 06 Jun 2013 13:26:36 +0000 Subject: hg: jdk8/tl/jdk: 8000450: Restrict access to com/sun/corba/se/impl package Message-ID: <20130606132710.9931348FFA@hg.openjdk.java.net> Changeset: c4480e0d9f53 Author: coffeys Date: 2013-06-06 14:10 +0100 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/c4480e0d9f53 8000450: Restrict access to com/sun/corba/se/impl package Reviewed-by: alanb, chegar, lancea ! src/share/lib/security/java.security-linux ! src/share/lib/security/java.security-macosx ! src/share/lib/security/java.security-solaris ! src/share/lib/security/java.security-windows ! test/java/lang/SecurityManager/CheckPackageAccess.java From eric.mccorkle at oracle.com Thu Jun 6 06:53:01 2013 From: eric.mccorkle at oracle.com (eric.mccorkle at oracle.com) Date: Thu, 06 Jun 2013 13:53:01 +0000 Subject: hg: jdk8/tl/jdk: 8016019: Remove setProtectionDomain0 and JVM_SetProtectionDomain in JDK Message-ID: <20130606135324.4914448FFD@hg.openjdk.java.net> Changeset: 37aa82c52317 Author: emc Date: 2013-06-06 09:51 -0400 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/37aa82c52317 8016019: Remove setProtectionDomain0 and JVM_SetProtectionDomain in JDK Summary: setProtectionDomain0 and JVM_SetProtectionDomain are unused since at least 1.5. This is the JDK side of a changeset to remove it. Reviewed-by: alanb ! src/share/classes/java/lang/Class.java ! src/share/javavm/export/jvm.h ! src/share/native/java/lang/Class.c From maurizio.cimadamore at oracle.com Thu Jun 6 07:39:23 2013 From: maurizio.cimadamore at oracle.com (maurizio.cimadamore at oracle.com) Date: Thu, 06 Jun 2013 14:39:23 +0000 Subject: hg: jdk8/tl/langtools: 6 new changesets Message-ID: <20130606143959.C98A148001@hg.openjdk.java.net> Changeset: 6e30a513c945 Author: mcimadamore Date: 2013-06-06 15:30 +0100 URL: http://hg.openjdk.java.net/jdk8/tl/langtools/rev/6e30a513c945 6360970: javac erroneously accept ambiguous field reference Summary: clash between ambiguous fields in superinterface and unambiguous field in subinterface is erroneously marked as unambiguous Reviewed-by: jjg, vromero ! src/share/classes/com/sun/tools/javac/comp/Resolve.java + test/tools/javac/6360970/T6360970.java + test/tools/javac/6360970/T6360970.out Changeset: 7889d1fe2597 Author: mcimadamore Date: 2013-06-06 15:32 +0100 URL: http://hg.openjdk.java.net/jdk8/tl/langtools/rev/7889d1fe2597 7139681: Enhanced for loop: local variable scope inconsistent with JLS Summary: For-each loop variable is incorrectly visible from the for-each expression Reviewed-by: jjg, vromero ! src/share/classes/com/sun/tools/javac/comp/Attr.java + test/tools/javac/foreach/7139681/T7139681neg.java + test/tools/javac/foreach/7139681/T7139681neg.out + test/tools/javac/foreach/7139681/T7139681pos.java Changeset: 349160289ba2 Author: mcimadamore Date: 2013-06-06 15:33 +0100 URL: http://hg.openjdk.java.net/jdk8/tl/langtools/rev/349160289ba2 8008627: Compiler mishandles three-way return-type-substitutability Summary: Compiler should not enforce an order in how ambiguous methods should be resolved Reviewed-by: jjg, vromero ! src/share/classes/com/sun/tools/javac/comp/Check.java + test/tools/javac/generics/rawOverride/T8008627.java ! test/tools/javac/lambda/funcInterfaces/NonSAM2.java ! test/tools/javac/lambda/funcInterfaces/NonSAM2.out Changeset: f8472e561a97 Author: mcimadamore Date: 2013-06-06 15:35 +0100 URL: http://hg.openjdk.java.net/jdk8/tl/langtools/rev/f8472e561a97 8015432: javac crashes with stack overflow when method called recursively from nested generic call Summary: Check.checkMethod should only be called after inference has completed Reviewed-by: jjg, vromero ! src/share/classes/com/sun/tools/javac/comp/Attr.java ! src/share/classes/com/sun/tools/javac/comp/Check.java ! test/tools/javac/6758789/T6758789b.out ! test/tools/javac/generics/7015430/T7015430.out ! test/tools/javac/generics/7151802/T7151802.out ! test/tools/javac/generics/inference/6718364/T6718364.out ! test/tools/javac/generics/inference/7177306/T7177306a.out + test/tools/javac/lambda/TargetType74.java Changeset: f218bb5ebd53 Author: mcimadamore Date: 2013-06-06 15:37 +0100 URL: http://hg.openjdk.java.net/jdk8/tl/langtools/rev/f218bb5ebd53 8015648: Duplicate variable in lambda causes javac crash Summary: Missing flag in synthetic lambda blog is causing duplicates symbol to go undetected Reviewed-by: jjg, vromero ! src/share/classes/com/sun/tools/javac/comp/Attr.java + test/tools/javac/lambda/LambdaScope05.java + test/tools/javac/lambda/LambdaScope05.out Changeset: 5b039297151e Author: mcimadamore Date: 2013-06-06 15:38 +0100 URL: http://hg.openjdk.java.net/jdk8/tl/langtools/rev/5b039297151e Merge From peter.levart at gmail.com Thu Jun 6 07:57:12 2013 From: peter.levart at gmail.com (Peter Levart) Date: Thu, 06 Jun 2013 16:57:12 +0200 Subject: Is there a better way to throw this exception? In-Reply-To: <51B0599D.4020906@oracle.com> References: <51B0599D.4020906@oracle.com> Message-ID: <51B0A348.70805@gmail.com> On 06/06/2013 11:42 AM, Weijun Wang wrote: > Hi All > > I have a method that could throw two kinds of checked exceptions and > possibly other unchecked ones: > > void once() throws One, Two > > Now I have a wrapper method that calls once() for multiple times, and > want to throw the first exception if *all* fails. Now it looks like > > void multiple() throws One, Two { > Exception saved = null; > for (all chances) { > try { > once(); > return; > } catch (Exception e) { > if (saved != null) saved = e; > } > } > if (saved instanceof One) { > throw (One)saved; > } else if (saved instanceof One) { > throw (Two)saved; > } else if (saved instanceof RuntimeException) { > throw (RuntimeException)saved; > } else { > // Not likely, but I've already wrote so many lines. > throw new RuntimeException(saved); > } > } > > Is there any way I can make it shorter? Hi Max, If you don't mind re-throwing the last exception thrown instead of the first and you can transform your for loop into a while loop, for example: void multiple() throws One, Two { int tries = 10; int i = 0; while (true) { try { once(); return; } catch (Exception e) { if (++i >= tries) { throw e; } } } } ...otherwise you can re-throw the first exception if you can extract the first loop iteration out of the loop: void multiple() throws One, Two { try { once(); // first chance return; } catch (Exception e) { for (rest of chances) { try { once(); return; } catch (Exception ignore) {} } throw e; } } Regards, Peter > > Thanks > Max From eric.mccorkle at oracle.com Thu Jun 6 08:06:13 2013 From: eric.mccorkle at oracle.com (Eric McCorkle) Date: Thu, 6 Jun 2013 08:06:13 -0700 (PDT) Subject: Review request for JDK-8013357: Javac accepts erroneous binary comparison operations In-Reply-To: <51AF01DB.8020903@oracle.com> References: <51A65CAD.5020905@oracle.com> <51A715F4.2040709@oracle.com> <51A9E8E3.2010706@oracle.com> <51ACDC4A.3070500@oracle.com> <51ACDEED.5080709@oracle.com> <51ACF0A4.2000606@oracle.com> <51ADBC83.8080405@oracle.com> <51AE643E.8040506@oracle.com> <51AF01DB.8020903@oracle.com> Message-ID: <51B0A565.8020406@oracle.com> That's what I meant when I said it didn't work, sorry if I wasn't clear about it. The code in webrev.01 does work, though. So does the following code: public boolean isEqualityComparable(Type s, Type t, Warner warn) { boolean tPrimitive = t.isPrimitive(); boolean sPrimitive = s.isPrimitive(); if (tPrimitive && sPrimitive) { return isSubtype(s, t) || isSubtype(t, s); } else if (!tPrimitive && !sPrimitive) { return isCastable(s, t, warn) || isCastable(t, s, warn); } else return false; } I haven't posted a new webrev yet, though, as I want to understand *why* it works, and why the code with unboxedTypeOrType doesn't work. On 06/05/13 05:16, Maurizio Cimadamore wrote: > All versions I've seen so far are wrong in a way or another, so I would > not go back to a previous version. Have you tried the code I pasted in > my last email? > > Maurizio > > On 04/06/13 23:03, Eric McCorkle wrote: >> Actually that code doesn't work (it won't even get through a build). >> Any kind of null == Object comparison fails. Strangely, the code in >> webrev.02 seems to pass all the existing tests (including my new ones), >> which seems strange to me. >> >> I'll backpedal to webrev.01 and simplify it. But perhaps we ought to >> flag this part of the type checker for refactoring as well. >> >> On 06/04/13 06:08, Maurizio Cimadamore wrote: >>> On 03/06/13 20:38, Eric McCorkle wrote: >>>> Good suggestion, I've made the change (no new webrev, as it just >>>> reorders defs). >>>> >>>> Are there any more suggestions from anyone, or is this one good to go? >>> The code is wrong - I didn't realize when writing it on the review. You >>> only do unboxing _after_ having checked that both types are primitives - >>> so nothing can possibly happen. I have to say I'm a bit worried that the >>> test you wrote didn't catch this (as well as the symmetry problems with >>> the previous implementation). I'd focus on writing a better test first >>> and then tweaking the compiler code accordingly. Note that the test can >>> be made much simpler by using the infrastructure for testing types >>> available in test/tools/javac/types (which will save you the hassle of >>> creating mini test cases when the only thing you are interested in is >>> whether a type is 'equality comparable' to another type). >>> >>> The right code for the test should be this: >>> >>> if (allowBoxing) { >>> s = unboxedTypeOrType(s); >>> t = unboxedTypeOrType(t); >>> } >>> >>> boolean tPrimitive = t.isPrimitive(); >>> boolean sPrimitive = s.isPrimitive(); >>> >>> if (tPrimitive && sPrimitive) { >>> return isSubtype(s, t) || isSubtype(t, s); >>> } else if (!tPrimitive && !sPrimitive) { >>> return isCastable(s, t, warn) || isCastable(t, s, warn); >>> } else { >>> return false; >>> } >>> >>> Maurizio >>>> On 06/03/13 14:22, Alex Buckley wrote: >>>>> In ObjectZeroCompare, I would just suggest having the *_name and >>>>> *_contents variables listed in the same order as the assert_compile_* >>>>> invocations in run(). I think the most readable order is: Object, >>>>> Number, IntegerSuper, Uncastable, [Flips from failure to success here] >>>>> Castable, Integer, etc [as you have it already]. >>>>> >>>>> Alex >>>>> >>>>> On 6/3/2013 11:11 AM, Eric McCorkle wrote: >>>>>> Forgot the URL on this. It's here: >>>>>> http://cr.openjdk.java.net/~emc/8013357/webrev.02/ >>>>>> >>>>>> On 06/01/13 08:28, Eric McCorkle wrote: >>>>>>> New webrev is up. I rolled back allowing Number == primitive >>>>>>> comparisons (I thought I'd rolled that back in the previous), and I >>>>>>> implemented maurizio's suggested simpler comparison. I also >>>>>>> added a few >>>>>>> more test cases. >>>>>>> >>>>>>> JPRT's been a bit unreliable, but I'm getting clean runs. >>>>>>> >>>>>>> Please review and comment. >>>>>>> >>>>>>> On 05/30/13 05:03, Maurizio Cimadamore wrote: >>>>>>>> On 29/05/13 20:53, Eric McCorkle wrote: >>>>>>>>> Hello, >>>>>>>>> >>>>>>>>> Please review my latest patch for this problem. Since my earlier >>>>>>>>> review >>>>>>>>> request, several things have happened: >>>>>>>>> >>>>>>>>> 1) A CCC has been submitted, reviewed (at length) and approved. >>>>>>>>> >>>>>>>>> 2) I've confirmed the correct behavior wrt object-primitive >>>>>>>>> comparisons. >>>>>>>>> >>>>>>>>> 3) I've fixed some errors in our tests, which would not compile >>>>>>>>> when >>>>>>>>> javac enforces the correct type rules. >>>>>>>>> >>>>>>>>> 4) This change has been flagged for a release note. >>>>>>>>> >>>>>>>>> The webrev is here: >>>>>>>>> http://cr.openjdk.java.net/~emc/8013357/webrev.01/ >>>>>>>> Hi, >>>>>>>> couple of comments: >>>>>>>> >>>>>>>> *) I would be wary of adding Number to the symtab which will load >>>>>>>> symbols eagerly; j.l.Number is not available on all platforms, >>>>>>>> so there >>>>>>>> will be issues when using javac in cross compilation environment, >>>>>>>> compiling against a J2ME rt.jar; the usual trick is to call >>>>>>>> Symbtab. >>>>>>>> synthesizeEmptyInterfaceIfMissing (see for other code in Symtab >>>>>>>> that >>>>>>>> does that for a reference). >>>>>>>> >>>>>>>> *) The logic for checking equality seems questionable/overly >>>>>>>> complex >>>>>>>> (expanded in meta code below): >>>>>>>> >>>>>>>> boolean isEqualityComparable (Type s, Type t) >>>>>>>> if () { >>>>>>>> return s <: t //1 >>>>>>>> } else if () { >>>>>>>> return s castable to t //2 >>>>>>>> } else if (source >= 1.5) { >>>>>>>> if () { >>>>>>>> return () ? >>>>>>> (unbox(s) <: >>>>>>>> t) //3 >>>>>>>> } else { >>>>>>>> return () ? >>>>>>> (unbox(t) <: >>>>>>>> s) //4 >>>>>>>> } >>>>>>>> } >>>>>>>> >>>>>>>> The first thing that strikes me is that in places (1, 2, 3, 4) >>>>>>>> we are >>>>>>>> not being symmetric; i.e. >>>>>>>> >>>>>>>> isEqualityComparable(int, long) = true >>>>>>>> isEqualityComparable(long, int) = false >>>>>>>> >>>>>>>> The second thing that worries me is that the spec says something >>>>>>>> like: >>>>>>>> >>>>>>>> *) if both are numeric (i.e. primitives) and one is convertible to >>>>>>>> numeric (i.e. unboxable), then a numeric comparison is performed >>>>>>>> >>>>>>>> I think this means that the code should do some check to see >>>>>>>> whether >>>>>>>> numeric comparison is applicable, (i.e. eventually unboxing) and >>>>>>>> then >>>>>>>> calling appropriate routine to do the comparison test. >>>>>>>> >>>>>>>> Also, restating a point raised by Alex, Number == primitive is not >>>>>>>> allowed as Number is not convertible to a numeric type; I think the >>>>>>>> test >>>>>>>> should be something like: >>>>>>>> >>>>>>>> boolean isEqualityComparable(Type s, Type t) >>>>>>>> if () { >>>>>>>> if (source >= 1.5) { >>>>>>>> s = types.unboxedTypeOrType(s); >>>>>>>> t = types.unboxedTypeOrType(t); >>>>>>>> } >>>>>>>> return s <: t || t <: s; >>>>>>>> } else if () { >>>>>>>> return (s castable to t) || (t castable to s); >>>>>>>> } >>>>>>>> >>>>>>>> >>>>>>>> Maurizio >>>>>>>> > -------------- next part -------------- A non-text attachment was scrubbed... Name: eric_mccorkle.vcf Type: text/x-vcard Size: 314 bytes Desc: not available Url : http://mail.openjdk.java.net/pipermail/compiler-dev/attachments/20130606/1e566185/eric_mccorkle-0001.vcf From maurizio.cimadamore at oracle.com Thu Jun 6 08:41:34 2013 From: maurizio.cimadamore at oracle.com (Maurizio Cimadamore) Date: Thu, 06 Jun 2013 16:41:34 +0100 Subject: Review request for JDK-8013357: Javac accepts erroneous binary comparison operations In-Reply-To: <51B0A565.8020406@oracle.com> References: <51A65CAD.5020905@oracle.com> <51A715F4.2040709@oracle.com> <51A9E8E3.2010706@oracle.com> <51ACDC4A.3070500@oracle.com> <51ACDEED.5080709@oracle.com> <51ACF0A4.2000606@oracle.com> <51ADBC83.8080405@oracle.com> <51AE643E.8040506@oracle.com> <51AF01DB.8020903@oracle.com> <51B0A565.8020406@oracle.com> Message-ID: <51B0ADAE.6020606@oracle.com> Ok - thx for the clarification! Maurizio On 06/06/13 16:06, Eric McCorkle wrote: > That's what I meant when I said it didn't work, sorry if I wasn't clear > about it. The code in webrev.01 does work, though. So does the > following code: > > public boolean isEqualityComparable(Type s, Type t, Warner warn) { > boolean tPrimitive = t.isPrimitive(); > boolean sPrimitive = s.isPrimitive(); > if (tPrimitive && sPrimitive) { > return isSubtype(s, t) || isSubtype(t, s); > } else if (!tPrimitive && !sPrimitive) { > return isCastable(s, t, warn) || isCastable(t, s, warn); > } else > return false; > } > > I haven't posted a new webrev yet, though, as I want to understand *why* > it works, and why the code with unboxedTypeOrType doesn't work. > > On 06/05/13 05:16, Maurizio Cimadamore wrote: >> All versions I've seen so far are wrong in a way or another, so I would >> not go back to a previous version. Have you tried the code I pasted in >> my last email? >> >> Maurizio >> >> On 04/06/13 23:03, Eric McCorkle wrote: >>> Actually that code doesn't work (it won't even get through a build). >>> Any kind of null == Object comparison fails. Strangely, the code in >>> webrev.02 seems to pass all the existing tests (including my new ones), >>> which seems strange to me. >>> >>> I'll backpedal to webrev.01 and simplify it. But perhaps we ought to >>> flag this part of the type checker for refactoring as well. >>> >>> On 06/04/13 06:08, Maurizio Cimadamore wrote: >>>> On 03/06/13 20:38, Eric McCorkle wrote: >>>>> Good suggestion, I've made the change (no new webrev, as it just >>>>> reorders defs). >>>>> >>>>> Are there any more suggestions from anyone, or is this one good to go? >>>> The code is wrong - I didn't realize when writing it on the review. You >>>> only do unboxing _after_ having checked that both types are primitives - >>>> so nothing can possibly happen. I have to say I'm a bit worried that the >>>> test you wrote didn't catch this (as well as the symmetry problems with >>>> the previous implementation). I'd focus on writing a better test first >>>> and then tweaking the compiler code accordingly. Note that the test can >>>> be made much simpler by using the infrastructure for testing types >>>> available in test/tools/javac/types (which will save you the hassle of >>>> creating mini test cases when the only thing you are interested in is >>>> whether a type is 'equality comparable' to another type). >>>> >>>> The right code for the test should be this: >>>> >>>> if (allowBoxing) { >>>> s = unboxedTypeOrType(s); >>>> t = unboxedTypeOrType(t); >>>> } >>>> >>>> boolean tPrimitive = t.isPrimitive(); >>>> boolean sPrimitive = s.isPrimitive(); >>>> >>>> if (tPrimitive && sPrimitive) { >>>> return isSubtype(s, t) || isSubtype(t, s); >>>> } else if (!tPrimitive && !sPrimitive) { >>>> return isCastable(s, t, warn) || isCastable(t, s, warn); >>>> } else { >>>> return false; >>>> } >>>> >>>> Maurizio >>>>> On 06/03/13 14:22, Alex Buckley wrote: >>>>>> In ObjectZeroCompare, I would just suggest having the *_name and >>>>>> *_contents variables listed in the same order as the assert_compile_* >>>>>> invocations in run(). I think the most readable order is: Object, >>>>>> Number, IntegerSuper, Uncastable, [Flips from failure to success here] >>>>>> Castable, Integer, etc [as you have it already]. >>>>>> >>>>>> Alex >>>>>> >>>>>> On 6/3/2013 11:11 AM, Eric McCorkle wrote: >>>>>>> Forgot the URL on this. It's here: >>>>>>> http://cr.openjdk.java.net/~emc/8013357/webrev.02/ >>>>>>> >>>>>>> On 06/01/13 08:28, Eric McCorkle wrote: >>>>>>>> New webrev is up. I rolled back allowing Number == primitive >>>>>>>> comparisons (I thought I'd rolled that back in the previous), and I >>>>>>>> implemented maurizio's suggested simpler comparison. I also >>>>>>>> added a few >>>>>>>> more test cases. >>>>>>>> >>>>>>>> JPRT's been a bit unreliable, but I'm getting clean runs. >>>>>>>> >>>>>>>> Please review and comment. >>>>>>>> >>>>>>>> On 05/30/13 05:03, Maurizio Cimadamore wrote: >>>>>>>>> On 29/05/13 20:53, Eric McCorkle wrote: >>>>>>>>>> Hello, >>>>>>>>>> >>>>>>>>>> Please review my latest patch for this problem. Since my earlier >>>>>>>>>> review >>>>>>>>>> request, several things have happened: >>>>>>>>>> >>>>>>>>>> 1) A CCC has been submitted, reviewed (at length) and approved. >>>>>>>>>> >>>>>>>>>> 2) I've confirmed the correct behavior wrt object-primitive >>>>>>>>>> comparisons. >>>>>>>>>> >>>>>>>>>> 3) I've fixed some errors in our tests, which would not compile >>>>>>>>>> when >>>>>>>>>> javac enforces the correct type rules. >>>>>>>>>> >>>>>>>>>> 4) This change has been flagged for a release note. >>>>>>>>>> >>>>>>>>>> The webrev is here: >>>>>>>>>> http://cr.openjdk.java.net/~emc/8013357/webrev.01/ >>>>>>>>> Hi, >>>>>>>>> couple of comments: >>>>>>>>> >>>>>>>>> *) I would be wary of adding Number to the symtab which will load >>>>>>>>> symbols eagerly; j.l.Number is not available on all platforms, >>>>>>>>> so there >>>>>>>>> will be issues when using javac in cross compilation environment, >>>>>>>>> compiling against a J2ME rt.jar; the usual trick is to call >>>>>>>>> Symbtab. >>>>>>>>> synthesizeEmptyInterfaceIfMissing (see for other code in Symtab >>>>>>>>> that >>>>>>>>> does that for a reference). >>>>>>>>> >>>>>>>>> *) The logic for checking equality seems questionable/overly >>>>>>>>> complex >>>>>>>>> (expanded in meta code below): >>>>>>>>> >>>>>>>>> boolean isEqualityComparable (Type s, Type t) >>>>>>>>> if () { >>>>>>>>> return s <: t //1 >>>>>>>>> } else if () { >>>>>>>>> return s castable to t //2 >>>>>>>>> } else if (source >= 1.5) { >>>>>>>>> if () { >>>>>>>>> return () ? >>>>>>>> (unbox(s) <: >>>>>>>>> t) //3 >>>>>>>>> } else { >>>>>>>>> return () ? >>>>>>>> (unbox(t) <: >>>>>>>>> s) //4 >>>>>>>>> } >>>>>>>>> } >>>>>>>>> >>>>>>>>> The first thing that strikes me is that in places (1, 2, 3, 4) >>>>>>>>> we are >>>>>>>>> not being symmetric; i.e. >>>>>>>>> >>>>>>>>> isEqualityComparable(int, long) = true >>>>>>>>> isEqualityComparable(long, int) = false >>>>>>>>> >>>>>>>>> The second thing that worries me is that the spec says something >>>>>>>>> like: >>>>>>>>> >>>>>>>>> *) if both are numeric (i.e. primitives) and one is convertible to >>>>>>>>> numeric (i.e. unboxable), then a numeric comparison is performed >>>>>>>>> >>>>>>>>> I think this means that the code should do some check to see >>>>>>>>> whether >>>>>>>>> numeric comparison is applicable, (i.e. eventually unboxing) and >>>>>>>>> then >>>>>>>>> calling appropriate routine to do the comparison test. >>>>>>>>> >>>>>>>>> Also, restating a point raised by Alex, Number == primitive is not >>>>>>>>> allowed as Number is not convertible to a numeric type; I think the >>>>>>>>> test >>>>>>>>> should be something like: >>>>>>>>> >>>>>>>>> boolean isEqualityComparable(Type s, Type t) >>>>>>>>> if () { >>>>>>>>> if (source >= 1.5) { >>>>>>>>> s = types.unboxedTypeOrType(s); >>>>>>>>> t = types.unboxedTypeOrType(t); >>>>>>>>> } >>>>>>>>> return s <: t || t <: s; >>>>>>>>> } else if () { >>>>>>>>> return (s castable to t) || (t castable to s); >>>>>>>>> } >>>>>>>>> >>>>>>>>> >>>>>>>>> Maurizio >>>>>>>>> From dmitry.degrave at oracle.com Thu Jun 6 10:29:31 2013 From: dmitry.degrave at oracle.com (dmitry.degrave at oracle.com) Date: Thu, 06 Jun 2013 17:29:31 +0000 Subject: hg: jdk8/tl/jaxp: 8009579: Xpathexception does not honor initcause() Message-ID: <20130606172939.D99A348019@hg.openjdk.java.net> Changeset: 7d14fea1e893 Author: dmeetry Date: 2013-06-06 20:40 +0400 URL: http://hg.openjdk.java.net/jdk8/tl/jaxp/rev/7d14fea1e893 8009579: Xpathexception does not honor initcause() Reviewed-by: alanb, dholmes, joehw Contributed-by: aleksej.efimov at oracle.com ! src/javax/xml/xpath/XPathException.java From dmitry.degrave at oracle.com Thu Jun 6 10:30:49 2013 From: dmitry.degrave at oracle.com (dmitry.degrave at oracle.com) Date: Thu, 06 Jun 2013 17:30:49 +0000 Subject: hg: jdk8/tl/jdk: 8009579: Xpathexception does not honor initcause() Message-ID: <20130606173141.EC1AD4801B@hg.openjdk.java.net> Changeset: e6d2c605930c Author: dmeetry Date: 2013-06-06 20:43 +0400 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/e6d2c605930c 8009579: Xpathexception does not honor initcause() Reviewed-by: alanb, dholmes, joehw Contributed-by: aleksej.efimov at oracle.com + test/javax/xml/jaxp/XPath/8009579/XPathExceptionInitCause.java From daniel.fuchs at oracle.com Thu Jun 6 11:47:43 2013 From: daniel.fuchs at oracle.com (daniel.fuchs at oracle.com) Date: Thu, 06 Jun 2013 18:47:43 +0000 Subject: hg: jdk8/tl/jaxp: 8013434: Xalan and Xerces internal ObjectFactory need rework Message-ID: <20130606184750.788B24801C@hg.openjdk.java.net> Changeset: e93beba07830 Author: dfuchs Date: 2013-06-06 20:47 +0200 URL: http://hg.openjdk.java.net/jdk8/tl/jaxp/rev/e93beba07830 8013434: Xalan and Xerces internal ObjectFactory need rework Summary: With this changeset, DTMManager and XSLTCDTMManager will always use their own default implementation. Reviewed-by: joehw, alanb - src/com/sun/org/apache/xalan/META-INF/services/javax.xml.transform.TransformerFactory - src/com/sun/org/apache/xalan/META-INF/services/javax.xml.xpath.XPathFactory - src/com/sun/org/apache/xalan/META-INF/services/org.apache.xml.dtm.DTMManager ! src/com/sun/org/apache/xalan/internal/utils/ObjectFactory.java ! src/com/sun/org/apache/xalan/internal/xsltc/cmdline/Transform.java ! src/com/sun/org/apache/xalan/internal/xsltc/dom/DocumentCache.java ! src/com/sun/org/apache/xalan/internal/xsltc/dom/XSLTCDTMManager.java ! src/com/sun/org/apache/xalan/internal/xsltc/trax/TransformerFactoryImpl.java ! src/com/sun/org/apache/xalan/internal/xsltc/trax/TransformerHandlerImpl.java ! src/com/sun/org/apache/xalan/internal/xsltc/trax/TransformerImpl.java ! src/com/sun/org/apache/xerces/internal/utils/ObjectFactory.java ! src/com/sun/org/apache/xml/internal/dtm/DTMManager.java ! src/com/sun/org/apache/xpath/internal/XPathContext.java From mike.duigou at oracle.com Thu Jun 6 11:53:57 2013 From: mike.duigou at oracle.com (mike.duigou at oracle.com) Date: Thu, 06 Jun 2013 18:53:57 +0000 Subject: hg: jdk8/tl/jdk: 2 new changesets Message-ID: <20130606185451.703374801D@hg.openjdk.java.net> Changeset: 69d566198fe4 Author: henryjen Date: 2013-06-05 15:56 -0700 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/69d566198fe4 8015522: CharSequence.codePoints can be faster Reviewed-by: martin, psandoz, alanb Contributed-by: henry.jen at oracle.com ! src/share/classes/java/lang/CharSequence.java Changeset: 26922bad9c08 Author: mduigou Date: 2013-06-06 11:39 -0700 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/26922bad9c08 Merge From eric.mccorkle at oracle.com Thu Jun 6 13:21:32 2013 From: eric.mccorkle at oracle.com (Eric McCorkle) Date: Thu, 06 Jun 2013 16:21:32 -0400 Subject: Review request for JDK-8013357: Javac accepts erroneous binary comparison operations In-Reply-To: <51B0ADAE.6020606@oracle.com> References: <51A65CAD.5020905@oracle.com> <51A715F4.2040709@oracle.com> <51A9E8E3.2010706@oracle.com> <51ACDC4A.3070500@oracle.com> <51ACDEED.5080709@oracle.com> <51ACF0A4.2000606@oracle.com> <51ADBC83.8080405@oracle.com> <51AE643E.8040506@oracle.com> <51AF01DB.8020903@oracle.com> <51B0A565.8020406@oracle.com> <51B0ADAE.6020606@oracle.com> Message-ID: <51B0EF4C.5030609@oracle.com> Is there any reason why isPrimitive() on the type representing Number (or any unboxable type, for that matter) would return true? Because if that's the case, and isSubtype handles unboxing, then it would explain why this code works for Boxed(T) == T style comparisons. On 06/06/13 11:41, Maurizio Cimadamore wrote: > Ok - thx for the clarification! > > Maurizio > > On 06/06/13 16:06, Eric McCorkle wrote: >> That's what I meant when I said it didn't work, sorry if I wasn't clear >> about it. The code in webrev.01 does work, though. So does the >> following code: >> >> public boolean isEqualityComparable(Type s, Type t, Warner warn) { >> boolean tPrimitive = t.isPrimitive(); >> boolean sPrimitive = s.isPrimitive(); >> if (tPrimitive && sPrimitive) { >> return isSubtype(s, t) || isSubtype(t, s); >> } else if (!tPrimitive && !sPrimitive) { >> return isCastable(s, t, warn) || isCastable(t, s, warn); >> } else >> return false; >> } >> >> I haven't posted a new webrev yet, though, as I want to understand *why* >> it works, and why the code with unboxedTypeOrType doesn't work. >> >> On 06/05/13 05:16, Maurizio Cimadamore wrote: >>> All versions I've seen so far are wrong in a way or another, so I would >>> not go back to a previous version. Have you tried the code I pasted in >>> my last email? >>> >>> Maurizio >>> >>> On 04/06/13 23:03, Eric McCorkle wrote: >>>> Actually that code doesn't work (it won't even get through a build). >>>> Any kind of null == Object comparison fails. Strangely, the code in >>>> webrev.02 seems to pass all the existing tests (including my new ones), >>>> which seems strange to me. >>>> >>>> I'll backpedal to webrev.01 and simplify it. But perhaps we ought to >>>> flag this part of the type checker for refactoring as well. >>>> >>>> On 06/04/13 06:08, Maurizio Cimadamore wrote: >>>>> On 03/06/13 20:38, Eric McCorkle wrote: >>>>>> Good suggestion, I've made the change (no new webrev, as it just >>>>>> reorders defs). >>>>>> >>>>>> Are there any more suggestions from anyone, or is this one good to >>>>>> go? >>>>> The code is wrong - I didn't realize when writing it on the review. >>>>> You >>>>> only do unboxing _after_ having checked that both types are >>>>> primitives - >>>>> so nothing can possibly happen. I have to say I'm a bit worried >>>>> that the >>>>> test you wrote didn't catch this (as well as the symmetry problems >>>>> with >>>>> the previous implementation). I'd focus on writing a better test first >>>>> and then tweaking the compiler code accordingly. Note that the test >>>>> can >>>>> be made much simpler by using the infrastructure for testing types >>>>> available in test/tools/javac/types (which will save you the hassle of >>>>> creating mini test cases when the only thing you are interested in is >>>>> whether a type is 'equality comparable' to another type). >>>>> >>>>> The right code for the test should be this: >>>>> >>>>> if (allowBoxing) { >>>>> s = unboxedTypeOrType(s); >>>>> t = unboxedTypeOrType(t); >>>>> } >>>>> >>>>> boolean tPrimitive = t.isPrimitive(); >>>>> boolean sPrimitive = s.isPrimitive(); >>>>> >>>>> if (tPrimitive && sPrimitive) { >>>>> return isSubtype(s, t) || isSubtype(t, s); >>>>> } else if (!tPrimitive && !sPrimitive) { >>>>> return isCastable(s, t, warn) || isCastable(t, s, warn); >>>>> } else { >>>>> return false; >>>>> } >>>>> >>>>> Maurizio >>>>>> On 06/03/13 14:22, Alex Buckley wrote: >>>>>>> In ObjectZeroCompare, I would just suggest having the *_name and >>>>>>> *_contents variables listed in the same order as the >>>>>>> assert_compile_* >>>>>>> invocations in run(). I think the most readable order is: Object, >>>>>>> Number, IntegerSuper, Uncastable, [Flips from failure to success >>>>>>> here] >>>>>>> Castable, Integer, etc [as you have it already]. >>>>>>> >>>>>>> Alex >>>>>>> >>>>>>> On 6/3/2013 11:11 AM, Eric McCorkle wrote: >>>>>>>> Forgot the URL on this. It's here: >>>>>>>> http://cr.openjdk.java.net/~emc/8013357/webrev.02/ >>>>>>>> >>>>>>>> On 06/01/13 08:28, Eric McCorkle wrote: >>>>>>>>> New webrev is up. I rolled back allowing Number == primitive >>>>>>>>> comparisons (I thought I'd rolled that back in the previous), >>>>>>>>> and I >>>>>>>>> implemented maurizio's suggested simpler comparison. I also >>>>>>>>> added a few >>>>>>>>> more test cases. >>>>>>>>> >>>>>>>>> JPRT's been a bit unreliable, but I'm getting clean runs. >>>>>>>>> >>>>>>>>> Please review and comment. >>>>>>>>> >>>>>>>>> On 05/30/13 05:03, Maurizio Cimadamore wrote: >>>>>>>>>> On 29/05/13 20:53, Eric McCorkle wrote: >>>>>>>>>>> Hello, >>>>>>>>>>> >>>>>>>>>>> Please review my latest patch for this problem. Since my >>>>>>>>>>> earlier >>>>>>>>>>> review >>>>>>>>>>> request, several things have happened: >>>>>>>>>>> >>>>>>>>>>> 1) A CCC has been submitted, reviewed (at length) and approved. >>>>>>>>>>> >>>>>>>>>>> 2) I've confirmed the correct behavior wrt object-primitive >>>>>>>>>>> comparisons. >>>>>>>>>>> >>>>>>>>>>> 3) I've fixed some errors in our tests, which would not compile >>>>>>>>>>> when >>>>>>>>>>> javac enforces the correct type rules. >>>>>>>>>>> >>>>>>>>>>> 4) This change has been flagged for a release note. >>>>>>>>>>> >>>>>>>>>>> The webrev is here: >>>>>>>>>>> http://cr.openjdk.java.net/~emc/8013357/webrev.01/ >>>>>>>>>> Hi, >>>>>>>>>> couple of comments: >>>>>>>>>> >>>>>>>>>> *) I would be wary of adding Number to the symtab which will load >>>>>>>>>> symbols eagerly; j.l.Number is not available on all platforms, >>>>>>>>>> so there >>>>>>>>>> will be issues when using javac in cross compilation environment, >>>>>>>>>> compiling against a J2ME rt.jar; the usual trick is to call >>>>>>>>>> Symbtab. >>>>>>>>>> synthesizeEmptyInterfaceIfMissing (see for other code in Symtab >>>>>>>>>> that >>>>>>>>>> does that for a reference). >>>>>>>>>> >>>>>>>>>> *) The logic for checking equality seems questionable/overly >>>>>>>>>> complex >>>>>>>>>> (expanded in meta code below): >>>>>>>>>> >>>>>>>>>> boolean isEqualityComparable (Type s, Type t) >>>>>>>>>> if () { >>>>>>>>>> return s <: t //1 >>>>>>>>>> } else if () { >>>>>>>>>> return s castable to t //2 >>>>>>>>>> } else if (source >= 1.5) { >>>>>>>>>> if () { >>>>>>>>>> return () ? >>>>>>>>> (unbox(s) <: >>>>>>>>>> t) //3 >>>>>>>>>> } else { >>>>>>>>>> return () ? >>>>>>>>> (unbox(t) <: >>>>>>>>>> s) //4 >>>>>>>>>> } >>>>>>>>>> } >>>>>>>>>> >>>>>>>>>> The first thing that strikes me is that in places (1, 2, 3, 4) >>>>>>>>>> we are >>>>>>>>>> not being symmetric; i.e. >>>>>>>>>> >>>>>>>>>> isEqualityComparable(int, long) = true >>>>>>>>>> isEqualityComparable(long, int) = false >>>>>>>>>> >>>>>>>>>> The second thing that worries me is that the spec says something >>>>>>>>>> like: >>>>>>>>>> >>>>>>>>>> *) if both are numeric (i.e. primitives) and one is >>>>>>>>>> convertible to >>>>>>>>>> numeric (i.e. unboxable), then a numeric comparison is performed >>>>>>>>>> >>>>>>>>>> I think this means that the code should do some check to see >>>>>>>>>> whether >>>>>>>>>> numeric comparison is applicable, (i.e. eventually unboxing) and >>>>>>>>>> then >>>>>>>>>> calling appropriate routine to do the comparison test. >>>>>>>>>> >>>>>>>>>> Also, restating a point raised by Alex, Number == primitive is >>>>>>>>>> not >>>>>>>>>> allowed as Number is not convertible to a numeric type; I >>>>>>>>>> think the >>>>>>>>>> test >>>>>>>>>> should be something like: >>>>>>>>>> >>>>>>>>>> boolean isEqualityComparable(Type s, Type t) >>>>>>>>>> if () { >>>>>>>>>> if (source >= 1.5) { >>>>>>>>>> s = types.unboxedTypeOrType(s); >>>>>>>>>> t = types.unboxedTypeOrType(t); >>>>>>>>>> } >>>>>>>>>> return s <: t || t <: s; >>>>>>>>>> } else if () { >>>>>>>>>> return (s castable to t) || (t castable to s); >>>>>>>>>> } >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> Maurizio >>>>>>>>>> > -------------- next part -------------- A non-text attachment was scrubbed... Name: eric_mccorkle.vcf Type: text/x-vcard Size: 314 bytes Desc: not available Url : http://mail.openjdk.java.net/pipermail/compiler-dev/attachments/20130606/7308f1d6/eric_mccorkle.vcf From mandy.chung at oracle.com Thu Jun 6 13:57:48 2013 From: mandy.chung at oracle.com (mandy.chung at oracle.com) Date: Thu, 06 Jun 2013 20:57:48 +0000 Subject: hg: jdk8/tl/jdk: 7032154: Performance tuning of sun.misc.FloatingDecimal/FormattedFloatingDecimal Message-ID: <20130606205815.24AEB48021@hg.openjdk.java.net> Changeset: 986793409b2b Author: bpb Date: 2013-06-05 21:01 -0700 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/986793409b2b 7032154: Performance tuning of sun.misc.FloatingDecimal/FormattedFloatingDecimal Summary: Performance improvements for double/float -> String and decimal/hex String -> double/float conversions. Reviewed-by: martin, iris Contributed-by: Sergey Kuksenko , Brian Burkhalter , Dmitry Nadezhin , Olivier Lagneau ! src/share/classes/java/lang/AbstractStringBuilder.java ! src/share/classes/java/lang/Double.java ! src/share/classes/java/lang/Float.java ! src/share/classes/java/text/DigitList.java ! src/share/classes/java/util/Formatter.java - src/share/classes/sun/misc/FDBigInt.java ! src/share/classes/sun/misc/FloatingDecimal.java ! src/share/classes/sun/misc/FormattedFloatingDecimal.java + test/sun/misc/FloatingDecimal/OldFDBigIntForTest.java + test/sun/misc/FloatingDecimal/OldFloatingDecimalForTest.java + test/sun/misc/FloatingDecimal/TestFDBigInteger.java + test/sun/misc/FloatingDecimal/TestFloatingDecimal.java From rob.mckenna at oracle.com Thu Jun 6 14:21:08 2013 From: rob.mckenna at oracle.com (rob.mckenna at oracle.com) Date: Thu, 06 Jun 2013 21:21:08 +0000 Subject: hg: jdk8/tl/jdk: 8016063: getFinalAttributes should use FindClose Message-ID: <20130606212129.CA1CB48027@hg.openjdk.java.net> Changeset: d28f802ce914 Author: robm Date: 2013-06-06 22:22 +0100 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/d28f802ce914 8016063: getFinalAttributes should use FindClose Reviewed-by: alanb ! src/windows/native/java/io/WinNTFileSystem_md.c From huizhe.wang at oracle.com Thu Jun 6 15:04:26 2013 From: huizhe.wang at oracle.com (huizhe.wang at oracle.com) Date: Thu, 06 Jun 2013 22:04:26 +0000 Subject: hg: jdk8/tl/jaxp: 8015016: Improve JAXP 1.5 error message Message-ID: <20130606220431.05D2D48028@hg.openjdk.java.net> Changeset: c2957e596bee Author: joehw Date: 2013-06-06 15:03 -0700 URL: http://hg.openjdk.java.net/jdk8/tl/jaxp/rev/c2957e596bee 8015016: Improve JAXP 1.5 error message Reviewed-by: lancea ! src/com/sun/org/apache/xalan/internal/xsltc/compiler/util/ErrorMessages.java ! src/com/sun/org/apache/xerces/internal/impl/msg/XMLMessages.properties ! src/com/sun/org/apache/xerces/internal/impl/msg/XMLMessages_de.properties ! src/com/sun/org/apache/xerces/internal/impl/msg/XMLMessages_es.properties ! src/com/sun/org/apache/xerces/internal/impl/msg/XMLMessages_fr.properties ! src/com/sun/org/apache/xerces/internal/impl/msg/XMLMessages_it.properties ! src/com/sun/org/apache/xerces/internal/impl/msg/XMLMessages_ja.properties ! src/com/sun/org/apache/xerces/internal/impl/msg/XMLMessages_ko.properties ! src/com/sun/org/apache/xerces/internal/impl/msg/XMLMessages_pt_BR.properties ! src/com/sun/org/apache/xerces/internal/impl/msg/XMLMessages_sv.properties ! src/com/sun/org/apache/xerces/internal/impl/msg/XMLMessages_zh_CN.properties ! src/com/sun/org/apache/xerces/internal/impl/msg/XMLMessages_zh_TW.properties ! src/com/sun/org/apache/xerces/internal/impl/msg/XMLSchemaMessages.properties From mandy.chung at oracle.com Thu Jun 6 16:46:20 2013 From: mandy.chung at oracle.com (mandy.chung at oracle.com) Date: Thu, 06 Jun 2013 23:46:20 +0000 Subject: hg: jdk8/tl/jdk: 8016117: New sun.misc.FDBigInteger class as part of 7032154 Message-ID: <20130606234717.5A0624802F@hg.openjdk.java.net> Changeset: f5f54e493a64 Author: bpb Date: 2013-06-06 16:45 -0700 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/f5f54e493a64 8016117: New sun.misc.FDBigInteger class as part of 7032154 Reviewed-by: martin, iris Contributed-by: Sergey Kuksenko , Brian Burkhalter , Dmitry Nadezhin , Olivier Lagneau + src/share/classes/sun/misc/FDBigInteger.java From david.holmes at oracle.com Fri Jun 7 00:53:06 2013 From: david.holmes at oracle.com (David Holmes) Date: Fri, 07 Jun 2013 17:53:06 +1000 Subject: Is there a better way to throw this exception? In-Reply-To: <51B0A348.70805@gmail.com> References: <51B0599D.4020906@oracle.com> <51B0A348.70805@gmail.com> Message-ID: <51B19162.9010809@oracle.com> Peter, On 7/06/2013 12:57 AM, Peter Levart wrote: > On 06/06/2013 11:42 AM, Weijun Wang wrote: >> Hi All >> >> I have a method that could throw two kinds of checked exceptions and >> possibly other unchecked ones: >> >> void once() throws One, Two >> >> Now I have a wrapper method that calls once() for multiple times, and >> want to throw the first exception if *all* fails. Now it looks like >> >> void multiple() throws One, Two { >> Exception saved = null; >> for (all chances) { >> try { >> once(); >> return; >> } catch (Exception e) { >> if (saved != null) saved = e; >> } >> } >> if (saved instanceof One) { >> throw (One)saved; >> } else if (saved instanceof One) { >> throw (Two)saved; >> } else if (saved instanceof RuntimeException) { >> throw (RuntimeException)saved; >> } else { >> // Not likely, but I've already wrote so many lines. >> throw new RuntimeException(saved); >> } >> } >> >> Is there any way I can make it shorter? > > Hi Max, > > If you don't mind re-throwing the last exception thrown instead of the > first and you can transform your for loop into a while loop, for example: > > void multiple() throws One, Two { > int tries = 10; > int i = 0; > while (true) { > try { > once(); > return; > } catch (Exception e) { > if (++i >= tries) { > throw e; > } > } > } > } > > > ...otherwise you can re-throw the first exception if you can extract the > first loop iteration out of the loop: > > > void multiple() throws One, Two { > try { > once(); // first chance > return; > } catch (Exception e) { > for (rest of chances) { > try { > once(); > return; > } > catch (Exception ignore) {} > } > throw e; > } > } But the first call need not throw. David ----- > > Regards, Peter > >> >> Thanks >> Max > From masayoshi.okutsu at oracle.com Fri Jun 7 01:07:54 2013 From: masayoshi.okutsu at oracle.com (masayoshi.okutsu at oracle.com) Date: Fri, 07 Jun 2013 08:07:54 +0000 Subject: hg: jdk8/tl/jdk: 7177315: SimpleDateFormat parses wrong 2-digit year if input contains spaces Message-ID: <20130607080817.D7B4C4806B@hg.openjdk.java.net> Changeset: 6975eea0b458 Author: okutsu Date: 2013-06-07 17:07 +0900 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/6975eea0b458 7177315: SimpleDateFormat parses wrong 2-digit year if input contains spaces Reviewed-by: peytoia ! src/share/classes/java/text/SimpleDateFormat.java + test/java/text/Format/DateFormat/Bug7177315.java From masayoshi.okutsu at oracle.com Fri Jun 7 01:38:03 2013 From: masayoshi.okutsu at oracle.com (masayoshi.okutsu at oracle.com) Date: Fri, 07 Jun 2013 08:38:03 +0000 Subject: hg: jdk8/tl/jdk: 7064270: java/text/Format/DateFormat/WeekDateTest.java fails on OEL5.6 hi_IN.UTF-8 Message-ID: <20130607083817.4D4F148072@hg.openjdk.java.net> Changeset: a286ed046116 Author: okutsu Date: 2013-06-07 17:37 +0900 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/a286ed046116 7064270: java/text/Format/DateFormat/WeekDateTest.java fails on OEL5.6 hi_IN.UTF-8 Reviewed-by: peytoia ! test/java/text/Format/DateFormat/WeekDateTest.java From paul.sandoz at oracle.com Fri Jun 7 02:04:22 2013 From: paul.sandoz at oracle.com (Paul Sandoz) Date: Fri, 7 Jun 2013 11:04:22 +0200 Subject: RFR 8016139: PrimitiveIterator.forEachRemaining Message-ID: <36BDCF16-44EF-47C9-9331-1C42A21CB279@oracle.com> Hi, The following patch defines the abstract method PrimitiveIterator.forEachRemaining. This is now consistent with Spliterator.OfPrimitive and there may be cases in the future where this is useful and if we don't do it now it becomes difficult to do so later on. http://cr.openjdk.java.net/~psandoz/tl/JDK-8016139-primIter.forEachRem/webrev/ CCC is in progress. Paul. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/compiler-dev/attachments/20130607/7fd0cb7c/attachment.html From paul.sandoz at oracle.com Fri Jun 7 02:17:16 2013 From: paul.sandoz at oracle.com (Paul Sandoz) Date: Fri, 7 Jun 2013 11:17:16 +0200 Subject: RFR 8016139: PrimitiveIterator.forEachRemaining In-Reply-To: <36BDCF16-44EF-47C9-9331-1C42A21CB279@oracle.com> References: <36BDCF16-44EF-47C9-9331-1C42A21CB279@oracle.com> Message-ID: <840F1EE9-F208-4859-9881-805CAE754DE8@oracle.com> Opps, please ignore, that was intended for core-libs. Damn email address auto-complete... On Jun 7, 2013, at 11:04 AM, Paul Sandoz wrote: > Hi, > > The following patch defines the abstract method PrimitiveIterator.forEachRemaining. This is now consistent with Spliterator.OfPrimitive and there may be cases in the future where this is useful and if we don't do it now it becomes difficult to do so later on. > > http://cr.openjdk.java.net/~psandoz/tl/JDK-8016139-primIter.forEachRem/webrev/ > > CCC is in progress. > > Paul. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/compiler-dev/attachments/20130607/632e5bd6/attachment.html From maurizio.cimadamore at oracle.com Fri Jun 7 03:29:08 2013 From: maurizio.cimadamore at oracle.com (Maurizio Cimadamore) Date: Fri, 07 Jun 2013 11:29:08 +0100 Subject: Review request for JDK-8013357: Javac accepts erroneous binary comparison operations In-Reply-To: <51B0EF4C.5030609@oracle.com> References: <51A65CAD.5020905@oracle.com> <51A715F4.2040709@oracle.com> <51A9E8E3.2010706@oracle.com> <51ACDC4A.3070500@oracle.com> <51ACDEED.5080709@oracle.com> <51ACF0A4.2000606@oracle.com> <51ADBC83.8080405@oracle.com> <51AE643E.8040506@oracle.com> <51AF01DB.8020903@oracle.com> <51B0A565.8020406@oracle.com> <51B0ADAE.6020606@oracle.com> <51B0EF4C.5030609@oracle.com> Message-ID: <51B1B5F4.6090200@oracle.com> On 06/06/13 21:21, Eric McCorkle wrote: > Is there any reason why isPrimitive() on the type representing Number > (or any unboxable type, for that matter) would return true? Because if > that's the case, and isSubtype handles unboxing, then it would explain > why this code works for Boxed(T) == T style comparisons. Nope - isPrimitive should only take the type tag and compare it with the primitive tags. Number, Integer etc. have tag CLASS, which is not covered. Maurizio > > On 06/06/13 11:41, Maurizio Cimadamore wrote: >> Ok - thx for the clarification! >> >> Maurizio >> >> On 06/06/13 16:06, Eric McCorkle wrote: >>> That's what I meant when I said it didn't work, sorry if I wasn't clear >>> about it. The code in webrev.01 does work, though. So does the >>> following code: >>> >>> public boolean isEqualityComparable(Type s, Type t, Warner warn) { >>> boolean tPrimitive = t.isPrimitive(); >>> boolean sPrimitive = s.isPrimitive(); >>> if (tPrimitive && sPrimitive) { >>> return isSubtype(s, t) || isSubtype(t, s); >>> } else if (!tPrimitive && !sPrimitive) { >>> return isCastable(s, t, warn) || isCastable(t, s, warn); >>> } else >>> return false; >>> } >>> >>> I haven't posted a new webrev yet, though, as I want to understand *why* >>> it works, and why the code with unboxedTypeOrType doesn't work. >>> >>> On 06/05/13 05:16, Maurizio Cimadamore wrote: >>>> All versions I've seen so far are wrong in a way or another, so I would >>>> not go back to a previous version. Have you tried the code I pasted in >>>> my last email? >>>> >>>> Maurizio >>>> >>>> On 04/06/13 23:03, Eric McCorkle wrote: >>>>> Actually that code doesn't work (it won't even get through a build). >>>>> Any kind of null == Object comparison fails. Strangely, the code in >>>>> webrev.02 seems to pass all the existing tests (including my new ones), >>>>> which seems strange to me. >>>>> >>>>> I'll backpedal to webrev.01 and simplify it. But perhaps we ought to >>>>> flag this part of the type checker for refactoring as well. >>>>> >>>>> On 06/04/13 06:08, Maurizio Cimadamore wrote: >>>>>> On 03/06/13 20:38, Eric McCorkle wrote: >>>>>>> Good suggestion, I've made the change (no new webrev, as it just >>>>>>> reorders defs). >>>>>>> >>>>>>> Are there any more suggestions from anyone, or is this one good to >>>>>>> go? >>>>>> The code is wrong - I didn't realize when writing it on the review. >>>>>> You >>>>>> only do unboxing _after_ having checked that both types are >>>>>> primitives - >>>>>> so nothing can possibly happen. I have to say I'm a bit worried >>>>>> that the >>>>>> test you wrote didn't catch this (as well as the symmetry problems >>>>>> with >>>>>> the previous implementation). I'd focus on writing a better test first >>>>>> and then tweaking the compiler code accordingly. Note that the test >>>>>> can >>>>>> be made much simpler by using the infrastructure for testing types >>>>>> available in test/tools/javac/types (which will save you the hassle of >>>>>> creating mini test cases when the only thing you are interested in is >>>>>> whether a type is 'equality comparable' to another type). >>>>>> >>>>>> The right code for the test should be this: >>>>>> >>>>>> if (allowBoxing) { >>>>>> s = unboxedTypeOrType(s); >>>>>> t = unboxedTypeOrType(t); >>>>>> } >>>>>> >>>>>> boolean tPrimitive = t.isPrimitive(); >>>>>> boolean sPrimitive = s.isPrimitive(); >>>>>> >>>>>> if (tPrimitive && sPrimitive) { >>>>>> return isSubtype(s, t) || isSubtype(t, s); >>>>>> } else if (!tPrimitive && !sPrimitive) { >>>>>> return isCastable(s, t, warn) || isCastable(t, s, warn); >>>>>> } else { >>>>>> return false; >>>>>> } >>>>>> >>>>>> Maurizio >>>>>>> On 06/03/13 14:22, Alex Buckley wrote: >>>>>>>> In ObjectZeroCompare, I would just suggest having the *_name and >>>>>>>> *_contents variables listed in the same order as the >>>>>>>> assert_compile_* >>>>>>>> invocations in run(). I think the most readable order is: Object, >>>>>>>> Number, IntegerSuper, Uncastable, [Flips from failure to success >>>>>>>> here] >>>>>>>> Castable, Integer, etc [as you have it already]. >>>>>>>> >>>>>>>> Alex >>>>>>>> >>>>>>>> On 6/3/2013 11:11 AM, Eric McCorkle wrote: >>>>>>>>> Forgot the URL on this. It's here: >>>>>>>>> http://cr.openjdk.java.net/~emc/8013357/webrev.02/ >>>>>>>>> >>>>>>>>> On 06/01/13 08:28, Eric McCorkle wrote: >>>>>>>>>> New webrev is up. I rolled back allowing Number == primitive >>>>>>>>>> comparisons (I thought I'd rolled that back in the previous), >>>>>>>>>> and I >>>>>>>>>> implemented maurizio's suggested simpler comparison. I also >>>>>>>>>> added a few >>>>>>>>>> more test cases. >>>>>>>>>> >>>>>>>>>> JPRT's been a bit unreliable, but I'm getting clean runs. >>>>>>>>>> >>>>>>>>>> Please review and comment. >>>>>>>>>> >>>>>>>>>> On 05/30/13 05:03, Maurizio Cimadamore wrote: >>>>>>>>>>> On 29/05/13 20:53, Eric McCorkle wrote: >>>>>>>>>>>> Hello, >>>>>>>>>>>> >>>>>>>>>>>> Please review my latest patch for this problem. Since my >>>>>>>>>>>> earlier >>>>>>>>>>>> review >>>>>>>>>>>> request, several things have happened: >>>>>>>>>>>> >>>>>>>>>>>> 1) A CCC has been submitted, reviewed (at length) and approved. >>>>>>>>>>>> >>>>>>>>>>>> 2) I've confirmed the correct behavior wrt object-primitive >>>>>>>>>>>> comparisons. >>>>>>>>>>>> >>>>>>>>>>>> 3) I've fixed some errors in our tests, which would not compile >>>>>>>>>>>> when >>>>>>>>>>>> javac enforces the correct type rules. >>>>>>>>>>>> >>>>>>>>>>>> 4) This change has been flagged for a release note. >>>>>>>>>>>> >>>>>>>>>>>> The webrev is here: >>>>>>>>>>>> http://cr.openjdk.java.net/~emc/8013357/webrev.01/ >>>>>>>>>>> Hi, >>>>>>>>>>> couple of comments: >>>>>>>>>>> >>>>>>>>>>> *) I would be wary of adding Number to the symtab which will load >>>>>>>>>>> symbols eagerly; j.l.Number is not available on all platforms, >>>>>>>>>>> so there >>>>>>>>>>> will be issues when using javac in cross compilation environment, >>>>>>>>>>> compiling against a J2ME rt.jar; the usual trick is to call >>>>>>>>>>> Symbtab. >>>>>>>>>>> synthesizeEmptyInterfaceIfMissing (see for other code in Symtab >>>>>>>>>>> that >>>>>>>>>>> does that for a reference). >>>>>>>>>>> >>>>>>>>>>> *) The logic for checking equality seems questionable/overly >>>>>>>>>>> complex >>>>>>>>>>> (expanded in meta code below): >>>>>>>>>>> >>>>>>>>>>> boolean isEqualityComparable (Type s, Type t) >>>>>>>>>>> if () { >>>>>>>>>>> return s <: t //1 >>>>>>>>>>> } else if () { >>>>>>>>>>> return s castable to t //2 >>>>>>>>>>> } else if (source >= 1.5) { >>>>>>>>>>> if () { >>>>>>>>>>> return () ? >>>>>>>>>> (unbox(s) <: >>>>>>>>>>> t) //3 >>>>>>>>>>> } else { >>>>>>>>>>> return () ? >>>>>>>>>> (unbox(t) <: >>>>>>>>>>> s) //4 >>>>>>>>>>> } >>>>>>>>>>> } >>>>>>>>>>> >>>>>>>>>>> The first thing that strikes me is that in places (1, 2, 3, 4) >>>>>>>>>>> we are >>>>>>>>>>> not being symmetric; i.e. >>>>>>>>>>> >>>>>>>>>>> isEqualityComparable(int, long) = true >>>>>>>>>>> isEqualityComparable(long, int) = false >>>>>>>>>>> >>>>>>>>>>> The second thing that worries me is that the spec says something >>>>>>>>>>> like: >>>>>>>>>>> >>>>>>>>>>> *) if both are numeric (i.e. primitives) and one is >>>>>>>>>>> convertible to >>>>>>>>>>> numeric (i.e. unboxable), then a numeric comparison is performed >>>>>>>>>>> >>>>>>>>>>> I think this means that the code should do some check to see >>>>>>>>>>> whether >>>>>>>>>>> numeric comparison is applicable, (i.e. eventually unboxing) and >>>>>>>>>>> then >>>>>>>>>>> calling appropriate routine to do the comparison test. >>>>>>>>>>> >>>>>>>>>>> Also, restating a point raised by Alex, Number == primitive is >>>>>>>>>>> not >>>>>>>>>>> allowed as Number is not convertible to a numeric type; I >>>>>>>>>>> think the >>>>>>>>>>> test >>>>>>>>>>> should be something like: >>>>>>>>>>> >>>>>>>>>>> boolean isEqualityComparable(Type s, Type t) >>>>>>>>>>> if () { >>>>>>>>>>> if (source >= 1.5) { >>>>>>>>>>> s = types.unboxedTypeOrType(s); >>>>>>>>>>> t = types.unboxedTypeOrType(t); >>>>>>>>>>> } >>>>>>>>>>> return s <: t || t <: s; >>>>>>>>>>> } else if () { >>>>>>>>>>> return (s castable to t) || (t castable to s); >>>>>>>>>>> } >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> Maurizio >>>>>>>>>>> From erik.joelsson at oracle.com Fri Jun 7 04:08:44 2013 From: erik.joelsson at oracle.com (Erik Joelsson) Date: Fri, 07 Jun 2013 13:08:44 +0200 Subject: RFR: 8014513: Sjavac doesn't detect 32-bit jvm properly In-Reply-To: <51AF8637.9060709@oracle.com> References: <51AF4A2B.3010508@oracle.com> <51AF85A2.3010108@oracle.com> <51AF8637.9060709@oracle.com> Message-ID: <51B1BF3C.3000601@oracle.com> On 2013-06-05 20:40, Jonathan Gibbons wrote: > On 06/05/2013 11:38 AM, Jonathan Gibbons wrote: >> On 06/05/2013 07:24 AM, Erik Joelsson wrote: >>> Hello, >>> >>> Here is a small patch fixing a problem with sjavac. Sjavac tries to >>> be smart about sizing itself to no run out of memory. The logic for >>> figuring out if it's running on a 32 or 64bit jvm is rather crude >>> and misses on several platforms. This patch makes the code more robust. >>> >>> Fixing this issue is a requirement to get sjavac to work well on all >>> platforms in jprt. >>> >>> Bug: http://bugs.sun.com/view_bug.do?bug_id=8014513 >>> >>> Webrev: http://cr.openjdk.java.net/~erikj/8014513/webrev.langtools.01/ >>> >>> /Erik >> >> Erik, >> >> It's OK, but I think it would be better if there was a back door to >> override the default value. That would also partially address the >> comment in the bug about sjavac looking at the wrong JVM -- it's >> using the client process, not the server process. >> >> If you push it as is, I suggest you file a followup bug for further >> improvements. >> >> -- Jon > > Erik, > > The code might also look better if you used a Set for 32 bit > values, and tested for set.contains(dataModel), or if not that, the > use a strings-in-switch statement. > Perhaps I'm missing something or I'm not familiar enough with newer features in the language, but I can't get initialization of a set of 3 Strings to feel more readable and less clumsy than the list of logical ORs. The problem with going switch is that there are two different Strings being tested. Thinking on this some more, I think I was mistaken. We don't need to test for both arch and data model. I was just assuming that "sun.arch.data.model" might not be as reliable as "os.arch". On the other hand, the heuristics here are rather specific to using hotspot and open/oraclejdk, so for all practical cases, using sun.arch.data.model should be safe. New webrev using just data.model: http://cr.openjdk.java.net/~erikj/8014513/webrev.langtools.02/ It would be good to provide hooks to control this behavior of sjavac. Will file a followup bug for that. /Erik > -- Jon From erik.joelsson at oracle.com Fri Jun 7 05:43:38 2013 From: erik.joelsson at oracle.com (Erik Joelsson) Date: Fri, 07 Jun 2013 14:43:38 +0200 Subject: RFR: 8015145: Smartjavac needs more flexibility with linking to sources Message-ID: <51B1D57A.3030305@oracle.com> Here is a patch solving a problem with -sourcepath for sjavac. First some background. The security sources (the ones that require signing) need to be built to a separate directory. If they aren't (as is the case now) security tests will fail if run on the exploded jdk image (the one you get when just typing make or make jdk). In JDK-8009280, I'm trying to fix this. The solution I have for that bug is working well, except when running with sjavac, and basically builds all classes except the security classes first to the normal outputdir and then as a separate step builds just the security classes to a different outputdir. There are two issues that need to be addressed in sjavac for this to work. First, it needs to be possible to supply the same source root both to the -src and -sourcepath option (but with different filter rules). Sjavac is very picky and only links to sources that are included in either of those options, and since we are excluding the security sources from -src, we need to add them to -sourcepath. The second thing is more of a bug as far as I can tell. Sjavac compares the found set of sources to compile with what the makefile think needs to be compiled, as a safety check. Currently, sjavac is including sources that are just being linked to in this comparison. I would think that it should only include sources that are meant to be compiled. http://cr.openjdk.java.net/~erikj/8015145/webrev.langtools.01/ http://bugs.sun.com/view_bug.do?bug_id=8015145 /Erik From eric.mccorkle at oracle.com Fri Jun 7 08:27:49 2013 From: eric.mccorkle at oracle.com (Eric McCorkle) Date: Fri, 07 Jun 2013 11:27:49 -0400 Subject: Review request for JDK-8013357: Javac accepts erroneous binary comparison operations In-Reply-To: <51B1B5F4.6090200@oracle.com> References: <51A65CAD.5020905@oracle.com> <51A715F4.2040709@oracle.com> <51A9E8E3.2010706@oracle.com> <51ACDC4A.3070500@oracle.com> <51ACDEED.5080709@oracle.com> <51ACF0A4.2000606@oracle.com> <51ADBC83.8080405@oracle.com> <51AE643E.8040506@oracle.com> <51AF01DB.8020903@oracle.com> <51B0A565.8020406@oracle.com> <51B0ADAE.6020606@oracle.com> <51B0EF4C.5030609@oracle.com> <51B1B5F4.6090200@oracle.com> Message-ID: <51B1FBF5.2060700@oracle.com> Ok, I got it now... That code works because it never sees Boxed(T) == T comparisons. Back in Attr, when it decides which opcode to use, it does the boxing and unboxing. So say, Integer == int will get if_icmpeq, whereas object comparisons will get if_acmpeq. It only calls isEqualityComparable when the comparison is for if_acmpeq, so isEqualityComparable never sees primitive == primitive or Boxed(T) == T comparisons at all. I posted a new webrev with isEqualityComparable slimmed down to not do primitive == primitive comparisons, expanded comments, and some extra tests. On 06/07/13 06:29, Maurizio Cimadamore wrote: > On 06/06/13 21:21, Eric McCorkle wrote: >> Is there any reason why isPrimitive() on the type representing Number >> (or any unboxable type, for that matter) would return true? Because if >> that's the case, and isSubtype handles unboxing, then it would explain >> why this code works for Boxed(T) == T style comparisons. > Nope - isPrimitive should only take the type tag and compare it with the > primitive tags. Number, Integer etc. have tag CLASS, which is not covered. > > Maurizio >> >> On 06/06/13 11:41, Maurizio Cimadamore wrote: >>> Ok - thx for the clarification! >>> >>> Maurizio >>> >>> On 06/06/13 16:06, Eric McCorkle wrote: >>>> That's what I meant when I said it didn't work, sorry if I wasn't clear >>>> about it. The code in webrev.01 does work, though. So does the >>>> following code: >>>> >>>> public boolean isEqualityComparable(Type s, Type t, Warner >>>> warn) { >>>> boolean tPrimitive = t.isPrimitive(); >>>> boolean sPrimitive = s.isPrimitive(); >>>> if (tPrimitive && sPrimitive) { >>>> return isSubtype(s, t) || isSubtype(t, s); >>>> } else if (!tPrimitive && !sPrimitive) { >>>> return isCastable(s, t, warn) || isCastable(t, s, warn); >>>> } else >>>> return false; >>>> } >>>> >>>> I haven't posted a new webrev yet, though, as I want to understand >>>> *why* >>>> it works, and why the code with unboxedTypeOrType doesn't work. >>>> >>>> On 06/05/13 05:16, Maurizio Cimadamore wrote: >>>>> All versions I've seen so far are wrong in a way or another, so I >>>>> would >>>>> not go back to a previous version. Have you tried the code I pasted in >>>>> my last email? >>>>> >>>>> Maurizio >>>>> >>>>> On 04/06/13 23:03, Eric McCorkle wrote: >>>>>> Actually that code doesn't work (it won't even get through a build). >>>>>> Any kind of null == Object comparison fails. Strangely, the code in >>>>>> webrev.02 seems to pass all the existing tests (including my new >>>>>> ones), >>>>>> which seems strange to me. >>>>>> >>>>>> I'll backpedal to webrev.01 and simplify it. But perhaps we ought to >>>>>> flag this part of the type checker for refactoring as well. >>>>>> >>>>>> On 06/04/13 06:08, Maurizio Cimadamore wrote: >>>>>>> On 03/06/13 20:38, Eric McCorkle wrote: >>>>>>>> Good suggestion, I've made the change (no new webrev, as it just >>>>>>>> reorders defs). >>>>>>>> >>>>>>>> Are there any more suggestions from anyone, or is this one good to >>>>>>>> go? >>>>>>> The code is wrong - I didn't realize when writing it on the review. >>>>>>> You >>>>>>> only do unboxing _after_ having checked that both types are >>>>>>> primitives - >>>>>>> so nothing can possibly happen. I have to say I'm a bit worried >>>>>>> that the >>>>>>> test you wrote didn't catch this (as well as the symmetry problems >>>>>>> with >>>>>>> the previous implementation). I'd focus on writing a better test >>>>>>> first >>>>>>> and then tweaking the compiler code accordingly. Note that the test >>>>>>> can >>>>>>> be made much simpler by using the infrastructure for testing types >>>>>>> available in test/tools/javac/types (which will save you the >>>>>>> hassle of >>>>>>> creating mini test cases when the only thing you are interested >>>>>>> in is >>>>>>> whether a type is 'equality comparable' to another type). >>>>>>> >>>>>>> The right code for the test should be this: >>>>>>> >>>>>>> if (allowBoxing) { >>>>>>> s = unboxedTypeOrType(s); >>>>>>> t = unboxedTypeOrType(t); >>>>>>> } >>>>>>> >>>>>>> boolean tPrimitive = t.isPrimitive(); >>>>>>> boolean sPrimitive = s.isPrimitive(); >>>>>>> >>>>>>> if (tPrimitive && sPrimitive) { >>>>>>> return isSubtype(s, t) || isSubtype(t, s); >>>>>>> } else if (!tPrimitive && !sPrimitive) { >>>>>>> return isCastable(s, t, warn) || isCastable(t, s, warn); >>>>>>> } else { >>>>>>> return false; >>>>>>> } >>>>>>> >>>>>>> Maurizio >>>>>>>> On 06/03/13 14:22, Alex Buckley wrote: >>>>>>>>> In ObjectZeroCompare, I would just suggest having the *_name and >>>>>>>>> *_contents variables listed in the same order as the >>>>>>>>> assert_compile_* >>>>>>>>> invocations in run(). I think the most readable order is: Object, >>>>>>>>> Number, IntegerSuper, Uncastable, [Flips from failure to success >>>>>>>>> here] >>>>>>>>> Castable, Integer, etc [as you have it already]. >>>>>>>>> >>>>>>>>> Alex >>>>>>>>> >>>>>>>>> On 6/3/2013 11:11 AM, Eric McCorkle wrote: >>>>>>>>>> Forgot the URL on this. It's here: >>>>>>>>>> http://cr.openjdk.java.net/~emc/8013357/webrev.02/ >>>>>>>>>> >>>>>>>>>> On 06/01/13 08:28, Eric McCorkle wrote: >>>>>>>>>>> New webrev is up. I rolled back allowing Number == primitive >>>>>>>>>>> comparisons (I thought I'd rolled that back in the previous), >>>>>>>>>>> and I >>>>>>>>>>> implemented maurizio's suggested simpler comparison. I also >>>>>>>>>>> added a few >>>>>>>>>>> more test cases. >>>>>>>>>>> >>>>>>>>>>> JPRT's been a bit unreliable, but I'm getting clean runs. >>>>>>>>>>> >>>>>>>>>>> Please review and comment. >>>>>>>>>>> >>>>>>>>>>> On 05/30/13 05:03, Maurizio Cimadamore wrote: >>>>>>>>>>>> On 29/05/13 20:53, Eric McCorkle wrote: >>>>>>>>>>>>> Hello, >>>>>>>>>>>>> >>>>>>>>>>>>> Please review my latest patch for this problem. Since my >>>>>>>>>>>>> earlier >>>>>>>>>>>>> review >>>>>>>>>>>>> request, several things have happened: >>>>>>>>>>>>> >>>>>>>>>>>>> 1) A CCC has been submitted, reviewed (at length) and >>>>>>>>>>>>> approved. >>>>>>>>>>>>> >>>>>>>>>>>>> 2) I've confirmed the correct behavior wrt object-primitive >>>>>>>>>>>>> comparisons. >>>>>>>>>>>>> >>>>>>>>>>>>> 3) I've fixed some errors in our tests, which would not >>>>>>>>>>>>> compile >>>>>>>>>>>>> when >>>>>>>>>>>>> javac enforces the correct type rules. >>>>>>>>>>>>> >>>>>>>>>>>>> 4) This change has been flagged for a release note. >>>>>>>>>>>>> >>>>>>>>>>>>> The webrev is here: >>>>>>>>>>>>> http://cr.openjdk.java.net/~emc/8013357/webrev.01/ >>>>>>>>>>>> Hi, >>>>>>>>>>>> couple of comments: >>>>>>>>>>>> >>>>>>>>>>>> *) I would be wary of adding Number to the symtab which will >>>>>>>>>>>> load >>>>>>>>>>>> symbols eagerly; j.l.Number is not available on all platforms, >>>>>>>>>>>> so there >>>>>>>>>>>> will be issues when using javac in cross compilation >>>>>>>>>>>> environment, >>>>>>>>>>>> compiling against a J2ME rt.jar; the usual trick is to call >>>>>>>>>>>> Symbtab. >>>>>>>>>>>> synthesizeEmptyInterfaceIfMissing (see for other code in Symtab >>>>>>>>>>>> that >>>>>>>>>>>> does that for a reference). >>>>>>>>>>>> >>>>>>>>>>>> *) The logic for checking equality seems questionable/overly >>>>>>>>>>>> complex >>>>>>>>>>>> (expanded in meta code below): >>>>>>>>>>>> >>>>>>>>>>>> boolean isEqualityComparable (Type s, Type t) >>>>>>>>>>>> if () { >>>>>>>>>>>> return s <: t //1 >>>>>>>>>>>> } else if () { >>>>>>>>>>>> return s castable to t //2 >>>>>>>>>>>> } else if (source >= 1.5) { >>>>>>>>>>>> if () { >>>>>>>>>>>> return () ? >>>>>>>>>>> (unbox(s) <: >>>>>>>>>>>> t) //3 >>>>>>>>>>>> } else { >>>>>>>>>>>> return () ? >>>>>>>>>>> (unbox(t) <: >>>>>>>>>>>> s) //4 >>>>>>>>>>>> } >>>>>>>>>>>> } >>>>>>>>>>>> >>>>>>>>>>>> The first thing that strikes me is that in places (1, 2, 3, 4) >>>>>>>>>>>> we are >>>>>>>>>>>> not being symmetric; i.e. >>>>>>>>>>>> >>>>>>>>>>>> isEqualityComparable(int, long) = true >>>>>>>>>>>> isEqualityComparable(long, int) = false >>>>>>>>>>>> >>>>>>>>>>>> The second thing that worries me is that the spec says >>>>>>>>>>>> something >>>>>>>>>>>> like: >>>>>>>>>>>> >>>>>>>>>>>> *) if both are numeric (i.e. primitives) and one is >>>>>>>>>>>> convertible to >>>>>>>>>>>> numeric (i.e. unboxable), then a numeric comparison is >>>>>>>>>>>> performed >>>>>>>>>>>> >>>>>>>>>>>> I think this means that the code should do some check to see >>>>>>>>>>>> whether >>>>>>>>>>>> numeric comparison is applicable, (i.e. eventually unboxing) >>>>>>>>>>>> and >>>>>>>>>>>> then >>>>>>>>>>>> calling appropriate routine to do the comparison test. >>>>>>>>>>>> >>>>>>>>>>>> Also, restating a point raised by Alex, Number == primitive is >>>>>>>>>>>> not >>>>>>>>>>>> allowed as Number is not convertible to a numeric type; I >>>>>>>>>>>> think the >>>>>>>>>>>> test >>>>>>>>>>>> should be something like: >>>>>>>>>>>> >>>>>>>>>>>> boolean isEqualityComparable(Type s, Type t) >>>>>>>>>>>> if () { >>>>>>>>>>>> if (source >= 1.5) { >>>>>>>>>>>> s = types.unboxedTypeOrType(s); >>>>>>>>>>>> t = types.unboxedTypeOrType(t); >>>>>>>>>>>> } >>>>>>>>>>>> return s <: t || t <: s; >>>>>>>>>>>> } else if () { >>>>>>>>>>>> return (s castable to t) || (t castable to s); >>>>>>>>>>>> } >>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>>> Maurizio >>>>>>>>>>>> > -------------- next part -------------- A non-text attachment was scrubbed... Name: eric_mccorkle.vcf Type: text/x-vcard Size: 314 bytes Desc: not available Url : http://mail.openjdk.java.net/pipermail/compiler-dev/attachments/20130607/10651fa6/eric_mccorkle-0001.vcf From maurizio.cimadamore at oracle.com Fri Jun 7 08:41:02 2013 From: maurizio.cimadamore at oracle.com (Maurizio Cimadamore) Date: Fri, 07 Jun 2013 16:41:02 +0100 Subject: Review request for JDK-8013357: Javac accepts erroneous binary comparison operations In-Reply-To: <51B1FBF5.2060700@oracle.com> References: <51A65CAD.5020905@oracle.com> <51A715F4.2040709@oracle.com> <51A9E8E3.2010706@oracle.com> <51ACDC4A.3070500@oracle.com> <51ACDEED.5080709@oracle.com> <51ACF0A4.2000606@oracle.com> <51ADBC83.8080405@oracle.com> <51AE643E.8040506@oracle.com> <51AF01DB.8020903@oracle.com> <51B0A565.8020406@oracle.com> <51B0ADAE.6020606@oracle.com> <51B0EF4C.5030609@oracle.com> <51B1B5F4.6090200@oracle.com> <51B1FBF5.2060700@oracle.com> Message-ID: <51B1FF0E.60908@oracle.com> Nice - now you 'only' have to fix the test by using the Type harness: http://hg.openjdk.java.net/jdk8/tl/langtools/file/5b039297151e/test/tools/javac/types/PrimitiveConversionTest.java Maurizio On 07/06/13 16:27, Eric McCorkle wrote: > Ok, I got it now... > > That code works because it never sees Boxed(T) == T comparisons. Back > in Attr, when it decides which opcode to use, it does the boxing and > unboxing. So say, Integer == int will get if_icmpeq, whereas object > comparisons will get if_acmpeq. It only calls isEqualityComparable when > the comparison is for if_acmpeq, so isEqualityComparable never sees > primitive == primitive or Boxed(T) == T comparisons at all. > > I posted a new webrev with isEqualityComparable slimmed down to not do > primitive == primitive comparisons, expanded comments, and some extra tests. > > On 06/07/13 06:29, Maurizio Cimadamore wrote: >> On 06/06/13 21:21, Eric McCorkle wrote: >>> Is there any reason why isPrimitive() on the type representing Number >>> (or any unboxable type, for that matter) would return true? Because if >>> that's the case, and isSubtype handles unboxing, then it would explain >>> why this code works for Boxed(T) == T style comparisons. >> Nope - isPrimitive should only take the type tag and compare it with the >> primitive tags. Number, Integer etc. have tag CLASS, which is not covered. >> >> Maurizio >>> On 06/06/13 11:41, Maurizio Cimadamore wrote: >>>> Ok - thx for the clarification! >>>> >>>> Maurizio >>>> >>>> On 06/06/13 16:06, Eric McCorkle wrote: >>>>> That's what I meant when I said it didn't work, sorry if I wasn't clear >>>>> about it. The code in webrev.01 does work, though. So does the >>>>> following code: >>>>> >>>>> public boolean isEqualityComparable(Type s, Type t, Warner >>>>> warn) { >>>>> boolean tPrimitive = t.isPrimitive(); >>>>> boolean sPrimitive = s.isPrimitive(); >>>>> if (tPrimitive && sPrimitive) { >>>>> return isSubtype(s, t) || isSubtype(t, s); >>>>> } else if (!tPrimitive && !sPrimitive) { >>>>> return isCastable(s, t, warn) || isCastable(t, s, warn); >>>>> } else >>>>> return false; >>>>> } >>>>> >>>>> I haven't posted a new webrev yet, though, as I want to understand >>>>> *why* >>>>> it works, and why the code with unboxedTypeOrType doesn't work. >>>>> >>>>> On 06/05/13 05:16, Maurizio Cimadamore wrote: >>>>>> All versions I've seen so far are wrong in a way or another, so I >>>>>> would >>>>>> not go back to a previous version. Have you tried the code I pasted in >>>>>> my last email? >>>>>> >>>>>> Maurizio >>>>>> >>>>>> On 04/06/13 23:03, Eric McCorkle wrote: >>>>>>> Actually that code doesn't work (it won't even get through a build). >>>>>>> Any kind of null == Object comparison fails. Strangely, the code in >>>>>>> webrev.02 seems to pass all the existing tests (including my new >>>>>>> ones), >>>>>>> which seems strange to me. >>>>>>> >>>>>>> I'll backpedal to webrev.01 and simplify it. But perhaps we ought to >>>>>>> flag this part of the type checker for refactoring as well. >>>>>>> >>>>>>> On 06/04/13 06:08, Maurizio Cimadamore wrote: >>>>>>>> On 03/06/13 20:38, Eric McCorkle wrote: >>>>>>>>> Good suggestion, I've made the change (no new webrev, as it just >>>>>>>>> reorders defs). >>>>>>>>> >>>>>>>>> Are there any more suggestions from anyone, or is this one good to >>>>>>>>> go? >>>>>>>> The code is wrong - I didn't realize when writing it on the review. >>>>>>>> You >>>>>>>> only do unboxing _after_ having checked that both types are >>>>>>>> primitives - >>>>>>>> so nothing can possibly happen. I have to say I'm a bit worried >>>>>>>> that the >>>>>>>> test you wrote didn't catch this (as well as the symmetry problems >>>>>>>> with >>>>>>>> the previous implementation). I'd focus on writing a better test >>>>>>>> first >>>>>>>> and then tweaking the compiler code accordingly. Note that the test >>>>>>>> can >>>>>>>> be made much simpler by using the infrastructure for testing types >>>>>>>> available in test/tools/javac/types (which will save you the >>>>>>>> hassle of >>>>>>>> creating mini test cases when the only thing you are interested >>>>>>>> in is >>>>>>>> whether a type is 'equality comparable' to another type). >>>>>>>> >>>>>>>> The right code for the test should be this: >>>>>>>> >>>>>>>> if (allowBoxing) { >>>>>>>> s = unboxedTypeOrType(s); >>>>>>>> t = unboxedTypeOrType(t); >>>>>>>> } >>>>>>>> >>>>>>>> boolean tPrimitive = t.isPrimitive(); >>>>>>>> boolean sPrimitive = s.isPrimitive(); >>>>>>>> >>>>>>>> if (tPrimitive && sPrimitive) { >>>>>>>> return isSubtype(s, t) || isSubtype(t, s); >>>>>>>> } else if (!tPrimitive && !sPrimitive) { >>>>>>>> return isCastable(s, t, warn) || isCastable(t, s, warn); >>>>>>>> } else { >>>>>>>> return false; >>>>>>>> } >>>>>>>> >>>>>>>> Maurizio >>>>>>>>> On 06/03/13 14:22, Alex Buckley wrote: >>>>>>>>>> In ObjectZeroCompare, I would just suggest having the *_name and >>>>>>>>>> *_contents variables listed in the same order as the >>>>>>>>>> assert_compile_* >>>>>>>>>> invocations in run(). I think the most readable order is: Object, >>>>>>>>>> Number, IntegerSuper, Uncastable, [Flips from failure to success >>>>>>>>>> here] >>>>>>>>>> Castable, Integer, etc [as you have it already]. >>>>>>>>>> >>>>>>>>>> Alex >>>>>>>>>> >>>>>>>>>> On 6/3/2013 11:11 AM, Eric McCorkle wrote: >>>>>>>>>>> Forgot the URL on this. It's here: >>>>>>>>>>> http://cr.openjdk.java.net/~emc/8013357/webrev.02/ >>>>>>>>>>> >>>>>>>>>>> On 06/01/13 08:28, Eric McCorkle wrote: >>>>>>>>>>>> New webrev is up. I rolled back allowing Number == primitive >>>>>>>>>>>> comparisons (I thought I'd rolled that back in the previous), >>>>>>>>>>>> and I >>>>>>>>>>>> implemented maurizio's suggested simpler comparison. I also >>>>>>>>>>>> added a few >>>>>>>>>>>> more test cases. >>>>>>>>>>>> >>>>>>>>>>>> JPRT's been a bit unreliable, but I'm getting clean runs. >>>>>>>>>>>> >>>>>>>>>>>> Please review and comment. >>>>>>>>>>>> >>>>>>>>>>>> On 05/30/13 05:03, Maurizio Cimadamore wrote: >>>>>>>>>>>>> On 29/05/13 20:53, Eric McCorkle wrote: >>>>>>>>>>>>>> Hello, >>>>>>>>>>>>>> >>>>>>>>>>>>>> Please review my latest patch for this problem. Since my >>>>>>>>>>>>>> earlier >>>>>>>>>>>>>> review >>>>>>>>>>>>>> request, several things have happened: >>>>>>>>>>>>>> >>>>>>>>>>>>>> 1) A CCC has been submitted, reviewed (at length) and >>>>>>>>>>>>>> approved. >>>>>>>>>>>>>> >>>>>>>>>>>>>> 2) I've confirmed the correct behavior wrt object-primitive >>>>>>>>>>>>>> comparisons. >>>>>>>>>>>>>> >>>>>>>>>>>>>> 3) I've fixed some errors in our tests, which would not >>>>>>>>>>>>>> compile >>>>>>>>>>>>>> when >>>>>>>>>>>>>> javac enforces the correct type rules. >>>>>>>>>>>>>> >>>>>>>>>>>>>> 4) This change has been flagged for a release note. >>>>>>>>>>>>>> >>>>>>>>>>>>>> The webrev is here: >>>>>>>>>>>>>> http://cr.openjdk.java.net/~emc/8013357/webrev.01/ >>>>>>>>>>>>> Hi, >>>>>>>>>>>>> couple of comments: >>>>>>>>>>>>> >>>>>>>>>>>>> *) I would be wary of adding Number to the symtab which will >>>>>>>>>>>>> load >>>>>>>>>>>>> symbols eagerly; j.l.Number is not available on all platforms, >>>>>>>>>>>>> so there >>>>>>>>>>>>> will be issues when using javac in cross compilation >>>>>>>>>>>>> environment, >>>>>>>>>>>>> compiling against a J2ME rt.jar; the usual trick is to call >>>>>>>>>>>>> Symbtab. >>>>>>>>>>>>> synthesizeEmptyInterfaceIfMissing (see for other code in Symtab >>>>>>>>>>>>> that >>>>>>>>>>>>> does that for a reference). >>>>>>>>>>>>> >>>>>>>>>>>>> *) The logic for checking equality seems questionable/overly >>>>>>>>>>>>> complex >>>>>>>>>>>>> (expanded in meta code below): >>>>>>>>>>>>> >>>>>>>>>>>>> boolean isEqualityComparable (Type s, Type t) >>>>>>>>>>>>> if () { >>>>>>>>>>>>> return s <: t //1 >>>>>>>>>>>>> } else if () { >>>>>>>>>>>>> return s castable to t //2 >>>>>>>>>>>>> } else if (source >= 1.5) { >>>>>>>>>>>>> if () { >>>>>>>>>>>>> return () ? >>>>>>>>>>>> (unbox(s) <: >>>>>>>>>>>>> t) //3 >>>>>>>>>>>>> } else { >>>>>>>>>>>>> return () ? >>>>>>>>>>>> (unbox(t) <: >>>>>>>>>>>>> s) //4 >>>>>>>>>>>>> } >>>>>>>>>>>>> } >>>>>>>>>>>>> >>>>>>>>>>>>> The first thing that strikes me is that in places (1, 2, 3, 4) >>>>>>>>>>>>> we are >>>>>>>>>>>>> not being symmetric; i.e. >>>>>>>>>>>>> >>>>>>>>>>>>> isEqualityComparable(int, long) = true >>>>>>>>>>>>> isEqualityComparable(long, int) = false >>>>>>>>>>>>> >>>>>>>>>>>>> The second thing that worries me is that the spec says >>>>>>>>>>>>> something >>>>>>>>>>>>> like: >>>>>>>>>>>>> >>>>>>>>>>>>> *) if both are numeric (i.e. primitives) and one is >>>>>>>>>>>>> convertible to >>>>>>>>>>>>> numeric (i.e. unboxable), then a numeric comparison is >>>>>>>>>>>>> performed >>>>>>>>>>>>> >>>>>>>>>>>>> I think this means that the code should do some check to see >>>>>>>>>>>>> whether >>>>>>>>>>>>> numeric comparison is applicable, (i.e. eventually unboxing) >>>>>>>>>>>>> and >>>>>>>>>>>>> then >>>>>>>>>>>>> calling appropriate routine to do the comparison test. >>>>>>>>>>>>> >>>>>>>>>>>>> Also, restating a point raised by Alex, Number == primitive is >>>>>>>>>>>>> not >>>>>>>>>>>>> allowed as Number is not convertible to a numeric type; I >>>>>>>>>>>>> think the >>>>>>>>>>>>> test >>>>>>>>>>>>> should be something like: >>>>>>>>>>>>> >>>>>>>>>>>>> boolean isEqualityComparable(Type s, Type t) >>>>>>>>>>>>> if () { >>>>>>>>>>>>> if (source >= 1.5) { >>>>>>>>>>>>> s = types.unboxedTypeOrType(s); >>>>>>>>>>>>> t = types.unboxedTypeOrType(t); >>>>>>>>>>>>> } >>>>>>>>>>>>> return s <: t || t <: s; >>>>>>>>>>>>> } else if () { >>>>>>>>>>>>> return (s castable to t) || (t castable to s); >>>>>>>>>>>>> } >>>>>>>>>>>>> >>>>>>>>>>>>> >>>>>>>>>>>>> Maurizio >>>>>>>>>>>>> -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/compiler-dev/attachments/20130607/75693649/attachment.html From eric.mccorkle at oracle.com Fri Jun 7 10:17:10 2013 From: eric.mccorkle at oracle.com (Eric McCorkle) Date: Fri, 07 Jun 2013 13:17:10 -0400 Subject: Review request for JDK-8013357: Javac accepts erroneous binary comparison operations In-Reply-To: <51B1FF0E.60908@oracle.com> References: <51A65CAD.5020905@oracle.com> <51A715F4.2040709@oracle.com> <51A9E8E3.2010706@oracle.com> <51ACDC4A.3070500@oracle.com> <51ACDEED.5080709@oracle.com> <51ACF0A4.2000606@oracle.com> <51ADBC83.8080405@oracle.com> <51AE643E.8040506@oracle.com> <51AF01DB.8020903@oracle.com> <51B0A565.8020406@oracle.com> <51B0ADAE.6020606@oracle.com> <51B0EF4C.5030609@oracle.com> <51B1B5F4.6090200@oracle.com> <51B1FBF5.2060700@oracle.com> <51B1FF0E.60908@oracle.com> Message-ID: <51B21596.4020304@oracle.com> That's a good testing library, but I have some reservations about using it here. First, isEqualityComparable represents a subset of the work that should go into deciding whether a == b is a valid comparison (regretfully so, and we should probably look at cleaning up this part of the compiler a bit). Maybe it would be good to make an enhancement request to build a similar library which tests operators. Second, the bug was about a specific program that should have caused a compiler error but didn't. So it seems better to test it with source-based tests. On 06/07/13 11:41, Maurizio Cimadamore wrote: > Nice - now you 'only' have to fix the test by using the Type harness: > > http://hg.openjdk.java.net/jdk8/tl/langtools/file/5b039297151e/test/tools/javac/types/PrimitiveConversionTest.java > > Maurizio > > On 07/06/13 16:27, Eric McCorkle wrote: >> Ok, I got it now... >> >> That code works because it never sees Boxed(T) == T comparisons. Back >> in Attr, when it decides which opcode to use, it does the boxing and >> unboxing. So say, Integer == int will get if_icmpeq, whereas object >> comparisons will get if_acmpeq. It only calls isEqualityComparable when >> the comparison is for if_acmpeq, so isEqualityComparable never sees >> primitive == primitive or Boxed(T) == T comparisons at all. >> >> I posted a new webrev with isEqualityComparable slimmed down to not do >> primitive == primitive comparisons, expanded comments, and some extra tests. >> >> On 06/07/13 06:29, Maurizio Cimadamore wrote: >>> On 06/06/13 21:21, Eric McCorkle wrote: >>>> Is there any reason why isPrimitive() on the type representing Number >>>> (or any unboxable type, for that matter) would return true? Because if >>>> that's the case, and isSubtype handles unboxing, then it would explain >>>> why this code works for Boxed(T) == T style comparisons. >>> Nope - isPrimitive should only take the type tag and compare it with the >>> primitive tags. Number, Integer etc. have tag CLASS, which is not covered. >>> >>> Maurizio >>>> On 06/06/13 11:41, Maurizio Cimadamore wrote: >>>>> Ok - thx for the clarification! >>>>> >>>>> Maurizio >>>>> >>>>> On 06/06/13 16:06, Eric McCorkle wrote: >>>>>> That's what I meant when I said it didn't work, sorry if I wasn't clear >>>>>> about it. The code in webrev.01 does work, though. So does the >>>>>> following code: >>>>>> >>>>>> public boolean isEqualityComparable(Type s, Type t, Warner >>>>>> warn) { >>>>>> boolean tPrimitive = t.isPrimitive(); >>>>>> boolean sPrimitive = s.isPrimitive(); >>>>>> if (tPrimitive && sPrimitive) { >>>>>> return isSubtype(s, t) || isSubtype(t, s); >>>>>> } else if (!tPrimitive && !sPrimitive) { >>>>>> return isCastable(s, t, warn) || isCastable(t, s, warn); >>>>>> } else >>>>>> return false; >>>>>> } >>>>>> >>>>>> I haven't posted a new webrev yet, though, as I want to understand >>>>>> *why* >>>>>> it works, and why the code with unboxedTypeOrType doesn't work. >>>>>> >>>>>> On 06/05/13 05:16, Maurizio Cimadamore wrote: >>>>>>> All versions I've seen so far are wrong in a way or another, so I >>>>>>> would >>>>>>> not go back to a previous version. Have you tried the code I pasted in >>>>>>> my last email? >>>>>>> >>>>>>> Maurizio >>>>>>> >>>>>>> On 04/06/13 23:03, Eric McCorkle wrote: >>>>>>>> Actually that code doesn't work (it won't even get through a build). >>>>>>>> Any kind of null == Object comparison fails. Strangely, the code in >>>>>>>> webrev.02 seems to pass all the existing tests (including my new >>>>>>>> ones), >>>>>>>> which seems strange to me. >>>>>>>> >>>>>>>> I'll backpedal to webrev.01 and simplify it. But perhaps we ought to >>>>>>>> flag this part of the type checker for refactoring as well. >>>>>>>> >>>>>>>> On 06/04/13 06:08, Maurizio Cimadamore wrote: >>>>>>>>> On 03/06/13 20:38, Eric McCorkle wrote: >>>>>>>>>> Good suggestion, I've made the change (no new webrev, as it just >>>>>>>>>> reorders defs). >>>>>>>>>> >>>>>>>>>> Are there any more suggestions from anyone, or is this one good to >>>>>>>>>> go? >>>>>>>>> The code is wrong - I didn't realize when writing it on the review. >>>>>>>>> You >>>>>>>>> only do unboxing _after_ having checked that both types are >>>>>>>>> primitives - >>>>>>>>> so nothing can possibly happen. I have to say I'm a bit worried >>>>>>>>> that the >>>>>>>>> test you wrote didn't catch this (as well as the symmetry problems >>>>>>>>> with >>>>>>>>> the previous implementation). I'd focus on writing a better test >>>>>>>>> first >>>>>>>>> and then tweaking the compiler code accordingly. Note that the test >>>>>>>>> can >>>>>>>>> be made much simpler by using the infrastructure for testing types >>>>>>>>> available in test/tools/javac/types (which will save you the >>>>>>>>> hassle of >>>>>>>>> creating mini test cases when the only thing you are interested >>>>>>>>> in is >>>>>>>>> whether a type is 'equality comparable' to another type). >>>>>>>>> >>>>>>>>> The right code for the test should be this: >>>>>>>>> >>>>>>>>> if (allowBoxing) { >>>>>>>>> s = unboxedTypeOrType(s); >>>>>>>>> t = unboxedTypeOrType(t); >>>>>>>>> } >>>>>>>>> >>>>>>>>> boolean tPrimitive = t.isPrimitive(); >>>>>>>>> boolean sPrimitive = s.isPrimitive(); >>>>>>>>> >>>>>>>>> if (tPrimitive && sPrimitive) { >>>>>>>>> return isSubtype(s, t) || isSubtype(t, s); >>>>>>>>> } else if (!tPrimitive && !sPrimitive) { >>>>>>>>> return isCastable(s, t, warn) || isCastable(t, s, warn); >>>>>>>>> } else { >>>>>>>>> return false; >>>>>>>>> } >>>>>>>>> >>>>>>>>> Maurizio >>>>>>>>>> On 06/03/13 14:22, Alex Buckley wrote: >>>>>>>>>>> In ObjectZeroCompare, I would just suggest having the *_name and >>>>>>>>>>> *_contents variables listed in the same order as the >>>>>>>>>>> assert_compile_* >>>>>>>>>>> invocations in run(). I think the most readable order is: Object, >>>>>>>>>>> Number, IntegerSuper, Uncastable, [Flips from failure to success >>>>>>>>>>> here] >>>>>>>>>>> Castable, Integer, etc [as you have it already]. >>>>>>>>>>> >>>>>>>>>>> Alex >>>>>>>>>>> >>>>>>>>>>> On 6/3/2013 11:11 AM, Eric McCorkle wrote: >>>>>>>>>>>> Forgot the URL on this. It's here: >>>>>>>>>>>> http://cr.openjdk.java.net/~emc/8013357/webrev.02/ >>>>>>>>>>>> >>>>>>>>>>>> On 06/01/13 08:28, Eric McCorkle wrote: >>>>>>>>>>>>> New webrev is up. I rolled back allowing Number == primitive >>>>>>>>>>>>> comparisons (I thought I'd rolled that back in the previous), >>>>>>>>>>>>> and I >>>>>>>>>>>>> implemented maurizio's suggested simpler comparison. I also >>>>>>>>>>>>> added a few >>>>>>>>>>>>> more test cases. >>>>>>>>>>>>> >>>>>>>>>>>>> JPRT's been a bit unreliable, but I'm getting clean runs. >>>>>>>>>>>>> >>>>>>>>>>>>> Please review and comment. >>>>>>>>>>>>> >>>>>>>>>>>>> On 05/30/13 05:03, Maurizio Cimadamore wrote: >>>>>>>>>>>>>> On 29/05/13 20:53, Eric McCorkle wrote: >>>>>>>>>>>>>>> Hello, >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> Please review my latest patch for this problem. Since my >>>>>>>>>>>>>>> earlier >>>>>>>>>>>>>>> review >>>>>>>>>>>>>>> request, several things have happened: >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> 1) A CCC has been submitted, reviewed (at length) and >>>>>>>>>>>>>>> approved. >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> 2) I've confirmed the correct behavior wrt object-primitive >>>>>>>>>>>>>>> comparisons. >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> 3) I've fixed some errors in our tests, which would not >>>>>>>>>>>>>>> compile >>>>>>>>>>>>>>> when >>>>>>>>>>>>>>> javac enforces the correct type rules. >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> 4) This change has been flagged for a release note. >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> The webrev is here: >>>>>>>>>>>>>>> http://cr.openjdk.java.net/~emc/8013357/webrev.01/ >>>>>>>>>>>>>> Hi, >>>>>>>>>>>>>> couple of comments: >>>>>>>>>>>>>> >>>>>>>>>>>>>> *) I would be wary of adding Number to the symtab which will >>>>>>>>>>>>>> load >>>>>>>>>>>>>> symbols eagerly; j.l.Number is not available on all platforms, >>>>>>>>>>>>>> so there >>>>>>>>>>>>>> will be issues when using javac in cross compilation >>>>>>>>>>>>>> environment, >>>>>>>>>>>>>> compiling against a J2ME rt.jar; the usual trick is to call >>>>>>>>>>>>>> Symbtab. >>>>>>>>>>>>>> synthesizeEmptyInterfaceIfMissing (see for other code in Symtab >>>>>>>>>>>>>> that >>>>>>>>>>>>>> does that for a reference). >>>>>>>>>>>>>> >>>>>>>>>>>>>> *) The logic for checking equality seems questionable/overly >>>>>>>>>>>>>> complex >>>>>>>>>>>>>> (expanded in meta code below): >>>>>>>>>>>>>> >>>>>>>>>>>>>> boolean isEqualityComparable (Type s, Type t) >>>>>>>>>>>>>> if () { >>>>>>>>>>>>>> return s <: t //1 >>>>>>>>>>>>>> } else if () { >>>>>>>>>>>>>> return s castable to t //2 >>>>>>>>>>>>>> } else if (source >= 1.5) { >>>>>>>>>>>>>> if () { >>>>>>>>>>>>>> return () ? >>>>>>>>>>>>> (unbox(s) <: >>>>>>>>>>>>>> t) //3 >>>>>>>>>>>>>> } else { >>>>>>>>>>>>>> return () ? >>>>>>>>>>>>> (unbox(t) <: >>>>>>>>>>>>>> s) //4 >>>>>>>>>>>>>> } >>>>>>>>>>>>>> } >>>>>>>>>>>>>> >>>>>>>>>>>>>> The first thing that strikes me is that in places (1, 2, 3, 4) >>>>>>>>>>>>>> we are >>>>>>>>>>>>>> not being symmetric; i.e. >>>>>>>>>>>>>> >>>>>>>>>>>>>> isEqualityComparable(int, long) = true >>>>>>>>>>>>>> isEqualityComparable(long, int) = false >>>>>>>>>>>>>> >>>>>>>>>>>>>> The second thing that worries me is that the spec says >>>>>>>>>>>>>> something >>>>>>>>>>>>>> like: >>>>>>>>>>>>>> >>>>>>>>>>>>>> *) if both are numeric (i.e. primitives) and one is >>>>>>>>>>>>>> convertible to >>>>>>>>>>>>>> numeric (i.e. unboxable), then a numeric comparison is >>>>>>>>>>>>>> performed >>>>>>>>>>>>>> >>>>>>>>>>>>>> I think this means that the code should do some check to see >>>>>>>>>>>>>> whether >>>>>>>>>>>>>> numeric comparison is applicable, (i.e. eventually unboxing) >>>>>>>>>>>>>> and >>>>>>>>>>>>>> then >>>>>>>>>>>>>> calling appropriate routine to do the comparison test. >>>>>>>>>>>>>> >>>>>>>>>>>>>> Also, restating a point raised by Alex, Number == primitive is >>>>>>>>>>>>>> not >>>>>>>>>>>>>> allowed as Number is not convertible to a numeric type; I >>>>>>>>>>>>>> think the >>>>>>>>>>>>>> test >>>>>>>>>>>>>> should be something like: >>>>>>>>>>>>>> >>>>>>>>>>>>>> boolean isEqualityComparable(Type s, Type t) >>>>>>>>>>>>>> if () { >>>>>>>>>>>>>> if (source >= 1.5) { >>>>>>>>>>>>>> s = types.unboxedTypeOrType(s); >>>>>>>>>>>>>> t = types.unboxedTypeOrType(t); >>>>>>>>>>>>>> } >>>>>>>>>>>>>> return s <: t || t <: s; >>>>>>>>>>>>>> } else if () { >>>>>>>>>>>>>> return (s castable to t) || (t castable to s); >>>>>>>>>>>>>> } >>>>>>>>>>>>>> >>>>>>>>>>>>>> >>>>>>>>>>>>>> Maurizio >>>>>>>>>>>>>> > -------------- next part -------------- A non-text attachment was scrubbed... Name: eric_mccorkle.vcf Type: text/x-vcard Size: 314 bytes Desc: not available Url : http://mail.openjdk.java.net/pipermail/compiler-dev/attachments/20130607/ade81696/eric_mccorkle-0001.vcf From kumar.x.srinivasan at oracle.com Fri Jun 7 10:20:29 2013 From: kumar.x.srinivasan at oracle.com (Kumar Srinivasan) Date: Fri, 07 Jun 2013 10:20:29 -0700 Subject: RFR: 8015145: Smartjavac needs more flexibility with linking to sources In-Reply-To: <51B1D57A.3030305@oracle.com> References: <51B1D57A.3030305@oracle.com> Message-ID: <51B2165D.8020900@oracle.com> Hi Erik, So what else needs to be done for this ? I take it this has been reviewed by Jon who is the most familiar with it. If all it takes is someone to sponsor this push, I can do so, let me know. Thanks Kumar > Here is a patch solving a problem with -sourcepath for sjavac. > > First some background. The security sources (the ones that require > signing) need to be built to a separate directory. If they aren't (as > is the case now) security tests will fail if run on the exploded jdk > image (the one you get when just typing make or make jdk). In > JDK-8009280, I'm trying to fix this. The solution I have for that bug > is working well, except when running with sjavac, and basically builds > all classes except the security classes first to the normal outputdir > and then as a separate step builds just the security classes to a > different outputdir. > > There are two issues that need to be addressed in sjavac for this to > work. First, it needs to be possible to supply the same source root > both to the -src and -sourcepath option (but with different filter > rules). Sjavac is very picky and only links to sources that are > included in either of those options, and since we are excluding the > security sources from -src, we need to add them to -sourcepath. > > The second thing is more of a bug as far as I can tell. Sjavac > compares the found set of sources to compile with what the makefile > think needs to be compiled, as a safety check. Currently, sjavac is > including sources that are just being linked to in this comparison. I > would think that it should only include sources that are meant to be > compiled. > > http://cr.openjdk.java.net/~erikj/8015145/webrev.langtools.01/ > > http://bugs.sun.com/view_bug.do?bug_id=8015145 > > /Erik From maurizio.cimadamore at oracle.com Fri Jun 7 10:24:00 2013 From: maurizio.cimadamore at oracle.com (Maurizio Cimadamore) Date: Fri, 07 Jun 2013 18:24:00 +0100 Subject: Review request for JDK-8013357: Javac accepts erroneous binary comparison operations In-Reply-To: <51B21596.4020304@oracle.com> References: <51A65CAD.5020905@oracle.com> <51A715F4.2040709@oracle.com> <51A9E8E3.2010706@oracle.com> <51ACDC4A.3070500@oracle.com> <51ACDEED.5080709@oracle.com> <51ACF0A4.2000606@oracle.com> <51ADBC83.8080405@oracle.com> <51AE643E.8040506@oracle.com> <51AF01DB.8020903@oracle.com> <51B0A565.8020406@oracle.com> <51B0ADAE.6020606@oracle.com> <51B0EF4C.5030609@oracle.com> <51B1B5F4.6090200@oracle.com> <51B1FBF5.2060700@oracle.com> <51B1FF0E.60908@oracle.com> <51B21596.4020304@oracle.com> Message-ID: <51B21730.2060109@oracle.com> On 07/06/13 18:17, Eric McCorkle wrote: > That's a good testing library, but I have some reservations about using > it here. > > First, isEqualityComparable represents a subset of the work that should > go into deciding whether a == b is a valid comparison (regretfully so, > and we should probably look at cleaning up this part of the compiler a > bit). Maybe it would be good to make an enhancement request to build a > similar library which tests operators. Yes and no - there are still at least 9 * 9 combinations (all primitives + Object vs. all primitives plus Object) If you throw a bunch of reference type in the picture to check the castable thing, the number of possibilities is even higher. > > Second, the bug was about a specific program that should have caused a > compiler error but didn't. So it seems better to test it with > source-based tests. You can, in addition, write a simple source-based test (replica of what's in JIRA) just to check that error message is generated correctly. Maurizio > > On 06/07/13 11:41, Maurizio Cimadamore wrote: >> Nice - now you 'only' have to fix the test by using the Type harness: >> >> http://hg.openjdk.java.net/jdk8/tl/langtools/file/5b039297151e/test/tools/javac/types/PrimitiveConversionTest.java >> >> Maurizio >> >> On 07/06/13 16:27, Eric McCorkle wrote: >>> Ok, I got it now... >>> >>> That code works because it never sees Boxed(T) == T comparisons. Back >>> in Attr, when it decides which opcode to use, it does the boxing and >>> unboxing. So say, Integer == int will get if_icmpeq, whereas object >>> comparisons will get if_acmpeq. It only calls isEqualityComparable when >>> the comparison is for if_acmpeq, so isEqualityComparable never sees >>> primitive == primitive or Boxed(T) == T comparisons at all. >>> >>> I posted a new webrev with isEqualityComparable slimmed down to not do >>> primitive == primitive comparisons, expanded comments, and some extra tests. >>> >>> On 06/07/13 06:29, Maurizio Cimadamore wrote: >>>> On 06/06/13 21:21, Eric McCorkle wrote: >>>>> Is there any reason why isPrimitive() on the type representing Number >>>>> (or any unboxable type, for that matter) would return true? Because if >>>>> that's the case, and isSubtype handles unboxing, then it would explain >>>>> why this code works for Boxed(T) == T style comparisons. >>>> Nope - isPrimitive should only take the type tag and compare it with the >>>> primitive tags. Number, Integer etc. have tag CLASS, which is not covered. >>>> >>>> Maurizio >>>>> On 06/06/13 11:41, Maurizio Cimadamore wrote: >>>>>> Ok - thx for the clarification! >>>>>> >>>>>> Maurizio >>>>>> >>>>>> On 06/06/13 16:06, Eric McCorkle wrote: >>>>>>> That's what I meant when I said it didn't work, sorry if I wasn't clear >>>>>>> about it. The code in webrev.01 does work, though. So does the >>>>>>> following code: >>>>>>> >>>>>>> public boolean isEqualityComparable(Type s, Type t, Warner >>>>>>> warn) { >>>>>>> boolean tPrimitive = t.isPrimitive(); >>>>>>> boolean sPrimitive = s.isPrimitive(); >>>>>>> if (tPrimitive && sPrimitive) { >>>>>>> return isSubtype(s, t) || isSubtype(t, s); >>>>>>> } else if (!tPrimitive && !sPrimitive) { >>>>>>> return isCastable(s, t, warn) || isCastable(t, s, warn); >>>>>>> } else >>>>>>> return false; >>>>>>> } >>>>>>> >>>>>>> I haven't posted a new webrev yet, though, as I want to understand >>>>>>> *why* >>>>>>> it works, and why the code with unboxedTypeOrType doesn't work. >>>>>>> >>>>>>> On 06/05/13 05:16, Maurizio Cimadamore wrote: >>>>>>>> All versions I've seen so far are wrong in a way or another, so I >>>>>>>> would >>>>>>>> not go back to a previous version. Have you tried the code I pasted in >>>>>>>> my last email? >>>>>>>> >>>>>>>> Maurizio >>>>>>>> >>>>>>>> On 04/06/13 23:03, Eric McCorkle wrote: >>>>>>>>> Actually that code doesn't work (it won't even get through a build). >>>>>>>>> Any kind of null == Object comparison fails. Strangely, the code in >>>>>>>>> webrev.02 seems to pass all the existing tests (including my new >>>>>>>>> ones), >>>>>>>>> which seems strange to me. >>>>>>>>> >>>>>>>>> I'll backpedal to webrev.01 and simplify it. But perhaps we ought to >>>>>>>>> flag this part of the type checker for refactoring as well. >>>>>>>>> >>>>>>>>> On 06/04/13 06:08, Maurizio Cimadamore wrote: >>>>>>>>>> On 03/06/13 20:38, Eric McCorkle wrote: >>>>>>>>>>> Good suggestion, I've made the change (no new webrev, as it just >>>>>>>>>>> reorders defs). >>>>>>>>>>> >>>>>>>>>>> Are there any more suggestions from anyone, or is this one good to >>>>>>>>>>> go? >>>>>>>>>> The code is wrong - I didn't realize when writing it on the review. >>>>>>>>>> You >>>>>>>>>> only do unboxing _after_ having checked that both types are >>>>>>>>>> primitives - >>>>>>>>>> so nothing can possibly happen. I have to say I'm a bit worried >>>>>>>>>> that the >>>>>>>>>> test you wrote didn't catch this (as well as the symmetry problems >>>>>>>>>> with >>>>>>>>>> the previous implementation). I'd focus on writing a better test >>>>>>>>>> first >>>>>>>>>> and then tweaking the compiler code accordingly. Note that the test >>>>>>>>>> can >>>>>>>>>> be made much simpler by using the infrastructure for testing types >>>>>>>>>> available in test/tools/javac/types (which will save you the >>>>>>>>>> hassle of >>>>>>>>>> creating mini test cases when the only thing you are interested >>>>>>>>>> in is >>>>>>>>>> whether a type is 'equality comparable' to another type). >>>>>>>>>> >>>>>>>>>> The right code for the test should be this: >>>>>>>>>> >>>>>>>>>> if (allowBoxing) { >>>>>>>>>> s = unboxedTypeOrType(s); >>>>>>>>>> t = unboxedTypeOrType(t); >>>>>>>>>> } >>>>>>>>>> >>>>>>>>>> boolean tPrimitive = t.isPrimitive(); >>>>>>>>>> boolean sPrimitive = s.isPrimitive(); >>>>>>>>>> >>>>>>>>>> if (tPrimitive && sPrimitive) { >>>>>>>>>> return isSubtype(s, t) || isSubtype(t, s); >>>>>>>>>> } else if (!tPrimitive && !sPrimitive) { >>>>>>>>>> return isCastable(s, t, warn) || isCastable(t, s, warn); >>>>>>>>>> } else { >>>>>>>>>> return false; >>>>>>>>>> } >>>>>>>>>> >>>>>>>>>> Maurizio >>>>>>>>>>> On 06/03/13 14:22, Alex Buckley wrote: >>>>>>>>>>>> In ObjectZeroCompare, I would just suggest having the *_name and >>>>>>>>>>>> *_contents variables listed in the same order as the >>>>>>>>>>>> assert_compile_* >>>>>>>>>>>> invocations in run(). I think the most readable order is: Object, >>>>>>>>>>>> Number, IntegerSuper, Uncastable, [Flips from failure to success >>>>>>>>>>>> here] >>>>>>>>>>>> Castable, Integer, etc [as you have it already]. >>>>>>>>>>>> >>>>>>>>>>>> Alex >>>>>>>>>>>> >>>>>>>>>>>> On 6/3/2013 11:11 AM, Eric McCorkle wrote: >>>>>>>>>>>>> Forgot the URL on this. It's here: >>>>>>>>>>>>> http://cr.openjdk.java.net/~emc/8013357/webrev.02/ >>>>>>>>>>>>> >>>>>>>>>>>>> On 06/01/13 08:28, Eric McCorkle wrote: >>>>>>>>>>>>>> New webrev is up. I rolled back allowing Number == primitive >>>>>>>>>>>>>> comparisons (I thought I'd rolled that back in the previous), >>>>>>>>>>>>>> and I >>>>>>>>>>>>>> implemented maurizio's suggested simpler comparison. I also >>>>>>>>>>>>>> added a few >>>>>>>>>>>>>> more test cases. >>>>>>>>>>>>>> >>>>>>>>>>>>>> JPRT's been a bit unreliable, but I'm getting clean runs. >>>>>>>>>>>>>> >>>>>>>>>>>>>> Please review and comment. >>>>>>>>>>>>>> >>>>>>>>>>>>>> On 05/30/13 05:03, Maurizio Cimadamore wrote: >>>>>>>>>>>>>>> On 29/05/13 20:53, Eric McCorkle wrote: >>>>>>>>>>>>>>>> Hello, >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> Please review my latest patch for this problem. Since my >>>>>>>>>>>>>>>> earlier >>>>>>>>>>>>>>>> review >>>>>>>>>>>>>>>> request, several things have happened: >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> 1) A CCC has been submitted, reviewed (at length) and >>>>>>>>>>>>>>>> approved. >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> 2) I've confirmed the correct behavior wrt object-primitive >>>>>>>>>>>>>>>> comparisons. >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> 3) I've fixed some errors in our tests, which would not >>>>>>>>>>>>>>>> compile >>>>>>>>>>>>>>>> when >>>>>>>>>>>>>>>> javac enforces the correct type rules. >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> 4) This change has been flagged for a release note. >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> The webrev is here: >>>>>>>>>>>>>>>> http://cr.openjdk.java.net/~emc/8013357/webrev.01/ >>>>>>>>>>>>>>> Hi, >>>>>>>>>>>>>>> couple of comments: >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> *) I would be wary of adding Number to the symtab which will >>>>>>>>>>>>>>> load >>>>>>>>>>>>>>> symbols eagerly; j.l.Number is not available on all platforms, >>>>>>>>>>>>>>> so there >>>>>>>>>>>>>>> will be issues when using javac in cross compilation >>>>>>>>>>>>>>> environment, >>>>>>>>>>>>>>> compiling against a J2ME rt.jar; the usual trick is to call >>>>>>>>>>>>>>> Symbtab. >>>>>>>>>>>>>>> synthesizeEmptyInterfaceIfMissing (see for other code in Symtab >>>>>>>>>>>>>>> that >>>>>>>>>>>>>>> does that for a reference). >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> *) The logic for checking equality seems questionable/overly >>>>>>>>>>>>>>> complex >>>>>>>>>>>>>>> (expanded in meta code below): >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> boolean isEqualityComparable (Type s, Type t) >>>>>>>>>>>>>>> if () { >>>>>>>>>>>>>>> return s <: t //1 >>>>>>>>>>>>>>> } else if () { >>>>>>>>>>>>>>> return s castable to t //2 >>>>>>>>>>>>>>> } else if (source >= 1.5) { >>>>>>>>>>>>>>> if () { >>>>>>>>>>>>>>> return () ? >>>>>>>>>>>>>> (unbox(s) <: >>>>>>>>>>>>>>> t) //3 >>>>>>>>>>>>>>> } else { >>>>>>>>>>>>>>> return () ? >>>>>>>>>>>>>> (unbox(t) <: >>>>>>>>>>>>>>> s) //4 >>>>>>>>>>>>>>> } >>>>>>>>>>>>>>> } >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> The first thing that strikes me is that in places (1, 2, 3, 4) >>>>>>>>>>>>>>> we are >>>>>>>>>>>>>>> not being symmetric; i.e. >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> isEqualityComparable(int, long) = true >>>>>>>>>>>>>>> isEqualityComparable(long, int) = false >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> The second thing that worries me is that the spec says >>>>>>>>>>>>>>> something >>>>>>>>>>>>>>> like: >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> *) if both are numeric (i.e. primitives) and one is >>>>>>>>>>>>>>> convertible to >>>>>>>>>>>>>>> numeric (i.e. unboxable), then a numeric comparison is >>>>>>>>>>>>>>> performed >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> I think this means that the code should do some check to see >>>>>>>>>>>>>>> whether >>>>>>>>>>>>>>> numeric comparison is applicable, (i.e. eventually unboxing) >>>>>>>>>>>>>>> and >>>>>>>>>>>>>>> then >>>>>>>>>>>>>>> calling appropriate routine to do the comparison test. >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> Also, restating a point raised by Alex, Number == primitive is >>>>>>>>>>>>>>> not >>>>>>>>>>>>>>> allowed as Number is not convertible to a numeric type; I >>>>>>>>>>>>>>> think the >>>>>>>>>>>>>>> test >>>>>>>>>>>>>>> should be something like: >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> boolean isEqualityComparable(Type s, Type t) >>>>>>>>>>>>>>> if () { >>>>>>>>>>>>>>> if (source >= 1.5) { >>>>>>>>>>>>>>> s = types.unboxedTypeOrType(s); >>>>>>>>>>>>>>> t = types.unboxedTypeOrType(t); >>>>>>>>>>>>>>> } >>>>>>>>>>>>>>> return s <: t || t <: s; >>>>>>>>>>>>>>> } else if () { >>>>>>>>>>>>>>> return (s castable to t) || (t castable to s); >>>>>>>>>>>>>>> } >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> Maurizio >>>>>>>>>>>>>>> From kurchi.subhra.hazra at oracle.com Fri Jun 7 10:49:52 2013 From: kurchi.subhra.hazra at oracle.com (kurchi.subhra.hazra at oracle.com) Date: Fri, 07 Jun 2013 17:49:52 +0000 Subject: hg: jdk8/tl/jdk: 7051862: CookiePolicy spec conflicts with CookiePolicy.ACCEPT_ORIGINAL_SERVER Message-ID: <20130607175035.C1DD5480A7@hg.openjdk.java.net> Changeset: 8b65dfe8f509 Author: khazra Date: 2013-06-07 10:59 -0700 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/8b65dfe8f509 7051862: CookiePolicy spec conflicts with CookiePolicy.ACCEPT_ORIGINAL_SERVER Summary: Return false for null arguments in ACCEPT_ORIGINAL_SERVER#shouldAccept() Reviewed-by: chegar ! src/share/classes/java/net/CookiePolicy.java ! test/java/net/CookieHandler/CookieManagerTest.java From lance.andersen at oracle.com Fri Jun 7 11:13:55 2013 From: lance.andersen at oracle.com (lance.andersen at oracle.com) Date: Fri, 07 Jun 2013 18:13:55 +0000 Subject: hg: jdk8/tl/jdk: 8016101: Fix typo in SerialRef and missing @param in SerialStruct Message-ID: <20130607181409.74D53480AB@hg.openjdk.java.net> Changeset: e2333bd8514a Author: lancea Date: 2013-06-07 14:13 -0400 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/e2333bd8514a 8016101: Fix typo in SerialRef and missing @param in SerialStruct Reviewed-by: darcy ! src/share/classes/javax/sql/rowset/serial/SerialRef.java ! src/share/classes/javax/sql/rowset/serial/SerialStruct.java From kumar.x.srinivasan at oracle.com Fri Jun 7 13:52:26 2013 From: kumar.x.srinivasan at oracle.com (Kumar Srinivasan) Date: Fri, 07 Jun 2013 13:52:26 -0700 Subject: RFR: 8014513: Sjavac doesn't detect 32-bit jvm properly In-Reply-To: <51B2165D.8020900@oracle.com> References: <51B1D57A.3030305@oracle.com> <51B2165D.8020900@oracle.com> Message-ID: <51B2480A.7050207@oracle.com> Hi Erik, I am so sorry I responded to the wrong email, I was referring to 8014513. subj line corrected Kumar > Hi Erik, > > So what else needs to be done for this ? I take it this has been > reviewed by Jon > who is the most familiar with it. If all it takes is someone to > sponsor this push, > I can do so, let me know. > > Thanks > > Kumar > >> Here is a patch solving a problem with -sourcepath for sjavac. >> >> First some background. The security sources (the ones that require >> signing) need to be built to a separate directory. If they aren't (as >> is the case now) security tests will fail if run on the exploded jdk >> image (the one you get when just typing make or make jdk). In >> JDK-8009280, I'm trying to fix this. The solution I have for that bug >> is working well, except when running with sjavac, and basically >> builds all classes except the security classes first to the normal >> outputdir and then as a separate step builds just the security >> classes to a different outputdir. >> >> There are two issues that need to be addressed in sjavac for this to >> work. First, it needs to be possible to supply the same source root >> both to the -src and -sourcepath option (but with different filter >> rules). Sjavac is very picky and only links to sources that are >> included in either of those options, and since we are excluding the >> security sources from -src, we need to add them to -sourcepath. >> >> The second thing is more of a bug as far as I can tell. Sjavac >> compares the found set of sources to compile with what the makefile >> think needs to be compiled, as a safety check. Currently, sjavac is >> including sources that are just being linked to in this comparison. I >> would think that it should only include sources that are meant to be >> compiled. >> >> http://cr.openjdk.java.net/~erikj/8015145/webrev.langtools.01/ >> >> http://bugs.sun.com/view_bug.do?bug_id=8015145 >> >> /Erik > From xueming.shen at oracle.com Fri Jun 7 13:53:41 2013 From: xueming.shen at oracle.com (xueming.shen at oracle.com) Date: Fri, 07 Jun 2013 20:53:41 +0000 Subject: hg: jdk8/tl/jdk: 8015728: (zipfs) demo/zipfs/basic.sh failing Message-ID: <20130607205415.25998480B1@hg.openjdk.java.net> Changeset: aed2ad905da6 Author: sherman Date: 2013-06-07 13:49 -0700 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/aed2ad905da6 8015728: (zipfs) demo/zipfs/basic.sh failing Summary: to return the correct loc entry size from wirteLOC(); Reviewed-by: alanb ! src/share/demo/nio/zipfs/src/com/sun/nio/zipfs/ZipFileSystem.java ! test/demo/zipfs/ZipFSTester.java ! test/demo/zipfs/basic.sh From john.r.rose at oracle.com Fri Jun 7 15:44:11 2013 From: john.r.rose at oracle.com (John Rose) Date: Fri, 7 Jun 2013 15:44:11 -0700 Subject: Is there a better way to throw this exception? In-Reply-To: <51B0599D.4020906@oracle.com> References: <51B0599D.4020906@oracle.com> Message-ID: Puzzles! Probably you can use the new syntax "catch (Ex1|Ex2 ex)" to bind the first exception to a union type. You'll have to split the loop, but you could use a common iterator. for (Iterator it = all changes; it.hasNext(); ) { try { it.next(); once(); return; } catch (One|Two ex) { while (it.hasNext()) { try { it.next(); once(); return; } catch (One|Two ex) { /*ignore all but 1st*/ } } throw ex; /*throw 1st*/ } } On Jun 6, 2013, at 2:42 AM, Weijun Wang wrote: > Hi All > > I have a method that could throw two kinds of checked exceptions and possibly other unchecked ones: > > void once() throws One, Two > > Now I have a wrapper method that calls once() for multiple times, and want to throw the first exception if *all* fails. Now it looks like > > void multiple() throws One, Two { > Exception saved = null; > for (all chances) { > try { > once(); > return; > } catch (Exception e) { > if (saved != null) saved = e; > } > } > if (saved instanceof One) { > throw (One)saved; > } else if (saved instanceof One) { > throw (Two)saved; > } else if (saved instanceof RuntimeException) { > throw (RuntimeException)saved; > } else { > // Not likely, but I've already wrote so many lines. > throw new RuntimeException(saved); > } > } > > Is there any way I can make it shorter? > > Thanks > Max From jonathan.gibbons at oracle.com Fri Jun 7 15:36:26 2013 From: jonathan.gibbons at oracle.com (jonathan.gibbons at oracle.com) Date: Fri, 07 Jun 2013 22:36:26 +0000 Subject: hg: jdk8/tl/langtools: 8016193: Fix OAC issue in langtools docs Message-ID: <20130607223632.33AE9480B4@hg.openjdk.java.net> Changeset: fd31bf97340f Author: jjg Date: 2013-06-07 15:35 -0700 URL: http://hg.openjdk.java.net/jdk8/tl/langtools/rev/fd31bf97340f 8016193: Fix OAC issue in langtools docs Reviewed-by: darcy ! src/share/classes/com/sun/javadoc/Tag.java From coleen.phillimore at oracle.com Fri Jun 7 19:35:04 2013 From: coleen.phillimore at oracle.com (coleen.phillimore at oracle.com) Date: Sat, 08 Jun 2013 02:35:04 +0000 Subject: hg: jdk8/tl/jdk: 7124706: enable RetransformBigClass.sh test when fix for 8013063 is promoted Message-ID: <20130608023516.D578F480BD@hg.openjdk.java.net> Changeset: f18337edd201 Author: coleenp Date: 2013-06-07 22:15 -0400 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/f18337edd201 7124706: enable RetransformBigClass.sh test when fix for 8013063 is promoted Summary: The code for this test is fixed now and integrated to TL repo and it passes now. Reviewed-by: alanb ! test/java/lang/instrument/MakeJAR4.sh ! test/java/lang/instrument/RetransformBigClass.sh From kumar.x.srinivasan at oracle.com Sat Jun 8 09:06:18 2013 From: kumar.x.srinivasan at oracle.com (kumar.x.srinivasan at oracle.com) Date: Sat, 08 Jun 2013 16:06:18 +0000 Subject: hg: jdk8/tl/jdk: 8016209: TEST_BUG: non-compliant jmc in the bin directory hangs testing Message-ID: <20130608160659.8B001480C9@hg.openjdk.java.net> Changeset: c351a48c091d Author: ksrini Date: 2013-06-08 09:05 -0700 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/c351a48c091d 8016209: TEST_BUG: non-compliant jmc in the bin directory hangs testing Reviewed-by: alanb, darcy, chegar ! test/tools/launcher/VersionCheck.java From gnu.andrew at redhat.com Mon Jun 10 03:46:51 2013 From: gnu.andrew at redhat.com (Andrew Hughes) Date: Mon, 10 Jun 2013 06:46:51 -0400 (EDT) Subject: Review request for JDK-7179353: try-with-resources fails to compile with generic exception parameters In-Reply-To: <51A87CB2.3070407@oracle.com> References: <51A87CB2.3070407@oracle.com> Message-ID: <1274996477.694329.1370861211715.JavaMail.root@redhat.com> ----- Original Message ----- > Hi, > > This is the backport to jdk7_dev of the the patch already pushed to > jdk8/tl/langtools (changeset 9f11c7676cd5). > > You can find the public webrev at: > > http://cr.openjdk.java.net/~vromero/7179353_jdk7/webrev.00/ > > Thanks, > Vicente > Incidentally, if this is for 7u, shouldn't it be posted to the 7u-dev list? Thanks, -- Andrew :) Free Java Software Engineer Red Hat, Inc. (http://www.redhat.com) PGP Key: 248BDC07 (https://keys.indymedia.org/) Fingerprint = EC5A 1F5E C0AD 1D15 8F1F 8F91 3B96 A578 248B DC07 From maurizio.cimadamore at oracle.com Mon Jun 10 07:58:12 2013 From: maurizio.cimadamore at oracle.com (maurizio.cimadamore at oracle.com) Date: Mon, 10 Jun 2013 14:58:12 +0000 Subject: hg: jdk8/tl/langtools: 8013576: Add stat support to LambdaToMethod Message-ID: <20130610145815.982C8480FA@hg.openjdk.java.net> Changeset: 3582b62dccb2 Author: mcimadamore Date: 2013-06-10 15:57 +0100 URL: http://hg.openjdk.java.net/jdk8/tl/langtools/rev/3582b62dccb2 8013576: Add stat support to LambdaToMethod Summary: LambdaToMethod should emit info to help diagnose/test lambda metafactory problems Reviewed-by: jjg, vromero ! src/share/classes/com/sun/tools/javac/comp/LambdaToMethod.java ! src/share/classes/com/sun/tools/javac/resources/compiler.properties + test/tools/javac/diags/examples/LambdaStat.java + test/tools/javac/diags/examples/MrefStat.java + test/tools/javac/diags/examples/MrefStat.java.rej + test/tools/javac/diags/examples/MrefStat1.java + test/tools/javac/diags/examples/MrefStat1.java.rej + test/tools/javac/lambda/TestLambdaToMethodStats.java From vicente.romero at oracle.com Mon Jun 10 07:19:39 2013 From: vicente.romero at oracle.com (vicente.romero at oracle.com) Date: Mon, 10 Jun 2013 14:19:39 +0000 Subject: hg: jdk8/tl/langtools: 7113519: test/tools/javac/VersionOpt.java passes on windows Message-ID: <20130610141944.B8CB8480F6@hg.openjdk.java.net> Changeset: 105d1f9c1ab8 Author: vromero Date: 2013-06-10 15:18 +0100 URL: http://hg.openjdk.java.net/jdk8/tl/langtools/rev/105d1f9c1ab8 7113519: test/tools/javac/VersionOpt.java passes on windows Reviewed-by: jjg ! test/tools/javac/VersionOpt.java From alan.bateman at oracle.com Mon Jun 10 05:26:11 2013 From: alan.bateman at oracle.com (alan.bateman at oracle.com) Date: Mon, 10 Jun 2013 12:26:11 +0000 Subject: hg: jdk8/tl/jdk: 8016217: More javadoc warnings Message-ID: <20130610122623.53380480ED@hg.openjdk.java.net> Changeset: d790064850a7 Author: alanb Date: 2013-06-10 12:58 +0100 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/d790064850a7 8016217: More javadoc warnings Reviewed-by: lancea, chegar, psandoz ! src/share/classes/java/io/BufferedInputStream.java ! src/share/classes/java/io/BufferedReader.java ! src/share/classes/java/io/BufferedWriter.java ! src/share/classes/java/io/Console.java ! src/share/classes/java/io/PipedInputStream.java ! src/share/classes/java/io/PipedReader.java ! src/share/classes/java/io/PrintStream.java ! src/share/classes/java/io/PushbackInputStream.java ! src/share/classes/java/io/PushbackReader.java ! src/share/classes/java/io/StringReader.java ! src/share/classes/java/lang/Character.java ! src/share/classes/java/lang/ClassLoader.java ! src/share/classes/java/lang/Comparable.java ! src/share/classes/java/lang/Double.java ! src/share/classes/java/lang/Float.java ! src/share/classes/java/lang/StackTraceElement.java ! src/share/classes/java/lang/instrument/Instrumentation.java ! src/share/classes/java/lang/invoke/MethodHandle.java ! src/share/classes/java/lang/invoke/MethodHandles.java ! src/share/classes/java/lang/management/MemoryUsage.java ! src/share/classes/java/lang/management/RuntimeMXBean.java ! src/share/classes/java/lang/management/ThreadMXBean.java ! src/share/classes/java/net/CookieManager.java ! src/share/classes/java/net/CookiePolicy.java ! src/share/classes/java/net/DatagramSocket.java ! src/share/classes/java/net/HttpURLConnection.java ! src/share/classes/java/net/InetSocketAddress.java ! src/share/classes/java/net/MulticastSocket.java ! src/share/classes/java/net/ServerSocket.java ! src/share/classes/java/net/Socket.java ! src/share/classes/java/net/StandardSocketOptions.java ! src/share/classes/java/net/URI.java ! src/share/classes/java/net/URLConnection.java ! src/share/classes/java/nio/X-Buffer.java.template ! src/share/classes/java/nio/channels/SelectableChannel.java ! src/share/classes/java/nio/channels/SelectionKey.java ! src/share/classes/java/nio/charset/Charset-X-Coder.java.template ! src/share/classes/java/nio/file/Path.java ! src/share/classes/java/security/KeyStore.java ! src/share/classes/java/security/SecureRandom.java ! src/share/classes/java/security/cert/CertPathValidatorException.java ! src/share/classes/java/security/cert/CertificateFactory.java ! src/share/classes/java/security/cert/X509Extension.java ! src/share/classes/java/security/spec/EllipticCurve.java ! src/share/classes/java/sql/DatabaseMetaData.java ! src/share/classes/java/sql/DriverManager.java ! src/share/classes/java/sql/ResultSet.java ! src/share/classes/java/sql/Statement.java ! src/share/classes/java/text/CharacterIterator.java ! src/share/classes/java/text/ChoiceFormat.java ! src/share/classes/java/text/Collator.java ! src/share/classes/java/util/Calendar.java ! src/share/classes/java/util/Collections.java ! src/share/classes/java/util/Date.java ! src/share/classes/java/util/LinkedHashMap.java ! src/share/classes/java/util/Random.java ! src/share/classes/java/util/ResourceBundle.java ! src/share/classes/java/util/Scanner.java ! src/share/classes/java/util/TimerTask.java ! src/share/classes/java/util/jar/Pack200.java ! src/share/classes/java/util/logging/ConsoleHandler.java ! src/share/classes/java/util/logging/FileHandler.java ! src/share/classes/java/util/logging/MemoryHandler.java ! src/share/classes/java/util/prefs/Preferences.java ! src/share/classes/java/util/regex/MatchResult.java ! src/share/classes/java/util/regex/Pattern.java ! src/share/classes/java/util/stream/package-info.java ! src/share/classes/java/util/zip/DeflaterInputStream.java ! src/share/classes/java/util/zip/DeflaterOutputStream.java ! src/share/classes/java/util/zip/GZIPInputStream.java ! src/share/classes/java/util/zip/GZIPOutputStream.java ! src/share/classes/java/util/zip/InflaterInputStream.java ! src/share/classes/java/util/zip/InflaterOutputStream.java ! src/share/classes/java/util/zip/ZipInputStream.java ! src/share/classes/javax/crypto/spec/IvParameterSpec.java ! src/share/classes/javax/crypto/spec/RC5ParameterSpec.java ! src/share/classes/javax/crypto/spec/SecretKeySpec.java ! src/share/classes/javax/naming/BinaryRefAddr.java ! src/share/classes/javax/naming/directory/Attribute.java ! src/share/classes/javax/naming/ldap/LdapName.java ! src/share/classes/javax/naming/ldap/PagedResultsControl.java ! src/share/classes/javax/naming/ldap/SortControl.java ! src/share/classes/javax/net/ssl/SNIHostName.java ! src/share/classes/javax/net/ssl/SSLEngine.java ! src/share/classes/javax/net/ssl/SSLEngineResult.java ! src/share/classes/javax/net/ssl/SSLSessionContext.java ! src/share/classes/javax/script/ScriptEngineFactory.java ! src/share/classes/javax/security/auth/callback/CallbackHandler.java ! src/share/classes/javax/security/sasl/Sasl.java ! src/share/classes/javax/security/sasl/SaslClient.java ! src/share/classes/javax/security/sasl/SaslServer.java ! src/share/classes/javax/smartcardio/ResponseAPDU.java ! src/share/classes/javax/sql/DataSource.java ! src/share/classes/javax/sql/rowset/BaseRowSet.java ! src/share/classes/javax/sql/rowset/CachedRowSet.java ! src/share/classes/javax/sql/rowset/Predicate.java ! src/share/classes/javax/sql/rowset/RowSetMetaDataImpl.java ! src/share/classes/javax/sql/rowset/spi/SyncFactory.java ! src/share/classes/javax/sql/rowset/spi/SyncResolver.java ! src/share/classes/javax/xml/crypto/dsig/Manifest.java From paul.sandoz at oracle.com Mon Jun 10 03:22:50 2013 From: paul.sandoz at oracle.com (paul.sandoz at oracle.com) Date: Mon, 10 Jun 2013 10:22:50 +0000 Subject: hg: jdk8/tl/jdk: 8015798: Rename IntStream.longs/doubles and LongStream.doubles to asXxxStream Message-ID: <20130610102302.5A304480E8@hg.openjdk.java.net> Changeset: 7322e8ad7c01 Author: psandoz Date: 2013-06-10 12:20 +0200 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/7322e8ad7c01 8015798: Rename IntStream.longs/doubles and LongStream.doubles to asXxxStream Reviewed-by: alanb ! src/share/classes/java/util/stream/IntPipeline.java ! src/share/classes/java/util/stream/IntStream.java ! src/share/classes/java/util/stream/LongPipeline.java ! src/share/classes/java/util/stream/LongStream.java ! test/java/util/stream/boottest/java/util/stream/SpinedBufferTest.java ! test/java/util/stream/test/org/openjdk/tests/java/util/stream/DoublePrimitiveOpsTests.java ! test/java/util/stream/test/org/openjdk/tests/java/util/stream/ExplodeOpTest.java ! test/java/util/stream/test/org/openjdk/tests/java/util/stream/ForEachOpTest.java ! test/java/util/stream/test/org/openjdk/tests/java/util/stream/MapOpTest.java ! test/java/util/stream/test/org/openjdk/tests/java/util/stream/MatchOpTest.java ! test/java/util/stream/test/org/openjdk/tests/java/util/stream/MinMaxTest.java ! test/java/util/stream/test/org/openjdk/tests/java/util/stream/PrimitiveSumTest.java ! test/java/util/stream/test/org/openjdk/tests/java/util/stream/StreamBuilderTest.java ! test/java/util/stream/test/org/openjdk/tests/java/util/stream/StreamSpliteratorTest.java From paul.sandoz at oracle.com Mon Jun 10 03:31:22 2013 From: paul.sandoz at oracle.com (paul.sandoz at oracle.com) Date: Mon, 10 Jun 2013 10:31:22 +0000 Subject: hg: jdk8/tl/jdk: 8015792: Rename Spliterators.spliteratorFromIterator to Spliterators.iterator Message-ID: <20130610103136.25EBB480EA@hg.openjdk.java.net> Changeset: 9c462579b624 Author: psandoz Date: 2013-06-10 12:26 +0200 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/9c462579b624 8015792: Rename Spliterators.spliteratorFromIterator to Spliterators.iterator Reviewed-by: chegar ! src/share/classes/java/util/Spliterators.java ! src/share/classes/java/util/stream/DoublePipeline.java ! src/share/classes/java/util/stream/IntPipeline.java ! src/share/classes/java/util/stream/LongPipeline.java ! src/share/classes/java/util/stream/ReferencePipeline.java ! src/share/classes/java/util/stream/SpinedBuffer.java ! test/java/util/Spliterator/SpliteratorTraversingAndSplittingTest.java ! test/java/util/stream/bootlib/java/util/stream/TestData.java ! test/java/util/stream/boottest/java/util/stream/DoubleNodeTest.java ! test/java/util/stream/boottest/java/util/stream/IntNodeTest.java ! test/java/util/stream/boottest/java/util/stream/LongNodeTest.java ! test/java/util/stream/test/org/openjdk/tests/java/util/stream/SortedOpTest.java From paul.sandoz at oracle.com Mon Jun 10 03:11:07 2013 From: paul.sandoz at oracle.com (paul.sandoz at oracle.com) Date: Mon, 10 Jun 2013 10:11:07 +0000 Subject: hg: jdk8/tl/jdk: 8015492: Remove DoubleStream.range methods Message-ID: <20130610101129.A0F5E480E7@hg.openjdk.java.net> Changeset: 3990fcab2cd9 Author: psandoz Date: 2013-06-10 11:52 +0200 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/3990fcab2cd9 8015492: Remove DoubleStream.range methods Reviewed-by: alanb ! src/share/classes/java/util/stream/DoubleStream.java ! src/share/classes/java/util/stream/Streams.java ! test/java/util/stream/bootlib/java/util/stream/DoubleStreamTestDataProvider.java ! test/java/util/stream/test/org/openjdk/tests/java/util/stream/ExplodeOpTest.java ! test/java/util/stream/test/org/openjdk/tests/java/util/stream/ForEachOpTest.java ! test/java/util/stream/test/org/openjdk/tests/java/util/stream/RangeTest.java ! test/java/util/stream/test/org/openjdk/tests/java/util/stream/StreamBuilderTest.java ! test/java/util/stream/test/org/openjdk/tests/java/util/stream/StreamSpliteratorTest.java From erik.joelsson at oracle.com Mon Jun 10 00:51:46 2013 From: erik.joelsson at oracle.com (Erik Joelsson) Date: Mon, 10 Jun 2013 09:51:46 +0200 Subject: RFR: 8014513: Sjavac doesn't detect 32-bit jvm properly In-Reply-To: <51B2480A.7050207@oracle.com> References: <51B1D57A.3030305@oracle.com> <51B2165D.8020900@oracle.com> <51B2480A.7050207@oracle.com> Message-ID: <51B58592.8060800@oracle.com> Hello Kumar, I'm not sure if I need a sponsor for pushing, do I? I'm a jdk8 reviewer. Both of these changes still need to be properly reviewed by someone in langtools, probably Jon. There will be additional work in the build scripts to get sjavac default and the problems resolved for the JCE team, but I will handle that in jdk8/build as usual. /Erik On 2013-06-07 22:52, Kumar Srinivasan wrote: > Hi Erik, > > I am so sorry I responded to the wrong email, I was referring to 8014513. > subj line corrected > > Kumar > >> Hi Erik, >> >> So what else needs to be done for this ? I take it this has been >> reviewed by Jon >> who is the most familiar with it. If all it takes is someone to >> sponsor this push, >> I can do so, let me know. >> >> Thanks >> >> Kumar >> >>> Here is a patch solving a problem with -sourcepath for sjavac. >>> >>> First some background. The security sources (the ones that require >>> signing) need to be built to a separate directory. If they aren't >>> (as is the case now) security tests will fail if run on the exploded >>> jdk image (the one you get when just typing make or make jdk). In >>> JDK-8009280, I'm trying to fix this. The solution I have for that >>> bug is working well, except when running with sjavac, and basically >>> builds all classes except the security classes first to the normal >>> outputdir and then as a separate step builds just the security >>> classes to a different outputdir. >>> >>> There are two issues that need to be addressed in sjavac for this to >>> work. First, it needs to be possible to supply the same source root >>> both to the -src and -sourcepath option (but with different filter >>> rules). Sjavac is very picky and only links to sources that are >>> included in either of those options, and since we are excluding the >>> security sources from -src, we need to add them to -sourcepath. >>> >>> The second thing is more of a bug as far as I can tell. Sjavac >>> compares the found set of sources to compile with what the makefile >>> think needs to be compiled, as a safety check. Currently, sjavac is >>> including sources that are just being linked to in this comparison. >>> I would think that it should only include sources that are meant to >>> be compiled. >>> >>> http://cr.openjdk.java.net/~erikj/8015145/webrev.langtools.01/ >>> >>> http://bugs.sun.com/view_bug.do?bug_id=8015145 >>> >>> /Erik >> > From gnu.andrew at redhat.com Mon Jun 10 03:22:49 2013 From: gnu.andrew at redhat.com (Andrew Hughes) Date: Mon, 10 Jun 2013 06:22:49 -0400 (EDT) Subject: Review request for JDK-7179353: try-with-resources fails to compile with generic exception parameters In-Reply-To: <51A87CB2.3070407@oracle.com> References: <51A87CB2.3070407@oracle.com> Message-ID: <1717438145.688974.1370859769730.JavaMail.root@redhat.com> ----- Original Message ----- > Hi, > > This is the backport to jdk7_dev of the the patch already pushed to > jdk8/tl/langtools (changeset 9f11c7676cd5). > > You can find the public webrev at: > > http://cr.openjdk.java.net/~vromero/7179353_jdk7/webrev.00/ > > Thanks, > Vicente > The bug ID link on this webrev is to an internal server (http://monaco.sfbay.sun.com/detail.jsp?cr=7179353). Could you please link public webrevs to the public bug database? Thanks, -- Andrew :) Free Java Software Engineer Red Hat, Inc. (http://www.redhat.com) PGP Key: 248BDC07 (https://keys.indymedia.org/) Fingerprint = EC5A 1F5E C0AD 1D15 8F1F 8F91 3B96 A578 248B DC07 From gnu.andrew at redhat.com Mon Jun 10 09:16:39 2013 From: gnu.andrew at redhat.com (Andrew Hughes) Date: Mon, 10 Jun 2013 12:16:39 -0400 (EDT) Subject: RFR: 8014513: Sjavac doesn't detect 32-bit jvm properly In-Reply-To: <51B58592.8060800@oracle.com> References: <51B1D57A.3030305@oracle.com> <51B2165D.8020900@oracle.com> <51B2480A.7050207@oracle.com> <51B58592.8060800@oracle.com> Message-ID: <2056030215.887501.1370880999907.JavaMail.root@redhat.com> ----- Original Message ----- > Hello Kumar, > > I'm not sure if I need a sponsor for pushing, do I? I'm a jdk8 reviewer. I believe a sponsor is only for those without commit access. As Kumar is a reviewer, you should have all you need now to push this. Incidentally, http://openjdk.java.net/bylaws makes no mention of a "sponsor" other than in the context of a group sponsoring a project. So I'm not sure where the concept comes from, but it's not part of the rules. > > Both of these changes still need to be properly reviewed by someone in > langtools, probably Jon. There will be additional work in the build > scripts to get sjavac default and the problems resolved for the JCE > team, but I will handle that in jdk8/build as usual. > > /Erik > > On 2013-06-07 22:52, Kumar Srinivasan wrote: > > Hi Erik, > > > > I am so sorry I responded to the wrong email, I was referring to 8014513. > > subj line corrected > > > > Kumar > > > >> Hi Erik, > >> > >> So what else needs to be done for this ? I take it this has been > >> reviewed by Jon > >> who is the most familiar with it. If all it takes is someone to > >> sponsor this push, > >> I can do so, let me know. > >> > >> Thanks > >> > >> Kumar > >> > >>> Here is a patch solving a problem with -sourcepath for sjavac. > >>> > >>> First some background. The security sources (the ones that require > >>> signing) need to be built to a separate directory. If they aren't > >>> (as is the case now) security tests will fail if run on the exploded > >>> jdk image (the one you get when just typing make or make jdk). In > >>> JDK-8009280, I'm trying to fix this. The solution I have for that > >>> bug is working well, except when running with sjavac, and basically > >>> builds all classes except the security classes first to the normal > >>> outputdir and then as a separate step builds just the security > >>> classes to a different outputdir. > >>> > >>> There are two issues that need to be addressed in sjavac for this to > >>> work. First, it needs to be possible to supply the same source root > >>> both to the -src and -sourcepath option (but with different filter > >>> rules). Sjavac is very picky and only links to sources that are > >>> included in either of those options, and since we are excluding the > >>> security sources from -src, we need to add them to -sourcepath. > >>> > >>> The second thing is more of a bug as far as I can tell. Sjavac > >>> compares the found set of sources to compile with what the makefile > >>> think needs to be compiled, as a safety check. Currently, sjavac is > >>> including sources that are just being linked to in this comparison. > >>> I would think that it should only include sources that are meant to > >>> be compiled. > >>> > >>> http://cr.openjdk.java.net/~erikj/8015145/webrev.langtools.01/ > >>> > >>> http://bugs.sun.com/view_bug.do?bug_id=8015145 > >>> > >>> /Erik > >> > > > -- Andrew :) Free Java Software Engineer Red Hat, Inc. (http://www.redhat.com) PGP Key: 248BDC07 (https://keys.indymedia.org/) Fingerprint = EC5A 1F5E C0AD 1D15 8F1F 8F91 3B96 A578 248B DC07 From kumar.x.srinivasan at oracle.com Mon Jun 10 09:37:52 2013 From: kumar.x.srinivasan at oracle.com (Kumar Srinivasan) Date: Mon, 10 Jun 2013 09:37:52 -0700 Subject: RFR: 8014513: Sjavac doesn't detect 32-bit jvm properly In-Reply-To: <2056030215.887501.1370880999907.JavaMail.root@redhat.com> References: <51B1D57A.3030305@oracle.com> <51B2165D.8020900@oracle.com> <51B2480A.7050207@oracle.com> <51B58592.8060800@oracle.com> <2056030215.887501.1370880999907.JavaMail.root@redhat.com> Message-ID: <51B600E0.7010404@oracle.com> On 6/10/2013 9:16 AM, Andrew Hughes wrote: > ----- Original Message ----- >> Hello Kumar, >> >> I'm not sure if I need a sponsor for pushing, do I? I'm a jdk8 reviewer. > I believe a sponsor is only for those without commit access. As Kumar > is a reviewer, you should have all you need now to push this. > > Incidentally, http://openjdk.java.net/bylaws makes no mention of a "sponsor" > other than in the context of a group sponsoring a project. So I'm not sure > where the concept comes from, but it's not part of the rules. I think I used the term sponsor loosely, what I meant was, does this need to be pushed to TL/langtools, if so does Erik wants to push it or does he want someone else to do so. It appears that he is all set. Thanks Kumar > >> Both of these changes still need to be properly reviewed by someone in >> langtools, probably Jon. There will be additional work in the build >> scripts to get sjavac default and the problems resolved for the JCE >> team, but I will handle that in jdk8/build as usual. >> >> /Erik >> >> On 2013-06-07 22:52, Kumar Srinivasan wrote: >>> Hi Erik, >>> >>> I am so sorry I responded to the wrong email, I was referring to 8014513. >>> subj line corrected >>> >>> Kumar >>> >>>> Hi Erik, >>>> >>>> So what else needs to be done for this ? I take it this has been >>>> reviewed by Jon >>>> who is the most familiar with it. If all it takes is someone to >>>> sponsor this push, >>>> I can do so, let me know. >>>> >>>> Thanks >>>> >>>> Kumar >>>> >>>>> Here is a patch solving a problem with -sourcepath for sjavac. >>>>> >>>>> First some background. The security sources (the ones that require >>>>> signing) need to be built to a separate directory. If they aren't >>>>> (as is the case now) security tests will fail if run on the exploded >>>>> jdk image (the one you get when just typing make or make jdk). In >>>>> JDK-8009280, I'm trying to fix this. The solution I have for that >>>>> bug is working well, except when running with sjavac, and basically >>>>> builds all classes except the security classes first to the normal >>>>> outputdir and then as a separate step builds just the security >>>>> classes to a different outputdir. >>>>> >>>>> There are two issues that need to be addressed in sjavac for this to >>>>> work. First, it needs to be possible to supply the same source root >>>>> both to the -src and -sourcepath option (but with different filter >>>>> rules). Sjavac is very picky and only links to sources that are >>>>> included in either of those options, and since we are excluding the >>>>> security sources from -src, we need to add them to -sourcepath. >>>>> >>>>> The second thing is more of a bug as far as I can tell. Sjavac >>>>> compares the found set of sources to compile with what the makefile >>>>> think needs to be compiled, as a safety check. Currently, sjavac is >>>>> including sources that are just being linked to in this comparison. >>>>> I would think that it should only include sources that are meant to >>>>> be compiled. >>>>> >>>>> http://cr.openjdk.java.net/~erikj/8015145/webrev.langtools.01/ >>>>> >>>>> http://bugs.sun.com/view_bug.do?bug_id=8015145 >>>>> >>>>> /Erik From alan.bateman at oracle.com Mon Jun 10 09:45:25 2013 From: alan.bateman at oracle.com (alan.bateman at oracle.com) Date: Mon, 10 Jun 2013 16:45:25 +0000 Subject: hg: jdk8/tl/corba: 8016218: Warnings building corba repo due to missing hashCode methods Message-ID: <20130610164527.1CE8048101@hg.openjdk.java.net> Changeset: 5845df371e25 Author: alanb Date: 2013-06-10 17:15 +0100 URL: http://hg.openjdk.java.net/jdk8/tl/corba/rev/5845df371e25 8016218: Warnings building corba repo due to missing hashCode methods Reviewed-by: chegar, coffeys, dfuchs ! src/share/classes/com/sun/corba/se/impl/javax/rmi/CORBA/StubDelegateImpl.java ! src/share/classes/com/sun/corba/se/impl/orb/ParserTable.java ! src/share/classes/com/sun/corba/se/impl/orbutil/RepIdDelegator.java ! src/share/classes/sun/rmi/rmic/iiop/CompoundType.java From dan.xu at oracle.com Mon Jun 10 11:06:51 2013 From: dan.xu at oracle.com (dan.xu at oracle.com) Date: Mon, 10 Jun 2013 18:06:51 +0000 Subject: hg: jdk8/tl/jdk: 8013827: File.createTempFile hangs with temp file starting with 'com1.4'; ... Message-ID: <20130610180705.468C948102@hg.openjdk.java.net> Changeset: 4a66dd1d7eea Author: dxu Date: 2013-06-10 11:06 -0700 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/4a66dd1d7eea 8013827: File.createTempFile hangs with temp file starting with 'com1.4' 8011950: java.io.File.createTempFile enters infinite loop when passed invalid data Reviewed-by: alanb ! src/share/classes/java/io/File.java ! src/windows/native/java/io/WinNTFileSystem_md.c ! test/java/io/File/CreateNewFile.java ! test/java/io/File/NulFile.java + test/java/io/File/createTempFile/SpecialTempFile.java From eric.mccorkle at oracle.com Mon Jun 10 14:40:42 2013 From: eric.mccorkle at oracle.com (Eric McCorkle) Date: Mon, 10 Jun 2013 17:40:42 -0400 Subject: Review request for JDK-8013357: Javac accepts erroneous binary comparison operations In-Reply-To: <51B21730.2060109@oracle.com> References: <51A65CAD.5020905@oracle.com> <51A715F4.2040709@oracle.com> <51A9E8E3.2010706@oracle.com> <51ACDC4A.3070500@oracle.com> <51ACDEED.5080709@oracle.com> <51ACF0A4.2000606@oracle.com> <51ADBC83.8080405@oracle.com> <51AE643E.8040506@oracle.com> <51AF01DB.8020903@oracle.com> <51B0A565.8020406@oracle.com> <51B0ADAE.6020606@oracle.com> <51B0EF4C.5030609@oracle.com> <51B1B5F4.6090200@oracle.com> <51B1FBF5.2060700@oracle.com> <51B1FF0E.60908@oracle.com> <51B21596.4020304@oracle.com> <51B21730.2060109@oracle.com> Message-ID: <51B647DA.80103@oracle.com> Okay, I implemented a better test which iterates all (24^2) possibilities. This actually did expose some additional problem cases. Please look at the tests, and ensure that they are JLS-compliant. On 06/07/13 13:24, Maurizio Cimadamore wrote: > On 07/06/13 18:17, Eric McCorkle wrote: >> That's a good testing library, but I have some reservations about using >> it here. >> >> First, isEqualityComparable represents a subset of the work that should >> go into deciding whether a == b is a valid comparison (regretfully so, >> and we should probably look at cleaning up this part of the compiler a >> bit). Maybe it would be good to make an enhancement request to build a >> similar library which tests operators. > Yes and no - there are still at least 9 * 9 combinations (all primitives > + Object vs. all primitives plus Object) > > If you throw a bunch of reference type in the picture to check the > castable thing, the number of possibilities is even higher. >> >> Second, the bug was about a specific program that should have caused a >> compiler error but didn't. So it seems better to test it with >> source-based tests. > You can, in addition, write a simple source-based test (replica of > what's in JIRA) just to check that error message is generated correctly. > > Maurizio >> >> On 06/07/13 11:41, Maurizio Cimadamore wrote: >>> Nice - now you 'only' have to fix the test by using the Type harness: >>> >>> http://hg.openjdk.java.net/jdk8/tl/langtools/file/5b039297151e/test/tools/javac/types/PrimitiveConversionTest.java >>> >>> >>> Maurizio >>> >>> On 07/06/13 16:27, Eric McCorkle wrote: >>>> Ok, I got it now... >>>> >>>> That code works because it never sees Boxed(T) == T comparisons. Back >>>> in Attr, when it decides which opcode to use, it does the boxing and >>>> unboxing. So say, Integer == int will get if_icmpeq, whereas object >>>> comparisons will get if_acmpeq. It only calls isEqualityComparable >>>> when >>>> the comparison is for if_acmpeq, so isEqualityComparable never sees >>>> primitive == primitive or Boxed(T) == T comparisons at all. >>>> >>>> I posted a new webrev with isEqualityComparable slimmed down to not do >>>> primitive == primitive comparisons, expanded comments, and some >>>> extra tests. >>>> >>>> On 06/07/13 06:29, Maurizio Cimadamore wrote: >>>>> On 06/06/13 21:21, Eric McCorkle wrote: >>>>>> Is there any reason why isPrimitive() on the type representing Number >>>>>> (or any unboxable type, for that matter) would return true? >>>>>> Because if >>>>>> that's the case, and isSubtype handles unboxing, then it would >>>>>> explain >>>>>> why this code works for Boxed(T) == T style comparisons. >>>>> Nope - isPrimitive should only take the type tag and compare it >>>>> with the >>>>> primitive tags. Number, Integer etc. have tag CLASS, which is not >>>>> covered. >>>>> >>>>> Maurizio >>>>>> On 06/06/13 11:41, Maurizio Cimadamore wrote: >>>>>>> Ok - thx for the clarification! >>>>>>> >>>>>>> Maurizio >>>>>>> >>>>>>> On 06/06/13 16:06, Eric McCorkle wrote: >>>>>>>> That's what I meant when I said it didn't work, sorry if I >>>>>>>> wasn't clear >>>>>>>> about it. The code in webrev.01 does work, though. So does the >>>>>>>> following code: >>>>>>>> >>>>>>>> public boolean isEqualityComparable(Type s, Type t, Warner >>>>>>>> warn) { >>>>>>>> boolean tPrimitive = t.isPrimitive(); >>>>>>>> boolean sPrimitive = s.isPrimitive(); >>>>>>>> if (tPrimitive && sPrimitive) { >>>>>>>> return isSubtype(s, t) || isSubtype(t, s); >>>>>>>> } else if (!tPrimitive && !sPrimitive) { >>>>>>>> return isCastable(s, t, warn) || isCastable(t, s, >>>>>>>> warn); >>>>>>>> } else >>>>>>>> return false; >>>>>>>> } >>>>>>>> >>>>>>>> I haven't posted a new webrev yet, though, as I want to understand >>>>>>>> *why* >>>>>>>> it works, and why the code with unboxedTypeOrType doesn't work. >>>>>>>> >>>>>>>> On 06/05/13 05:16, Maurizio Cimadamore wrote: >>>>>>>>> All versions I've seen so far are wrong in a way or another, so I >>>>>>>>> would >>>>>>>>> not go back to a previous version. Have you tried the code I >>>>>>>>> pasted in >>>>>>>>> my last email? >>>>>>>>> >>>>>>>>> Maurizio >>>>>>>>> >>>>>>>>> On 04/06/13 23:03, Eric McCorkle wrote: >>>>>>>>>> Actually that code doesn't work (it won't even get through a >>>>>>>>>> build). >>>>>>>>>> Any kind of null == Object comparison fails. Strangely, the >>>>>>>>>> code in >>>>>>>>>> webrev.02 seems to pass all the existing tests (including my new >>>>>>>>>> ones), >>>>>>>>>> which seems strange to me. >>>>>>>>>> >>>>>>>>>> I'll backpedal to webrev.01 and simplify it. But perhaps we >>>>>>>>>> ought to >>>>>>>>>> flag this part of the type checker for refactoring as well. >>>>>>>>>> >>>>>>>>>> On 06/04/13 06:08, Maurizio Cimadamore wrote: >>>>>>>>>>> On 03/06/13 20:38, Eric McCorkle wrote: >>>>>>>>>>>> Good suggestion, I've made the change (no new webrev, as it >>>>>>>>>>>> just >>>>>>>>>>>> reorders defs). >>>>>>>>>>>> >>>>>>>>>>>> Are there any more suggestions from anyone, or is this one >>>>>>>>>>>> good to >>>>>>>>>>>> go? >>>>>>>>>>> The code is wrong - I didn't realize when writing it on the >>>>>>>>>>> review. >>>>>>>>>>> You >>>>>>>>>>> only do unboxing _after_ having checked that both types are >>>>>>>>>>> primitives - >>>>>>>>>>> so nothing can possibly happen. I have to say I'm a bit worried >>>>>>>>>>> that the >>>>>>>>>>> test you wrote didn't catch this (as well as the symmetry >>>>>>>>>>> problems >>>>>>>>>>> with >>>>>>>>>>> the previous implementation). I'd focus on writing a better test >>>>>>>>>>> first >>>>>>>>>>> and then tweaking the compiler code accordingly. Note that >>>>>>>>>>> the test >>>>>>>>>>> can >>>>>>>>>>> be made much simpler by using the infrastructure for testing >>>>>>>>>>> types >>>>>>>>>>> available in test/tools/javac/types (which will save you the >>>>>>>>>>> hassle of >>>>>>>>>>> creating mini test cases when the only thing you are interested >>>>>>>>>>> in is >>>>>>>>>>> whether a type is 'equality comparable' to another type). >>>>>>>>>>> >>>>>>>>>>> The right code for the test should be this: >>>>>>>>>>> >>>>>>>>>>> if (allowBoxing) { >>>>>>>>>>> s = unboxedTypeOrType(s); >>>>>>>>>>> t = unboxedTypeOrType(t); >>>>>>>>>>> } >>>>>>>>>>> >>>>>>>>>>> boolean tPrimitive = t.isPrimitive(); >>>>>>>>>>> boolean sPrimitive = s.isPrimitive(); >>>>>>>>>>> >>>>>>>>>>> if (tPrimitive && sPrimitive) { >>>>>>>>>>> return isSubtype(s, t) || isSubtype(t, s); >>>>>>>>>>> } else if (!tPrimitive && !sPrimitive) { >>>>>>>>>>> return isCastable(s, t, warn) || isCastable(t, s, warn); >>>>>>>>>>> } else { >>>>>>>>>>> return false; >>>>>>>>>>> } >>>>>>>>>>> >>>>>>>>>>> Maurizio >>>>>>>>>>>> On 06/03/13 14:22, Alex Buckley wrote: >>>>>>>>>>>>> In ObjectZeroCompare, I would just suggest having the >>>>>>>>>>>>> *_name and >>>>>>>>>>>>> *_contents variables listed in the same order as the >>>>>>>>>>>>> assert_compile_* >>>>>>>>>>>>> invocations in run(). I think the most readable order is: >>>>>>>>>>>>> Object, >>>>>>>>>>>>> Number, IntegerSuper, Uncastable, [Flips from failure to >>>>>>>>>>>>> success >>>>>>>>>>>>> here] >>>>>>>>>>>>> Castable, Integer, etc [as you have it already]. >>>>>>>>>>>>> >>>>>>>>>>>>> Alex >>>>>>>>>>>>> >>>>>>>>>>>>> On 6/3/2013 11:11 AM, Eric McCorkle wrote: >>>>>>>>>>>>>> Forgot the URL on this. It's here: >>>>>>>>>>>>>> http://cr.openjdk.java.net/~emc/8013357/webrev.02/ >>>>>>>>>>>>>> >>>>>>>>>>>>>> On 06/01/13 08:28, Eric McCorkle wrote: >>>>>>>>>>>>>>> New webrev is up. I rolled back allowing Number == >>>>>>>>>>>>>>> primitive >>>>>>>>>>>>>>> comparisons (I thought I'd rolled that back in the >>>>>>>>>>>>>>> previous), >>>>>>>>>>>>>>> and I >>>>>>>>>>>>>>> implemented maurizio's suggested simpler comparison. I also >>>>>>>>>>>>>>> added a few >>>>>>>>>>>>>>> more test cases. >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> JPRT's been a bit unreliable, but I'm getting clean runs. >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> Please review and comment. >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> On 05/30/13 05:03, Maurizio Cimadamore wrote: >>>>>>>>>>>>>>>> On 29/05/13 20:53, Eric McCorkle wrote: >>>>>>>>>>>>>>>>> Hello, >>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> Please review my latest patch for this problem. Since my >>>>>>>>>>>>>>>>> earlier >>>>>>>>>>>>>>>>> review >>>>>>>>>>>>>>>>> request, several things have happened: >>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> 1) A CCC has been submitted, reviewed (at length) and >>>>>>>>>>>>>>>>> approved. >>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> 2) I've confirmed the correct behavior wrt >>>>>>>>>>>>>>>>> object-primitive >>>>>>>>>>>>>>>>> comparisons. >>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> 3) I've fixed some errors in our tests, which would not >>>>>>>>>>>>>>>>> compile >>>>>>>>>>>>>>>>> when >>>>>>>>>>>>>>>>> javac enforces the correct type rules. >>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> 4) This change has been flagged for a release note. >>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> The webrev is here: >>>>>>>>>>>>>>>>> http://cr.openjdk.java.net/~emc/8013357/webrev.01/ >>>>>>>>>>>>>>>> Hi, >>>>>>>>>>>>>>>> couple of comments: >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> *) I would be wary of adding Number to the symtab which >>>>>>>>>>>>>>>> will >>>>>>>>>>>>>>>> load >>>>>>>>>>>>>>>> symbols eagerly; j.l.Number is not available on all >>>>>>>>>>>>>>>> platforms, >>>>>>>>>>>>>>>> so there >>>>>>>>>>>>>>>> will be issues when using javac in cross compilation >>>>>>>>>>>>>>>> environment, >>>>>>>>>>>>>>>> compiling against a J2ME rt.jar; the usual trick is to call >>>>>>>>>>>>>>>> Symbtab. >>>>>>>>>>>>>>>> synthesizeEmptyInterfaceIfMissing (see for other code in >>>>>>>>>>>>>>>> Symtab >>>>>>>>>>>>>>>> that >>>>>>>>>>>>>>>> does that for a reference). >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> *) The logic for checking equality seems >>>>>>>>>>>>>>>> questionable/overly >>>>>>>>>>>>>>>> complex >>>>>>>>>>>>>>>> (expanded in meta code below): >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> boolean isEqualityComparable (Type s, Type t) >>>>>>>>>>>>>>>> if () { >>>>>>>>>>>>>>>> return s <: t //1 >>>>>>>>>>>>>>>> } else if () { >>>>>>>>>>>>>>>> return s castable to t //2 >>>>>>>>>>>>>>>> } else if (source >= 1.5) { >>>>>>>>>>>>>>>> if () { >>>>>>>>>>>>>>>> return () ? >>>>>>>>>>>>>>> (unbox(s) <: >>>>>>>>>>>>>>>> t) //3 >>>>>>>>>>>>>>>> } else { >>>>>>>>>>>>>>>> return () ? >>>>>>>>>>>>>>> (unbox(t) <: >>>>>>>>>>>>>>>> s) //4 >>>>>>>>>>>>>>>> } >>>>>>>>>>>>>>>> } >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> The first thing that strikes me is that in places (1, 2, >>>>>>>>>>>>>>>> 3, 4) >>>>>>>>>>>>>>>> we are >>>>>>>>>>>>>>>> not being symmetric; i.e. >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> isEqualityComparable(int, long) = true >>>>>>>>>>>>>>>> isEqualityComparable(long, int) = false >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> The second thing that worries me is that the spec says >>>>>>>>>>>>>>>> something >>>>>>>>>>>>>>>> like: >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> *) if both are numeric (i.e. primitives) and one is >>>>>>>>>>>>>>>> convertible to >>>>>>>>>>>>>>>> numeric (i.e. unboxable), then a numeric comparison is >>>>>>>>>>>>>>>> performed >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> I think this means that the code should do some check to >>>>>>>>>>>>>>>> see >>>>>>>>>>>>>>>> whether >>>>>>>>>>>>>>>> numeric comparison is applicable, (i.e. eventually >>>>>>>>>>>>>>>> unboxing) >>>>>>>>>>>>>>>> and >>>>>>>>>>>>>>>> then >>>>>>>>>>>>>>>> calling appropriate routine to do the comparison test. >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> Also, restating a point raised by Alex, Number == >>>>>>>>>>>>>>>> primitive is >>>>>>>>>>>>>>>> not >>>>>>>>>>>>>>>> allowed as Number is not convertible to a numeric type; I >>>>>>>>>>>>>>>> think the >>>>>>>>>>>>>>>> test >>>>>>>>>>>>>>>> should be something like: >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> boolean isEqualityComparable(Type s, Type t) >>>>>>>>>>>>>>>> if () { >>>>>>>>>>>>>>>> if (source >= 1.5) { >>>>>>>>>>>>>>>> s = types.unboxedTypeOrType(s); >>>>>>>>>>>>>>>> t = types.unboxedTypeOrType(t); >>>>>>>>>>>>>>>> } >>>>>>>>>>>>>>>> return s <: t || t <: s; >>>>>>>>>>>>>>>> } else if () { >>>>>>>>>>>>>>>> return (s castable to t) || (t castable to s); >>>>>>>>>>>>>>>> } >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> Maurizio >>>>>>>>>>>>>>>> > -------------- next part -------------- A non-text attachment was scrubbed... Name: eric_mccorkle.vcf Type: text/x-vcard Size: 314 bytes Desc: not available Url : http://mail.openjdk.java.net/pipermail/compiler-dev/attachments/20130610/ae81eb01/eric_mccorkle.vcf From huizhe.wang at oracle.com Mon Jun 10 14:44:10 2013 From: huizhe.wang at oracle.com (huizhe.wang at oracle.com) Date: Mon, 10 Jun 2013 21:44:10 +0000 Subject: hg: jdk8/tl/jaxp: 8016153: Property http://javax.xml.XMLConstants/property/accessExternalDTD is not recognized. Message-ID: <20130610214414.774754810C@hg.openjdk.java.net> Changeset: 5c84d4a878f1 Author: joehw Date: 2013-06-10 14:42 -0700 URL: http://hg.openjdk.java.net/jdk8/tl/jaxp/rev/5c84d4a878f1 8016153: Property http://javax.xml.XMLConstants/property/accessExternalDTD is not recognized. Reviewed-by: lancea, dfuchs ! src/com/sun/org/apache/xalan/internal/xsltc/compiler/Parser.java ! src/com/sun/org/apache/xalan/internal/xsltc/trax/Util.java ! src/com/sun/org/apache/xerces/internal/jaxp/validation/ValidatorHandlerImpl.java ! src/com/sun/org/apache/xml/internal/utils/XMLReaderManager.java From eric.mccorkle at oracle.com Mon Jun 10 14:47:31 2013 From: eric.mccorkle at oracle.com (Eric McCorkle) Date: Mon, 10 Jun 2013 17:47:31 -0400 Subject: Review request for JDK-8013357: Javac accepts erroneous binary comparison operations In-Reply-To: <51B647DA.80103@oracle.com> References: <51A65CAD.5020905@oracle.com> <51A715F4.2040709@oracle.com> <51A9E8E3.2010706@oracle.com> <51ACDC4A.3070500@oracle.com> <51ACDEED.5080709@oracle.com> <51ACF0A4.2000606@oracle.com> <51ADBC83.8080405@oracle.com> <51AE643E.8040506@oracle.com> <51AF01DB.8020903@oracle.com> <51B0A565.8020406@oracle.com> <51B0ADAE.6020606@oracle.com> <51B0EF4C.5030609@oracle.com> <51B1B5F4.6090200@oracle.com> <51B1FBF5.2060700@oracle.com> <51B1FF0E.60908@oracle.com> <51B21596.4020304@oracle.com> <51B21730.2060109@oracle.com> <51B647DA.80103@oracle.com> Message-ID: <51B64973.7080304@oracle.com> Link here: http://cr.openjdk.java.net/~emc/8013357/webrev.05/ On 06/10/13 17:40, Eric McCorkle wrote: > Okay, I implemented a better test which iterates all (24^2) > possibilities. This actually did expose some additional problem cases. > > Please look at the tests, and ensure that they are JLS-compliant. > > On 06/07/13 13:24, Maurizio Cimadamore wrote: >> On 07/06/13 18:17, Eric McCorkle wrote: >>> That's a good testing library, but I have some reservations about using >>> it here. >>> >>> First, isEqualityComparable represents a subset of the work that should >>> go into deciding whether a == b is a valid comparison (regretfully so, >>> and we should probably look at cleaning up this part of the compiler a >>> bit). Maybe it would be good to make an enhancement request to build a >>> similar library which tests operators. >> Yes and no - there are still at least 9 * 9 combinations (all primitives >> + Object vs. all primitives plus Object) >> >> If you throw a bunch of reference type in the picture to check the >> castable thing, the number of possibilities is even higher. >>> >>> Second, the bug was about a specific program that should have caused a >>> compiler error but didn't. So it seems better to test it with >>> source-based tests. >> You can, in addition, write a simple source-based test (replica of >> what's in JIRA) just to check that error message is generated correctly. >> >> Maurizio >>> >>> On 06/07/13 11:41, Maurizio Cimadamore wrote: >>>> Nice - now you 'only' have to fix the test by using the Type harness: >>>> >>>> http://hg.openjdk.java.net/jdk8/tl/langtools/file/5b039297151e/test/tools/javac/types/PrimitiveConversionTest.java >>>> >>>> >>>> Maurizio >>>> >>>> On 07/06/13 16:27, Eric McCorkle wrote: >>>>> Ok, I got it now... >>>>> >>>>> That code works because it never sees Boxed(T) == T comparisons. Back >>>>> in Attr, when it decides which opcode to use, it does the boxing and >>>>> unboxing. So say, Integer == int will get if_icmpeq, whereas object >>>>> comparisons will get if_acmpeq. It only calls isEqualityComparable >>>>> when >>>>> the comparison is for if_acmpeq, so isEqualityComparable never sees >>>>> primitive == primitive or Boxed(T) == T comparisons at all. >>>>> >>>>> I posted a new webrev with isEqualityComparable slimmed down to not do >>>>> primitive == primitive comparisons, expanded comments, and some >>>>> extra tests. >>>>> >>>>> On 06/07/13 06:29, Maurizio Cimadamore wrote: >>>>>> On 06/06/13 21:21, Eric McCorkle wrote: >>>>>>> Is there any reason why isPrimitive() on the type representing Number >>>>>>> (or any unboxable type, for that matter) would return true? >>>>>>> Because if >>>>>>> that's the case, and isSubtype handles unboxing, then it would >>>>>>> explain >>>>>>> why this code works for Boxed(T) == T style comparisons. >>>>>> Nope - isPrimitive should only take the type tag and compare it >>>>>> with the >>>>>> primitive tags. Number, Integer etc. have tag CLASS, which is not >>>>>> covered. >>>>>> >>>>>> Maurizio >>>>>>> On 06/06/13 11:41, Maurizio Cimadamore wrote: >>>>>>>> Ok - thx for the clarification! >>>>>>>> >>>>>>>> Maurizio >>>>>>>> >>>>>>>> On 06/06/13 16:06, Eric McCorkle wrote: >>>>>>>>> That's what I meant when I said it didn't work, sorry if I >>>>>>>>> wasn't clear >>>>>>>>> about it. The code in webrev.01 does work, though. So does the >>>>>>>>> following code: >>>>>>>>> >>>>>>>>> public boolean isEqualityComparable(Type s, Type t, Warner >>>>>>>>> warn) { >>>>>>>>> boolean tPrimitive = t.isPrimitive(); >>>>>>>>> boolean sPrimitive = s.isPrimitive(); >>>>>>>>> if (tPrimitive && sPrimitive) { >>>>>>>>> return isSubtype(s, t) || isSubtype(t, s); >>>>>>>>> } else if (!tPrimitive && !sPrimitive) { >>>>>>>>> return isCastable(s, t, warn) || isCastable(t, s, >>>>>>>>> warn); >>>>>>>>> } else >>>>>>>>> return false; >>>>>>>>> } >>>>>>>>> >>>>>>>>> I haven't posted a new webrev yet, though, as I want to understand >>>>>>>>> *why* >>>>>>>>> it works, and why the code with unboxedTypeOrType doesn't work. >>>>>>>>> >>>>>>>>> On 06/05/13 05:16, Maurizio Cimadamore wrote: >>>>>>>>>> All versions I've seen so far are wrong in a way or another, so I >>>>>>>>>> would >>>>>>>>>> not go back to a previous version. Have you tried the code I >>>>>>>>>> pasted in >>>>>>>>>> my last email? >>>>>>>>>> >>>>>>>>>> Maurizio >>>>>>>>>> >>>>>>>>>> On 04/06/13 23:03, Eric McCorkle wrote: >>>>>>>>>>> Actually that code doesn't work (it won't even get through a >>>>>>>>>>> build). >>>>>>>>>>> Any kind of null == Object comparison fails. Strangely, the >>>>>>>>>>> code in >>>>>>>>>>> webrev.02 seems to pass all the existing tests (including my new >>>>>>>>>>> ones), >>>>>>>>>>> which seems strange to me. >>>>>>>>>>> >>>>>>>>>>> I'll backpedal to webrev.01 and simplify it. But perhaps we >>>>>>>>>>> ought to >>>>>>>>>>> flag this part of the type checker for refactoring as well. >>>>>>>>>>> >>>>>>>>>>> On 06/04/13 06:08, Maurizio Cimadamore wrote: >>>>>>>>>>>> On 03/06/13 20:38, Eric McCorkle wrote: >>>>>>>>>>>>> Good suggestion, I've made the change (no new webrev, as it >>>>>>>>>>>>> just >>>>>>>>>>>>> reorders defs). >>>>>>>>>>>>> >>>>>>>>>>>>> Are there any more suggestions from anyone, or is this one >>>>>>>>>>>>> good to >>>>>>>>>>>>> go? >>>>>>>>>>>> The code is wrong - I didn't realize when writing it on the >>>>>>>>>>>> review. >>>>>>>>>>>> You >>>>>>>>>>>> only do unboxing _after_ having checked that both types are >>>>>>>>>>>> primitives - >>>>>>>>>>>> so nothing can possibly happen. I have to say I'm a bit worried >>>>>>>>>>>> that the >>>>>>>>>>>> test you wrote didn't catch this (as well as the symmetry >>>>>>>>>>>> problems >>>>>>>>>>>> with >>>>>>>>>>>> the previous implementation). I'd focus on writing a better test >>>>>>>>>>>> first >>>>>>>>>>>> and then tweaking the compiler code accordingly. Note that >>>>>>>>>>>> the test >>>>>>>>>>>> can >>>>>>>>>>>> be made much simpler by using the infrastructure for testing >>>>>>>>>>>> types >>>>>>>>>>>> available in test/tools/javac/types (which will save you the >>>>>>>>>>>> hassle of >>>>>>>>>>>> creating mini test cases when the only thing you are interested >>>>>>>>>>>> in is >>>>>>>>>>>> whether a type is 'equality comparable' to another type). >>>>>>>>>>>> >>>>>>>>>>>> The right code for the test should be this: >>>>>>>>>>>> >>>>>>>>>>>> if (allowBoxing) { >>>>>>>>>>>> s = unboxedTypeOrType(s); >>>>>>>>>>>> t = unboxedTypeOrType(t); >>>>>>>>>>>> } >>>>>>>>>>>> >>>>>>>>>>>> boolean tPrimitive = t.isPrimitive(); >>>>>>>>>>>> boolean sPrimitive = s.isPrimitive(); >>>>>>>>>>>> >>>>>>>>>>>> if (tPrimitive && sPrimitive) { >>>>>>>>>>>> return isSubtype(s, t) || isSubtype(t, s); >>>>>>>>>>>> } else if (!tPrimitive && !sPrimitive) { >>>>>>>>>>>> return isCastable(s, t, warn) || isCastable(t, s, warn); >>>>>>>>>>>> } else { >>>>>>>>>>>> return false; >>>>>>>>>>>> } >>>>>>>>>>>> >>>>>>>>>>>> Maurizio >>>>>>>>>>>>> On 06/03/13 14:22, Alex Buckley wrote: >>>>>>>>>>>>>> In ObjectZeroCompare, I would just suggest having the >>>>>>>>>>>>>> *_name and >>>>>>>>>>>>>> *_contents variables listed in the same order as the >>>>>>>>>>>>>> assert_compile_* >>>>>>>>>>>>>> invocations in run(). I think the most readable order is: >>>>>>>>>>>>>> Object, >>>>>>>>>>>>>> Number, IntegerSuper, Uncastable, [Flips from failure to >>>>>>>>>>>>>> success >>>>>>>>>>>>>> here] >>>>>>>>>>>>>> Castable, Integer, etc [as you have it already]. >>>>>>>>>>>>>> >>>>>>>>>>>>>> Alex >>>>>>>>>>>>>> >>>>>>>>>>>>>> On 6/3/2013 11:11 AM, Eric McCorkle wrote: >>>>>>>>>>>>>>> Forgot the URL on this. It's here: >>>>>>>>>>>>>>> http://cr.openjdk.java.net/~emc/8013357/webrev.02/ >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> On 06/01/13 08:28, Eric McCorkle wrote: >>>>>>>>>>>>>>>> New webrev is up. I rolled back allowing Number == >>>>>>>>>>>>>>>> primitive >>>>>>>>>>>>>>>> comparisons (I thought I'd rolled that back in the >>>>>>>>>>>>>>>> previous), >>>>>>>>>>>>>>>> and I >>>>>>>>>>>>>>>> implemented maurizio's suggested simpler comparison. I also >>>>>>>>>>>>>>>> added a few >>>>>>>>>>>>>>>> more test cases. >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> JPRT's been a bit unreliable, but I'm getting clean runs. >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> Please review and comment. >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> On 05/30/13 05:03, Maurizio Cimadamore wrote: >>>>>>>>>>>>>>>>> On 29/05/13 20:53, Eric McCorkle wrote: >>>>>>>>>>>>>>>>>> Hello, >>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>> Please review my latest patch for this problem. Since my >>>>>>>>>>>>>>>>>> earlier >>>>>>>>>>>>>>>>>> review >>>>>>>>>>>>>>>>>> request, several things have happened: >>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>> 1) A CCC has been submitted, reviewed (at length) and >>>>>>>>>>>>>>>>>> approved. >>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>> 2) I've confirmed the correct behavior wrt >>>>>>>>>>>>>>>>>> object-primitive >>>>>>>>>>>>>>>>>> comparisons. >>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>> 3) I've fixed some errors in our tests, which would not >>>>>>>>>>>>>>>>>> compile >>>>>>>>>>>>>>>>>> when >>>>>>>>>>>>>>>>>> javac enforces the correct type rules. >>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>> 4) This change has been flagged for a release note. >>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>> The webrev is here: >>>>>>>>>>>>>>>>>> http://cr.openjdk.java.net/~emc/8013357/webrev.01/ >>>>>>>>>>>>>>>>> Hi, >>>>>>>>>>>>>>>>> couple of comments: >>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> *) I would be wary of adding Number to the symtab which >>>>>>>>>>>>>>>>> will >>>>>>>>>>>>>>>>> load >>>>>>>>>>>>>>>>> symbols eagerly; j.l.Number is not available on all >>>>>>>>>>>>>>>>> platforms, >>>>>>>>>>>>>>>>> so there >>>>>>>>>>>>>>>>> will be issues when using javac in cross compilation >>>>>>>>>>>>>>>>> environment, >>>>>>>>>>>>>>>>> compiling against a J2ME rt.jar; the usual trick is to call >>>>>>>>>>>>>>>>> Symbtab. >>>>>>>>>>>>>>>>> synthesizeEmptyInterfaceIfMissing (see for other code in >>>>>>>>>>>>>>>>> Symtab >>>>>>>>>>>>>>>>> that >>>>>>>>>>>>>>>>> does that for a reference). >>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> *) The logic for checking equality seems >>>>>>>>>>>>>>>>> questionable/overly >>>>>>>>>>>>>>>>> complex >>>>>>>>>>>>>>>>> (expanded in meta code below): >>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> boolean isEqualityComparable (Type s, Type t) >>>>>>>>>>>>>>>>> if () { >>>>>>>>>>>>>>>>> return s <: t //1 >>>>>>>>>>>>>>>>> } else if () { >>>>>>>>>>>>>>>>> return s castable to t //2 >>>>>>>>>>>>>>>>> } else if (source >= 1.5) { >>>>>>>>>>>>>>>>> if () { >>>>>>>>>>>>>>>>> return () ? >>>>>>>>>>>>>>>> (unbox(s) <: >>>>>>>>>>>>>>>>> t) //3 >>>>>>>>>>>>>>>>> } else { >>>>>>>>>>>>>>>>> return () ? >>>>>>>>>>>>>>>> (unbox(t) <: >>>>>>>>>>>>>>>>> s) //4 >>>>>>>>>>>>>>>>> } >>>>>>>>>>>>>>>>> } >>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> The first thing that strikes me is that in places (1, 2, >>>>>>>>>>>>>>>>> 3, 4) >>>>>>>>>>>>>>>>> we are >>>>>>>>>>>>>>>>> not being symmetric; i.e. >>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> isEqualityComparable(int, long) = true >>>>>>>>>>>>>>>>> isEqualityComparable(long, int) = false >>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> The second thing that worries me is that the spec says >>>>>>>>>>>>>>>>> something >>>>>>>>>>>>>>>>> like: >>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> *) if both are numeric (i.e. primitives) and one is >>>>>>>>>>>>>>>>> convertible to >>>>>>>>>>>>>>>>> numeric (i.e. unboxable), then a numeric comparison is >>>>>>>>>>>>>>>>> performed >>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> I think this means that the code should do some check to >>>>>>>>>>>>>>>>> see >>>>>>>>>>>>>>>>> whether >>>>>>>>>>>>>>>>> numeric comparison is applicable, (i.e. eventually >>>>>>>>>>>>>>>>> unboxing) >>>>>>>>>>>>>>>>> and >>>>>>>>>>>>>>>>> then >>>>>>>>>>>>>>>>> calling appropriate routine to do the comparison test. >>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> Also, restating a point raised by Alex, Number == >>>>>>>>>>>>>>>>> primitive is >>>>>>>>>>>>>>>>> not >>>>>>>>>>>>>>>>> allowed as Number is not convertible to a numeric type; I >>>>>>>>>>>>>>>>> think the >>>>>>>>>>>>>>>>> test >>>>>>>>>>>>>>>>> should be something like: >>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> boolean isEqualityComparable(Type s, Type t) >>>>>>>>>>>>>>>>> if () { >>>>>>>>>>>>>>>>> if (source >= 1.5) { >>>>>>>>>>>>>>>>> s = types.unboxedTypeOrType(s); >>>>>>>>>>>>>>>>> t = types.unboxedTypeOrType(t); >>>>>>>>>>>>>>>>> } >>>>>>>>>>>>>>>>> return s <: t || t <: s; >>>>>>>>>>>>>>>>> } else if () { >>>>>>>>>>>>>>>>> return (s castable to t) || (t castable to s); >>>>>>>>>>>>>>>>> } >>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> Maurizio >>>>>>>>>>>>>>>>> >> -------------- next part -------------- A non-text attachment was scrubbed... Name: eric_mccorkle.vcf Type: text/x-vcard Size: 314 bytes Desc: not available Url : http://mail.openjdk.java.net/pipermail/compiler-dev/attachments/20130610/0ecbdef8/eric_mccorkle-0001.vcf From jonathan.gibbons at oracle.com Mon Jun 10 16:49:23 2013 From: jonathan.gibbons at oracle.com (Jonathan Gibbons) Date: Mon, 10 Jun 2013 16:49:23 -0700 Subject: RFR: 8014513: Sjavac doesn't detect 32-bit jvm properly In-Reply-To: <51B58592.8060800@oracle.com> References: <51B1D57A.3030305@oracle.com> <51B2165D.8020900@oracle.com> <51B2480A.7050207@oracle.com> <51B58592.8060800@oracle.com> Message-ID: <51B66603.2040509@oracle.com> For sjavac, you can push changes as long as a langtools reviewer has approved it. -- Jon On 06/10/2013 12:51 AM, Erik Joelsson wrote: > Hello Kumar, > > I'm not sure if I need a sponsor for pushing, do I? I'm a jdk8 reviewer. > > Both of these changes still need to be properly reviewed by someone in > langtools, probably Jon. There will be additional work in the build > scripts to get sjavac default and the problems resolved for the JCE > team, but I will handle that in jdk8/build as usual. > > /Erik > > On 2013-06-07 22:52, Kumar Srinivasan wrote: >> Hi Erik, >> >> I am so sorry I responded to the wrong email, I was referring to >> 8014513. >> subj line corrected >> >> Kumar >> >>> Hi Erik, >>> >>> So what else needs to be done for this ? I take it this has been >>> reviewed by Jon >>> who is the most familiar with it. If all it takes is someone to >>> sponsor this push, >>> I can do so, let me know. >>> >>> Thanks >>> >>> Kumar >>> >>>> Here is a patch solving a problem with -sourcepath for sjavac. >>>> >>>> First some background. The security sources (the ones that require >>>> signing) need to be built to a separate directory. If they aren't >>>> (as is the case now) security tests will fail if run on the >>>> exploded jdk image (the one you get when just typing make or make >>>> jdk). In JDK-8009280, I'm trying to fix this. The solution I have >>>> for that bug is working well, except when running with sjavac, and >>>> basically builds all classes except the security classes first to >>>> the normal outputdir and then as a separate step builds just the >>>> security classes to a different outputdir. >>>> >>>> There are two issues that need to be addressed in sjavac for this >>>> to work. First, it needs to be possible to supply the same source >>>> root both to the -src and -sourcepath option (but with different >>>> filter rules). Sjavac is very picky and only links to sources that >>>> are included in either of those options, and since we are excluding >>>> the security sources from -src, we need to add them to -sourcepath. >>>> >>>> The second thing is more of a bug as far as I can tell. Sjavac >>>> compares the found set of sources to compile with what the makefile >>>> think needs to be compiled, as a safety check. Currently, sjavac is >>>> including sources that are just being linked to in this comparison. >>>> I would think that it should only include sources that are meant to >>>> be compiled. >>>> >>>> http://cr.openjdk.java.net/~erikj/8015145/webrev.langtools.01/ >>>> >>>> http://bugs.sun.com/view_bug.do?bug_id=8015145 >>>> >>>> /Erik >>> >> From alex.buckley at oracle.com Mon Jun 10 18:15:12 2013 From: alex.buckley at oracle.com (Alex Buckley) Date: Mon, 10 Jun 2013 18:15:12 -0700 Subject: Review request for JDK-8013357: Javac accepts erroneous binary comparison operations In-Reply-To: <51B64973.7080304@oracle.com> References: <51A65CAD.5020905@oracle.com> <51A715F4.2040709@oracle.com> <51A9E8E3.2010706@oracle.com> <51ACDC4A.3070500@oracle.com> <51ACDEED.5080709@oracle.com> <51ACF0A4.2000606@oracle.com> <51ADBC83.8080405@oracle.com> <51AE643E.8040506@oracle.com> <51AF01DB.8020903@oracle.com> <51B0A565.8020406@oracle.com> <51B0ADAE.6020606@oracle.com> <51B0EF4C.5030609@oracle.com> <51B1B5F4.6090200@oracle.com> <51B1FBF5.2060700@oracle.com> <51B1FF0E.60908@oracle.com> <51B21596.4020304@oracle.com> <51B21730.2060109@oracle.com> <51B647DA.80103@oracle.com> <51B64973.7080304@oracle.com> Message-ID: <51B67A20.1010904@oracle.com> The only reasonable way to check correctness of truthtab entries for, say, Object, is to know that "the first six are comparisons with non-numeric reference types, the second six with primitive types, the third six are captured numeric reference types", etc. Well, things aren't so easy, as CompareType splits the seven captured types across two groups of six. I guess a single master list of types which is compared with itself is good for completeness, but please order the CompareType constants in a saner way. Please see JLS7 5.5 for the order in which I presented primitive and reference types in tables 5.1 and 5.2 - don't forget byte, and stick boolean/Boolean at the end. Watch out on the comments: long's comment doesn't say it's comparable to itself, and "// Number, any boxed form of a numeric primitive, and any captures." ignores that Number is comparable to Object. Since deciding 'true' in truthtab means deciding whether JLS 15.21.1, .2, or .3 is involved, I think the section number should be reified in truthtab. You could replace false and true with 0 and 1/2/3. If you get the order of the master list right, the patterns of 1/2/3 should be rather predictable. Alex On 6/10/2013 2:47 PM, Eric McCorkle wrote: > Link here: > http://cr.openjdk.java.net/~emc/8013357/webrev.05/ > > On 06/10/13 17:40, Eric McCorkle wrote: >> Okay, I implemented a better test which iterates all (24^2) >> possibilities. This actually did expose some additional problem cases. >> >> Please look at the tests, and ensure that they are JLS-compliant. >> >> On 06/07/13 13:24, Maurizio Cimadamore wrote: >>> On 07/06/13 18:17, Eric McCorkle wrote: >>>> That's a good testing library, but I have some reservations about using >>>> it here. >>>> >>>> First, isEqualityComparable represents a subset of the work that should >>>> go into deciding whether a == b is a valid comparison (regretfully so, >>>> and we should probably look at cleaning up this part of the compiler a >>>> bit). Maybe it would be good to make an enhancement request to build a >>>> similar library which tests operators. >>> Yes and no - there are still at least 9 * 9 combinations (all primitives >>> + Object vs. all primitives plus Object) >>> >>> If you throw a bunch of reference type in the picture to check the >>> castable thing, the number of possibilities is even higher. >>>> >>>> Second, the bug was about a specific program that should have caused a >>>> compiler error but didn't. So it seems better to test it with >>>> source-based tests. >>> You can, in addition, write a simple source-based test (replica of >>> what's in JIRA) just to check that error message is generated correctly. >>> >>> Maurizio >>>> >>>> On 06/07/13 11:41, Maurizio Cimadamore wrote: >>>>> Nice - now you 'only' have to fix the test by using the Type harness: >>>>> >>>>> http://hg.openjdk.java.net/jdk8/tl/langtools/file/5b039297151e/test/tools/javac/types/PrimitiveConversionTest.java >>>>> >>>>> >>>>> Maurizio >>>>> >>>>> On 07/06/13 16:27, Eric McCorkle wrote: >>>>>> Ok, I got it now... >>>>>> >>>>>> That code works because it never sees Boxed(T) == T comparisons. Back >>>>>> in Attr, when it decides which opcode to use, it does the boxing and >>>>>> unboxing. So say, Integer == int will get if_icmpeq, whereas object >>>>>> comparisons will get if_acmpeq. It only calls isEqualityComparable >>>>>> when >>>>>> the comparison is for if_acmpeq, so isEqualityComparable never sees >>>>>> primitive == primitive or Boxed(T) == T comparisons at all. >>>>>> >>>>>> I posted a new webrev with isEqualityComparable slimmed down to not do >>>>>> primitive == primitive comparisons, expanded comments, and some >>>>>> extra tests. >>>>>> >>>>>> On 06/07/13 06:29, Maurizio Cimadamore wrote: >>>>>>> On 06/06/13 21:21, Eric McCorkle wrote: >>>>>>>> Is there any reason why isPrimitive() on the type representing Number >>>>>>>> (or any unboxable type, for that matter) would return true? >>>>>>>> Because if >>>>>>>> that's the case, and isSubtype handles unboxing, then it would >>>>>>>> explain >>>>>>>> why this code works for Boxed(T) == T style comparisons. >>>>>>> Nope - isPrimitive should only take the type tag and compare it >>>>>>> with the >>>>>>> primitive tags. Number, Integer etc. have tag CLASS, which is not >>>>>>> covered. >>>>>>> >>>>>>> Maurizio >>>>>>>> On 06/06/13 11:41, Maurizio Cimadamore wrote: >>>>>>>>> Ok - thx for the clarification! >>>>>>>>> >>>>>>>>> Maurizio >>>>>>>>> >>>>>>>>> On 06/06/13 16:06, Eric McCorkle wrote: >>>>>>>>>> That's what I meant when I said it didn't work, sorry if I >>>>>>>>>> wasn't clear >>>>>>>>>> about it. The code in webrev.01 does work, though. So does the >>>>>>>>>> following code: >>>>>>>>>> >>>>>>>>>> public boolean isEqualityComparable(Type s, Type t, Warner >>>>>>>>>> warn) { >>>>>>>>>> boolean tPrimitive = t.isPrimitive(); >>>>>>>>>> boolean sPrimitive = s.isPrimitive(); >>>>>>>>>> if (tPrimitive && sPrimitive) { >>>>>>>>>> return isSubtype(s, t) || isSubtype(t, s); >>>>>>>>>> } else if (!tPrimitive && !sPrimitive) { >>>>>>>>>> return isCastable(s, t, warn) || isCastable(t, s, >>>>>>>>>> warn); >>>>>>>>>> } else >>>>>>>>>> return false; >>>>>>>>>> } >>>>>>>>>> >>>>>>>>>> I haven't posted a new webrev yet, though, as I want to understand >>>>>>>>>> *why* >>>>>>>>>> it works, and why the code with unboxedTypeOrType doesn't work. >>>>>>>>>> >>>>>>>>>> On 06/05/13 05:16, Maurizio Cimadamore wrote: >>>>>>>>>>> All versions I've seen so far are wrong in a way or another, so I >>>>>>>>>>> would >>>>>>>>>>> not go back to a previous version. Have you tried the code I >>>>>>>>>>> pasted in >>>>>>>>>>> my last email? >>>>>>>>>>> >>>>>>>>>>> Maurizio >>>>>>>>>>> >>>>>>>>>>> On 04/06/13 23:03, Eric McCorkle wrote: >>>>>>>>>>>> Actually that code doesn't work (it won't even get through a >>>>>>>>>>>> build). >>>>>>>>>>>> Any kind of null == Object comparison fails. Strangely, the >>>>>>>>>>>> code in >>>>>>>>>>>> webrev.02 seems to pass all the existing tests (including my new >>>>>>>>>>>> ones), >>>>>>>>>>>> which seems strange to me. >>>>>>>>>>>> >>>>>>>>>>>> I'll backpedal to webrev.01 and simplify it. But perhaps we >>>>>>>>>>>> ought to >>>>>>>>>>>> flag this part of the type checker for refactoring as well. >>>>>>>>>>>> >>>>>>>>>>>> On 06/04/13 06:08, Maurizio Cimadamore wrote: >>>>>>>>>>>>> On 03/06/13 20:38, Eric McCorkle wrote: >>>>>>>>>>>>>> Good suggestion, I've made the change (no new webrev, as it >>>>>>>>>>>>>> just >>>>>>>>>>>>>> reorders defs). >>>>>>>>>>>>>> >>>>>>>>>>>>>> Are there any more suggestions from anyone, or is this one >>>>>>>>>>>>>> good to >>>>>>>>>>>>>> go? >>>>>>>>>>>>> The code is wrong - I didn't realize when writing it on the >>>>>>>>>>>>> review. >>>>>>>>>>>>> You >>>>>>>>>>>>> only do unboxing _after_ having checked that both types are >>>>>>>>>>>>> primitives - >>>>>>>>>>>>> so nothing can possibly happen. I have to say I'm a bit worried >>>>>>>>>>>>> that the >>>>>>>>>>>>> test you wrote didn't catch this (as well as the symmetry >>>>>>>>>>>>> problems >>>>>>>>>>>>> with >>>>>>>>>>>>> the previous implementation). I'd focus on writing a better test >>>>>>>>>>>>> first >>>>>>>>>>>>> and then tweaking the compiler code accordingly. Note that >>>>>>>>>>>>> the test >>>>>>>>>>>>> can >>>>>>>>>>>>> be made much simpler by using the infrastructure for testing >>>>>>>>>>>>> types >>>>>>>>>>>>> available in test/tools/javac/types (which will save you the >>>>>>>>>>>>> hassle of >>>>>>>>>>>>> creating mini test cases when the only thing you are interested >>>>>>>>>>>>> in is >>>>>>>>>>>>> whether a type is 'equality comparable' to another type). >>>>>>>>>>>>> >>>>>>>>>>>>> The right code for the test should be this: >>>>>>>>>>>>> >>>>>>>>>>>>> if (allowBoxing) { >>>>>>>>>>>>> s = unboxedTypeOrType(s); >>>>>>>>>>>>> t = unboxedTypeOrType(t); >>>>>>>>>>>>> } >>>>>>>>>>>>> >>>>>>>>>>>>> boolean tPrimitive = t.isPrimitive(); >>>>>>>>>>>>> boolean sPrimitive = s.isPrimitive(); >>>>>>>>>>>>> >>>>>>>>>>>>> if (tPrimitive && sPrimitive) { >>>>>>>>>>>>> return isSubtype(s, t) || isSubtype(t, s); >>>>>>>>>>>>> } else if (!tPrimitive && !sPrimitive) { >>>>>>>>>>>>> return isCastable(s, t, warn) || isCastable(t, s, warn); >>>>>>>>>>>>> } else { >>>>>>>>>>>>> return false; >>>>>>>>>>>>> } >>>>>>>>>>>>> >>>>>>>>>>>>> Maurizio >>>>>>>>>>>>>> On 06/03/13 14:22, Alex Buckley wrote: >>>>>>>>>>>>>>> In ObjectZeroCompare, I would just suggest having the >>>>>>>>>>>>>>> *_name and >>>>>>>>>>>>>>> *_contents variables listed in the same order as the >>>>>>>>>>>>>>> assert_compile_* >>>>>>>>>>>>>>> invocations in run(). I think the most readable order is: >>>>>>>>>>>>>>> Object, >>>>>>>>>>>>>>> Number, IntegerSuper, Uncastable, [Flips from failure to >>>>>>>>>>>>>>> success >>>>>>>>>>>>>>> here] >>>>>>>>>>>>>>> Castable, Integer, etc [as you have it already]. >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> Alex >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> On 6/3/2013 11:11 AM, Eric McCorkle wrote: >>>>>>>>>>>>>>>> Forgot the URL on this. It's here: >>>>>>>>>>>>>>>> http://cr.openjdk.java.net/~emc/8013357/webrev.02/ >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> On 06/01/13 08:28, Eric McCorkle wrote: >>>>>>>>>>>>>>>>> New webrev is up. I rolled back allowing Number == >>>>>>>>>>>>>>>>> primitive >>>>>>>>>>>>>>>>> comparisons (I thought I'd rolled that back in the >>>>>>>>>>>>>>>>> previous), >>>>>>>>>>>>>>>>> and I >>>>>>>>>>>>>>>>> implemented maurizio's suggested simpler comparison. I also >>>>>>>>>>>>>>>>> added a few >>>>>>>>>>>>>>>>> more test cases. >>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> JPRT's been a bit unreliable, but I'm getting clean runs. >>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> Please review and comment. >>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> On 05/30/13 05:03, Maurizio Cimadamore wrote: >>>>>>>>>>>>>>>>>> On 29/05/13 20:53, Eric McCorkle wrote: >>>>>>>>>>>>>>>>>>> Hello, >>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>> Please review my latest patch for this problem. Since my >>>>>>>>>>>>>>>>>>> earlier >>>>>>>>>>>>>>>>>>> review >>>>>>>>>>>>>>>>>>> request, several things have happened: >>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>> 1) A CCC has been submitted, reviewed (at length) and >>>>>>>>>>>>>>>>>>> approved. >>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>> 2) I've confirmed the correct behavior wrt >>>>>>>>>>>>>>>>>>> object-primitive >>>>>>>>>>>>>>>>>>> comparisons. >>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>> 3) I've fixed some errors in our tests, which would not >>>>>>>>>>>>>>>>>>> compile >>>>>>>>>>>>>>>>>>> when >>>>>>>>>>>>>>>>>>> javac enforces the correct type rules. >>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>> 4) This change has been flagged for a release note. >>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>> The webrev is here: >>>>>>>>>>>>>>>>>>> http://cr.openjdk.java.net/~emc/8013357/webrev.01/ >>>>>>>>>>>>>>>>>> Hi, >>>>>>>>>>>>>>>>>> couple of comments: >>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>> *) I would be wary of adding Number to the symtab which >>>>>>>>>>>>>>>>>> will >>>>>>>>>>>>>>>>>> load >>>>>>>>>>>>>>>>>> symbols eagerly; j.l.Number is not available on all >>>>>>>>>>>>>>>>>> platforms, >>>>>>>>>>>>>>>>>> so there >>>>>>>>>>>>>>>>>> will be issues when using javac in cross compilation >>>>>>>>>>>>>>>>>> environment, >>>>>>>>>>>>>>>>>> compiling against a J2ME rt.jar; the usual trick is to call >>>>>>>>>>>>>>>>>> Symbtab. >>>>>>>>>>>>>>>>>> synthesizeEmptyInterfaceIfMissing (see for other code in >>>>>>>>>>>>>>>>>> Symtab >>>>>>>>>>>>>>>>>> that >>>>>>>>>>>>>>>>>> does that for a reference). >>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>> *) The logic for checking equality seems >>>>>>>>>>>>>>>>>> questionable/overly >>>>>>>>>>>>>>>>>> complex >>>>>>>>>>>>>>>>>> (expanded in meta code below): >>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>> boolean isEqualityComparable (Type s, Type t) >>>>>>>>>>>>>>>>>> if () { >>>>>>>>>>>>>>>>>> return s <: t //1 >>>>>>>>>>>>>>>>>> } else if () { >>>>>>>>>>>>>>>>>> return s castable to t //2 >>>>>>>>>>>>>>>>>> } else if (source >= 1.5) { >>>>>>>>>>>>>>>>>> if () { >>>>>>>>>>>>>>>>>> return () ? >>>>>>>>>>>>>>>>> (unbox(s) <: >>>>>>>>>>>>>>>>>> t) //3 >>>>>>>>>>>>>>>>>> } else { >>>>>>>>>>>>>>>>>> return () ? >>>>>>>>>>>>>>>>> (unbox(t) <: >>>>>>>>>>>>>>>>>> s) //4 >>>>>>>>>>>>>>>>>> } >>>>>>>>>>>>>>>>>> } >>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>> The first thing that strikes me is that in places (1, 2, >>>>>>>>>>>>>>>>>> 3, 4) >>>>>>>>>>>>>>>>>> we are >>>>>>>>>>>>>>>>>> not being symmetric; i.e. >>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>> isEqualityComparable(int, long) = true >>>>>>>>>>>>>>>>>> isEqualityComparable(long, int) = false >>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>> The second thing that worries me is that the spec says >>>>>>>>>>>>>>>>>> something >>>>>>>>>>>>>>>>>> like: >>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>> *) if both are numeric (i.e. primitives) and one is >>>>>>>>>>>>>>>>>> convertible to >>>>>>>>>>>>>>>>>> numeric (i.e. unboxable), then a numeric comparison is >>>>>>>>>>>>>>>>>> performed >>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>> I think this means that the code should do some check to >>>>>>>>>>>>>>>>>> see >>>>>>>>>>>>>>>>>> whether >>>>>>>>>>>>>>>>>> numeric comparison is applicable, (i.e. eventually >>>>>>>>>>>>>>>>>> unboxing) >>>>>>>>>>>>>>>>>> and >>>>>>>>>>>>>>>>>> then >>>>>>>>>>>>>>>>>> calling appropriate routine to do the comparison test. >>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>> Also, restating a point raised by Alex, Number == >>>>>>>>>>>>>>>>>> primitive is >>>>>>>>>>>>>>>>>> not >>>>>>>>>>>>>>>>>> allowed as Number is not convertible to a numeric type; I >>>>>>>>>>>>>>>>>> think the >>>>>>>>>>>>>>>>>> test >>>>>>>>>>>>>>>>>> should be something like: >>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>> boolean isEqualityComparable(Type s, Type t) >>>>>>>>>>>>>>>>>> if () { >>>>>>>>>>>>>>>>>> if (source >= 1.5) { >>>>>>>>>>>>>>>>>> s = types.unboxedTypeOrType(s); >>>>>>>>>>>>>>>>>> t = types.unboxedTypeOrType(t); >>>>>>>>>>>>>>>>>> } >>>>>>>>>>>>>>>>>> return s <: t || t <: s; >>>>>>>>>>>>>>>>>> } else if () { >>>>>>>>>>>>>>>>>> return (s castable to t) || (t castable to s); >>>>>>>>>>>>>>>>>> } >>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>> Maurizio >>>>>>>>>>>>>>>>>> >>> From david.holmes at oracle.com Mon Jun 10 22:58:13 2013 From: david.holmes at oracle.com (David Holmes) Date: Tue, 11 Jun 2013 15:58:13 +1000 Subject: Is there a better way to throw this exception? In-Reply-To: <51B19162.9010809@oracle.com> References: <51B0599D.4020906@oracle.com> <51B0A348.70805@gmail.com> <51B19162.9010809@oracle.com> Message-ID: <51B6BC75.6050102@oracle.com> Sorry missed the return after once() in the original code. David On 7/06/2013 5:53 PM, David Holmes wrote: > Peter, > > On 7/06/2013 12:57 AM, Peter Levart wrote: >> On 06/06/2013 11:42 AM, Weijun Wang wrote: >>> Hi All >>> >>> I have a method that could throw two kinds of checked exceptions and >>> possibly other unchecked ones: >>> >>> void once() throws One, Two >>> >>> Now I have a wrapper method that calls once() for multiple times, and >>> want to throw the first exception if *all* fails. Now it looks like >>> >>> void multiple() throws One, Two { >>> Exception saved = null; >>> for (all chances) { >>> try { >>> once(); >>> return; >>> } catch (Exception e) { >>> if (saved != null) saved = e; >>> } >>> } >>> if (saved instanceof One) { >>> throw (One)saved; >>> } else if (saved instanceof One) { >>> throw (Two)saved; >>> } else if (saved instanceof RuntimeException) { >>> throw (RuntimeException)saved; >>> } else { >>> // Not likely, but I've already wrote so many lines. >>> throw new RuntimeException(saved); >>> } >>> } >>> >>> Is there any way I can make it shorter? >> >> Hi Max, >> >> If you don't mind re-throwing the last exception thrown instead of the >> first and you can transform your for loop into a while loop, for example: >> >> void multiple() throws One, Two { >> int tries = 10; >> int i = 0; >> while (true) { >> try { >> once(); >> return; >> } catch (Exception e) { >> if (++i >= tries) { >> throw e; >> } >> } >> } >> } >> >> >> ...otherwise you can re-throw the first exception if you can extract the >> first loop iteration out of the loop: >> >> >> void multiple() throws One, Two { >> try { >> once(); // first chance >> return; >> } catch (Exception e) { >> for (rest of chances) { >> try { >> once(); >> return; >> } >> catch (Exception ignore) {} >> } >> throw e; >> } >> } > > But the first call need not throw. > > David > ----- > > >> >> Regards, Peter >> >>> >>> Thanks >>> Max >> From sundararajan.athijegannathan at oracle.com Tue Jun 11 01:06:40 2013 From: sundararajan.athijegannathan at oracle.com (sundararajan.athijegannathan at oracle.com) Date: Tue, 11 Jun 2013 08:06:40 +0000 Subject: hg: jdk8/tl/nashorn: 7 new changesets Message-ID: <20130611080646.C18524811F@hg.openjdk.java.net> Changeset: bab844827181 Author: sundar Date: 2013-06-06 21:41 +0530 URL: http://hg.openjdk.java.net/jdk8/tl/nashorn/rev/bab844827181 8015346: JSON parsing issues with escaped strings, octal, decimal numbers Reviewed-by: hannesw, jlaskey ! src/jdk/nashorn/internal/ir/BlockLexicalContext.java ! src/jdk/nashorn/internal/parser/JSONParser.java ! src/jdk/nashorn/internal/parser/Lexer.java ! src/jdk/nashorn/internal/runtime/JSONFunctions.java ! src/jdk/nashorn/internal/runtime/resources/Messages.properties + test/script/basic/JDK-8015346.js Changeset: 918a986b0478 Author: hannesw Date: 2013-06-07 17:44 +0200 URL: http://hg.openjdk.java.net/jdk8/tl/nashorn/rev/918a986b0478 8012291: NativeArray is inconsistent in using long for length and index in some places and int for the same in other places Reviewed-by: lagergren, jlaskey ! src/jdk/nashorn/internal/codegen/FieldObjectCreator.java ! src/jdk/nashorn/internal/codegen/MapCreator.java ! src/jdk/nashorn/internal/objects/ArrayBufferView.java ! src/jdk/nashorn/internal/objects/NativeArguments.java ! src/jdk/nashorn/internal/objects/NativeArray.java ! src/jdk/nashorn/internal/objects/NativeString.java ! src/jdk/nashorn/internal/runtime/JSONFunctions.java ! src/jdk/nashorn/internal/runtime/ScriptObject.java ! src/jdk/nashorn/internal/runtime/arrays/ArrayIndex.java ! src/jdk/nashorn/internal/runtime/arrays/SparseArrayData.java ! src/jdk/nashorn/internal/runtime/resources/Messages.properties + test/examples/array-micro.js + test/script/basic/JDK-8012291.js + test/script/basic/JDK-8012291.js.EXPECTED Changeset: 8f890b6bf6de Author: lagergren Date: 2013-06-10 13:21 +0200 URL: http://hg.openjdk.java.net/jdk8/tl/nashorn/rev/8f890b6bf6de 8015892: canBeUndefined too conservative for some use before declaration cases Reviewed-by: attila, hannesw ! src/jdk/nashorn/internal/codegen/Attr.java ! src/jdk/nashorn/internal/ir/Symbol.java + test/script/basic/JDK-8015892.js + test/script/basic/fib_wtf.js + test/script/basic/fib_wtf.js.EXPECTED Changeset: a6f8ea57f048 Author: lagergren Date: 2013-06-10 13:27 +0200 URL: http://hg.openjdk.java.net/jdk8/tl/nashorn/rev/a6f8ea57f048 8016226: backing out test without third party license approval Reviewed-by: attila, sundar - test/script/basic/fib_wtf.js - test/script/basic/fib_wtf.js.EXPECTED Changeset: 966868ef75ee Author: sundar Date: 2013-06-10 19:54 +0530 URL: http://hg.openjdk.java.net/jdk8/tl/nashorn/rev/966868ef75ee 8016239: loadWithNewGlobal should support user supplied arguments from the caller Reviewed-by: lagergren, attila, jlaskey ! src/jdk/nashorn/internal/objects/Global.java ! src/jdk/nashorn/internal/runtime/Context.java + test/script/basic/JDK-8016239.js + test/script/basic/JDK-8016239.js.EXPECTED Changeset: 1a5d67424e83 Author: sundar Date: 2013-06-11 13:09 +0530 URL: http://hg.openjdk.java.net/jdk8/tl/nashorn/rev/1a5d67424e83 8015357: a = []; a[0x7fffffff]=1; a.sort()[0] should evaluate to 1 instead of undefined Reviewed-by: hannesw, lagergren + test/script/basic/JDK-8015357.js Changeset: fe830f6daa3f Author: sundar Date: 2013-06-11 13:12 +0530 URL: http://hg.openjdk.java.net/jdk8/tl/nashorn/rev/fe830f6daa3f Merge From vicente.romero at oracle.com Tue Jun 11 01:36:34 2013 From: vicente.romero at oracle.com (vicente.romero at oracle.com) Date: Tue, 11 Jun 2013 08:36:34 +0000 Subject: hg: jdk8/tl/langtools: 8008547: javac, warning message: use of ''_'' as an identifier might not be supported in future releases, should be more especific Message-ID: <20130611083640.0978648121@hg.openjdk.java.net> Changeset: bbedff0dc37e Author: vromero Date: 2013-06-11 09:35 +0100 URL: http://hg.openjdk.java.net/jdk8/tl/langtools/rev/bbedff0dc37e 8008547: javac, warning message: use of ''_'' as an identifier might not be supported in future releases, should be more especific Reviewed-by: jjg ! src/share/classes/com/sun/tools/javac/resources/compiler.properties From vicente.romero at oracle.com Tue Jun 11 02:07:34 2013 From: vicente.romero at oracle.com (vicente.romero at oracle.com) Date: Tue, 11 Jun 2013 09:07:34 +0000 Subject: hg: jdk8/tl/langtools: 8007907: javap, method com.sun.tools.javap.Main.run returns 0 even in case of class not found error Message-ID: <20130611090736.E131C48123@hg.openjdk.java.net> Changeset: 7fe655cad9b1 Author: vromero Date: 2013-06-11 09:59 +0100 URL: http://hg.openjdk.java.net/jdk8/tl/langtools/rev/7fe655cad9b1 8007907: javap, method com.sun.tools.javap.Main.run returns 0 even in case of class not found error Reviewed-by: jjg ! src/share/classes/com/sun/tools/javap/JavapTask.java ! test/tools/javac/constDebug/ConstDebugTest.java ! test/tools/javap/8006334/JavapTaskCtorFailWithNPE.java + test/tools/javap/8007907/JavapReturns0AfterClassNotFoundTest.java ! test/tools/javap/T4777949.java ! test/tools/javap/T7190862.java From vicente.romero at oracle.com Tue Jun 11 03:22:59 2013 From: vicente.romero at oracle.com (Vicente-Arturo Romero-Zaldivar) Date: Tue, 11 Jun 2013 11:22:59 +0100 Subject: Review request for JDK-7179353: try-with-resources fails to compile with generic exception parameters In-Reply-To: <1274996477.694329.1370861211715.JavaMail.root@redhat.com> References: <51A87CB2.3070407@oracle.com> <1274996477.694329.1370861211715.JavaMail.root@redhat.com> Message-ID: <51B6FA83.5000602@oracle.com> On 10/06/13 11:46, Andrew Hughes wrote: > ----- Original Message ----- >> Hi, >> >> This is the backport to jdk7_dev of the the patch already pushed to >> jdk8/tl/langtools (changeset 9f11c7676cd5). >> >> You can find the public webrev at: >> >> http://cr.openjdk.java.net/~vromero/7179353_jdk7/webrev.00/ >> >> Thanks, >> Vicente >> > Incidentally, if this is for 7u, shouldn't it be posted to the 7u-dev > list? > > Thanks, Hi Andrew, The mail was sent to the 7u-dev list. You can find the approval mail here: http://permalink.gmane.org/gmane.comp.java.openjdk.jdk7u.devel/6347 Let me know if you don't have access to the link. Vicente From paul.sandoz at oracle.com Tue Jun 11 03:24:18 2013 From: paul.sandoz at oracle.com (paul.sandoz at oracle.com) Date: Tue, 11 Jun 2013 10:24:18 +0000 Subject: hg: jdk8/tl/jdk: 8015895: Int/LongStream.range/rangeClosed; ... Message-ID: <20130611102442.9E0E148127@hg.openjdk.java.net> Changeset: 8d627f324c38 Author: psandoz Date: 2013-06-11 12:13 +0200 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/8d627f324c38 8015895: Int/LongStream.range/rangeClosed 8012986: Right-bias range spliterators for large ranges Reviewed-by: mduigou ! src/share/classes/java/util/stream/IntStream.java ! src/share/classes/java/util/stream/LongStream.java ! src/share/classes/java/util/stream/Streams.java ! test/java/util/stream/bootlib/java/util/stream/IntStreamTestDataProvider.java ! test/java/util/stream/bootlib/java/util/stream/LongStreamTestDataProvider.java ! test/java/util/stream/test/org/openjdk/tests/java/util/stream/RangeTest.java From vicente.romero at oracle.com Tue Jun 11 04:09:12 2013 From: vicente.romero at oracle.com (Vicente-Arturo Romero-Zaldivar) Date: Tue, 11 Jun 2013 12:09:12 +0100 Subject: Review request for JDK-7179353: try-with-resources fails to compile with generic exception parameters In-Reply-To: <1717438145.688974.1370859769730.JavaMail.root@redhat.com> References: <51A87CB2.3070407@oracle.com> <1717438145.688974.1370859769730.JavaMail.root@redhat.com> Message-ID: <51B70558.2090507@oracle.com> On 10/06/13 11:22, Andrew Hughes wrote: > ----- Original Message ----- >> Hi, >> >> This is the backport to jdk7_dev of the the patch already pushed to >> jdk8/tl/langtools (changeset 9f11c7676cd5). >> >> You can find the public webrev at: >> >> http://cr.openjdk.java.net/~vromero/7179353_jdk7/webrev.00/ >> >> Thanks, >> Vicente >> > The bug ID link on this webrev is to an internal server > (http://monaco.sfbay.sun.com/detail.jsp?cr=7179353). Could you please > link public webrevs to the public bug database? > > Thanks, Hi Andrew, Thanks for your mails and sorry for the issue. I have published a new webrev at http://cr.openjdk.java.net/~vromero/7179353_jdk7/webrev.01/. Please let me know if you have any further comments. Vicente. From eric.mccorkle at oracle.com Tue Jun 11 06:10:55 2013 From: eric.mccorkle at oracle.com (Eric McCorkle) Date: Tue, 11 Jun 2013 09:10:55 -0400 Subject: Review request for JDK-8013357: Javac accepts erroneous binary comparison operations In-Reply-To: <51B67A20.1010904@oracle.com> References: <51A65CAD.5020905@oracle.com> <51A715F4.2040709@oracle.com> <51A9E8E3.2010706@oracle.com> <51ACDC4A.3070500@oracle.com> <51ACDEED.5080709@oracle.com> <51ACF0A4.2000606@oracle.com> <51ADBC83.8080405@oracle.com> <51AE643E.8040506@oracle.com> <51AF01DB.8020903@oracle.com> <51B0A565.8020406@oracle.com> <51B0ADAE.6020606@oracle.com> <51B0EF4C.5030609@oracle.com> <51B1B5F4.6090200@oracle.com> <51B1FBF5.2060700@oracle.com> <51B1FF0E.60908@oracle.com> <51B21596.4020304@oracle.com> <51B21730.2060109@oracle.com> <51B647DA.80103@oracle.com> <51B64973.7080304@oracle.com> <51B67A20.1010904@oracle.com> Message-ID: <51B721DF.90005@oracle.com> Good suggestion. Something else occurred to me: the scope of this test has grown beyond that of a simple regression test. It should probably be moved to a subdirectory of test/tools/javac purposed for more exhaustive tests. Jon or Maurizio, do you have an suggestions? On 06/10/13 21:15, Alex Buckley wrote: > The only reasonable way to check correctness of truthtab entries for, > say, Object, is to know that "the first six are comparisons with > non-numeric reference types, the second six with primitive types, the > third six are captured numeric reference types", etc. Well, things > aren't so easy, as CompareType splits the seven captured types across > two groups of six. I guess a single master list of types which is > compared with itself is good for completeness, but please order the > CompareType constants in a saner way. Please see JLS7 5.5 for the order > in which I presented primitive and reference types in tables 5.1 and 5.2 > - don't forget byte, and stick boolean/Boolean at the end. > > Watch out on the comments: long's comment doesn't say it's comparable to > itself, and "// Number, any boxed form of a numeric primitive, and any > captures." ignores that Number is comparable to Object. > > Since deciding 'true' in truthtab means deciding whether JLS 15.21.1, > .2, or .3 is involved, I think the section number should be reified in > truthtab. You could replace false and true with 0 and 1/2/3. If you get > the order of the master list right, the patterns of 1/2/3 should be > rather predictable. > > Alex > > On 6/10/2013 2:47 PM, Eric McCorkle wrote: >> Link here: >> http://cr.openjdk.java.net/~emc/8013357/webrev.05/ >> >> On 06/10/13 17:40, Eric McCorkle wrote: >>> Okay, I implemented a better test which iterates all (24^2) >>> possibilities. This actually did expose some additional problem cases. >>> >>> Please look at the tests, and ensure that they are JLS-compliant. >>> >>> On 06/07/13 13:24, Maurizio Cimadamore wrote: >>>> On 07/06/13 18:17, Eric McCorkle wrote: >>>>> That's a good testing library, but I have some reservations about >>>>> using >>>>> it here. >>>>> >>>>> First, isEqualityComparable represents a subset of the work that >>>>> should >>>>> go into deciding whether a == b is a valid comparison (regretfully so, >>>>> and we should probably look at cleaning up this part of the compiler a >>>>> bit). Maybe it would be good to make an enhancement request to >>>>> build a >>>>> similar library which tests operators. >>>> Yes and no - there are still at least 9 * 9 combinations (all >>>> primitives >>>> + Object vs. all primitives plus Object) >>>> >>>> If you throw a bunch of reference type in the picture to check the >>>> castable thing, the number of possibilities is even higher. >>>>> >>>>> Second, the bug was about a specific program that should have caused a >>>>> compiler error but didn't. So it seems better to test it with >>>>> source-based tests. >>>> You can, in addition, write a simple source-based test (replica of >>>> what's in JIRA) just to check that error message is generated >>>> correctly. >>>> >>>> Maurizio >>>>> >>>>> On 06/07/13 11:41, Maurizio Cimadamore wrote: >>>>>> Nice - now you 'only' have to fix the test by using the Type harness: >>>>>> >>>>>> http://hg.openjdk.java.net/jdk8/tl/langtools/file/5b039297151e/test/tools/javac/types/PrimitiveConversionTest.java >>>>>> >>>>>> >>>>>> >>>>>> Maurizio >>>>>> >>>>>> On 07/06/13 16:27, Eric McCorkle wrote: >>>>>>> Ok, I got it now... >>>>>>> >>>>>>> That code works because it never sees Boxed(T) == T comparisons. >>>>>>> Back >>>>>>> in Attr, when it decides which opcode to use, it does the boxing and >>>>>>> unboxing. So say, Integer == int will get if_icmpeq, whereas object >>>>>>> comparisons will get if_acmpeq. It only calls isEqualityComparable >>>>>>> when >>>>>>> the comparison is for if_acmpeq, so isEqualityComparable never sees >>>>>>> primitive == primitive or Boxed(T) == T comparisons at all. >>>>>>> >>>>>>> I posted a new webrev with isEqualityComparable slimmed down to >>>>>>> not do >>>>>>> primitive == primitive comparisons, expanded comments, and some >>>>>>> extra tests. >>>>>>> >>>>>>> On 06/07/13 06:29, Maurizio Cimadamore wrote: >>>>>>>> On 06/06/13 21:21, Eric McCorkle wrote: >>>>>>>>> Is there any reason why isPrimitive() on the type representing >>>>>>>>> Number >>>>>>>>> (or any unboxable type, for that matter) would return true? >>>>>>>>> Because if >>>>>>>>> that's the case, and isSubtype handles unboxing, then it would >>>>>>>>> explain >>>>>>>>> why this code works for Boxed(T) == T style comparisons. >>>>>>>> Nope - isPrimitive should only take the type tag and compare it >>>>>>>> with the >>>>>>>> primitive tags. Number, Integer etc. have tag CLASS, which is not >>>>>>>> covered. >>>>>>>> >>>>>>>> Maurizio >>>>>>>>> On 06/06/13 11:41, Maurizio Cimadamore wrote: >>>>>>>>>> Ok - thx for the clarification! >>>>>>>>>> >>>>>>>>>> Maurizio >>>>>>>>>> >>>>>>>>>> On 06/06/13 16:06, Eric McCorkle wrote: >>>>>>>>>>> That's what I meant when I said it didn't work, sorry if I >>>>>>>>>>> wasn't clear >>>>>>>>>>> about it. The code in webrev.01 does work, though. So does the >>>>>>>>>>> following code: >>>>>>>>>>> >>>>>>>>>>> public boolean isEqualityComparable(Type s, Type t, >>>>>>>>>>> Warner >>>>>>>>>>> warn) { >>>>>>>>>>> boolean tPrimitive = t.isPrimitive(); >>>>>>>>>>> boolean sPrimitive = s.isPrimitive(); >>>>>>>>>>> if (tPrimitive && sPrimitive) { >>>>>>>>>>> return isSubtype(s, t) || isSubtype(t, s); >>>>>>>>>>> } else if (!tPrimitive && !sPrimitive) { >>>>>>>>>>> return isCastable(s, t, warn) || >>>>>>>>>>> isCastable(t, s, >>>>>>>>>>> warn); >>>>>>>>>>> } else >>>>>>>>>>> return false; >>>>>>>>>>> } >>>>>>>>>>> >>>>>>>>>>> I haven't posted a new webrev yet, though, as I want to >>>>>>>>>>> understand >>>>>>>>>>> *why* >>>>>>>>>>> it works, and why the code with unboxedTypeOrType doesn't work. >>>>>>>>>>> >>>>>>>>>>> On 06/05/13 05:16, Maurizio Cimadamore wrote: >>>>>>>>>>>> All versions I've seen so far are wrong in a way or another, >>>>>>>>>>>> so I >>>>>>>>>>>> would >>>>>>>>>>>> not go back to a previous version. Have you tried the code I >>>>>>>>>>>> pasted in >>>>>>>>>>>> my last email? >>>>>>>>>>>> >>>>>>>>>>>> Maurizio >>>>>>>>>>>> >>>>>>>>>>>> On 04/06/13 23:03, Eric McCorkle wrote: >>>>>>>>>>>>> Actually that code doesn't work (it won't even get through a >>>>>>>>>>>>> build). >>>>>>>>>>>>> Any kind of null == Object comparison fails. Strangely, the >>>>>>>>>>>>> code in >>>>>>>>>>>>> webrev.02 seems to pass all the existing tests (including >>>>>>>>>>>>> my new >>>>>>>>>>>>> ones), >>>>>>>>>>>>> which seems strange to me. >>>>>>>>>>>>> >>>>>>>>>>>>> I'll backpedal to webrev.01 and simplify it. But perhaps we >>>>>>>>>>>>> ought to >>>>>>>>>>>>> flag this part of the type checker for refactoring as well. >>>>>>>>>>>>> >>>>>>>>>>>>> On 06/04/13 06:08, Maurizio Cimadamore wrote: >>>>>>>>>>>>>> On 03/06/13 20:38, Eric McCorkle wrote: >>>>>>>>>>>>>>> Good suggestion, I've made the change (no new webrev, as it >>>>>>>>>>>>>>> just >>>>>>>>>>>>>>> reorders defs). >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> Are there any more suggestions from anyone, or is this one >>>>>>>>>>>>>>> good to >>>>>>>>>>>>>>> go? >>>>>>>>>>>>>> The code is wrong - I didn't realize when writing it on the >>>>>>>>>>>>>> review. >>>>>>>>>>>>>> You >>>>>>>>>>>>>> only do unboxing _after_ having checked that both types are >>>>>>>>>>>>>> primitives - >>>>>>>>>>>>>> so nothing can possibly happen. I have to say I'm a bit >>>>>>>>>>>>>> worried >>>>>>>>>>>>>> that the >>>>>>>>>>>>>> test you wrote didn't catch this (as well as the symmetry >>>>>>>>>>>>>> problems >>>>>>>>>>>>>> with >>>>>>>>>>>>>> the previous implementation). I'd focus on writing a >>>>>>>>>>>>>> better test >>>>>>>>>>>>>> first >>>>>>>>>>>>>> and then tweaking the compiler code accordingly. Note that >>>>>>>>>>>>>> the test >>>>>>>>>>>>>> can >>>>>>>>>>>>>> be made much simpler by using the infrastructure for testing >>>>>>>>>>>>>> types >>>>>>>>>>>>>> available in test/tools/javac/types (which will save you the >>>>>>>>>>>>>> hassle of >>>>>>>>>>>>>> creating mini test cases when the only thing you are >>>>>>>>>>>>>> interested >>>>>>>>>>>>>> in is >>>>>>>>>>>>>> whether a type is 'equality comparable' to another type). >>>>>>>>>>>>>> >>>>>>>>>>>>>> The right code for the test should be this: >>>>>>>>>>>>>> >>>>>>>>>>>>>> if (allowBoxing) { >>>>>>>>>>>>>> s = unboxedTypeOrType(s); >>>>>>>>>>>>>> t = unboxedTypeOrType(t); >>>>>>>>>>>>>> } >>>>>>>>>>>>>> >>>>>>>>>>>>>> boolean tPrimitive = t.isPrimitive(); >>>>>>>>>>>>>> boolean sPrimitive = s.isPrimitive(); >>>>>>>>>>>>>> >>>>>>>>>>>>>> if (tPrimitive && sPrimitive) { >>>>>>>>>>>>>> return isSubtype(s, t) || isSubtype(t, s); >>>>>>>>>>>>>> } else if (!tPrimitive && !sPrimitive) { >>>>>>>>>>>>>> return isCastable(s, t, warn) || isCastable(t, s, >>>>>>>>>>>>>> warn); >>>>>>>>>>>>>> } else { >>>>>>>>>>>>>> return false; >>>>>>>>>>>>>> } >>>>>>>>>>>>>> >>>>>>>>>>>>>> Maurizio >>>>>>>>>>>>>>> On 06/03/13 14:22, Alex Buckley wrote: >>>>>>>>>>>>>>>> In ObjectZeroCompare, I would just suggest having the >>>>>>>>>>>>>>>> *_name and >>>>>>>>>>>>>>>> *_contents variables listed in the same order as the >>>>>>>>>>>>>>>> assert_compile_* >>>>>>>>>>>>>>>> invocations in run(). I think the most readable order is: >>>>>>>>>>>>>>>> Object, >>>>>>>>>>>>>>>> Number, IntegerSuper, Uncastable, [Flips from failure to >>>>>>>>>>>>>>>> success >>>>>>>>>>>>>>>> here] >>>>>>>>>>>>>>>> Castable, Integer, etc [as you have it already]. >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> Alex >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> On 6/3/2013 11:11 AM, Eric McCorkle wrote: >>>>>>>>>>>>>>>>> Forgot the URL on this. It's here: >>>>>>>>>>>>>>>>> http://cr.openjdk.java.net/~emc/8013357/webrev.02/ >>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> On 06/01/13 08:28, Eric McCorkle wrote: >>>>>>>>>>>>>>>>>> New webrev is up. I rolled back allowing Number == >>>>>>>>>>>>>>>>>> primitive >>>>>>>>>>>>>>>>>> comparisons (I thought I'd rolled that back in the >>>>>>>>>>>>>>>>>> previous), >>>>>>>>>>>>>>>>>> and I >>>>>>>>>>>>>>>>>> implemented maurizio's suggested simpler comparison. >>>>>>>>>>>>>>>>>> I also >>>>>>>>>>>>>>>>>> added a few >>>>>>>>>>>>>>>>>> more test cases. >>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>> JPRT's been a bit unreliable, but I'm getting clean runs. >>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>> Please review and comment. >>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>> On 05/30/13 05:03, Maurizio Cimadamore wrote: >>>>>>>>>>>>>>>>>>> On 29/05/13 20:53, Eric McCorkle wrote: >>>>>>>>>>>>>>>>>>>> Hello, >>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>> Please review my latest patch for this problem. >>>>>>>>>>>>>>>>>>>> Since my >>>>>>>>>>>>>>>>>>>> earlier >>>>>>>>>>>>>>>>>>>> review >>>>>>>>>>>>>>>>>>>> request, several things have happened: >>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>> 1) A CCC has been submitted, reviewed (at length) and >>>>>>>>>>>>>>>>>>>> approved. >>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>> 2) I've confirmed the correct behavior wrt >>>>>>>>>>>>>>>>>>>> object-primitive >>>>>>>>>>>>>>>>>>>> comparisons. >>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>> 3) I've fixed some errors in our tests, which would not >>>>>>>>>>>>>>>>>>>> compile >>>>>>>>>>>>>>>>>>>> when >>>>>>>>>>>>>>>>>>>> javac enforces the correct type rules. >>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>> 4) This change has been flagged for a release note. >>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>> The webrev is here: >>>>>>>>>>>>>>>>>>>> http://cr.openjdk.java.net/~emc/8013357/webrev.01/ >>>>>>>>>>>>>>>>>>> Hi, >>>>>>>>>>>>>>>>>>> couple of comments: >>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>> *) I would be wary of adding Number to the symtab which >>>>>>>>>>>>>>>>>>> will >>>>>>>>>>>>>>>>>>> load >>>>>>>>>>>>>>>>>>> symbols eagerly; j.l.Number is not available on all >>>>>>>>>>>>>>>>>>> platforms, >>>>>>>>>>>>>>>>>>> so there >>>>>>>>>>>>>>>>>>> will be issues when using javac in cross compilation >>>>>>>>>>>>>>>>>>> environment, >>>>>>>>>>>>>>>>>>> compiling against a J2ME rt.jar; the usual trick is >>>>>>>>>>>>>>>>>>> to call >>>>>>>>>>>>>>>>>>> Symbtab. >>>>>>>>>>>>>>>>>>> synthesizeEmptyInterfaceIfMissing (see for other code in >>>>>>>>>>>>>>>>>>> Symtab >>>>>>>>>>>>>>>>>>> that >>>>>>>>>>>>>>>>>>> does that for a reference). >>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>> *) The logic for checking equality seems >>>>>>>>>>>>>>>>>>> questionable/overly >>>>>>>>>>>>>>>>>>> complex >>>>>>>>>>>>>>>>>>> (expanded in meta code below): >>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>> boolean isEqualityComparable (Type s, Type t) >>>>>>>>>>>>>>>>>>> if () { >>>>>>>>>>>>>>>>>>> return s <: t //1 >>>>>>>>>>>>>>>>>>> } else if () { >>>>>>>>>>>>>>>>>>> return s castable to t //2 >>>>>>>>>>>>>>>>>>> } else if (source >= 1.5) { >>>>>>>>>>>>>>>>>>> if () { >>>>>>>>>>>>>>>>>>> return () ? >>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>> (unbox(s) <: >>>>>>>>>>>>>>>>>>> t) //3 >>>>>>>>>>>>>>>>>>> } else { >>>>>>>>>>>>>>>>>>> return () ? >>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>> (unbox(t) <: >>>>>>>>>>>>>>>>>>> s) //4 >>>>>>>>>>>>>>>>>>> } >>>>>>>>>>>>>>>>>>> } >>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>> The first thing that strikes me is that in places (1, 2, >>>>>>>>>>>>>>>>>>> 3, 4) >>>>>>>>>>>>>>>>>>> we are >>>>>>>>>>>>>>>>>>> not being symmetric; i.e. >>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>> isEqualityComparable(int, long) = true >>>>>>>>>>>>>>>>>>> isEqualityComparable(long, int) = false >>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>> The second thing that worries me is that the spec says >>>>>>>>>>>>>>>>>>> something >>>>>>>>>>>>>>>>>>> like: >>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>> *) if both are numeric (i.e. primitives) and one is >>>>>>>>>>>>>>>>>>> convertible to >>>>>>>>>>>>>>>>>>> numeric (i.e. unboxable), then a numeric comparison is >>>>>>>>>>>>>>>>>>> performed >>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>> I think this means that the code should do some check to >>>>>>>>>>>>>>>>>>> see >>>>>>>>>>>>>>>>>>> whether >>>>>>>>>>>>>>>>>>> numeric comparison is applicable, (i.e. eventually >>>>>>>>>>>>>>>>>>> unboxing) >>>>>>>>>>>>>>>>>>> and >>>>>>>>>>>>>>>>>>> then >>>>>>>>>>>>>>>>>>> calling appropriate routine to do the comparison test. >>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>> Also, restating a point raised by Alex, Number == >>>>>>>>>>>>>>>>>>> primitive is >>>>>>>>>>>>>>>>>>> not >>>>>>>>>>>>>>>>>>> allowed as Number is not convertible to a numeric >>>>>>>>>>>>>>>>>>> type; I >>>>>>>>>>>>>>>>>>> think the >>>>>>>>>>>>>>>>>>> test >>>>>>>>>>>>>>>>>>> should be something like: >>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>> boolean isEqualityComparable(Type s, Type t) >>>>>>>>>>>>>>>>>>> if () { >>>>>>>>>>>>>>>>>>> if (source >= 1.5) { >>>>>>>>>>>>>>>>>>> s = types.unboxedTypeOrType(s); >>>>>>>>>>>>>>>>>>> t = types.unboxedTypeOrType(t); >>>>>>>>>>>>>>>>>>> } >>>>>>>>>>>>>>>>>>> return s <: t || t <: s; >>>>>>>>>>>>>>>>>>> } else if () { >>>>>>>>>>>>>>>>>>> return (s castable to t) || (t castable to s); >>>>>>>>>>>>>>>>>>> } >>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>> Maurizio >>>>>>>>>>>>>>>>>>> >>>> -------------- next part -------------- A non-text attachment was scrubbed... Name: eric_mccorkle.vcf Type: text/x-vcard Size: 314 bytes Desc: not available Url : http://mail.openjdk.java.net/pipermail/compiler-dev/attachments/20130611/9bcd0acb/eric_mccorkle-0001.vcf From alan.bateman at oracle.com Tue Jun 11 06:15:00 2013 From: alan.bateman at oracle.com (alan.bateman at oracle.com) Date: Tue, 11 Jun 2013 13:15:00 +0000 Subject: hg: jdk8/tl/jdk: 3 new changesets Message-ID: <20130611131549.2F4AB48132@hg.openjdk.java.net> Changeset: 669be1677ab7 Author: alanb Date: 2013-06-11 11:22 +0100 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/669be1677ab7 7059085: Retire Thread.stop(Throwable) so that it throws UOE Reviewed-by: dholmes, chegar, forax, darcy, mduigou ! src/share/classes/java/lang/Thread.java + test/java/lang/Thread/StopThrowable.java Changeset: 1f33fd081860 Author: alanb Date: 2013-06-11 11:25 +0100 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/1f33fd081860 8016311: Update j.u.c. tests to avoid using Thread.stop(Throwable) Reviewed-by: alanb Contributed-by: martinrb at google.com ! test/java/util/concurrent/Executors/PrivilegedCallables.java ! test/java/util/concurrent/FutureTask/Throw.java ! test/java/util/concurrent/ThreadPoolExecutor/ThrowingTasks.java ! test/java/util/concurrent/locks/Lock/FlakyMutex.java Changeset: f1a1f65d2861 Author: alanb Date: 2013-06-11 14:09 +0100 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/f1a1f65d2861 Merge From eric.mccorkle at oracle.com Tue Jun 11 06:25:53 2013 From: eric.mccorkle at oracle.com (Eric McCorkle) Date: Tue, 11 Jun 2013 09:25:53 -0400 Subject: Review Request for JDK-8007546: ClassCastException on JSR308 tests Message-ID: <51B72561.60204@oracle.com> Hello, Please review this patch, which fixes an error causing ClassCastExceptions in several JCK tests. Note: this also fixes JDK-8015992, which was a duplicate of JDK-8007546. The webrev is here http://cr.openjdk.java.net/~emc/8015992/ The bug report is here: http://bugs.sun.com/view_bug.do?bug_id=8007546 Thanks, Eric -------------- next part -------------- A non-text attachment was scrubbed... Name: eric_mccorkle.vcf Type: text/x-vcard Size: 303 bytes Desc: not available Url : http://mail.openjdk.java.net/pipermail/compiler-dev/attachments/20130611/f1fb7dc7/eric_mccorkle.vcf From jonathan.gibbons at oracle.com Tue Jun 11 09:31:54 2013 From: jonathan.gibbons at oracle.com (Jonathan Gibbons) Date: Tue, 11 Jun 2013 09:31:54 -0700 Subject: Review request for JDK-8013357: Javac accepts erroneous binary comparison operations In-Reply-To: <51B721DF.90005@oracle.com> References: <51A65CAD.5020905@oracle.com> <51A715F4.2040709@oracle.com> <51A9E8E3.2010706@oracle.com> <51ACDC4A.3070500@oracle.com> <51ACDEED.5080709@oracle.com> <51ACF0A4.2000606@oracle.com> <51ADBC83.8080405@oracle.com> <51AE643E.8040506@oracle.com> <51AF01DB.8020903@oracle.com> <51B0A565.8020406@oracle.com> <51B0ADAE.6020606@oracle.com> <51B0EF4C.5030609@oracle.com> <51B1B5F4.6090200@oracle.com> <51B1FBF5.2060700@oracle.com> <51B1FF0E.60908@oracle.com> <51B21596.4020304@oracle.com> <51B21730.2060109@oracle.com> <51B647DA.80103@oracle.com> <51B64973.7080304@oracle.com> <51B67A20.1010904@oracle.com> <51B721DF.90005@oracle.com> Message-ID: <51B750FA.9010100@oracle.com> On 06/11/2013 06:10 AM, Eric McCorkle wrote: > Good suggestion. > > Something else occurred to me: the scope of this test has grown beyond > that of a simple regression test. It should probably be moved to a > subdirectory of test/tools/javac purposed for more exhaustive tests. > Jon or Maurizio, do you have an suggestions? Yes, test/tools/javac/types seems a better home. We are trying to deprecate/minimize the use of bug numbers within the test/tools/javac directory itself. -- Jon From eric.mccorkle at oracle.com Tue Jun 11 10:22:34 2013 From: eric.mccorkle at oracle.com (Eric McCorkle) Date: Tue, 11 Jun 2013 13:22:34 -0400 Subject: Review Request for JDK-8007546: ClassCastException on JSR308 tests In-Reply-To: <51B72561.60204@oracle.com> References: <51B72561.60204@oracle.com> Message-ID: <51B75CDA.2060702@oracle.com> I renamed the directory to use the original bug ID, not the duplicate. Please use this link instead: http://cr.openjdk.java.net/~emc/8007546/ On 06/11/13 09:25, Eric McCorkle wrote: > Hello, > > Please review this patch, which fixes an error causing > ClassCastExceptions in several JCK tests. > > Note: this also fixes JDK-8015992, which was a duplicate of JDK-8007546. > > The webrev is here > http://cr.openjdk.java.net/~emc/8015992/ > > The bug report is here: > http://bugs.sun.com/view_bug.do?bug_id=8007546 > > Thanks, > Eric > -------------- next part -------------- A non-text attachment was scrubbed... Name: eric_mccorkle.vcf Type: text/x-vcard Size: 314 bytes Desc: not available Url : http://mail.openjdk.java.net/pipermail/compiler-dev/attachments/20130611/73a8e951/eric_mccorkle.vcf From naoto.sato at oracle.com Tue Jun 11 11:19:40 2013 From: naoto.sato at oracle.com (naoto.sato at oracle.com) Date: Tue, 11 Jun 2013 18:19:40 +0000 Subject: hg: jdk8/tl/jdk: 8015960: java/util/Locale/LocaleProviders.java failing again on Windows Message-ID: <20130611181957.EF39148143@hg.openjdk.java.net> Changeset: cadb0ef6e931 Author: naoto Date: 2013-06-11 11:18 -0700 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/cadb0ef6e931 8015960: java/util/Locale/LocaleProviders.java failing again on Windows Reviewed-by: alanb ! test/java/util/Locale/LocaleProviders.java From mike.duigou at oracle.com Tue Jun 11 15:39:51 2013 From: mike.duigou at oracle.com (mike.duigou at oracle.com) Date: Tue, 11 Jun 2013 22:39:51 +0000 Subject: hg: jdk8/tl/jdk: 8016213: Convert j2se NetBeans project to use top-level make targets Message-ID: <20130611224018.2CE5448153@hg.openjdk.java.net> Changeset: 7f697d028937 Author: mduigou Date: 2013-06-11 15:39 -0700 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/7f697d028937 8016213: Convert j2se NetBeans project to use top-level make targets Reviewed-by: chegar ! make/netbeans/common/shared.xml ! make/netbeans/j2se/build.xml From alan.bateman at oracle.com Wed Jun 12 00:07:50 2013 From: alan.bateman at oracle.com (alan.bateman at oracle.com) Date: Wed, 12 Jun 2013 07:07:50 +0000 Subject: hg: jdk8/tl/jdk: 8016370: javadoc warnings, unexpected

    mostly Message-ID: <20130612070811.2BF6E4816C@hg.openjdk.java.net> Changeset: f56b5c243f7c Author: alanb Date: 2013-06-12 08:04 +0100 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/f56b5c243f7c 8016370: javadoc warnings, unexpected

    mostly Reviewed-by: martin, jjg ! makefiles/scripts/genExceptions.sh ! src/share/classes/java/nio/Buffer.java ! src/share/classes/java/nio/ByteOrder.java ! src/share/classes/java/nio/X-Buffer.java.template ! src/share/classes/java/nio/channels/AsynchronousServerSocketChannel.java ! src/share/classes/java/nio/channels/Channel.java ! src/share/classes/java/nio/channels/FileChannel.java ! src/share/classes/java/nio/channels/FileLock.java ! src/share/classes/java/nio/channels/Pipe.java ! src/share/classes/java/nio/channels/SelectableChannel.java ! src/share/classes/java/nio/channels/SelectionKey.java ! src/share/classes/java/nio/channels/Selector.java ! src/share/classes/java/nio/channels/SocketChannel.java ! src/share/classes/java/nio/channels/spi/AbstractSelectionKey.java ! src/share/classes/java/nio/channels/spi/AbstractSelector.java ! src/share/classes/java/nio/channels/spi/SelectorProvider.java ! src/share/classes/java/nio/charset/Charset-X-Coder.java.template ! src/share/classes/java/nio/charset/Charset.java ! src/share/classes/java/nio/charset/CoderResult.java ! src/share/classes/java/nio/charset/CodingErrorAction.java ! src/share/classes/java/nio/charset/UnmappableCharacterException.java ! src/share/classes/java/nio/charset/spi/CharsetProvider.java From alan.bateman at oracle.com Wed Jun 12 01:47:43 2013 From: alan.bateman at oracle.com (alan.bateman at oracle.com) Date: Wed, 12 Jun 2013 08:47:43 +0000 Subject: hg: jdk8/tl/jdk: 8016369: java/lang/instrument/RetransformBigClass.sh failing again Message-ID: <20130612084757.7BEE748171@hg.openjdk.java.net> Changeset: 6df79b7bae6f Author: alanb Date: 2013-06-12 09:44 +0100 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/6df79b7bae6f 8016369: java/lang/instrument/RetransformBigClass.sh failing again Reviewed-by: sla, sergei ! test/java/lang/instrument/MakeJAR4.sh From chris.hegarty at oracle.com Wed Jun 12 06:51:35 2013 From: chris.hegarty at oracle.com (chris.hegarty at oracle.com) Date: Wed, 12 Jun 2013 13:51:35 +0000 Subject: hg: jdk8/tl/jaxws: 8013021: Rebase 8005432 & 8003542 against the latest jdk8/jaxws; ... Message-ID: <20130612135138.E03F84818A@hg.openjdk.java.net> Changeset: 8f2986ff0235 Author: mkos Date: 2013-06-12 14:47 +0100 URL: http://hg.openjdk.java.net/jdk8/tl/jaxws/rev/8f2986ff0235 8013021: Rebase 8005432 & 8003542 against the latest jdk8/jaxws 8003542: Improve processing of MTOM attachments 8005432: Update access to JAX-WS Reviewed-by: mullan ! src/share/jaxws_classes/com/oracle/webservices/internal/api/databinding/DatabindingModeFeature.java ! src/share/jaxws_classes/com/oracle/webservices/internal/api/databinding/ExternalMetadataFeature.java ! src/share/jaxws_classes/com/oracle/webservices/internal/api/message/BaseDistributedPropertySet.java ! src/share/jaxws_classes/com/oracle/webservices/internal/impl/encoding/StreamDecoderImpl.java ! src/share/jaxws_classes/com/oracle/xmlns/internal/webservices/jaxws_databinding/package-info.java ! src/share/jaxws_classes/com/sun/tools/internal/jxc/MessageBundle.properties ! src/share/jaxws_classes/com/sun/tools/internal/jxc/MessageBundle_de.properties ! src/share/jaxws_classes/com/sun/tools/internal/jxc/MessageBundle_es.properties ! src/share/jaxws_classes/com/sun/tools/internal/jxc/MessageBundle_fr.properties ! src/share/jaxws_classes/com/sun/tools/internal/jxc/MessageBundle_it.properties ! src/share/jaxws_classes/com/sun/tools/internal/jxc/MessageBundle_ja.properties ! src/share/jaxws_classes/com/sun/tools/internal/jxc/MessageBundle_ko.properties ! src/share/jaxws_classes/com/sun/tools/internal/jxc/MessageBundle_pt_BR.properties ! src/share/jaxws_classes/com/sun/tools/internal/jxc/MessageBundle_zh_CN.properties ! src/share/jaxws_classes/com/sun/tools/internal/jxc/MessageBundle_zh_TW.properties ! src/share/jaxws_classes/com/sun/tools/internal/jxc/gen/config/Classes.java ! src/share/jaxws_classes/com/sun/tools/internal/jxc/gen/config/Config.java ! src/share/jaxws_classes/com/sun/tools/internal/jxc/gen/config/Schema.java ! src/share/jaxws_classes/com/sun/tools/internal/ws/version.properties ! src/share/jaxws_classes/com/sun/tools/internal/xjc/MessageBundle.properties ! src/share/jaxws_classes/com/sun/tools/internal/xjc/MessageBundle_de.properties ! src/share/jaxws_classes/com/sun/tools/internal/xjc/MessageBundle_es.properties ! src/share/jaxws_classes/com/sun/tools/internal/xjc/MessageBundle_fr.properties ! src/share/jaxws_classes/com/sun/tools/internal/xjc/MessageBundle_it.properties ! src/share/jaxws_classes/com/sun/tools/internal/xjc/MessageBundle_ja.properties ! src/share/jaxws_classes/com/sun/tools/internal/xjc/MessageBundle_ko.properties ! src/share/jaxws_classes/com/sun/tools/internal/xjc/MessageBundle_pt_BR.properties ! src/share/jaxws_classes/com/sun/tools/internal/xjc/MessageBundle_zh_CN.properties ! src/share/jaxws_classes/com/sun/tools/internal/xjc/MessageBundle_zh_TW.properties ! src/share/jaxws_classes/com/sun/xml/internal/bind/v2/model/impl/ModelBuilder.java ! src/share/jaxws_classes/com/sun/xml/internal/bind/v2/runtime/JAXBContextImpl.java ! src/share/jaxws_classes/com/sun/xml/internal/bind/v2/schemagen/XmlSchemaGenerator.java ! src/share/jaxws_classes/com/sun/xml/internal/fastinfoset/CommonResourceBundle.java ! src/share/jaxws_classes/com/sun/xml/internal/fastinfoset/Decoder.java ! src/share/jaxws_classes/com/sun/xml/internal/fastinfoset/algorithm/BASE64EncodingAlgorithm.java ! src/share/jaxws_classes/com/sun/xml/internal/fastinfoset/algorithm/BooleanEncodingAlgorithm.java ! src/share/jaxws_classes/com/sun/xml/internal/fastinfoset/algorithm/BuiltInEncodingAlgorithm.java ! src/share/jaxws_classes/com/sun/xml/internal/fastinfoset/algorithm/FloatEncodingAlgorithm.java ! src/share/jaxws_classes/com/sun/xml/internal/fastinfoset/algorithm/HexadecimalEncodingAlgorithm.java ! src/share/jaxws_classes/com/sun/xml/internal/fastinfoset/dom/DOMDocumentParser.java ! src/share/jaxws_classes/com/sun/xml/internal/fastinfoset/resources/ResourceBundle.properties ! src/share/jaxws_classes/com/sun/xml/internal/fastinfoset/sax/AttributesHolder.java ! src/share/jaxws_classes/com/sun/xml/internal/fastinfoset/sax/SAXDocumentParser.java ! src/share/jaxws_classes/com/sun/xml/internal/fastinfoset/stax/StAXDocumentParser.java ! src/share/jaxws_classes/com/sun/xml/internal/fastinfoset/stax/events/StartElementEvent.java ! src/share/jaxws_classes/com/sun/xml/internal/fastinfoset/stax/factory/StAXOutputFactory.java ! src/share/jaxws_classes/com/sun/xml/internal/fastinfoset/tools/SAXEventSerializer.java ! src/share/jaxws_classes/com/sun/xml/internal/fastinfoset/tools/TransformInputOutput.java ! src/share/jaxws_classes/com/sun/xml/internal/org/jvnet/mimepull/DataHead.java ! src/share/jaxws_classes/com/sun/xml/internal/org/jvnet/mimepull/MemoryData.java + src/share/jaxws_classes/com/sun/xml/internal/org/jvnet/mimepull/TempFiles.java ! src/share/jaxws_classes/com/sun/xml/internal/ws/api/databinding/DatabindingConfig.java ! src/share/jaxws_classes/com/sun/xml/internal/ws/api/message/saaj/SAAJFactory.java ! src/share/jaxws_classes/com/sun/xml/internal/ws/api/pipe/Fiber.java ! src/share/jaxws_classes/com/sun/xml/internal/ws/api/streaming/XMLStreamWriterFactory.java ! src/share/jaxws_classes/com/sun/xml/internal/ws/assembler/MetroConfigLoader.java ! src/share/jaxws_classes/com/sun/xml/internal/ws/assembler/TubeCreator.java ! src/share/jaxws_classes/com/sun/xml/internal/ws/client/MonitorRootClient.java ! src/share/jaxws_classes/com/sun/xml/internal/ws/client/SEIPortInfo.java ! src/share/jaxws_classes/com/sun/xml/internal/ws/client/WSServiceDelegate.java ! src/share/jaxws_classes/com/sun/xml/internal/ws/client/dispatch/DispatchImpl.java ! src/share/jaxws_classes/com/sun/xml/internal/ws/client/sei/SEIStub.java ! src/share/jaxws_classes/com/sun/xml/internal/ws/client/sei/SyncMethodHandler.java ! src/share/jaxws_classes/com/sun/xml/internal/ws/db/DatabindingFactoryImpl.java ! src/share/jaxws_classes/com/sun/xml/internal/ws/db/DatabindingImpl.java ! src/share/jaxws_classes/com/sun/xml/internal/ws/encoding/MtomCodec.java ! src/share/jaxws_classes/com/sun/xml/internal/ws/message/stream/StreamMessage.java ! src/share/jaxws_classes/com/sun/xml/internal/ws/model/RuntimeModeler.java ! src/share/jaxws_classes/com/sun/xml/internal/ws/model/WrapperBeanGenerator.java ! src/share/jaxws_classes/com/sun/xml/internal/ws/model/wsdl/WSDLBoundOperationImpl.java ! src/share/jaxws_classes/com/sun/xml/internal/ws/model/wsdl/WSDLOperationImpl.java ! src/share/jaxws_classes/com/sun/xml/internal/ws/resources/DispatchMessages.java ! src/share/jaxws_classes/com/sun/xml/internal/ws/resources/dispatch.properties ! src/share/jaxws_classes/com/sun/xml/internal/ws/server/EndpointFactory.java ! src/share/jaxws_classes/com/sun/xml/internal/ws/spi/db/BindingInfo.java ! src/share/jaxws_classes/com/sun/xml/internal/ws/spi/db/JAXBWrapperAccessor.java ! src/share/jaxws_classes/com/sun/xml/internal/ws/transport/http/HttpAdapter.java ! src/share/jaxws_classes/com/sun/xml/internal/ws/util/version.properties ! src/share/jaxws_classes/javax/xml/soap/FactoryFinder.java ! src/share/jaxws_classes/javax/xml/soap/MessageFactory.java ! src/share/jaxws_classes/javax/xml/soap/SAAJMetaFactory.java ! src/share/jaxws_classes/javax/xml/soap/SOAPConnectionFactory.java ! src/share/jaxws_classes/javax/xml/soap/SOAPFactory.java From gnu.andrew at redhat.com Wed Jun 12 08:52:10 2013 From: gnu.andrew at redhat.com (Andrew Hughes) Date: Wed, 12 Jun 2013 11:52:10 -0400 (EDT) Subject: Review request for JDK-7179353: try-with-resources fails to compile with generic exception parameters In-Reply-To: <51B70558.2090507@oracle.com> References: <51A87CB2.3070407@oracle.com> <1717438145.688974.1370859769730.JavaMail.root@redhat.com> <51B70558.2090507@oracle.com> Message-ID: <206975133.1895151.1371052330644.JavaMail.root@redhat.com> ----- Original Message ----- > On 10/06/13 11:22, Andrew Hughes wrote: > > ----- Original Message ----- > >> Hi, > >> > >> This is the backport to jdk7_dev of the the patch already pushed to > >> jdk8/tl/langtools (changeset 9f11c7676cd5). > >> > >> You can find the public webrev at: > >> > >> http://cr.openjdk.java.net/~vromero/7179353_jdk7/webrev.00/ > >> > >> Thanks, > >> Vicente > >> > > The bug ID link on this webrev is to an internal server > > (http://monaco.sfbay.sun.com/detail.jsp?cr=7179353). Could you please > > link public webrevs to the public bug database? > > > > Thanks, > Hi Andrew, > > Thanks for your mails and sorry for the issue. I have published a new > webrev at http://cr.openjdk.java.net/~vromero/7179353_jdk7/webrev.01/. > > Please let me know if you have any further comments. > Many thanks for taking the time to look into it. I know it's a fairly minor thing, but it makes things a little awkward for those of us outside Oracle. > Vicente. > Thanks again, -- Andrew :) Free Java Software Engineer Red Hat, Inc. (http://www.redhat.com) PGP Key: 248BDC07 (https://keys.indymedia.org/) Fingerprint = EC5A 1F5E C0AD 1D15 8F1F 8F91 3B96 A578 248B DC07 From eric.mccorkle at oracle.com Wed Jun 12 09:06:51 2013 From: eric.mccorkle at oracle.com (Eric McCorkle) Date: Wed, 12 Jun 2013 12:06:51 -0400 Subject: Review Request for JDK-8007546: ClassCastException on JSR308 tests In-Reply-To: <51B75CDA.2060702@oracle.com> References: <51B72561.60204@oracle.com> <51B75CDA.2060702@oracle.com> Message-ID: <51B89C9B.1050904@oracle.com> Are there any comments on this? I'd like to get it in. On 06/11/13 13:22, Eric McCorkle wrote: > I renamed the directory to use the original bug ID, not the duplicate. > Please use this link instead: > http://cr.openjdk.java.net/~emc/8007546/ > > On 06/11/13 09:25, Eric McCorkle wrote: >> Hello, >> >> Please review this patch, which fixes an error causing >> ClassCastExceptions in several JCK tests. >> >> Note: this also fixes JDK-8015992, which was a duplicate of JDK-8007546. >> >> The webrev is here >> http://cr.openjdk.java.net/~emc/8015992/ >> >> The bug report is here: >> http://bugs.sun.com/view_bug.do?bug_id=8007546 >> >> Thanks, >> Eric >> -------------- next part -------------- A non-text attachment was scrubbed... Name: eric_mccorkle.vcf Type: text/x-vcard Size: 314 bytes Desc: not available Url : http://mail.openjdk.java.net/pipermail/compiler-dev/attachments/20130612/db549c5d/eric_mccorkle.vcf From mike.duigou at oracle.com Wed Jun 12 13:16:21 2013 From: mike.duigou at oracle.com (mike.duigou at oracle.com) Date: Wed, 12 Jun 2013 20:16:21 +0000 Subject: hg: jdk8/tl/jdk: 8010325: Remove hash32() method and hash32 int field from java.lang.String Message-ID: <20130612201643.6DE4C4819E@hg.openjdk.java.net> Changeset: c9f5a2fd7d3d Author: bchristi Date: 2013-06-12 11:11 -0700 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/c9f5a2fd7d3d 8010325: Remove hash32() method and hash32 int field from java.lang.String Reviewed-by: alanb, mduigou ! src/share/classes/java/lang/String.java ! src/share/classes/java/util/HashMap.java ! src/share/classes/java/util/Hashtable.java ! src/share/classes/java/util/WeakHashMap.java - src/share/classes/sun/misc/Hashing.java - test/sun/misc/Hashing.java From mike.duigou at oracle.com Wed Jun 12 15:34:52 2013 From: mike.duigou at oracle.com (mike.duigou at oracle.com) Date: Wed, 12 Jun 2013 22:34:52 +0000 Subject: hg: jdk8/tl/jdk: 8016448: java/util/BitSet/BitSetStreamTest.java no longer compiles, missed by 8015895 Message-ID: <20130612223514.9284D481A3@hg.openjdk.java.net> Changeset: ce8fbca80bbc Author: henryjen Date: 2013-06-12 14:07 -0700 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/ce8fbca80bbc 8016448: java/util/BitSet/BitSetStreamTest.java no longer compiles, missed by 8015895 Reviewed-by: mduigou ! test/java/util/BitSet/BitSetStreamTest.java From kumar.x.srinivasan at oracle.com Wed Jun 12 15:55:42 2013 From: kumar.x.srinivasan at oracle.com (Kumar Srinivasan) Date: Wed, 12 Jun 2013 15:55:42 -0700 Subject: RFR: (backport/EZ) : JDK-8016373: javac test class ToolTester handles classpath incorrectly Message-ID: <51B8FC6E.3080005@oracle.com> Hello, Please review backport of http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=8014363 Changeset already in jdk8: http://hg.openjdk.java.net/jdk8/jdk8/langtools/rev/e39669aea0bd Patch goes in cleanly. For reference here is the applied patch to jdk7u/langtools: http://cr.openjdk.java.net/~ksrini/8014363/webrev.0/ Thanks Kumar From jonathan.gibbons at oracle.com Wed Jun 12 16:17:52 2013 From: jonathan.gibbons at oracle.com (Jonathan Gibbons) Date: Wed, 12 Jun 2013 16:17:52 -0700 Subject: RFR: (backport/EZ) : JDK-8016373: javac test class ToolTester handles classpath incorrectly In-Reply-To: <51B8FC6E.3080005@oracle.com> References: <51B8FC6E.3080005@oracle.com> Message-ID: <51B901A0.9070302@oracle.com> Looks good to me. -- Jon On 06/12/2013 03:55 PM, Kumar Srinivasan wrote: > Hello, > > Please review backport of > http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=8014363 > > Changeset already in jdk8: > http://hg.openjdk.java.net/jdk8/jdk8/langtools/rev/e39669aea0bd > > Patch goes in cleanly. > > For reference here is the applied patch to jdk7u/langtools: > http://cr.openjdk.java.net/~ksrini/8014363/webrev.0/ > > Thanks > Kumar > From weijun.wang at oracle.com Wed Jun 12 19:01:22 2013 From: weijun.wang at oracle.com (weijun.wang at oracle.com) Date: Thu, 13 Jun 2013 02:01:22 +0000 Subject: hg: jdk8/tl/jdk: 2 new changesets Message-ID: <20130613020145.D5A6F481A7@hg.openjdk.java.net> Changeset: 021fdd093cd9 Author: weijun Date: 2013-06-13 09:59 +0800 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/021fdd093cd9 8014310: JAAS/Krb5LoginModule using des encytypes failure with NPE after JDK-8012679 Reviewed-by: valeriep ! src/share/classes/sun/security/krb5/Config.java ! src/share/classes/sun/security/krb5/EncryptionKey.java ! src/share/classes/sun/security/krb5/KrbApReq.java ! src/share/classes/sun/security/krb5/KrbTgsReq.java ! src/share/classes/sun/security/krb5/internal/crypto/EType.java ! src/share/classes/sun/security/krb5/internal/ktab/KeyTab.java ! test/sun/security/krb5/auto/BasicKrb5Test.java ! test/sun/security/krb5/auto/OneKDC.java + test/sun/security/krb5/auto/OnlyDesLogin.java Changeset: e9c5ad10fa4b Author: weijun Date: 2013-06-13 10:00 +0800 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/e9c5ad10fa4b 8015274: TEST_BUG: Step2: After selecting 'View Warning Log', it is empty instead of FileNotFound. 8015276: TEST_BUG: The 'ptool.test' can't be saved in the 'tmp' folder. 8016158: Instruction is not clear on how to use keytool to create JKS store in case Reviewed-by: mullan ! test/sun/security/tools/policytool/Alias.sh ! test/sun/security/tools/policytool/ChangeUI.html ! test/sun/security/tools/policytool/ChangeUI.sh ! test/sun/security/tools/policytool/OpenPolicy.sh ! test/sun/security/tools/policytool/SaveAs.sh ! test/sun/security/tools/policytool/UpdatePermissions.html ! test/sun/security/tools/policytool/UpdatePermissions.sh ! test/sun/security/tools/policytool/UsePolicy.sh ! test/sun/security/tools/policytool/i18n.html ! test/sun/security/tools/policytool/i18n.sh From erik.joelsson at oracle.com Thu Jun 13 00:41:16 2013 From: erik.joelsson at oracle.com (Erik Joelsson) Date: Thu, 13 Jun 2013 09:41:16 +0200 Subject: RFR: 8015145: Smartjavac needs more flexibility with linking to sources In-Reply-To: <51B1D57A.3030305@oracle.com> References: <51B1D57A.3030305@oracle.com> Message-ID: <51B9779C.5070107@oracle.com> Would be great if someone could take a look at this, thanks. /Erik On 2013-06-07 14:43, Erik Joelsson wrote: > Here is a patch solving a problem with -sourcepath for sjavac. > > First some background. The security sources (the ones that require > signing) need to be built to a separate directory. If they aren't (as > is the case now) security tests will fail if run on the exploded jdk > image (the one you get when just typing make or make jdk). In > JDK-8009280, I'm trying to fix this. The solution I have for that bug > is working well, except when running with sjavac, and basically builds > all classes except the security classes first to the normal outputdir > and then as a separate step builds just the security classes to a > different outputdir. > > There are two issues that need to be addressed in sjavac for this to > work. First, it needs to be possible to supply the same source root > both to the -src and -sourcepath option (but with different filter > rules). Sjavac is very picky and only links to sources that are > included in either of those options, and since we are excluding the > security sources from -src, we need to add them to -sourcepath. > > The second thing is more of a bug as far as I can tell. Sjavac > compares the found set of sources to compile with what the makefile > think needs to be compiled, as a safety check. Currently, sjavac is > including sources that are just being linked to in this comparison. I > would think that it should only include sources that are meant to be > compiled. > > http://cr.openjdk.java.net/~erikj/8015145/webrev.langtools.01/ > > http://bugs.sun.com/view_bug.do?bug_id=8015145 > > /Erik From erik.joelsson at oracle.com Thu Jun 13 00:42:41 2013 From: erik.joelsson at oracle.com (Erik Joelsson) Date: Thu, 13 Jun 2013 09:42:41 +0200 Subject: RFR: 8014513: Sjavac doesn't detect 32-bit jvm properly In-Reply-To: <51B1BF3C.3000601@oracle.com> References: <51AF4A2B.3010508@oracle.com> <51AF85A2.3010108@oracle.com> <51AF8637.9060709@oracle.com> <51B1BF3C.3000601@oracle.com> Message-ID: <51B977F1.5040000@oracle.com> Would be great if I could get a final ok on this, thanks. /Erik On 2013-06-07 13:08, Erik Joelsson wrote: > > > On 2013-06-05 20:40, Jonathan Gibbons wrote: >> On 06/05/2013 11:38 AM, Jonathan Gibbons wrote: >>> On 06/05/2013 07:24 AM, Erik Joelsson wrote: >>>> Hello, >>>> >>>> Here is a small patch fixing a problem with sjavac. Sjavac tries to >>>> be smart about sizing itself to no run out of memory. The logic for >>>> figuring out if it's running on a 32 or 64bit jvm is rather crude >>>> and misses on several platforms. This patch makes the code more >>>> robust. >>>> >>>> Fixing this issue is a requirement to get sjavac to work well on >>>> all platforms in jprt. >>>> >>>> Bug: http://bugs.sun.com/view_bug.do?bug_id=8014513 >>>> >>>> Webrev: http://cr.openjdk.java.net/~erikj/8014513/webrev.langtools.01/ >>>> >>>> /Erik >>> >>> Erik, >>> >>> It's OK, but I think it would be better if there was a back door to >>> override the default value. That would also partially address the >>> comment in the bug about sjavac looking at the wrong JVM -- it's >>> using the client process, not the server process. >>> >>> If you push it as is, I suggest you file a followup bug for further >>> improvements. >>> >>> -- Jon >> >> Erik, >> >> The code might also look better if you used a Set for 32 bit >> values, and tested for set.contains(dataModel), or if not that, the >> use a strings-in-switch statement. >> > Perhaps I'm missing something or I'm not familiar enough with newer > features in the language, but I can't get initialization of a set of 3 > Strings to feel more readable and less clumsy than the list of logical > ORs. The problem with going switch is that there are two different > Strings being tested. > > Thinking on this some more, I think I was mistaken. We don't need to > test for both arch and data model. I was just assuming that > "sun.arch.data.model" might not be as reliable as "os.arch". On the > other hand, the heuristics here are rather specific to using hotspot > and open/oraclejdk, so for all practical cases, using > sun.arch.data.model should be safe. New webrev using just data.model: > > http://cr.openjdk.java.net/~erikj/8014513/webrev.langtools.02/ > > It would be good to provide hooks to control this behavior of sjavac. > Will file a followup bug for that. > > /Erik >> -- Jon From yong.huang at oracle.com Thu Jun 13 01:41:56 2013 From: yong.huang at oracle.com (yong.huang at oracle.com) Date: Thu, 13 Jun 2013 08:41:56 +0000 Subject: hg: jdk8/tl/jdk: 7040556: SimpleDateFormat.format Portuguese Month should not be capitalized Message-ID: <20130613084226.2763B481B8@hg.openjdk.java.net> Changeset: 3c7bab68cd2f Author: yhuang Date: 2013-06-12 23:54 -0700 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/3c7bab68cd2f 7040556: SimpleDateFormat.format Portuguese Month should not be capitalized Reviewed-by: okutsu ! src/share/classes/sun/text/resources/pt/FormatData_pt.java ! test/sun/text/resources/LocaleData ! test/sun/text/resources/LocaleDataTest.java From paul.sandoz at oracle.com Thu Jun 13 02:22:30 2013 From: paul.sandoz at oracle.com (paul.sandoz at oracle.com) Date: Thu, 13 Jun 2013 09:22:30 +0000 Subject: hg: jdk8/tl/jdk: 8016251: Balanced spliterator for SpinedBuffer Message-ID: <20130613092254.2F30E481BA@hg.openjdk.java.net> Changeset: a50394c44464 Author: psandoz Date: 2013-06-13 11:13 +0200 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/a50394c44464 8016251: Balanced spliterator for SpinedBuffer Reviewed-by: mduigou Contributed-by: Brian Goetz , Peter Levart , Paul Sandoz ! src/share/classes/java/util/stream/DoublePipeline.java ! src/share/classes/java/util/stream/IntPipeline.java ! src/share/classes/java/util/stream/LongPipeline.java ! src/share/classes/java/util/stream/Node.java ! src/share/classes/java/util/stream/Nodes.java ! src/share/classes/java/util/stream/SortedOps.java ! src/share/classes/java/util/stream/SpinedBuffer.java ! test/java/util/stream/boottest/java/util/stream/DoubleNodeTest.java ! test/java/util/stream/boottest/java/util/stream/IntNodeTest.java ! test/java/util/stream/boottest/java/util/stream/LongNodeTest.java ! test/java/util/stream/boottest/java/util/stream/SpinedBufferTest.java From chris.hegarty at oracle.com Thu Jun 13 10:35:15 2013 From: chris.hegarty at oracle.com (chris.hegarty at oracle.com) Date: Thu, 13 Jun 2013 17:35:15 +0000 Subject: hg: jdk8/tl/jdk: 7181748: java/lang/ThreadGroup/Suspend.java test fails intermittently Message-ID: <20130613173549.E09D6481D3@hg.openjdk.java.net> Changeset: f3609297a868 Author: igerasim Date: 2013-06-13 15:15 +0400 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/f3609297a868 7181748: java/lang/ThreadGroup/Suspend.java test fails intermittently Reviewed-by: chegar, dholmes ! test/java/lang/ThreadGroup/Suspend.java From kurchi.subhra.hazra at oracle.com Thu Jun 13 11:12:50 2013 From: kurchi.subhra.hazra at oracle.com (kurchi.subhra.hazra at oracle.com) Date: Thu, 13 Jun 2013 18:12:50 +0000 Subject: hg: jdk8/tl/jdk: 8015421: NegativeArraySizeException occurs in ChunkedOutputStream() with Integer.MAX_VALUE Message-ID: <20130613181312.3B1E0481D4@hg.openjdk.java.net> Changeset: ff83bd43e36a Author: khazra Date: 2013-06-13 11:23 -0700 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/ff83bd43e36a 8015421: NegativeArraySizeException occurs in ChunkedOutputStream() with Integer.MAX_VALUE Summary: Ensure integer overflow does not occur Reviewed-by: chegar ! src/share/classes/sun/net/www/http/ChunkedOutputStream.java From eric.mccorkle at oracle.com Thu Jun 13 12:28:32 2013 From: eric.mccorkle at oracle.com (Eric McCorkle) Date: Thu, 13 Jun 2013 15:28:32 -0400 Subject: Review request for JDK-8013357: Javac accepts erroneous binary comparison operations In-Reply-To: <51B750FA.9010100@oracle.com> References: <51A65CAD.5020905@oracle.com> <51A715F4.2040709@oracle.com> <51A9E8E3.2010706@oracle.com> <51ACDC4A.3070500@oracle.com> <51ACDEED.5080709@oracle.com> <51ACF0A4.2000606@oracle.com> <51ADBC83.8080405@oracle.com> <51AE643E.8040506@oracle.com> <51AF01DB.8020903@oracle.com> <51B0A565.8020406@oracle.com> <51B0ADAE.6020606@oracle.com> <51B0EF4C.5030609@oracle.com> <51B1B5F4.6090200@oracle.com> <51B1FBF5.2060700@oracle.com> <51B1FF0E.60908@oracle.com> <51B21596.4020304@oracle.com> <51B21730.2060109@oracle.com> <51B647DA.80103@oracle.com> <51B64973.7080304@oracle.com> <51B67A20.1010904@oracle.com> <51B721DF.90005@oracle.com> <51B750FA.9010100@oracle.com> Message-ID: <51BA1D60.5010606@oracle.com> I've moved the new test into types as Jon suggested, and reordered the lists/truth tables as Alex suggested. A new webrev is up here: http://cr.openjdk.java.net/~emc/8013357/ On 06/11/13 12:31, Jonathan Gibbons wrote: > On 06/11/2013 06:10 AM, Eric McCorkle wrote: >> Good suggestion. >> >> Something else occurred to me: the scope of this test has grown beyond >> that of a simple regression test. It should probably be moved to a >> subdirectory of test/tools/javac purposed for more exhaustive tests. >> Jon or Maurizio, do you have an suggestions? > > Yes, test/tools/javac/types seems a better home. > > We are trying to deprecate/minimize the use of bug numbers within > the test/tools/javac directory itself. > > -- Jon -------------- next part -------------- A non-text attachment was scrubbed... Name: eric_mccorkle.vcf Type: text/x-vcard Size: 314 bytes Desc: not available Url : http://mail.openjdk.java.net/pipermail/compiler-dev/attachments/20130613/64d73e3c/eric_mccorkle.vcf From alex.buckley at oracle.com Thu Jun 13 12:41:37 2013 From: alex.buckley at oracle.com (Alex Buckley) Date: Thu, 13 Jun 2013 12:41:37 -0700 Subject: Review request for JDK-8013357: Javac accepts erroneous binary comparison operations In-Reply-To: <51BA1D60.5010606@oracle.com> References: <51A65CAD.5020905@oracle.com> <51A715F4.2040709@oracle.com> <51A9E8E3.2010706@oracle.com> <51ACDC4A.3070500@oracle.com> <51ACDEED.5080709@oracle.com> <51ACF0A4.2000606@oracle.com> <51ADBC83.8080405@oracle.com> <51AE643E.8040506@oracle.com> <51AF01DB.8020903@oracle.com> <51B0A565.8020406@oracle.com> <51B0ADAE.6020606@oracle.com> <51B0EF4C.5030609@oracle.com> <51B1B5F4.6090200@oracle.com> <51B1FBF5.2060700@oracle.com> <51B1FF0E.60908@oracle.com> <51B21596.4020304@oracle.com> <51B21730.2060109@oracle.com> <51B647DA.80103@oracle.com> <51B64973.7080304@oracle.com> <51B67A20.1010904@oracle.com> <51B721DF.90005@oracle.com> <51B750FA.9010100@oracle.com> <51BA1D60.5010606@oracle.com> Message-ID: <51BA2071.1090006@oracle.com> With regard to TestComparisons.java in http://cr.openjdk.java.net/~emc/8013357/webrev.06/ : - In the second set of truth tables (for boxed primitive types), I like how the 3 moves across the second row :-) - The comment "// Reference types" should be something like "// Important reference types", because the "// Boxed primitives" comment also deals with reference types. - Line 167 says Int but means Integer. - Line 271/272 should be "String, comparable to any reference type, excluding those convertible to a numeric types, but including any captures." Other than that, good to go. Alex On 6/13/2013 12:28 PM, Eric McCorkle wrote: > I've moved the new test into types as Jon suggested, and reordered the > lists/truth tables as Alex suggested. A new webrev is up here: > http://cr.openjdk.java.net/~emc/8013357/ > > On 06/11/13 12:31, Jonathan Gibbons wrote: >> On 06/11/2013 06:10 AM, Eric McCorkle wrote: >>> Good suggestion. >>> >>> Something else occurred to me: the scope of this test has grown beyond >>> that of a simple regression test. It should probably be moved to a >>> subdirectory of test/tools/javac purposed for more exhaustive tests. >>> Jon or Maurizio, do you have an suggestions? >> >> Yes, test/tools/javac/types seems a better home. >> >> We are trying to deprecate/minimize the use of bug numbers within >> the test/tools/javac directory itself. >> >> -- Jon From eric.mccorkle at oracle.com Thu Jun 13 13:02:19 2013 From: eric.mccorkle at oracle.com (Eric McCorkle) Date: Thu, 13 Jun 2013 16:02:19 -0400 Subject: Review request for JDK-8013357: Javac accepts erroneous binary comparison operations In-Reply-To: <51BA2071.1090006@oracle.com> References: <51A65CAD.5020905@oracle.com> <51A715F4.2040709@oracle.com> <51A9E8E3.2010706@oracle.com> <51ACDC4A.3070500@oracle.com> <51ACDEED.5080709@oracle.com> <51ACF0A4.2000606@oracle.com> <51ADBC83.8080405@oracle.com> <51AE643E.8040506@oracle.com> <51AF01DB.8020903@oracle.com> <51B0A565.8020406@oracle.com> <51B0ADAE.6020606@oracle.com> <51B0EF4C.5030609@oracle.com> <51B1B5F4.6090200@oracle.com> <51B1FBF5.2060700@oracle.com> <51B1FF0E.60908@oracle.com> <51B21596.4020304@oracle.com> <51B21730.2060109@oracle.com> <51B647DA.80103@oracle.com> <51B64973.7080304@oracle.com> <51B67A20.1010904@oracle.com> <51B721DF.90005@oracle.com> <51B750FA.9010100@oracle.com> <51BA1D60.5010606@oracle.com> <51BA2071.1090006@oracle.com> Message-ID: <51BA254B.2070807@oracle.com> Thanks Alex. Your suggested comment changes will be applied. Given that this patch changes the behavior of the type checker, though, I would like to get approval from Jon or Maurizio (if not both) before it goes in. On 06/13/13 15:41, Alex Buckley wrote: > With regard to TestComparisons.java in > http://cr.openjdk.java.net/~emc/8013357/webrev.06/ : > > - In the second set of truth tables (for boxed primitive types), I like > how the 3 moves across the second row :-) > > - The comment "// Reference types" should be something like "// > Important reference types", because the "// Boxed primitives" comment > also deals with reference types. > > - Line 167 says Int but means Integer. > > - Line 271/272 should be "String, comparable to any reference type, > excluding those convertible to a numeric types, but including any > captures." > > Other than that, good to go. > > Alex > > On 6/13/2013 12:28 PM, Eric McCorkle wrote: >> I've moved the new test into types as Jon suggested, and reordered the >> lists/truth tables as Alex suggested. A new webrev is up here: >> http://cr.openjdk.java.net/~emc/8013357/ >> >> On 06/11/13 12:31, Jonathan Gibbons wrote: >>> On 06/11/2013 06:10 AM, Eric McCorkle wrote: >>>> Good suggestion. >>>> >>>> Something else occurred to me: the scope of this test has grown beyond >>>> that of a simple regression test. It should probably be moved to a >>>> subdirectory of test/tools/javac purposed for more exhaustive tests. >>>> Jon or Maurizio, do you have an suggestions? >>> >>> Yes, test/tools/javac/types seems a better home. >>> >>> We are trying to deprecate/minimize the use of bug numbers within >>> the test/tools/javac directory itself. >>> >>> -- Jon -------------- next part -------------- A non-text attachment was scrubbed... Name: eric_mccorkle.vcf Type: text/x-vcard Size: 314 bytes Desc: not available Url : http://mail.openjdk.java.net/pipermail/compiler-dev/attachments/20130613/4de868cf/eric_mccorkle.vcf From mike.duigou at oracle.com Thu Jun 13 13:11:11 2013 From: mike.duigou at oracle.com (Mike Duigou) Date: Thu, 13 Jun 2013 13:11:11 -0700 Subject: RFR : 8016577 : (s) langtools/test/Makefile should only set some vars if unset Message-ID: <048D8F7C-38F7-43AA-9261-CD9B7565F104@oracle.com> Hello all; I have been working on improving the execution of tests via the root repo "make test" target (JDK-8009683). This work has so far mostly concerned the jdk repo but now I would like to increase the commonality of the test/Makefile for the various repos. In the langtools/test/Makefile these vars are JTREG_HOME JT_JAVA TESTJAVA currently unconditionally set. They should only be set if they don't already have definitions. This is part of an effort to retire some of the JPRT specific vars and synchronize the jdk and langtools test/Makefile Additionally - JTREG_HOME is renamed to JT_HOME for consistency - TESTBOOTCLASSPATH setting is made more uniform, ie. not just when PRODUCT_HOME is defined. - Warnings are now printed for variables using the default "unset" value. In most cases these variable *should* already have a value so no default should be used. For now the defaults are retained but with a warning. - An error is generated if PRODUCT_HOME seems to point at an invalid location. A review webrev is posted here: http://cr.openjdk.java.net/~mduigou/JDK-8016577/0/ Once this issue is completed I will follow up with JDK-8016573 which will replace JPRT_JAVA_HOME with JT_JAVA in the Main.gmk make file. Cheers, Mike From jonathan.gibbons at oracle.com Thu Jun 13 15:33:20 2013 From: jonathan.gibbons at oracle.com (Jonathan Gibbons) Date: Thu, 13 Jun 2013 15:33:20 -0700 Subject: RFR : 8016577 : (s) langtools/test/Makefile should only set some vars if unset In-Reply-To: <048D8F7C-38F7-43AA-9261-CD9B7565F104@oracle.com> References: <048D8F7C-38F7-43AA-9261-CD9B7565F104@oracle.com> Message-ID: <51BA48B0.9070308@oracle.com> Mike, Thanks for looking at this. I guess I am not a big fan of JT_ as an abbreviation of JTREG_. Lines 149-151 seem off-color to me. Based on the name, I would never expect $TESTJAVA to contain dist/lib/classes.jar. The previous code looked for distlib/classes.jaar in $PRODUCT_HOME which was a more accurate reflection of what was going on. -- Jon On 06/13/2013 01:11 PM, Mike Duigou wrote: > Hello all; > > I have been working on improving the execution of tests via the root repo "make test" target (JDK-8009683). This work has so far mostly concerned the jdk repo but now I would like to increase the commonality of the test/Makefile for the various repos. > > In the langtools/test/Makefile these vars are > > JTREG_HOME > JT_JAVA > TESTJAVA > > currently unconditionally set. They should only be set if they don't already have definitions. This is part of an effort to retire some of the JPRT specific vars and synchronize the jdk and langtools test/Makefile > > Additionally > > - JTREG_HOME is renamed to JT_HOME for consistency > > - TESTBOOTCLASSPATH setting is made more uniform, ie. not just when PRODUCT_HOME is defined. > > - Warnings are now printed for variables using the default "unset" value. In most cases these variable *should* already have a value so no default should be used. For now the defaults are retained but with a warning. > > - An error is generated if PRODUCT_HOME seems to point at an invalid location. > > A review webrev is posted here: > > http://cr.openjdk.java.net/~mduigou/JDK-8016577/0/ > > Once this issue is completed I will follow up with JDK-8016573 which will replace JPRT_JAVA_HOME with JT_JAVA in the Main.gmk make file. > > Cheers, > > Mike From kurchi.subhra.hazra at oracle.com Thu Jun 13 17:37:49 2013 From: kurchi.subhra.hazra at oracle.com (kurchi.subhra.hazra at oracle.com) Date: Fri, 14 Jun 2013 00:37:49 +0000 Subject: hg: jdk8/tl/jdk: 7169142: CookieHandler does not work with localhost Message-ID: <20130614003806.A6F86481E9@hg.openjdk.java.net> Changeset: 42f9ad39bf42 Author: khazra Date: 2013-06-13 17:48 -0700 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/42f9ad39bf42 7169142: CookieHandler does not work with localhost Summary: Add .local to derived effective hostnames without dot Reviewed-by: chegar ! src/share/classes/java/net/CookieManager.java + test/java/net/CookieHandler/LocalHostCookie.java From mike.duigou at oracle.com Thu Jun 13 21:39:04 2013 From: mike.duigou at oracle.com (Mike Duigou) Date: Thu, 13 Jun 2013 21:39:04 -0700 Subject: RFR : 8016577 : (s) langtools/test/Makefile should only set some vars if unset In-Reply-To: <51BA48B0.9070308@oracle.com> References: <048D8F7C-38F7-43AA-9261-CD9B7565F104@oracle.com> <51BA48B0.9070308@oracle.com> Message-ID: On Jun 13 2013, at 15:33 , Jonathan Gibbons wrote: > Mike, > > Thanks for looking at this. > > I guess I am not a big fan of JT_ as an abbreviation of JTREG_. I recently propagated the use of JT_HOME up to the configure script based upon it's usage in the jtreg scripts. I have no particular preference. Would you like to try to standardize on JTREG_ names? It would be understandable if JT_ got confused for JavaTest. > Lines 149-151 seem off-color to me. I trust your judgement on this. It seemed strange to me to check for the dist/lib/classes.jar only if the TESTJAVA definition was coming from PRODUCT_HOME. I have restored it to only check in that case. > Based on the name, I would never expect $TESTJAVA to contain dist/lib/classes.jar. The previous code looked for distlib/classes.jaar in $PRODUCT_HOME which was a more accurate reflection of what was going on. > Updated webrev: http://cr.openjdk.java.net/~mduigou/JDK-8016577/1/ > -- Jon > > > On 06/13/2013 01:11 PM, Mike Duigou wrote: >> Hello all; >> >> I have been working on improving the execution of tests via the root repo "make test" target (JDK-8009683). This work has so far mostly concerned the jdk repo but now I would like to increase the commonality of the test/Makefile for the various repos. >> >> In the langtools/test/Makefile these vars are >> >> JTREG_HOME >> JT_JAVA >> TESTJAVA >> >> currently unconditionally set. They should only be set if they don't already have definitions. This is part of an effort to retire some of the JPRT specific vars and synchronize the jdk and langtools test/Makefile >> >> Additionally >> >> - JTREG_HOME is renamed to JT_HOME for consistency >> >> - TESTBOOTCLASSPATH setting is made more uniform, ie. not just when PRODUCT_HOME is defined. >> >> - Warnings are now printed for variables using the default "unset" value. In most cases these variable *should* already have a value so no default should be used. For now the defaults are retained but with a warning. >> >> - An error is generated if PRODUCT_HOME seems to point at an invalid location. >> >> A review webrev is posted here: >> >> http://cr.openjdk.java.net/~mduigou/JDK-8016577/0/ >> >> Once this issue is completed I will follow up with JDK-8016573 which will replace JPRT_JAVA_HOME with JT_JAVA in the Main.gmk make file. >> >> Cheers, >> >> Mike > From sean.coffey at oracle.com Fri Jun 14 07:19:01 2013 From: sean.coffey at oracle.com (sean.coffey at oracle.com) Date: Fri, 14 Jun 2013 14:19:01 +0000 Subject: hg: jdk8/tl/jdk: 8015978: Incorrect transformation of XPath expression "string(-0)" Message-ID: <20130614141922.C91E148202@hg.openjdk.java.net> Changeset: 45a3584bfacf Author: coffeys Date: 2013-06-14 15:14 +0400 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/45a3584bfacf 8015978: Incorrect transformation of XPath expression "string(-0)" Reviewed-by: darcy, joehw Contributed-by: aleksej.efimov at oracle.com + test/javax/xml/jaxp/XPath/8015978/XPathNegativeZero.java + test/javax/xml/jaxp/XPath/8015978/dummy.xml + test/javax/xml/jaxp/XPath/8015978/negativezero.xsl From sean.coffey at oracle.com Fri Jun 14 07:20:11 2013 From: sean.coffey at oracle.com (sean.coffey at oracle.com) Date: Fri, 14 Jun 2013 14:20:11 +0000 Subject: hg: jdk8/tl/jaxp: 8015978: Incorrect transformation of XPath expression "string(-0)" Message-ID: <20130614142015.3B72048203@hg.openjdk.java.net> Changeset: 659828443145 Author: coffeys Date: 2013-06-14 15:14 +0400 URL: http://hg.openjdk.java.net/jdk8/tl/jaxp/rev/659828443145 8015978: Incorrect transformation of XPath expression "string(-0)" Reviewed-by: darcy, joehw Contributed-by: aleksej.efimov at oracle.com ! src/com/sun/org/apache/xalan/internal/xsltc/runtime/BasisLibrary.java From sean.mullan at oracle.com Fri Jun 14 06:14:06 2013 From: sean.mullan at oracle.com (sean.mullan at oracle.com) Date: Fri, 14 Jun 2013 13:14:06 +0000 Subject: hg: jdk8/tl/jdk: 8014307: Memory leak ... security/jgss/wrapper/GSSLibStub.c Message-ID: <20130614131449.A9127481FD@hg.openjdk.java.net> Changeset: f695f447f6b7 Author: jzavgren Date: 2013-06-14 09:13 -0400 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/f695f447f6b7 8014307: Memory leak ... security/jgss/wrapper/GSSLibStub.c Summary: I modified the native procedure: Java_sun_security_jgss_wrapper_GSSLibStub_initContext() so that allocated memory is freed when errors occur. Reviewed-by: chegar, valeriep ! src/share/native/sun/security/jgss/wrapper/GSSLibStub.c From vicente.romero at oracle.com Fri Jun 14 08:26:06 2013 From: vicente.romero at oracle.com (vicente.romero at oracle.com) Date: Fri, 14 Jun 2013 15:26:06 +0000 Subject: hg: jdk8/tl/langtools: 8016569: javac, add new flag for polymorphic method signatures Message-ID: <20130614152612.5822248206@hg.openjdk.java.net> Changeset: 6b48ebae2569 Author: vromero Date: 2013-06-14 16:25 +0100 URL: http://hg.openjdk.java.net/jdk8/tl/langtools/rev/6b48ebae2569 8016569: javac, add new flag for polymorphic method signatures Reviewed-by: jjg Contributed-by: maurizio.cimadamore at oracle.com ! 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/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/MemberEnter.java ! src/share/classes/com/sun/tools/javac/comp/Resolve.java ! src/share/classes/com/sun/tools/javac/jvm/ClassReader.java From vicente.romero at oracle.com Fri Jun 14 10:02:19 2013 From: vicente.romero at oracle.com (vicente.romero at oracle.com) Date: Fri, 14 Jun 2013 17:02:19 +0000 Subject: hg: jdk8/tl/langtools: 8008023: Get rid of utf8 chars in two tests Message-ID: <20130614170225.739644820E@hg.openjdk.java.net> Changeset: 1936a884b290 Author: vromero Date: 2013-06-14 18:01 +0100 URL: http://hg.openjdk.java.net/jdk8/tl/langtools/rev/1936a884b290 8008023: Get rid of utf8 chars in two tests Reviewed-by: jjg ! test/tools/javac/api/6437999/Utf8.java ! test/tools/javac/api/T6306137.java From eric.mccorkle at oracle.com Fri Jun 14 11:29:07 2013 From: eric.mccorkle at oracle.com (Eric McCorkle) Date: Fri, 14 Jun 2013 14:29:07 -0400 Subject: Review request for JDK-8014230: Compilation incorrectly succeeds with inner class constructor with 254 parameters Message-ID: <51BB60F3.8040501@oracle.com> Hello, Please review this patch, which addresses a problem with javac not taking inner this parameters into account when determining if there are too many parameters to a function. The webrev is here: http://cr.openjdk.java.net/~emc/8014230/ The bug report is here: http://bugs.sun.com/view_bug.do?bug_id=8014230 Thanks, Eric -------------- next part -------------- A non-text attachment was scrubbed... Name: eric_mccorkle.vcf Type: text/x-vcard Size: 303 bytes Desc: not available Url : http://mail.openjdk.java.net/pipermail/compiler-dev/attachments/20130614/96705158/eric_mccorkle.vcf From jonathan.gibbons at oracle.com Fri Jun 14 12:46:20 2013 From: jonathan.gibbons at oracle.com (Jonathan Gibbons) Date: Fri, 14 Jun 2013 12:46:20 -0700 Subject: Review request for JDK-8014230: Compilation incorrectly succeeds with inner class constructor with 254 parameters In-Reply-To: <51BB60F3.8040501@oracle.com> References: <51BB60F3.8040501@oracle.com> Message-ID: <51BB730C.1000003@oracle.com> The change to Gen looks OK, but the tests look weak. At a minimum, I would expect to see the test check the validity of the error message that is generated; even better would be to generate the test cases on the fly. -- Jon On 06/14/2013 11:29 AM, Eric McCorkle wrote: > Hello, > > Please review this patch, which addresses a problem with javac not > taking inner this parameters into account when determining if there are > too many parameters to a function. > > The webrev is here: > http://cr.openjdk.java.net/~emc/8014230/ > > The bug report is here: > http://bugs.sun.com/view_bug.do?bug_id=8014230 > > Thanks, > Eric From eric.mccorkle at oracle.com Fri Jun 14 13:14:50 2013 From: eric.mccorkle at oracle.com (Eric McCorkle) Date: Fri, 14 Jun 2013 16:14:50 -0400 Subject: Review request for JDK-8014230: Compilation incorrectly succeeds with inner class constructor with 254 parameters In-Reply-To: <51BB730C.1000003@oracle.com> References: <51BB60F3.8040501@oracle.com> <51BB730C.1000003@oracle.com> Message-ID: <51BB79BA.20300@oracle.com> Is there a more convenient API for checking error messages? Golden will make for an incredibly frail test, I think. On 06/14/13 15:46, Jonathan Gibbons wrote: > The change to Gen looks OK, but the tests look weak. At a minimum, I > would expect to see the test check the validity of the error message > that is generated; even better would be to generate the test cases on > the fly. > > -- Jon > > On 06/14/2013 11:29 AM, Eric McCorkle wrote: >> Hello, >> >> Please review this patch, which addresses a problem with javac not >> taking inner this parameters into account when determining if there are >> too many parameters to a function. >> >> The webrev is here: >> http://cr.openjdk.java.net/~emc/8014230/ >> >> The bug report is here: >> http://bugs.sun.com/view_bug.do?bug_id=8014230 >> >> Thanks, >> Eric > -------------- next part -------------- A non-text attachment was scrubbed... Name: eric_mccorkle.vcf Type: text/x-vcard Size: 314 bytes Desc: not available Url : http://mail.openjdk.java.net/pipermail/compiler-dev/attachments/20130614/bc4cd32c/eric_mccorkle.vcf From jonathan.gibbons at oracle.com Fri Jun 14 13:30:02 2013 From: jonathan.gibbons at oracle.com (Jonathan Gibbons) Date: Fri, 14 Jun 2013 13:30:02 -0700 Subject: Review request for JDK-8014230: Compilation incorrectly succeeds with inner class constructor with 254 parameters In-Reply-To: <51BB79BA.20300@oracle.com> References: <51BB60F3.8040501@oracle.com> <51BB730C.1000003@oracle.com> <51BB79BA.20300@oracle.com> Message-ID: <51BB7D4A.9090107@oracle.com> There are two solutions. For a one-off test, the standard technique is to use a golden file in conjunctions with rawDiagnostics. The combination is "somewhat frail" but nowhere near "incredibly frail". The technique has served us well for many years now. If you are driving javac through the Compiler API, you can register a DiagnosticListener, and verify the characteristics of the Diagnostic objects passed to report. -- Jon On 06/14/2013 01:14 PM, Eric McCorkle wrote: > Is there a more convenient API for checking error messages? Golden will > make for an incredibly frail test, I think. > > On 06/14/13 15:46, Jonathan Gibbons wrote: >> The change to Gen looks OK, but the tests look weak. At a minimum, I >> would expect to see the test check the validity of the error message >> that is generated; even better would be to generate the test cases on >> the fly. >> >> -- Jon >> >> On 06/14/2013 11:29 AM, Eric McCorkle wrote: >>> Hello, >>> >>> Please review this patch, which addresses a problem with javac not >>> taking inner this parameters into account when determining if there are >>> too many parameters to a function. >>> >>> The webrev is here: >>> http://cr.openjdk.java.net/~emc/8014230/ >>> >>> The bug report is here: >>> http://bugs.sun.com/view_bug.do?bug_id=8014230 >>> >>> Thanks, >>> Eric From rob.mckenna at oracle.com Sat Jun 15 01:25:36 2013 From: rob.mckenna at oracle.com (rob.mckenna at oracle.com) Date: Sat, 15 Jun 2013 08:25:36 +0000 Subject: hg: jdk8/tl/jaxp: 8016701: JAXP Build failure Message-ID: <20130615082540.28CFB4823A@hg.openjdk.java.net> Changeset: 2707f600a096 Author: robm Date: 2013-06-15 09:26 +0100 URL: http://hg.openjdk.java.net/jdk8/tl/jaxp/rev/2707f600a096 8016701: JAXP Build failure Reviewed-by: darcy, wetmore, alanb, chegar ! src/com/sun/org/apache/xalan/internal/xsltc/runtime/BasisLibrary.java From joe.darcy at oracle.com Sat Jun 15 10:27:47 2013 From: joe.darcy at oracle.com (Joe Darcy) Date: Sat, 15 Jun 2013 10:27:47 -0700 Subject: Code review request for javax.lang.model doclint cleanup Message-ID: <51BCA413.6030603@oracle.com> Hello, Please review the patch below which resolves a few remaining doclint warnings on protected elements in the javax.lang.model API; with this change, API is now doclint clean :-) I'll file a bug after getting a review. Thanks, -Joe diff -r 1936a884b290 src/share/classes/javax/lang/model/util/ElementScanner6.java --- a/src/share/classes/javax/lang/model/util/ElementScanner6.java Fri Jun 14 18:01:52 2013 +0100 +++ b/src/share/classes/javax/lang/model/util/ElementScanner6.java Sat Jun 15 10:24:11 2013 -0700 @@ -110,6 +110,8 @@ /** * Constructor for concrete subclasses; uses the argument for the * default value. + * + * @param defaultValue the default value */ protected ElementScanner6(R defaultValue){ DEFAULT_VALUE = defaultValue; diff -r 1936a884b290 src/share/classes/javax/lang/model/util/ElementScanner7.java --- a/src/share/classes/javax/lang/model/util/ElementScanner7.java Fri Jun 14 18:01:52 2013 +0100 +++ b/src/share/classes/javax/lang/model/util/ElementScanner7.java Sat Jun 15 10:24:11 2013 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2010, 2012, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2010, 2013, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -101,6 +101,8 @@ /** * Constructor for concrete subclasses; uses the argument for the * default value. + * + * @param defaultValue the default value */ protected ElementScanner7(R defaultValue){ super(defaultValue); diff -r 1936a884b290 src/share/classes/javax/lang/model/util/ElementScanner8.java --- a/src/share/classes/javax/lang/model/util/ElementScanner8.java Fri Jun 14 18:01:52 2013 +0100 +++ b/src/share/classes/javax/lang/model/util/ElementScanner8.java Sat Jun 15 10:24:11 2013 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2011, 2012, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2011, 2013, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -101,6 +101,8 @@ /** * Constructor for concrete subclasses; uses the argument for the * default value. + * + * @param defaultValue the default value */ protected ElementScanner8(R defaultValue){ super(defaultValue); diff -r 1936a884b290 src/share/classes/javax/lang/model/util/SimpleTypeVisitor6.java --- a/src/share/classes/javax/lang/model/util/SimpleTypeVisitor6.java Fri Jun 14 18:01:52 2013 +0100 +++ b/src/share/classes/javax/lang/model/util/SimpleTypeVisitor6.java Sat Jun 15 10:24:11 2013 -0700 @@ -118,6 +118,10 @@ * The default action for visit methods. The implementation in * this class just returns {@link #DEFAULT_VALUE}; subclasses will * commonly override this method. + * + * @param e the type to process + * @param p a visitor-specified parameter + * @return {@code DEFAULT_VALUE} unless overridden */ protected R defaultAction(TypeMirror e, P p) { return DEFAULT_VALUE; From david.holmes at oracle.com Sun Jun 16 19:59:46 2013 From: david.holmes at oracle.com (David Holmes) Date: Mon, 17 Jun 2013 12:59:46 +1000 Subject: RFR : 8016577 : (s) langtools/test/Makefile should only set some vars if unset In-Reply-To: References: <048D8F7C-38F7-43AA-9261-CD9B7565F104@oracle.com> <51BA48B0.9070308@oracle.com> Message-ID: <51BE7BA2.1000402@oracle.com> Hi Mike, I don't like the warnings. A warning implies something needs fixing. If you provide a default and I choose to use it why should it generate a warning? David On 14/06/2013 2:39 PM, Mike Duigou wrote: > > On Jun 13 2013, at 15:33 , Jonathan Gibbons wrote: > >> Mike, >> >> Thanks for looking at this. >> >> I guess I am not a big fan of JT_ as an abbreviation of JTREG_. > > I recently propagated the use of JT_HOME up to the configure script based upon it's usage in the jtreg scripts. I have no particular preference. Would you like to try to standardize on JTREG_ names? It would be understandable if JT_ got confused for JavaTest. > >> Lines 149-151 seem off-color to me. > > I trust your judgement on this. It seemed strange to me to check for the dist/lib/classes.jar only if the TESTJAVA definition was coming from PRODUCT_HOME. I have restored it to only check in that case. > >> Based on the name, I would never expect $TESTJAVA to contain dist/lib/classes.jar. The previous code looked for distlib/classes.jaar in $PRODUCT_HOME which was a more accurate reflection of what was going on. >> > > Updated webrev: > > http://cr.openjdk.java.net/~mduigou/JDK-8016577/1/ > >> -- Jon >> >> >> On 06/13/2013 01:11 PM, Mike Duigou wrote: >>> Hello all; >>> >>> I have been working on improving the execution of tests via the root repo "make test" target (JDK-8009683). This work has so far mostly concerned the jdk repo but now I would like to increase the commonality of the test/Makefile for the various repos. >>> >>> In the langtools/test/Makefile these vars are >>> >>> JTREG_HOME >>> JT_JAVA >>> TESTJAVA >>> >>> currently unconditionally set. They should only be set if they don't already have definitions. This is part of an effort to retire some of the JPRT specific vars and synchronize the jdk and langtools test/Makefile >>> >>> Additionally >>> >>> - JTREG_HOME is renamed to JT_HOME for consistency >>> >>> - TESTBOOTCLASSPATH setting is made more uniform, ie. not just when PRODUCT_HOME is defined. >>> >>> - Warnings are now printed for variables using the default "unset" value. In most cases these variable *should* already have a value so no default should be used. For now the defaults are retained but with a warning. >>> >>> - An error is generated if PRODUCT_HOME seems to point at an invalid location. >>> >>> A review webrev is posted here: >>> >>> http://cr.openjdk.java.net/~mduigou/JDK-8016577/0/ >>> >>> Once this issue is completed I will follow up with JDK-8016573 which will replace JPRT_JAVA_HOME with JT_JAVA in the Main.gmk make file. >>> >>> Cheers, >>> >>> Mike >> > From mike.duigou at oracle.com Sun Jun 16 20:41:29 2013 From: mike.duigou at oracle.com (Mike Duigou) Date: Sun, 16 Jun 2013 20:41:29 -0700 Subject: RFR : 8016577 : (s) langtools/test/Makefile should only set some vars if unset In-Reply-To: <51BE7BA2.1000402@oracle.com> References: <048D8F7C-38F7-43AA-9261-CD9B7565F104@oracle.com> <51BA48B0.9070308@oracle.com> <51BE7BA2.1000402@oracle.com> Message-ID: <55CE6D49-3DA3-4337-90C1-85ACA59EE97F@oracle.com> On Jun 16 2013, at 19:59 , David Holmes wrote: > Hi Mike, > > I don't like the warnings. A warning implies something needs fixing. If you provide a default and I choose to use it why should it generate a warning? I this case the warnings are currently provided as a gentler alternative to simply deleting the defaults. It is intended to provide an opportunity those using the default to switch to specifying the value in the invocation. For all of the variables with defaulted values the variable should already be set by some external context (JPRT, root makefile, etc.). If the warning does trigger then I hope it does catch people's attention. Eventually I plan to have the test/Makefiles include the spec.gmk file to allow them to grab their context directly from the configuration. Hopefully the spec.gmk will be the sole configuration mechanism. For now we will continue to have some things defined via environment variables and I didn't want to immediately break existing usages. Mike > David > > On 14/06/2013 2:39 PM, Mike Duigou wrote: >> >> On Jun 13 2013, at 15:33 , Jonathan Gibbons wrote: >> >>> Mike, >>> >>> Thanks for looking at this. >>> >>> I guess I am not a big fan of JT_ as an abbreviation of JTREG_. >> >> I recently propagated the use of JT_HOME up to the configure script based upon it's usage in the jtreg scripts. I have no particular preference. Would you like to try to standardize on JTREG_ names? It would be understandable if JT_ got confused for JavaTest. >> >>> Lines 149-151 seem off-color to me. >> >> I trust your judgement on this. It seemed strange to me to check for the dist/lib/classes.jar only if the TESTJAVA definition was coming from PRODUCT_HOME. I have restored it to only check in that case. >> >>> Based on the name, I would never expect $TESTJAVA to contain dist/lib/classes.jar. The previous code looked for distlib/classes.jaar in $PRODUCT_HOME which was a more accurate reflection of what was going on. >>> >> >> Updated webrev: >> >> http://cr.openjdk.java.net/~mduigou/JDK-8016577/1/ >> >>> -- Jon >>> >>> >>> On 06/13/2013 01:11 PM, Mike Duigou wrote: >>>> Hello all; >>>> >>>> I have been working on improving the execution of tests via the root repo "make test" target (JDK-8009683). This work has so far mostly concerned the jdk repo but now I would like to increase the commonality of the test/Makefile for the various repos. >>>> >>>> In the langtools/test/Makefile these vars are >>>> >>>> JTREG_HOME >>>> JT_JAVA >>>> TESTJAVA >>>> >>>> currently unconditionally set. They should only be set if they don't already have definitions. This is part of an effort to retire some of the JPRT specific vars and synchronize the jdk and langtools test/Makefile >>>> >>>> Additionally >>>> >>>> - JTREG_HOME is renamed to JT_HOME for consistency >>>> >>>> - TESTBOOTCLASSPATH setting is made more uniform, ie. not just when PRODUCT_HOME is defined. >>>> >>>> - Warnings are now printed for variables using the default "unset" value. In most cases these variable *should* already have a value so no default should be used. For now the defaults are retained but with a warning. >>>> >>>> - An error is generated if PRODUCT_HOME seems to point at an invalid location. >>>> >>>> A review webrev is posted here: >>>> >>>> http://cr.openjdk.java.net/~mduigou/JDK-8016577/0/ >>>> >>>> Once this issue is completed I will follow up with JDK-8016573 which will replace JPRT_JAVA_HOME with JT_JAVA in the Main.gmk make file. >>>> >>>> Cheers, >>>> >>>> Mike >>> >> From david.holmes at oracle.com Sun Jun 16 20:54:21 2013 From: david.holmes at oracle.com (David Holmes) Date: Mon, 17 Jun 2013 13:54:21 +1000 Subject: RFR : 8016577 : (s) langtools/test/Makefile should only set some vars if unset In-Reply-To: <55CE6D49-3DA3-4337-90C1-85ACA59EE97F@oracle.com> References: <048D8F7C-38F7-43AA-9261-CD9B7565F104@oracle.com> <51BA48B0.9070308@oracle.com> <51BE7BA2.1000402@oracle.com> <55CE6D49-3DA3-4337-90C1-85ACA59EE97F@oracle.com> Message-ID: <51BE886D.7060903@oracle.com> On 17/06/2013 1:41 PM, Mike Duigou wrote: > > On Jun 16 2013, at 19:59 , David Holmes wrote: > >> Hi Mike, >> >> I don't like the warnings. A warning implies something needs fixing. If you provide a default and I choose to use it why should it generate a warning? > > I this case the warnings are currently provided as a gentler alternative to simply deleting the defaults. It is intended to provide an opportunity those using the default to switch to specifying the value in the invocation. For all of the variables with defaulted values the variable should already be set by some external context (JPRT, root makefile, etc.). If the warning does trigger then I hope it does catch people's attention. > > Eventually I plan to have the test/Makefiles include the spec.gmk file to allow them to grab their context directly from the configuration. Hopefully the spec.gmk will be the sole configuration mechanism. For now we will continue to have some things defined via environment variables and I didn't want to immediately break existing usages. As long as something provides a default as to where to find jtreg on SLASH_JAVA :) Thanks, David > Mike > >> David >> >> On 14/06/2013 2:39 PM, Mike Duigou wrote: >>> >>> On Jun 13 2013, at 15:33 , Jonathan Gibbons wrote: >>> >>>> Mike, >>>> >>>> Thanks for looking at this. >>>> >>>> I guess I am not a big fan of JT_ as an abbreviation of JTREG_. >>> >>> I recently propagated the use of JT_HOME up to the configure script based upon it's usage in the jtreg scripts. I have no particular preference. Would you like to try to standardize on JTREG_ names? It would be understandable if JT_ got confused for JavaTest. >>> >>>> Lines 149-151 seem off-color to me. >>> >>> I trust your judgement on this. It seemed strange to me to check for the dist/lib/classes.jar only if the TESTJAVA definition was coming from PRODUCT_HOME. I have restored it to only check in that case. >>> >>>> Based on the name, I would never expect $TESTJAVA to contain dist/lib/classes.jar. The previous code looked for distlib/classes.jaar in $PRODUCT_HOME which was a more accurate reflection of what was going on. >>>> >>> >>> Updated webrev: >>> >>> http://cr.openjdk.java.net/~mduigou/JDK-8016577/1/ >>> >>>> -- Jon >>>> >>>> >>>> On 06/13/2013 01:11 PM, Mike Duigou wrote: >>>>> Hello all; >>>>> >>>>> I have been working on improving the execution of tests via the root repo "make test" target (JDK-8009683). This work has so far mostly concerned the jdk repo but now I would like to increase the commonality of the test/Makefile for the various repos. >>>>> >>>>> In the langtools/test/Makefile these vars are >>>>> >>>>> JTREG_HOME >>>>> JT_JAVA >>>>> TESTJAVA >>>>> >>>>> currently unconditionally set. They should only be set if they don't already have definitions. This is part of an effort to retire some of the JPRT specific vars and synchronize the jdk and langtools test/Makefile >>>>> >>>>> Additionally >>>>> >>>>> - JTREG_HOME is renamed to JT_HOME for consistency >>>>> >>>>> - TESTBOOTCLASSPATH setting is made more uniform, ie. not just when PRODUCT_HOME is defined. >>>>> >>>>> - Warnings are now printed for variables using the default "unset" value. In most cases these variable *should* already have a value so no default should be used. For now the defaults are retained but with a warning. >>>>> >>>>> - An error is generated if PRODUCT_HOME seems to point at an invalid location. >>>>> >>>>> A review webrev is posted here: >>>>> >>>>> http://cr.openjdk.java.net/~mduigou/JDK-8016577/0/ >>>>> >>>>> Once this issue is completed I will follow up with JDK-8016573 which will replace JPRT_JAVA_HOME with JT_JAVA in the Main.gmk make file. >>>>> >>>>> Cheers, >>>>> >>>>> Mike >>>> >>> > From lana.steuck at oracle.com Sun Jun 16 23:30:44 2013 From: lana.steuck at oracle.com (lana.steuck at oracle.com) Date: Mon, 17 Jun 2013 06:30:44 +0000 Subject: hg: jdk8/tl/nashorn: 4 new changesets Message-ID: <20130617063049.42CFC48258@hg.openjdk.java.net> Changeset: e857ab684db0 Author: cl Date: 2013-06-06 20:48 -0700 URL: http://hg.openjdk.java.net/jdk8/tl/nashorn/rev/e857ab684db0 Added tag jdk8-b93 for changeset ddbf41575a2b ! .hgtags Changeset: d92b756bc739 Author: lana Date: 2013-06-10 17:04 -0700 URL: http://hg.openjdk.java.net/jdk8/tl/nashorn/rev/d92b756bc739 Merge - src/jdk/nashorn/internal/objects/DateParser.java Changeset: cbc9926f5b40 Author: katleman Date: 2013-06-13 09:49 -0700 URL: http://hg.openjdk.java.net/jdk8/tl/nashorn/rev/cbc9926f5b40 Added tag jdk8-b94 for changeset d92b756bc739 ! .hgtags Changeset: 558d31c168ed Author: lana Date: 2013-06-16 22:38 -0700 URL: http://hg.openjdk.java.net/jdk8/tl/nashorn/rev/558d31c168ed Merge From lana.steuck at oracle.com Sun Jun 16 23:30:39 2013 From: lana.steuck at oracle.com (lana.steuck at oracle.com) Date: Mon, 17 Jun 2013 06:30:39 +0000 Subject: hg: jdk8/tl/jaxws: 3 new changesets Message-ID: <20130617063053.2A7F848259@hg.openjdk.java.net> Changeset: 254c53fd97ab Author: katleman Date: 2013-06-06 09:54 -0700 URL: http://hg.openjdk.java.net/jdk8/tl/jaxws/rev/254c53fd97ab Added tag jdk8-b93 for changeset 7386eca865e1 ! .hgtags Changeset: 1468c94135f9 Author: katleman Date: 2013-06-13 09:48 -0700 URL: http://hg.openjdk.java.net/jdk8/tl/jaxws/rev/1468c94135f9 Added tag jdk8-b94 for changeset 254c53fd97ab ! .hgtags Changeset: c4191a46e3eb Author: lana Date: 2013-06-16 22:33 -0700 URL: http://hg.openjdk.java.net/jdk8/tl/jaxws/rev/c4191a46e3eb Merge From lana.steuck at oracle.com Sun Jun 16 23:30:39 2013 From: lana.steuck at oracle.com (lana.steuck at oracle.com) Date: Mon, 17 Jun 2013 06:30:39 +0000 Subject: hg: jdk8/tl: 13 new changesets Message-ID: <20130617063040.CD5A348256@hg.openjdk.java.net> Changeset: 33b6df33a2b7 Author: erikj Date: 2013-05-29 13:58 +0200 URL: http://hg.openjdk.java.net/jdk8/tl/rev/33b6df33a2b7 8013920: Configure sets JOBS to 0 if memory is too low. Reviewed-by: tbell ! common/autoconf/build-performance.m4 ! common/autoconf/generated-configure.sh Changeset: 03e60e87d92a Author: erikj Date: 2013-05-29 14:01 +0200 URL: http://hg.openjdk.java.net/jdk8/tl/rev/03e60e87d92a 8013489: New build system does not run codesign on SA-related launchers on OS X Reviewed-by: sla, tbell ! common/autoconf/basics.m4 ! common/autoconf/generated-configure.sh ! common/autoconf/spec.gmk.in ! common/makefiles/MakeBase.gmk ! common/makefiles/NativeCompilation.gmk Changeset: c31e9dc1fe3d Author: erikj Date: 2013-05-31 14:07 +0200 URL: http://hg.openjdk.java.net/jdk8/tl/rev/c31e9dc1fe3d 8014003: New build does not handle symlinks in workspace path Reviewed-by: tbell ! common/autoconf/basics.m4 ! common/autoconf/basics_windows.m4 ! common/autoconf/generated-configure.sh Changeset: 44259699e0b5 Author: erikj Date: 2013-06-04 10:23 +0200 URL: http://hg.openjdk.java.net/jdk8/tl/rev/44259699e0b5 8015784: Add configure parameter --with-update-version Reviewed-by: tbell, katleman, erikj Contributed-by: tristan.yan at oracle.com ! common/autoconf/generated-configure.sh ! common/autoconf/jdk-options.m4 Changeset: db3144e1f89b Author: mduigou Date: 2013-06-04 10:36 +0200 URL: http://hg.openjdk.java.net/jdk8/tl/rev/db3144e1f89b 8015510: (s) Improve JTReg location detection and provide location to test/Makefile Reviewed-by: erikj ! common/autoconf/generated-configure.sh ! common/autoconf/toolchain.m4 ! common/makefiles/Main.gmk Changeset: 9b8e8098172c Author: katleman Date: 2013-06-04 11:02 -0700 URL: http://hg.openjdk.java.net/jdk8/tl/rev/9b8e8098172c Merge Changeset: f55734874c4f Author: katleman Date: 2013-06-04 15:54 -0700 URL: http://hg.openjdk.java.net/jdk8/tl/rev/f55734874c4f Merge ! common/autoconf/generated-configure.sh Changeset: 27c51c6e31c1 Author: katleman Date: 2013-06-05 15:20 -0700 URL: http://hg.openjdk.java.net/jdk8/tl/rev/27c51c6e31c1 6983966: remove lzma and upx from repository JDK8 Reviewed-by: tbell, paulk, ngthomas ! common/autoconf/generated-configure.sh ! common/makefiles/Jprt.gmk ! make/deploy-rules.gmk Changeset: 8dfb6ee04114 Author: katleman Date: 2013-06-06 09:54 -0700 URL: http://hg.openjdk.java.net/jdk8/tl/rev/8dfb6ee04114 Added tag jdk8-b93 for changeset 27c51c6e31c1 ! .hgtags Changeset: 198d25db45da Author: erikj Date: 2013-06-11 13:08 +0200 URL: http://hg.openjdk.java.net/jdk8/tl/rev/198d25db45da 8008707: build-infra: Closed (deploy) can't be built using environment from SDK SetEnv.cmd Reviewed-by: tbell ! common/autoconf/generated-configure.sh ! common/autoconf/toolchain_windows.m4 Changeset: 3cbcc2b6ba41 Author: erikj Date: 2013-06-11 13:25 +0200 URL: http://hg.openjdk.java.net/jdk8/tl/rev/3cbcc2b6ba41 8010785: JDK 8 build on Linux fails with new build mechanism Reviewed-by: dholmes, tbell ! common/autoconf/generated-configure.sh ! common/autoconf/jdk-options.m4 Changeset: 50d2bde060f2 Author: erikj Date: 2013-06-12 10:33 +0200 URL: http://hg.openjdk.java.net/jdk8/tl/rev/50d2bde060f2 Merge Changeset: 6337f652e71f Author: katleman Date: 2013-06-13 09:48 -0700 URL: http://hg.openjdk.java.net/jdk8/tl/rev/6337f652e71f Added tag jdk8-b94 for changeset 50d2bde060f2 ! .hgtags From lana.steuck at oracle.com Sun Jun 16 23:30:39 2013 From: lana.steuck at oracle.com (lana.steuck at oracle.com) Date: Mon, 17 Jun 2013 06:30:39 +0000 Subject: hg: jdk8/tl/corba: 3 new changesets Message-ID: <20130617063042.ACA5348257@hg.openjdk.java.net> Changeset: 22f5d7f261d9 Author: katleman Date: 2013-06-06 09:54 -0700 URL: http://hg.openjdk.java.net/jdk8/tl/corba/rev/22f5d7f261d9 Added tag jdk8-b93 for changeset 8dc9d7ccbb2d ! .hgtags Changeset: 2cf36f43df36 Author: katleman Date: 2013-06-13 09:48 -0700 URL: http://hg.openjdk.java.net/jdk8/tl/corba/rev/2cf36f43df36 Added tag jdk8-b94 for changeset 22f5d7f261d9 ! .hgtags Changeset: 0fac0a9d9545 Author: lana Date: 2013-06-16 22:30 -0700 URL: http://hg.openjdk.java.net/jdk8/tl/corba/rev/0fac0a9d9545 Merge From lana.steuck at oracle.com Sun Jun 16 23:30:39 2013 From: lana.steuck at oracle.com (lana.steuck at oracle.com) Date: Mon, 17 Jun 2013 06:30:39 +0000 Subject: hg: jdk8/tl/jaxp: 4 new changesets Message-ID: <20130617063057.20CF54825A@hg.openjdk.java.net> Changeset: 40da96cab40e Author: katleman Date: 2013-06-06 09:54 -0700 URL: http://hg.openjdk.java.net/jdk8/tl/jaxp/rev/40da96cab40e Added tag jdk8-b93 for changeset d583a491d63c ! .hgtags Changeset: c84658e1740d Author: lana Date: 2013-06-10 16:59 -0700 URL: http://hg.openjdk.java.net/jdk8/tl/jaxp/rev/c84658e1740d Merge Changeset: b8c5f4b6f0ff Author: katleman Date: 2013-06-13 09:48 -0700 URL: http://hg.openjdk.java.net/jdk8/tl/jaxp/rev/b8c5f4b6f0ff Added tag jdk8-b94 for changeset c84658e1740d ! .hgtags Changeset: 0142ef23f1b4 Author: lana Date: 2013-06-16 22:32 -0700 URL: http://hg.openjdk.java.net/jdk8/tl/jaxp/rev/0142ef23f1b4 Merge From lana.steuck at oracle.com Sun Jun 16 23:30:47 2013 From: lana.steuck at oracle.com (lana.steuck at oracle.com) Date: Mon, 17 Jun 2013 06:30:47 +0000 Subject: hg: jdk8/tl/langtools: 4 new changesets Message-ID: <20130617063102.5F6454825B@hg.openjdk.java.net> Changeset: 888386fddc09 Author: katleman Date: 2013-06-06 09:55 -0700 URL: http://hg.openjdk.java.net/jdk8/tl/langtools/rev/888386fddc09 Added tag jdk8-b93 for changeset 2c5a568ee36e ! .hgtags Changeset: 48c6e6ab7c81 Author: lana Date: 2013-06-10 17:04 -0700 URL: http://hg.openjdk.java.net/jdk8/tl/langtools/rev/48c6e6ab7c81 Merge Changeset: 4cb113623127 Author: katleman Date: 2013-06-13 09:49 -0700 URL: http://hg.openjdk.java.net/jdk8/tl/langtools/rev/4cb113623127 Added tag jdk8-b94 for changeset 48c6e6ab7c81 ! .hgtags Changeset: 1eb09dba594a Author: lana Date: 2013-06-16 22:38 -0700 URL: http://hg.openjdk.java.net/jdk8/tl/langtools/rev/1eb09dba594a Merge From lana.steuck at oracle.com Sun Jun 16 23:31:07 2013 From: lana.steuck at oracle.com (lana.steuck at oracle.com) Date: Mon, 17 Jun 2013 06:31:07 +0000 Subject: hg: jdk8/tl/hotspot: 65 new changesets Message-ID: <20130617063317.D17E64825C@hg.openjdk.java.net> Changeset: 61dcf187a198 Author: katleman Date: 2013-06-06 09:54 -0700 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/61dcf187a198 Added tag jdk8-b93 for changeset 573d86d412cd ! .hgtags Changeset: 194b27b865bc Author: amurillo Date: 2013-05-24 09:35 -0700 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/194b27b865bc 8015305: new hotspot build - hs25-b35 Reviewed-by: jcoomes ! make/hotspot_version Changeset: ccdecfece956 Author: bharadwaj Date: 2013-05-21 16:17 -0700 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/ccdecfece956 8014059: JSR292: Failed to reject invalid class cplmhl00201m28n Summary: Restrict reference of interface methods by invokestatic and invokespecial to classfile version 52 or later. Reviewed-by: kvn, hseigel ! src/share/vm/classfile/classFileParser.cpp Changeset: f54c85acc043 Author: mikael Date: 2013-05-21 09:43 -0700 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/f54c85acc043 8013726: runtime/memory/ReserveMemory.java fails due to 'assert(bytes % os::vm_allocation_granularity() == 0) failed: reserve block size' Summary: Fix regression test to work on all platforms Reviewed-by: ctornqvi, dholmes ! src/share/vm/prims/whitebox.cpp ! test/runtime/memory/ReserveMemory.java ! test/testlibrary/whitebox/sun/hotspot/WhiteBox.java Changeset: 1a07e086ff28 Author: dholmes Date: 2013-05-21 19:52 -0700 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/1a07e086ff28 Merge Changeset: 6bd680e9ea35 Author: coleenp Date: 2013-05-22 14:37 -0400 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/6bd680e9ea35 8003421: NPG: Move oops out of InstanceKlass into mirror Summary: Inject protection_domain, signers, init_lock into java_lang_Class Reviewed-by: stefank, dholmes, sla ! agent/src/share/classes/sun/jvm/hotspot/memory/DictionaryEntry.java ! agent/src/share/classes/sun/jvm/hotspot/oops/InstanceKlass.java ! agent/src/share/classes/sun/jvm/hotspot/utilities/HeapGXLWriter.java ! agent/src/share/classes/sun/jvm/hotspot/utilities/HeapHprofBinWriter.java ! agent/src/share/classes/sun/jvm/hotspot/utilities/soql/JSJavaInstanceKlass.java ! src/share/vm/classfile/classFileParser.cpp ! src/share/vm/classfile/javaClasses.cpp ! src/share/vm/classfile/javaClasses.hpp ! src/share/vm/classfile/vmSymbols.hpp ! src/share/vm/oops/arrayKlass.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/objArrayKlass.hpp ! src/share/vm/oops/typeArrayKlass.hpp ! src/share/vm/prims/jvm.cpp ! src/share/vm/runtime/vmStructs.cpp Changeset: 699d9df07e59 Author: ctornqvi Date: 2013-05-23 17:39 +0200 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/699d9df07e59 8009576: Test returns ClassNotFoundException Summary: Small classpath fix and move tests into open Reviewed-by: mgerdin, zgu + test/runtime/Metaspace/FragmentMetaspace.java + test/runtime/Metaspace/FragmentMetaspaceSimple.java + test/runtime/Metaspace/classes/test/Empty.java + test/runtime/testlibrary/GeneratedClassLoader.java Changeset: b7fa10a3a69a Author: sspitsyn Date: 2013-05-23 23:04 -0700 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/b7fa10a3a69a 8014288: perf regression in nashorn JDK-8008448.js test after 8008511 changes Summary: The fix of perf regression is to use method_idnum() for direct indexing into NMT Reviewed-by: twisti, kvn, coleenp, dholmes Contributed-by: serguei.spitsyn at oracle.com ! src/share/vm/oops/instanceKlass.cpp ! src/share/vm/oops/instanceKlass.hpp ! src/share/vm/prims/methodHandles.cpp ! src/share/vm/prims/methodHandles.hpp Changeset: cd83e1d98347 Author: dcubed Date: 2013-05-24 10:21 -0700 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/cd83e1d98347 Merge Changeset: 6c138b9851fb Author: sspitsyn Date: 2013-05-24 17:36 -0700 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/6c138b9851fb 8013945: CMS fatal error: must own lock MemberNameTable_lock Summary: The "delete mnt" needs to grab MemberNameTable_lock if !SafepointSynchronize::is_at_safepoint() Reviewed-by: sla, mgerdin, dholmes, jmasa Contributed-by: serguei.spitsyn at oracle.com ! src/share/vm/oops/instanceKlass.cpp Changeset: 3970971c91e0 Author: shade Date: 2013-05-27 12:49 -0700 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/3970971c91e0 8015270: @Contended: fix multiple issues in the layout code Summary: field count handling fixed, has_nonstatic_fields invariant fixed, oop map overrun fixed; new asserts Reviewed-by: kvn, dcubed, coleenp ! src/share/vm/classfile/classFileParser.cpp + test/runtime/contended/HasNonStatic.java + test/runtime/contended/OopMaps.java Changeset: a213d425d87a Author: ctornqvi Date: 2013-05-28 15:08 +0200 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/a213d425d87a 8015329: Print reason for failed MiniDumpWriteDump() call Summary: Printing both result from GetLastError and text representation of error. Also changed so that we produce dumps by default on client versions of Windows when running with a debug build. Also reviewed by peter.allwin at oracle.com Reviewed-by: sla, dholmes ! src/os/windows/vm/os_windows.cpp Changeset: 51af5fae397d Author: ccheung Date: 2013-05-24 17:19 -0700 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/51af5fae397d 8015265: revise the fix for 8007037 Reviewed-by: sspitsyn, dholmes, dcubed ! src/share/vm/oops/constantPool.cpp Changeset: 4cc7d4d5dc92 Author: zgu Date: 2013-05-28 08:54 -0700 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/4cc7d4d5dc92 Merge Changeset: 01c2bdd24bb5 Author: shade Date: 2013-05-28 19:54 +0400 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/01c2bdd24bb5 8015493: runtime/contended/OopMaps.java fails with OutOfMemory Summary: limit the memory footprint to dodge OutOfMemory errors. Reviewed-by: dcubed, ctornqvi, iignatyev ! test/runtime/contended/OopMaps.java Changeset: 9ea643afcaaf Author: dcubed Date: 2013-05-28 11:35 -0700 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/9ea643afcaaf Merge Changeset: dcb062bea05b Author: jprovino Date: 2013-05-28 11:17 -0400 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/dcb062bea05b 8013461: There is a symbol AsyncGetCallTrace in libjvm.symbols that does not exist in minimal/libjvm.a when DEBUG_LEVEL == release Summary: AsyncGetCallTrace is needed in libjvm.symbols so that programs which reference it can build correctly. Reviewed-by: dholmes, bobv ! make/excludeSrc.make ! src/share/vm/prims/forte.cpp Changeset: fb14e9ed1594 Author: jprovino Date: 2013-05-28 11:32 -0400 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/fb14e9ed1594 8011064: Some tests have failed with SIGSEGV on arm-hflt on build b82 Summary: NMT_detail is only supported when frame pointers are not omitted (-fno-omit-frame-pointer). Reviewed-by: dholmes, cjplummer ! src/share/vm/services/memTracker.cpp ! src/share/vm/utilities/globalDefinitions.hpp Changeset: 9e954e8d9139 Author: jprovino Date: 2013-05-28 15:24 -0400 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/9e954e8d9139 Merge Changeset: 9e86c5544295 Author: jiangli Date: 2013-05-30 13:19 -0400 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/9e86c5544295 Merge Changeset: 0def34ab1c98 Author: tamao Date: 2013-05-21 16:43 -0700 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/0def34ab1c98 8015007: Incorrect print format in error message for VM cannot allocate the requested heap Summary: Correct the wrong print format in error message for VM cannot allocate the requested heap; and clean up the error message call in check_alignment() Reviewed-by: brutisso, tschatzl Contributed-by: tamao ! src/share/vm/memory/universe.cpp Changeset: 14d3f71f831d Author: tamao Date: 2013-05-22 11:11 -0700 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/14d3f71f831d 8007762: Rename a bunch of methods in size policy across collectors Summary: Rename: compute_generations_free_space() = compute_eden_space_size() + compute_old_gen_free_space(); update related logging messages Reviewed-by: jmasa, johnc, tschatzl, brutisso Contributed-by: tamao ! src/share/vm/gc_implementation/concurrentMarkSweep/cmsAdaptiveSizePolicy.cpp ! src/share/vm/gc_implementation/concurrentMarkSweep/cmsAdaptiveSizePolicy.hpp ! src/share/vm/gc_implementation/parNew/asParNewGeneration.cpp ! src/share/vm/gc_implementation/parallelScavenge/psAdaptiveSizePolicy.cpp ! src/share/vm/gc_implementation/parallelScavenge/psAdaptiveSizePolicy.hpp ! src/share/vm/gc_implementation/parallelScavenge/psGCAdaptivePolicyCounters.hpp ! src/share/vm/gc_implementation/parallelScavenge/psMarkSweep.cpp ! src/share/vm/gc_implementation/parallelScavenge/psParallelCompact.cpp ! src/share/vm/gc_implementation/shared/adaptiveSizePolicy.cpp Changeset: 0886b99a4d1b Author: jwilhelm Date: 2013-05-24 14:16 +0200 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/0886b99a4d1b Merge Changeset: eda078b01c65 Author: stefank Date: 2013-05-27 15:22 +0200 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/eda078b01c65 8015268: NPG: 2.5% regression in young GC times on CRM Sales Opty Summary: Split SystemDictionary and ClassLoaderDataGraph root processing to help load balancing. Reviewed-by: tschatzl, johnc ! src/share/vm/gc_implementation/parallelScavenge/pcTasks.cpp ! src/share/vm/gc_implementation/parallelScavenge/pcTasks.hpp ! src/share/vm/gc_implementation/parallelScavenge/psParallelCompact.cpp ! src/share/vm/gc_implementation/parallelScavenge/psScavenge.cpp ! src/share/vm/gc_implementation/parallelScavenge/psTasks.cpp ! src/share/vm/gc_implementation/parallelScavenge/psTasks.hpp ! src/share/vm/memory/sharedHeap.cpp Changeset: 95c00927be11 Author: stefank Date: 2013-05-27 12:56 +0200 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/95c00927be11 8015428: Remove unused CDS support from StringTable Summary: The string in StringTable is not used by CDS anymore. Remove the unnecessary code in preparation for 8015422: Large performance hit when the StringTable is walked twice in Parallel Scavenge Reviewed-by: pliden, tschatzl, coleenp ! src/share/vm/classfile/symbolTable.cpp Changeset: 8dbc025ff709 Author: stefank Date: 2013-05-27 12:58 +0200 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/8dbc025ff709 8015422: Large performance hit when the StringTable is walked twice in Parallel Scavenge Summary: Combine the calls to StringTable::unlink and StringTable::oops_do in Parallel Scavenge. Reviewed-by: pliden, coleenp ! src/share/vm/classfile/symbolTable.cpp ! src/share/vm/classfile/symbolTable.hpp ! src/share/vm/gc_implementation/parallelScavenge/psScavenge.cpp Changeset: f41a577cffb0 Author: jwilhelm Date: 2013-05-31 09:55 +0200 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/f41a577cffb0 Merge Changeset: b786c04b7be1 Author: amurillo Date: 2013-05-31 09:37 -0700 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/b786c04b7be1 Merge Changeset: 5a028ee56116 Author: amurillo Date: 2013-05-31 09:37 -0700 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/5a028ee56116 Added tag hs25-b35 for changeset b786c04b7be1 ! .hgtags Changeset: b7569f617285 Author: amurillo Date: 2013-05-31 10:04 -0700 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/b7569f617285 8015690: new hotspot build - hs25-b36 Reviewed-by: jcoomes ! make/hotspot_version Changeset: 5534bd30c151 Author: jcoomes Date: 2013-05-30 13:04 -0700 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/5534bd30c151 6725714: par compact - add a table to speed up bitmap searches Reviewed-by: jmasa, tschatzl ! src/share/vm/gc_implementation/parallelScavenge/parallelScavengeHeap.hpp ! src/share/vm/gc_implementation/parallelScavenge/psParallelCompact.cpp ! src/share/vm/gc_implementation/parallelScavenge/psParallelCompact.hpp Changeset: 47bdfb3d010f Author: stefank Date: 2013-05-30 10:58 +0200 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/47bdfb3d010f 8015486: PSScavenge::is_obj_in_young is unnecessarily slow with UseCompressedOops Summary: Compare compressed oops to a compressed young gen boundary instead of uncompressing the oops before doing the young gen boundary check. Reviewed-by: brutisso, jmasa ! src/share/vm/gc_implementation/parallelScavenge/psPromotionManager.inline.hpp ! src/share/vm/gc_implementation/parallelScavenge/psScavenge.cpp ! src/share/vm/gc_implementation/parallelScavenge/psScavenge.hpp ! src/share/vm/gc_implementation/parallelScavenge/psScavenge.inline.hpp Changeset: c20186fa611b Author: jwilhelm Date: 2013-06-01 10:00 +0200 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/c20186fa611b Merge Changeset: e72f7eecc96d Author: tschatzl Date: 2013-05-28 09:32 +0200 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/e72f7eecc96d 8013895: G1: G1SummarizeRSetStats output on Linux needs improvemen Summary: Fixed the output of G1SummarizeRSetStats: too small datatype for the number of concurrently processed cards, added concurrent remembered set thread time retrieval for Linux and Windows (BSD uses os::elapsedTime() now), and other cleanup. The information presented during VM operation is now relative to the previous output, not always cumulative if G1SummarizeRSetStatsPeriod > 0. At VM exit, the code prints a cumulative summary. Reviewed-by: johnc, jwilhelm ! make/excludeSrc.make ! src/os/bsd/vm/os_bsd.cpp ! src/os/linux/vm/os_linux.cpp ! src/os/windows/vm/os_windows.cpp ! src/share/vm/gc_implementation/g1/concurrentG1Refine.cpp ! src/share/vm/gc_implementation/g1/concurrentG1Refine.hpp ! src/share/vm/gc_implementation/g1/g1CollectedHeap.cpp ! src/share/vm/gc_implementation/g1/g1RemSet.cpp ! src/share/vm/gc_implementation/g1/g1RemSet.hpp + src/share/vm/gc_implementation/g1/g1RemSetSummary.cpp + src/share/vm/gc_implementation/g1/g1RemSetSummary.hpp + test/gc/g1/TestSummarizeRSetStats.java Changeset: 3a4805ad0005 Author: johnc Date: 2013-06-04 10:04 -0700 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/3a4805ad0005 8015244: G1: Verification after a full GC is incorrectly placed. Summary: In a full GC, move the verification after the GC to after RSet rebuilding. Verify RSet entries during a full GC under control of a flag. Reviewed-by: tschatzl, brutisso ! src/share/vm/gc_implementation/g1/g1CollectedHeap.cpp ! src/share/vm/gc_implementation/g1/g1RemSet.cpp ! src/share/vm/gc_implementation/g1/g1_globals.hpp ! src/share/vm/gc_implementation/g1/heapRegion.cpp Changeset: 87c64c0438fb Author: tamao Date: 2013-06-03 14:37 -0700 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/87c64c0438fb 6976350: G1: deal with fragmentation while copying objects during GC Summary: Create G1ParGCAllocBufferContainer to contain two buffers instead of previously using one buffer, in order to hold the first priority buffer longer. Thus, when some large objects hits the value of free space left in the first priority buffer it has an alternative to fit in the second priority buffer while the first priority buffer is given more chances to try allocating smaller objects. Overall, it will improve heap space efficiency. Reviewed-by: johnc, jmasa, brutisso Contributed-by: tamao ! src/share/vm/gc_implementation/g1/g1CollectedHeap.hpp ! src/share/vm/gc_implementation/shared/parGCAllocBuffer.hpp Changeset: 2f7a31318b84 Author: johnc Date: 2013-06-04 14:00 -0700 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/2f7a31318b84 Merge Changeset: a1ebd310d5c1 Author: iklam Date: 2013-05-28 16:36 -0700 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/a1ebd310d5c1 8014912: Restore PrintSharedSpaces functionality after NPG Summary: Added dumping of object sizes in CDS archive, sorted by MetaspaceObj::Type Reviewed-by: coleenp, acorn ! src/share/vm/memory/allocation.cpp ! src/share/vm/memory/allocation.hpp ! src/share/vm/memory/metaspace.cpp ! src/share/vm/memory/metaspace.hpp ! src/share/vm/memory/metaspaceShared.cpp ! src/share/vm/oops/annotations.cpp ! src/share/vm/oops/constMethod.cpp ! src/share/vm/oops/constantPool.cpp ! src/share/vm/oops/cpCache.cpp ! src/share/vm/oops/klass.cpp ! src/share/vm/oops/method.cpp ! src/share/vm/oops/methodCounters.cpp ! src/share/vm/oops/methodData.cpp ! src/share/vm/oops/symbol.cpp ! src/share/vm/utilities/array.hpp Changeset: fe00365c8f31 Author: sspitsyn Date: 2013-05-30 11:46 -0700 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/fe00365c8f31 8015436: compiler/ciReplay/TestSA.sh fails with assert() index is out of bounds Summary: The InstanceKlass _initial_method_idnum value must be adjusted if overpass methods are added. Reviewed-by: twisti, kvn Contributed-by: serguei.spitsyn at oracle.com ! src/share/vm/classfile/defaultMethods.cpp + test/compiler/8015436/Test8015436.java Changeset: a589c78a8811 Author: rbackman Date: 2013-05-31 13:02 +0200 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/a589c78a8811 8014709: Constructor.getAnnotatedReturnType() returns empty AnnotatedType Reviewed-by: stefank, rbackman Contributed-by: Joel Borggren-Franck ! src/share/vm/runtime/reflection.cpp ! test/runtime/8007320/ConstMethodTest.java Changeset: efe8b7d64424 Author: ctornqvi Date: 2013-05-31 20:24 +0200 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/efe8b7d64424 6726963: multi_allocate() call does not CHECK_NULL and causes crash in fastdebug bits Summary: Using CHECK_NULL when calling multi_allocate() from the corresponding reflection code; added test for this condition Reviewed-by: dholmes, minqi Contributed-by: Mikhailo Seledtsov ! src/share/vm/runtime/reflection.cpp + test/runtime/memory/MultiAllocateNullCheck.java Changeset: 532c55335fb6 Author: dcubed Date: 2013-06-01 09:28 -0700 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/532c55335fb6 Merge Changeset: 4552a7633a07 Author: hseigel Date: 2013-06-03 10:00 -0400 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/4552a7633a07 8015385: Remove RelaxAccessControlCheck for JDK 8 bytecodes Summary: Check bytecode versions along with RelaxAccessControlCheck version Reviewed-by: dholmes, acorn ! src/share/vm/classfile/verifier.hpp ! src/share/vm/runtime/reflection.cpp Changeset: e7d29a019a3c Author: sspitsyn Date: 2013-06-03 14:28 -0700 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/e7d29a019a3c 8014052: JSR292: assert(end_offset == next_offset) failed: matched ending Summary: A call to the finalize_operands_merge() must be unconditional Reviewed-by: kvn, twisti Contributed-by: serguei.spitsyn at oracle.com ! src/share/vm/prims/jvmtiRedefineClasses.cpp Changeset: 2f004f9dc9e1 Author: sspitsyn Date: 2013-06-04 01:06 -0700 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/2f004f9dc9e1 8015803: Test8015436.java fails 'can not access a member of class Test8015436 with modifiers "public static"' Summary: Newly added test has an issue: the main class must be public Reviewed-by: kvn, jbachorik, coleenp Contributed-by: serguei.spitsyn at oracle.com ! test/compiler/8015436/Test8015436.java Changeset: 04551f4dbdb9 Author: nloodin Date: 2013-06-05 09:47 -0700 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/04551f4dbdb9 Merge Changeset: 62e7bac9524f Author: dcubed Date: 2013-06-04 19:39 -0700 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/62e7bac9524f 8010257: remove unused thread-local variables _ScratchA and _ScratchB Summary: Remove dead code. Reviewed-by: twisti, coleenp ! src/share/vm/runtime/thread.hpp Changeset: 6bf8b8bb7c19 Author: hseigel Date: 2013-06-05 14:12 -0400 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/6bf8b8bb7c19 8009302: Mac OS X: JVM crash on infinite recursion on Appkit Thread Summary: Use SA_ONSTACK flag to ensure signal gets delivered properly. Reviewed-by: dholmes, coleenp Contributed-by: gerard.ziemski at oracle.com ! src/os/bsd/vm/os_bsd.cpp Changeset: f8c8cace25ad Author: dcubed Date: 2013-06-06 05:56 -0700 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/f8c8cace25ad Merge ! src/os/bsd/vm/os_bsd.cpp Changeset: 320b4e0f0892 Author: roland Date: 2013-05-30 11:21 +0200 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/320b4e0f0892 8015585: Missing regression test for 8011771 Summary: missing regression test Reviewed-by: kvn + test/compiler/8011771/Test8011771.java Changeset: f15fe46d8c00 Author: twisti Date: 2013-05-30 08:37 -0700 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/f15fe46d8c00 8015266: fix some -Wsign-compare warnings in adlc Reviewed-by: kvn ! src/share/vm/adlc/archDesc.cpp ! src/share/vm/adlc/dict2.cpp ! src/share/vm/adlc/formssel.cpp ! src/share/vm/adlc/formssel.hpp ! src/share/vm/adlc/output_c.cpp Changeset: 28e5aed7f3a6 Author: roland Date: 2013-05-31 14:40 +0200 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/28e5aed7f3a6 8009981: nashorn tests fail with -XX:+VerifyStack Summary: nmethod::preserve_callee_argument_oops() must take appendix into account. Reviewed-by: kvn, twisti ! src/share/vm/code/nmethod.cpp ! src/share/vm/runtime/deoptimization.cpp ! src/share/vm/runtime/frame.cpp ! src/share/vm/runtime/frame.hpp ! src/share/vm/runtime/sharedRuntime.cpp ! src/share/vm/runtime/sharedRuntime.hpp Changeset: 83dcb116fdb1 Author: kvn Date: 2013-05-31 13:54 -0700 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/83dcb116fdb1 8015441: runThese crashed with assert(opcode == Op_ConP || opcode == Op_ThreadLocal || opcode == Op_CastX2P ..) failed: sanity Summary: Relax the assert to accept any raw ptr types. Reviewed-by: roland ! src/share/vm/opto/escape.cpp Changeset: c07dd9be16e8 Author: anoll Date: 2013-05-31 06:41 +0200 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/c07dd9be16e8 8013496: Code cache management command line options work only in special order. Another order of arguments does not deliver the second parameter to the jvm. Summary: Moved check that ReservedCodeCacheSize >= InitialCodeCacheSize to Arguments::check_vm_args_consistency(). As a result, the ordering in which the two parameters are given to the VM is not relevant. Added a regression test. Reviewed-by: kvn, twisti ! src/share/vm/runtime/arguments.cpp + test/compiler/8013496/Test8013496.sh Changeset: 603ca7e51354 Author: roland Date: 2013-04-24 11:49 +0200 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/603ca7e51354 8010460: Interpreter on some platforms loads ConstMethod::_max_stack and misses extra stack slots for JSR 292 Summary: ConstMethod::max_stack() doesn't account for JSR 292 appendix. Reviewed-by: kvn ! src/cpu/sparc/vm/cppInterpreter_sparc.cpp ! src/cpu/sparc/vm/interp_masm_sparc.cpp ! src/cpu/sparc/vm/templateInterpreter_sparc.cpp ! src/cpu/x86/vm/cppInterpreter_x86.cpp ! src/cpu/x86/vm/templateInterpreter_x86_32.cpp ! src/cpu/x86/vm/templateInterpreter_x86_64.cpp ! src/share/vm/interpreter/bytecodeInterpreter.cpp ! src/share/vm/oops/method.hpp ! src/share/vm/opto/matcher.cpp Changeset: 813f26e34135 Author: anoll Date: 2013-06-03 08:52 +0200 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/813f26e34135 8013329: File leak in hotspot/src/share/vm/compiler/compileBroker.cpp Summary: Added calling of the destructor of CompileLog so that files are closed. Added/moved memory allocation/deallocation of the string that contains the name of the log file to class CompileLog. Reviewed-by: kvn, roland ! src/share/vm/compiler/compileBroker.cpp ! src/share/vm/compiler/compileLog.cpp ! src/share/vm/compiler/compileLog.hpp Changeset: b274ac1dbe11 Author: adlertz Date: 2013-06-03 12:39 -0700 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/b274ac1dbe11 8005956: C2: assert(!def_outside->member(r)) failed: Use of external LRG overlaps the same LRG defined in this block Summary: Disable re-materialization of reaching definitions (which have live inputs) for phi nodes when spilling. Reviewed-by: twisti, kvn ! src/share/vm/opto/reg_split.cpp Changeset: 770e91e578a6 Author: kvn Date: 2013-06-03 14:02 -0700 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/770e91e578a6 Merge Changeset: 075ea888b039 Author: morris Date: 2013-06-04 12:06 -0700 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/075ea888b039 8010724: [parfait] Null pointer dereference in hotspot/src/share/vm/c1/c1_LIRGenerator.cpp Summary: added guarantee() Reviewed-by: kvn ! src/share/vm/c1/c1_LIRGenerator.cpp Changeset: 2cb5d5f6d5e5 Author: simonis Date: 2013-06-04 22:16 -0700 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/2cb5d5f6d5e5 8015252: Enable HotSpot build with Clang Reviewed-by: twisti, dholmes, kvn ! make/bsd/makefiles/adlc.make ! make/bsd/makefiles/gcc.make ! make/bsd/makefiles/vm.make ! make/linux/makefiles/adlc.make ! make/linux/makefiles/gcc.make ! src/os/bsd/vm/os_bsd.cpp ! src/os_cpu/linux_x86/vm/linux_x86_32.s ! src/os_cpu/linux_x86/vm/os_linux_x86.cpp Changeset: 609aad72004a Author: anoll Date: 2013-06-06 09:29 -0700 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/609aad72004a 8014246: remove assert to catch access to object headers in index_oop_from_field_offset_long Reviewed-by: twisti, jrose ! src/share/vm/prims/unsafe.cpp Changeset: ef1818846c22 Author: kvn Date: 2013-06-06 11:02 -0700 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/ef1818846c22 Merge ! src/os/bsd/vm/os_bsd.cpp Changeset: 3c78a14da19d Author: amurillo Date: 2013-06-07 09:25 -0700 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/3c78a14da19d Merge ! .hgtags Changeset: 1beed1f6f9ed Author: amurillo Date: 2013-06-07 09:25 -0700 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/1beed1f6f9ed Added tag hs25-b36 for changeset 3c78a14da19d ! .hgtags Changeset: 3a353050e85a Author: katleman Date: 2013-06-13 09:48 -0700 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/3a353050e85a Added tag jdk8-b94 for changeset 1beed1f6f9ed ! .hgtags From lana.steuck at oracle.com Sun Jun 16 23:32:27 2013 From: lana.steuck at oracle.com (lana.steuck at oracle.com) Date: Mon, 17 Jun 2013 06:32:27 +0000 Subject: hg: jdk8/tl/jdk: 36 new changesets Message-ID: <20130617063953.5C3EF4825D@hg.openjdk.java.net> Changeset: 583e6dec1ed7 Author: erikj Date: 2013-05-29 14:01 +0200 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/583e6dec1ed7 8013489: New build system does not run codesign on SA-related launchers on OS X Reviewed-by: sla, tbell ! makefiles/CompileLaunchers.gmk Changeset: d8c97d6772cd Author: erikj Date: 2013-05-30 09:29 +0200 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/d8c97d6772cd Merge Changeset: bc3a17982aae Author: erikj Date: 2013-05-31 14:05 +0200 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/bc3a17982aae 7195481: FDS: debuginfo file for libjdwp.so is missed Reviewed-by: tbell ! make/jpda/back/Makefile ! makefiles/CompileNativeLibraries.gmk Changeset: c50add191a39 Author: katleman Date: 2013-06-04 11:03 -0700 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/c50add191a39 Merge ! makefiles/CompileNativeLibraries.gmk Changeset: 16003f414ca3 Author: katleman Date: 2013-06-04 14:11 -0700 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/16003f414ca3 8015644: makefile changes to allow integration of new features Reviewed-by: tbell, erikj, dholmes Contributed-by: amy.y.wang at oracle.com ! makefiles/Images.gmk Changeset: 691d6c6cd332 Author: katleman Date: 2013-06-05 15:25 -0700 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/691d6c6cd332 6983966: remove lzma and upx from repository JDK8 Reviewed-by: tbell, paulk, ngthomas ! make/common/Defs-windows.gmk Changeset: 7b757d567346 Author: katleman Date: 2013-06-06 09:55 -0700 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/7b757d567346 Added tag jdk8-b93 for changeset 691d6c6cd332 ! .hgtags Changeset: fd377533608b Author: andrew Date: 2013-05-30 16:50 +0100 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/fd377533608b 8011693: Remove redundant fontconfig files Summary: Remove unused fontconfig files from OpenJDK GNU/Linux builds Reviewed-by: andrew, prr Contributed-by: Jiri Vanek ! make/sun/awt/Makefile ! makefiles/GendataFontConfig.gmk - src/solaris/classes/sun/awt/fontconfigs/linux.fontconfig.Fedora.properties - src/solaris/classes/sun/awt/fontconfigs/linux.fontconfig.SuSE.properties - src/solaris/classes/sun/awt/fontconfigs/linux.fontconfig.Ubuntu.properties - src/solaris/classes/sun/awt/fontconfigs/linux.fontconfig.properties Changeset: b9b73bf450a4 Author: bae Date: 2013-05-31 14:30 +0400 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/b9b73bf450a4 8015606: Text is not rendered correctly if destination buffer is custom Reviewed-by: prr, vadim ! src/share/classes/sun/java2d/loops/MaskFill.java + test/sun/java2d/loops/RenderToCustomBufferTest.java Changeset: 0a17344d074e Author: prr Date: 2013-05-31 09:25 -0700 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/0a17344d074e 8015556: [macosx] surrogate pairs do not render properly. Reviewed-by: bae, jchen ! src/macosx/classes/sun/font/CCharToGlyphMapper.java + test/java/awt/FontClass/SurrogateTest/SuppCharTest.java Changeset: 3af3981dee11 Author: lana Date: 2013-06-05 09:52 -0700 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/3af3981dee11 Merge - test/com/sun/jmx/remote/NotificationMarshalVersions/TestSerializationMismatch.sh Changeset: 768fcc36182a Author: anthony Date: 2013-05-30 18:10 +0400 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/768fcc36182a 8015303: [macosx] Application launched via custom URL Scheme does not receive URL Summary: Make copies of event parameters Reviewed-by: anthony, swingler, serb Contributed-by: James Tomson ! src/macosx/native/sun/osxapp/QueuingApplicationDelegate.m Changeset: 8472c148688c Author: ant Date: 2013-05-30 18:23 +0400 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/8472c148688c 8013424: Regression: java.awt.datatransfer.FlavorListeners not notified on Linux/Java 7 Reviewed-by: anthony ! src/solaris/classes/sun/awt/X11/XClipboard.java Changeset: 56512cfccef9 Author: ant Date: 2013-05-30 18:31 +0400 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/56512cfccef9 8013773: requestFocusInWindow to a disabled component prevents window of getting focused Reviewed-by: leonidr, alexsch ! src/share/classes/java/awt/DefaultKeyboardFocusManager.java + test/java/awt/Focus/ResetMostRecentFocusOwnerTest/ResetMostRecentFocusOwnerTest.java Changeset: b0eab0f8b503 Author: anthony Date: 2013-05-31 14:12 +0400 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/b0eab0f8b503 8013189: JMenuItems draw behind TextArea Summary: Untie XTextAreaPeer internal components from the TextArea parent to prevent its invalidation. I.e. force the java.awt.smartInvalidate=true locally. Reviewed-by: art, serb ! src/solaris/classes/sun/awt/X11/XTextAreaPeer.java + test/java/awt/TextArea/Mixing/TextAreaMixing.java Changeset: 481476e941fd Author: ant Date: 2013-05-31 15:56 +0400 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/481476e941fd 8015589: Test java/awt/Window/Grab/GrabTest.java fails on MacOSX Reviewed-by: anthony ! test/java/awt/Window/Grab/GrabTest.java Changeset: 611f8664c96c Author: malenkov Date: 2013-05-31 18:25 +0400 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/611f8664c96c 8013557: XMLEncoder in 1.7 can't encode objects initialized in no argument constructor Reviewed-by: alexsch ! src/share/classes/java/beans/XMLEncoder.java + test/java/beans/XMLEncoder/Test6989223.java + test/java/beans/XMLEncoder/Test7080156.java + test/java/beans/XMLEncoder/Test8013557.java Changeset: a4356b90f57d Author: vkarnauk Date: 2013-05-31 18:46 +0400 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/a4356b90f57d 7068740: If you wrap a JTable in a JLayer you can't use the page up and page down cmds Reviewed-by: alexsch, alexp ! src/share/classes/javax/swing/plaf/basic/BasicTableUI.java + test/javax/swing/JTable/7068740/bug7068740.java Changeset: 791fd2ef87b3 Author: vkarnauk Date: 2013-05-31 19:34 +0400 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/791fd2ef87b3 6436314: Vector could be created with appropriate size in DefaultComboBoxModel Reviewed-by: alexsch, alexp ! src/share/classes/javax/swing/DefaultComboBoxModel.java Changeset: ae4683a6b860 Author: pchelko Date: 2013-06-03 10:14 +0400 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/ae4683a6b860 8015477: Support single threaded AWT/FX mode. Reviewed-by: ant, anthony ! src/macosx/classes/sun/lwawt/macosx/LWCToolkit.java ! src/macosx/native/sun/awt/CDropTargetContextPeer.m ! src/macosx/native/sun/awt/LWCToolkit.m ! src/share/classes/java/awt/EventQueue.java ! src/share/classes/sun/awt/AWTAccessor.java + src/share/classes/sun/awt/FwDispatcher.java Changeset: 43f82f573c01 Author: alitvinov Date: 2013-06-03 14:05 +0400 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/43f82f573c01 7151823: The test incorrectly recognizing OS Reviewed-by: serb, alexp ! test/javax/swing/JTabbedPane/4624207/bug4624207.java Changeset: d378104e52e3 Author: anthony Date: 2013-06-03 16:27 +0400 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/d378104e52e3 8015500: Prevent sending multiple WINDOW_CLOSED events for already disposed windows Reviewed-by: anthony, serb Contributed-by: Jose Luis Martin ! src/share/classes/java/awt/Window.java + test/java/awt/Window/WindowClosedEvents/WindowClosedEventOnDispose.java Changeset: 9a8e0140123a Author: alitvinov Date: 2013-06-03 16:37 +0400 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/9a8e0140123a 6337518: Null Arrow Button Throws Exception in BasicComboBoxUI Reviewed-by: alexp, alexsch ! src/share/classes/javax/swing/plaf/basic/BasicComboBoxUI.java + test/javax/swing/JComboBox/6337518/bug6337518.java Changeset: 8b274eccd94a Author: mcherkas Date: 2013-06-05 14:21 +0400 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/8b274eccd94a 8015375: Edits to text components hang for clipboard access Reviewed-by: art, anthony Contributed-by: Dmitry Markov ! src/solaris/native/sun/xawt/XlibWrapper.c Changeset: 1390369d4457 Author: vkarnauk Date: 2013-06-05 16:57 +0400 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/1390369d4457 8015425: [macosx] A follow-up for the fix 8010721 Reviewed-by: serb, anthony ! src/macosx/native/sun/awt/AWTWindow.m Changeset: a4af3d10d19e Author: ant Date: 2013-06-05 17:44 +0400 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/a4af3d10d19e 8015339: Correct a wording in javadoc of java.awt.ContainerOrderFocusTraversalPolicy Reviewed-by: art, anthony ! src/share/classes/java/awt/ContainerOrderFocusTraversalPolicy.java Changeset: 6802f71a5eb2 Author: malenkov Date: 2013-06-05 18:15 +0400 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/6802f71a5eb2 8013370: Null pointer exception when adding more than 9 accelators to a JMenuBar Reviewed-by: serb ! src/share/classes/javax/swing/KeyboardManager.java + test/javax/swing/KeyboardManager/8013370/Test8013370.java Changeset: e246bc03c8cb Author: lana Date: 2013-06-05 00:37 -0700 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/e246bc03c8cb Merge - test/com/sun/jmx/remote/NotificationMarshalVersions/TestSerializationMismatch.sh Changeset: 3e904a3f3c9f Author: lana Date: 2013-06-05 09:16 -0700 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/3e904a3f3c9f Merge Changeset: f272934d41fb Author: lana Date: 2013-06-05 12:30 -0700 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/f272934d41fb Merge Changeset: 388b4d4cae3b Author: lana Date: 2013-06-05 12:31 -0700 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/388b4d4cae3b Merge - test/java/util/stream/test/org/openjdk/tests/java/util/stream/SpliteratorLateBindingFailFastTest.java - test/java/util/stream/test/org/openjdk/tests/java/util/stream/SpliteratorTraversingAndSplittingTest.java Changeset: 080449feeca9 Author: lana Date: 2013-06-10 17:03 -0700 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/080449feeca9 Merge - src/solaris/classes/sun/awt/fontconfigs/linux.fontconfig.Fedora.properties - src/solaris/classes/sun/awt/fontconfigs/linux.fontconfig.SuSE.properties - src/solaris/classes/sun/awt/fontconfigs/linux.fontconfig.Ubuntu.properties - src/solaris/classes/sun/awt/fontconfigs/linux.fontconfig.properties - test/java/util/stream/test/org/openjdk/tests/java/util/stream/SpliteratorLateBindingFailFastTest.java - test/java/util/stream/test/org/openjdk/tests/java/util/stream/SpliteratorTraversingAndSplittingTest.java Changeset: e833fa13dce3 Author: erikj Date: 2013-06-11 13:26 +0200 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/e833fa13dce3 8010785: JDK 8 build on Linux fails with new build mechanism Reviewed-by: dholmes, tbell ! makefiles/CompileNativeLibraries.gmk ! makefiles/CreateJars.gmk ! makefiles/Import.gmk ! makefiles/Setup.gmk Changeset: 51479fa56b7c Author: erikj Date: 2013-06-12 10:33 +0200 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/51479fa56b7c Merge Changeset: 992b39afdcb9 Author: katleman Date: 2013-06-13 09:48 -0700 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/992b39afdcb9 Added tag jdk8-b94 for changeset 51479fa56b7c ! .hgtags Changeset: bad604b15314 Author: lana Date: 2013-06-16 22:36 -0700 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/bad604b15314 Merge - src/solaris/classes/sun/awt/fontconfigs/linux.fontconfig.Fedora.properties - src/solaris/classes/sun/awt/fontconfigs/linux.fontconfig.SuSE.properties - src/solaris/classes/sun/awt/fontconfigs/linux.fontconfig.Ubuntu.properties - src/solaris/classes/sun/awt/fontconfigs/linux.fontconfig.properties From chris.hegarty at oracle.com Mon Jun 17 06:11:42 2013 From: chris.hegarty at oracle.com (chris.hegarty at oracle.com) Date: Mon, 17 Jun 2013 13:11:42 +0000 Subject: hg: jdk8/tl/jdk: 8016747: Replace deprecated PlatformLogger isLoggable(int) with isLoggable(Level) Message-ID: <20130617131207.48AE448268@hg.openjdk.java.net> Changeset: adf70cb48ce0 Author: chegar Date: 2013-06-17 14:09 +0100 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/adf70cb48ce0 8016747: Replace deprecated PlatformLogger isLoggable(int) with isLoggable(Level) Reviewed-by: darcy ! src/macosx/classes/sun/lwawt/LWComponentPeer.java ! src/macosx/classes/sun/lwawt/LWWindowPeer.java ! src/macosx/classes/sun/lwawt/macosx/CPlatformWindow.java ! src/share/classes/java/awt/AWTEvent.java ! src/share/classes/java/awt/AttributeValue.java ! src/share/classes/java/awt/Component.java ! src/share/classes/java/awt/Container.java ! src/share/classes/java/awt/ContainerOrderFocusTraversalPolicy.java ! src/share/classes/java/awt/Cursor.java ! src/share/classes/java/awt/DefaultKeyboardFocusManager.java ! src/share/classes/java/awt/EventDispatchThread.java ! src/share/classes/java/awt/EventQueue.java ! src/share/classes/java/awt/KeyboardFocusManager.java ! src/share/classes/java/awt/SplashScreen.java ! src/share/classes/java/awt/Toolkit.java ! src/share/classes/java/awt/WaitDispatchSupport.java ! src/share/classes/java/awt/Window.java ! src/share/classes/java/awt/event/InputEvent.java ! src/share/classes/java/net/CookieManager.java ! src/share/classes/java/util/Currency.java ! src/share/classes/javax/swing/BufferStrategyPaintManager.java ! src/share/classes/javax/swing/SortingFocusTraversalPolicy.java ! src/share/classes/sun/awt/AWTAutoShutdown.java ! src/share/classes/sun/awt/DebugSettings.java ! src/share/classes/sun/awt/KeyboardFocusManagerPeerImpl.java ! src/share/classes/sun/awt/ScrollPaneWheelScroller.java ! src/share/classes/sun/awt/SunDisplayChanger.java ! src/share/classes/sun/awt/SunGraphicsCallback.java ! src/share/classes/sun/awt/SunToolkit.java ! src/share/classes/sun/awt/datatransfer/DataTransferer.java ! src/share/classes/sun/awt/dnd/SunDropTargetContextPeer.java ! src/share/classes/sun/awt/im/InputContext.java ! src/share/classes/sun/font/SunFontManager.java ! src/share/classes/sun/net/ftp/impl/FtpClient.java ! src/share/classes/sun/net/www/http/HttpClient.java ! src/share/classes/sun/net/www/protocol/http/HttpURLConnection.java ! src/share/classes/sun/net/www/protocol/http/NTLMAuthenticationProxy.java ! src/share/classes/sun/net/www/protocol/http/Negotiator.java ! src/share/classes/sun/net/www/protocol/https/HttpsClient.java ! src/solaris/classes/sun/awt/X11/ListHelper.java ! src/solaris/classes/sun/awt/X11/UnsafeXDisposerRecord.java ! src/solaris/classes/sun/awt/X11/XAWTXSettings.java ! src/solaris/classes/sun/awt/X11/XBaseMenuWindow.java ! src/solaris/classes/sun/awt/X11/XBaseWindow.java ! src/solaris/classes/sun/awt/X11/XCheckboxPeer.java ! src/solaris/classes/sun/awt/X11/XChoicePeer.java ! src/solaris/classes/sun/awt/X11/XComponentPeer.java ! src/solaris/classes/sun/awt/X11/XContentWindow.java ! src/solaris/classes/sun/awt/X11/XDecoratedPeer.java ! src/solaris/classes/sun/awt/X11/XDnDDragSourceProtocol.java ! src/solaris/classes/sun/awt/X11/XDnDDropTargetProtocol.java ! src/solaris/classes/sun/awt/X11/XDragSourceContextPeer.java ! src/solaris/classes/sun/awt/X11/XDropTargetContextPeer.java ! src/solaris/classes/sun/awt/X11/XDropTargetProtocol.java ! src/solaris/classes/sun/awt/X11/XDropTargetRegistry.java ! src/solaris/classes/sun/awt/X11/XEmbedCanvasPeer.java ! src/solaris/classes/sun/awt/X11/XEmbedClientHelper.java ! src/solaris/classes/sun/awt/X11/XEmbedHelper.java ! src/solaris/classes/sun/awt/X11/XEmbedServerTester.java ! src/solaris/classes/sun/awt/X11/XEmbeddedFramePeer.java ! src/solaris/classes/sun/awt/X11/XErrorHandlerUtil.java ! src/solaris/classes/sun/awt/X11/XFileDialogPeer.java ! src/solaris/classes/sun/awt/X11/XFramePeer.java ! src/solaris/classes/sun/awt/X11/XIconWindow.java ! src/solaris/classes/sun/awt/X11/XInputMethod.java ! src/solaris/classes/sun/awt/X11/XKeyboardFocusManagerPeer.java ! src/solaris/classes/sun/awt/X11/XListPeer.java ! src/solaris/classes/sun/awt/X11/XMSelection.java ! src/solaris/classes/sun/awt/X11/XMenuBarPeer.java ! src/solaris/classes/sun/awt/X11/XMenuPeer.java ! src/solaris/classes/sun/awt/X11/XMenuWindow.java ! src/solaris/classes/sun/awt/X11/XNETProtocol.java ! src/solaris/classes/sun/awt/X11/XPopupMenuPeer.java ! src/solaris/classes/sun/awt/X11/XProtocol.java ! src/solaris/classes/sun/awt/X11/XScrollbar.java ! src/solaris/classes/sun/awt/X11/XScrollbarPeer.java ! src/solaris/classes/sun/awt/X11/XSystemTrayPeer.java ! src/solaris/classes/sun/awt/X11/XTextFieldPeer.java ! src/solaris/classes/sun/awt/X11/XToolkit.java ! src/solaris/classes/sun/awt/X11/XTrayIconPeer.java ! src/solaris/classes/sun/awt/X11/XWINProtocol.java ! src/solaris/classes/sun/awt/X11/XWM.java ! src/solaris/classes/sun/awt/X11/XWindow.java ! src/solaris/classes/sun/awt/X11/XWindowPeer.java ! src/solaris/classes/sun/awt/X11GraphicsEnvironment.java ! src/solaris/classes/sun/awt/X11InputMethod.java ! src/windows/classes/sun/awt/windows/WComponentPeer.java ! src/windows/classes/sun/awt/windows/WDesktopProperties.java ! src/windows/classes/sun/awt/windows/WMenuItemPeer.java ! src/windows/classes/sun/awt/windows/WScrollPanePeer.java ! src/windows/classes/sun/awt/windows/WToolkit.java ! src/windows/classes/sun/awt/windows/WWindowPeer.java From alan.bateman at oracle.com Mon Jun 17 07:26:12 2013 From: alan.bateman at oracle.com (alan.bateman at oracle.com) Date: Mon, 17 Jun 2013 14:26:12 +0000 Subject: hg: jdk8/tl/jdk: 8016236: Class.getGenericInterfaces performance improvement Message-ID: <20130617142635.6AAF04826C@hg.openjdk.java.net> Changeset: b0cfde1e70e9 Author: shade Date: 2013-06-17 16:28 +0400 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/b0cfde1e70e9 8016236: Class.getGenericInterfaces performance improvement Summary: cache more reflective data and lookup results. Reviewed-by: alanb, plevart, psandoz, dl Contributed-by: Doug Lea
    , Aleksey Shipilev ! src/share/classes/java/lang/Class.java ! src/share/classes/sun/reflect/generics/repository/ClassRepository.java ! src/share/native/java/lang/Class.c From jonathan.gibbons at oracle.com Mon Jun 17 09:34:59 2013 From: jonathan.gibbons at oracle.com (Jonathan Gibbons) Date: Mon, 17 Jun 2013 09:34:59 -0700 Subject: Code review request for javax.lang.model doclint cleanup In-Reply-To: <51BCA413.6030603@oracle.com> References: <51BCA413.6030603@oracle.com> Message-ID: <51BF3AB3.4060800@oracle.com> Looks good to me. It'll be good to have langtools be doclint-clean. -- Jon On 06/15/2013 10:27 AM, Joe Darcy wrote: > Hello, > > Please review the patch below which resolves a few remaining doclint > warnings on protected elements in the javax.lang.model API; with this > change, API is now doclint clean :-) > > I'll file a bug after getting a review. > > Thanks, > > -Joe > > diff -r 1936a884b290 > src/share/classes/javax/lang/model/util/ElementScanner6.java > --- a/src/share/classes/javax/lang/model/util/ElementScanner6.java Fri > Jun 14 18:01:52 2013 +0100 > +++ b/src/share/classes/javax/lang/model/util/ElementScanner6.java Sat > Jun 15 10:24:11 2013 -0700 > @@ -110,6 +110,8 @@ > /** > * Constructor for concrete subclasses; uses the argument for the > * default value. > + * > + * @param defaultValue the default value > */ > protected ElementScanner6(R defaultValue){ > DEFAULT_VALUE = defaultValue; > diff -r 1936a884b290 > src/share/classes/javax/lang/model/util/ElementScanner7.java > --- a/src/share/classes/javax/lang/model/util/ElementScanner7.java Fri > Jun 14 18:01:52 2013 +0100 > +++ b/src/share/classes/javax/lang/model/util/ElementScanner7.java Sat > Jun 15 10:24:11 2013 -0700 > @@ -1,5 +1,5 @@ > /* > - * Copyright (c) 2010, 2012, Oracle and/or its affiliates. All rights > reserved. > + * Copyright (c) 2010, 2013, Oracle and/or its affiliates. All rights > reserved. > * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. > * > * This code is free software; you can redistribute it and/or modify it > @@ -101,6 +101,8 @@ > /** > * Constructor for concrete subclasses; uses the argument for the > * default value. > + * > + * @param defaultValue the default value > */ > protected ElementScanner7(R defaultValue){ > super(defaultValue); > diff -r 1936a884b290 > src/share/classes/javax/lang/model/util/ElementScanner8.java > --- a/src/share/classes/javax/lang/model/util/ElementScanner8.java Fri > Jun 14 18:01:52 2013 +0100 > +++ b/src/share/classes/javax/lang/model/util/ElementScanner8.java Sat > Jun 15 10:24:11 2013 -0700 > @@ -1,5 +1,5 @@ > /* > - * Copyright (c) 2011, 2012, Oracle and/or its affiliates. All rights > reserved. > + * Copyright (c) 2011, 2013, Oracle and/or its affiliates. All rights > reserved. > * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. > * > * This code is free software; you can redistribute it and/or modify it > @@ -101,6 +101,8 @@ > /** > * Constructor for concrete subclasses; uses the argument for the > * default value. > + * > + * @param defaultValue the default value > */ > protected ElementScanner8(R defaultValue){ > super(defaultValue); > diff -r 1936a884b290 > src/share/classes/javax/lang/model/util/SimpleTypeVisitor6.java > --- a/src/share/classes/javax/lang/model/util/SimpleTypeVisitor6.java > Fri Jun 14 18:01:52 2013 +0100 > +++ b/src/share/classes/javax/lang/model/util/SimpleTypeVisitor6.java > Sat Jun 15 10:24:11 2013 -0700 > @@ -118,6 +118,10 @@ > * The default action for visit methods. The implementation in > * this class just returns {@link #DEFAULT_VALUE}; subclasses will > * commonly override this method. > + * > + * @param e the type to process > + * @param p a visitor-specified parameter > + * @return {@code DEFAULT_VALUE} unless overridden > */ > protected R defaultAction(TypeMirror e, P p) { > return DEFAULT_VALUE; > From mike.duigou at oracle.com Mon Jun 17 09:42:06 2013 From: mike.duigou at oracle.com (mike.duigou at oracle.com) Date: Mon, 17 Jun 2013 16:42:06 +0000 Subject: hg: jdk8/tl: 8016572: Pass CONCURRENCY=$(JOBS) to test/Makefile Message-ID: <20130617164206.AE98D48276@hg.openjdk.java.net> Changeset: f8770fe60d53 Author: mduigou Date: 2013-06-17 09:41 -0700 URL: http://hg.openjdk.java.net/jdk8/tl/rev/f8770fe60d53 8016572: Pass CONCURRENCY=$(JOBS) to test/Makefile Reviewed-by: alanb, erikj ! common/makefiles/Main.gmk From alex.buckley at oracle.com Mon Jun 17 11:43:07 2013 From: alex.buckley at oracle.com (Alex Buckley) Date: Mon, 17 Jun 2013 11:43:07 -0700 Subject: Review request for JDK-8014230: Compilation incorrectly succeeds with inner class constructor with 254 parameters In-Reply-To: <51BB60F3.8040501@oracle.com> References: <51BB60F3.8040501@oracle.com> Message-ID: <51BF58BB.1070405@oracle.com> Regarding the NumArgs5/6/7/8 tests: - @author and @bug tags are wrong. - NumArgs5 and 6 fail to document the important point, which is the presence not only of a hidden 'this' parameter but also an implicitly declared 'outer' parameter. - NumArgs7 and 8 feature static nested classes, which means they're not inner by definition, so don't call them Inner! The NumArgs1-4 tests have their own problems which carried over to 5-8: - @summary is pretty useless - what VM limits? - They mention 'T1 this' but no T1 type exists. - NumArgs3/4 seem to be trying to test ctor limits (otherwise they'd be identical to NumArgs1/2), but declare a void method rather than a ctor. Stepping back: The NumArgsX nomenclature wasn't terribly helpful when the 1-4 tests were written, and now we have more dimensions under test. I propose a new directory test/tools/javac/limits/parameters containing: NumArgs1 -> MethodOfToplevelClass256 // fail NumArgs2 -> MethodOfToplevelClass255 // pass NumArgs3 -> CtorOfToplevelClass256 // fail NumArgs4 -> CtorOfToplevelClass255 // pass NumArgs5 -> CtorOfInnerClass255 // fail NumArgs6 -> CtorOfInnerClass254 // pass NumArgs7 -> CtorOfNoninnerClass256 // fail NumArgs8 -> CtorOfNoninnerClass255 // pass OK, eight tests. But really, there are three dimensions: i) Enclosing class: Toplevel || Non-private inner member || Anonymous || Noninner member (ignoring private inner member classes and local classes for simplicitly) ii) Parameter declarer: Ctor || Instance method || Static method iii) Number of parameters: 253 || 254 || 255 || 256 That makes 48 interesting cases, notwithstanding that "number of parameters" can be simplified in some cases (no point trying 256 parameters when 255 already failed). Even if we don't have 48, we should at least have CtorofAnonymousClass255/254. Alex On 6/14/2013 11:29 AM, Eric McCorkle wrote: > Hello, > > Please review this patch, which addresses a problem with javac not > taking inner this parameters into account when determining if there are > too many parameters to a function. > > The webrev is here: > http://cr.openjdk.java.net/~emc/8014230/ > > The bug report is here: > http://bugs.sun.com/view_bug.do?bug_id=8014230 > > Thanks, > Eric > From huizhe.wang at oracle.com Mon Jun 17 12:47:43 2013 From: huizhe.wang at oracle.com (huizhe.wang at oracle.com) Date: Mon, 17 Jun 2013 19:47:43 +0000 Subject: hg: jdk8/tl/jaxp: 8016133: Regression: diff. behavior with user-defined SAXParser Message-ID: <20130617194747.9F15E48286@hg.openjdk.java.net> Changeset: 09d55894844d Author: joehw Date: 2013-06-17 12:47 -0700 URL: http://hg.openjdk.java.net/jdk8/tl/jaxp/rev/09d55894844d 8016133: Regression: diff. behavior with user-defined SAXParser Reviewed-by: chegar, dfuchs ! src/org/xml/sax/helpers/XMLReaderFactory.java From eric.mccorkle at oracle.com Mon Jun 17 14:12:52 2013 From: eric.mccorkle at oracle.com (Eric McCorkle) Date: Mon, 17 Jun 2013 17:12:52 -0400 Subject: Review request for JDK-8014230: Compilation incorrectly succeeds with inner class constructor with 254 parameters In-Reply-To: <51BF58BB.1070405@oracle.com> References: <51BB60F3.8040501@oracle.com> <51BF58BB.1070405@oracle.com> Message-ID: <51BF7BD4.8080101@oracle.com> Thanks for the review, Alex. I've been working on an update that will replace all of these tests with a test generator. On 06/17/13 14:43, Alex Buckley wrote: > Regarding the NumArgs5/6/7/8 tests: > > - @author and @bug tags are wrong. > > - NumArgs5 and 6 fail to document the important point, which is the > presence not only of a hidden 'this' parameter but also an implicitly > declared 'outer' parameter. > > - NumArgs7 and 8 feature static nested classes, which means they're not > inner by definition, so don't call them Inner! > > The NumArgs1-4 tests have their own problems which carried over to 5-8: > > - @summary is pretty useless - what VM limits? > > - They mention 'T1 this' but no T1 type exists. > > - NumArgs3/4 seem to be trying to test ctor limits (otherwise they'd be > identical to NumArgs1/2), but declare a void method rather than a ctor. > > Stepping back: > > The NumArgsX nomenclature wasn't terribly helpful when the 1-4 tests > were written, and now we have more dimensions under test. I propose a > new directory test/tools/javac/limits/parameters containing: > > NumArgs1 -> MethodOfToplevelClass256 // fail > NumArgs2 -> MethodOfToplevelClass255 // pass > NumArgs3 -> CtorOfToplevelClass256 // fail > NumArgs4 -> CtorOfToplevelClass255 // pass > NumArgs5 -> CtorOfInnerClass255 // fail > NumArgs6 -> CtorOfInnerClass254 // pass > NumArgs7 -> CtorOfNoninnerClass256 // fail > NumArgs8 -> CtorOfNoninnerClass255 // pass > > OK, eight tests. But really, there are three dimensions: > > i) Enclosing class: Toplevel || Non-private inner member || Anonymous || > Noninner member (ignoring private inner member classes and local > classes for simplicitly) > > ii) Parameter declarer: Ctor || Instance method || Static method > > iii) Number of parameters: 253 || 254 || 255 || 256 > > That makes 48 interesting cases, notwithstanding that "number of > parameters" can be simplified in some cases (no point trying 256 > parameters when 255 already failed). Even if we don't have 48, we should > at least have CtorofAnonymousClass255/254. > > Alex > > On 6/14/2013 11:29 AM, Eric McCorkle wrote: >> Hello, >> >> Please review this patch, which addresses a problem with javac not >> taking inner this parameters into account when determining if there are >> too many parameters to a function. >> >> The webrev is here: >> http://cr.openjdk.java.net/~emc/8014230/ >> >> The bug report is here: >> http://bugs.sun.com/view_bug.do?bug_id=8014230 >> >> Thanks, >> Eric >> -------------- next part -------------- A non-text attachment was scrubbed... Name: eric_mccorkle.vcf Type: text/x-vcard Size: 314 bytes Desc: not available Url : http://mail.openjdk.java.net/pipermail/compiler-dev/attachments/20130617/ef93fb29/eric_mccorkle.vcf From joe.darcy at oracle.com Mon Jun 17 14:46:18 2013 From: joe.darcy at oracle.com (joe.darcy at oracle.com) Date: Mon, 17 Jun 2013 21:46:18 +0000 Subject: hg: jdk8/tl/langtools: 8016779: Fix doclint warnings in javax.lang.model Message-ID: <20130617214622.0771A4828E@hg.openjdk.java.net> Changeset: b7a10bc02e7a Author: darcy Date: 2013-06-17 14:46 -0700 URL: http://hg.openjdk.java.net/jdk8/tl/langtools/rev/b7a10bc02e7a 8016779: Fix doclint warnings in javax.lang.model Reviewed-by: jjg ! src/share/classes/javax/lang/model/util/ElementScanner6.java ! src/share/classes/javax/lang/model/util/ElementScanner7.java ! src/share/classes/javax/lang/model/util/ElementScanner8.java ! src/share/classes/javax/lang/model/util/SimpleTypeVisitor6.java From joe.darcy at oracle.com Mon Jun 17 14:52:38 2013 From: joe.darcy at oracle.com (Joseph Darcy) Date: Mon, 17 Jun 2013 14:52:38 -0700 Subject: Code review request for javax.lang.model doclint cleanup In-Reply-To: <51BF3AB3.4060800@oracle.com> References: <51BCA413.6030603@oracle.com> <51BF3AB3.4060800@oracle.com> Message-ID: <51BF8526.5010204@oracle.com> Thanks for the review; changes pushed under 8016779: Fix doclint warnings in javax.lang.model -Joe On 6/17/2013 9:34 AM, Jonathan Gibbons wrote: > Looks good to me. It'll be good to have langtools be doclint-clean. > > -- Jon > > On 06/15/2013 10:27 AM, Joe Darcy wrote: >> Hello, >> >> Please review the patch below which resolves a few remaining doclint >> warnings on protected elements in the javax.lang.model API; with this >> change, API is now doclint clean :-) >> >> I'll file a bug after getting a review. >> >> Thanks, >> >> -Joe >> >> diff -r 1936a884b290 >> src/share/classes/javax/lang/model/util/ElementScanner6.java >> --- a/src/share/classes/javax/lang/model/util/ElementScanner6.java >> Fri Jun 14 18:01:52 2013 +0100 >> +++ b/src/share/classes/javax/lang/model/util/ElementScanner6.java >> Sat Jun 15 10:24:11 2013 -0700 >> @@ -110,6 +110,8 @@ >> /** >> * Constructor for concrete subclasses; uses the argument for the >> * default value. >> + * >> + * @param defaultValue the default value >> */ >> protected ElementScanner6(R defaultValue){ >> DEFAULT_VALUE = defaultValue; >> diff -r 1936a884b290 >> src/share/classes/javax/lang/model/util/ElementScanner7.java >> --- a/src/share/classes/javax/lang/model/util/ElementScanner7.java >> Fri Jun 14 18:01:52 2013 +0100 >> +++ b/src/share/classes/javax/lang/model/util/ElementScanner7.java >> Sat Jun 15 10:24:11 2013 -0700 >> @@ -1,5 +1,5 @@ >> /* >> - * Copyright (c) 2010, 2012, Oracle and/or its affiliates. All >> rights reserved. >> + * Copyright (c) 2010, 2013, Oracle and/or its affiliates. All >> rights reserved. >> * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. >> * >> * This code is free software; you can redistribute it and/or modify it >> @@ -101,6 +101,8 @@ >> /** >> * Constructor for concrete subclasses; uses the argument for the >> * default value. >> + * >> + * @param defaultValue the default value >> */ >> protected ElementScanner7(R defaultValue){ >> super(defaultValue); >> diff -r 1936a884b290 >> src/share/classes/javax/lang/model/util/ElementScanner8.java >> --- a/src/share/classes/javax/lang/model/util/ElementScanner8.java >> Fri Jun 14 18:01:52 2013 +0100 >> +++ b/src/share/classes/javax/lang/model/util/ElementScanner8.java >> Sat Jun 15 10:24:11 2013 -0700 >> @@ -1,5 +1,5 @@ >> /* >> - * Copyright (c) 2011, 2012, Oracle and/or its affiliates. All >> rights reserved. >> + * Copyright (c) 2011, 2013, Oracle and/or its affiliates. All >> rights reserved. >> * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. >> * >> * This code is free software; you can redistribute it and/or modify it >> @@ -101,6 +101,8 @@ >> /** >> * Constructor for concrete subclasses; uses the argument for the >> * default value. >> + * >> + * @param defaultValue the default value >> */ >> protected ElementScanner8(R defaultValue){ >> super(defaultValue); >> diff -r 1936a884b290 >> src/share/classes/javax/lang/model/util/SimpleTypeVisitor6.java >> --- a/src/share/classes/javax/lang/model/util/SimpleTypeVisitor6.java >> Fri Jun 14 18:01:52 2013 +0100 >> +++ b/src/share/classes/javax/lang/model/util/SimpleTypeVisitor6.java >> Sat Jun 15 10:24:11 2013 -0700 >> @@ -118,6 +118,10 @@ >> * The default action for visit methods. The implementation in >> * this class just returns {@link #DEFAULT_VALUE}; subclasses will >> * commonly override this method. >> + * >> + * @param e the type to process >> + * @param p a visitor-specified parameter >> + * @return {@code DEFAULT_VALUE} unless overridden >> */ >> protected R defaultAction(TypeMirror e, P p) { >> return DEFAULT_VALUE; >> > From christian.thalinger at oracle.com Mon Jun 17 16:25:51 2013 From: christian.thalinger at oracle.com (christian.thalinger at oracle.com) Date: Mon, 17 Jun 2013 23:25:51 +0000 Subject: hg: jdk8/tl/jdk: 7177472: JSR292: MethodType interning penalizes scalability Message-ID: <20130617232604.9F7844828F@hg.openjdk.java.net> Changeset: 2b63fda275a3 Author: twisti Date: 2013-06-17 16:24 -0700 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/2b63fda275a3 7177472: JSR292: MethodType interning penalizes scalability Reviewed-by: twisti Contributed-by: Aleksey Shipilev ! src/share/classes/java/lang/invoke/MethodType.java From bradford.wetmore at oracle.com Mon Jun 17 17:37:09 2013 From: bradford.wetmore at oracle.com (bradford.wetmore at oracle.com) Date: Tue, 18 Jun 2013 00:37:09 +0000 Subject: hg: jdk8/tl/jdk: 8014620: Signature.getAlgorithm return null in special case Message-ID: <20130618003723.5C3FD48293@hg.openjdk.java.net> Changeset: 116050227ee9 Author: youdwei Date: 2013-06-17 17:36 -0700 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/116050227ee9 8014620: Signature.getAlgorithm return null in special case Reviewed-by: wetmore ! src/share/classes/java/security/Signature.java + test/java/security/Signature/SignatureGetAlgorithm.java From robert.field at oracle.com Mon Jun 17 20:32:06 2013 From: robert.field at oracle.com (robert.field at oracle.com) Date: Tue, 18 Jun 2013 03:32:06 +0000 Subject: hg: jdk8/tl/langtools: 8013789: Compiler should emit bridges in interfaces Message-ID: <20130618033210.063FF48299@hg.openjdk.java.net> Changeset: 455be95bd1b5 Author: rfield Date: 2013-06-17 20:29 -0700 URL: http://hg.openjdk.java.net/jdk8/tl/langtools/rev/455be95bd1b5 8013789: Compiler should emit bridges in interfaces Summary: paired with 8015402: Lambda metafactory should not attempt to determine bridge methods Reviewed-by: vromero Contributed-by: maurizio.cimadamore at oracle.com ! 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/LambdaToMethod.java ! src/share/classes/com/sun/tools/javac/comp/TransTypes.java ! src/share/classes/com/sun/tools/javac/tree/JCTree.java ! test/tools/javac/lambda/lambdaExpression/LambdaTest6.java ! test/tools/javac/lambda/methodReference/BridgeMethod.java From robert.field at oracle.com Mon Jun 17 20:32:37 2013 From: robert.field at oracle.com (robert.field at oracle.com) Date: Tue, 18 Jun 2013 03:32:37 +0000 Subject: hg: jdk8/tl/jdk: 8015402: Lambda metafactory should not attempt to determine bridge methods Message-ID: <20130618033249.2C74D4829A@hg.openjdk.java.net> Changeset: 989049977d04 Author: rfield Date: 2013-06-17 20:31 -0700 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/989049977d04 8015402: Lambda metafactory should not attempt to determine bridge methods Summary: paired with 8013789: Compiler should emit bridges in interfaces Reviewed-by: twisti ! src/share/classes/java/lang/invoke/AbstractValidatingLambdaMetafactory.java ! src/share/classes/java/lang/invoke/InnerClassLambdaMetafactory.java ! src/share/classes/java/lang/invoke/LambdaMetafactory.java From vicente.romero at oracle.com Tue Jun 18 03:20:28 2013 From: vicente.romero at oracle.com (Vicente-Arturo Romero-Zaldivar) Date: Tue, 18 Jun 2013 11:20:28 +0100 Subject: Review request for JDK-8015668 : overload resolution: performance regression in JDK 7 Message-ID: <51C0346C.1020108@oracle.com> Hello, Please review this patch. It solves a performance regression in javac for 7u-dev repo. The regression has been detected for a class that declares methods with a lot of parameters (1..254). The proposed solution modifies a data structure used to store wrong method candidates for a given argument / type list. The mentioned data structure was a com.sun.tools.javac.util.List and now is a java.util.Set. Also a new field has been added to MethodType in com.sun.tools.javac.code.Type this field stores the number of arguments so equal comparison between methods can now be done faster for evident cases. The webrev is here: http://cr.openjdk.java.net/~vromero/8015668_JDK7/webrev.00/ The bug report is here: http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=8015668 Thanks, Vicente From sundararajan.athijegannathan at oracle.com Tue Jun 18 04:21:19 2013 From: sundararajan.athijegannathan at oracle.com (sundararajan.athijegannathan at oracle.com) Date: Tue, 18 Jun 2013 11:21:19 +0000 Subject: hg: jdk8/tl/nashorn: 14 new changesets Message-ID: <20130618112131.4A1E9482AC@hg.openjdk.java.net> Changeset: df5d7f34e35e Author: hannesw Date: 2013-06-11 17:50 +0200 URL: http://hg.openjdk.java.net/jdk8/tl/nashorn/rev/df5d7f34e35e 8015379: PropertyMap.addProperty() is slow Reviewed-by: attila, jlaskey ! src/jdk/nashorn/internal/runtime/PropertyMap.java Changeset: aa16622193e1 Author: jlaskey Date: 2013-06-12 11:22 -0300 URL: http://hg.openjdk.java.net/jdk8/tl/nashorn/rev/aa16622193e1 8016453: loadWithNewGlobal does not allow apply operation Reviewed-by: hannesw, sundar Contributed-by: james.laskey at oracle.com ! samples/test.js ! src/jdk/nashorn/internal/objects/Global.java Changeset: d26e069353c0 Author: hannesw Date: 2013-06-12 16:41 +0200 URL: http://hg.openjdk.java.net/jdk8/tl/nashorn/rev/d26e069353c0 8011893: JS Object builtin prototype is not thread safe Reviewed-by: sundar, jlaskey ! src/jdk/nashorn/internal/runtime/PropertyListenerManager.java + test/script/basic/JDK-8011893.js + test/script/basic/JDK-8011893.js.EXPECTED Changeset: b0dcc3727fc3 Author: sundar Date: 2013-06-13 16:08 +0530 URL: http://hg.openjdk.java.net/jdk8/tl/nashorn/rev/b0dcc3727fc3 8015355: Array.prototype functions don't honour non-writable length and / or index properties Reviewed-by: lagergren, hannesw ! 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/NativeError.java ! src/jdk/nashorn/internal/objects/NativeEvalError.java ! src/jdk/nashorn/internal/objects/NativeFunction.java ! src/jdk/nashorn/internal/objects/NativeJSON.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/NativeSyntaxError.java ! src/jdk/nashorn/internal/objects/NativeTypeError.java ! src/jdk/nashorn/internal/objects/NativeURIError.java ! src/jdk/nashorn/internal/runtime/Context.java ! src/jdk/nashorn/internal/runtime/JSONFunctions.java ! src/jdk/nashorn/internal/runtime/NativeJavaPackage.java ! src/jdk/nashorn/internal/runtime/ScriptObject.java ! src/jdk/nashorn/internal/runtime/ScriptingFunctions.java ! src/jdk/nashorn/internal/runtime/arrays/ArrayIterator.java + test/script/basic/JDK-8015355.js Changeset: 6d6133ef1fd5 Author: hannesw Date: 2013-06-13 12:52 +0200 URL: http://hg.openjdk.java.net/jdk8/tl/nashorn/rev/6d6133ef1fd5 8016518: Parsing of octal string escapes is broken Reviewed-by: sundar, lagergren ! src/jdk/nashorn/internal/parser/Lexer.java + test/script/basic/JDK-8016518.js + test/script/basic/JDK-8016518.js.EXPECTED Changeset: 18362e95e638 Author: hannesw Date: 2013-06-13 14:02 +0200 URL: http://hg.openjdk.java.net/jdk8/tl/nashorn/rev/18362e95e638 8016522: Numeric literal must not be followed by IdentifierStart Reviewed-by: lagergren, sundar ! src/jdk/nashorn/internal/parser/Lexer.java ! src/jdk/nashorn/internal/runtime/resources/Messages.properties + test/script/error/JDK-8016522.js + test/script/error/JDK-8016522.js.EXPECTED Changeset: fe80eda7b57e Author: hannesw Date: 2013-06-13 15:26 +0200 URL: http://hg.openjdk.java.net/jdk8/tl/nashorn/rev/fe80eda7b57e 8016528: Hex code from escape() should be padded Reviewed-by: jlaskey, lagergren ! src/jdk/nashorn/internal/runtime/GlobalFunctions.java + test/script/basic/JDK-8016528.js + test/script/basic/JDK-8016528.js.EXPECTED Changeset: c5f783d83180 Author: hannesw Date: 2013-06-13 20:50 +0200 URL: http://hg.openjdk.java.net/jdk8/tl/nashorn/rev/c5f783d83180 8016542: String.prototype.replace called with function argument should not replace $ patterns Reviewed-by: lagergren, jlaskey ! src/jdk/nashorn/internal/objects/NativeRegExp.java + test/script/basic/JDK-8016542.js + test/script/basic/JDK-8016542.js.EXPECTED Changeset: 3efa56767847 Author: lagergren Date: 2013-06-14 13:53 +0200 URL: http://hg.openjdk.java.net/jdk8/tl/nashorn/rev/3efa56767847 8016235: Use in catch block that may not have been executed in try block caused illegal byte code to be generated Reviewed-by: jlaskey, hannesw ! src/jdk/nashorn/internal/codegen/Attr.java ! src/jdk/nashorn/internal/ir/Symbol.java ! src/jdk/nashorn/internal/parser/JSONParser.java ! src/jdk/nashorn/internal/parser/Lexer.java + test/script/basic/JDK-8016235.js Changeset: 3d947baa33cc Author: sundar Date: 2013-06-14 21:16 +0530 URL: http://hg.openjdk.java.net/jdk8/tl/nashorn/rev/3d947baa33cc 8016618: script mirror object access should be improved Reviewed-by: jlaskey, lagergren ! src/jdk/nashorn/api/scripting/ScriptObjectMirror.java ! src/jdk/nashorn/internal/ir/BreakableNode.java ! src/jdk/nashorn/internal/objects/NativeArray.java ! src/jdk/nashorn/internal/objects/NativeFunction.java ! src/jdk/nashorn/internal/objects/NativeObject.java ! src/jdk/nashorn/internal/runtime/Context.java ! src/jdk/nashorn/internal/runtime/ScriptObject.java ! src/jdk/nashorn/internal/runtime/ScriptRuntime.java ! src/jdk/nashorn/internal/runtime/arrays/ArrayLikeIterator.java ! src/jdk/nashorn/internal/runtime/arrays/IteratorAction.java + src/jdk/nashorn/internal/runtime/arrays/ReverseScriptObjectMirrorIterator.java + src/jdk/nashorn/internal/runtime/arrays/ScriptObjectMirrorIterator.java + test/script/basic/JDK-8016618.js + test/script/basic/JDK-8016618.js.EXPECTED Changeset: a2fa56222fa2 Author: sundar Date: 2013-06-17 13:56 +0530 URL: http://hg.openjdk.java.net/jdk8/tl/nashorn/rev/a2fa56222fa2 8016550: nashorn.option.no.syntax.extensions has the wrong default Reviewed-by: hannesw, lagergren ! make/project.properties ! src/jdk/nashorn/api/scripting/NashornScriptEngine.java ! src/jdk/nashorn/internal/parser/Parser.java ! src/jdk/nashorn/internal/runtime/ScriptEnvironment.java ! src/jdk/nashorn/internal/runtime/resources/Options.properties ! test/script/basic/moduleload.js Changeset: bfac80dffc49 Author: sundar Date: 2013-06-18 13:25 +0530 URL: http://hg.openjdk.java.net/jdk8/tl/nashorn/rev/bfac80dffc49 Merge Changeset: 616ab697fcac Author: sundar Date: 2013-06-18 13:45 +0530 URL: http://hg.openjdk.java.net/jdk8/tl/nashorn/rev/616ab697fcac 8008915: URLReader constructor should allow specifying encoding Reviewed-by: hannesw, lagergren ! src/jdk/nashorn/api/scripting/NashornScriptEngine.java ! src/jdk/nashorn/api/scripting/URLReader.java ! src/jdk/nashorn/internal/runtime/Source.java Changeset: 2cf438a3a3aa Author: sundar Date: 2013-06-18 13:52 +0530 URL: http://hg.openjdk.java.net/jdk8/tl/nashorn/rev/2cf438a3a3aa Merge From vicente.romero at oracle.com Tue Jun 18 05:01:21 2013 From: vicente.romero at oracle.com (Vicente-Arturo Romero-Zaldivar) Date: Tue, 18 Jun 2013 13:01:21 +0100 Subject: Review request for JDK-8015668 : overload resolution: performance regression in JDK 7 In-Reply-To: <51C041CB.3070905@redhat.com> References: <51C0346C.1020108@oracle.com> <51C041CB.3070905@redhat.com> Message-ID: <51C04C11.1090704@oracle.com> On 18/06/13 12:17, Florian Weimer wrote: > On 06/18/2013 12:20 PM, Vicente-Arturo Romero-Zaldivar wrote: > >> Please review this patch. It solves a performance regression in javac >> for 7u-dev repo. > > Is this a backport of a matching JDK 8 change? > No, I should have stated this in the mail sorry. I have developed the changeset for jdk7 first because there the problem is bigger. Currently I'm working on the changeset for 8 but the code will probably be very different. Vicente. From alexey.utkin at oracle.com Tue Jun 18 06:30:52 2013 From: alexey.utkin at oracle.com (alexey.utkin at oracle.com) Date: Tue, 18 Jun 2013 13:30:52 +0000 Subject: hg: jdk8/tl/jdk: 8016046: (process) Strict validation of input should be security manager case only [win]. Message-ID: <20130618133105.93034482B2@hg.openjdk.java.net> Changeset: 956b00d7d4ea Author: uta Date: 2013-06-18 17:19 +0400 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/956b00d7d4ea 8016046: (process) Strict validation of input should be security manager case only [win]. Reviewed-by: alanb, ahgross ! src/windows/classes/java/lang/ProcessImpl.java ! test/java/lang/Runtime/exec/ExecCommand.java From stevenschlansker at gmail.com Thu Jun 6 08:35:56 2013 From: stevenschlansker at gmail.com (Steven Schlansker) Date: Thu, 6 Jun 2013 08:35:56 -0700 Subject: Is there a better way to throw this exception? In-Reply-To: <51B0599D.4020906@oracle.com> References: <51B0599D.4020906@oracle.com> Message-ID: On Jun 6, 2013, at 2:42 AM, Weijun Wang wrote: > Hi All > > I have a method that could throw two kinds of checked exceptions and possibly other unchecked ones: > > void once() throws One, Two > > Now I have a wrapper method that calls once() for multiple times, and want to throw the first exception if *all* fails. Now it looks like > > void multiple() throws One, Two { > Exception saved = null; > for (all chances) { > try { > once(); > return; > } catch (Exception e) { > if (saved != null) saved = e; > } > } > if (saved instanceof One) { > throw (One)saved; > } else if (saved instanceof One) { > throw (Two)saved; > } else if (saved instanceof RuntimeException) { > throw (RuntimeException)saved; > } else { > // Not likely, but I've already wrote so many lines. > throw new RuntimeException(saved); > } > } > > Is there any way I can make it shorter? If you use / are willing to use Guava, you can replace all of the exception if clauses with: void multiple() throws One, Two { for (?) { ? } Throwables.propagateIfPossible(saved, One.class, Two.class); throw Throwables.propagate(saved); } http://docs.guava-libraries.googlecode.com/git/javadoc/com/google/common/base/Throwables.html#propagateIfPossible(java.lang.Throwable,%20java.lang.Class,%20java.lang.Class) From fweimer at redhat.com Tue Jun 18 04:17:31 2013 From: fweimer at redhat.com (Florian Weimer) Date: Tue, 18 Jun 2013 13:17:31 +0200 Subject: Review request for JDK-8015668 : overload resolution: performance regression in JDK 7 In-Reply-To: <51C0346C.1020108@oracle.com> References: <51C0346C.1020108@oracle.com> Message-ID: <51C041CB.3070905@redhat.com> On 06/18/2013 12:20 PM, Vicente-Arturo Romero-Zaldivar wrote: > Please review this patch. It solves a performance regression in javac > for 7u-dev repo. Is this a backport of a matching JDK 8 change? -- Florian Weimer / Red Hat Product Security Team From jonathan.gibbons at oracle.com Tue Jun 18 08:25:26 2013 From: jonathan.gibbons at oracle.com (Jonathan Gibbons) Date: Tue, 18 Jun 2013 08:25:26 -0700 Subject: Review request for JDK-8015668 : overload resolution: performance regression in JDK 7 In-Reply-To: <51C0346C.1020108@oracle.com> References: <51C0346C.1020108@oracle.com> Message-ID: <51C07BE6.1020409@oracle.com> Looks good to me. -- jon On 06/18/2013 03:20 AM, Vicente-Arturo Romero-Zaldivar wrote: > Hello, > > Please review this patch. It solves a performance regression in javac > for 7u-dev repo. > > The regression has been detected for a class that declares methods > with a lot of parameters (1..254). > > The proposed solution modifies a data structure used to store wrong > method candidates for a given argument / type list. The mentioned data > structure was a com.sun.tools.javac.util.List and now is a java.util.Set. > > Also a new field has been added to MethodType in > com.sun.tools.javac.code.Type this field stores the number of > arguments so equal comparison between methods can now be done faster > for evident cases. > > The webrev is here: > http://cr.openjdk.java.net/~vromero/8015668_JDK7/webrev.00/ > > The bug report is here: > http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=8015668 > > Thanks, > Vicente From vicente.romero at oracle.com Tue Jun 18 10:58:29 2013 From: vicente.romero at oracle.com (vicente.romero at oracle.com) Date: Tue, 18 Jun 2013 17:58:29 +0000 Subject: hg: jdk8/tl/langtools: 8016607: javac, avoid analyzing lambdas for source 7 compilation Message-ID: <20130618175832.6D993482C2@hg.openjdk.java.net> Changeset: e701af23a095 Author: vromero Date: 2013-06-18 18:57 +0100 URL: http://hg.openjdk.java.net/jdk8/tl/langtools/rev/e701af23a095 8016607: javac, avoid analyzing lambdas for source 7 compilation Reviewed-by: jjg Contributed-by: maurizio.cimadamore at oracle.com ! src/share/classes/com/sun/tools/javac/main/JavaCompiler.java From vicente.romero at oracle.com Tue Jun 18 11:03:28 2013 From: vicente.romero at oracle.com (vicente.romero at oracle.com) Date: Tue, 18 Jun 2013 18:03:28 +0000 Subject: hg: jdk8/tl/langtools: 8016267: javac, TypeTag refactoring has provoked performance issues Message-ID: <20130618180331.3FCF2482C3@hg.openjdk.java.net> Changeset: 9851071b551a Author: vromero Date: 2013-06-18 19:02 +0100 URL: http://hg.openjdk.java.net/jdk8/tl/langtools/rev/9851071b551a 8016267: javac, TypeTag refactoring has provoked performance issues Reviewed-by: jjg ! src/share/classes/com/sun/tools/javac/code/Type.java ! src/share/classes/com/sun/tools/javac/code/TypeTag.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/Infer.java From chris.hegarty at oracle.com Tue Jun 18 12:19:40 2013 From: chris.hegarty at oracle.com (chris.hegarty at oracle.com) Date: Tue, 18 Jun 2013 19:19:40 +0000 Subject: hg: jdk8/tl/hotspot: 11 new changesets Message-ID: <20130618192002.3A8B5482C8@hg.openjdk.java.net> Changeset: f75faf51e8c4 Author: hseigel Date: 2013-03-07 11:49 -0500 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/f75faf51e8c4 7158805: Better rewriting of nested subroutine calls Reviewed-by: mschoene, coleenp ! src/share/vm/memory/allocation.cpp ! src/share/vm/memory/allocation.hpp ! src/share/vm/oops/generateOopMap.cpp Changeset: b295e132102d Author: mullan Date: 2013-04-05 10:18 -0400 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/b295e132102d 8001330: Improve on checking order Reviewed-by: acorn, hawtin ! src/share/vm/classfile/javaClasses.cpp ! src/share/vm/classfile/javaClasses.hpp ! src/share/vm/classfile/vmSymbols.hpp ! src/share/vm/memory/universe.cpp ! src/share/vm/memory/universe.hpp ! src/share/vm/prims/jvm.cpp Changeset: be131aa5a529 Author: mullan Date: 2013-04-22 08:33 -0400 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/be131aa5a529 8011896: Add check for invalid offset for new AccessControlContext isAuthorized field Reviewed-by: acorn ! src/share/vm/classfile/javaClasses.cpp Changeset: 3463b5b373f7 Author: chegar Date: 2013-04-24 10:17 +0100 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/3463b5b373f7 Merge Changeset: f822ecf621ce Author: chegar Date: 2013-04-28 08:15 +0100 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/f822ecf621ce Merge Changeset: 4b52137b07c9 Author: chegar Date: 2013-05-01 14:11 +0100 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/4b52137b07c9 Merge - make/bsd/makefiles/jvmg.make - make/bsd/makefiles/profiled.make - make/linux/makefiles/jvmg.make - make/linux/makefiles/profiled.make - make/solaris/makefiles/jvmg.make - make/solaris/makefiles/profiled.make - src/os/bsd/vm/chaitin_bsd.cpp - src/os/linux/vm/chaitin_linux.cpp - src/os/solaris/vm/chaitin_solaris.cpp - src/os/windows/vm/chaitin_windows.cpp ! src/share/vm/classfile/javaClasses.cpp ! src/share/vm/classfile/javaClasses.hpp ! src/share/vm/memory/allocation.cpp ! src/share/vm/memory/allocation.hpp Changeset: 7ee0d5c53c78 Author: chegar Date: 2013-05-08 15:25 +0100 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/7ee0d5c53c78 Merge - agent/doc/c2replay.html ! src/share/vm/classfile/javaClasses.cpp ! src/share/vm/classfile/javaClasses.hpp ! src/share/vm/memory/allocation.cpp ! src/share/vm/memory/allocation.hpp ! src/share/vm/memory/universe.cpp ! src/share/vm/memory/universe.hpp Changeset: cb92413c6934 Author: chegar Date: 2013-05-16 11:44 +0100 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/cb92413c6934 Merge ! src/share/vm/classfile/vmSymbols.hpp Changeset: ce9ecec70f99 Author: chegar Date: 2013-05-23 12:44 +0100 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/ce9ecec70f99 Merge - make/bsd/makefiles/launcher.make - make/linux/makefiles/launcher.make - make/solaris/makefiles/launcher.make - make/windows/makefiles/launcher.make - src/os/posix/launcher/java_md.c - src/os/posix/launcher/java_md.h - src/os/posix/launcher/launcher.script - src/os/windows/launcher/java_md.c - src/os/windows/launcher/java_md.h - src/share/tools/launcher/java.c - src/share/tools/launcher/java.h - src/share/tools/launcher/jli_util.c - src/share/tools/launcher/jli_util.h - src/share/tools/launcher/wildcard.c - src/share/tools/launcher/wildcard.h ! src/share/vm/classfile/vmSymbols.hpp - src/share/vm/gc_implementation/parallelScavenge/parMarkBitMap.inline.hpp ! src/share/vm/memory/allocation.cpp ! src/share/vm/memory/allocation.hpp ! src/share/vm/memory/universe.cpp ! src/share/vm/memory/universe.hpp ! src/share/vm/prims/jvm.cpp Changeset: 0861193d358a Author: chegar Date: 2013-05-31 10:27 +0100 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/0861193d358a Merge - agent/src/share/classes/sun/jvm/hotspot/debugger/cdbg/basic/amd64/AMD64CFrame.java - agent/src/share/classes/sun/jvm/hotspot/debugger/cdbg/basic/x86/X86CFrame.java - test/runtime/7158804/Test7158804.sh - test/runtime/8003985/Test8003985.java Changeset: eaf3742822ec Author: chegar Date: 2013-06-17 11:17 +0100 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/eaf3742822ec Merge ! src/share/vm/classfile/javaClasses.cpp ! src/share/vm/classfile/javaClasses.hpp ! src/share/vm/classfile/vmSymbols.hpp ! src/share/vm/memory/allocation.cpp ! src/share/vm/memory/allocation.hpp ! src/share/vm/memory/universe.cpp ! src/share/vm/prims/jvm.cpp From chris.hegarty at oracle.com Tue Jun 18 12:21:10 2013 From: chris.hegarty at oracle.com (chris.hegarty at oracle.com) Date: Tue, 18 Jun 2013 19:21:10 +0000 Subject: hg: jdk8/tl/jaxp: 9 new changesets Message-ID: <20130618192130.DC5EA482C9@hg.openjdk.java.net> Changeset: f14f72174f00 Author: chegar Date: 2013-04-24 10:18 +0100 URL: http://hg.openjdk.java.net/jdk8/tl/jaxp/rev/f14f72174f00 Merge Changeset: b225607e056b Author: chegar Date: 2013-04-28 08:15 +0100 URL: http://hg.openjdk.java.net/jdk8/tl/jaxp/rev/b225607e056b Merge Changeset: 5b7a22859380 Author: chegar Date: 2013-05-08 10:10 +0100 URL: http://hg.openjdk.java.net/jdk8/tl/jaxp/rev/5b7a22859380 Merge Changeset: 96223058c269 Author: chegar Date: 2013-05-16 11:41 +0100 URL: http://hg.openjdk.java.net/jdk8/tl/jaxp/rev/96223058c269 Merge Changeset: ed115f7cc6d0 Author: chegar Date: 2013-05-23 12:44 +0100 URL: http://hg.openjdk.java.net/jdk8/tl/jaxp/rev/ed115f7cc6d0 Merge Changeset: 231034c73ed5 Author: chegar Date: 2013-05-31 10:27 +0100 URL: http://hg.openjdk.java.net/jdk8/tl/jaxp/rev/231034c73ed5 Merge Changeset: f8f257062d53 Author: chegar Date: 2013-06-10 09:51 +0100 URL: http://hg.openjdk.java.net/jdk8/tl/jaxp/rev/f8f257062d53 Merge - src/com/sun/org/apache/xalan/META-INF/services/javax.xml.transform.TransformerFactory - src/com/sun/org/apache/xalan/META-INF/services/javax.xml.xpath.XPathFactory - src/com/sun/org/apache/xalan/META-INF/services/org.apache.xml.dtm.DTMManager - src/com/sun/org/apache/xerces/internal/xinclude/ObjectFactory.java - src/com/sun/org/apache/xml/internal/serialize/ObjectFactory.java Changeset: ec38586b8bf3 Author: chegar Date: 2013-06-17 11:18 +0100 URL: http://hg.openjdk.java.net/jdk8/tl/jaxp/rev/ec38586b8bf3 Merge Changeset: 1c5e3ae28f81 Author: chegar Date: 2013-06-18 09:36 +0100 URL: http://hg.openjdk.java.net/jdk8/tl/jaxp/rev/1c5e3ae28f81 Merge From chris.hegarty at oracle.com Tue Jun 18 12:18:57 2013 From: chris.hegarty at oracle.com (chris.hegarty at oracle.com) Date: Tue, 18 Jun 2013 19:18:57 +0000 Subject: hg: jdk8/tl/corba: 9 new changesets Message-ID: <20130618191903.1DBA8482C5@hg.openjdk.java.net> Changeset: 39d15bbb5741 Author: coffeys Date: 2013-04-08 23:12 +0100 URL: http://hg.openjdk.java.net/jdk8/tl/corba/rev/39d15bbb5741 8001032: Restrict object access Summary: Restrict object access; fix reviewed also by Alexander Fomin Reviewed-by: alanb, ahgross ! make/com/sun/corba/minclude/com_sun_corba_se_impl_orbutil.jmk ! src/share/classes/com/sun/corba/se/impl/activation/ServerManagerImpl.java ! src/share/classes/com/sun/corba/se/impl/interceptors/PIHandlerImpl.java ! src/share/classes/com/sun/corba/se/impl/interceptors/RequestInfoImpl.java ! src/share/classes/com/sun/corba/se/impl/io/ValueUtility.java ! src/share/classes/com/sun/corba/se/impl/javax/rmi/CORBA/Util.java ! src/share/classes/com/sun/corba/se/impl/orb/ORBDataParserImpl.java ! src/share/classes/com/sun/corba/se/impl/orb/ORBImpl.java ! src/share/classes/com/sun/corba/se/impl/orb/ParserTable.java - src/share/classes/com/sun/corba/se/impl/orbutil/ORBClassLoader.java ! src/share/classes/com/sun/corba/se/impl/orbutil/ORBUtility.java ! src/share/classes/com/sun/corba/se/impl/protocol/giopmsgheaders/LocateReplyMessage_1_2.java ! src/share/classes/com/sun/corba/se/impl/protocol/giopmsgheaders/MessageBase.java ! src/share/classes/com/sun/corba/se/impl/protocol/giopmsgheaders/ReplyMessage_1_0.java ! src/share/classes/com/sun/corba/se/impl/protocol/giopmsgheaders/ReplyMessage_1_1.java ! src/share/classes/com/sun/corba/se/spi/orb/ORB.java ! src/share/classes/com/sun/corba/se/spi/orb/OperationFactory.java ! src/share/classes/sun/corba/JavaCorbaAccess.java Changeset: 978818df41b9 Author: chegar Date: 2013-04-24 10:17 +0100 URL: http://hg.openjdk.java.net/jdk8/tl/corba/rev/978818df41b9 Merge Changeset: 68d407e4d204 Author: chegar Date: 2013-04-28 08:15 +0100 URL: http://hg.openjdk.java.net/jdk8/tl/corba/rev/68d407e4d204 Merge Changeset: 80161c61aa68 Author: coffeys Date: 2013-04-30 11:53 +0100 URL: http://hg.openjdk.java.net/jdk8/tl/corba/rev/80161c61aa68 8000642: Better handling of objects for transportation Reviewed-by: alanb, mchung, skoivu ! src/share/classes/com/sun/corba/se/impl/corba/AnyImpl.java ! src/share/classes/com/sun/corba/se/impl/corba/TypeCodeImpl.java ! src/share/classes/com/sun/corba/se/impl/encoding/IDLJavaSerializationOutputStream.java ! src/share/classes/com/sun/corba/se/impl/encoding/TypeCodeOutputStream.java ! src/share/classes/com/sun/corba/se/impl/interceptors/CDREncapsCodec.java ! src/share/classes/com/sun/corba/se/impl/interceptors/RequestInfoImpl.java ! src/share/classes/com/sun/corba/se/impl/io/IIOPInputStream.java ! src/share/classes/com/sun/corba/se/impl/io/IIOPOutputStream.java ! src/share/classes/com/sun/corba/se/impl/io/InputStreamHook.java ! src/share/classes/com/sun/corba/se/impl/io/OutputStreamHook.java ! src/share/classes/com/sun/corba/se/impl/ior/EncapsulationUtility.java ! src/share/classes/com/sun/corba/se/impl/ior/GenericTaggedProfile.java ! src/share/classes/com/sun/corba/se/impl/ior/IORImpl.java ! src/share/classes/com/sun/corba/se/impl/ior/ObjectKeyImpl.java ! src/share/classes/com/sun/corba/se/impl/ior/TaggedComponentFactoryFinderImpl.java ! src/share/classes/com/sun/corba/se/impl/ior/iiop/IIOPProfileImpl.java ! src/share/classes/com/sun/corba/se/impl/ior/iiop/IIOPProfileTemplateImpl.java ! src/share/classes/com/sun/corba/se/impl/orb/ORBImpl.java ! src/share/classes/com/sun/corba/se/impl/orb/ORBSingleton.java ! src/share/classes/com/sun/corba/se/impl/protocol/CorbaMessageMediatorImpl.java ! src/share/classes/com/sun/corba/se/impl/transport/CorbaContactInfoBase.java ! src/share/classes/com/sun/corba/se/impl/transport/SharedCDRContactInfoImpl.java ! src/share/classes/com/sun/corba/se/impl/transport/SocketOrChannelAcceptorImpl.java ! src/share/classes/com/sun/corba/se/impl/transport/SocketOrChannelConnectionImpl.java ! src/share/classes/com/sun/corba/se/spi/ior/TaggedComponentBase.java ! src/share/classes/com/sun/corba/se/spi/servicecontext/ServiceContext.java ! src/share/classes/org/omg/CORBA_2_3/portable/OutputStream.java + src/share/classes/sun/corba/OutputStreamFactory.java Changeset: 4fe1edbec7bc Author: chegar Date: 2013-05-08 10:09 +0100 URL: http://hg.openjdk.java.net/jdk8/tl/corba/rev/4fe1edbec7bc Merge Changeset: e9c924d3475c Author: chegar Date: 2013-05-16 11:39 +0100 URL: http://hg.openjdk.java.net/jdk8/tl/corba/rev/e9c924d3475c Merge Changeset: 216cb38dce0a Author: chegar Date: 2013-05-23 12:41 +0100 URL: http://hg.openjdk.java.net/jdk8/tl/corba/rev/216cb38dce0a Merge Changeset: 25e68d232c20 Author: chegar Date: 2013-05-31 10:26 +0100 URL: http://hg.openjdk.java.net/jdk8/tl/corba/rev/25e68d232c20 Merge Changeset: c1f80e733eb0 Author: chegar Date: 2013-06-17 11:11 +0100 URL: http://hg.openjdk.java.net/jdk8/tl/corba/rev/c1f80e733eb0 Merge ! src/share/classes/com/sun/corba/se/impl/orb/ParserTable.java From chris.hegarty at oracle.com Tue Jun 18 12:24:16 2013 From: chris.hegarty at oracle.com (chris.hegarty at oracle.com) Date: Tue, 18 Jun 2013 19:24:16 +0000 Subject: hg: jdk8/tl/jdk: 94 new changesets Message-ID: <20130618194249.198B5482CE@hg.openjdk.java.net> Changeset: 3c36782f5129 Author: bae Date: 2013-02-27 12:10 +0400 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/3c36782f5129 8001034: Memory management improvements Reviewed-by: mschoene, prr, jgodinez ! src/solaris/native/sun/awt/awt_GraphicsEnv.c ! src/solaris/native/sun/awt/awt_GraphicsEnv.h ! src/solaris/native/sun/java2d/x11/X11SurfaceData.c Changeset: b4a306969af5 Author: alanb Date: 2013-02-27 11:44 +0000 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/b4a306969af5 8004288: (fs) Files.probeContentType problems Reviewed-by: ahgross, sherman ! src/share/classes/java/nio/file/Files.java ! src/solaris/classes/sun/nio/fs/GnomeFileTypeDetector.java Changeset: ecf85457671a Author: dmocek Date: 2013-03-04 14:34 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/ecf85457671a 8000638: Improve deserialization Reviewed-by: smarks, hawtin, mchung ! src/share/classes/java/io/ObjectStreamClass.java Changeset: 1bd2a0bb583e Author: jbachorik Date: 2013-03-07 14:05 +0100 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/1bd2a0bb583e 8008603: Improve provision of JMX providers Reviewed-by: alanb, dfuchs, jfdenise, skoivu ! src/share/classes/javax/management/remote/JMXConnectorFactory.java Changeset: 711d544b2319 Author: jbachorik Date: 2013-03-12 09:34 +0100 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/711d544b2319 8009038: Improve JMX notification support Summary: Disallowing access to mutable shared arrays Reviewed-by: dfuchs, mchung, skoivu ! src/share/classes/javax/management/StandardEmitterMBean.java Changeset: 363547f54176 Author: jbachorik Date: 2013-03-12 11:09 +0100 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/363547f54176 8009034: Improve resulting notifications in JMX Summary: Disallowing access to mutable shared arrays Reviewed-by: dfuchs, mchung, skoivu ! src/share/classes/javax/management/remote/NotificationResult.java Changeset: 9114ea4791ec Author: jbachorik Date: 2013-03-14 14:42 +0100 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/9114ea4791ec 8008585: Better JMX data handling Reviewed-by: alanb, dfuchs, jfdenise, skoivu, sjiang ! src/share/classes/javax/management/remote/JMXConnectorFactory.java Changeset: 200ae4b8f192 Author: jbachorik Date: 2013-03-14 14:45 +0100 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/200ae4b8f192 8008607: Better input checking in JMX Reviewed-by: dfuchs, mchung, skoivu, sjiang ! src/share/classes/com/sun/jmx/mbeanserver/MBeanIntrospector.java Changeset: a65111ce1ed7 Author: khazra Date: 2013-03-14 13:46 -0700 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/a65111ce1ed7 7170730: Improve Windows network stack support. Summary: Enable exclusive binding of ports on Windows Reviewed-by: alanb, chegar, ahgross ! make/java/nio/mapfile-bsd ! make/java/nio/mapfile-linux ! make/java/nio/mapfile-solaris ! makefiles/mapfiles/libnio/mapfile-linux ! makefiles/mapfiles/libnio/mapfile-macosx ! makefiles/mapfiles/libnio/mapfile-solaris ! src/share/classes/sun/nio/ch/AsynchronousServerSocketChannelImpl.java ! src/share/classes/sun/nio/ch/AsynchronousSocketChannelImpl.java ! src/share/classes/sun/nio/ch/DatagramChannelImpl.java ! src/share/classes/sun/nio/ch/Net.java ! src/share/classes/sun/nio/ch/ServerSocketChannelImpl.java ! src/share/classes/sun/nio/ch/SocketChannelImpl.java ! src/solaris/native/sun/nio/ch/Net.c ! src/windows/classes/java/net/DefaultDatagramSocketImplFactory.java ! src/windows/classes/java/net/DualStackPlainDatagramSocketImpl.java ! src/windows/classes/java/net/DualStackPlainSocketImpl.java ! src/windows/classes/java/net/PlainSocketImpl.java ! src/windows/classes/java/net/TwoStacksPlainDatagramSocketImpl.java ! src/windows/classes/java/net/TwoStacksPlainSocketImpl.java ! src/windows/native/java/net/DualStackPlainDatagramSocketImpl.c ! src/windows/native/java/net/DualStackPlainSocketImpl.c ! src/windows/native/java/net/TwoStacksPlainDatagramSocketImpl.c ! src/windows/native/java/net/TwoStacksPlainSocketImpl.c ! src/windows/native/java/net/net_util_md.c ! src/windows/native/java/net/net_util_md.h ! src/windows/native/sun/nio/ch/Net.c Changeset: 30f15138e298 Author: dmocek Date: 2013-03-13 17:24 -0700 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/30f15138e298 8001033: Refactor network address handling in virtual machine identifiers Reviewed-by: smarks, hawtin, mchung ! src/share/classes/java/rmi/dgc/VMID.java Changeset: 9f99c9ab588b Author: jgodinez Date: 2013-03-15 12:31 -0700 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/9f99c9ab588b 8007927: Improve cmsAllocProfileSequenceDescription Reviewed-by: bae, mschoene, prr Contributed-by: jia-hong.chen at oracle.com ! src/share/native/sun/java2d/cmm/lcms/cmsnamed.c Changeset: bf7120252a95 Author: jbachorik Date: 2013-03-18 11:17 +0100 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/bf7120252a95 8009996: tests javax/management/mxbean/MiscTest.java and javax/management/mxbean/StandardMBeanOverrideTest.java fail Reviewed-by: dfuchs, dholmes ! src/share/classes/javax/management/StandardEmitterMBean.java Changeset: 59ced5cf8344 Author: dfuchs Date: 2013-03-18 11:55 +0100 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/59ced5cf8344 8001043: Clarify definition restrictions Reviewed-by: alanb, skoivu, smarks ! src/share/classes/sun/rmi/server/LoaderHandler.java Changeset: 810688020f65 Author: sla Date: 2013-03-19 13:26 +0100 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/810688020f65 8003703: Update RMI connection dialog box Reviewed-by: skoivu, ahgross, mchung, jbachorik ! src/share/classes/sun/tools/jconsole/Messages.java ! src/share/classes/sun/tools/jconsole/ProxyClient.java ! src/share/classes/sun/tools/jconsole/VMPanel.java ! src/share/classes/sun/tools/jconsole/resources/messages.properties Changeset: 8b4c3e09b29a Author: jgodinez Date: 2013-03-19 14:29 -0700 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/8b4c3e09b29a 8009013: Better handling of T2K glyphs Reviewed-by: bae, mschoene, prr Contributed-by: jia-hong.chen at oracle.com ! src/share/native/sun/font/freetypeScaler.c Changeset: dd60654d4a8b Author: darcy Date: 2013-03-19 14:59 -0700 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/dd60654d4a8b 8001309: Better handling of annotation interfaces Reviewed-by: ahgross, smarks, alanb ! src/share/classes/sun/reflect/annotation/AnnotationInvocationHandler.java Changeset: b412e6128726 Author: jgodinez Date: 2013-03-20 10:12 -0700 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/b412e6128726 8007929: Improve CurvesAlloc Reviewed-by: bae, mschoene, prr Contributed-by: jia-hong.chen at oracle.com ! src/share/native/sun/java2d/cmm/lcms/cmsopt.c Changeset: cfea7f72cbcd Author: khazra Date: 2013-03-20 11:50 -0700 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/cfea7f72cbcd 8010213: Some api/javax_net/SocketFactory tests fail in 7u25 nightly build Summary: Eliminate fall-through while setting socket options on Windows Reviewed-by: alanb, chegar ! src/windows/classes/java/net/DualStackPlainSocketImpl.java Changeset: 711187756b9e Author: leonidr Date: 2013-03-21 02:13 +0400 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/711187756b9e 8004584: Augment applet contextualization Summary: Do not create the main AppContext for applets Reviewed-by: art, ahgross ! src/share/classes/java/util/logging/LogManager.java ! src/share/classes/sun/applet/AppletSecurity.java ! src/share/classes/sun/awt/AppContext.java ! src/share/classes/sun/awt/SunToolkit.java Changeset: 9d6d7886a74c Author: jbachorik Date: 2013-03-21 09:26 +0100 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/9d6d7886a74c 8008623: Better handling of MBeanServers Reviewed-by: dfuchs, dholmes, skoivu ! src/share/classes/com/sun/jmx/interceptor/DefaultMBeanServerInterceptor.java ! src/share/classes/com/sun/jmx/mbeanserver/JmxMBeanServer.java ! src/share/classes/com/sun/jmx/mbeanserver/MBeanInstantiator.java Changeset: 9bcf9c9cb73d Author: vinnie Date: 2013-03-21 12:14 +0000 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/9bcf9c9cb73d 8009067: Improve storing keys in KeyStore Reviewed-by: mullan, skoivu ! src/share/classes/java/security/KeyStore.java Changeset: 434e0155180c Author: jfdenise Date: 2013-03-26 09:12 +0100 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/434e0155180c 8009004: Better implementation of RMI connections Summary: Better class handling. Reviewed-by: alanb, dfuchs, skoivu, jbachorik Contributed-by: jean-francois.denise at oracle.com ! src/share/classes/com/sun/jmx/remote/util/OrderClassLoaders.java ! src/share/classes/javax/management/remote/rmi/RMIConnectionImpl.java Changeset: 72fac19dad5c Author: sjiang Date: 2013-03-26 08:32 +0100 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/72fac19dad5c 8008615: Improve robustness of JMX internal APIs Reviewed-by: dfuchs, skoivu, dholmes ! src/share/classes/com/sun/jmx/mbeanserver/ObjectInputStreamWithLoader.java ! src/share/classes/javax/management/MBeanServerFactory.java ! src/share/classes/javax/management/remote/rmi/RMIConnector.java Changeset: 27d79fbadda1 Author: jfdenise Date: 2013-03-27 09:59 +0100 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/27d79fbadda1 8008128: Better API coherence for JMX Summary: Permission for getting classloader Reviewed-by: alanb, dfuchs, skoivu Contributed-by: jean-francois.denise at oracle.com ! src/share/classes/com/sun/jmx/mbeanserver/ClassLoaderRepositorySupport.java ! src/share/classes/com/sun/jmx/mbeanserver/MBeanInstantiator.java Changeset: 311f16954ada Author: jbachorik Date: 2013-03-27 13:29 +0100 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/311f16954ada 8010209: Better provision of factories Reviewed-by: dcubed, ahgross ! src/share/classes/sun/tracing/ProviderSkeleton.java ! src/share/classes/sun/tracing/dtrace/DTraceProvider.java Changeset: 185cbf454f51 Author: jgodinez Date: 2013-03-27 11:38 -0700 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/185cbf454f51 8009654: Improve stability of cmsnamed Reviewed-by: bae, mschoene, prr Contributed-by: jia-hong.chen at oracle.com ! src/share/native/sun/java2d/cmm/lcms/cmsnamed.c Changeset: c193b7431ea6 Author: jgodinez Date: 2013-03-27 15:58 -0700 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/c193b7431ea6 8007925: Improve cmsStageAllocLabV2ToV4curves 8007926: Improve cmsPipelineDup Reviewed-by: bae, mschoene, prr Contributed-by: jia-hong.chen at oracle.com ! src/share/native/sun/java2d/cmm/lcms/cmslut.c Changeset: 9137e1efe9fd Author: lancea Date: 2013-03-28 06:55 -0400 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/9137e1efe9fd 8009554: Improve SerialJavaObject.getFields Reviewed-by: alanb, skoivu, mchung ! src/share/classes/javax/sql/rowset/serial/SerialJavaObject.java Changeset: 7067e2e493e5 Author: khazra Date: 2013-03-28 14:34 -0700 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/7067e2e493e5 8001318: Socket.getLocalAddress not consistent with InetAddress.getLocalHost Reviewed-by: alanb, chegar, hawtin ! src/share/classes/java/net/ServerSocket.java ! src/share/classes/java/net/Socket.java ! src/share/classes/java/net/SocksSocketImpl.java ! src/share/classes/java/nio/channels/AsynchronousServerSocketChannel.java ! src/share/classes/java/nio/channels/AsynchronousSocketChannel.java ! src/share/classes/java/nio/channels/DatagramChannel.java ! src/share/classes/java/nio/channels/NetworkChannel.java ! src/share/classes/java/nio/channels/ServerSocketChannel.java ! src/share/classes/java/nio/channels/SocketChannel.java ! src/share/classes/sun/net/NetworkClient.java ! src/share/classes/sun/net/ftp/impl/FtpClient.java ! src/share/classes/sun/net/httpserver/ServerImpl.java ! src/share/classes/sun/nio/ch/AsynchronousServerSocketChannelImpl.java ! src/share/classes/sun/nio/ch/AsynchronousSocketChannelImpl.java ! src/share/classes/sun/nio/ch/DatagramChannelImpl.java ! src/share/classes/sun/nio/ch/Net.java ! src/share/classes/sun/nio/ch/ServerSocketAdaptor.java ! src/share/classes/sun/nio/ch/ServerSocketChannelImpl.java ! src/share/classes/sun/nio/ch/SocketAdaptor.java ! src/share/classes/sun/nio/ch/SocketChannelImpl.java ! src/share/classes/sun/rmi/server/Activation.java ! src/share/classes/sun/rmi/transport/proxy/WrappedSocket.java ! src/solaris/classes/sun/nio/ch/UnixAsynchronousSocketChannelImpl.java ! src/solaris/classes/sun/nio/ch/sctp/SctpNet.java ! src/windows/classes/sun/nio/ch/WindowsAsynchronousSocketChannelImpl.java Changeset: d0ba983c0e70 Author: jbachorik Date: 2013-03-28 09:39 +0100 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/d0ba983c0e70 8008982: Adjust JMX for underlying interface changes Reviewed-by: mchung, dholmes, dfuchs, skoivu ! src/share/classes/com/sun/jmx/mbeanserver/Introspector.java ! src/share/classes/javax/management/JMX.java ! src/share/classes/javax/management/MBeanServerInvocationHandler.java Changeset: 2db5b7f6aa66 Author: jgodinez Date: 2013-03-29 10:01 -0700 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/2db5b7f6aa66 8001038: Resourcefully handle resources Reviewed-by: prr, bae Contributed-by: jia-hong.chen at oracle.com ! src/share/classes/java/awt/Font.java ! src/share/classes/sun/font/CreatedFontTracker.java Changeset: d6f0cbba0b8a Author: serb Date: 2013-03-29 22:07 +0400 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/d6f0cbba0b8a 8006328: Improve robustness of sound classes 8009057: Improve MIDI event handling Reviewed-by: amenkov, art, skoivu ! src/share/classes/com/sun/media/sound/AbstractDataLine.java ! src/share/classes/com/sun/media/sound/AbstractLine.java ! src/share/classes/com/sun/media/sound/AbstractMidiDevice.java ! src/share/classes/com/sun/media/sound/AbstractMidiDeviceProvider.java ! src/share/classes/com/sun/media/sound/AbstractMixer.java ! src/share/classes/com/sun/media/sound/AiffFileFormat.java ! src/share/classes/com/sun/media/sound/AiffFileReader.java ! src/share/classes/com/sun/media/sound/AiffFileWriter.java ! src/share/classes/com/sun/media/sound/AlawCodec.java ! src/share/classes/com/sun/media/sound/AuFileFormat.java ! src/share/classes/com/sun/media/sound/AuFileReader.java ! src/share/classes/com/sun/media/sound/AuFileWriter.java ! src/share/classes/com/sun/media/sound/AudioFileSoundbankReader.java ! src/share/classes/com/sun/media/sound/AudioFloatConverter.java ! src/share/classes/com/sun/media/sound/AudioFloatFormatConverter.java ! src/share/classes/com/sun/media/sound/AudioFloatInputStream.java ! src/share/classes/com/sun/media/sound/AudioSynthesizerPropertyInfo.java ! src/share/classes/com/sun/media/sound/DLSInfo.java ! src/share/classes/com/sun/media/sound/DLSInstrument.java ! src/share/classes/com/sun/media/sound/DLSModulator.java ! src/share/classes/com/sun/media/sound/DLSRegion.java ! src/share/classes/com/sun/media/sound/DLSSample.java ! src/share/classes/com/sun/media/sound/DLSSampleLoop.java ! src/share/classes/com/sun/media/sound/DLSSampleOptions.java ! src/share/classes/com/sun/media/sound/DLSSoundbank.java ! src/share/classes/com/sun/media/sound/DLSSoundbankReader.java ! src/share/classes/com/sun/media/sound/DataPusher.java ! src/share/classes/com/sun/media/sound/DirectAudioDevice.java ! src/share/classes/com/sun/media/sound/DirectAudioDeviceProvider.java ! src/share/classes/com/sun/media/sound/EmergencySoundbank.java ! src/share/classes/com/sun/media/sound/EventDispatcher.java ! src/share/classes/com/sun/media/sound/FFT.java ! src/share/classes/com/sun/media/sound/FastShortMessage.java ! src/share/classes/com/sun/media/sound/JARSoundbankReader.java ! src/share/classes/com/sun/media/sound/JDK13Services.java ! src/share/classes/com/sun/media/sound/JSSecurityManager.java ! src/share/classes/com/sun/media/sound/JavaSoundAudioClip.java ! src/share/classes/com/sun/media/sound/MidiDeviceReceiverEnvelope.java ! src/share/classes/com/sun/media/sound/MidiDeviceTransmitterEnvelope.java ! src/share/classes/com/sun/media/sound/MidiInDevice.java ! src/share/classes/com/sun/media/sound/MidiInDeviceProvider.java ! src/share/classes/com/sun/media/sound/MidiOutDevice.java ! src/share/classes/com/sun/media/sound/MidiOutDeviceProvider.java ! src/share/classes/com/sun/media/sound/MidiUtils.java ! src/share/classes/com/sun/media/sound/ModelByteBuffer.java ! src/share/classes/com/sun/media/sound/ModelByteBufferWavetable.java ! src/share/classes/com/sun/media/sound/ModelConnectionBlock.java ! src/share/classes/com/sun/media/sound/ModelDestination.java ! src/share/classes/com/sun/media/sound/ModelIdentifier.java ! src/share/classes/com/sun/media/sound/ModelInstrument.java ! src/share/classes/com/sun/media/sound/ModelInstrumentComparator.java ! src/share/classes/com/sun/media/sound/ModelMappedInstrument.java ! src/share/classes/com/sun/media/sound/ModelPatch.java ! src/share/classes/com/sun/media/sound/ModelPerformer.java ! src/share/classes/com/sun/media/sound/ModelSource.java ! src/share/classes/com/sun/media/sound/ModelStandardDirector.java ! src/share/classes/com/sun/media/sound/ModelStandardIndexedDirector.java ! src/share/classes/com/sun/media/sound/ModelStandardTransform.java ! src/share/classes/com/sun/media/sound/PCMtoPCMCodec.java ! src/share/classes/com/sun/media/sound/Platform.java ! src/share/classes/com/sun/media/sound/PortMixer.java ! src/share/classes/com/sun/media/sound/PortMixerProvider.java ! src/share/classes/com/sun/media/sound/Printer.java ! src/share/classes/com/sun/media/sound/RIFFInvalidDataException.java ! src/share/classes/com/sun/media/sound/RIFFInvalidFormatException.java ! src/share/classes/com/sun/media/sound/RIFFReader.java ! src/share/classes/com/sun/media/sound/RIFFWriter.java ! src/share/classes/com/sun/media/sound/RealTimeSequencer.java ! src/share/classes/com/sun/media/sound/RealTimeSequencerProvider.java ! src/share/classes/com/sun/media/sound/SF2GlobalRegion.java ! src/share/classes/com/sun/media/sound/SF2Instrument.java ! src/share/classes/com/sun/media/sound/SF2InstrumentRegion.java ! src/share/classes/com/sun/media/sound/SF2Layer.java ! src/share/classes/com/sun/media/sound/SF2LayerRegion.java ! src/share/classes/com/sun/media/sound/SF2Modulator.java ! src/share/classes/com/sun/media/sound/SF2Sample.java ! src/share/classes/com/sun/media/sound/SF2Soundbank.java ! src/share/classes/com/sun/media/sound/SF2SoundbankReader.java ! src/share/classes/com/sun/media/sound/SoftAbstractResampler.java ! src/share/classes/com/sun/media/sound/SoftAudioBuffer.java ! src/share/classes/com/sun/media/sound/SoftAudioPusher.java ! src/share/classes/com/sun/media/sound/SoftChannel.java ! src/share/classes/com/sun/media/sound/SoftChannelProxy.java ! src/share/classes/com/sun/media/sound/SoftChorus.java ! src/share/classes/com/sun/media/sound/SoftCubicResampler.java ! src/share/classes/com/sun/media/sound/SoftEnvelopeGenerator.java ! src/share/classes/com/sun/media/sound/SoftFilter.java ! src/share/classes/com/sun/media/sound/SoftInstrument.java ! src/share/classes/com/sun/media/sound/SoftJitterCorrector.java ! src/share/classes/com/sun/media/sound/SoftLanczosResampler.java ! src/share/classes/com/sun/media/sound/SoftLimiter.java ! src/share/classes/com/sun/media/sound/SoftLinearResampler.java ! src/share/classes/com/sun/media/sound/SoftLinearResampler2.java ! src/share/classes/com/sun/media/sound/SoftLowFrequencyOscillator.java ! src/share/classes/com/sun/media/sound/SoftMainMixer.java ! src/share/classes/com/sun/media/sound/SoftMidiAudioFileReader.java ! src/share/classes/com/sun/media/sound/SoftMixingClip.java ! src/share/classes/com/sun/media/sound/SoftMixingDataLine.java ! src/share/classes/com/sun/media/sound/SoftMixingMainMixer.java ! src/share/classes/com/sun/media/sound/SoftMixingMixer.java ! src/share/classes/com/sun/media/sound/SoftMixingMixerProvider.java ! src/share/classes/com/sun/media/sound/SoftMixingSourceDataLine.java ! src/share/classes/com/sun/media/sound/SoftPerformer.java ! src/share/classes/com/sun/media/sound/SoftPointResampler.java ! src/share/classes/com/sun/media/sound/SoftProvider.java ! src/share/classes/com/sun/media/sound/SoftReceiver.java ! src/share/classes/com/sun/media/sound/SoftReverb.java ! src/share/classes/com/sun/media/sound/SoftShortMessage.java ! src/share/classes/com/sun/media/sound/SoftSincResampler.java ! src/share/classes/com/sun/media/sound/SoftSynthesizer.java ! src/share/classes/com/sun/media/sound/SoftTuning.java ! src/share/classes/com/sun/media/sound/SoftVoice.java ! src/share/classes/com/sun/media/sound/StandardMidiFileReader.java ! src/share/classes/com/sun/media/sound/StandardMidiFileWriter.java ! src/share/classes/com/sun/media/sound/SunCodec.java ! src/share/classes/com/sun/media/sound/SunFileReader.java ! src/share/classes/com/sun/media/sound/SunFileWriter.java ! src/share/classes/com/sun/media/sound/Toolkit.java ! src/share/classes/com/sun/media/sound/UlawCodec.java ! src/share/classes/com/sun/media/sound/WaveExtensibleFileReader.java ! src/share/classes/com/sun/media/sound/WaveFileFormat.java ! src/share/classes/com/sun/media/sound/WaveFileReader.java ! src/share/classes/com/sun/media/sound/WaveFileWriter.java ! src/share/classes/com/sun/media/sound/WaveFloatFileReader.java ! src/share/classes/com/sun/media/sound/WaveFloatFileWriter.java ! src/share/classes/javax/sound/midi/MetaMessage.java ! src/share/classes/javax/sound/sampled/Mixer.java ! src/share/classes/sun/audio/AudioData.java ! src/share/classes/sun/audio/AudioDataStream.java ! src/share/classes/sun/audio/AudioDevice.java ! src/share/classes/sun/audio/AudioPlayer.java ! src/share/classes/sun/audio/AudioStream.java ! src/share/classes/sun/audio/AudioStreamSequence.java ! src/share/classes/sun/audio/AudioTranslatorStream.java ! src/share/classes/sun/audio/ContinuousAudioDataStream.java ! src/share/classes/sun/audio/InvalidAudioFormatException.java Changeset: 2eac60e99307 Author: dsamersoff Date: 2013-03-31 22:00 +0400 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/2eac60e99307 8007471: Improve MBean notifications Summary: Improve MBean notifications Reviewed-by: dfuchs, mchung, alanb, skoivu ! src/share/classes/com/sun/jmx/remote/internal/ArrayNotificationBuffer.java ! src/share/classes/com/sun/jmx/remote/internal/ServerNotifForwarder.java Changeset: 107f21efda78 Author: dsamersoff Date: 2013-03-31 22:59 +0400 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/107f21efda78 8008120: Improve JMX class checking Summary: Improve JMX class checking Reviewed-by: mchung, dfuchs, alanb, skoivu ! src/share/classes/javax/management/relation/RelationNotification.java Changeset: 0bddd4e8bfb6 Author: dsamersoff Date: 2013-03-31 23:47 +0400 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/0bddd4e8bfb6 8008124: Better compliance testing Summary: Better compliance testing Reviewed-by: dfuchs, jfdenise, skoivu, alanb ! src/share/classes/com/sun/jmx/mbeanserver/Introspector.java Changeset: 0d36b1e3e509 Author: prr Date: 2013-04-01 09:55 -0700 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/0d36b1e3e509 8005007: Better glyph processing Reviewed-by: srl, mschoene, bae ! src/share/classes/sun/font/ExtendedTextSourceLabel.java ! src/share/native/sun/font/layout/LEGlyphStorage.cpp ! src/share/native/sun/font/layout/LookupProcessor.cpp Changeset: 4224b02452f5 Author: sjiang Date: 2013-04-02 10:38 +0200 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/4224b02452f5 8007467: Better JMX type conversion Reviewed-by: dfuchs, mchung, skoivu ! src/share/classes/com/sun/jmx/mbeanserver/ConvertingMethod.java ! src/share/classes/com/sun/jmx/mbeanserver/DefaultMXBeanMappingFactory.java ! src/share/classes/com/sun/jmx/mbeanserver/StandardMBeanIntrospector.java ! src/share/classes/javax/management/openmbean/CompositeDataInvocationHandler.java ! src/share/classes/javax/management/openmbean/OpenMBeanAttributeInfoSupport.java Changeset: 5ae5c4120014 Author: egahlin Date: 2013-03-21 13:56 +0100 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/5ae5c4120014 8008611: Better handling of annotations in JMX Reviewed-by: skoivu, dholmes, jfdenise ! src/share/classes/com/sun/jmx/mbeanserver/Introspector.java Changeset: 802f5e480c8a Author: mullan Date: 2013-04-05 10:17 -0400 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/802f5e480c8a 8001330: Improve on checking order Reviewed-by: acorn, hawtin ! src/share/classes/java/security/AccessControlContext.java ! src/share/classes/java/security/AccessController.java ! src/share/classes/java/security/ProtectionDomain.java Changeset: e5969bf37f26 Author: chegar Date: 2013-04-08 06:15 +0100 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/e5969bf37f26 8008593: Better URLClassLoader resource management Reviewed-by: alanb, sherman, hawtin ! make/java/zip/mapfile-vers ! make/java/zip/reorder-i586 ! make/java/zip/reorder-sparc ! make/java/zip/reorder-sparcv9 ! makefiles/mapfiles/libzip/mapfile-vers ! makefiles/mapfiles/libzip/reorder-sparc ! makefiles/mapfiles/libzip/reorder-sparcv9 ! makefiles/mapfiles/libzip/reorder-x86 ! src/share/classes/java/util/zip/ZipFile.java + src/share/classes/sun/misc/JavaUtilZipFileAccess.java ! src/share/classes/sun/misc/SharedSecrets.java ! src/share/classes/sun/misc/URLClassPath.java ! src/share/native/java/util/zip/ZipFile.c ! src/share/native/java/util/zip/zip_util.c ! src/share/native/java/util/zip/zip_util.h Changeset: 6f75b365af19 Author: vinnie Date: 2013-04-08 21:12 +0100 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/6f75b365af19 8009235: Improve handling of TSA data Reviewed-by: ahgross, mullan ! src/share/classes/sun/security/pkcs/SignerInfo.java ! src/share/classes/sun/security/timestamp/TimestampToken.java Changeset: 5496abfc666a Author: prr Date: 2013-04-08 13:29 -0700 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/5496abfc666a 8011248: Better Component Rasters Reviewed-by: bae, vadim, mschoene ! src/share/classes/sun/awt/image/IntegerComponentRaster.java Changeset: 761e0002dcfe Author: prr Date: 2013-04-08 13:32 -0700 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/761e0002dcfe 8011253: Better Short Component Rasters Reviewed-by: bae, vadim, mschoene ! src/share/classes/sun/awt/image/ShortBandedRaster.java ! src/share/classes/sun/awt/image/ShortComponentRaster.java Changeset: 1adc1051f2d3 Author: prr Date: 2013-04-08 13:35 -0700 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/1adc1051f2d3 8011257: Better Byte Component Rasters Reviewed-by: bae, vadim, mschoene ! src/share/classes/sun/awt/image/ByteBandedRaster.java ! src/share/classes/sun/awt/image/ByteComponentRaster.java Changeset: eafd52d53f09 Author: bae Date: 2013-04-10 15:55 +0400 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/eafd52d53f09 8011243: Improve ImagingLib Reviewed-by: prr, vadim ! src/share/native/sun/awt/medialib/awt_ImagingLib.c ! src/share/native/sun/awt/medialib/mlib_ImageCreate.c Changeset: fa42f0831e66 Author: bae Date: 2013-04-12 14:08 +0400 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/fa42f0831e66 8011992: java/awt/image/mlib/MlibOpsTest.java failed since jdk7u25b05 Reviewed-by: vadim ! src/share/native/sun/awt/medialib/awt_ImagingLib.c ! test/java/awt/image/mlib/MlibOpsTest.java Changeset: bfe04328d394 Author: bae Date: 2013-04-15 14:11 +0400 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/bfe04328d394 8012112: java/awt/image/mlib/MlibOpsTest.java fails on sparc solaris Reviewed-by: prr, vadim ! src/share/native/sun/awt/medialib/awt_ImagingLib.c ! test/java/awt/image/mlib/MlibOpsTest.java Changeset: 7d90e3e0a8ec Author: leonidr Date: 2013-04-16 21:19 +0400 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/7d90e3e0a8ec 8011695: [tck-red] Application can not be run, the Security Warning dialog is gray. Summary: EventQueue shouldn't use AppContext.getAppContext() to obtain its AppContext. Reviewed-by: art ! src/share/classes/java/awt/EventQueue.java ! src/share/classes/javax/swing/RepaintManager.java ! src/share/classes/sun/awt/SunToolkit.java Changeset: cf14f699f36c Author: anthony Date: 2013-04-18 13:52 +0100 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/cf14f699f36c 8009071: Improve shape handling Reviewed-by: art, mschoene ! src/macosx/native/sun/awt/CRobot.m ! src/macosx/native/sun/awt/LWCToolkit.m ! src/macosx/native/sun/awt/splashscreen/splashscreen_sys.m + src/share/native/common/sizecalc.h ! src/share/native/sun/awt/splashscreen/java_awt_SplashScreen.c ! src/share/native/sun/awt/splashscreen/splashscreen_gif.c ! src/share/native/sun/java2d/pipe/Region.c ! src/solaris/native/sun/awt/awt_Robot.c ! src/solaris/native/sun/awt/awt_UNIXToolkit.c ! src/solaris/native/sun/awt/fontpath.c ! src/solaris/native/sun/awt/gtk2_interface.c ! src/solaris/native/sun/awt/splashscreen/splashscreen_sys.c ! src/solaris/native/sun/xawt/XlibWrapper.c ! src/windows/native/sun/awt/splashscreen/splashscreen_sys.c ! src/windows/native/sun/font/lcdglyph.c ! src/windows/native/sun/java2d/opengl/WGLSurfaceData.c ! src/windows/native/sun/java2d/windows/GDIBlitLoops.cpp ! src/windows/native/sun/java2d/windows/GDIRenderer.cpp ! src/windows/native/sun/java2d/windows/GDIWindowSurfaceData.cpp ! src/windows/native/sun/windows/CmdIDList.cpp ! src/windows/native/sun/windows/Devices.cpp ! src/windows/native/sun/windows/ShellFolder2.cpp ! src/windows/native/sun/windows/WPrinterJob.cpp ! src/windows/native/sun/windows/alloc.h ! src/windows/native/sun/windows/awt.h ! src/windows/native/sun/windows/awt_BitmapUtil.cpp ! src/windows/native/sun/windows/awt_Component.cpp ! src/windows/native/sun/windows/awt_Cursor.cpp ! src/windows/native/sun/windows/awt_DataTransferer.cpp ! src/windows/native/sun/windows/awt_DesktopProperties.cpp ! src/windows/native/sun/windows/awt_DnDDT.cpp ! src/windows/native/sun/windows/awt_InputMethod.cpp ! src/windows/native/sun/windows/awt_PrintControl.cpp ! src/windows/native/sun/windows/awt_PrintJob.cpp ! src/windows/native/sun/windows/awt_Robot.cpp Changeset: 4934254492af Author: sundar Date: 2013-04-19 11:43 +0100 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/4934254492af 8006611: Improve scripting Reviewed-by: mchung ! src/share/classes/javax/script/ScriptEngineManager.java Changeset: a73ecb5085eb Author: jfranck Date: 2013-04-19 14:40 +0100 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/a73ecb5085eb 8007812: (reflect) Class.getEnclosingMethod problematic for some classes Summary: Better checking in getEnclosing(Method|Constructor|Class) Reviewed-by: darcy, ahgross, mchung ! src/share/classes/java/lang/Class.java + test/lib/testlibrary/ClassFileInstaller.java Changeset: 15370008c68d Author: chegar Date: 2013-04-22 10:21 +0100 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/15370008c68d 8012692: SerialJavaObject.java should be CallerSensitive aware Reviewed-by: mchung ! src/share/classes/javax/sql/rowset/serial/SerialJavaObject.java Changeset: ff3ac3680ffa Author: mchung Date: 2013-04-22 10:22 +0100 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/ff3ac3680ffa 8012689: CallerSensitive annotation should not have CONSTRUCTOR Target Reviewed-by: chegar ! src/share/classes/sun/reflect/CallerSensitive.java Changeset: 783ed53bce0b Author: smarks Date: 2013-04-22 10:55 +0100 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/783ed53bce0b 8008132: Better serialization support Reviewed-by: alanb, hawtin ! src/share/classes/java/io/ObjectOutputStream.java ! src/share/classes/java/io/ObjectStreamClass.java ! src/share/classes/java/io/ObjectStreamField.java Changeset: bb0ec4661eb8 Author: chegar Date: 2013-04-22 11:08 +0100 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/bb0ec4661eb8 8012917: ObjectStreamClass and ObjectStreamField should be CallerSensitive aware Reviewed-by: mchung ! src/share/classes/java/io/ObjectStreamClass.java ! src/share/classes/java/io/ObjectStreamField.java Changeset: 10558009e439 Author: anthony Date: 2013-04-09 12:05 +0400 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/10558009e439 8011154: java/awt/Frame/ShapeNotSetSometimes/ShapeNotSetSometimes.java failed since 7u25b03 on windows Reviewed-by: art, yan ! src/windows/native/sun/windows/awt_Component.cpp Changeset: 0f0ff6e9da05 Author: mullan Date: 2013-04-22 11:23 +0100 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/0f0ff6e9da05 6741606: Integrate Apache Santuario Reviewed-by: vinnie, hawtin ! src/share/classes/com/sun/org/apache/xml/internal/security/Init.java ! src/share/classes/com/sun/org/apache/xml/internal/security/algorithms/JCEMapper.java ! src/share/classes/com/sun/org/apache/xml/internal/security/algorithms/SignatureAlgorithm.java ! src/share/classes/com/sun/org/apache/xml/internal/security/c14n/Canonicalizer.java ! src/share/classes/com/sun/org/apache/xml/internal/security/c14n/CanonicalizerSpi.java ! src/share/classes/com/sun/org/apache/xml/internal/security/encryption/XMLCipher.java ! src/share/classes/com/sun/org/apache/xml/internal/security/keys/KeyInfo.java ! src/share/classes/com/sun/org/apache/xml/internal/security/keys/keyresolver/KeyResolver.java ! src/share/classes/com/sun/org/apache/xml/internal/security/keys/keyresolver/implementations/RetrievalMethodResolver.java ! src/share/classes/com/sun/org/apache/xml/internal/security/resource/xmlsecurity_en.properties ! src/share/classes/com/sun/org/apache/xml/internal/security/signature/SignedInfo.java ! src/share/classes/com/sun/org/apache/xml/internal/security/signature/XMLSignature.java ! src/share/classes/com/sun/org/apache/xml/internal/security/signature/XMLSignatureInput.java ! src/share/classes/com/sun/org/apache/xml/internal/security/transforms/Transform.java ! src/share/classes/com/sun/org/apache/xml/internal/security/transforms/Transforms.java ! src/share/classes/com/sun/org/apache/xml/internal/security/transforms/implementations/TransformBase64Decode.java ! src/share/classes/com/sun/org/apache/xml/internal/security/transforms/implementations/TransformXSLT.java + src/share/classes/com/sun/org/apache/xml/internal/security/utils/ClassLoaderUtils.java ! src/share/classes/com/sun/org/apache/xml/internal/security/utils/ElementProxy.java ! src/share/classes/com/sun/org/apache/xml/internal/security/utils/I18n.java ! src/share/classes/com/sun/org/apache/xml/internal/security/utils/XMLUtils.java ! src/share/classes/com/sun/org/apache/xml/internal/security/utils/resolver/ResourceResolver.java ! src/share/classes/com/sun/org/apache/xml/internal/security/utils/resolver/ResourceResolverSpi.java ! src/share/classes/com/sun/org/apache/xml/internal/security/utils/resolver/implementations/ResolverFragment.java ! src/share/classes/com/sun/org/apache/xml/internal/security/utils/resolver/implementations/ResolverXPointer.java ! src/share/classes/javax/xml/crypto/dsig/dom/DOMValidateContext.java ! src/share/classes/org/jcp/xml/dsig/internal/dom/ApacheCanonicalizer.java ! src/share/classes/org/jcp/xml/dsig/internal/dom/ApacheTransform.java ! src/share/classes/org/jcp/xml/dsig/internal/dom/DOMKeyInfo.java ! src/share/classes/org/jcp/xml/dsig/internal/dom/DOMManifest.java ! src/share/classes/org/jcp/xml/dsig/internal/dom/DOMReference.java ! src/share/classes/org/jcp/xml/dsig/internal/dom/DOMRetrievalMethod.java ! src/share/classes/org/jcp/xml/dsig/internal/dom/DOMSignatureProperties.java ! src/share/classes/org/jcp/xml/dsig/internal/dom/DOMSignatureProperty.java ! src/share/classes/org/jcp/xml/dsig/internal/dom/DOMSignedInfo.java ! src/share/classes/org/jcp/xml/dsig/internal/dom/DOMURIDereferencer.java ! src/share/classes/org/jcp/xml/dsig/internal/dom/DOMUtils.java ! src/share/classes/org/jcp/xml/dsig/internal/dom/DOMXMLObject.java ! src/share/classes/org/jcp/xml/dsig/internal/dom/DOMXMLSignature.java ! src/share/classes/org/jcp/xml/dsig/internal/dom/Utils.java ! src/share/lib/security/java.security-linux ! src/share/lib/security/java.security-macosx ! src/share/lib/security/java.security-solaris ! src/share/lib/security/java.security-windows ! test/javax/xml/crypto/dsig/GenerationTests.java ! test/javax/xml/crypto/dsig/SecurityManager/XMLDSigWithSecMgr.java ! test/javax/xml/crypto/dsig/ValidationTests.java Changeset: 72f55e763113 Author: leonidr Date: 2013-03-27 16:37 +0400 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/72f55e763113 8003559: Update display of applet windows Summary: Implemented applet security warning for OS X port Reviewed-by: art, anthony, serb, skoivu ! make/sun/awt/Makefile + make/sun/awt/ToBin.java ! make/sun/lwawt/FILES_export_macosx.gmk ! make/sun/xawt/Makefile - make/sun/xawt/ToBin.java ! makefiles/GenerateJavaSources.gmk ! makefiles/GensrcIcons.gmk ! makefiles/Tools.gmk + makefiles/sun/awt/ToBin.java - makefiles/sun/awt/X11/ToBin.java ! src/macosx/classes/sun/java2d/opengl/CGLLayer.java ! src/macosx/classes/sun/lwawt/LWKeyboardFocusManagerPeer.java ! src/macosx/classes/sun/lwawt/LWToolkit.java ! src/macosx/classes/sun/lwawt/LWWindowPeer.java + src/macosx/classes/sun/lwawt/PlatformEventNotifier.java ! src/macosx/classes/sun/lwawt/PlatformWindow.java + src/macosx/classes/sun/lwawt/SecurityWarningWindow.java ! src/macosx/classes/sun/lwawt/macosx/CPlatformEmbeddedFrame.java ! src/macosx/classes/sun/lwawt/macosx/CPlatformResponder.java ! src/macosx/classes/sun/lwawt/macosx/CPlatformView.java ! src/macosx/classes/sun/lwawt/macosx/CPlatformWindow.java ! src/macosx/classes/sun/lwawt/macosx/CTrayIcon.java ! src/macosx/classes/sun/lwawt/macosx/CViewPlatformEmbeddedFrame.java + src/macosx/classes/sun/lwawt/macosx/CWarningWindow.java ! src/macosx/classes/sun/lwawt/macosx/CWrapper.java ! src/macosx/classes/sun/lwawt/macosx/LWCToolkit.java ! src/macosx/native/sun/awt/CWrapper.m + src/share/classes/sun/awt/IconInfo.java + src/share/classes/sun/awt/resources/security-icon-bw16.png + src/share/classes/sun/awt/resources/security-icon-bw24.png + src/share/classes/sun/awt/resources/security-icon-bw32.png + src/share/classes/sun/awt/resources/security-icon-bw48.png + src/share/classes/sun/awt/resources/security-icon-interim16.png + src/share/classes/sun/awt/resources/security-icon-interim24.png + src/share/classes/sun/awt/resources/security-icon-interim32.png + src/share/classes/sun/awt/resources/security-icon-interim48.png + src/share/classes/sun/awt/resources/security-icon-yellow16.png + src/share/classes/sun/awt/resources/security-icon-yellow24.png + src/share/classes/sun/awt/resources/security-icon-yellow32.png + src/share/classes/sun/awt/resources/security-icon-yellow48.png ! src/solaris/classes/sun/awt/X11/XDecoratedPeer.java - src/solaris/classes/sun/awt/X11/XIconInfo.java ! src/solaris/classes/sun/awt/X11/XIconWindow.java ! src/solaris/classes/sun/awt/X11/XNETProtocol.java ! src/solaris/classes/sun/awt/X11/XWM.java ! src/solaris/classes/sun/awt/X11/XWarningWindow.java ! src/solaris/classes/sun/awt/X11/XWindowAttributesData.java ! src/solaris/classes/sun/awt/X11/XWindowPeer.java - src/solaris/classes/sun/awt/X11/security-icon-bw16.png - src/solaris/classes/sun/awt/X11/security-icon-bw24.png - src/solaris/classes/sun/awt/X11/security-icon-bw32.png - src/solaris/classes/sun/awt/X11/security-icon-bw48.png - src/solaris/classes/sun/awt/X11/security-icon-interim16.png - src/solaris/classes/sun/awt/X11/security-icon-interim24.png - src/solaris/classes/sun/awt/X11/security-icon-interim32.png - src/solaris/classes/sun/awt/X11/security-icon-interim48.png - src/solaris/classes/sun/awt/X11/security-icon-yellow16.png - src/solaris/classes/sun/awt/X11/security-icon-yellow24.png - src/solaris/classes/sun/awt/X11/security-icon-yellow32.png - src/solaris/classes/sun/awt/X11/security-icon-yellow48.png Changeset: 31980806a21a Author: chegar Date: 2013-04-19 14:14 +0100 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/31980806a21a Merge - make/sun/xawt/ToBin.java ! makefiles/Tools.gmk - makefiles/sun/awt/X11/ToBin.java ! src/macosx/classes/sun/lwawt/LWToolkit.java ! src/macosx/classes/sun/lwawt/LWWindowPeer.java ! src/macosx/classes/sun/lwawt/macosx/CPlatformView.java ! src/macosx/classes/sun/lwawt/macosx/CPlatformWindow.java ! src/macosx/classes/sun/lwawt/macosx/LWCToolkit.java - src/solaris/classes/sun/awt/X11/XIconInfo.java ! src/solaris/classes/sun/awt/X11/XWindowPeer.java - src/solaris/classes/sun/awt/X11/security-icon-bw16.png - src/solaris/classes/sun/awt/X11/security-icon-bw24.png - src/solaris/classes/sun/awt/X11/security-icon-bw32.png - src/solaris/classes/sun/awt/X11/security-icon-bw48.png - src/solaris/classes/sun/awt/X11/security-icon-interim16.png - src/solaris/classes/sun/awt/X11/security-icon-interim24.png - src/solaris/classes/sun/awt/X11/security-icon-interim32.png - src/solaris/classes/sun/awt/X11/security-icon-interim48.png - src/solaris/classes/sun/awt/X11/security-icon-yellow16.png - src/solaris/classes/sun/awt/X11/security-icon-yellow24.png - src/solaris/classes/sun/awt/X11/security-icon-yellow32.png - src/solaris/classes/sun/awt/X11/security-icon-yellow48.png Changeset: 7615af456906 Author: chegar Date: 2013-04-22 11:29 +0100 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/7615af456906 Merge Changeset: d0dbbdbb217f Author: mchung Date: 2013-04-17 15:04 -0700 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/d0dbbdbb217f 8011557: Improve reflection utility classes Reviewed-by: ahgross, alanb ! src/share/classes/java/lang/Class.java ! src/share/classes/java/lang/reflect/Proxy.java ! src/share/classes/sun/reflect/misc/ReflectUtil.java Changeset: 25b69fbfe80f Author: chegar Date: 2013-04-23 11:13 +0100 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/25b69fbfe80f Merge ! src/share/classes/java/util/logging/LogManager.java ! src/share/classes/sun/security/timestamp/TimestampToken.java Changeset: 3197c702c8d1 Author: bae Date: 2013-04-24 21:15 +0400 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/3197c702c8d1 8012438: Better image validation Reviewed-by: prr ! src/share/classes/java/awt/image/ComponentSampleModel.java ! src/share/classes/java/awt/image/PixelInterleavedSampleModel.java ! src/share/classes/java/awt/image/Raster.java ! src/share/classes/sun/awt/image/ByteBandedRaster.java ! src/share/classes/sun/awt/image/ByteComponentRaster.java ! src/share/classes/sun/awt/image/BytePackedRaster.java ! src/share/classes/sun/awt/image/IntegerComponentRaster.java ! src/share/classes/sun/awt/image/ShortBandedRaster.java ! src/share/classes/sun/awt/image/ShortComponentRaster.java ! src/share/native/sun/awt/medialib/awt_ImagingLib.c Changeset: 256ebcf1317b Author: chegar Date: 2013-04-28 09:35 +0100 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/256ebcf1317b Merge ! src/macosx/classes/sun/java2d/opengl/CGLLayer.java ! src/macosx/classes/sun/lwawt/LWWindowPeer.java ! src/macosx/classes/sun/lwawt/macosx/CPlatformResponder.java ! src/macosx/classes/sun/lwawt/macosx/CPlatformView.java ! src/macosx/classes/sun/lwawt/macosx/CPlatformWindow.java ! src/share/classes/sun/awt/SunToolkit.java - src/share/classes/sun/java2d/cmm/lcms/META-INF/services/sun.java2d.cmm.PCMM ! src/solaris/classes/sun/awt/X11/XDecoratedPeer.java ! src/solaris/classes/sun/awt/X11/XIconWindow.java ! src/solaris/classes/sun/awt/X11/XNETProtocol.java ! src/solaris/classes/sun/awt/X11/XWM.java ! src/solaris/classes/sun/awt/X11/XWindowPeer.java Changeset: c3a08adee3ea Author: chegar Date: 2013-05-01 12:25 +0100 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/c3a08adee3ea Merge Changeset: f1c0e2da008c Author: chegar Date: 2013-05-08 11:22 +0100 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/f1c0e2da008c Merge ! src/macosx/classes/sun/lwawt/LWWindowPeer.java ! src/macosx/classes/sun/lwawt/macosx/CPlatformWindow.java - src/share/classes/java/beans/ReflectionUtils.java ! src/share/classes/java/lang/reflect/Proxy.java ! src/share/classes/java/nio/file/Files.java ! src/solaris/classes/sun/awt/X11/XWindowPeer.java - test/java/awt/Focus/OverrideRedirectWindowActivationTest/OverrideRedirectWindowActivationTest.java - test/java/io/Serializable/accessConstants/AccessConstants.java - test/java/nio/file/Files/walkFileTree/walk_file_tree.sh - test/sun/reflect/CallerSensitive/MethodFinder.java Changeset: b8102c2f6632 Author: chegar Date: 2013-05-16 11:47 +0100 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/b8102c2f6632 Merge Changeset: 60a2184a71f2 Author: chegar Date: 2013-05-23 12:58 +0100 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/60a2184a71f2 Merge - make/com/sun/script/Makefile - make/sun/org/Makefile - make/sun/org/mozilla/Makefile - make/sun/org/mozilla/javascript/Makefile ! src/macosx/classes/sun/lwawt/LWToolkit.java - src/share/classes/com/sun/script/javascript/ExternalScriptable.java - src/share/classes/com/sun/script/javascript/JSAdapter.java - src/share/classes/com/sun/script/javascript/JavaAdapter.java - src/share/classes/com/sun/script/javascript/META-INF/services/javax.script.ScriptEngineFactory - src/share/classes/com/sun/script/javascript/RhinoClassShutter.java - src/share/classes/com/sun/script/javascript/RhinoCompiledScript.java - src/share/classes/com/sun/script/javascript/RhinoScriptEngine.java - src/share/classes/com/sun/script/javascript/RhinoScriptEngineFactory.java - src/share/classes/com/sun/script/javascript/RhinoTopLevel.java - src/share/classes/com/sun/script/javascript/RhinoWrapFactory.java - src/share/classes/com/sun/script/util/BindingsBase.java - src/share/classes/com/sun/script/util/BindingsEntrySet.java - src/share/classes/com/sun/script/util/BindingsImpl.java - src/share/classes/com/sun/script/util/InterfaceImplementor.java - src/share/classes/com/sun/script/util/ScriptEngineFactoryBase.java ! src/share/classes/java/lang/reflect/Proxy.java ! src/share/classes/java/net/ServerSocket.java ! src/share/classes/java/net/Socket.java - src/share/classes/java/time/format/DateTimeFormatSymbols.java ! src/share/classes/java/util/logging/LogManager.java ! src/share/classes/java/util/zip/ZipFile.java ! src/share/classes/sun/net/httpserver/ServerImpl.java - src/share/classes/sun/nio/cs/ext/META-INF/services/java.nio.charset.spi.CharsetProvider - test/java/lang/Thread/StackTraces.java - test/java/time/tck/java/time/format/TCKDateTimeFormatSymbols.java - test/java/time/test/java/time/format/TestDateTimeFormatSymbols.java - test/java/util/logging/bundlesearch/LoadItUp.java - test/sun/security/provider/certpath/X509CertPath/ForwardBuildCompromised.java - test/sun/security/provider/certpath/X509CertPath/ReverseBuildCompromised.java - test/sun/security/provider/certpath/X509CertPath/ValidateCompromised.java Changeset: aa559d55fc4a Author: chegar Date: 2013-05-31 10:34 +0100 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/aa559d55fc4a Merge Changeset: 405cd7338069 Author: chegar Date: 2013-06-10 10:38 +0100 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/405cd7338069 Merge ! src/macosx/classes/sun/lwawt/macosx/CPlatformWindow.java ! src/share/classes/java/lang/Class.java ! src/share/classes/java/nio/file/Files.java ! src/share/classes/java/security/AccessControlContext.java ! src/share/classes/java/security/AccessController.java ! src/share/classes/java/util/zip/ZipFile.java - src/share/classes/sun/misc/FDBigInt.java ! src/share/classes/sun/tools/jconsole/VMPanel.java ! src/share/classes/sun/tools/jconsole/resources/messages.properties ! src/share/lib/security/java.security-linux ! src/share/lib/security/java.security-macosx ! src/share/lib/security/java.security-solaris ! src/share/lib/security/java.security-windows ! src/share/native/sun/java2d/cmm/lcms/cmslut.c ! src/solaris/classes/sun/awt/X11/XWM.java ! src/solaris/native/sun/awt/awt_GraphicsEnv.c ! src/solaris/native/sun/awt/awt_GraphicsEnv.h ! src/solaris/native/sun/java2d/x11/X11SurfaceData.c ! src/solaris/native/sun/xawt/XlibWrapper.c ! src/windows/native/java/net/DualStackPlainDatagramSocketImpl.c ! src/windows/native/java/net/TwoStacksPlainDatagramSocketImpl.c - test/com/sun/jmx/remote/NotificationMarshalVersions/TestSerializationMismatch.sh - test/java/util/stream/test/org/openjdk/tests/java/util/stream/SpliteratorLateBindingFailFastTest.java - test/java/util/stream/test/org/openjdk/tests/java/util/stream/SpliteratorTraversingAndSplittingTest.java Changeset: cd0140e5bee5 Author: prr Date: 2013-04-25 16:49 -0700 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/cd0140e5bee5 8012421: Better positioning of PairPositioning Reviewed-by: srl, mschoene, vadim ! src/share/native/sun/font/layout/PairPositioningSubtables.cpp ! src/share/native/sun/font/layout/PairPositioningSubtables.h Changeset: 97149218a8ad Author: bae Date: 2013-04-26 11:46 +0400 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/97149218a8ad 8012601: Better validation of image layouts Reviewed-by: prr ! src/share/classes/java/awt/image/BufferedImage.java ! src/share/classes/sun/java2d/cmm/lcms/LCMSImageLayout.java Changeset: 40c65c6711ee Author: prr Date: 2013-04-26 15:06 -0700 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/40c65c6711ee 8012617: ArrayIndexOutOfBoundsException with some fonts using LineBreakMeasurer Reviewed-by: bae, srl ! src/share/classes/sun/font/ExtendedTextSourceLabel.java ! src/share/classes/sun/font/GlyphLayout.java ! src/share/native/sun/font/layout/ContextualSubstSubtables.cpp ! src/share/native/sun/font/layout/CursiveAttachmentSubtables.cpp ! src/share/native/sun/font/layout/ExtensionSubtables.cpp ! src/share/native/sun/font/layout/ExtensionSubtables.h ! src/share/native/sun/font/layout/GlyphPosnLookupProc.cpp ! src/share/native/sun/font/layout/GlyphSubstLookupProc.cpp ! src/share/native/sun/font/layout/LigatureSubstSubtables.cpp ! src/share/native/sun/font/layout/MarkToBasePosnSubtables.cpp ! src/share/native/sun/font/layout/MarkToLigaturePosnSubtables.cpp ! src/share/native/sun/font/layout/MarkToMarkPosnSubtables.cpp ! src/share/native/sun/font/layout/MultipleSubstSubtables.cpp ! src/share/native/sun/font/layout/PairPositioningSubtables.cpp ! src/share/native/sun/font/layout/SinglePositioningSubtables.cpp ! src/share/native/sun/font/layout/SingleSubstitutionSubtables.cpp ! src/share/native/sun/font/layout/SunLayoutEngine.cpp + test/java/awt/font/LineBreakMeasurer/AllFontsLBM.java Changeset: 30c8c83eeb70 Author: mullan Date: 2013-04-29 11:47 -0400 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/30c8c83eeb70 8009217: REGRESSION: test com/sun/org/apache/xml/internal/security/transforms/ClassLoaderTest.java fails to compile since 7u21b03 Reviewed-by: xuelei ! test/com/sun/org/apache/xml/internal/security/transforms/ClassLoaderTest.java ! test/com/sun/org/apache/xml/internal/security/transforms/MyTransform.java Changeset: 19af6fae7b98 Author: bae Date: 2013-04-30 04:41 +0400 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/19af6fae7b98 8012597: Better image channel verification Reviewed-by: vadim ! src/share/classes/java/awt/image/BufferedImage.java ! src/share/native/sun/awt/image/awt_parseImage.c ! src/share/native/sun/awt/medialib/awt_ImagingLib.c Changeset: 1b86ce92dc2f Author: alexsch Date: 2013-04-30 13:55 +0400 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/1b86ce92dc2f 8012330: [macosx] Sometimes the applet showing the modal dialog itself loses the ability to gain focus Reviewed-by: serb, ant ! src/macosx/classes/sun/lwawt/macosx/CEmbeddedFrame.java Changeset: d4c5b2792d55 Author: dfuchs Date: 2013-05-02 10:46 +0200 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/d4c5b2792d55 8012243: about 30% regression on specjvm2008.serial on 7u25 comparing 7u21 Reviewed-by: alanb, skoivu, smarks, mchung ! src/share/classes/java/io/ObjectStreamClass.java ! src/share/classes/java/io/ObjectStreamField.java Changeset: e898a9e1404b Author: mullan Date: 2013-05-02 11:42 -0400 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/e898a9e1404b 8008744: Rework part of fix for JDK-6741606 Reviewed-by: xuelei, ahgross + src/share/classes/com/sun/org/apache/xml/internal/security/algorithms/ClassLoaderUtils.java ! src/share/classes/com/sun/org/apache/xml/internal/security/algorithms/SignatureAlgorithm.java + src/share/classes/com/sun/org/apache/xml/internal/security/transforms/ClassLoaderUtils.java ! src/share/classes/com/sun/org/apache/xml/internal/security/transforms/Transform.java - src/share/classes/com/sun/org/apache/xml/internal/security/utils/ClassLoaderUtils.java Changeset: b3850bdca7f1 Author: leonidr Date: 2013-05-06 16:12 +0400 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/b3850bdca7f1 8012933: Test closed/java/awt/Dialog/DialogAnotherThread/JaWSTest.java fails since jdk 7u25 b07 Summary: Do not mark context as disposed until we've posted all the events Reviewed-by: art ! src/share/classes/sun/awt/AppContext.java + test/sun/awt/AppContext/8012933/Test8012933.java Changeset: fb7dc7c54145 Author: jfranck Date: 2013-05-07 13:23 +0200 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/fb7dc7c54145 8011139: (reflect) Revise checking in getEnclosingClass Reviewed-by: darcy, mchung, ahgross ! src/share/classes/java/lang/Class.java Changeset: cefd77938a6c Author: twisti Date: 2013-05-08 12:09 -0700 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/cefd77938a6c 8009424: Restrict publicLookup with additional checks Reviewed-by: vlivanov, jdn ! src/share/classes/java/lang/invoke/MethodHandles.java Changeset: 7f2fc413fb1d Author: coffeys Date: 2013-05-09 20:31 +0100 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/7f2fc413fb1d 8013196: TimeZone.getDefault() throws NPE due to sun.awt.AppContext.getAppContext() Reviewed-by: mchung, okutsu ! src/share/classes/sun/awt/AppContext.java ! src/share/classes/sun/misc/SharedSecrets.java Changeset: 3948bdc62c34 Author: mullan Date: 2013-05-13 17:50 -0400 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/3948bdc62c34 8010714: XML DSig API allows a RetrievalMethod to reference another RetrievalMethod Reviewed-by: xuelei, hawtin ! src/share/classes/com/sun/org/apache/xml/internal/security/keys/KeyInfo.java ! src/share/classes/com/sun/org/apache/xml/internal/security/signature/Manifest.java ! src/share/classes/com/sun/org/apache/xml/internal/security/signature/ObjectContainer.java ! src/share/classes/com/sun/org/apache/xml/internal/security/signature/Reference.java ! src/share/classes/com/sun/org/apache/xml/internal/security/signature/SignatureProperties.java ! src/share/classes/com/sun/org/apache/xml/internal/security/signature/SignatureProperty.java ! src/share/classes/com/sun/org/apache/xml/internal/security/signature/XMLSignature.java ! src/share/classes/com/sun/org/apache/xml/internal/security/signature/XMLSignatureInput.java ! src/share/classes/com/sun/org/apache/xml/internal/security/utils/ElementProxy.java ! src/share/classes/org/jcp/xml/dsig/internal/dom/ApacheNodeSetData.java ! src/share/classes/org/jcp/xml/dsig/internal/dom/DOMRetrievalMethod.java ! src/share/classes/org/jcp/xml/dsig/internal/dom/Utils.java ! test/com/sun/org/apache/xml/internal/security/TruncateHMAC.java Changeset: 5d342b420db0 Author: xuelei Date: 2013-05-14 05:55 -0700 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/5d342b420db0 8014281: Better checking of XML signature Summary: also reviewed by Andrew Gross and Christophe Ravel Reviewed-by: mullan ! src/share/classes/org/jcp/xml/dsig/internal/dom/DOMCanonicalizationMethod.java Changeset: c261596407b5 Author: bae Date: 2013-05-14 21:10 +0400 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/c261596407b5 8014427: REGRESSION: closed/javax/imageio/plugins/bmp/Write3ByteBgrTest.java fails since 7u25 b09 Reviewed-by: prr ! src/share/classes/java/awt/image/Raster.java Changeset: 392f03789497 Author: mchung Date: 2013-05-14 08:07 -0700 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/392f03789497 8010727: WLS fails to add a logger with "" in its own LogManager subclass instance Reviewed-by: alanb, jgish ! src/share/classes/java/util/logging/LogManager.java + test/java/util/logging/LogManagerInstanceTest.java Changeset: 8e07710dca9a Author: bae Date: 2013-05-17 16:14 +0400 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/8e07710dca9a 8014205: Most of the Swing dialogs are blank on one win7 MUI Reviewed-by: vadim ! src/share/classes/java/awt/image/BufferedImage.java Changeset: 1d8fe72d3c4e Author: leonidr Date: 2013-05-20 19:07 +0400 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/1d8fe72d3c4e 8014718: Netbeans IDE begins to throw a lot exceptions since 7u25 b10 Summary: Removed logging from SunToolkit Reviewed-by: art ! src/share/classes/java/awt/Toolkit.java ! src/share/classes/sun/awt/SunToolkit.java Changeset: 25baf6dc46a0 Author: chegar Date: 2013-05-22 13:57 +0100 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/25baf6dc46a0 8014737: java/lang/invoke/7196190/MHProxyTest.java fails after 8009424 Reviewed-by: twisti - test/java/lang/invoke/7196190/MHProxyTest.java Changeset: a4ea4234facf Author: chegar Date: 2013-06-14 16:38 +0100 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/a4ea4234facf 8012156: tools/javac/file/zip/T6865530.java fails for win32/64 in 7u25 nightly runs Reviewed-by: alanb ! src/share/classes/sun/misc/URLClassPath.java Changeset: 7d56b8a92f52 Author: chegar Date: 2013-06-17 11:26 +0100 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/7d56b8a92f52 Merge ! make/sun/awt/Makefile ! src/macosx/classes/sun/lwawt/macosx/LWCToolkit.java ! src/macosx/native/sun/awt/LWCToolkit.m ! src/share/classes/java/awt/EventQueue.java ! src/share/classes/java/lang/invoke/MethodHandles.java ! src/share/classes/java/net/ServerSocket.java ! src/share/classes/java/net/Socket.java ! src/share/classes/java/nio/channels/AsynchronousServerSocketChannel.java ! src/share/classes/java/nio/channels/SocketChannel.java ! src/share/classes/java/security/KeyStore.java - src/share/classes/sun/misc/Hashing.java - src/solaris/classes/sun/awt/fontconfigs/linux.fontconfig.Fedora.properties - src/solaris/classes/sun/awt/fontconfigs/linux.fontconfig.SuSE.properties - src/solaris/classes/sun/awt/fontconfigs/linux.fontconfig.Ubuntu.properties - src/solaris/classes/sun/awt/fontconfigs/linux.fontconfig.properties ! src/solaris/native/sun/xawt/XlibWrapper.c - test/sun/misc/Hashing.java Changeset: e3b075b8f21f Author: chegar Date: 2013-06-17 14:23 +0100 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/e3b075b8f21f Merge ! src/macosx/classes/sun/lwawt/LWWindowPeer.java ! src/macosx/classes/sun/lwawt/macosx/CPlatformWindow.java ! src/share/classes/java/awt/EventQueue.java ! src/share/classes/java/awt/Toolkit.java ! src/share/classes/sun/awt/SunToolkit.java ! src/share/classes/sun/net/ftp/impl/FtpClient.java ! src/solaris/classes/sun/awt/X11/XDecoratedPeer.java ! src/solaris/classes/sun/awt/X11/XIconWindow.java ! src/solaris/classes/sun/awt/X11/XNETProtocol.java ! src/solaris/classes/sun/awt/X11/XWM.java ! src/solaris/classes/sun/awt/X11/XWindowPeer.java Changeset: c31fa946605c Author: chegar Date: 2013-06-18 09:39 +0100 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/c31fa946605c Merge ! src/share/classes/java/lang/Class.java Changeset: 403e63195af5 Author: chegar Date: 2013-06-18 16:08 +0100 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/403e63195af5 Merge From chris.hegarty at oracle.com Tue Jun 18 12:52:58 2013 From: chris.hegarty at oracle.com (chris.hegarty at oracle.com) Date: Tue, 18 Jun 2013 19:52:58 +0000 Subject: hg: jdk8/tl/nashorn: 9 new changesets Message-ID: <20130618195304.A3AE0482D1@hg.openjdk.java.net> Changeset: af8a98ea83d4 Author: chegar Date: 2013-04-24 11:03 +0100 URL: http://hg.openjdk.java.net/jdk8/tl/nashorn/rev/af8a98ea83d4 Merge Changeset: 2237e2ff3685 Author: chegar Date: 2013-04-28 08:16 +0100 URL: http://hg.openjdk.java.net/jdk8/tl/nashorn/rev/2237e2ff3685 Merge Changeset: 2a377892c255 Author: chegar Date: 2013-05-08 10:21 +0100 URL: http://hg.openjdk.java.net/jdk8/tl/nashorn/rev/2a377892c255 Merge Changeset: d8ae3d87ca26 Author: chegar Date: 2013-05-16 11:42 +0100 URL: http://hg.openjdk.java.net/jdk8/tl/nashorn/rev/d8ae3d87ca26 Merge Changeset: d3076aecc567 Author: chegar Date: 2013-05-23 12:50 +0100 URL: http://hg.openjdk.java.net/jdk8/tl/nashorn/rev/d3076aecc567 Merge - src/jdk/nashorn/internal/ir/LineNumberNode.java - src/jdk/nashorn/internal/ir/Location.java - src/jdk/nashorn/internal/runtime/SpillProperty.java - test/script/trusted/logcoverage.js Changeset: ded7168cb008 Author: chegar Date: 2013-05-31 10:28 +0100 URL: http://hg.openjdk.java.net/jdk8/tl/nashorn/rev/ded7168cb008 Merge Changeset: 2b61f82350de Author: chegar Date: 2013-06-10 09:53 +0100 URL: http://hg.openjdk.java.net/jdk8/tl/nashorn/rev/2b61f82350de Merge - src/jdk/nashorn/internal/objects/DateParser.java - src/jdk/nashorn/internal/runtime/options/ValueOption.java - src/jdk/nashorn/internal/runtime/regexp/DefaultRegExp.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/CaptureTreeNode.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/UnsetAddrList.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/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/Reduce.java - src/jdk/nashorn/internal/runtime/regexp/joni/encoding/AsciiTables.java - src/jdk/nashorn/internal/runtime/regexp/joni/encoding/PosixBracket.java - src/jdk/nashorn/internal/runtime/regexp/joni/encoding/Ptr.java - src/netscape/javascript/JSObject.java Changeset: 12f1d8d74375 Author: chegar Date: 2013-06-17 11:27 +0100 URL: http://hg.openjdk.java.net/jdk8/tl/nashorn/rev/12f1d8d74375 Merge Changeset: fbcd5c26937a Author: chegar Date: 2013-06-18 16:06 +0100 URL: http://hg.openjdk.java.net/jdk8/tl/nashorn/rev/fbcd5c26937a Merge From chris.hegarty at oracle.com Tue Jun 18 12:52:03 2013 From: chris.hegarty at oracle.com (chris.hegarty at oracle.com) Date: Tue, 18 Jun 2013 19:52:03 +0000 Subject: hg: jdk8/tl/langtools: 14 new changesets Message-ID: <20130618195241.905BE482CF@hg.openjdk.java.net> Changeset: 4d4818b6df72 Author: chegar Date: 2013-04-24 11:03 +0100 URL: http://hg.openjdk.java.net/jdk8/tl/langtools/rev/4d4818b6df72 Merge Changeset: 27cda5134748 Author: chegar Date: 2013-04-28 08:16 +0100 URL: http://hg.openjdk.java.net/jdk8/tl/langtools/rev/27cda5134748 Merge Changeset: c7c6bfe7fc1f Author: bpatel Date: 2013-05-03 08:52 -0700 URL: http://hg.openjdk.java.net/jdk8/tl/langtools/rev/c7c6bfe7fc1f 8012375: Improve Javadoc framing Reviewed-by: mduigou, jlaskey ! src/share/classes/com/sun/tools/doclets/formats/html/markup/HtmlWriter.java ! test/com/sun/javadoc/testJavascript/TestJavascript.java Changeset: 8074ccd57d89 Author: chegar Date: 2013-05-08 10:27 +0100 URL: http://hg.openjdk.java.net/jdk8/tl/langtools/rev/8074ccd57d89 Merge Changeset: 9d7d36e6927c Author: chegar Date: 2013-05-08 10:28 +0100 URL: http://hg.openjdk.java.net/jdk8/tl/langtools/rev/9d7d36e6927c Merge Changeset: 7ee1fd365cdd Author: chegar Date: 2013-05-16 11:42 +0100 URL: http://hg.openjdk.java.net/jdk8/tl/langtools/rev/7ee1fd365cdd Merge Changeset: f1b90ea7d402 Author: chegar Date: 2013-05-23 12:50 +0100 URL: http://hg.openjdk.java.net/jdk8/tl/langtools/rev/f1b90ea7d402 Merge - src/share/classes/com/sun/tools/doclets/formats/html/TagletOutputImpl.java ! src/share/classes/com/sun/tools/doclets/formats/html/markup/HtmlWriter.java - src/share/classes/com/sun/tools/doclets/internal/toolkit/taglets/ExpertTaglet.java - src/share/classes/com/sun/tools/doclets/internal/toolkit/taglets/TagletOutput.java - src/share/classes/javax/tools/annotation/GenerateNativeHeader.java - test/tools/javac/nativeHeaders/javahComparison/TestClass2.java - test/tools/javac/nativeHeaders/javahComparison/TestClass3.java Changeset: 76d08c649607 Author: chegar Date: 2013-05-31 10:28 +0100 URL: http://hg.openjdk.java.net/jdk8/tl/langtools/rev/76d08c649607 Merge Changeset: 536cad596942 Author: bpatel Date: 2013-06-07 16:12 -0700 URL: http://hg.openjdk.java.net/jdk8/tl/langtools/rev/536cad596942 8015997: Additional improvement in Javadoc framing Reviewed-by: jjg ! src/share/classes/com/sun/tools/doclets/formats/html/markup/HtmlWriter.java ! test/com/sun/javadoc/testJavascript/TestJavascript.java Changeset: da8d0ee0938e Author: chegar Date: 2013-06-10 09:52 +0100 URL: http://hg.openjdk.java.net/jdk8/tl/langtools/rev/da8d0ee0938e Merge - test/tools/javac/HiddenAbstractMethod/Test - test/tools/javac/NonAmbiguousField/Test Changeset: cc89c8333127 Author: chegar Date: 2013-06-11 09:25 +0100 URL: http://hg.openjdk.java.net/jdk8/tl/langtools/rev/cc89c8333127 Merge Changeset: 31e1151ef3cc Author: chegar Date: 2013-06-17 11:27 +0100 URL: http://hg.openjdk.java.net/jdk8/tl/langtools/rev/31e1151ef3cc Merge Changeset: db6bf740a578 Author: chegar Date: 2013-06-18 09:36 +0100 URL: http://hg.openjdk.java.net/jdk8/tl/langtools/rev/db6bf740a578 Merge Changeset: 64f511787fd9 Author: chegar Date: 2013-06-18 20:08 +0100 URL: http://hg.openjdk.java.net/jdk8/tl/langtools/rev/64f511787fd9 Merge From mike.duigou at oracle.com Tue Jun 18 14:12:03 2013 From: mike.duigou at oracle.com (mike.duigou at oracle.com) Date: Tue, 18 Jun 2013 21:12:03 +0000 Subject: hg: jdk8/tl/jdk: 2 new changesets Message-ID: <20130618211227.83556482D7@hg.openjdk.java.net> Changeset: ba544aab1fcd Author: bpb Date: 2013-06-18 11:36 -0700 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/ba544aab1fcd 8015395: NumberFormatException during startup if JDK-internal property java.lang.Integer.IntegerCache.high set to bad value Summary: Fall back to default if a bad value is passed for this property. Reviewed-by: mduigou ! src/share/classes/java/lang/Integer.java Changeset: eb1a3c50a2a9 Author: mduigou Date: 2013-06-18 14:11 -0700 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/eb1a3c50a2a9 Merge From mike.duigou at oracle.com Tue Jun 18 16:06:05 2013 From: mike.duigou at oracle.com (mike.duigou at oracle.com) Date: Tue, 18 Jun 2013 23:06:05 +0000 Subject: hg: jdk8/tl/jdk: 8016446: Improve forEach/replaceAll for Map, HashMap, Hashtable, IdentityHashMap, WeakHashMap, TreeMap, ConcurrentMap Message-ID: <20130618230619.01903482F0@hg.openjdk.java.net> Changeset: 1f7cbe4829fe Author: mduigou Date: 2013-06-18 16:03 -0700 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/1f7cbe4829fe 8016446: Improve forEach/replaceAll for Map, HashMap, Hashtable, IdentityHashMap, WeakHashMap, TreeMap, ConcurrentMap Reviewed-by: forax, mduigou, psandoz Contributed-by: Mike Duigou , Remi Forax ! src/share/classes/java/util/HashMap.java ! src/share/classes/java/util/Hashtable.java ! src/share/classes/java/util/IdentityHashMap.java ! src/share/classes/java/util/LinkedHashMap.java ! src/share/classes/java/util/Map.java ! src/share/classes/java/util/TreeMap.java ! src/share/classes/java/util/WeakHashMap.java ! src/share/classes/java/util/concurrent/ConcurrentMap.java ! test/java/util/Map/Defaults.java From stuart.marks at oracle.com Tue Jun 18 17:15:12 2013 From: stuart.marks at oracle.com (stuart.marks at oracle.com) Date: Wed, 19 Jun 2013 00:15:12 +0000 Subject: hg: jdk8/tl: 8016780: README-builds.html misses crucial requirement on bootstrap JDK Message-ID: <20130619001512.4C069482F5@hg.openjdk.java.net> Changeset: b9587f41fd55 Author: smarks Date: 2013-06-18 17:18 -0700 URL: http://hg.openjdk.java.net/jdk8/tl/rev/b9587f41fd55 8016780: README-builds.html misses crucial requirement on bootstrap JDK Reviewed-by: dholmes, chegar ! README-builds.html From david.holmes at oracle.com Tue Jun 18 17:59:10 2013 From: david.holmes at oracle.com (David Holmes) Date: Wed, 19 Jun 2013 10:59:10 +1000 Subject: Review request for JDK-8015668 : overload resolution: performance regression in JDK 7 In-Reply-To: <51C0346C.1020108@oracle.com> References: <51C0346C.1020108@oracle.com> Message-ID: <51C1025E.80503@oracle.com> Hi Vicente, On 18/06/2013 8:20 PM, Vicente-Arturo Romero-Zaldivar wrote: > Hello, > > Please review this patch. It solves a performance regression in javac > for 7u-dev repo. > > The regression has been detected for a class that declares methods with > a lot of parameters (1..254). > > The proposed solution modifies a data structure used to store wrong > method candidates for a given argument / type list. The mentioned data > structure was a com.sun.tools.javac.util.List and now is a java.util.Set. This seems a little odd semantically looking at some of the code. In particular getName previously used the first/head element in the list: Symbol sym = candidates.head.sym; where now you use an arbitrary name from the set: Symbol sym = candidates.iterator().next().sym; Is there a reason not to use LinkedList or ArrayList for this so you can use getFirst()? David ----- > Also a new field has been added to MethodType in > com.sun.tools.javac.code.Type this field stores the number of arguments > so equal comparison between methods can now be done faster for evident > cases. > > The webrev is here: > http://cr.openjdk.java.net/~vromero/8015668_JDK7/webrev.00/ > > The bug report is here: > http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=8015668 > > Thanks, > Vicente From xuelei.fan at oracle.com Tue Jun 18 18:51:28 2013 From: xuelei.fan at oracle.com (xuelei.fan at oracle.com) Date: Wed, 19 Jun 2013 01:51:28 +0000 Subject: hg: jdk8/tl/jdk: 8000456: Add programmatic deadlock detection in SSLEngineDeadlock Message-ID: <20130619015140.2BA02482FC@hg.openjdk.java.net> Changeset: 2d9da733014f Author: xuelei Date: 2013-06-18 18:50 -0700 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/2d9da733014f 8000456: Add programmatic deadlock detection in SSLEngineDeadlock Reviewed-by: wetmore ! test/sun/security/ssl/com/sun/net/ssl/internal/ssl/SSLEngineImpl/SSLEngineDeadlock.java From jonathan.gibbons at oracle.com Tue Jun 18 19:02:14 2013 From: jonathan.gibbons at oracle.com (Jonathan Gibbons) Date: Tue, 18 Jun 2013 19:02:14 -0700 Subject: Review request for JDK-8015668 : overload resolution: performance regression in JDK 7 In-Reply-To: <51C1025E.80503@oracle.com> References: <51C0346C.1020108@oracle.com> <51C1025E.80503@oracle.com> Message-ID: <51C11126.4010902@oracle.com> On 06/18/2013 05:59 PM, David Holmes wrote: > Hi Vicente, > > On 18/06/2013 8:20 PM, Vicente-Arturo Romero-Zaldivar wrote: >> Hello, >> >> Please review this patch. It solves a performance regression in javac >> for 7u-dev repo. >> >> The regression has been detected for a class that declares methods with >> a lot of parameters (1..254). >> >> The proposed solution modifies a data structure used to store wrong >> method candidates for a given argument / type list. The mentioned data >> structure was a com.sun.tools.javac.util.List and now is a >> java.util.Set. > > This seems a little odd semantically looking at some of the code. In > particular getName previously used the first/head element in the list: > > Symbol sym = candidates.head.sym; > > where now you use an arbitrary name from the set: > > Symbol sym = candidates.iterator().next().sym; > > Is there a reason not to use LinkedList or ArrayList for this so you > can use getFirst()? > > David > ----- > David, We want to use a Set for perf reasons, but we use a LinkedHashSet to address the problem you raise, so the semantics should be unchanged. -- Jon > >> Also a new field has been added to MethodType in >> com.sun.tools.javac.code.Type this field stores the number of arguments >> so equal comparison between methods can now be done faster for evident >> cases. >> >> The webrev is here: >> http://cr.openjdk.java.net/~vromero/8015668_JDK7/webrev.00/ >> >> The bug report is here: >> http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=8015668 >> >> Thanks, >> Vicente From michael.fang at oracle.com Tue Jun 18 21:39:43 2013 From: michael.fang at oracle.com (michael.fang at oracle.com) Date: Wed, 19 Jun 2013 04:39:43 +0000 Subject: hg: jdk8/tl/langtools: 8015657: jdk8 l10n resource file translation update 3 Message-ID: <20130619043946.7B0CA48312@hg.openjdk.java.net> Changeset: 792c40d5185a Author: mfang Date: 2013-06-18 20:56 -0700 URL: http://hg.openjdk.java.net/jdk8/tl/langtools/rev/792c40d5185a 8015657: jdk8 l10n resource file translation update 3 Reviewed-by: yhuang ! src/share/classes/com/sun/tools/doclets/formats/html/resources/standard_ja.properties ! src/share/classes/com/sun/tools/doclets/formats/html/resources/standard_zh_CN.properties ! src/share/classes/com/sun/tools/doclets/internal/toolkit/resources/doclets_ja.properties ! src/share/classes/com/sun/tools/doclets/internal/toolkit/resources/doclets_zh_CN.properties + src/share/classes/com/sun/tools/doclint/resources/doclint_ja.properties + src/share/classes/com/sun/tools/doclint/resources/doclint_zh_CN.properties ! src/share/classes/com/sun/tools/javac/resources/compiler_ja.properties ! src/share/classes/com/sun/tools/javac/resources/compiler_zh_CN.properties ! src/share/classes/com/sun/tools/javac/resources/javac_ja.properties ! src/share/classes/com/sun/tools/javac/resources/javac_zh_CN.properties ! src/share/classes/com/sun/tools/javadoc/resources/javadoc_ja.properties + src/share/classes/com/sun/tools/javap/resources/javap_ja.properties + src/share/classes/com/sun/tools/javap/resources/javap_zh_CN.properties + src/share/classes/com/sun/tools/jdeps/resources/jdeps_ja.properties + src/share/classes/com/sun/tools/jdeps/resources/jdeps_zh_CN.properties From michael.fang at oracle.com Tue Jun 18 21:39:06 2013 From: michael.fang at oracle.com (michael.fang at oracle.com) Date: Wed, 19 Jun 2013 04:39:06 +0000 Subject: hg: jdk8/tl/jdk: 8015657: jdk8 l10n resource file translation update 3 Message-ID: <20130619043918.2637048311@hg.openjdk.java.net> Changeset: d82773b770ce Author: mfang Date: 2013-06-18 21:08 -0700 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/d82773b770ce 8015657: jdk8 l10n resource file translation update 3 Reviewed-by: yhuang ! src/macosx/classes/com/apple/laf/resources/aqua_pt_BR.properties ! src/share/classes/com/sun/accessibility/internal/resources/accessibility_ja.properties ! src/share/classes/com/sun/accessibility/internal/resources/accessibility_ko.properties ! src/share/classes/com/sun/accessibility/internal/resources/accessibility_pt_BR.properties ! src/share/classes/com/sun/accessibility/internal/resources/accessibility_sv.properties ! src/share/classes/com/sun/java/swing/plaf/gtk/resources/gtk_de.properties ! src/share/classes/com/sun/rowset/RowSetResourceBundle_zh_CN.properties ! src/share/classes/com/sun/rowset/RowSetResourceBundle_zh_TW.properties ! src/share/classes/com/sun/swing/internal/plaf/basic/resources/basic_pt_BR.properties ! src/share/classes/com/sun/tools/example/debug/tty/TTYResources_zh_CN.java ! src/share/classes/sun/applet/resources/MsgAppletViewer_zh_CN.java ! src/share/classes/sun/applet/resources/MsgAppletViewer_zh_TW.java ! src/share/classes/sun/launcher/resources/launcher_de.properties ! src/share/classes/sun/launcher/resources/launcher_es.properties ! src/share/classes/sun/launcher/resources/launcher_fr.properties ! src/share/classes/sun/launcher/resources/launcher_it.properties ! src/share/classes/sun/launcher/resources/launcher_ja.properties ! src/share/classes/sun/launcher/resources/launcher_ko.properties ! src/share/classes/sun/launcher/resources/launcher_pt_BR.properties ! src/share/classes/sun/launcher/resources/launcher_sv.properties ! src/share/classes/sun/launcher/resources/launcher_zh_CN.properties ! src/share/classes/sun/launcher/resources/launcher_zh_TW.properties ! src/share/classes/sun/security/util/AuthResources_zh_CN.java ! src/share/classes/sun/security/util/Resources_de.java ! src/share/classes/sun/security/util/Resources_es.java ! src/share/classes/sun/security/util/Resources_fr.java ! src/share/classes/sun/security/util/Resources_it.java ! src/share/classes/sun/security/util/Resources_ja.java ! src/share/classes/sun/security/util/Resources_ko.java ! src/share/classes/sun/security/util/Resources_pt_BR.java ! src/share/classes/sun/security/util/Resources_sv.java ! src/share/classes/sun/security/util/Resources_zh_CN.java ! src/share/classes/sun/security/util/Resources_zh_TW.java ! src/share/classes/sun/tools/jar/resources/jar_de.properties ! src/share/classes/sun/tools/jar/resources/jar_es.properties ! src/share/classes/sun/tools/jar/resources/jar_fr.properties ! src/share/classes/sun/tools/jar/resources/jar_it.properties ! src/share/classes/sun/tools/jar/resources/jar_ja.properties ! src/share/classes/sun/tools/jar/resources/jar_ko.properties ! src/share/classes/sun/tools/jar/resources/jar_pt_BR.properties ! src/share/classes/sun/tools/jar/resources/jar_sv.properties ! src/share/classes/sun/tools/jar/resources/jar_zh_CN.properties ! src/share/classes/sun/tools/jar/resources/jar_zh_TW.properties ! src/share/classes/sun/tools/serialver/serialver_zh_CN.properties ! src/share/classes/sun/util/logging/resources/logging_de.properties ! src/share/classes/sun/util/logging/resources/logging_es.properties ! src/share/classes/sun/util/logging/resources/logging_fr.properties ! src/share/classes/sun/util/logging/resources/logging_it.properties ! src/share/classes/sun/util/logging/resources/logging_ja.properties ! src/share/classes/sun/util/logging/resources/logging_ko.properties ! src/share/classes/sun/util/logging/resources/logging_pt_BR.properties ! src/share/classes/sun/util/logging/resources/logging_sv.properties ! src/share/classes/sun/util/logging/resources/logging_zh_CN.properties ! src/share/classes/sun/util/logging/resources/logging_zh_TW.properties From michael.fang at oracle.com Tue Jun 18 21:37:06 2013 From: michael.fang at oracle.com (michael.fang at oracle.com) Date: Wed, 19 Jun 2013 04:37:06 +0000 Subject: hg: jdk8/tl/corba: 8015657: jdk8 l10n resource file translation update 3 Message-ID: <20130619043707.9B3D14830F@hg.openjdk.java.net> Changeset: d406edd4f6fd Author: mfang Date: 2013-06-18 20:52 -0700 URL: http://hg.openjdk.java.net/jdk8/tl/corba/rev/d406edd4f6fd 8015657: jdk8 l10n resource file translation update 3 Reviewed-by: yhuang ! src/share/classes/com/sun/corba/se/impl/orbutil/resources/sunorb_ko.properties ! src/share/classes/com/sun/tools/corba/se/idl/idl_zh_CN.prp ! src/share/classes/com/sun/tools/corba/se/idl/toJavaPortable/toJavaPortable_ja.prp From michael.fang at oracle.com Tue Jun 18 22:52:53 2013 From: michael.fang at oracle.com (michael.fang at oracle.com) Date: Wed, 19 Jun 2013 05:52:53 +0000 Subject: hg: jdk8/tl/jaxp: 8016824: jdk8 l10n resource file translation update 3 - jaxp Message-ID: <20130619055257.A102848313@hg.openjdk.java.net> Changeset: 21d9cbbb7bf3 Author: mfang Date: 2013-06-18 22:52 -0700 URL: http://hg.openjdk.java.net/jdk8/tl/jaxp/rev/21d9cbbb7bf3 8016824: jdk8 l10n resource file translation update 3 - jaxp Reviewed-by: joehw ! src/com/sun/org/apache/xerces/internal/impl/msg/DOMMessages_de.properties ! src/com/sun/org/apache/xerces/internal/impl/msg/DOMMessages_es.properties ! src/com/sun/org/apache/xerces/internal/impl/msg/DOMMessages_fr.properties ! src/com/sun/org/apache/xerces/internal/impl/msg/DOMMessages_it.properties ! src/com/sun/org/apache/xerces/internal/impl/msg/DOMMessages_ja.properties ! src/com/sun/org/apache/xerces/internal/impl/msg/DOMMessages_ko.properties ! src/com/sun/org/apache/xerces/internal/impl/msg/DOMMessages_pt_BR.properties ! src/com/sun/org/apache/xerces/internal/impl/msg/DOMMessages_sv.properties ! src/com/sun/org/apache/xerces/internal/impl/msg/DOMMessages_zh_CN.properties ! src/com/sun/org/apache/xerces/internal/impl/msg/DOMMessages_zh_TW.properties ! src/com/sun/org/apache/xerces/internal/impl/msg/DatatypeMessages_de.properties ! src/com/sun/org/apache/xerces/internal/impl/msg/DatatypeMessages_es.properties ! src/com/sun/org/apache/xerces/internal/impl/msg/DatatypeMessages_fr.properties ! src/com/sun/org/apache/xerces/internal/impl/msg/DatatypeMessages_it.properties ! src/com/sun/org/apache/xerces/internal/impl/msg/DatatypeMessages_ja.properties ! src/com/sun/org/apache/xerces/internal/impl/msg/DatatypeMessages_ko.properties ! src/com/sun/org/apache/xerces/internal/impl/msg/DatatypeMessages_pt_BR.properties ! src/com/sun/org/apache/xerces/internal/impl/msg/DatatypeMessages_sv.properties ! src/com/sun/org/apache/xerces/internal/impl/msg/DatatypeMessages_zh_CN.properties ! src/com/sun/org/apache/xerces/internal/impl/msg/DatatypeMessages_zh_TW.properties ! src/com/sun/org/apache/xerces/internal/impl/msg/JAXPValidationMessages_de.properties ! src/com/sun/org/apache/xerces/internal/impl/msg/JAXPValidationMessages_es.properties ! src/com/sun/org/apache/xerces/internal/impl/msg/JAXPValidationMessages_fr.properties ! src/com/sun/org/apache/xerces/internal/impl/msg/JAXPValidationMessages_it.properties ! src/com/sun/org/apache/xerces/internal/impl/msg/JAXPValidationMessages_ja.properties ! src/com/sun/org/apache/xerces/internal/impl/msg/JAXPValidationMessages_ko.properties ! src/com/sun/org/apache/xerces/internal/impl/msg/JAXPValidationMessages_pt_BR.properties ! src/com/sun/org/apache/xerces/internal/impl/msg/JAXPValidationMessages_sv.properties ! src/com/sun/org/apache/xerces/internal/impl/msg/JAXPValidationMessages_zh_CN.properties ! src/com/sun/org/apache/xerces/internal/impl/msg/JAXPValidationMessages_zh_TW.properties ! src/com/sun/org/apache/xerces/internal/impl/msg/SAXMessages_de.properties ! src/com/sun/org/apache/xerces/internal/impl/msg/SAXMessages_es.properties ! src/com/sun/org/apache/xerces/internal/impl/msg/SAXMessages_fr.properties ! src/com/sun/org/apache/xerces/internal/impl/msg/SAXMessages_it.properties ! src/com/sun/org/apache/xerces/internal/impl/msg/SAXMessages_ja.properties ! src/com/sun/org/apache/xerces/internal/impl/msg/SAXMessages_ko.properties ! src/com/sun/org/apache/xerces/internal/impl/msg/SAXMessages_pt_BR.properties ! src/com/sun/org/apache/xerces/internal/impl/msg/SAXMessages_sv.properties ! src/com/sun/org/apache/xerces/internal/impl/msg/SAXMessages_zh_CN.properties ! src/com/sun/org/apache/xerces/internal/impl/msg/SAXMessages_zh_TW.properties ! src/com/sun/org/apache/xerces/internal/impl/msg/XIncludeMessages_de.properties ! src/com/sun/org/apache/xerces/internal/impl/msg/XIncludeMessages_es.properties ! src/com/sun/org/apache/xerces/internal/impl/msg/XIncludeMessages_fr.properties ! src/com/sun/org/apache/xerces/internal/impl/msg/XIncludeMessages_it.properties ! src/com/sun/org/apache/xerces/internal/impl/msg/XIncludeMessages_ja.properties ! src/com/sun/org/apache/xerces/internal/impl/msg/XIncludeMessages_ko.properties ! src/com/sun/org/apache/xerces/internal/impl/msg/XIncludeMessages_pt_BR.properties ! src/com/sun/org/apache/xerces/internal/impl/msg/XIncludeMessages_sv.properties ! src/com/sun/org/apache/xerces/internal/impl/msg/XIncludeMessages_zh_CN.properties ! src/com/sun/org/apache/xerces/internal/impl/msg/XIncludeMessages_zh_TW.properties ! src/com/sun/org/apache/xerces/internal/impl/msg/XMLMessages_de.properties ! src/com/sun/org/apache/xerces/internal/impl/msg/XMLMessages_es.properties ! src/com/sun/org/apache/xerces/internal/impl/msg/XMLMessages_fr.properties ! src/com/sun/org/apache/xerces/internal/impl/msg/XMLMessages_it.properties ! src/com/sun/org/apache/xerces/internal/impl/msg/XMLMessages_ja.properties ! src/com/sun/org/apache/xerces/internal/impl/msg/XMLMessages_ko.properties ! src/com/sun/org/apache/xerces/internal/impl/msg/XMLMessages_pt_BR.properties ! src/com/sun/org/apache/xerces/internal/impl/msg/XMLMessages_sv.properties ! src/com/sun/org/apache/xerces/internal/impl/msg/XMLMessages_zh_CN.properties ! src/com/sun/org/apache/xerces/internal/impl/msg/XMLMessages_zh_TW.properties ! src/com/sun/org/apache/xerces/internal/impl/msg/XMLSchemaMessages_de.properties ! src/com/sun/org/apache/xerces/internal/impl/msg/XMLSchemaMessages_es.properties ! src/com/sun/org/apache/xerces/internal/impl/msg/XMLSchemaMessages_fr.properties ! src/com/sun/org/apache/xerces/internal/impl/msg/XMLSchemaMessages_it.properties ! src/com/sun/org/apache/xerces/internal/impl/msg/XMLSchemaMessages_ja.properties ! src/com/sun/org/apache/xerces/internal/impl/msg/XMLSchemaMessages_ko.properties ! src/com/sun/org/apache/xerces/internal/impl/msg/XMLSchemaMessages_pt_BR.properties ! src/com/sun/org/apache/xerces/internal/impl/msg/XMLSchemaMessages_sv.properties ! src/com/sun/org/apache/xerces/internal/impl/msg/XMLSchemaMessages_zh_CN.properties ! src/com/sun/org/apache/xerces/internal/impl/msg/XMLSchemaMessages_zh_TW.properties ! src/com/sun/org/apache/xerces/internal/impl/msg/XMLSerializerMessages_de.properties ! src/com/sun/org/apache/xerces/internal/impl/msg/XMLSerializerMessages_es.properties ! src/com/sun/org/apache/xerces/internal/impl/msg/XMLSerializerMessages_fr.properties ! src/com/sun/org/apache/xerces/internal/impl/msg/XMLSerializerMessages_it.properties ! src/com/sun/org/apache/xerces/internal/impl/msg/XMLSerializerMessages_ja.properties ! src/com/sun/org/apache/xerces/internal/impl/msg/XMLSerializerMessages_ko.properties ! src/com/sun/org/apache/xerces/internal/impl/msg/XMLSerializerMessages_pt_BR.properties ! src/com/sun/org/apache/xerces/internal/impl/msg/XMLSerializerMessages_sv.properties ! src/com/sun/org/apache/xerces/internal/impl/msg/XMLSerializerMessages_zh_CN.properties ! src/com/sun/org/apache/xerces/internal/impl/msg/XMLSerializerMessages_zh_TW.properties ! src/com/sun/org/apache/xerces/internal/impl/msg/XPointerMessages_de.properties ! src/com/sun/org/apache/xerces/internal/impl/msg/XPointerMessages_es.properties ! src/com/sun/org/apache/xerces/internal/impl/msg/XPointerMessages_fr.properties ! src/com/sun/org/apache/xerces/internal/impl/msg/XPointerMessages_it.properties ! src/com/sun/org/apache/xerces/internal/impl/msg/XPointerMessages_ja.properties ! src/com/sun/org/apache/xerces/internal/impl/msg/XPointerMessages_ko.properties ! src/com/sun/org/apache/xerces/internal/impl/msg/XPointerMessages_pt_BR.properties ! src/com/sun/org/apache/xerces/internal/impl/msg/XPointerMessages_sv.properties ! src/com/sun/org/apache/xerces/internal/impl/msg/XPointerMessages_zh_CN.properties ! src/com/sun/org/apache/xerces/internal/impl/msg/XPointerMessages_zh_TW.properties + src/com/sun/org/apache/xerces/internal/impl/xpath/regex/message_de.properties + src/com/sun/org/apache/xerces/internal/impl/xpath/regex/message_es.properties ! src/com/sun/org/apache/xerces/internal/impl/xpath/regex/message_fr.properties + src/com/sun/org/apache/xerces/internal/impl/xpath/regex/message_it.properties ! src/com/sun/org/apache/xerces/internal/impl/xpath/regex/message_ja.properties + src/com/sun/org/apache/xerces/internal/impl/xpath/regex/message_ko.properties + src/com/sun/org/apache/xerces/internal/impl/xpath/regex/message_pt_BR.properties + src/com/sun/org/apache/xerces/internal/impl/xpath/regex/message_sv.properties + src/com/sun/org/apache/xerces/internal/impl/xpath/regex/message_zh_CN.properties + src/com/sun/org/apache/xerces/internal/impl/xpath/regex/message_zh_TW.properties From xuelei.fan at oracle.com Wed Jun 19 02:34:12 2013 From: xuelei.fan at oracle.com (xuelei.fan at oracle.com) Date: Wed, 19 Jun 2013 09:34:12 +0000 Subject: hg: jdk8/tl/jdk: 7188658: Add possibility to disable client initiated renegotiation Message-ID: <20130619093437.4BA044831C@hg.openjdk.java.net> Changeset: a76858faad59 Author: xuelei Date: 2013-06-19 02:33 -0700 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/a76858faad59 7188658: Add possibility to disable client initiated renegotiation Reviewed-by: weijun, wetmore ! src/share/classes/sun/security/ssl/Handshaker.java ! src/share/classes/sun/security/ssl/ServerHandshaker.java + test/sun/security/ssl/com/sun/net/ssl/internal/ssl/SSLSocketImpl/NoImpactServerRenego.java + test/sun/security/ssl/com/sun/net/ssl/internal/ssl/SSLSocketImpl/RejectClientRenego.java From vicente.romero at oracle.com Wed Jun 19 03:11:02 2013 From: vicente.romero at oracle.com (vicente.romero at oracle.com) Date: Wed, 19 Jun 2013 10:11:02 +0000 Subject: hg: jdk8/tl/langtools: 8006981: javac, method toString() of class ...javac.code.Flags doesn't print all the flag bits Message-ID: <20130619101107.D36FF48320@hg.openjdk.java.net> Changeset: 6d3b33aea370 Author: vromero Date: 2013-06-19 11:09 +0100 URL: http://hg.openjdk.java.net/jdk8/tl/langtools/rev/6d3b33aea370 8006981: javac, method toString() of class ...javac.code.Flags doesn't print all the flag bits Reviewed-by: jjg ! src/share/classes/com/sun/tools/javac/code/Flags.java ! src/share/classes/com/sun/tools/javac/comp/Check.java From chris.hegarty at oracle.com Wed Jun 19 05:03:03 2013 From: chris.hegarty at oracle.com (chris.hegarty at oracle.com) Date: Wed, 19 Jun 2013 12:03:03 +0000 Subject: hg: jdk8/tl/langtools: 2 new changesets Message-ID: <20130619120309.7859E48323@hg.openjdk.java.net> Changeset: be62183f938a Author: chegar Date: 2013-06-19 11:48 +0100 URL: http://hg.openjdk.java.net/jdk8/tl/langtools/rev/be62183f938a 8017045: anti-delta fix for 8013789 Reviewed-by: alanb ! 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/LambdaToMethod.java ! src/share/classes/com/sun/tools/javac/comp/TransTypes.java ! src/share/classes/com/sun/tools/javac/tree/JCTree.java ! test/tools/javac/lambda/lambdaExpression/LambdaTest6.java ! test/tools/javac/lambda/methodReference/BridgeMethod.java Changeset: 29dcd6715b04 Author: chegar Date: 2013-06-19 13:00 +0100 URL: http://hg.openjdk.java.net/jdk8/tl/langtools/rev/29dcd6715b04 Merge ! src/share/classes/com/sun/tools/javac/comp/Check.java From chris.hegarty at oracle.com Wed Jun 19 05:04:25 2013 From: chris.hegarty at oracle.com (chris.hegarty at oracle.com) Date: Wed, 19 Jun 2013 12:04:25 +0000 Subject: hg: jdk8/tl/jdk: 2 new changesets Message-ID: <20130619120501.E014A48324@hg.openjdk.java.net> Changeset: 22337da71eca Author: chegar Date: 2013-06-19 11:47 +0100 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/22337da71eca 8017044: anti-delta fix for 8015402 Reviewed-by: alanb ! src/share/classes/java/lang/invoke/AbstractValidatingLambdaMetafactory.java ! src/share/classes/java/lang/invoke/InnerClassLambdaMetafactory.java ! src/share/classes/java/lang/invoke/LambdaMetafactory.java Changeset: 8bc1b313a082 Author: chegar Date: 2013-06-19 13:03 +0100 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/8bc1b313a082 Merge From alan.bateman at oracle.com Wed Jun 19 09:14:17 2013 From: alan.bateman at oracle.com (alan.bateman at oracle.com) Date: Wed, 19 Jun 2013 16:14:17 +0000 Subject: hg: jdk8/tl/jdk: 4837946: Faster multiplication and exponentiation of large integers; ... Message-ID: <20130619161429.A5D994832B@hg.openjdk.java.net> Changeset: 9b802d99cb52 Author: bpb Date: 2013-06-19 08:59 -0700 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/9b802d99cb52 4837946: Faster multiplication and exponentiation of large integers 4646474: BigInteger.pow() algorithm slow in 1.4.0 Summary: Implement Karatsuba and 3-way Toom-Cook multiplication as well as exponentiation using Karatsuba and Toom-Cook squaring. Reviewed-by: alanb, bpb, martin Contributed-by: Alan Eliasen ! src/share/classes/java/math/BigDecimal.java ! src/share/classes/java/math/BigInteger.java ! test/java/math/BigInteger/BigIntegerTest.java From chris.hegarty at oracle.com Wed Jun 19 09:33:22 2013 From: chris.hegarty at oracle.com (chris.hegarty at oracle.com) Date: Wed, 19 Jun 2013 16:33:22 +0000 Subject: hg: jdk8/tl/jdk: 6 new changesets Message-ID: <20130619163436.9FC6248332@hg.openjdk.java.net> Changeset: e7ece2dbdc70 Author: sla Date: 2013-06-10 11:33 +0200 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/e7ece2dbdc70 8005008: Add Java Flight Recorder Phase II Reviewed-by: erikj Contributed-by: Karen Kinnear , Bengt Rutisson , Calvin Cheung , Erik Gahlin , Erik Helin , Jesper Wilhelmsson , Keith McGuigan , Mattias Tobiasson , Markus Gronlund , Mikael Auno , Nils Eliasson , Nils Loodin , Rickard Backman , Staffan Larsen , Stefan Karlsson , Yekaterina Kantserova ! make/com/oracle/jfr/Makefile ! makefiles/CompileNativeLibraries.gmk ! makefiles/CopyFiles.gmk ! makefiles/CopyIntoClasses.gmk ! makefiles/CreateJars.gmk ! makefiles/mapfiles/libjfr/mapfile-vers ! makefiles/mapfiles/libjli/mapfile-vers ! src/share/lib/security/java.security-linux ! src/share/lib/security/java.security-macosx ! src/share/lib/security/java.security-solaris ! src/share/lib/security/java.security-windows Changeset: 1f855dd74077 Author: amurillo Date: 2013-06-14 07:26 -0700 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/1f855dd74077 Merge ! makefiles/CompileNativeLibraries.gmk ! makefiles/CreateJars.gmk Changeset: c3087d966f1f Author: chegar Date: 2013-06-19 11:04 +0100 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/c3087d966f1f Merge ! src/share/lib/security/java.security-linux ! src/share/lib/security/java.security-macosx ! src/share/lib/security/java.security-solaris ! src/share/lib/security/java.security-windows Changeset: a5735e6d6616 Author: chegar Date: 2013-06-19 11:49 +0100 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/a5735e6d6616 Merge Changeset: a9ad5ac3430b Author: chegar Date: 2013-06-19 15:58 +0100 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/a9ad5ac3430b 8017057: More ProblemList.txt updates (6/2013) Reviewed-by: alanb ! test/ProblemList.txt Changeset: 8fd1e39b1c2b Author: chegar Date: 2013-06-19 17:32 +0100 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/8fd1e39b1c2b Merge From chris.hegarty at oracle.com Wed Jun 19 09:30:17 2013 From: chris.hegarty at oracle.com (chris.hegarty at oracle.com) Date: Wed, 19 Jun 2013 16:30:17 +0000 Subject: hg: jdk8/tl/hotspot: 5 new changesets Message-ID: <20130619163028.6426548330@hg.openjdk.java.net> Changeset: d0add7016434 Author: amurillo Date: 2013-06-07 09:33 -0700 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/d0add7016434 8016078: new hotspot build - hs25-b37 Reviewed-by: jcoomes ! make/hotspot_version Changeset: f2110083203d Author: sla Date: 2013-06-10 11:30 +0200 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/f2110083203d 8005849: JEP 167: Event-Based JVM Tracing Reviewed-by: acorn, coleenp, sla Contributed-by: Karen Kinnear , Bengt Rutisson , Calvin Cheung , Erik Gahlin , Erik Helin , Jesper Wilhelmsson , Keith McGuigan , Mattias Tobiasson , Markus Gronlund , Mikael Auno , Nils Eliasson , Nils Loodin , Rickard Backman , Staffan Larsen , Stefan Karlsson , Yekaterina Kantserova ! make/Makefile ! make/bsd/makefiles/buildtree.make ! make/bsd/makefiles/minimal1.make ! make/bsd/makefiles/top.make + make/bsd/makefiles/trace.make ! make/bsd/makefiles/vm.make ! make/defs.make ! make/excludeSrc.make ! make/linux/makefiles/buildtree.make ! make/linux/makefiles/minimal1.make ! make/linux/makefiles/top.make + make/linux/makefiles/trace.make ! make/linux/makefiles/vm.make ! make/solaris/makefiles/buildtree.make ! make/solaris/makefiles/top.make + make/solaris/makefiles/trace.make ! make/solaris/makefiles/vm.make ! make/windows/build.make ! make/windows/create_obj_files.sh ! make/windows/makefiles/generated.make ! make/windows/makefiles/projectcreator.make + make/windows/makefiles/trace.make ! make/windows/makefiles/vm.make ! make/windows/projectfiles/common/Makefile ! src/cpu/sparc/vm/frame_sparc.cpp ! src/cpu/x86/vm/frame_x86.cpp ! src/os/bsd/vm/osThread_bsd.hpp ! src/os/bsd/vm/os_bsd.cpp ! src/os/bsd/vm/os_bsd.hpp ! src/os/bsd/vm/os_bsd.inline.hpp ! src/os/linux/vm/osThread_linux.hpp ! src/os/linux/vm/os_linux.cpp ! src/os/linux/vm/os_linux.hpp ! src/os/linux/vm/os_linux.inline.hpp ! src/os/solaris/vm/osThread_solaris.cpp ! src/os/solaris/vm/osThread_solaris.hpp ! src/os/solaris/vm/os_share_solaris.hpp ! src/os/solaris/vm/os_solaris.cpp ! src/os/solaris/vm/os_solaris.hpp ! src/os/windows/vm/os_windows.cpp ! src/os_cpu/bsd_x86/vm/thread_bsd_x86.cpp ! src/os_cpu/bsd_x86/vm/thread_bsd_x86.hpp ! src/os_cpu/linux_x86/vm/thread_linux_x86.cpp ! src/os_cpu/linux_x86/vm/thread_linux_x86.hpp ! src/os_cpu/solaris_sparc/vm/os_solaris_sparc.cpp ! src/os_cpu/solaris_sparc/vm/thread_solaris_sparc.cpp ! src/os_cpu/solaris_sparc/vm/thread_solaris_sparc.hpp ! src/os_cpu/solaris_x86/vm/os_solaris_x86.cpp ! src/os_cpu/solaris_x86/vm/thread_solaris_x86.cpp ! src/os_cpu/solaris_x86/vm/thread_solaris_x86.hpp ! src/os_cpu/windows_x86/vm/thread_windows_x86.cpp ! src/os_cpu/windows_x86/vm/thread_windows_x86.hpp ! src/share/tools/ProjectCreator/BuildConfig.java ! src/share/vm/classfile/classFileParser.cpp ! src/share/vm/classfile/classLoaderData.cpp ! src/share/vm/classfile/classLoaderData.hpp ! src/share/vm/classfile/javaClasses.cpp ! src/share/vm/classfile/systemDictionary.cpp ! src/share/vm/classfile/systemDictionary.hpp ! src/share/vm/code/codeCache.cpp ! src/share/vm/code/codeCache.hpp ! src/share/vm/compiler/compileBroker.cpp ! src/share/vm/compiler/compileBroker.hpp ! src/share/vm/gc_implementation/concurrentMarkSweep/concurrentMarkSweepGeneration.cpp ! src/share/vm/gc_implementation/concurrentMarkSweep/concurrentMarkSweepGeneration.hpp ! src/share/vm/gc_implementation/concurrentMarkSweep/concurrentMarkSweepThread.cpp ! src/share/vm/gc_implementation/concurrentMarkSweep/vmCMSOperations.cpp ! src/share/vm/gc_implementation/g1/concurrentMark.cpp ! src/share/vm/gc_implementation/g1/concurrentMark.hpp ! src/share/vm/gc_implementation/g1/concurrentMarkThread.cpp + src/share/vm/gc_implementation/g1/evacuationInfo.hpp ! src/share/vm/gc_implementation/g1/g1CollectedHeap.cpp ! src/share/vm/gc_implementation/g1/g1CollectedHeap.hpp ! src/share/vm/gc_implementation/g1/g1CollectorPolicy.cpp ! src/share/vm/gc_implementation/g1/g1CollectorPolicy.hpp ! src/share/vm/gc_implementation/g1/g1GCPhaseTimes.hpp ! src/share/vm/gc_implementation/g1/g1MarkSweep.cpp ! src/share/vm/gc_implementation/g1/g1MarkSweep.hpp ! src/share/vm/gc_implementation/g1/g1MonitoringSupport.hpp + src/share/vm/gc_implementation/g1/g1YCTypes.hpp ! src/share/vm/gc_implementation/g1/vm_operations_g1.cpp ! src/share/vm/gc_implementation/parNew/parNewGeneration.cpp ! src/share/vm/gc_implementation/parNew/parNewGeneration.hpp ! src/share/vm/gc_implementation/parallelScavenge/parallelScavengeHeap.cpp ! src/share/vm/gc_implementation/parallelScavenge/parallelScavengeHeap.hpp ! src/share/vm/gc_implementation/parallelScavenge/pcTasks.cpp ! src/share/vm/gc_implementation/parallelScavenge/psMarkSweep.cpp ! src/share/vm/gc_implementation/parallelScavenge/psParallelCompact.cpp ! src/share/vm/gc_implementation/parallelScavenge/psParallelCompact.hpp ! src/share/vm/gc_implementation/parallelScavenge/psPromotionManager.cpp ! src/share/vm/gc_implementation/parallelScavenge/psPromotionManager.hpp ! src/share/vm/gc_implementation/parallelScavenge/psPromotionManager.inline.hpp ! src/share/vm/gc_implementation/parallelScavenge/psScavenge.cpp ! src/share/vm/gc_implementation/parallelScavenge/psScavenge.hpp + src/share/vm/gc_implementation/shared/copyFailedInfo.hpp + src/share/vm/gc_implementation/shared/gcHeapSummary.hpp + src/share/vm/gc_implementation/shared/gcTimer.cpp + src/share/vm/gc_implementation/shared/gcTimer.hpp + src/share/vm/gc_implementation/shared/gcTrace.cpp + src/share/vm/gc_implementation/shared/gcTrace.hpp + src/share/vm/gc_implementation/shared/gcTraceSend.cpp + src/share/vm/gc_implementation/shared/gcTraceTime.cpp + src/share/vm/gc_implementation/shared/gcTraceTime.hpp + src/share/vm/gc_implementation/shared/gcWhen.hpp ! src/share/vm/gc_implementation/shared/markSweep.cpp ! src/share/vm/gc_implementation/shared/markSweep.hpp ! src/share/vm/gc_implementation/shared/vmGCOperations.cpp ! src/share/vm/gc_implementation/shared/vmGCOperations.hpp + src/share/vm/gc_interface/allocTracer.cpp + src/share/vm/gc_interface/allocTracer.hpp ! src/share/vm/gc_interface/collectedHeap.cpp ! src/share/vm/gc_interface/collectedHeap.hpp ! src/share/vm/gc_interface/collectedHeap.inline.hpp ! src/share/vm/gc_interface/gcCause.cpp ! src/share/vm/gc_interface/gcCause.hpp + src/share/vm/gc_interface/gcName.hpp ! src/share/vm/memory/allocation.hpp ! src/share/vm/memory/defNewGeneration.cpp ! src/share/vm/memory/defNewGeneration.hpp ! src/share/vm/memory/genCollectedHeap.cpp ! src/share/vm/memory/genMarkSweep.cpp ! src/share/vm/memory/generation.cpp ! src/share/vm/memory/heapInspection.cpp ! src/share/vm/memory/heapInspection.hpp + src/share/vm/memory/klassInfoClosure.hpp ! src/share/vm/memory/metaspace.hpp ! src/share/vm/memory/oopFactory.hpp ! src/share/vm/memory/referenceProcessor.cpp ! src/share/vm/memory/referenceProcessor.hpp + src/share/vm/memory/referenceProcessorStats.hpp + src/share/vm/memory/referenceType.hpp ! src/share/vm/memory/universe.cpp ! src/share/vm/memory/universe.hpp ! src/share/vm/oops/instanceKlass.hpp ! src/share/vm/oops/klass.cpp ! src/share/vm/opto/compile.cpp ! src/share/vm/opto/compile.hpp ! src/share/vm/opto/escape.cpp ! src/share/vm/opto/library_call.cpp ! src/share/vm/opto/loopnode.cpp ! src/share/vm/opto/matcher.cpp + src/share/vm/opto/phasetype.hpp ! src/share/vm/precompiled/precompiled.hpp ! src/share/vm/prims/jni.cpp ! src/share/vm/prims/jvm.cpp ! src/share/vm/prims/jvmtiGen.java ! src/share/vm/prims/jvmtiImpl.cpp ! src/share/vm/prims/jvmtiImpl.hpp ! src/share/vm/prims/unsafe.cpp ! src/share/vm/runtime/frame.hpp ! src/share/vm/runtime/frame.inline.hpp ! src/share/vm/runtime/globals.hpp ! src/share/vm/runtime/java.cpp ! src/share/vm/runtime/mutexLocker.cpp ! src/share/vm/runtime/objectMonitor.cpp ! src/share/vm/runtime/objectMonitor.hpp ! src/share/vm/runtime/os.cpp ! src/share/vm/runtime/os.hpp ! src/share/vm/runtime/perfData.cpp ! src/share/vm/runtime/perfData.hpp ! src/share/vm/runtime/stubRoutines.hpp ! src/share/vm/runtime/sweeper.cpp ! src/share/vm/runtime/sweeper.hpp ! src/share/vm/runtime/synchronizer.cpp ! src/share/vm/runtime/task.cpp ! src/share/vm/runtime/thread.cpp ! src/share/vm/runtime/thread.hpp ! src/share/vm/runtime/timer.cpp ! src/share/vm/runtime/timer.hpp ! src/share/vm/runtime/vmStructs.cpp ! src/share/vm/runtime/vmThread.cpp ! src/share/vm/runtime/vm_operations.cpp ! src/share/vm/runtime/vm_operations.hpp ! src/share/vm/services/attachListener.cpp ! src/share/vm/services/diagnosticArgument.cpp ! src/share/vm/services/diagnosticCommand.cpp ! src/share/vm/services/memBaseline.cpp + src/share/vm/trace/noTraceBackend.hpp + src/share/vm/trace/trace.dtd + src/share/vm/trace/trace.xml + src/share/vm/trace/traceBackend.hpp + src/share/vm/trace/traceDataTypes.hpp + src/share/vm/trace/traceEvent.hpp + src/share/vm/trace/traceEventClasses.xsl + src/share/vm/trace/traceEventIds.xsl - src/share/vm/trace/traceEventTypes.hpp ! src/share/vm/trace/traceMacros.hpp + src/share/vm/trace/traceStream.hpp + src/share/vm/trace/traceTime.hpp + src/share/vm/trace/traceTypes.xsl + src/share/vm/trace/tracetypes.xml ! src/share/vm/trace/tracing.hpp + src/share/vm/trace/xinclude.mod + src/share/vm/trace/xsl_util.xsl ! src/share/vm/utilities/globalDefinitions.hpp ! src/share/vm/utilities/macros.hpp Changeset: 69689078dff8 Author: amurillo Date: 2013-06-13 23:28 -0700 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/69689078dff8 Merge - src/share/vm/trace/traceEventTypes.hpp Changeset: 5d65c078cd0a Author: amurillo Date: 2013-06-13 23:28 -0700 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/5d65c078cd0a Added tag hs25-b37 for changeset 69689078dff8 ! .hgtags Changeset: 3a0774193f71 Author: chegar Date: 2013-06-19 11:02 +0100 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/3a0774193f71 Merge ! src/share/vm/classfile/javaClasses.cpp ! src/share/vm/memory/allocation.hpp ! src/share/vm/memory/universe.cpp ! src/share/vm/memory/universe.hpp ! src/share/vm/prims/jvm.cpp - src/share/vm/trace/traceEventTypes.hpp From eric.mccorkle at oracle.com Wed Jun 19 12:08:16 2013 From: eric.mccorkle at oracle.com (Eric McCorkle) Date: Wed, 19 Jun 2013 15:08:16 -0400 Subject: Review request for JDK-8014230: Compilation incorrectly succeeds with inner class constructor with 254 parameters In-Reply-To: <51BB7D4A.9090107@oracle.com> References: <51BB60F3.8040501@oracle.com> <51BB730C.1000003@oracle.com> <51BB79BA.20300@oracle.com> <51BB7D4A.9090107@oracle.com> Message-ID: <51C201A0.1060702@oracle.com> Added a new constructor to Main that allows tests to pass in their own Log, facilitating much more precise tests of what errors the compilers generates. I also rolled all the arg limit tests into a general framework. Webrev is here: http://cr.openjdk.java.net/~emc/8014230/ On 06/14/13 16:30, Jonathan Gibbons wrote: > There are two solutions. > > For a one-off test, the standard technique is to use a golden file > in conjunctions with rawDiagnostics. The combination is > "somewhat frail" but nowhere near "incredibly frail". The technique > has served us well for many years now. > > If you are driving javac through the Compiler API, you can register > a DiagnosticListener, and verify the characteristics of the Diagnostic > objects passed to report. > > -- Jon > > > On 06/14/2013 01:14 PM, Eric McCorkle wrote: >> Is there a more convenient API for checking error messages? Golden will >> make for an incredibly frail test, I think. >> >> On 06/14/13 15:46, Jonathan Gibbons wrote: >>> The change to Gen looks OK, but the tests look weak. At a minimum, I >>> would expect to see the test check the validity of the error message >>> that is generated; even better would be to generate the test cases on >>> the fly. >>> >>> -- Jon >>> >>> On 06/14/2013 11:29 AM, Eric McCorkle wrote: >>>> Hello, >>>> >>>> Please review this patch, which addresses a problem with javac not >>>> taking inner this parameters into account when determining if there are >>>> too many parameters to a function. >>>> >>>> The webrev is here: >>>> http://cr.openjdk.java.net/~emc/8014230/ >>>> >>>> The bug report is here: >>>> http://bugs.sun.com/view_bug.do?bug_id=8014230 >>>> >>>> Thanks, >>>> Eric > -------------- next part -------------- A non-text attachment was scrubbed... Name: eric_mccorkle.vcf Type: text/x-vcard Size: 314 bytes Desc: not available Url : http://mail.openjdk.java.net/pipermail/compiler-dev/attachments/20130619/fc96fef0/eric_mccorkle.vcf From dan.xu at oracle.com Wed Jun 19 13:01:06 2013 From: dan.xu at oracle.com (dan.xu at oracle.com) Date: Wed, 19 Jun 2013 20:01:06 +0000 Subject: hg: jdk8/tl/jdk: 8016592: Clean-up Javac Overrides Warnings In javax/management/NotificationBroadcasterSupport.java Message-ID: <20130619200118.EFC0F48347@hg.openjdk.java.net> Changeset: f6d72c4f6bf1 Author: dxu Date: 2013-06-19 13:00 -0700 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/f6d72c4f6bf1 8016592: Clean-up Javac Overrides Warnings In javax/management/NotificationBroadcasterSupport.java Summary: Add hashCode() methods to ListenerInfo and WildcardListenerInfo classes Reviewed-by: dfuchs, alanb, sjiang, chegar ! src/share/classes/javax/management/NotificationBroadcasterSupport.java From kurchi.subhra.hazra at oracle.com Wed Jun 19 13:53:48 2013 From: kurchi.subhra.hazra at oracle.com (kurchi.subhra.hazra at oracle.com) Date: Wed, 19 Jun 2013 20:53:48 +0000 Subject: hg: jdk8/tl/jdk: 8016576: Overrides warnings in jdi and jconsole Message-ID: <20130619205400.C93AF48349@hg.openjdk.java.net> Changeset: de6b93fd6d23 Author: khazra Date: 2013-06-19 14:02 -0700 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/de6b93fd6d23 8016576: Overrides warnings in jdi and jconsole Summary: Implement hashCode() in classes emitting warnings Reviewed-by: alanb, chegar ! src/share/classes/com/sun/tools/jdi/SDE.java ! src/share/classes/sun/tools/jconsole/inspector/XObject.java From kurchi.subhra.hazra at oracle.com Wed Jun 19 14:03:09 2013 From: kurchi.subhra.hazra at oracle.com (kurchi.subhra.hazra at oracle.com) Date: Wed, 19 Jun 2013 21:03:09 +0000 Subject: hg: jdk8/tl/jdk: 8016698: Cleanup overrides warning in sun/tools/ClassDeclaration.java Message-ID: <20130619210322.583364834A@hg.openjdk.java.net> Changeset: e1b18a666f76 Author: khazra Date: 2013-06-19 14:13 -0700 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/e1b18a666f76 8016698: Cleanup overrides warning in sun/tools/ClassDeclaration.java Summary: Override Object.hashCode() Reviewed-by: alanb, chegar ! src/share/classes/sun/tools/java/ClassDeclaration.java From vicente.romero at oracle.com Wed Jun 19 14:07:38 2013 From: vicente.romero at oracle.com (vicente.romero at oracle.com) Date: Wed, 19 Jun 2013 21:07:38 +0000 Subject: hg: jdk8/tl/langtools: 8016610: javac, add new internal symbols to make operator resolution faster Message-ID: <20130619210741.09B524834B@hg.openjdk.java.net> Changeset: be10ac0081b2 Author: vromero Date: 2013-06-19 22:07 +0100 URL: http://hg.openjdk.java.net/jdk8/tl/langtools/rev/be10ac0081b2 8016610: javac, add new internal symbols to make operator resolution faster Reviewed-by: jjg Contributed-by: maurizio.cimadamore at oracle.com ! src/share/classes/com/sun/tools/javac/code/Symtab.java ! src/share/classes/com/sun/tools/javac/tree/TreeInfo.java From alex.buckley at oracle.com Wed Jun 19 14:57:55 2013 From: alex.buckley at oracle.com (Alex Buckley) Date: Wed, 19 Jun 2013 14:57:55 -0700 Subject: Review request for JDK-8014230: Compilation incorrectly succeeds with inner class constructor with 254 parameters In-Reply-To: <51C201A0.1060702@oracle.com> References: <51BB60F3.8040501@oracle.com> <51BB730C.1000003@oracle.com> <51BB79BA.20300@oracle.com> <51BB7D4A.9090107@oracle.com> <51C201A0.1060702@oracle.com> Message-ID: <51C22963.8060802@oracle.com> - There is less coverage because NumArgs1/2 tested instance and static methods while the new MethodArgs only tests instance methods. - There is no such thing as a static inner class. An inner class is non-static by definition (JLS7 8.1.3). The term StaticInnerClass should be replaced with StaticNestedClass throughout. - For grouping purposes, it would be good to prefix ConstructorArgs and MethodArgs with "ToplevelClass". Later, we'll have an "AnonClass" prefix too. - Might rename threshold to maxArgs in NumArgs. (Is a threshold something you can step up to but not on, or something you can step on?) - Might rename retty ("return type") to result, since the field can store "void" and void is not a [return] type (JLS7 8.4.5) - Might rename ClassNestingDef to NestedClassBuilder. Alex On 6/19/2013 12:08 PM, Eric McCorkle wrote: > Added a new constructor to Main that allows tests to pass in their own > Log, facilitating much more precise tests of what errors the compilers > generates. > > I also rolled all the arg limit tests into a general framework. > > Webrev is here: > http://cr.openjdk.java.net/~emc/8014230/ > > On 06/14/13 16:30, Jonathan Gibbons wrote: >> There are two solutions. >> >> For a one-off test, the standard technique is to use a golden file >> in conjunctions with rawDiagnostics. The combination is >> "somewhat frail" but nowhere near "incredibly frail". The technique >> has served us well for many years now. >> >> If you are driving javac through the Compiler API, you can register >> a DiagnosticListener, and verify the characteristics of the Diagnostic >> objects passed to report. >> >> -- Jon >> >> >> On 06/14/2013 01:14 PM, Eric McCorkle wrote: >>> Is there a more convenient API for checking error messages? Golden will >>> make for an incredibly frail test, I think. >>> >>> On 06/14/13 15:46, Jonathan Gibbons wrote: >>>> The change to Gen looks OK, but the tests look weak. At a minimum, I >>>> would expect to see the test check the validity of the error message >>>> that is generated; even better would be to generate the test cases on >>>> the fly. >>>> >>>> -- Jon >>>> >>>> On 06/14/2013 11:29 AM, Eric McCorkle wrote: >>>>> Hello, >>>>> >>>>> Please review this patch, which addresses a problem with javac not >>>>> taking inner this parameters into account when determining if there are >>>>> too many parameters to a function. >>>>> >>>>> The webrev is here: >>>>> http://cr.openjdk.java.net/~emc/8014230/ >>>>> >>>>> The bug report is here: >>>>> http://bugs.sun.com/view_bug.do?bug_id=8014230 >>>>> >>>>> Thanks, >>>>> Eric >> From kurchi.subhra.hazra at oracle.com Wed Jun 19 17:31:42 2013 From: kurchi.subhra.hazra at oracle.com (kurchi.subhra.hazra at oracle.com) Date: Thu, 20 Jun 2013 00:31:42 +0000 Subject: hg: jdk8/tl/jdk: 7025238: HttpURLConnection does not handle URLs with an empty path component. Message-ID: <20130620003156.209A54834F@hg.openjdk.java.net> Changeset: 2b156531b7eb Author: arieber Date: 2013-06-19 17:41 -0700 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/2b156531b7eb 7025238: HttpURLConnection does not handle URLs with an empty path component. Summary: Prepend a '/' to file when path is empty Reviewed-by: chegar, khazra ! src/share/classes/sun/net/www/http/HttpClient.java + test/sun/net/www/http/HttpClient/B7025238.java From erik.joelsson at oracle.com Wed Jun 19 23:36:42 2013 From: erik.joelsson at oracle.com (Erik Joelsson) Date: Thu, 20 Jun 2013 08:36:42 +0200 Subject: RFR: 8015145: Smartjavac needs more flexibility with linking to sources In-Reply-To: <51B9779C.5070107@oracle.com> References: <51B1D57A.3030305@oracle.com> <51B9779C.5070107@oracle.com> Message-ID: <51C2A2FA.80107@oracle.com> Trying again. I would like to get a formal review on this if possible. /Erik On 2013-06-13 09:41, Erik Joelsson wrote: > Would be great if someone could take a look at this, thanks. > > /Erik > > On 2013-06-07 14:43, Erik Joelsson wrote: >> Here is a patch solving a problem with -sourcepath for sjavac. >> >> First some background. The security sources (the ones that require >> signing) need to be built to a separate directory. If they aren't (as >> is the case now) security tests will fail if run on the exploded jdk >> image (the one you get when just typing make or make jdk). In >> JDK-8009280, I'm trying to fix this. The solution I have for that bug >> is working well, except when running with sjavac, and basically >> builds all classes except the security classes first to the normal >> outputdir and then as a separate step builds just the security >> classes to a different outputdir. >> >> There are two issues that need to be addressed in sjavac for this to >> work. First, it needs to be possible to supply the same source root >> both to the -src and -sourcepath option (but with different filter >> rules). Sjavac is very picky and only links to sources that are >> included in either of those options, and since we are excluding the >> security sources from -src, we need to add them to -sourcepath. >> >> The second thing is more of a bug as far as I can tell. Sjavac >> compares the found set of sources to compile with what the makefile >> think needs to be compiled, as a safety check. Currently, sjavac is >> including sources that are just being linked to in this comparison. I >> would think that it should only include sources that are meant to be >> compiled. >> >> http://cr.openjdk.java.net/~erikj/8015145/webrev.langtools.01/ >> >> http://bugs.sun.com/view_bug.do?bug_id=8015145 >> >> /Erik From erik.joelsson at oracle.com Wed Jun 19 23:39:45 2013 From: erik.joelsson at oracle.com (Erik Joelsson) Date: Thu, 20 Jun 2013 08:39:45 +0200 Subject: RFR: 8014513: Sjavac doesn't detect 32-bit jvm properly In-Reply-To: <51B977F1.5040000@oracle.com> References: <51AF4A2B.3010508@oracle.com> <51AF85A2.3010108@oracle.com> <51AF8637.9060709@oracle.com> <51B1BF3C.3000601@oracle.com> <51B977F1.5040000@oracle.com> Message-ID: <51C2A3B1.1060000@oracle.com> Trying again. I would like to get a formal review on this if possible. Jon, you gave ok to the first version, but as I made some changes based on your comments, I assumed another round was needed. /Erik On 2013-06-13 09:42, Erik Joelsson wrote: > Would be great if I could get a final ok on this, thanks. > > /Erik > > On 2013-06-07 13:08, Erik Joelsson wrote: >> >> >> On 2013-06-05 20:40, Jonathan Gibbons wrote: >>> On 06/05/2013 11:38 AM, Jonathan Gibbons wrote: >>>> On 06/05/2013 07:24 AM, Erik Joelsson wrote: >>>>> Hello, >>>>> >>>>> Here is a small patch fixing a problem with sjavac. Sjavac tries >>>>> to be smart about sizing itself to no run out of memory. The logic >>>>> for figuring out if it's running on a 32 or 64bit jvm is rather >>>>> crude and misses on several platforms. This patch makes the code >>>>> more robust. >>>>> >>>>> Fixing this issue is a requirement to get sjavac to work well on >>>>> all platforms in jprt. >>>>> >>>>> Bug: http://bugs.sun.com/view_bug.do?bug_id=8014513 >>>>> >>>>> Webrev: >>>>> http://cr.openjdk.java.net/~erikj/8014513/webrev.langtools.01/ >>>>> >>>>> /Erik >>>> >>>> Erik, >>>> >>>> It's OK, but I think it would be better if there was a back door to >>>> override the default value. That would also partially address the >>>> comment in the bug about sjavac looking at the wrong JVM -- it's >>>> using the client process, not the server process. >>>> >>>> If you push it as is, I suggest you file a followup bug for further >>>> improvements. >>>> >>>> -- Jon >>> >>> Erik, >>> >>> The code might also look better if you used a Set for 32 bit >>> values, and tested for set.contains(dataModel), or if not that, the >>> use a strings-in-switch statement. >>> >> Perhaps I'm missing something or I'm not familiar enough with newer >> features in the language, but I can't get initialization of a set of >> 3 Strings to feel more readable and less clumsy than the list of >> logical ORs. The problem with going switch is that there are two >> different Strings being tested. >> >> Thinking on this some more, I think I was mistaken. We don't need to >> test for both arch and data model. I was just assuming that >> "sun.arch.data.model" might not be as reliable as "os.arch". On the >> other hand, the heuristics here are rather specific to using hotspot >> and open/oraclejdk, so for all practical cases, using >> sun.arch.data.model should be safe. New webrev using just data.model: >> >> http://cr.openjdk.java.net/~erikj/8014513/webrev.langtools.02/ >> >> It would be good to provide hooks to control this behavior of sjavac. >> Will file a followup bug for that. >> >> /Erik >>> -- Jon From vicente.romero at oracle.com Thu Jun 20 00:46:11 2013 From: vicente.romero at oracle.com (vicente.romero at oracle.com) Date: Thu, 20 Jun 2013 07:46:11 +0000 Subject: hg: jdk8/tl/langtools: 8016613: javac should avoid source 8 only analysis when compiling for source 7 Message-ID: <20130620074617.BFF2F48359@hg.openjdk.java.net> Changeset: 6debfa63a4a1 Author: vromero Date: 2013-06-20 08:45 +0100 URL: http://hg.openjdk.java.net/jdk8/tl/langtools/rev/6debfa63a4a1 8016613: javac should avoid source 8 only analysis when compiling for source 7 Reviewed-by: jjg Contributed-by: maurizio.cimadamore at oracle.com ! src/share/classes/com/sun/tools/javac/code/Kinds.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/MemberEnter.java From paul.sandoz at oracle.com Thu Jun 20 01:52:26 2013 From: paul.sandoz at oracle.com (paul.sandoz at oracle.com) Date: Thu, 20 Jun 2013 08:52:26 +0000 Subject: hg: jdk8/tl/jdk: 8016308: Updates to j.u.stream.Node/Nodes Message-ID: <20130620085254.ED7AD4835E@hg.openjdk.java.net> Changeset: 656ea2349aa5 Author: psandoz Date: 2013-06-20 10:45 +0200 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/656ea2349aa5 8016308: Updates to j.u.stream.Node/Nodes Reviewed-by: mduigou Contributed-by: Brian Goetz , Paul Sandoz ! src/share/classes/java/util/stream/Node.java ! src/share/classes/java/util/stream/Nodes.java ! src/share/classes/java/util/stream/SliceOps.java ! test/java/util/stream/boottest/java/util/stream/DoubleNodeTest.java ! test/java/util/stream/boottest/java/util/stream/IntNodeTest.java ! test/java/util/stream/boottest/java/util/stream/LongNodeTest.java From paul.sandoz at oracle.com Thu Jun 20 02:04:05 2013 From: paul.sandoz at oracle.com (paul.sandoz at oracle.com) Date: Thu, 20 Jun 2013 09:04:05 +0000 Subject: hg: jdk8/tl/jdk: 8016324: filter/flatMap pipeline sinks should pass size information to downstream sink Message-ID: <20130620090425.63D424835F@hg.openjdk.java.net> Changeset: 85524d9839dc Author: psandoz Date: 2013-06-20 11:02 +0200 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/85524d9839dc 8016324: filter/flatMap pipeline sinks should pass size information to downstream sink Reviewed-by: chegar, mduigou Contributed-by: Brian Goetz ! src/share/classes/java/util/stream/DoublePipeline.java ! src/share/classes/java/util/stream/IntPipeline.java ! src/share/classes/java/util/stream/LongPipeline.java ! src/share/classes/java/util/stream/ReferencePipeline.java From paul.sandoz at oracle.com Thu Jun 20 02:16:49 2013 From: paul.sandoz at oracle.com (paul.sandoz at oracle.com) Date: Thu, 20 Jun 2013 09:16:49 +0000 Subject: hg: jdk8/tl/jdk: 8016455: Sync stream tests from lambda to tl Message-ID: <20130620091743.0DF7F48362@hg.openjdk.java.net> Changeset: f758d7c24396 Author: psandoz Date: 2013-06-20 11:15 +0200 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/f758d7c24396 8016455: Sync stream tests from lambda to tl Reviewed-by: mduigou Contributed-by: Brian Goetz , Paul Sandoz ! test/java/util/stream/bootlib/java/util/stream/IntStreamTestDataProvider.java ! test/java/util/stream/bootlib/java/util/stream/LambdaTestHelpers.java + test/java/util/stream/bootlib/java/util/stream/LoggingTestCase.java ! test/java/util/stream/bootlib/java/util/stream/OpTestCase.java ! test/java/util/stream/bootlib/java/util/stream/SpliteratorTestHelper.java ! test/java/util/stream/boottest/java/util/stream/DoubleNodeTest.java ! test/java/util/stream/boottest/java/util/stream/IntNodeTest.java ! test/java/util/stream/boottest/java/util/stream/LongNodeTest.java ! test/java/util/stream/boottest/java/util/stream/NodeTest.java ! test/java/util/stream/boottest/java/util/stream/UnorderedTest.java ! test/java/util/stream/test/org/openjdk/tests/java/util/stream/DistinctOpTest.java ! test/java/util/stream/test/org/openjdk/tests/java/util/stream/ForEachOpTest.java ! test/java/util/stream/test/org/openjdk/tests/java/util/stream/GroupByOpTest.java ! test/java/util/stream/test/org/openjdk/tests/java/util/stream/IntSliceOpTest.java ! test/java/util/stream/test/org/openjdk/tests/java/util/stream/IntUniqOpTest.java ! test/java/util/stream/test/org/openjdk/tests/java/util/stream/MatchOpTest.java ! test/java/util/stream/test/org/openjdk/tests/java/util/stream/RangeTest.java ! test/java/util/stream/test/org/openjdk/tests/java/util/stream/ReduceByOpTest.java ! test/java/util/stream/test/org/openjdk/tests/java/util/stream/SequentialOpTest.java ! test/java/util/stream/test/org/openjdk/tests/java/util/stream/SliceOpTest.java ! test/java/util/stream/test/org/openjdk/tests/java/util/stream/StreamLinkTest.java ! test/java/util/stream/test/org/openjdk/tests/java/util/stream/StreamSpliteratorTest.java ! test/java/util/stream/test/org/openjdk/tests/java/util/stream/TabulatorsTest.java ! test/java/util/stream/test/org/openjdk/tests/java/util/stream/ToArrayOpTest.java From paul.sandoz at oracle.com Thu Jun 20 02:35:01 2013 From: paul.sandoz at oracle.com (paul.sandoz at oracle.com) Date: Thu, 20 Jun 2013 09:35:01 +0000 Subject: hg: jdk8/tl/jdk: 8016139: PrimitiveIterator.forEachRemaining Message-ID: <20130620093516.D776548363@hg.openjdk.java.net> Changeset: 562f5cf13a9c Author: psandoz Date: 2013-06-20 11:21 +0200 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/562f5cf13a9c 8016139: PrimitiveIterator.forEachRemaining Reviewed-by: alanb ! src/share/classes/java/util/PrimitiveIterator.java From xuelei.fan at oracle.com Thu Jun 20 07:49:48 2013 From: xuelei.fan at oracle.com (xuelei.fan at oracle.com) Date: Thu, 20 Jun 2013 14:49:48 +0000 Subject: hg: jdk8/tl/jdk: 8017157: catch more exception in test RejectClientRenego Message-ID: <20130620145013.A936B4836D@hg.openjdk.java.net> Changeset: a44bd993ce93 Author: xuelei Date: 2013-06-20 07:48 -0700 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/a44bd993ce93 8017157: catch more exception in test RejectClientRenego Reviewed-by: vinnie ! test/sun/security/ssl/com/sun/net/ssl/internal/ssl/SSLSocketImpl/RejectClientRenego.java From mike.duigou at oracle.com Thu Jun 20 09:18:28 2013 From: mike.duigou at oracle.com (mike.duigou at oracle.com) Date: Thu, 20 Jun 2013 16:18:28 +0000 Subject: hg: jdk8/tl/jdk: 2 new changesets Message-ID: <20130620161903.7947148370@hg.openjdk.java.net> Changeset: 49b78ec058fb Author: mduigou Date: 2013-06-20 07:23 -0700 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/49b78ec058fb 8017088: Map/HashMap.compute() incorrect with key mapping to null value Reviewed-by: dl, dholmes, plevart ! src/share/classes/java/util/HashMap.java ! src/share/classes/java/util/Map.java ! test/java/util/Map/Defaults.java Changeset: 9fa37bd38d4b Author: mduigou Date: 2013-06-20 08:21 -0700 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/9fa37bd38d4b Merge From chris.hegarty at oracle.com Thu Jun 20 10:55:59 2013 From: chris.hegarty at oracle.com (chris.hegarty at oracle.com) Date: Thu, 20 Jun 2013 17:55:59 +0000 Subject: hg: jdk8/tl/jdk: 8014499: MulticastSocket should enable IP_MULTICAST_ALL (lnx) Message-ID: <20130620175626.7AADB48379@hg.openjdk.java.net> Changeset: bf2bacf934d1 Author: chegar Date: 2013-06-20 18:53 +0100 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/bf2bacf934d1 8014499: MulticastSocket should enable IP_MULTICAST_ALL (lnx) Reviewed-by: alanb, chegar Contributed-by: John Zavgren , Chris Hegarty ! src/solaris/native/java/net/PlainDatagramSocketImpl.c + test/java/net/MulticastSocket/Promiscuous.java From eric.mccorkle at oracle.com Thu Jun 20 11:38:33 2013 From: eric.mccorkle at oracle.com (Eric McCorkle) Date: Thu, 20 Jun 2013 14:38:33 -0400 Subject: Review request for JDK-8014230: Compilation incorrectly succeeds with inner class constructor with 254 parameters In-Reply-To: <51C22963.8060802@oracle.com> References: <51BB60F3.8040501@oracle.com> <51BB730C.1000003@oracle.com> <51BB79BA.20300@oracle.com> <51BB7D4A.9090107@oracle.com> <51C201A0.1060702@oracle.com> <51C22963.8060802@oracle.com> Message-ID: <51C34C29.80706@oracle.com> Thank you for the suggestions, Alex. I have applied all except the change to "threshold". I named it as such because the test asserts that methods with "threshold" arguments should pass, but ones with "threshold" + 1 should fail. It seems to exactly describe the meaning. A new webrev has been posted: http://cr.openjdk.java.net/~emc/8014230/ Also, there are several successful JPRT runs (minus a known issue). Since Jon made comments earlier, I would like to hear from him before I commit. On 06/19/13 17:57, Alex Buckley wrote: > - There is less coverage because NumArgs1/2 tested instance and static > methods while the new MethodArgs only tests instance methods. > > - There is no such thing as a static inner class. An inner class is > non-static by definition (JLS7 8.1.3). The term StaticInnerClass should > be replaced with StaticNestedClass throughout. > > - For grouping purposes, it would be good to prefix ConstructorArgs and > MethodArgs with "ToplevelClass". Later, we'll have an "AnonClass" prefix > too. > > - Might rename threshold to maxArgs in NumArgs. (Is a threshold > something you can step up to but not on, or something you can step on?) > > - Might rename retty ("return type") to result, since the field can > store "void" and void is not a [return] type (JLS7 8.4.5) > > - Might rename ClassNestingDef to NestedClassBuilder. > > Alex > > On 6/19/2013 12:08 PM, Eric McCorkle wrote: >> Added a new constructor to Main that allows tests to pass in their own >> Log, facilitating much more precise tests of what errors the compilers >> generates. >> >> I also rolled all the arg limit tests into a general framework. >> >> Webrev is here: >> http://cr.openjdk.java.net/~emc/8014230/ >> >> On 06/14/13 16:30, Jonathan Gibbons wrote: >>> There are two solutions. >>> >>> For a one-off test, the standard technique is to use a golden file >>> in conjunctions with rawDiagnostics. The combination is >>> "somewhat frail" but nowhere near "incredibly frail". The technique >>> has served us well for many years now. >>> >>> If you are driving javac through the Compiler API, you can register >>> a DiagnosticListener, and verify the characteristics of the Diagnostic >>> objects passed to report. >>> >>> -- Jon >>> >>> >>> On 06/14/2013 01:14 PM, Eric McCorkle wrote: >>>> Is there a more convenient API for checking error messages? Golden >>>> will >>>> make for an incredibly frail test, I think. >>>> >>>> On 06/14/13 15:46, Jonathan Gibbons wrote: >>>>> The change to Gen looks OK, but the tests look weak. At a minimum, I >>>>> would expect to see the test check the validity of the error message >>>>> that is generated; even better would be to generate the test cases on >>>>> the fly. >>>>> >>>>> -- Jon >>>>> >>>>> On 06/14/2013 11:29 AM, Eric McCorkle wrote: >>>>>> Hello, >>>>>> >>>>>> Please review this patch, which addresses a problem with javac not >>>>>> taking inner this parameters into account when determining if >>>>>> there are >>>>>> too many parameters to a function. >>>>>> >>>>>> The webrev is here: >>>>>> http://cr.openjdk.java.net/~emc/8014230/ >>>>>> >>>>>> The bug report is here: >>>>>> http://bugs.sun.com/view_bug.do?bug_id=8014230 >>>>>> >>>>>> Thanks, >>>>>> Eric >>> -------------- next part -------------- A non-text attachment was scrubbed... Name: eric_mccorkle.vcf Type: text/x-vcard Size: 314 bytes Desc: not available Url : http://mail.openjdk.java.net/pipermail/compiler-dev/attachments/20130620/75c95f9a/eric_mccorkle.vcf From jonathan.gibbons at oracle.com Thu Jun 20 12:00:33 2013 From: jonathan.gibbons at oracle.com (Jonathan Gibbons) Date: Thu, 20 Jun 2013 12:00:33 -0700 Subject: RFR: 8015145: Smartjavac needs more flexibility with linking to sources In-Reply-To: <51C2A2FA.80107@oracle.com> References: <51B1D57A.3030305@oracle.com> <51B9779C.5070107@oracle.com> <51C2A2FA.80107@oracle.com> Message-ID: <51C35151.1080000@oracle.com> I'm not sure about the presumption that multiple -sourcepath options are OK, unless they are concatenated later in sjavac. javac only accepts the last one. -- Jon On 06/19/2013 11:36 PM, Erik Joelsson wrote: > Trying again. I would like to get a formal review on this if possible. > > /Erik > > On 2013-06-13 09:41, Erik Joelsson wrote: >> Would be great if someone could take a look at this, thanks. >> >> /Erik >> >> On 2013-06-07 14:43, Erik Joelsson wrote: >>> Here is a patch solving a problem with -sourcepath for sjavac. >>> >>> First some background. The security sources (the ones that require >>> signing) need to be built to a separate directory. If they aren't >>> (as is the case now) security tests will fail if run on the exploded >>> jdk image (the one you get when just typing make or make jdk). In >>> JDK-8009280, I'm trying to fix this. The solution I have for that >>> bug is working well, except when running with sjavac, and basically >>> builds all classes except the security classes first to the normal >>> outputdir and then as a separate step builds just the security >>> classes to a different outputdir. >>> >>> There are two issues that need to be addressed in sjavac for this to >>> work. First, it needs to be possible to supply the same source root >>> both to the -src and -sourcepath option (but with different filter >>> rules). Sjavac is very picky and only links to sources that are >>> included in either of those options, and since we are excluding the >>> security sources from -src, we need to add them to -sourcepath. >>> >>> The second thing is more of a bug as far as I can tell. Sjavac >>> compares the found set of sources to compile with what the makefile >>> think needs to be compiled, as a safety check. Currently, sjavac is >>> including sources that are just being linked to in this comparison. >>> I would think that it should only include sources that are meant to >>> be compiled. >>> >>> http://cr.openjdk.java.net/~erikj/8015145/webrev.langtools.01/ >>> >>> http://bugs.sun.com/view_bug.do?bug_id=8015145 >>> >>> /Erik From jonathan.gibbons at oracle.com Thu Jun 20 12:03:48 2013 From: jonathan.gibbons at oracle.com (Jonathan Gibbons) Date: Thu, 20 Jun 2013 12:03:48 -0700 Subject: RFR: 8014513: Sjavac doesn't detect 32-bit jvm properly In-Reply-To: <51C2A3B1.1060000@oracle.com> References: <51AF4A2B.3010508@oracle.com> <51AF85A2.3010108@oracle.com> <51AF8637.9060709@oracle.com> <51B1BF3C.3000601@oracle.com> <51B977F1.5040000@oracle.com> <51C2A3B1.1060000@oracle.com> Message-ID: <51C35214.5070108@oracle.com> OK as is, but at some point we need to make this a lot less specific to the characteristics of the JDK build. -- Jon On 06/19/2013 11:39 PM, Erik Joelsson wrote: > Trying again. I would like to get a formal review on this if possible. > Jon, you gave ok to the first version, but as I made some changes > based on your comments, I assumed another round was needed. > > /Erik > > On 2013-06-13 09:42, Erik Joelsson wrote: >> Would be great if I could get a final ok on this, thanks. >> >> /Erik >> >> On 2013-06-07 13:08, Erik Joelsson wrote: >>> >>> >>> On 2013-06-05 20:40, Jonathan Gibbons wrote: >>>> On 06/05/2013 11:38 AM, Jonathan Gibbons wrote: >>>>> On 06/05/2013 07:24 AM, Erik Joelsson wrote: >>>>>> Hello, >>>>>> >>>>>> Here is a small patch fixing a problem with sjavac. Sjavac tries >>>>>> to be smart about sizing itself to no run out of memory. The >>>>>> logic for figuring out if it's running on a 32 or 64bit jvm is >>>>>> rather crude and misses on several platforms. This patch makes >>>>>> the code more robust. >>>>>> >>>>>> Fixing this issue is a requirement to get sjavac to work well on >>>>>> all platforms in jprt. >>>>>> >>>>>> Bug: http://bugs.sun.com/view_bug.do?bug_id=8014513 >>>>>> >>>>>> Webrev: >>>>>> http://cr.openjdk.java.net/~erikj/8014513/webrev.langtools.01/ >>>>>> >>>>>> /Erik >>>>> >>>>> Erik, >>>>> >>>>> It's OK, but I think it would be better if there was a back door >>>>> to override the default value. That would also partially address >>>>> the comment in the bug about sjavac looking at the wrong JVM -- >>>>> it's using the client process, not the server process. >>>>> >>>>> If you push it as is, I suggest you file a followup bug for >>>>> further improvements. >>>>> >>>>> -- Jon >>>> >>>> Erik, >>>> >>>> The code might also look better if you used a Set for 32 >>>> bit values, and tested for set.contains(dataModel), or if not that, >>>> the use a strings-in-switch statement. >>>> >>> Perhaps I'm missing something or I'm not familiar enough with newer >>> features in the language, but I can't get initialization of a set of >>> 3 Strings to feel more readable and less clumsy than the list of >>> logical ORs. The problem with going switch is that there are two >>> different Strings being tested. >>> >>> Thinking on this some more, I think I was mistaken. We don't need to >>> test for both arch and data model. I was just assuming that >>> "sun.arch.data.model" might not be as reliable as "os.arch". On the >>> other hand, the heuristics here are rather specific to using hotspot >>> and open/oraclejdk, so for all practical cases, using >>> sun.arch.data.model should be safe. New webrev using just data.model: >>> >>> http://cr.openjdk.java.net/~erikj/8014513/webrev.langtools.02/ >>> >>> It would be good to provide hooks to control this behavior of >>> sjavac. Will file a followup bug for that. >>> >>> /Erik >>>> -- Jon From eric.mccorkle at oracle.com Thu Jun 20 13:32:08 2013 From: eric.mccorkle at oracle.com (Eric McCorkle) Date: Thu, 20 Jun 2013 16:32:08 -0400 Subject: Review Request for JDK-8007546: ClassCastException on JSR308 tests In-Reply-To: <51B89C9B.1050904@oracle.com> References: <51B72561.60204@oracle.com> <51B75CDA.2060702@oracle.com> <51B89C9B.1050904@oracle.com> Message-ID: <51C366C8.2070808@oracle.com> Pinging this request again. Webrev: http://cr.openjdk.java.net/~emc/8007546/ On 06/12/13 12:06, Eric McCorkle wrote: > Are there any comments on this? I'd like to get it in. > > On 06/11/13 13:22, Eric McCorkle wrote: >> I renamed the directory to use the original bug ID, not the duplicate. >> Please use this link instead: >> http://cr.openjdk.java.net/~emc/8007546/ >> >> On 06/11/13 09:25, Eric McCorkle wrote: >>> Hello, >>> >>> Please review this patch, which fixes an error causing >>> ClassCastExceptions in several JCK tests. >>> >>> Note: this also fixes JDK-8015992, which was a duplicate of JDK-8007546. >>> >>> The webrev is here >>> http://cr.openjdk.java.net/~emc/8015992/ >>> >>> The bug report is here: >>> http://bugs.sun.com/view_bug.do?bug_id=8007546 >>> >>> Thanks, >>> Eric >>> -------------- next part -------------- A non-text attachment was scrubbed... Name: eric_mccorkle.vcf Type: text/x-vcard Size: 314 bytes Desc: not available Url : http://mail.openjdk.java.net/pipermail/compiler-dev/attachments/20130620/37282fb7/eric_mccorkle.vcf From jonathan.gibbons at oracle.com Thu Jun 20 13:35:40 2013 From: jonathan.gibbons at oracle.com (Jonathan Gibbons) Date: Thu, 20 Jun 2013 13:35:40 -0700 Subject: Review Request for JDK-8007546: ClassCastException on JSR308 tests In-Reply-To: <51C366C8.2070808@oracle.com> References: <51B72561.60204@oracle.com> <51B75CDA.2060702@oracle.com> <51B89C9B.1050904@oracle.com> <51C366C8.2070808@oracle.com> Message-ID: <51C3679C.1080207@oracle.com> Test? -- Jon On 06/20/2013 01:32 PM, Eric McCorkle wrote: > Pinging this request again. > > Webrev: > http://cr.openjdk.java.net/~emc/8007546/ > > On 06/12/13 12:06, Eric McCorkle wrote: >> Are there any comments on this? I'd like to get it in. >> >> On 06/11/13 13:22, Eric McCorkle wrote: >>> I renamed the directory to use the original bug ID, not the duplicate. >>> Please use this link instead: >>> http://cr.openjdk.java.net/~emc/8007546/ >>> >>> On 06/11/13 09:25, Eric McCorkle wrote: >>>> Hello, >>>> >>>> Please review this patch, which fixes an error causing >>>> ClassCastExceptions in several JCK tests. >>>> >>>> Note: this also fixes JDK-8015992, which was a duplicate of JDK-8007546. >>>> >>>> The webrev is here >>>> http://cr.openjdk.java.net/~emc/8015992/ >>>> >>>> The bug report is here: >>>> http://bugs.sun.com/view_bug.do?bug_id=8007546 >>>> >>>> Thanks, >>>> Eric >>>> From eric.mccorkle at oracle.com Thu Jun 20 13:51:34 2013 From: eric.mccorkle at oracle.com (Eric McCorkle) Date: Thu, 20 Jun 2013 16:51:34 -0400 Subject: Review Request for JDK-8007546: ClassCastException on JSR308 tests In-Reply-To: <51C3679C.1080207@oracle.com> References: <51B72561.60204@oracle.com> <51B75CDA.2060702@oracle.com> <51B89C9B.1050904@oracle.com> <51C366C8.2070808@oracle.com> <51C3679C.1080207@oracle.com> Message-ID: <51C36B56.80508@oracle.com> The bug is for the following JCK test failures: lang/ANNOT/annot107/annot10701m803 lang/ANNOT/annot107/annot10701m815 lang/ANNOT/annot107/annot10701m826 lang/ANNOT/annot107/annot10701m837 lang/ANNOT/annot107/annot10701m872 lang/ANNOT/annot107/annot10701m883 lang/ANNOT/annot107/annot10701m895 lang/ANNOT/annot107/annot10701m906 lang/ANNOT/annot107/annot10701m917 lang/ANNOT/annot107/annot10701m928 lang/ANNOT/annot107/annot10701m931 lang/ANNOT/annot107/annot10701m975 lang/ANNOT/annot107/annot10701m986 lang/ANNOT/annot107/annot10701m997 all of which pass now. The bug report was buried down in the history. I'll bring it back up to the top: http://bugs.sun.com/view_bug.do?bug_id=8007546 On 06/20/13 16:35, Jonathan Gibbons wrote: > Test? > > -- Jon > > On 06/20/2013 01:32 PM, Eric McCorkle wrote: >> Pinging this request again. >> >> Webrev: >> http://cr.openjdk.java.net/~emc/8007546/ >> >> On 06/12/13 12:06, Eric McCorkle wrote: >>> Are there any comments on this? I'd like to get it in. >>> >>> On 06/11/13 13:22, Eric McCorkle wrote: >>>> I renamed the directory to use the original bug ID, not the duplicate. >>>> Please use this link instead: >>>> http://cr.openjdk.java.net/~emc/8007546/ >>>> >>>> On 06/11/13 09:25, Eric McCorkle wrote: >>>>> Hello, >>>>> >>>>> Please review this patch, which fixes an error causing >>>>> ClassCastExceptions in several JCK tests. >>>>> >>>>> Note: this also fixes JDK-8015992, which was a duplicate of >>>>> JDK-8007546. >>>>> >>>>> The webrev is here >>>>> http://cr.openjdk.java.net/~emc/8015992/ >>>>> >>>>> The bug report is here: >>>>> http://bugs.sun.com/view_bug.do?bug_id=8007546 >>>>> >>>>> Thanks, >>>>> Eric >>>>> > -------------- next part -------------- A non-text attachment was scrubbed... Name: eric_mccorkle.vcf Type: text/x-vcard Size: 314 bytes Desc: not available Url : http://mail.openjdk.java.net/pipermail/compiler-dev/attachments/20130620/8e10fbb4/eric_mccorkle.vcf From rieberandreas at gmail.com Thu Jun 20 13:52:01 2013 From: rieberandreas at gmail.com (Andreas Rieber) Date: Thu, 20 Jun 2013 22:52:01 +0200 Subject: Review Request for JDK-8007546: ClassCastException on JSR308 tests In-Reply-To: <51C3679C.1080207@oracle.com> References: <51B72561.60204@oracle.com> <51B75CDA.2060702@oracle.com> <51B89C9B.1050904@oracle.com> <51C366C8.2070808@oracle.com> <51C3679C.1080207@oracle.com> Message-ID: <51C36B71.9020000@gmail.com> Test works ;-) On 20.06.13 22:35, Jonathan Gibbons wrote: > Test? > > -- Jon > > On 06/20/2013 01:32 PM, Eric McCorkle wrote: >> Pinging this request again. >> >> Webrev: >> http://cr.openjdk.java.net/~emc/8007546/ >> >> On 06/12/13 12:06, Eric McCorkle wrote: >>> Are there any comments on this? I'd like to get it in. >>> >>> On 06/11/13 13:22, Eric McCorkle wrote: >>>> I renamed the directory to use the original bug ID, not the duplicate. >>>> Please use this link instead: >>>> http://cr.openjdk.java.net/~emc/8007546/ >>>> >>>> On 06/11/13 09:25, Eric McCorkle wrote: >>>>> Hello, >>>>> >>>>> Please review this patch, which fixes an error causing >>>>> ClassCastExceptions in several JCK tests. >>>>> >>>>> Note: this also fixes JDK-8015992, which was a duplicate of >>>>> JDK-8007546. >>>>> >>>>> The webrev is here >>>>> http://cr.openjdk.java.net/~emc/8015992/ >>>>> >>>>> The bug report is here: >>>>> http://bugs.sun.com/view_bug.do?bug_id=8007546 >>>>> >>>>> Thanks, >>>>> Eric >>>>> > From alex.buckley at oracle.com Thu Jun 20 15:29:19 2013 From: alex.buckley at oracle.com (Alex Buckley) Date: Thu, 20 Jun 2013 15:29:19 -0700 Subject: Review request for JDK-8014230: Compilation incorrectly succeeds with inner class constructor with 254 parameters In-Reply-To: <51C34C29.80706@oracle.com> References: <51BB60F3.8040501@oracle.com> <51BB730C.1000003@oracle.com> <51BB79BA.20300@oracle.com> <51BB7D4A.9090107@oracle.com> <51C201A0.1060702@oracle.com> <51C22963.8060802@oracle.com> <51C34C29.80706@oracle.com> Message-ID: <51C3823F.1050509@oracle.com> Thanks ... just a few things: - The fact that NumArgsTest enforces "threshold passes, threshold + 1 fails" is buried quite deep in runTest. Perhaps a comment at threshold's declaration that it's the maximum number of parameters allowed? - Maybe declare "static NestingDef[] NO_NESTING = {};" in NumArgsTest, then in ToplevelClass* and StaticMethodArgs just pass NO_NESTING rather than bothering with the nesting field. Alex On 6/20/2013 11:38 AM, Eric McCorkle wrote: > Thank you for the suggestions, Alex. I have applied all except the > change to "threshold". I named it as such because the test asserts that > methods with "threshold" arguments should pass, but ones with > "threshold" + 1 should fail. It seems to exactly describe the meaning. > > A new webrev has been posted: > http://cr.openjdk.java.net/~emc/8014230/ > > Also, there are several successful JPRT runs (minus a known issue). > > Since Jon made comments earlier, I would like to hear from him before I > commit. > > On 06/19/13 17:57, Alex Buckley wrote: >> - There is less coverage because NumArgs1/2 tested instance and static >> methods while the new MethodArgs only tests instance methods. >> >> - There is no such thing as a static inner class. An inner class is >> non-static by definition (JLS7 8.1.3). The term StaticInnerClass should >> be replaced with StaticNestedClass throughout. >> >> - For grouping purposes, it would be good to prefix ConstructorArgs and >> MethodArgs with "ToplevelClass". Later, we'll have an "AnonClass" prefix >> too. >> >> - Might rename threshold to maxArgs in NumArgs. (Is a threshold >> something you can step up to but not on, or something you can step on?) >> >> - Might rename retty ("return type") to result, since the field can >> store "void" and void is not a [return] type (JLS7 8.4.5) >> >> - Might rename ClassNestingDef to NestedClassBuilder. >> >> Alex >> >> On 6/19/2013 12:08 PM, Eric McCorkle wrote: >>> Added a new constructor to Main that allows tests to pass in their own >>> Log, facilitating much more precise tests of what errors the compilers >>> generates. >>> >>> I also rolled all the arg limit tests into a general framework. >>> >>> Webrev is here: >>> http://cr.openjdk.java.net/~emc/8014230/ >>> >>> On 06/14/13 16:30, Jonathan Gibbons wrote: >>>> There are two solutions. >>>> >>>> For a one-off test, the standard technique is to use a golden file >>>> in conjunctions with rawDiagnostics. The combination is >>>> "somewhat frail" but nowhere near "incredibly frail". The technique >>>> has served us well for many years now. >>>> >>>> If you are driving javac through the Compiler API, you can register >>>> a DiagnosticListener, and verify the characteristics of the Diagnostic >>>> objects passed to report. >>>> >>>> -- Jon >>>> >>>> >>>> On 06/14/2013 01:14 PM, Eric McCorkle wrote: >>>>> Is there a more convenient API for checking error messages? Golden >>>>> will >>>>> make for an incredibly frail test, I think. >>>>> >>>>> On 06/14/13 15:46, Jonathan Gibbons wrote: >>>>>> The change to Gen looks OK, but the tests look weak. At a minimum, I >>>>>> would expect to see the test check the validity of the error message >>>>>> that is generated; even better would be to generate the test cases on >>>>>> the fly. >>>>>> >>>>>> -- Jon >>>>>> >>>>>> On 06/14/2013 11:29 AM, Eric McCorkle wrote: >>>>>>> Hello, >>>>>>> >>>>>>> Please review this patch, which addresses a problem with javac not >>>>>>> taking inner this parameters into account when determining if >>>>>>> there are >>>>>>> too many parameters to a function. >>>>>>> >>>>>>> The webrev is here: >>>>>>> http://cr.openjdk.java.net/~emc/8014230/ >>>>>>> >>>>>>> The bug report is here: >>>>>>> http://bugs.sun.com/view_bug.do?bug_id=8014230 >>>>>>> >>>>>>> Thanks, >>>>>>> Eric >>>> From jonathan.gibbons at oracle.com Thu Jun 20 15:30:11 2013 From: jonathan.gibbons at oracle.com (Jonathan Gibbons) Date: Thu, 20 Jun 2013 15:30:11 -0700 Subject: Review request for JDK-8014230: Compilation incorrectly succeeds with inner class constructor with 254 parameters In-Reply-To: <51C201A0.1060702@oracle.com> References: <51BB60F3.8040501@oracle.com> <51BB730C.1000003@oracle.com> <51BB79BA.20300@oracle.com> <51BB7D4A.9090107@oracle.com> <51C201A0.1060702@oracle.com> Message-ID: <51C38273.9070406@oracle.com> Changes to Main are unnecessary and should be undone. If you want to provide your own Log, stash it in the Context -- that is why that parameter is provided. Also, why do you need to interpose on Log -- why not use Diagnostic API? -- Jon On 06/19/2013 12:08 PM, Eric McCorkle wrote: > Added a new constructor to Main that allows tests to pass in their own > Log, facilitating much more precise tests of what errors the compilers > generates. > > I also rolled all the arg limit tests into a general framework. > > Webrev is here: > http://cr.openjdk.java.net/~emc/8014230/ > > On 06/14/13 16:30, Jonathan Gibbons wrote: >> There are two solutions. >> >> For a one-off test, the standard technique is to use a golden file >> in conjunctions with rawDiagnostics. The combination is >> "somewhat frail" but nowhere near "incredibly frail". The technique >> has served us well for many years now. >> >> If you are driving javac through the Compiler API, you can register >> a DiagnosticListener, and verify the characteristics of the Diagnostic >> objects passed to report. >> >> -- Jon >> >> >> On 06/14/2013 01:14 PM, Eric McCorkle wrote: >>> Is there a more convenient API for checking error messages? Golden will >>> make for an incredibly frail test, I think. >>> >>> On 06/14/13 15:46, Jonathan Gibbons wrote: >>>> The change to Gen looks OK, but the tests look weak. At a minimum, I >>>> would expect to see the test check the validity of the error message >>>> that is generated; even better would be to generate the test cases on >>>> the fly. >>>> >>>> -- Jon >>>> >>>> On 06/14/2013 11:29 AM, Eric McCorkle wrote: >>>>> Hello, >>>>> >>>>> Please review this patch, which addresses a problem with javac not >>>>> taking inner this parameters into account when determining if there are >>>>> too many parameters to a function. >>>>> >>>>> The webrev is here: >>>>> http://cr.openjdk.java.net/~emc/8014230/ >>>>> >>>>> The bug report is here: >>>>> http://bugs.sun.com/view_bug.do?bug_id=8014230 >>>>> >>>>> Thanks, >>>>> Eric From jonathan.gibbons at oracle.com Thu Jun 20 15:36:04 2013 From: jonathan.gibbons at oracle.com (Jonathan Gibbons) Date: Thu, 20 Jun 2013 15:36:04 -0700 Subject: Review Request for JDK-8007546: ClassCastException on JSR308 tests In-Reply-To: <51C36B56.80508@oracle.com> References: <51B72561.60204@oracle.com> <51B75CDA.2060702@oracle.com> <51B89C9B.1050904@oracle.com> <51C366C8.2070808@oracle.com> <51C3679C.1080207@oracle.com> <51C36B56.80508@oracle.com> Message-ID: <51C383D4.6060004@oracle.com> Approved. On 06/20/2013 01:51 PM, Eric McCorkle wrote: > The bug is for the following JCK test failures: > > lang/ANNOT/annot107/annot10701m803 > lang/ANNOT/annot107/annot10701m815 > lang/ANNOT/annot107/annot10701m826 > lang/ANNOT/annot107/annot10701m837 > lang/ANNOT/annot107/annot10701m872 > lang/ANNOT/annot107/annot10701m883 > lang/ANNOT/annot107/annot10701m895 > lang/ANNOT/annot107/annot10701m906 > lang/ANNOT/annot107/annot10701m917 > lang/ANNOT/annot107/annot10701m928 > lang/ANNOT/annot107/annot10701m931 > lang/ANNOT/annot107/annot10701m975 > lang/ANNOT/annot107/annot10701m986 > lang/ANNOT/annot107/annot10701m997 > > all of which pass now. The bug report was buried down in the history. > I'll bring it back up to the top: > http://bugs.sun.com/view_bug.do?bug_id=8007546 > > On 06/20/13 16:35, Jonathan Gibbons wrote: >> Test? >> >> -- Jon >> >> On 06/20/2013 01:32 PM, Eric McCorkle wrote: >>> Pinging this request again. >>> >>> Webrev: >>> http://cr.openjdk.java.net/~emc/8007546/ >>> >>> On 06/12/13 12:06, Eric McCorkle wrote: >>>> Are there any comments on this? I'd like to get it in. >>>> >>>> On 06/11/13 13:22, Eric McCorkle wrote: >>>>> I renamed the directory to use the original bug ID, not the duplicate. >>>>> Please use this link instead: >>>>> http://cr.openjdk.java.net/~emc/8007546/ >>>>> >>>>> On 06/11/13 09:25, Eric McCorkle wrote: >>>>>> Hello, >>>>>> >>>>>> Please review this patch, which fixes an error causing >>>>>> ClassCastExceptions in several JCK tests. >>>>>> >>>>>> Note: this also fixes JDK-8015992, which was a duplicate of >>>>>> JDK-8007546. >>>>>> >>>>>> The webrev is here >>>>>> http://cr.openjdk.java.net/~emc/8015992/ >>>>>> >>>>>> The bug report is here: >>>>>> http://bugs.sun.com/view_bug.do?bug_id=8007546 >>>>>> >>>>>> Thanks, >>>>>> Eric >>>>>> From eric.mccorkle at oracle.com Thu Jun 20 16:02:24 2013 From: eric.mccorkle at oracle.com (eric.mccorkle at oracle.com) Date: Thu, 20 Jun 2013 23:02:24 +0000 Subject: hg: jdk8/tl/langtools: 8007546: ClassCastException on JSR308 tests; ... Message-ID: <20130620230228.F40F348392@hg.openjdk.java.net> Changeset: e9ebff1840e5 Author: emc Date: 2013-06-20 19:01 -0400 URL: http://hg.openjdk.java.net/jdk8/tl/langtools/rev/e9ebff1840e5 8007546: ClassCastException on JSR308 tests 8015993: jck-compiler tests are failed with java.lang.ClassCastException Summary: Fix ClassCastExceptions arising from addition of AnnotatedType. Reviewed-by: jjg, abuckley ! src/share/classes/com/sun/tools/javac/comp/Attr.java ! src/share/classes/com/sun/tools/javac/jvm/Code.java From alan.bateman at oracle.com Thu Jun 20 22:44:04 2013 From: alan.bateman at oracle.com (alan.bateman at oracle.com) Date: Fri, 21 Jun 2013 05:44:04 +0000 Subject: hg: jdk8/tl/jdk: 8014377: (dc) DatagramChannel should set IP_MULTICAST_ALL=0 (lnx) Message-ID: <20130621054428.B590E483C3@hg.openjdk.java.net> Changeset: cd06fc069152 Author: alanb Date: 2013-06-20 19:14 +0100 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/cd06fc069152 8014377: (dc) DatagramChannel should set IP_MULTICAST_ALL=0 (lnx) Reviewed-by: chegar, jzavgren ! src/solaris/native/sun/nio/ch/Net.c + test/java/nio/channels/DatagramChannel/Promiscuous.java From weijun.wang at oracle.com Fri Jun 21 05:29:28 2013 From: weijun.wang at oracle.com (weijun.wang at oracle.com) Date: Fri, 21 Jun 2013 12:29:28 +0000 Subject: hg: jdk8/tl/jdk: 8001326: Improve Kerberos caching Message-ID: <20130621122954.DF90F483D2@hg.openjdk.java.net> Changeset: 4503e04141f7 Author: weijun Date: 2013-06-21 18:26 +0800 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/4503e04141f7 8001326: Improve Kerberos caching Reviewed-by: valeriep ! src/share/classes/sun/security/jgss/krb5/AcceptSecContextToken.java ! src/share/classes/sun/security/krb5/EncryptionKey.java ! src/share/classes/sun/security/krb5/KrbApRep.java ! src/share/classes/sun/security/krb5/KrbApReq.java + src/share/classes/sun/security/krb5/internal/ReplayCache.java + src/share/classes/sun/security/krb5/internal/rcache/AuthList.java ! src/share/classes/sun/security/krb5/internal/rcache/AuthTime.java + src/share/classes/sun/security/krb5/internal/rcache/AuthTimeWithHash.java - src/share/classes/sun/security/krb5/internal/rcache/CacheTable.java + src/share/classes/sun/security/krb5/internal/rcache/DflCache.java + src/share/classes/sun/security/krb5/internal/rcache/MemoryCache.java - src/share/classes/sun/security/krb5/internal/rcache/ReplayCache.java + test/java/security/testlibrary/Proc.java ! test/sun/security/krb5/auto/AcceptorSubKey.java + test/sun/security/krb5/auto/BasicProc.java ! test/sun/security/krb5/auto/Context.java ! test/sun/security/krb5/auto/KDC.java + test/sun/security/krb5/auto/NoneReplayCacheTest.java - test/sun/security/krb5/auto/ReplayCache.java + test/sun/security/krb5/auto/ReplayCacheExpunge.java + test/sun/security/krb5/auto/ReplayCachePrecise.java + test/sun/security/krb5/auto/ReplayCacheTest.java + test/sun/security/krb5/auto/ReplayCacheTestProc.java ! test/sun/security/krb5/ccache/EmptyCC.java From sundararajan.athijegannathan at oracle.com Fri Jun 21 06:15:41 2013 From: sundararajan.athijegannathan at oracle.com (sundararajan.athijegannathan at oracle.com) Date: Fri, 21 Jun 2013 13:15:41 +0000 Subject: hg: jdk8/tl/nashorn: 7 new changesets Message-ID: <20130621131548.81A9C483D5@hg.openjdk.java.net> Changeset: 6a75a505301f Author: sundar Date: 2013-06-18 18:43 +0530 URL: http://hg.openjdk.java.net/jdk8/tl/nashorn/rev/6a75a505301f 8012698: [nashorn] tests fail to run with agentvm or samevm Reviewed-by: hannesw, jlaskey ! 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 Changeset: 7276d66b7118 Author: jlaskey Date: 2013-06-19 09:10 -0300 URL: http://hg.openjdk.java.net/jdk8/tl/nashorn/rev/7276d66b7118 8010697: DeletedArrayFilter seems to leak memory Reviewed-by: hannesw, sundar Contributed-by: james.laskey at oracle.com ! src/jdk/nashorn/internal/objects/NativeArray.java ! src/jdk/nashorn/internal/runtime/arrays/ArrayData.java ! src/jdk/nashorn/internal/runtime/arrays/ArrayFilter.java ! src/jdk/nashorn/internal/runtime/arrays/DeletedArrayFilter.java ! src/jdk/nashorn/internal/runtime/arrays/DeletedRangeArrayFilter.java ! src/jdk/nashorn/internal/runtime/arrays/ObjectArrayData.java ! src/jdk/nashorn/internal/runtime/arrays/SparseArrayData.java + test/script/basic/JDK-8010697.js + test/script/basic/JDK-8010697.js.EXPECTED Changeset: c7c9222cfe69 Author: sundar Date: 2013-06-19 21:07 +0530 URL: http://hg.openjdk.java.net/jdk8/tl/nashorn/rev/c7c9222cfe69 8015347: Parsing issue with decodeURIComponent Reviewed-by: jlaskey, hannesw ! src/jdk/nashorn/internal/runtime/URIUtils.java + test/script/basic/JDK-8015347.js Changeset: ac404bf3f8c8 Author: sundar Date: 2013-06-20 13:45 +0530 URL: http://hg.openjdk.java.net/jdk8/tl/nashorn/rev/ac404bf3f8c8 8017046: Cannot assign undefined to a function argument if the function uses arguments object Reviewed-by: hannesw ! src/jdk/nashorn/internal/objects/NativeArguments.java + test/script/basic/JDK-8017046.js Changeset: c7672e621b14 Author: sundar Date: 2013-06-20 17:34 +0530 URL: http://hg.openjdk.java.net/jdk8/tl/nashorn/rev/c7672e621b14 Merge Changeset: 8e03121cc286 Author: sundar Date: 2013-06-21 16:55 +0530 URL: http://hg.openjdk.java.net/jdk8/tl/nashorn/rev/8e03121cc286 8017260: adjust lookup code in objects.* classes Reviewed-by: hannesw, jlaskey ! src/jdk/nashorn/internal/objects/Global.java ! src/jdk/nashorn/internal/objects/NativeArguments.java ! src/jdk/nashorn/internal/objects/NativeError.java ! src/jdk/nashorn/internal/objects/NativeStrictArguments.java ! src/jdk/nashorn/internal/objects/PrototypeObject.java Changeset: b4e2bccf9598 Author: sundar Date: 2013-06-21 17:33 +0530 URL: http://hg.openjdk.java.net/jdk8/tl/nashorn/rev/b4e2bccf9598 Merge From eric.mccorkle at oracle.com Fri Jun 21 12:58:15 2013 From: eric.mccorkle at oracle.com (Eric McCorkle) Date: Fri, 21 Jun 2013 15:58:15 -0400 Subject: Review request for JDK-8014230: Compilation incorrectly succeeds with inner class constructor with 254 parameters In-Reply-To: <51C38273.9070406@oracle.com> References: <51BB60F3.8040501@oracle.com> <51BB730C.1000003@oracle.com> <51BB79BA.20300@oracle.com> <51BB7D4A.9090107@oracle.com> <51C201A0.1060702@oracle.com> <51C38273.9070406@oracle.com> Message-ID: <51C4B057.5070908@oracle.com> A new webrev has been posted that incorporates your and Alex's suggestions. http://cr.openjdk.java.net/~emc/8014230/ On 06/20/13 18:30, Jonathan Gibbons wrote: > Changes to Main are unnecessary and should be undone. If you want to > provide your own Log, stash it in the Context -- that is why that > parameter is provided. > > Also, why do you need to interpose on Log -- why not use Diagnostic API? > > -- Jon > > > On 06/19/2013 12:08 PM, Eric McCorkle wrote: >> Added a new constructor to Main that allows tests to pass in their own >> Log, facilitating much more precise tests of what errors the compilers >> generates. >> >> I also rolled all the arg limit tests into a general framework. >> >> Webrev is here: >> http://cr.openjdk.java.net/~emc/8014230/ >> >> On 06/14/13 16:30, Jonathan Gibbons wrote: >>> There are two solutions. >>> >>> For a one-off test, the standard technique is to use a golden file >>> in conjunctions with rawDiagnostics. The combination is >>> "somewhat frail" but nowhere near "incredibly frail". The technique >>> has served us well for many years now. >>> >>> If you are driving javac through the Compiler API, you can register >>> a DiagnosticListener, and verify the characteristics of the Diagnostic >>> objects passed to report. >>> >>> -- Jon >>> >>> >>> On 06/14/2013 01:14 PM, Eric McCorkle wrote: >>>> Is there a more convenient API for checking error messages? Golden >>>> will >>>> make for an incredibly frail test, I think. >>>> >>>> On 06/14/13 15:46, Jonathan Gibbons wrote: >>>>> The change to Gen looks OK, but the tests look weak. At a minimum, I >>>>> would expect to see the test check the validity of the error message >>>>> that is generated; even better would be to generate the test cases on >>>>> the fly. >>>>> >>>>> -- Jon >>>>> >>>>> On 06/14/2013 11:29 AM, Eric McCorkle wrote: >>>>>> Hello, >>>>>> >>>>>> Please review this patch, which addresses a problem with javac not >>>>>> taking inner this parameters into account when determining if >>>>>> there are >>>>>> too many parameters to a function. >>>>>> >>>>>> The webrev is here: >>>>>> http://cr.openjdk.java.net/~emc/8014230/ >>>>>> >>>>>> The bug report is here: >>>>>> http://bugs.sun.com/view_bug.do?bug_id=8014230 >>>>>> >>>>>> Thanks, >>>>>> Eric > -------------- next part -------------- A non-text attachment was scrubbed... Name: eric_mccorkle.vcf Type: text/x-vcard Size: 314 bytes Desc: not available Url : http://mail.openjdk.java.net/pipermail/compiler-dev/attachments/20130621/35ed7bfa/eric_mccorkle.vcf From alan.bateman at oracle.com Fri Jun 21 13:09:41 2013 From: alan.bateman at oracle.com (alan.bateman at oracle.com) Date: Fri, 21 Jun 2013 20:09:41 +0000 Subject: hg: jdk8/tl/jdk: 7192954: Fix Float.parseFloat to round correctly and preserve monotonicity.; ... Message-ID: <20130621201022.D85C0483F4@hg.openjdk.java.net> Changeset: a88f6f4d279f Author: bpb Date: 2013-06-21 11:12 -0700 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/a88f6f4d279f 7192954: Fix Float.parseFloat to round correctly and preserve monotonicity. 4396272: Parsing doubles fails to follow IEEE for largest decimal that should yield 0 7039391: Use Math.ulp in FloatingDecimal Summary: Correct rounding and monotonicity problems in floats and doubles Reviewed-by: bpb, martin Contributed-by: Dmitry Nadezhin , Louis Wasserman ! src/share/classes/sun/misc/FDBigInteger.java ! src/share/classes/sun/misc/FloatingDecimal.java ! test/java/lang/Double/ParseDouble.java ! test/java/lang/Float/ParseFloat.java ! test/sun/misc/FloatingDecimal/TestFDBigInteger.java From alan.bateman at oracle.com Fri Jun 21 13:28:22 2013 From: alan.bateman at oracle.com (alan.bateman at oracle.com) Date: Fri, 21 Jun 2013 20:28:22 +0000 Subject: hg: jdk8/tl/jdk: 7131192: BigInteger.doubleValue() is depressingly slow Message-ID: <20130621202835.A3114483F5@hg.openjdk.java.net> Changeset: 814759462705 Author: bpb Date: 2013-06-21 11:50 -0700 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/814759462705 7131192: BigInteger.doubleValue() is depressingly slow Summary: In doubleValue() and floatValue() replace converting to String and parsing to Double or Float with direct conversion into IEEE 754 bits. Reviewed-by: bpb, drchase, martin Contributed-by: Louis Wasserman ! src/share/classes/java/math/BigInteger.java + test/java/math/BigInteger/PrimitiveConversionTests.java From naoto.sato at oracle.com Fri Jun 21 13:43:42 2013 From: naoto.sato at oracle.com (naoto.sato at oracle.com) Date: Fri, 21 Jun 2013 20:43:42 +0000 Subject: hg: jdk8/tl/jdk: 6863624: java/util/Currency/PropertiesTest.sh writable check is incorrect Message-ID: <20130621204354.25036483F8@hg.openjdk.java.net> Changeset: 8b84d557570c Author: naoto Date: 2013-06-21 13:42 -0700 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/8b84d557570c 6863624: java/util/Currency/PropertiesTest.sh writable check is incorrect Reviewed-by: alanb ! test/java/util/Currency/PropertiesTest.sh ! test/java/util/Locale/LocaleProviders.java ! test/java/util/Locale/LocaleProviders.sh From jonathan.gibbons at oracle.com Fri Jun 21 19:33:46 2013 From: jonathan.gibbons at oracle.com (Jonathan Gibbons) Date: Fri, 21 Jun 2013 19:33:46 -0700 Subject: Hitchhiker's Guide to javac Message-ID: <51C50D0A.1030802@oracle.com> There's a new doc page on the OpenJDK Compiler Group pages, The Hitchhiker's Guide To javac This is an initial version; the intent is to expand it as needed over time. -- Jon -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/compiler-dev/attachments/20130621/ffa6f59c/attachment.html From chris.hegarty at oracle.com Sat Jun 22 00:22:14 2013 From: chris.hegarty at oracle.com (chris.hegarty at oracle.com) Date: Sat, 22 Jun 2013 07:22:14 +0000 Subject: hg: jdk8/tl/jdk: 7157360: HttpURLConnection: HTTP method DELETE doesn't support output Message-ID: <20130622072243.684C74841B@hg.openjdk.java.net> Changeset: fd050ba1cf72 Author: arieber Date: 2013-06-22 08:20 +0100 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/fd050ba1cf72 7157360: HttpURLConnection: HTTP method DELETE doesn't support output Reviewed-by: chegar ! src/share/classes/sun/net/www/http/PosterOutputStream.java ! src/share/classes/sun/net/www/protocol/http/HttpURLConnection.java + test/sun/net/www/http/HttpURLConnection/PostOnDelete.java From chris.hegarty at oracle.com Sat Jun 22 00:16:36 2013 From: chris.hegarty at oracle.com (chris.hegarty at oracle.com) Date: Sat, 22 Jun 2013 07:16:36 +0000 Subject: hg: jdk8/tl/jdk: 8017271: Crash may occur in java.net.DualStackPlainSocketImpl::initIDs due to unchecked values returned from JNI functions Message-ID: <20130622071713.3D5FC48419@hg.openjdk.java.net> Changeset: cb3f3a05eee3 Author: chegar Date: 2013-06-22 08:14 +0100 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/cb3f3a05eee3 8017271: Crash may occur in java.net.DualStackPlainSocketImpl::initIDs due to unchecked values returned from JNI functions Reviewed-by: alanb, khazra ! src/solaris/native/java/net/PlainDatagramSocketImpl.c ! src/windows/native/java/net/DualStackPlainSocketImpl.c From rieberandreas at gmail.com Sun Jun 23 06:06:01 2013 From: rieberandreas at gmail.com (Andreas Rieber) Date: Sun, 23 Jun 2013 15:06:01 +0200 Subject: Hitchhiker's Guide to javac In-Reply-To: <51C50D0A.1030802@oracle.com> References: <51C50D0A.1030802@oracle.com> Message-ID: <51C6F2B9.7020805@gmail.com> On 22.06.13 04:33, Jonathan Gibbons wrote: > There's a new doc page on the OpenJDK Compiler Group pages, > The Hitchhiker's Guide To javac > > > This is an initial version; the intent is to expand it as needed over time. > > -- Jon Hi Jon, pretty quiet this mailing list, must be vacation time. But i did read the document. I specially like the "DON'T PANIC" as its true, the compiler code is a nice corner to look in. Even without deeper knowledge i managed to hack in a simple piece for the coins (also on long term vacation, so i didn't go on there). Code Simplification sounds interesting, will look at that when my system calms down from tracking a network issue. cheers Andreas From weijun.wang at oracle.com Mon Jun 24 01:25:42 2013 From: weijun.wang at oracle.com (weijun.wang at oracle.com) Date: Mon, 24 Jun 2013 08:25:42 +0000 Subject: hg: jdk8/tl/jdk: 8017453: ReplayCache tests fail on multiple platforms Message-ID: <20130624082605.6C29248442@hg.openjdk.java.net> Changeset: 1bf060029a5d Author: weijun Date: 2013-06-24 16:25 +0800 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/1bf060029a5d 8017453: ReplayCache tests fail on multiple platforms Reviewed-by: xuelei ! test/sun/security/krb5/auto/ReplayCacheExpunge.java ! test/sun/security/krb5/auto/ReplayCacheTestProc.java From alan.bateman at oracle.com Mon Jun 24 03:31:02 2013 From: alan.bateman at oracle.com (alan.bateman at oracle.com) Date: Mon, 24 Jun 2013 10:31:02 +0000 Subject: hg: jdk8/tl/jdk: 8017477: Remove TimeZone.DisplayNames, no longer used Message-ID: <20130624103144.2524748444@hg.openjdk.java.net> Changeset: 5f80b8cee601 Author: alanb Date: 2013-06-24 11:26 +0100 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/5f80b8cee601 8017477: Remove TimeZone.DisplayNames, no longer used Reviewed-by: okutsu ! src/share/classes/java/util/TimeZone.java From eric.mccorkle at oracle.com Mon Jun 24 10:24:55 2013 From: eric.mccorkle at oracle.com (Eric McCorkle) Date: Mon, 24 Jun 2013 13:24:55 -0400 Subject: Review request for JDK-8012722: Single comma in array initializer should parse Message-ID: <51C880E7.2090302@oracle.com> Hello, Please review this simple patch which updates the javac parser to accept array constants in the form of @Foo({,}) in accordance with JLS 9.7.1. The webrev is here: http://cr.openjdk.java.net/~emc/8012722/ The bug report is here: http://bugs.sun.com/view_bug.do?bug_id=8012722 Thanks, Eric -------------- next part -------------- A non-text attachment was scrubbed... Name: eric_mccorkle.vcf Type: text/x-vcard Size: 303 bytes Desc: not available Url : http://mail.openjdk.java.net/pipermail/compiler-dev/attachments/20130624/2cc3c6b9/eric_mccorkle.vcf From jonathan.gibbons at oracle.com Mon Jun 24 10:53:48 2013 From: jonathan.gibbons at oracle.com (Jonathan Gibbons) Date: Mon, 24 Jun 2013 10:53:48 -0700 Subject: Review request for JDK-8012722: Single comma in array initializer should parse In-Reply-To: <51C880E7.2090302@oracle.com> References: <51C880E7.2090302@oracle.com> Message-ID: <51C887AC.1030704@oracle.com> On 06/24/2013 10:24 AM, Eric McCorkle wrote: > Hello, > > Please review this simple patch which updates the javac parser to accept > array constants in the form of @Foo({,}) in accordance with JLS 9.7.1. > > The webrev is here: > http://cr.openjdk.java.net/~emc/8012722/ > > The bug report is here: > http://bugs.sun.com/view_bug.do?bug_id=8012722 > > Thanks, > Eric OK, but the negative test would be better if you checked it failed for the right reason, perhaps by using -XDrawDiagnostics and a .out file, per \the prevailing standard. -- Jon From naoto.sato at oracle.com Mon Jun 24 16:22:23 2013 From: naoto.sato at oracle.com (naoto.sato at oracle.com) Date: Mon, 24 Jun 2013 23:22:23 +0000 Subject: hg: jdk8/tl/jdk: 8017468: typo in javadoc: " ResourceBunlde " Message-ID: <20130624232245.F2ECE4849B@hg.openjdk.java.net> Changeset: bb2e67628dc0 Author: naoto Date: 2013-06-24 16:21 -0700 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/bb2e67628dc0 8017468: typo in javadoc: " ResourceBunlde " Reviewed-by: okutsu ! src/share/classes/java/util/spi/LocaleServiceProvider.java From eric.mccorkle at oracle.com Mon Jun 24 17:47:06 2013 From: eric.mccorkle at oracle.com (Eric McCorkle) Date: Mon, 24 Jun 2013 20:47:06 -0400 Subject: Review request for JDK-8012722: Single comma in array initializer should parse In-Reply-To: <51C887AC.1030704@oracle.com> References: <51C880E7.2090302@oracle.com> <51C887AC.1030704@oracle.com> Message-ID: <51C8E88A.5080704@oracle.com> Webrev updated with your suggestion. On 06/24/13 13:53, Jonathan Gibbons wrote: > On 06/24/2013 10:24 AM, Eric McCorkle wrote: >> Hello, >> >> Please review this simple patch which updates the javac parser to accept >> array constants in the form of @Foo({,}) in accordance with JLS 9.7.1. >> >> The webrev is here: >> http://cr.openjdk.java.net/~emc/8012722/ >> >> The bug report is here: >> http://bugs.sun.com/view_bug.do?bug_id=8012722 >> >> Thanks, >> Eric > > OK, but the negative test would be better if you checked it failed for the > right reason, perhaps by using -XDrawDiagnostics and a .out file, per > \the prevailing standard. > > -- Jon -------------- next part -------------- A non-text attachment was scrubbed... Name: eric_mccorkle.vcf Type: text/x-vcard Size: 314 bytes Desc: not available Url : http://mail.openjdk.java.net/pipermail/compiler-dev/attachments/20130624/078c4c1c/eric_mccorkle.vcf From jonathan.gibbons at oracle.com Mon Jun 24 18:18:03 2013 From: jonathan.gibbons at oracle.com (Jonathan Gibbons) Date: Mon, 24 Jun 2013 18:18:03 -0700 Subject: Review request for JDK-8012722: Single comma in array initializer should parse In-Reply-To: <51C8E88A.5080704@oracle.com> References: <51C880E7.2090302@oracle.com> <51C887AC.1030704@oracle.com> <51C8E88A.5080704@oracle.com> Message-ID: <51C8EFCB.4080004@oracle.com> Looks good. Did you mean the comment to wrap like that? -- Jon On 06/24/2013 05:47 PM, Eric McCorkle wrote: > Webrev updated with your suggestion. > > On 06/24/13 13:53, Jonathan Gibbons wrote: >> On 06/24/2013 10:24 AM, Eric McCorkle wrote: >>> Hello, >>> >>> Please review this simple patch which updates the javac parser to accept >>> array constants in the form of @Foo({,}) in accordance with JLS 9.7.1. >>> >>> The webrev is here: >>> http://cr.openjdk.java.net/~emc/8012722/ >>> >>> The bug report is here: >>> http://bugs.sun.com/view_bug.do?bug_id=8012722 >>> >>> Thanks, >>> Eric >> OK, but the negative test would be better if you checked it failed for the >> right reason, perhaps by using -XDrawDiagnostics and a .out file, per >> \the prevailing standard. >> >> -- Jon From eric.mccorkle at oracle.com Mon Jun 24 19:05:16 2013 From: eric.mccorkle at oracle.com (eric.mccorkle at oracle.com) Date: Tue, 25 Jun 2013 02:05:16 +0000 Subject: hg: jdk8/tl/langtools: 8012722: Single comma in array initializer should parse Message-ID: <20130625020522.E3E9E484C2@hg.openjdk.java.net> Changeset: bf020de5a6db Author: emc Date: 2013-06-24 22:03 -0400 URL: http://hg.openjdk.java.net/jdk8/tl/langtools/rev/bf020de5a6db 8012722: Single comma in array initializer should parse Summary: Annotations of the form @Foo({,}) should parse Reviewed-by: jjg ! src/share/classes/com/sun/tools/javac/parser/JavacParser.java + test/tools/javac/parser/SingleCommaAnnotationValue.java + test/tools/javac/parser/SingleCommaAnnotationValueFail.java + test/tools/javac/parser/SingleCommaAnnotationValueFail.out From dan.xu at oracle.com Mon Jun 24 20:55:36 2013 From: dan.xu at oracle.com (dan.xu at oracle.com) Date: Tue, 25 Jun 2013 03:55:36 +0000 Subject: hg: jdk8/tl/jdk: 6469160: (fmt) general (%g) formatting of zero (0.0) with precision 0 or 1 throws ArrayOutOfBoundsException Message-ID: <20130625035557.91738484C7@hg.openjdk.java.net> Changeset: eabcb85fcabc Author: bpb Date: 2013-06-24 14:17 -0700 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/eabcb85fcabc 6469160: (fmt) general (%g) formatting of zero (0.0) with precision 0 or 1 throws ArrayOutOfBoundsException Summary: For zero value ensure than an unpadded zero character is passed to Formatter.addZeros() Reviewed-by: iris, darcy Contributed-by: Brian Burkhalter ! src/share/classes/java/util/Formatter.java ! src/share/classes/sun/misc/FloatingDecimal.java ! test/java/util/Formatter/Basic-X.java.template ! test/java/util/Formatter/Basic.java ! test/java/util/Formatter/BasicBigDecimal.java ! test/java/util/Formatter/BasicDouble.java ! test/java/util/Formatter/BasicDoubleObject.java ! test/java/util/Formatter/BasicFloat.java ! test/java/util/Formatter/BasicFloatObject.java From joe.darcy at oracle.com Mon Jun 24 23:40:42 2013 From: joe.darcy at oracle.com (joe.darcy at oracle.com) Date: Tue, 25 Jun 2013 06:40:42 +0000 Subject: hg: jdk8/tl/jdk: 8017550: Fix doclint issues in java.lang and subpackages Message-ID: <20130625064122.AEE10484D2@hg.openjdk.java.net> Changeset: 82e7682c17e2 Author: darcy Date: 2013-06-24 23:40 -0700 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/82e7682c17e2 8017550: Fix doclint issues in java.lang and subpackages Reviewed-by: alanb, chegar ! src/share/classes/java/lang/Boolean.java ! src/share/classes/java/lang/Byte.java ! src/share/classes/java/lang/Class.java ! src/share/classes/java/lang/Double.java ! src/share/classes/java/lang/Float.java ! src/share/classes/java/lang/Integer.java ! src/share/classes/java/lang/Long.java ! src/share/classes/java/lang/Package.java ! src/share/classes/java/lang/Runtime.java ! src/share/classes/java/lang/Short.java ! src/share/classes/java/lang/StrictMath.java ! src/share/classes/java/lang/SuppressWarnings.java ! src/share/classes/java/lang/System.java ! src/share/classes/java/lang/annotation/Annotation.java ! src/share/classes/java/lang/annotation/Repeatable.java ! src/share/classes/java/lang/annotation/Retention.java ! src/share/classes/java/lang/annotation/Target.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/java/lang/reflect/TypeVariable.java From erik.joelsson at oracle.com Tue Jun 25 04:05:37 2013 From: erik.joelsson at oracle.com (Erik Joelsson) Date: Tue, 25 Jun 2013 13:05:37 +0200 Subject: RFR: 8015145: Smartjavac needs more flexibility with linking to sources In-Reply-To: <51C35151.1080000@oracle.com> References: <51B1D57A.3030305@oracle.com> <51B9779C.5070107@oracle.com> <51C2A2FA.80107@oracle.com> <51C35151.1080000@oracle.com> Message-ID: <51C97981.4070401@oracle.com> The way I understand sjavac, multiple -sourcepath options are used to define separate filter rules (include/exclude) for each such option. Here is the way this is already implemented: 1. sjavac will apply the filter rules and build a list of visible sources, from all sourcepaths. 2. The list of visible files is handed to SmartFileManager. 3. All sourcepath options are concatenated and handed to javac. 4. When javac needs to look up a source, it turns to SmartFileManager that will check the list and see if the source is actually visible. What this patch does is acknowledging that there is a difference between -src and -sourcepath (one is for source to be compiled, the other source to be linked to) and because of that, it sometimes makes sense to add the same source root to both of these options, but with different filtering rules. /Erik On 2013-06-20 21:00, Jonathan Gibbons wrote: > I'm not sure about the presumption that multiple -sourcepath options > are OK, unless they are concatenated later in sjavac. javac only > accepts the last one. > > -- Jon > > On 06/19/2013 11:36 PM, Erik Joelsson wrote: >> Trying again. I would like to get a formal review on this if possible. >> >> /Erik >> >> On 2013-06-13 09:41, Erik Joelsson wrote: >>> Would be great if someone could take a look at this, thanks. >>> >>> /Erik >>> >>> On 2013-06-07 14:43, Erik Joelsson wrote: >>>> Here is a patch solving a problem with -sourcepath for sjavac. >>>> >>>> First some background. The security sources (the ones that require >>>> signing) need to be built to a separate directory. If they aren't >>>> (as is the case now) security tests will fail if run on the >>>> exploded jdk image (the one you get when just typing make or make >>>> jdk). In JDK-8009280, I'm trying to fix this. The solution I have >>>> for that bug is working well, except when running with sjavac, and >>>> basically builds all classes except the security classes first to >>>> the normal outputdir and then as a separate step builds just the >>>> security classes to a different outputdir. >>>> >>>> There are two issues that need to be addressed in sjavac for this >>>> to work. First, it needs to be possible to supply the same source >>>> root both to the -src and -sourcepath option (but with different >>>> filter rules). Sjavac is very picky and only links to sources that >>>> are included in either of those options, and since we are excluding >>>> the security sources from -src, we need to add them to -sourcepath. >>>> >>>> The second thing is more of a bug as far as I can tell. Sjavac >>>> compares the found set of sources to compile with what the makefile >>>> think needs to be compiled, as a safety check. Currently, sjavac is >>>> including sources that are just being linked to in this comparison. >>>> I would think that it should only include sources that are meant to >>>> be compiled. >>>> >>>> http://cr.openjdk.java.net/~erikj/8015145/webrev.langtools.01/ >>>> >>>> http://bugs.sun.com/view_bug.do?bug_id=8015145 >>>> >>>> /Erik > From alan.bateman at oracle.com Tue Jun 25 06:06:09 2013 From: alan.bateman at oracle.com (alan.bateman at oracle.com) Date: Tue, 25 Jun 2013 13:06:09 +0000 Subject: hg: jdk8/tl/jdk: 4641897: Faster string conversion of large integers Message-ID: <20130625130621.89076484E5@hg.openjdk.java.net> Changeset: 01fcca3d2b8c Author: bpb Date: 2013-06-20 12:15 -0700 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/01fcca3d2b8c 4641897: Faster string conversion of large integers Summary: Accelerate conversion to string by means of Schoenhage recursive base conversion. Reviewed-by: bpb, alanb Contributed-by: Alan Eliasen ! src/share/classes/java/math/BigInteger.java ! test/java/math/BigInteger/BigIntegerTest.java From alan.bateman at oracle.com Tue Jun 25 05:55:33 2013 From: alan.bateman at oracle.com (alan.bateman at oracle.com) Date: Tue, 25 Jun 2013 12:55:33 +0000 Subject: hg: jdk8/tl/jdk: 8017570: jfr.jar should not be in compact3 (for now) Message-ID: <20130625125616.7C0AA484E3@hg.openjdk.java.net> Changeset: 4a4d910e1504 Author: alanb Date: 2013-06-25 13:53 +0100 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/4a4d910e1504 8017570: jfr.jar should not be in compact3 (for now) Reviewed-by: erikj ! makefiles/profile-includes.txt From weijun.wang at oracle.com Tue Jun 25 06:51:47 2013 From: weijun.wang at oracle.com (weijun.wang at oracle.com) Date: Tue, 25 Jun 2013 13:51:47 +0000 Subject: hg: jdk8/tl/jdk: 8016051: Possible ClassCastException in KdcComm Message-ID: <20130625135211.865A1484EA@hg.openjdk.java.net> Changeset: 89631a384ee6 Author: weijun Date: 2013-06-25 21:51 +0800 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/89631a384ee6 8016051: Possible ClassCastException in KdcComm Reviewed-by: weijun Contributed-by: Artem Smotrakov ! src/share/classes/sun/security/krb5/KdcComm.java From eric.mccorkle at oracle.com Tue Jun 25 07:03:17 2013 From: eric.mccorkle at oracle.com (Eric McCorkle) Date: Tue, 25 Jun 2013 10:03:17 -0400 Subject: Review request for JDK-8016760: failure of regression test langtools/tools/javac/T6725036.java Message-ID: <51C9A325.4020605@oracle.com> Hello, Please review this simple patch which updates regression test langtools/tools/javac/T6725036.java to offset the time returned by JavaFileObject.getLastModified() with the local time to UTC delta. Please note that this patch is intended to address the test failures, and that I will be immediately opening a new bug to investigate and address deeper issues, and also to properly document the API. The webrev is here: http://cr.openjdk.java.net/~emc/8016760/ The bug report is here: http://bugs.sun.com/view_bug.do?bug_id=8016760 Thanks, Eric -------------- next part -------------- A non-text attachment was scrubbed... Name: eric_mccorkle.vcf Type: text/x-vcard Size: 303 bytes Desc: not available Url : http://mail.openjdk.java.net/pipermail/compiler-dev/attachments/20130625/e4a8c403/eric_mccorkle-0001.vcf From eric.mccorkle at oracle.com Tue Jun 25 07:03:49 2013 From: eric.mccorkle at oracle.com (Eric McCorkle) Date: Tue, 25 Jun 2013 10:03:49 -0400 Subject: Review request for JDK-8014230: Compilation incorrectly succeeds with inner class constructor with 254 parameters In-Reply-To: <51C34C29.80706@oracle.com> References: <51BB60F3.8040501@oracle.com> <51BB730C.1000003@oracle.com> <51BB79BA.20300@oracle.com> <51BB7D4A.9090107@oracle.com> <51C201A0.1060702@oracle.com> <51C22963.8060802@oracle.com> <51C34C29.80706@oracle.com> Message-ID: <51C9A345.1030002@oracle.com> Are there any more comments on this one, or is it good to go? On 06/20/13 14:38, Eric McCorkle wrote: > Thank you for the suggestions, Alex. I have applied all except the > change to "threshold". I named it as such because the test asserts that > methods with "threshold" arguments should pass, but ones with > "threshold" + 1 should fail. It seems to exactly describe the meaning. > > A new webrev has been posted: > http://cr.openjdk.java.net/~emc/8014230/ > > Also, there are several successful JPRT runs (minus a known issue). > > Since Jon made comments earlier, I would like to hear from him before I > commit. > > On 06/19/13 17:57, Alex Buckley wrote: >> - There is less coverage because NumArgs1/2 tested instance and static >> methods while the new MethodArgs only tests instance methods. >> >> - There is no such thing as a static inner class. An inner class is >> non-static by definition (JLS7 8.1.3). The term StaticInnerClass should >> be replaced with StaticNestedClass throughout. >> >> - For grouping purposes, it would be good to prefix ConstructorArgs and >> MethodArgs with "ToplevelClass". Later, we'll have an "AnonClass" prefix >> too. >> >> - Might rename threshold to maxArgs in NumArgs. (Is a threshold >> something you can step up to but not on, or something you can step on?) >> >> - Might rename retty ("return type") to result, since the field can >> store "void" and void is not a [return] type (JLS7 8.4.5) >> >> - Might rename ClassNestingDef to NestedClassBuilder. >> >> Alex >> >> On 6/19/2013 12:08 PM, Eric McCorkle wrote: >>> Added a new constructor to Main that allows tests to pass in their own >>> Log, facilitating much more precise tests of what errors the compilers >>> generates. >>> >>> I also rolled all the arg limit tests into a general framework. >>> >>> Webrev is here: >>> http://cr.openjdk.java.net/~emc/8014230/ >>> >>> On 06/14/13 16:30, Jonathan Gibbons wrote: >>>> There are two solutions. >>>> >>>> For a one-off test, the standard technique is to use a golden file >>>> in conjunctions with rawDiagnostics. The combination is >>>> "somewhat frail" but nowhere near "incredibly frail". The technique >>>> has served us well for many years now. >>>> >>>> If you are driving javac through the Compiler API, you can register >>>> a DiagnosticListener, and verify the characteristics of the Diagnostic >>>> objects passed to report. >>>> >>>> -- Jon >>>> >>>> >>>> On 06/14/2013 01:14 PM, Eric McCorkle wrote: >>>>> Is there a more convenient API for checking error messages? Golden >>>>> will >>>>> make for an incredibly frail test, I think. >>>>> >>>>> On 06/14/13 15:46, Jonathan Gibbons wrote: >>>>>> The change to Gen looks OK, but the tests look weak. At a minimum, I >>>>>> would expect to see the test check the validity of the error message >>>>>> that is generated; even better would be to generate the test cases on >>>>>> the fly. >>>>>> >>>>>> -- Jon >>>>>> >>>>>> On 06/14/2013 11:29 AM, Eric McCorkle wrote: >>>>>>> Hello, >>>>>>> >>>>>>> Please review this patch, which addresses a problem with javac not >>>>>>> taking inner this parameters into account when determining if >>>>>>> there are >>>>>>> too many parameters to a function. >>>>>>> >>>>>>> The webrev is here: >>>>>>> http://cr.openjdk.java.net/~emc/8014230/ >>>>>>> >>>>>>> The bug report is here: >>>>>>> http://bugs.sun.com/view_bug.do?bug_id=8014230 >>>>>>> >>>>>>> Thanks, >>>>>>> Eric >>>> -------------- next part -------------- A non-text attachment was scrubbed... Name: eric_mccorkle.vcf Type: text/x-vcard Size: 314 bytes Desc: not available Url : http://mail.openjdk.java.net/pipermail/compiler-dev/attachments/20130625/120cdb88/eric_mccorkle.vcf From vicente.romero at oracle.com Tue Jun 25 08:16:33 2013 From: vicente.romero at oracle.com (vicente.romero at oracle.com) Date: Tue, 25 Jun 2013 15:16:33 +0000 Subject: hg: jdk8/tl/langtools: 8017104: javac should have a class for primitive types that inherits from Type Message-ID: <20130625151636.EBE4F484F1@hg.openjdk.java.net> Changeset: 831467c4c6a7 Author: vromero Date: 2013-06-25 16:12 +0100 URL: http://hg.openjdk.java.net/jdk8/tl/langtools/rev/831467c4c6a7 8017104: javac should have a class for primitive types that inherits from Type Reviewed-by: jjg ! src/share/classes/com/sun/tools/javac/api/JavacTrees.java ! src/share/classes/com/sun/tools/javac/code/Attribute.java ! src/share/classes/com/sun/tools/javac/code/Kinds.java ! src/share/classes/com/sun/tools/javac/code/Printer.java ! src/share/classes/com/sun/tools/javac/code/Symbol.java ! src/share/classes/com/sun/tools/javac/code/Symtab.java ! src/share/classes/com/sun/tools/javac/code/Type.java ! src/share/classes/com/sun/tools/javac/code/TypeTag.java ! src/share/classes/com/sun/tools/javac/code/Types.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/jvm/Code.java ! src/share/classes/com/sun/tools/javac/model/JavacTypes.java From alexander.zuev at oracle.com Tue Jun 25 09:09:06 2013 From: alexander.zuev at oracle.com (alexander.zuev at oracle.com) Date: Tue, 25 Jun 2013 16:09:06 +0000 Subject: hg: jdk8/tl/langtools: 8006973: jtreg test fails: test/tools/javac/warnings/AuxiliaryClass/SelfClassWithAux.java Message-ID: <20130625160911.C428E484F7@hg.openjdk.java.net> Changeset: aceae9ceebbe Author: kizune Date: 2013-06-25 20:08 +0400 URL: http://hg.openjdk.java.net/jdk8/tl/langtools/rev/aceae9ceebbe 8006973: jtreg test fails: test/tools/javac/warnings/AuxiliaryClass/SelfClassWithAux.java Reviewed-by: ksrini ! test/tools/javac/warnings/AuxiliaryClass/SelfClassWithAux.java From xueming.shen at oracle.com Tue Jun 25 10:50:21 2013 From: xueming.shen at oracle.com (Xueming Shen) Date: Tue, 25 Jun 2013 10:50:21 -0700 Subject: Review request for JDK-8016760: failure of regression test langtools/tools/javac/T6725036.java In-Reply-To: <51C9A325.4020605@oracle.com> References: <51C9A325.4020605@oracle.com> Message-ID: <51C9D85D.6080905@oracle.com> This is fine to be a workaround for the test case for now. It probably will need to be undo-ed after the propose change for #8015666 get integrated. http://cr.openjdk.java.net/~sherman/8015666/webrev/ The proposal for #8015666 is to keep the "existing" behavior of ZipEntry.getTime() to return a LastModifiedTime converted from the zip entry's ms-dos-formatted date/time field by using the "default" timezone. A new pair ZipEntry.get/setLastModifiedTime() will be added to access the "real" UTC time stored in the zip entry, if presents. The API doc will be updated accordingly as well to explicitly explain the source of the date/time and the its timezone sensitive conversion. -Sherman On 06/25/2013 07:03 AM, Eric McCorkle wrote: > Hello, > > Please review this simple patch which updates regression test > langtools/tools/javac/T6725036.java to offset the time returned by > JavaFileObject.getLastModified() with the local time to UTC delta. > > Please note that this patch is intended to address the test failures, > and that I will be immediately opening a new bug to investigate and > address deeper issues, and also to properly document the API. > > The webrev is here: > http://cr.openjdk.java.net/~emc/8016760/ > > The bug report is here: > http://bugs.sun.com/view_bug.do?bug_id=8016760 > > Thanks, > Eric From dmytro_sheyko at hotmail.com Tue Jun 25 11:32:52 2013 From: dmytro_sheyko at hotmail.com (Dmytro Sheyko) Date: Tue, 25 Jun 2013 21:32:52 +0300 Subject: patch: javap does not show SourceDebugExtension properly Message-ID: Hello, I was trying to get SourceDebugExtension for compiled jsp class using javap (1.7.0_25, 1.8.0-ea-b91) and it printed something like: ? SourceFile: "x_jsp.java" ? SourceDebugExtension: null ? minor version: 0 ? major version: 50 where expected output is following: ? SourceFile: "x_jsp.java" ? SourceDebugExtension: ??? SMAP ??? x_jsp.java ??? JSP ??? *S JSP ??? *F ??? + 0 x.jsp ??? x.jsp ??? *L ??? 1,3:62 ??? 4:65,4 ??? 6,4:70 ??? 9,4:74 ??? *E ? minor version: 0 ? major version: 50 Getting SourceDebugExtension using JDI works well (i.e. class file is correct). And I would like to propose a patch to fix this issue. Please review. diff -r b3458329d060 src/share/classes/com/sun/tools/classfile/SourceDebugExtension_attribute.java --- a/src/share/classes/com/sun/tools/classfile/SourceDebugExtension_attribute.java??? Mon Jun 24 14:27:32 2013 -0700 +++ b/src/share/classes/com/sun/tools/classfile/SourceDebugExtension_attribute.java??? Tue Jun 25 20:22:06 2013 +0300 @@ -25,9 +25,8 @@ ? ?package com.sun.tools.classfile; ? -import java.io.ByteArrayInputStream; -import java.io.DataInputStream; ?import java.io.IOException; +import java.nio.charset.Charset; ? ?/** ? * See JVMS, section 4.8.15. @@ -38,6 +37,8 @@ ? *? deletion without notice. ? */ ?public class SourceDebugExtension_attribute extends Attribute { +??? private static final Charset UTF8 = Charset.forName("UTF-8"); + ???? SourceDebugExtension_attribute(ClassReader cr, int name_index, int length) throws IOException { ???????? super(name_index, length); ???????? debug_extension = new byte[attribute_length]; @@ -55,12 +56,7 @@ ???? } ? ???? public String getValue() { -??????? DataInputStream d? = new DataInputStream(new ByteArrayInputStream(debug_extension)); -??????? try { -??????????? return d.readUTF(); -??????? } catch (IOException e) { -??????????? return null; -??????? } +??????? return new String(debug_extension, UTF8); ???? } ? ???? public R accept(Visitor visitor, D data) { diff -r b3458329d060 src/share/classes/com/sun/tools/javap/AttributeWriter.java --- a/src/share/classes/com/sun/tools/javap/AttributeWriter.java??? Mon Jun 24 14:27:32 2013 -0700 +++ b/src/share/classes/com/sun/tools/javap/AttributeWriter.java??? Tue Jun 25 20:22:06 2013 +0300 @@ -511,7 +511,10 @@ ???? } ? ???? public Void visitSourceDebugExtension(SourceDebugExtension_attribute attr, Void ignore) { -??????? println("SourceDebugExtension: " + attr.getValue()); +??????? println("SourceDebugExtension:"); +??????? indent(+1); +??????? print(attr.getValue()); +??????? indent(-1); ???????? return null; ???? } ? Regards, Dmytro From xueming.shen at oracle.com Tue Jun 25 11:47:50 2013 From: xueming.shen at oracle.com (Xueming Shen) Date: Tue, 25 Jun 2013 11:47:50 -0700 Subject: Review request for JDK-8016760: failure of regression test langtools/tools/javac/T6725036.java In-Reply-To: <51C9E26B.3070000@oracle.com> References: <51C9A325.4020605@oracle.com> <51C9D85D.6080905@oracle.com> <51C9E26B.3070000@oracle.com> Message-ID: <51C9E5D6.2020704@oracle.com> It is intended to be an opinion. I would assume you would like a reviewer from the langtool team to push the change, given the changset is for the lang repo. You may want to update the "check()" method as well to low the granularity to 2-second before comparing the equality. The timestamp from the ms-dos formatted date/time has 2-second granularity, but the new one has second granularity, so the test case may still fail in some odd timing. -Sherman On 06/25/2013 11:33 AM, Eric McCorkle wrote: > Is this a capital-R review? > > On 06/25/13 13:50, Xueming Shen wrote: >> This is fine to be a workaround for the test case for now. It probably >> will need to be >> undo-ed after the propose change for #8015666 get integrated. >> >> http://cr.openjdk.java.net/~sherman/8015666/webrev/ >> >> The proposal for #8015666 is to keep the "existing" behavior of >> ZipEntry.getTime() >> to return a LastModifiedTime converted from the zip entry's >> ms-dos-formatted date/time >> field by using the "default" timezone. A new pair >> ZipEntry.get/setLastModifiedTime() >> will be added to access the "real" UTC time stored in the zip entry, if >> presents. >> >> The API doc will be updated accordingly as well to explicitly explain >> the source of the >> date/time and the its timezone sensitive conversion. >> >> -Sherman >> >> On 06/25/2013 07:03 AM, Eric McCorkle wrote: >>> Hello, >>> >>> Please review this simple patch which updates regression test >>> langtools/tools/javac/T6725036.java to offset the time returned by >>> JavaFileObject.getLastModified() with the local time to UTC delta. >>> >>> Please note that this patch is intended to address the test failures, >>> and that I will be immediately opening a new bug to investigate and >>> address deeper issues, and also to properly document the API. >>> >>> The webrev is here: >>> http://cr.openjdk.java.net/~emc/8016760/ >>> >>> The bug report is here: >>> http://bugs.sun.com/view_bug.do?bug_id=8016760 >>> >>> Thanks, >>> Eric From jonathan.gibbons at oracle.com Tue Jun 25 12:01:32 2013 From: jonathan.gibbons at oracle.com (Jonathan Gibbons) Date: Tue, 25 Jun 2013 12:01:32 -0700 Subject: patch: javap does not show SourceDebugExtension properly In-Reply-To: References: Message-ID: <51C9E90C.7020309@oracle.com> Dmytro, Thank you for your suggestion. Can you provide more details on why the existing code does not work. Presumably you get an exception -- what is it? Alternative, can you provide a sample class file for which the existing code does not work, together with info on which version of which compiler generated the class file? I agree that the change to visitSourceDebugExtension is probably desirable. -- Jon On 06/25/2013 11:32 AM, Dmytro Sheyko wrote: > Hello, > > I was trying to get SourceDebugExtension for compiled jsp class using javap (1.7.0_25, 1.8.0-ea-b91) and it printed something like: > > SourceFile: "x_jsp.java" > SourceDebugExtension: null > minor version: 0 > major version: 50 > > where expected output is following: > > SourceFile: "x_jsp.java" > SourceDebugExtension: > SMAP > x_jsp.java > JSP > *S JSP > *F > + 0 x.jsp > x.jsp > *L > 1,3:62 > 4:65,4 > 6,4:70 > 9,4:74 > *E > minor version: 0 > major version: 50 > > Getting SourceDebugExtension using JDI works well (i.e. class file is correct). > > And I would like to propose a patch to fix this issue. Please review. > > diff -r b3458329d060 src/share/classes/com/sun/tools/classfile/SourceDebugExtension_attribute.java > --- a/src/share/classes/com/sun/tools/classfile/SourceDebugExtension_attribute.java Mon Jun 24 14:27:32 2013 -0700 > +++ b/src/share/classes/com/sun/tools/classfile/SourceDebugExtension_attribute.java Tue Jun 25 20:22:06 2013 +0300 > @@ -25,9 +25,8 @@ > > package com.sun.tools.classfile; > > -import java.io.ByteArrayInputStream; > -import java.io.DataInputStream; > import java.io.IOException; > +import java.nio.charset.Charset; > > /** > * See JVMS, section 4.8.15. > @@ -38,6 +37,8 @@ > * deletion without notice. > */ > public class SourceDebugExtension_attribute extends Attribute { > + private static final Charset UTF8 = Charset.forName("UTF-8"); > + > SourceDebugExtension_attribute(ClassReader cr, int name_index, int length) throws IOException { > super(name_index, length); > debug_extension = new byte[attribute_length]; > @@ -55,12 +56,7 @@ > } > > public String getValue() { > - DataInputStream d = new DataInputStream(new ByteArrayInputStream(debug_extension)); > - try { > - return d.readUTF(); > - } catch (IOException e) { > - return null; > - } > + return new String(debug_extension, UTF8); > } > > public R accept(Visitor visitor, D data) { > diff -r b3458329d060 src/share/classes/com/sun/tools/javap/AttributeWriter.java > --- a/src/share/classes/com/sun/tools/javap/AttributeWriter.java Mon Jun 24 14:27:32 2013 -0700 > +++ b/src/share/classes/com/sun/tools/javap/AttributeWriter.java Tue Jun 25 20:22:06 2013 +0300 > @@ -511,7 +511,10 @@ > } > > public Void visitSourceDebugExtension(SourceDebugExtension_attribute attr, Void ignore) { > - println("SourceDebugExtension: " + attr.getValue()); > + println("SourceDebugExtension:"); > + indent(+1); > + print(attr.getValue()); > + indent(-1); > return null; > } > > Regards, > Dmytro From jonathan.gibbons at oracle.com Tue Jun 25 12:04:32 2013 From: jonathan.gibbons at oracle.com (Jonathan Gibbons) Date: Tue, 25 Jun 2013 12:04:32 -0700 Subject: Review request for JDK-8016760: failure of regression test langtools/tools/javac/T6725036.java In-Reply-To: <51C9D85D.6080905@oracle.com> References: <51C9A325.4020605@oracle.com> <51C9D85D.6080905@oracle.com> Message-ID: <51C9E9C0.6090401@oracle.com> Eric, Making the test pass in the short term by working around the problem does not seem a reasonable thing to do. -- Jon On 06/25/2013 10:50 AM, Xueming Shen wrote: > This is fine to be a workaround for the test case for now. It probably > will need to be > undo-ed after the propose change for #8015666 get integrated. > > http://cr.openjdk.java.net/~sherman/8015666/webrev/ > > The proposal for #8015666 is to keep the "existing" behavior of > ZipEntry.getTime() > to return a LastModifiedTime converted from the zip entry's > ms-dos-formatted date/time > field by using the "default" timezone. A new pair > ZipEntry.get/setLastModifiedTime() > will be added to access the "real" UTC time stored in the zip entry, > if presents. > > The API doc will be updated accordingly as well to explicitly explain > the source of the > date/time and the its timezone sensitive conversion. > > -Sherman > > On 06/25/2013 07:03 AM, Eric McCorkle wrote: >> Hello, >> >> Please review this simple patch which updates regression test >> langtools/tools/javac/T6725036.java to offset the time returned by >> JavaFileObject.getLastModified() with the local time to UTC delta. >> >> Please note that this patch is intended to address the test failures, >> and that I will be immediately opening a new bug to investigate and >> address deeper issues, and also to properly document the API. >> >> The webrev is here: >> http://cr.openjdk.java.net/~emc/8016760/ >> >> The bug report is here: >> http://bugs.sun.com/view_bug.do?bug_id=8016760 >> >> Thanks, >> Eric > From chris.hegarty at oracle.com Tue Jun 25 12:07:56 2013 From: chris.hegarty at oracle.com (chris.hegarty at oracle.com) Date: Tue, 25 Jun 2013 19:07:56 +0000 Subject: hg: jdk8/tl/jdk: 8014233: java.lang.Thread should have @Contended on TLR fields Message-ID: <20130625190820.3D28D484FE@hg.openjdk.java.net> Changeset: ac61efd8c593 Author: shade Date: 2013-06-25 20:06 +0100 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/ac61efd8c593 8014233: java.lang.Thread should have @Contended on TLR fields Summary: add the @Contended over three TLR fields. Reviewed-by: psandoz, chegar, dholmes, dl ! src/share/classes/java/lang/Thread.java From dmytro_sheyko at hotmail.com Tue Jun 25 13:52:02 2013 From: dmytro_sheyko at hotmail.com (Dmytro Sheyko) Date: Tue, 25 Jun 2013 23:52:02 +0300 Subject: patch: javap does not show SourceDebugExtension properly In-Reply-To: <51C9E90C.7020309@oracle.com> References: , <51C9E90C.7020309@oracle.com> Message-ID: Jonathan, This bug does not manifest itself with exception. javap just prints SourceDebugExtension: null In a class file content of SDE attribute appears as UTF-8 string, where the first 4 bytes are 'S', 'M', 'A', 'P'. Existing code of SourceDebugExtension_attribute.getValue() uses readUTF and hence attempts to interpret the first two bytes (i.e. 'S' and 'M') as length of the string and then fails with EOFException. Then it catches this exception and returns null, which, in turn, appears in output. As for sample class file, it's generated by Tomcat 7.0 runtime. I will send it later. Regards, Dmytro > Date: Tue, 25 Jun 2013 12:01:32 -0700 > From: jonathan.gibbons at oracle.com > To: compiler-dev at openjdk.java.net > Subject: Re: patch: javap does not show SourceDebugExtension properly > > Dmytro, > > Thank you for your suggestion. Can you provide more details on why the > existing code does not work. Presumably you get an exception -- what is > it? Alternative, can you provide a sample class file for which the > existing code does not work, together with info on which version of > which compiler generated the class file? > > I agree that the change to visitSourceDebugExtension is probably desirable. > > -- Jon > > > On 06/25/2013 11:32 AM, Dmytro Sheyko wrote: > > Hello, > > > > I was trying to get SourceDebugExtension for compiled jsp class using javap (1.7.0_25, 1.8.0-ea-b91) and it printed something like: > > > > SourceFile: "x_jsp.java" > > SourceDebugExtension: null > > minor version: 0 > > major version: 50 > > > > where expected output is following: > > > > SourceFile: "x_jsp.java" > > SourceDebugExtension: > > SMAP > > x_jsp.java > > JSP > > *S JSP > > *F > > + 0 x.jsp > > x.jsp > > *L > > 1,3:62 > > 4:65,4 > > 6,4:70 > > 9,4:74 > > *E > > minor version: 0 > > major version: 50 > > > > Getting SourceDebugExtension using JDI works well (i.e. class file is correct). > > > > And I would like to propose a patch to fix this issue. Please review. > > > > diff -r b3458329d060 src/share/classes/com/sun/tools/classfile/SourceDebugExtension_attribute.java > > --- a/src/share/classes/com/sun/tools/classfile/SourceDebugExtension_attribute.java Mon Jun 24 14:27:32 2013 -0700 > > +++ b/src/share/classes/com/sun/tools/classfile/SourceDebugExtension_attribute.java Tue Jun 25 20:22:06 2013 +0300 > > @@ -25,9 +25,8 @@ > > > > package com.sun.tools.classfile; > > > > -import java.io.ByteArrayInputStream; > > -import java.io.DataInputStream; > > import java.io.IOException; > > +import java.nio.charset.Charset; > > > > /** > > * See JVMS, section 4.8.15. > > @@ -38,6 +37,8 @@ > > * deletion without notice. > > */ > > public class SourceDebugExtension_attribute extends Attribute { > > + private static final Charset UTF8 = Charset.forName("UTF-8"); > > + > > SourceDebugExtension_attribute(ClassReader cr, int name_index, int length) throws IOException { > > super(name_index, length); > > debug_extension = new byte[attribute_length]; > > @@ -55,12 +56,7 @@ > > } > > > > public String getValue() { > > - DataInputStream d = new DataInputStream(new ByteArrayInputStream(debug_extension)); > > - try { > > - return d.readUTF(); > > - } catch (IOException e) { > > - return null; > > - } > > + return new String(debug_extension, UTF8); > > } > > > > public R accept(Visitor visitor, D data) { > > diff -r b3458329d060 src/share/classes/com/sun/tools/javap/AttributeWriter.java > > --- a/src/share/classes/com/sun/tools/javap/AttributeWriter.java Mon Jun 24 14:27:32 2013 -0700 > > +++ b/src/share/classes/com/sun/tools/javap/AttributeWriter.java Tue Jun 25 20:22:06 2013 +0300 > > @@ -511,7 +511,10 @@ > > } > > > > public Void visitSourceDebugExtension(SourceDebugExtension_attribute attr, Void ignore) { > > - println("SourceDebugExtension: " + attr.getValue()); > > + println("SourceDebugExtension:"); > > + indent(+1); > > + print(attr.getValue()); > > + indent(-1); > > return null; > > } > > > > Regards, > > Dmytro > -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/compiler-dev/attachments/20130625/157188ae/attachment.html From jason.uh at oracle.com Tue Jun 25 14:32:15 2013 From: jason.uh at oracle.com (jason.uh at oracle.com) Date: Tue, 25 Jun 2013 21:32:15 +0000 Subject: hg: jdk8/tl/jdk: 8017325: Cleanup of the javadoc tag in java.security.cert Message-ID: <20130625213236.884644851B@hg.openjdk.java.net> Changeset: 757290440a2f Author: juh Date: 2013-06-25 14:31 -0700 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/757290440a2f 8017325: Cleanup of the javadoc tag in java.security.cert Summary: Convert javadoc ... and ... tags to {@code ...} Reviewed-by: darcy ! src/share/classes/java/security/cert/CRLException.java ! src/share/classes/java/security/cert/CRLSelector.java ! src/share/classes/java/security/cert/CertPath.java ! src/share/classes/java/security/cert/CertPathBuilder.java ! src/share/classes/java/security/cert/CertPathBuilderException.java ! src/share/classes/java/security/cert/CertPathBuilderResult.java ! src/share/classes/java/security/cert/CertPathBuilderSpi.java ! src/share/classes/java/security/cert/CertPathParameters.java ! src/share/classes/java/security/cert/CertPathValidator.java ! src/share/classes/java/security/cert/CertPathValidatorException.java ! src/share/classes/java/security/cert/CertPathValidatorResult.java ! src/share/classes/java/security/cert/CertPathValidatorSpi.java ! src/share/classes/java/security/cert/CertSelector.java ! src/share/classes/java/security/cert/CertStore.java ! src/share/classes/java/security/cert/CertStoreException.java ! src/share/classes/java/security/cert/CertStoreParameters.java ! src/share/classes/java/security/cert/CertStoreSpi.java ! src/share/classes/java/security/cert/Certificate.java ! src/share/classes/java/security/cert/CertificateEncodingException.java ! src/share/classes/java/security/cert/CertificateException.java ! src/share/classes/java/security/cert/CertificateExpiredException.java ! src/share/classes/java/security/cert/CertificateFactory.java ! src/share/classes/java/security/cert/CertificateFactorySpi.java ! src/share/classes/java/security/cert/CertificateNotYetValidException.java ! src/share/classes/java/security/cert/CertificateParsingException.java ! src/share/classes/java/security/cert/CertificateRevokedException.java ! src/share/classes/java/security/cert/CollectionCertStoreParameters.java ! src/share/classes/java/security/cert/Extension.java ! src/share/classes/java/security/cert/LDAPCertStoreParameters.java ! src/share/classes/java/security/cert/PKIXBuilderParameters.java ! src/share/classes/java/security/cert/PKIXCertPathBuilderResult.java ! src/share/classes/java/security/cert/PKIXCertPathChecker.java ! src/share/classes/java/security/cert/PKIXCertPathValidatorResult.java ! src/share/classes/java/security/cert/PKIXParameters.java ! src/share/classes/java/security/cert/PKIXReason.java ! src/share/classes/java/security/cert/PolicyNode.java ! src/share/classes/java/security/cert/PolicyQualifierInfo.java ! src/share/classes/java/security/cert/TrustAnchor.java ! src/share/classes/java/security/cert/X509CRL.java ! src/share/classes/java/security/cert/X509CRLEntry.java ! src/share/classes/java/security/cert/X509CRLSelector.java ! src/share/classes/java/security/cert/X509CertSelector.java ! src/share/classes/java/security/cert/X509Certificate.java ! src/share/classes/java/security/cert/X509Extension.java From jason.uh at oracle.com Tue Jun 25 14:42:17 2013 From: jason.uh at oracle.com (jason.uh at oracle.com) Date: Tue, 25 Jun 2013 21:42:17 +0000 Subject: hg: jdk8/tl/jdk: 8017326: Cleanup of the javadoc tag in java.security.spec Message-ID: <20130625214240.206054851F@hg.openjdk.java.net> Changeset: 3700bb58c9a2 Author: juh Date: 2013-06-25 14:41 -0700 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/3700bb58c9a2 8017326: Cleanup of the javadoc tag in java.security.spec Summary: Convert javadoc and tags to {@code ...} Reviewed-by: darcy ! src/share/classes/java/security/spec/DSAGenParameterSpec.java ! src/share/classes/java/security/spec/DSAParameterSpec.java ! src/share/classes/java/security/spec/DSAPrivateKeySpec.java ! src/share/classes/java/security/spec/DSAPublicKeySpec.java ! src/share/classes/java/security/spec/ECFieldF2m.java ! src/share/classes/java/security/spec/ECFieldFp.java ! src/share/classes/java/security/spec/ECGenParameterSpec.java ! src/share/classes/java/security/spec/ECParameterSpec.java ! src/share/classes/java/security/spec/ECPoint.java ! src/share/classes/java/security/spec/ECPrivateKeySpec.java ! src/share/classes/java/security/spec/ECPublicKeySpec.java ! src/share/classes/java/security/spec/EllipticCurve.java ! src/share/classes/java/security/spec/EncodedKeySpec.java ! src/share/classes/java/security/spec/InvalidKeySpecException.java ! src/share/classes/java/security/spec/KeySpec.java ! src/share/classes/java/security/spec/MGF1ParameterSpec.java ! src/share/classes/java/security/spec/PKCS8EncodedKeySpec.java ! src/share/classes/java/security/spec/PSSParameterSpec.java ! src/share/classes/java/security/spec/RSAKeyGenParameterSpec.java ! src/share/classes/java/security/spec/RSAMultiPrimePrivateCrtKeySpec.java ! src/share/classes/java/security/spec/RSAOtherPrimeInfo.java ! src/share/classes/java/security/spec/RSAPrivateCrtKeySpec.java ! src/share/classes/java/security/spec/X509EncodedKeySpec.java From yong.huang at oracle.com Tue Jun 25 21:06:06 2013 From: yong.huang at oracle.com (yong.huang at oracle.com) Date: Wed, 26 Jun 2013 04:06:06 +0000 Subject: hg: jdk8/tl/jdk: 8013836: getFirstDayOfWeek reports wrong day for pt-BR locale Message-ID: <20130626040648.845E048532@hg.openjdk.java.net> Changeset: 510035b7bbbb Author: yhuang Date: 2013-06-25 21:03 -0700 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/510035b7bbbb 8013836: getFirstDayOfWeek reports wrong day for pt-BR locale Reviewed-by: naoto + src/share/classes/sun/util/resources/pt/CalendarData_pt_BR.properties ! test/sun/text/resources/LocaleData ! test/sun/text/resources/LocaleDataTest.java From dmytro_sheyko at hotmail.com Wed Jun 26 00:58:38 2013 From: dmytro_sheyko at hotmail.com (Dmytro Sheyko) Date: Wed, 26 Jun 2013 10:58:38 +0300 Subject: patch: javap does not show SourceDebugExtension properly In-Reply-To: References: , , <51C9E90C.7020309@oracle.com>, Message-ID: Hello, I am sending class file sample with sources and javap output: Hello.jsp, greeting.jsp - original sources Hello_jsp.java, Hello_jsp.class - files generated by Jasper (Apache Tomcat 7.0.41) Hello_jsp.*.current.javap, Hello_jsp.*.patched.javap - javap output (without patch and with patch, used jdk1.7.0_25 and jdk1.8.0-ea-b91, however it seems there is no difference in patched classes between repositoried jdk7u/langtools and jdk8/langtools, whatever the case patch (which I sent earlier) is made on jdk8/langtools) Thanks, Dmytro ________________________________ > From: dmytro_sheyko at hotmail.com > To: jonathan.gibbons at oracle.com; compiler-dev at openjdk.java.net > Subject: RE: patch: javap does not show SourceDebugExtension properly > Date: Tue, 25 Jun 2013 23:52:02 +0300 > > Jonathan, > > This bug does not manifest itself with exception. javap just prints > > SourceDebugExtension: null > > In a class file content of SDE attribute appears as UTF-8 string, where > the first 4 bytes are 'S', 'M', 'A', 'P'. Existing code of > SourceDebugExtension_attribute.getValue() uses readUTF and hence > attempts to interpret the first two bytes (i.e. 'S' and 'M') as length > of the string and then fails with EOFException. Then it catches this > exception and returns null, which, in turn, appears in output. > > As for sample class file, it's generated by Tomcat 7.0 runtime. I will > send it later. > > Regards, > Dmytro > > > Date: Tue, 25 Jun 2013 12:01:32 -0700 > > From: jonathan.gibbons at oracle.com > > To: compiler-dev at openjdk.java.net > > Subject: Re: patch: javap does not show SourceDebugExtension properly > > > > Dmytro, > > > > Thank you for your suggestion. Can you provide more details on why the > > existing code does not work. Presumably you get an exception -- what is > > it? Alternative, can you provide a sample class file for which the > > existing code does not work, together with info on which version of > > which compiler generated the class file? > > > > I agree that the change to visitSourceDebugExtension is probably desirable. > > > > -- Jon > > > > > > On 06/25/2013 11:32 AM, Dmytro Sheyko wrote: > >> Hello, > >> > >> I was trying to get SourceDebugExtension for compiled jsp class > using javap (1.7.0_25, 1.8.0-ea-b91) and it printed something like: > >> > >> SourceFile: "x_jsp.java" > >> SourceDebugExtension: null > >> minor version: 0 > >> major version: 50 > >> > >> where expected output is following: > >> > >> SourceFile: "x_jsp.java" > >> SourceDebugExtension: > >> SMAP > >> x_jsp.java > >> JSP > >> *S JSP > >> *F > >> + 0 x.jsp > >> x.jsp > >> *L > >> 1,3:62 > >> 4:65,4 > >> 6,4:70 > >> 9,4:74 > >> *E > >> minor version: 0 > >> major version: 50 > >> > >> Getting SourceDebugExtension using JDI works well (i.e. class file > is correct). > >> > >> And I would like to propose a patch to fix this issue. Please review. > >> > >> diff -r b3458329d060 > src/share/classes/com/sun/tools/classfile/SourceDebugExtension_attribute.java > >> --- > a/src/share/classes/com/sun/tools/classfile/SourceDebugExtension_attribute.java > Mon Jun 24 14:27:32 2013 -0700 > >> +++ > b/src/share/classes/com/sun/tools/classfile/SourceDebugExtension_attribute.java > Tue Jun 25 20:22:06 2013 +0300 > >> @@ -25,9 +25,8 @@ > >> > >> package com.sun.tools.classfile; > >> > >> -import java.io.ByteArrayInputStream; > >> -import java.io.DataInputStream; > >> import java.io.IOException; > >> +import java.nio.charset.Charset; > >> > >> /** > >> * See JVMS, section 4.8.15. > >> @@ -38,6 +37,8 @@ > >> * deletion without notice. > >> */ > >> public class SourceDebugExtension_attribute extends Attribute { > >> + private static final Charset UTF8 = Charset.forName("UTF-8"); > >> + > >> SourceDebugExtension_attribute(ClassReader cr, int name_index, int > length) throws IOException { > >> super(name_index, length); > >> debug_extension = new byte[attribute_length]; > >> @@ -55,12 +56,7 @@ > >> } > >> > >> public String getValue() { > >> - DataInputStream d = new DataInputStream(new > ByteArrayInputStream(debug_extension)); > >> - try { > >> - return d.readUTF(); > >> - } catch (IOException e) { > >> - return null; > >> - } > >> + return new String(debug_extension, UTF8); > >> } > >> > >> public R accept(Visitor visitor, D data) { > >> diff -r b3458329d060 > src/share/classes/com/sun/tools/javap/AttributeWriter.java > >> --- a/src/share/classes/com/sun/tools/javap/AttributeWriter.java > Mon Jun 24 14:27:32 2013 -0700 > >> +++ b/src/share/classes/com/sun/tools/javap/AttributeWriter.java > Tue Jun 25 20:22:06 2013 +0300 > >> @@ -511,7 +511,10 @@ > >> } > >> > >> public Void > visitSourceDebugExtension(SourceDebugExtension_attribute attr, Void > ignore) { > >> - println("SourceDebugExtension: " + attr.getValue()); > >> + println("SourceDebugExtension:"); > >> + indent(+1); > >> + print(attr.getValue()); > >> + indent(-1); > >> return null; > >> } > >> > >> Regards, > >> Dmytro > > -------------- next part -------------- A non-text attachment was scrubbed... Name: javap_sde_sample.zip Type: application/zip Size: 14631 bytes Desc: not available Url : http://mail.openjdk.java.net/pipermail/compiler-dev/attachments/20130626/a4269850/javap_sde_sample.zip From dmytro_sheyko at hotmail.com Wed Jun 26 01:05:15 2013 From: dmytro_sheyko at hotmail.com (Dmytro Sheyko) Date: Wed, 26 Jun 2013 11:05:15 +0300 Subject: patch: javap does not show SourceDebugExtension properly In-Reply-To: References: , , , <51C9E90C.7020309@oracle.com>, , , Message-ID: Updated javap output for current and patched 7u25 and 8ea-b91 versions ---------------------------------------- > From: dmytro_sheyko at hotmail.com > To: jonathan.gibbons at oracle.com; compiler-dev at openjdk.java.net > Subject: RE: patch: javap does not show SourceDebugExtension properly > Date: Wed, 26 Jun 2013 10:58:38 +0300 > > Hello, > > I am sending class file sample with sources and javap output: > Hello.jsp, greeting.jsp - original sources > Hello_jsp.java, Hello_jsp.class - files generated by Jasper (Apache Tomcat 7.0.41) > Hello_jsp.*.current.javap, Hello_jsp.*.patched.javap - javap output (without patch and with patch, used jdk1.7.0_25 and jdk1.8.0-ea-b91, however it seems there is no difference in patched classes between repositoried jdk7u/langtools and jdk8/langtools, whatever the case patch (which I sent earlier) is made on jdk8/langtools) > > Thanks, > Dmytro > ________________________________ >> From: dmytro_sheyko at hotmail.com >> To: jonathan.gibbons at oracle.com; compiler-dev at openjdk.java.net >> Subject: RE: patch: javap does not show SourceDebugExtension properly >> Date: Tue, 25 Jun 2013 23:52:02 +0300 >> >> Jonathan, >> >> This bug does not manifest itself with exception. javap just prints >> >> SourceDebugExtension: null >> >> In a class file content of SDE attribute appears as UTF-8 string, where >> the first 4 bytes are 'S', 'M', 'A', 'P'. Existing code of >> SourceDebugExtension_attribute.getValue() uses readUTF and hence >> attempts to interpret the first two bytes (i.e. 'S' and 'M') as length >> of the string and then fails with EOFException. Then it catches this >> exception and returns null, which, in turn, appears in output. >> >> As for sample class file, it's generated by Tomcat 7.0 runtime. I will >> send it later. >> >> Regards, >> Dmytro >> >>> Date: Tue, 25 Jun 2013 12:01:32 -0700 >>> From: jonathan.gibbons at oracle.com >>> To: compiler-dev at openjdk.java.net >>> Subject: Re: patch: javap does not show SourceDebugExtension properly >>> >>> Dmytro, >>> >>> Thank you for your suggestion. Can you provide more details on why the >>> existing code does not work. Presumably you get an exception -- what is >>> it? Alternative, can you provide a sample class file for which the >>> existing code does not work, together with info on which version of >>> which compiler generated the class file? >>> >>> I agree that the change to visitSourceDebugExtension is probably desirable. >>> >>> -- Jon >>> >>> >>> On 06/25/2013 11:32 AM, Dmytro Sheyko wrote: >>>> Hello, >>>> >>>> I was trying to get SourceDebugExtension for compiled jsp class >> using javap (1.7.0_25, 1.8.0-ea-b91) and it printed something like: >>>> >>>> SourceFile: "x_jsp.java" >>>> SourceDebugExtension: null >>>> minor version: 0 >>>> major version: 50 >>>> >>>> where expected output is following: >>>> >>>> SourceFile: "x_jsp.java" >>>> SourceDebugExtension: >>>> SMAP >>>> x_jsp.java >>>> JSP >>>> *S JSP >>>> *F >>>> + 0 x.jsp >>>> x.jsp >>>> *L >>>> 1,3:62 >>>> 4:65,4 >>>> 6,4:70 >>>> 9,4:74 >>>> *E >>>> minor version: 0 >>>> major version: 50 >>>> >>>> Getting SourceDebugExtension using JDI works well (i.e. class file >> is correct). >>>> >>>> And I would like to propose a patch to fix this issue. Please review. >>>> >>>> diff -r b3458329d060 >> src/share/classes/com/sun/tools/classfile/SourceDebugExtension_attribute.java >>>> --- >> a/src/share/classes/com/sun/tools/classfile/SourceDebugExtension_attribute.java >> Mon Jun 24 14:27:32 2013 -0700 >>>> +++ >> b/src/share/classes/com/sun/tools/classfile/SourceDebugExtension_attribute.java >> Tue Jun 25 20:22:06 2013 +0300 >>>> @@ -25,9 +25,8 @@ >>>> >>>> package com.sun.tools.classfile; >>>> >>>> -import java.io.ByteArrayInputStream; >>>> -import java.io.DataInputStream; >>>> import java.io.IOException; >>>> +import java.nio.charset.Charset; >>>> >>>> /** >>>> * See JVMS, section 4.8.15. >>>> @@ -38,6 +37,8 @@ >>>> * deletion without notice. >>>> */ >>>> public class SourceDebugExtension_attribute extends Attribute { >>>> + private static final Charset UTF8 = Charset.forName("UTF-8"); >>>> + >>>> SourceDebugExtension_attribute(ClassReader cr, int name_index, int >> length) throws IOException { >>>> super(name_index, length); >>>> debug_extension = new byte[attribute_length]; >>>> @@ -55,12 +56,7 @@ >>>> } >>>> >>>> public String getValue() { >>>> - DataInputStream d = new DataInputStream(new >> ByteArrayInputStream(debug_extension)); >>>> - try { >>>> - return d.readUTF(); >>>> - } catch (IOException e) { >>>> - return null; >>>> - } >>>> + return new String(debug_extension, UTF8); >>>> } >>>> >>>> public R accept(Visitor visitor, D data) { >>>> diff -r b3458329d060 >> src/share/classes/com/sun/tools/javap/AttributeWriter.java >>>> --- a/src/share/classes/com/sun/tools/javap/AttributeWriter.java >> Mon Jun 24 14:27:32 2013 -0700 >>>> +++ b/src/share/classes/com/sun/tools/javap/AttributeWriter.java >> Tue Jun 25 20:22:06 2013 +0300 >>>> @@ -511,7 +511,10 @@ >>>> } >>>> >>>> public Void >> visitSourceDebugExtension(SourceDebugExtension_attribute attr, Void >> ignore) { >>>> - println("SourceDebugExtension: " + attr.getValue()); >>>> + println("SourceDebugExtension:"); >>>> + indent(+1); >>>> + print(attr.getValue()); >>>> + indent(-1); >>>> return null; >>>> } >>>> >>>> Regards, >>>> Dmytro >>> -------------- next part -------------- A non-text attachment was scrubbed... Name: javap_sde_output.zip Type: application/zip Size: 19921 bytes Desc: not available Url : http://mail.openjdk.java.net/pipermail/compiler-dev/attachments/20130626/d17bd8a1/javap_sde_output-0001.zip From xuelei.fan at oracle.com Wed Jun 26 06:35:18 2013 From: xuelei.fan at oracle.com (xuelei.fan at oracle.com) Date: Wed, 26 Jun 2013 13:35:18 +0000 Subject: hg: jdk8/tl/jdk: 8017049: rename property jdk.tls.rejectClientInitializedRenego Message-ID: <20130626133543.3573C4854C@hg.openjdk.java.net> Changeset: 0822bcddbd4f Author: xuelei Date: 2013-06-26 06:32 -0700 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/0822bcddbd4f 8017049: rename property jdk.tls.rejectClientInitializedRenego Reviewed-by: vinnie, wetmore, mullan ! src/share/classes/sun/security/ssl/Handshaker.java ! test/sun/security/ssl/com/sun/net/ssl/internal/ssl/SSLSocketImpl/NoImpactServerRenego.java ! test/sun/security/ssl/com/sun/net/ssl/internal/ssl/SSLSocketImpl/RejectClientRenego.java From chris.hegarty at oracle.com Wed Jun 26 07:33:28 2013 From: chris.hegarty at oracle.com (chris.hegarty at oracle.com) Date: Wed, 26 Jun 2013 14:33:28 +0000 Subject: hg: jdk8/tl/jdk: 8012647: Add Arrays.parallelPrefix (prefix sum, scan, cumulative sum) Message-ID: <20130626143351.0DFAD4854F@hg.openjdk.java.net> Changeset: e83cdd58f1cf Author: chegar Date: 2013-06-26 15:30 +0100 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/e83cdd58f1cf 8012647: Add Arrays.parallelPrefix (prefix sum, scan, cumulative sum) Reviewed-by: chegar, alanb, psandoz Contributed-by: Doug Lea
    , Tristan Yan , Chris Hegarty + src/share/classes/java/util/ArrayPrefixHelpers.java ! src/share/classes/java/util/Arrays.java + test/java/util/Arrays/ParallelPrefix.java From robert.field at oracle.com Wed Jun 26 08:05:31 2013 From: robert.field at oracle.com (robert.field at oracle.com) Date: Wed, 26 Jun 2013 15:05:31 +0000 Subject: hg: jdk8/tl/jdk: 8016761: Lambda metafactory - incorrect type conversion of constructor method handle Message-ID: <20130626150554.74E1148551@hg.openjdk.java.net> Changeset: 71059bca036a Author: rfield Date: 2013-06-26 07:50 -0700 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/71059bca036a 8016761: Lambda metafactory - incorrect type conversion of constructor method handle Reviewed-by: jrose ! src/share/classes/java/lang/invoke/InnerClassLambdaMetafactory.java + test/java/lang/invoke/lambda/LambdaConstructorMethodHandleUnbox.java From jonathan.gibbons at oracle.com Wed Jun 26 08:28:15 2013 From: jonathan.gibbons at oracle.com (Jonathan Gibbons) Date: Wed, 26 Jun 2013 08:28:15 -0700 Subject: patch: javap does not show SourceDebugExtension properly In-Reply-To: References: , , <51C9E90C.7020309@oracle.com>, Message-ID: <51CB088F.8000907@oracle.com> Dmytro, Thank you. I have investigated this issue and agree with your findings. I'll file an issue and work towards fixing it. -- Jon On 06/26/2013 12:58 AM, Dmytro Sheyko wrote: > Hello, > > I am sending class file sample with sources and javap output: > Hello.jsp, greeting.jsp - original sources > Hello_jsp.java, Hello_jsp.class - files generated by Jasper (Apache Tomcat 7.0.41) > Hello_jsp.*.current.javap, Hello_jsp.*.patched.javap - javap output (without patch and with patch, used jdk1.7.0_25 and jdk1.8.0-ea-b91, however it seems there is no difference in patched classes between repositoried jdk7u/langtools and jdk8/langtools, whatever the case patch (which I sent earlier) is made on jdk8/langtools) > > Thanks, > Dmytro > ________________________________ >> From: dmytro_sheyko at hotmail.com >> To: jonathan.gibbons at oracle.com; compiler-dev at openjdk.java.net >> Subject: RE: patch: javap does not show SourceDebugExtension properly >> Date: Tue, 25 Jun 2013 23:52:02 +0300 >> >> Jonathan, >> >> This bug does not manifest itself with exception. javap just prints >> >> SourceDebugExtension: null >> >> In a class file content of SDE attribute appears as UTF-8 string, where >> the first 4 bytes are 'S', 'M', 'A', 'P'. Existing code of >> SourceDebugExtension_attribute.getValue() uses readUTF and hence >> attempts to interpret the first two bytes (i.e. 'S' and 'M') as length >> of the string and then fails with EOFException. Then it catches this >> exception and returns null, which, in turn, appears in output. >> >> As for sample class file, it's generated by Tomcat 7.0 runtime. I will >> send it later. >> >> Regards, >> Dmytro >> >>> Date: Tue, 25 Jun 2013 12:01:32 -0700 >>> From: jonathan.gibbons at oracle.com >>> To: compiler-dev at openjdk.java.net >>> Subject: Re: patch: javap does not show SourceDebugExtension properly >>> >>> Dmytro, >>> >>> Thank you for your suggestion. Can you provide more details on why the >>> existing code does not work. Presumably you get an exception -- what is >>> it? Alternative, can you provide a sample class file for which the >>> existing code does not work, together with info on which version of >>> which compiler generated the class file? >>> >>> I agree that the change to visitSourceDebugExtension is probably desirable. >>> >>> -- Jon >>> >>> >>> On 06/25/2013 11:32 AM, Dmytro Sheyko wrote: >>>> Hello, >>>> >>>> I was trying to get SourceDebugExtension for compiled jsp class >> using javap (1.7.0_25, 1.8.0-ea-b91) and it printed something like: >>>> SourceFile: "x_jsp.java" >>>> SourceDebugExtension: null >>>> minor version: 0 >>>> major version: 50 >>>> >>>> where expected output is following: >>>> >>>> SourceFile: "x_jsp.java" >>>> SourceDebugExtension: >>>> SMAP >>>> x_jsp.java >>>> JSP >>>> *S JSP >>>> *F >>>> + 0 x.jsp >>>> x.jsp >>>> *L >>>> 1,3:62 >>>> 4:65,4 >>>> 6,4:70 >>>> 9,4:74 >>>> *E >>>> minor version: 0 >>>> major version: 50 >>>> >>>> Getting SourceDebugExtension using JDI works well (i.e. class file >> is correct). >>>> And I would like to propose a patch to fix this issue. Please review. >>>> >>>> diff -r b3458329d060 >> src/share/classes/com/sun/tools/classfile/SourceDebugExtension_attribute.java >>>> --- >> a/src/share/classes/com/sun/tools/classfile/SourceDebugExtension_attribute.java >> Mon Jun 24 14:27:32 2013 -0700 >>>> +++ >> b/src/share/classes/com/sun/tools/classfile/SourceDebugExtension_attribute.java >> Tue Jun 25 20:22:06 2013 +0300 >>>> @@ -25,9 +25,8 @@ >>>> >>>> package com.sun.tools.classfile; >>>> >>>> -import java.io.ByteArrayInputStream; >>>> -import java.io.DataInputStream; >>>> import java.io.IOException; >>>> +import java.nio.charset.Charset; >>>> >>>> /** >>>> * See JVMS, section 4.8.15. >>>> @@ -38,6 +37,8 @@ >>>> * deletion without notice. >>>> */ >>>> public class SourceDebugExtension_attribute extends Attribute { >>>> + private static final Charset UTF8 = Charset.forName("UTF-8"); >>>> + >>>> SourceDebugExtension_attribute(ClassReader cr, int name_index, int >> length) throws IOException { >>>> super(name_index, length); >>>> debug_extension = new byte[attribute_length]; >>>> @@ -55,12 +56,7 @@ >>>> } >>>> >>>> public String getValue() { >>>> - DataInputStream d = new DataInputStream(new >> ByteArrayInputStream(debug_extension)); >>>> - try { >>>> - return d.readUTF(); >>>> - } catch (IOException e) { >>>> - return null; >>>> - } >>>> + return new String(debug_extension, UTF8); >>>> } >>>> >>>> public R accept(Visitor visitor, D data) { >>>> diff -r b3458329d060 >> src/share/classes/com/sun/tools/javap/AttributeWriter.java >>>> --- a/src/share/classes/com/sun/tools/javap/AttributeWriter.java >> Mon Jun 24 14:27:32 2013 -0700 >>>> +++ b/src/share/classes/com/sun/tools/javap/AttributeWriter.java >> Tue Jun 25 20:22:06 2013 +0300 >>>> @@ -511,7 +511,10 @@ >>>> } >>>> >>>> public Void >> visitSourceDebugExtension(SourceDebugExtension_attribute attr, Void >> ignore) { >>>> - println("SourceDebugExtension: " + attr.getValue()); >>>> + println("SourceDebugExtension:"); >>>> + indent(+1); >>>> + print(attr.getValue()); >>>> + indent(-1); >>>> return null; >>>> } >>>> >>>> Regards, >>>> Dmytro >>> From naoto.sato at oracle.com Wed Jun 26 11:21:50 2013 From: naoto.sato at oracle.com (naoto.sato at oracle.com) Date: Wed, 26 Jun 2013 18:21:50 +0000 Subject: hg: jdk8/tl/jdk: 8017322: java/util/Currency/PropertiesTest.sh should run exclusively Message-ID: <20130626182204.15CB648562@hg.openjdk.java.net> Changeset: 336e5a862013 Author: naoto Date: 2013-06-26 11:21 -0700 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/336e5a862013 8017322: java/util/Currency/PropertiesTest.sh should run exclusively Reviewed-by: alanb ! test/TEST.ROOT From kumar.x.srinivasan at oracle.com Wed Jun 26 09:58:04 2013 From: kumar.x.srinivasan at oracle.com (kumar.x.srinivasan at oracle.com) Date: Wed, 26 Jun 2013 16:58:04 +0000 Subject: hg: jdk8/tl/langtools: 8016908: TEST_BUG: removing non-ascii characters causes tests to fail Message-ID: <20130626165811.1043E4855B@hg.openjdk.java.net> Changeset: c2d9303c3477 Author: ksrini Date: 2013-06-26 09:54 -0700 URL: http://hg.openjdk.java.net/jdk8/tl/langtools/rev/c2d9303c3477 8016908: TEST_BUG: removing non-ascii characters causes tests to fail Reviewed-by: jjg, vromero ! test/tools/javac/api/6437999/T6437999.java - test/tools/javac/api/6437999/Utf8.java ! test/tools/javac/api/T6306137.java From jonathan.gibbons at oracle.com Wed Jun 26 12:36:00 2013 From: jonathan.gibbons at oracle.com (Jonathan Gibbons) Date: Wed, 26 Jun 2013 12:36:00 -0700 Subject: Review request for JDK-8014230: Compilation incorrectly succeeds with inner class constructor with 254 parameters In-Reply-To: <51C9A345.1030002@oracle.com> References: <51BB60F3.8040501@oracle.com> <51BB730C.1000003@oracle.com> <51BB79BA.20300@oracle.com> <51BB7D4A.9090107@oracle.com> <51C201A0.1060702@oracle.com> <51C22963.8060802@oracle.com> <51C34C29.80706@oracle.com> <51C9A345.1030002@oracle.com> Message-ID: <51CB42A0.9090104@oracle.com> Good to go! -- Jon On 06/25/2013 07:03 AM, Eric McCorkle wrote: > Are there any more comments on this one, or is it good to go? > > On 06/20/13 14:38, Eric McCorkle wrote: >> Thank you for the suggestions, Alex. I have applied all except the >> change to "threshold". I named it as such because the test asserts that >> methods with "threshold" arguments should pass, but ones with >> "threshold" + 1 should fail. It seems to exactly describe the meaning. >> >> A new webrev has been posted: >> http://cr.openjdk.java.net/~emc/8014230/ >> >> Also, there are several successful JPRT runs (minus a known issue). >> >> Since Jon made comments earlier, I would like to hear from him before I >> commit. >> >> On 06/19/13 17:57, Alex Buckley wrote: >>> - There is less coverage because NumArgs1/2 tested instance and static >>> methods while the new MethodArgs only tests instance methods. >>> >>> - There is no such thing as a static inner class. An inner class is >>> non-static by definition (JLS7 8.1.3). The term StaticInnerClass should >>> be replaced with StaticNestedClass throughout. >>> >>> - For grouping purposes, it would be good to prefix ConstructorArgs and >>> MethodArgs with "ToplevelClass". Later, we'll have an "AnonClass" prefix >>> too. >>> >>> - Might rename threshold to maxArgs in NumArgs. (Is a threshold >>> something you can step up to but not on, or something you can step on?) >>> >>> - Might rename retty ("return type") to result, since the field can >>> store "void" and void is not a [return] type (JLS7 8.4.5) >>> >>> - Might rename ClassNestingDef to NestedClassBuilder. >>> >>> Alex >>> >>> On 6/19/2013 12:08 PM, Eric McCorkle wrote: >>>> Added a new constructor to Main that allows tests to pass in their own >>>> Log, facilitating much more precise tests of what errors the compilers >>>> generates. >>>> >>>> I also rolled all the arg limit tests into a general framework. >>>> >>>> Webrev is here: >>>> http://cr.openjdk.java.net/~emc/8014230/ >>>> >>>> On 06/14/13 16:30, Jonathan Gibbons wrote: >>>>> There are two solutions. >>>>> >>>>> For a one-off test, the standard technique is to use a golden file >>>>> in conjunctions with rawDiagnostics. The combination is >>>>> "somewhat frail" but nowhere near "incredibly frail". The technique >>>>> has served us well for many years now. >>>>> >>>>> If you are driving javac through the Compiler API, you can register >>>>> a DiagnosticListener, and verify the characteristics of the Diagnostic >>>>> objects passed to report. >>>>> >>>>> -- Jon >>>>> >>>>> >>>>> On 06/14/2013 01:14 PM, Eric McCorkle wrote: >>>>>> Is there a more convenient API for checking error messages? Golden >>>>>> will >>>>>> make for an incredibly frail test, I think. >>>>>> >>>>>> On 06/14/13 15:46, Jonathan Gibbons wrote: >>>>>>> The change to Gen looks OK, but the tests look weak. At a minimum, I >>>>>>> would expect to see the test check the validity of the error message >>>>>>> that is generated; even better would be to generate the test cases on >>>>>>> the fly. >>>>>>> >>>>>>> -- Jon >>>>>>> >>>>>>> On 06/14/2013 11:29 AM, Eric McCorkle wrote: >>>>>>>> Hello, >>>>>>>> >>>>>>>> Please review this patch, which addresses a problem with javac not >>>>>>>> taking inner this parameters into account when determining if >>>>>>>> there are >>>>>>>> too many parameters to a function. >>>>>>>> >>>>>>>> The webrev is here: >>>>>>>> http://cr.openjdk.java.net/~emc/8014230/ >>>>>>>> >>>>>>>> The bug report is here: >>>>>>>> http://bugs.sun.com/view_bug.do?bug_id=8014230 >>>>>>>> >>>>>>>> Thanks, >>>>>>>> Eric From eric.mccorkle at oracle.com Wed Jun 26 13:06:53 2013 From: eric.mccorkle at oracle.com (Eric McCorkle) Date: Wed, 26 Jun 2013 16:06:53 -0400 Subject: Review request for JDK-8014230: Compilation incorrectly succeeds with inner class constructor with 254 parameters In-Reply-To: <51CB42A0.9090104@oracle.com> References: <51BB60F3.8040501@oracle.com> <51BB730C.1000003@oracle.com> <51BB79BA.20300@oracle.com> <51BB7D4A.9090107@oracle.com> <51C201A0.1060702@oracle.com> <51C22963.8060802@oracle.com> <51C34C29.80706@oracle.com> <51C9A345.1030002@oracle.com> <51CB42A0.9090104@oracle.com> Message-ID: <51CB49DD.3080109@oracle.com> Thanks Jon On 06/26/13 15:36, Jonathan Gibbons wrote: > Good to go! > > -- Jon > > On 06/25/2013 07:03 AM, Eric McCorkle wrote: >> Are there any more comments on this one, or is it good to go? >> >> On 06/20/13 14:38, Eric McCorkle wrote: >>> Thank you for the suggestions, Alex. I have applied all except the >>> change to "threshold". I named it as such because the test asserts that >>> methods with "threshold" arguments should pass, but ones with >>> "threshold" + 1 should fail. It seems to exactly describe the meaning. >>> >>> A new webrev has been posted: >>> http://cr.openjdk.java.net/~emc/8014230/ >>> >>> Also, there are several successful JPRT runs (minus a known issue). >>> >>> Since Jon made comments earlier, I would like to hear from him before I >>> commit. >>> >>> On 06/19/13 17:57, Alex Buckley wrote: >>>> - There is less coverage because NumArgs1/2 tested instance and static >>>> methods while the new MethodArgs only tests instance methods. >>>> >>>> - There is no such thing as a static inner class. An inner class is >>>> non-static by definition (JLS7 8.1.3). The term StaticInnerClass should >>>> be replaced with StaticNestedClass throughout. >>>> >>>> - For grouping purposes, it would be good to prefix ConstructorArgs and >>>> MethodArgs with "ToplevelClass". Later, we'll have an "AnonClass" >>>> prefix >>>> too. >>>> >>>> - Might rename threshold to maxArgs in NumArgs. (Is a threshold >>>> something you can step up to but not on, or something you can step on?) >>>> >>>> - Might rename retty ("return type") to result, since the field can >>>> store "void" and void is not a [return] type (JLS7 8.4.5) >>>> >>>> - Might rename ClassNestingDef to NestedClassBuilder. >>>> >>>> Alex >>>> >>>> On 6/19/2013 12:08 PM, Eric McCorkle wrote: >>>>> Added a new constructor to Main that allows tests to pass in their own >>>>> Log, facilitating much more precise tests of what errors the compilers >>>>> generates. >>>>> >>>>> I also rolled all the arg limit tests into a general framework. >>>>> >>>>> Webrev is here: >>>>> http://cr.openjdk.java.net/~emc/8014230/ >>>>> >>>>> On 06/14/13 16:30, Jonathan Gibbons wrote: >>>>>> There are two solutions. >>>>>> >>>>>> For a one-off test, the standard technique is to use a golden file >>>>>> in conjunctions with rawDiagnostics. The combination is >>>>>> "somewhat frail" but nowhere near "incredibly frail". The technique >>>>>> has served us well for many years now. >>>>>> >>>>>> If you are driving javac through the Compiler API, you can register >>>>>> a DiagnosticListener, and verify the characteristics of the >>>>>> Diagnostic >>>>>> objects passed to report. >>>>>> >>>>>> -- Jon >>>>>> >>>>>> >>>>>> On 06/14/2013 01:14 PM, Eric McCorkle wrote: >>>>>>> Is there a more convenient API for checking error messages? Golden >>>>>>> will >>>>>>> make for an incredibly frail test, I think. >>>>>>> >>>>>>> On 06/14/13 15:46, Jonathan Gibbons wrote: >>>>>>>> The change to Gen looks OK, but the tests look weak. At a >>>>>>>> minimum, I >>>>>>>> would expect to see the test check the validity of the error >>>>>>>> message >>>>>>>> that is generated; even better would be to generate the test >>>>>>>> cases on >>>>>>>> the fly. >>>>>>>> >>>>>>>> -- Jon >>>>>>>> >>>>>>>> On 06/14/2013 11:29 AM, Eric McCorkle wrote: >>>>>>>>> Hello, >>>>>>>>> >>>>>>>>> Please review this patch, which addresses a problem with javac not >>>>>>>>> taking inner this parameters into account when determining if >>>>>>>>> there are >>>>>>>>> too many parameters to a function. >>>>>>>>> >>>>>>>>> The webrev is here: >>>>>>>>> http://cr.openjdk.java.net/~emc/8014230/ >>>>>>>>> >>>>>>>>> The bug report is here: >>>>>>>>> http://bugs.sun.com/view_bug.do?bug_id=8014230 >>>>>>>>> >>>>>>>>> Thanks, >>>>>>>>> Eric > -------------- next part -------------- A non-text attachment was scrubbed... Name: eric_mccorkle.vcf Type: text/x-vcard Size: 314 bytes Desc: not available Url : http://mail.openjdk.java.net/pipermail/compiler-dev/attachments/20130626/3e3e82bb/eric_mccorkle.vcf From joe.darcy at oracle.com Wed Jun 26 13:24:31 2013 From: joe.darcy at oracle.com (joe.darcy at oracle.com) Date: Wed, 26 Jun 2013 20:24:31 +0000 Subject: hg: jdk8/tl/jdk: 7018139: Fix HTML accessibility and doclint issues in java.math Message-ID: <20130626202504.36FF848576@hg.openjdk.java.net> Changeset: 1fda8fa7ae97 Author: darcy Date: 2013-06-26 13:24 -0700 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/1fda8fa7ae97 7018139: Fix HTML accessibility and doclint issues in java.math Reviewed-by: lancea, bpb ! src/share/classes/java/math/BigDecimal.java ! src/share/classes/java/math/RoundingMode.java From jonathan.gibbons at oracle.com Wed Jun 26 18:04:31 2013 From: jonathan.gibbons at oracle.com (jonathan.gibbons at oracle.com) Date: Thu, 27 Jun 2013 01:04:31 +0000 Subject: hg: jdk8/tl/langtools: 8014137: Update test/tools/javac/literals/UnderscoreLiterals to add testcases with min/max values Message-ID: <20130627010436.E3A7F48583@hg.openjdk.java.net> Changeset: 3b2e10524627 Author: jjg Date: 2013-06-26 18:03 -0700 URL: http://hg.openjdk.java.net/jdk8/tl/langtools/rev/3b2e10524627 8014137: Update test/tools/javac/literals/UnderscoreLiterals to add testcases with min/max values Reviewed-by: jjg, darcy Contributed-by: matherey.nunez at oracle.com ! test/tools/javac/literals/UnderscoreLiterals.java From joe.darcy at oracle.com Wed Jun 26 19:11:29 2013 From: joe.darcy at oracle.com (joe.darcy at oracle.com) Date: Thu, 27 Jun 2013 02:11:29 +0000 Subject: hg: jdk8/tl/jdk: 8019223: Fix doclint warnings in java.rmi.server Message-ID: <20130627021154.13AE048591@hg.openjdk.java.net> Changeset: a5aa57eb85b6 Author: darcy Date: 2013-06-26 19:09 -0700 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/a5aa57eb85b6 8019223: Fix doclint warnings in java.rmi.server Reviewed-by: smarks ! src/share/classes/java/rmi/server/RMIClassLoader.java From bhavesh.x.patel at oracle.com Wed Jun 26 20:43:35 2013 From: bhavesh.x.patel at oracle.com (bhavesh.x.patel at oracle.com) Date: Thu, 27 Jun 2013 03:43:35 +0000 Subject: hg: jdk8/tl/langtools: 8014017: extra space in javadoc class heading Message-ID: <20130627034337.CA2DE48596@hg.openjdk.java.net> Changeset: 27bd6a2302f6 Author: bpatel Date: 2013-06-26 20:42 -0700 URL: http://hg.openjdk.java.net/jdk8/tl/langtools/rev/27bd6a2302f6 8014017: extra space in javadoc class heading Reviewed-by: jjg ! src/share/classes/com/sun/tools/doclets/internal/toolkit/builders/ClassBuilder.java ! test/com/sun/javadoc/testPrivateClasses/TestPrivateClasses.java ! test/com/sun/javadoc/testTypeAnnotations/TestTypeAnnotations.java From bhavesh.x.patel at oracle.com Wed Jun 26 20:46:23 2013 From: bhavesh.x.patel at oracle.com (bhavesh.x.patel at oracle.com) Date: Thu, 27 Jun 2013 03:46:23 +0000 Subject: hg: jdk8/tl/langtools: 8013738: Two javadoc tests have bug 0000000 Message-ID: <20130627034626.B473648597@hg.openjdk.java.net> Changeset: 36e8bc1907a2 Author: bpatel Date: 2013-06-26 20:45 -0700 URL: http://hg.openjdk.java.net/jdk8/tl/langtools/rev/36e8bc1907a2 8013738: Two javadoc tests have bug 0000000 Reviewed-by: jjg ! test/com/sun/javadoc/testNestedInlineTag/TestNestedInlineTag.java ! test/com/sun/javadoc/testTagMisuse/TestTagMisuse.java From bhavesh.x.patel at oracle.com Wed Jun 26 20:39:41 2013 From: bhavesh.x.patel at oracle.com (bhavesh.x.patel at oracle.com) Date: Thu, 27 Jun 2013 03:39:41 +0000 Subject: hg: jdk8/tl/langtools: 8007338: Method grouping tab line-folding Message-ID: <20130627033947.CCC5A48594@hg.openjdk.java.net> Changeset: 4fe5aab73bb2 Author: bpatel Date: 2013-06-26 20:38 -0700 URL: http://hg.openjdk.java.net/jdk8/tl/langtools/rev/4fe5aab73bb2 8007338: Method grouping tab line-folding Reviewed-by: jjg ! src/share/classes/com/sun/tools/doclets/internal/toolkit/resources/stylesheet.css ! test/com/sun/javadoc/testStylesheet/TestStylesheet.java From eric.mccorkle at oracle.com Wed Jun 26 21:39:54 2013 From: eric.mccorkle at oracle.com (eric.mccorkle at oracle.com) Date: Thu, 27 Jun 2013 04:39:54 +0000 Subject: hg: jdk8/tl/langtools: 8014230: Compilation incorrectly succeeds with inner class constructor with 254 parameters Message-ID: <20130627043957.C59134859B@hg.openjdk.java.net> Changeset: c674b396827c Author: emc Date: 2013-06-27 00:37 -0400 URL: http://hg.openjdk.java.net/jdk8/tl/langtools/rev/c674b396827c 8014230: Compilation incorrectly succeeds with inner class constructor with 254 parameters Summary: The compiler does not account fr extra parameters due to inner this parameters Reviewed-by: jjg ! src/share/classes/com/sun/tools/javac/jvm/Gen.java ! src/share/classes/com/sun/tools/javac/main/Main.java + test/tools/javac/limits/NestedClassConstructorArgs.java + test/tools/javac/limits/NestedClassMethodArgs.java - test/tools/javac/limits/NumArgs1.java - test/tools/javac/limits/NumArgs2.java - test/tools/javac/limits/NumArgs3.java - test/tools/javac/limits/NumArgs4.java + test/tools/javac/limits/NumArgsTest.java + test/tools/javac/limits/StaticNestedClassConstructorArgs.java + test/tools/javac/limits/TopLevelClassConstructorArgs.java + test/tools/javac/limits/TopLevelClassMethodArgs.java + test/tools/javac/limits/TopLevelClassStaticMethodArgs.java From joe.darcy at oracle.com Wed Jun 26 22:12:20 2013 From: joe.darcy at oracle.com (joe.darcy at oracle.com) Date: Thu, 27 Jun 2013 05:12:20 +0000 Subject: hg: jdk8/tl/jdk: 8019228: Fix doclint issues in java.util.zip Message-ID: <20130627051241.8973A4859D@hg.openjdk.java.net> Changeset: ac65905883a7 Author: darcy Date: 2013-06-26 22:12 -0700 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/ac65905883a7 8019228: Fix doclint issues in java.util.zip Reviewed-by: sherman, mchung ! src/share/classes/java/util/zip/Deflater.java ! src/share/classes/java/util/zip/Inflater.java From maurizio.cimadamore at oracle.com Thu Jun 27 01:28:32 2013 From: maurizio.cimadamore at oracle.com (Maurizio Cimadamore) Date: Thu, 27 Jun 2013 09:28:32 +0100 Subject: Review request for JDK-8013357: Javac accepts erroneous binary comparison operations In-Reply-To: <51BA254B.2070807@oracle.com> References: <51A65CAD.5020905@oracle.com> <51A715F4.2040709@oracle.com> <51A9E8E3.2010706@oracle.com> <51ACDC4A.3070500@oracle.com> <51ACDEED.5080709@oracle.com> <51ACF0A4.2000606@oracle.com> <51ADBC83.8080405@oracle.com> <51AE643E.8040506@oracle.com> <51AF01DB.8020903@oracle.com> <51B0A565.8020406@oracle.com> <51B0ADAE.6020606@oracle.com> <51B0EF4C.5030609@oracle.com> <51B1B5F4.6090200@oracle.com> <51B1FBF5.2060700@oracle.com> <51B1FF0E.60908@oracle.com> <51B21596.4020304@oracle.com> <51B21730.2060109@oracle.com> <51B647DA.80103@oracle.com> <51B64973.7080304@oracle.com> <51B67A20.1010904@oracle.com> <51B721DF.90005@oracle.com> <51B750FA.9010100@oracle.com> <51BA1D60.5010606@oracle.com> <51BA2071.1090006@oracle.com> <51BA254B.2070807@oracle.com> Message-ID: <51CBF7B0.3080001@oracle.com> On 13/06/13 21:02, Eric McCorkle wrote: > Thanks Alex. Your suggested comment changes will be applied. > > Given that this patch changes the behavior of the type checker, though, > I would like to get approval from Jon or Maurizio (if not both) before > it goes in. I'm good with the patch - I notice the test is still a standalone test that doesn't make use of the types harness - but I think that's ok, as the kind of checks you do is broader than just testing the new routine you introduced. I wonder if we should also add a unit test (as a types harness subtest) for the new routine, just to make sure it behaves as expected. Maurizio > > On 06/13/13 15:41, Alex Buckley wrote: >> With regard to TestComparisons.java in >> http://cr.openjdk.java.net/~emc/8013357/webrev.06/ : >> >> - In the second set of truth tables (for boxed primitive types), I like >> how the 3 moves across the second row :-) >> >> - The comment "// Reference types" should be something like "// >> Important reference types", because the "// Boxed primitives" comment >> also deals with reference types. >> >> - Line 167 says Int but means Integer. >> >> - Line 271/272 should be "String, comparable to any reference type, >> excluding those convertible to a numeric types, but including any >> captures." >> >> Other than that, good to go. >> >> Alex >> >> On 6/13/2013 12:28 PM, Eric McCorkle wrote: >>> I've moved the new test into types as Jon suggested, and reordered the >>> lists/truth tables as Alex suggested. A new webrev is up here: >>> http://cr.openjdk.java.net/~emc/8013357/ >>> >>> On 06/11/13 12:31, Jonathan Gibbons wrote: >>>> On 06/11/2013 06:10 AM, Eric McCorkle wrote: >>>>> Good suggestion. >>>>> >>>>> Something else occurred to me: the scope of this test has grown beyond >>>>> that of a simple regression test. It should probably be moved to a >>>>> subdirectory of test/tools/javac purposed for more exhaustive tests. >>>>> Jon or Maurizio, do you have an suggestions? >>>> Yes, test/tools/javac/types seems a better home. >>>> >>>> We are trying to deprecate/minimize the use of bug numbers within >>>> the test/tools/javac directory itself. >>>> >>>> -- Jon From vicente.romero at oracle.com Thu Jun 27 01:52:38 2013 From: vicente.romero at oracle.com (vicente.romero at oracle.com) Date: Thu, 27 Jun 2013 08:52:38 +0000 Subject: hg: jdk8/tl/langtools: 7066788: javah again accepts -old option (ineffectively) which was removed in 1.5. Message-ID: <20130627085241.37F5A485AC@hg.openjdk.java.net> Changeset: a47e28759666 Author: vromero Date: 2013-06-27 09:51 +0100 URL: http://hg.openjdk.java.net/jdk8/tl/langtools/rev/a47e28759666 7066788: javah again accepts -old option (ineffectively) which was removed in 1.5. Reviewed-by: jjg ! src/share/classes/com/sun/tools/javah/JavahTask.java From sundararajan.athijegannathan at oracle.com Thu Jun 27 01:55:19 2013 From: sundararajan.athijegannathan at oracle.com (sundararajan.athijegannathan at oracle.com) Date: Thu, 27 Jun 2013 08:55:19 +0000 Subject: hg: jdk8/tl/nashorn: 11 new changesets Message-ID: <20130627085528.33365485AD@hg.openjdk.java.net> Changeset: c30beaf3c42a Author: jlaskey Date: 2013-06-21 14:34 -0300 URL: http://hg.openjdk.java.net/jdk8/tl/nashorn/rev/c30beaf3c42a 8010732: BigDecimal, BigInteger and Long handling in nashorn Reviewed-by: sundar Contributed-by: james.laskey at oracle.com + test/script/basic/JDK-8010732.js + test/script/basic/JDK-8010732.js.EXPECTED Changeset: 2ded2fc08c94 Author: jlaskey Date: 2013-06-22 10:12 -0300 URL: http://hg.openjdk.java.net/jdk8/tl/nashorn/rev/2ded2fc08c94 8017448: JDK-8010732.js.EXPECTED truncated Reviewed-by: sundar Contributed-by: james.laskey at oracle.com ! test/script/basic/JDK-8010732.js.EXPECTED Changeset: 51a5ee93d6bc Author: sundar Date: 2013-06-24 19:06 +0530 URL: http://hg.openjdk.java.net/jdk8/tl/nashorn/rev/51a5ee93d6bc 8015959: Can't call foreign constructor Reviewed-by: jlaskey, hannesw ! src/jdk/nashorn/api/scripting/JSObject.java ! src/jdk/nashorn/api/scripting/ScriptObjectMirror.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/linker/JSObjectLinker.java + test/script/basic/JDK-8015959.js + test/script/basic/JDK-8015959.js.EXPECTED Changeset: 26a345c26e62 Author: sundar Date: 2013-06-25 17:31 +0530 URL: http://hg.openjdk.java.net/jdk8/tl/nashorn/rev/26a345c26e62 8015969: Needs to enforce and document that global "context" and "engine" can't be modified when running via jsr223 Reviewed-by: hannesw, jlaskey ! docs/JavaScriptingProgrammersGuide.html ! src/jdk/nashorn/api/scripting/NashornScriptEngine.java ! src/jdk/nashorn/internal/runtime/AccessorProperty.java ! src/jdk/nashorn/internal/runtime/Property.java ! src/jdk/nashorn/internal/runtime/UserAccessorProperty.java + test/script/basic/JDK-8015969.js Changeset: 39e17373d8df Author: sundar Date: 2013-06-26 16:36 +0530 URL: http://hg.openjdk.java.net/jdk8/tl/nashorn/rev/39e17373d8df 8017950: error.stack should be a string rather than an array Reviewed-by: hannesw, jlaskey ! src/jdk/nashorn/internal/objects/NativeError.java ! src/jdk/nashorn/internal/runtime/ECMAException.java ! test/script/basic/JDK-8012164.js ! test/script/basic/JDK-8012164.js.EXPECTED + test/script/basic/JDK-8017950.js + test/script/basic/JDK-8017950.js.EXPECTED ! test/script/basic/NASHORN-109.js ! test/script/basic/NASHORN-296.js ! test/script/basic/errorstack.js Changeset: 682889823712 Author: jlaskey Date: 2013-06-26 08:36 -0300 URL: http://hg.openjdk.java.net/jdk8/tl/nashorn/rev/682889823712 8008458: Strict functions dont share property map Reviewed-by: sundar, hannesw Contributed-by: james.laskey at oracle.com ! src/jdk/nashorn/internal/objects/NativeStrictArguments.java ! src/jdk/nashorn/internal/objects/ScriptFunctionImpl.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/SetMethodCreator.java ! src/jdk/nashorn/internal/runtime/UserAccessorProperty.java Changeset: 80c66d3fd872 Author: hannesw Date: 2013-06-26 15:40 +0200 URL: http://hg.openjdk.java.net/jdk8/tl/nashorn/rev/80c66d3fd872 8019157: Avoid calling ScriptObject.setProto() if possible Reviewed-by: jlaskey, sundar ! buildtools/nasgen/src/jdk/nashorn/internal/tools/nasgen/ClassGenerator.java ! buildtools/nasgen/src/jdk/nashorn/internal/tools/nasgen/ScriptClassInstrumentor.java ! src/jdk/nashorn/internal/codegen/ClassEmitter.java ! src/jdk/nashorn/internal/codegen/CodeGenerator.java ! src/jdk/nashorn/internal/codegen/Compiler.java ! src/jdk/nashorn/internal/codegen/ObjectClassGenerator.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/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/runtime/Context.java ! src/jdk/nashorn/internal/runtime/FunctionScope.java ! src/jdk/nashorn/internal/runtime/PropertyMap.java ! src/jdk/nashorn/internal/runtime/ScriptObject.java ! src/jdk/nashorn/internal/scripts/JO.java Changeset: 635098f9f45e Author: sundar Date: 2013-06-26 19:42 +0530 URL: http://hg.openjdk.java.net/jdk8/tl/nashorn/rev/635098f9f45e 8014781: support Error.captureStackTrace Reviewed-by: jlaskey, hannesw ! src/jdk/nashorn/api/scripting/NashornException.java ! src/jdk/nashorn/internal/objects/NativeError.java + test/script/basic/JDK-8014781.js + test/script/basic/JDK-8014781.js.EXPECTED Changeset: d1886ad46f0c Author: jlaskey Date: 2013-06-26 12:38 -0300 URL: http://hg.openjdk.java.net/jdk8/tl/nashorn/rev/d1886ad46f0c 8019175: Simplify ScriptObject.modifyOwnProperty Reviewed-by: hannesw Contributed-by: james.laskey at oracle.com ! src/jdk/nashorn/internal/objects/ScriptFunctionImpl.java ! src/jdk/nashorn/internal/runtime/ScriptObject.java Changeset: f9c855b828fe Author: sundar Date: 2013-06-27 13:24 +0530 URL: http://hg.openjdk.java.net/jdk8/tl/nashorn/rev/f9c855b828fe 8019226: line number not generated for first statement if it is on the same function declaration line Reviewed-by: jlaskey, hannesw ! src/jdk/nashorn/internal/codegen/CodeGenerator.java + test/script/basic/JDK-8019226.js + test/script/basic/JDK-8019226.js.EXPECTED Changeset: 5ec4762d9df0 Author: sundar Date: 2013-06-27 13:47 +0530 URL: http://hg.openjdk.java.net/jdk8/tl/nashorn/rev/5ec4762d9df0 Merge From vicente.romero at oracle.com Thu Jun 27 01:57:12 2013 From: vicente.romero at oracle.com (vicente.romero at oracle.com) Date: Thu, 27 Jun 2013 08:57:12 +0000 Subject: hg: jdk8/tl/langtools: 8017609: javac, ClassFile.read(Path) should be ClassFile.read(Path, Attribute.Factory) Message-ID: <20130627085715.15B83485AF@hg.openjdk.java.net> Changeset: 8e3d391c88c6 Author: vromero Date: 2013-06-27 09:54 +0100 URL: http://hg.openjdk.java.net/jdk8/tl/langtools/rev/8e3d391c88c6 8017609: javac, ClassFile.read(Path) should be ClassFile.read(Path, Attribute.Factory) Reviewed-by: jjg ! src/share/classes/com/sun/tools/classfile/ClassFile.java From erik.joelsson at oracle.com Thu Jun 27 01:36:04 2013 From: erik.joelsson at oracle.com (erik.joelsson at oracle.com) Date: Thu, 27 Jun 2013 08:36:04 +0000 Subject: hg: jdk8/tl/langtools: 8014513: Sjavac doesn't detect 32-bit jvm properly Message-ID: <20130627083609.C2E77485AA@hg.openjdk.java.net> Changeset: dcc6a52bf363 Author: erikj Date: 2013-06-27 10:35 +0200 URL: http://hg.openjdk.java.net/jdk8/tl/langtools/rev/dcc6a52bf363 8014513: Sjavac doesn't detect 32-bit jvm properly Reviewed-by: jjg ! src/share/classes/com/sun/tools/sjavac/CompileJavaPackages.java From chris.hegarty at oracle.com Thu Jun 27 02:26:09 2013 From: chris.hegarty at oracle.com (chris.hegarty at oracle.com) Date: Thu, 27 Jun 2013 09:26:09 +0000 Subject: hg: jdk8/tl/jdk: 2 new changesets Message-ID: <20130627092645.22335485B2@hg.openjdk.java.net> Changeset: 370e7beff8a0 Author: wetmore Date: 2013-06-27 10:19 +0100 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/370e7beff8a0 8019227: JDK-8010325 broke the old build Reviewed-by: alanb, chegar ! make/java/java/FILES_java.gmk Changeset: 4e69a7dfbeac Author: chegar Date: 2013-06-27 10:21 +0100 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/4e69a7dfbeac Merge From vicente.romero at oracle.com Thu Jun 27 08:04:46 2013 From: vicente.romero at oracle.com (vicente.romero at oracle.com) Date: Thu, 27 Jun 2013 15:04:46 +0000 Subject: hg: jdk8/tl/langtools: 8016099: Some @SuppressWarnings annotations ignored ( unchecked, rawtypes ) Message-ID: <20130627150449.A6E2D485C1@hg.openjdk.java.net> Changeset: e42c27026290 Author: vromero Date: 2013-06-27 16:04 +0100 URL: http://hg.openjdk.java.net/jdk8/tl/langtools/rev/e42c27026290 8016099: Some @SuppressWarnings annotations ignored ( unchecked, rawtypes ) Reviewed-by: jjg ! src/share/classes/com/sun/tools/javac/comp/Attr.java ! src/share/classes/com/sun/tools/javac/comp/Check.java + test/tools/javac/T8016099/UncheckedWarningRegressionTest.java + test/tools/javac/T8016099/UncheckedWarningRegressionTest.out From vicente.romero at oracle.com Thu Jun 27 08:07:31 2013 From: vicente.romero at oracle.com (vicente.romero at oracle.com) Date: Thu, 27 Jun 2013 15:07:31 +0000 Subject: hg: jdk8/tl/langtools: 7008643: inlined finally clauses confuse debuggers Message-ID: <20130627150734.B03D6485C2@hg.openjdk.java.net> Changeset: d137ce373c4c Author: vromero Date: 2013-06-27 16:06 +0100 URL: http://hg.openjdk.java.net/jdk8/tl/langtools/rev/d137ce373c4c 7008643: inlined finally clauses confuse debuggers Reviewed-by: jjg ! src/share/classes/com/sun/tools/javac/jvm/Gen.java + test/tools/javac/T7008643/InlinedFinallyConfuseDebuggersTest.java From jonathan.gibbons at oracle.com Thu Jun 27 09:07:16 2013 From: jonathan.gibbons at oracle.com (jonathan.gibbons at oracle.com) Date: Thu, 27 Jun 2013 16:07:16 +0000 Subject: hg: jdk8/tl/langtools: 8015720: since tag isn't copied while generating JavaFX documentation Message-ID: <20130627160719.CBD6E485C4@hg.openjdk.java.net> Changeset: 26437287529d Author: janvalenta Date: 2013-06-27 17:47 +0200 URL: http://hg.openjdk.java.net/jdk8/tl/langtools/rev/26437287529d 8015720: since tag isn't copied while generating JavaFX documentation Reviewed-by: jjg ! src/share/classes/com/sun/tools/doclets/internal/toolkit/builders/MemberSummaryBuilder.java ! src/share/classes/com/sun/tools/doclets/internal/toolkit/taglets/TagletManager.java ! test/com/sun/javadoc/testJavaFX/C.java ! test/com/sun/javadoc/testJavaFX/TestJavaFX.java From kumar.x.srinivasan at oracle.com Thu Jun 27 09:43:02 2013 From: kumar.x.srinivasan at oracle.com (Kumar Srinivasan) Date: Thu, 27 Jun 2013 09:43:02 -0700 Subject: Review request for JDK-8016760: failure of regression test langtools/tools/javac/T6725036.java In-Reply-To: <51C9D85D.6080905@oracle.com> References: <51C9A325.4020605@oracle.com> <51C9D85D.6080905@oracle.com> Message-ID: <51CC6B96.8080607@oracle.com> If this is to be undone after the correct zip fix, why not add the @ignore for now ? and enable this when 8015666 is fixed correctly. Kumar > This is fine to be a workaround for the test case for now. It probably > will need to be > undo-ed after the propose change for #8015666 get integrated. > > http://cr.openjdk.java.net/~sherman/8015666/webrev/ > > The proposal for #8015666 is to keep the "existing" behavior of > ZipEntry.getTime() > to return a LastModifiedTime converted from the zip entry's > ms-dos-formatted date/time > field by using the "default" timezone. A new pair > ZipEntry.get/setLastModifiedTime() > will be added to access the "real" UTC time stored in the zip entry, > if presents. > > The API doc will be updated accordingly as well to explicitly explain > the source of the > date/time and the its timezone sensitive conversion. > > -Sherman > > On 06/25/2013 07:03 AM, Eric McCorkle wrote: >> Hello, >> >> Please review this simple patch which updates regression test >> langtools/tools/javac/T6725036.java to offset the time returned by >> JavaFileObject.getLastModified() with the local time to UTC delta. >> >> Please note that this patch is intended to address the test failures, >> and that I will be immediately opening a new bug to investigate and >> address deeper issues, and also to properly document the API. >> >> The webrev is here: >> http://cr.openjdk.java.net/~emc/8016760/ >> >> The bug report is here: >> http://bugs.sun.com/view_bug.do?bug_id=8016760 >> >> Thanks, >> Eric > From jonathan.gibbons at oracle.com Thu Jun 27 10:04:13 2013 From: jonathan.gibbons at oracle.com (Jonathan Gibbons) Date: Thu, 27 Jun 2013 10:04:13 -0700 Subject: Hitchhiker's Guide to javac In-Reply-To: <51C50D0A.1030802@oracle.com> References: <51C50D0A.1030802@oracle.com> Message-ID: <51CC708D.4030303@oracle.com> On 06/21/2013 07:33 PM, Jonathan Gibbons wrote: > There's a new doc page on the OpenJDK Compiler Group pages, > The Hitchhiker's Guide To javac > > > This is an initial version; the intent is to expand it as needed over > time. > > -- Jon FYI, the page has been moved, as in promoted from a file to the first in a directory of files. If you had bookmarked the page, you'll need to update it. -- Jon -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/compiler-dev/attachments/20130627/13b24f7a/attachment.html From jonathan.gibbons at oracle.com Thu Jun 27 10:12:03 2013 From: jonathan.gibbons at oracle.com (Jonathan Gibbons) Date: Thu, 27 Jun 2013 10:12:03 -0700 Subject: Review request for JDK-8016760: failure of regression test langtools/tools/javac/T6725036.java In-Reply-To: <51CC6B96.8080607@oracle.com> References: <51C9A325.4020605@oracle.com> <51C9D85D.6080905@oracle.com> <51CC6B96.8080607@oracle.com> Message-ID: <51CC7263.3070901@oracle.com> Yes, I think that this is the correct approach. -- Jon On 06/27/2013 09:43 AM, Kumar Srinivasan wrote: > If this is to be undone after the correct zip fix, why not add the > @ignore for now ? > and enable this when 8015666 is fixed correctly. > > Kumar > >> This is fine to be a workaround for the test case for now. It >> probably will need to be >> undo-ed after the propose change for #8015666 get integrated. >> >> http://cr.openjdk.java.net/~sherman/8015666/webrev/ >> >> The proposal for #8015666 is to keep the "existing" behavior of >> ZipEntry.getTime() >> to return a LastModifiedTime converted from the zip entry's >> ms-dos-formatted date/time >> field by using the "default" timezone. A new pair >> ZipEntry.get/setLastModifiedTime() >> will be added to access the "real" UTC time stored in the zip entry, >> if presents. >> >> The API doc will be updated accordingly as well to explicitly explain >> the source of the >> date/time and the its timezone sensitive conversion. >> >> -Sherman >> >> On 06/25/2013 07:03 AM, Eric McCorkle wrote: >>> Hello, >>> >>> Please review this simple patch which updates regression test >>> langtools/tools/javac/T6725036.java to offset the time returned by >>> JavaFileObject.getLastModified() with the local time to UTC delta. >>> >>> Please note that this patch is intended to address the test failures, >>> and that I will be immediately opening a new bug to investigate and >>> address deeper issues, and also to properly document the API. >>> >>> The webrev is here: >>> http://cr.openjdk.java.net/~emc/8016760/ >>> >>> The bug report is here: >>> http://bugs.sun.com/view_bug.do?bug_id=8016760 >>> >>> Thanks, >>> Eric >> > From kumar.x.srinivasan at oracle.com Thu Jun 27 10:13:17 2013 From: kumar.x.srinivasan at oracle.com (Kumar Srinivasan) Date: Thu, 27 Jun 2013 10:13:17 -0700 Subject: RFR: JDK-7080001: Need to bump version numbers in build.properties for 8 (EZ) Message-ID: <51CC72AD.5030500@oracle.com> Hi, Please review the build changes, this only affects developers who build langtools repo. independently of the the JDK, and basically forces us to eat our own dogfood. :) Webrev: http://cr.openjdk.java.net/~ksrini/7080001/webrev.0/ Thanks Kumar From jonathan.gibbons at oracle.com Thu Jun 27 10:20:08 2013 From: jonathan.gibbons at oracle.com (Jonathan Gibbons) Date: Thu, 27 Jun 2013 10:20:08 -0700 Subject: RFR: JDK-7080001: Need to bump version numbers in build.properties for 8 (EZ) In-Reply-To: <51CC72AD.5030500@oracle.com> References: <51CC72AD.5030500@oracle.com> Message-ID: <51CC7448.7030205@oracle.com> On 06/27/2013 10:13 AM, Kumar Srinivasan wrote: > Hi, > > Please review the build changes, this only affects developers who build > langtools repo. independently of the the JDK, and basically forces us to > eat our own dogfood. :) > > Webrev: > http://cr.openjdk.java.net/~ksrini/7080001/webrev.0/ > > Thanks > Kumar > Well, to be clear, it only forces us to eat newer dogfood. Looks good to me. -- Jon From iris.clark at oracle.com Thu Jun 27 10:26:45 2013 From: iris.clark at oracle.com (Iris Clark) Date: Thu, 27 Jun 2013 10:26:45 -0700 (PDT) Subject: RFR: JDK-7080001: Need to bump version numbers in build.properties for 8 (EZ) In-Reply-To: <51CC72AD.5030500@oracle.com> References: <51CC72AD.5030500@oracle.com> Message-ID: Hi, Kumar. The code looks good to me. I think that the bug needs an appropriate "noreg" label [1]. iris (not a Reviewer) [1]: http://openjdk.java.net/guide/changePlanning.html#noreg -----Original Message----- From: Kumar Srinivasan Sent: Thursday, June 27, 2013 10:13 AM To: compiler-dev at openjdk.java.net Subject: RFR: JDK-7080001: Need to bump version numbers in build.properties for 8 (EZ) Hi, Please review the build changes, this only affects developers who build langtools repo. independently of the the JDK, and basically forces us to eat our own dogfood. :) Webrev: http://cr.openjdk.java.net/~ksrini/7080001/webrev.0/ Thanks Kumar From eric.mccorkle at oracle.com Thu Jun 27 10:31:12 2013 From: eric.mccorkle at oracle.com (Eric McCorkle) Date: Thu, 27 Jun 2013 13:31:12 -0400 Subject: Review request for JDK-8016760: failure of regression test langtools/tools/javac/T6725036.java In-Reply-To: <51CC7263.3070901@oracle.com> References: <51C9A325.4020605@oracle.com> <51C9D85D.6080905@oracle.com> <51CC6B96.8080607@oracle.com> <51CC7263.3070901@oracle.com> Message-ID: <51CC76E0.8060104@oracle.com> I could easily replace the patch I have now with one that just marks the test @ignore and commit it. Do we want to go ahead and approve that? On 06/27/13 13:12, Jonathan Gibbons wrote: > Yes, I think that this is the correct approach. > > -- Jon > > > On 06/27/2013 09:43 AM, Kumar Srinivasan wrote: >> If this is to be undone after the correct zip fix, why not add the >> @ignore for now ? >> and enable this when 8015666 is fixed correctly. >> >> Kumar >> >>> This is fine to be a workaround for the test case for now. It >>> probably will need to be >>> undo-ed after the propose change for #8015666 get integrated. >>> >>> http://cr.openjdk.java.net/~sherman/8015666/webrev/ >>> >>> The proposal for #8015666 is to keep the "existing" behavior of >>> ZipEntry.getTime() >>> to return a LastModifiedTime converted from the zip entry's >>> ms-dos-formatted date/time >>> field by using the "default" timezone. A new pair >>> ZipEntry.get/setLastModifiedTime() >>> will be added to access the "real" UTC time stored in the zip entry, >>> if presents. >>> >>> The API doc will be updated accordingly as well to explicitly explain >>> the source of the >>> date/time and the its timezone sensitive conversion. >>> >>> -Sherman >>> >>> On 06/25/2013 07:03 AM, Eric McCorkle wrote: >>>> Hello, >>>> >>>> Please review this simple patch which updates regression test >>>> langtools/tools/javac/T6725036.java to offset the time returned by >>>> JavaFileObject.getLastModified() with the local time to UTC delta. >>>> >>>> Please note that this patch is intended to address the test failures, >>>> and that I will be immediately opening a new bug to investigate and >>>> address deeper issues, and also to properly document the API. >>>> >>>> The webrev is here: >>>> http://cr.openjdk.java.net/~emc/8016760/ >>>> >>>> The bug report is here: >>>> http://bugs.sun.com/view_bug.do?bug_id=8016760 >>>> >>>> Thanks, >>>> Eric >>> >> > -------------- next part -------------- A non-text attachment was scrubbed... Name: eric_mccorkle.vcf Type: text/x-vcard Size: 303 bytes Desc: not available Url : http://mail.openjdk.java.net/pipermail/compiler-dev/attachments/20130627/64d03a2c/eric_mccorkle.vcf From joe.darcy at oracle.com Thu Jun 27 10:48:16 2013 From: joe.darcy at oracle.com (Joe Darcy) Date: Thu, 27 Jun 2013 10:48:16 -0700 Subject: Code review request for more informative comments in SourceVersion Message-ID: <51CC7AE0.6030108@oracle.com> Hello, It was recently been brought to my attention that the SourceVersion enum in javax.lang.model did not have informative descriptions of the language changes in Java SE 7 and 8. Please review the patch below which add this information. Thanks, -Joe --- a/src/share/classes/javax/lang/model/SourceVersion.java Thu Jun 27 00:37:13 2013 -0400 +++ b/src/share/classes/javax/lang/model/SourceVersion.java Thu Jun 27 10:42:25 2013 -0700 @@ -53,6 +53,8 @@ * 1.4: assert * 1.5: annotations, generics, autoboxing, var-args... * 1.6: no changes + * 1.7: diamond syntax, try-with-resources, etc. + * 1.8: lambda and default methods */ /** @@ -122,6 +124,9 @@ * The version recognized by the Java Platform, Standard Edition * 7. * + * Additions in this release include, diamond syntax for + * constructors, {@code try}-with-resources, strings in switch, + * binary literals, and multi-catch. * @since 1.7 */ RELEASE_7, @@ -130,6 +135,7 @@ * The version recognized by the Java Platform, Standard Edition * 8. * + * Additions in this release include lambda expression and default methods. * @since 1.8 */ RELEASE_8; From joe.darcy at oracle.com Thu Jun 27 11:07:04 2013 From: joe.darcy at oracle.com (joe.darcy at oracle.com) Date: Thu, 27 Jun 2013 18:07:04 +0000 Subject: hg: jdk8/tl/jdk: 8019304: Fix doclint issues in java.util.prefs Message-ID: <20130627180740.9284B485CF@hg.openjdk.java.net> Changeset: 1c31082f0a51 Author: darcy Date: 2013-06-27 11:06 -0700 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/1c31082f0a51 8019304: Fix doclint issues in java.util.prefs Reviewed-by: lancea ! src/share/classes/java/util/prefs/AbstractPreferences.java ! src/share/classes/java/util/prefs/PreferencesFactory.java From jonathan.gibbons at oracle.com Thu Jun 27 11:10:43 2013 From: jonathan.gibbons at oracle.com (Jonathan Gibbons) Date: Thu, 27 Jun 2013 11:10:43 -0700 Subject: Code review request for more informative comments in SourceVersion In-Reply-To: <51CC7AE0.6030108@oracle.com> References: <51CC7AE0.6030108@oracle.com> Message-ID: <51CC8023.5090003@oracle.com> Looks good to me. --Jon On 06/27/2013 10:48 AM, Joe Darcy wrote: > Hello, > > It was recently been brought to my attention that the SourceVersion > enum in javax.lang.model did not have informative descriptions of the > language changes in Java SE 7 and 8. > > Please review the patch below which add this information. > > Thanks, > > -Joe > > --- a/src/share/classes/javax/lang/model/SourceVersion.java Thu Jun > 27 00:37:13 2013 -0400 > +++ b/src/share/classes/javax/lang/model/SourceVersion.java Thu Jun > 27 10:42:25 2013 -0700 > @@ -53,6 +53,8 @@ > * 1.4: assert > * 1.5: annotations, generics, autoboxing, var-args... > * 1.6: no changes > + * 1.7: diamond syntax, try-with-resources, etc. > + * 1.8: lambda and default methods > */ > > /** > @@ -122,6 +124,9 @@ > * The version recognized by the Java Platform, Standard Edition > * 7. > * > + * Additions in this release include, diamond syntax for > + * constructors, {@code try}-with-resources, strings in switch, > + * binary literals, and multi-catch. > * @since 1.7 > */ > RELEASE_7, > @@ -130,6 +135,7 @@ > * The version recognized by the Java Platform, Standard Edition > * 8. > * > + * Additions in this release include lambda expression and > default methods. > * @since 1.8 > */ > RELEASE_8; > From jonathan.gibbons at oracle.com Thu Jun 27 11:18:48 2013 From: jonathan.gibbons at oracle.com (Jonathan Gibbons) Date: Thu, 27 Jun 2013 11:18:48 -0700 Subject: Review request for JDK-8016760: failure of regression test langtools/tools/javac/T6725036.java In-Reply-To: <51CC76E0.8060104@oracle.com> References: <51C9A325.4020605@oracle.com> <51C9D85D.6080905@oracle.com> <51CC6B96.8080607@oracle.com> <51CC7263.3070901@oracle.com> <51CC76E0.8060104@oracle.com> Message-ID: <51CC8208.90909@oracle.com> Yes, Per the latest conventions, the line should be of the form @ignore BUGID: synopsis where BUGID is the number for a currently open issue that justifies this test being ignored. -- Jon On 06/27/2013 10:31 AM, Eric McCorkle wrote: > I could easily replace the patch I have now with one that just marks the > test @ignore and commit it. Do we want to go ahead and approve that? > > On 06/27/13 13:12, Jonathan Gibbons wrote: >> Yes, I think that this is the correct approach. >> >> -- Jon >> >> >> On 06/27/2013 09:43 AM, Kumar Srinivasan wrote: >>> If this is to be undone after the correct zip fix, why not add the >>> @ignore for now ? >>> and enable this when 8015666 is fixed correctly. >>> >>> Kumar >>> >>>> This is fine to be a workaround for the test case for now. It >>>> probably will need to be >>>> undo-ed after the propose change for #8015666 get integrated. >>>> >>>> http://cr.openjdk.java.net/~sherman/8015666/webrev/ >>>> >>>> The proposal for #8015666 is to keep the "existing" behavior of >>>> ZipEntry.getTime() >>>> to return a LastModifiedTime converted from the zip entry's >>>> ms-dos-formatted date/time >>>> field by using the "default" timezone. A new pair >>>> ZipEntry.get/setLastModifiedTime() >>>> will be added to access the "real" UTC time stored in the zip entry, >>>> if presents. >>>> >>>> The API doc will be updated accordingly as well to explicitly explain >>>> the source of the >>>> date/time and the its timezone sensitive conversion. >>>> >>>> -Sherman >>>> >>>> On 06/25/2013 07:03 AM, Eric McCorkle wrote: >>>>> Hello, >>>>> >>>>> Please review this simple patch which updates regression test >>>>> langtools/tools/javac/T6725036.java to offset the time returned by >>>>> JavaFileObject.getLastModified() with the local time to UTC delta. >>>>> >>>>> Please note that this patch is intended to address the test failures, >>>>> and that I will be immediately opening a new bug to investigate and >>>>> address deeper issues, and also to properly document the API. >>>>> >>>>> The webrev is here: >>>>> http://cr.openjdk.java.net/~emc/8016760/ >>>>> >>>>> The bug report is here: >>>>> http://bugs.sun.com/view_bug.do?bug_id=8016760 >>>>> >>>>> Thanks, >>>>> Eric From joe.darcy at oracle.com Thu Jun 27 11:49:08 2013 From: joe.darcy at oracle.com (joe.darcy at oracle.com) Date: Thu, 27 Jun 2013 18:49:08 +0000 Subject: hg: jdk8/tl/langtools: 8019308: Add descriptions of Java SE 7 and 8 language changes to SourceVersion Message-ID: <20130627184914.3D2B9485D0@hg.openjdk.java.net> Changeset: 065f8cb7bd89 Author: darcy Date: 2013-06-27 11:46 -0700 URL: http://hg.openjdk.java.net/jdk8/tl/langtools/rev/065f8cb7bd89 8019308: Add descriptions of Java SE 7 and 8 language changes to SourceVersion Reviewed-by: jjg ! src/share/classes/javax/lang/model/SourceVersion.java From lance.andersen at oracle.com Thu Jun 27 12:08:28 2013 From: lance.andersen at oracle.com (lance.andersen at oracle.com) Date: Thu, 27 Jun 2013 19:08:28 +0000 Subject: hg: jdk8/tl/jdk: 8017471: Fix JDBC -Xdoclint public errors Message-ID: <20130627190852.57175485D2@hg.openjdk.java.net> Changeset: b9ba04dc210f Author: lancea Date: 2013-06-27 15:07 -0400 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/b9ba04dc210f 8017471: Fix JDBC -Xdoclint public errors Reviewed-by: darcy ! src/share/classes/java/sql/Blob.java ! src/share/classes/java/sql/CallableStatement.java ! src/share/classes/java/sql/Clob.java ! src/share/classes/java/sql/DatabaseMetaData.java ! src/share/classes/java/sql/Driver.java ! src/share/classes/java/sql/DriverAction.java ! src/share/classes/java/sql/NClob.java ! src/share/classes/java/sql/ResultSet.java ! src/share/classes/java/sql/SQLInput.java ! src/share/classes/java/sql/SQLPermission.java ! src/share/classes/java/sql/SQLXML.java ! src/share/classes/java/sql/Wrapper.java ! src/share/classes/javax/sql/CommonDataSource.java ! src/share/classes/javax/sql/ConnectionPoolDataSource.java ! src/share/classes/javax/sql/DataSource.java ! src/share/classes/javax/sql/RowSet.java ! src/share/classes/javax/sql/XADataSource.java ! src/share/classes/javax/sql/rowset/BaseRowSet.java ! src/share/classes/javax/sql/rowset/CachedRowSet.java ! src/share/classes/javax/sql/rowset/FilteredRowSet.java ! src/share/classes/javax/sql/rowset/JdbcRowSet.java ! src/share/classes/javax/sql/rowset/Joinable.java ! src/share/classes/javax/sql/rowset/Predicate.java ! src/share/classes/javax/sql/rowset/RowSetProvider.java ! src/share/classes/javax/sql/rowset/RowSetWarning.java ! src/share/classes/javax/sql/rowset/WebRowSet.java ! src/share/classes/javax/sql/rowset/package.html ! src/share/classes/javax/sql/rowset/serial/SerialArray.java ! src/share/classes/javax/sql/rowset/serial/SerialBlob.java ! src/share/classes/javax/sql/rowset/serial/SerialClob.java ! src/share/classes/javax/sql/rowset/serial/SerialDatalink.java ! src/share/classes/javax/sql/rowset/serial/SerialJavaObject.java ! src/share/classes/javax/sql/rowset/serial/SerialRef.java ! src/share/classes/javax/sql/rowset/serial/SerialStruct.java ! src/share/classes/javax/sql/rowset/spi/SyncFactory.java ! src/share/classes/javax/sql/rowset/spi/SyncResolver.java From joe.darcy at oracle.com Thu Jun 27 12:24:39 2013 From: joe.darcy at oracle.com (joe.darcy at oracle.com) Date: Thu, 27 Jun 2013 19:24:39 +0000 Subject: hg: jdk8/tl/jdk: 8019315: Fix doclint issues in java.util.logging Message-ID: <20130627192500.9C6BA485D3@hg.openjdk.java.net> Changeset: b8f16cb2d95b Author: darcy Date: 2013-06-27 12:24 -0700 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/b8f16cb2d95b 8019315: Fix doclint issues in java.util.logging Reviewed-by: lancea ! src/share/classes/java/util/logging/Handler.java ! src/share/classes/java/util/logging/LogManager.java ! src/share/classes/java/util/logging/LogRecord.java From kumar.x.srinivasan at oracle.com Thu Jun 27 12:43:51 2013 From: kumar.x.srinivasan at oracle.com (kumar.x.srinivasan at oracle.com) Date: Thu, 27 Jun 2013 19:43:51 +0000 Subject: hg: jdk8/tl/langtools: 7080001: Need to bump version numbers in build.properties for 8 Message-ID: <20130627194356.CCBFF485D6@hg.openjdk.java.net> Changeset: 97e798c06804 Author: ksrini Date: 2013-06-27 12:42 -0700 URL: http://hg.openjdk.java.net/jdk8/tl/langtools/rev/97e798c06804 7080001: Need to bump version numbers in build.properties for 8 Reviewed-by: jjg ! make/build.properties From stuart.marks at oracle.com Thu Jun 27 13:33:43 2013 From: stuart.marks at oracle.com (stuart.marks at oracle.com) Date: Thu, 27 Jun 2013 20:33:43 +0000 Subject: hg: jdk8/tl/jdk: 8019224: add exception chaining to RMI CGIHandler Message-ID: <20130627203423.81A92485D7@hg.openjdk.java.net> Changeset: 6729f7ef94cd Author: smarks Date: 2013-06-27 13:35 -0700 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/6729f7ef94cd 8019224: add exception chaining to RMI CGIHandler Reviewed-by: darcy ! src/share/classes/sun/rmi/transport/proxy/CGIHandler.java From joe.darcy at oracle.com Thu Jun 27 14:11:36 2013 From: joe.darcy at oracle.com (joe.darcy at oracle.com) Date: Thu, 27 Jun 2013 21:11:36 +0000 Subject: hg: jdk8/tl/jdk: 8019320: Fix doclint issues in javax.script Message-ID: <20130627211158.5E362485E4@hg.openjdk.java.net> Changeset: 1099fe14fb65 Author: darcy Date: 2013-06-27 14:11 -0700 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/1099fe14fb65 8019320: Fix doclint issues in javax.script Reviewed-by: lancea ! src/share/classes/javax/script/Invocable.java ! src/share/classes/javax/script/ScriptContext.java ! src/share/classes/javax/script/ScriptEngineFactory.java ! src/share/classes/javax/script/SimpleScriptContext.java From eric.mccorkle at oracle.com Thu Jun 27 14:37:30 2013 From: eric.mccorkle at oracle.com (Eric McCorkle) Date: Thu, 27 Jun 2013 17:37:30 -0400 Subject: Review request for JDK-8016760: failure of regression test langtools/tools/javac/T6725036.java In-Reply-To: <51CC8208.90909@oracle.com> References: <51C9A325.4020605@oracle.com> <51C9D85D.6080905@oracle.com> <51CC6B96.8080607@oracle.com> <51CC7263.3070901@oracle.com> <51CC76E0.8060104@oracle.com> <51CC8208.90909@oracle.com> Message-ID: <51CCB09A.3080705@oracle.com> Ok. I will put it through shortly. On 06/27/13 14:18, Jonathan Gibbons wrote: > Yes, > > Per the latest conventions, the line should be of the form > > @ignore BUGID: synopsis > > where BUGID is the number for a currently open issue that justifies this > test being ignored. > > -- Jon > > On 06/27/2013 10:31 AM, Eric McCorkle wrote: >> I could easily replace the patch I have now with one that just marks the >> test @ignore and commit it. Do we want to go ahead and approve that? >> >> On 06/27/13 13:12, Jonathan Gibbons wrote: >>> Yes, I think that this is the correct approach. >>> >>> -- Jon >>> >>> >>> On 06/27/2013 09:43 AM, Kumar Srinivasan wrote: >>>> If this is to be undone after the correct zip fix, why not add the >>>> @ignore for now ? >>>> and enable this when 8015666 is fixed correctly. >>>> >>>> Kumar >>>> >>>>> This is fine to be a workaround for the test case for now. It >>>>> probably will need to be >>>>> undo-ed after the propose change for #8015666 get integrated. >>>>> >>>>> http://cr.openjdk.java.net/~sherman/8015666/webrev/ >>>>> >>>>> The proposal for #8015666 is to keep the "existing" behavior of >>>>> ZipEntry.getTime() >>>>> to return a LastModifiedTime converted from the zip entry's >>>>> ms-dos-formatted date/time >>>>> field by using the "default" timezone. A new pair >>>>> ZipEntry.get/setLastModifiedTime() >>>>> will be added to access the "real" UTC time stored in the zip entry, >>>>> if presents. >>>>> >>>>> The API doc will be updated accordingly as well to explicitly explain >>>>> the source of the >>>>> date/time and the its timezone sensitive conversion. >>>>> >>>>> -Sherman >>>>> >>>>> On 06/25/2013 07:03 AM, Eric McCorkle wrote: >>>>>> Hello, >>>>>> >>>>>> Please review this simple patch which updates regression test >>>>>> langtools/tools/javac/T6725036.java to offset the time returned by >>>>>> JavaFileObject.getLastModified() with the local time to UTC delta. >>>>>> >>>>>> Please note that this patch is intended to address the test failures, >>>>>> and that I will be immediately opening a new bug to investigate and >>>>>> address deeper issues, and also to properly document the API. >>>>>> >>>>>> The webrev is here: >>>>>> http://cr.openjdk.java.net/~emc/8016760/ >>>>>> >>>>>> The bug report is here: >>>>>> http://bugs.sun.com/view_bug.do?bug_id=8016760 >>>>>> >>>>>> Thanks, >>>>>> Eric > -------------- next part -------------- A non-text attachment was scrubbed... Name: eric_mccorkle.vcf Type: text/x-vcard Size: 314 bytes Desc: not available Url : http://mail.openjdk.java.net/pipermail/compiler-dev/attachments/20130627/6bcde876/eric_mccorkle.vcf From naoto.sato at oracle.com Thu Jun 27 14:41:04 2013 From: naoto.sato at oracle.com (naoto.sato at oracle.com) Date: Thu, 27 Jun 2013 21:41:04 +0000 Subject: hg: jdk8/tl/jdk: 6609431: (rb) ResourceBundle.getString() returns incorrect value Message-ID: <20130627214128.48EDD485E7@hg.openjdk.java.net> Changeset: e34e3ddb3cd8 Author: naoto Date: 2013-06-27 14:40 -0700 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/e34e3ddb3cd8 6609431: (rb) ResourceBundle.getString() returns incorrect value Reviewed-by: okutsu, sherman ! src/share/classes/java/util/Properties.java + test/java/util/Properties/Bug6609431.java + test/java/util/Properties/Bug6609431.properties From eric.mccorkle at oracle.com Thu Jun 27 14:46:51 2013 From: eric.mccorkle at oracle.com (eric.mccorkle at oracle.com) Date: Thu, 27 Jun 2013 21:46:51 +0000 Subject: hg: jdk8/tl/langtools: 8013357: javac accepts erroneous binary comparison operations Message-ID: <20130627214656.3A210485E8@hg.openjdk.java.net> Changeset: 5c548a8542b8 Author: emc Date: 2013-06-27 17:45 -0400 URL: http://hg.openjdk.java.net/jdk8/tl/langtools/rev/5c548a8542b8 8013357: javac accepts erroneous binary comparison operations Summary: javac does not report type errors on illegal Object == primitive comparisons Reviewed-by: abuckley, mcimadamore ! src/share/classes/com/sun/tools/javac/code/Types.java ! src/share/classes/com/sun/tools/javac/comp/Attr.java ! test/tools/javac/lambda/LambdaConv01.java ! test/tools/javac/lambda/LambdaExpr15.java ! test/tools/javac/lambda/typeInference/InferenceTest2b.java + test/tools/javac/types/TestComparisons.java From scolebourne at joda.org Thu Jun 27 15:50:02 2013 From: scolebourne at joda.org (Stephen Colebourne) Date: Thu, 27 Jun 2013 23:50:02 +0100 Subject: Code review request for more informative comments in SourceVersion In-Reply-To: <51CC7AE0.6030108@oracle.com> References: <51CC7AE0.6030108@oracle.com> Message-ID: On 27 June 2013 18:48, Joe Darcy wrote: > + * 1.7: diamond syntax, try-with-resources, etc. > + * 1.8: lambda and default methods There are also static methods in interfaces. perhaps "lambda and concrete interface methods" might be more complete? Stephen From joe.darcy at oracle.com Thu Jun 27 19:02:19 2013 From: joe.darcy at oracle.com (joe.darcy at oracle.com) Date: Fri, 28 Jun 2013 02:02:19 +0000 Subject: hg: jdk8/tl/jdk: 8019357: Fix doclint warnings in java.lang.invoke Message-ID: <20130628020243.A703448604@hg.openjdk.java.net> Changeset: 29bbbb136bc5 Author: darcy Date: 2013-06-27 19:02 -0700 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/29bbbb136bc5 8019357: Fix doclint warnings in java.lang.invoke Reviewed-by: jrose ! src/share/classes/java/lang/invoke/LambdaConversionException.java ! src/share/classes/java/lang/invoke/LambdaMetafactory.java ! src/share/classes/java/lang/invoke/MethodHandle.java ! src/share/classes/java/lang/invoke/MethodHandleProxies.java ! src/share/classes/java/lang/invoke/MethodHandles.java ! src/share/classes/java/lang/invoke/MethodType.java ! src/share/classes/java/lang/invoke/MutableCallSite.java ! src/share/classes/java/lang/invoke/SerializedLambda.java ! src/share/classes/java/lang/invoke/package-info.java From xuelei.fan at oracle.com Thu Jun 27 19:26:43 2013 From: xuelei.fan at oracle.com (xuelei.fan at oracle.com) Date: Fri, 28 Jun 2013 02:26:43 +0000 Subject: hg: jdk8/tl/jdk: 8019359: To comment why not use no_renegotiation to reject client initiated renegotiation Message-ID: <20130628022718.2C53648605@hg.openjdk.java.net> Changeset: 60d1994f63f7 Author: xuelei Date: 2013-06-27 19:22 -0700 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/60d1994f63f7 8019359: To comment why not use no_renegotiation to reject client initiated renegotiation Reviewed-by: wetmore ! src/share/classes/sun/security/ssl/ServerHandshaker.java From paul.sandoz at oracle.com Fri Jun 28 01:21:38 2013 From: paul.sandoz at oracle.com (paul.sandoz at oracle.com) Date: Fri, 28 Jun 2013 08:21:38 +0000 Subject: hg: jdk8/tl/jdk: 8009736: Comparator API cleanup Message-ID: <20130628082202.5780D48629@hg.openjdk.java.net> Changeset: c1df54fd19b2 Author: henryjen Date: 2013-06-11 13:41 -0700 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/c1df54fd19b2 8009736: Comparator API cleanup Reviewed-by: psandoz, briangoetz, mduigou, plevart ! src/share/classes/java/util/Collections.java ! src/share/classes/java/util/Comparator.java ! src/share/classes/java/util/Comparators.java ! src/share/classes/java/util/Map.java ! src/share/classes/java/util/TreeMap.java ! src/share/classes/java/util/function/BinaryOperator.java ! src/share/classes/java/util/stream/Collectors.java ! src/share/classes/java/util/stream/ReferencePipeline.java ! src/share/classes/java/util/stream/SortedOps.java ! test/java/nio/file/Files/StreamTest.java ! test/java/util/Collection/ListDefaults.java + test/java/util/Comparator/BasicTest.java + test/java/util/Comparator/TypeTest.java - test/java/util/Comparators/BasicTest.java + test/java/util/Map/EntryComparators.java + test/java/util/function/BinaryOperator/BasicTest.java ! test/java/util/stream/test/org/openjdk/tests/java/util/stream/SequentialOpTest.java ! test/java/util/stream/test/org/openjdk/tests/java/util/stream/SliceOpTest.java ! test/java/util/stream/test/org/openjdk/tests/java/util/stream/SortedOpTest.java ! test/sun/misc/JavaLangAccess/NewUnsafeString.java From paul.sandoz at oracle.com Fri Jun 28 01:30:55 2013 From: paul.sandoz at oracle.com (paul.sandoz at oracle.com) Date: Fri, 28 Jun 2013 08:30:55 +0000 Subject: hg: jdk8/tl/jdk: 8012987: Optimizations for Stream.limit/substream Message-ID: <20130628083121.C815E4862C@hg.openjdk.java.net> Changeset: 28b71c97a72d Author: psandoz Date: 2013-06-28 10:29 +0200 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/28b71c97a72d 8012987: Optimizations for Stream.limit/substream Reviewed-by: mduigou Contributed-by: Brian Goetz , Paul Sandoz ! src/share/classes/java/util/stream/AbstractPipeline.java ! src/share/classes/java/util/stream/AbstractTask.java ! src/share/classes/java/util/stream/DoubleStream.java ! src/share/classes/java/util/stream/ForEachOps.java ! src/share/classes/java/util/stream/IntStream.java ! src/share/classes/java/util/stream/LongStream.java ! src/share/classes/java/util/stream/PipelineHelper.java ! src/share/classes/java/util/stream/SliceOps.java ! src/share/classes/java/util/stream/Stream.java ! src/share/classes/java/util/stream/StreamSpliterators.java ! test/java/util/stream/bootlib/java/util/stream/OpTestCase.java ! test/java/util/stream/bootlib/java/util/stream/SpliteratorTestHelper.java + test/java/util/stream/boottest/java/util/stream/SliceSpliteratorTest.java ! test/java/util/stream/boottest/java/util/stream/StreamFlagsTest.java ! test/java/util/stream/test/org/openjdk/tests/java/util/stream/InfiniteStreamWithLimitOpTest.java From eric.mccorkle at oracle.com Fri Jun 28 03:55:31 2013 From: eric.mccorkle at oracle.com (eric.mccorkle at oracle.com) Date: Fri, 28 Jun 2013 10:55:31 +0000 Subject: hg: jdk8/tl/langtools: 8016760: Failure of regression test langtools/tools/javac/T6725036.java Message-ID: <20130628105536.1F92148636@hg.openjdk.java.net> Changeset: 6101e52ce9e3 Author: emc Date: 2013-06-28 06:54 -0400 URL: http://hg.openjdk.java.net/jdk8/tl/langtools/rev/6101e52ce9e3 8016760: Failure of regression test langtools/tools/javac/T6725036.java Summary: Marking the failing test @ignore; the proposed change for 8015666 addresses the underlying issue Reviewed-by: jjg ! test/tools/javac/T6725036.java From vicente.romero at oracle.com Fri Jun 28 05:21:49 2013 From: vicente.romero at oracle.com (vicente.romero at oracle.com) Date: Fri, 28 Jun 2013 12:21:49 +0000 Subject: hg: jdk8/tl/langtools: 6473148: TreePath.iterator() should document the iteration order Message-ID: <20130628122157.9B4084863A@hg.openjdk.java.net> Changeset: bb06c412d079 Author: vromero Date: 2013-06-28 13:20 +0100 URL: http://hg.openjdk.java.net/jdk8/tl/langtools/rev/bb06c412d079 6473148: TreePath.iterator() should document the iteration order Reviewed-by: mcimadamore ! src/share/classes/com/sun/source/util/TreePath.java From vicente.romero at oracle.com Fri Jun 28 06:36:39 2013 From: vicente.romero at oracle.com (vicente.romero at oracle.com) Date: Fri, 28 Jun 2013 13:36:39 +0000 Subject: hg: jdk8/tl/langtools: 8005552: c.s.t.javap.AttributeWriter.visitLocalVariableTable() uses incorrect format string Message-ID: <20130628133644.D79784863B@hg.openjdk.java.net> Changeset: bdd699d7378d Author: vromero Date: 2013-06-28 14:36 +0100 URL: http://hg.openjdk.java.net/jdk8/tl/langtools/rev/bdd699d7378d 8005552: c.s.t.javap.AttributeWriter.visitLocalVariableTable() uses incorrect format string Reviewed-by: mcimadamore ! src/share/classes/com/sun/tools/javap/AttributeWriter.java From staffan.larsen at oracle.com Fri Jun 28 07:34:38 2013 From: staffan.larsen at oracle.com (staffan.larsen at oracle.com) Date: Fri, 28 Jun 2013 14:34:38 +0000 Subject: hg: jdk8/tl/jdk: 8019155: Update makefiles with correct jfr packages Message-ID: <20130628143503.2043048641@hg.openjdk.java.net> Changeset: 19a6d2d701d9 Author: sla Date: 2013-06-26 19:15 +0200 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/19a6d2d701d9 8019155: Update makefiles with correct jfr packages Reviewed-by: mgronlun, erikj ! make/common/Release.gmk ! makefiles/CreateJars.gmk From alan.bateman at oracle.com Fri Jun 28 08:20:18 2013 From: alan.bateman at oracle.com (alan.bateman at oracle.com) Date: Fri, 28 Jun 2013 15:20:18 +0000 Subject: hg: jdk8/tl/jdk: 8019380: doclint warnings in java.nio, java.nio.file.**, java.nio.channels.** Message-ID: <20130628152041.C935D48647@hg.openjdk.java.net> Changeset: 04378a645944 Author: alanb Date: 2013-06-28 16:10 +0100 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/04378a645944 8019380: doclint warnings in java.nio, java.nio.file.**, java.nio.channels.** Reviewed-by: chegar ! src/share/classes/java/nio/Buffer.java ! src/share/classes/java/nio/MappedByteBuffer.java ! src/share/classes/java/nio/X-Buffer.java.template ! src/share/classes/java/nio/channels/AsynchronousByteChannel.java ! src/share/classes/java/nio/channels/AsynchronousChannel.java ! src/share/classes/java/nio/channels/AsynchronousChannelGroup.java ! src/share/classes/java/nio/channels/AsynchronousFileChannel.java ! src/share/classes/java/nio/channels/AsynchronousServerSocketChannel.java ! src/share/classes/java/nio/channels/AsynchronousSocketChannel.java ! src/share/classes/java/nio/channels/DatagramChannel.java ! src/share/classes/java/nio/channels/FileChannel.java ! src/share/classes/java/nio/channels/FileLock.java ! src/share/classes/java/nio/channels/MulticastChannel.java ! src/share/classes/java/nio/channels/NetworkChannel.java ! src/share/classes/java/nio/channels/Pipe.java ! src/share/classes/java/nio/channels/SelectableChannel.java ! src/share/classes/java/nio/channels/SelectionKey.java ! src/share/classes/java/nio/channels/Selector.java ! src/share/classes/java/nio/channels/ServerSocketChannel.java ! src/share/classes/java/nio/channels/SocketChannel.java ! src/share/classes/java/nio/channels/spi/AbstractInterruptibleChannel.java ! src/share/classes/java/nio/channels/spi/AbstractSelectableChannel.java ! src/share/classes/java/nio/channels/spi/AbstractSelector.java ! src/share/classes/java/nio/channels/spi/AsynchronousChannelProvider.java ! src/share/classes/java/nio/channels/spi/SelectorProvider.java ! src/share/classes/java/nio/charset/Charset-X-Coder.java.template ! src/share/classes/java/nio/charset/Charset.java ! src/share/classes/java/nio/charset/CoderResult.java ! src/share/classes/java/nio/charset/spi/CharsetProvider.java ! src/share/classes/java/nio/file/FileStore.java ! src/share/classes/java/nio/file/FileSystem.java ! src/share/classes/java/nio/file/FileSystems.java ! src/share/classes/java/nio/file/Files.java ! src/share/classes/java/nio/file/Path.java ! src/share/classes/java/nio/file/SecureDirectoryStream.java ! src/share/classes/java/nio/file/WatchEvent.java ! src/share/classes/java/nio/file/WatchService.java ! src/share/classes/java/nio/file/attribute/AclEntry.java ! src/share/classes/java/nio/file/attribute/AclFileAttributeView.java ! src/share/classes/java/nio/file/attribute/AttributeView.java ! src/share/classes/java/nio/file/attribute/BasicFileAttributeView.java ! src/share/classes/java/nio/file/attribute/BasicFileAttributes.java ! src/share/classes/java/nio/file/attribute/DosFileAttributeView.java ! src/share/classes/java/nio/file/attribute/FileAttribute.java ! src/share/classes/java/nio/file/attribute/PosixFileAttributeView.java ! src/share/classes/java/nio/file/spi/FileSystemProvider.java ! src/share/classes/java/sql/SQLInput.java From chris.hegarty at oracle.com Fri Jun 28 08:45:56 2013 From: chris.hegarty at oracle.com (chris.hegarty at oracle.com) Date: Fri, 28 Jun 2013 15:45:56 +0000 Subject: hg: jdk8/tl/jdk: 4 new changesets Message-ID: <20130628154655.7175A48648@hg.openjdk.java.net> Changeset: 1919c226b427 Author: dl Date: 2013-06-28 12:10 +0100 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/1919c226b427 8017739: ReentrantReadWriteLock is confused by the Threads with reused IDs Reviewed-by: chegar ! src/share/classes/java/util/concurrent/locks/ReentrantReadWriteLock.java Changeset: 0e24065a75db Author: dl Date: 2013-06-28 12:12 +0100 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/0e24065a75db 8019377: Sync j.u.c locks and atomic from 166 to tl Reviewed-by: chegar ! src/share/classes/java/util/concurrent/atomic/AtomicBoolean.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/AtomicMarkableReference.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/AtomicStampedReference.java ! src/share/classes/java/util/concurrent/atomic/DoubleAccumulator.java ! src/share/classes/java/util/concurrent/atomic/DoubleAdder.java ! src/share/classes/java/util/concurrent/atomic/LongAccumulator.java ! src/share/classes/java/util/concurrent/atomic/Striped64.java ! src/share/classes/java/util/concurrent/atomic/package-info.java ! src/share/classes/java/util/concurrent/locks/AbstractOwnableSynchronizer.java ! src/share/classes/java/util/concurrent/locks/AbstractQueuedLongSynchronizer.java ! src/share/classes/java/util/concurrent/locks/AbstractQueuedSynchronizer.java ! src/share/classes/java/util/concurrent/locks/Condition.java ! src/share/classes/java/util/concurrent/locks/Lock.java ! src/share/classes/java/util/concurrent/locks/LockSupport.java ! src/share/classes/java/util/concurrent/locks/ReadWriteLock.java ! src/share/classes/java/util/concurrent/locks/ReentrantLock.java ! src/share/classes/java/util/concurrent/locks/StampedLock.java Changeset: ff0242ed08db Author: jzavgren Date: 2013-06-28 16:38 +0100 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/ff0242ed08db 8015799: HttpURLConnection.getHeaderFields() throws IllegalArgumentException Reviewed-by: chegar, dsamersoff, khazra ! src/share/classes/sun/net/www/protocol/http/HttpURLConnection.java + test/java/net/CookieHandler/EmptyCookieHeader.java Changeset: 52b4527d3fc7 Author: chegar Date: 2013-06-28 16:39 +0100 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/52b4527d3fc7 Merge From jonathan.gibbons at oracle.com Fri Jun 28 09:46:54 2013 From: jonathan.gibbons at oracle.com (Jonathan Gibbons) Date: Fri, 28 Jun 2013 09:46:54 -0700 Subject: patch: javap does not show SourceDebugExtension properly In-Reply-To: <51CB088F.8000907@oracle.com> References: , , <51C9E90C.7020309@oracle.com>, <51CB088F.8000907@oracle.com> Message-ID: <51CDBDFE.6090309@oracle.com> This is now being tracked as issue 8019397. -- Jon On 06/26/2013 08:28 AM, Jonathan Gibbons wrote: > Dmytro, > > Thank you. I have investigated this issue and agree with your > findings. I'll file an issue and work towards fixing it. > > -- Jon > > On 06/26/2013 12:58 AM, Dmytro Sheyko wrote: >> Hello, >> >> I am sending class file sample with sources and javap output: >> Hello.jsp, greeting.jsp - original sources >> Hello_jsp.java, Hello_jsp.class - files generated by Jasper (Apache >> Tomcat 7.0.41) >> Hello_jsp.*.current.javap, Hello_jsp.*.patched.javap - javap output >> (without patch and with patch, used jdk1.7.0_25 and jdk1.8.0-ea-b91, >> however it seems there is no difference in patched classes between >> repositoried jdk7u/langtools and jdk8/langtools, whatever the case >> patch (which I sent earlier) is made on jdk8/langtools) >> >> Thanks, >> Dmytro >> ________________________________ >>> From: dmytro_sheyko at hotmail.com >>> To: jonathan.gibbons at oracle.com; compiler-dev at openjdk.java.net >>> Subject: RE: patch: javap does not show SourceDebugExtension properly >>> Date: Tue, 25 Jun 2013 23:52:02 +0300 >>> Jonathan, >>> This bug does not manifest itself with exception. javap just prints >>> SourceDebugExtension: null >>> In a class file content of SDE attribute appears as UTF-8 string, >>> where >>> the first 4 bytes are 'S', 'M', 'A', 'P'. Existing code of >>> SourceDebugExtension_attribute.getValue() uses readUTF and hence >>> attempts to interpret the first two bytes (i.e. 'S' and 'M') as length >>> of the string and then fails with EOFException. Then it catches this >>> exception and returns null, which, in turn, appears in output. >>> As for sample class file, it's generated by Tomcat 7.0 runtime. I >>> will >>> send it later. >>> Regards, >>> Dmytro >>>> Date: Tue, 25 Jun 2013 12:01:32 -0700 >>>> From: jonathan.gibbons at oracle.com >>>> To: compiler-dev at openjdk.java.net >>>> Subject: Re: patch: javap does not show SourceDebugExtension properly >>>> >>>> Dmytro, >>>> >>>> Thank you for your suggestion. Can you provide more details on why the >>>> existing code does not work. Presumably you get an exception -- >>>> what is >>>> it? Alternative, can you provide a sample class file for which the >>>> existing code does not work, together with info on which version of >>>> which compiler generated the class file? >>>> >>>> I agree that the change to visitSourceDebugExtension is probably >>>> desirable. >>>> >>>> -- Jon >>>> >>>> >>>> On 06/25/2013 11:32 AM, Dmytro Sheyko wrote: >>>>> Hello, >>>>> >>>>> I was trying to get SourceDebugExtension for compiled jsp class >>> using javap (1.7.0_25, 1.8.0-ea-b91) and it printed something like: >>>>> SourceFile: "x_jsp.java" >>>>> SourceDebugExtension: null >>>>> minor version: 0 >>>>> major version: 50 >>>>> >>>>> where expected output is following: >>>>> >>>>> SourceFile: "x_jsp.java" >>>>> SourceDebugExtension: >>>>> SMAP >>>>> x_jsp.java >>>>> JSP >>>>> *S JSP >>>>> *F >>>>> + 0 x.jsp >>>>> x.jsp >>>>> *L >>>>> 1,3:62 >>>>> 4:65,4 >>>>> 6,4:70 >>>>> 9,4:74 >>>>> *E >>>>> minor version: 0 >>>>> major version: 50 >>>>> >>>>> Getting SourceDebugExtension using JDI works well (i.e. class file >>> is correct). >>>>> And I would like to propose a patch to fix this issue. Please review. >>>>> >>>>> diff -r b3458329d060 >>> src/share/classes/com/sun/tools/classfile/SourceDebugExtension_attribute.java >>> >>>>> --- >>> a/src/share/classes/com/sun/tools/classfile/SourceDebugExtension_attribute.java >>> >>> Mon Jun 24 14:27:32 2013 -0700 >>>>> +++ >>> b/src/share/classes/com/sun/tools/classfile/SourceDebugExtension_attribute.java >>> >>> Tue Jun 25 20:22:06 2013 +0300 >>>>> @@ -25,9 +25,8 @@ >>>>> >>>>> package com.sun.tools.classfile; >>>>> >>>>> -import java.io.ByteArrayInputStream; >>>>> -import java.io.DataInputStream; >>>>> import java.io.IOException; >>>>> +import java.nio.charset.Charset; >>>>> >>>>> /** >>>>> * See JVMS, section 4.8.15. >>>>> @@ -38,6 +37,8 @@ >>>>> * deletion without notice. >>>>> */ >>>>> public class SourceDebugExtension_attribute extends Attribute { >>>>> + private static final Charset UTF8 = Charset.forName("UTF-8"); >>>>> + >>>>> SourceDebugExtension_attribute(ClassReader cr, int name_index, int >>> length) throws IOException { >>>>> super(name_index, length); >>>>> debug_extension = new byte[attribute_length]; >>>>> @@ -55,12 +56,7 @@ >>>>> } >>>>> >>>>> public String getValue() { >>>>> - DataInputStream d = new DataInputStream(new >>> ByteArrayInputStream(debug_extension)); >>>>> - try { >>>>> - return d.readUTF(); >>>>> - } catch (IOException e) { >>>>> - return null; >>>>> - } >>>>> + return new String(debug_extension, UTF8); >>>>> } >>>>> >>>>> public R accept(Visitor visitor, D data) { >>>>> diff -r b3458329d060 >>> src/share/classes/com/sun/tools/javap/AttributeWriter.java >>>>> --- a/src/share/classes/com/sun/tools/javap/AttributeWriter.java >>> Mon Jun 24 14:27:32 2013 -0700 >>>>> +++ b/src/share/classes/com/sun/tools/javap/AttributeWriter.java >>> Tue Jun 25 20:22:06 2013 +0300 >>>>> @@ -511,7 +511,10 @@ >>>>> } >>>>> >>>>> public Void >>> visitSourceDebugExtension(SourceDebugExtension_attribute attr, Void >>> ignore) { >>>>> - println("SourceDebugExtension: " + attr.getValue()); >>>>> + println("SourceDebugExtension:"); >>>>> + indent(+1); >>>>> + print(attr.getValue()); >>>>> + indent(-1); >>>>> return null; >>>>> } >>>>> >>>>> Regards, >>>>> Dmytro >>>> > From jason.uh at oracle.com Fri Jun 28 10:48:34 2013 From: jason.uh at oracle.com (jason.uh at oracle.com) Date: Fri, 28 Jun 2013 17:48:34 +0000 Subject: hg: jdk8/tl/jdk: 8019360: Cleanup of the javadoc tag in java.security.* Message-ID: <20130628174901.2BD4348651@hg.openjdk.java.net> Changeset: 389f59e6288f Author: juh Date: 2013-06-28 10:48 -0700 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/389f59e6288f 8019360: Cleanup of the javadoc tag in java.security.* Summary: Convert to {@code ...} tags. convert package.html to package-info.java. Reviewed-by: darcy ! src/share/classes/java/security/AccessControlContext.java ! src/share/classes/java/security/AccessControlException.java ! src/share/classes/java/security/AccessController.java ! src/share/classes/java/security/AlgorithmParameterGenerator.java ! src/share/classes/java/security/AlgorithmParameterGeneratorSpi.java ! src/share/classes/java/security/AlgorithmParameters.java ! src/share/classes/java/security/AlgorithmParametersSpi.java ! src/share/classes/java/security/AllPermission.java ! src/share/classes/java/security/AuthProvider.java ! src/share/classes/java/security/BasicPermission.java ! src/share/classes/java/security/Certificate.java ! src/share/classes/java/security/CodeSigner.java ! src/share/classes/java/security/CodeSource.java ! src/share/classes/java/security/DigestException.java ! src/share/classes/java/security/DigestInputStream.java ! src/share/classes/java/security/DigestOutputStream.java ! src/share/classes/java/security/DomainCombiner.java ! src/share/classes/java/security/GeneralSecurityException.java ! src/share/classes/java/security/Guard.java ! src/share/classes/java/security/GuardedObject.java ! src/share/classes/java/security/Identity.java ! src/share/classes/java/security/IdentityScope.java ! src/share/classes/java/security/InvalidAlgorithmParameterException.java ! src/share/classes/java/security/InvalidKeyException.java ! src/share/classes/java/security/Key.java ! src/share/classes/java/security/KeyException.java ! src/share/classes/java/security/KeyFactory.java ! src/share/classes/java/security/KeyFactorySpi.java ! src/share/classes/java/security/KeyManagementException.java ! src/share/classes/java/security/KeyPair.java ! src/share/classes/java/security/KeyPairGenerator.java ! src/share/classes/java/security/KeyPairGeneratorSpi.java ! src/share/classes/java/security/KeyRep.java ! src/share/classes/java/security/KeyStore.java ! src/share/classes/java/security/KeyStoreException.java ! src/share/classes/java/security/KeyStoreSpi.java ! src/share/classes/java/security/MessageDigest.java ! src/share/classes/java/security/MessageDigestSpi.java ! src/share/classes/java/security/NoSuchAlgorithmException.java ! src/share/classes/java/security/Permission.java ! src/share/classes/java/security/PermissionCollection.java ! src/share/classes/java/security/Permissions.java ! src/share/classes/java/security/Policy.java ! src/share/classes/java/security/PolicySpi.java ! src/share/classes/java/security/PrivilegedAction.java ! src/share/classes/java/security/PrivilegedActionException.java ! src/share/classes/java/security/PrivilegedExceptionAction.java ! src/share/classes/java/security/ProtectionDomain.java ! src/share/classes/java/security/Provider.java ! src/share/classes/java/security/ProviderException.java ! src/share/classes/java/security/PublicKey.java ! src/share/classes/java/security/SecureClassLoader.java ! src/share/classes/java/security/SecureRandom.java ! src/share/classes/java/security/SecureRandomSpi.java ! src/share/classes/java/security/Security.java ! src/share/classes/java/security/SecurityPermission.java ! src/share/classes/java/security/Signature.java ! src/share/classes/java/security/SignatureException.java ! src/share/classes/java/security/SignatureSpi.java ! src/share/classes/java/security/SignedObject.java ! src/share/classes/java/security/Signer.java ! src/share/classes/java/security/UnresolvedPermission.java ! src/share/classes/java/security/acl/Acl.java ! src/share/classes/java/security/acl/AclEntry.java ! src/share/classes/java/security/acl/Group.java ! src/share/classes/java/security/acl/Owner.java + src/share/classes/java/security/acl/package-info.java - src/share/classes/java/security/acl/package.html + src/share/classes/java/security/cert/package-info.java - src/share/classes/java/security/cert/package.html ! src/share/classes/java/security/interfaces/DSAKeyPairGenerator.java ! src/share/classes/java/security/interfaces/DSAParams.java ! src/share/classes/java/security/interfaces/DSAPrivateKey.java ! src/share/classes/java/security/interfaces/DSAPublicKey.java + src/share/classes/java/security/interfaces/package-info.java - src/share/classes/java/security/interfaces/package.html + src/share/classes/java/security/package-info.java - src/share/classes/java/security/package.html + src/share/classes/java/security/spec/package-info.java - src/share/classes/java/security/spec/package.html From alan.bateman at oracle.com Fri Jun 28 11:47:24 2013 From: alan.bateman at oracle.com (alan.bateman at oracle.com) Date: Fri, 28 Jun 2013 18:47:24 +0000 Subject: hg: jdk8/tl/jdk: 8019384: jps and jcmd tests fail when there is a process started with a .war file Message-ID: <20130628184751.D4B3748659@hg.openjdk.java.net> Changeset: 389b8739a74e Author: alanb Date: 2013-06-28 19:45 +0100 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/389b8739a74e 8019384: jps and jcmd tests fail when there is a process started with a .war file Reviewed-by: dcubed, sla, mchung ! test/sun/tools/jcmd/jcmd_Output1.awk ! test/sun/tools/jps/jps-l_Output1.awk ! test/sun/tools/jps/jps_Output1.awk From joe.darcy at oracle.com Fri Jun 28 11:35:49 2013 From: joe.darcy at oracle.com (joe.darcy at oracle.com) Date: Fri, 28 Jun 2013 18:35:49 +0000 Subject: hg: jdk8/tl/jdk: 8019407: Fix doclint issues in javax.naming.* Message-ID: <20130628183613.EF80348657@hg.openjdk.java.net> Changeset: 9d175c6cb527 Author: darcy Date: 2013-06-28 11:35 -0700 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/9d175c6cb527 8019407: Fix doclint issues in javax.naming.* Reviewed-by: lancea ! src/share/classes/javax/naming/CompositeName.java ! src/share/classes/javax/naming/CompoundName.java ! src/share/classes/javax/naming/Context.java ! src/share/classes/javax/naming/InitialContext.java ! src/share/classes/javax/naming/RefAddr.java ! src/share/classes/javax/naming/ReferralException.java ! src/share/classes/javax/naming/directory/DirContext.java ! src/share/classes/javax/naming/event/EventContext.java ! src/share/classes/javax/naming/ldap/ControlFactory.java ! src/share/classes/javax/naming/ldap/InitialLdapContext.java ! src/share/classes/javax/naming/ldap/LdapContext.java From lana.steuck at oracle.com Fri Jun 28 23:11:14 2013 From: lana.steuck at oracle.com (lana.steuck at oracle.com) Date: Sat, 29 Jun 2013 06:11:14 +0000 Subject: hg: jdk8/tl/corba: 3 new changesets Message-ID: <20130629061120.9D40F48683@hg.openjdk.java.net> Changeset: c68c35f50413 Author: katleman Date: 2013-06-20 10:16 -0700 URL: http://hg.openjdk.java.net/jdk8/tl/corba/rev/c68c35f50413 Added tag jdk8-b95 for changeset 2cf36f43df36 ! .hgtags Changeset: 3357c2776431 Author: lana Date: 2013-06-24 14:26 -0700 URL: http://hg.openjdk.java.net/jdk8/tl/corba/rev/3357c2776431 Merge Changeset: 469995a8e974 Author: katleman Date: 2013-06-27 13:40 -0700 URL: http://hg.openjdk.java.net/jdk8/tl/corba/rev/469995a8e974 Added tag jdk8-b96 for changeset 3357c2776431 ! .hgtags From lana.steuck at oracle.com Fri Jun 28 23:11:14 2013 From: lana.steuck at oracle.com (lana.steuck at oracle.com) Date: Sat, 29 Jun 2013 06:11:14 +0000 Subject: hg: jdk8/tl/nashorn: 4 new changesets Message-ID: <20130629061122.88B1748684@hg.openjdk.java.net> Changeset: b031efa535ad Author: katleman Date: 2013-06-20 10:18 -0700 URL: http://hg.openjdk.java.net/jdk8/tl/nashorn/rev/b031efa535ad Added tag jdk8-b95 for changeset cbc9926f5b40 ! .hgtags Changeset: d6bd440ac5b9 Author: lana Date: 2013-06-24 14:26 -0700 URL: http://hg.openjdk.java.net/jdk8/tl/nashorn/rev/d6bd440ac5b9 Merge Changeset: 1bf1d6ce3042 Author: katleman Date: 2013-06-27 13:40 -0700 URL: http://hg.openjdk.java.net/jdk8/tl/nashorn/rev/1bf1d6ce3042 Added tag jdk8-b96 for changeset d6bd440ac5b9 ! .hgtags Changeset: 90864d892593 Author: lana Date: 2013-06-28 19:48 -0700 URL: http://hg.openjdk.java.net/jdk8/tl/nashorn/rev/90864d892593 Merge From lana.steuck at oracle.com Fri Jun 28 23:11:14 2013 From: lana.steuck at oracle.com (lana.steuck at oracle.com) Date: Sat, 29 Jun 2013 06:11:14 +0000 Subject: hg: jdk8/tl: 11 new changesets Message-ID: <20130629061116.8105548682@hg.openjdk.java.net> Changeset: c961c8972485 Author: erikj Date: 2013-06-13 14:04 +0200 URL: http://hg.openjdk.java.net/jdk8/tl/rev/c961c8972485 8014231: --with-alsa configuration options don't add include or lib directories to proper flags Reviewed-by: tbell ! common/autoconf/spec.gmk.in Changeset: 0c540b1505e3 Author: erikj Date: 2013-06-14 13:30 +0200 URL: http://hg.openjdk.java.net/jdk8/tl/rev/0c540b1505e3 8016520: jdk native build does not fail on compilation error on windows Reviewed-by: tbell ! common/makefiles/NativeCompilation.gmk Changeset: 0d1e8518c722 Author: erikj Date: 2013-06-18 11:29 +0200 URL: http://hg.openjdk.java.net/jdk8/tl/rev/0d1e8518c722 8014404: Debug flag not added to jdk native compile when --enable-debug is set Reviewed-by: tbell ! common/autoconf/generated-configure.sh ! common/autoconf/toolchain.m4 Changeset: c0fa87863427 Author: erikj Date: 2013-06-18 11:30 +0200 URL: http://hg.openjdk.java.net/jdk8/tl/rev/c0fa87863427 8015377: Support using compiler devkits on Linux Reviewed-by: tbell, dholmes ! common/autoconf/basics.m4 ! common/autoconf/build-performance.m4 ! common/autoconf/generated-configure.sh ! common/autoconf/libraries.m4 + common/makefiles/devkit/Makefile + common/makefiles/devkit/Tools.gmk Changeset: 785d07fe3890 Author: katleman Date: 2013-06-18 15:32 -0700 URL: http://hg.openjdk.java.net/jdk8/tl/rev/785d07fe3890 Merge Changeset: 794cceb5dc82 Author: katleman Date: 2013-06-20 10:16 -0700 URL: http://hg.openjdk.java.net/jdk8/tl/rev/794cceb5dc82 Added tag jdk8-b95 for changeset 785d07fe3890 ! .hgtags Changeset: d72e765a9fbe Author: lana Date: 2013-06-19 17:59 -0700 URL: http://hg.openjdk.java.net/jdk8/tl/rev/d72e765a9fbe Merge Changeset: f1010ef2f451 Author: lana Date: 2013-06-24 14:26 -0700 URL: http://hg.openjdk.java.net/jdk8/tl/rev/f1010ef2f451 Merge Changeset: ebcd79fc658d Author: erikj Date: 2013-06-25 09:37 +0200 URL: http://hg.openjdk.java.net/jdk8/tl/rev/ebcd79fc658d 8012564: The SOURCE value in release file of JDK 8 doesn't contain valid changesets for some OS since b74 Reviewed-by: alanb, tbell ! common/makefiles/Main.gmk Changeset: c156084add48 Author: katleman Date: 2013-06-25 13:47 -0700 URL: http://hg.openjdk.java.net/jdk8/tl/rev/c156084add48 Merge ! common/makefiles/Main.gmk Changeset: 4c363b94ea2a Author: katleman Date: 2013-06-27 13:40 -0700 URL: http://hg.openjdk.java.net/jdk8/tl/rev/4c363b94ea2a Added tag jdk8-b96 for changeset c156084add48 ! .hgtags From lana.steuck at oracle.com Fri Jun 28 23:11:18 2013 From: lana.steuck at oracle.com (lana.steuck at oracle.com) Date: Sat, 29 Jun 2013 06:11:18 +0000 Subject: hg: jdk8/tl/jaxp: 3 new changesets Message-ID: <20130629061148.0653648686@hg.openjdk.java.net> Changeset: e68a5d2efcae Author: katleman Date: 2013-06-20 10:17 -0700 URL: http://hg.openjdk.java.net/jdk8/tl/jaxp/rev/e68a5d2efcae Added tag jdk8-b95 for changeset b8c5f4b6f0ff ! .hgtags Changeset: 6121efd29923 Author: lana Date: 2013-06-24 14:27 -0700 URL: http://hg.openjdk.java.net/jdk8/tl/jaxp/rev/6121efd29923 Merge Changeset: 403f882ecc94 Author: katleman Date: 2013-06-27 13:40 -0700 URL: http://hg.openjdk.java.net/jdk8/tl/jaxp/rev/403f882ecc94 Added tag jdk8-b96 for changeset 6121efd29923 ! .hgtags From lana.steuck at oracle.com Fri Jun 28 23:11:17 2013 From: lana.steuck at oracle.com (lana.steuck at oracle.com) Date: Sat, 29 Jun 2013 06:11:17 +0000 Subject: hg: jdk8/tl/jaxws: 3 new changesets Message-ID: <20130629061146.C867F48685@hg.openjdk.java.net> Changeset: 7de08fa7cb34 Author: katleman Date: 2013-06-20 10:17 -0700 URL: http://hg.openjdk.java.net/jdk8/tl/jaxws/rev/7de08fa7cb34 Added tag jdk8-b95 for changeset 1468c94135f9 ! .hgtags Changeset: 690d34b326bc Author: lana Date: 2013-06-24 14:27 -0700 URL: http://hg.openjdk.java.net/jdk8/tl/jaxws/rev/690d34b326bc Merge Changeset: dcde7f049111 Author: katleman Date: 2013-06-27 13:40 -0700 URL: http://hg.openjdk.java.net/jdk8/tl/jaxws/rev/dcde7f049111 Added tag jdk8-b96 for changeset 690d34b326bc ! .hgtags From lana.steuck at oracle.com Fri Jun 28 23:11:45 2013 From: lana.steuck at oracle.com (lana.steuck at oracle.com) Date: Sat, 29 Jun 2013 06:11:45 +0000 Subject: hg: jdk8/tl/hotspot: 46 new changesets Message-ID: <20130629061349.94F3048688@hg.openjdk.java.net> Changeset: aaa45012be98 Author: katleman Date: 2013-06-20 10:16 -0700 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/aaa45012be98 Added tag jdk8-b95 for changeset 5d65c078cd0a ! .hgtags Changeset: 38e483cb1bcd Author: lana Date: 2013-06-24 14:27 -0700 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/38e483cb1bcd Merge Changeset: f9709e27a876 Author: amurillo Date: 2013-06-14 07:27 -0700 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/f9709e27a876 8016567: new hotspot build - hs25-b38 Reviewed-by: jcoomes ! make/hotspot_version Changeset: a837fa3d3f86 Author: dcubed Date: 2013-06-13 11:16 -0700 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/a837fa3d3f86 8013057: assert(_needs_gc || SafepointSynchronize::is_at_safepoint()) failed: only read at safepoint Summary: Detect mmap() commit failures in Linux and Solaris os::commit_memory() impls and call vm_exit_out_of_memory(). Add os::commit_memory_or_exit(). Also tidy up some NMT accounting and some mmap() return value checking. Reviewed-by: zgu, stefank, dholmes, dsamersoff ! src/os/bsd/vm/os_bsd.cpp ! src/os/bsd/vm/perfMemory_bsd.cpp ! src/os/linux/vm/os_linux.cpp ! src/os/linux/vm/os_linux.hpp ! src/os/linux/vm/perfMemory_linux.cpp ! src/os/solaris/vm/os_solaris.cpp ! src/os/solaris/vm/os_solaris.hpp ! src/os/solaris/vm/perfMemory_solaris.cpp ! src/os/windows/vm/os_windows.cpp ! src/os/windows/vm/perfMemory_windows.cpp ! src/share/vm/gc_implementation/parallelScavenge/cardTableExtension.cpp ! src/share/vm/gc_implementation/parallelScavenge/psVirtualspace.cpp ! src/share/vm/memory/allocation.inline.hpp ! src/share/vm/memory/cardTableModRefBS.cpp ! src/share/vm/prims/whitebox.cpp ! src/share/vm/runtime/os.cpp ! src/share/vm/runtime/os.hpp ! src/share/vm/runtime/virtualspace.cpp Changeset: 2bffd20a0fcc Author: ctornqvi Date: 2013-06-13 21:57 +0200 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/2bffd20a0fcc 8016065: Write regression test for 7167142 Summary: Regression tests written for both test cases (.hotspotrc and .hotspot_compiler). Also reviewed by mikhailo.seledtsov at oracle.com Reviewed-by: zgu, coleenp + test/runtime/CommandLine/CompilerConfigFileWarning.java + test/runtime/CommandLine/ConfigFileWarning.java Changeset: 1e9094165098 Author: ctornqvi Date: 2013-06-13 22:00 +0200 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/1e9094165098 8015324: Create tests for CDS feature Summary: Wrote tests for use of CDS with ObjectAlignmentInBytes CL option Reviewed-by: coleenp, ctornqvi, hseigel Contributed-by: Mikhailo Seledtsov + test/runtime/SharedArchiveFile/CdsDifferentObjectAlignment.java + test/runtime/SharedArchiveFile/CdsSameObjectAlignment.java + test/testlibrary/com/oracle/java/testlibrary/Platform.java ! test/testlibrary/com/oracle/java/testlibrary/ProcessTools.java Changeset: a0a47b2649a2 Author: ctornqvi Date: 2013-06-14 13:11 +0200 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/a0a47b2649a2 Merge Changeset: ef57c43512d6 Author: ccheung Date: 2013-06-13 22:02 -0700 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/ef57c43512d6 8014431: cleanup warnings indicated by the -Wunused-value compiler option on linux Reviewed-by: dholmes, coleenp Contributed-by: jeremymanson at google.com, calvin.cheung at oracle.com ! make/linux/makefiles/gcc.make ! src/cpu/x86/vm/stubGenerator_x86_32.cpp ! src/cpu/x86/vm/stubGenerator_x86_64.cpp ! src/share/vm/c1/c1_IR.cpp ! src/share/vm/ci/ciUtilities.hpp ! src/share/vm/classfile/genericSignatures.cpp ! src/share/vm/classfile/verifier.hpp ! src/share/vm/code/dependencies.cpp ! src/share/vm/code/nmethod.cpp ! src/share/vm/memory/cardTableModRefBS.cpp ! src/share/vm/memory/universe.cpp ! src/share/vm/opto/memnode.cpp ! src/share/vm/prims/forte.cpp ! src/share/vm/runtime/sharedRuntime.cpp ! src/share/vm/services/diagnosticArgument.cpp ! src/share/vm/utilities/exceptions.hpp ! src/share/vm/utilities/taskqueue.hpp Changeset: bcb96b2922f2 Author: zgu Date: 2013-06-14 07:30 -0700 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/bcb96b2922f2 Merge Changeset: ab313d4e9a8b Author: zgu Date: 2013-06-14 09:18 -0400 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/ab313d4e9a8b 8011968: Kitchensink crashed with SIGSEGV in MemBaseline::baseline Summary: Simple fix to add NULL pointer check that can cause segv Reviewed-by: coleenp, ctornqvi ! src/share/vm/services/memBaseline.cpp Changeset: dba2306ee2e3 Author: zgu Date: 2013-06-14 07:39 -0700 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/dba2306ee2e3 Merge Changeset: 3aaa16611c30 Author: zgu Date: 2013-06-14 15:20 -0700 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/3aaa16611c30 Merge Changeset: e95fc50106cf Author: rdurbin Date: 2013-06-14 07:46 -0700 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/e95fc50106cf 7178026: os::close can restart ::close but that is not a restartable syscall Summary: Removed restart macros from all os:close calls on Solaris, Linux, MacOS X platforms. Reviewed-by: dcubed, dholmes ! src/os/bsd/dtrace/jvm_dtrace.c ! src/os/bsd/vm/attachListener_bsd.cpp ! src/os/bsd/vm/os_bsd.inline.hpp ! src/os/bsd/vm/perfMemory_bsd.cpp ! src/os/linux/vm/attachListener_linux.cpp ! src/os/linux/vm/perfMemory_linux.cpp ! src/os/solaris/dtrace/jvm_dtrace.c ! src/os/solaris/vm/attachListener_solaris.cpp ! src/os/solaris/vm/os_solaris.cpp ! src/os/solaris/vm/perfMemory_solaris.cpp Changeset: f2d56a269345 Author: dcubed Date: 2013-06-14 08:00 -0700 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/f2d56a269345 Merge Changeset: c7242a797916 Author: dcubed Date: 2013-06-14 19:49 -0700 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/c7242a797916 Merge Changeset: 5c89346f2bdd Author: sspitsyn Date: 2013-06-14 15:17 -0700 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/5c89346f2bdd 6493116: JVMTI Doc: GetOwnedMonitorStackDepthInfo has a typo in monitor_info_ptr parameter description Summary: A typo in the parameter spelling, a bound update missed when the parameter was renamed Reviewed-by: sla, minqi Contributed-by: serguei.spitsyn at oracle.com ! src/share/vm/prims/jvmti.xml Changeset: 7fa28f3d3f62 Author: sspitsyn Date: 2013-06-14 22:34 -0700 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/7fa28f3d3f62 Merge Changeset: abbd5c660b48 Author: mgronlun Date: 2013-06-15 13:17 +0200 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/abbd5c660b48 8016105: Add complementary RETURN_NULL allocation macros in allocation.hpp Reviewed-by: sla, rbackman ! src/share/vm/memory/allocation.hpp Changeset: cd2118b62475 Author: zgu Date: 2013-06-10 10:45 -0400 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/cd2118b62475 8013917: Kitchensink crashed with SIGSEGV in BaselineReporter::diff_callsites Summary: Simple fix when memory allocation site is gone, NMT should report 0 memory size, instead old memory size. Reviewed-by: dcubed, ctornqvi ! src/share/vm/services/memReporter.cpp Changeset: ef748153ee8f Author: sla Date: 2013-06-17 18:35 +0200 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/ef748153ee8f 8016304: ThreadMXBean.getDeadlockedThreads reports bogus deadlocks on JDK 8 Reviewed-by: dcubed, mgronlun ! src/share/vm/services/threadService.cpp + test/serviceability/threads/TestFalseDeadLock.java Changeset: 1f4355cee9a2 Author: zgu Date: 2013-06-18 08:44 -0400 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/1f4355cee9a2 8013651: NMT: reserve/release sequence id's in incorrect order due to race Summary: Fixed NMT race condition for realloc, uncommit and release Reviewed-by: coleenp, ccheung ! src/os/bsd/vm/os_bsd.cpp ! src/os/bsd/vm/perfMemory_bsd.cpp ! src/os/linux/vm/os_linux.cpp ! src/os/linux/vm/perfMemory_linux.cpp ! src/os/solaris/vm/os_solaris.cpp ! src/os/solaris/vm/perfMemory_solaris.cpp ! src/os/windows/vm/os_windows.cpp ! src/os/windows/vm/perfMemory_windows.cpp ! src/share/vm/runtime/os.cpp ! src/share/vm/services/memPtr.hpp ! src/share/vm/services/memRecorder.cpp ! src/share/vm/services/memRecorder.hpp ! src/share/vm/services/memTracker.cpp ! src/share/vm/services/memTracker.hpp Changeset: a5904a086d9f Author: zgu Date: 2013-06-18 09:34 -0400 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/a5904a086d9f Merge Changeset: cd54c7e92908 Author: minqi Date: 2013-06-18 09:08 -0700 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/cd54c7e92908 8015660: Test8009761.java "Failed: init recursive calls: 24. After deopt 25" Summary: Windows reserves and only partially commits thread stack. For detecting more thread stack space for execution, Windows installs one-shot page as guard page just before the current commited edge. It will trigger STACK_OVERFLOW_EXCEPTION when lands on last 4 pages of thread stack space. StackYellowPages default value is 2 on Windows (plus 1 page of StackRedPages, 3 pages guarded by hotspot) so the exception happens one page before Yellow pages. Same route executed second time will have one more page brought in, this leads same execution with different stack depth(interpreter mode). We need match Windows settings so the stack overflow exception will not happen before Yellow pages. Reviewed-by: dholmes Contributed-by: andreas.schoesser at sap.com ! src/cpu/x86/vm/globals_x86.hpp Changeset: 726d2d4913fc Author: nloodin Date: 2013-06-19 18:13 +0200 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/726d2d4913fc Merge Changeset: 0abfeed51c9e Author: brutisso Date: 2013-06-14 08:02 +0200 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/0abfeed51c9e 8012265: VM often crashes on solaris with a lot of memory Summary: Increase HeapBaseMinAddress for G1 from 256m to 1g on Solaris x86 Reviewed-by: mgerdin, coleenp, kvn ! src/share/vm/runtime/arguments.cpp ! src/share/vm/runtime/arguments.hpp Changeset: 01522ca68fc7 Author: johnc Date: 2013-06-18 12:31 -0700 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/01522ca68fc7 8015237: Parallelize string table scanning during strong root processing Summary: Parallelize the scanning of the intern string table by having each GC worker claim a given number of buckets. Changes were also reviewed by Per Liden . Reviewed-by: tschatzl, stefank, twisti ! src/share/vm/classfile/symbolTable.cpp ! src/share/vm/classfile/symbolTable.hpp ! src/share/vm/memory/sharedHeap.cpp Changeset: b9d151496930 Author: brutisso Date: 2013-06-18 22:45 +0200 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/b9d151496930 8016556: G1: Use ArrayAllocator for BitMaps Reviewed-by: tschatzl, dholmes, coleenp, johnc ! src/share/vm/memory/allocation.hpp ! src/share/vm/utilities/bitMap.cpp ! src/share/vm/utilities/bitMap.hpp Changeset: 493089fd29df Author: poonam Date: 2013-06-19 06:09 -0700 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/493089fd29df 8015903: Format issue with -XX:+PrintAdaptiveSizePolicy on JDK8 Summary: Missing linebreak in hotspot log. Reviewed-by: brutisso, tschatzl Contributed-by: vladimir.kempik at oracle.com ! src/share/vm/gc_implementation/parallelScavenge/psAdaptiveSizePolicy.cpp Changeset: 9f9c0a163cc5 Author: ehelin Date: 2013-06-20 10:03 +0200 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/9f9c0a163cc5 Merge ! src/share/vm/memory/allocation.hpp Changeset: 8d52e305a777 Author: morris Date: 2013-06-07 07:33 -0700 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/8d52e305a777 8015437: SPARC cbcond branch offset out of 10-bit range Summary: Forced SPARC MacroAssembler eden_alloate to use long branch to slow case Reviewed-by: kvn, twisti ! src/cpu/sparc/vm/macroAssembler_sparc.cpp Changeset: ea60d1de6735 Author: kvn Date: 2013-06-07 11:43 -0700 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/ea60d1de6735 Merge Changeset: 46c544b8fbfc Author: morris Date: 2013-06-07 16:46 -0700 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/46c544b8fbfc 8008407: remove SPARC V8 support Summary: Removed most of the SPARC V8 instructions Reviewed-by: kvn, twisti ! src/cpu/sparc/vm/assembler_sparc.hpp ! src/cpu/sparc/vm/assembler_sparc.inline.hpp ! src/cpu/sparc/vm/c1_LIRAssembler_sparc.cpp ! src/cpu/sparc/vm/c1_MacroAssembler_sparc.cpp ! src/cpu/sparc/vm/c2_init_sparc.cpp ! src/cpu/sparc/vm/disassembler_sparc.hpp ! src/cpu/sparc/vm/globals_sparc.hpp ! src/cpu/sparc/vm/interp_masm_sparc.cpp ! src/cpu/sparc/vm/macroAssembler_sparc.cpp ! src/cpu/sparc/vm/macroAssembler_sparc.hpp ! src/cpu/sparc/vm/macroAssembler_sparc.inline.hpp ! src/cpu/sparc/vm/nativeInst_sparc.cpp ! src/cpu/sparc/vm/nativeInst_sparc.hpp ! src/cpu/sparc/vm/register_sparc.hpp ! src/cpu/sparc/vm/sharedRuntime_sparc.cpp ! src/cpu/sparc/vm/sparc.ad ! src/cpu/sparc/vm/stubGenerator_sparc.cpp ! src/cpu/sparc/vm/stubRoutines_sparc.cpp ! src/cpu/sparc/vm/stubRoutines_sparc.hpp ! src/cpu/sparc/vm/templateInterpreter_sparc.cpp ! src/cpu/sparc/vm/templateTable_sparc.cpp ! src/cpu/sparc/vm/vm_version_sparc.cpp ! src/cpu/sparc/vm/vm_version_sparc.hpp - src/os_cpu/linux_sparc/vm/assembler_linux_sparc.cpp ! src/os_cpu/linux_sparc/vm/atomic_linux_sparc.inline.hpp - src/os_cpu/solaris_sparc/vm/assembler_solaris_sparc.cpp ! src/os_cpu/solaris_sparc/vm/atomic_solaris_sparc.inline.hpp ! src/os_cpu/solaris_sparc/vm/solaris_sparc.il ! src/share/vm/runtime/arguments.cpp Changeset: e7f5651d459c Author: twisti Date: 2013-06-11 11:13 -0700 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/e7f5651d459c 8003268: SharedRuntime::generate_native_wrapper doesn't save all registers across runtime tracing calls for JNI critical native methods Reviewed-by: kvn ! src/cpu/x86/vm/sharedRuntime_x86_64.cpp Changeset: 693e4d04fd09 Author: drchase Date: 2013-06-11 16:34 -0400 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/693e4d04fd09 8014959: assert(Compile::current()->live_nodes() < (uint)MaxNodeLimit) failed: Live Node limit exceeded limit Summary: Insert extra checks and bailouts for too many nodes Reviewed-by: kvn ! src/share/vm/opto/c2_globals.hpp ! src/share/vm/opto/chaitin.cpp ! src/share/vm/opto/coalesce.cpp ! src/share/vm/opto/matcher.cpp Changeset: bc8956037049 Author: kvn Date: 2013-06-11 16:40 -0700 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/bc8956037049 Merge Changeset: c52abc8a0b08 Author: drchase Date: 2013-06-13 15:39 -0400 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/c52abc8a0b08 8010124: JVM_GetClassContext: use GrowableArray instead of KlassLink Summary: replace linked data structure with array (performance) Reviewed-by: kvn Contributed-by: christian.thalinger at oracle.com, david.r.chase at oracle.com ! src/share/vm/prims/jvm.cpp Changeset: 7fa25f5575c9 Author: adlertz Date: 2013-06-14 01:19 +0200 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/7fa25f5575c9 8016157: During CTW: C2: assert(!def_outside->member(r)) failed: Use of external LRG overlaps the same LRG defined in this block Summary: Disable rematerialization for negD node Reviewed-by: kvn, roland ! src/share/vm/adlc/formssel.cpp ! src/share/vm/adlc/formssel.hpp Changeset: ac91879aa56f Author: kvn Date: 2013-06-14 16:33 -0700 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/ac91879aa56f Merge - src/os_cpu/linux_sparc/vm/assembler_linux_sparc.cpp - src/os_cpu/solaris_sparc/vm/assembler_solaris_sparc.cpp ! src/share/vm/opto/matcher.cpp ! src/share/vm/prims/jvm.cpp Changeset: 87a6f2df28e2 Author: drchase Date: 2013-06-17 12:35 -0400 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/87a6f2df28e2 8002160: Compilation issue with adlc using latest SunStudio compilers Summary: modify declaration of 'swap' overloading; dodge optimizer bug in c1_LIR.cpp Reviewed-by: kvn, jrose ! src/cpu/sparc/vm/macroAssembler_sparc.hpp ! src/cpu/sparc/vm/macroAssembler_sparc.inline.hpp ! src/share/vm/c1/c1_LIR.cpp Changeset: 08d35fd1b599 Author: adlertz Date: 2013-06-19 00:41 +0200 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/08d35fd1b599 8001345: VM crashes with assert(n->outcnt() != 0 || C->top() == n || n->is_Proj()) failed: No dead instructions after post-alloc Summary: Remove unnecessary LoadN / DecodeN nodes at MemBarAcquire nodes. Reviewed-by: kvn, roland ! src/share/vm/opto/memnode.cpp Changeset: b88209cf98c0 Author: kvn Date: 2013-06-20 16:08 -0700 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/b88209cf98c0 Merge - src/os_cpu/linux_sparc/vm/assembler_linux_sparc.cpp - src/os_cpu/solaris_sparc/vm/assembler_solaris_sparc.cpp ! src/share/vm/opto/memnode.cpp ! src/share/vm/runtime/arguments.cpp Changeset: 2cc5a9d1ba66 Author: amurillo Date: 2013-06-21 00:51 -0700 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/2cc5a9d1ba66 Merge - src/os_cpu/linux_sparc/vm/assembler_linux_sparc.cpp - src/os_cpu/solaris_sparc/vm/assembler_solaris_sparc.cpp Changeset: 3bdeff4a6ca7 Author: amurillo Date: 2013-06-21 00:51 -0700 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/3bdeff4a6ca7 Added tag hs25-b38 for changeset 2cc5a9d1ba66 ! .hgtags Changeset: 9f3e3245b50f Author: amurillo Date: 2013-06-25 12:46 -0700 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/9f3e3245b50f Merge - src/os_cpu/linux_sparc/vm/assembler_linux_sparc.cpp - src/os_cpu/solaris_sparc/vm/assembler_solaris_sparc.cpp ! src/share/vm/memory/allocation.hpp ! src/share/vm/memory/universe.cpp ! src/share/vm/prims/jvm.cpp Changeset: e6a4b8c71fa6 Author: katleman Date: 2013-06-26 11:25 -0700 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/e6a4b8c71fa6 8017323: JDK8 b95 source with GPL header errors Reviewed-by: tbell, darcy ! src/share/vm/memory/referenceProcessorStats.hpp Changeset: b6d1e42655cd Author: katleman Date: 2013-06-27 13:40 -0700 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/b6d1e42655cd Added tag jdk8-b96 for changeset e6a4b8c71fa6 ! .hgtags From lana.steuck at oracle.com Fri Jun 28 23:11:21 2013 From: lana.steuck at oracle.com (lana.steuck at oracle.com) Date: Sat, 29 Jun 2013 06:11:21 +0000 Subject: hg: jdk8/tl/langtools: 5 new changesets Message-ID: <20130629061220.24BBC48687@hg.openjdk.java.net> Changeset: 3478b1e81baf Author: katleman Date: 2013-06-20 10:17 -0700 URL: http://hg.openjdk.java.net/jdk8/tl/langtools/rev/3478b1e81baf Added tag jdk8-b95 for changeset 4cb113623127 ! .hgtags Changeset: b3458329d060 Author: lana Date: 2013-06-24 14:27 -0700 URL: http://hg.openjdk.java.net/jdk8/tl/langtools/rev/b3458329d060 Merge Changeset: 988aef3a8c3a Author: katleman Date: 2013-06-26 11:26 -0700 URL: http://hg.openjdk.java.net/jdk8/tl/langtools/rev/988aef3a8c3a 8016684: JDK8 b94 source with GPL header errors Reviewed-by: tbell, darcy ! test/tools/javac/6567415/T6567415.java Changeset: 6a11a81a8824 Author: katleman Date: 2013-06-27 13:40 -0700 URL: http://hg.openjdk.java.net/jdk8/tl/langtools/rev/6a11a81a8824 Added tag jdk8-b96 for changeset 988aef3a8c3a ! .hgtags Changeset: 66147d50d8d6 Author: lana Date: 2013-06-28 19:47 -0700 URL: http://hg.openjdk.java.net/jdk8/tl/langtools/rev/66147d50d8d6 Merge From lana.steuck at oracle.com Fri Jun 28 23:13:55 2013 From: lana.steuck at oracle.com (lana.steuck at oracle.com) Date: Sat, 29 Jun 2013 06:13:55 +0000 Subject: hg: jdk8/tl/jdk: 34 new changesets Message-ID: <20130629062118.6CC2F48689@hg.openjdk.java.net> Changeset: 3531945431aa Author: erikj Date: 2013-06-13 14:04 +0200 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/3531945431aa 8014231: --with-alsa configuration options don't add include or lib directories to proper flags Reviewed-by: tbell ! makefiles/CompileNativeLibraries.gmk Changeset: 42aa9f182885 Author: katleman Date: 2013-06-18 15:32 -0700 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/42aa9f182885 Merge ! makefiles/CompileNativeLibraries.gmk Changeset: 0c4db4782114 Author: katleman Date: 2013-06-20 10:17 -0700 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/0c4db4782114 Added tag jdk8-b95 for changeset 42aa9f182885 ! .hgtags Changeset: 616a73e97b38 Author: bae Date: 2013-06-06 13:57 +0400 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/616a73e97b38 8013430: REGRESSION: closed/java/awt/color/ICC_Profile/LoadProfileTest/LoadProfileTest.java fails with java.io.StreamCorruptedException: invalid type code: EE since 8b87 Reviewed-by: prr, vadim ! src/share/classes/java/awt/color/ICC_Profile.java + src/share/classes/sun/java2d/cmm/ProfileDataVerifier.java Changeset: 917dd642f934 Author: bae Date: 2013-06-07 14:45 +0400 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/917dd642f934 6830714: cmm test failures with OpenJDK Reviewed-by: prr ! test/sun/java2d/cmm/ColorConvertOp/ColConvCCMTest.java ! test/sun/java2d/cmm/ColorConvertOp/ColConvDCMTest.java ! test/sun/java2d/cmm/ColorConvertOp/ColConvTest.java Changeset: 1431488fb0f9 Author: jgodinez Date: 2013-06-07 10:26 -0700 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/1431488fb0f9 8013810: PrintServiceLookup.lookupPrintServices() does not return consistent result Reviewed-by: prr, jgodinez Contributed-by: patrick at reini.net ! src/solaris/classes/sun/print/UnixPrintServiceLookup.java + test/javax/print/PrintServiceLookup/GetPrintServices.java Changeset: f67db3d2f406 Author: prr Date: 2013-06-13 13:02 -0700 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/f67db3d2f406 8016485: Windows native print dialog does not reflect default printer settings Reviewed-by: jgodinez, jchen ! src/windows/classes/sun/awt/windows/WPrinterJob.java ! src/windows/classes/sun/print/Win32PrintService.java ! src/windows/native/sun/windows/WPrinterJob.cpp ! src/windows/native/sun/windows/awt_PrintControl.cpp Changeset: 82927bc76ea5 Author: lana Date: 2013-06-14 11:10 -0700 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/82927bc76ea5 Merge - test/java/util/stream/test/org/openjdk/tests/java/util/stream/SpliteratorLateBindingFailFastTest.java - test/java/util/stream/test/org/openjdk/tests/java/util/stream/SpliteratorTraversingAndSplittingTest.java Changeset: c636942a28ef Author: prr Date: 2013-06-17 10:34 -0700 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/c636942a28ef 8015334: Memory leak when kerning is used on Windows. Reviewed-by: srl, bae ! src/share/native/sun/font/layout/KernTable.cpp ! src/share/native/sun/font/layout/KernTable.h ! src/share/native/sun/font/layout/LayoutEngine.cpp + test/java/awt/font/TextLayout/KerningLeak.java Changeset: e3d5df92f4ff Author: lana Date: 2013-06-19 17:57 -0700 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/e3d5df92f4ff Merge Changeset: deb8752684e3 Author: kshefov Date: 2013-06-06 17:02 +0400 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/deb8752684e3 8015976: OpenJDK part of bug JDK-8015812 [TEST_BUG] Tests have conflicting test descriptions Reviewed-by: serb, anthony ! test/java/awt/DataFlavor/MissedHtmlAndRtfBug/MissedHtmlAndRtfBug.html ! test/java/awt/DataFlavor/MissedHtmlAndRtfBug/MissedHtmlAndRtfBug.java ! test/java/awt/event/KeyEvent/KeyReleasedInAppletTest/KeyReleasedInAppletTest.java Changeset: cfd3f8bfb96c Author: kshefov Date: 2013-06-06 17:06 +0400 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/cfd3f8bfb96c 7109977: [macosx] MixingInHwPanel.java test fails on Mac trying to click in the reserved corner Reviewed-by: serb, anthony ! test/java/awt/Mixing/MixingInHwPanel.java Changeset: cb7f711e1752 Author: dmarkov Date: 2013-06-06 17:59 +0400 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/cb7f711e1752 8015853: java.lang.ArrayIndexOutOfBoundsException when running SwingSet2 demo Reviewed-by: alexp, serb ! src/share/classes/javax/swing/text/View.java + test/javax/swing/text/View/8015853/bug8015853.java + test/javax/swing/text/View/8015853/bug8015853.txt Changeset: 2d5bb70458b6 Author: kshefov Date: 2013-06-10 16:44 +0400 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/2d5bb70458b6 7105030: [TEST_BUG] [macosx] The tests never finishes Reviewed-by: alexsch, serb + test/javax/swing/JMenu/4692443/bug4692443.java Changeset: d14523c12f20 Author: kshefov Date: 2013-06-11 14:14 +0400 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/d14523c12f20 8012569: TEST_BUG: java/awt/GraphicsDevice/CheckDisplayModes.java fails Reviewed-by: anthony, serb ! test/java/awt/GraphicsDevice/CheckDisplayModes.java Changeset: 9ab7973d5907 Author: kshefov Date: 2013-06-11 14:20 +0400 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/9ab7973d5907 7184908: TEST_BUG: [macosx] closed/com/sun/java/swing/plaf/gtk/4928019/bug4928019.java fails Reviewed-by: alexsch, serb + test/com/sun/java/swing/plaf/gtk/4928019/bug4928019.java Changeset: 59dc1385127f Author: malenkov Date: 2013-06-11 16:02 +0400 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/59dc1385127f 8015336: BasicComboBoxEditor throws NullPointerException Reviewed-by: alexsch ! src/share/classes/javax/swing/plaf/basic/BasicComboBoxEditor.java + test/javax/swing/plaf/basic/BasicComboBoxEditor/Test8015336.java Changeset: 7bba0147ab3d Author: alexsch Date: 2013-06-11 16:30 +0400 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/7bba0147ab3d 8009984: [parfait] Buffer overrun at jdk/src/macosx/native/com/apple/laf/AquaFileView.m Reviewed-by: serb, art ! src/macosx/native/com/apple/laf/AquaFileView.m Changeset: 33fc8a062f90 Author: ant Date: 2013-06-12 16:18 +0400 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/33fc8a062f90 8015454: java/awt/Focus/TypeAhead/TestFocusFreeze.java hangs with jdk8 since b56 Reviewed-by: anthony ! src/share/classes/java/awt/DefaultKeyboardFocusManager.java ! test/java/awt/Focus/TypeAhead/TestFocusFreeze.java Changeset: a7d943998bd3 Author: pchelko Date: 2013-06-13 11:10 +0400 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/a7d943998bd3 8013468: [macosx] Cursor does not update properly when in fullscreen mode on Mac Reviewed-by: anthony, serb ! src/macosx/classes/sun/lwawt/macosx/CPlatformWindow.java ! src/macosx/native/sun/awt/AWTWindow.m + test/java/awt/Mouse/EnterExitEvents/FullscreenEnterEventTest.java Changeset: 6e5824a42c49 Author: alitvinov Date: 2013-06-13 18:46 +0400 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/6e5824a42c49 6847588: AWT test fails Reviewed-by: anthony, serb ! src/solaris/classes/sun/awt/X11/XKeyboardFocusManagerPeer.java Changeset: d57fa4e45100 Author: ant Date: 2013-06-14 16:38 +0400 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/d57fa4e45100 8014821: Regression: Focus issues with Oracle WebCenter Capture applet Reviewed-by: leonidr ! src/windows/native/sun/windows/awt_Frame.cpp Changeset: 3a157a38f9b3 Author: lana Date: 2013-06-14 10:41 -0700 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/3a157a38f9b3 Merge - src/solaris/classes/sun/awt/fontconfigs/linux.fontconfig.Fedora.properties - src/solaris/classes/sun/awt/fontconfigs/linux.fontconfig.SuSE.properties - src/solaris/classes/sun/awt/fontconfigs/linux.fontconfig.Ubuntu.properties - src/solaris/classes/sun/awt/fontconfigs/linux.fontconfig.properties - test/java/util/stream/test/org/openjdk/tests/java/util/stream/SpliteratorLateBindingFailFastTest.java - test/java/util/stream/test/org/openjdk/tests/java/util/stream/SpliteratorTraversingAndSplittingTest.java Changeset: a0202d94844a Author: malenkov Date: 2013-06-17 18:30 +0400 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/a0202d94844a 8013571: TreeModelEvent doesn't accept "null" for root as Javadoc specifies. Reviewed-by: alexsch ! src/share/classes/javax/swing/JTree.java ! src/share/classes/javax/swing/event/TreeModelEvent.java ! src/share/classes/javax/swing/plaf/basic/BasicTreeUI.java ! src/share/classes/javax/swing/tree/FixedHeightLayoutCache.java ! src/share/classes/javax/swing/tree/VariableHeightLayoutCache.java ! src/share/classes/sun/swing/SwingUtilities2.java + test/javax/swing/JTree/8013571/Test8013571.java Changeset: 6a3a2cb3ca6a Author: malenkov Date: 2013-06-19 14:28 +0400 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/6a3a2cb3ca6a 8013442: No file filter selected in file type combo box when using JFileChooser Reviewed-by: alexsch ! src/share/classes/javax/swing/JFileChooser.java + test/javax/swing/JFileChooser/8013442/Test8013442.java Changeset: e8000751a585 Author: pchelko Date: 2013-06-19 17:12 +0400 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/e8000751a585 8005661: [parfait] Possible buffer overrun in jdk/src/solaris/native/sun/awt/awt_GraphicsEnv.c 8005695: [parfait] Format string argument mismatch in jdk/src/solaris/native/sun/xawt/XToolkit.c 8005752: [parfait] False positive function call mismatch at jdk/src/solaris/native/sun/xawt/XWindow.c Reviewed-by: art, serb ! src/solaris/native/sun/awt/awt_GraphicsEnv.c ! src/solaris/native/sun/awt/awt_InputMethod.c ! src/solaris/native/sun/xawt/XToolkit.c Changeset: a117785457f6 Author: lana Date: 2013-06-19 17:59 -0700 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/a117785457f6 Merge Changeset: aa4610fe8a73 Author: lana Date: 2013-06-19 18:30 -0700 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/aa4610fe8a73 Merge - make/sun/xawt/ToBin.java - makefiles/sun/awt/X11/ToBin.java ! src/macosx/classes/sun/lwawt/macosx/CPlatformWindow.java ! src/share/classes/java/awt/DefaultKeyboardFocusManager.java - src/share/classes/sun/misc/FDBigInt.java - src/share/classes/sun/misc/Hashing.java - src/solaris/classes/sun/awt/X11/XIconInfo.java ! src/solaris/classes/sun/awt/X11/XKeyboardFocusManagerPeer.java - src/solaris/classes/sun/awt/X11/security-icon-bw16.png - src/solaris/classes/sun/awt/X11/security-icon-bw24.png - src/solaris/classes/sun/awt/X11/security-icon-bw32.png - src/solaris/classes/sun/awt/X11/security-icon-bw48.png - src/solaris/classes/sun/awt/X11/security-icon-interim16.png - src/solaris/classes/sun/awt/X11/security-icon-interim24.png - src/solaris/classes/sun/awt/X11/security-icon-interim32.png - src/solaris/classes/sun/awt/X11/security-icon-interim48.png - src/solaris/classes/sun/awt/X11/security-icon-yellow16.png - src/solaris/classes/sun/awt/X11/security-icon-yellow24.png - src/solaris/classes/sun/awt/X11/security-icon-yellow32.png - src/solaris/classes/sun/awt/X11/security-icon-yellow48.png ! src/solaris/native/sun/awt/awt_GraphicsEnv.c ! src/windows/native/sun/windows/WPrinterJob.cpp ! src/windows/native/sun/windows/awt_PrintControl.cpp - test/java/lang/invoke/7196190/MHProxyTest.java - test/sun/misc/Hashing.java Changeset: fce2eaa84b21 Author: lana Date: 2013-06-24 14:28 -0700 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/fce2eaa84b21 Merge Changeset: 58e5d1149f97 Author: erikj Date: 2013-06-25 09:25 +0200 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/58e5d1149f97 8017480: Move copying of jfr files to closed makefile Reviewed-by: sla, tbell ! makefiles/CopyFiles.gmk Changeset: fd41ca58229c Author: katleman Date: 2013-06-25 13:49 -0700 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/fd41ca58229c Merge Changeset: 4a5d3cf2b3af Author: katleman Date: 2013-06-26 11:26 -0700 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/4a5d3cf2b3af 8016684: JDK8 b94 source with GPL header errors Reviewed-by: tbell, darcy ! src/share/classes/java/nio/CharBufferSpliterator.java ! src/share/native/sun/management/DiagnosticCommandImpl.c ! test/java/lang/management/MXBean/MXBeanBehavior.java ! test/java/lang/management/ManagementFactory/MBeanServerMXBeanUnsupportedTest.java Changeset: 2f1386fc2079 Author: katleman Date: 2013-06-27 13:40 -0700 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/2f1386fc2079 Added tag jdk8-b96 for changeset 4a5d3cf2b3af ! .hgtags Changeset: b4d36f3717b8 Author: lana Date: 2013-06-28 19:46 -0700 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/b4d36f3717b8 Merge From lance.andersen at oracle.com Sat Jun 29 03:13:43 2013 From: lance.andersen at oracle.com (lance.andersen at oracle.com) Date: Sat, 29 Jun 2013 10:13:43 +0000 Subject: hg: jdk8/tl/jdk: 8019286: Fix javadoc typo in ResultSet.next Message-ID: <20130629101441.607234868D@hg.openjdk.java.net> Changeset: a4eb59bffb60 Author: lancea Date: 2013-06-29 06:12 -0400 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/a4eb59bffb60 8019286: Fix javadoc typo in ResultSet.next Reviewed-by: darcy, mchung ! src/share/classes/java/sql/ResultSet.java From vicente.romero at oracle.com Sat Jun 29 12:14:01 2013 From: vicente.romero at oracle.com (vicente.romero at oracle.com) Date: Sat, 29 Jun 2013 19:14:01 +0000 Subject: hg: jdk8/tl/langtools: 6983646: javap should identify why a DefaultAttribute is being used Message-ID: <20130629191408.BDE8D48692@hg.openjdk.java.net> Changeset: 891c5ecb8306 Author: vromero Date: 2013-06-29 20:12 +0100 URL: http://hg.openjdk.java.net/jdk8/tl/langtools/rev/891c5ecb8306 6983646: javap should identify why a DefaultAttribute is being used Reviewed-by: jjg ! src/share/classes/com/sun/tools/classfile/Attribute.java ! src/share/classes/com/sun/tools/classfile/DefaultAttribute.java ! src/share/classes/com/sun/tools/javap/AttributeWriter.java From joe.darcy at oracle.com Sun Jun 30 16:02:26 2013 From: joe.darcy at oracle.com (joe.darcy at oracle.com) Date: Sun, 30 Jun 2013 23:02:26 +0000 Subject: hg: jdk8/tl/jdk: 8019466: Fix doclint issues in java.util.function Message-ID: <20130630230251.28759486AD@hg.openjdk.java.net> Changeset: bf650fee4983 Author: darcy Date: 2013-06-30 16:02 -0700 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/bf650fee4983 8019466: Fix doclint issues in java.util.function Reviewed-by: briangoetz ! src/share/classes/java/util/function/BinaryOperator.java ! src/share/classes/java/util/function/Function.java ! src/share/classes/java/util/function/UnaryOperator.java From joe.darcy at oracle.com Sun Jun 30 17:16:04 2013 From: joe.darcy at oracle.com (joe.darcy at oracle.com) Date: Mon, 01 Jul 2013 00:16:04 +0000 Subject: hg: jdk8/tl/jdk: 8019467: Fix doclint issues in java.util.jar.Pack200 Message-ID: <20130701001616.1999A486AE@hg.openjdk.java.net> Changeset: 9eaeb1a0aa46 Author: darcy Date: 2013-06-30 17:15 -0700 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/9eaeb1a0aa46 8019467: Fix doclint issues in java.util.jar.Pack200 Reviewed-by: lancea, ksrini ! src/share/classes/java/util/jar/Pack200.java