From maurizio.cimadamore at oracle.com Fri Mar 2 02:56:58 2012 From: maurizio.cimadamore at oracle.com (maurizio.cimadamore at oracle.com) Date: Fri, 02 Mar 2012 10:56:58 +0000 Subject: hg: lambda/lambda/langtools: Remove obsolete '#' syntax for extension methods. Message-ID: <20120302105704.5F18A4778B@hg.openjdk.java.net> Changeset: 70ac43dd8272 Author: mcimadamore Date: 2012-03-02 10:55 +0000 URL: http://hg.openjdk.java.net/lambda/lambda/langtools/rev/70ac43dd8272 Remove obsolete '#' syntax for extension methods. The compiler now only accepts the '::' syntax: *) Foo::bar *) new Foo()::bar *) Foo::new *) super::bar ! src/share/classes/com/sun/tools/javac/parser/JavaTokenizer.java ! src/share/classes/com/sun/tools/javac/parser/JavacParser.java ! src/share/classes/com/sun/tools/javac/parser/Tokens.java ! test/tools/javac/lambda/LambdaExpr14.java ! test/tools/javac/lambda/MethodReference01.java ! test/tools/javac/lambda/MethodReference02.java ! test/tools/javac/lambda/MethodReference03.java ! test/tools/javac/lambda/MethodReference04.java ! test/tools/javac/lambda/MethodReference05.java ! test/tools/javac/lambda/MethodReference06.java ! test/tools/javac/lambda/MethodReference07.java ! test/tools/javac/lambda/MethodReference08.java ! test/tools/javac/lambda/MethodReference09.java ! test/tools/javac/lambda/MethodReference10.java ! test/tools/javac/lambda/MethodReference11.java ! test/tools/javac/lambda/MethodReference12.java ! test/tools/javac/lambda/MethodReference13.java ! test/tools/javac/lambda/MethodReference14.java ! test/tools/javac/lambda/MethodReference15.java ! test/tools/javac/lambda/MethodReference16.java ! test/tools/javac/lambda/MethodReference17.java ! test/tools/javac/lambda/MethodReference18.java ! test/tools/javac/lambda/MethodReference19.java ! test/tools/javac/lambda/MethodReference20.java ! test/tools/javac/lambda/MethodReference21.java ! test/tools/javac/lambda/MethodReference22.java ! test/tools/javac/lambda/MethodReference23.java ! test/tools/javac/lambda/MethodReference24.java ! test/tools/javac/lambda/MethodReference25.java ! test/tools/javac/lambda/MethodReference26.java ! test/tools/javac/lambda/MethodReference27.java ! test/tools/javac/lambda/MethodReference28.java ! test/tools/javac/lambda/MethodReference29.java ! test/tools/javac/lambda/MethodReference30.java ! test/tools/javac/lambda/MethodReference31.java ! test/tools/javac/lambda/MethodReference32.java ! test/tools/javac/lambda/MethodReference33.java ! test/tools/javac/lambda/MethodReference34.java ! test/tools/javac/lambda/MethodReference35.java ! test/tools/javac/lambda/MethodReferenceParserTest.java ! test/tools/javac/lambda/SourceLevelTest.java ! test/tools/javac/lambda/SourceLevelTest.out ! test/tools/javac/lambda/TargetType32.java ! test/tools/javac/lambda/TargetType33.java ! test/tools/javac/lambda/badMemberRefBytecode/Main.java ! test/tools/javac/lambda/sqe/methodReference/BridgeMethod.java ! test/tools/javac/lambda/sqe/methodReference/MethodRef1.java ! test/tools/javac/lambda/sqe/methodReference/MethodRef2.java ! test/tools/javac/lambda/sqe/methodReference/MethodRef3.java ! test/tools/javac/lambda/sqe/methodReference/MethodRef4.java ! test/tools/javac/lambda/sqe/methodReference/MethodRef5.java ! test/tools/javac/lambda/sqe/methodReference/MethodRef6.java ! test/tools/javac/lambda/sqe/methodReference/MethodRef7.java ! test/tools/javac/lambda/sqe/methodReference/MethodRef_neg.java ! test/tools/javac/lambda/sqe/methodReference/SamConversion.java ! test/tools/javac/lambda/sqe/methodReference/SamConversionComboTest.java ! test/tools/javac/quid/T6999438.out From maurizio.cimadamore at oracle.com Fri Mar 2 03:05:04 2012 From: maurizio.cimadamore at oracle.com (Maurizio Cimadamore) Date: Fri, 02 Mar 2012 11:05:04 +0000 Subject: updated syntax for method references Message-ID: <4F50A960.8030108@oracle.com> Hi, I recently pushed a changeset to remove support for '#'-based syntax for _method references_ (the commit message is confusing, I pushed too fast ;-)). This means that the long standing syntax for method references: Foo#bar new Foo()#bar super#bar is now not supported anymore. Instead, the compiler accepts a similar infix variant, where '#' is replaced by '::' - this has been available for quite some time, and it is also the syntax used in all recent documentation: Foo::bar new Foo()::bar super::bar The syntax discussion regarding method references is still ongoing with the EG - so this push doesn't mean we are 100% committed to the '::' syntax - on the other hand we are fully committed _not to_ have the '#' syntax, as we envisage better usages for such token in future releases. Maurizio From sven at efftinge.de Fri Mar 2 04:54:09 2012 From: sven at efftinge.de (Sven Efftinge) Date: Fri, 2 Mar 2012 13:54:09 +0100 Subject: updated syntax for method references In-Reply-To: <4F50A960.8030108@oracle.com> References: <4F50A960.8030108@oracle.com> Message-ID: Hi, could you elaborate on what ideas you have for the '#' syntax? Something like member literals? Sven On Mar 2, 2012, at 12:05 PM, Maurizio Cimadamore wrote: > Hi, > I recently pushed a changeset to remove support for '#'-based syntax for > _method references_ (the commit message is confusing, I pushed too fast > ;-)). This means that the long standing syntax for method references: > > Foo#bar > new Foo()#bar > super#bar > > is now not supported anymore. Instead, the compiler accepts a similar > infix variant, where '#' is replaced by '::' - this has been available > for quite some time, and it is also the syntax used in all recent > documentation: > > Foo::bar > new Foo()::bar > super::bar > > The syntax discussion regarding method references is still ongoing with > the EG - so this push doesn't mean we are 100% committed to the '::' > syntax - on the other hand we are fully committed _not to_ have the '#' > syntax, as we envisage better usages for such token in future releases. > > Maurizio > > From forax at univ-mlv.fr Fri Mar 2 05:10:36 2012 From: forax at univ-mlv.fr (=?ISO-8859-1?Q?R=E9mi_Forax?=) Date: Fri, 02 Mar 2012 14:10:36 +0100 Subject: updated syntax for method references In-Reply-To: References: <4F50A960.8030108@oracle.com> Message-ID: <4F50C6CC.2060708@univ-mlv.fr> On 03/02/2012 01:54 PM, Sven Efftinge wrote: > Hi, > could you elaborate on what ideas you have for the '#' syntax? > Something like member literals? yes, see section 8, http://cr.openjdk.java.net/~briangoetz/lambda/lambda-state-4.html R?mi > > Sven > > On Mar 2, 2012, at 12:05 PM, Maurizio Cimadamore wrote: > >> Hi, >> I recently pushed a changeset to remove support for '#'-based syntax for >> _method references_ (the commit message is confusing, I pushed too fast >> ;-)). This means that the long standing syntax for method references: >> >> Foo#bar >> new Foo()#bar >> super#bar >> >> is now not supported anymore. Instead, the compiler accepts a similar >> infix variant, where '#' is replaced by '::' - this has been available >> for quite some time, and it is also the syntax used in all recent >> documentation: >> >> Foo::bar >> new Foo()::bar >> super::bar >> >> The syntax discussion regarding method references is still ongoing with >> the EG - so this push doesn't mean we are 100% committed to the '::' >> syntax - on the other hand we are fully committed _not to_ have the '#' >> syntax, as we envisage better usages for such token in future releases. >> >> Maurizio >> >> > From forax at univ-mlv.fr Fri Mar 2 05:50:17 2012 From: forax at univ-mlv.fr (=?ISO-8859-1?Q?R=E9mi_Forax?=) Date: Fri, 02 Mar 2012 14:50:17 +0100 Subject: default method Message-ID: <4F50D019.5010205@univ-mlv.fr> Hi all, hi Maurizio, It seems that default methods are considered as a static context by the compiler, so I haven't access to 'this'. R?mi From sven at efftinge.de Fri Mar 2 06:16:42 2012 From: sven at efftinge.de (Sven Efftinge) Date: Fri, 2 Mar 2012 15:16:42 +0100 Subject: updated syntax for method references In-Reply-To: <4F50C6CC.2060708@univ-mlv.fr> References: <4F50A960.8030108@oracle.com> <4F50C6CC.2060708@univ-mlv.fr> Message-ID: It doesn't say anything about member literals, does it? I meant something along the lines of the class literal where you'd get the java.lang.reflect instance. I.e. Foo#bar would be a statically typed version of Foo.class.getDeclaredFields("bar") Sven On Mar 2, 2012, at 2:10 PM, R?mi Forax wrote: > On 03/02/2012 01:54 PM, Sven Efftinge wrote: >> Hi, >> could you elaborate on what ideas you have for the '#' syntax? >> Something like member literals? > > yes, > see section 8, > http://cr.openjdk.java.net/~briangoetz/lambda/lambda-state-4.html > > R?mi > >> >> Sven >> >> On Mar 2, 2012, at 12:05 PM, Maurizio Cimadamore wrote: >> >>> Hi, >>> I recently pushed a changeset to remove support for '#'-based syntax for >>> _method references_ (the commit message is confusing, I pushed too fast >>> ;-)). This means that the long standing syntax for method references: >>> >>> Foo#bar >>> new Foo()#bar >>> super#bar >>> >>> is now not supported anymore. Instead, the compiler accepts a similar >>> infix variant, where '#' is replaced by '::' - this has been available >>> for quite some time, and it is also the syntax used in all recent >>> documentation: >>> >>> Foo::bar >>> new Foo()::bar >>> super::bar >>> >>> The syntax discussion regarding method references is still ongoing with >>> the EG - so this push doesn't mean we are 100% committed to the '::' >>> syntax - on the other hand we are fully committed _not to_ have the '#' >>> syntax, as we envisage better usages for such token in future releases. >>> >>> Maurizio >>> >>> >> > > From maurizio.cimadamore at oracle.com Fri Mar 2 06:28:24 2012 From: maurizio.cimadamore at oracle.com (Maurizio Cimadamore) Date: Fri, 02 Mar 2012 14:28:24 +0000 Subject: default method In-Reply-To: <4F50D019.5010205@univ-mlv.fr> References: <4F50D019.5010205@univ-mlv.fr> Message-ID: <4F50D908.6020802@oracle.com> On 02/03/12 13:50, R?mi Forax wrote: > Hi all, hi Maurizio, > It seems that default methods are considered as a static context by the > compiler, > so I haven't access to 'this'. Right - that is a leftover of the old implementation and should be removed. Thanks for the headsup Maurizio > > R?mi > > From forax at univ-mlv.fr Fri Mar 2 06:50:05 2012 From: forax at univ-mlv.fr (=?ISO-8859-1?Q?R=E9mi_Forax?=) Date: Fri, 02 Mar 2012 15:50:05 +0100 Subject: defender methods and method of Object Message-ID: <4F50DE1D.6010006@univ-mlv.fr> Hi all, With the current semantics, there is no way to override a method of java.lang.Object with a default method. By example, interface Foo { public String toString() { return "Foo"; } } public class A implements Foo { } ... A a = new A(); a.toString() -> calls Object::toString() I think it's not the right semantics because you can all on an interface all the method of java.lang.Object so an interface is a type more specific than Object. R?mi From forax at univ-mlv.fr Fri Mar 2 06:57:01 2012 From: forax at univ-mlv.fr (=?ISO-8859-1?Q?R=E9mi_Forax?=) Date: Fri, 02 Mar 2012 15:57:01 +0100 Subject: Adding default method to java.lang.Cloneable Message-ID: <4F50DFBD.7050308@univ-mlv.fr> I've tried to add a default method to java.lang.Cloneable in order to be able to call it on an array (all arrays inherits from Object and implements Cloneable and Serializable). But the VM doesn't like that :) I think it's a bug. Here is the code package java.lang; public interface Cloneable { public String foo() default { return "foo"; } } --- public class Main { public static void main(String[] args) { int[] array = new int[] {2, 4 }; System.out.println(array.foo()); } } --- R?mi From forax at univ-mlv.fr Fri Mar 2 07:30:41 2012 From: forax at univ-mlv.fr (=?ISO-8859-1?Q?R=E9mi_Forax?=) Date: Fri, 02 Mar 2012 16:30:41 +0100 Subject: Adding default method to java.lang.Cloneable In-Reply-To: <82ipinvxwa.fsf@mid.bfk.de> References: <4F50DFBD.7050308@univ-mlv.fr> <82ipinvxwa.fsf@mid.bfk.de> Message-ID: <4F50E7A1.90007@univ-mlv.fr> On 03/02/2012 04:13 PM, Florian Weimer wrote: > * R?mi Forax: > >> I've tried to add a default method to java.lang.Cloneable >> in order to be able to call it on an array >> (all arrays inherits from Object and implements Cloneable and Serializable). >> >> But the VM doesn't like that :) >> I think it's a bug. > The clone method is very special. It's not visible using reflection... clone() is not the only method hidden when you use the reflection API, I know, but in my opinion it's a slighly different problem. You can call clone() on an array in Java. You're right that there is a special code in the compiler for clone which calls Object.clone() instead of int[].clone() But it that case, this should work: int[] array = new int[] {2, 4 }; Cloneable c = array; System.out.println(c.foo()); But it doesn't work. R?mi From bitterfoxc at gmail.com Fri Mar 2 08:08:02 2012 From: bitterfoxc at gmail.com (bitter_fox) Date: Sat, 3 Mar 2012 01:08:02 +0900 Subject: defender methods and method of Object In-Reply-To: <4F50DE1D.6010006@univ-mlv.fr> References: <4F50DE1D.6010006@univ-mlv.fr> Message-ID: Hi, You have to override toString in A to use the default implementation, in this case, using the syntax "Interface.super.method()": (because the definition of super-class is preferred if the extended definitions from super-class and super-interface are clashing) public class A implements Foo { public String toString() { return Foo.super.toString(); } } new A().toString(); // returns "Foo" However, this calling would be StackOverflowError because the syntax may be only on "Syntax" and be not implemented for byte code. I can't judge that semantics is right or wrong, so I only refer to the way to override.(Although I think it is right...) Excuse me if you already know the way. Regards, bitter_fox 2012/3/2 R?mi Forax > Hi all, > With the current semantics, there is no way to override a method of > java.lang.Object with a default method. > By example, > > interface Foo { > public String toString() { return "Foo"; } > } > public class A implements Foo { > } > ... > A a = new A(); > a.toString() -> calls Object::toString() > > I think it's not the right semantics because you can all on an interface > all the method of java.lang.Object so an interface is a type more specific > than Object. > > R?mi > > > From forax at univ-mlv.fr Fri Mar 2 08:19:55 2012 From: forax at univ-mlv.fr (=?ISO-8859-1?Q?R=E9mi_Forax?=) Date: Fri, 02 Mar 2012 17:19:55 +0100 Subject: defender methods and method of Object In-Reply-To: References: <4F50DE1D.6010006@univ-mlv.fr> Message-ID: <4F50F32B.90403@univ-mlv.fr> On 03/02/2012 05:08 PM, bitter_fox wrote: > Hi, > You have to override toString in A to use the default implementation, > in this case, using the syntax "Interface.super.method()": > (because the definition of super-class is preferred if the extended > definitions from super-class and super-interface are clashing) > > public class A implements Foo > { > public String toString() > { > return Foo.super.toString(); > } > } > > new A().toString(); // returns "Foo" > > However, this calling would be StackOverflowError because the syntax > may be only on "Syntax" and be not implemented for byte code. > > I can't judge that semantics is right or wrong, so I only refer to the > way to override.(Although I think it is right...) > Excuse me if you already know the way. No problem. I just think that the semantics should be changed a little bit by adding a special case for method from Object because otherwise the default method will be never called directly (as you said, you can use I.super.foo()). > > Regards, > bitter_fox cheers, R?mi From maurizio.cimadamore at oracle.com Fri Mar 2 11:14:07 2012 From: maurizio.cimadamore at oracle.com (maurizio.cimadamore at oracle.com) Date: Fri, 02 Mar 2012 19:14:07 +0000 Subject: hg: lambda/lambda/langtools: Fix: spurious error messages when referencing 'this' from an extension method Message-ID: <20120302191412.319AD47796@hg.openjdk.java.net> Changeset: 0224cd855b60 Author: mcimadamore Date: 2012-03-02 19:13 +0000 URL: http://hg.openjdk.java.net/lambda/lambda/langtools/rev/0224cd855b60 Fix: spurious error messages when referencing 'this' from an extension method ! src/share/classes/com/sun/tools/javac/comp/MemberEnter.java + test/tools/javac/defender/Pos12.java From david.holmes at oracle.com Sat Mar 3 03:23:49 2012 From: david.holmes at oracle.com (David Holmes) Date: Sat, 03 Mar 2012 21:23:49 +1000 Subject: defender methods and method of Object In-Reply-To: <4F50F32B.90403@univ-mlv.fr> References: <4F50DE1D.6010006@univ-mlv.fr> <4F50F32B.90403@univ-mlv.fr> Message-ID: <4F51FF45.2030305@oracle.com> I don't see any reason to special case Object methods. Superclass wins over interface with a default - pure and simple. David On 3/03/2012 2:19 AM, R?mi Forax wrote: > On 03/02/2012 05:08 PM, bitter_fox wrote: >> Hi, >> You have to override toString in A to use the default implementation, >> in this case, using the syntax "Interface.super.method()": >> (because the definition of super-class is preferred if the extended >> definitions from super-class and super-interface are clashing) >> >> public class A implements Foo >> { >> public String toString() >> { >> return Foo.super.toString(); >> } >> } >> >> new A().toString(); // returns "Foo" >> >> However, this calling would be StackOverflowError because the syntax >> may be only on "Syntax" and be not implemented for byte code. >> >> I can't judge that semantics is right or wrong, so I only refer to the >> way to override.(Although I think it is right...) >> Excuse me if you already know the way. > > No problem. > I just think that the semantics should be changed a little bit by adding > a special case for method from Object because > otherwise the default method will be never called directly > (as you said, you can use I.super.foo()). > >> >> Regards, >> bitter_fox > > cheers, > R?mi > > From david.holmes at oracle.com Sat Mar 3 03:27:46 2012 From: david.holmes at oracle.com (David Holmes) Date: Sat, 03 Mar 2012 21:27:46 +1000 Subject: Adding default method to java.lang.Cloneable In-Reply-To: <4F50DFBD.7050308@univ-mlv.fr> References: <4F50DFBD.7050308@univ-mlv.fr> Message-ID: <4F520032.10209@oracle.com> On 3/03/2012 12:57 AM, R?mi Forax wrote: > I've tried to add a default method to java.lang.Cloneable > in order to be able to call it on an array > (all arrays inherits from Object and implements Cloneable and Serializable). The reason arrays can act as-if they implement Cloneable and Serializable is precisely because there are no methods in those interfaces. I don't think it reasonable to try and add methods to those interfaces and expect it to work for arrays. Making that work is part of the VM not a matter of simple bytecode. Just like you can't take Object and add to it, recompile and expect it to work. David > But the VM doesn't like that :) > I think it's a bug. > > Here is the code > package java.lang; > > public interface Cloneable { > public String foo() default { > return "foo"; > } > } > > --- > > public class Main { > public static void main(String[] args) { > int[] array = new int[] {2, 4 }; > System.out.println(array.foo()); > } > } > > --- > > R?mi > > > > From lukas.eder at gmail.com Sat Mar 3 05:10:33 2012 From: lukas.eder at gmail.com (Lukas Eder) Date: Sat, 3 Mar 2012 14:10:33 +0100 Subject: Planned extension methods in Iterable and subtypes thereof Message-ID: Hello, I am referring to page 55 of this presentation that I have found on the web: https://blogs.oracle.com/briangoetz/resource/devoxx-lang-lib-vm-co-evol.pdf It depicts the possible evolution of the Iterable interface using extension methods that are very convenient for the whole collections API: ------------------------------------------------------------ public interface Iterable { Iterator iterator(); boolean isEmpty() default ...; void forEach(Block block) default ...; Iterable filter(Predicate predicate) default ...; Iterable map(Mapper mapper) default ...; T reduce(T base, Operator reducer) default ...; Iterable sorted(Comparator comp) default ...; > C into(C collection) default ...; // and more... } ------------------------------------------------------------ Are these ideas around the Iterable interface formally stabilising? I'm asking because I'd like to add similar methods in my proprietary List extension: ------------------------------------------------------------ public interface Result extends List { Result sorted(Comparator comp); Result filter(MyPredicate predicate); // ... } ------------------------------------------------------------ When adding such features to my Result type, I'd like to stay as close as possible to what will be available in Java 8, such that migrating this API will be simple ("sorted()" overrides the inherited version as it is, "filter()" will be overloaded by the inherited extension method, my own version deprecated). So are these ideas already stable? Or is Java 8's collections API evolution still an open point? Cheers Lukas From brian.goetz at oracle.com Sat Mar 3 07:40:26 2012 From: brian.goetz at oracle.com (Brian Goetz) Date: Sat, 03 Mar 2012 10:40:26 -0500 Subject: Planned extension methods in Iterable and subtypes thereof In-Reply-To: References: Message-ID: <4F523B6A.9020707@oracle.com> The specifics of the library improvements are still at an early point. We're converging on the main design concepts, but how they connect to collections, what we call them, etc, are all still in flight. On 3/3/2012 8:10 AM, Lukas Eder wrote: > Hello, > > I am referring to page 55 of this presentation that I have found on the web: > https://blogs.oracle.com/briangoetz/resource/devoxx-lang-lib-vm-co-evol.pdf > > It depicts the possible evolution of the Iterable interface using > extension methods that are very convenient for the whole collections > API: > > ------------------------------------------------------------ > public interface Iterable { > Iterator iterator(); > boolean isEmpty() default ...; > void forEach(Block block) default ...; > Iterable filter(Predicate predicate) default ...; > Iterable map(Mapper mapper) default ...; > T reduce(T base, Operator reducer) default ...; > Iterable sorted(Comparator comp) default ...; > > > C into(C collection) default ...; > // and more... > } > ------------------------------------------------------------ > > Are these ideas around the Iterable interface formally stabilising? > I'm asking because I'd like to add similar methods in my proprietary > List extension: > > ------------------------------------------------------------ > public interface Result extends List { > Result sorted(Comparator comp); > Result filter(MyPredicate predicate); > // ... > } > ------------------------------------------------------------ > > When adding such features to my Result type, I'd like to stay as close > as possible to what will be available in Java 8, such that migrating > this API will be simple ("sorted()" overrides the inherited version as > it is, "filter()" will be overloaded by the inherited extension > method, my own version deprecated). So are these ideas already stable? > Or is Java 8's collections API evolution still an open point? > > Cheers > Lukas > From yshavit at akiban.com Sat Mar 3 11:19:43 2012 From: yshavit at akiban.com (Yuval Shavit) Date: Sat, 3 Mar 2012 14:19:43 -0500 Subject: defender methods and method of Object In-Reply-To: <4F51FF45.2030305@oracle.com> References: <4F50DE1D.6010006@univ-mlv.fr> <4F50F32B.90403@univ-mlv.fr> <4F51FF45.2030305@oracle.com> Message-ID: Well, Object is special-cased in the very definition of an interface (in 4.10.2), so I could see the case for special-casing it for default implementations. On Sat, Mar 3, 2012 at 6:23 AM, David Holmes wrote: > I don't see any reason to special case Object methods. Superclass wins > over interface with a default - pure and simple. > > David > > On 3/03/2012 2:19 AM, R?mi Forax wrote: > > On 03/02/2012 05:08 PM, bitter_fox wrote: > >> Hi, > >> You have to override toString in A to use the default implementation, > >> in this case, using the syntax "Interface.super.method()": > >> (because the definition of super-class is preferred if the extended > >> definitions from super-class and super-interface are clashing) > >> > >> public class A implements Foo > >> { > >> public String toString() > >> { > >> return Foo.super.toString(); > >> } > >> } > >> > >> new A().toString(); // returns "Foo" > >> > >> However, this calling would be StackOverflowError because the syntax > >> may be only on "Syntax" and be not implemented for byte code. > >> > >> I can't judge that semantics is right or wrong, so I only refer to the > >> way to override.(Although I think it is right...) > >> Excuse me if you already know the way. > > > > No problem. > > I just think that the semantics should be changed a little bit by adding > > a special case for method from Object because > > otherwise the default method will be never called directly > > (as you said, you can use I.super.foo()). > > > >> > >> Regards, > >> bitter_fox > > > > cheers, > > R?mi > > > > > > From sam at sampullara.com Sat Mar 3 12:45:27 2012 From: sam at sampullara.com (Sam Pullara) Date: Sat, 3 Mar 2012 12:45:27 -0800 Subject: defender methods and method of Object In-Reply-To: References: <4F50DE1D.6010006@univ-mlv.fr> <4F50F32B.90403@univ-mlv.fr> <4F51FF45.2030305@oracle.com> Message-ID: I am all for special casing these. It is far too useful to be able to provide equals()/hashCode()/toString() at the interface level for things like List to not to include this capability. Especially since there is precedent for their special treatment. Sam On Sat, Mar 3, 2012 at 11:19 AM, Yuval Shavit wrote: > Well, Object is special-cased in the very definition of an interface (in > 4.10.2), so I could see the case for special-casing it for default > implementations. > > On Sat, Mar 3, 2012 at 6:23 AM, David Holmes wrote: > >> I don't see any reason to special case Object methods. Superclass wins >> over interface with a default - pure and simple. >> >> David >> >> On 3/03/2012 2:19 AM, R?mi Forax wrote: >> > On 03/02/2012 05:08 PM, bitter_fox wrote: >> >> Hi, >> >> You have to override toString in A to use the default implementation, >> >> in this case, using the syntax "Interface.super.method()": >> >> (because the definition of super-class is preferred if the extended >> >> definitions from super-class and super-interface are clashing) >> >> >> >> public class A implements Foo >> >> { >> >> ? ? ?public String toString() >> >> ? ? ?{ >> >> ? ? ? ? ?return Foo.super.toString(); >> >> ? ? ?} >> >> } >> >> >> >> new A().toString(); // returns "Foo" >> >> >> >> However, this calling would be StackOverflowError because the syntax >> >> may be only on "Syntax" and be not implemented for byte code. >> >> >> >> I can't judge that semantics is right or wrong, so I only refer to the >> >> way to override.(Although I think it is right...) >> >> Excuse me if you already know the way. >> > >> > No problem. >> > I just think that the semantics should be changed a little bit by adding >> > a special case for method from Object because >> > otherwise the default method will be never called directly >> > (as you said, you can use I.super.foo()). >> > >> >> >> >> Regards, >> >> bitter_fox >> > >> > cheers, >> > R?mi >> > >> > >> >> > From mail at antoras.de Tue Mar 6 11:56:04 2012 From: mail at antoras.de (Antoras) Date: Tue, 06 Mar 2012 20:56:04 +0100 Subject: Why no placeholder shortcuts for lambdas? Message-ID: <4F566BD4.7050805@antoras.de> I'm wondering why the shortcuts for lambdas are not as short as they can be. For example I get the following to work: xs.foldLeft(0, (i1, i2) -> i1 + i2); xs.foldLeft(0, ListTest::add); static int add(int i1, int i2) { return i1+i2; } where xs is a list of ints, foldLeft a method of this list and add a method in a class ListTest. But what was the design decision to disallow the following: xs.foldLeft(0, (+)) // or xs.foldLeft(0, (_+_)) // => (obj1).+(obj2) for objects // => (prim11)+(prim2) for primitives where + can be a method of an object or an operation on primitives and _ any placeholder. Is this technically impossible or are there other reasons? Thanks in advance Antoras From richard.warburton at gmail.com Tue Mar 6 12:07:05 2012 From: richard.warburton at gmail.com (Richard Warburton) Date: Tue, 6 Mar 2012 20:07:05 +0000 Subject: Why no placeholder shortcuts for lambdas? In-Reply-To: <4F566BD4.7050805@antoras.de> References: <4F566BD4.7050805@antoras.de> Message-ID: > I'm wondering why the shortcuts for lambdas are not as short as they can be. > > For example I get the following to work: > > xs.foldLeft(0, (i1, i2) -> i1 + i2); > xs.foldLeft(0, ListTest::add); > > static int add(int i1, int i2) { > ? return i1+i2; > } > > where xs is a list of ints, foldLeft a method of this list and add a > method in a class ListTest. But what was the design decision to disallow > the following: > > xs.foldLeft(0, (+)) > // or > xs.foldLeft(0, (_+_)) > // => (obj1).+(obj2) for objects > // => (prim11)+(prim2) for primitives > > where + can be a method of an object or an operation on primitives and _ > any placeholder. > > Is this technically impossible or are there other reasons? This has been discussed on the list before, the thread in http://mail.openjdk.java.net/pipermail/lambda-dev/2011-September/004025.html provides some comments. My tl;dr is that the EG thought there was very little benefit gained by this syntactic sugar for the added complexity. regards, Richard From benjamin.john.evans at gmail.com Tue Mar 6 12:07:07 2012 From: benjamin.john.evans at gmail.com (Ben Evans) Date: Tue, 6 Mar 2012 20:07:07 +0000 Subject: Fwd:Re:Why no placeholder shortcuts for lambdas? In-Reply-To: References: <4F566BD4.7050805@antoras.de> Message-ID: Sorry- that should have gone back to list ---------- Forwarded message ---------- From: "Ben Evans" Date: Mar 6, 2012 8:05 PM Subject: Re:Why no placeholder shortcuts for lambdas? To: "Antoras" In short, read the list archives. There is extensive discussion about this. Short version: Not everyone agrees that maximum brevity is a thing to aim for. It hasn't always worked out well - see some of Perl's design decisions. Even Scala can't honestly be considered enough of a mainstream language yet to validate its closure syntax as viable yet. Thanks, Ben On Mar 6, 2012 7:57 PM, "Antoras" wrote: > I'm wondering why the shortcuts for lambdas are not as short as they can > be. > > For example I get the following to work: > > xs.foldLeft(0, (i1, i2) -> i1 + i2); > xs.foldLeft(0, ListTest::add); > > static int add(int i1, int i2) { > return i1+i2; > } > > where xs is a list of ints, foldLeft a method of this list and add a > method in a class ListTest. But what was the design decision to disallow > the following: > > xs.foldLeft(0, (+)) > // or > xs.foldLeft(0, (_+_)) > // => (obj1).+(obj2) for objects > // => (prim11)+(prim2) for primitives > > where + can be a method of an object or an operation on primitives and _ > any placeholder. > > Is this technically impossible or are there other reasons? > > Thanks in advance > Antoras > > From mail at antoras.de Tue Mar 6 12:25:25 2012 From: mail at antoras.de (Antoras) Date: Tue, 06 Mar 2012 21:25:25 +0100 Subject: Why no placeholder shortcuts for lambdas? In-Reply-To: References: <4F566BD4.7050805@antoras.de> Message-ID: <4F5672B5.8010409@antoras.de> Ok, I will read that. Thanks for the responses. On Tue 06 Mar 2012 09:07:05 PM CET, Richard Warburton wrote: > >> >> I'm wondering why the shortcuts for lambdas are not as short as they >> can be. >> >> For example I get the following to work: >> >> xs.foldLeft(0, (i1, i2) -> i1 + i2); >> xs.foldLeft(0, ListTest::add); >> >> static int add(int i1, int i2) { >> return i1+i2; >> } >> >> where xs is a list of ints, foldLeft a method of this list and add a >> method in a class ListTest. But what was the design decision to disallow >> the following: >> >> xs.foldLeft(0, (+)) >> // or >> xs.foldLeft(0, (_+_)) >> // => (obj1).+(obj2) for objects >> // => (prim11)+(prim2) for primitives >> >> where + can be a method of an object or an operation on primitives and _ >> any placeholder. >> >> Is this technically impossible or are there other reasons? > > > This has been discussed on the list before, the thread in > http://mail.openjdk.java.net/pipermail/lambda-dev/2011-September/004025.html > provides some comments. My tl;dr is that the EG thought there was > very little benefit gained by this syntactic sugar for the added > complexity. > > regards, > > Richard > From mail at antoras.de Tue Mar 6 12:51:26 2012 From: mail at antoras.de (Antoras) Date: Tue, 06 Mar 2012 21:51:26 +0100 Subject: ambiguous type inference while working with primitives Message-ID: <4F5678CE.4050804@antoras.de> I get compiler errors due to ambiguous Mapper-objects. I have a class Person which has a method getAge(). If the return value of this method is 'int' the following inline Mapper-object produces an error: Comparator c = comparing((Person p1) -> p1.getAge()); If the return type is 'Integer' the above code works. This line: Comparator c = comparing(Person::getAge); works neither with 'Integer' nor with 'int'; Is this expected behavior or should the type checker recognize that IntMapper is the first one to "choose"? The error message: ListTest.java:203: error: reference to comparing is ambiguous, both method comparing(LongMapper) in Comparators and method comparing(IntMapper) in Comparators match Comparator c = comparing((Person p1) -> p1.getAge()); ^ where T#1,T#2 are type-variables: T#1 extends Object declared in method comparing(LongMapper) T#2 extends Object declared in method comparing(IntMapper) From maurizio.cimadamore at oracle.com Tue Mar 6 15:44:44 2012 From: maurizio.cimadamore at oracle.com (maurizio cimadamore) Date: Tue, 06 Mar 2012 23:44:44 +0000 Subject: ambiguous type inference while working with primitives In-Reply-To: <4F5678CE.4050804@antoras.de> References: <4F5678CE.4050804@antoras.de> Message-ID: <4F56A16C.3030306@oracle.com> Hi This error occurs because you have two applicable methods, namely: *) comparing(IntMapper) *) comparing(LongMapper) When there are multiple applicable methods, the compiler tries to disambiguate the call-site using a routine called most-specific. The goal is to look at the two ambiguous signatures and see if one can be considered 'more specific' than the other. For instance, if you have two applicable methods, one accepting an Object, and the other accepting an Integer, the latter would 'win' as Integer is a subtype of Object. What's happening in this case is that the compiler doesn't have enough information to disambiguate the call-site by just looking at the method signatures - that's because IntMapper and LongMapper are two unrelated types, so the compiler doesn't know which method to pick - hence the ambiguity error. We are currently exploring the design space, to see if we can allow some restricted form of structural subtyping in the most specific algorithm (this would allow, i.e. to prefer IntMapper to LongMapper because the return type of the IntMapper's descriptor is more specific). Maurizio On 06-Mar-12 8:51 PM, Antoras wrote: > I get compiler errors due to ambiguous Mapper-objects. I have a class > Person which has a method getAge(). If the return value of this method > is 'int' the following inline Mapper-object produces an error: > > Comparator c = comparing((Person p1) -> p1.getAge()); > > If the return type is 'Integer' the above code works. > > This line: > > Comparator c = comparing(Person::getAge); > > works neither with 'Integer' nor with 'int'; > > Is this expected behavior or should the type checker recognize that > IntMapper is the first one to "choose"? > > > The error message: > > ListTest.java:203: error: reference to comparing is ambiguous, both > methodcomparing(LongMapper) in Comparators and method > comparing(IntMapper) in Comparators match > Comparator c = comparing((Person p1) -> p1.getAge()); > ^ > where T#1,T#2 are type-variables: > T#1 extends Object declared in methodcomparing(LongMapper) > T#2 extends Object declared in methodcomparing(IntMapper) > From jack at moxley.co.uk Tue Mar 6 23:32:09 2012 From: jack at moxley.co.uk (Jack Moxley) Date: Wed, 7 Mar 2012 07:32:09 +0000 Subject: Why no placeholder shortcuts for lambdas? In-Reply-To: References: <4F566BD4.7050805@antoras.de> Message-ID: Talk about Handbags at dawn. Sent from my iPhone On 6 Mar 2012, at 20:07, Ben Evans wrote: > > Even Scala can't honestly be considered enough of a mainstream language yet > to validate its closure syntax as viable yet. From mail at antoras.de Wed Mar 7 13:48:29 2012 From: mail at antoras.de (Antoras) Date: Wed, 07 Mar 2012 22:48:29 +0100 Subject: why no function types? Message-ID: <4F57D7AD.8020401@antoras.de> In the archive of the mailing list I found a topic which answers why there are no function types [1]. But I don't really understand the reason mentioned there (something about erased function types after type erasure). Therefore I have to ask again. Can someone explain me what happens when we write something like return_value map((A -> B) f); instead of return_value map(Mapper f); I thought the first one could easily translated to the second one. Thanks in advance [1]: http://mail.openjdk.java.net/pipermail/lambda-dev/2011-December/004326.html From maurizio.cimadamore at oracle.com Wed Mar 7 15:13:14 2012 From: maurizio.cimadamore at oracle.com (maurizio cimadamore) Date: Wed, 07 Mar 2012 23:13:14 +0000 Subject: why no function types? In-Reply-To: <4F57D7AD.8020401@antoras.de> References: <4F57D7AD.8020401@antoras.de> Message-ID: <4F57EB8A.6020907@oracle.com> Hi Long story short: since function types will probably be implemented as a generic type in the compiler generated code (i.e. something like Function), function types will be subject to the same limitations as generic types because of type-erasure; the two most common issues are: *) cannot write two overloaded methods each one accepting a different function type *) cannot create an array of function types Maurizio On 07-Mar-12 9:48 PM, Antoras wrote: > In the archive of the mailing list I found a topic which answers why > there are no function types [1]. > > But I don't really understand the reason mentioned there (something > about erased function types after type erasure). Therefore I have to ask > again. Can someone explain me what happens when we write something like > > return_value map((A -> B) f); > > instead of > > return_value map(Mapper f); > > I thought the first one could easily translated to the second one. > > Thanks in advance > > > [1]: > http://mail.openjdk.java.net/pipermail/lambda-dev/2011-December/004326.html > From bitterfoxc at gmail.com Thu Mar 8 01:46:54 2012 From: bitterfoxc at gmail.com (bitter_fox) Date: Thu, 8 Mar 2012 18:46:54 +0900 Subject: The compiler rejects this/super(). Message-ID: Hi, The compiler rejects "void" for throws generics at "this" or "super" constructor invoking: public class Main { public Main(Object o) {} public Main() { this(null); // Illegal } } The error message: Main.java:8: error: illegal start of type this(null); ^ Regards, bitter_fox From maurizio.cimadamore at oracle.com Thu Mar 8 05:15:25 2012 From: maurizio.cimadamore at oracle.com (Maurizio Cimadamore) Date: Thu, 08 Mar 2012 13:15:25 +0000 Subject: The compiler rejects this/super(). In-Reply-To: References: Message-ID: <4F58B0ED.3090906@oracle.com> On 08/03/12 09:46, bitter_fox wrote: > class Main > { > public Main(Object o) {} > > public Main() > { > this(null); // Illegal > } > } > Nicely spotted - thanks! Maurizio From maurizio.cimadamore at oracle.com Thu Mar 8 08:44:44 2012 From: maurizio.cimadamore at oracle.com (maurizio.cimadamore at oracle.com) Date: Thu, 08 Mar 2012 16:44:44 +0000 Subject: hg: lambda/lambda/langtools: Fix: throws type parameters not acctepted before super/this constructor calls Message-ID: <20120308164450.54F1E47854@hg.openjdk.java.net> Changeset: af50432f08a1 Author: mcimadamore Date: 2012-03-08 16:44 +0000 URL: http://hg.openjdk.java.net/lambda/lambda/langtools/rev/af50432f08a1 Fix: throws type parameters not acctepted before super/this constructor calls ! src/share/classes/com/sun/tools/javac/comp/Attr.java + test/tools/javac/transparency/Pos06.java From neal at gafter.com Thu Mar 8 08:59:05 2012 From: neal at gafter.com (Neal Gafter) Date: Thu, 8 Mar 2012 08:59:05 -0800 Subject: why no function types? In-Reply-To: <4F57EB8A.6020907@oracle.com> References: <4F57D7AD.8020401@antoras.de> <4F57EB8A.6020907@oracle.com> Message-ID: Don't those same limitations apply to function types written in the less convenient *Mapper* style? On Wed, Mar 7, 2012 at 3:13 PM, maurizio cimadamore < maurizio.cimadamore at oracle.com> wrote: > Hi > Long story short: since function types will probably be implemented as a > generic type in the compiler generated code (i.e. something like > Function), function types will be > subject to the same limitations as generic types because of > type-erasure; the two most common issues are: > > *) cannot write two overloaded methods each one accepting a different > function type > *) cannot create an array of function types > > Maurizio > > On 07-Mar-12 9:48 PM, Antoras wrote: > > In the archive of the mailing list I found a topic which answers why > > there are no function types [1]. > > > > But I don't really understand the reason mentioned there (something > > about erased function types after type erasure). Therefore I have to ask > > again. Can someone explain me what happens when we write something like > > > > return_value map((A -> B) f); > > > > instead of > > > > return_value map(Mapper f); > > > > I thought the first one could easily translated to the second one. > > > > Thanks in advance > > > > > > [1]: > > > http://mail.openjdk.java.net/pipermail/lambda-dev/2011-December/004326.html > > > > > From forax at univ-mlv.fr Thu Mar 8 10:08:44 2012 From: forax at univ-mlv.fr (=?utf-8?B?UmVtaSBGb3JheA==?=) Date: Thu, 08 Mar 2012 19:08:44 +0100 Subject: =?utf-8?B?UmU6IHdoeSBubyBmdW5jdGlvbiB0eXBlcz8=?= Message-ID: <201203081808.q28I8gsA016018@monge.univ-mlv.fr> Yes and no. Using SAM types instead of predefined function types let API developers choose if they want to represent a type of a lambda using a generic type or not. by example, Runnable[] array = { () -> { foo(); } }; is Ok (overdose of parenthesis aside). R?mi Sent from my Phone ----- Reply message ----- From: "Neal Gafter" To: "maurizio cimadamore" Cc: Subject: why no function types? Date: Thu, Mar 8, 2012 17:59 Don't those same limitations apply to function types written in the less convenient *Mapper* style? On Wed, Mar 7, 2012 at 3:13 PM, maurizio cimadamore < maurizio.cimadamore at oracle.com> wrote: > Hi > Long story short: since function types will probably be implemented as a > generic type in the compiler generated code (i.e. something like > Function), function types will be > subject to the same limitations as generic types because of > type-erasure; the two most common issues are: > > *) cannot write two overloaded methods each one accepting a different > function type > *) cannot create an array of function types > > Maurizio > > On 07-Mar-12 9:48 PM, Antoras wrote: > > In the archive of the mailing list I found a topic which answers why > > there are no function types [1]. > > > > But I don't really understand the reason mentioned there (something > > about erased function types after type erasure). Therefore I have to ask > > again. Can someone explain me what happens when we write something like > > > > return_value map((A -> B) f); > > > > instead of > > > > return_value map(Mapper f); > > > > I thought the first one could easily translated to the second one. > > > > Thanks in advance > > > > > > [1]: > > > http://mail.openjdk.java.net/pipermail/lambda-dev/2011-December/004326.html > > > > > From neal at gafter.com Thu Mar 8 10:26:12 2012 From: neal at gafter.com (Neal Gafter) Date: Thu, 8 Mar 2012 10:26:12 -0800 Subject: why no function types? In-Reply-To: <201203081808.q28I8gsA016018@monge.univ-mlv.fr> References: <201203081808.q28I8gsA016018@monge.univ-mlv.fr> Message-ID: On Thu, Mar 8, 2012 at 10:08 AM, Remi Forax wrote: > by example, > Runnable[] array = { () -> { foo(); } }; > is Ok (overdose of parenthesis aside). > Wouldn't that translate into a non-generic function type under the covers, since there are no parameter or return types? In which case you could do that with function types as well? From bitterfoxc at gmail.com Thu Mar 8 10:52:32 2012 From: bitterfoxc at gmail.com (bitter_fox) Date: Fri, 9 Mar 2012 03:52:32 +0900 Subject: Question about error message for primitive type arguments[Re: The compiler rejects this/super().] Message-ID: Thank you for the fix. I have a question about the error message for primitive type arguments. Old javac says "unexpected type" for this.m(), this/super() and Clazz. However, today's implementation says it only for Clazz. It says another massage for this.m() and this/super(): Main.java:9: error: no suitable constructor found for Main() this(null); ^ constructor Main.Main() is not applicable (actual and formal argument lists differ in length) constructor Main.Main(Object) is not applicable (explicit type argument int does not conform to declared bound(s) Object) where T is a type-variable: T extends Object declared in constructor Main(Object) Main.java:10: error: method m in class Main cannot be applied to given types; this.m(); ^ required: no arguments found: no arguments reason: explicit type argument int does not conform to declared bound(s) Objec t where T is a type-variable: T extends Object declared in class Main Was this change intended? Regards, bitter_fox 2012/3/8 Maurizio Cimadamore > On 08/03/12 09:46, bitter_fox wrote: > >> class Main >> { >> public Main(Object o) {} >> >> public Main() >> { >> this(null); // Illegal >> } >> } >> >> Nicely spotted - thanks! > > Maurizio > From forax at univ-mlv.fr Thu Mar 8 11:25:59 2012 From: forax at univ-mlv.fr (=?utf-8?B?UmVtaSBGb3JheA==?=) Date: Thu, 08 Mar 2012 20:25:59 +0100 Subject: =?utf-8?B?UmU6IHdoeSBubyBmdW5jdGlvbiB0eXBlcz8=?= Message-ID: <201203081925.q28JPvtw030646@monge.univ-mlv.fr> It can be translated to a reified function type but using a SAM type is more explicit (no need to add new ruled in the JLS). Designers can choose if an IntReducer or a Reducer is better for a specific API. cheers, R?mi Sent from my Phone ----- Reply message ----- From: "Neal Gafter" To: "Remi Forax" Cc: "maurizio cimadamore" , Subject: why no function types? Date: Thu, Mar 8, 2012 19:26 On Thu, Mar 8, 2012 at 10:08 AM, Remi Forax wrote: by example, ?Runnable[] array = { () -> { foo(); } }; is Ok (overdose of parenthesis aside). Wouldn't that translate into a non-generic function type under the covers, since there are no parameter or return types? ?In which case you could do that with function types as well? From maurizio.cimadamore at oracle.com Thu Mar 8 11:30:22 2012 From: maurizio.cimadamore at oracle.com (Maurizio Cimadamore) Date: Thu, 08 Mar 2012 19:30:22 +0000 Subject: Question about error message for primitive type arguments[Re: The compiler rejects this/super().] In-Reply-To: References: Message-ID: <4F5908CE.4040506@oracle.com> Yep - this is deliberate - in the sense that I got the constructor call working in the same way method call code does - but I still need to plug some holes in both. I.e. this code used to produce a diagnostic very similar to the one you described: class Main { public void m(Object o) {} public Main() { this.m(null); // Illegal } } This was before/after the fix. So, now the implementation is consistent in terms of constructor vs. method calls. Now we have to add one more extra check to reject primitive types (other than void) as explicit type-parameters. More specifically, we also need to reject 'void' in case the corresponding formal parameter is not a thrown type-parameter. Maurizio On 08/03/12 18:52, bitter_fox wrote: > Thank you for the fix. > > I have a question about the error message for primitive type arguments. > > Old javac says "unexpected type" for this.m(), this/super() > and Clazz. > However, today's implementation says it only for Clazz. > It says another massage for this.m() and this/super(): > > Main.java:9: error: no suitable constructor found for Main() > this(null); > ^ > constructor Main.Main() is not applicable > (actual and formal argument lists differ in length) > constructor Main.Main(Object) is not applicable > (explicit type argument int does not conform to declared > bound(s) Object) > where T is a type-variable: > T extends Object declared in constructor Main(Object) > Main.java:10: error: method m in class Main cannot be applied to > given types; > > this.m(); > ^ > required: no arguments > found: no arguments > reason: explicit type argument int does not conform to declared > bound(s) Objec > t > where T is a type-variable: > T extends Object declared in class Main > > Was this change intended? > > Regards, > bitter_fox > > 2012/3/8 Maurizio Cimadamore > > > On 08/03/12 09:46, bitter_fox wrote: > > class Main > { > public Main(Object o) {} > > public Main() > { > this(null); // Illegal > } > } > > Nicely spotted - thanks! > > Maurizio > > From maurizio.cimadamore at oracle.com Fri Mar 9 03:53:14 2012 From: maurizio.cimadamore at oracle.com (maurizio.cimadamore at oracle.com) Date: Fri, 09 Mar 2012 11:53:14 +0000 Subject: hg: lambda/lambda/langtools: Fix: lambda code generation corrupts return statements nested with inner classes in the lambda body Message-ID: <20120309115321.437EC478C7@hg.openjdk.java.net> Changeset: b192316c5d3a Author: mcimadamore Date: 2012-03-09 11:52 +0000 URL: http://hg.openjdk.java.net/lambda/lambda/langtools/rev/b192316c5d3a Fix: lambda code generation corrupts return statements nested with inner classes in the lambda body ! src/share/classes/com/sun/tools/javac/comp/LambdaTranslator.java + test/tools/javac/lambda/LambdaExpr15.java From bitterfoxc at gmail.com Fri Mar 9 08:26:28 2012 From: bitterfoxc at gmail.com (bitter_fox) Date: Sat, 10 Mar 2012 01:26:28 +0900 Subject: Question about error message for primitive type arguments[Re: The compiler rejects this/super().] In-Reply-To: <4F5908CE.4040506@oracle.com> References: <4F5908CE.4040506@oracle.com> Message-ID: I've understood it. Thank you for the answer. May I ask another one? Don't you need to call checkParameterTypes? In method and type apply process, you call checkParameterTypes to convert "void" into UnionClassType, but you didn't in this/super apply process. Is this no problem? // Attr.java public void visitApply(JCMethodInvocation tree) { if (isConstructorCall) { // ... } else { // Otherwise, we are seeing a regular method call. // Attribute the arguments, yielding list of argument types, ... typeargtypes = attribAnyTypes(tree.typeargs, localEnv); // ... chk.checkParameterTypes(tree.typeargs, typeargtypes, TreeInfo.symbol(tree.meth).type.getTypeArguments()); } } public void visitTypeApply(JCTypeApply tree) { List actuals = attribAnyTypes(tree.arguments, env); actuals = chk.checkParameterTypes(tree.arguments, actuals, clazztype.tsym.type.getTypeArguments()); } I don't know this is right or wrong, but this seems unsymmetrical. Regards, bitter_fox 2012/3/9 Maurizio Cimadamore > ** > Yep - this is deliberate - in the sense that I got the constructor call > working in the same way method call code does - but I still need to plug > some holes in both. I.e. this code used to produce a diagnostic very > similar to the one you described: > > class Main { > public void m(Object o) {} > > public Main() > { > this.m(null); // Illegal > } > } > > > This was before/after the fix. So, now the implementation is consistent in > terms of constructor vs. method calls. Now we have to add one more extra > check to reject primitive types (other than void) as explicit > type-parameters. More specifically, we also need to reject 'void' in case > the corresponding formal parameter is not a thrown type-parameter. > > Maurizio > > > On 08/03/12 18:52, bitter_fox wrote: > > Thank you for the fix. > > I have a question about the error message for primitive type arguments. > > Old javac says "unexpected type" for this.m(), this/super() and > Clazz. > However, today's implementation says it only for Clazz. > It says another massage for this.m() and this/super(): > > Main.java:9: error: no suitable constructor found for Main() > this(null); > ^ > constructor Main.Main() is not applicable > (actual and formal argument lists differ in length) > constructor Main.Main(Object) is not applicable > (explicit type argument int does not conform to declared bound(s) > Object) > where T is a type-variable: > T extends Object declared in constructor Main(Object) > Main.java:10: error: method m in class Main cannot be applied to given > types; > > this.m(); > ^ > required: no arguments > found: no arguments > reason: explicit type argument int does not conform to declared bound(s) > Objec > t > where T is a type-variable: > T extends Object declared in class Main > > Was this change intended? > > Regards, > bitter_fox > > 2012/3/8 Maurizio Cimadamore > >> On 08/03/12 09:46, bitter_fox wrote: >> >>> class Main >>> { >>> public Main(Object o) {} >>> >>> public Main() >>> { >>> this(null); // Illegal >>> } >>> } >>> >>> Nicely spotted - thanks! >> >> Maurizio >> > > > From maurizio.cimadamore at oracle.com Fri Mar 9 08:48:03 2012 From: maurizio.cimadamore at oracle.com (Maurizio Cimadamore) Date: Fri, 09 Mar 2012 16:48:03 +0000 Subject: Question about error message for primitive type arguments[Re: The compiler rejects this/super().] In-Reply-To: References: <4F5908CE.4040506@oracle.com> Message-ID: <4F5A3443.40706@oracle.com> On 09/03/12 16:26, bitter_fox wrote: > I've understood it. > Thank you for the answer. > > May I ask another one? > Don't you need to call checkParameterTypes? Yep - we need eventually to call that method, as it will contain the logic for the check described in my earlier email. Thanks Maurizio From daniel.smith at oracle.com Fri Mar 9 09:56:07 2012 From: daniel.smith at oracle.com (Dan Smith) Date: Fri, 9 Mar 2012 09:56:07 -0800 Subject: defender methods and method of Object In-Reply-To: References: <4F50DE1D.6010006@univ-mlv.fr> <4F50F32B.90403@univ-mlv.fr> <4F51FF45.2030305@oracle.com> Message-ID: Yes, I've been thinking the same thing. Since the Object methods are morally members of every interface, it would make sense that a default method could effectively override them, and the "throw out all super methods that have already been overridden" rule could then apply. It all depends on what order the inheritance conflict-resolution rules are applied in. (There's something to the argument in the other direction, though, that it's really nice that if a method is implemented in the class hierarchy, we ignore the interfaces. It seems like the implementation relies on this pretty heavily, and it could get hairy if every single class had the potential of inherited default methods replacing the behavior of Object methods.) ?Dan On Mar 3, 2012, at 12:45 PM, Sam Pullara wrote: > I am all for special casing these. It is far too useful to be able to > provide equals()/hashCode()/toString() at the interface level for > things like List to not to include this capability. Especially since > there is precedent for their special treatment. > > Sam > > On Sat, Mar 3, 2012 at 11:19 AM, Yuval Shavit wrote: >> Well, Object is special-cased in the very definition of an interface (in >> 4.10.2), so I could see the case for special-casing it for default >> implementations. >> >> On Sat, Mar 3, 2012 at 6:23 AM, David Holmes wrote: >> >>> I don't see any reason to special case Object methods. Superclass wins >>> over interface with a default - pure and simple. >>> >>> David >>> >>> On 3/03/2012 2:19 AM, R?mi Forax wrote: >>>> On 03/02/2012 05:08 PM, bitter_fox wrote: >>>>> Hi, >>>>> You have to override toString in A to use the default implementation, >>>>> in this case, using the syntax "Interface.super.method()": >>>>> (because the definition of super-class is preferred if the extended >>>>> definitions from super-class and super-interface are clashing) >>>>> >>>>> public class A implements Foo >>>>> { >>>>> public String toString() >>>>> { >>>>> return Foo.super.toString(); >>>>> } >>>>> } >>>>> >>>>> new A().toString(); // returns "Foo" >>>>> >>>>> However, this calling would be StackOverflowError because the syntax >>>>> may be only on "Syntax" and be not implemented for byte code. >>>>> >>>>> I can't judge that semantics is right or wrong, so I only refer to the >>>>> way to override.(Although I think it is right...) >>>>> Excuse me if you already know the way. >>>> >>>> No problem. >>>> I just think that the semantics should be changed a little bit by adding >>>> a special case for method from Object because >>>> otherwise the default method will be never called directly >>>> (as you said, you can use I.super.foo()). >>>> >>>>> >>>>> Regards, >>>>> bitter_fox >>>> >>>> cheers, >>>> R?mi >>>> >>>> >>> >>> >> > From brian.goetz at oracle.com Fri Mar 9 11:23:25 2012 From: brian.goetz at oracle.com (Brian Goetz) Date: Fri, 09 Mar 2012 14:23:25 -0500 Subject: defender methods and method of Object In-Reply-To: References: <4F50DE1D.6010006@univ-mlv.fr> <4F50F32B.90403@univ-mlv.fr> <4F51FF45.2030305@oracle.com> Message-ID: <4F5A58AD.9060909@oracle.com> I'm not convinced. The implementations of equals, hashCode, and toString provided by an interface are almost certainly going to be wrong for most subclasses that inherit them, whereas the versions provided by Object are generally sound, if basic. (To say nothing of the pain that will ensue when someone adds a hashCode/equals method pair to an interface implemented by a class that doesn't provide such a pair (which is a reasonable choice), and all of a sudden, behavior of that class when put into hash-based containers changes wildly.) On 3/9/2012 12:56 PM, Dan Smith wrote: > Yes, I've been thinking the same thing. Since the Object methods are morally members of every interface, it would make sense that a default method could effectively override them, and the "throw out all super methods that have already been overridden" rule could then apply. It all depends on what order the inheritance conflict-resolution rules are applied in. > > (There's something to the argument in the other direction, though, that it's really nice that if a method is implemented in the class hierarchy, we ignore the interfaces. It seems like the implementation relies on this pretty heavily, and it could get hairy if every single class had the potential of inherited default methods replacing the behavior of Object methods.) > > ?Dan > > On Mar 3, 2012, at 12:45 PM, Sam Pullara wrote: > >> I am all for special casing these. It is far too useful to be able to >> provide equals()/hashCode()/toString() at the interface level for >> things like List to not to include this capability. Especially since >> there is precedent for their special treatment. >> >> Sam >> >> On Sat, Mar 3, 2012 at 11:19 AM, Yuval Shavit wrote: >>> Well, Object is special-cased in the very definition of an interface (in >>> 4.10.2), so I could see the case for special-casing it for default >>> implementations. >>> >>> On Sat, Mar 3, 2012 at 6:23 AM, David Holmeswrote: >>> >>>> I don't see any reason to special case Object methods. Superclass wins >>>> over interface with a default - pure and simple. >>>> >>>> David >>>> >>>> On 3/03/2012 2:19 AM, R?mi Forax wrote: >>>>> On 03/02/2012 05:08 PM, bitter_fox wrote: >>>>>> Hi, >>>>>> You have to override toString in A to use the default implementation, >>>>>> in this case, using the syntax "Interface.super.method()": >>>>>> (because the definition of super-class is preferred if the extended >>>>>> definitions from super-class and super-interface are clashing) >>>>>> >>>>>> public class A implements Foo >>>>>> { >>>>>> public String toString() >>>>>> { >>>>>> return Foo.super.toString(); >>>>>> } >>>>>> } >>>>>> >>>>>> new A().toString(); // returns "Foo" >>>>>> >>>>>> However, this calling would be StackOverflowError because the syntax >>>>>> may be only on "Syntax" and be not implemented for byte code. >>>>>> >>>>>> I can't judge that semantics is right or wrong, so I only refer to the >>>>>> way to override.(Although I think it is right...) >>>>>> Excuse me if you already know the way. >>>>> >>>>> No problem. >>>>> I just think that the semantics should be changed a little bit by adding >>>>> a special case for method from Object because >>>>> otherwise the default method will be never called directly >>>>> (as you said, you can use I.super.foo()). >>>>> >>>>>> >>>>>> Regards, >>>>>> bitter_fox >>>>> >>>>> cheers, >>>>> R?mi >>>>> >>>>> >>>> >>>> >>> >> > > From sam at sampullara.com Fri Mar 9 11:27:36 2012 From: sam at sampullara.com (Sam Pullara) Date: Fri, 9 Mar 2012 11:27:36 -0800 Subject: defender methods and method of Object In-Reply-To: <4F5A58AD.9060909@oracle.com> References: <4F50DE1D.6010006@univ-mlv.fr> <4F50F32B.90403@univ-mlv.fr> <4F51FF45.2030305@oracle.com> <4F5A58AD.9060909@oracle.com> Message-ID: <474B72AD-E242-460B-BCDD-EC011033D0C8@sampullara.com> I think that is true for non-collection classes. But for classes that just delegate to underlying objects, it makes a lot of sense to override them at the interface level. Sam On Mar 9, 2012, at 11:23 AM, Brian Goetz wrote: > I'm not convinced. The implementations of equals, hashCode, and toString provided by an interface are almost certainly going to be wrong for most subclasses that inherit them, whereas the versions provided by Object are generally sound, if basic. (To say nothing of the pain that will ensue when someone adds a hashCode/equals method pair to an interface implemented by a class that doesn't provide such a pair (which is a reasonable choice), and all of a sudden, behavior of that class when put into hash-based containers changes wildly.) > > > On 3/9/2012 12:56 PM, Dan Smith wrote: >> Yes, I've been thinking the same thing. Since the Object methods are morally members of every interface, it would make sense that a default method could effectively override them, and the "throw out all super methods that have already been overridden" rule could then apply. It all depends on what order the inheritance conflict-resolution rules are applied in. >> >> (There's something to the argument in the other direction, though, that it's really nice that if a method is implemented in the class hierarchy, we ignore the interfaces. It seems like the implementation relies on this pretty heavily, and it could get hairy if every single class had the potential of inherited default methods replacing the behavior of Object methods.) >> >> ?Dan >> >> On Mar 3, 2012, at 12:45 PM, Sam Pullara wrote: >> >>> I am all for special casing these. It is far too useful to be able to >>> provide equals()/hashCode()/toString() at the interface level for >>> things like List to not to include this capability. Especially since >>> there is precedent for their special treatment. >>> >>> Sam >>> >>> On Sat, Mar 3, 2012 at 11:19 AM, Yuval Shavit wrote: >>>> Well, Object is special-cased in the very definition of an interface (in >>>> 4.10.2), so I could see the case for special-casing it for default >>>> implementations. >>>> >>>> On Sat, Mar 3, 2012 at 6:23 AM, David Holmeswrote: >>>> >>>>> I don't see any reason to special case Object methods. Superclass wins >>>>> over interface with a default - pure and simple. >>>>> >>>>> David >>>>> >>>>> On 3/03/2012 2:19 AM, R?mi Forax wrote: >>>>>> On 03/02/2012 05:08 PM, bitter_fox wrote: >>>>>>> Hi, >>>>>>> You have to override toString in A to use the default implementation, >>>>>>> in this case, using the syntax "Interface.super.method()": >>>>>>> (because the definition of super-class is preferred if the extended >>>>>>> definitions from super-class and super-interface are clashing) >>>>>>> >>>>>>> public class A implements Foo >>>>>>> { >>>>>>> public String toString() >>>>>>> { >>>>>>> return Foo.super.toString(); >>>>>>> } >>>>>>> } >>>>>>> >>>>>>> new A().toString(); // returns "Foo" >>>>>>> >>>>>>> However, this calling would be StackOverflowError because the syntax >>>>>>> may be only on "Syntax" and be not implemented for byte code. >>>>>>> >>>>>>> I can't judge that semantics is right or wrong, so I only refer to the >>>>>>> way to override.(Although I think it is right...) >>>>>>> Excuse me if you already know the way. >>>>>> >>>>>> No problem. >>>>>> I just think that the semantics should be changed a little bit by adding >>>>>> a special case for method from Object because >>>>>> otherwise the default method will be never called directly >>>>>> (as you said, you can use I.super.foo()). >>>>>> >>>>>>> >>>>>>> Regards, >>>>>>> bitter_fox >>>>>> >>>>>> cheers, >>>>>> R?mi >>>>>> >>>>>> >>>>> >>>>> >>>> >>> >> >> From daniel.smith at oracle.com Fri Mar 9 11:59:11 2012 From: daniel.smith at oracle.com (Dan Smith) Date: Fri, 9 Mar 2012 11:59:11 -0800 Subject: defender methods and method of Object In-Reply-To: <4F5A58AD.9060909@oracle.com> References: <4F50DE1D.6010006@univ-mlv.fr> <4F50F32B.90403@univ-mlv.fr> <4F51FF45.2030305@oracle.com> <4F5A58AD.9060909@oracle.com> Message-ID: Well, see java.util.List.equals, and the corresponding implementation java.util.AbstractList.equals. If we had default methods before AbstractList was defined, it (or much of it) would probably have ended up in the List interface, including 'equals'. ?Dan On Mar 9, 2012, at 11:23 AM, Brian Goetz wrote: > I'm not convinced. The implementations of equals, hashCode, and toString provided by an interface are almost certainly going to be wrong for most subclasses that inherit them, whereas the versions provided by Object are generally sound, if basic. (To say nothing of the pain that will ensue when someone adds a hashCode/equals method pair to an interface implemented by a class that doesn't provide such a pair (which is a reasonable choice), and all of a sudden, behavior of that class when put into hash-based containers changes wildly.) > > > On 3/9/2012 12:56 PM, Dan Smith wrote: >> Yes, I've been thinking the same thing. Since the Object methods are morally members of every interface, it would make sense that a default method could effectively override them, and the "throw out all super methods that have already been overridden" rule could then apply. It all depends on what order the inheritance conflict-resolution rules are applied in. >> >> (There's something to the argument in the other direction, though, that it's really nice that if a method is implemented in the class hierarchy, we ignore the interfaces. It seems like the implementation relies on this pretty heavily, and it could get hairy if every single class had the potential of inherited default methods replacing the behavior of Object methods.) >> >> ?Dan >> >> On Mar 3, 2012, at 12:45 PM, Sam Pullara wrote: >> >>> I am all for special casing these. It is far too useful to be able to >>> provide equals()/hashCode()/toString() at the interface level for >>> things like List to not to include this capability. Especially since >>> there is precedent for their special treatment. >>> >>> Sam >>> >>> On Sat, Mar 3, 2012 at 11:19 AM, Yuval Shavit wrote: >>>> Well, Object is special-cased in the very definition of an interface (in >>>> 4.10.2), so I could see the case for special-casing it for default >>>> implementations. >>>> >>>> On Sat, Mar 3, 2012 at 6:23 AM, David Holmeswrote: >>>> >>>>> I don't see any reason to special case Object methods. Superclass wins >>>>> over interface with a default - pure and simple. >>>>> >>>>> David >>>>> >>>>> On 3/03/2012 2:19 AM, R?mi Forax wrote: >>>>>> On 03/02/2012 05:08 PM, bitter_fox wrote: >>>>>>> Hi, >>>>>>> You have to override toString in A to use the default implementation, >>>>>>> in this case, using the syntax "Interface.super.method()": >>>>>>> (because the definition of super-class is preferred if the extended >>>>>>> definitions from super-class and super-interface are clashing) >>>>>>> >>>>>>> public class A implements Foo >>>>>>> { >>>>>>> public String toString() >>>>>>> { >>>>>>> return Foo.super.toString(); >>>>>>> } >>>>>>> } >>>>>>> >>>>>>> new A().toString(); // returns "Foo" >>>>>>> >>>>>>> However, this calling would be StackOverflowError because the syntax >>>>>>> may be only on "Syntax" and be not implemented for byte code. >>>>>>> >>>>>>> I can't judge that semantics is right or wrong, so I only refer to the >>>>>>> way to override.(Although I think it is right...) >>>>>>> Excuse me if you already know the way. >>>>>> >>>>>> No problem. >>>>>> I just think that the semantics should be changed a little bit by adding >>>>>> a special case for method from Object because >>>>>> otherwise the default method will be never called directly >>>>>> (as you said, you can use I.super.foo()). >>>>>> >>>>>>> >>>>>>> Regards, >>>>>>> bitter_fox >>>>>> >>>>>> cheers, >>>>>> R?mi >>>>>> >>>>>> >>>>> >>>>> >>>> >>> >> >> From david.lloyd at redhat.com Fri Mar 9 12:17:24 2012 From: david.lloyd at redhat.com (David M. Lloyd) Date: Fri, 09 Mar 2012 14:17:24 -0600 Subject: defender methods and method of Object In-Reply-To: References: <4F50DE1D.6010006@univ-mlv.fr> <4F50F32B.90403@univ-mlv.fr> <4F51FF45.2030305@oracle.com> <4F5A58AD.9060909@oracle.com> Message-ID: <4F5A6554.5070709@redhat.com> I agree on this much (allowing default equals/hashCode methods). However I think that other methods (namely toString, and clone and finalize for that matter) should definitely not ever be specified on an interface. I'm not sure there's a good technical solution to this conundrum though. On 03/09/2012 01:59 PM, Dan Smith wrote: > Well, see java.util.List.equals, and the corresponding implementation java.util.AbstractList.equals. If we had default methods before AbstractList was defined, it (or much of it) would probably have ended up in the List interface, including 'equals'. > > ?Dan > > On Mar 9, 2012, at 11:23 AM, Brian Goetz wrote: > >> I'm not convinced. The implementations of equals, hashCode, and toString provided by an interface are almost certainly going to be wrong for most subclasses that inherit them, whereas the versions provided by Object are generally sound, if basic. (To say nothing of the pain that will ensue when someone adds a hashCode/equals method pair to an interface implemented by a class that doesn't provide such a pair (which is a reasonable choice), and all of a sudden, behavior of that class when put into hash-based containers changes wildly.) >> >> >> On 3/9/2012 12:56 PM, Dan Smith wrote: >>> Yes, I've been thinking the same thing. Since the Object methods are morally members of every interface, it would make sense that a default method could effectively override them, and the "throw out all super methods that have already been overridden" rule could then apply. It all depends on what order the inheritance conflict-resolution rules are applied in. >>> >>> (There's something to the argument in the other direction, though, that it's really nice that if a method is implemented in the class hierarchy, we ignore the interfaces. It seems like the implementation relies on this pretty heavily, and it could get hairy if every single class had the potential of inherited default methods replacing the behavior of Object methods.) >>> >>> ?Dan >>> >>> On Mar 3, 2012, at 12:45 PM, Sam Pullara wrote: >>> >>>> I am all for special casing these. It is far too useful to be able to >>>> provide equals()/hashCode()/toString() at the interface level for >>>> things like List to not to include this capability. Especially since >>>> there is precedent for their special treatment. >>>> >>>> Sam >>>> >>>> On Sat, Mar 3, 2012 at 11:19 AM, Yuval Shavit wrote: >>>>> Well, Object is special-cased in the very definition of an interface (in >>>>> 4.10.2), so I could see the case for special-casing it for default >>>>> implementations. >>>>> >>>>> On Sat, Mar 3, 2012 at 6:23 AM, David Holmeswrote: >>>>> >>>>>> I don't see any reason to special case Object methods. Superclass wins >>>>>> over interface with a default - pure and simple. >>>>>> >>>>>> David >>>>>> >>>>>> On 3/03/2012 2:19 AM, R?mi Forax wrote: >>>>>>> On 03/02/2012 05:08 PM, bitter_fox wrote: >>>>>>>> Hi, >>>>>>>> You have to override toString in A to use the default implementation, >>>>>>>> in this case, using the syntax "Interface.super.method()": >>>>>>>> (because the definition of super-class is preferred if the extended >>>>>>>> definitions from super-class and super-interface are clashing) >>>>>>>> >>>>>>>> public class A implements Foo >>>>>>>> { >>>>>>>> public String toString() >>>>>>>> { >>>>>>>> return Foo.super.toString(); >>>>>>>> } >>>>>>>> } >>>>>>>> >>>>>>>> new A().toString(); // returns "Foo" >>>>>>>> >>>>>>>> However, this calling would be StackOverflowError because the syntax >>>>>>>> may be only on "Syntax" and be not implemented for byte code. >>>>>>>> >>>>>>>> I can't judge that semantics is right or wrong, so I only refer to the >>>>>>>> way to override.(Although I think it is right...) >>>>>>>> Excuse me if you already know the way. >>>>>>> >>>>>>> No problem. >>>>>>> I just think that the semantics should be changed a little bit by adding >>>>>>> a special case for method from Object because >>>>>>> otherwise the default method will be never called directly >>>>>>> (as you said, you can use I.super.foo()). >>>>>>> >>>>>>>> >>>>>>>> Regards, >>>>>>>> bitter_fox >>>>>>> >>>>>>> cheers, >>>>>>> R?mi >>>>>>> >>>>>>> >>>>>> >>>>>> >>>>> >>>> >>> >>> > > -- - DML From forax at univ-mlv.fr Fri Mar 9 12:49:01 2012 From: forax at univ-mlv.fr (=?utf-8?B?UmVtaSBGb3JheA==?=) Date: Fri, 09 Mar 2012 21:49:01 +0100 Subject: =?utf-8?B?UmU6IGRlZmVuZGVyIG1ldGhvZHMgYW5kIG1ldGhvZCBvZiBPYmplY3Q=?= Message-ID: <201203092049.q29KmxVv015087@monge.univ-mlv.fr> As you said, Object provides good default implementations but I see no reason why an interface could not provide useful defaults too by example based on some abstract methods defined in the interface too. R?mi Sent from my Phone ----- Reply message ----- From: "Brian Goetz" To: "Dan Smith" Cc: "lambda-dev at openjdk.java.net" , "David Holmes" Subject: defender methods and method of Object Date: Fri, Mar 9, 2012 20:23 I'm not convinced. The implementations of equals, hashCode, and toString provided by an interface are almost certainly going to be wrong for most subclasses that inherit them, whereas the versions provided by Object are generally sound, if basic. (To say nothing of the pain that will ensue when someone adds a hashCode/equals method pair to an interface implemented by a class that doesn't provide such a pair (which is a reasonable choice), and all of a sudden, behavior of that class when put into hash-based containers changes wildly.) On 3/9/2012 12:56 PM, Dan Smith wrote: > Yes, I've been thinking the same thing. Since the Object methods are morally members of every interface, it would make sense that a default method could effectively override them, and the "throw out all super methods that have already been overridden" rule could then apply. It all depends on what order the inheritance conflict-resolution rules are applied in. > > (There's something to the argument in the other direction, though, that it's really nice that if a method is implemented in the class hierarchy, we ignore the interfaces. It seems like the implementation relies on this pretty heavily, and it could get hairy if every single class had the potential of inherited default methods replacing the behavior of Object methods.) > > ?Dan > > On Mar 3, 2012, at 12:45 PM, Sam Pullara wrote: > >> I am all for special casing these. It is far too useful to be able to >> provide equals()/hashCode()/toString() at the interface level for >> things like List to not to include this capability. Especially since >> there is precedent for their special treatment. >> >> Sam >> >> On Sat, Mar 3, 2012 at 11:19 AM, Yuval Shavit wrote: >>> Well, Object is special-cased in the very definition of an interface (in >>> 4.10.2), so I could see the case for special-casing it for default >>> implementations. >>> >>> On Sat, Mar 3, 2012 at 6:23 AM, David Holmeswrote: >>> >>>> I don't see any reason to special case Object methods. Superclass wins >>>> over interface with a default - pure and simple. >>>> >>>> David >>>> >>>> On 3/03/2012 2:19 AM, R?mi Forax wrote: >>>>> On 03/02/2012 05:08 PM, bitter_fox wrote: >>>>>> Hi, >>>>>> You have to override toString in A to use the default implementation, >>>>>> in this case, using the syntax "Interface.super.method()": >>>>>> (because the definition of super-class is preferred if the extended >>>>>> definitions from super-class and super-interface are clashing) >>>>>> >>>>>> public class A implements Foo >>>>>> { >>>>>> public String toString() >>>>>> { >>>>>> return Foo.super.toString(); >>>>>> } >>>>>> } >>>>>> >>>>>> new A().toString(); // returns "Foo" >>>>>> >>>>>> However, this calling would be StackOverflowError because the syntax >>>>>> may be only on "Syntax" and be not implemented for byte code. >>>>>> >>>>>> I can't judge that semantics is right or wrong, so I only refer to the >>>>>> way to override.(Although I think it is right...) >>>>>> Excuse me if you already know the way. >>>>> >>>>> No problem. >>>>> I just think that the semantics should be changed a little bit by adding >>>>> a special case for method from Object because >>>>> otherwise the default method will be never called directly >>>>> (as you said, you can use I.super.foo()). >>>>> >>>>>> >>>>>> Regards, >>>>>> bitter_fox >>>>> >>>>> cheers, >>>>> R?mi >>>>> >>>>> >>>> >>>> >>> >> > > From yshavit at akiban.com Fri Mar 9 13:45:54 2012 From: yshavit at akiban.com (Yuval Shavit) Date: Fri, 9 Mar 2012 16:45:54 -0500 Subject: defender methods and method of Object In-Reply-To: <4F5A6554.5070709@redhat.com> References: <4F50DE1D.6010006@univ-mlv.fr> <4F50F32B.90403@univ-mlv.fr> <4F51FF45.2030305@oracle.com> <4F5A58AD.9060909@oracle.com> <4F5A6554.5070709@redhat.com> Message-ID: Well, toString also makes sense for collections, and I was taught to try very hard to avoid the other two anyway. On Fri, Mar 9, 2012 at 3:17 PM, David M. Lloyd wrote: > I agree on this much (allowing default equals/hashCode methods). > However I think that other methods (namely toString, and clone and > finalize for that matter) should definitely not ever be specified on an > interface. I'm not sure there's a good technical solution to this > conundrum though. > > On 03/09/2012 01:59 PM, Dan Smith wrote: > > Well, see java.util.List.equals, and the corresponding implementation > java.util.AbstractList.equals. If we had default methods before > AbstractList was defined, it (or much of it) would probably have ended up > in the List interface, including 'equals'. > > > > ?Dan > > > > On Mar 9, 2012, at 11:23 AM, Brian Goetz wrote: > > > >> I'm not convinced. The implementations of equals, hashCode, and > toString provided by an interface are almost certainly going to be wrong > for most subclasses that inherit them, whereas the versions provided by > Object are generally sound, if basic. (To say nothing of the pain that > will ensue when someone adds a hashCode/equals method pair to an interface > implemented by a class that doesn't provide such a pair (which is a > reasonable choice), and all of a sudden, behavior of that class when put > into hash-based containers changes wildly.) > >> > >> > >> On 3/9/2012 12:56 PM, Dan Smith wrote: > >>> Yes, I've been thinking the same thing. Since the Object methods are > morally members of every interface, it would make sense that a default > method could effectively override them, and the "throw out all super > methods that have already been overridden" rule could then apply. It all > depends on what order the inheritance conflict-resolution rules are applied > in. > >>> > >>> (There's something to the argument in the other direction, though, > that it's really nice that if a method is implemented in the class > hierarchy, we ignore the interfaces. It seems like the implementation > relies on this pretty heavily, and it could get hairy if every single class > had the potential of inherited default methods replacing the behavior of > Object methods.) > >>> > >>> ?Dan > >>> > >>> On Mar 3, 2012, at 12:45 PM, Sam Pullara wrote: > >>> > >>>> I am all for special casing these. It is far too useful to be able to > >>>> provide equals()/hashCode()/toString() at the interface level for > >>>> things like List to not to include this capability. Especially since > >>>> there is precedent for their special treatment. > >>>> > >>>> Sam > >>>> > >>>> On Sat, Mar 3, 2012 at 11:19 AM, Yuval Shavit > wrote: > >>>>> Well, Object is special-cased in the very definition of an interface > (in > >>>>> 4.10.2), so I could see the case for special-casing it for default > >>>>> implementations. > >>>>> > >>>>> On Sat, Mar 3, 2012 at 6:23 AM, David Holmes >wrote: > >>>>> > >>>>>> I don't see any reason to special case Object methods. Superclass > wins > >>>>>> over interface with a default - pure and simple. > >>>>>> > >>>>>> David > >>>>>> > >>>>>> On 3/03/2012 2:19 AM, R?mi Forax wrote: > >>>>>>> On 03/02/2012 05:08 PM, bitter_fox wrote: > >>>>>>>> Hi, > >>>>>>>> You have to override toString in A to use the default > implementation, > >>>>>>>> in this case, using the syntax "Interface.super.method()": > >>>>>>>> (because the definition of super-class is preferred if the > extended > >>>>>>>> definitions from super-class and super-interface are clashing) > >>>>>>>> > >>>>>>>> public class A implements Foo > >>>>>>>> { > >>>>>>>> public String toString() > >>>>>>>> { > >>>>>>>> return Foo.super.toString(); > >>>>>>>> } > >>>>>>>> } > >>>>>>>> > >>>>>>>> new A().toString(); // returns "Foo" > >>>>>>>> > >>>>>>>> However, this calling would be StackOverflowError because the > syntax > >>>>>>>> may be only on "Syntax" and be not implemented for byte code. > >>>>>>>> > >>>>>>>> I can't judge that semantics is right or wrong, so I only refer > to the > >>>>>>>> way to override.(Although I think it is right...) > >>>>>>>> Excuse me if you already know the way. > >>>>>>> > >>>>>>> No problem. > >>>>>>> I just think that the semantics should be changed a little bit by > adding > >>>>>>> a special case for method from Object because > >>>>>>> otherwise the default method will be never called directly > >>>>>>> (as you said, you can use I.super.foo()). > >>>>>>> > >>>>>>>> > >>>>>>>> Regards, > >>>>>>>> bitter_fox > >>>>>>> > >>>>>>> cheers, > >>>>>>> R?mi > >>>>>>> > >>>>>>> > >>>>>> > >>>>>> > >>>>> > >>>> > >>> > >>> > > > > > > > -- > - DML > > From gregg at wonderly.org Fri Mar 9 14:29:57 2012 From: gregg at wonderly.org (Gregg Wonderly) Date: Fri, 09 Mar 2012 16:29:57 -0600 Subject: defender methods and method of Object In-Reply-To: References: <4F50DE1D.6010006@univ-mlv.fr> <4F50F32B.90403@univ-mlv.fr> <4F51FF45.2030305@oracle.com> <4F5A58AD.9060909@oracle.com> <4F5A6554.5070709@redhat.com> Message-ID: <4F5A8465.1060105@wonderly.org> Annotations might be useful to let developers tell the compiler more about what is desirable. I am not sure that anything makes it perfect, but if there are specific , useful behaviors, which are in conflict, then letting developers state what specific behavior they want, might provide a reasonable compromise. Gregg Wonderly On 3/9/2012 3:45 PM, Yuval Shavit wrote: > Well, toString also makes sense for collections, and I was taught to try > very hard to avoid the other two anyway. > > On Fri, Mar 9, 2012 at 3:17 PM, David M. Lloydwrote: > >> I agree on this much (allowing default equals/hashCode methods). >> However I think that other methods (namely toString, and clone and >> finalize for that matter) should definitely not ever be specified on an >> interface. I'm not sure there's a good technical solution to this >> conundrum though. >> >> On 03/09/2012 01:59 PM, Dan Smith wrote: >>> Well, see java.util.List.equals, and the corresponding implementation >> java.util.AbstractList.equals. If we had default methods before >> AbstractList was defined, it (or much of it) would probably have ended up >> in the List interface, including 'equals'. >>> ?Dan >>> >>> On Mar 9, 2012, at 11:23 AM, Brian Goetz wrote: >>> >>>> I'm not convinced. The implementations of equals, hashCode, and >> toString provided by an interface are almost certainly going to be wrong >> for most subclasses that inherit them, whereas the versions provided by >> Object are generally sound, if basic. (To say nothing of the pain that >> will ensue when someone adds a hashCode/equals method pair to an interface >> implemented by a class that doesn't provide such a pair (which is a >> reasonable choice), and all of a sudden, behavior of that class when put >> into hash-based containers changes wildly.) >>>> >>>> On 3/9/2012 12:56 PM, Dan Smith wrote: >>>>> Yes, I've been thinking the same thing. Since the Object methods are >> morally members of every interface, it would make sense that a default >> method could effectively override them, and the "throw out all super >> methods that have already been overridden" rule could then apply. It all >> depends on what order the inheritance conflict-resolution rules are applied >> in. >>>>> (There's something to the argument in the other direction, though, >> that it's really nice that if a method is implemented in the class >> hierarchy, we ignore the interfaces. It seems like the implementation >> relies on this pretty heavily, and it could get hairy if every single class >> had the potential of inherited default methods replacing the behavior of >> Object methods.) >>>>> ?Dan >>>>> >>>>> On Mar 3, 2012, at 12:45 PM, Sam Pullara wrote: >>>>> >>>>>> I am all for special casing these. It is far too useful to be able to >>>>>> provide equals()/hashCode()/toString() at the interface level for >>>>>> things like List to not to include this capability. Especially since >>>>>> there is precedent for their special treatment. >>>>>> >>>>>> Sam >>>>>> >>>>>> On Sat, Mar 3, 2012 at 11:19 AM, Yuval Shavit >> wrote: >>>>>>> Well, Object is special-cased in the very definition of an interface >> (in >>>>>>> 4.10.2), so I could see the case for special-casing it for default >>>>>>> implementations. >>>>>>> >>>>>>> On Sat, Mar 3, 2012 at 6:23 AM, David Holmes>> wrote: >>>>>>>> I don't see any reason to special case Object methods. Superclass >> wins >>>>>>>> over interface with a default - pure and simple. >>>>>>>> >>>>>>>> David >>>>>>>> >>>>>>>> On 3/03/2012 2:19 AM, R?mi Forax wrote: >>>>>>>>> On 03/02/2012 05:08 PM, bitter_fox wrote: >>>>>>>>>> Hi, >>>>>>>>>> You have to override toString in A to use the default >> implementation, >>>>>>>>>> in this case, using the syntax "Interface.super.method()": >>>>>>>>>> (because the definition of super-class is preferred if the >> extended >>>>>>>>>> definitions from super-class and super-interface are clashing) >>>>>>>>>> >>>>>>>>>> public class A implements Foo >>>>>>>>>> { >>>>>>>>>> public String toString() >>>>>>>>>> { >>>>>>>>>> return Foo.super.toString(); >>>>>>>>>> } >>>>>>>>>> } >>>>>>>>>> >>>>>>>>>> new A().toString(); // returns "Foo" >>>>>>>>>> >>>>>>>>>> However, this calling would be StackOverflowError because the >> syntax >>>>>>>>>> may be only on "Syntax" and be not implemented for byte code. >>>>>>>>>> >>>>>>>>>> I can't judge that semantics is right or wrong, so I only refer >> to the >>>>>>>>>> way to override.(Although I think it is right...) >>>>>>>>>> Excuse me if you already know the way. >>>>>>>>> No problem. >>>>>>>>> I just think that the semantics should be changed a little bit by >> adding >>>>>>>>> a special case for method from Object because >>>>>>>>> otherwise the default method will be never called directly >>>>>>>>> (as you said, you can use I.super.foo()). >>>>>>>>> >>>>>>>>>> Regards, >>>>>>>>>> bitter_fox >>>>>>>>> cheers, >>>>>>>>> R?mi >>>>>>>>> >>>>>>>>> >>>>>>>> >>>>> >>> >> >> -- >> - DML >> >> > From neal at gafter.com Fri Mar 9 14:51:52 2012 From: neal at gafter.com (Neal Gafter) Date: Fri, 9 Mar 2012 14:51:52 -0800 Subject: defender methods and method of Object In-Reply-To: <4F5A8465.1060105@wonderly.org> References: <4F50DE1D.6010006@univ-mlv.fr> <4F50F32B.90403@univ-mlv.fr> <4F51FF45.2030305@oracle.com> <4F5A58AD.9060909@oracle.com> <4F5A6554.5070709@redhat.com> <4F5A8465.1060105@wonderly.org> Message-ID: This would violate a very valuable design principle: As a rule, annotations should not affect the behavior of running the annotated code (except to the extent that it may affect the behavior through APIs that look at the annotations). On Fri, Mar 9, 2012 at 2:29 PM, Gregg Wonderly wrote: > Annotations might be useful to let developers tell the compiler more about > what > is desirable. I am not sure that anything makes it perfect, but if there > are > specific , useful behaviors, which are in conflict, then letting developers > state what specific behavior they want, might provide a reasonable > compromise. > > Gregg Wonderly > > On 3/9/2012 3:45 PM, Yuval Shavit wrote: > > Well, toString also makes sense for collections, and I was taught to try > > very hard to avoid the other two anyway. > > > > On Fri, Mar 9, 2012 at 3:17 PM, David M. Lloyd >wrote: > > > >> I agree on this much (allowing default equals/hashCode methods). > >> However I think that other methods (namely toString, and clone and > >> finalize for that matter) should definitely not ever be specified on an > >> interface. I'm not sure there's a good technical solution to this > >> conundrum though. > >> > >> On 03/09/2012 01:59 PM, Dan Smith wrote: > >>> Well, see java.util.List.equals, and the corresponding implementation > >> java.util.AbstractList.equals. If we had default methods before > >> AbstractList was defined, it (or much of it) would probably have ended > up > >> in the List interface, including 'equals'. > >>> ?Dan > >>> > >>> On Mar 9, 2012, at 11:23 AM, Brian Goetz wrote: > >>> > >>>> I'm not convinced. The implementations of equals, hashCode, and > >> toString provided by an interface are almost certainly going to be wrong > >> for most subclasses that inherit them, whereas the versions provided by > >> Object are generally sound, if basic. (To say nothing of the pain that > >> will ensue when someone adds a hashCode/equals method pair to an > interface > >> implemented by a class that doesn't provide such a pair (which is a > >> reasonable choice), and all of a sudden, behavior of that class when put > >> into hash-based containers changes wildly.) > >>>> > >>>> On 3/9/2012 12:56 PM, Dan Smith wrote: > >>>>> Yes, I've been thinking the same thing. Since the Object methods are > >> morally members of every interface, it would make sense that a default > >> method could effectively override them, and the "throw out all super > >> methods that have already been overridden" rule could then apply. It > all > >> depends on what order the inheritance conflict-resolution rules are > applied > >> in. > >>>>> (There's something to the argument in the other direction, though, > >> that it's really nice that if a method is implemented in the class > >> hierarchy, we ignore the interfaces. It seems like the implementation > >> relies on this pretty heavily, and it could get hairy if every single > class > >> had the potential of inherited default methods replacing the behavior of > >> Object methods.) > >>>>> ?Dan > >>>>> > >>>>> On Mar 3, 2012, at 12:45 PM, Sam Pullara wrote: > >>>>> > >>>>>> I am all for special casing these. It is far too useful to be able > to > >>>>>> provide equals()/hashCode()/toString() at the interface level for > >>>>>> things like List to not to include this capability. Especially since > >>>>>> there is precedent for their special treatment. > >>>>>> > >>>>>> Sam > >>>>>> > >>>>>> On Sat, Mar 3, 2012 at 11:19 AM, Yuval Shavit > >> wrote: > >>>>>>> Well, Object is special-cased in the very definition of an > interface > >> (in > >>>>>>> 4.10.2), so I could see the case for special-casing it for default > >>>>>>> implementations. > >>>>>>> > >>>>>>> On Sat, Mar 3, 2012 at 6:23 AM, David Holmes< > david.holmes at oracle.com > >>> wrote: > >>>>>>>> I don't see any reason to special case Object methods. Superclass > >> wins > >>>>>>>> over interface with a default - pure and simple. > >>>>>>>> > >>>>>>>> David > >>>>>>>> > >>>>>>>> On 3/03/2012 2:19 AM, R?mi Forax wrote: > >>>>>>>>> On 03/02/2012 05:08 PM, bitter_fox wrote: > >>>>>>>>>> Hi, > >>>>>>>>>> You have to override toString in A to use the default > >> implementation, > >>>>>>>>>> in this case, using the syntax "Interface.super.method()": > >>>>>>>>>> (because the definition of super-class is preferred if the > >> extended > >>>>>>>>>> definitions from super-class and super-interface are clashing) > >>>>>>>>>> > >>>>>>>>>> public class A implements Foo > >>>>>>>>>> { > >>>>>>>>>> public String toString() > >>>>>>>>>> { > >>>>>>>>>> return Foo.super.toString(); > >>>>>>>>>> } > >>>>>>>>>> } > >>>>>>>>>> > >>>>>>>>>> new A().toString(); // returns "Foo" > >>>>>>>>>> > >>>>>>>>>> However, this calling would be StackOverflowError because the > >> syntax > >>>>>>>>>> may be only on "Syntax" and be not implemented for byte code. > >>>>>>>>>> > >>>>>>>>>> I can't judge that semantics is right or wrong, so I only refer > >> to the > >>>>>>>>>> way to override.(Although I think it is right...) > >>>>>>>>>> Excuse me if you already know the way. > >>>>>>>>> No problem. > >>>>>>>>> I just think that the semantics should be changed a little bit by > >> adding > >>>>>>>>> a special case for method from Object because > >>>>>>>>> otherwise the default method will be never called directly > >>>>>>>>> (as you said, you can use I.super.foo()). > >>>>>>>>> > >>>>>>>>>> Regards, > >>>>>>>>>> bitter_fox > >>>>>>>>> cheers, > >>>>>>>>> R?mi > >>>>>>>>> > >>>>>>>>> > >>>>>>>> > >>>>> > >>> > >> > >> -- > >> - DML > >> > >> > > > > > From neal at gafter.com Fri Mar 9 17:30:51 2012 From: neal at gafter.com (Neal Gafter) Date: Fri, 9 Mar 2012 17:30:51 -0800 Subject: defender methods and method of Object In-Reply-To: <99CC0B4C-8E18-44FE-A9A0-6E05B72F1E19@gmail.com> References: <4F50DE1D.6010006@univ-mlv.fr> <4F50F32B.90403@univ-mlv.fr> <4F51FF45.2030305@oracle.com> <4F5A58AD.9060909@oracle.com> <4F5A6554.5070709@redhat.com> <4F5A8465.1060105@wonderly.org> <99CC0B4C-8E18-44FE-A9A0-6E05B72F1E19@gmail.com> Message-ID: On Fri, Mar 9, 2012 at 5:19 PM, Gregg Wonderly wrote: > I am thinking specifically of visibility controls that might act like > final does in terms of allowing overriding definition. > How about a keyword, like perhaps "final"? From david.holmes at oracle.com Sat Mar 10 05:06:25 2012 From: david.holmes at oracle.com (David Holmes) Date: Sat, 10 Mar 2012 23:06:25 +1000 Subject: defender methods and method of Object In-Reply-To: References: <4F50DE1D.6010006@univ-mlv.fr> <4F50F32B.90403@univ-mlv.fr> <4F51FF45.2030305@oracle.com> Message-ID: <4F5B51D1.6070308@oracle.com> Dan, On 10/03/2012 3:56 AM, Dan Smith wrote: > Yes, I've been thinking the same thing. Since the Object methods are morally members of every interface, it would make sense that a default method could effectively override them, and the "throw out all super methods that have already been overridden" rule could then apply. It all depends on what order the inheritance conflict-resolution rules are applied in. If you go down this path then you are throwing away the "superclass implementation always wins" rule - in which case what rule are you going to replace that with? The "Object methods are morally members of every interface" is a hack in my opinion to allow the obvious common-sense application of Object methods to any interface type. It could have been handled in other ways. David ----- > (There's something to the argument in the other direction, though, that it's really nice that if a method is implemented in the class hierarchy, we ignore the interfaces. It seems like the implementation relies on this pretty heavily, and it could get hairy if every single class had the potential of inherited default methods replacing the behavior of Object methods.) > > ?Dan > > On Mar 3, 2012, at 12:45 PM, Sam Pullara wrote: > >> I am all for special casing these. It is far too useful to be able to >> provide equals()/hashCode()/toString() at the interface level for >> things like List to not to include this capability. Especially since >> there is precedent for their special treatment. >> >> Sam >> >> On Sat, Mar 3, 2012 at 11:19 AM, Yuval Shavit wrote: >>> Well, Object is special-cased in the very definition of an interface (in >>> 4.10.2), so I could see the case for special-casing it for default >>> implementations. >>> >>> On Sat, Mar 3, 2012 at 6:23 AM, David Holmeswrote: >>> >>>> I don't see any reason to special case Object methods. Superclass wins >>>> over interface with a default - pure and simple. >>>> >>>> David >>>> >>>> On 3/03/2012 2:19 AM, R?mi Forax wrote: >>>>> On 03/02/2012 05:08 PM, bitter_fox wrote: >>>>>> Hi, >>>>>> You have to override toString in A to use the default implementation, >>>>>> in this case, using the syntax "Interface.super.method()": >>>>>> (because the definition of super-class is preferred if the extended >>>>>> definitions from super-class and super-interface are clashing) >>>>>> >>>>>> public class A implements Foo >>>>>> { >>>>>> public String toString() >>>>>> { >>>>>> return Foo.super.toString(); >>>>>> } >>>>>> } >>>>>> >>>>>> new A().toString(); // returns "Foo" >>>>>> >>>>>> However, this calling would be StackOverflowError because the syntax >>>>>> may be only on "Syntax" and be not implemented for byte code. >>>>>> >>>>>> I can't judge that semantics is right or wrong, so I only refer to the >>>>>> way to override.(Although I think it is right...) >>>>>> Excuse me if you already know the way. >>>>> >>>>> No problem. >>>>> I just think that the semantics should be changed a little bit by adding >>>>> a special case for method from Object because >>>>> otherwise the default method will be never called directly >>>>> (as you said, you can use I.super.foo()). >>>>> >>>>>> >>>>>> Regards, >>>>>> bitter_fox >>>>> >>>>> cheers, >>>>> R?mi >>>>> >>>>> >>>> >>>> >>> >> > From gregg at wonderly.org Sat Mar 10 05:59:12 2012 From: gregg at wonderly.org (Gregg Wonderly) Date: Sat, 10 Mar 2012 07:59:12 -0600 Subject: defender methods and method of Object In-Reply-To: References: <4F50DE1D.6010006@univ-mlv.fr> <4F50F32B.90403@univ-mlv.fr> <4F51FF45.2030305@oracle.com> <4F5A58AD.9060909@oracle.com> <4F5A6554.5070709@redhat.com> <4F5A8465.1060105@wonderly.org> <99CC0B4C-8E18-44FE-A9A0-6E05B72F1E19@gmail.com> Message-ID: <4F5B5E30.7080009@wonderly.org> On 3/9/2012 7:30 PM, Neal Gafter wrote: > On Fri, Mar 9, 2012 at 5:19 PM, Gregg Wonderly > wrote: > > I am thinking specifically of visibility controls that might act like > final does in terms of allowing overriding definition. > > > How about a keyword, like perhaps "final"? > I am wandering about a different level of scoping than we have with existing controls. Certainly we have global, package and private visibility, along with final. But, for example, there are things that are more like "friends" that aren't always in the same package. Complex software package have to jump through hoops sometimes, with classloader hacking to make stuff like that work. I don't have a great example, but I'm just positing that perhaps Annotations might be a way to do something in the future, so perhaps keywords or "language nuances" are not the mechanism, so worrying about it without specific examples might just be "worry", not "necessary consideration". Gregg Wonderly From neal at gafter.com Sat Mar 10 13:01:26 2012 From: neal at gafter.com (Neal Gafter) Date: Sat, 10 Mar 2012 13:01:26 -0800 Subject: defender methods and method of Object In-Reply-To: <4F5B51D1.6070308@oracle.com> References: <4F50DE1D.6010006@univ-mlv.fr> <4F50F32B.90403@univ-mlv.fr> <4F51FF45.2030305@oracle.com> <4F5B51D1.6070308@oracle.com> Message-ID: On Sat, Mar 10, 2012 at 5:06 AM, David Holmes wrote: > On 10/03/2012 3:56 AM, Dan Smith wrote: > > Yes, I've been thinking the same thing. Since the Object methods are > morally members of every interface, it would make sense that a default > method could effectively override them, and the "throw out all super > methods that have already been overridden" rule could then apply. It all > depends on what order the inheritance conflict-resolution rules are applied > in. > > If you go down this path then you are throwing away the "superclass > implementation always wins" rule - in which case what rule are you going > to replace that with? > I suspect the rule that Dan is imagining is something like "superclass implementation always wins (except for Object implementation); if none then interface implementation wins; if none then Object implementation wins." From elvis_ligu at hotmail.com Sun Mar 11 19:21:21 2012 From: elvis_ligu at hotmail.com (Elvis Ligu) Date: Mon, 12 Mar 2012 03:21:21 +0100 Subject: Interface evolution via virtual extension methods - Extending Interfaces By Breaking Application Logic (Dangerous) Message-ID: Hello to everyone, I was reading about lambda project and I was looking at a paper by Brian Goetz which is named: Interface evolution via virtual extension methods, founded at:http://cr.openjdk.java.net/~briangoetz/lambda/Defender%20Methods%20v4.pdf. (I am not a native English speaker so I will try to express myself through some very simple examples about my thoughts) Reading about virtual extension methods I found it very exciting the idea of extending an interface by a virtual method while maintaining backward compatibility.When you publish an interface to the public there is a big maintenance problem: the interface can not be changed (adding, removing, altering methods), at leastnot without breaking client's code. I understand why interface extension by virtual methods is so critical to the project lambda and having such code: people.sort(comparing(Person::getLastName).reverseOrder()); in java, this is very beautiful, concise and readable.Without virtual methods we can not see something like the above in java, reverseOrder() could not be added to Comparator interface. 1 - There is a risk of breaking client code: consider a developer who has already implemented a comparator like this: abstract class MyComparator implements Comparator { protected int order = 1; public void reverseOrder() { return -1*order;} } and uses this somewhere in his code like this: MyComparator c = new MyComparator() { public int compare(Objct o1, Object o2) { return order* (o1.toString().compareTo(o2.toString())); }} .... c.reverseOrder(); Arrays.sort(list, c); If oracle developers decide to add such a method in Comparator interface then they can not ensure that client code will not break; two methods with the same signature but with a different returned type can not compile (at least not in java 7). 2 - There is a risk of breaking client logic: according to Brian's paper, section 3. Method Dispatch, we can have a diamond-shaped hierarchy as: interface A { void m() default X.a; } interface B extends A { } interface C extends A { } class D implements B, C { } When the compiler sees d.m() and if there is not an implementation of m() in class D then it will call the default method implementation A.m().The client of this API can easily "make the mistake" of relying on default implementation of A.m(). For some reason in the future the developerof the API would like to add a default implementation of m() in B. The problem in this case is bigger than in case 1; a) if the client of API have already extended interface A with B1 and provided a default implementation for m, and has a "class E implements B, B1" the client code will break. To make this worst imagine he uses B1 and E in other places in the code, a hole refactoring is required to be compatible with API. This is also the case 1. b) the default m() in B will probably break invariants of a "class MyClass implements B, C" and cause no compile error. And in this case, depending on responsibilitiesmethod m() has, the problem can be very cryptic and difficult to locate. Consider the breaking of a thread safe class! Well the solution in this case is: Effective Java 3rd ed.where an item will be: don't ever rely on default implementation of a virtual method. If you do so, specify which class you rely on by typing: Interface.super.virtual(); Conclusions: 1 - How to keep backward compatibility? Well at least in the transition phase from java 7 to java 8 nothing can ensure the java developers that adding a virtual method inCollection interface will be compatible with the old java. So my suggestion is another keyword, let say override. Let say we add reverseOrder() in interface Comparator.In this case the java compiler will make the reverseOrder() visible to Comparator's subtypes only and only if the subtype explicitly define: override reverseOrder(). So incase 1 MyComparator (the client code) is not affected; reverseOrder() is not visible in MyComparator. 2 - How to avoid making API fragile by default (case 2)? My suggestion is the same as the above: the keyword override. By writing override reverseOrder() the API's clientis required to explicitly define which default implementation he is relying on, specifying SuperType.super.m() or make a "default none" in case of an interface. If the clientdoesn't specify override, there is no problem at all, the virtual method will not be visible. In this case the client is forced to explicitly define where is he relying on, avoidingaccidental logic breaks. Thank you for reading my thoughts. I hope you did make it through, reading my terrible English. Elvis Ligu,Dept. of Applied InformaticsUniversity of Macedonia,Thessaloniki, Greece. From brian.goetz at oracle.com Sun Mar 11 21:51:35 2012 From: brian.goetz at oracle.com (Brian Goetz) Date: Sun, 11 Mar 2012 21:51:35 -0700 Subject: Interface evolution via virtual extension methods - Extending Interfaces By Breaking Application Logic (Dangerous) In-Reply-To: References: Message-ID: <468AE15D-EFB8-4565-81CE-28792DE58FE9@oracle.com> Thanks for your comments. Responses inline: > 1 - There is a risk of breaking client code: consider a developer who has already implemented a comparator like this: abstract class MyComparator implements Comparator { protected int order = 1; public void reverseOrder() { return -1*order;} } > and uses this somewhere in his code like this: MyComparator c = new MyComparator() { public int compare(Objct o1, Object o2) { return order* (o1.toString().compareTo(o2.toString())); }} .... c.reverseOrder(); Arrays.sort(list, c); If oracle developers decide to add such a method in Comparator interface then they can not ensure that client code will not break; two methods with the same signature but with a different returned type can not compile (at least not in java 7). Yes, this is a risk. Note that this is not new with extension methods; this risk exists for adding new methods to existing classes (abstract or concrete) too. The alternative is: never add any new methods to libraries. We find this alternative unappealing! > 2 - There is a risk of breaking client logic: according to Brian's paper, section 3. Method Dispatch, we can have a diamond-shaped hierarchy as: > interface A { void m() default X.a; } interface B extends A { } interface C extends A { } class D implements B, C { } > When the compiler sees d.m() and if there is not an implementation of m() in class D then it will call the default method implementation A.m(). The compiler does *not* short-circuit calls to D.m() to A.m(). The compiler emits an invokespecial with D.m(); the runtime will perform the resolution, and if the situation is still like this by the time the classes are actually loaded, then the VM will decide to dispatch to A.m(). (This is no different than today; the compiler's job is simply to sanity-check linkage and "fail fast" if the compiler can see the call would not succeed if made at runtime with the classes as they are at compile time, but the runtime builds vtables based on the classes it sees at runtime.) > The client of this API can easily "make the mistake" of relying on default implementation of A.m(). Again, this is nothing new. Let's say class C has a method q(), and D extends C but does not override q(). Clients of D could easily "make the mistake" of assuming calls to D.q() are going to end up at C.q(), but that is simply a mistake. > For some reason in the future the developerof the API would like to add a default implementation of m() in B. The problem in this case is bigger than in case 1; > a) if the client of API have already extended interface A with B1 and provided a default implementation for m, and has a "class E implements B, B1" the client code will break. At this point E will not compile, due to competing implementations in B and B1. > b) the default m() in B will probably break invariants of a "class MyClass implements B, C" and cause no compile error. Why? If B.m() overrides A.m(), we expect B.m() to implement the contract of A.m(). Note that interfaces have no state (barring heroic actions), so the protection of state-based invariants still falls entirely to C and its subclasses. The implementation of m() in A or B can only call other interface methods, and if any of those affect state in C, eventually we'll be calling code in C to actually touch the state. > 1 - How to keep backward compatibility? Well at least in the transition phase from java 7 to java 8 nothing can ensure the java developers that adding a virtual method inCollection interface will be compatible with the old java. So my suggestion is another keyword, let say override. Let say we add reverseOrder() in interface Comparator.In this case the java compiler will make the reverseOrder() visible to Comparator's subtypes only and only if the subtype explicitly define: override reverseOrder(). I believe this is a request for "opting in" to extension methods, rather than having them actually inherited? I invite you to propose exactly how this might work in more detail. > So incase 1 MyComparator (the client code) is not affected; reverseOrder() is not visible in MyComparator. 2 - How to avoid making API fragile by default (case 2)? My suggestion is the same as the above: the keyword override. By writing override reverseOrder() the API's clientis required to explicitly define which default implementation he is relying on, specifying SuperType.super.m() or make a "default none" in case of an interface. If the clientdoesn't specify override, there i! You say "client" when I think you mean "subclass". Are you really suggesting the opt-in should be at the *client* site, or are you speaking only at the inheritance site? From drconrad at gmail.com Mon Mar 12 05:17:03 2012 From: drconrad at gmail.com (David Conrad) Date: Mon, 12 Mar 2012 08:17:03 -0400 Subject: defender methods and method of Object Message-ID: On Fri, Mar 9, 2012 at 8:23 PM, "Brian Goetz" wrote: > > I'm not convinced. The implementations of equals, hashCode, and > toString provided by an interface are almost certainly going to be wrong > for most subclasses that inherit them, whereas the versions provided by > Object are generally sound, if basic. (To say nothing of the pain that > will ensue when someone adds a hashCode/equals method pair to an > interface implemented by a class that doesn't provide such a pair (which > is a reasonable choice), and all of a sudden, behavior of that class > when put into hash-based containers changes wildly.) > > This is reminiscent of the argument surrounding closing over mutable state in lambdas. There is a great danger, even a great temptation for a user to write an accumulator that is unsound. It is, if you will, an attractive nuisance.* I don't believe that reasoning holds here. If I understand the issue correctly, unless the methods of Object are special cased, it will not be possible to provide default implementations of them in an interface. (Or, it will be possible--just--but unwieldy?) The mere fact that it is possible to provide an incorrect or unwanted implementation doesn't seem to me like a good argument for not special casing them. Of course it's possible to write broken code, but merely allowing for the possibility of providing implementations doesn't encourage anyone to do so. In fact, it seems rather unlikely to me. Why would the author of interface Frobbable even be thinking about overriding toString, equals, or hashCode? On the other hand, for those use cases where it does make sense to provide implementations (on collection classes, as several people have pointed out), it will not even be possible to do so unless steps are taken to enable it. On the gripping hand, I think if it's impossible (or unwieldy) to provide default implementations of these methods it may violate the principle of least astonishment. "Oh, I can provide a default implementation of any method under the sun but not of toString?" My $0.02, David Conrad * An attractive nuisance is something like a swimming pool or trampoline that is likely to lure neighborhood children into trespassing on someone's property and injure themselves. It's like a sumptuous meal in fairyland -- it tempts you to your doom. From brian.goetz at oracle.com Mon Mar 12 08:02:50 2012 From: brian.goetz at oracle.com (Brian Goetz) Date: Mon, 12 Mar 2012 08:02:50 -0700 Subject: defender methods and method of Object In-Reply-To: References: Message-ID: <4CBFEF65-6F5C-4461-A1A4-375500CB0292@oracle.com> > On the other hand, for those use cases where it does make sense to provide > implementations (on collection classes, as several people have pointed > out), it will not even be possible to do so unless steps are taken to > enable it. You can easily provide these methods in List as a favor to implementation classes. For example, if List provided the equals and hashCode methods, a class could then easily choose to inherit them: int hashCode() { return List.super.hashCode(); } without the class having to code them up by hand. It is not as unwieldy as you make it sound. In any case, I think you have the sense of the burden backwards. The bar is not "we should add special cases if anyone can imagine how they could be useful." The bar is that the special case has to be overwhelmingly compelling. I don't see it here. From yshavit at akiban.com Mon Mar 12 08:37:11 2012 From: yshavit at akiban.com (Yuval Shavit) Date: Mon, 12 Mar 2012 11:37:11 -0400 Subject: defender methods and method of Object In-Reply-To: <4CBFEF65-6F5C-4461-A1A4-375500CB0292@oracle.com> References: <4CBFEF65-6F5C-4461-A1A4-375500CB0292@oracle.com> Message-ID: On Mon, Mar 12, 2012 at 11:02 AM, Brian Goetz wrote: > > On the other hand, for those use cases where it does make sense to > provide > > implementations (on collection classes, as several people have pointed > > out), it will not even be possible to do so unless steps are taken to > > enable it. > > You can easily provide these methods in List as a favor to implementation > classes. For example, if List provided the equals and hashCode methods, a > class could then easily choose to inherit them: > > int hashCode() { return List.super.hashCode(); } > > without the class having to code them up by hand. It is not as unwieldy > as you make it sound. > > In any case, I think you have the sense of the burden backwards. The bar > is not "we should add special cases if anyone can imagine how they could be > useful." The bar is that the special case has to be overwhelmingly > compelling. I don't see it here. > I think there's two ways to look at it. One is from the perspective of the spec / java implementation / developer-who-quotes-JLS, and from that perspective, special-casing Object methods would obviously be, well, a special case. But the other perspective is from that of the everyday developer -- the one for whom the principle of least surprise holds -- and from that perspective, *not* special-casing Object actually seems like the special case. From that perspective, the rule feels like "a default method on an interface applies unless a base class provides an implementation, or unless the method overrides a method on Object." Of course, you can point out that since Object is always a base class, the "or unless..." part is implied by the "base class" part -- but it still feels, intuitively, like a special case. For instance, taking your List.super.hashCode() example, I could see how-tos explaining about defender methods and having a subsection called "Providing a default implementation for Object methods" telling people that they have to use the above pattern in each implementation (or in some abstract base class, if one exists). From the perspective of someone reading such a document, it certainly sounds like a special case -- and one that requires boilerplate code to fix. From sam at sampullara.com Mon Mar 12 09:13:54 2012 From: sam at sampullara.com (Sam Pullara) Date: Mon, 12 Mar 2012 09:13:54 -0700 Subject: defender methods and method of Object In-Reply-To: References: <4CBFEF65-6F5C-4461-A1A4-375500CB0292@oracle.com> Message-ID: I totally agree with Yuval on this. Object methods are a special case for interfaces and we need to be consistent. I'd like to avoid the boilerplate. Sam On Mon, Mar 12, 2012 at 8:37 AM, Yuval Shavit wrote: > On Mon, Mar 12, 2012 at 11:02 AM, Brian Goetz wrote: > >> > On the other hand, for those use cases where it does make sense to >> provide >> > implementations (on collection classes, as several people have pointed >> > out), it will not even be possible to do so unless steps are taken to >> > enable it. >> >> You can easily provide these methods in List as a favor to implementation >> classes. ?For example, if List provided the equals and hashCode methods, a >> class could then easily choose to inherit them: >> >> ?int hashCode() { return List.super.hashCode(); } >> >> without the class having to code them up by hand. ?It is not as unwieldy >> as you make it sound. >> >> In any case, I think you have the sense of the burden backwards. ?The bar >> is not "we should add special cases if anyone can imagine how they could be >> useful." ?The bar is that the special case has to be overwhelmingly >> compelling. ?I don't see it here. >> > > I think there's two ways to look at it. One is from the perspective of the > spec / java implementation / developer-who-quotes-JLS, and from that > perspective, special-casing Object methods would obviously be, well, a > special case. But the other perspective is from that of the everyday > developer -- the one for whom the principle of least surprise holds -- and > from that perspective, *not* special-casing Object actually seems like the > special case. From that perspective, the rule feels like "a default method > on an interface applies unless a base class provides an implementation, or > unless the method overrides a method on Object." Of course, you can point > out that since Object is always a base class, the "or unless..." part is > implied by the "base class" part -- but it still feels, intuitively, like a > special case. > > For instance, taking your List.super.hashCode() example, I could see > how-tos explaining about defender methods and having a subsection called > "Providing a default implementation for Object methods" telling people that > they have to use the above pattern in each implementation (or in some > abstract base class, if one exists). From the perspective of someone > reading such a document, it certainly sounds like a special case -- and one > that requires boilerplate code to fix. > From daniel.smith at oracle.com Mon Mar 12 12:31:29 2012 From: daniel.smith at oracle.com (Dan Smith) Date: Mon, 12 Mar 2012 12:31:29 -0700 Subject: defender methods and method of Object In-Reply-To: References: <4F50DE1D.6010006@univ-mlv.fr> <4F50F32B.90403@univ-mlv.fr> <4F51FF45.2030305@oracle.com> <4F5B51D1.6070308@oracle.com> Message-ID: On Mar 10, 2012, at 1:01 PM, Neal Gafter wrote: > On Sat, Mar 10, 2012 at 5:06 AM, David Holmes wrote: > On 10/03/2012 3:56 AM, Dan Smith wrote: > > Yes, I've been thinking the same thing. Since the Object methods are morally members of every interface, it would make sense that a default method could effectively override them, and the "throw out all super methods that have already been overridden" rule could then apply. It all depends on what order the inheritance conflict-resolution rules are applied in. > > If you go down this path then you are throwing away the "superclass > implementation always wins" rule - in which case what rule are you going > to replace that with? > > I suspect the rule that Dan is imagining is something like "superclass implementation always wins (except for Object implementation); if none then interface implementation wins; if none then Object implementation wins." Even simpler, actually. See "State of the Lambda" [1], section 12, the rules described after "Two basic principles drive these rules..." What is interesting and unique about the Object methods is that _both_ rules apply, and give different answers. So one of the two, either "class beats interface" or "overrider beats overridden", has to take priority. I'm not wholeheartedly endorsing the idea of the "overrider beats overridden" rule having a higher priority, though. It's plausible, and I like how it fits pretty cleanly into the model, but the model that prefers the "class beats interface" rule is also pretty clean. The implications of either approach deserve a lot more thought. ?Dan [1] http://cr.openjdk.java.net/~briangoetz/lambda/lambda-state-4.html From david.holmes at oracle.com Mon Mar 12 17:10:16 2012 From: david.holmes at oracle.com (David Holmes) Date: Tue, 13 Mar 2012 10:10:16 +1000 Subject: defender methods and method of Object In-Reply-To: References: <4F50DE1D.6010006@univ-mlv.fr> <4F50F32B.90403@univ-mlv.fr> <4F51FF45.2030305@oracle.com> <4F5B51D1.6070308@oracle.com> Message-ID: <4F5E9068.8090702@oracle.com> Dan, On 13/03/2012 5:31 AM, Dan Smith wrote: > On Mar 10, 2012, at 1:01 PM, Neal Gafter wrote: > >> On Sat, Mar 10, 2012 at 5:06 AM, David Holmes wrote: >> On 10/03/2012 3:56 AM, Dan Smith wrote: >>> Yes, I've been thinking the same thing. Since the Object methods are morally members of every interface, it would make sense that a default method could effectively override them, and the "throw out all super methods that have already been overridden" rule could then apply. It all depends on what order the inheritance conflict-resolution rules are applied in. >> >> If you go down this path then you are throwing away the "superclass >> implementation always wins" rule - in which case what rule are you going >> to replace that with? >> >> I suspect the rule that Dan is imagining is something like "superclass implementation always wins (except for Object implementation); if none then interface implementation wins; if none then Object implementation wins." > > Even simpler, actually. See "State of the Lambda" [1], section 12, the rules described after "Two basic principles drive these rules..." What is interesting and unique about the Object methods is that _both_ rules apply, and give different answers. So one of the two, either "class beats interface" or "overrider beats overridden", has to take priority. I don't follow your reasoning here. The "methods that are already overridden by other candidates are ignored" rule only apply to interfaces and only comes in to play when the first rule (class methods beat defaults) does not apply. I don't think special-casing Object methods is warranted. I'm also unclear what the impact would be on runtime method lookup - or would it just affect how the vtable gets constructed at class loading time? I'm concerned that default methods are being seen as a new way to construct type hierarchies, rather than just being a short-term way to add a new method to an existing interface. In my opinion developers who subclass interfaces to which default methods get added, should implement those new methods in the next version of their libraries/apps - so that they don't rely on implicit use of defaults (they can make it explicit if it suits their needs). Default methods provide an evolution path for interfaces, but they can very easily be mis-used. David ----- > I'm not wholeheartedly endorsing the idea of the "overrider beats overridden" rule having a higher priority, though. It's plausible, and I like how it fits pretty cleanly into the model, but the model that prefers the "class beats interface" rule is also pretty clean. The implications of either approach deserve a lot more thought. > > ?Dan > > [1] http://cr.openjdk.java.net/~briangoetz/lambda/lambda-state-4.html > From henrigerrits at yahoo.com Mon Mar 12 17:40:44 2012 From: henrigerrits at yahoo.com (Henri Gerrits) Date: Mon, 12 Mar 2012 17:40:44 -0700 (PDT) Subject: defender methods and method of Object In-Reply-To: References: <4F50DE1D.6010006@univ-mlv.fr> <4F50F32B.90403@univ-mlv.fr> <4F51FF45.2030305@oracle.com> <4F5B51D1.6070308@oracle.com> Message-ID: <1331599244.65212.YahooMailNeo@web160703.mail.bf1.yahoo.com> Maybe Object's implementations of equals(), hashCode() and toString() can be moved to a new interface java.lang.ObjectDefaults (ugh!) as (native?) default methods. Object can then implement that interface without providing implementations.? And then no special case is needed for Object methods when applying the conflict resolution rules of section 12, and everyone's happy. Not sure if this is possible, though. Henri >________________________________ > From: Dan Smith >To: Neal Gafter >Cc: David Holmes ; "lambda-dev at openjdk.java.net" >Sent: Monday, March 12, 2012 3:31 PM >Subject: Re: defender methods and method of Object > >On Mar 10, 2012, at 1:01 PM, Neal Gafter wrote: > >> On Sat, Mar 10, 2012 at 5:06 AM, David Holmes wrote: >> On 10/03/2012 3:56 AM, Dan Smith wrote: >> > Yes, I've been thinking the same thing.? Since the Object methods are morally members of every interface, it would make sense that a default method could effectively override them, and the "throw out all super methods that have already been overridden" rule could then apply.? It all depends on what order the inheritance conflict-resolution rules are applied in. >> >> If you go down this path then you are throwing away the "superclass >> implementation always wins" rule - in which case what rule are you going >> to replace that with? >> >> I suspect the rule that Dan is imagining is something like "superclass implementation always wins (except for Object implementation); if none then interface implementation wins; if none then Object implementation wins." > >Even simpler, actually.? See "State of the Lambda" [1], section 12, the rules described after "Two basic principles drive these rules..."? What is interesting and unique about the Object methods is that _both_ rules apply, and give different answers.? So one of the two, either "class beats interface" or "overrider beats overridden", has to take priority. > >I'm not wholeheartedly endorsing the idea of the "overrider beats overridden" rule having a higher priority, though.? It's plausible, and I like how it fits pretty cleanly into the model, but the model that prefers the "class beats interface" rule is also pretty clean.? The implications of either approach deserve a lot more thought. > >?Dan > >[1] http://cr.openjdk.java.net/~briangoetz/lambda/lambda-state-4.html > > > > > From neal at gafter.com Mon Mar 12 19:57:04 2012 From: neal at gafter.com (Neal Gafter) Date: Mon, 12 Mar 2012 19:57:04 -0700 Subject: defender methods and method of Object In-Reply-To: <1331599244.65212.YahooMailNeo@web160703.mail.bf1.yahoo.com> References: <4F50DE1D.6010006@univ-mlv.fr> <4F50F32B.90403@univ-mlv.fr> <4F51FF45.2030305@oracle.com> <4F5B51D1.6070308@oracle.com> <1331599244.65212.YahooMailNeo@web160703.mail.bf1.yahoo.com> Message-ID: This would introduce a cycle into the inheritance graph Object -> ObjectDefaults -> Object. Not such a good idea. On Mon, Mar 12, 2012 at 5:40 PM, Henri Gerrits wrote: > Maybe Object's implementations of equals(), hashCode() and toString() can > be moved to a new interface java.lang.ObjectDefaults (ugh!) as (native?) > default methods. > Object can then implement that interface without providing > implementations. And then no special case is needed for Object methods > when applying the conflict resolution rules of section 12, and everyone's > happy. > > Not sure if this is possible, though. > > Henri > > ------------------------------ > *From:* Dan Smith > *To:* Neal Gafter > *Cc:* David Holmes ; "lambda-dev at openjdk.java.net" > > *Sent:* Monday, March 12, 2012 3:31 PM > *Subject:* Re: defender methods and method of Object > > On Mar 10, 2012, at 1:01 PM, Neal Gafter wrote: > > > On Sat, Mar 10, 2012 at 5:06 AM, David Holmes > wrote: > > On 10/03/2012 3:56 AM, Dan Smith wrote: > > > Yes, I've been thinking the same thing. Since the Object methods are > morally members of every interface, it would make sense that a default > method could effectively override them, and the "throw out all super > methods that have already been overridden" rule could then apply. It all > depends on what order the inheritance conflict-resolution rules are applied > in. > > > > If you go down this path then you are throwing away the "superclass > > implementation always wins" rule - in which case what rule are you going > > to replace that with? > > > > I suspect the rule that Dan is imagining is something like "superclass > implementation always wins (except for Object implementation); if none then > interface implementation wins; if none then Object implementation wins." > > Even simpler, actually. See "State of the Lambda" [1], section 12, the > rules described after "Two basic principles drive these rules..." What is > interesting and unique about the Object methods is that _both_ rules apply, > and give different answers. So one of the two, either "class beats > interface" or "overrider beats overridden", has to take priority. > > I'm not wholeheartedly endorsing the idea of the "overrider beats > overridden" rule having a higher priority, though. It's plausible, and I > like how it fits pretty cleanly into the model, but the model that prefers > the "class beats interface" rule is also pretty clean. The implications of > either approach deserve a lot more thought. > > ?Dan > > [1] http://cr.openjdk.java.net/~briangoetz/lambda/lambda-state-4.html > > > > > From jack at moxley.co.uk Tue Mar 13 00:59:59 2012 From: jack at moxley.co.uk (Jack Moxley) Date: Tue, 13 Mar 2012 07:59:59 +0000 Subject: defender methods and method of Object In-Reply-To: References: <4F50DE1D.6010006@univ-mlv.fr> <4F50F32B.90403@univ-mlv.fr> <4F51FF45.2030305@oracle.com> <4F5B51D1.6070308@oracle.com> <1331599244.65212.YahooMailNeo@web160703.mail.bf1.yahoo.com> Message-ID: I think he has a point, perhaps object is special as it is conceptually both interface and implementation. We have merely hit a design flaw. Object as the root of all inheritance is a special case all over the shop I am not quite sure why people are so hesitant at allowing it to be different yet again. Sent from my iPhone On 13 Mar 2012, at 02:57, Neal Gafter wrote: > This would introduce a cycle into the inheritance graph Object -> > ObjectDefaults > -> Object. Not such a good idea. > > On Mon, Mar 12, 2012 at 5:40 PM, Henri Gerrits wrote: > >> Maybe Object's implementations of equals(), hashCode() and toString() can >> be moved to a new interface java.lang.ObjectDefaults (ugh!) as (native?) >> default methods. >> Object can then implement that interface without providing >> implementations. And then no special case is needed for Object methods >> when applying the conflict resolution rules of section 12, and everyone's >> happy. >> >> Not sure if this is possible, though. >> >> Henri >> >> ------------------------------ >> *From:* Dan Smith >> *To:* Neal Gafter >> *Cc:* David Holmes ; "lambda-dev at openjdk.java.net" >> >> *Sent:* Monday, March 12, 2012 3:31 PM >> *Subject:* Re: defender methods and method of Object >> >> On Mar 10, 2012, at 1:01 PM, Neal Gafter wrote: >> >>> On Sat, Mar 10, 2012 at 5:06 AM, David Holmes >> wrote: >>> On 10/03/2012 3:56 AM, Dan Smith wrote: >>>> Yes, I've been thinking the same thing. Since the Object methods are >> morally members of every interface, it would make sense that a default >> method could effectively override them, and the "throw out all super >> methods that have already been overridden" rule could then apply. It all >> depends on what order the inheritance conflict-resolution rules are applied >> in. >>> >>> If you go down this path then you are throwing away the "superclass >>> implementation always wins" rule - in which case what rule are you going >>> to replace that with? >>> >>> I suspect the rule that Dan is imagining is something like "superclass >> implementation always wins (except for Object implementation); if none then >> interface implementation wins; if none then Object implementation wins." >> >> Even simpler, actually. See "State of the Lambda" [1], section 12, the >> rules described after "Two basic principles drive these rules..." What is >> interesting and unique about the Object methods is that _both_ rules apply, >> and give different answers. So one of the two, either "class beats >> interface" or "overrider beats overridden", has to take priority. >> >> I'm not wholeheartedly endorsing the idea of the "overrider beats >> overridden" rule having a higher priority, though. It's plausible, and I >> like how it fits pretty cleanly into the model, but the model that prefers >> the "class beats interface" rule is also pretty clean. The implications of >> either approach deserve a lot more thought. >> >> ?Dan >> >> [1] http://cr.openjdk.java.net/~briangoetz/lambda/lambda-state-4.html >> >> >> >> >> > From scolebourne at joda.org Tue Mar 13 03:18:58 2012 From: scolebourne at joda.org (Stephen Colebourne) Date: Tue, 13 Mar 2012 10:18:58 +0000 Subject: What should default interfaces be for? Message-ID: On 13 March 2012 00:10, David Holmes wrote: David said: > I'm concerned that default methods are being seen as a new way to > construct type hierarchies, rather than just being a short-term way to > add a new method to an existing interface. In my opinion developers who > subclass interfaces to which default methods get added, should implement > those new methods in the next version of their libraries/apps - so that > they don't rely on implicit use of defaults (they can make it explicit > if it suits their needs). Default methods provide an evolution path for > interfaces, but they can very easily be mis-used. I think that in all the focus on lambdas, there hasn't been enough discussion of what the Java community wants from the defaulted interfaces feature. David expresses the original lambda-focussed opinion - that default methods in interfaces solely exist to provide a mechanism for interface evolution. A necessary evil to provide the ability to integrate lambdas into existing APIs but not for general use as part of API design. I've come to the opposite opinion. That defaulted interfaces are a major new language feature in their own right, and should be celebrated as such. I want to use them as a new way of designing applications, replacing most usages of abstract classes today, providing much of the feature set asked for by "abstract enums" and effectively treating them as Java's traits. IMO, the addition of traits is as important to API design as lambdas themselves. What we need is a debate on the feature. Do we, as users/developers, want the minimal feature set necessary to support lambdas, or the maximal feature set that would occur were we adding traits to Java? Things that may be options with a fully implemented feature: - private-scoped methods - package-scoped methods (would probably require adding a package keyword for scope) - protected-scoped methods - static methods - what should the default scope be - whether the name "default interface" is the best choice ("trait interface"?) So, please chime in on whether you think default interfaces should be kept simple and minimal (as David suggested), or be thought of as a major new feature in their own right? (Try to initially focus on the big question without too much low-level detail) Stephen From pdoubleya at gmail.com Tue Mar 13 03:30:06 2012 From: pdoubleya at gmail.com (Patrick Wright) Date: Tue, 13 Mar 2012 11:30:06 +0100 Subject: What should default interfaces be for? In-Reply-To: References: Message-ID: Stephen a good option, which I feel is in line with what the Lambda team has proposed so far, is that default methods are necessary to allow lambdas to be used fruitfully with existing libraries, but that care is being taken to leave the door open to future improvements (post JDK 8) to the default method feature. Personally, I would prefer to see an absolutely rock-solid, performant implementation of lambda, plus associated JDK library extensions to use them, for JDK 8, and suggest that Oracle's time is best spent doing just that and not taking even more on. Regarding default methods, the only concern I have is whether the proposed approach will also prove useful for non-Java languages on the JVM, such as Scala - in this interview with Martin Odersky he suggests it doesn't cover all the cases he would like for Scala (http://www.infoq.com/articles/odersky-scala-interview). Regards Patrick From lukas.eder at gmail.com Tue Mar 13 03:33:46 2012 From: lukas.eder at gmail.com (Lukas Eder) Date: Tue, 13 Mar 2012 11:33:46 +0100 Subject: What should default interfaces be for? In-Reply-To: References: Message-ID: > I've come to the opposite opinion. That defaulted interfaces are a > major new language feature in their own right, and should be > celebrated as such. I want to use them as a new way of designing > applications [...] I can only agree with this. Personally, I'm not half as thrilled by lambdas as by the fact that Java 8 will have extension methods, which as an API designer are a much more powerful addition to the language / JVM (this doesn't mean that I'm not thrilled by lambdas...) I had recently brought up the possibility of supporting "final" as a keyword for extension methods: http://mail.openjdk.java.net/pipermail/lambda-dev/2011-December/004426.html When I re-think about this, I really wonder whether there should be a "default" keyword at all, or whether interface methods should be declared like class methods: interface A { // implicitly "public abstract" void a(); // implicitly "public default" void b() { System.out.println("b"); } // implicitly "public", explicitly "final" final void c() { System.out.println("c"); } } Anyway, I understand that these features can be added after Java 8, too. But the syntax employed in Java 8 should not prevent further additions later on... Cheers Lukas From scolebourne at joda.org Tue Mar 13 07:19:10 2012 From: scolebourne at joda.org (Stephen Colebourne) Date: Tue, 13 Mar 2012 14:19:10 +0000 Subject: What should default interfaces be for? In-Reply-To: References: Message-ID: On 13 March 2012 10:30, Patrick Wright wrote: > a good option, which I feel is in line with what the Lambda team has > proposed so far, is that default methods are necessary to allow > lambdas to be used fruitfully with existing libraries, but that care > is being taken to leave the door open to future improvements (post JDK > 8) to the default method feature. > > Personally, I would prefer to see an absolutely rock-solid, performant > implementation of lambda, plus associated JDK library extensions to > use them, for JDK 8, and suggest that Oracle's time is best spent > doing just that and not taking even more on. To be clear, I have no problem with some of an enhanced full-blooded traits-like feature being in JDK 9, but unless we are clear that is the goal, then it is entirely possible that the minimal option will constrain the future. (Examples include what the feature being added now is called, and the verbosity or otherwise of the syntax used, aka the default keyword). FWIW, I'm like Lukas, potentially more excited about the potential of a full trait-like feature than lambdas themselves. Stephen From richard.warburton at gmail.com Tue Mar 13 08:03:27 2012 From: richard.warburton at gmail.com (Richard Warburton) Date: Tue, 13 Mar 2012 15:03:27 +0000 Subject: What should default interfaces be for? In-Reply-To: References: Message-ID: > What we need is a debate on the feature. Do we, as users/developers, > want the minimal feature set necessary to support lambdas, or the > maximal feature set that would occur were we adding traits to Java? > > Things that may be options with a fully implemented feature: > - private-scoped methods > - package-scoped methods (would probably require adding a package > keyword for scope) > - protected-scoped methods I'd imagine it would be confusing, and abusable, for people if the scope could be different for abstract and default interface methods, so I'd have thought any changes to scoping rules would have to be pretty much kept in lock-step between those two. > - static methods I don't at all see a motivating case for a static method on an interface. Perhaps I've missed something, maybe you could provide some examples. I think in fact that examples would help this discussion along in general. > - what should the default scope be I also don't see how you could change the default scope for abstract methods without introducing backwards compatibility and can imagine no end of confusion arising if it were different between abstract and default methods. I consequently wouldn't see this as desirable. > - whether the name "default interface" is the best choice ("trait interface"?) How much does the name matter? Given that there were some vague mentions of more features on default methods after the completion of JSR 335, it would be good to know if any of these have been discussed by the Expert Group. Importantly have any of them have been directly rejected, or have any of them had specific objections to their inclusion noted? Also was anything else discussed as a possible characteristic of default methods? Obviously the more general you make interfaces, the closer you get to a complete multiple implementation inheritance which seems like an unpopular idea. So is the goal to stop here, or possibly in future move a bit further towards that line, albeit without getting there? regards, Richard From elvis_ligu at hotmail.com Tue Mar 13 09:06:46 2012 From: elvis_ligu at hotmail.com (Elvis Ligu) Date: Tue, 13 Mar 2012 17:06:46 +0100 Subject: FW: Interface evolution via virtual extension methods - Extending Interfaces By Breaking Application Logic (Dangerous) In-Reply-To: References: , <468AE15D-EFB8-4565-81CE-28792DE58FE9@oracle.com>, Message-ID: From: elvis_ligu at hotmail.com To: brian.goetz at oracle.com Subject: RE: Interface evolution via virtual extension methods - Extending Interfaces By Breaking Application Logic (Dangerous) Date: Tue, 13 Mar 2012 16:40:14 +0100 (I just saw my email, and I apologize for the horrible formatting) I will try to give a very simple example in order to explain (at least I will give it a try) what I mean. Before starting let me tell you that I don't have a lot of knowledge about compilers and how things works into details, so I can't propose anything in detail. I am looking at the problem from a SE perspective and how to achieve a smooth transition from java 7 to java 8 avoiding the overall complexity and accidentally breaking the client code. By breaking client code I mean, breaking client's application even from not compiling at all (which is the least undesirable) or breaking client's application logic (the worst case is when the client's application compiles, run, and pass all tests but the application logic is in some way compromised). Before continue this is how do I interpret the following concepts: - Client code, API's client, and client in general -> the client is some other (let say a developer) different from API. For example, I am a client of Collections API in Java SE 7, and my code is the client code. You can assume my classes are API's client or I (as a developer) am the client. Generally speaking, the client is independent from the API's development process, and is using the API according to its public contract (the interface, whether they are classes or interfaces). - Caller -> I would like to avoid the misunderstanding between an API's client and a class client. So when I say caller I mean the client of a specific class (and or interface). I.e. in class A there is a statement b.print(); in this case I would rather say class A (the instance of A) is the caller of class B (the instance of B). - Java Interface -> explicitly or implicitly a Java Interface (i.e, interface Service {}) is part of the contract of the API. It doesn't provide any implementation (and it shouldn't), and the purpose of it is to define a communication point between the implementation provider and the caller. An other purpose is to define an implicit logic, i.e. Comparator has method compare(), where the method signature is the definition of communication rules (the caller must call this method using its signature), and the logic is that the method compare() takes two same arguments and return the order of those objects: 0 -> equals, positive integer -> obj1 > obj2, negative integer -> obj1 < obj2. Of course there is nothing to prevent a client to break the implicit logic an interface imposes, and this depends on implementation, however this is not an issue from the API's developer perspective. Our example - the API: interface Socket { ... // method added in release 1.1 public void consumePackets(final PacketBuffer packets) default { final List buffer = new ArrayList(); synchronized(packets) { while(packets.hasNext()) buffer.add(p.next()); } final PacketSequence sequence = new PacketSequence(buffer.toArray(new Packet[0])); // an empty sequence will be returned if no previous one exists final PacketSequence current = getPreviousSequence().merge(sequence); setCurrentSequence(current); } ... } interface SecureSocket extends Socket { } interface RTPSocket { ... // this is defined in release 2.0 public void consumePackets(final PacketBuffer packets) default { final List buffer = new ArrayList(); synchronized(packets) { while(packets.hasNext()) { Packet p = p.next(); buffer.add(p); // send each packet to handler to avoid delay transmitPacketsToRTPHandlers(new Packet[]{p}); } final PacketSequence sequence = new PacketSequence(buffer.toArray(new Packet[0])); // an empty sequence will be returned if no previous one exists final PacketSequence current = getPreviousSequence().merge(sequence); setCurrentSequence(current); } ... } class DefaultSocket implements Socket{} class DefaultSecureSocket extends DefaultSocket implements SecureSocket{} class DefaultRTPSocket extends DefaultSocket implemenets RTPSocket{} Here the API designers, have designed an API which provide socket communication to its clients. In release 1.0 the Socket interface didn't have a consumePackets() method. In release 1.1 API designers would like to extend Socket interface so they introduced consumePackets() and provided a default implementation because they don't want to break the clients' code. In release 2.0 they decided to change the default implementation of consumePackets() because they observed their DefaultRTPSocket was having delays when this method was called. They decided to deliver each packet to the handlers while consuming the packets and leave the rest as is. Our example - API's client // defined after release 1.1 of API class SecureRTPSocket extends DefaultSecureSocket implements RTPSocket { ... public void setCurrentSequence(PackeSequence sequence) { doubleBufferSequence(sequence); transmitPacketsToRTPHandlers(getPacketsArray()); } // this is not override, this is defined here public int reset() { ... }; } Here the API's client, using the version 1.1 decided to construct a new secure rtp socket. He used the default implementation of consumePackets() because it did meet his requirements. Because he already observed the delay produced by consumePackets() he decided to use a double buffer in order to avoid it. His application was working perfectly until he decided to replace the old API v1.1 with the new API v2.0. After replacing the API its application started to have delays! In this case the delay comes from the fact that API designers override the default implementation of consumePackets(), and the handler is getting duplicate packets!!! Of course the handler is smart enough to reject duplicate packets. But the problem is still there, so the client is going to invest it. The client is lookingat DefaultSecureSocket and at Socket#consumePackets() but he can't find the problem. Why he is not looking at RTPSocket? Well for 15 years now Java developers don't expect the interface to impact their implementation without breaking the contract (look at the definition above). I know such a powerful mechanism in Java would by very great and using it wisely would provide so much flexibility to an API developer. On the other hand it increases the possibility of writing fragile code. Of course the above example is such a bad one and can be easily avoided, but again virtual methods are increasing risks. Think of C++ and its power, think of multiply inheritance, one can say that it is powerful, however (in my opinion) it complicates things and can lead at more fragile code. As you stated this is an old problem, because this problem is still present with abstract classes for example, but as I previously stated a Java developer has never looked at Interfaces as they are abstract classes. Should they start doing it now? As I can see you are working at Oracle, and I understand that when it comes to make a change to existing Java API it is a very critical decision, to be or not to be. One of the big problems you should face with is backward compatibility. I was reading some email from a guy here at this mail list where he was concerned about Collections API and the changes that can possibly be made at Java 8. He had extended a Collections interface and added some methods, let say foreach(). In this case if you add a method foreach() it would possibly break his API and this is not what you want. In the above example if the client had a method int reset() in SecureRTPSocket the API designers will not be able to add a method void reset() in Socket interface, at least not without breaking the client's code. The problem here is that API developers don't know how API clients are using their API so they can not make any assumption. Actually the virtual methods gives you the (virtual reality) sense of thinking that by adding a method to an interface you, will not break the API, but as you we can easily see this is not the case. * Here I am not criticizing the virtual methods, I like the idea very much. I am rising some of the facts we need to consider when dealing with them. However, I think there is an interesting solution we can avoid such problems, especially API breaks (from the perspective of API designer). Looking at the above example, let consider the API designers would like to add a method void reset() at Socket interface. In this case we could have a client's code break here, because there is a int reset() method. To avoid this, we can have an other keyword: override.In order the SecureRTPSocket to see the new virtual method he has to write something like this: private override void reset(){...} If the client doesn't write something like this than this method is not visible to client's class SecureRTPSocket. Some one would say this is not possible because what if some one makes a call like this: Socket socket = getSocket(); socket.reset(); In such a case if getSocket() has a return type Socket and the implementation of getSocket() returns a SecureRTPSocketthere are two possibilities: 1) method reset() is already present in SecureRTPSocket, 2) method reset() is not present. Here how it can possibly works: 1) In version 1.1 the client didn't know any Socket#reset() method so there is not a statement in his code that will call Socket#reset().If the Socket#reset() method is ignored in v2.0 his code will continue to be compatible even in case there is a int SecureRTPSocket#reset(). 2) There is a void SecureRTPSocket#reset() method. Even in this case the Socket#reset() method will be ignored if called as above. At least in client's code will not be any Socket#reset() call, because his code was written based on v1.1. 3) When a caller call Socket#reset(), if this method is ignored in the underlying class implementation, in our case SecureRTPSocket, then a UnsupportedOperationException will be thrown. This makes sense because, the old client code is ignoring Socket#reset() so it simply means "I don't have any implementation for this". 4) When there exists a void SecureRTPSocket#reset(). Again if the caller calls void Socket#reset() and the void SecureRTPSocket#reset() existsbefore void Socket#reset() then an UnsupportedOperationException is thrown. This makes sense because, the old client code will not have any call Socket#reset(), instead it could have calls like SecureRTPSocket#reset() and this will normally work because no resolution is required against Socket interface. 5) When there exists a override void DefaultSocket#reset(). Well in this case the void Socket#reset() will be visible to DefaultSocket, and it will be visible to DefaultSecureSocket and DefaultRTPSocket, and so it will be visible to SecureRTPSocket, because SecureRTPSocket extends DefaultSecureSocket. If there exist void SecureRTPSocket#reset() then it just overrides void DefaultSecureSocket#reset() so there is not a problem in this case. If there exist a int SecureRTPSocket#reset() than client's code will break (will not compile at all). This makes sense because when a client extends API's classes it means he knows what he is doing and he understand the internals of those classes, so he is aware of any change. In our example a good developer would simply uses encapsulation, and have something like this: class SecureRTSocket implements SecureSocket, RTSocket, and uses a private DefaultSecureSocket to delegate some of its methods and implements the rest. However, if this is not a good approach an other alternative would be to ignore the virtual methods just like in the above cases. The last approach introduces an extra effort because it requires from API developers to write override void reset() to each implementation class (Default...Socket) but at least this ensures 100% backward compatibility. Think of void Collection#foreach, it will require for each Collection's subtype to write override void foreach(). Is this affordable? Well, the virtual methods are used to extends an API so I think this is an effort that it worth. 6) What does override void reset() implementation body contains? The case is: a) it can completely override the super's default implementation, b) it can write something like this SuperType.reset() in order to accept super's default implementation. 7) Where the client has already extended Socket interface, let say he has an interface like this ISecureRTPSocket and SecureRTPSocket class implements this interface. In this case void Socket#reset() is a virtual method so it is visible to ISecureRTPSocket as a virtual one. But it is not visible to SecureRTPSocket because the doesn't exists any override void SecureRTPSocket#reset(). Here we don't have any client's code compatibility issues, it works just like the above cases. 8) Where there doesn't exists any override void SecureRTPSocket#reset() (look at the example above). In this case if the first approach will be implemented then if exists override void DefaultSocket#reset() the reset() method will be visible to all other subclasses just like any other method. If the second approach will be implemented then, if there doesn't exist any override void DefaultSocket#reset() then it will not be visible to DefaultSecureSocket so a override void DefaultSecureSocket#reset() will be a compilation error (not in our case because DefaultSecureSocket implements SecureSocket, reset() is visible to SecureSocket and so override void DefaultSecureSocket#reset() can be overrided). The rule is simple: if we have interface A, B and C extends A, then virtual method A#m() will be visible to B and C. If classes Bimp implements B, Dimp extends Bimp, if there exists override Bimp#m() then could exist override Dimp#m() too, if not then Dimp must explicitly implements A, B or C so we can have override Dimp#m(). 9) The compiler and runtime will be crazy with all this complexity. Actually I can't give any reliable response to this. From a higher level I think the compiler and runtime can treat virtual methods just like any other method but with some small differences. In case there is a Interface to Interface resolution they can easily be treated just like other methods, after all we can keep backward compatibility because an interface is not required to have an implementation so the virtual method in my interfaces will not break other interfaces. In case of classes the compiler and or runtime can make the distinct between virtual methods and other regular methods by keeping (let say) an extra bit for a method. So when this bit is 0 it is a regular method and the resolution is the same as before in Java 7, when this bit is 1 it is a virtual method so the resolution can follow the rules I stated above. Especially if the second approach will be implemented (see 5) above) the compiler can easily keep track of virtual methods because the keyword override will be present in any class that implements the virtual method so it can deal with their (strange) resolutions and conflicts. Conclusions: I think the approach of keyword override and the resolution of virtual methods in this way doesn't break any OOP principles (well I am just an undergraduate student that is going to be graduated soon, so I cant say this for sure :-)). Indeed it imposes good OOP because it requires the attention of programmer. Think of this scenario: I am about to work at a company and my boss just gave me a job description (the interface, which is the contract). I take my responsibilities and try to do my best to do my job according to its description. My boss has a new job description for me and he required to meet me to announce that. In the meanwhile some guy from staff who already knows that my by boss is having a new job description for me comes to me and requires me to do some job that is in the new job description not in the one I have. What should I do in this case? Should I try to do what he says, at the risk of doing something that I am not prepare to do, or should I say to him UnsupportedJobException? When I get my new job description from my boss I sit down and learn how to do it and write to my notes override JobDesc#newJob1(), override JobDesc#newJob2() and so on. Next time the guy from staff comes to me I would be prepared and happily do what he requires by taking my responsibilities. Thank you for hearing me. I know there are brilliant minds out there that could make all of my ideas useless, unfortunately I am not an experienced Software Engineer (well actually not even a new SE :-)) so I could not think of all the tricks. At least I tried to squeeze my little mind and express my thoughts (damn English I really want to master you :-). I am looking forward to hearing from you. > Subject: Re: Interface evolution via virtual extension methods - Extending Interfaces By Breaking Application Logic (Dangerous) > From: brian.goetz at oracle.com > Date: Sun, 11 Mar 2012 21:51:35 -0700 > CC: lambda-dev at openjdk.java.net > To: elvis_ligu at hotmail.com > > Thanks for your comments. Responses inline: > > > 1 - There is a risk of breaking client code: consider a developer who has already implemented a comparator like this: abstract class MyComparator implements Comparator { protected int order = 1; public void reverseOrder() { return -1*order;} } > > and uses this somewhere in his code like this: MyComparator c = new MyComparator() { public int compare(Objct o1, Object o2) { return order* (o1.toString().compareTo(o2.toString())); }} .... c.reverseOrder(); Arrays.sort(list, c); If oracle developers decide to add such a method in Comparator interface then they can not ensure that client code will not break; two methods with the same signature but with a different returned type can not compile (at least not in java 7). > > Yes, this is a risk. Note that this is not new with extension methods; this risk exists for adding new methods to existing classes (abstract or concrete) too. > > The alternative is: never add any new methods to libraries. We find this alternative unappealing! > > > 2 - There is a risk of breaking client logic: according to Brian's paper, section 3. Method Dispatch, we can have a diamond-shaped hierarchy as: > > interface A { void m() default X.a; } interface B extends A { } interface C extends A { } class D implements B, C { } > > When the compiler sees d.m() and if there is not an implementation of m() in class D then it will call the default method implementation A.m(). > > The compiler does *not* short-circuit calls to D.m() to A.m(). The compiler emits an invokespecial with D.m(); the runtime will perform the resolution, and if the situation is still like this by the time the classes are actually loaded, then the VM will decide to dispatch to A.m(). (This is no different than today; the compiler's job is simply to sanity-check linkage and "fail fast" if the compiler can see the call would not succeed if made at runtime with the classes as they are at compile time, but the runtime builds vtables based on the classes it sees at runtime.) > > > The client of this API can easily "make the mistake" of relying on default implementation of A.m(). > > Again, this is nothing new. Let's say class C has a method q(), and D extends C but does not override q(). Clients of D could easily "make the mistake" of assuming calls to D.q() are going to end up at C.q(), but that is simply a mistake. > > > For some reason in the future the developerof the API would like to add a default implementation of m() in B. The problem in this case is bigger than in case 1; > > a) if the client of API have already extended interface A with B1 and provided a default implementation for m, and has a "class E implements B, B1" the client code will break. > > At this point E will not compile, due to competing implementations in B and B1. > > > b) the default m() in B will probably break invariants of a "class MyClass implements B, C" and cause no compile error. > > Why? If B.m() overrides A.m(), we expect B.m() to implement the contract of A.m(). Note that interfaces have no state (barring heroic actions), so the protection of state-based invariants still falls entirely to C and its subclasses. The implementation of m() in A or B can only call other interface methods, and if any of those affect state in C, eventually we'll be calling code in C to actually touch the state. > > > 1 - How to keep backward compatibility? Well at least in the transition phase from java 7 to java 8 nothing can ensure the java developers that adding a virtual method inCollection interface will be compatible with the old java. So my suggestion is another keyword, let say override. Let say we add reverseOrder() in interface Comparator.In this case the java compiler will make the reverseOrder() visible to Comparator's subtypes only and only if the subtype explicitly define: override reverseOrder(). > > I believe this is a request for "opting in" to extension methods, rather than having them actually inherited? I invite you to propose exactly how this might work in more detail. > > > So incase 1 MyComparator (the client code) is not affected; reverseOrder() is not visible in MyComparator. 2 - How to avoid making API fragile by default (case 2)? My suggestion is the same as the above: the keyword override. By writing override reverseOrder() the API's clientis required to explicitly define which default implementation he is relying on, specifying SuperType.super.m() or make a "default none" in case of an interface. If the clientdoesn't specify override, there i! > > You say "client" when I think you mean "subclass". Are you really suggesting the opt-in should be at the *client* site, or are you speaking only at the inheritance site? > From notecrusher at gmail.com Tue Mar 13 23:29:41 2012 From: notecrusher at gmail.com (Chance) Date: Tue, 13 Mar 2012 23:29:41 -0700 Subject: What should default interfaces be for? In-Reply-To: References: Message-ID: Of course people are going to use default methods as a new way of constructing type hierarchies. Count me among those more excited by the inclusion of default methods in JDK 8 than closures. I can't think of much that's missing - the full set of access levels would be a nice to have. Chance From sergey.kuksenko at oracle.com Wed Mar 14 08:08:54 2012 From: sergey.kuksenko at oracle.com (Sergey Kuksenko) Date: Wed, 14 Mar 2012 19:08:54 +0400 Subject: defender methods analysis, classloading and java.lang.StackOverflowError Message-ID: <4F60B486.7060806@oracle.com> Hi All, It is not a big secret that HotSpot do classloading of superclasses/superinterfaces recursively. That means - for any fixed stack size there is classes/interfaces chain which causes java.lang.StackOverflowError For example, on Linux x86-32, chain of 512 interfaces needs at least 2.5Megabytes stack size using jdk7u2 (default stack size == 320k). Maybe it is not a good idea to do classloading with recursion, but it is a topic for another mail list. Let's back to defenders. I was playing with interface chains. All interfaces (except the first) are empty. There are no defender methods here. As result I've got on Linux x86-32: - jdk7u2 requires ~4.8K per interface - jdk8 requires ~5K per interface - lambda build requires ~13K per interface. Lambda's HotSpot requires 2.5 larger stack size settings than jdk8. This is really significant change. Jdk7 & 8 with default stack size (Linux32) may load chain of ~60 classes/interfaces, but lambda may load chain only of ~20 classes/interfaces. The source of that is declaration "GenericAnalyzer ga;" in the "ClassFileParser::parseClassFile" method and it doesn't matter that the declaration is inside never executed scope/block. We may say "thank you" to gcc. I didn't check, but expecting the similar problem for other C++ compilers and platforms. I've attached patch which solves that problem. Simple extracting couple lines of code into separate method bring back lambda to jdk8 stack size requirements. -- Best regards, Sergey Kuksenko From sergey.kuksenko at oracle.com Wed Mar 14 08:17:05 2012 From: sergey.kuksenko at oracle.com (Sergey Kuksenko) Date: Wed, 14 Mar 2012 19:17:05 +0400 Subject: defender methods analysis, classloading and java.lang.StackOverflowError In-Reply-To: <4F60B486.7060806@oracle.com> References: <4F60B486.7060806@oracle.com> Message-ID: <4F60B671.5090007@oracle.com> On 03/14/2012 07:08 PM, Sergey Kuksenko wrote: > Hi All, > > It is not a big secret that HotSpot do classloading of > superclasses/superinterfaces recursively. > That means - for any fixed stack size there is classes/interfaces > chain which causes java.lang.StackOverflowError > For example, on Linux x86-32, chain of 512 interfaces needs at least > 2.5Megabytes stack size using jdk7u2 (default stack size == 320k). > Maybe it is not a good idea to do classloading with recursion, but it > is a topic for another mail list. > > Let's back to defenders. > I was playing with interface chains. All interfaces (except the first) > are empty. There are no defender methods here. > As result I've got on Linux x86-32: > - jdk7u2 requires ~4.8K per interface > - jdk8 requires ~5K per interface > - lambda build requires ~13K per interface. > > Lambda's HotSpot requires 2.5 larger stack size settings than jdk8. > This is really significant change. Jdk7 & 8 with default stack size > (Linux32) may load chain of ~60 classes/interfaces, but lambda may > load chain only of ~20 classes/interfaces. The source of that is > declaration "GenericAnalyzer ga;" in the > "ClassFileParser::parseClassFile" method and it doesn't matter that > the declaration is inside never executed scope/block. > We may say "thank you" to gcc. I didn't check, but expecting the > similar problem for other C++ compilers and platforms. > > I've attached patch which solves that problem. Simple extracting > couple lines of code into separate method bring back lambda to jdk8 > stack size requirements. > It looks like I lost the attachment, trying to repeat. ------------------------------ diff -r 108d1e7220ee src/share/vm/classfile/classFileParser.cpp --- a/src/share/vm/classfile/classFileParser.cpp Thu Feb 02 01:53:12 2012 -0500 +++ b/src/share/vm/classfile/classFileParser.cpp Tue Mar 13 19:24:51 2012 +0400 @@ -3396,13 +3396,9 @@ #endif if (has_default_methods && !access_flags.is_interface()) { - ResourceMark rm(THREAD); - - GenericAnalyzer ga; - ga.run( - class_name, this_klass, super_klass, &all_mirandas, - methods, methods_annotations, methods_parameter_annotations, - methods_default_annotations, CHECK_(nullHandle)); + analyze_defaults(class_name, this_klass, super_klass, &all_mirandas, + methods, methods_annotations, methods_parameter_annotations, + methods_default_annotations, CHECK_(nullHandle)); } // Miranda methods @@ -3523,6 +3519,22 @@ return this_klass; } +void ClassFileParser::analyze_defaults( + Symbol* class_name, instanceKlassHandle klass, + instanceKlassHandle super, GrowableArray* mirandas, + objArrayHandle methods, objArrayHandle annotations, + objArrayHandle annot_params, objArrayHandle annot_defaults, TRAPS){ + + ResourceMark rm(THREAD); + + GenericAnalyzer ga; + ga.run( + class_name, klass, super, mirandas, + methods, annotations, annot_params, + annot_defaults, THREAD); + +} + unsigned int ClassFileParser::compute_oop_map_count(instanceKlassHandle super, diff -r 108d1e7220ee src/share/vm/classfile/classFileParser.hpp --- a/src/share/vm/classfile/classFileParser.hpp Thu Feb 02 01:53:12 2012 -0500 +++ b/src/share/vm/classfile/classFileParser.hpp Tue Mar 13 19:24:51 2012 +0400 @@ -139,6 +139,12 @@ void parse_classfile_signature_attribute(constantPoolHandle cp, instanceKlassHandle k, TRAPS); void parse_classfile_bootstrap_methods_attribute(constantPoolHandle cp, instanceKlassHandle k, u4 attribute_length, TRAPS); + void analyze_defaults( + Symbol* class_name, instanceKlassHandle klass, + instanceKlassHandle super, GrowableArray* mirandas, + objArrayHandle methods, objArrayHandle annotations, + objArrayHandle annot_params, objArrayHandle annot_defaults, TRAPS); + // Annotations handling typeArrayHandle assemble_annotations(u1* runtime_visible_annotations, int runtime_visible_annotations_length, -- Best regards, Sergey Kuksenko From keith.mcguigan at oracle.com Wed Mar 14 08:19:11 2012 From: keith.mcguigan at oracle.com (Keith McGuigan) Date: Wed, 14 Mar 2012 11:19:11 -0400 Subject: defender methods analysis, classloading and java.lang.StackOverflowError In-Reply-To: <4F60B486.7060806@oracle.com> References: <4F60B486.7060806@oracle.com> Message-ID: <4F60B6EF.1030006@oracle.com> Hi Sergey - Thanks for looking into this, I'll see if I can get your code into the repo. But you'll have to attach it first :) -- - Keith On 3/14/2012 11:08 AM, Sergey Kuksenko wrote: > Hi All, > > It is not a big secret that HotSpot do classloading of > superclasses/superinterfaces recursively. > That means - for any fixed stack size there is classes/interfaces chain > which causes java.lang.StackOverflowError > For example, on Linux x86-32, chain of 512 interfaces needs at least > 2.5Megabytes stack size using jdk7u2 (default stack size == 320k). > Maybe it is not a good idea to do classloading with recursion, but it is > a topic for another mail list. > > Let's back to defenders. > I was playing with interface chains. All interfaces (except the first) > are empty. There are no defender methods here. > As result I've got on Linux x86-32: > - jdk7u2 requires ~4.8K per interface > - jdk8 requires ~5K per interface > - lambda build requires ~13K per interface. > > Lambda's HotSpot requires 2.5 larger stack size settings than jdk8. This > is really significant change. Jdk7 & 8 with default stack size (Linux32) > may load chain of ~60 classes/interfaces, but lambda may load chain only > of ~20 classes/interfaces. The source of that is declaration > "GenericAnalyzer ga;" in the "ClassFileParser::parseClassFile" method > and it doesn't matter that the declaration is inside never executed > scope/block. > We may say "thank you" to gcc. I didn't check, but expecting the similar > problem for other C++ compilers and platforms. > > I've attached patch which solves that problem. Simple extracting couple > lines of code into separate method bring back lambda to jdk8 stack size > requirements. > > > > From keith.mcguigan at oracle.com Wed Mar 14 08:55:59 2012 From: keith.mcguigan at oracle.com (Keith McGuigan) Date: Wed, 14 Mar 2012 11:55:59 -0400 Subject: defender methods analysis, classloading and java.lang.StackOverflowError In-Reply-To: <4F60B671.5090007@oracle.com> References: <4F60B486.7060806@oracle.com> <4F60B671.5090007@oracle.com> Message-ID: <4F60BF8F.5040804@oracle.com> Hi Sergey - BTW, I'm not sure if GCC has any fault in this situation -- the way it's currently coded, we need to have size in parseClassFile()'s frame for the entirety of the GenericAnalyzer object. And since parseClassFile() calls itself recursively.... I suspect replacing the stack-allocation with resource-allocation would resolve the problem too: { GenericAnalyzer* ga = new GenericAnalyzer(...); ga->run(...) } ... because then we'll use less room in parseClassFile()'s stack. But I don't think that's going to explain the ~8K/frame difference you're seeing. That's probably coming from within the GenericAnalyzer itself (which does use recursion too). -- - Keith On 3/14/2012 11:17 AM, Sergey Kuksenko wrote: > On 03/14/2012 07:08 PM, Sergey Kuksenko wrote: >> Hi All, >> >> It is not a big secret that HotSpot do classloading of >> superclasses/superinterfaces recursively. >> That means - for any fixed stack size there is classes/interfaces >> chain which causes java.lang.StackOverflowError >> For example, on Linux x86-32, chain of 512 interfaces needs at least >> 2.5Megabytes stack size using jdk7u2 (default stack size == 320k). >> Maybe it is not a good idea to do classloading with recursion, but it >> is a topic for another mail list. >> >> Let's back to defenders. >> I was playing with interface chains. All interfaces (except the first) >> are empty. There are no defender methods here. >> As result I've got on Linux x86-32: >> - jdk7u2 requires ~4.8K per interface >> - jdk8 requires ~5K per interface >> - lambda build requires ~13K per interface. >> >> Lambda's HotSpot requires 2.5 larger stack size settings than jdk8. >> This is really significant change. Jdk7 & 8 with default stack size >> (Linux32) may load chain of ~60 classes/interfaces, but lambda may >> load chain only of ~20 classes/interfaces. The source of that is >> declaration "GenericAnalyzer ga;" in the >> "ClassFileParser::parseClassFile" method and it doesn't matter that >> the declaration is inside never executed scope/block. >> We may say "thank you" to gcc. I didn't check, but expecting the >> similar problem for other C++ compilers and platforms. >> >> I've attached patch which solves that problem. Simple extracting >> couple lines of code into separate method bring back lambda to jdk8 >> stack size requirements. >> > > It looks like I lost the attachment, trying to repeat. > > > ------------------------------ > diff -r 108d1e7220ee src/share/vm/classfile/classFileParser.cpp > --- a/src/share/vm/classfile/classFileParser.cpp Thu Feb 02 01:53:12 > 2012 -0500 > +++ b/src/share/vm/classfile/classFileParser.cpp Tue Mar 13 19:24:51 > 2012 +0400 > @@ -3396,13 +3396,9 @@ > #endif > > if (has_default_methods && !access_flags.is_interface()) { > - ResourceMark rm(THREAD); > - > - GenericAnalyzer ga; > - ga.run( > - class_name, this_klass, super_klass, &all_mirandas, > - methods, methods_annotations, methods_parameter_annotations, > - methods_default_annotations, CHECK_(nullHandle)); > + analyze_defaults(class_name, this_klass, super_klass, &all_mirandas, > + methods, methods_annotations, methods_parameter_annotations, > + methods_default_annotations, CHECK_(nullHandle)); > } > > // Miranda methods > @@ -3523,6 +3519,22 @@ > return this_klass; > } > > +void ClassFileParser::analyze_defaults( > + Symbol* class_name, instanceKlassHandle klass, > + instanceKlassHandle super, GrowableArray* mirandas, > + objArrayHandle methods, objArrayHandle annotations, > + objArrayHandle annot_params, objArrayHandle annot_defaults, TRAPS){ > + > + ResourceMark rm(THREAD); > + > + GenericAnalyzer ga; > + ga.run( > + class_name, klass, super, mirandas, > + methods, annotations, annot_params, > + annot_defaults, THREAD); > + > +} > + > > unsigned int > ClassFileParser::compute_oop_map_count(instanceKlassHandle super, > diff -r 108d1e7220ee src/share/vm/classfile/classFileParser.hpp > --- a/src/share/vm/classfile/classFileParser.hpp Thu Feb 02 01:53:12 > 2012 -0500 > +++ b/src/share/vm/classfile/classFileParser.hpp Tue Mar 13 19:24:51 > 2012 +0400 > @@ -139,6 +139,12 @@ > void parse_classfile_signature_attribute(constantPoolHandle cp, > instanceKlassHandle k, TRAPS); > void parse_classfile_bootstrap_methods_attribute(constantPoolHandle cp, > instanceKlassHandle k, u4 attribute_length, TRAPS); > > + void analyze_defaults( > + Symbol* class_name, instanceKlassHandle klass, > + instanceKlassHandle super, GrowableArray* mirandas, > + objArrayHandle methods, objArrayHandle annotations, > + objArrayHandle annot_params, objArrayHandle annot_defaults, TRAPS); > + > // Annotations handling > typeArrayHandle assemble_annotations(u1* runtime_visible_annotations, > int runtime_visible_annotations_length, > > > > From sergey.kuksenko at oracle.com Wed Mar 14 09:12:16 2012 From: sergey.kuksenko at oracle.com (Sergey Kuksenko) Date: Wed, 14 Mar 2012 20:12:16 +0400 Subject: defender methods analysis, classloading and java.lang.StackOverflowError In-Reply-To: <4F60BF8F.5040804@oracle.com> References: <4F60B486.7060806@oracle.com> <4F60B671.5090007@oracle.com> <4F60BF8F.5040804@oracle.com> Message-ID: <4F60C360.9040908@oracle.com> On 03/14/2012 07:55 PM, Keith McGuigan wrote: > Hi Sergey - > > BTW, I'm not sure if GCC has any fault in this situation -- the way it's > currently coded, we need to have size in parseClassFile()'s frame for > the entirety of the GenericAnalyzer object. Iti's philosophical question. Function frame may be dynamic, but I didn't hear about production compilers with that feature.And since parseClassFile() > calls itself recursively.... > > I suspect replacing the stack-allocation with resource-allocation would > resolve the problem too: > > { > GenericAnalyzer* ga = new GenericAnalyzer(...); > ga->run(...) > } > > ... because then we'll use less room in parseClassFile()'s stack. We may try this. But I suspect not only impact of GenericAnalyzer size. The problem may be caused by aggressive inline and corresponding stack frame expansion. ParseClassFile() is too big - ~900 lines. IMHO the method should be split. > But I > don't think that's going to explain the ~8K/frame difference you're > seeing. That's probably coming from within the GenericAnalyzer itself > (which does use recursion too). No. The branch "if (has_default_methods && !access_flags.is_interface()) {" is never executed for that test. > - Keith > > On 3/14/2012 11:17 AM, Sergey Kuksenko wrote: >> On 03/14/2012 07:08 PM, Sergey Kuksenko wrote: >>> Hi All, >>> >>> It is not a big secret that HotSpot do classloading of >>> superclasses/superinterfaces recursively. >>> That means - for any fixed stack size there is classes/interfaces >>> chain which causes java.lang.StackOverflowError >>> For example, on Linux x86-32, chain of 512 interfaces needs at least >>> 2.5Megabytes stack size using jdk7u2 (default stack size == 320k). >>> Maybe it is not a good idea to do classloading with recursion, but it >>> is a topic for another mail list. >>> >>> Let's back to defenders. >>> I was playing with interface chains. All interfaces (except the first) >>> are empty. There are no defender methods here. >>> As result I've got on Linux x86-32: >>> - jdk7u2 requires ~4.8K per interface >>> - jdk8 requires ~5K per interface >>> - lambda build requires ~13K per interface. >>> >>> Lambda's HotSpot requires 2.5 larger stack size settings than jdk8. >>> This is really significant change. Jdk7& 8 with default stack size >>> (Linux32) may load chain of ~60 classes/interfaces, but lambda may >>> load chain only of ~20 classes/interfaces. The source of that is >>> declaration "GenericAnalyzer ga;" in the >>> "ClassFileParser::parseClassFile" method and it doesn't matter that >>> the declaration is inside never executed scope/block. >>> We may say "thank you" to gcc. I didn't check, but expecting the >>> similar problem for other C++ compilers and platforms. >>> >>> I've attached patch which solves that problem. Simple extracting >>> couple lines of code into separate method bring back lambda to jdk8 >>> stack size requirements. >>> >> It looks like I lost the attachment, trying to repeat. >> >> >> ------------------------------ >> diff -r 108d1e7220ee src/share/vm/classfile/classFileParser.cpp >> --- a/src/share/vm/classfile/classFileParser.cpp Thu Feb 02 01:53:12 >> 2012 -0500 >> +++ b/src/share/vm/classfile/classFileParser.cpp Tue Mar 13 19:24:51 >> 2012 +0400 >> @@ -3396,13 +3396,9 @@ >> #endif >> >> if (has_default_methods&& !access_flags.is_interface()) { >> - ResourceMark rm(THREAD); >> - >> - GenericAnalyzer ga; >> - ga.run( >> - class_name, this_klass, super_klass,&all_mirandas, >> - methods, methods_annotations, methods_parameter_annotations, >> - methods_default_annotations, CHECK_(nullHandle)); >> + analyze_defaults(class_name, this_klass, super_klass,&all_mirandas, >> + methods, methods_annotations, methods_parameter_annotations, >> + methods_default_annotations, CHECK_(nullHandle)); >> } >> >> // Miranda methods >> @@ -3523,6 +3519,22 @@ >> return this_klass; >> } >> >> +void ClassFileParser::analyze_defaults( >> + Symbol* class_name, instanceKlassHandle klass, >> + instanceKlassHandle super, GrowableArray* mirandas, >> + objArrayHandle methods, objArrayHandle annotations, >> + objArrayHandle annot_params, objArrayHandle annot_defaults, TRAPS){ >> + >> + ResourceMark rm(THREAD); >> + >> + GenericAnalyzer ga; >> + ga.run( >> + class_name, klass, super, mirandas, >> + methods, annotations, annot_params, >> + annot_defaults, THREAD); >> + >> +} >> + >> >> unsigned int >> ClassFileParser::compute_oop_map_count(instanceKlassHandle super, >> diff -r 108d1e7220ee src/share/vm/classfile/classFileParser.hpp >> --- a/src/share/vm/classfile/classFileParser.hpp Thu Feb 02 01:53:12 >> 2012 -0500 >> +++ b/src/share/vm/classfile/classFileParser.hpp Tue Mar 13 19:24:51 >> 2012 +0400 >> @@ -139,6 +139,12 @@ >> void parse_classfile_signature_attribute(constantPoolHandle cp, >> instanceKlassHandle k, TRAPS); >> void parse_classfile_bootstrap_methods_attribute(constantPoolHandle cp, >> instanceKlassHandle k, u4 attribute_length, TRAPS); >> >> + void analyze_defaults( >> + Symbol* class_name, instanceKlassHandle klass, >> + instanceKlassHandle super, GrowableArray* mirandas, >> + objArrayHandle methods, objArrayHandle annotations, >> + objArrayHandle annot_params, objArrayHandle annot_defaults, TRAPS); >> + >> // Annotations handling >> typeArrayHandle assemble_annotations(u1* runtime_visible_annotations, >> int runtime_visible_annotations_length, >> >> >> >> -- Best regards, Sergey Kuksenko From keith.mcguigan at oracle.com Wed Mar 14 09:32:39 2012 From: keith.mcguigan at oracle.com (Keith McGuigan) Date: Wed, 14 Mar 2012 12:32:39 -0400 Subject: defender methods analysis, classloading and java.lang.StackOverflowError In-Reply-To: <4F60C360.9040908@oracle.com> References: <4F60B486.7060806@oracle.com> <4F60B671.5090007@oracle.com> <4F60BF8F.5040804@oracle.com> <4F60C360.9040908@oracle.com> Message-ID: <4F60C827.2010103@oracle.com> On 3/14/2012 12:12 PM, Sergey Kuksenko wrote: >> ... because then we'll use less room in parseClassFile()'s stack. > We may try this. > But I suspect not only impact of GenericAnalyzer size. The problem may > be caused by aggressive inline and corresponding stack frame expansion. Yeah, that's a good point. I'll fire it up in a debugger sometime and see if I can tell what's going on. > ParseClassFile() is too big - ~900 lines. > IMHO the method should be split. >> But I >> don't think that's going to explain the ~8K/frame difference you're >> seeing. That's probably coming from within the GenericAnalyzer itself >> (which does use recursion too). > No. The branch "if (has_default_methods&& !access_flags.is_interface()) > {" is never executed for that test. Ok well that's good. We'll probably have to revisit some of those algorithms though, to remove the recursion there too. -- - Keith From forax at univ-mlv.fr Wed Mar 14 10:02:07 2012 From: forax at univ-mlv.fr (=?UTF-8?B?UsOpbWkgRm9yYXg=?=) Date: Wed, 14 Mar 2012 18:02:07 +0100 Subject: defender methods and method of Object In-Reply-To: <1331599244.65212.YahooMailNeo@web160703.mail.bf1.yahoo.com> References: <4F50DE1D.6010006@univ-mlv.fr> <4F50F32B.90403@univ-mlv.fr> <4F51FF45.2030305@oracle.com> <4F5B51D1.6070308@oracle.com> <1331599244.65212.YahooMailNeo@web160703.mail.bf1.yahoo.com> Message-ID: <4F60CF0F.2060509@univ-mlv.fr> On 03/13/2012 01:40 AM, Henri Gerrits wrote: > Maybe Object's implementations of equals(), hashCode() and toString() can be moved to a new interface java.lang.ObjectDefaults (ugh!) as (native?) default methods. > Object can then implement that interface without providing implementations. And then no special case is needed for Object methods when applying the conflict resolution rules of section 12, and everyone's happy. > > Not sure if this is possible, though. > > Henri and what about clone or finalize :) R?mi From anthony.vanelverdinghe at gmail.com Wed Mar 14 11:47:55 2012 From: anthony.vanelverdinghe at gmail.com (Anthony Vanelverdinghe) Date: Wed, 14 Mar 2012 19:47:55 +0100 Subject: What should default interfaces be for? In-Reply-To: References: Message-ID: <4F60E7DB.4000708@gmail.com> I dislike the idea of allowing implementation inside interfaces, so I see default methods as a necessary evil for interface evolution. And I fully agree with the view that developers should not implicitly depend on default methods. Even more: why not let the Java compiler emit a warning when classes do depend on default methods? PS: in case it wouldn't be clear by now: I 'm against allowing Object methods as default methods :) Kind regards, Anthony Op 13/03/2012 11:18, Stephen Colebourne schreef: > On 13 March 2012 00:10, David Holmes wrote: > David said: >> I'm concerned that default methods are being seen as a new way to >> construct type hierarchies, rather than just being a short-term way to >> add a new method to an existing interface. In my opinion developers who >> subclass interfaces to which default methods get added, should implement >> those new methods in the next version of their libraries/apps - so that >> they don't rely on implicit use of defaults (they can make it explicit >> if it suits their needs). Default methods provide an evolution path for >> interfaces, but they can very easily be mis-used. > I think that in all the focus on lambdas, there hasn't been enough > discussion of what the Java community wants from the defaulted > interfaces feature. > > David expresses the original lambda-focussed opinion - that default > methods in interfaces solely exist to provide a mechanism for > interface evolution. A necessary evil to provide the ability to > integrate lambdas into existing APIs but not for general use as part > of API design. > > I've come to the opposite opinion. That defaulted interfaces are a > major new language feature in their own right, and should be > celebrated as such. I want to use them as a new way of designing > applications, replacing most usages of abstract classes today, > providing much of the feature set asked for by "abstract enums" and > effectively treating them as Java's traits. IMO, the addition of > traits is as important to API design as lambdas themselves. > > What we need is a debate on the feature. Do we, as users/developers, > want the minimal feature set necessary to support lambdas, or the > maximal feature set that would occur were we adding traits to Java? > > Things that may be options with a fully implemented feature: > - private-scoped methods > - package-scoped methods (would probably require adding a package > keyword for scope) > - protected-scoped methods > - static methods > - what should the default scope be > - whether the name "default interface" is the best choice ("trait interface"?) > > So, please chime in on whether you think default interfaces should be > kept simple and minimal (as David suggested), or be thought of as a > major new feature in their own right? (Try to initially focus on the > big question without too much low-level detail) > > Stephen > From richard.warburton at gmail.com Wed Mar 14 12:00:31 2012 From: richard.warburton at gmail.com (Richard Warburton) Date: Wed, 14 Mar 2012 19:00:31 +0000 Subject: What should default interfaces be for? In-Reply-To: <4F60E7DB.4000708@gmail.com> References: <4F60E7DB.4000708@gmail.com> Message-ID: > I dislike the idea of allowing implementation inside interfaces, so I > see default methods as a necessary evil for interface evolution. And I > fully agree with the view that developers should not implicitly depend > on default methods. Even more: why not let the Java compiler emit a > warning when classes do depend on default methods? > > PS: in case it wouldn't be clear by now: I 'm against allowing Object > methods as default methods :) Hey, I think it would be a helpful if you explained your perspective a little more. I'm sure you've undertaken some thought and come up with cases where its open to abuse - what are they? Perhaps you don't like the confusion between the method signature specification (an interface) and the implementation. I always think its good to understand why you've reached an opinion, rather than simply what that opinion is. regards, Richard From yshavit at akiban.com Wed Mar 14 12:24:54 2012 From: yshavit at akiban.com (Yuval Shavit) Date: Wed, 14 Mar 2012 15:24:54 -0400 Subject: What should default interfaces be for? In-Reply-To: References: <4F60E7DB.4000708@gmail.com> Message-ID: Not that I have much experience with designing language features, but it seems to me that if defender methods make it into the language, they'll become a true part of the language -- and they'll be used for more than just interface evolution, whether we like it or not. So, rather than discussing whether we like it or not, I wonder if we should be discussing whether we should *embrace it* or not. More concretely, do we want to say, "you can do this thing, but we don't want you to, so your code will have ugly boilerplates," or "you can do this thing." Personally, I'm far more excited about lambdas than about defender methods (except insofar as they'll allow interface evolution). But I do think that once a feature is brought into a language, it should be a first-class citizen within that language (at least until some other construct replaces it, as generics did to what we now call raw types). On Wed, Mar 14, 2012 at 3:00 PM, Richard Warburton < richard.warburton at gmail.com> wrote: > > I dislike the idea of allowing implementation inside interfaces, so I > > see default methods as a necessary evil for interface evolution. And I > > fully agree with the view that developers should not implicitly depend > > on default methods. Even more: why not let the Java compiler emit a > > warning when classes do depend on default methods? > > > > PS: in case it wouldn't be clear by now: I 'm against allowing Object > > methods as default methods :) > > Hey, > > I think it would be a helpful if you explained your perspective a > little more. I'm sure you've undertaken some thought and come up with > cases where its open to abuse - what are they? Perhaps you don't like > the confusion between the method signature specification (an > interface) and the implementation. I always think its good to > understand why you've reached an opinion, rather than simply what that > opinion is. > > regards, > > Richard > > From keith.mcguigan at oracle.com Wed Mar 14 17:25:26 2012 From: keith.mcguigan at oracle.com (Keith McGuigan) Date: Wed, 14 Mar 2012 20:25:26 -0400 Subject: sync'ing the hotspot repository with JDK8 Message-ID: Hi, Any objection to be me sync'ing the lambda hotspot repository with the jdk8 hotspot repo (i.e., pulling jdk8 into lambda)? -- - Keith From stuart.marks at oracle.com Wed Mar 14 17:40:27 2012 From: stuart.marks at oracle.com (stuart.marks at oracle.com) Date: Thu, 15 Mar 2012 00:40:27 +0000 Subject: hg: lambda/lambda/jdk: Add Iterable.count() and test. Fix test warnings. Message-ID: <20120315004101.8AAED47998@hg.openjdk.java.net> Changeset: ec7c2aab5d8b Author: smarks Date: 2012-03-14 17:39 -0700 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/ec7c2aab5d8b Add Iterable.count() and test. Fix test warnings. ! src/share/classes/java/lang/Iterable.java ! test-ng/build.xml ! test-ng/tests/java/util/IterableTest.java ! test-ng/tests/java/util/LambdaTestHelpers.java ! test-ng/tests/java/util/functions/BlocksTest.java From notecrusher at gmail.com Wed Mar 14 18:42:10 2012 From: notecrusher at gmail.com (Chance) Date: Wed, 14 Mar 2012 18:42:10 -0700 Subject: What should default interfaces be for? In-Reply-To: References: Message-ID: On Tue, Mar 13, 2012 at 3:30 AM, Patrick Wright wrote: > Regarding default methods, the only concern I have is whether the > proposed approach will also prove useful for non-Java languages on the > JVM, such as Scala - in this interview with Martin Odersky he suggests > it doesn't cover all the cases he would like for Scala > (http://www.infoq.com/articles/odersky-scala-interview). It's too bad Odersky doesn't say HOW the defender method spec falls short of supporting Scala traits. It could be that Scala traits allow specifying their base class at instantiation time. Chance From bitterfoxc at gmail.com Wed Mar 14 18:42:34 2012 From: bitterfoxc at gmail.com (bitter_fox) Date: Thu, 15 Mar 2012 10:42:34 +0900 Subject: FW: Interface evolution via virtual extension methods - Extending Interfaces By Breaking Application Logic (Dangerous) In-Reply-To: References: <468AE15D-EFB8-4565-81CE-28792DE58FE9@oracle.com> Message-ID: I couldn't agree with you. I don't think "override" resolve the problem. For instance: @API @Version("JDK7") interface I { void m1(); } @API @Version("JDK7") class Processor { public void doProcess(I i) { i.m1(); } } @Client @Version("JDK7") class IImpl implements I { public void m1() { ...; } public int m2() { ...; } } @Client @Version("JDK7") class User { public void use() { new Processor().doProcess(new IImpl()); } } I think this is a very frequently pattern. And in JDK8, @API Processor is updated with the update of I: @API @Version("JDK8") interface I { void m1(); @Version("JDK8") void m2(); } @API @Version("JDK8") class Processor { public void doProcess(I i) { i.m1(); i.m2(); } } @Client @Version("JDK8") class IImpl implements I { public void m1() { ...; } public int m2() { ...; } @Version("JDK8") private override void m2(); } // User is retained at @Version("JDK7") We can compile well every classes. However User#use crashes in JDK8 at runtime. So we find "override" just postpone occurring error until runtime. And all of method invocations are in fear by "override". Because it breaks the contract of types: a member declared in supertype is valid in a instance of every subtype. This is critical in Java that is strong typed language and a new problem. I guess "override" might cause more trouble than it solves. Regards, bitter_fox 2012/3/14 Elvis Ligu > > > > From: elvis_ligu at hotmail.com > To: brian.goetz at oracle.com > Subject: RE: Interface evolution via virtual extension methods - Extending > Interfaces By Breaking Application Logic (Dangerous) > Date: Tue, 13 Mar 2012 16:40:14 +0100 > > > > > > > > > > > > > > (I just saw my email, and I apologize for the horrible formatting) > I will try to give a very simple example in order to explain (at least I > will give it a try) what I mean. Before starting let me tell you that I > don't have a lot of knowledge about compilers and how things works into > details, so I can't propose anything in detail. I am looking at the problem > from a SE perspective and how to achieve a smooth transition from java 7 to > java 8 avoiding the overall complexity and accidentally breaking the client > code. By breaking client code I mean, breaking client's application even > from not compiling at all (which is the least undesirable) or breaking > client's application logic (the worst case is when the client's application > compiles, run, and pass all tests but the application logic is in some way > compromised). > Before continue this is how do I interpret the following concepts: > - Client code, API's client, and client in general -> the client is some > other (let say a developer) different from API. For example, I am a client > of Collections API in Java SE 7, and my code is the client code. You can > assume my classes are API's client or I (as a developer) am the client. > Generally speaking, the client is independent from the API's development > process, and is using the API according to its public contract (the > interface, whether they are classes or interfaces). > - Caller -> I would like to avoid the misunderstanding between an API's > client and a class client. So when I say caller I mean the client of a > specific class (and or interface). I.e. in class A there is a statement > b.print(); in this case I would rather say class A (the instance of A) is > the caller of class B (the instance of B). - Java Interface -> explicitly > or implicitly a Java Interface (i.e, interface Service {}) is part of the > contract of the API. It doesn't provide any implementation (and it > shouldn't), and the purpose of it is to define a communication point > between the implementation provider and the caller. An other purpose is to > define an implicit logic, i.e. Comparator has method compare(), where the > method signature is the definition of communication rules (the caller > must call this method using its signature), and the logic is that the > method compare() takes two same arguments and return the order of those > objects: 0 -> equals, positive integer -> ob! > j1 > obj2, negative integer -> obj1 < obj2. Of course there is nothing to > prevent a client to break the implicit logic an interface imposes, and > this depends on implementation, however this is not an issue from the > API's developer perspective. > Our example - the API: interface Socket { ... // method > added in release 1.1 public void consumePackets(final > PacketBuffer packets) default { final > List buffer = new ArrayList(); > synchronized(packets) { while(packets.hasNext()) > buffer.add(p.next()); } final PacketSequence sequence = > new PacketSequence(buffer.toArray(new Packet[0])); // an > empty sequence will be returned if no previous one exists final > PacketSequence current = getPreviousSequence().merge(sequence); > setCurrentSequence(current); } ... } interface SecureSocket > extends Socket { } interface RTPSocket { ... // this is > defined in release 2.0 public void consumePackets(final > PacketBuffer packets) default { final > List buffer = new ArrayList(); > synchronized(packets) { while(packets.hasN! > ext()) { Packet p = p.next(); > buffer.add(p); // send each packet to handler to avoid > delay transmitPacketsToRTPHandlers(new Packet[]{p}); > } final PacketSequence sequence = new > PacketSequence(buffer.toArray(new Packet[0])); > // an empty sequence will be returned if no previous one exists > final PacketSequence current = getPreviousSequence().merge(sequence); > setCurrentSequence(current); } ... } class > DefaultSocket implements Socket{} class DefaultSecureSocket extends > DefaultSocket implements SecureSocket{} class DefaultRTPSocket extends > DefaultSocket implemenets RTPSocket{} > Here the API designers, have designed an API which provide socket > communication to its clients. In release 1.0 the Socket interface didn't > have a consumePackets() method. In release 1.1 API designers would like to > extend Socket interface so they introduced consumePackets() and provided a > default implementation because they don't want to break the clients' code. > In release 2.0 they decided to change the default implementation of > consumePackets() because they observed their DefaultRTPSocket was having > delays when this method was called. They decided to deliver each packet to > the handlers while consuming the packets and leave the rest as is. > Our example - API's client > // defined after release 1.1 of API class SecureRTPSocket extends > DefaultSecureSocket implements RTPSocket { ... public void > setCurrentSequence(PackeSequence sequence) { > doubleBufferSequence(sequence); > transmitPacketsToRTPHandlers(getPacketsArray()); } > // this is not override, this is defined here public int reset() > { ... }; } > Here the API's client, using the version 1.1 decided to construct a new > secure rtp socket. He used the default implementation of consumePackets() > because it did meet his requirements. Because he already observed the delay > produced by consumePackets() he decided to use a double buffer in order to > avoid it. His application was working perfectly until he decided to replace > the old API v1.1 with the new API v2.0. After replacing the API its > application started to have delays! In this case the delay comes from the > fact that API designers override the default implementation of > consumePackets(), and the handler is getting duplicate packets!!! Of course > the handler is smart enough to reject duplicate packets. But the problem is > still there, so the client is going to invest it. The client is lookingat > DefaultSecureSocket and at Socket#consumePackets() but he can't find the > problem. Why he is not looking at RTPSocket? Well for 15 years now Java > developers don't expect the interface to! > impact their implementation without breaking the contract (look at the > definition above). I know such a powerful mechanism in Java would by very > great and using it wisely would provide so much flexibility to an API > developer. On the other hand it increases the possibility of writing > fragile code. Of course the above example is such a bad one and can be > easily avoided, but again virtual methods are increasing risks. Think of > C++ and its power, think of multiply inheritance, one can say that it is > powerful, however (in my opinion) it complicates things and can lead at > more fragile code. As you stated this is an old problem, because this > problem is still present with abstract classes for example, but as I > previously stated a Java developer has never looked at Interfaces as they > are abstract classes. Should they start doing it now? > As I can see you are working at Oracle, and I understand that when it > comes to make a change to existing Java API it is a very critical decision, > to be or not to be. One of the big problems you should face with is > backward compatibility. I was reading some email from a guy here at this > mail list where he was concerned about Collections API and the changes that > can possibly be made at Java 8. He had extended a Collections interface and > added some methods, let say foreach(). In this case if you add a method > foreach() it would possibly break his API and this is not what you want. In > the above example if the client had a method int reset() in SecureRTPSocket > the API designers will not be able to add a method void reset() in Socket > interface, at least not without breaking the client's code. The problem > here is that API developers don't know how API clients are using their API > so they can not make any assumption. Actually the virtual methods gives you > the (virtual reality) sense o! > f thinking that by adding a method to an interface you, will not break > the API, but as you we can easily see this is not the case. > * Here I am not criticizing the virtual methods, I like the idea very > much. I am rising some of the facts we need to consider when dealing with > them. > However, I think there is an interesting solution we can avoid such > problems, especially API breaks (from the perspective of API designer). > Looking at the above example, let consider the API designers would like to > add a method void reset() at Socket interface. In this case we could have a > client's code break here, because there is a int reset() method. To avoid > this, we can have an other keyword: override.In order the SecureRTPSocket > to see the new virtual method he has to write something like this: > private override void reset(){...} > If the client doesn't write something like this than this method is not > visible to client's class SecureRTPSocket. Some one would say this is not > possible because what if some one makes a call like this: > Socket socket = getSocket(); socket.reset(); > In such a case if getSocket() has a return type Socket and the > implementation of getSocket() returns a SecureRTPSocketthere are two > possibilities: 1) method reset() is already present in SecureRTPSocket, 2) > method reset() is not present. Here how it can possibly works: > 1) In version 1.1 the client didn't know any Socket#reset() method so > there is not a statement in his code that will call Socket#reset().If the > Socket#reset() method is ignored in v2.0 his code will continue to be > compatible even in case there is a int SecureRTPSocket#reset(). > 2) There is a void SecureRTPSocket#reset() method. Even in this case the > Socket#reset() method will be ignored if called as above. At least in > client's code will not be any Socket#reset() call, because his code was > written based on v1.1. > 3) When a caller call Socket#reset(), if this method is ignored in the > underlying class implementation, in our case SecureRTPSocket, then a > UnsupportedOperationException will be thrown. This makes sense because, the > old client code is ignoring Socket#reset() so it simply means "I don't have > any implementation for this". > 4) When there exists a void SecureRTPSocket#reset(). Again if the caller > calls void Socket#reset() and the void SecureRTPSocket#reset() existsbefore > void Socket#reset() then an UnsupportedOperationException is thrown. This > makes sense because, the old client code will not have any call > Socket#reset(), instead it could have calls like SecureRTPSocket#reset() > and this will normally work because no resolution is required against > Socket interface. > 5) When there exists a override void DefaultSocket#reset(). Well in this > case the void Socket#reset() will be visible to DefaultSocket, and it will > be visible to DefaultSecureSocket and DefaultRTPSocket, and so it will be > visible to SecureRTPSocket, because SecureRTPSocket extends > DefaultSecureSocket. If there exist void SecureRTPSocket#reset() then it > just overrides void DefaultSecureSocket#reset() so there is not a problem > in this case. If there exist a int SecureRTPSocket#reset() than client's > code will break (will not compile at all). This makes sense because when a > client extends API's classes it means he knows what he is doing and he > understand the internals of those classes, so he is aware of any change. In > our example a good developer would simply uses encapsulation, and have > something like this: class SecureRTSocket implements SecureSocket, > RTSocket, and uses a private DefaultSecureSocket to delegate some of its > methods and implements the rest. However, if this is n! > ot a good approach an other alternative would be to ignore the virtual > methods just like in the above cases. The last approach introduces an extra > effort because it requires from API developers to write override void > reset() to each implementation class (Default...Socket) but at least this > ensures 100% backward compatibility. Think of void Collection#foreach, it > will require for each Collection's subtype to write override void > foreach(). Is this affordable? Well, the virtual methods are used to > extends an API so I think this is an effort that it worth. > 6) What does override void reset() implementation body contains? The case > is: a) it can completely override the super's default implementation, b) it > can write something like this SuperType.reset() in order to accept super's > default implementation. > 7) Where the client has already extended Socket interface, let say he has > an interface like this ISecureRTPSocket and SecureRTPSocket class > implements this interface. In this case void Socket#reset() is a virtual > method so it is visible to ISecureRTPSocket as a virtual one. But it is not > visible to SecureRTPSocket because the doesn't exists any override void > SecureRTPSocket#reset(). Here we don't have any client's code compatibility > issues, it works just like the above cases. > 8) Where there doesn't exists any override void SecureRTPSocket#reset() > (look at the example above). In this case if the first approach will be > implemented then if exists override void DefaultSocket#reset() the reset() > method will be visible to all other subclasses just like any other method. > If the second approach will be implemented then, if there doesn't exist any > override void DefaultSocket#reset() then it will not be visible to > DefaultSecureSocket so a override void DefaultSecureSocket#reset() will be > a compilation error (not in our case because DefaultSecureSocket implements > SecureSocket, reset() is visible to SecureSocket and so override void > DefaultSecureSocket#reset() can be overrided). The rule is simple: if we > have interface A, B and C extends A, then virtual method A#m() will be > visible to B and C. If classes Bimp implements B, Dimp extends Bimp, if > there exists override Bimp#m() then could exist override Dimp#m() too, if > not then Dimp must explicitly implements ! > A, B or C so we can have override Dimp#m(). > 9) The compiler and runtime will be crazy with all this complexity. > Actually I can't give any reliable response to this. From a higher level I > think the compiler and runtime can treat virtual methods just like any > other method but with some small differences. In case there is a Interface > to Interface resolution they can easily be treated just like other methods, > after all we can keep backward compatibility because an interface is not > required to have an implementation so the virtual method in my interfaces > will not break other interfaces. In case of classes the compiler and or > runtime can make the distinct between virtual methods and other regular > methods by keeping (let say) an extra bit for a method. So when this bit is > 0 it is a regular method and the resolution is the same as before in Java > 7, when this bit is 1 it is a virtual method so the resolution can follow > the rules I stated above. Especially if the second approach will be > implemented (see 5) above) the compiler c! > an easily keep track of virtual methods because the keyword override will > be present in any class that implements the virtual method so it can deal > with their (strange) resolutions and conflicts. > Conclusions: > I think the approach of keyword override and the resolution of virtual > methods in this way doesn't break any OOP principles (well I am just an > undergraduate student that is going to be graduated soon, so I cant say > this for sure :-)). Indeed it imposes good OOP because it requires the > attention of programmer. Think of this scenario: I am about to work at a > company and my boss just gave me a job description (the interface, which is > the contract). I take my responsibilities and try to do my best to do my > job according to its description. My boss has a new job description for me > and he required to meet me to announce that. In the meanwhile some guy from > staff who already knows that my by boss is having a new job description for > me comes to me and requires me to do some job that is in the new job > description not in the one I have. What should I do in this case? Should I > try to do what he says, at the risk of doing something that I am not > prepare to do, or should I say to him Uns! > upportedJobException? When I get my new job description from my boss I > sit down and learn how to do it and write to my notes override > JobDesc#newJob1(), override JobDesc#newJob2() and so on. Next time the guy > from staff comes to me I would be prepared and happily do what he requires > by taking my responsibilities. > Thank you for hearing me. I know there are brilliant minds out there that > could make all of my ideas useless, unfortunately I am not an experienced > Software Engineer (well actually not even a new SE :-)) so I could not > think of all the tricks. At least I tried to squeeze my little mind and > express my thoughts (damn English I really want to master you :-). > I am looking forward to hearing from you. > > > Subject: Re: Interface evolution via virtual extension methods - > Extending Interfaces By Breaking Application Logic (Dangerous) > > From: brian.goetz at oracle.com > > Date: Sun, 11 Mar 2012 21:51:35 -0700 > > CC: lambda-dev at openjdk.java.net > > To: elvis_ligu at hotmail.com > > > > Thanks for your comments. Responses inline: > > > > > 1 - There is a risk of breaking client code: consider a developer who > has already implemented a comparator like this: abstract class > MyComparator implements Comparator { protected int order = 1; public void > reverseOrder() { return -1*order;} } > > > and uses this somewhere in his code like this: > MyComparator c = new MyComparator() { public int compare(Objct o1, Object > o2) { return order* (o1.toString().compareTo(o2.toString())); }} .... > c.reverseOrder(); Arrays.sort(list, c); If oracle developers > decide to add such a method in Comparator interface then they can not > ensure that client code will not break; two methods with the same > signature but with a different returned type can not compile (at least not > in java 7). > > > > Yes, this is a risk. Note that this is not new with extension methods; > this risk exists for adding new methods to existing classes (abstract or > concrete) too. > > > > The alternative is: never add any new methods to libraries. We find > this alternative unappealing! > > > > > 2 - There is a risk of breaking client logic: according to Brian's > paper, section 3. Method Dispatch, we can have a diamond-shaped hierarchy > as: > > > interface A { void m() default X.a; } interface B extends A { } > interface C extends A { } class D implements B, C { } > > > When the compiler sees d.m() and if there is not an implementation of > m() in class D then it will call the default method implementation A.m(). > > > > The compiler does *not* short-circuit calls to D.m() to A.m(). The > compiler emits an invokespecial with D.m(); the runtime will perform the > resolution, and if the situation is still like this by the time the classes > are actually loaded, then the VM will decide to dispatch to A.m(). (This > is no different than today; the compiler's job is simply to sanity-check > linkage and "fail fast" if the compiler can see the call would not succeed > if made at runtime with the classes as they are at compile time, but the > runtime builds vtables based on the classes it sees at runtime.) > > > > > The client of this API can easily "make the mistake" of relying on > default implementation of A.m(). > > > > Again, this is nothing new. Let's say class C has a method q(), and D > extends C but does not override q(). Clients of D could easily "make the > mistake" of assuming calls to D.q() are going to end up at C.q(), but that > is simply a mistake. > > > > > For some reason in the future the developerof the API would like to > add a default implementation of m() in B. The problem in this case is > bigger than in case 1; > > > a) if the client of API have already extended interface A with B1 and > provided a default implementation for m, and has a "class E implements B, > B1" the client code will break. > > > > At this point E will not compile, due to competing implementations in B > and B1. > > > > > b) the default m() in B will probably break invariants of a "class > MyClass implements B, C" and cause no compile error. > > > > Why? If B.m() overrides A.m(), we expect B.m() to implement the > contract of A.m(). Note that interfaces have no state (barring heroic > actions), so the protection of state-based invariants still falls entirely > to C and its subclasses. The implementation of m() in A or B can only call > other interface methods, and if any of those affect state in C, eventually > we'll be calling code in C to actually touch the state. > > > > > 1 - How to keep backward compatibility? Well at least in the > transition phase from java 7 to java 8 nothing can ensure the java > developers that adding a virtual method inCollection interface will be > compatible with the old java. So my suggestion is another keyword, let say > override. Let say we add reverseOrder() in interface Comparator.In this > case the java compiler will make the reverseOrder() visible to Comparator's > subtypes only and only if the subtype explicitly define: override > reverseOrder(). > > > > I believe this is a request for "opting in" to extension methods, rather > than having them actually inherited? I invite you to propose exactly how > this might work in more detail. > > > > > So incase 1 MyComparator (the client code) is not affected; > reverseOrder() is not visible in MyComparator. 2 - How to avoid making API > fragile by default (case 2)? My suggestion is the same as the above: the > keyword override. By writing override reverseOrder() the API's clientis > required to explicitly define which default implementation he is relying > on, specifying SuperType.super.m() or make a "default none" in case of an > interface. If the clientdoesn't specify override, there i! > > > > You say "client" when I think you mean "subclass". Are you really > suggesting the opt-in should be at the *client* site, or are you speaking > only at the inheritance site? > > > > > > > From notecrusher at gmail.com Wed Mar 14 19:45:10 2012 From: notecrusher at gmail.com (Chance) Date: Wed, 14 Mar 2012 19:45:10 -0700 Subject: type inference Message-ID: On Wed, Feb 22, 2012 at 8:28 AM, Maurizio Cimadamore wrote: > As Brian said, details of type-inference are being figured out as we > speak. The design space is, as you can imagine, fairly big, and > solutions might vary from a full-blown global type-inferencer ?(a la ML) > to strategies that work in a more local environment. We think that the > latter strategies have better chance of succeeding in the Java ecosystem Is type inference being added only as it relates to lambdas or as a general language feature so that you could declare a String as: s = "hey"; Chance From elvis_ligu at hotmail.com Wed Mar 14 20:14:20 2012 From: elvis_ligu at hotmail.com (Elvis Ligu) Date: Thu, 15 Mar 2012 04:14:20 +0100 Subject: Interface evolution via virtual extension methods - Extending Interfaces By Breaking Application Logic (Dangerous) In-Reply-To: References: , <468AE15D-EFB8-4565-81CE-28792DE58FE9@oracle.com>, , , Message-ID: > However User#use crashes in JDK8 at runtime. * There is a type in my example at: private override void ... I wanted to write public .... Why? IImpl in JDK8 will not compile at all, because there are two m2() one return int and the other return void.I think you didn't got my point, or probably I didn't make it clear. However, private override void m2() in IImpl in JDK8 is invalid according to what I mean. You should have an implementation in IImpl if you write override..., unless IImpl is an abstract class or an interface (that is what I mean, or however what I wanted to say), and ofcourse it should be public override void m2(). The only one that will crash here is IImpl. Probably you didn't understand virtual methods too. When you extend an API with a virtual method you should provide a default implementation for it. So in your example if m2() is a virtual method it must have a default implementation. Because of this Processor#doProcess() will not break at all, neither the User#use(). So there are to choices left to client: a) ignore I#m2() (in other words leave it as is, and accept the default implementation), b) provide your own implementation in IImpl which means THE CLIENT IS DOING ON HIS OWN, EITHER HE HAS TO REFACTOR HIS CODE TO RESOLVE CONFLICT BETWEEN int IImpl#m2() AND void I#m2() OR GO TO CHOICE a) AND IGNORE IT (HE STILL WILL BE ABLE TO USE JDK8), OR JUST DON'T USE JDK8 AT ALL AND BE HAPPY WITH JDK7. To avoid misconception my intention was this: if you write override ... method() for a virtual method then it means you are going to give an implementation so it is visible to your class. If you have an interface with a virtual method but have no class implementation that overrides it then the virtual method will not be visible at all at this class BUT IT WILL BE RUNNING because there is a default implementation for it. So everyone is happy: API developers don't break their API, and client code continue to run. Date: Thu, 15 Mar 2012 10:42:34 +0900 Subject: Re: FW: Interface evolution via virtual extension methods - Extending Interfaces By Breaking Application Logic (Dangerous) From: bitterfoxc at gmail.com To: elvis_ligu at hotmail.com CC: lambda-dev at openjdk.java.net I couldn't agree with you. I don't think "override" resolve the problem. For instance: @API @Version("JDK7") interface I { void m1(); } @API @Version("JDK7") class Processor { public void doProcess(I i) { i.m1(); } } @Client @Version("JDK7") class IImpl implements I { public void m1() { ...; } public int m2() { ...; } } @Client @Version("JDK7") class User { public void use() { new Processor().doProcess(new IImpl()); } } I think this is a very frequently pattern. And in JDK8, @API Processor is updated with the update of I: @API @Version("JDK8") interface I { void m1(); @Version("JDK8") void m2(); } @API @Version("JDK8") class Processor { public void doProcess(I i) { i.m1(); i.m2(); } } @Client @Version("JDK8") class IImpl implements I { public void m1() { ...; } public int m2() { ...; } @Version("JDK8") private override void m2(); } // User is retained at @Version("JDK7") We can compile well every classes. However User#use crashes in JDK8 at runtime. So we find "override" just postpone occurring error until runtime. And all of method invocations are in fear by "override". Because it breaks the contract of types: a member declared in supertype is valid in a instance of every subtype. This is critical in Java that is strong typed language and a new problem. I guess "override" might cause more trouble than it solves. Regards, bitter_fox 2012/3/14 Elvis Ligu From: elvis_ligu at hotmail.com To: brian.goetz at oracle.com Subject: RE: Interface evolution via virtual extension methods - Extending Interfaces By Breaking Application Logic (Dangerous) Date: Tue, 13 Mar 2012 16:40:14 +0100 (I just saw my email, and I apologize for the horrible formatting) I will try to give a very simple example in order to explain (at least I will give it a try) what I mean. Before starting let me tell you that I don't have a lot of knowledge about compilers and how things works into details, so I can't propose anything in detail. I am looking at the problem from a SE perspective and how to achieve a smooth transition from java 7 to java 8 avoiding the overall complexity and accidentally breaking the client code. By breaking client code I mean, breaking client's application even from not compiling at all (which is the least undesirable) or breaking client's application logic (the worst case is when the client's application compiles, run, and pass all tests but the application logic is in some way compromised). Before continue this is how do I interpret the following concepts: - Client code, API's client, and client in general -> the client is some other (let say a developer) different from API. For example, I am a client of Collections API in Java SE 7, and my code is the client code. You can assume my classes are API's client or I (as a developer) am the client. Generally speaking, the client is independent from the API's development process, and is using the API according to its public contract (the interface, whether they are classes or interfaces). - Caller -> I would like to avoid the misunderstanding between an API's client and a class client. So when I say caller I mean the client of a specific class (and or interface). I.e. in class A there is a statement b.print(); in this case I would rather say class A (the instance of A) is the caller of class B (the instance of B). - Java Interface -> explicitly or implicitly a Java Interface (i.e, interface Service {}) is part of the contract of the API. It doesn't provide any implementation (and it shouldn't), and the purpose of it is to define a communication point between the implementation provider and the caller. An other purpose is to define an implicit logic, i.e. Comparator has method compare(), where the method signature is the definition of communication rules (the caller must call this method using its signature), and the logic is that the method compare() takes two same arguments and return the order of those objects: 0 -> equals, positive integer -> ob! j1 > obj2, negative integer -> obj1 < obj2. Of course there is nothing to prevent a client to break the implicit logic an interface imposes, and this depends on implementation, however this is not an issue from the API's developer perspective. Our example - the API: interface Socket { ... // method added in release 1.1 public void consumePackets(final PacketBuffer packets) default { final List buffer = new ArrayList(); synchronized(packets) { while(packets.hasNext()) buffer.add(p.next()); } final PacketSequence sequence = new PacketSequence(buffer.toArray(new Packet[0])); // an empty sequence will be returned if no previous one exists final PacketSequence current = getPreviousSequence().merge(sequence); setCurrentSequence(current); } ... } interface SecureSocket extends Socket { } interface RTPSocket { ... // this is defined in release 2.0 public void consumePackets(final PacketBuffer packets) default { final List buffer = new ArrayList(); synchronized(packets) { while(packets.hasN! ext()) { Packet p = p.next(); buffer.add(p); // send each packet to handler to avoid delay transmitPacketsToRTPHandlers(new Packet[]{p}); } final PacketSequence sequence = new PacketSequence(buffer.toArray(new Packet[0])); // an empty sequence will be returned if no previous one exists final PacketSequence current = getPreviousSequence().merge(sequence); setCurrentSequence(current); } ... } class DefaultSocket implements Socket{} class DefaultSecureSocket extends DefaultSocket implements SecureSocket{} class DefaultRTPSocket extends DefaultSocket implemenets RTPSocket{} Here the API designers, have designed an API which provide socket communication to its clients. In release 1.0 the Socket interface didn't have a consumePackets() method. In release 1.1 API designers would like to extend Socket interface so they introduced consumePackets() and provided a default implementation because they don't want to break the clients' code. In release 2.0 they decided to change the default implementation of consumePackets() because they observed their DefaultRTPSocket was having delays when this method was called. They decided to deliver each packet to the handlers while consuming the packets and leave the rest as is. Our example - API's client // defined after release 1.1 of API class SecureRTPSocket extends DefaultSecureSocket implements RTPSocket { ... public void setCurrentSequence(PackeSequence sequence) { doubleBufferSequence(sequence); transmitPacketsToRTPHandlers(getPacketsArray()); } // this is not override, this is defined here public int reset() { ... }; } Here the API's client, using the version 1.1 decided to construct a new secure rtp socket. He used the default implementation of consumePackets() because it did meet his requirements. Because he already observed the delay produced by consumePackets() he decided to use a double buffer in order to avoid it. His application was working perfectly until he decided to replace the old API v1.1 with the new API v2.0. After replacing the API its application started to have delays! In this case the delay comes from the fact that API designers override the default implementation of consumePackets(), and the handler is getting duplicate packets!!! Of course the handler is smart enough to reject duplicate packets. But the problem is still there, so the client is going to invest it. The client is lookingat DefaultSecureSocket and at Socket#consumePackets() but he can't find the problem. Why he is not looking at RTPSocket? Well for 15 years now Java developers don't expect the interface to! impact their implementation without breaking the contract (look at the definition above). I know such a powerful mechanism in Java would by very great and using it wisely would provide so much flexibility to an API developer. On the other hand it increases the possibility of writing fragile code. Of course the above example is such a bad one and can be easily avoided, but again virtual methods are increasing risks. Think of C++ and its power, think of multiply inheritance, one can say that it is powerful, however (in my opinion) it complicates things and can lead at more fragile code. As you stated this is an old problem, because this problem is still present with abstract classes for example, but as I previously stated a Java developer has never looked at Interfaces as they are abstract classes. Should they start doing it now? As I can see you are working at Oracle, and I understand that when it comes to make a change to existing Java API it is a very critical decision, to be or not to be. One of the big problems you should face with is backward compatibility. I was reading some email from a guy here at this mail list where he was concerned about Collections API and the changes that can possibly be made at Java 8. He had extended a Collections interface and added some methods, let say foreach(). In this case if you add a method foreach() it would possibly break his API and this is not what you want. In the above example if the client had a method int reset() in SecureRTPSocket the API designers will not be able to add a method void reset() in Socket interface, at least not without breaking the client's code. The problem here is that API developers don't know how API clients are using their API so they can not make any assumption. Actually the virtual methods gives you the (virtual reality) sense o! f thinking that by adding a method to an interface you, will not break the API, but as you we can easily see this is not the case. * Here I am not criticizing the virtual methods, I like the idea very much. I am rising some of the facts we need to consider when dealing with them. However, I think there is an interesting solution we can avoid such problems, especially API breaks (from the perspective of API designer). Looking at the above example, let consider the API designers would like to add a method void reset() at Socket interface. In this case we could have a client's code break here, because there is a int reset() method. To avoid this, we can have an other keyword: override.In order the SecureRTPSocket to see the new virtual method he has to write something like this: private override void reset(){...} If the client doesn't write something like this than this method is not visible to client's class SecureRTPSocket. Some one would say this is not possible because what if some one makes a call like this: Socket socket = getSocket(); socket.reset(); In such a case if getSocket() has a return type Socket and the implementation of getSocket() returns a SecureRTPSocketthere are two possibilities: 1) method reset() is already present in SecureRTPSocket, 2) method reset() is not present. Here how it can possibly works: 1) In version 1.1 the client didn't know any Socket#reset() method so there is not a statement in his code that will call Socket#reset().If the Socket#reset() method is ignored in v2.0 his code will continue to be compatible even in case there is a int SecureRTPSocket#reset(). 2) There is a void SecureRTPSocket#reset() method. Even in this case the Socket#reset() method will be ignored if called as above. At least in client's code will not be any Socket#reset() call, because his code was written based on v1.1. 3) When a caller call Socket#reset(), if this method is ignored in the underlying class implementation, in our case SecureRTPSocket, then a UnsupportedOperationException will be thrown. This makes sense because, the old client code is ignoring Socket#reset() so it simply means "I don't have any implementation for this". 4) When there exists a void SecureRTPSocket#reset(). Again if the caller calls void Socket#reset() and the void SecureRTPSocket#reset() existsbefore void Socket#reset() then an UnsupportedOperationException is thrown. This makes sense because, the old client code will not have any call Socket#reset(), instead it could have calls like SecureRTPSocket#reset() and this will normally work because no resolution is required against Socket interface. 5) When there exists a override void DefaultSocket#reset(). Well in this case the void Socket#reset() will be visible to DefaultSocket, and it will be visible to DefaultSecureSocket and DefaultRTPSocket, and so it will be visible to SecureRTPSocket, because SecureRTPSocket extends DefaultSecureSocket. If there exist void SecureRTPSocket#reset() then it just overrides void DefaultSecureSocket#reset() so there is not a problem in this case. If there exist a int SecureRTPSocket#reset() than client's code will break (will not compile at all). This makes sense because when a client extends API's classes it means he knows what he is doing and he understand the internals of those classes, so he is aware of any change. In our example a good developer would simply uses encapsulation, and have something like this: class SecureRTSocket implements SecureSocket, RTSocket, and uses a private DefaultSecureSocket to delegate some of its methods and implements the rest. However, if this is n! ot a good approach an other alternative would be to ignore the virtual methods just like in the above cases. The last approach introduces an extra effort because it requires from API developers to write override void reset() to each implementation class (Default...Socket) but at least this ensures 100% backward compatibility. Think of void Collection#foreach, it will require for each Collection's subtype to write override void foreach(). Is this affordable? Well, the virtual methods are used to extends an API so I think this is an effort that it worth. 6) What does override void reset() implementation body contains? The case is: a) it can completely override the super's default implementation, b) it can write something like this SuperType.reset() in order to accept super's default implementation. 7) Where the client has already extended Socket interface, let say he has an interface like this ISecureRTPSocket and SecureRTPSocket class implements this interface. In this case void Socket#reset() is a virtual method so it is visible to ISecureRTPSocket as a virtual one. But it is not visible to SecureRTPSocket because the doesn't exists any override void SecureRTPSocket#reset(). Here we don't have any client's code compatibility issues, it works just like the above cases. 8) Where there doesn't exists any override void SecureRTPSocket#reset() (look at the example above). In this case if the first approach will be implemented then if exists override void DefaultSocket#reset() the reset() method will be visible to all other subclasses just like any other method. If the second approach will be implemented then, if there doesn't exist any override void DefaultSocket#reset() then it will not be visible to DefaultSecureSocket so a override void DefaultSecureSocket#reset() will be a compilation error (not in our case because DefaultSecureSocket implements SecureSocket, reset() is visible to SecureSocket and so override void DefaultSecureSocket#reset() can be overrided). The rule is simple: if we have interface A, B and C extends A, then virtual method A#m() will be visible to B and C. If classes Bimp implements B, Dimp extends Bimp, if there exists override Bimp#m() then could exist override Dimp#m() too, if not then Dimp must explicitly implements ! A, B or C so we can have override Dimp#m(). 9) The compiler and runtime will be crazy with all this complexity. Actually I can't give any reliable response to this. From a higher level I think the compiler and runtime can treat virtual methods just like any other method but with some small differences. In case there is a Interface to Interface resolution they can easily be treated just like other methods, after all we can keep backward compatibility because an interface is not required to have an implementation so the virtual method in my interfaces will not break other interfaces. In case of classes the compiler and or runtime can make the distinct between virtual methods and other regular methods by keeping (let say) an extra bit for a method. So when this bit is 0 it is a regular method and the resolution is the same as before in Java 7, when this bit is 1 it is a virtual method so the resolution can follow the rules I stated above. Especially if the second approach will be implemented (see 5) above) the compiler c! an easily keep track of virtual methods because the keyword override will be present in any class that implements the virtual method so it can deal with their (strange) resolutions and conflicts. Conclusions: I think the approach of keyword override and the resolution of virtual methods in this way doesn't break any OOP principles (well I am just an undergraduate student that is going to be graduated soon, so I cant say this for sure :-)). Indeed it imposes good OOP because it requires the attention of programmer. Think of this scenario: I am about to work at a company and my boss just gave me a job description (the interface, which is the contract). I take my responsibilities and try to do my best to do my job according to its description. My boss has a new job description for me and he required to meet me to announce that. In the meanwhile some guy from staff who already knows that my by boss is having a new job description for me comes to me and requires me to do some job that is in the new job description not in the one I have. What should I do in this case? Should I try to do what he says, at the risk of doing something that I am not prepare to do, or should I say to him Uns! upportedJobException? When I get my new job description from my boss I sit down and learn how to do it and write to my notes override JobDesc#newJob1(), override JobDesc#newJob2() and so on. Next time the guy from staff comes to me I would be prepared and happily do what he requires by taking my responsibilities. Thank you for hearing me. I know there are brilliant minds out there that could make all of my ideas useless, unfortunately I am not an experienced Software Engineer (well actually not even a new SE :-)) so I could not think of all the tricks. At least I tried to squeeze my little mind and express my thoughts (damn English I really want to master you :-). I am looking forward to hearing from you. > Subject: Re: Interface evolution via virtual extension methods - Extending Interfaces By Breaking Application Logic (Dangerous) > From: brian.goetz at oracle.com > Date: Sun, 11 Mar 2012 21:51:35 -0700 > CC: lambda-dev at openjdk.java.net > To: elvis_ligu at hotmail.com > > Thanks for your comments. Responses inline: > > > 1 - There is a risk of breaking client code: consider a developer who has already implemented a comparator like this: abstract class MyComparator implements Comparator { protected int order = 1; public void reverseOrder() { return -1*order;} } > > and uses this somewhere in his code like this: MyComparator c = new MyComparator() { public int compare(Objct o1, Object o2) { return order* (o1.toString().compareTo(o2.toString())); }} .... c.reverseOrder(); Arrays.sort(list, c); If oracle developers decide to add such a method in Comparator interface then they can not ensure that client code will not break; two methods with the same signature but with a different returned type can not compile (at least not in java 7). > > Yes, this is a risk. Note that this is not new with extension methods; this risk exists for adding new methods to existing classes (abstract or concrete) too. > > The alternative is: never add any new methods to libraries. We find this alternative unappealing! > > > 2 - There is a risk of breaking client logic: according to Brian's paper, section 3. Method Dispatch, we can have a diamond-shaped hierarchy as: > > interface A { void m() default X.a; } interface B extends A { } interface C extends A { } class D implements B, C { } > > When the compiler sees d.m() and if there is not an implementation of m() in class D then it will call the default method implementation A.m(). > > The compiler does *not* short-circuit calls to D.m() to A.m(). The compiler emits an invokespecial with D.m(); the runtime will perform the resolution, and if the situation is still like this by the time the classes are actually loaded, then the VM will decide to dispatch to A.m(). (This is no different than today; the compiler's job is simply to sanity-check linkage and "fail fast" if the compiler can see the call would not succeed if made at runtime with the classes as they are at compile time, but the runtime builds vtables based on the classes it sees at runtime.) > > > The client of this API can easily "make the mistake" of relying on default implementation of A.m(). > > Again, this is nothing new. Let's say class C has a method q(), and D extends C but does not override q(). Clients of D could easily "make the mistake" of assuming calls to D.q() are going to end up at C.q(), but that is simply a mistake. > > > For some reason in the future the developerof the API would like to add a default implementation of m() in B. The problem in this case is bigger than in case 1; > > a) if the client of API have already extended interface A with B1 and provided a default implementation for m, and has a "class E implements B, B1" the client code will break. > > At this point E will not compile, due to competing implementations in B and B1. > > > b) the default m() in B will probably break invariants of a "class MyClass implements B, C" and cause no compile error. > > Why? If B.m() overrides A.m(), we expect B.m() to implement the contract of A.m(). Note that interfaces have no state (barring heroic actions), so the protection of state-based invariants still falls entirely to C and its subclasses. The implementation of m() in A or B can only call other interface methods, and if any of those affect state in C, eventually we'll be calling code in C to actually touch the state. > > > 1 - How to keep backward compatibility? Well at least in the transition phase from java 7 to java 8 nothing can ensure the java developers that adding a virtual method inCollection interface will be compatible with the old java. So my suggestion is another keyword, let say override. Let say we add reverseOrder() in interface Comparator.In this case the java compiler will make the reverseOrder() visible to Comparator's subtypes only and only if the subtype explicitly define: override reverseOrder(). > > I believe this is a request for "opting in" to extension methods, rather than having them actually inherited? I invite you to propose exactly how this might work in more detail. > > > So incase 1 MyComparator (the client code) is not affected; reverseOrder() is not visible in MyComparator. 2 - How to avoid making API fragile by default (case 2)? My suggestion is the same as the above: the keyword override. By writing override reverseOrder() the API's clientis required to explicitly define which default implementation he is relying on, specifying SuperType.super.m() or make a "default none" in case of an interface. If the clientdoesn't specify override, there i! > > You say "client" when I think you mean "subclass". Are you really suggesting the opt-in should be at the *client* site, or are you speaking only at the inheritance site? > From brian.goetz at oracle.com Wed Mar 14 22:57:11 2012 From: brian.goetz at oracle.com (Brian Goetz) Date: Wed, 14 Mar 2012 22:57:11 -0700 Subject: type inference In-Reply-To: References: Message-ID: Type inference has been available in Java for quite some time; it was introduced in Java 5 to support generic methods, and then extended in Java 7 with the "diamond" feature. It is being extended further in Java 8 in several ways -- refinement of the basic type inference algorithm (to support type inference in more contexts, such as using diamond in method invocation contexts), and inferring formal parameters of lambdas from the target type. We will NOT be taking it as far as allowing you to omit type declarations on variables (such as allowing "var x = ...", as C# or Scala does). Instead we allow removal of type information at the *use* site when it can be inferred from declarations, rather than allowing type-less declarations. On Mar 14, 2012, at 7:45 PM, Chance wrote: > On Wed, Feb 22, 2012 at 8:28 AM, Maurizio Cimadamore > wrote: >> As Brian said, details of type-inference are being figured out as we >> speak. The design space is, as you can imagine, fairly big, and >> solutions might vary from a full-blown global type-inferencer (a la ML) >> to strategies that work in a more local environment. We think that the >> latter strategies have better chance of succeeding in the Java ecosystem > > Is type inference being added only as it relates to lambdas or as a > general language feature so that you could declare a String as: > s = "hey"; > > Chance > From bitterfoxc at gmail.com Thu Mar 15 00:11:46 2012 From: bitterfoxc at gmail.com (bitter_fox) Date: Thu, 15 Mar 2012 16:11:46 +0900 Subject: Interface evolution via virtual extension methods - Extending Interfaces By Breaking Application Logic (Dangerous) In-Reply-To: References: <468AE15D-EFB8-4565-81CE-28792DE58FE9@oracle.com> Message-ID: 2012/3/15 Elvis Ligu > Why? IImpl in JDK8 will not compile at all, because there are two m2() one > return int and the other return void. > I think you didn't got my point, or probably I didn't make it clear. > However, private override void m2() in IImpl in > JDK8 is invalid according to what I mean. You should have an > implementation in IImpl if you write override..., unless > IImpl is an abstract class or an interface (that is what I mean, or > however what I wanted to say), and ofcourse it should > be public override void m2(). The only one that will crash here is IImpl. > Yes, I didn't get your point: "overrid"den method can have a implementation. > When you extend an API with a virtual method you should provide a > default implementation for it. So in your example if m2() is a virtual > method it must have a default implementation. > Right. It is my easy mistake. > Because of this Processor#doProcess() will not break at all, neither the > User#use(). So there are to choices left to > client: a) ignore I#m2() (in other words leave it as is, and accept the > default implementation), b) provide your own > implementation in IImpl which means THE CLIENT IS DOING ON HIS OWN, EITHER > HE HAS TO REFACTOR HIS CODE > TO RESOLVE CONFLICT BETWEEN int IImpl#m2() AND void I#m2() OR GO TO CHOICE > a) AND IGNORE IT (HE STILL WILL > BE ABLE TO USE JDK8), OR JUST DON'T USE JDK8 AT ALL AND BE HAPPY WITH > JDK7. > > To avoid misconception my intention was this: if you write override ... > method() for a virtual method then it means you > are going to give an implementation so it is visible to your class. If you > have an interface with a virtual method but have > no class implementation that overrides it then the virtual method will not > be visible at all at this class BUT IT WILL BE > RUNNING because there is a default implementation for it. So everyone is > happy: API developers don't break their API, > and client code continue to run. > I recognized by 3) or 4) that all of calling for "overrid"den method will be a cause of UnsupportedOperationException. >3) When a caller call Socket#reset(), if this method is ignored in the underlying class implementation, in our case SecureRTPSocket, then a UnsupportedOperationException will be thrown. >This makes sense because, the old client code is ignoring Socket#reset() so it simply means "I don't have any implementation for this". >4) When there exists a void SecureRTPSocket#reset(). >Again if the caller calls void Socket#reset() and the void SecureRTPSocket#reset() exists before void Socket#reset() then an UnsupportedOperationException is thrown. >This makes sense because, the old client code will not have any call Socket#reset(), instead it could have calls like SecureRTPSocket#reset() and this will normally work because no resolution is required against Socket interface. So I thought any implementation has no meaning. But is the implementation for "overrid"den method valid as you told above? class C implements I { @Override public override void m() { System.out.println("A"); } public int m() { System.out.println("B"); return 0; } } C c = new C(); c.m(); // B I i = c; i.m(); // A Is this result right? Thank you for pointing out that I am in misunderstandings, bitter_fox > > ------------------------------ > Date: Thu, 15 Mar 2012 10:42:34 +0900 > Subject: Re: FW: Interface evolution via virtual extension methods - > Extending Interfaces By Breaking Application Logic (Dangerous) > From: bitterfoxc at gmail.com > To: elvis_ligu at hotmail.com > CC: lambda-dev at openjdk.java.net > > > I couldn't agree with you. > I don't think "override" resolve the problem. > > For instance: > > @API > @Version("JDK7") > interface I > { > void m1(); > } > > @API > @Version("JDK7") > class Processor > { > public void doProcess(I i) > { > i.m1(); > } > } > > @Client > @Version("JDK7") > class IImpl implements I > { > public void m1() > { > ...; > } > > public int m2() > { > ...; > } > } > > @Client > @Version("JDK7") > class User > { > public void use() > { > new Processor().doProcess(new IImpl()); > } > } > > I think this is a very frequently pattern. > > And in JDK8, @API Processor is updated with the update of I: > > @API > @Version("JDK8") > interface I > { > void m1(); > > @Version("JDK8") > void m2(); > } > > @API > @Version("JDK8") > class Processor > { > public void doProcess(I i) > { > i.m1(); > i.m2(); > } > } > > @Client > @Version("JDK8") > class IImpl implements I > { > public void m1() > { > ...; > } > > public int m2() > { > ...; > } > > @Version("JDK8") > private override void m2(); > } > > // User is retained at @Version("JDK7") > > We can compile well every classes. > However User#use crashes in JDK8 at runtime. > So we find "override" just postpone occurring error until runtime. > > And all of method invocations are in fear by "override". > Because it breaks the contract of types: a member declared in supertype is > valid in a instance of every subtype. > This is critical in Java that is strong typed language and a new problem. > > I guess "override" might cause more trouble than it solves. > > Regards, > bitter_fox > > > 2012/3/14 Elvis Ligu > > > > > From: elvis_ligu at hotmail.com > To: brian.goetz at oracle.com > Subject: RE: Interface evolution via virtual extension methods - Extending > Interfaces By Breaking Application Logic (Dangerous) > Date: Tue, 13 Mar 2012 16:40:14 +0100 > > > > > > > > > > > > > > (I just saw my email, and I apologize for the horrible formatting) > I will try to give a very simple example in order to explain (at least I > will give it a try) what I mean. Before starting let me tell you that I > don't have a lot of knowledge about compilers and how things works into > details, so I can't propose anything in detail. I am looking at the problem > from a SE perspective and how to achieve a smooth transition from java 7 to > java 8 avoiding the overall complexity and accidentally breaking the client > code. By breaking client code I mean, breaking client's application even > from not compiling at all (which is the least undesirable) or breaking > client's application logic (the worst case is when the client's application > compiles, run, and pass all tests but the application logic is in some way > compromised). > Before continue this is how do I interpret the following concepts: > - Client code, API's client, and client in general -> the client is some > other (let say a developer) different from API. For example, I am a client > of Collections API in Java SE 7, and my code is the client code. You can > assume my classes are API's client or I (as a developer) am the client. > Generally speaking, the client is independent from the API's development > process, and is using the API according to its public contract (the > interface, whether they are classes or interfaces). > - Caller -> I would like to avoid the misunderstanding between an API's > client and a class client. So when I say caller I mean the client of a > specific class (and or interface). I.e. in class A there is a statement > b.print(); in this case I would rather say class A (the instance of A) is > the caller of class B (the instance of B). - Java Interface -> explicitly > or implicitly a Java Interface (i.e, interface Service {}) is part of the > contract of the API. It doesn't provide any implementation (and it > shouldn't), and the purpose of it is to define a communication point > between the implementation provider and the caller. An other purpose is to > define an implicit logic, i.e. Comparator has method compare(), where the > method signature is the definition of communication rules (the caller > must call this method using its signature), and the logic is that the > method compare() takes two same arguments and return the order of those > objects: 0 -> equals, positive integer -> ob! > j1 > obj2, negative integer -> obj1 < obj2. Of course there is nothing to > prevent a client to break the implicit logic an interface imposes, and > this depends on implementation, however this is not an issue from the > API's developer perspective. > Our example - the API: interface Socket { ... // method > added in release 1.1 public void consumePackets(final > PacketBuffer packets) default { final > List buffer = new ArrayList(); > synchronized(packets) { while(packets.hasNext()) > buffer.add(p.next()); } final PacketSequence sequence = > new PacketSequence(buffer.toArray(new Packet[0])); // an > empty sequence will be returned if no previous one exists final > PacketSequence current = getPreviousSequence().merge(sequence); > setCurrentSequence(current); } ... } interface SecureSocket > extends Socket { } interface RTPSocket { ... // this is > defined in release 2.0 public void consumePackets(final > PacketBuffer packets) default { final > List buffer = new ArrayList(); > synchronized(packets) { while(packets.hasN! > ext()) { Packet p = p.next(); > buffer.add(p); // send each packet to handler to avoid > delay transmitPacketsToRTPHandlers(new Packet[]{p}); > } final PacketSequence sequence = new > PacketSequence(buffer.toArray(new Packet[0])); > // an empty sequence will be returned if no previous one exists > final PacketSequence current = getPreviousSequence().merge(sequence); > setCurrentSequence(current); } ... } class > DefaultSocket implements Socket{} class DefaultSecureSocket extends > DefaultSocket implements SecureSocket{} class DefaultRTPSocket extends > DefaultSocket implemenets RTPSocket{} > Here the API designers, have designed an API which provide socket > communication to its clients. In release 1.0 the Socket interface didn't > have a consumePackets() method. In release 1.1 API designers would like to > extend Socket interface so they introduced consumePackets() and provided a > default implementation because they don't want to break the clients' code. > In release 2.0 they decided to change the default implementation of > consumePackets() because they observed their DefaultRTPSocket was having > delays when this method was called. They decided to deliver each packet to > the handlers while consuming the packets and leave the rest as is. > Our example - API's client > // defined after release 1.1 of API class SecureRTPSocket extends > DefaultSecureSocket implements RTPSocket { ... public void > setCurrentSequence(PackeSequence sequence) { > doubleBufferSequence(sequence); > transmitPacketsToRTPHandlers(getPacketsArray()); } > // this is not override, this is defined here public int reset() > { ... }; } > Here the API's client, using the version 1.1 decided to construct a new > secure rtp socket. He used the default implementation of consumePackets() > because it did meet his requirements. Because he already observed the delay > produced by consumePackets() he decided to use a double buffer in order to > avoid it. His application was working perfectly until he decided to replace > the old API v1.1 with the new API v2.0. After replacing the API its > application started to have delays! In this case the delay comes from the > fact that API designers override the default implementation of > consumePackets(), and the handler is getting duplicate packets!!! Of course > the handler is smart enough to reject duplicate packets. But the problem is > still there, so the client is going to invest it. The client is lookingat > DefaultSecureSocket and at Socket#consumePackets() but he can't find the > problem. Why he is not looking at RTPSocket? Well for 15 years now Java > developers don't expect the interface to! > impact their implementation without breaking the contract (look at the > definition above). I know such a powerful mechanism in Java would by very > great and using it wisely would provide so much flexibility to an API > developer. On the other hand it increases the possibility of writing > fragile code. Of course the above example is such a bad one and can be > easily avoided, but again virtual methods are increasing risks. Think of > C++ and its power, think of multiply inheritance, one can say that it is > powerful, however (in my opinion) it complicates things and can lead at > more fragile code. As you stated this is an old problem, because this > problem is still present with abstract classes for example, but as I > previously stated a Java developer has never looked at Interfaces as they > are abstract classes. Should they start doing it now? > As I can see you are working at Oracle, and I understand that when it > comes to make a change to existing Java API it is a very critical decision, > to be or not to be. One of the big problems you should face with is > backward compatibility. I was reading some email from a guy here at this > mail list where he was concerned about Collections API and the changes that > can possibly be made at Java 8. He had extended a Collections interface and > added some methods, let say foreach(). In this case if you add a method > foreach() it would possibly break his API and this is not what you want. In > the above example if the client had a method int reset() in SecureRTPSocket > the API designers will not be able to add a method void reset() in Socket > interface, at least not without breaking the client's code. The problem > here is that API developers don't know how API clients are using their API > so they can not make any assumption. Actually the virtual methods gives you > the (virtual reality) sense o! > f thinking that by adding a method to an interface you, will not break > the API, but as you we can easily see this is not the case. > * Here I am not criticizing the virtual methods, I like the idea very > much. I am rising some of the facts we need to consider when dealing with > them. > However, I think there is an interesting solution we can avoid such > problems, especially API breaks (from the perspective of API designer). > Looking at the above example, let consider the API designers would like to > add a method void reset() at Socket interface. In this case we could have a > client's code break here, because there is a int reset() method. To avoid > this, we can have an other keyword: override.In order the SecureRTPSocket > to see the new virtual method he has to write something like this: > private override void reset(){...} > If the client doesn't write something like this than this method is not > visible to client's class SecureRTPSocket. Some one would say this is not > possible because what if some one makes a call like this: > Socket socket = getSocket(); socket.reset(); > In such a case if getSocket() has a return type Socket and the > implementation of getSocket() returns a SecureRTPSocketthere are two > possibilities: 1) method reset() is already present in SecureRTPSocket, 2) > method reset() is not present. Here how it can possibly works: > 1) In version 1.1 the client didn't know any Socket#reset() method so > there is not a statement in his code that will call Socket#reset().If the > Socket#reset() method is ignored in v2.0 his code will continue to be > compatible even in case there is a int SecureRTPSocket#reset(). > 2) There is a void SecureRTPSocket#reset() method. Even in this case the > Socket#reset() method will be ignored if called as above. At least in > client's code will not be any Socket#reset() call, because his code was > written based on v1.1. > 3) When a caller call Socket#reset(), if this method is ignored in the > underlying class implementation, in our case SecureRTPSocket, then a > UnsupportedOperationException will be thrown. This makes sense because, the > old client code is ignoring Socket#reset() so it simply means "I don't have > any implementation for this". > 4) When there exists a void SecureRTPSocket#reset(). Again if the caller > calls void Socket#reset() and the void SecureRTPSocket#reset() existsbefore > void Socket#reset() then an UnsupportedOperationException is thrown. This > makes sense because, the old client code will not have any call > Socket#reset(), instead it could have calls like SecureRTPSocket#reset() > and this will normally work because no resolution is required against > Socket interface. > 5) When there exists a override void DefaultSocket#reset(). Well in this > case the void Socket#reset() will be visible to DefaultSocket, and it will > be visible to DefaultSecureSocket and DefaultRTPSocket, and so it will be > visible to SecureRTPSocket, because SecureRTPSocket extends > DefaultSecureSocket. If there exist void SecureRTPSocket#reset() then it > just overrides void DefaultSecureSocket#reset() so there is not a problem > in this case. If there exist a int SecureRTPSocket#reset() than client's > code will break (will not compile at all). This makes sense because when a > client extends API's classes it means he knows what he is doing and he > understand the internals of those classes, so he is aware of any change. In > our example a good developer would simply uses encapsulation, and have > something like this: class SecureRTSocket implements SecureSocket, > RTSocket, and uses a private DefaultSecureSocket to delegate some of its > methods and implements the rest. However, if this is n! > ot a good approach an other alternative would be to ignore the virtual > methods just like in the above cases. The last approach introduces an extra > effort because it requires from API developers to write override void > reset() to each implementation class (Default...Socket) but at least this > ensures 100% backward compatibility. Think of void Collection#foreach, it > will require for each Collection's subtype to write override void > foreach(). Is this affordable? Well, the virtual methods are used to > extends an API so I think this is an effort that it worth. > 6) What does override void reset() implementation body contains? The case > is: a) it can completely override the super's default implementation, b) it > can write something like this SuperType.reset() in order to accept super's > default implementation. > 7) Where the client has already extended Socket interface, let say he has > an interface like this ISecureRTPSocket and SecureRTPSocket class > implements this interface. In this case void Socket#reset() is a virtual > method so it is visible to ISecureRTPSocket as a virtual one. But it is not > visible to SecureRTPSocket because the doesn't exists any override void > SecureRTPSocket#reset(). Here we don't have any client's code compatibility > issues, it works just like the above cases. > 8) Where there doesn't exists any override void SecureRTPSocket#reset() > (look at the example above). In this case if the first approach will be > implemented then if exists override void DefaultSocket#reset() the reset() > method will be visible to all other subclasses just like any other method. > If the second approach will be implemented then, if there doesn't exist any > override void DefaultSocket#reset() then it will not be visible to > DefaultSecureSocket so a override void DefaultSecureSocket#reset() will be > a compilation error (not in our case because DefaultSecureSocket implements > SecureSocket, reset() is visible to SecureSocket and so override void > DefaultSecureSocket#reset() can be overrided). The rule is simple: if we > have interface A, B and C extends A, then virtual method A#m() will be > visible to B and C. If classes Bimp implements B, Dimp extends Bimp, if > there exists override Bimp#m() then could exist override Dimp#m() too, if > not then Dimp must explicitly implements ! > A, B or C so we can have override Dimp#m(). > 9) The compiler and runtime will be crazy with all this complexity. > Actually I can't give any reliable response to this. From a higher level I > think the compiler and runtime can treat virtual methods just like any > other method but with some small differences. In case there is a Interface > to Interface resolution they can easily be treated just like other methods, > after all we can keep backward compatibility because an interface is not > required to have an implementation so the virtual method in my interfaces > will not break other interfaces. In case of classes the compiler and or > runtime can make the distinct between virtual methods and other regular > methods by keeping (let say) an extra bit for a method. So when this bit is > 0 it is a regular method and the resolution is the same as before in Java > 7, when this bit is 1 it is a virtual method so the resolution can follow > the rules I stated above. Especially if the second approach will be > implemented (see 5) above) the compiler c! > an easily keep track of virtual methods because the keyword override will > be present in any class that implements the virtual method so it can deal > with their (strange) resolutions and conflicts. > Conclusions: > I think the approach of keyword override and the resolution of virtual > methods in this way doesn't break any OOP principles (well I am just an > undergraduate student that is going to be graduated soon, so I cant say > this for sure :-)). Indeed it imposes good OOP because it requires the > attention of programmer. Think of this scenario: I am about to work at a > company and my boss just gave me a job description (the interface, which is > the contract). I take my responsibilities and try to do my best to do my > job according to its description. My boss has a new job description for me > and he required to meet me to announce that. In the meanwhile some guy from > staff who already knows that my by boss is having a new job description for > me comes to me and requires me to do some job that is in the new job > description not in the one I have. What should I do in this case? Should I > try to do what he says, at the risk of doing something that I am not > prepare to do, or should I say to him Uns! > upportedJobException? When I get my new job description from my boss I > sit down and learn how to do it and write to my notes override > JobDesc#newJob1(), override JobDesc#newJob2() and so on. Next time the guy > from staff comes to me I would be prepared and happily do what he requires > by taking my responsibilities. > Thank you for hearing me. I know there are brilliant minds out there that > could make all of my ideas useless, unfortunately I am not an experienced > Software Engineer (well actually not even a new SE :-)) so I could not > think of all the tricks. At least I tried to squeeze my little mind and > express my thoughts (damn English I really want to master you :-). > I am looking forward to hearing from you. > > > Subject: Re: Interface evolution via virtual extension methods - > Extending Interfaces By Breaking Application Logic (Dangerous) > > From: brian.goetz at oracle.com > > Date: Sun, 11 Mar 2012 21:51:35 -0700 > > CC: lambda-dev at openjdk.java.net > > To: elvis_ligu at hotmail.com > > > > Thanks for your comments. Responses inline: > > > > > 1 - There is a risk of breaking client code: consider a developer who > has already implemented a comparator like this: abstract class > MyComparator implements Comparator { protected int order = 1; public void > reverseOrder() { return -1*order;} } > > > and uses this somewhere in his code like this: > MyComparator c = new MyComparator() { public int compare(Objct o1, Object > o2) { return order* (o1.toString().compareTo(o2.toString())); }} .... > c.reverseOrder(); Arrays.sort(list, c); If oracle developers > decide to add such a method in Comparator interface then they can not > ensure that client code will not break; two methods with the same > signature but with a different returned type can not compile (at least not > in java 7). > > > > Yes, this is a risk. Note that this is not new with extension methods; > this risk exists for adding new methods to existing classes (abstract or > concrete) too. > > > > The alternative is: never add any new methods to libraries. We find > this alternative unappealing! > > > > > 2 - There is a risk of breaking client logic: according to Brian's > paper, section 3. Method Dispatch, we can have a diamond-shaped hierarchy > as: > > > interface A { void m() default X.a; } interface B extends A { } > interface C extends A { } class D implements B, C { } > > > When the compiler sees d.m() and if there is not an implementation of > m() in class D then it will call the default method implementation A.m(). > > > > The compiler does *not* short-circuit calls to D.m() to A.m(). The > compiler emits an invokespecial with D.m(); the runtime will perform the > resolution, and if the situation is still like this by the time the classes > are actually loaded, then the VM will decide to dispatch to A.m(). (This > is no different than today; the compiler's job is simply to sanity-check > linkage and "fail fast" if the compiler can see the call would not succeed > if made at runtime with the classes as they are at compile time, but the > runtime builds vtables based on the classes it sees at runtime.) > > > > > The client of this API can easily "make the mistake" of relying on > default implementation of A.m(). > > > > Again, this is nothing new. Let's say class C has a method q(), and D > extends C but does not override q(). Clients of D could easily "make the > mistake" of assuming calls to D.q() are going to end up at C.q(), but that > is simply a mistake. > > > > > For some reason in the future the developerof the API would like to > add a default implementation of m() in B. The problem in this case is > bigger than in case 1; > > > a) if the client of API have already extended interface A with B1 and > provided a default implementation for m, and has a "class E implements B, > B1" the client code will break. > > > > At this point E will not compile, due to competing implementations in B > and B1. > > > > > b) the default m() in B will probably break invariants of a "class > MyClass implements B, C" and cause no compile error. > > > > Why? If B.m() overrides A.m(), we expect B.m() to implement the > contract of A.m(). Note that interfaces have no state (barring heroic > actions), so the protection of state-based invariants still falls entirely > to C and its subclasses. The implementation of m() in A or B can only call > other interface methods, and if any of those affect state in C, eventually > we'll be calling code in C to actually touch the state. > > > > > 1 - How to keep backward compatibility? Well at least in the > transition phase from java 7 to java 8 nothing can ensure the java > developers that adding a virtual method inCollection interface will be > compatible with the old java. So my suggestion is another keyword, let say > override. Let say we add reverseOrder() in interface Comparator.In this > case the java compiler will make the reverseOrder() visible to Comparator's > subtypes only and only if the subtype explicitly define: override > reverseOrder(). > > > > I believe this is a request for "opting in" to extension methods, rather > than having them actually inherited? I invite you to propose exactly how > this might work in more detail. > > > > > So incase 1 MyComparator (the client code) is not affected; > reverseOrder() is not visible in MyComparator. 2 - How to avoid making API > fragile by default (case 2)? My suggestion is the same as the above: the > keyword override. By writing override reverseOrder() the API's clientis > required to explicitly define which default implementation he is relying > on, specifying SuperType.super.m() or make a "default none" in case of an > interface. If the clientdoesn't specify override, there i! > > > > You say "client" when I think you mean "subclass". Are you really > suggesting the opt-in should be at the *client* site, or are you speaking > only at the inheritance site? > > > > > > > > From me at misto.ch Thu Mar 15 00:27:15 2012 From: me at misto.ch (Mirko Stocker) Date: Thu, 15 Mar 2012 08:27:15 +0100 Subject: What should default interfaces be for? In-Reply-To: References: Message-ID: <1781009.vama0jPzZh@pin6108475> On Wednesday 14 March 2012 18:42:10 Chance wrote: > It's too bad Odersky doesn't say HOW the defender method spec falls > short of supporting Scala traits. On Twitter Odersky said: "In essence, Java 8 default methods only work for traits that do not override methods in base classes." https://twitter.com/#!/odersky/status/179522310024335360 Cheers, Mirko -- Mirko Stocker | me at misto.ch Work: http://ifs.hsr.ch | http://infoq.com Personal: http://misto.ch | http://twitter.com/m_st From benjamin.john.evans at gmail.com Thu Mar 15 01:57:23 2012 From: benjamin.john.evans at gmail.com (Ben Evans) Date: Thu, 15 Mar 2012 08:57:23 +0000 Subject: sync'ing the hotspot repository with JDK8 In-Reply-To: References: Message-ID: Hi Keith, Will such a synch allow a lambda-capable Mac build? If so, please go for it, as my understanding is that it's still proving problematic to produce such a binary build. In the AdoptAJSR / AdoptOpenJDK projects we have a bunch of Mac users who are champing at the bit to have a play with lambdas. :) Thanks, Ben On Thu, Mar 15, 2012 at 12:25 AM, Keith McGuigan wrote: > Hi, > > Any objection to be me sync'ing the lambda hotspot repository with the > jdk8 hotspot repo (i.e., pulling jdk8 into lambda)? > > -- > - Keith > From keith.mcguigan at oracle.com Thu Mar 15 05:54:25 2012 From: keith.mcguigan at oracle.com (Keith McGuigan) Date: Thu, 15 Mar 2012 08:54:25 -0400 Subject: sync'ing the hotspot repository with JDK8 In-Reply-To: References: Message-ID: <4F61E681.10004@oracle.com> I don't know if it will enable building of full JDKs/JREs on Mac, as there might be changes in the 'jdk' repo that are needed as well (and I was only going to sync 'hotspot'). We might be able to build Mac JVM though. On 3/15/2012 4:57 AM, Ben Evans wrote: > Hi Keith, > > Will such a synch allow a lambda-capable Mac build? > > If so, please go for it, as my understanding is that it's still > proving problematic to produce such a binary build. > > In the AdoptAJSR / AdoptOpenJDK projects we have a bunch of Mac users > who are champing at the bit to have a play with lambdas. :) > > Thanks, > > Ben > > On Thu, Mar 15, 2012 at 12:25 AM, Keith McGuigan > wrote: >> Hi, >> >> Any objection to be me sync'ing the lambda hotspot repository with the >> jdk8 hotspot repo (i.e., pulling jdk8 into lambda)? >> >> -- >> - Keith >> From elvis_ligu at hotmail.com Thu Mar 15 09:14:10 2012 From: elvis_ligu at hotmail.com (Elvis Ligu) Date: Thu, 15 Mar 2012 17:14:10 +0100 Subject: Interface evolution via virtual extension methods - Extending Interfaces By Breaking Application Logic (Dangerous) In-Reply-To: References: , <468AE15D-EFB8-4565-81CE-28792DE58FE9@oracle.com>, , , , , Message-ID: *Am I seeing some ironic in your email? If so, than my reply wasn't to be ironic, but to explain my thoughts.I have some problems with my English so forgive me if I look like like being rude. I have difficulties to explain it better, so excuse me again, it wasn't my intention. > I recognized by 3) or 4) that all of calling for "overrid"den method will be a cause of UnsupportedOperationException. You are totally right, 3) and 4) are somewhat misleading. Actually 1), 2), 3) and so on, are just suggestions and they are only provided as ideas of what can we do in some circumstances. There are cases when 3) 4) make sense and there are others where they don't. Here is an example when 3), 4) make sense: @APIinterface ServiceProvider { @Version("JDK7") @ Deprecated // at JDK8 public String getServiceProperty(String property); @Version("JDK8") public Properties getAndParseConfigFile() default { ... }} @APIabstract class Service { ServiceProvider provider; public Service(ServiceProvider p) { provider = p;} public String getProperty(String property) { // return provider.getServiceProperty(property); this was at JDK7 // this is the implementation at JDK8 return provider.getAndParseConfigFile().getProperty(property); } } @Clientpublic class SPImpl implements ServiceProvider { @Override public String getServiceProperty(String property) {...}} @Client class ServiceImpl extends Service { } @Clientpublic class Application { Service service = new ServiceImpl(new SPImpl()); public void m() { ... service.getProperty("property"); ... }} As you can easily see from the above example, the API was extended with a virtual method at JDK8. However, that default implementation doesn't make any sense because there is no way to find the config file at API level (getAndParseConfigFile()) . So 3) and 4) make sense, and can be considered as an option. In this case the best to do is throw UnsupportedOperationException. However, this example is so bad and of course no body could do this. But this is an alternative to take in consideration when dealing with virtual methods. Here is a case when 3) 4) doesn't make sense at all: consider we had this Service interface: @APIinterface ServiceProvider { @Version("JDK7") @ Deprecated // at JDK8 public String getServiceProperty(String property); @Version("JDK7") public File getConfigFile(); @Version("JDK8") public Properties getAndParseConfigFile() default { ... File f = getConfigFile(); Properties p = new Properties(); p.load(new FileInputStream(file)); return p; }} In this case 3) 4) doesn't make sense at all, because getAndParseConfigFile() can "reliably" provide a default implementation. So why throwing UnsupportedOperationException? It seems that I am in contradiction, but my intention was not to say that all 1) 2) 3) and so on, are true and they will be all supported, indeed I wanted just to point out some alternatives to take in consideration. To make it clear what keyword mean, just think of it as an operator that can control the visibility of virtual methods. As I previously stated in my emails, consider Collection interface. Someone has extended a List implementation and had some method like this: void MyList#map(), or int MyList#foreach(). Now int JDK8 the developers of, will add some method Collection#map(), with same signature but different return type. In this case the code of the client will break if this method will be visible to MyList. What should we do? Should we allow the client code to break or is better to accept the default implementation so when the runtime sees: Collection#foreach() it works with the virtual method and when it sees MyList#foreach() will work with this implementation or should it throw an UnsupportedOperationException? The keyword override in this case will help the client code in that that if it is not present it will not be visible to client code so it will not break, however in cases like the example above there are two alternatives: throw the exception or use the default implementation. Finally I don't think it is a good idea to introduce virtual methods only for the lambda project and to expect from developers that they will use them only in situations like Collections API, I think the best idea is to think of them as a general evolution of Java language that will impact all the fields where interfaces are used (all the programs :-)) and to deal with all the alternatives. As of your example: According to what I meant the use of public override void m() is valid. However, C will not compile because there is int m() which is in conflict (the return type is not compatible with). So will not work. The client who wrote override void m() is saying (in a simple logic) that I will adopt the new API so I will refactor my code to be compatible with, and I will do it on my own risk. Date: Thu, 15 Mar 2012 16:11:46 +0900 Subject: Re: Interface evolution via virtual extension methods - Extending Interfaces By Breaking Application Logic (Dangerous) From: bitterfoxc at gmail.com To: elvis_ligu at hotmail.com CC: lambda-dev at openjdk.java.net 2012/3/15 Elvis Ligu Why? IImpl in JDK8 will not compile at all, because there are two m2() one return int and the other return void.I think you didn't got my point, or probably I didn't make it clear. However, private override void m2() in IImpl in JDK8 is invalid according to what I mean. You should have an implementation in IImpl if you write override..., unless IImpl is an abstract class or an interface (that is what I mean, or however what I wanted to say), and ofcourse it should be public override void m2(). The only one that will crash here is IImpl. Yes, I didn't get your point: "overrid"den method can have a implementation. When you extend an API with a virtual method you should provide a default implementation for it. So in your example if m2() is a virtual method it must have a default implementation. Right. It is my easy mistake. Because of this Processor#doProcess() will not break at all, neither the User#use(). So there are to choices left to client: a) ignore I#m2() (in other words leave it as is, and accept the default implementation), b) provide your own implementation in IImpl which means THE CLIENT IS DOING ON HIS OWN, EITHER HE HAS TO REFACTOR HIS CODE TO RESOLVE CONFLICT BETWEEN int IImpl#m2() AND void I#m2() OR GO TO CHOICE a) AND IGNORE IT (HE STILL WILL BE ABLE TO USE JDK8), OR JUST DON'T USE JDK8 AT ALL AND BE HAPPY WITH JDK7. To avoid misconception my intention was this: if you write override ... method() for a virtual method then it means you are going to give an implementation so it is visible to your class. If you have an interface with a virtual method but have no class implementation that overrides it then the virtual method will not be visible at all at this class BUT IT WILL BE RUNNING because there is a default implementation for it. So everyone is happy: API developers don't break their API, and client code continue to run. I recognized by 3) or 4) that all of calling for "overrid"den method will be a cause of UnsupportedOperationException. >3) When a caller call Socket#reset(), if this method is ignored in the underlying class implementation, in our case SecureRTPSocket, then a UnsupportedOperationException will be thrown. >This makes sense because, the old client code is ignoring Socket#reset() so it simply means "I don't have any implementation for this". >4) When there exists a void SecureRTPSocket#reset(). >Again if the caller calls void Socket#reset() and the void SecureRTPSocket#reset() exists before void Socket#reset() then an UnsupportedOperationException is thrown. >This makes sense because, the old client code will not have any call Socket#reset(), instead it could have calls like SecureRTPSocket#reset() and this will normally work because no resolution is required against Socket interface. So I thought any implementation has no meaning. But is the implementation for "overrid"den method valid as you told above? class C implements I { @Override public override void m() { System.out.println("A"); } public int m() { System.out.println("B"); return 0; } } C c = new C(); c.m(); // B I i = c; i.m(); // A Is this result right? Thank you for pointing out that I am in misunderstandings, bitter_fox Date: Thu, 15 Mar 2012 10:42:34 +0900 Subject: Re: FW: Interface evolution via virtual extension methods - Extending Interfaces By Breaking Application Logic (Dangerous) From: bitterfoxc at gmail.com To: elvis_ligu at hotmail.com CC: lambda-dev at openjdk.java.net I couldn't agree with you. I don't think "override" resolve the problem. For instance: @API @Version("JDK7") interface I { void m1(); } @API @Version("JDK7") class Processor { public void doProcess(I i) { i.m1(); } } @Client @Version("JDK7") class IImpl implements I { public void m1() { ...; } public int m2() { ...; } } @Client @Version("JDK7") class User { public void use() { new Processor().doProcess(new IImpl()); } } I think this is a very frequently pattern. And in JDK8, @API Processor is updated with the update of I: @API @Version("JDK8") interface I { void m1(); @Version("JDK8") void m2(); } @API @Version("JDK8") class Processor { public void doProcess(I i) { i.m1(); i.m2(); } } @Client @Version("JDK8") class IImpl implements I { public void m1() { ...; } public int m2() { ...; } @Version("JDK8") private override void m2(); } // User is retained at @Version("JDK7") We can compile well every classes. However User#use crashes in JDK8 at runtime. So we find "override" just postpone occurring error until runtime. And all of method invocations are in fear by "override". Because it breaks the contract of types: a member declared in supertype is valid in a instance of every subtype. This is critical in Java that is strong typed language and a new problem. I guess "override" might cause more trouble than it solves. Regards, bitter_fox 2012/3/14 Elvis Ligu From: elvis_ligu at hotmail.com To: brian.goetz at oracle.com Subject: RE: Interface evolution via virtual extension methods - Extending Interfaces By Breaking Application Logic (Dangerous) Date: Tue, 13 Mar 2012 16:40:14 +0100 (I just saw my email, and I apologize for the horrible formatting) I will try to give a very simple example in order to explain (at least I will give it a try) what I mean. Before starting let me tell you that I don't have a lot of knowledge about compilers and how things works into details, so I can't propose anything in detail. I am looking at the problem from a SE perspective and how to achieve a smooth transition from java 7 to java 8 avoiding the overall complexity and accidentally breaking the client code. By breaking client code I mean, breaking client's application even from not compiling at all (which is the least undesirable) or breaking client's application logic (the worst case is when the client's application compiles, run, and pass all tests but the application logic is in some way compromised). Before continue this is how do I interpret the following concepts: - Client code, API's client, and client in general -> the client is some other (let say a developer) different from API. For example, I am a client of Collections API in Java SE 7, and my code is the client code. You can assume my classes are API's client or I (as a developer) am the client. Generally speaking, the client is independent from the API's development process, and is using the API according to its public contract (the interface, whether they are classes or interfaces). - Caller -> I would like to avoid the misunderstanding between an API's client and a class client. So when I say caller I mean the client of a specific class (and or interface). I.e. in class A there is a statement b.print(); in this case I would rather say class A (the instance of A) is the caller of class B (the instance of B). - Java Interface -> explicitly or implicitly a Java Interface (i.e, interface Service {}) is part of the contract of the API. It doesn't provide any implementation (and it shouldn't), and the purpose of it is to define a communication point between the implementation provider and the caller. An other purpose is to define an implicit logic, i.e. Comparator has method compare(), where the method signature is the definition of communication rules (the caller must call this method using its signature), and the logic is that the method compare() takes two same arguments and return the order of those objects: 0 -> equals, positive integer -> ob! j1 > obj2, negative integer -> obj1 < obj2. Of course there is nothing to prevent a client to break the implicit logic an interface imposes, and this depends on implementation, however this is not an issue from the API's developer perspective. Our example - the API: interface Socket { ... // method added in release 1.1 public void consumePackets(final PacketBuffer packets) default { final List buffer = new ArrayList(); synchronized(packets) { while(packets.hasNext()) buffer.add(p.next()); } final PacketSequence sequence = new PacketSequence(buffer.toArray(new Packet[0])); // an empty sequence will be returned if no previous one exists final PacketSequence current = getPreviousSequence().merge(sequence); setCurrentSequence(current); } ... } interface SecureSocket extends Socket { } interface RTPSocket { ... // this is defined in release 2.0 public void consumePackets(final PacketBuffer packets) default { final List buffer = new ArrayList(); synchronized(packets) { while(packets.hasN! ext()) { Packet p = p.next(); buffer.add(p); // send each packet to handler to avoid delay transmitPacketsToRTPHandlers(new Packet[]{p}); } final PacketSequence sequence = new PacketSequence(buffer.toArray(new Packet[0])); // an empty sequence will be returned if no previous one exists final PacketSequence current = getPreviousSequence().merge(sequence); setCurrentSequence(current); } ... } class DefaultSocket implements Socket{} class DefaultSecureSocket extends DefaultSocket implements SecureSocket{} class DefaultRTPSocket extends DefaultSocket implemenets RTPSocket{} Here the API designers, have designed an API which provide socket communication to its clients. In release 1.0 the Socket interface didn't have a consumePackets() method. In release 1.1 API designers would like to extend Socket interface so they introduced consumePackets() and provided a default implementation because they don't want to break the clients' code. In release 2.0 they decided to change the default implementation of consumePackets() because they observed their DefaultRTPSocket was having delays when this method was called. They decided to deliver each packet to the handlers while consuming the packets and leave the rest as is. Our example - API's client // defined after release 1.1 of API class SecureRTPSocket extends DefaultSecureSocket implements RTPSocket { ... public void setCurrentSequence(PackeSequence sequence) { doubleBufferSequence(sequence); transmitPacketsToRTPHandlers(getPacketsArray()); } // this is not override, this is defined here public int reset() { ... }; } Here the API's client, using the version 1.1 decided to construct a new secure rtp socket. He used the default implementation of consumePackets() because it did meet his requirements. Because he already observed the delay produced by consumePackets() he decided to use a double buffer in order to avoid it. His application was working perfectly until he decided to replace the old API v1.1 with the new API v2.0. After replacing the API its application started to have delays! In this case the delay comes from the fact that API designers override the default implementation of consumePackets(), and the handler is getting duplicate packets!!! Of course the handler is smart enough to reject duplicate packets. But the problem is still there, so the client is going to invest it. The client is lookingat DefaultSecureSocket and at Socket#consumePackets() but he can't find the problem. Why he is not looking at RTPSocket? Well for 15 years now Java developers don't expect the interface to! impact their implementation without breaking the contract (look at the definition above). I know such a powerful mechanism in Java would by very great and using it wisely would provide so much flexibility to an API developer. On the other hand it increases the possibility of writing fragile code. Of course the above example is such a bad one and can be easily avoided, but again virtual methods are increasing risks. Think of C++ and its power, think of multiply inheritance, one can say that it is powerful, however (in my opinion) it complicates things and can lead at more fragile code. As you stated this is an old problem, because this problem is still present with abstract classes for example, but as I previously stated a Java developer has never looked at Interfaces as they are abstract classes. Should they start doing it now? As I can see you are working at Oracle, and I understand that when it comes to make a change to existing Java API it is a very critical decision, to be or not to be. One of the big problems you should face with is backward compatibility. I was reading some email from a guy here at this mail list where he was concerned about Collections API and the changes that can possibly be made at Java 8. He had extended a Collections interface and added some methods, let say foreach(). In this case if you add a method foreach() it would possibly break his API and this is not what you want. In the above example if the client had a method int reset() in SecureRTPSocket the API designers will not be able to add a method void reset() in Socket interface, at least not without breaking the client's code. The problem here is that API developers don't know how API clients are using their API so they can not make any assumption. Actually the virtual methods gives you the (virtual reality) sense o! f thinking that by adding a method to an interface you, will not break the API, but as you we can easily see this is not the case. * Here I am not criticizing the virtual methods, I like the idea very much. I am rising some of the facts we need to consider when dealing with them. However, I think there is an interesting solution we can avoid such problems, especially API breaks (from the perspective of API designer). Looking at the above example, let consider the API designers would like to add a method void reset() at Socket interface. In this case we could have a client's code break here, because there is a int reset() method. To avoid this, we can have an other keyword: override.In order the SecureRTPSocket to see the new virtual method he has to write something like this: private override void reset(){...} If the client doesn't write something like this than this method is not visible to client's class SecureRTPSocket. Some one would say this is not possible because what if some one makes a call like this: Socket socket = getSocket(); socket.reset(); In such a case if getSocket() has a return type Socket and the implementation of getSocket() returns a SecureRTPSocketthere are two possibilities: 1) method reset() is already present in SecureRTPSocket, 2) method reset() is not present. Here how it can possibly works: 1) In version 1.1 the client didn't know any Socket#reset() method so there is not a statement in his code that will call Socket#reset().If the Socket#reset() method is ignored in v2.0 his code will continue to be compatible even in case there is a int SecureRTPSocket#reset(). 2) There is a void SecureRTPSocket#reset() method. Even in this case the Socket#reset() method will be ignored if called as above. At least in client's code will not be any Socket#reset() call, because his code was written based on v1.1. 3) When a caller call Socket#reset(), if this method is ignored in the underlying class implementation, in our case SecureRTPSocket, then a UnsupportedOperationException will be thrown. This makes sense because, the old client code is ignoring Socket#reset() so it simply means "I don't have any implementation for this". 4) When there exists a void SecureRTPSocket#reset(). Again if the caller calls void Socket#reset() and the void SecureRTPSocket#reset() existsbefore void Socket#reset() then an UnsupportedOperationException is thrown. This makes sense because, the old client code will not have any call Socket#reset(), instead it could have calls like SecureRTPSocket#reset() and this will normally work because no resolution is required against Socket interface. 5) When there exists a override void DefaultSocket#reset(). Well in this case the void Socket#reset() will be visible to DefaultSocket, and it will be visible to DefaultSecureSocket and DefaultRTPSocket, and so it will be visible to SecureRTPSocket, because SecureRTPSocket extends DefaultSecureSocket. If there exist void SecureRTPSocket#reset() then it just overrides void DefaultSecureSocket#reset() so there is not a problem in this case. If there exist a int SecureRTPSocket#reset() than client's code will break (will not compile at all). This makes sense because when a client extends API's classes it means he knows what he is doing and he understand the internals of those classes, so he is aware of any change. In our example a good developer would simply uses encapsulation, and have something like this: class SecureRTSocket implements SecureSocket, RTSocket, and uses a private DefaultSecureSocket to delegate some of its methods and implements the rest. However, if this is n! ot a good approach an other alternative would be to ignore the virtual methods just like in the above cases. The last approach introduces an extra effort because it requires from API developers to write override void reset() to each implementation class (Default...Socket) but at least this ensures 100% backward compatibility. Think of void Collection#foreach, it will require for each Collection's subtype to write override void foreach(). Is this affordable? Well, the virtual methods are used to extends an API so I think this is an effort that it worth. 6) What does override void reset() implementation body contains? The case is: a) it can completely override the super's default implementation, b) it can write something like this SuperType.reset() in order to accept super's default implementation. 7) Where the client has already extended Socket interface, let say he has an interface like this ISecureRTPSocket and SecureRTPSocket class implements this interface. In this case void Socket#reset() is a virtual method so it is visible to ISecureRTPSocket as a virtual one. But it is not visible to SecureRTPSocket because the doesn't exists any override void SecureRTPSocket#reset(). Here we don't have any client's code compatibility issues, it works just like the above cases. 8) Where there doesn't exists any override void SecureRTPSocket#reset() (look at the example above). In this case if the first approach will be implemented then if exists override void DefaultSocket#reset() the reset() method will be visible to all other subclasses just like any other method. If the second approach will be implemented then, if there doesn't exist any override void DefaultSocket#reset() then it will not be visible to DefaultSecureSocket so a override void DefaultSecureSocket#reset() will be a compilation error (not in our case because DefaultSecureSocket implements SecureSocket, reset() is visible to SecureSocket and so override void DefaultSecureSocket#reset() can be overrided). The rule is simple: if we have interface A, B and C extends A, then virtual method A#m() will be visible to B and C. If classes Bimp implements B, Dimp extends Bimp, if there exists override Bimp#m() then could exist override Dimp#m() too, if not then Dimp must explicitly implements ! A, B or C so we can have override Dimp#m(). 9) The compiler and runtime will be crazy with all this complexity. Actually I can't give any reliable response to this. From a higher level I think the compiler and runtime can treat virtual methods just like any other method but with some small differences. In case there is a Interface to Interface resolution they can easily be treated just like other methods, after all we can keep backward compatibility because an interface is not required to have an implementation so the virtual method in my interfaces will not break other interfaces. In case of classes the compiler and or runtime can make the distinct between virtual methods and other regular methods by keeping (let say) an extra bit for a method. So when this bit is 0 it is a regular method and the resolution is the same as before in Java 7, when this bit is 1 it is a virtual method so the resolution can follow the rules I stated above. Especially if the second approach will be implemented (see 5) above) the compiler c! an easily keep track of virtual methods because the keyword override will be present in any class that implements the virtual method so it can deal with their (strange) resolutions and conflicts. Conclusions: I think the approach of keyword override and the resolution of virtual methods in this way doesn't break any OOP principles (well I am just an undergraduate student that is going to be graduated soon, so I cant say this for sure :-)). Indeed it imposes good OOP because it requires the attention of programmer. Think of this scenario: I am about to work at a company and my boss just gave me a job description (the interface, which is the contract). I take my responsibilities and try to do my best to do my job according to its description. My boss has a new job description for me and he required to meet me to announce that. In the meanwhile some guy from staff who already knows that my by boss is having a new job description for me comes to me and requires me to do some job that is in the new job description not in the one I have. What should I do in this case? Should I try to do what he says, at the risk of doing something that I am not prepare to do, or should I say to him Uns! upportedJobException? When I get my new job description from my boss I sit down and learn how to do it and write to my notes override JobDesc#newJob1(), override JobDesc#newJob2() and so on. Next time the guy from staff comes to me I would be prepared and happily do what he requires by taking my responsibilities. Thank you for hearing me. I know there are brilliant minds out there that could make all of my ideas useless, unfortunately I am not an experienced Software Engineer (well actually not even a new SE :-)) so I could not think of all the tricks. At least I tried to squeeze my little mind and express my thoughts (damn English I really want to master you :-). I am looking forward to hearing from you. > Subject: Re: Interface evolution via virtual extension methods - Extending Interfaces By Breaking Application Logic (Dangerous) > From: brian.goetz at oracle.com > Date: Sun, 11 Mar 2012 21:51:35 -0700 > CC: lambda-dev at openjdk.java.net > To: elvis_ligu at hotmail.com > > Thanks for your comments. Responses inline: > > > 1 - There is a risk of breaking client code: consider a developer who has already implemented a comparator like this: abstract class MyComparator implements Comparator { protected int order = 1; public void reverseOrder() { return -1*order;} } > > and uses this somewhere in his code like this: MyComparator c = new MyComparator() { public int compare(Objct o1, Object o2) { return order* (o1.toString().compareTo(o2.toString())); }} .... c.reverseOrder(); Arrays.sort(list, c); If oracle developers decide to add such a method in Comparator interface then they can not ensure that client code will not break; two methods with the same signature but with a different returned type can not compile (at least not in java 7). > > Yes, this is a risk. Note that this is not new with extension methods; this risk exists for adding new methods to existing classes (abstract or concrete) too. > > The alternative is: never add any new methods to libraries. We find this alternative unappealing! > > > 2 - There is a risk of breaking client logic: according to Brian's paper, section 3. Method Dispatch, we can have a diamond-shaped hierarchy as: > > interface A { void m() default X.a; } interface B extends A { } interface C extends A { } class D implements B, C { } > > When the compiler sees d.m() and if there is not an implementation of m() in class D then it will call the default method implementation A.m(). > > The compiler does *not* short-circuit calls to D.m() to A.m(). The compiler emits an invokespecial with D.m(); the runtime will perform the resolution, and if the situation is still like this by the time the classes are actually loaded, then the VM will decide to dispatch to A.m(). (This is no different than today; the compiler's job is simply to sanity-check linkage and "fail fast" if the compiler can see the call would not succeed if made at runtime with the classes as they are at compile time, but the runtime builds vtables based on the classes it sees at runtime.) > > > The client of this API can easily "make the mistake" of relying on default implementation of A.m(). > > Again, this is nothing new. Let's say class C has a method q(), and D extends C but does not override q(). Clients of D could easily "make the mistake" of assuming calls to D.q() are going to end up at C.q(), but that is simply a mistake. > > > For some reason in the future the developerof the API would like to add a default implementation of m() in B. The problem in this case is bigger than in case 1; > > a) if the client of API have already extended interface A with B1 and provided a default implementation for m, and has a "class E implements B, B1" the client code will break. > > At this point E will not compile, due to competing implementations in B and B1. > > > b) the default m() in B will probably break invariants of a "class MyClass implements B, C" and cause no compile error. > > Why? If B.m() overrides A.m(), we expect B.m() to implement the contract of A.m(). Note that interfaces have no state (barring heroic actions), so the protection of state-based invariants still falls entirely to C and its subclasses. The implementation of m() in A or B can only call other interface methods, and if any of those affect state in C, eventually we'll be calling code in C to actually touch the state. > > > 1 - How to keep backward compatibility? Well at least in the transition phase from java 7 to java 8 nothing can ensure the java developers that adding a virtual method inCollection interface will be compatible with the old java. So my suggestion is another keyword, let say override. Let say we add reverseOrder() in interface Comparator.In this case the java compiler will make the reverseOrder() visible to Comparator's subtypes only and only if the subtype explicitly define: override reverseOrder(). > > I believe this is a request for "opting in" to extension methods, rather than having them actually inherited? I invite you to propose exactly how this might work in more detail. > > > So incase 1 MyComparator (the client code) is not affected; reverseOrder() is not visible in MyComparator. 2 - How to avoid making API fragile by default (case 2)? My suggestion is the same as the above: the keyword override. By writing override reverseOrder() the API's clientis required to explicitly define which default implementation he is relying on, specifying SuperType.super.m() or make a "default none" in case of an interface. If the clientdoesn't specify override, there i! > > You say "client" when I think you mean "subclass". Are you really suggesting the opt-in should be at the *client* site, or are you speaking only at the inheritance site? > From richard.warburton at gmail.com Thu Mar 15 14:42:52 2012 From: richard.warburton at gmail.com (Richard Warburton) Date: Thu, 15 Mar 2012 21:42:52 +0000 Subject: What should default interfaces be for? In-Reply-To: <1781009.vama0jPzZh@pin6108475> References: <1781009.vama0jPzZh@pin6108475> Message-ID: >> It's too bad Odersky doesn't say HOW the defender method spec falls >> short of supporting Scala traits. > > On Twitter Odersky said: "In essence, Java 8 default methods only work for > traits that do not override methods in base classes." I presume he's referring to the way the method call resolution prefers methods in the concrete class hierarchy to default methods whenever there is a choice between the two. regards, Richard From forax at univ-mlv.fr Thu Mar 15 16:17:15 2012 From: forax at univ-mlv.fr (=?ISO-8859-1?Q?R=E9mi_Forax?=) Date: Fri, 16 Mar 2012 00:17:15 +0100 Subject: What should default interfaces be for? In-Reply-To: References: <1781009.vama0jPzZh@pin6108475> Message-ID: <4F62787B.7050104@univ-mlv.fr> On 03/15/2012 10:42 PM, Richard Warburton wrote: >>> It's too bad Odersky doesn't say HOW the defender method spec falls >>> short of supporting Scala traits. >> On Twitter Odersky said: "In essence, Java 8 default methods only work for >> traits that do not override methods in base classes." > I presume he's referring to the way the method call resolution prefers > methods in the concrete class hierarchy to default methods whenever > there is a choice between the two. > > regards, > > Richard > Yes, the 'with' operator in Scala prefers Trait method to Class method. see Scala Reference section 5.1.2. R?mi From brian.goetz at oracle.com Thu Mar 15 16:56:23 2012 From: brian.goetz at oracle.com (Brian Goetz) Date: Thu, 15 Mar 2012 16:56:23 -0700 Subject: What should default interfaces be for? In-Reply-To: References: Message-ID: <9082A57F-35E8-4060-B9CC-49653ABD2055@oracle.com> We've known for a while that while the primary motivation for this feature was to provide a mechanism for interface evolution, that it would be widely recognized in short order that default methods effectively would constitute "traits-lite". And we're OK with that. This is an upgrade to the inheritance model and enables a lot of nice things that were not possible before. I've spent the last few months using default methods to develop library prototypes and it is quite a pleasant improvement -- it offers a "right" place to put a lot of code that didn't have a right place before. I hope others on this list have done the same (the single most valuable thing that this community can do to help is to *try it out and give concrete feedback*.) We have spent a great deal of time thinking through where this feature could or could not go in the future, and tuning the design so as not to foreclose on useful future directions. (For example, all of the items on Stephen's list below have been considered in depth.) However, keep in mind that the goal is not "add traits to Java", and not only is that out of scope for Lambda, but is simply impractical to consider as a deliverable for Java 8. And, realistically, there are a lot of decisions that were already made in the past (such as the fact that the default for interfaces is that methods are public and fields are private and final) that make it far more difficult to "take it all the way". So it is quite likely that where we are now is mostly where we'll end up, with a few rough edges filed down (such as possibly adding nonpublic methods.) A significant factor in designing this feature is compatibility. Many otherwise good-seeming ideas end up creating annoying compatibility issues. The "trait interface" example Stephen suggests is a good example of this; when last we analyzed this (which to be fair was before we made some significant simplifications in the model, and its possible that these aspects may have changed), there were several subtle issues this introduced, making some seemingly harmless changes (like changing an ordinary interface to a trait interface) either source- or binary- incompatible. So, to sum up, while we support the trait-like use of interfaces with default methods, and have done a great deal of work to ensure that they remain useful when used in this manner, we're all going to have to recognize that there are going to be limitations to how far we can take it. It is one of those glass half-full or half-empty things; you can be happy that we have a bunch of new trait-like features, or complain that it was not taken as far as it could be. On Mar 13, 2012, at 3:18 AM, Stephen Colebourne wrote: > On 13 March 2012 00:10, David Holmes wrote: > David said: >> I'm concerned that default methods are being seen as a new way to >> construct type hierarchies, rather than just being a short-term way to >> add a new method to an existing interface. In my opinion developers who >> subclass interfaces to which default methods get added, should implement >> those new methods in the next version of their libraries/apps - so that >> they don't rely on implicit use of defaults (they can make it explicit >> if it suits their needs). Default methods provide an evolution path for >> interfaces, but they can very easily be mis-used. > > I think that in all the focus on lambdas, there hasn't been enough > discussion of what the Java community wants from the defaulted > interfaces feature. > > David expresses the original lambda-focussed opinion - that default > methods in interfaces solely exist to provide a mechanism for > interface evolution. A necessary evil to provide the ability to > integrate lambdas into existing APIs but not for general use as part > of API design. > > I've come to the opposite opinion. That defaulted interfaces are a > major new language feature in their own right, and should be > celebrated as such. I want to use them as a new way of designing > applications, replacing most usages of abstract classes today, > providing much of the feature set asked for by "abstract enums" and > effectively treating them as Java's traits. IMO, the addition of > traits is as important to API design as lambdas themselves. > > What we need is a debate on the feature. Do we, as users/developers, > want the minimal feature set necessary to support lambdas, or the > maximal feature set that would occur were we adding traits to Java? > > Things that may be options with a fully implemented feature: > - private-scoped methods > - package-scoped methods (would probably require adding a package > keyword for scope) > - protected-scoped methods > - static methods > - what should the default scope be > - whether the name "default interface" is the best choice ("trait interface"?) > > So, please chime in on whether you think default interfaces should be > kept simple and minimal (as David suggested), or be thought of as a > major new feature in their own right? (Try to initially focus on the > big question without too much low-level detail) > > Stephen > From brian.goetz at oracle.com Thu Mar 15 17:11:30 2012 From: brian.goetz at oracle.com (Brian Goetz) Date: Thu, 15 Mar 2012 17:11:30 -0700 Subject: What should default interfaces be for? In-Reply-To: <9082A57F-35E8-4060-B9CC-49653ABD2055@oracle.com> References: <9082A57F-35E8-4060-B9CC-49653ABD2055@oracle.com> Message-ID: <035A85AF-20D3-4F40-9EE7-824DC2E677BB@oracle.com> > However, keep in mind that the goal is not "add traits to Java", and not only is that out of scope for Lambda, but is simply impractical to consider as a deliverable for Java 8. And, realistically, there are a lot of decisions that were already made in the past (such as the fact that the default for interfaces is that methods are public and fields are private and final) that make it far more difficult to "take it all the way". So it is quite likely that where we are oops, I meant "static and final." From brian.goetz at oracle.com Thu Mar 15 17:15:34 2012 From: brian.goetz at oracle.com (Brian Goetz) Date: Thu, 15 Mar 2012 17:15:34 -0700 Subject: What should default interfaces be for? In-Reply-To: References: Message-ID: > a good option, which I feel is in line with what the Lambda team has > proposed so far, is that default methods are necessary to allow > lambdas to be used fruitfully with existing libraries, but that care > is being taken to leave the door open to future improvements (post JDK > 8) to the default method feature. This is our plan.... > Personally, I would prefer to see an absolutely rock-solid, performant > implementation of lambda, plus associated JDK library extensions to > use them, for JDK 8, and suggest that Oracle's time is best spent > doing just that and not taking even more on. Yep. > Regarding default methods, the only concern I have is whether the > proposed approach will also prove useful for non-Java languages on the > JVM, such as Scala - in this interview with Martin Odersky he suggests > it doesn't cover all the cases he would like for Scala > (http://www.infoq.com/articles/odersky-scala-interview). "Useful for non-Java languages" is pretty broad. You are right that Scala traits cannot in general be implemented on top of default methods. But the feature can be useful to other languages anyway. For example, because this is a VM feature and not a Java language feature, when a class in another language says it implements java.util.List, it will get all the default method behavior without having to do anything special. And I could imagine that other languages would find it a useful substrate for mixin- or trait-like behaviors, even if Scala does not. From brian.goetz at oracle.com Thu Mar 15 17:19:33 2012 From: brian.goetz at oracle.com (Brian Goetz) Date: Thu, 15 Mar 2012 17:19:33 -0700 Subject: What should default interfaces be for? In-Reply-To: References: Message-ID: <73B812CC-C52C-486F-A90E-B6E4A3CBA26C@oracle.com> Of the suggested tweaks, this is the one that seems most realistic to happen eventually (though not necessarily immediately.) As people put more code into interfaces, it will be natural to want to factor implementations using private helper methods. Protected methods are similarly useful. We don't see any reason that the choices made to date will preclude these, though we are focusing our efforts currently on higher-value items. On Mar 13, 2012, at 11:29 PM, Chance wrote: > Of course people are going to use default methods as a new way of > constructing type hierarchies. Count me among those more excited by the > inclusion of default methods in JDK 8 than closures. I can't think of much > that's missing - the full set of access levels would be a nice to have. > > Chance > From greggwon at gmail.com Fri Mar 9 17:19:02 2012 From: greggwon at gmail.com (Gregg Wonderly) Date: Fri, 9 Mar 2012 19:19:02 -0600 Subject: defender methods and method of Object In-Reply-To: References: <4F50DE1D.6010006@univ-mlv.fr> <4F50F32B.90403@univ-mlv.fr> <4F51FF45.2030305@oracle.com> <4F5A58AD.9060909@oracle.com> <4F5A6554.5070709@redhat.com> <4F5A8465.1060105@wonderly.org> Message-ID: <99CC0B4C-8E18-44FE-A9A0-6E05B72F1E19@gmail.com> I am thinking specifically of visibility controls that might act like final does in terms of allowing overriding definition. Gregg On Mar 9, 2012, at 4:51 PM, Neal Gafter wrote: > This would violate a very valuable design principle: As a rule, annotations should not affect the behavior of running the annotated code (except to the extent that it may affect the behavior through APIs that look at the annotations). > > On Fri, Mar 9, 2012 at 2:29 PM, Gregg Wonderly wrote: > Annotations might be useful to let developers tell the compiler more about what > is desirable. I am not sure that anything makes it perfect, but if there are > specific , useful behaviors, which are in conflict, then letting developers > state what specific behavior they want, might provide a reasonable compromise. > > Gregg Wonderly > > On 3/9/2012 3:45 PM, Yuval Shavit wrote: > > Well, toString also makes sense for collections, and I was taught to try > > very hard to avoid the other two anyway. > > > > On Fri, Mar 9, 2012 at 3:17 PM, David M. Lloydwrote: > > > >> I agree on this much (allowing default equals/hashCode methods). > >> However I think that other methods (namely toString, and clone and > >> finalize for that matter) should definitely not ever be specified on an > >> interface. I'm not sure there's a good technical solution to this > >> conundrum though. > >> > >> On 03/09/2012 01:59 PM, Dan Smith wrote: > >>> Well, see java.util.List.equals, and the corresponding implementation > >> java.util.AbstractList.equals. If we had default methods before > >> AbstractList was defined, it (or much of it) would probably have ended up > >> in the List interface, including 'equals'. > >>> ?Dan > >>> > >>> On Mar 9, 2012, at 11:23 AM, Brian Goetz wrote: > >>> > >>>> I'm not convinced. The implementations of equals, hashCode, and > >> toString provided by an interface are almost certainly going to be wrong > >> for most subclasses that inherit them, whereas the versions provided by > >> Object are generally sound, if basic. (To say nothing of the pain that > >> will ensue when someone adds a hashCode/equals method pair to an interface > >> implemented by a class that doesn't provide such a pair (which is a > >> reasonable choice), and all of a sudden, behavior of that class when put > >> into hash-based containers changes wildly.) > >>>> > >>>> On 3/9/2012 12:56 PM, Dan Smith wrote: > >>>>> Yes, I've been thinking the same thing. Since the Object methods are > >> morally members of every interface, it would make sense that a default > >> method could effectively override them, and the "throw out all super > >> methods that have already been overridden" rule could then apply. It all > >> depends on what order the inheritance conflict-resolution rules are applied > >> in. > >>>>> (There's something to the argument in the other direction, though, > >> that it's really nice that if a method is implemented in the class > >> hierarchy, we ignore the interfaces. It seems like the implementation > >> relies on this pretty heavily, and it could get hairy if every single class > >> had the potential of inherited default methods replacing the behavior of > >> Object methods.) > >>>>> ?Dan > >>>>> > >>>>> On Mar 3, 2012, at 12:45 PM, Sam Pullara wrote: > >>>>> > >>>>>> I am all for special casing these. It is far too useful to be able to > >>>>>> provide equals()/hashCode()/toString() at the interface level for > >>>>>> things like List to not to include this capability. Especially since > >>>>>> there is precedent for their special treatment. > >>>>>> > >>>>>> Sam > >>>>>> > >>>>>> On Sat, Mar 3, 2012 at 11:19 AM, Yuval Shavit > >> wrote: > >>>>>>> Well, Object is special-cased in the very definition of an interface > >> (in > >>>>>>> 4.10.2), so I could see the case for special-casing it for default > >>>>>>> implementations. > >>>>>>> > >>>>>>> On Sat, Mar 3, 2012 at 6:23 AM, David Holmes >>> wrote: > >>>>>>>> I don't see any reason to special case Object methods. Superclass > >> wins > >>>>>>>> over interface with a default - pure and simple. > >>>>>>>> > >>>>>>>> David > >>>>>>>> > >>>>>>>> On 3/03/2012 2:19 AM, R?mi Forax wrote: > >>>>>>>>> On 03/02/2012 05:08 PM, bitter_fox wrote: > >>>>>>>>>> Hi, > >>>>>>>>>> You have to override toString in A to use the default > >> implementation, > >>>>>>>>>> in this case, using the syntax "Interface.super.method()": > >>>>>>>>>> (because the definition of super-class is preferred if the > >> extended > >>>>>>>>>> definitions from super-class and super-interface are clashing) > >>>>>>>>>> > >>>>>>>>>> public class A implements Foo > >>>>>>>>>> { > >>>>>>>>>> public String toString() > >>>>>>>>>> { > >>>>>>>>>> return Foo.super.toString(); > >>>>>>>>>> } > >>>>>>>>>> } > >>>>>>>>>> > >>>>>>>>>> new A().toString(); // returns "Foo" > >>>>>>>>>> > >>>>>>>>>> However, this calling would be StackOverflowError because the > >> syntax > >>>>>>>>>> may be only on "Syntax" and be not implemented for byte code. > >>>>>>>>>> > >>>>>>>>>> I can't judge that semantics is right or wrong, so I only refer > >> to the > >>>>>>>>>> way to override.(Although I think it is right...) > >>>>>>>>>> Excuse me if you already know the way. > >>>>>>>>> No problem. > >>>>>>>>> I just think that the semantics should be changed a little bit by > >> adding > >>>>>>>>> a special case for method from Object because > >>>>>>>>> otherwise the default method will be never called directly > >>>>>>>>> (as you said, you can use I.super.foo()). > >>>>>>>>> > >>>>>>>>>> Regards, > >>>>>>>>>> bitter_fox > >>>>>>>>> cheers, > >>>>>>>>> R?mi > >>>>>>>>> > >>>>>>>>> > >>>>>>>> > >>>>> > >>> > >> > >> -- > >> - DML > >> > >> > > > > > From greggwon at gmail.com Wed Mar 14 12:00:35 2012 From: greggwon at gmail.com (Gregg Wonderly) Date: Wed, 14 Mar 2012 14:00:35 -0500 Subject: What should default interfaces be for? In-Reply-To: <4F60E7DB.4000708@gmail.com> References: <4F60E7DB.4000708@gmail.com> Message-ID: <4F60EAD3.5050903@gmail.com> I've long wondered about the basics of JDBC Driver support. It's always been the case that different versions of drivers have continued to work with newer APIs being available, and the appropriate runtime exception regarding unimplemented methods gets thrown. This has to do with the fact that the Driver was compiled with an appropriate version of the driver interface, while applications may be compiled with another version visible. At class loading time, no verification gets done, or at least missing methods are disregarded. What is it about extending interfaces that makes this kind of behavior a non-start, and default methods perceived as the better answer? I am not sure that I understand how a default method can always be "correct", for all uses of an old implementation by a class using the new definition. Gregg Wonderly On 3/14/2012 1:47 PM, Anthony Vanelverdinghe wrote: > I dislike the idea of allowing implementation inside interfaces, so I > see default methods as a necessary evil for interface evolution. And I > fully agree with the view that developers should not implicitly depend > on default methods. Even more: why not let the Java compiler emit a > warning when classes do depend on default methods? > > PS: in case it wouldn't be clear by now: I 'm against allowing Object > methods as default methods :) > > Kind regards, Anthony > > > Op 13/03/2012 11:18, Stephen Colebourne schreef: >> On 13 March 2012 00:10, David Holmes wrote: >> David said: >>> I'm concerned that default methods are being seen as a new way to >>> construct type hierarchies, rather than just being a short-term way to >>> add a new method to an existing interface. In my opinion developers who >>> subclass interfaces to which default methods get added, should implement >>> those new methods in the next version of their libraries/apps - so that >>> they don't rely on implicit use of defaults (they can make it explicit >>> if it suits their needs). Default methods provide an evolution path for >>> interfaces, but they can very easily be mis-used. >> I think that in all the focus on lambdas, there hasn't been enough >> discussion of what the Java community wants from the defaulted >> interfaces feature. >> >> David expresses the original lambda-focussed opinion - that default >> methods in interfaces solely exist to provide a mechanism for >> interface evolution. A necessary evil to provide the ability to >> integrate lambdas into existing APIs but not for general use as part >> of API design. >> >> I've come to the opposite opinion. That defaulted interfaces are a >> major new language feature in their own right, and should be >> celebrated as such. I want to use them as a new way of designing >> applications, replacing most usages of abstract classes today, >> providing much of the feature set asked for by "abstract enums" and >> effectively treating them as Java's traits. IMO, the addition of >> traits is as important to API design as lambdas themselves. >> >> What we need is a debate on the feature. Do we, as users/developers, >> want the minimal feature set necessary to support lambdas, or the >> maximal feature set that would occur were we adding traits to Java? >> >> Things that may be options with a fully implemented feature: >> - private-scoped methods >> - package-scoped methods (would probably require adding a package >> keyword for scope) >> - protected-scoped methods >> - static methods >> - what should the default scope be >> - whether the name "default interface" is the best choice ("trait interface"?) >> >> So, please chime in on whether you think default interfaces should be >> kept simple and minimal (as David suggested), or be thought of as a >> major new feature in their own right? (Try to initially focus on the >> big question without too much low-level detail) >> >> Stephen >> > > From henri.gomez at gmail.com Thu Mar 15 05:56:51 2012 From: henri.gomez at gmail.com (Henri Gomez) Date: Thu, 15 Mar 2012 14:56:51 +0200 Subject: sync'ing the hotspot repository with JDK8 In-Reply-To: <4F61E681.10004@oracle.com> References: <4F61E681.10004@oracle.com> Message-ID: If you have a working process like : - grabbing jdk8/jdk8 branch - applying known patch sets We'll not be too far to be able to produce such JDK8 + Lambda on OSX. 2012/3/15 Keith McGuigan : > > I don't know if it will enable building of full JDKs/JREs on Mac, as there > might be changes in the 'jdk' repo that are needed as well (and I was only > going to sync 'hotspot'). ?We might be able to build Mac JVM though. > > > On 3/15/2012 4:57 AM, Ben Evans wrote: >> >> Hi Keith, >> >> Will such a synch allow a lambda-capable Mac build? >> >> If so, please go for it, as my understanding is that it's still >> proving problematic to produce such a binary build. >> >> In the AdoptAJSR / AdoptOpenJDK projects we have a bunch of Mac users >> who are champing at the bit to have a play with lambdas. :) >> >> Thanks, >> >> Ben >> >> On Thu, Mar 15, 2012 at 12:25 AM, Keith McGuigan >> ?wrote: >>> >>> Hi, >>> >>> Any objection to be me sync'ing the lambda hotspot repository with the >>> jdk8 hotspot repo (i.e., pulling jdk8 into lambda)? >>> >>> -- >>> - Keith >>> > From mike.duigou at oracle.com Tue Mar 20 17:09:40 2012 From: mike.duigou at oracle.com (Mike Duigou) Date: Tue, 20 Mar 2012 17:09:40 -0700 Subject: sync'ing the hotspot repository with JDK8 In-Reply-To: <4F61E681.10004@oracle.com> References: <4F61E681.10004@oracle.com> Message-ID: <230BCF94-C58A-44F2-B50A-D51287A051BD@oracle.com> I've done a merge for the jdk and can commit it whenever the other repos are ready. It looks like there a bunch of stuff in langtools that will need Maurizio's attention. Mike On Mar 15 2012, at 05:54 , Keith McGuigan wrote: > > I don't know if it will enable building of full JDKs/JREs on Mac, as > there might be changes in the 'jdk' repo that are needed as well (and I > was only going to sync 'hotspot'). We might be able to build Mac JVM > though. > > On 3/15/2012 4:57 AM, Ben Evans wrote: >> Hi Keith, >> >> Will such a synch allow a lambda-capable Mac build? >> >> If so, please go for it, as my understanding is that it's still >> proving problematic to produce such a binary build. >> >> In the AdoptAJSR / AdoptOpenJDK projects we have a bunch of Mac users >> who are champing at the bit to have a play with lambdas. :) >> >> Thanks, >> >> Ben >> >> On Thu, Mar 15, 2012 at 12:25 AM, Keith McGuigan >> wrote: >>> Hi, >>> >>> Any objection to be me sync'ing the lambda hotspot repository with the >>> jdk8 hotspot repo (i.e., pulling jdk8 into lambda)? >>> >>> -- >>> - Keith >>> > From bitterfoxc at gmail.com Tue Mar 20 18:03:51 2012 From: bitterfoxc at gmail.com (bitter_fox) Date: Wed, 21 Mar 2012 10:03:51 +0900 Subject: The compiler throws NPE by an incompatible OR-throws-type-parameter such as "". Message-ID: Hi, As the title, the compiler throws NPE when we compile the following program: public class Main { { new Main(); // NPE // FYI // new Main(); // Compile-Time Error // new Main(); // Compile-Time Error: /* * Main.java:11: error: incompatible types * new Main(); // Compile-Time Error: * ^ * required: Throwable [I think this would be "required: Exception".] * found: Object */ } } This is the StackTrace: java.lang.NullPointerException at com.sun.tools.javac.comp.Check$Validator.visitTypeApply(Check.java:12 40) at com.sun.tools.javac.tree.JCTree$JCTypeApply.accept(JCTree.java:2043) at com.sun.tools.javac.comp.Check$Validator.validateTree(Check.java:1345 ) at com.sun.tools.javac.comp.Check.validate(Check.java:1198) at com.sun.tools.javac.comp.Check.validate(Check.java:1195) at com.sun.tools.javac.comp.Attr.visitNewClass(Attr.java:1749) at com.sun.tools.javac.tree.JCTree$JCNewClass.accept(JCTree.java:1399) at com.sun.tools.javac.comp.Attr.attribTree(Attr.java:468) at com.sun.tools.javac.comp.Attr.attribTree(Attr.java:486) at com.sun.tools.javac.comp.Attr.visitSelect(Attr.java:2886) at com.sun.tools.javac.tree.JCTree$JCFieldAccess.accept(JCTree.java:1773 ) at com.sun.tools.javac.comp.Attr.attribTree(Attr.java:468) at com.sun.tools.javac.comp.Attr.visitApply(Attr.java:1623) at com.sun.tools.javac.tree.JCTree$JCMethodInvocation.accept(JCTree.java :1348) at com.sun.tools.javac.comp.Attr.attribTree(Attr.java:468) at com.sun.tools.javac.comp.Attr.attribTree(Attr.java:486) at com.sun.tools.javac.comp.Attr.attribExpr(Attr.java:501) at com.sun.tools.javac.comp.Attr.visitExec(Attr.java:1368) at com.sun.tools.javac.tree.JCTree$JCExpressionStatement.accept(JCTree.j ava:1178) at com.sun.tools.javac.comp.Attr.attribTree(Attr.java:468) at com.sun.tools.javac.comp.Attr.attribTree(Attr.java:486) at com.sun.tools.javac.comp.Attr.attribStat(Attr.java:521) at com.sun.tools.javac.comp.Attr.attribStats(Attr.java:537) at com.sun.tools.javac.comp.Attr.visitBlock(Attr.java:962) at com.sun.tools.javac.tree.JCTree$JCBlock.accept(JCTree.java:792) at com.sun.tools.javac.comp.Attr.attribTree(Attr.java:468) at com.sun.tools.javac.comp.Attr.attribTree(Attr.java:486) at com.sun.tools.javac.comp.Attr.attribStat(Attr.java:521) at com.sun.tools.javac.comp.Attr.visitMethodDef(Attr.java:878) at com.sun.tools.javac.tree.JCTree$JCMethodDecl.accept(JCTree.java:676) at com.sun.tools.javac.comp.Attr.attribTree(Attr.java:468) at com.sun.tools.javac.comp.Attr.attribTree(Attr.java:486) at com.sun.tools.javac.comp.Attr.attribStat(Attr.java:521) at com.sun.tools.javac.comp.Attr.attribClassBody(Attr.java:3877) at com.sun.tools.javac.comp.Attr.attribClass(Attr.java:3799) at com.sun.tools.javac.comp.Attr.attribClass(Attr.java:3735) at com.sun.tools.javac.comp.Attr.attrib(Attr.java:3709) at com.sun.tools.javac.main.JavaCompiler.attribute(JavaCompiler.java:119 7) at com.sun.tools.javac.main.JavaCompiler.compile2(JavaCompiler.java:885) at com.sun.tools.javac.main.JavaCompiler.compile(JavaCompiler.java:844) at com.sun.tools.javac.main.Main.compile(Main.java:430) at com.sun.tools.javac.main.Main.compile(Main.java:344) at com.sun.tools.javac.main.Main.compile(Main.java:335) at com.sun.tools.javac.Main.compile(Main.java:76) at com.sun.tools.javac.Main.main(Main.java:61) Regards, bitter_fox From maurizio.cimadamore at oracle.com Wed Mar 21 02:48:56 2012 From: maurizio.cimadamore at oracle.com (Maurizio Cimadamore) Date: Wed, 21 Mar 2012 09:48:56 +0000 Subject: The compiler throws NPE by an incompatible OR-throws-type-parameter such as "". In-Reply-To: References: Message-ID: <4F69A408.8050504@oracle.com> Thanks for the report Maurizio On 21/03/12 01:03, bitter_fox wrote: > Hi, > As the title, the compiler throws NPE when we compile the following program: > > public class Main > { > { > new Main(); // NPE > > // FYI > // new Main(); // Compile-Time Error > > // new Main(); // Compile-Time Error: > /* > * Main.java:11: error: incompatible types > * new Main(); // Compile-Time Error: > * ^ > * required: Throwable [I think this would be "required: > Exception".] > * found: Object > */ > } > } > > This is the StackTrace: > > java.lang.NullPointerException > at > com.sun.tools.javac.comp.Check$Validator.visitTypeApply(Check.java:12 > 40) > at > com.sun.tools.javac.tree.JCTree$JCTypeApply.accept(JCTree.java:2043) > at > com.sun.tools.javac.comp.Check$Validator.validateTree(Check.java:1345 > ) > at com.sun.tools.javac.comp.Check.validate(Check.java:1198) > at com.sun.tools.javac.comp.Check.validate(Check.java:1195) > at com.sun.tools.javac.comp.Attr.visitNewClass(Attr.java:1749) > at > com.sun.tools.javac.tree.JCTree$JCNewClass.accept(JCTree.java:1399) > at com.sun.tools.javac.comp.Attr.attribTree(Attr.java:468) > at com.sun.tools.javac.comp.Attr.attribTree(Attr.java:486) > at com.sun.tools.javac.comp.Attr.visitSelect(Attr.java:2886) > at > com.sun.tools.javac.tree.JCTree$JCFieldAccess.accept(JCTree.java:1773 > ) > at com.sun.tools.javac.comp.Attr.attribTree(Attr.java:468) > at com.sun.tools.javac.comp.Attr.visitApply(Attr.java:1623) > at > com.sun.tools.javac.tree.JCTree$JCMethodInvocation.accept(JCTree.java > :1348) > at com.sun.tools.javac.comp.Attr.attribTree(Attr.java:468) > at com.sun.tools.javac.comp.Attr.attribTree(Attr.java:486) > at com.sun.tools.javac.comp.Attr.attribExpr(Attr.java:501) > at com.sun.tools.javac.comp.Attr.visitExec(Attr.java:1368) > at > com.sun.tools.javac.tree.JCTree$JCExpressionStatement.accept(JCTree.j > ava:1178) > at com.sun.tools.javac.comp.Attr.attribTree(Attr.java:468) > at com.sun.tools.javac.comp.Attr.attribTree(Attr.java:486) > at com.sun.tools.javac.comp.Attr.attribStat(Attr.java:521) > at com.sun.tools.javac.comp.Attr.attribStats(Attr.java:537) > at com.sun.tools.javac.comp.Attr.visitBlock(Attr.java:962) > at com.sun.tools.javac.tree.JCTree$JCBlock.accept(JCTree.java:792) > at com.sun.tools.javac.comp.Attr.attribTree(Attr.java:468) > at com.sun.tools.javac.comp.Attr.attribTree(Attr.java:486) > at com.sun.tools.javac.comp.Attr.attribStat(Attr.java:521) > at com.sun.tools.javac.comp.Attr.visitMethodDef(Attr.java:878) > at > com.sun.tools.javac.tree.JCTree$JCMethodDecl.accept(JCTree.java:676) > at com.sun.tools.javac.comp.Attr.attribTree(Attr.java:468) > at com.sun.tools.javac.comp.Attr.attribTree(Attr.java:486) > at com.sun.tools.javac.comp.Attr.attribStat(Attr.java:521) > at com.sun.tools.javac.comp.Attr.attribClassBody(Attr.java:3877) > at com.sun.tools.javac.comp.Attr.attribClass(Attr.java:3799) > at com.sun.tools.javac.comp.Attr.attribClass(Attr.java:3735) > at com.sun.tools.javac.comp.Attr.attrib(Attr.java:3709) > at > com.sun.tools.javac.main.JavaCompiler.attribute(JavaCompiler.java:119 > 7) > at > com.sun.tools.javac.main.JavaCompiler.compile2(JavaCompiler.java:885) > > at > com.sun.tools.javac.main.JavaCompiler.compile(JavaCompiler.java:844) > at com.sun.tools.javac.main.Main.compile(Main.java:430) > at com.sun.tools.javac.main.Main.compile(Main.java:344) > at com.sun.tools.javac.main.Main.compile(Main.java:335) > at com.sun.tools.javac.Main.compile(Main.java:76) > at com.sun.tools.javac.Main.main(Main.java:61) > > Regards, > bitter_fox > From maurizio.cimadamore at oracle.com Wed Mar 21 04:15:55 2012 From: maurizio.cimadamore at oracle.com (maurizio.cimadamore at oracle.com) Date: Wed, 21 Mar 2012 11:15:55 +0000 Subject: hg: lambda/lambda/langtools: Conformance bug: annotations not accepted on explicit lambda parameters Message-ID: <20120321111603.E9EBF47A78@hg.openjdk.java.net> Changeset: 286c8f8f3cc4 Author: mcimadamore Date: 2012-03-21 11:15 +0000 URL: http://hg.openjdk.java.net/lambda/lambda/langtools/rev/286c8f8f3cc4 Conformance bug: annotations not accepted on explicit lambda parameters ! src/share/classes/com/sun/tools/javac/parser/JavacParser.java ! test/tools/javac/lambda/LambdaParserTest.java ! test/tools/javac/typeAnnotations/newlocations/BasicTest.out From henri.gomez at gmail.com Wed Mar 21 00:42:00 2012 From: henri.gomez at gmail.com (Henri Gomez) Date: Wed, 21 Mar 2012 08:42:00 +0100 Subject: sync'ing the hotspot repository with JDK8 In-Reply-To: <230BCF94-C58A-44F2-B50A-D51287A051BD@oracle.com> References: <4F61E681.10004@oracle.com> <230BCF94-C58A-44F2-B50A-D51287A051BD@oracle.com> Message-ID: Hello Mike Did you do a merge for Lambda support ? 2012/3/21 Mike Duigou : > I've done a merge for the jdk and can commit it whenever the other repos are ready. It looks like there a bunch of stuff in langtools that will need Maurizio's attention. > > Mike > > > On Mar 15 2012, at 05:54 , Keith McGuigan wrote: > >> >> I don't know if it will enable building of full JDKs/JREs on Mac, as >> there might be changes in the 'jdk' repo that are needed as well (and I >> was only going to sync 'hotspot'). ?We might be able to build Mac JVM >> though. >> >> On 3/15/2012 4:57 AM, Ben Evans wrote: >>> Hi Keith, >>> >>> Will such a synch allow a lambda-capable Mac build? >>> >>> If so, please go for it, as my understanding is that it's still >>> proving problematic to produce such a binary build. >>> >>> In the AdoptAJSR / AdoptOpenJDK projects we have a bunch of Mac users >>> who are champing at the bit to have a play with lambdas. :) >>> >>> Thanks, >>> >>> Ben >>> >>> On Thu, Mar 15, 2012 at 12:25 AM, Keith McGuigan >>> ?wrote: >>>> Hi, >>>> >>>> Any objection to be me sync'ing the lambda hotspot repository with the >>>> jdk8 hotspot repo (i.e., pulling jdk8 into lambda)? >>>> >>>> -- >>>> - Keith >>>> >> > From keith.mcguigan at oracle.com Thu Mar 22 05:28:27 2012 From: keith.mcguigan at oracle.com (keith.mcguigan at oracle.com) Date: Thu, 22 Mar 2012 12:28:27 +0000 Subject: hg: lambda/lambda/hotspot: 414 new changesets Message-ID: <20120322124207.D01D747ABE@hg.openjdk.java.net> Changeset: 5c8c7bef6403 Author: jcoomes Date: 2011-10-28 18:30 -0700 URL: http://hg.openjdk.java.net/lambda/lambda/hotspot/rev/5c8c7bef6403 7106092: Bump the hs23 build number to 05 Reviewed-by: johnc Contributed-by: alejandro.murillo at oracle.com ! make/hotspot_version Changeset: d5c4c73aa855 Author: dholmes Date: 2011-10-27 18:04 -0400 URL: http://hg.openjdk.java.net/lambda/lambda/hotspot/rev/d5c4c73aa855 7104173: sun/tools tests fail with debug build after 7012206 Summary: Disable PrintVMOptions in embedded debug builds so tests are unaffected by extra output Reviewed-by: twisti, coleenp, phh, fparain, dsamersoff ! src/share/vm/runtime/globals.hpp Changeset: 6da94c5a6746 Author: dholmes Date: 2011-10-30 18:40 -0700 URL: http://hg.openjdk.java.net/lambda/lambda/hotspot/rev/6da94c5a6746 Merge Changeset: 95009f678859 Author: brutisso Date: 2011-11-01 13:44 +0100 URL: http://hg.openjdk.java.net/lambda/lambda/hotspot/rev/95009f678859 7106766: Move the precompiled header from the src/share/vm directory Summary: Moved precompiled.hpp to src/share/vm/precompiled Reviewed-by: coleenp, dholmes Contributed-by: rbackman ! make/bsd/makefiles/buildtree.make ! make/bsd/makefiles/gcc.make ! make/linux/makefiles/buildtree.make ! make/linux/makefiles/gcc.make ! make/solaris/makefiles/buildtree.make ! make/solaris/makefiles/gcc.make ! make/windows/makefiles/vm.make - src/share/vm/precompiled.hpp + src/share/vm/precompiled/precompiled.hpp Changeset: 3e609627e780 Author: jcoomes Date: 2011-11-04 12:40 -0700 URL: http://hg.openjdk.java.net/lambda/lambda/hotspot/rev/3e609627e780 Merge - src/share/vm/precompiled.hpp Changeset: b92ca8e229d2 Author: jcoomes Date: 2011-11-04 12:43 -0700 URL: http://hg.openjdk.java.net/lambda/lambda/hotspot/rev/b92ca8e229d2 Added tag hs23-b05 for changeset 3e609627e780 ! .hgtags Changeset: 869804b759e7 Author: jcoomes Date: 2011-11-04 14:06 -0700 URL: http://hg.openjdk.java.net/lambda/lambda/hotspot/rev/869804b759e7 7108553: Bump the hs23 build number to 06 Reviewed-by: johnc Contributed-by: alejandro.murillo at oracle.com ! make/hotspot_version Changeset: 5bda8dae4e14 Author: never Date: 2011-10-23 20:23 -0700 URL: http://hg.openjdk.java.net/lambda/lambda/hotspot/rev/5bda8dae4e14 7103784: enable some flags by default Reviewed-by: kvn ! src/share/vm/opto/c2_globals.hpp ! src/share/vm/runtime/arguments.cpp ! src/share/vm/runtime/globals.hpp Changeset: 754110e02bd5 Author: never Date: 2011-10-23 12:31 -0700 URL: http://hg.openjdk.java.net/lambda/lambda/hotspot/rev/754110e02bd5 7103380: assertion failure with -XX:+PrintNativeNMethods Reviewed-by: kvn, iveresov ! src/share/vm/asm/codeBuffer.cpp Changeset: 42783d1414b2 Author: never Date: 2011-10-23 23:57 -0700 URL: http://hg.openjdk.java.net/lambda/lambda/hotspot/rev/42783d1414b2 Merge - make/templates/bsd-header Changeset: b20d64f83668 Author: twisti Date: 2011-10-24 07:53 -0700 URL: http://hg.openjdk.java.net/lambda/lambda/hotspot/rev/b20d64f83668 7090904: JSR 292: JRuby junit test crashes in PSScavengeRootsClosure::do_oop Reviewed-by: kvn, never, jrose ! src/cpu/x86/vm/templateInterpreter_x86_32.cpp ! src/cpu/x86/vm/templateInterpreter_x86_64.cpp ! src/share/vm/interpreter/bytecodeTracer.cpp ! src/share/vm/runtime/deoptimization.cpp ! src/share/vm/runtime/frame.cpp ! src/share/vm/runtime/frame.hpp ! src/share/vm/runtime/thread.cpp Changeset: 12d38ffcba2a Author: twisti Date: 2011-10-25 00:55 -0700 URL: http://hg.openjdk.java.net/lambda/lambda/hotspot/rev/12d38ffcba2a 7094138: JSR 292: JRuby junit test fails in CallSite.setTargetNormal: obj->is_oop() failed: sanity check Reviewed-by: iveresov, never ! src/share/vm/interpreter/interpreterRuntime.cpp ! src/share/vm/prims/methodHandles.cpp ! src/share/vm/prims/unsafe.cpp Changeset: 2ec638646e86 Author: twisti Date: 2011-10-25 04:07 -0700 URL: http://hg.openjdk.java.net/lambda/lambda/hotspot/rev/2ec638646e86 7101642: JSR 292: SIGSEGV in java.lang.invoke.MethodHandleImpl$FieldAccessor.getFieldI(Ljava/lang/Object;)I Reviewed-by: kvn, iveresov ! src/share/vm/runtime/sharedRuntime.cpp Changeset: a6eef545f1a2 Author: never Date: 2011-10-25 08:17 -0700 URL: http://hg.openjdk.java.net/lambda/lambda/hotspot/rev/a6eef545f1a2 7103224: collision between __LEAF define in interfaceSupport.hpp and /usr/include/sys/cdefs.h with gcc Reviewed-by: never Contributed-by: Omair Majid ! src/share/vm/opto/addnode.cpp ! src/share/vm/prims/jniCheck.cpp ! src/share/vm/prims/jvmtiEnter.xsl ! src/share/vm/prims/jvmtiEnv.cpp ! src/share/vm/prims/jvmtiExport.cpp ! src/share/vm/runtime/interfaceSupport.hpp Changeset: e69a66a1457b Author: kvn Date: 2011-10-25 12:51 -0700 URL: http://hg.openjdk.java.net/lambda/lambda/hotspot/rev/e69a66a1457b 7059039: EA: don't change non-escaping state of NULL pointer Summary: NULL pointers do not escape but escape state propagation may change it leading to worser results. Reviewed-by: never ! src/share/vm/opto/escape.cpp Changeset: d8cb48376797 Author: kvn Date: 2011-10-26 06:08 -0700 URL: http://hg.openjdk.java.net/lambda/lambda/hotspot/rev/d8cb48376797 7097546: Optimize use of CMOVE instructions Summary: Avoid CMove in a loop if possible. May generate CMove if it could be moved outside a loop. Reviewed-by: never ! src/cpu/sparc/vm/sparc.ad ! src/cpu/x86/vm/x86_32.ad ! src/cpu/x86/vm/x86_64.ad ! src/share/vm/compiler/compileBroker.cpp ! src/share/vm/opto/loopopts.cpp ! src/share/vm/opto/matcher.hpp Changeset: cec1757a0134 Author: twisti Date: 2011-10-27 04:43 -0700 URL: http://hg.openjdk.java.net/lambda/lambda/hotspot/rev/cec1757a0134 7102657: JSR 292: C1 deoptimizes unlinked invokedynamic call sites infinitely Reviewed-by: never, bdelsart ! src/cpu/sparc/vm/c1_CodeStubs_sparc.cpp ! src/cpu/sparc/vm/c1_Runtime1_sparc.cpp ! src/cpu/x86/vm/c1_CodeStubs_x86.cpp ! src/cpu/x86/vm/c1_Runtime1_x86.cpp ! src/share/vm/c1/c1_Runtime1.cpp ! src/share/vm/c1/c1_Runtime1.hpp ! src/share/vm/opto/runtime.cpp Changeset: e0658a9b3f87 Author: kvn Date: 2011-10-27 09:39 -0700 URL: http://hg.openjdk.java.net/lambda/lambda/hotspot/rev/e0658a9b3f87 7105364: JDK8 b10 hotspot: src/share/vm/ci/ciMethodHandle.cpp Error: Use "." or "->" Summary: Define ciMethodHandle::print_chain_impl() and ciMethodHandle::print_chain() bodies only in debug builds. Reviewed-by: never, twisti ! src/share/vm/ci/ciMethodHandle.cpp ! src/share/vm/ci/ciMethodHandle.hpp Changeset: 34535d2cb362 Author: iveresov Date: 2011-10-27 14:40 -0700 URL: http://hg.openjdk.java.net/lambda/lambda/hotspot/rev/34535d2cb362 7104177: Tiered: -XX:+PrintCanonicalization doesn't work with -XX:+TieredCompilation Summary: Initialize printable_bci of instruction when passed to Canonicalizer Reviewed-by: kvn, never ! src/share/vm/c1/c1_Canonicalizer.hpp Changeset: f350490a45fd Author: kvn Date: 2011-10-27 18:20 -0700 URL: http://hg.openjdk.java.net/lambda/lambda/hotspot/rev/f350490a45fd 7105611: Set::print() is broken Summary: Reimplemented class VSetI_ to restore Set::print(). Reviewed-by: never ! src/share/vm/libadt/vectset.cpp ! src/share/vm/libadt/vectset.hpp Changeset: eba044a722a4 Author: never Date: 2011-10-28 14:44 -0700 URL: http://hg.openjdk.java.net/lambda/lambda/hotspot/rev/eba044a722a4 7103261: crash with jittester on sparc Reviewed-by: iveresov, kvn ! src/cpu/sparc/vm/c1_LIRAssembler_sparc.cpp + test/compiler/7103261/Test7103261.java Changeset: e3b0dcc327b9 Author: twisti Date: 2011-10-31 03:06 -0700 URL: http://hg.openjdk.java.net/lambda/lambda/hotspot/rev/e3b0dcc327b9 7104561: UseRDPCForConstantTableBase doesn't work after shorten branches changes Reviewed-by: never, kvn ! src/cpu/sparc/vm/vm_version_sparc.cpp ! src/share/vm/opto/machnode.cpp Changeset: 71699e9d8673 Author: kvn Date: 2011-10-31 15:52 -0700 URL: http://hg.openjdk.java.net/lambda/lambda/hotspot/rev/71699e9d8673 7106907: 64 bit VM fails test compiler/6865265/StackOverflowBug.java Summary: Use -Xss224k instead of -Xss128k. Reviewed-by: never ! test/compiler/6865265/StackOverflowBug.java Changeset: e342a5110bed Author: twisti Date: 2011-11-03 01:43 -0700 URL: http://hg.openjdk.java.net/lambda/lambda/hotspot/rev/e342a5110bed 7106774: JSR 292: nightly test inlineMHTarget fails with wrong result Reviewed-by: kvn ! src/share/vm/interpreter/bytecode.hpp ! src/share/vm/runtime/deoptimization.cpp Changeset: 448691f285a5 Author: twisti Date: 2011-11-03 04:12 -0700 URL: http://hg.openjdk.java.net/lambda/lambda/hotspot/rev/448691f285a5 7106944: assert(_pc == *pc_addr) failed may be too strong Reviewed-by: kvn, never ! src/cpu/x86/vm/frame_x86.cpp Changeset: 1feb272af3a7 Author: never Date: 2011-11-04 13:55 -0700 URL: http://hg.openjdk.java.net/lambda/lambda/hotspot/rev/1feb272af3a7 6636110: unaligned stackpointer leads to crash during deoptimization Reviewed-by: never, kvn Contributed-by: Andreas Schoesser ! src/cpu/x86/vm/sharedRuntime_x86_64.cpp Changeset: 59e515ee9354 Author: kvn Date: 2011-11-07 14:33 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/hotspot/rev/59e515ee9354 7059047: EA: can't find initializing store with several CheckCastPP Summary: Split adjust_escape_state() method into two methods to find initializing stores. Reviewed-by: never ! src/share/vm/opto/escape.cpp ! src/share/vm/opto/escape.hpp Changeset: 44ce519bc3d1 Author: never Date: 2011-11-08 10:31 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/hotspot/rev/44ce519bc3d1 7104960: JSR 292: +VerifyMethodHandles in product JVM can overflow buffer Reviewed-by: kvn, jrose, twisti ! src/cpu/sparc/vm/assembler_sparc.inline.hpp ! src/cpu/sparc/vm/methodHandles_sparc.cpp ! src/cpu/sparc/vm/methodHandles_sparc.hpp ! src/cpu/x86/vm/methodHandles_x86.cpp ! src/cpu/x86/vm/methodHandles_x86.hpp ! src/share/vm/asm/codeBuffer.cpp ! src/share/vm/asm/codeBuffer.hpp ! src/share/vm/prims/methodHandles.cpp ! src/share/vm/runtime/globals.hpp Changeset: c9a03402fe56 Author: never Date: 2011-11-08 17:29 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/hotspot/rev/c9a03402fe56 7105305: assert check_method_context proper context Reviewed-by: jrose, kvn ! src/share/vm/code/dependencies.cpp ! src/share/vm/oops/constantPoolKlass.cpp Changeset: e3e363b2bf19 Author: never Date: 2011-11-08 20:42 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/hotspot/rev/e3e363b2bf19 7108242: jinfo -permstat shouldn't report interned strings as part of perm Reviewed-by: kvn, twisti ! agent/src/share/classes/sun/jvm/hotspot/tools/HeapSummary.java ! agent/src/share/classes/sun/jvm/hotspot/tools/PermStat.java Changeset: 83d0b5cd1438 Author: twisti Date: 2011-11-09 00:42 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/hotspot/rev/83d0b5cd1438 7087727: JSR 292: C2 crash if ScavengeRootsInCode=2 when "static final" MethodHandle constants are in use Reviewed-by: jrose, kvn, never ! src/share/vm/opto/callGenerator.cpp Changeset: 7e0e43cf86d6 Author: kvn Date: 2011-11-09 06:14 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/hotspot/rev/7e0e43cf86d6 7109887: java/util/Arrays/CopyMethods.java fails with -XX:+DeoptimizeALot Summary: zero array when compiled code is deoptimized. Reviewed-by: never, twisti ! src/share/vm/opto/runtime.cpp ! src/share/vm/opto/runtime.hpp Changeset: 670a74b863fc Author: kvn Date: 2011-11-09 07:25 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/hotspot/rev/670a74b863fc 7107042: assert(no_dead_loop) failed: dead loop detected Summary: Use dead nodes elimination code in PhaseIdealLoop before executing EA. Reviewed-by: never, twisti ! src/share/vm/compiler/compileBroker.cpp ! src/share/vm/opto/compile.cpp ! src/share/vm/opto/loopnode.cpp ! src/share/vm/opto/loopnode.hpp ! src/share/vm/opto/loopopts.cpp ! src/share/vm/opto/matcher.cpp ! src/share/vm/opto/memnode.cpp ! src/share/vm/opto/phaseX.cpp ! src/share/vm/runtime/globals.hpp Changeset: 78bef05801ca Author: twisti Date: 2011-11-10 04:46 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/hotspot/rev/78bef05801ca Merge - src/share/vm/precompiled.hpp ! src/share/vm/runtime/globals.hpp Changeset: 3c7d67df8d07 Author: dholmes Date: 2011-11-10 06:23 -0500 URL: http://hg.openjdk.java.net/lambda/lambda/hotspot/rev/3c7d67df8d07 7108264: Fix for 7104173 is insufficient Summary: Disable PrintVMOptions by default for all builds Reviewed-by: dsamersoff, twisti ! src/share/vm/runtime/globals.hpp Changeset: f9a80a035a4a Author: coleenp Date: 2011-11-15 12:40 -0500 URL: http://hg.openjdk.java.net/lambda/lambda/hotspot/rev/f9a80a035a4a Merge ! src/share/vm/runtime/globals.hpp Changeset: 5a5ed80bea5b Author: ysr Date: 2011-10-26 21:07 -0700 URL: http://hg.openjdk.java.net/lambda/lambda/hotspot/rev/5a5ed80bea5b 7105163: CMS: some mentions of MinChunkSize should be IndexSetStart Summary: Fixed the instances that were missed in the changeset for 7099817. Reviewed-by: stefank ! src/share/vm/gc_implementation/concurrentMarkSweep/compactibleFreeListSpace.cpp ! src/share/vm/gc_implementation/concurrentMarkSweep/compactibleFreeListSpace.hpp Changeset: 59519b7d7b9d Author: tonyp Date: 2011-10-28 13:04 -0400 URL: http://hg.openjdk.java.net/lambda/lambda/hotspot/rev/59519b7d7b9d Merge Changeset: 6fd81579526f Author: brutisso Date: 2011-10-31 08:01 +0100 URL: http://hg.openjdk.java.net/lambda/lambda/hotspot/rev/6fd81579526f 7102044: G1: VM crashes with assert(old_end != new_end) failed: don't call this otherwise Summary: arrayOopDesc::max_array_length() should return a value that does not overflow a size_t if it is converted to bytes. Reviewed-by: kvn, dholmes ! make/jprt.properties ! src/share/vm/oops/arrayOop.cpp ! src/share/vm/oops/arrayOop.hpp ! src/share/vm/prims/jni.cpp ! src/share/vm/utilities/quickSort.cpp ! test/Makefile Changeset: ed80554efa25 Author: brutisso Date: 2011-11-02 08:04 +0100 URL: http://hg.openjdk.java.net/lambda/lambda/hotspot/rev/ed80554efa25 7106751: G1: gc/gctests/nativeGC03 crashes VM with SIGSEGV Summary: _cset_rs_update_cl[] was indexed with values beyond what it is set up to handle. Reviewed-by: ysr, jmasa, johnc ! src/share/vm/gc_implementation/g1/g1RemSet.cpp Changeset: 8aae2050e83e Author: tonyp Date: 2011-11-07 22:11 -0500 URL: http://hg.openjdk.java.net/lambda/lambda/hotspot/rev/8aae2050e83e 7092309: G1: introduce old region set Summary: Keep track of all the old regions in the heap with a heap region set. Reviewed-by: brutisso, johnc ! src/share/vm/gc_implementation/g1/concurrentMark.cpp ! 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/g1MarkSweep.cpp ! src/share/vm/gc_implementation/g1/heapRegionSet.cpp ! src/share/vm/gc_implementation/g1/heapRegionSet.hpp ! src/share/vm/gc_implementation/g1/heapRegionSets.cpp ! src/share/vm/gc_implementation/g1/heapRegionSets.hpp Changeset: 53074c2c4600 Author: tonyp Date: 2011-11-08 00:41 -0500 URL: http://hg.openjdk.java.net/lambda/lambda/hotspot/rev/53074c2c4600 7099849: G1: include heap region information in hs_err files Reviewed-by: johnc, brutisso, poonam ! src/share/vm/gc_implementation/g1/g1CollectedHeap.cpp ! src/share/vm/gc_implementation/g1/g1CollectedHeap.hpp ! src/share/vm/gc_implementation/g1/heapRegion.cpp ! src/share/vm/gc_implementation/parallelScavenge/parallelScavengeHeap.cpp ! src/share/vm/gc_implementation/parallelScavenge/parallelScavengeHeap.hpp ! src/share/vm/gc_interface/collectedHeap.hpp ! src/share/vm/memory/genCollectedHeap.cpp ! src/share/vm/memory/genCollectedHeap.hpp ! src/share/vm/memory/universe.cpp ! src/share/vm/memory/universe.hpp ! src/share/vm/utilities/vmError.cpp Changeset: ab5107bee78c Author: brutisso Date: 2011-11-09 23:21 +0100 URL: http://hg.openjdk.java.net/lambda/lambda/hotspot/rev/ab5107bee78c 7110190: GCCause::to_string missing case for _adaptive_size_policy Summary: Added case for _adaptive_size_policy Reviewed-by: johnc, ysr ! src/share/vm/gc_interface/gcCause.cpp Changeset: aa4c21b00f7f Author: brutisso Date: 2011-11-15 20:17 +0100 URL: http://hg.openjdk.java.net/lambda/lambda/hotspot/rev/aa4c21b00f7f 7110152: assert(size_in_words <= (julong)max_jint) failed: no overflow Summary: Reduce what arrayOopDesc::max_array_length() returns to avoid int overflow Reviewed-by: kvn, dholmes, tonyp ! src/share/vm/oops/arrayOop.hpp Changeset: 2ceafe3ceb65 Author: poonam Date: 2011-11-16 16:27 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/hotspot/rev/2ceafe3ceb65 7110428: Crash during HeapDump operation Reviewed-by: ysr, dholmes ! src/share/vm/services/heapDumper.cpp Changeset: b1754f3fbbd8 Author: tonyp Date: 2011-11-17 13:14 -0500 URL: http://hg.openjdk.java.net/lambda/lambda/hotspot/rev/b1754f3fbbd8 Merge Changeset: 088d09a130ff Author: katleman Date: 2011-11-10 11:46 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/hotspot/rev/088d09a130ff Added tag jdk8-b13 for changeset b92ca8e229d2 ! .hgtags Changeset: 883328bfc472 Author: katleman Date: 2011-11-17 10:45 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/hotspot/rev/883328bfc472 Added tag jdk8-b14 for changeset 088d09a130ff ! .hgtags Changeset: 6c2a55d4902f Author: jcoomes Date: 2011-11-18 15:15 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/hotspot/rev/6c2a55d4902f Merge Changeset: fde2a39ed7f3 Author: jcoomes Date: 2011-11-18 15:15 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/hotspot/rev/fde2a39ed7f3 Added tag hs23-b06 for changeset 6c2a55d4902f ! .hgtags Changeset: da4182086289 Author: jcoomes Date: 2011-11-18 17:39 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/hotspot/rev/da4182086289 7113503: Bump the hs23 build number to 07 Reviewed-by: johnc Contributed-by: alejandro.murillo at oracle.com ! make/hotspot_version Changeset: 36b057451829 Author: dholmes Date: 2011-11-16 20:38 -0500 URL: http://hg.openjdk.java.net/lambda/lambda/hotspot/rev/36b057451829 7110017: is_headless_jre should be updated to reflect the new location of awt toolkit libraries Reviewed-by: dholmes, dsamersoff Contributed-by: Chris Hegarty ! src/os/bsd/vm/os_bsd.cpp ! src/os/linux/vm/os_linux.cpp ! src/os/solaris/vm/os_solaris.cpp Changeset: 002cb3fc8256 Author: coleenp Date: 2011-11-18 17:26 -0500 URL: http://hg.openjdk.java.net/lambda/lambda/hotspot/rev/002cb3fc8256 Merge Changeset: c17bc65648de Author: brutisso Date: 2011-11-21 08:02 +0100 URL: http://hg.openjdk.java.net/lambda/lambda/hotspot/rev/c17bc65648de 7112308: Fix Visual Studio build for precompiled header Summary: Add the new path to precompiled.hpp in the project make file Reviewed-by: coleenp, dholmes, brutisso Contributed-by: rbackman ! make/windows/makefiles/projectcreator.make Changeset: 1d090cf33da6 Author: coleenp Date: 2011-11-21 10:22 -0500 URL: http://hg.openjdk.java.net/lambda/lambda/hotspot/rev/1d090cf33da6 Merge Changeset: 242b4e0e6f73 Author: phh Date: 2011-11-29 09:21 -0500 URL: http://hg.openjdk.java.net/lambda/lambda/hotspot/rev/242b4e0e6f73 7116189: Export JVM_SetNativeThreadName from Hotspot Summary: Added JVM_SetNativeThreadName to linker mapfiles on Solaris and Linux. Reviewed-by: dcubed, dholmes Contributed-by: michael.x.mcmahon at oracle.com ! make/linux/makefiles/mapfile-vers-debug ! make/linux/makefiles/mapfile-vers-product ! make/solaris/makefiles/mapfile-vers Changeset: 763f01599ff4 Author: phh Date: 2011-11-29 17:00 -0500 URL: http://hg.openjdk.java.net/lambda/lambda/hotspot/rev/763f01599ff4 7116481: Commercial features in Hotspot must be gated by a switch Summary: Add -XX:+UnlockCommercialVMOptions to gate use of commercial feature switches in the same way as -XX:UnlockDiagnosticVMOptions gates use of diagnostic feature switches. Reviewed-by: jwilhelm, kamg ! src/share/vm/runtime/globals.cpp ! src/share/vm/runtime/globals.hpp ! src/share/vm/runtime/globals_extension.hpp Changeset: 358eca91be48 Author: phh Date: 2011-11-30 12:48 -0500 URL: http://hg.openjdk.java.net/lambda/lambda/hotspot/rev/358eca91be48 7116730: Revert 7116481: Commercial features in Hotspot must be gated by a switch Summary: Revert 7116481 to current hsx/hotspot-main Reviewed-by: kamg ! src/share/vm/runtime/globals.cpp ! src/share/vm/runtime/globals.hpp ! src/share/vm/runtime/globals_extension.hpp Changeset: 81a08cd7f6a1 Author: coleenp Date: 2011-12-01 13:42 -0500 URL: http://hg.openjdk.java.net/lambda/lambda/hotspot/rev/81a08cd7f6a1 Merge Changeset: a88de71c4e3a Author: tonyp Date: 2011-11-18 12:52 -0500 URL: http://hg.openjdk.java.net/lambda/lambda/hotspot/rev/a88de71c4e3a 7097002: G1: remove a lot of unused / redundant code from the G1CollectorPolicy class Summary: Major cleanup of the G1CollectorPolicy class. It removes a lot of unused fields and methods and also consolidates replicated information (mainly various ways of counting the number of CSet regions) into one copy. Reviewed-by: johnc, brutisso ! 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/g1RemSet.cpp ! src/share/vm/gc_implementation/g1/g1_globals.hpp Changeset: d06a2d7fcd5b Author: brutisso Date: 2011-11-21 07:47 +0100 URL: http://hg.openjdk.java.net/lambda/lambda/hotspot/rev/d06a2d7fcd5b 7110718: -XX:MarkSweepAlwaysCompactCount=0 crashes the JVM Summary: Interpret MarkSweepAlwaysCompactCount < 1 as never do full compaction Reviewed-by: ysr, tonyp, jmasa, johnc ! src/share/vm/gc_implementation/parallelScavenge/psMarkSweepDecorator.cpp ! src/share/vm/memory/space.hpp Changeset: b5a5f30c483d Author: johnc Date: 2011-11-21 09:24 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/hotspot/rev/b5a5f30c483d 7110173: GCNotifier::pushNotification publishes stale data. Summary: GCNotifier::pushNotification() references GCMemoryManager::_last_gc_stat but is called from GCMemoryManager::gc_end() before GCMemoryManager::_last_gc_stat is set up using the values in GCMemoryManager::_current_gc_stat. As a result the GC notification code accesses unitialized or stale data. Move the notification call after GCMemoryManager::_las_gc_stat is set, but inside the same if-block. Reviewed-by: poonam, dholmes, fparain, mchung ! src/share/vm/services/memoryManager.cpp Changeset: 6071e0581859 Author: johnc Date: 2011-11-18 12:27 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/hotspot/rev/6071e0581859 7111795: G1: Various cleanups identified during walk through of changes for 6484965 Summary: Various cleanups and formatting changes identified during a code walk through of the changes for 6484965 ("G1: piggy-back liveness accounting phase on marking"). Reviewed-by: brutisso, tonyp ! src/share/vm/gc_implementation/g1/concurrentMark.cpp ! src/share/vm/gc_implementation/g1/heapRegion.hpp Changeset: 3a298e04d914 Author: tonyp Date: 2011-11-22 04:47 -0500 URL: http://hg.openjdk.java.net/lambda/lambda/hotspot/rev/3a298e04d914 Merge Changeset: bca17e38de00 Author: jmasa Date: 2011-08-09 10:16 -0700 URL: http://hg.openjdk.java.net/lambda/lambda/hotspot/rev/bca17e38de00 6593758: RFE: Enhance GC ergonomics to dynamically choose ParallelGCThreads Summary: Select number of GC threads dynamically based on heap usage and number of Java threads Reviewed-by: johnc, ysr, jcoomes ! src/share/vm/gc_implementation/concurrentMarkSweep/compactibleFreeListSpace.cpp ! src/share/vm/gc_implementation/concurrentMarkSweep/concurrentMarkSweepGeneration.cpp ! src/share/vm/gc_implementation/g1/collectionSetChooser.cpp ! src/share/vm/gc_implementation/g1/concurrentMark.cpp ! 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/g1/g1CollectorPolicy.cpp ! src/share/vm/gc_implementation/g1/g1CollectorPolicy.hpp ! src/share/vm/gc_implementation/g1/g1RemSet.cpp ! src/share/vm/gc_implementation/parNew/parCardTableModRefBS.cpp ! src/share/vm/gc_implementation/parNew/parNewGeneration.cpp ! src/share/vm/gc_implementation/parNew/parNewGeneration.hpp ! src/share/vm/gc_implementation/parallelScavenge/cardTableExtension.cpp ! src/share/vm/gc_implementation/parallelScavenge/cardTableExtension.hpp ! src/share/vm/gc_implementation/parallelScavenge/gcTaskManager.cpp ! src/share/vm/gc_implementation/parallelScavenge/gcTaskManager.hpp ! src/share/vm/gc_implementation/parallelScavenge/gcTaskThread.cpp ! src/share/vm/gc_implementation/parallelScavenge/gcTaskThread.hpp ! src/share/vm/gc_implementation/parallelScavenge/pcTasks.cpp ! src/share/vm/gc_implementation/parallelScavenge/psCompactionManager.cpp ! src/share/vm/gc_implementation/parallelScavenge/psCompactionManager.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/gc_implementation/shared/adaptiveSizePolicy.cpp ! src/share/vm/gc_implementation/shared/adaptiveSizePolicy.hpp ! src/share/vm/memory/cardTableModRefBS.cpp ! src/share/vm/memory/cardTableRS.cpp ! src/share/vm/memory/sharedHeap.cpp ! src/share/vm/memory/sharedHeap.hpp ! src/share/vm/runtime/arguments.cpp ! src/share/vm/runtime/globals.hpp ! src/share/vm/runtime/thread.cpp ! src/share/vm/utilities/workgroup.cpp ! src/share/vm/utilities/workgroup.hpp ! src/share/vm/utilities/yieldingWorkgroup.cpp ! src/share/vm/utilities/yieldingWorkgroup.hpp Changeset: 00dd86e542eb Author: johnc Date: 2011-11-28 09:49 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/hotspot/rev/00dd86e542eb 7114303: G1: assert(_g1->mark_in_progress()) failed: shouldn't be here otherwise Summary: Race between the VM thread reading G1CollectedHeap::_mark_in_progress and it being set by the concurrent mark thread when concurrent marking is aborted by a full GC. Have the concurrent mark thread join the SuspendibleThreadSet before changing the marking state. Reviewed-by: tonyp, brutisso ! src/share/vm/gc_implementation/g1/concurrentMarkThread.cpp ! src/share/vm/gc_implementation/g1/g1CollectorPolicy.cpp ! src/share/vm/gc_implementation/g1/g1CollectorPolicy.hpp Changeset: dc467e8b2c5e Author: johnc Date: 2011-11-17 12:40 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/hotspot/rev/dc467e8b2c5e 7112743: G1: Reduce overhead of marking closure during evacuation pauses Summary: Parallelize the serial code that was used to mark objects reachable from survivor objects in the collection set. Some minor improvments in the timers used to track the freeing of the collection set along with some tweaks to PrintGCDetails. Reviewed-by: tonyp, brutisso ! src/share/vm/gc_implementation/g1/concurrentMark.cpp ! 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/g1/g1CollectorPolicy.cpp ! src/share/vm/gc_implementation/g1/g1CollectorPolicy.hpp ! src/share/vm/gc_implementation/g1/g1RemSet.cpp ! src/share/vm/gc_implementation/g1/g1RemSet.hpp ! src/share/vm/gc_implementation/g1/heapRegion.hpp ! src/share/vm/oops/objArrayOop.hpp Changeset: ea640b5e949a Author: jmasa Date: 2011-11-22 14:18 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/hotspot/rev/ea640b5e949a 7106024: CMS: Removed unused code for precleaning in remark phase Summary: Remove dead code. Reviewed-by: stefank, ysr ! src/share/vm/gc_implementation/concurrentMarkSweep/concurrentMarkSweepGeneration.cpp ! src/share/vm/memory/cardTableModRefBS.cpp ! src/share/vm/memory/cardTableModRefBS.hpp Changeset: 7913e93dca52 Author: jmasa Date: 2011-11-22 14:59 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/hotspot/rev/7913e93dca52 7112997: Remove obsolete code ResetObjectsClosure and VerifyUpdateClosure Summary: Remove obsolete code. Reviewed-by: brutisso, ysr, jcoomes ! src/share/vm/gc_implementation/parallelScavenge/psCompactionManager.cpp ! src/share/vm/gc_implementation/parallelScavenge/psCompactionManager.hpp ! src/share/vm/gc_implementation/parallelScavenge/psParallelCompact.cpp ! src/share/vm/gc_implementation/parallelScavenge/psParallelCompact.hpp ! src/share/vm/gc_implementation/shared/markSweep.hpp ! src/share/vm/gc_implementation/shared/markSweep.inline.hpp Changeset: 1bbf5b6fb7b0 Author: tonyp Date: 2011-12-02 08:52 -0500 URL: http://hg.openjdk.java.net/lambda/lambda/hotspot/rev/1bbf5b6fb7b0 Merge ! src/share/vm/runtime/globals.hpp Changeset: d1f29d4e0bc6 Author: katleman Date: 2011-12-01 10:33 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/hotspot/rev/d1f29d4e0bc6 Added tag jdk8-b15 for changeset fde2a39ed7f3 ! .hgtags Changeset: 6de8c9ba5907 Author: jcoomes Date: 2011-12-02 15:11 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/hotspot/rev/6de8c9ba5907 Merge Changeset: aed8bf036ce2 Author: jcoomes Date: 2011-12-02 15:11 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/hotspot/rev/aed8bf036ce2 Added tag hs23-b07 for changeset 6de8c9ba5907 ! .hgtags Changeset: cf4dd13bbcd3 Author: jcoomes Date: 2011-12-02 21:10 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/hotspot/rev/cf4dd13bbcd3 7117536: new hotspot build - hs23-b08 Reviewed-by: johnc ! make/hotspot_version Changeset: cd00eaeebef6 Author: phh Date: 2011-12-05 12:50 -0500 URL: http://hg.openjdk.java.net/lambda/lambda/hotspot/rev/cd00eaeebef6 7117389: Add a framework for vendor-specific command line switch extensions to Hotspot Summary: Add a file, globals_ext.hpp, containing a null interface, to be replaced by a vendor in altsrc as needed. Reviewed-by: coleenp, kamg, dholmes, johnc, jrose ! src/share/vm/runtime/globals.cpp ! src/share/vm/runtime/globals.hpp + src/share/vm/runtime/globals_ext.hpp ! src/share/vm/runtime/globals_extension.hpp Changeset: 8657ec177a14 Author: dcubed Date: 2011-12-05 14:55 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/hotspot/rev/8657ec177a14 7117748: SA_APPLE_BOOT_JAVA and ALWAYS_PASS_TEST_GAMMA settings should not be required on MacOS X Summary: Replace SA_APPLE_BOOT_JAVA with logic that checks the boot JDK for the location of JDI classes. ALWAYS_PASS_TEST_GAMMA is true by default on Darwin. Reviewed-by: kvn, swingler ! make/bsd/makefiles/buildtree.make ! make/bsd/makefiles/sa.make Changeset: 41cce03b29a8 Author: dcubed Date: 2011-12-06 05:28 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/hotspot/rev/41cce03b29a8 Merge Changeset: 03865c41c4f3 Author: vladidan Date: 2011-12-06 16:35 -0500 URL: http://hg.openjdk.java.net/lambda/lambda/hotspot/rev/03865c41c4f3 Merge ! src/share/vm/runtime/globals.hpp Changeset: 55d777c0860a Author: dcubed Date: 2011-12-07 07:27 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/hotspot/rev/55d777c0860a 7118648: disable compressed oops by default on MacOS X until 7118647 is fixed Summary: UseCompressedOops is false by default on MacOS X; can still be set manually Reviewed-by: jmelvin, kvn, dholmes ! src/share/vm/runtime/arguments.cpp Changeset: e8fdaf4a66cb Author: kvn Date: 2011-11-10 20:17 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/hotspot/rev/e8fdaf4a66cb 7110586: C2 generates incorrect results Summary: Exact limit of empty loop calculated incorrectly. Reviewed-by: iveresov, never ! src/share/vm/opto/loopnode.cpp + test/compiler/7110586/Test7110586.java Changeset: 8c57262447d3 Author: kvn Date: 2011-11-14 18:38 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/hotspot/rev/8c57262447d3 7105605: Use EA info to optimize pointers compare Summary: optimize pointers compare using EA information. Reviewed-by: never, twisti ! src/share/vm/opto/c2_globals.hpp ! src/share/vm/opto/cfgnode.cpp ! src/share/vm/opto/escape.cpp ! src/share/vm/opto/escape.hpp Changeset: 6729bbc1fcd6 Author: twisti Date: 2011-11-16 01:39 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/hotspot/rev/6729bbc1fcd6 7003454: order constants in constant table by number of references in code Reviewed-by: kvn, never, bdelsart ! src/cpu/sparc/vm/assembler_sparc.hpp ! src/cpu/sparc/vm/c1_LIRAssembler_sparc.cpp ! src/cpu/sparc/vm/methodHandles_sparc.cpp ! src/cpu/sparc/vm/sharedRuntime_sparc.cpp ! src/cpu/sparc/vm/sparc.ad ! src/cpu/sparc/vm/vtableStubs_sparc.cpp ! src/cpu/x86/vm/assembler_x86.hpp ! src/cpu/x86/vm/stubGenerator_x86_64.cpp ! src/cpu/x86/vm/x86_32.ad ! src/cpu/x86/vm/x86_64.ad ! src/share/vm/adlc/adlparse.cpp ! src/share/vm/adlc/output_c.cpp ! src/share/vm/asm/assembler.hpp ! src/share/vm/opto/compile.cpp ! src/share/vm/opto/compile.hpp ! src/share/vm/opto/machnode.cpp ! src/share/vm/opto/matcher.hpp Changeset: 1bd45abaa507 Author: kvn Date: 2011-11-16 09:13 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/hotspot/rev/1bd45abaa507 6890673: Eliminate allocations immediately after EA Summary: Try to eliminate allocations and related locks immediately after escape analysis. Reviewed-by: never ! src/share/vm/opto/block.cpp ! src/share/vm/opto/callnode.cpp ! src/share/vm/opto/callnode.hpp ! src/share/vm/opto/compile.cpp ! src/share/vm/opto/escape.cpp ! src/share/vm/opto/gcm.cpp ! src/share/vm/opto/loopnode.cpp ! src/share/vm/opto/macro.cpp ! src/share/vm/opto/macro.hpp ! src/share/vm/opto/memnode.cpp ! src/share/vm/opto/memnode.hpp Changeset: 973293defacd Author: iveresov Date: 2011-11-16 19:42 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/hotspot/rev/973293defacd 7112085: assert(fr.interpreter_frame_expression_stack_size()==0) failed: only handle empty stacks Summary: Move the inlinee invoke notification callback into inlinee preamble Reviewed-by: kvn, never ! src/share/vm/c1/c1_GraphBuilder.cpp ! src/share/vm/c1/c1_Instruction.hpp ! src/share/vm/c1/c1_LIRGenerator.cpp ! src/share/vm/runtime/simpleThresholdPolicy.cpp ! src/share/vm/runtime/simpleThresholdPolicy.hpp ! test/compiler/6792161/Test6792161.java Changeset: a04a201f0f5a Author: twisti Date: 2011-11-17 04:07 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/hotspot/rev/a04a201f0f5a 7108383: JSR 292: JRuby bench_define_method_methods.rb: assert(slow_jvms != NULL) failed: miss path must not Reviewed-by: kvn, never ! src/share/vm/ci/ciMethod.hpp ! src/share/vm/opto/callGenerator.cpp ! src/share/vm/opto/callGenerator.hpp ! src/share/vm/opto/doCall.cpp Changeset: 59bc0d4d9ea3 Author: never Date: 2011-11-18 10:29 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/hotspot/rev/59bc0d4d9ea3 7110489: C1: 64-bit tiered with ForceUnreachable: assert(reachable(src)) failed: Address should be reachable Reviewed-by: kvn, iveresov, twisti ! src/cpu/x86/vm/assembler_x86.cpp ! src/cpu/x86/vm/methodHandles_x86.hpp ! src/cpu/x86/vm/stubGenerator_x86_64.cpp Changeset: 7793051af7d6 Author: twisti Date: 2011-11-21 00:57 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/hotspot/rev/7793051af7d6 7110058: change default for ScavengeRootsInCode to 2 Reviewed-by: kvn, never ! src/share/vm/runtime/globals.hpp Changeset: f03a3c8bd5e5 Author: roland Date: 2011-09-14 09:22 +0200 URL: http://hg.openjdk.java.net/lambda/lambda/hotspot/rev/f03a3c8bd5e5 7077312: Provide a CALL effect for instruct declaration in the ad file Summary: abstracted way to declare that the MachNode has the effect of a call (kills caller save registers, preserves callee save registers) Reviewed-by: twisti, never ! src/share/vm/adlc/adlparse.cpp ! src/share/vm/adlc/adlparse.hpp ! src/share/vm/adlc/archDesc.cpp ! src/share/vm/adlc/formssel.cpp ! src/share/vm/adlc/formssel.hpp ! src/share/vm/adlc/output_h.cpp ! src/share/vm/opto/block.hpp ! src/share/vm/opto/idealGraphPrinter.cpp ! src/share/vm/opto/lcm.cpp ! src/share/vm/opto/machnode.hpp ! src/share/vm/opto/node.hpp Changeset: db2e64ca2d5a Author: roland Date: 2011-11-22 09:45 +0100 URL: http://hg.openjdk.java.net/lambda/lambda/hotspot/rev/db2e64ca2d5a 7090968: Allow adlc register class to depend on runtime conditions Summary: allow reg_class definition as a function. Reviewed-by: kvn, never ! src/cpu/sparc/vm/sparc.ad ! src/cpu/x86/vm/x86_32.ad ! src/cpu/x86/vm/x86_64.ad ! src/share/vm/adlc/adlparse.cpp ! src/share/vm/adlc/archDesc.cpp ! src/share/vm/adlc/formsopt.cpp ! src/share/vm/adlc/formsopt.hpp ! src/share/vm/adlc/output_c.cpp ! src/share/vm/opto/matcher.hpp Changeset: cc81b9c09bbb Author: kvn Date: 2011-11-28 15:46 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/hotspot/rev/cc81b9c09bbb 7112478: after 7105605 JRuby bench_define_method_methods.rb fails with NPE Summary: Fixed several EA issues with Connection Graph construction. Reviewed-by: never, twisti ! src/share/vm/ci/bcEscapeAnalyzer.cpp ! src/share/vm/ci/bcEscapeAnalyzer.hpp ! src/share/vm/compiler/compileBroker.cpp ! src/share/vm/opto/escape.cpp ! src/share/vm/opto/escape.hpp Changeset: 97825a4f7369 Author: iveresov Date: 2011-11-30 17:35 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/hotspot/rev/97825a4f7369 7116795: Tiered: enable by default for server Summary: Enable tiered compilation on server VM by default Reviewed-by: kvn, never ! make/jprt.properties ! src/cpu/sparc/vm/c2_globals_sparc.hpp ! src/cpu/x86/vm/c2_globals_x86.hpp Changeset: f745b2be3737 Author: kvn Date: 2011-12-02 21:37 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/hotspot/rev/f745b2be3737 7117282: assert(base == NULL || t_adr->isa_rawptr() || !phase->type(base) Summary: Delay memory node transformation until the memory is processed. Reviewed-by: iveresov, never ! src/share/vm/opto/memnode.cpp Changeset: 81f7362f7bed Author: kvn Date: 2011-12-08 10:27 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/hotspot/rev/81f7362f7bed Merge ! make/jprt.properties ! src/share/vm/runtime/globals.hpp Changeset: 4406629aa157 Author: johnc Date: 2011-12-02 12:39 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/hotspot/rev/4406629aa157 7114095: G1: assert(obj == oopDesc::load_decode_heap_oop(p)) failed: p should still be pointing to obj Summary: As a result of the changes for 4965777, the G1 reference field scanning closure could be applied to the discovered field of a reference object twice. The failing assert is too strong if the result of the first application of the closure is stolen, and the referenced object, evacuated by another worker thread. Reviewed-by: ysr, tonyp ! src/share/vm/gc_implementation/g1/g1OopClosures.inline.hpp Changeset: e37aedaedccd Author: tonyp Date: 2011-12-05 12:26 -0500 URL: http://hg.openjdk.java.net/lambda/lambda/hotspot/rev/e37aedaedccd Merge Changeset: f1391adc6681 Author: stefank Date: 2011-11-28 10:19 +0100 URL: http://hg.openjdk.java.net/lambda/lambda/hotspot/rev/f1391adc6681 7112034: Parallel CMS fails to properly mark reference objects Summary: Enabled reference processing when work stealing during concurrent marking Reviewed-by: jmasa, brutisso ! src/share/vm/gc_implementation/concurrentMarkSweep/concurrentMarkSweepGeneration.cpp Changeset: f4414323345f Author: stefank Date: 2011-11-28 14:58 +0100 URL: http://hg.openjdk.java.net/lambda/lambda/hotspot/rev/f4414323345f 7116081: USE_PRECOMPILED_HEADER=0 triggers a single threaded build of the JVM Summary: Changed the conditional to see if the precompiled header has been specified. Also, removed the unused PrecompiledOption. Reviewed-by: dholmes, brutisso ! make/bsd/makefiles/gcc.make ! make/bsd/makefiles/top.make ! make/linux/makefiles/gcc.make ! make/linux/makefiles/top.make ! make/solaris/makefiles/gcc.make Changeset: d23d2b18183e Author: tonyp Date: 2011-12-07 12:54 -0500 URL: http://hg.openjdk.java.net/lambda/lambda/hotspot/rev/d23d2b18183e 7118202: G1: eden size unnecessarily drops to a minimum Summary: An integer underflow can cause the RSet lengths to be massively overpredicted which forces the eden size to the minimum. Reviewed-by: brutisso, johnc ! src/share/vm/gc_implementation/g1/g1CollectorPolicy.cpp Changeset: e9b91fd07263 Author: jmasa Date: 2011-12-09 06:46 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/hotspot/rev/e9b91fd07263 Merge Changeset: 6d7d0790074d Author: jmasa Date: 2011-12-09 19:28 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/hotspot/rev/6d7d0790074d 7119584: UseParallelGC barrier task can be overwritten. Summary: Provoke a GC for a metadata allocation failure. Reviewed-by: johnc, iveresov ! src/share/vm/gc_implementation/parallelScavenge/gcTaskManager.cpp ! src/share/vm/gc_implementation/parallelScavenge/gcTaskThread.cpp Changeset: 3b688d6ff3d0 Author: fparain Date: 2011-12-14 04:30 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/hotspot/rev/3b688d6ff3d0 7104647: Adding a diagnostic command framework Reviewed-by: phh, dcubed ! src/share/vm/services/attachListener.cpp + src/share/vm/services/diagnosticArgument.cpp + src/share/vm/services/diagnosticArgument.hpp + src/share/vm/services/diagnosticCommand.cpp + src/share/vm/services/diagnosticCommand.hpp + src/share/vm/services/diagnosticFramework.cpp + src/share/vm/services/diagnosticFramework.hpp ! src/share/vm/services/jmm.h ! src/share/vm/services/management.cpp Changeset: 31f6f10e4379 Author: vladidan Date: 2011-12-14 20:06 -0500 URL: http://hg.openjdk.java.net/lambda/lambda/hotspot/rev/31f6f10e4379 Merge Changeset: 698a22e99f74 Author: katleman Date: 2011-12-15 12:16 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/hotspot/rev/698a22e99f74 Added tag jdk8-b17 for changeset d1f29d4e0bc6 ! .hgtags Changeset: 09f3b8a372b2 Author: katleman Date: 2011-12-15 15:47 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/hotspot/rev/09f3b8a372b2 Added tag jdk8-b16 for changeset d1f29d4e0bc6 ! .hgtags Changeset: e46c2339d0fc Author: katleman Date: 2011-12-15 15:52 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/hotspot/rev/e46c2339d0fc Merge ! .hgtags Changeset: a2fef924d8e6 Author: amurillo Date: 2011-12-16 12:38 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/hotspot/rev/a2fef924d8e6 Merge ! .hgtags Changeset: 61165f53f165 Author: amurillo Date: 2011-12-16 12:37 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/hotspot/rev/61165f53f165 Added tag hs23-b08 for changeset a2fef924d8e6 ! .hgtags Changeset: 434acc838772 Author: amurillo Date: 2011-12-16 12:46 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/hotspot/rev/434acc838772 7122001: new hotspot build - hs23-b09 Reviewed-by: jcoomes ! make/hotspot_version Changeset: 3c648b9ad052 Author: stefank Date: 2011-12-14 12:15 +0100 URL: http://hg.openjdk.java.net/lambda/lambda/hotspot/rev/3c648b9ad052 7121373: Clean up CollectedHeap::is_in Summary: Fixed G1CollectedHeap::is_in, added tests, cleaned up comments and made Space::is_in pure virtual. Reviewed-by: brutisso, tonyp, jcoomes ! src/share/vm/gc_implementation/concurrentMarkSweep/compactibleFreeListSpace.hpp ! src/share/vm/gc_implementation/g1/g1CollectedHeap.cpp ! src/share/vm/gc_implementation/g1/g1CollectedHeap.hpp ! src/share/vm/gc_interface/collectedHeap.cpp ! src/share/vm/gc_interface/collectedHeap.hpp ! src/share/vm/memory/genCollectedHeap.cpp ! src/share/vm/memory/genCollectedHeap.hpp ! src/share/vm/memory/generation.hpp ! src/share/vm/memory/space.cpp ! src/share/vm/memory/space.hpp ! src/share/vm/oops/arrayOop.cpp ! src/share/vm/oops/arrayOop.hpp ! src/share/vm/prims/jni.cpp ! src/share/vm/utilities/quickSort.cpp ! src/share/vm/utilities/quickSort.hpp Changeset: fd2b426c30db Author: johnc Date: 2011-12-14 17:43 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/hotspot/rev/fd2b426c30db 7119908: G1: Cache CSet start region for each worker for subsequent reuse Summary: Cache workers' calculated starting heap region, used for parallel iteration over the collcection set, for subsequent reuse. Reviewed-by: tonyp, brutisso ! src/share/vm/gc_implementation/g1/g1CollectedHeap.cpp ! src/share/vm/gc_implementation/g1/g1CollectedHeap.hpp Changeset: 41406797186b Author: tonyp Date: 2011-12-16 02:14 -0500 URL: http://hg.openjdk.java.net/lambda/lambda/hotspot/rev/41406797186b 7113012: G1: rename not-fully-young GCs as "mixed" Summary: Renamed partially-young GCs as mixed and fully-young GCs as young. Change all external output that includes those terms (GC log and GC ergo log) as well as any comments, fields, methods, etc. The changeset also includes very minor code tidying up (added some curly brackets). Reviewed-by: johnc, brutisso ! src/share/vm/gc_implementation/g1/g1CollectedHeap.cpp ! src/share/vm/gc_implementation/g1/g1CollectorPolicy.cpp ! src/share/vm/gc_implementation/g1/g1CollectorPolicy.hpp ! src/share/vm/gc_implementation/g1/g1ErgoVerbose.cpp ! src/share/vm/gc_implementation/g1/g1ErgoVerbose.hpp ! src/share/vm/gc_implementation/g1/g1MonitoringSupport.hpp Changeset: adedfbbf0360 Author: johnc Date: 2011-12-16 11:40 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/hotspot/rev/adedfbbf0360 7120038: G1: ParallelGCThreads==0 is broken Summary: Running G1 with ParallelGCThreads==0 results in various crashes and asserts. Most of these are caused by unguarded references to the worker threads array or an incorrect number of active workers. Reviewed-by: jmasa, tonyp ! src/share/vm/gc_implementation/g1/concurrentMark.cpp ! src/share/vm/gc_implementation/g1/concurrentMark.hpp ! src/share/vm/gc_implementation/g1/g1CollectedHeap.cpp Changeset: e7dead7e90af Author: johnc Date: 2011-12-19 10:02 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/hotspot/rev/e7dead7e90af 7117303: VM uses non-monotonic time source and complains that it is non-monotonic Summary: Replaces calls to os::javaTimeMillis(), which does not (and cannot) guarantee monotonicity, in GC code to an equivalent expression that uses os::javaTimeNanos(). os::javaTimeNanos is guaranteed monotonically non-decreasing if the underlying platform provides a monotonic time source. Changes in OS files are to make use of the newly defined constants in globalDefinitions.hpp. Reviewed-by: dholmes, ysr ! src/os/bsd/vm/os_bsd.cpp ! src/os/linux/vm/os_linux.cpp ! src/os/solaris/vm/os_solaris.cpp ! src/os/windows/vm/os_windows.cpp ! src/share/vm/gc_implementation/parallelScavenge/psMarkSweep.cpp ! src/share/vm/gc_implementation/parallelScavenge/psParallelCompact.cpp ! src/share/vm/memory/genCollectedHeap.cpp ! src/share/vm/memory/generation.hpp ! src/share/vm/memory/referenceProcessor.cpp ! src/share/vm/utilities/globalDefinitions.hpp Changeset: 129cd462ae89 Author: jmasa Date: 2011-12-20 12:27 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/hotspot/rev/129cd462ae89 Merge Changeset: 96ce4c27112f Author: coleenp Date: 2011-12-19 15:34 -0500 URL: http://hg.openjdk.java.net/lambda/lambda/hotspot/rev/96ce4c27112f 7122939: TraceBytecodes broken with UseCompressedOops Summary: Disable verify_heapbase on sparc if TraceBytecodes because the latter uses r12 as a temp register Reviewed-by: coleenp, phh Contributed-by: Volker Simonis ! src/cpu/x86/vm/assembler_x86.cpp Changeset: 6c995c08526c Author: phh Date: 2011-12-19 15:50 -0500 URL: http://hg.openjdk.java.net/lambda/lambda/hotspot/rev/6c995c08526c 7122880: Extend vendor-specific command interface to include manageable switches Summary: Add Flag::external_ext()/writable_ext(), both return false. Reviewed-by: coleenp, zgu ! src/share/vm/runtime/globals.cpp ! src/share/vm/runtime/globals.hpp ! src/share/vm/runtime/globals_ext.hpp ! src/share/vm/services/management.cpp Changeset: 4502fd5c7698 Author: phh Date: 2011-12-19 21:38 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/hotspot/rev/4502fd5c7698 Merge Changeset: 11c26bfcf8c7 Author: phh Date: 2011-12-21 15:48 -0500 URL: http://hg.openjdk.java.net/lambda/lambda/hotspot/rev/11c26bfcf8c7 7091417: recvfrom's 6th input should be of type socklen_t Summary: Revamp class os's socket method formal args to match socket.h, insert casts in appropriate places, and copyin-copyout int*'s that s/b socklen_t*'s in jvm.cpp. Reviewed-by: coleenp, dholmes Contributed-by: erik.gahlin at oracle.com, rickard.backman at oracle.com, nils.loodin at oracle.com, markus.gronlund at oracle.com ! src/os/bsd/vm/jvm_bsd.h ! src/os/bsd/vm/os_bsd.inline.hpp ! src/os/linux/vm/jvm_linux.h ! src/os/linux/vm/os_linux.inline.hpp ! src/os/solaris/vm/jvm_solaris.h ! src/os/solaris/vm/os_solaris.cpp ! src/os/solaris/vm/os_solaris.inline.hpp ! src/os/windows/vm/jvm_windows.h ! src/os/windows/vm/os_windows.cpp ! src/share/vm/prims/jvm.cpp ! src/share/vm/runtime/os.hpp ! src/share/vm/utilities/ostream.cpp Changeset: c01e115b095e Author: coleenp Date: 2011-12-21 16:41 -0500 URL: http://hg.openjdk.java.net/lambda/lambda/hotspot/rev/c01e115b095e 7064927: retransformClasses() does not pass in LocalVariableTable of a method Summary: Handle LVT attribute in the class file reconstitutor. Reviewed-by: phh, coleenp Contributed-by: thomaswue ! src/share/vm/prims/jvmtiClassFileReconstituter.cpp ! src/share/vm/prims/jvmtiClassFileReconstituter.hpp Changeset: d532160c55f7 Author: coleenp Date: 2011-12-21 18:22 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/hotspot/rev/d532160c55f7 Merge Changeset: 4b18532913c7 Author: vladidan Date: 2011-12-22 12:01 -0500 URL: http://hg.openjdk.java.net/lambda/lambda/hotspot/rev/4b18532913c7 Merge ! src/os/solaris/vm/os_solaris.cpp ! src/os/windows/vm/os_windows.cpp Changeset: 7e075537835d Author: cl Date: 2011-12-22 19:00 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/hotspot/rev/7e075537835d Added tag jdk8-b18 for changeset 61165f53f165 ! .hgtags Changeset: 4bcf61041217 Author: amurillo Date: 2011-12-23 15:24 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/hotspot/rev/4bcf61041217 Merge Changeset: 9232e0ecbc2c Author: amurillo Date: 2011-12-23 15:24 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/hotspot/rev/9232e0ecbc2c Added tag hs23-b09 for changeset 4bcf61041217 ! .hgtags Changeset: 0841c0ec2ed6 Author: amurillo Date: 2011-12-23 15:29 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/hotspot/rev/0841c0ec2ed6 7123810: new hotspot build - hs23-b10 Reviewed-by: jcoomes ! make/hotspot_version Changeset: 3b2b58fb1425 Author: tonyp Date: 2011-12-20 12:59 -0500 URL: http://hg.openjdk.java.net/lambda/lambda/hotspot/rev/3b2b58fb1425 7123165: G1: output during parallel verification can get messed up Summary: Serialize the worker threads that are generating output during parallel heap verification to make sure the output is consistent. Reviewed-by: brutisso, johnc, jmasa ! src/share/vm/gc_implementation/g1/heapRegion.cpp Changeset: d15b458c4225 Author: jmasa Date: 2011-12-20 20:29 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/hotspot/rev/d15b458c4225 Merge Changeset: 67fdcb391461 Author: tonyp Date: 2011-12-21 07:53 -0500 URL: http://hg.openjdk.java.net/lambda/lambda/hotspot/rev/67fdcb391461 7119027: G1: use atomics to update RS length / predict time of inc CSet Summary: Make sure that the updates to the RS length and inc CSet predicted time are updated in an MT-safe way. Reviewed-by: brutisso, iveresov ! src/share/vm/gc_implementation/g1/g1CollectorPolicy.cpp ! src/share/vm/gc_implementation/g1/g1CollectorPolicy.hpp Changeset: 441e946dc1af Author: jmasa Date: 2011-12-14 13:34 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/hotspot/rev/441e946dc1af 7121618: Change type of number of GC workers to unsigned int. Summary: Change variables representing the number of GC workers to uint from int and size_t. Change the parameter in work(int i) to work(uint worker_id). Reviewed-by: brutisso, tonyp ! src/share/vm/gc_implementation/concurrentMarkSweep/compactibleFreeListSpace.cpp ! src/share/vm/gc_implementation/concurrentMarkSweep/compactibleFreeListSpace.hpp ! src/share/vm/gc_implementation/concurrentMarkSweep/concurrentMarkSweepGeneration.cpp ! src/share/vm/gc_implementation/g1/collectionSetChooser.cpp ! src/share/vm/gc_implementation/g1/concurrentMark.cpp ! 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/g1/g1CollectorPolicy.cpp ! src/share/vm/gc_implementation/g1/g1RemSet.cpp ! src/share/vm/gc_implementation/g1/g1RemSet.hpp ! src/share/vm/gc_implementation/g1/g1RemSet.inline.hpp ! src/share/vm/gc_implementation/parNew/parCardTableModRefBS.cpp ! src/share/vm/gc_implementation/parNew/parNewGeneration.cpp ! src/share/vm/gc_implementation/parNew/parNewGeneration.hpp ! src/share/vm/gc_interface/collectedHeap.hpp ! src/share/vm/memory/genCollectedHeap.cpp ! src/share/vm/memory/genCollectedHeap.hpp ! src/share/vm/memory/referenceProcessor.cpp ! src/share/vm/memory/referenceProcessor.hpp ! src/share/vm/memory/sharedHeap.cpp ! src/share/vm/memory/sharedHeap.hpp ! src/share/vm/runtime/globals.hpp ! src/share/vm/utilities/workgroup.cpp ! src/share/vm/utilities/workgroup.hpp ! src/share/vm/utilities/yieldingWorkgroup.cpp ! src/share/vm/utilities/yieldingWorkgroup.hpp Changeset: 1cbe7978b021 Author: brutisso Date: 2011-12-21 22:13 +0100 URL: http://hg.openjdk.java.net/lambda/lambda/hotspot/rev/1cbe7978b021 7113021: G1: automatically enable young gen size auto-tuning when -Xms==-Xmx Summary: Use a percentage of -Xms as min and another percentage of -Xmx as max for the young gen size Reviewed-by: tonyp, johnc ! src/share/vm/gc_implementation/g1/g1CollectorPolicy.cpp ! src/share/vm/gc_implementation/g1/g1CollectorPolicy.hpp ! src/share/vm/gc_implementation/g1/g1_globals.hpp Changeset: 7faca6dfa2ed Author: jmasa Date: 2011-12-27 12:38 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/hotspot/rev/7faca6dfa2ed Merge ! src/share/vm/runtime/globals.hpp Changeset: 4ceaf61479fc Author: dcubed Date: 2011-12-22 12:50 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/hotspot/rev/4ceaf61479fc 7122253: Instrumentation.retransformClasses() leaks class bytes Summary: Change ClassFileParser::parseClassFile() to use the instanceKlass:_cached_class_file_bytes field to avoid leaking the cache. Reviewed-by: coleenp, acorn, poonam ! src/share/vm/classfile/classFileParser.cpp ! src/share/vm/prims/jvmtiEnv.cpp ! src/share/vm/prims/jvmtiExport.cpp ! src/share/vm/prims/jvmtiRedefineClasses.cpp Changeset: 4ec93d767458 Author: vladidan Date: 2011-12-26 20:36 -0500 URL: http://hg.openjdk.java.net/lambda/lambda/hotspot/rev/4ec93d767458 Merge Changeset: 3db6ea5ce021 Author: vladidan Date: 2011-12-29 20:09 -0500 URL: http://hg.openjdk.java.net/lambda/lambda/hotspot/rev/3db6ea5ce021 Merge Changeset: 20bfb6d15a94 Author: iveresov Date: 2011-12-27 16:43 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/hotspot/rev/20bfb6d15a94 7124829: NUMA: memory leak on Linux with large pages Summary: In os::free_memory() use mmap with the same attributes as for the heap space Reviewed-by: kvn Contributed-by: Aleksey Ignatenko ! src/os/bsd/vm/os_bsd.cpp ! src/os/linux/vm/os_linux.cpp ! src/os/solaris/vm/os_solaris.cpp ! src/os/windows/vm/os_windows.cpp ! src/share/vm/gc_implementation/shared/mutableNUMASpace.cpp ! src/share/vm/gc_implementation/shared/mutableSpace.cpp ! src/share/vm/runtime/os.hpp Changeset: 776173fc2df9 Author: stefank Date: 2011-12-29 07:37 +0100 URL: http://hg.openjdk.java.net/lambda/lambda/hotspot/rev/776173fc2df9 7125516: G1: ~ConcurrentMark() frees incorrectly Summary: Replaced the code with a ShouldNotReachHere Reviewed-by: tonyp, jmasa ! src/share/vm/gc_implementation/g1/concurrentMark.cpp Changeset: 5ee33ff9b1c4 Author: jmasa Date: 2012-01-03 10:22 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/hotspot/rev/5ee33ff9b1c4 Merge Changeset: 75c0a73eee98 Author: coleenp Date: 2011-11-17 12:53 -0500 URL: http://hg.openjdk.java.net/lambda/lambda/hotspot/rev/75c0a73eee98 7102776: Pack instanceKlass boolean fields into single u1 field Summary: Reduce class runtime memory usage by packing 4 instanceKlass boolean fields into single u1 field. Save 4-byte for each loaded class. Reviewed-by: dholmes, bobv, phh, twisti, never, coleenp Contributed-by: Jiangli Zhou ! agent/src/share/classes/sun/jvm/hotspot/oops/InstanceKlass.java ! src/share/vm/code/dependencies.cpp ! src/share/vm/oops/instanceKlass.hpp ! src/share/vm/oops/instanceKlassKlass.cpp ! src/share/vm/runtime/vmStructs.cpp Changeset: da4dd142ea01 Author: bobv Date: 2011-11-29 14:44 -0500 URL: http://hg.openjdk.java.net/lambda/lambda/hotspot/rev/da4dd142ea01 Merge ! src/share/vm/code/dependencies.cpp Changeset: 52b5d32fbfaf Author: coleenp Date: 2011-12-06 18:28 -0500 URL: http://hg.openjdk.java.net/lambda/lambda/hotspot/rev/52b5d32fbfaf 7117052: instanceKlass::_init_state can be u1 type Summary: Change instanceKlass::_init_state field to u1 type. Reviewed-by: bdelsart, coleenp, dholmes, phh, never Contributed-by: Jiangli Zhou ! src/cpu/sparc/vm/c1_LIRAssembler_sparc.cpp ! src/cpu/sparc/vm/c1_Runtime1_sparc.cpp ! src/cpu/sparc/vm/templateTable_sparc.cpp ! src/cpu/x86/vm/c1_LIRAssembler_x86.cpp ! src/cpu/x86/vm/c1_Runtime1_x86.cpp ! src/cpu/x86/vm/templateTable_x86_32.cpp ! src/cpu/x86/vm/templateTable_x86_64.cpp ! src/share/vm/ci/ciInstanceKlass.cpp ! src/share/vm/memory/dump.cpp ! src/share/vm/oops/instanceKlass.cpp ! src/share/vm/oops/instanceKlass.hpp ! src/share/vm/opto/library_call.cpp ! src/share/vm/opto/parseHelper.cpp ! src/share/vm/runtime/vmStructs.cpp Changeset: eccc4b1f8945 Author: vladidan Date: 2011-12-07 16:47 -0500 URL: http://hg.openjdk.java.net/lambda/lambda/hotspot/rev/eccc4b1f8945 7050298: ARM: SIGSEGV in JNIHandleBlock::allocate_handle Summary: missing release barrier in Monitor::IUnlock Reviewed-by: dholmes, dice ! src/share/vm/runtime/mutex.cpp Changeset: 2685ea97b89f Author: jiangli Date: 2011-12-09 11:29 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/hotspot/rev/2685ea97b89f Merge ! src/cpu/sparc/vm/c1_LIRAssembler_sparc.cpp Changeset: 8fdf463085e1 Author: jiangli Date: 2011-12-16 17:33 -0500 URL: http://hg.openjdk.java.net/lambda/lambda/hotspot/rev/8fdf463085e1 Merge Changeset: dca455dea3a7 Author: bdelsart Date: 2011-12-20 12:33 +0100 URL: http://hg.openjdk.java.net/lambda/lambda/hotspot/rev/dca455dea3a7 7116216: StackOverflow GC crash Summary: GC crash for explicit stack overflow checks after a C2I transition. Reviewed-by: coleenp, never Contributed-by: yang02.wang at sap.com, bertrand.delsart at oracle.com ! src/cpu/sparc/vm/stubGenerator_sparc.cpp ! src/cpu/sparc/vm/templateInterpreter_sparc.cpp ! src/cpu/x86/vm/stubGenerator_x86_32.cpp ! src/cpu/x86/vm/stubGenerator_x86_64.cpp ! src/cpu/x86/vm/templateInterpreter_x86_32.cpp ! src/cpu/x86/vm/templateInterpreter_x86_64.cpp + test/compiler/7116216/LargeFrame.java + test/compiler/7116216/StackOverflow.java Changeset: cd5d8cafcc84 Author: jiangli Date: 2011-12-28 12:15 -0500 URL: http://hg.openjdk.java.net/lambda/lambda/hotspot/rev/cd5d8cafcc84 7123315: instanceKlass::_static_oop_field_count and instanceKlass::_java_fields_count should be u2 type. Summary: Change instanceKlass::_static_oop_field_count and instanceKlass::_java_fields_count to u2 type. Reviewed-by: never, bdelsart, dholmes Contributed-by: Jiangli Zhou ! src/share/vm/classfile/classFileParser.cpp ! src/share/vm/classfile/classFileParser.hpp ! src/share/vm/oops/instanceKlass.hpp ! src/share/vm/runtime/vmStructs.cpp Changeset: 05de27e852c4 Author: jiangli Date: 2012-01-04 12:36 -0500 URL: http://hg.openjdk.java.net/lambda/lambda/hotspot/rev/05de27e852c4 Merge ! src/share/vm/classfile/classFileParser.cpp Changeset: b6a04c79ccbc Author: stefank Date: 2012-01-02 10:01 +0100 URL: http://hg.openjdk.java.net/lambda/lambda/hotspot/rev/b6a04c79ccbc 7125503: Compiling collectedHeap.cpp fails with -Werror=int-to-pointer-cast with g++ 4.6.1 Summary: Used uintptr_t and void* for all the casts and checks in test_is_in. Reviewed-by: tonyp, jmasa ! src/share/vm/gc_interface/collectedHeap.cpp Changeset: 4753e3dda3c8 Author: jmasa Date: 2012-01-04 07:56 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/hotspot/rev/4753e3dda3c8 Merge Changeset: 2ee4167627a3 Author: jmasa Date: 2012-01-05 21:02 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/hotspot/rev/2ee4167627a3 Merge Changeset: 7ab5f6318694 Author: phh Date: 2012-01-01 11:17 -0500 URL: http://hg.openjdk.java.net/lambda/lambda/hotspot/rev/7ab5f6318694 7125934: Add a fast unordered timestamp capability to Hotspot on x86/x64 Summary: Add rdtsc detection and inline generation. Reviewed-by: kamg, dholmes Contributed-by: karen.kinnear at oracle.com ! src/cpu/x86/vm/vm_version_x86.cpp ! src/cpu/x86/vm/vm_version_x86.hpp ! src/os_cpu/bsd_x86/vm/os_bsd_x86.hpp + src/os_cpu/bsd_x86/vm/os_bsd_x86.inline.hpp ! src/os_cpu/linux_x86/vm/os_linux_x86.hpp + src/os_cpu/linux_x86/vm/os_linux_x86.inline.hpp ! src/os_cpu/solaris_x86/vm/os_solaris_x86.hpp + src/os_cpu/solaris_x86/vm/os_solaris_x86.inline.hpp ! src/os_cpu/solaris_x86/vm/solaris_x86_32.il ! src/os_cpu/solaris_x86/vm/solaris_x86_64.il ! src/os_cpu/windows_x86/vm/os_windows_x86.hpp + src/os_cpu/windows_x86/vm/os_windows_x86.inline.hpp ! src/share/vm/runtime/init.cpp ! src/share/vm/runtime/os.cpp ! src/share/vm/runtime/os.hpp + src/share/vm/runtime/os_ext.hpp Changeset: b16494a69d3d Author: phh Date: 2012-01-03 15:11 -0500 URL: http://hg.openjdk.java.net/lambda/lambda/hotspot/rev/b16494a69d3d 7126185: Clean up lasterror handling, add os::get_last_error() Summary: Add os::get_last_error(), replace getLastErrorString() by os::lasterror() in os_windows.cpp. Reviewed-by: kamg, dholmes Contributed-by: erik.gahlin at oracle.com ! src/os/posix/vm/os_posix.cpp ! src/os/windows/vm/os_windows.cpp ! src/share/vm/runtime/os.hpp Changeset: 5b58979183f9 Author: dcubed Date: 2012-01-05 06:24 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/hotspot/rev/5b58979183f9 7127032: fix for 7122253 adds a JvmtiThreadState earlier than necessary Summary: Use JavaThread::jvmti_thread_state() instead of JvmtiThreadState::state_for(). Reviewed-by: coleenp, poonam, acorn ! src/share/vm/classfile/classFileParser.cpp Changeset: 8a63c6323842 Author: fparain Date: 2012-01-05 07:26 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/hotspot/rev/8a63c6323842 7125594: C-heap growth issue in ThreadService::find_deadlocks_at_safepoint Reviewed-by: sspitsyn, dcubed, mchung, dholmes ! src/share/vm/services/threadService.cpp Changeset: 2e0ef19fc891 Author: phh Date: 2012-01-05 17:14 -0500 URL: http://hg.openjdk.java.net/lambda/lambda/hotspot/rev/2e0ef19fc891 7126480: Make JVM start time in milliseconds since the Java epoch available Summary: Expose existing Management::_begin_vm_creation_time via new accessor Management::begin_vm_creation_time(). Reviewed-by: acorn, dcubed ! src/share/vm/services/management.hpp Changeset: 66259eca2bf7 Author: phh Date: 2012-01-05 17:16 -0500 URL: http://hg.openjdk.java.net/lambda/lambda/hotspot/rev/66259eca2bf7 Merge Changeset: 2b3acb34791f Author: dcubed Date: 2012-01-06 16:18 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/hotspot/rev/2b3acb34791f Merge ! src/os/windows/vm/os_windows.cpp ! src/share/vm/classfile/classFileParser.cpp ! src/share/vm/runtime/os.hpp Changeset: abcceac2f7cd Author: iveresov Date: 2011-12-12 12:44 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/hotspot/rev/abcceac2f7cd 7119730: Tiered: SIGSEGV in AdvancedThresholdPolicy::is_method_profiled(methodOop) Summary: Added handles for references to methods in select_task() Reviewed-by: twisti, kvn ! src/share/vm/runtime/advancedThresholdPolicy.cpp Changeset: 7bca37d28f32 Author: roland Date: 2011-12-13 10:54 +0100 URL: http://hg.openjdk.java.net/lambda/lambda/hotspot/rev/7bca37d28f32 7114106: C1: assert(goto_state->is_same(sux_state)) failed: states must match now Summary: fix C1's CEE to take inlining into account when the stacks in states are compared. Reviewed-by: iveresov, never ! src/share/vm/c1/c1_Optimizer.cpp Changeset: d725f0affb1a Author: iveresov Date: 2011-12-13 17:10 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/hotspot/rev/d725f0affb1a 7121111: -server -Xcomp -XX:+TieredCompilation does not invoke C2 compiler Summary: Exercise C2 more in tiered mode with Xcomp Reviewed-by: kvn, never ! src/share/vm/runtime/arguments.cpp Changeset: 127b3692c168 Author: kvn Date: 2011-12-14 14:54 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/hotspot/rev/127b3692c168 7116452: Add support for AVX instructions Summary: Added support for AVX extension to the x86 instruction set. Reviewed-by: never ! src/cpu/x86/vm/assembler_x86.cpp ! src/cpu/x86/vm/assembler_x86.hpp ! src/cpu/x86/vm/assembler_x86.inline.hpp ! src/cpu/x86/vm/nativeInst_x86.cpp ! src/cpu/x86/vm/nativeInst_x86.hpp ! src/cpu/x86/vm/register_definitions_x86.cpp ! src/cpu/x86/vm/vm_version_x86.cpp ! src/cpu/x86/vm/vm_version_x86.hpp ! src/cpu/x86/vm/x86_32.ad ! src/cpu/x86/vm/x86_64.ad ! src/share/vm/runtime/globals.hpp Changeset: 669f6a7d5b70 Author: never Date: 2011-12-19 14:16 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/hotspot/rev/669f6a7d5b70 7121073: secondary_super_cache memory slice has incorrect bounds in flatten_alias_type Reviewed-by: kvn ! src/share/vm/opto/compile.cpp Changeset: 65149e74c706 Author: kvn Date: 2011-12-20 00:55 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/hotspot/rev/65149e74c706 7121648: Use 3-operands SIMD instructions on x86 with AVX Summary: Use 3-operands SIMD instructions in C2 generated code for machines with AVX. Reviewed-by: never ! make/bsd/makefiles/adlc.make ! make/linux/makefiles/adlc.make ! make/solaris/makefiles/adlc.make ! make/windows/makefiles/adlc.make ! src/cpu/x86/vm/assembler_x86.cpp ! src/cpu/x86/vm/assembler_x86.hpp + src/cpu/x86/vm/x86.ad ! src/cpu/x86/vm/x86_32.ad ! src/cpu/x86/vm/x86_64.ad ! src/share/vm/opto/matcher.cpp Changeset: 069ab3f976d3 Author: stefank Date: 2011-12-07 11:35 +0100 URL: http://hg.openjdk.java.net/lambda/lambda/hotspot/rev/069ab3f976d3 7118863: Move sizeof(klassOopDesc) into the *Klass::*_offset_in_bytes() functions Summary: Moved sizeof(klassOopDesc), changed the return type to ByteSize and removed the _in_bytes suffix. Reviewed-by: never, bdelsart, coleenp, jrose ! src/cpu/sparc/vm/assembler_sparc.cpp ! src/cpu/sparc/vm/c1_CodeStubs_sparc.cpp ! src/cpu/sparc/vm/c1_LIRAssembler_sparc.cpp ! src/cpu/sparc/vm/c1_MacroAssembler_sparc.cpp ! src/cpu/sparc/vm/c1_Runtime1_sparc.cpp ! src/cpu/sparc/vm/cppInterpreter_sparc.cpp ! src/cpu/sparc/vm/methodHandles_sparc.cpp ! src/cpu/sparc/vm/stubGenerator_sparc.cpp ! src/cpu/sparc/vm/templateInterpreter_sparc.cpp ! src/cpu/sparc/vm/templateTable_sparc.cpp ! src/cpu/x86/vm/assembler_x86.cpp ! src/cpu/x86/vm/c1_CodeStubs_x86.cpp ! src/cpu/x86/vm/c1_LIRAssembler_x86.cpp ! src/cpu/x86/vm/c1_MacroAssembler_x86.cpp ! src/cpu/x86/vm/c1_Runtime1_x86.cpp ! src/cpu/x86/vm/cppInterpreter_x86.cpp ! src/cpu/x86/vm/methodHandles_x86.cpp ! src/cpu/x86/vm/stubGenerator_x86_32.cpp ! src/cpu/x86/vm/stubGenerator_x86_64.cpp ! src/cpu/x86/vm/templateInterpreter_x86_32.cpp ! src/cpu/x86/vm/templateInterpreter_x86_64.cpp ! src/cpu/x86/vm/templateTable_x86_32.cpp ! src/cpu/x86/vm/templateTable_x86_64.cpp ! src/cpu/x86/vm/x86_64.ad ! src/share/vm/c1/c1_LIRGenerator.cpp ! src/share/vm/oops/arrayKlass.hpp ! src/share/vm/oops/instanceKlass.hpp ! src/share/vm/oops/klass.cpp ! src/share/vm/oops/klass.hpp ! src/share/vm/oops/klassOop.hpp ! src/share/vm/oops/objArrayKlass.hpp ! src/share/vm/opto/compile.cpp ! src/share/vm/opto/graphKit.cpp ! src/share/vm/opto/library_call.cpp ! src/share/vm/opto/macro.cpp ! src/share/vm/opto/memnode.cpp ! src/share/vm/opto/parse1.cpp ! src/share/vm/opto/parseHelper.cpp ! src/share/vm/shark/sharkIntrinsics.cpp ! src/share/vm/shark/sharkTopLevelBlock.cpp Changeset: 1dc233a8c7fe Author: roland Date: 2011-12-20 16:56 +0100 URL: http://hg.openjdk.java.net/lambda/lambda/hotspot/rev/1dc233a8c7fe 7121140: Allocation paths require explicit memory synchronization operations for RMO systems Summary: adds store store barrier after initialization of header and body of objects. Reviewed-by: never, kvn ! src/cpu/sparc/vm/sparc.ad ! src/cpu/x86/vm/x86_32.ad ! src/cpu/x86/vm/x86_64.ad ! src/share/vm/adlc/formssel.cpp ! src/share/vm/opto/callnode.hpp ! src/share/vm/opto/classes.hpp ! src/share/vm/opto/escape.cpp ! src/share/vm/opto/graphKit.cpp ! src/share/vm/opto/library_call.cpp ! src/share/vm/opto/macro.cpp ! src/share/vm/opto/memnode.cpp ! src/share/vm/opto/memnode.hpp ! src/share/vm/opto/node.hpp Changeset: e5ac210043cd Author: roland Date: 2011-12-22 10:55 +0100 URL: http://hg.openjdk.java.net/lambda/lambda/hotspot/rev/e5ac210043cd 7123108: C1: assert(if_state != NULL) failed: states do not match up Summary: In CEE, ensure if and common successor state are at the same inline level Reviewed-by: never ! src/share/vm/c1/c1_Optimizer.cpp + test/compiler/7123108/Test7123108.java Changeset: b642b49f9738 Author: roland Date: 2011-12-23 09:36 +0100 URL: http://hg.openjdk.java.net/lambda/lambda/hotspot/rev/b642b49f9738 7123253: C1: in store check code, usage of registers may be incorrect Summary: fix usage of input register in assembly code for store check. Reviewed-by: never ! src/share/vm/c1/c1_LIR.cpp Changeset: 40c2484c09e1 Author: kvn Date: 2011-12-23 15:24 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/hotspot/rev/40c2484c09e1 7110832: ctw/.../org_apache_avalon_composition_util_StringHelper crashes the VM Summary: Distance is too large for one short branch in string_indexofC8(). Reviewed-by: iveresov ! src/cpu/x86/vm/assembler_x86.cpp ! src/share/vm/asm/assembler.cpp ! src/share/vm/asm/assembler.hpp Changeset: d12a66fa3820 Author: kvn Date: 2011-12-27 15:08 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/hotspot/rev/d12a66fa3820 7123954: Some CTW test crash with SIGSEGV Summary: Correct Allocate expansion code to preserve i_o when only slow call is generated. Reviewed-by: iveresov ! src/share/vm/opto/compile.cpp ! src/share/vm/opto/macro.cpp Changeset: 8940fd98d540 Author: kvn Date: 2011-12-29 11:37 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/hotspot/rev/8940fd98d540 Merge ! src/cpu/x86/vm/assembler_x86.cpp ! src/share/vm/runtime/globals.hpp Changeset: 9c87bcb3b4dd Author: kvn Date: 2011-12-30 11:43 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/hotspot/rev/9c87bcb3b4dd 7125879: assert(proj != NULL) failed: must be found Summary: Leave i_o attached to slow allocation call when there are no i_o users after the call. Reviewed-by: iveresov, twisti ! src/share/vm/opto/macro.cpp + test/compiler/7125879/Test7125879.java Changeset: 1cb50d7a9d95 Author: iveresov Date: 2012-01-05 17:25 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/hotspot/rev/1cb50d7a9d95 7119294: Two command line options cause JVM to crash Summary: Setup thread register in MacroAssembler::incr_allocated_bytes() on x64 Reviewed-by: kvn ! src/cpu/x86/vm/assembler_x86.cpp Changeset: 22cee0ee8927 Author: kvn Date: 2012-01-06 20:09 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/hotspot/rev/22cee0ee8927 Merge ! src/cpu/sparc/vm/c1_LIRAssembler_sparc.cpp ! src/cpu/sparc/vm/c1_Runtime1_sparc.cpp ! src/cpu/sparc/vm/stubGenerator_sparc.cpp ! src/cpu/sparc/vm/templateInterpreter_sparc.cpp ! src/cpu/sparc/vm/templateTable_sparc.cpp ! src/cpu/x86/vm/c1_LIRAssembler_x86.cpp ! src/cpu/x86/vm/c1_Runtime1_x86.cpp ! src/cpu/x86/vm/stubGenerator_x86_32.cpp ! src/cpu/x86/vm/stubGenerator_x86_64.cpp ! src/cpu/x86/vm/templateInterpreter_x86_32.cpp ! src/cpu/x86/vm/templateInterpreter_x86_64.cpp ! src/cpu/x86/vm/templateTable_x86_32.cpp ! src/cpu/x86/vm/templateTable_x86_64.cpp ! src/cpu/x86/vm/vm_version_x86.cpp ! src/cpu/x86/vm/vm_version_x86.hpp ! src/share/vm/oops/instanceKlass.hpp ! src/share/vm/opto/library_call.cpp ! src/share/vm/opto/parseHelper.cpp Changeset: 8f8b94305aff Author: dcubed Date: 2012-01-11 19:54 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/hotspot/rev/8f8b94305aff 7129240: backout fix for 7102776 until 7128770 is resolved Reviewed-by: phh, bobv, coleenp, dcubed Contributed-by: Jiangli Zhou ! agent/src/share/classes/sun/jvm/hotspot/oops/InstanceKlass.java ! src/share/vm/code/dependencies.cpp ! src/share/vm/oops/instanceKlass.hpp ! src/share/vm/oops/instanceKlassKlass.cpp ! src/share/vm/runtime/vmStructs.cpp Changeset: 4f25538b54c9 Author: fparain Date: 2012-01-09 10:27 +0100 URL: http://hg.openjdk.java.net/lambda/lambda/hotspot/rev/4f25538b54c9 7120511: Add diagnostic commands Reviewed-by: acorn, phh, dcubed, sspitsyn ! src/share/vm/classfile/vmSymbols.hpp ! src/share/vm/runtime/arguments.cpp ! src/share/vm/runtime/globals.cpp ! src/share/vm/runtime/globals.hpp ! src/share/vm/runtime/init.cpp ! src/share/vm/services/attachListener.cpp ! src/share/vm/services/diagnosticCommand.cpp ! src/share/vm/services/diagnosticCommand.hpp ! src/share/vm/services/diagnosticFramework.cpp ! src/share/vm/services/diagnosticFramework.hpp ! src/share/vm/services/management.cpp Changeset: 865e0817f32b Author: kamg Date: 2012-01-10 15:47 -0500 URL: http://hg.openjdk.java.net/lambda/lambda/hotspot/rev/865e0817f32b Merge ! src/share/vm/runtime/arguments.cpp ! src/share/vm/runtime/globals.hpp Changeset: efdf6985a3a2 Author: kamg Date: 2012-01-12 09:59 -0500 URL: http://hg.openjdk.java.net/lambda/lambda/hotspot/rev/efdf6985a3a2 Merge Changeset: 5da7201222d5 Author: kvn Date: 2012-01-07 10:39 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/hotspot/rev/5da7201222d5 7110824: ctw/jarfiles/GUI3rdParty_jar/ob_mask_DateField crashes VM Summary: Change yank_if_dead() to recursive method to remove all dead inputs. Reviewed-by: never ! src/cpu/sparc/vm/sparc.ad ! src/share/vm/opto/chaitin.hpp ! src/share/vm/opto/postaloc.cpp Changeset: e9a5e0a812c8 Author: kvn Date: 2012-01-07 13:26 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/hotspot/rev/e9a5e0a812c8 7125896: Eliminate nested locks Summary: Nested locks elimination done before lock nodes expansion by looking for outer locks of the same object. Reviewed-by: never, twisti ! src/cpu/sparc/vm/sparc.ad ! src/cpu/x86/vm/x86_32.ad ! src/cpu/x86/vm/x86_64.ad ! src/share/vm/ci/ciTypeFlow.cpp ! src/share/vm/ci/ciTypeFlow.hpp ! src/share/vm/opto/c2_globals.hpp ! src/share/vm/opto/callnode.cpp ! src/share/vm/opto/callnode.hpp ! src/share/vm/opto/escape.cpp ! src/share/vm/opto/locknode.cpp ! src/share/vm/opto/locknode.hpp ! src/share/vm/opto/macro.cpp ! src/share/vm/opto/macro.hpp ! src/share/vm/opto/output.cpp ! src/share/vm/opto/parse1.cpp ! src/share/vm/runtime/arguments.cpp ! src/share/vm/runtime/deoptimization.cpp Changeset: 35acf8f0a2e4 Author: kvn Date: 2012-01-10 18:05 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/hotspot/rev/35acf8f0a2e4 7128352: assert(obj_node == obj) failed Summary: Compare uncasted object nodes. Reviewed-by: never ! src/share/vm/opto/callnode.cpp ! src/share/vm/opto/cfgnode.cpp ! src/share/vm/opto/library_call.cpp ! src/share/vm/opto/locknode.cpp ! src/share/vm/opto/macro.cpp ! src/share/vm/opto/memnode.cpp ! src/share/vm/opto/node.cpp ! src/share/vm/opto/node.hpp ! src/share/vm/opto/phaseX.hpp ! src/share/vm/opto/subnode.cpp ! test/compiler/7116216/StackOverflow.java Changeset: c8d8e124380c Author: kvn Date: 2012-01-12 12:28 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/hotspot/rev/c8d8e124380c 7064302: JDK7 build 147 crashed after testing my java 6-compiled web app Summary: Don't split CMove node if it's control edge is different from split region. Reviewed-by: never ! src/share/vm/opto/loopnode.cpp ! src/share/vm/opto/loopnode.hpp ! src/share/vm/opto/loopopts.cpp Changeset: 31a5b9aad4bc Author: jrose Date: 2012-01-13 00:27 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/hotspot/rev/31a5b9aad4bc Merge ! src/share/vm/runtime/arguments.cpp Changeset: bacb651cf5bf Author: tonyp Date: 2012-01-05 05:54 -0500 URL: http://hg.openjdk.java.net/lambda/lambda/hotspot/rev/bacb651cf5bf 7113006: G1: excessive ergo output when an evac failure happens Summary: Introduce a flag that is set when a heap expansion attempt during a GC fails so that we do not consantly attempt to expand the heap when it's going to fail anyway. This not only prevents the excessive ergo output (which is generated when a region allocation fails) but also avoids excessive and ultimately unsuccessful expansion attempts. Reviewed-by: jmasa, johnc ! src/share/vm/gc_implementation/g1/g1CollectedHeap.cpp ! src/share/vm/gc_implementation/g1/g1CollectedHeap.hpp Changeset: 5fd354a959c5 Author: jmasa Date: 2012-01-05 21:21 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/hotspot/rev/5fd354a959c5 Merge Changeset: 023652e49ac0 Author: johnc Date: 2011-12-23 11:14 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/hotspot/rev/023652e49ac0 7121496: G1: do the per-region evacuation failure handling work in parallel Summary: Parallelize the removal of self forwarding pointers etc. by wrapping in a HeapRegion closure, which is then wrapped inside an AbstractGangTask. Reviewed-by: tonyp, iveresov ! src/share/vm/gc_implementation/g1/concurrentMark.cpp ! src/share/vm/gc_implementation/g1/g1CollectedHeap.cpp ! src/share/vm/gc_implementation/g1/g1CollectedHeap.hpp + src/share/vm/gc_implementation/g1/g1EvacFailure.hpp ! src/share/vm/gc_implementation/g1/heapRegion.hpp Changeset: 02838862dec8 Author: tonyp Date: 2012-01-07 00:43 -0500 URL: http://hg.openjdk.java.net/lambda/lambda/hotspot/rev/02838862dec8 7121623: G1: always be able to reliably calculate the length of a forwarded chunked array Summary: Store the "next chunk start index" in the length field of the to-space object, instead of the from-space object, so that we can always reliably read the size of all from-space objects. Reviewed-by: johnc, ysr, jmasa ! src/share/vm/gc_implementation/g1/g1CollectedHeap.cpp Changeset: 97c00e21fecb Author: tonyp Date: 2012-01-09 23:50 -0500 URL: http://hg.openjdk.java.net/lambda/lambda/hotspot/rev/97c00e21fecb 7125281: G1: heap expansion code is replicated Reviewed-by: brutisso, johnc ! src/share/vm/gc_implementation/g1/g1CollectedHeap.cpp Changeset: 1d6185f732aa Author: brutisso Date: 2012-01-10 20:02 +0100 URL: http://hg.openjdk.java.net/lambda/lambda/hotspot/rev/1d6185f732aa 7128532: G1: Change default value of G1DefaultMaxNewGenPercent to 80 Reviewed-by: tonyp, jmasa ! src/share/vm/gc_implementation/g1/g1_globals.hpp Changeset: 2ace1c4ee8da Author: tonyp Date: 2012-01-10 18:58 -0500 URL: http://hg.openjdk.java.net/lambda/lambda/hotspot/rev/2ace1c4ee8da 6888336: G1: avoid explicitly marking and pushing objects in survivor spaces Summary: This change simplifies the interaction between GC and concurrent marking. By disabling survivor spaces during the initial-mark pause we don't need to propagate marks of objects we copy during each GC (since we never need to copy an explicitly marked object). Reviewed-by: johnc, brutisso ! src/share/vm/gc_implementation/g1/concurrentMark.cpp ! src/share/vm/gc_implementation/g1/concurrentMark.hpp ! src/share/vm/gc_implementation/g1/concurrentMark.inline.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/g1EvacFailure.hpp ! src/share/vm/gc_implementation/g1/g1OopClosures.hpp ! src/share/vm/gc_implementation/g1/heapRegion.cpp ! src/share/vm/gc_implementation/g1/heapRegion.hpp ! src/share/vm/gc_implementation/g1/heapRegion.inline.hpp ! src/share/vm/gc_implementation/g1/ptrQueue.hpp ! src/share/vm/gc_implementation/g1/satbQueue.cpp ! src/share/vm/gc_implementation/g1/satbQueue.hpp Changeset: 9d4f4a1825e4 Author: brutisso Date: 2012-01-13 01:55 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/hotspot/rev/9d4f4a1825e4 Merge Changeset: 5acd82522540 Author: brutisso Date: 2012-01-13 06:18 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/hotspot/rev/5acd82522540 Merge Changeset: b0ff910edfc9 Author: kvn Date: 2012-01-12 14:45 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/hotspot/rev/b0ff910edfc9 7128355: assert(!nocreate) failed: Cannot build a phi for a block already parsed Summary: Do not common BoxLock nodes and avoid creating phis of boxes. Reviewed-by: never ! src/share/vm/opto/callnode.cpp ! src/share/vm/opto/locknode.cpp ! src/share/vm/opto/locknode.hpp ! src/share/vm/opto/macro.cpp ! src/share/vm/opto/parse1.cpp Changeset: f4d8930a45b9 Author: jrose Date: 2012-01-13 00:51 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/hotspot/rev/f4d8930a45b9 Merge Changeset: 89d0a5d40008 Author: kvn Date: 2012-01-13 12:58 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/hotspot/rev/89d0a5d40008 7129618: assert(obj_node->eqv_uncast(obj),""); Summary: Relax verification and locks elimination checks for new implementation (EliminateNestedLocks). Reviewed-by: iveresov ! src/share/vm/opto/locknode.cpp ! src/share/vm/opto/macro.cpp Changeset: e504fd26c073 Author: kvn Date: 2012-01-13 14:21 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/hotspot/rev/e504fd26c073 Merge Changeset: fe2c87649981 Author: katleman Date: 2011-12-29 15:14 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/hotspot/rev/fe2c87649981 Added tag jdk8-b19 for changeset 9232e0ecbc2c ! .hgtags Changeset: 9952d1c439d6 Author: katleman Date: 2012-01-05 08:42 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/hotspot/rev/9952d1c439d6 Added tag jdk8-b20 for changeset fe2c87649981 ! .hgtags Changeset: ed621d125d02 Author: katleman Date: 2012-01-13 10:05 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/hotspot/rev/ed621d125d02 Added tag jdk8-b21 for changeset 9952d1c439d6 ! .hgtags Changeset: 513351373923 Author: amurillo Date: 2012-01-14 00:47 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/hotspot/rev/513351373923 Merge Changeset: 24727fb37561 Author: amurillo Date: 2012-01-14 00:47 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/hotspot/rev/24727fb37561 Added tag hs23-b10 for changeset 513351373923 ! .hgtags Changeset: 4e80db53c323 Author: amurillo Date: 2012-01-14 00:52 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/hotspot/rev/4e80db53c323 7129512: new hotspot build - hs23-b11 Reviewed-by: jcoomes ! make/hotspot_version Changeset: 94ec88ca68e2 Author: phh Date: 2012-01-11 17:34 -0500 URL: http://hg.openjdk.java.net/lambda/lambda/hotspot/rev/94ec88ca68e2 7115199: Add event tracing hooks and Java Flight Recorder infrastructure Summary: Added a nop tracing infrastructure, JFR makefile changes and other infrastructure used only by JFR. Reviewed-by: acorn, sspitsyn Contributed-by: markus.gronlund at oracle.com ! make/Makefile ! make/bsd/makefiles/vm.make ! make/defs.make ! make/linux/makefiles/vm.make ! make/solaris/makefiles/vm.make ! make/windows/build.bat ! make/windows/create_obj_files.sh ! make/windows/makefiles/projectcreator.make ! make/windows/makefiles/vm.make ! src/share/vm/classfile/symbolTable.cpp ! src/share/vm/classfile/symbolTable.hpp ! src/share/vm/classfile/systemDictionary.cpp ! src/share/vm/oops/klass.cpp ! src/share/vm/oops/klass.hpp ! src/share/vm/oops/methodKlass.cpp ! src/share/vm/oops/methodOop.hpp ! src/share/vm/prims/jni.cpp + src/share/vm/prims/jniExport.hpp ! src/share/vm/runtime/java.cpp ! src/share/vm/runtime/mutexLocker.cpp ! src/share/vm/runtime/mutexLocker.hpp ! src/share/vm/runtime/os.cpp ! src/share/vm/runtime/thread.cpp ! src/share/vm/runtime/thread.hpp ! src/share/vm/runtime/vm_operations.hpp + src/share/vm/trace/traceEventTypes.hpp + src/share/vm/trace/traceMacros.hpp + src/share/vm/trace/tracing.hpp ! src/share/vm/utilities/globalDefinitions.hpp Changeset: 4f3ce9284781 Author: phh Date: 2012-01-11 17:58 -0500 URL: http://hg.openjdk.java.net/lambda/lambda/hotspot/rev/4f3ce9284781 Merge ! src/share/vm/oops/klass.cpp ! src/share/vm/oops/klass.hpp Changeset: f1cd52d6ce02 Author: kamg Date: 2012-01-17 10:16 -0500 URL: http://hg.openjdk.java.net/lambda/lambda/hotspot/rev/f1cd52d6ce02 Merge Changeset: d7e3846464d0 Author: zgu Date: 2012-01-17 13:08 -0500 URL: http://hg.openjdk.java.net/lambda/lambda/hotspot/rev/d7e3846464d0 7071311: Decoder enhancement Summary: Made decoder thread-safe Reviewed-by: coleenp, kamg - src/os/bsd/vm/decoder_bsd.cpp + src/os/bsd/vm/decoder_machO.cpp + src/os/bsd/vm/decoder_machO.hpp ! src/os/linux/vm/decoder_linux.cpp ! src/os/linux/vm/os_linux.cpp ! src/os/solaris/vm/decoder_solaris.cpp ! src/os/solaris/vm/os_solaris.cpp ! src/os/windows/vm/decoder_windows.cpp + src/os/windows/vm/decoder_windows.hpp ! src/os/windows/vm/os_windows.cpp ! src/share/vm/utilities/decoder.cpp ! src/share/vm/utilities/decoder.hpp + src/share/vm/utilities/decoder_elf.cpp + src/share/vm/utilities/decoder_elf.hpp ! src/share/vm/utilities/elfFile.cpp ! src/share/vm/utilities/elfFile.hpp ! src/share/vm/utilities/elfStringTable.cpp ! src/share/vm/utilities/elfStringTable.hpp ! src/share/vm/utilities/elfSymbolTable.cpp ! src/share/vm/utilities/elfSymbolTable.hpp ! src/share/vm/utilities/vmError.cpp Changeset: 6520f9861937 Author: kamg Date: 2012-01-17 21:25 -0500 URL: http://hg.openjdk.java.net/lambda/lambda/hotspot/rev/6520f9861937 Merge Changeset: db18ca98d237 Author: zgu Date: 2012-01-18 11:45 -0500 URL: http://hg.openjdk.java.net/lambda/lambda/hotspot/rev/db18ca98d237 7131050: fix for "7071311 Decoder enhancement" does not build on MacOS X Summary: Decoder API changes did not reflect in os_bsd Reviewed-by: kamg, dcubed ! src/os/bsd/vm/os_bsd.cpp Changeset: eaa9557116a2 Author: bdelsart Date: 2012-01-18 16:18 +0100 URL: http://hg.openjdk.java.net/lambda/lambda/hotspot/rev/eaa9557116a2 7120448: Fix FP values for compiled frames in frame::describe Summary: fix for debug method frame::describe Reviewed-by: never, kvn ! src/cpu/sparc/vm/frame_sparc.inline.hpp ! src/cpu/x86/vm/frame_x86.cpp ! src/cpu/x86/vm/frame_x86.hpp ! src/cpu/zero/vm/frame_zero.inline.hpp ! src/share/vm/runtime/frame.cpp ! src/share/vm/runtime/frame.hpp Changeset: 15d394228cfa Author: jrose Date: 2012-01-19 13:00 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/hotspot/rev/15d394228cfa 7111138: delete the obsolete flag -XX:+UseRicochetFrames Reviewed-by: dholmes, bdelsart, kvn, twisti ! src/cpu/sparc/vm/methodHandles_sparc.cpp ! src/cpu/x86/vm/methodHandles_x86.cpp ! src/cpu/zero/vm/methodHandles_zero.hpp ! src/share/vm/prims/methodHandles.cpp ! src/share/vm/prims/methodHandles.hpp ! src/share/vm/runtime/globals.hpp ! src/share/vm/runtime/sharedRuntime.cpp Changeset: 898522ae3c32 Author: iveresov Date: 2012-01-19 10:56 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/hotspot/rev/898522ae3c32 7131288: COMPILE SKIPPED: deopt handler overflow (retry at different tier) Summary: Fix exception handler stub size, enable guarantees to check for the correct deopt and exception stub sizes in the future Reviewed-by: kvn, never, twisti ! src/cpu/sparc/vm/c1_LIRAssembler_sparc.cpp ! src/cpu/sparc/vm/c1_LIRAssembler_sparc.hpp ! src/cpu/x86/vm/c1_LIRAssembler_x86.cpp Changeset: 469e0a46f2fe Author: jrose Date: 2012-01-19 17:20 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/hotspot/rev/469e0a46f2fe Merge Changeset: 50d9b7a0072c Author: jrose Date: 2012-01-19 18:35 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/hotspot/rev/50d9b7a0072c Merge Changeset: 338d438ee229 Author: katleman Date: 2012-01-20 13:08 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/hotspot/rev/338d438ee229 Added tag jdk8-b22 for changeset 24727fb37561 ! .hgtags Changeset: dcc292399a39 Author: amurillo Date: 2012-01-20 16:56 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/hotspot/rev/dcc292399a39 Merge - src/os/bsd/vm/decoder_bsd.cpp Changeset: e850d8e7ea54 Author: amurillo Date: 2012-01-20 16:56 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/hotspot/rev/e850d8e7ea54 Added tag hs23-b11 for changeset dcc292399a39 ! .hgtags Changeset: 5f3fcd591768 Author: amurillo Date: 2012-01-20 17:07 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/hotspot/rev/5f3fcd591768 7131979: new hotspot build - hs23-b12 Reviewed-by: jcoomes ! make/hotspot_version Changeset: 53a127075045 Author: kvn Date: 2012-01-20 09:43 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/hotspot/rev/53a127075045 7131302: connode.cpp:205 Error: ShouldNotReachHere() Summary: Add Value() methods to short and byte Load nodes to truncate constants which does not fit. Reviewed-by: jrose ! src/share/vm/opto/memnode.cpp ! src/share/vm/opto/memnode.hpp Changeset: 9164b8236699 Author: iveresov Date: 2012-01-20 15:02 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/hotspot/rev/9164b8236699 7131028: Switch statement takes wrong path Summary: Pass correct type to branch in LIRGenerator::do_SwitchRanges() Reviewed-by: kvn, never ! src/share/vm/c1/c1_LIR.hpp ! src/share/vm/c1/c1_LIRGenerator.cpp Changeset: a81f60ddab06 Author: never Date: 2012-01-22 14:03 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/hotspot/rev/a81f60ddab06 7130676: Tiered: assert(bci == 0 || 0<= bci && bciis_loaded() Summary: handle not loaded array klass in Parse::do_checkcast(). Reviewed-by: kvn, never ! src/share/vm/opto/parseHelper.cpp Changeset: 5dbed2f542ff Author: bdelsart Date: 2012-01-26 16:49 +0100 URL: http://hg.openjdk.java.net/lambda/lambda/hotspot/rev/5dbed2f542ff 7120468: SPARC/x86: use frame::describe to enhance trace_method_handle Summary: improvements of TraceMethodHandles for JSR292 Reviewed-by: never, twisti ! src/cpu/sparc/vm/frame_sparc.cpp ! src/cpu/sparc/vm/methodHandles_sparc.cpp ! src/cpu/sparc/vm/methodHandles_sparc.hpp ! src/cpu/x86/vm/frame_x86.cpp ! src/cpu/x86/vm/methodHandles_x86.cpp ! src/cpu/x86/vm/methodHandles_x86.hpp ! src/cpu/zero/vm/frame_zero.cpp ! src/share/vm/runtime/frame.cpp ! src/share/vm/runtime/frame.hpp Changeset: 20334ed5ed3c Author: iveresov Date: 2012-01-26 12:15 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/hotspot/rev/20334ed5ed3c 7131259: compile_method and CompilationPolicy::event shouldn't be declared TRAPS Summary: Make sure that CompilationPolicy::event() doesn't throw exceptions Reviewed-by: kvn, never ! src/share/vm/c1/c1_Runtime1.cpp ! src/share/vm/compiler/compileBroker.cpp ! src/share/vm/compiler/compileBroker.hpp ! src/share/vm/interpreter/interpreterRuntime.cpp ! src/share/vm/runtime/advancedThresholdPolicy.cpp ! src/share/vm/runtime/advancedThresholdPolicy.hpp ! src/share/vm/runtime/compilationPolicy.cpp ! src/share/vm/runtime/compilationPolicy.hpp ! src/share/vm/runtime/simpleThresholdPolicy.cpp ! src/share/vm/runtime/simpleThresholdPolicy.hpp ! src/share/vm/utilities/exceptions.hpp Changeset: 072384a61312 Author: jrose Date: 2012-01-26 19:39 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/hotspot/rev/072384a61312 Merge Changeset: 2e966d967c5c Author: johnc Date: 2012-01-13 13:27 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/hotspot/rev/2e966d967c5c 7121547: G1: High number mispredicted branches while iterating over the marking bitmap Summary: There is a high number of mispredicted branches associated with calling BitMap::iteratate() from within CMBitMapRO::iterate(). Implement a version of CMBitMapRO::iterate() directly using inline-able routines. Reviewed-by: tonyp, iveresov ! src/share/vm/gc_implementation/g1/concurrentMark.cpp ! src/share/vm/gc_implementation/g1/concurrentMark.hpp ! src/share/vm/gc_implementation/g1/concurrentMark.inline.hpp ! src/share/vm/utilities/bitMap.inline.hpp Changeset: 851b58c26def Author: brutisso Date: 2012-01-16 11:21 +0100 URL: http://hg.openjdk.java.net/lambda/lambda/hotspot/rev/851b58c26def 7130334: G1: Change comments and error messages that refer to CMS in g1/concurrentMark.cpp/hpp Summary: Removed references to CMS in the concurrentMark.cpp/hpp files. Reviewed-by: tonyp, jmasa, johnc ! src/share/vm/gc_implementation/g1/concurrentMark.cpp ! src/share/vm/gc_implementation/g1/concurrentMark.hpp Changeset: 9509c20bba28 Author: brutisso Date: 2012-01-16 22:10 +0100 URL: http://hg.openjdk.java.net/lambda/lambda/hotspot/rev/9509c20bba28 6976060: G1: humongous object allocations should initiate marking cycles when necessary Reviewed-by: tonyp, johnc ! 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/vm_operations_g1.cpp ! src/share/vm/gc_interface/gcCause.cpp ! src/share/vm/gc_interface/gcCause.hpp Changeset: 0b3d1ec6eaee Author: tonyp Date: 2012-01-18 10:30 -0500 URL: http://hg.openjdk.java.net/lambda/lambda/hotspot/rev/0b3d1ec6eaee 7097586: G1: improve the per-space output when using jmap -heap Summary: Extend the jmap -heap output for G1 to include some more G1-specific information. Reviewed-by: brutisso, johnc, poonam ! agent/src/share/classes/sun/jvm/hotspot/gc_implementation/g1/G1CollectedHeap.java ! agent/src/share/classes/sun/jvm/hotspot/gc_implementation/g1/G1MonitoringSupport.java + agent/src/share/classes/sun/jvm/hotspot/gc_implementation/g1/HeapRegionSetBase.java ! agent/src/share/classes/sun/jvm/hotspot/tools/HeapSummary.java ! src/share/vm/gc_implementation/g1/concurrentMark.cpp ! src/share/vm/gc_implementation/g1/heapRegionSet.hpp ! src/share/vm/gc_implementation/g1/vmStructs_g1.hpp Changeset: 7ca7be5a6a0b Author: johnc Date: 2012-01-17 10:21 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/hotspot/rev/7ca7be5a6a0b 7129271: G1: Interference from multiple threads in PrintGC/PrintGCDetails output Summary: During an initial mark pause, signal the Concurrent Mark thread after the pause output from PrintGC/PrintGCDetails is complete. Reviewed-by: tonyp, brutisso ! src/share/vm/gc_implementation/g1/g1CollectedHeap.cpp Changeset: a8a126788ea0 Author: tonyp Date: 2012-01-19 09:13 -0500 URL: http://hg.openjdk.java.net/lambda/lambda/hotspot/rev/a8a126788ea0 7078465: G1: Don't use the undefined value (-1) for the G1 old memory pool max size Reviewed-by: johnc, brutisso ! src/share/vm/gc_implementation/g1/g1MonitoringSupport.hpp ! src/share/vm/services/g1MemoryPool.hpp Changeset: 57025542827f Author: brutisso Date: 2012-01-20 18:01 +0100 URL: http://hg.openjdk.java.net/lambda/lambda/hotspot/rev/57025542827f 7131791: G1: Asserts in nightly testing due to 6976060 Summary: Create a handle and fake an object to make sure that we don't loose the memory we just allocated Reviewed-by: tonyp, stefank ! src/share/vm/gc_implementation/g1/g1CollectedHeap.cpp Changeset: 6a78aa6ac1ff Author: brutisso Date: 2012-01-23 20:36 +0100 URL: http://hg.openjdk.java.net/lambda/lambda/hotspot/rev/6a78aa6ac1ff 7132311: G1: assert((s == klass->oop_size(this)) || (Universe::heap()->is_gc_active() && ((is_typeArray()... Summary: Move the check for when to call collect() to before we do a humongous object allocation Reviewed-by: stefank, tonyp ! src/share/vm/gc_implementation/g1/g1CollectedHeap.cpp ! src/share/vm/gc_implementation/g1/g1CollectorPolicy.cpp ! src/share/vm/gc_implementation/g1/g1CollectorPolicy.hpp Changeset: 877914d90c57 Author: tonyp Date: 2012-01-24 17:08 -0500 URL: http://hg.openjdk.java.net/lambda/lambda/hotspot/rev/877914d90c57 7132398: G1: java.lang.IllegalArgumentException: Invalid threshold: 9223372036854775807 > max (1073741824) Summary: Was not passing the right old pool max to the memory pool constructor in the fix for 7078465. Reviewed-by: brutisso, johnc ! src/share/vm/services/g1MemoryPool.cpp Changeset: d30fa85f9994 Author: johnc Date: 2012-01-12 00:06 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/hotspot/rev/d30fa85f9994 6484965: G1: piggy-back liveness accounting phase on marking Summary: Remove the separate counting phase of concurrent marking by tracking the amount of marked bytes and the cards spanned by marked objects in marking task/worker thread local data structures, which are updated as individual objects are marked. Reviewed-by: brutisso, tonyp ! src/share/vm/gc_implementation/g1/concurrentMark.cpp ! src/share/vm/gc_implementation/g1/concurrentMark.hpp ! src/share/vm/gc_implementation/g1/concurrentMark.inline.hpp ! src/share/vm/gc_implementation/g1/concurrentMarkThread.cpp ! src/share/vm/gc_implementation/g1/concurrentMarkThread.hpp ! src/share/vm/gc_implementation/g1/g1CollectedHeap.cpp ! src/share/vm/gc_implementation/g1/g1CollectedHeap.hpp ! src/share/vm/gc_implementation/g1/g1EvacFailure.hpp ! src/share/vm/gc_implementation/g1/g1OopClosures.hpp ! src/share/vm/gc_implementation/g1/heapRegion.hpp Changeset: eff609af17d7 Author: tonyp Date: 2012-01-25 12:58 -0500 URL: http://hg.openjdk.java.net/lambda/lambda/hotspot/rev/eff609af17d7 7127706: G1: re-enable survivors during the initial-mark pause Summary: Re-enable survivors during the initial-mark pause. Afterwards, the concurrent marking threads have to scan them and mark everything reachable from them. The next GC will have to wait for the survivors to be scanned. Reviewed-by: brutisso, johnc ! src/share/vm/gc_implementation/g1/concurrentMark.cpp ! src/share/vm/gc_implementation/g1/concurrentMark.hpp ! src/share/vm/gc_implementation/g1/concurrentMark.inline.hpp ! src/share/vm/gc_implementation/g1/concurrentMarkThread.cpp ! src/share/vm/gc_implementation/g1/g1CollectedHeap.cpp ! src/share/vm/gc_implementation/g1/g1CollectorPolicy.cpp ! src/share/vm/gc_implementation/g1/g1CollectorPolicy.hpp ! src/share/vm/gc_implementation/g1/g1EvacFailure.hpp ! src/share/vm/gc_implementation/g1/g1OopClosures.hpp ! src/share/vm/gc_implementation/g1/g1OopClosures.inline.hpp ! src/share/vm/gc_implementation/g1/heapRegion.inline.hpp ! src/share/vm/runtime/mutexLocker.cpp ! src/share/vm/runtime/mutexLocker.hpp Changeset: a5244e07b761 Author: jcoomes Date: 2012-01-25 21:14 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/hotspot/rev/a5244e07b761 7112413: JVM Crash, possibly GC-related Summary: disable UseAdaptiveSizePolicy with the CMS and ParNew Reviewed-by: johnc, brutisso ! src/share/vm/runtime/arguments.cpp Changeset: b4ebad3520bb Author: johnc Date: 2012-01-26 14:14 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/hotspot/rev/b4ebad3520bb 7133038: G1: Some small profile based optimizations Summary: Some minor profile based optimizations. Reduce the number of branches and branch mispredicts by removing some virtual calls, through closure specalization, and refactoring some conditional statements. Reviewed-by: brutisso, tonyp ! src/share/vm/gc_implementation/g1/g1OopClosures.hpp ! src/share/vm/gc_implementation/g1/g1OopClosures.inline.hpp ! src/share/vm/gc_implementation/g1/g1RemSet.cpp ! src/share/vm/gc_implementation/g1/g1RemSet.hpp ! src/share/vm/gc_implementation/g1/g1RemSet.inline.hpp ! src/share/vm/gc_implementation/g1/g1_specialized_oop_closures.hpp ! src/share/vm/gc_implementation/g1/heapRegion.cpp Changeset: 0a10d80352d5 Author: brutisso Date: 2012-01-27 09:04 +0100 URL: http://hg.openjdk.java.net/lambda/lambda/hotspot/rev/0a10d80352d5 Merge - src/os/bsd/vm/decoder_bsd.cpp ! src/share/vm/runtime/arguments.cpp ! src/share/vm/runtime/mutexLocker.cpp ! src/share/vm/runtime/mutexLocker.hpp Changeset: af739d5ab23c Author: bpittore Date: 2012-01-21 23:02 -0500 URL: http://hg.openjdk.java.net/lambda/lambda/hotspot/rev/af739d5ab23c 6972759: Step over not working after thrown exception and Pop Summary: reset jvmtithreadstate exception state after frame pop and forceearlyreturn processed Reviewed-by: minqi, dholmes, dlong Contributed-by: bill.pittore at oracle.com ! src/share/vm/prims/jvmtiThreadState.cpp ! src/share/vm/prims/jvmtiThreadState.hpp Changeset: 583b428aa858 Author: coleenp Date: 2012-01-23 17:45 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/hotspot/rev/583b428aa858 Merge - src/os/bsd/vm/decoder_bsd.cpp Changeset: d6660fedbab5 Author: phh Date: 2012-01-24 14:07 -0500 URL: http://hg.openjdk.java.net/lambda/lambda/hotspot/rev/d6660fedbab5 7126732: MAC: Require Mac OS X builds/tests for JPRT integrate jobs for HotSpot Summary: Modify jprt.properties to run OSX builds and tests. Reviewed-by: dcubed, kamg, ohair, dholmes Contributed-by: james.melvin at oracle.com ! make/jprt.properties Changeset: bf864f701a4a Author: dsamersoff Date: 2012-01-25 02:29 +0400 URL: http://hg.openjdk.java.net/lambda/lambda/hotspot/rev/bf864f701a4a 7066129: GarbageCollectorMXBean#getLastGcInfo leaks native memory Summary: Make GCStatInfo a resource object Reviewed-by: phh, coleenp ! src/share/vm/services/gcNotifier.cpp ! src/share/vm/services/management.cpp ! src/share/vm/services/memoryManager.cpp ! src/share/vm/services/memoryManager.hpp Changeset: df88f58f3b61 Author: dsamersoff Date: 2012-01-24 20:15 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/hotspot/rev/df88f58f3b61 Merge Changeset: e8a4934564b2 Author: phh Date: 2012-01-24 19:33 -0500 URL: http://hg.openjdk.java.net/lambda/lambda/hotspot/rev/e8a4934564b2 7125793: MAC: test_gamma should always work Summary: Fix gamma launcher on Mac OS X and reconcile test_gamma script on Unix platforms Reviewed-by: dcubed, ohair, jcoomes, dholmes, ksrini Contributed-by: james.melvin at oracle.com ! make/bsd/Makefile ! make/bsd/makefiles/buildtree.make ! make/bsd/makefiles/defs.make ! make/bsd/makefiles/launcher.make ! make/bsd/makefiles/vm.make ! make/linux/makefiles/buildtree.make ! make/solaris/makefiles/buildtree.make ! src/os/bsd/vm/os_bsd.cpp ! src/os/posix/launcher/java_md.c Changeset: 78dadb7b16ab Author: phh Date: 2012-01-25 01:16 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/hotspot/rev/78dadb7b16ab Merge Changeset: d708a8cdd022 Author: kamg Date: 2012-01-25 10:08 -0500 URL: http://hg.openjdk.java.net/lambda/lambda/hotspot/rev/d708a8cdd022 Merge Changeset: 520830f632e7 Author: fparain Date: 2012-01-25 10:32 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/hotspot/rev/520830f632e7 7131346: Parsing of boolean arguments to diagnostic commands is broken Reviewed-by: dholmes, dcubed ! src/share/vm/services/diagnosticArgument.cpp ! src/share/vm/utilities/globalDefinitions_visCPP.hpp Changeset: 24ec1a6d6ef3 Author: fparain Date: 2012-01-25 16:33 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/hotspot/rev/24ec1a6d6ef3 Merge Changeset: a42c07c38c47 Author: dsamersoff Date: 2012-01-25 21:10 +0400 URL: http://hg.openjdk.java.net/lambda/lambda/hotspot/rev/a42c07c38c47 7132515: Add dcmd to manage UnlockingCommercialFeature flag Summary: Added dcmd to unlock or check status of UnlockingCommercialFeature flag Reviewed-by: fparain, rottenha ! src/share/vm/services/diagnosticCommand.cpp ! src/share/vm/services/diagnosticCommand.hpp + src/share/vm/services/diagnosticCommand_ext.hpp ! src/share/vm/services/diagnosticFramework.hpp ! src/share/vm/services/management.cpp Changeset: 6d00795f99a1 Author: dsamersoff Date: 2012-01-25 15:03 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/hotspot/rev/6d00795f99a1 Merge Changeset: 6db63e782d3d Author: dsamersoff Date: 2012-01-25 18:58 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/hotspot/rev/6db63e782d3d Merge Changeset: de268c8a8075 Author: phh Date: 2012-01-26 20:06 -0500 URL: http://hg.openjdk.java.net/lambda/lambda/hotspot/rev/de268c8a8075 7082553: Interpret Thread.setPriority(Thread.MAX_PRIORITY) to mean FX60 on Solaris 10 and 11 Summary: Add CriticalPriority == MaxPriority+1 and enable scheduling class as well as thread priority to change on Solaris. Reviewed-by: dholmes, dcubed ! src/os/bsd/vm/os_bsd.cpp ! src/os/linux/vm/os_linux.cpp ! src/os/solaris/vm/osThread_solaris.hpp ! src/os/solaris/vm/os_solaris.cpp ! src/os/windows/vm/os_windows.cpp ! src/share/vm/compiler/compileBroker.cpp ! src/share/vm/gc_implementation/concurrentMarkSweep/concurrentMarkSweepThread.cpp ! src/share/vm/runtime/globals.hpp ! src/share/vm/runtime/os.hpp Changeset: bf5da1648543 Author: kamg Date: 2012-01-27 10:42 -0500 URL: http://hg.openjdk.java.net/lambda/lambda/hotspot/rev/bf5da1648543 Merge ! src/share/vm/compiler/compileBroker.cpp ! src/share/vm/runtime/globals.hpp Changeset: 6edfe6e42a68 Author: katleman Date: 2012-01-26 18:23 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/hotspot/rev/6edfe6e42a68 Added tag jdk8-b23 for changeset e850d8e7ea54 ! .hgtags Changeset: 9e177d44b10f Author: amurillo Date: 2012-01-27 14:44 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/hotspot/rev/9e177d44b10f Merge Changeset: a80fd4f45d7a Author: amurillo Date: 2012-01-27 14:44 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/hotspot/rev/a80fd4f45d7a Added tag hs23-b12 for changeset 9e177d44b10f ! .hgtags Changeset: 9f1c2b7cdfb6 Author: amurillo Date: 2012-01-27 14:49 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/hotspot/rev/9f1c2b7cdfb6 7135385: new hotspot build - hs23-b13 Reviewed-by: jcoomes ! make/hotspot_version Changeset: 34e2e90e7182 Author: rbackman Date: 2012-01-24 14:48 +0100 URL: http://hg.openjdk.java.net/lambda/lambda/hotspot/rev/34e2e90e7182 7130476: Remove use of #ifdef TRACE_DEFINE_KLASS_TRACE_ID from klass.hpp Reviewed-by: kamg, phh, dsamersoff Contributed-by: Rickard Backman ! src/share/vm/oops/klass.cpp ! src/share/vm/oops/klass.hpp ! src/share/vm/trace/traceMacros.hpp Changeset: 26a08cbbf042 Author: stefank Date: 2012-01-27 13:46 +0100 URL: http://hg.openjdk.java.net/lambda/lambda/hotspot/rev/26a08cbbf042 7022100: Method annotations are incorrectly set when redefining classes Summary: Changed to the correct annotation arrays Reviewed-by: kamg, dholmes, sla ! src/share/vm/oops/instanceKlass.hpp Changeset: f457154eee8b Author: brutisso Date: 2012-01-30 12:36 +0100 URL: http://hg.openjdk.java.net/lambda/lambda/hotspot/rev/f457154eee8b 7140882: Don't return booleans from methods returning pointers Summary: Changed "return false" to "return NULL" Reviewed-by: dholmes, rottenha Contributed-by: dbhole at redhat.com ! src/share/vm/oops/constantPoolOop.cpp ! src/share/vm/opto/loopnode.cpp Changeset: d96c130c9399 Author: brutisso Date: 2012-01-30 05:08 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/hotspot/rev/d96c130c9399 Merge Changeset: b2cd0ee8f778 Author: acorn Date: 2012-01-30 23:27 -0500 URL: http://hg.openjdk.java.net/lambda/lambda/hotspot/rev/b2cd0ee8f778 7114376: Make system dictionary hashtable bucket array size configurable Summary: 7u4 new experimental flag -XX:PredictedClassLoadedCount=# Reviewed-by: dholmes, phh, dcubed ! agent/src/share/classes/sun/jvm/hotspot/memory/LoaderConstraintTable.java ! agent/src/share/classes/sun/jvm/hotspot/memory/SystemDictionary.java ! src/share/vm/classfile/dictionary.cpp ! src/share/vm/classfile/systemDictionary.cpp ! src/share/vm/classfile/systemDictionary.hpp ! src/share/vm/runtime/globals.hpp ! src/share/vm/runtime/vmStructs.cpp ! src/share/vm/utilities/hashtable.hpp Changeset: 481a9443f721 Author: phh Date: 2012-02-01 15:01 -0500 URL: http://hg.openjdk.java.net/lambda/lambda/hotspot/rev/481a9443f721 7123386: RFE: Preserve universal builds of HotSpot on Mac OS X Summary: Add support for packaging HotSpot JVM builds in universal binaries Reviewed-by: dholmes, kamg, dcubed, phh Contributed-by: james.melvin at oracle.com ! make/Makefile ! make/bsd/makefiles/defs.make + make/bsd/makefiles/universal.gmk ! make/defs.make Changeset: 527cf36f4a20 Author: fparain Date: 2012-02-03 14:04 -0500 URL: http://hg.openjdk.java.net/lambda/lambda/hotspot/rev/527cf36f4a20 Merge ! src/share/vm/runtime/globals.hpp Changeset: 1a2723f7ad8e Author: never Date: 2012-01-29 16:46 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/hotspot/rev/1a2723f7ad8e 7129164: JNI Get/ReleasePrimitiveArrayCritical doesn't scale Reviewed-by: kvn, iveresov, dholmes ! src/share/vm/memory/gcLocker.cpp ! src/share/vm/memory/gcLocker.hpp ! src/share/vm/memory/gcLocker.inline.hpp ! src/share/vm/runtime/safepoint.cpp ! src/share/vm/runtime/safepoint.hpp ! src/share/vm/runtime/thread.hpp Changeset: 5f17b16b3219 Author: iveresov Date: 2012-01-30 19:37 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/hotspot/rev/5f17b16b3219 7141059: 7116795 broke pure c2 builds Summary: Fix pure c2 builds Reviewed-by: kvn, brutisso, never ! src/cpu/sparc/vm/c2_globals_sparc.hpp ! src/cpu/sparc/vm/frame_sparc.cpp ! src/cpu/x86/vm/c2_globals_x86.hpp ! src/cpu/x86/vm/frame_x86.cpp ! src/share/vm/runtime/globals.hpp Changeset: 5ed8f599a788 Author: kvn Date: 2012-01-31 07:18 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/hotspot/rev/5ed8f599a788 7140924: SIGSEGV in compiled code for sun.awt.X11.XDecoratedPeer.updateMinSizeHints Summary: Use unknown_obj instead of empty_map for NULL or Constant Pool object constants in bytecode Escape Analyzer. Reviewed-by: iveresov, never ! src/share/vm/ci/bcEscapeAnalyzer.cpp Changeset: 2f5980b127e3 Author: twisti Date: 2012-01-31 09:53 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/hotspot/rev/2f5980b127e3 7132180: JSR 292: C1 JVM crash with ClassValue/MethodHandle Reviewed-by: never ! src/share/vm/c1/c1_GraphBuilder.cpp Changeset: f067b4e0e04b Author: roland Date: 2012-02-01 10:36 +0100 URL: http://hg.openjdk.java.net/lambda/lambda/hotspot/rev/f067b4e0e04b 7090976: Eclipse/CDT causes a JVM crash while indexing C++ code Summary: too optimistic inlining decision confuses local value numbering. Reviewed-by: never ! src/share/vm/c1/c1_GraphBuilder.cpp ! src/share/vm/c1/c1_GraphBuilder.hpp ! src/share/vm/c1/c1_ValueMap.cpp + test/compiler/7090976/Test7090976.java Changeset: aa3d708d67c4 Author: never Date: 2012-02-01 07:59 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/hotspot/rev/aa3d708d67c4 7141200: log some interesting information in ring buffers for crashes Reviewed-by: kvn, jrose, kevinw, brutisso, twisti, jmasa ! src/os/windows/vm/os_windows.cpp ! src/share/vm/c1/c1_Runtime1.cpp ! src/share/vm/ci/ciEnv.hpp ! src/share/vm/code/compiledIC.cpp ! src/share/vm/code/nmethod.cpp ! src/share/vm/compiler/compileBroker.cpp ! src/share/vm/compiler/compileBroker.hpp ! src/share/vm/gc_implementation/g1/g1CollectedHeap.cpp ! src/share/vm/gc_implementation/g1/g1MarkSweep.cpp ! src/share/vm/gc_implementation/parallelScavenge/psMarkSweep.cpp ! src/share/vm/gc_implementation/parallelScavenge/psParallelCompact.cpp ! src/share/vm/gc_implementation/parallelScavenge/psScavenge.cpp ! src/share/vm/gc_interface/collectedHeap.cpp ! src/share/vm/gc_interface/collectedHeap.hpp ! src/share/vm/memory/genCollectedHeap.cpp ! src/share/vm/memory/genMarkSweep.cpp ! src/share/vm/prims/jvm.cpp ! src/share/vm/runtime/deoptimization.cpp ! src/share/vm/runtime/frame.cpp ! src/share/vm/runtime/globals.hpp ! src/share/vm/runtime/init.cpp ! src/share/vm/runtime/mutex.cpp ! src/share/vm/runtime/sharedRuntime.cpp ! src/share/vm/runtime/thread.cpp ! src/share/vm/utilities/debug.cpp ! src/share/vm/utilities/debug.hpp ! src/share/vm/utilities/events.cpp ! src/share/vm/utilities/events.hpp ! src/share/vm/utilities/exceptions.cpp ! src/share/vm/utilities/vmError.cpp Changeset: 0382d2b469b2 Author: never Date: 2012-02-01 16:57 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/hotspot/rev/0382d2b469b2 7013347: allow crypto functions to be called inline to enhance performance Reviewed-by: kvn ! src/cpu/sparc/vm/assembler_sparc.hpp ! src/cpu/sparc/vm/assembler_sparc.inline.hpp ! src/cpu/sparc/vm/sharedRuntime_sparc.cpp ! src/cpu/x86/vm/sharedRuntime_x86_32.cpp ! src/cpu/x86/vm/sharedRuntime_x86_64.cpp ! src/share/vm/code/nmethod.cpp ! src/share/vm/code/nmethod.hpp ! src/share/vm/memory/gcLocker.cpp ! src/share/vm/memory/gcLocker.hpp ! src/share/vm/oops/arrayOop.cpp ! src/share/vm/oops/methodOop.cpp ! src/share/vm/oops/methodOop.hpp ! src/share/vm/prims/nativeLookup.cpp ! src/share/vm/prims/nativeLookup.hpp ! src/share/vm/runtime/globals.hpp ! src/share/vm/runtime/safepoint.cpp ! src/share/vm/runtime/safepoint.hpp ! src/share/vm/runtime/sharedRuntime.cpp ! src/share/vm/runtime/sharedRuntime.hpp ! src/share/vm/runtime/thread.cpp ! src/share/vm/runtime/thread.hpp Changeset: 392a3f07d567 Author: twisti Date: 2012-02-02 09:14 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/hotspot/rev/392a3f07d567 7141637: JSR 292: MH spread invoker crashes with NULL argument on x86_32 Reviewed-by: twisti Contributed-by: Volker Simonis ! src/cpu/x86/vm/methodHandles_x86.cpp + test/compiler/7141637/SpreadNullArg.java Changeset: 379b22e03c32 Author: jcoomes Date: 2012-02-03 12:08 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/hotspot/rev/379b22e03c32 Merge ! src/os/windows/vm/os_windows.cpp ! src/share/vm/compiler/compileBroker.cpp ! src/share/vm/gc_implementation/g1/g1CollectedHeap.cpp ! src/share/vm/runtime/globals.hpp Changeset: be649fefcdc2 Author: stefank Date: 2012-01-27 14:14 +0100 URL: http://hg.openjdk.java.net/lambda/lambda/hotspot/rev/be649fefcdc2 7134655: Crash in reference processing when doing single-threaded remarking Summary: Temporarily disabled multi-threaded reference discovery when entering a single-threaded remark phase. Reviewed-by: brutisso, tonyp, jmasa, jcoomes ! src/share/vm/gc_implementation/concurrentMarkSweep/concurrentMarkSweepGeneration.cpp Changeset: c03e06373b47 Author: stefank Date: 2012-01-28 01:15 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/hotspot/rev/c03e06373b47 Merge - src/os/bsd/vm/decoder_bsd.cpp Changeset: 2eeebe4b4213 Author: brutisso Date: 2012-01-30 15:21 +0100 URL: http://hg.openjdk.java.net/lambda/lambda/hotspot/rev/2eeebe4b4213 7140909: Visual Studio project builds broken: need to define INCLUDE_TRACE Summary: Add define of INCLUDE_TRACE Reviewed-by: sla, kamg ! src/share/tools/ProjectCreator/BuildConfig.java Changeset: 24cae3e4cbaa Author: jcoomes Date: 2012-02-02 16:05 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/hotspot/rev/24cae3e4cbaa 6679764: enable parallel compaction by default Reviewed-by: phh, jmasa ! src/share/vm/runtime/arguments.cpp Changeset: 5ab44ceb4d57 Author: jcoomes Date: 2012-02-03 12:20 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/hotspot/rev/5ab44ceb4d57 Merge Changeset: 905945c5913e Author: katleman Date: 2012-02-02 09:39 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/hotspot/rev/905945c5913e Added tag jdk8-b24 for changeset a80fd4f45d7a ! .hgtags Changeset: b22de8247499 Author: amurillo Date: 2012-02-03 18:04 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/hotspot/rev/b22de8247499 Merge Changeset: 4e9b30938cbf Author: amurillo Date: 2012-02-03 18:04 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/hotspot/rev/4e9b30938cbf Added tag hs23-b13 for changeset b22de8247499 ! .hgtags Changeset: 1f22b536808b Author: amurillo Date: 2012-02-03 18:09 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/hotspot/rev/1f22b536808b 7142393: new hotspot build - hs23-b14 Reviewed-by: jcoomes ! make/hotspot_version Changeset: 585feefad374 Author: phh Date: 2012-02-06 14:01 -0500 URL: http://hg.openjdk.java.net/lambda/lambda/hotspot/rev/585feefad374 7142852: MAC: Comment out JPRT jbb tests on Mac OS X until 7142850 is resolved Summary: Comment out JPRT jbb tests on Mac OS X until GUI hang can be fixed Reviewed-by: dholmes, brutisso, phh Contributed-by: james.melvin at oracle.com ! make/jprt.properties Changeset: 64b46f975ab8 Author: phh Date: 2012-02-06 14:02 -0500 URL: http://hg.openjdk.java.net/lambda/lambda/hotspot/rev/64b46f975ab8 7142616: MAC: Honor ALT_EXPORT_PATH overrides from JDK control builds Summary: Fix EXPORT_PATH overrides on Mac OS X and only change default. Reviewed-by: phh, dcubed Contributed-by: james.melvin at oracle.com ! make/bsd/makefiles/defs.make ! make/bsd/makefiles/universal.gmk Changeset: 9ad8feb5afbd Author: amurillo Date: 2012-02-06 12:13 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/hotspot/rev/9ad8feb5afbd Added tag hs23-b14 for changeset 64b46f975ab8 ! .hgtags Changeset: 3c4621be5149 Author: amurillo Date: 2012-02-06 12:18 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/hotspot/rev/3c4621be5149 7143122: new hotspot build - hs23-b15 Reviewed-by: jcoomes ! make/hotspot_version Changeset: 869be5c8882e Author: phh Date: 2012-02-03 17:21 -0500 URL: http://hg.openjdk.java.net/lambda/lambda/hotspot/rev/869be5c8882e 7142586: Cannot build on Solaris 11 due to use of ia_nice Summary: Delete the single use of ia_nice in os_solaris.cpp Reviewed-by: kamg, kvn ! src/os/solaris/vm/os_solaris.cpp Changeset: c77d473e71f7 Author: ohrstrom Date: 2012-01-31 13:12 +0100 URL: http://hg.openjdk.java.net/lambda/lambda/hotspot/rev/c77d473e71f7 7132779: build-infra merge: Enable ccache to work for most developer builds. Summary: When a build number is not specified, the JRE_RELEASE_VERSION define contains a date and timestamp. Thus ccache cannot cache the object files for longer than a minute since the define is passed to the compilation of all source files. This change passes JRE_RELEASE_VERSION only to vm_version.cpp and adds a function jre_release_version() to Abstract_VM_Version. This allows all other source files to be ccached. Reviewed-by: ohair, rottenha Contributed-by: fredrik.ohrstrom at oracle.com ! make/bsd/makefiles/vm.make ! make/linux/makefiles/vm.make ! make/solaris/makefiles/vm.make ! src/share/vm/runtime/vm_version.cpp ! src/share/vm/runtime/vm_version.hpp Changeset: 719f7007c8e8 Author: erikj Date: 2012-02-06 09:14 +0100 URL: http://hg.openjdk.java.net/lambda/lambda/hotspot/rev/719f7007c8e8 7141242: build-infra merge: Rename CPP->CXX and LINK->LD Summary: Cleaned up make variables for compilers and linker to consistently use CXX for C++ compiler, CC for C compiler and LD for linker. Reviewed-by: dholmes, ohrstrom ! make/bsd/makefiles/adlc.make ! make/bsd/makefiles/dtrace.make ! make/bsd/makefiles/gcc.make ! make/bsd/makefiles/launcher.make ! make/bsd/makefiles/product.make ! make/bsd/makefiles/rules.make ! make/bsd/makefiles/sparcWorks.make ! make/bsd/makefiles/vm.make ! make/linux/makefiles/adlc.make ! make/linux/makefiles/gcc.make ! make/linux/makefiles/launcher.make ! make/linux/makefiles/product.make ! make/linux/makefiles/rules.make ! make/linux/makefiles/sparcWorks.make ! make/linux/makefiles/vm.make ! make/solaris/makefiles/adlc.make ! make/solaris/makefiles/dtrace.make ! make/solaris/makefiles/gcc.make ! make/solaris/makefiles/launcher.make ! make/solaris/makefiles/product.make ! make/solaris/makefiles/rules.make ! make/solaris/makefiles/saproc.make ! make/solaris/makefiles/sparcWorks.make ! make/solaris/makefiles/vm.make ! make/windows/build_vm_def.sh ! make/windows/get_msc_ver.sh ! make/windows/makefiles/adlc.make ! make/windows/makefiles/compile.make ! make/windows/makefiles/debug.make ! make/windows/makefiles/fastdebug.make ! make/windows/makefiles/launcher.make ! make/windows/makefiles/product.make ! make/windows/makefiles/projectcreator.make ! make/windows/makefiles/sa.make ! make/windows/makefiles/sanity.make ! make/windows/makefiles/shared.make ! make/windows/makefiles/vm.make Changeset: ea677dbdd883 Author: fparain Date: 2012-02-07 12:34 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/hotspot/rev/ea677dbdd883 Merge Changeset: 5e9fba4e8718 Author: kvn Date: 2012-02-07 11:33 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/hotspot/rev/5e9fba4e8718 7142167: MAC: _get_previous_fp broken on bsd with llvm-gcc Summary: LLVM-GCC (__llvm__) should use the same _get_previous_fp implementation as __clang__ (as is the case for os::current_stack_pointer). Reviewed-by: twisti, never, dcubed ! src/os_cpu/bsd_x86/vm/os_bsd_x86.cpp Changeset: b9bc6cae88f2 Author: kvn Date: 2012-02-07 16:33 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/hotspot/rev/b9bc6cae88f2 7143491: G1 C2 CTW: assert(p2x->outcnt() == 2) failed: expects 2 users: Xor and URShift nodes Summary: Adjust the assert and code in eliminate_card_mark() method for case when stored value is NULL. Reviewed-by: iveresov, never ! src/share/vm/opto/graphKit.cpp ! src/share/vm/opto/library_call.cpp ! src/share/vm/opto/macro.cpp Changeset: c742b0b47fe5 Author: roland Date: 2012-02-08 09:52 +0100 URL: http://hg.openjdk.java.net/lambda/lambda/hotspot/rev/c742b0b47fe5 7119286: JSR292: SIGSEGV in JNIHandleBlock::release_block(JNIHandleBlock*, Thread*)+0x3c Summary: unaligned stack in throw_NullPointerException_at_call_entry(). Reviewed-by: twisti, never, kvn ! src/cpu/x86/vm/stubGenerator_x86_64.cpp Changeset: 2f985b6ce7ff Author: jrose Date: 2012-02-09 18:01 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/hotspot/rev/2f985b6ce7ff Merge Changeset: 1ac084126285 Author: dlong Date: 2012-01-24 18:00 -0500 URL: http://hg.openjdk.java.net/lambda/lambda/hotspot/rev/1ac084126285 7130319: C2: running with -XX:+PrintOptoAssembly crashes the VM with assert(false) failed: bad tag in log Summary: Relax assert to allow the VMThread to close the log while the compiler thread is still writing to it. Reviewed-by: dholmes, never Contributed-by: dean.long at oracle.com ! src/share/vm/utilities/xmlstream.cpp Changeset: d851f3714641 Author: dholmes Date: 2012-01-25 19:26 -0500 URL: http://hg.openjdk.java.net/lambda/lambda/hotspot/rev/d851f3714641 Merge - src/os/bsd/vm/decoder_bsd.cpp Changeset: a79cb7c55012 Author: jiangli Date: 2012-01-25 17:40 -0500 URL: http://hg.openjdk.java.net/lambda/lambda/hotspot/rev/a79cb7c55012 7132690: InstanceKlass:_reference_type should be u1 type Summary: Change InstanceKlass::_reference_type to u1 type. Reviewed-by: dholmes, coleenp, acorn Contributed-by: Jiangli Zhou ! src/cpu/sparc/vm/c1_CodeStubs_sparc.cpp ! src/cpu/x86/vm/c1_CodeStubs_x86.cpp ! src/share/vm/oops/instanceKlass.hpp ! src/share/vm/opto/library_call.cpp ! src/share/vm/runtime/vmStructs.cpp Changeset: f3fa16bd7159 Author: bobv Date: 2012-01-25 21:30 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/hotspot/rev/f3fa16bd7159 Merge Changeset: b7b8b6d2f97d Author: bpittore Date: 2012-02-06 10:57 -0500 URL: http://hg.openjdk.java.net/lambda/lambda/hotspot/rev/b7b8b6d2f97d Merge ! src/share/vm/oops/instanceKlass.hpp ! src/share/vm/runtime/vmStructs.cpp Changeset: f174909614bd Author: bpittore Date: 2012-02-10 10:55 -0500 URL: http://hg.openjdk.java.net/lambda/lambda/hotspot/rev/f174909614bd Merge ! src/share/vm/opto/library_call.cpp Changeset: aaceb8ddf2e2 Author: katleman Date: 2012-02-09 12:55 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/hotspot/rev/aaceb8ddf2e2 Added tag jdk8-b25 for changeset 9ad8feb5afbd ! .hgtags Changeset: d71e662fe037 Author: amurillo Date: 2012-02-10 11:41 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/hotspot/rev/d71e662fe037 Merge Changeset: fd3060701216 Author: amurillo Date: 2012-02-10 11:41 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/hotspot/rev/fd3060701216 Added tag hs23-b15 for changeset d71e662fe037 ! .hgtags Changeset: 094138495da4 Author: amurillo Date: 2012-02-10 11:46 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/hotspot/rev/094138495da4 7144322: new hotspot build - hs23-b16 Reviewed-by: jcoomes ! make/hotspot_version Changeset: 77a488cd4af2 Author: dlong Date: 2012-02-15 00:51 -0500 URL: http://hg.openjdk.java.net/lambda/lambda/hotspot/rev/77a488cd4af2 7140866: assert(covered) failed: Card for end of new region not committed Summary: resize covered region only after successfully mapping shared archive Reviewed-by: brutisso, ysr Contributed-by: dean.long at oracle.com ! src/share/vm/memory/compactingPermGenGen.cpp Changeset: f9961b6498f9 Author: bpittore Date: 2012-02-15 16:09 -0500 URL: http://hg.openjdk.java.net/lambda/lambda/hotspot/rev/f9961b6498f9 Merge Changeset: 95f6641e38e0 Author: iveresov Date: 2012-02-10 17:40 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/hotspot/rev/95f6641e38e0 7144296: PS: Optimize nmethods processing Summary: Prunes scavenge roots in code list every young GC, promote objects directly pointed by the code immediately Reviewed-by: johnc, jcoomes ! 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/parallelScavenge/psScavenge.inline.hpp ! src/share/vm/gc_implementation/parallelScavenge/psTasks.cpp Changeset: caa4652b4414 Author: tonyp Date: 2012-02-14 08:21 -0500 URL: http://hg.openjdk.java.net/lambda/lambda/hotspot/rev/caa4652b4414 7129892: G1: explicit marking cycle initiation might fail to initiate a marking cycle Summary: If we try to schedule an initial-mark GC in order to explicit start a conc mark cycle and it gets pre-empted by antoher GC, we should retry the attempt as long as it's appropriate for the GC cause. Reviewed-by: brutisso, johnc ! src/share/vm/gc_implementation/g1/g1CollectedHeap.cpp ! src/share/vm/gc_implementation/g1/g1CollectedHeap.hpp Changeset: d903bf750e9f Author: johnc Date: 2012-01-18 09:50 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/hotspot/rev/d903bf750e9f 7129514: time warp warnings after 7117303 Summary: Replace calls to os::javaTimeMillis() that are used to update the milliseconds since the last GC to an equivalent that uses a monotonically non-decreasing time source. Reviewed-by: ysr, jmasa ! src/share/vm/gc_implementation/concurrentMarkSweep/concurrentMarkSweepGeneration.cpp ! src/share/vm/gc_implementation/parNew/parNewGeneration.cpp ! src/share/vm/memory/defNewGeneration.cpp ! src/share/vm/memory/genMarkSweep.cpp Changeset: a9647476d1a4 Author: tonyp Date: 2012-02-15 13:06 -0500 URL: http://hg.openjdk.java.net/lambda/lambda/hotspot/rev/a9647476d1a4 7132029: G1: mixed GC phase lasts for longer than it should Summary: Revamp of the mechanism that chooses old regions for inclusion in the CSet. It simplifies the code and introduces min and max bounds on the number of old regions added to the CSet at each mixed GC to avoid pathological cases. It also ensures that when we do a mixed GC we'll always find old regions to add to the CSet (i.e., it eliminates the case where a mixed GC will collect no old regions which can happen today). Reviewed-by: johnc, brutisso ! src/share/vm/gc_implementation/g1/collectionSetChooser.cpp ! src/share/vm/gc_implementation/g1/collectionSetChooser.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/g1ErgoVerbose.hpp ! src/share/vm/gc_implementation/g1/g1_globals.hpp ! src/share/vm/gc_implementation/g1/heapRegion.cpp ! src/share/vm/gc_implementation/g1/heapRegion.hpp Changeset: ab4422d0ed59 Author: jcoomes Date: 2012-02-16 13:12 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/hotspot/rev/ab4422d0ed59 7146343: PS invoke methods should indicate the type of gc done Reviewed-by: stefank, jmasa ! src/share/vm/gc_implementation/parallelScavenge/psMarkSweep.cpp ! src/share/vm/gc_implementation/parallelScavenge/psMarkSweep.hpp ! 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/parallelScavenge/psScavenge.hpp Changeset: 23c0eb012d6f Author: jcoomes Date: 2012-02-16 13:13 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/hotspot/rev/23c0eb012d6f 6330863: vm/gc/InfiniteList.java fails intermittently due to timeout Summary: in some cases, allocate from the old gen before doing a full gc Reviewed-by: stefank, jmasa ! src/share/vm/gc_implementation/parallelScavenge/parallelScavengeHeap.cpp ! src/share/vm/gc_implementation/parallelScavenge/parallelScavengeHeap.hpp ! src/share/vm/gc_implementation/parallelScavenge/parallelScavengeHeap.inline.hpp Changeset: be398bba40e9 Author: stefank Date: 2012-02-17 13:23 +0100 URL: http://hg.openjdk.java.net/lambda/lambda/hotspot/rev/be398bba40e9 Merge Changeset: 1b0e0f8be510 Author: minqi Date: 2012-02-09 00:51 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/hotspot/rev/1b0e0f8be510 7131006: java/lang/management/ThreadMXBean/ThreadLists.java Reviewed-by: dholmes, acorn ! src/share/vm/classfile/vmSymbols.hpp ! src/share/vm/utilities/preserveException.cpp Changeset: db006a85bf91 Author: zgu Date: 2012-02-09 10:16 -0500 URL: http://hg.openjdk.java.net/lambda/lambda/hotspot/rev/db006a85bf91 7141259: Native stack is missing in hs_err Summary: Code cleanup and creating a private decoder for error handler, since it can be triggered from in signal handler, where no lock can be taken Reviewed-by: dholmes, kamg, acorn, coleenp ! src/os/bsd/vm/decoder_machO.hpp ! src/os/windows/vm/decoder_windows.hpp ! src/share/vm/utilities/decoder.cpp ! src/share/vm/utilities/decoder.hpp ! src/share/vm/utilities/decoder_elf.hpp ! src/share/vm/utilities/vmError.hpp Changeset: ea527c5cde03 Author: zgu Date: 2012-02-09 07:35 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/hotspot/rev/ea527c5cde03 Merge Changeset: 54d3535a6dd3 Author: poonam Date: 2012-02-12 19:33 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/hotspot/rev/54d3535a6dd3 7009098: SA cannot open core files larger than 2GB on Linux 32-bit Summary: Added Large File Support by compiling libsaproc.so with -D_FILE_OFFSET_BITS=64, and a small change with which SA should first load libraries from the path specified with SA_ALTROOT. Reviewed-by: dholmes, kevinw, dcubed, minqi ! agent/src/os/linux/Makefile ! agent/src/os/linux/libproc_impl.c ! make/linux/makefiles/saproc.make Changeset: 1bb2838e2fc1 Author: fparain Date: 2012-02-13 06:24 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/hotspot/rev/1bb2838e2fc1 Merge Changeset: 849412a95e45 Author: coleenp Date: 2012-02-13 12:30 -0500 URL: http://hg.openjdk.java.net/lambda/lambda/hotspot/rev/849412a95e45 7059899: Stack overflows in Java code cause 64-bit JVMs to exit due to SIGSEGV Summary: Increase StackShadowPages to accomodate the JDK changes to increase buffer size in socketWrite Reviewed-by: acorn, phh ! src/cpu/x86/vm/globals_x86.hpp Changeset: 1891640ca63f Author: fparain Date: 2012-02-14 06:54 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/hotspot/rev/1891640ca63f 7143760: Memory leak in GarbageCollectionNotifications Reviewed-by: dholmes, dcubed, kamg ! src/share/vm/services/gcNotifier.cpp ! src/share/vm/services/gcNotifier.hpp Changeset: a9831b955a0a Author: kamg Date: 2012-02-13 14:03 -0500 URL: http://hg.openjdk.java.net/lambda/lambda/hotspot/rev/a9831b955a0a 7069991: Setup make/jprt.properties files for jdk8 Summary: Change default release value to jdk8 (but overrideable) Reviewed-by: phh, jcoomes, dholmes, ohair ! make/jprt.properties Changeset: a9ac4910e7f2 Author: kamg Date: 2012-02-14 15:52 -0500 URL: http://hg.openjdk.java.net/lambda/lambda/hotspot/rev/a9ac4910e7f2 Merge Changeset: 28d91e43ab6d Author: coleenp Date: 2012-02-14 16:50 -0500 URL: http://hg.openjdk.java.net/lambda/lambda/hotspot/rev/28d91e43ab6d 7145587: Stack overflows in Java code cause 64-bit JVMs to exit due to SIGSEGV (sparc version) Summary: Increase StackShadowPages to accomodate the JDK changes to increase buffer size in socketWrite Reviewed-by: acorn, phh, dcubed, kamg, dsamersoff ! src/cpu/sparc/vm/globals_sparc.hpp Changeset: cf772dff4bfd Author: coleenp Date: 2012-02-14 18:35 -0500 URL: http://hg.openjdk.java.net/lambda/lambda/hotspot/rev/cf772dff4bfd Merge Changeset: b8a4e1d372a0 Author: kamg Date: 2012-02-14 20:02 -0500 URL: http://hg.openjdk.java.net/lambda/lambda/hotspot/rev/b8a4e1d372a0 7145589: First JSDT provider creation fails Summary: 0 is a successful return from an ioctl() call Reviewed-by: dcubed, phh, dsamersoff ! src/share/vm/runtime/dtraceJSDT.cpp Changeset: 91a81502a27d Author: kamg Date: 2012-02-15 00:09 -0500 URL: http://hg.openjdk.java.net/lambda/lambda/hotspot/rev/91a81502a27d Merge Changeset: 2b150750d53d Author: sspitsyn Date: 2012-02-14 17:04 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/hotspot/rev/2b150750d53d 7130993: nsk/jdi/ReferenceType/instances/instances004 fails with JFR: assert(ServiceUtil::visible_oop(obj)) Summary: Skip reporting invisible refs in iterate_over_object to avoid assert(ServiceUtil::visible_oop(obj)) Reviewed-by: dcubed, mgronlun, rbackman Contributed-by: serguei.spitsyn at oracle.com ! src/share/vm/prims/jvmtiTagMap.cpp Changeset: cd239a88b90c Author: minqi Date: 2012-02-14 20:54 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/hotspot/rev/cd239a88b90c Merge Changeset: 64fc5ac1b770 Author: minqi Date: 2012-02-14 23:50 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/hotspot/rev/64fc5ac1b770 Merge Changeset: f1cb6f9cfe21 Author: fparain Date: 2012-02-15 12:17 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/hotspot/rev/f1cb6f9cfe21 7145243: Need additional specializations for argument parsing framework Reviewed-by: acorn, fparain Contributed-by: nils.loodin at oracle.com ! src/share/vm/runtime/thread.cpp ! src/share/vm/services/diagnosticArgument.cpp ! src/share/vm/services/diagnosticArgument.hpp ! src/share/vm/services/diagnosticFramework.cpp ! src/share/vm/services/diagnosticFramework.hpp Changeset: 4a24c4f648bd Author: phh Date: 2012-02-16 13:50 -0500 URL: http://hg.openjdk.java.net/lambda/lambda/hotspot/rev/4a24c4f648bd 7142113: Add Ivy Bridge to the known Intel x86 cpu families Summary: In vm_version_x86.hpp, add and use CPU_MODEL_IVYBRIDGE_EP, and restrict is_intel_tsc_synced_at_init() to EP models. Reviewed-by: kvn, acorn ! src/cpu/x86/vm/vm_version_x86.hpp Changeset: 7df3125953cb Author: coleenp Date: 2012-02-16 15:52 -0500 URL: http://hg.openjdk.java.net/lambda/lambda/hotspot/rev/7df3125953cb 7146354: Re-enable Compressed OOPs after 7118647 is resolved Summary: Relax the assertion to simply check for COOP mode rather than an exact address. Reviewed-by: coleenp, kvn, phh, dcubed Contributed-by: james.melvin at oracle.com ! src/share/vm/runtime/arguments.cpp ! src/share/vm/runtime/virtualspace.cpp Changeset: df4927a3b82e Author: coleenp Date: 2012-02-16 17:19 -0500 URL: http://hg.openjdk.java.net/lambda/lambda/hotspot/rev/df4927a3b82e Merge Changeset: d3384450b649 Author: fparain Date: 2012-02-17 06:34 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/hotspot/rev/d3384450b649 Merge Changeset: 73df3733f2eb Author: kvn Date: 2012-02-10 12:53 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/hotspot/rev/73df3733f2eb 7129284: +DoEscapeAnalysis regression w/ early build of 7u4 (HotSpot 23) on Linux Summary: Removed code which tried to create edges from fields of destination objects of arraycopy to fields of source objects. Added 30 sec time limit for EA graph construction. Reviewed-by: never ! src/share/vm/opto/escape.cpp Changeset: de34c646c3f7 Author: kvn Date: 2012-02-10 17:20 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/hotspot/rev/de34c646c3f7 7140985: HSDIS does not handle caller options correctly Summary: Fix typo. Reviewed-by: jrose, kvn Contributed-by: Andrew Haley ! src/share/tools/hsdis/hsdis.c Changeset: 45a1bf98f1bb Author: twisti Date: 2012-02-13 02:29 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/hotspot/rev/45a1bf98f1bb 7141329: Strange values of stack_size in -XX:+TraceMethodHandles output Reviewed-by: kvn, never ! src/cpu/x86/vm/methodHandles_x86.cpp Changeset: f09ae3853e3b Author: twisti Date: 2012-02-13 04:30 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/hotspot/rev/f09ae3853e3b 7143766: add ALT_JDK_IMAGE_DIR and improve test_jdk Reviewed-by: rbackman, jrose, dholmes ! make/Makefile ! make/bsd/makefiles/defs.make ! make/bsd/makefiles/top.make ! make/defs.make ! make/linux/makefiles/top.make ! make/solaris/makefiles/top.make Changeset: b522995d91f0 Author: roland Date: 2012-02-14 09:43 +0100 URL: http://hg.openjdk.java.net/lambda/lambda/hotspot/rev/b522995d91f0 7144405: JumbleGC002 assert(m->offset() == pc_offset) failed: oopmap not found Summary: oop map needs pc stored in frame anchor in StubGenerator::generate_throw_exception() Reviewed-by: twisti, never, kvn ! src/cpu/x86/vm/stubGenerator_x86_64.cpp Changeset: 8f4eb44b3b76 Author: never Date: 2012-02-14 15:43 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/hotspot/rev/8f4eb44b3b76 7143061: nsk/stress/stack/b4525850 crash VM Reviewed-by: kvn, twisti ! src/cpu/x86/vm/globals_x86.hpp Changeset: 80107dc493db Author: roland Date: 2012-02-15 09:43 +0100 URL: http://hg.openjdk.java.net/lambda/lambda/hotspot/rev/80107dc493db 7126041: jdk7u4 b05 and b06 crash with RubyMine 3.2.4, works well with b04 Summary: Goto that replaces a If mistaken to be a back branch and triggers erroneous OSR compilation. Reviewed-by: never, iveresov ! src/share/vm/c1/c1_Canonicalizer.cpp ! src/share/vm/c1/c1_GraphBuilder.cpp Changeset: 09d00c18e323 Author: never Date: 2012-02-15 10:12 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/hotspot/rev/09d00c18e323 7145537: minor tweaks to LogEvents Reviewed-by: kvn, twisti ! src/share/vm/compiler/compileBroker.cpp ! src/share/vm/gc_interface/collectedHeap.cpp ! src/share/vm/memory/gcLocker.cpp ! src/share/vm/memory/gcLocker.hpp ! src/share/vm/memory/universe.cpp ! src/share/vm/memory/universe.hpp ! src/share/vm/runtime/sharedRuntime.cpp ! src/share/vm/utilities/debug.cpp ! src/share/vm/utilities/events.cpp ! src/share/vm/utilities/events.hpp Changeset: cfdfbeac0a5b Author: iveresov Date: 2012-02-15 12:32 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/hotspot/rev/cfdfbeac0a5b 7145345: Code cache sweeper must cooperate with safepoints Summary: Safepoint in the sweeper loop in necessary Reviewed-by: kvn, never ! src/share/vm/runtime/globals.hpp ! src/share/vm/runtime/sweeper.cpp Changeset: 69333a2fbae2 Author: iveresov Date: 2012-02-15 16:29 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/hotspot/rev/69333a2fbae2 7142680: default GC affected by jvm path Summary: Removed old tiered code Reviewed-by: never, kvn ! src/share/vm/runtime/arguments.cpp Changeset: fd8114661503 Author: kvn Date: 2012-02-15 21:37 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/hotspot/rev/fd8114661503 7125136: SIGILL on linux amd64 in gc/ArrayJuggle/Juggle29 Summary: For C2 moved saving EBP after ESP adjustment. For C1 generated 5 byte nop instruction first if needed. Reviewed-by: never, twisti, azeemj ! src/cpu/x86/vm/assembler_x86.cpp ! src/cpu/x86/vm/assembler_x86.hpp ! src/cpu/x86/vm/c1_MacroAssembler_x86.cpp ! src/cpu/x86/vm/x86_32.ad ! src/cpu/x86/vm/x86_64.ad ! src/share/vm/opto/output.cpp Changeset: c7401dcad8bf Author: roland Date: 2012-02-16 09:20 +0100 URL: http://hg.openjdk.java.net/lambda/lambda/hotspot/rev/c7401dcad8bf 7143038: SIGSEGV in assert_equal / LinearScan::assign_reg_num Summary: forced exit may destory global objects that are still in use. Reviewed-by: twisti, never, kvn ! src/share/vm/c1/c1_LinearScan.cpp ! src/share/vm/c1/c1_LinearScan.hpp Changeset: ad3b47344802 Author: never Date: 2012-02-16 11:33 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/hotspot/rev/ad3b47344802 7144318: GCLocker assert failure: assert(_needs_gc || SafepointSynchronize::is_at_safepoint( Reviewed-by: kvn, twisti ! src/share/vm/memory/gcLocker.hpp ! src/share/vm/memory/gcLocker.inline.hpp Changeset: 9b8ce46870df Author: kvn Date: 2012-02-16 17:12 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/hotspot/rev/9b8ce46870df 7145346: VerifyStackAtCalls is broken Summary: Replace call_epilog() encoding with macroassembler use. Moved duplicated code to x86.ad. Fixed return_addr() definition. Reviewed-by: never ! src/cpu/x86/vm/x86.ad ! src/cpu/x86/vm/x86_32.ad ! src/cpu/x86/vm/x86_64.ad ! src/os_cpu/bsd_x86/vm/bsd_x86_32.ad ! src/os_cpu/bsd_x86/vm/bsd_x86_64.ad ! src/os_cpu/linux_x86/vm/linux_x86_32.ad ! src/os_cpu/linux_x86/vm/linux_x86_64.ad ! src/os_cpu/solaris_x86/vm/solaris_x86_32.ad ! src/os_cpu/solaris_x86/vm/solaris_x86_64.ad ! src/os_cpu/windows_x86/vm/windows_x86_32.ad ! src/os_cpu/windows_x86/vm/windows_x86_64.ad ! src/share/vm/opto/chaitin.cpp Changeset: 72c425c46102 Author: never Date: 2012-02-17 12:18 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/hotspot/rev/72c425c46102 7146729: nightly failure after 7141200: tty is sometimes null during shutdown of main thread Reviewed-by: kvn ! src/share/vm/utilities/events.hpp Changeset: 15085a6eb50c Author: never Date: 2012-02-17 12:18 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/hotspot/rev/15085a6eb50c Merge ! src/cpu/x86/vm/globals_x86.hpp ! src/share/vm/runtime/arguments.cpp Changeset: 087daaec688d Author: katleman Date: 2012-02-16 13:01 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/hotspot/rev/087daaec688d Added tag jdk8-b26 for changeset fd3060701216 ! .hgtags Changeset: f92a171cf007 Author: amurillo Date: 2012-02-17 15:06 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/hotspot/rev/f92a171cf007 Merge Changeset: 98cd09d11a21 Author: amurillo Date: 2012-02-17 15:06 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/hotspot/rev/98cd09d11a21 Added tag hs23-b16 for changeset f92a171cf007 ! .hgtags Changeset: 4ab89de75552 Author: amurillo Date: 2012-02-17 15:11 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/hotspot/rev/4ab89de75552 7146700: new hotspot build - hs24-b01 Reviewed-by: jcoomes ! make/hotspot_version Changeset: 86ce3208eb18 Author: dcubed Date: 2012-02-17 15:55 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/hotspot/rev/86ce3208eb18 7145798: System.loadLibrary does not search current working directory Summary: Append "." to java.library.path on MacOS X to ease migration from Apple's Java6 to OpenJDK7. Reviewed-by: phh, jmelvin, coleenp ! src/os/bsd/vm/os_bsd.cpp Changeset: 0368109684cb Author: sla Date: 2012-02-19 13:11 +0100 URL: http://hg.openjdk.java.net/lambda/lambda/hotspot/rev/0368109684cb 7132070: Use a mach_port_t as the OSThread thread_id rather than pthread_t on BSD/OSX Summary: Change OSThread to use mach thread_t Reviewed-by: phh, dcubed ! src/cpu/x86/vm/vm_version_x86.cpp ! src/os/bsd/vm/osThread_bsd.cpp ! src/os/bsd/vm/osThread_bsd.hpp ! src/os/bsd/vm/os_bsd.cpp ! src/os_cpu/bsd_x86/vm/vmStructs_bsd_x86.hpp ! src/share/vm/utilities/globalDefinitions_gcc.hpp Changeset: 38fd165da001 Author: poonam Date: 2012-02-20 21:27 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/hotspot/rev/38fd165da001 7145358: SA throws ClassCastException for partially loaded ConstantPool Summary: In printValueOn() in ConstantPool.java check if the poolHolder is a valid Klass and only then print it. Reviewed-by: sla, sspitsyn Contributed-by: Krystal Mok ! agent/src/share/classes/sun/jvm/hotspot/oops/ConstantPool.java Changeset: 1a4e5feb63c4 Author: fparain Date: 2012-02-22 08:19 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/hotspot/rev/1a4e5feb63c4 Merge Changeset: d9b93445a67c Author: vladidan Date: 2012-02-15 20:26 -0500 URL: http://hg.openjdk.java.net/lambda/lambda/hotspot/rev/d9b93445a67c 7129401: PPC: runtime/7100935/TestShortArraycopy.java fails Summary: pass assembler switches for PPC Reviewed-by: dholmes ! make/linux/makefiles/ppc.make Changeset: d79f8393df2b Author: bpittore Date: 2012-02-22 14:00 -0500 URL: http://hg.openjdk.java.net/lambda/lambda/hotspot/rev/d79f8393df2b Merge Changeset: 701a83c86f28 Author: jiangli Date: 2012-02-21 13:14 -0500 URL: http://hg.openjdk.java.net/lambda/lambda/hotspot/rev/701a83c86f28 7120481: storeStore barrier in constructor with final field Summary: Issue storestore barrier before constructor return if the constructor write final field. Reviewed-by: dholmes, jrose, roland, coleenp Contributed-by: Jiangli Zhou ! src/cpu/sparc/vm/c1_LIRAssembler_sparc.cpp ! src/cpu/x86/vm/c1_LIRAssembler_x86.cpp ! src/share/vm/c1/c1_Canonicalizer.cpp ! src/share/vm/c1/c1_Canonicalizer.hpp ! src/share/vm/c1/c1_GraphBuilder.cpp ! src/share/vm/c1/c1_IR.cpp ! src/share/vm/c1/c1_IR.hpp ! src/share/vm/c1/c1_Instruction.hpp ! src/share/vm/c1/c1_InstructionPrinter.cpp ! src/share/vm/c1/c1_InstructionPrinter.hpp ! src/share/vm/c1/c1_LIR.cpp ! src/share/vm/c1/c1_LIR.hpp ! src/share/vm/c1/c1_LIRAssembler.cpp ! src/share/vm/c1/c1_LIRAssembler.hpp ! src/share/vm/c1/c1_LIRGenerator.cpp ! src/share/vm/c1/c1_LIRGenerator.hpp ! src/share/vm/c1/c1_Optimizer.cpp ! src/share/vm/c1/c1_ValueMap.hpp Changeset: 398c5d0fb0ae Author: bpittore Date: 2012-02-23 21:10 -0500 URL: http://hg.openjdk.java.net/lambda/lambda/hotspot/rev/398c5d0fb0ae Merge Changeset: 931e5f39e365 Author: kvn Date: 2012-02-20 13:11 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/hotspot/rev/931e5f39e365 7147064: assert(allocates2(pc)) failed: not in CodeBuffer memory: 0xffffffff778d9d60 <= 0xffffffff778da69c Summary: Increase size of deopt_blob and uncommon_trap_blob by size of stack bang code (SPARC). Reviewed-by: azeemj, iveresov, never, phh ! src/cpu/sparc/vm/sharedRuntime_sparc.cpp Changeset: 3b24e7e01d20 Author: jcoomes Date: 2012-02-20 22:32 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/hotspot/rev/3b24e7e01d20 Added tag hs23-b16 for changeset 931e5f39e365 ! .hgtags Changeset: 0ed0960af27d Author: katleman Date: 2012-02-23 12:03 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/hotspot/rev/0ed0960af27d Added tag jdk8-b27 for changeset 3b24e7e01d20 ! .hgtags Changeset: 975c4105f1e2 Author: amurillo Date: 2012-02-24 18:08 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/hotspot/rev/975c4105f1e2 Merge Changeset: b183b0863611 Author: amurillo Date: 2012-02-24 18:08 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/hotspot/rev/b183b0863611 Added tag hs24-b01 for changeset 975c4105f1e2 ! .hgtags Changeset: 694fd3171eb0 Author: amurillo Date: 2012-02-24 18:14 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/hotspot/rev/694fd3171eb0 7148664: new hotspot build - hs24-b02 Reviewed-by: jcoomes ! make/hotspot_version Changeset: 645162d94294 Author: dsamersoff Date: 2012-02-22 19:43 +0400 URL: http://hg.openjdk.java.net/lambda/lambda/hotspot/rev/645162d94294 7110104: It should be possible to stop and start JMX Agent at runtime Summary: Added a capability to start and stop JMX Agent by jcmd Reviewed-by: acorn, mchung ! src/share/vm/classfile/vmSymbols.hpp ! src/share/vm/services/diagnosticCommand.cpp ! src/share/vm/services/diagnosticCommand.hpp Changeset: b5ab7482dbf9 Author: dsamersoff Date: 2012-02-22 10:32 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/hotspot/rev/b5ab7482dbf9 Merge Changeset: 7292cff45988 Author: erikj Date: 2012-02-22 09:24 +0100 URL: http://hg.openjdk.java.net/lambda/lambda/hotspot/rev/7292cff45988 7141244: build-infra merge: Include $(SPEC) in makefiles and make variables overridable Reviewed-by: dholmes, ohrstrom, ohair, jcoomes ! make/bsd/makefiles/buildtree.make ! make/bsd/makefiles/gcc.make ! make/bsd/makefiles/sparcWorks.make ! make/defs.make ! make/linux/makefiles/buildtree.make ! make/linux/makefiles/gcc.make ! make/linux/makefiles/sparcWorks.make ! make/solaris/makefiles/buildtree.make ! make/solaris/makefiles/gcc.make ! make/solaris/makefiles/sparcWorks.make ! make/windows/build.make ! make/windows/makefiles/compile.make ! make/windows/makefiles/defs.make Changeset: f096e1b74d85 Author: dholmes Date: 2012-02-25 01:49 -0500 URL: http://hg.openjdk.java.net/lambda/lambda/hotspot/rev/f096e1b74d85 7148126: ConstantPoolCacheEntry::print prints to wrong stream Summary: Should print to passed in stream not tty Reviewed-by: dholmes, never Contributed-by: Krystal Mok ! src/share/vm/oops/cpCacheOop.cpp Changeset: 205573af962c Author: fparain Date: 2012-02-28 07:58 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/hotspot/rev/205573af962c Merge Changeset: d8abc90163a4 Author: kvn Date: 2012-02-20 13:11 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/hotspot/rev/d8abc90163a4 7147064: assert(allocates2(pc)) failed: not in CodeBuffer memory: 0xffffffff778d9d60 <= 0xffffffff778da69c Summary: Increase size of deopt_blob and uncommon_trap_blob by size of stack bang code (SPARC). Reviewed-by: azeemj, iveresov, never, phh ! src/cpu/sparc/vm/sharedRuntime_sparc.cpp Changeset: 9a72c7ece7fb Author: kvn Date: 2012-02-21 11:55 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/hotspot/rev/9a72c7ece7fb 7146442: assert(false) failed: bad AD file Summary: Take into account only stores captured by Initialize node. Added missing check for Top input in value() methods. Reviewed-by: never ! src/share/vm/opto/connode.cpp ! src/share/vm/opto/escape.cpp Changeset: c7987cbaf2ca Author: kvn Date: 2012-02-24 12:33 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/hotspot/rev/c7987cbaf2ca 7147416: LogCompilation tool does not work with post parse inlining Summary: fixed few problems in LogCompilation parser. Reviewed-by: never ! src/share/tools/LogCompilation/src/com/sun/hotspot/tools/compiler/Compilation.java ! src/share/tools/LogCompilation/src/com/sun/hotspot/tools/compiler/LogParser.java Changeset: da4be62fb889 Author: roland Date: 2012-02-27 09:17 +0100 URL: http://hg.openjdk.java.net/lambda/lambda/hotspot/rev/da4be62fb889 7147740: add assertions to check stack alignment on VM entry from generated code (x64) Summary: check stack alignment on VM entry on x64. Reviewed-by: kvn, never ! src/cpu/x86/vm/stubGenerator_x86_64.cpp ! src/cpu/x86/vm/stubRoutines_x86_64.cpp ! src/cpu/x86/vm/stubRoutines_x86_64.hpp ! src/os/solaris/vm/os_solaris.cpp ! src/os/windows/vm/os_windows.cpp ! src/os_cpu/bsd_x86/vm/os_bsd_x86.cpp ! src/os_cpu/bsd_zero/vm/os_bsd_zero.cpp ! src/os_cpu/linux_sparc/vm/os_linux_sparc.cpp ! src/os_cpu/linux_x86/vm/os_linux_x86.cpp ! src/os_cpu/linux_zero/vm/os_linux_zero.cpp ! src/os_cpu/solaris_sparc/vm/os_solaris_sparc.cpp ! src/os_cpu/solaris_x86/vm/os_solaris_x86.cpp ! src/os_cpu/solaris_x86/vm/solaris_x86_32.il ! src/os_cpu/solaris_x86/vm/solaris_x86_64.il ! src/os_cpu/windows_x86/vm/os_windows_x86.cpp ! src/share/vm/runtime/interfaceSupport.hpp ! src/share/vm/runtime/os.hpp Changeset: bf7796b7367a Author: roland Date: 2012-02-27 11:42 +0100 URL: http://hg.openjdk.java.net/lambda/lambda/hotspot/rev/bf7796b7367a 7148486: At a method handle call returning with an exception may call the runtime with misaligned stack (x64) Summary: stack must be realigned when calling the runtime for exception propagation at a call. Reviewed-by: kvn, never ! src/cpu/x86/vm/c1_Runtime1_x86.cpp ! src/cpu/x86/vm/sharedRuntime_x86_64.cpp Changeset: 2ee7dcc77c63 Author: never Date: 2012-02-28 10:04 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/hotspot/rev/2ee7dcc77c63 7145024: Crashes in ucrypto related to C2 Reviewed-by: kvn ! src/cpu/x86/vm/sharedRuntime_x86_64.cpp Changeset: b279f99d7143 Author: roland Date: 2012-02-28 09:13 +0100 URL: http://hg.openjdk.java.net/lambda/lambda/hotspot/rev/b279f99d7143 6910461: Register allocator may insert spill code at wrong insertion index Summary: When resolving exception edges after register allocation, the C1 register allocator may insert spill code at the wrong insertion position. Reviewed-by: kvn, never ! src/share/vm/c1/c1_LinearScan.cpp Changeset: 031df0387c09 Author: never Date: 2012-03-01 15:31 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/hotspot/rev/031df0387c09 7150051: incorrect oopmap in critical native Reviewed-by: kvn, twisti ! src/cpu/x86/vm/sharedRuntime_x86_64.cpp Changeset: ce292d6c0385 Author: never Date: 2012-03-02 09:13 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/hotspot/rev/ce292d6c0385 Merge Changeset: 9eaf473fff9b Author: dlong Date: 2012-02-29 12:58 -0500 URL: http://hg.openjdk.java.net/lambda/lambda/hotspot/rev/9eaf473fff9b 7142641: -Xshared:on fails on ARM Summary: map read-only pages MAP_PRIVATE instead of MAP_SHARED Reviewed-by: dcubed, dholmes Contributed-by: dean.long at oracle.com ! src/os/linux/vm/os_linux.cpp Changeset: 03cb7c836ef3 Author: bpittore Date: 2012-03-02 14:34 -0500 URL: http://hg.openjdk.java.net/lambda/lambda/hotspot/rev/03cb7c836ef3 Merge Changeset: 610674484669 Author: katleman Date: 2012-03-01 12:23 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/hotspot/rev/610674484669 Added tag jdk8-b28 for changeset b183b0863611 ! .hgtags Changeset: 030b5306d60f Author: amurillo Date: 2012-03-02 16:27 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/hotspot/rev/030b5306d60f Merge Changeset: b45b5c564098 Author: amurillo Date: 2012-03-02 16:27 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/hotspot/rev/b45b5c564098 Added tag hs24-b02 for changeset 030b5306d60f ! .hgtags Changeset: 257d67351eae Author: amurillo Date: 2012-03-02 16:56 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/hotspot/rev/257d67351eae 7150327: new hotspot build - hs24-b03 Reviewed-by: jcoomes ! make/hotspot_version Changeset: 2d503de963b3 Author: mgerdin Date: 2012-02-23 14:58 +0100 URL: http://hg.openjdk.java.net/lambda/lambda/hotspot/rev/2d503de963b3 7148152: Add whitebox testing API to HotSpot Summary: Add an internal testing API to HotSpot to enable more targeted testing of vm functionality Reviewed-by: phh, dholmes ! make/Makefile ! make/bsd/makefiles/defs.make ! make/bsd/makefiles/vm.make + make/bsd/makefiles/wb.make ! make/jprt.properties ! make/linux/makefiles/defs.make ! make/linux/makefiles/vm.make + make/linux/makefiles/wb.make ! make/solaris/makefiles/defs.make ! make/solaris/makefiles/vm.make + make/solaris/makefiles/wb.make ! make/windows/makefiles/debug.make ! make/windows/makefiles/defs.make ! make/windows/makefiles/fastdebug.make ! make/windows/makefiles/product.make + make/windows/makefiles/wb.make + src/share/tools/whitebox/sun/hotspot/WhiteBox.java ! src/share/vm/prims/nativeLookup.cpp + src/share/vm/prims/whitebox.cpp + src/share/vm/prims/whitebox.hpp ! src/share/vm/runtime/arguments.cpp ! src/share/vm/runtime/globals.hpp ! src/share/vm/utilities/vmError.cpp ! test/Makefile + test/sanity/WBApi.java Changeset: b5290bf0a9e4 Author: johnc Date: 2012-03-02 10:36 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/hotspot/rev/b5290bf0a9e4 7147806: G1: Crash in vm bootstrap when running with -XX:+UseG1GC -XX:-UsePerfData Summary: Update generation and collector counters only if UsePerfData is enabled. Reviewed-by: iveresov, tonyp ! src/share/vm/gc_implementation/g1/g1MonitoringSupport.cpp Changeset: e4624321d36a Author: jcoomes Date: 2012-03-03 12:36 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/hotspot/rev/e4624321d36a 7150454: add release jdk7u4 to jprt.properties Reviewed-by: ohair, never ! make/jprt.properties Changeset: b12a322de178 Author: jcoomes Date: 2012-03-03 12:45 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/hotspot/rev/b12a322de178 7150899: remove unused build.targets lines from jprt.properties Reviewed-by: ohair ! make/jprt.properties Changeset: 22d276ade3e1 Author: brutisso Date: 2012-03-05 22:34 +0100 URL: http://hg.openjdk.java.net/lambda/lambda/hotspot/rev/22d276ade3e1 Merge ! make/windows/makefiles/defs.make Changeset: 4e0a9aaec0e9 Author: dcubed Date: 2012-03-07 14:58 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/hotspot/rev/4e0a9aaec0e9 7152031: Hotspot needs updated xawt path [macosx] Summary: Update to use the right path on MacOS X. Reviewed-by: michaelm, jcoomes, amurillo ! src/os/bsd/vm/os_bsd.cpp Changeset: fdf4deca44ec Author: dcubed Date: 2012-03-08 06:33 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/hotspot/rev/fdf4deca44ec 7152206: anti-delta the fix for 7152031 Summary: Backout the fix for 7152031; the real bug to be fixed in jdk repo. Reviewed-by: michaelm ! src/os/bsd/vm/os_bsd.cpp Changeset: ff29ce866f23 Author: dsamersoff Date: 2012-03-01 12:41 +0400 URL: http://hg.openjdk.java.net/lambda/lambda/hotspot/rev/ff29ce866f23 7118280: The gbyc00102 JCK7 test causes an assert in JVM 7.0 fastdebug mode Summary: Assert doesn't respect invokedynamic opcode Reviewed-by: dcubed, phh ! src/share/vm/prims/jvmtiClassFileReconstituter.cpp Changeset: 8a48c2906f91 Author: coleenp Date: 2012-03-05 14:19 -0500 URL: http://hg.openjdk.java.net/lambda/lambda/hotspot/rev/8a48c2906f91 7150046: SIGILL on sparcv9 fastdebug Summary: Breakpoint needs to do 64-bit compare for pointers on sparcv9 Reviewed-by: coleenp, never Contributed-by: dean.long at oracle.com ! src/cpu/sparc/vm/assembler_sparc.hpp ! src/cpu/sparc/vm/cppInterpreter_sparc.cpp ! src/cpu/sparc/vm/sharedRuntime_sparc.cpp ! src/cpu/sparc/vm/templateInterpreter_sparc.cpp Changeset: d59a6302465a Author: acorn Date: 2012-03-09 00:28 -0500 URL: http://hg.openjdk.java.net/lambda/lambda/hotspot/rev/d59a6302465a Merge Changeset: 4fabc16dc5bf Author: roland Date: 2012-03-02 16:04 +0100 URL: http://hg.openjdk.java.net/lambda/lambda/hotspot/rev/4fabc16dc5bf 6910464: Lookupswitch and Tableswitch default branches not recognized as safepoints Summary: C1 does not recognize the default branch of a lookupswitch or tableswitch bytecode to be a safepoint if backward. Reviewed-by: kvn, never ! src/share/vm/c1/c1_GraphBuilder.cpp Changeset: e5f73be4c7f1 Author: never Date: 2012-03-02 13:13 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/hotspot/rev/e5f73be4c7f1 Merge ! src/share/vm/c1/c1_GraphBuilder.cpp Changeset: b40ac3579043 Author: never Date: 2012-03-05 18:10 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/hotspot/rev/b40ac3579043 6658428: C2 doesn't inline java method if corresponding intrinsic failed to inline. Summary: Allow fallback to non-intrinsic inline case Reviewed-by: kvn, jrose, never Contributed-by: nils.eliasson at oracle.com ! src/share/vm/opto/compile.hpp ! src/share/vm/opto/doCall.cpp ! src/share/vm/opto/library_call.cpp Changeset: 541c4a5e7b88 Author: never Date: 2012-03-06 16:32 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/hotspot/rev/541c4a5e7b88 7150390: JFR test crashed on assert(_jni_lock_count == count) failed: must be equal Reviewed-by: dholmes, minqi, kvn, coleenp ! src/share/vm/runtime/safepoint.cpp ! src/share/vm/runtime/thread.cpp ! src/share/vm/runtime/thread.hpp Changeset: d8b13355c500 Author: never Date: 2012-03-09 08:34 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/hotspot/rev/d8b13355c500 Merge Changeset: d61761bf3050 Author: katleman Date: 2012-03-08 20:34 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/hotspot/rev/d61761bf3050 Added tag jdk8-b29 for changeset b45b5c564098 ! .hgtags Changeset: dfae0140457c Author: amurillo Date: 2012-03-09 13:08 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/hotspot/rev/dfae0140457c Merge Changeset: 2e3ff1aa30f5 Author: amurillo Date: 2012-03-09 13:08 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/hotspot/rev/2e3ff1aa30f5 Added tag hs24-b03 for changeset dfae0140457c ! .hgtags Changeset: fde683df4c27 Author: amurillo Date: 2012-03-09 13:34 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/hotspot/rev/fde683df4c27 7152700: new hotspot build - hs24-b04 Reviewed-by: jcoomes ! make/hotspot_version Changeset: 61b82be3b1ff Author: never Date: 2012-03-12 15:28 -0700 URL: http://hg.openjdk.java.net/lambda/lambda/hotspot/rev/61b82be3b1ff 7152957: VM crashes with assert(false) failed: bad AD file Reviewed-by: kvn, never Contributed-by: nils.eliasson at oracle.com ! src/cpu/sparc/vm/sparc.ad ! src/cpu/x86/vm/x86_32.ad ! src/cpu/x86/vm/x86_64.ad ! src/share/vm/opto/library_call.cpp Changeset: d6b5d66e773f Author: kamg Date: 2012-03-19 12:46 -0400 URL: http://hg.openjdk.java.net/lambda/lambda/hotspot/rev/d6b5d66e773f Merge - src/os/bsd/vm/decoder_bsd.cpp ! src/share/vm/classfile/classFileParser.cpp ! src/share/vm/classfile/classFileParser.hpp ! src/share/vm/oops/instanceKlass.cpp ! src/share/vm/oops/instanceKlass.hpp ! src/share/vm/oops/instanceKlassKlass.cpp ! src/share/vm/oops/methodOop.hpp - src/share/vm/precompiled.hpp ! src/share/vm/runtime/globals.hpp ! src/share/vm/utilities/ostream.cpp Changeset: 79fe9a09ca2b Author: kamg Date: 2012-03-20 13:28 -0400 URL: http://hg.openjdk.java.net/lambda/lambda/hotspot/rev/79fe9a09ca2b Merge ! src/share/vm/classfile/classFileParser.hpp Changeset: 79f5f30a1a0c Author: kamg Date: 2012-03-21 14:12 -0400 URL: http://hg.openjdk.java.net/lambda/lambda/hotspot/rev/79f5f30a1a0c [mq]: super_default ! make/jprt.properties ! src/share/vm/classfile/classFileParser.cpp ! src/share/vm/classfile/classFileParser.hpp ! src/share/vm/classfile/defaultMethods.cpp ! src/share/vm/classfile/defaultMethods.hpp ! src/share/vm/classfile/genericSignatures.cpp ! src/share/vm/classfile/genericSignatures.hpp ! src/share/vm/interpreter/linkResolver.cpp ! src/share/vm/runtime/globals.hpp From ted at tedneward.com Thu Mar 22 23:15:00 2012 From: ted at tedneward.com (Ted Neward) Date: Thu, 22 Mar 2012 23:15:00 -0700 Subject: Method Pointers In-Reply-To: References: <4F4AB292.7020007@oracle.com> Message-ID: <035201cd08bc$4ad661d0$e0832570$@tedneward.com> That would be tricky; under the covers, a Delegate is a wrapper around a metadata token (the primary key in to the relational table in which all .NET metadata is stored, in contrast to the tree structure of .class files), so it's easy to compare the metadata tokens. Lacking any sort of primary key in the .class files, the JVM is back to the problems that Brian mentioned earlier. I suppose the compiler could generate a GUID for every method in every class and stick it into the .class file as a runtime-accessible annotation, but Lord help us, that would be a lot of overhead to pay for this feature that I think most people would never use... I would have to agree with Brian, I think the right answer here is for the developer smart enough to think to store a List of method pointers to know (via Google search, if necessary) that method pointers don't provide identity semantics and provide her own when she needs it.... Just my $.02 worth.... Ted Neward Java, .NET, XML Services Consulting, Teaching, Speaking, Writing http://www.tedneward.com > -----Original Message----- > From: lambda-dev-bounces at openjdk.java.net [mailto:lambda-dev- > bounces at openjdk.java.net] On Behalf Of Vitaly Davidovich > Sent: Sunday, February 26, 2012 5:37 PM > To: Brian Goetz > Cc: lambda-dev > Subject: Re: Method Pointers > > Brian, has there been any discussion to follow the .Net model where > lambdas do have identity equality? They achieve this by having method > references/pointers as proper types in the type system (i.e. > System.Delegate). I can see how this is more involved than what java > closures are, but perhaps it's the "right" thing to do? > > Sent from my phone > On Feb 26, 2012 5:32 PM, "Brian Goetz" wrote: > > > Good question. Agreed that all things being equal, this would be a > > desirable property. > > > > Unfortunately, guarantees like this come with a possibly significant > > cost, and the question comes down to: how much are we willing to pay > > for properties like this? > > > > Where things are currently is that the identity properties of SAM > > conversion are deliberately underspecified, to maximize flexibility / > > minimize costs for the runtime. The current implementation makes some > > attempts to fold together identical method references and lambdas, but > > does not make "heroic efforts" to do so. > > > > If you want identity equality for bound method references > > (this::name), this turns out to be extremely expensive; we would have > > to keep an interned table of captured "method m bound to receiver r" > > method references, using weak references to keep this table from > > causing memory leaks. Are we willing to pay that much in capture > > cost, implementation complexity, and dynamic footprint to preserve the > > property you are asking for? (This seems a pretty clear "no" to me; > > this is one of those properties that provides a small benefit for a > > few but a significant cost for everyone.) > > > > One weaker and less expensive option would be to provide this > > guarantee for unbound and static references only (though this is by no > > means free); another would be to commit only to making the two objects > > .equals to each other rather than identity-equals. This is under > > consideration, but even this may be cost-prohibitive and/or too full > > of holes to provide a sufficiently intuitive semantics to make it worth it. > > > > (Aside: computational physics tells us that in the general case, this > > problem is undecidable anyway (see Rice's theorem), so whatever we did > > would necessarily be limited, and its limitations might be surprising > > enough that it would be better to promise nothing than to promise > > something complicated and confusing.) > > > > > > On 2/26/2012 4:49 PM, Conrad Winchester wrote: > > > Hi all, > > > > > > I'm getting a little confused about closures and lambdas - I > > > originally > > posted this question to closures-dev, but somebody told me that that > > was the wrong list and the lambda-dev is the right list. To me this > > question crosses both concepts - anyway > > > > > > my name is Conrad Winchester and I am a long time developer. I am > > currently experimenting with the new lambdas and function pointers in > > the Java 8 developer preview. I have come across something that > > strikes me as a little inconsistent in the current way that they are > > handled and just wanted to see what other people think. I will try to be > succinct: > > > > > > I wish to add and remove function pointers to collections. I refer > > > to > > the functions using a this reference. Essentially the issue is this. > > If I use > > > > > > collection.add(this#methodName) > > > > > > then I can not use > > > > > > collection.remove(this#methodName) > > > > > > because the reference 'this#methodName' is different to the first > > > one. I > > think this is due to the way that SAM interfaces are used to wrap the > > closures. > > > > > > A side effect of this is that this will return false > > > > > > public boolean checkConsistency() > > > { > > > SomeSAMInterface m1 = this#methodName; > > > SomeSAMInterface m2 = this#methodName; > > > return m1==m2; > > > } > > > > > > I personally think that every time I use 'this#methodName' it should > > return the same reference. Is this correct? > > > > > > Are there any plans to make method pointers always point to the same > > thing. If not it makes it much more awkward to use them > > > > > > > > > Thanks > > > > > > Conrad Winchester > > > > > > > From maurizio.cimadamore at oracle.com Fri Mar 23 08:00:28 2012 From: maurizio.cimadamore at oracle.com (maurizio.cimadamore at oracle.com) Date: Fri, 23 Mar 2012 15:00:28 +0000 Subject: hg: lambda/lambda/langtools: Enhance most specific check to take into account structural type info Message-ID: <20120323150033.DE6E547B19@hg.openjdk.java.net> Changeset: b949ff379c06 Author: mcimadamore Date: 2012-03-23 15:00 +0000 URL: http://hg.openjdk.java.net/lambda/lambda/langtools/rev/b949ff379c06 Enhance most specific check to take into account structural type info This extension to the most specific algorithm allows the compiler to disambiguate between applicable candidates with different return/arguments/thrown types. Consider the following example: interface SAM1 { int m(); } interface SAM2 { long m(); } void m(SAM1 s1) { ... } void m(SAM2 s2 { ... } m(()->1); The compiler here detects two potentially applicable methods m(SAM1) and m(SAM2). The formal argument types are unrelated, as neither SAM1 <: SAM2 nor SAM2 <: SAM1. However, the compiler can look at the underlying functional descriptor, and pick m(SAM1) since the return type of SAM1's functional descriptor is 'more specific' than the one of SAM2. This enhanced logic only apply if standard most specific logic fails AND if the corresponding actual argument is a structural poly expression (lambda/method reference). ! src/share/classes/com/sun/tools/javac/comp/Resolve.java + test/tools/javac/lambda/mostSpecific/StructuralMostSpecificTest.java ! test/tools/javac/lambda/sqe/lambdaExpression/SamConversionComboTest.java From james.holmlund at oracle.com Fri Mar 23 08:41:11 2012 From: james.holmlund at oracle.com (james.holmlund at oracle.com) Date: Fri, 23 Mar 2012 15:41:11 +0000 Subject: hg: lambda/lambda/jdk: 2 new changesets Message-ID: <20120323154152.87BB447B1E@hg.openjdk.java.net> Changeset: 1c08773d3b02 Author: jjh Date: 2012-03-22 19:05 -0700 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/1c08773d3b02 Add asm .java files from asm svn tip 1588 + src/share/classes/org/openjdk/org/objectweb/asm/AnnotationVisitor.java + src/share/classes/org/openjdk/org/objectweb/asm/AnnotationWriter.java + src/share/classes/org/openjdk/org/objectweb/asm/Attribute.java + src/share/classes/org/openjdk/org/objectweb/asm/ByteVector.java + src/share/classes/org/openjdk/org/objectweb/asm/ClassReader.java + src/share/classes/org/openjdk/org/objectweb/asm/ClassVisitor.java + src/share/classes/org/openjdk/org/objectweb/asm/ClassWriter.java + src/share/classes/org/openjdk/org/objectweb/asm/Edge.java + src/share/classes/org/openjdk/org/objectweb/asm/FieldVisitor.java + src/share/classes/org/openjdk/org/objectweb/asm/FieldWriter.java + src/share/classes/org/openjdk/org/objectweb/asm/Frame.java + src/share/classes/org/openjdk/org/objectweb/asm/Handle.java + src/share/classes/org/openjdk/org/objectweb/asm/Handler.java + src/share/classes/org/openjdk/org/objectweb/asm/Item.java + src/share/classes/org/openjdk/org/objectweb/asm/Label.java + src/share/classes/org/openjdk/org/objectweb/asm/MethodVisitor.java + src/share/classes/org/openjdk/org/objectweb/asm/MethodWriter.java + src/share/classes/org/openjdk/org/objectweb/asm/Opcodes.java + src/share/classes/org/openjdk/org/objectweb/asm/Type.java + src/share/classes/org/openjdk/org/objectweb/asm/signature/SignatureReader.java + src/share/classes/org/openjdk/org/objectweb/asm/signature/SignatureVisitor.java + src/share/classes/org/openjdk/org/objectweb/asm/signature/SignatureWriter.java + src/share/classes/org/openjdk/org/objectweb/asm/tree/AbstractInsnNode.java + src/share/classes/org/openjdk/org/objectweb/asm/tree/AnnotationNode.java + src/share/classes/org/openjdk/org/objectweb/asm/tree/ClassNode.java + src/share/classes/org/openjdk/org/objectweb/asm/tree/FieldInsnNode.java + src/share/classes/org/openjdk/org/objectweb/asm/tree/FieldNode.java + src/share/classes/org/openjdk/org/objectweb/asm/tree/FrameNode.java + src/share/classes/org/openjdk/org/objectweb/asm/tree/IincInsnNode.java + src/share/classes/org/openjdk/org/objectweb/asm/tree/InnerClassNode.java + src/share/classes/org/openjdk/org/objectweb/asm/tree/InsnList.java + src/share/classes/org/openjdk/org/objectweb/asm/tree/InsnNode.java + src/share/classes/org/openjdk/org/objectweb/asm/tree/IntInsnNode.java + src/share/classes/org/openjdk/org/objectweb/asm/tree/InvokeDynamicInsnNode.java + src/share/classes/org/openjdk/org/objectweb/asm/tree/JumpInsnNode.java + src/share/classes/org/openjdk/org/objectweb/asm/tree/LabelNode.java + src/share/classes/org/openjdk/org/objectweb/asm/tree/LdcInsnNode.java + src/share/classes/org/openjdk/org/objectweb/asm/tree/LineNumberNode.java + src/share/classes/org/openjdk/org/objectweb/asm/tree/LocalVariableNode.java + src/share/classes/org/openjdk/org/objectweb/asm/tree/LookupSwitchInsnNode.java + src/share/classes/org/openjdk/org/objectweb/asm/tree/MethodInsnNode.java + src/share/classes/org/openjdk/org/objectweb/asm/tree/MethodNode.java + src/share/classes/org/openjdk/org/objectweb/asm/tree/MultiANewArrayInsnNode.java + src/share/classes/org/openjdk/org/objectweb/asm/tree/TableSwitchInsnNode.java + src/share/classes/org/openjdk/org/objectweb/asm/tree/TryCatchBlockNode.java + src/share/classes/org/openjdk/org/objectweb/asm/tree/TypeInsnNode.java + src/share/classes/org/openjdk/org/objectweb/asm/tree/VarInsnNode.java Changeset: 3d577fa7ce1f Author: jjh Date: 2012-03-23 08:20 -0700 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/3d577fa7ce1f asm: add makefiles, and add org.openjdk prefix to packages ! make/org/Makefile + make/org/asm/Makefile ! src/share/classes/org/openjdk/org/objectweb/asm/AnnotationVisitor.java ! src/share/classes/org/openjdk/org/objectweb/asm/AnnotationWriter.java ! src/share/classes/org/openjdk/org/objectweb/asm/Attribute.java ! src/share/classes/org/openjdk/org/objectweb/asm/ByteVector.java ! src/share/classes/org/openjdk/org/objectweb/asm/ClassReader.java ! src/share/classes/org/openjdk/org/objectweb/asm/ClassVisitor.java ! src/share/classes/org/openjdk/org/objectweb/asm/ClassWriter.java ! src/share/classes/org/openjdk/org/objectweb/asm/Edge.java ! src/share/classes/org/openjdk/org/objectweb/asm/FieldVisitor.java ! src/share/classes/org/openjdk/org/objectweb/asm/FieldWriter.java ! src/share/classes/org/openjdk/org/objectweb/asm/Frame.java ! src/share/classes/org/openjdk/org/objectweb/asm/Handle.java ! src/share/classes/org/openjdk/org/objectweb/asm/Handler.java ! src/share/classes/org/openjdk/org/objectweb/asm/Item.java ! src/share/classes/org/openjdk/org/objectweb/asm/Label.java ! src/share/classes/org/openjdk/org/objectweb/asm/MethodVisitor.java ! src/share/classes/org/openjdk/org/objectweb/asm/MethodWriter.java ! src/share/classes/org/openjdk/org/objectweb/asm/Opcodes.java ! src/share/classes/org/openjdk/org/objectweb/asm/Type.java ! src/share/classes/org/openjdk/org/objectweb/asm/signature/SignatureReader.java ! src/share/classes/org/openjdk/org/objectweb/asm/signature/SignatureVisitor.java ! src/share/classes/org/openjdk/org/objectweb/asm/signature/SignatureWriter.java ! src/share/classes/org/openjdk/org/objectweb/asm/tree/AbstractInsnNode.java ! src/share/classes/org/openjdk/org/objectweb/asm/tree/AnnotationNode.java ! src/share/classes/org/openjdk/org/objectweb/asm/tree/ClassNode.java ! src/share/classes/org/openjdk/org/objectweb/asm/tree/FieldInsnNode.java ! src/share/classes/org/openjdk/org/objectweb/asm/tree/FieldNode.java ! src/share/classes/org/openjdk/org/objectweb/asm/tree/FrameNode.java ! src/share/classes/org/openjdk/org/objectweb/asm/tree/IincInsnNode.java ! src/share/classes/org/openjdk/org/objectweb/asm/tree/InnerClassNode.java ! src/share/classes/org/openjdk/org/objectweb/asm/tree/InsnList.java ! src/share/classes/org/openjdk/org/objectweb/asm/tree/InsnNode.java ! src/share/classes/org/openjdk/org/objectweb/asm/tree/IntInsnNode.java ! src/share/classes/org/openjdk/org/objectweb/asm/tree/InvokeDynamicInsnNode.java ! src/share/classes/org/openjdk/org/objectweb/asm/tree/JumpInsnNode.java ! src/share/classes/org/openjdk/org/objectweb/asm/tree/LabelNode.java ! src/share/classes/org/openjdk/org/objectweb/asm/tree/LdcInsnNode.java ! src/share/classes/org/openjdk/org/objectweb/asm/tree/LineNumberNode.java ! src/share/classes/org/openjdk/org/objectweb/asm/tree/LocalVariableNode.java ! src/share/classes/org/openjdk/org/objectweb/asm/tree/LookupSwitchInsnNode.java ! src/share/classes/org/openjdk/org/objectweb/asm/tree/MethodInsnNode.java ! src/share/classes/org/openjdk/org/objectweb/asm/tree/MethodNode.java ! src/share/classes/org/openjdk/org/objectweb/asm/tree/MultiANewArrayInsnNode.java ! src/share/classes/org/openjdk/org/objectweb/asm/tree/TableSwitchInsnNode.java ! src/share/classes/org/openjdk/org/objectweb/asm/tree/TryCatchBlockNode.java ! src/share/classes/org/openjdk/org/objectweb/asm/tree/TypeInsnNode.java ! src/share/classes/org/openjdk/org/objectweb/asm/tree/VarInsnNode.java From greggwon at gmail.com Fri Mar 23 08:42:00 2012 From: greggwon at gmail.com (Gregg Wonderly) Date: Fri, 23 Mar 2012 10:42:00 -0500 Subject: Method Pointers In-Reply-To: <035201cd08bc$4ad661d0$e0832570$@tedneward.com> References: <4F4AB292.7020007@oracle.com> <035201cd08bc$4ad661d0$e0832570$@tedneward.com> Message-ID: <4F6C99C8.3090509@gmail.com> On 3/23/2012 1:15 AM, Ted Neward wrote: > I would have to agree with Brian, I think the right answer here is for the > developer smart enough to think to store a List of method pointers to know > (via Google search, if necessary) that method pointers don't provide > identity semantics and provide her own when she needs it.... The compiler, could in fact, know that elements of that time can not be compared, and issue a warning to the developer saying that the two items can not be compared perhaps? Gregg Wonderly From forax at univ-mlv.fr Fri Mar 23 09:30:04 2012 From: forax at univ-mlv.fr (=?ISO-8859-1?Q?R=E9mi_Forax?=) Date: Fri, 23 Mar 2012 17:30:04 +0100 Subject: Method Pointers In-Reply-To: <4F6C99C8.3090509@gmail.com> References: <4F4AB292.7020007@oracle.com> <035201cd08bc$4ad661d0$e0832570$@tedneward.com> <4F6C99C8.3090509@gmail.com> Message-ID: <4F6CA50C.6010306@univ-mlv.fr> On 03/23/2012 04:42 PM, Gregg Wonderly wrote: > On 3/23/2012 1:15 AM, Ted Neward wrote: >> I would have to agree with Brian, I think the right answer here is for the >> developer smart enough to think to store a List of method pointers to know >> (via Google search, if necessary) that method pointers don't provide >> identity semantics and provide her own when she needs it.... > The compiler, could in fact, know that elements of that time can not be > compared, and issue a warning to the developer saying that the two items can not > be compared perhaps? often the comparison is deeply hidden behind List.contains() or List.remove(). > > Gregg Wonderly > R?mi From maurizio.cimadamore at oracle.com Fri Mar 23 11:17:27 2012 From: maurizio.cimadamore at oracle.com (maurizio.cimadamore at oracle.com) Date: Fri, 23 Mar 2012 18:17:27 +0000 Subject: hg: lambda/lambda/langtools: Fix: lambdas capturing 'super' are not translated properly Message-ID: <20120323181731.75AE747B26@hg.openjdk.java.net> Changeset: b2e6e833eeaf Author: mcimadamore Date: 2012-03-23 18:16 +0000 URL: http://hg.openjdk.java.net/lambda/lambda/langtools/rev/b2e6e833eeaf Fix: lambdas capturing 'super' are not translated properly ! src/share/classes/com/sun/tools/javac/comp/LambdaToInnerClass.java ! src/share/classes/com/sun/tools/javac/comp/LambdaTranslator.java + test/tools/javac/lambda/LambdaExpr16.java From neal at gafter.com Fri Mar 23 13:02:08 2012 From: neal at gafter.com (Neal Gafter) Date: Fri, 23 Mar 2012 13:02:08 -0700 Subject: Method Pointers In-Reply-To: <035201cd08bc$4ad661d0$e0832570$@tedneward.com> References: <4F4AB292.7020007@oracle.com> <035201cd08bc$4ad661d0$e0832570$@tedneward.com> Message-ID: On Thu, Mar 22, 2012 at 11:15 PM, Ted Neward wrote: > That would be tricky; under the covers, a Delegate is a wrapper around a > metadata token (the primary key in to the relational table in which all > .NET > metadata is stored, in contrast to the tree structure of .class files), so > it's easy to compare the metadata tokens. Lacking any sort of primary key > in > the .class files, the JVM is back to the problems that Brian mentioned > earlier. > I think we're imagining that .NET gives us more than it actually does. The fact that two .NET delegate objects have distinct metadata tokens gives you no information as to whether or not they represent the same underlying lambda expression. So .NET isn't in much better shape. Specifically, the following snippet of C# code prints "False": System.Action a1 = () => { }; System.Action a2 = () => { }; System.Console.WriteLine(a1.Method == a2.Method); From ted at tedneward.com Fri Mar 23 18:22:23 2012 From: ted at tedneward.com (Ted Neward) Date: Fri, 23 Mar 2012 18:22:23 -0700 Subject: Method Pointers In-Reply-To: References: <4F4AB292.7020007@oracle.com> <035201cd08bc$4ad661d0$e0832570$@tedneward.com> Message-ID: <07ea01cd095c$915488d0$b3fd9a70$@tedneward.com> Very true! Hadn't thought about that. I was thinking the more pedestrian case where Foo() will be a singular mdtoken, not the lambda case. You're closer to the subject than I, Neal, but I thought I heard a C# team member tell me, though, that they were trying to optimize your case at the compiler level, so that a1 and a2 would, in fact, be considered identical, since the lambda used would in fact be "folded" down into a single method (since they contain the same contents). Not so? Ted Neward Java, .NET, XML Services Consulting, Teaching, Speaking, Writing http://www.tedneward.com From: neal.gafter at gmail.com [mailto:neal.gafter at gmail.com] On Behalf Of Neal Gafter Sent: Friday, March 23, 2012 1:02 PM To: Ted Neward Cc: Vitaly Davidovich; Brian Goetz; lambda-dev Subject: Re: Method Pointers On Thu, Mar 22, 2012 at 11:15 PM, Ted Neward wrote: That would be tricky; under the covers, a Delegate is a wrapper around a metadata token (the primary key in to the relational table in which all .NET metadata is stored, in contrast to the tree structure of .class files), so it's easy to compare the metadata tokens. Lacking any sort of primary key in the .class files, the JVM is back to the problems that Brian mentioned earlier. I think we're imagining that .NET gives us more than it actually does. The fact that two .NET delegate objects have distinct metadata tokens gives you no information as to whether or not they represent the same underlying lambda expression. So .NET isn't in much better shape. Specifically, the following snippet of C# code prints "False": System.Action a1 = () => { }; System.Action a2 = () => { }; System.Console.WriteLine(a1.Method == a2.Method); From brian.goetz at oracle.com Fri Mar 23 18:39:10 2012 From: brian.goetz at oracle.com (Brian Goetz) Date: Fri, 23 Mar 2012 21:39:10 -0400 Subject: Method Pointers In-Reply-To: <07ea01cd095c$915488d0$b3fd9a70$@tedneward.com> References: <4F4AB292.7020007@oracle.com> <035201cd08bc$4ad661d0$e0832570$@tedneward.com> <07ea01cd095c$915488d0$b3fd9a70$@tedneward.com> Message-ID: <4F6D25BE.4060005@oracle.com> Its possible to do that within a compilation unit (just as javac folds together identical string constants within a class, but not across classes), but in general you're fighting with computational physics and its just a matter of which "easy cases" you agree to handle. (See any Theory of Computation text for "Rice's Theorem".) On 3/23/2012 9:22 PM, Ted Neward wrote: > Very true! Hadn?t thought about that. I was thinking the more pedestrian > case where Foo() will be a singular mdtoken, not the lambda case. You?re > closer to the subject than I, Neal, but I thought I heard a C# team > member tell me, though, that they were trying to optimize your case at > the compiler level, so that a1 and a2 would, in fact, be considered > identical, since the lambda used would in fact be ?folded? down into a > single method (since they contain the same contents). Not so? > > Ted Neward > > Java, .NET, XML Services > > Consulting, Teaching, Speaking, Writing > > http://www.tedneward.com > > *From:*neal.gafter at gmail.com [mailto:neal.gafter at gmail.com] *On Behalf > Of *Neal Gafter > *Sent:* Friday, March 23, 2012 1:02 PM > *To:* Ted Neward > *Cc:* Vitaly Davidovich; Brian Goetz; lambda-dev > *Subject:* Re: Method Pointers > > On Thu, Mar 22, 2012 at 11:15 PM, Ted Neward > wrote: > > That would be tricky; under the covers, a Delegate is a wrapper around a > metadata token (the primary key in to the relational table in which all .NET > metadata is stored, in contrast to the tree structure of .class files), so > it's easy to compare the metadata tokens. Lacking any sort of primary key in > the .class files, the JVM is back to the problems that Brian mentioned > earlier. > > I think we're imagining that .NET gives us more than it actually does. > The fact that two .NET delegate objects have distinct metadata tokens > gives you no information as to whether or not they represent the same > underlying lambda expression. So .NET isn't in much better shape. > Specifically, the following snippet of C# code prints "False": > > System.Action a1 = () => { }; > > System.Action a2 = () => { }; > > System.Console.WriteLine(a1.Method == a2.Method); > From mike.duigou at oracle.com Fri Mar 23 19:03:10 2012 From: mike.duigou at oracle.com (mike.duigou at oracle.com) Date: Sat, 24 Mar 2012 02:03:10 +0000 Subject: hg: lambda/lambda: 42 new changesets Message-ID: <20120324020311.9D68E47B30@hg.openjdk.java.net> Changeset: 8da26d5c32a7 Author: katleman Date: 2011-11-10 11:45 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/rev/8da26d5c32a7 Added tag jdk8-b13 for changeset 26fb81a1e9ce ! .hgtags Changeset: a62a0f35eb9c Author: asaha Date: 2011-06-27 11:45 -0700 URL: http://hg.openjdk.java.net/lambda/lambda/rev/a62a0f35eb9c Merge Changeset: f9b3e6b2aa2c Author: asaha Date: 2011-06-28 08:38 -0700 URL: http://hg.openjdk.java.net/lambda/lambda/rev/f9b3e6b2aa2c Merge Changeset: ea2ab83ce564 Author: asaha Date: 2011-07-19 11:03 -0700 URL: http://hg.openjdk.java.net/lambda/lambda/rev/ea2ab83ce564 Merge Changeset: 8f525559ae73 Author: asaha Date: 2011-11-07 21:45 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/rev/8f525559ae73 Merge Changeset: 23aa7f2c80a2 Author: lana Date: 2011-11-14 18:16 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/rev/23aa7f2c80a2 Merge Changeset: a4f28069d44a Author: katleman Date: 2011-11-17 10:45 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/rev/a4f28069d44a Added tag jdk8-b14 for changeset 23aa7f2c80a2 ! .hgtags Changeset: 4e06ae613e99 Author: katleman Date: 2011-12-01 10:33 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/rev/4e06ae613e99 Added tag jdk8-b15 for changeset a4f28069d44a ! .hgtags Changeset: 8606f4ab62dc Author: katleman Date: 2011-12-15 12:16 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/rev/8606f4ab62dc Added tag jdk8-b17 for changeset 4e06ae613e99 ! .hgtags Changeset: d82d3bb3a2e5 Author: katleman Date: 2011-12-15 15:47 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/rev/d82d3bb3a2e5 Added tag jdk8-b16 for changeset 4e06ae613e99 ! .hgtags Changeset: 7010bd24cdd0 Author: katleman Date: 2011-12-15 15:51 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/rev/7010bd24cdd0 Merge ! .hgtags Changeset: e1fc13802e0c Author: cl Date: 2011-12-22 19:00 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/rev/e1fc13802e0c Added tag jdk8-b18 for changeset 7010bd24cdd0 ! .hgtags Changeset: 9acd7374ff8a Author: ohair Date: 2011-12-12 08:11 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/rev/9acd7374ff8a 7119829: Adjust default jprt testing configuration Reviewed-by: alanb ! make/jprt.properties ! test/Makefile Changeset: 00d13c40d7a7 Author: lana Date: 2011-12-15 19:49 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/rev/00d13c40d7a7 Merge Changeset: 237bc29afbfc Author: lana Date: 2011-12-23 16:36 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/rev/237bc29afbfc Merge Changeset: 5a5eaf6374bc Author: katleman Date: 2011-12-29 15:14 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/rev/5a5eaf6374bc Added tag jdk8-b19 for changeset 237bc29afbfc ! .hgtags Changeset: cc771d92284f Author: katleman Date: 2012-01-05 08:42 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/rev/cc771d92284f Added tag jdk8-b20 for changeset 5a5eaf6374bc ! .hgtags Changeset: 7ad075c80995 Author: katleman Date: 2012-01-13 10:05 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/rev/7ad075c80995 Added tag jdk8-b21 for changeset cc771d92284f ! .hgtags Changeset: 60d6f64a86b1 Author: katleman Date: 2012-01-20 13:08 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/rev/60d6f64a86b1 Added tag jdk8-b22 for changeset 7ad075c80995 ! .hgtags Changeset: 1a5f1d6b98d6 Author: katleman Date: 2012-01-26 18:23 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/rev/1a5f1d6b98d6 Added tag jdk8-b23 for changeset 60d6f64a86b1 ! .hgtags Changeset: 5350cd6e0cc0 Author: katleman Date: 2012-02-02 09:39 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/rev/5350cd6e0cc0 Added tag jdk8-b24 for changeset 1a5f1d6b98d6 ! .hgtags Changeset: 0f653ee93477 Author: alanb Date: 2012-01-24 09:08 +0000 URL: http://hg.openjdk.java.net/lambda/lambda/rev/0f653ee93477 7132204: Default testset in JPRT should not run all tests Reviewed-by: ohair ! make/jprt.properties Changeset: bd3fcc98c5d2 Author: lana Date: 2012-01-28 20:36 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/rev/bd3fcc98c5d2 Merge Changeset: 221a378e06a3 Author: lana Date: 2012-02-07 10:36 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/rev/221a378e06a3 Merge Changeset: 2accafff224a Author: katleman Date: 2012-02-09 12:55 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/rev/2accafff224a Added tag jdk8-b25 for changeset 221a378e06a3 ! .hgtags Changeset: 1533dfab9903 Author: katleman Date: 2012-02-16 13:01 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/rev/1533dfab9903 Added tag jdk8-b26 for changeset 2accafff224a ! .hgtags Changeset: 97bb465be99d Author: katleman Date: 2012-02-23 12:03 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/rev/97bb465be99d Added tag jdk8-b27 for changeset 1533dfab9903 ! .hgtags Changeset: 9760a2114f51 Author: asaha Date: 2012-02-14 10:21 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/rev/9760a2114f51 Merge Changeset: d47bf204f34d Author: asaha Date: 2012-02-17 14:58 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/rev/d47bf204f34d Merge Changeset: 6e2541d60f4e Author: lana Date: 2012-02-24 18:22 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/rev/6e2541d60f4e Merge Changeset: 909bbce8f683 Author: katleman Date: 2012-03-01 12:23 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/rev/909bbce8f683 Added tag jdk8-b28 for changeset 6e2541d60f4e ! .hgtags Changeset: 28f2fe471725 Author: mduigou Date: 2012-02-27 18:09 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/rev/28f2fe471725 7143162: Allow disable building of jdk demos and samples Reviewed-by: ohair ! make/sanity-rules.gmk Changeset: d74f01115fb8 Author: lana Date: 2012-02-28 17:54 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/rev/d74f01115fb8 Merge Changeset: f2fd74a8e54e Author: lana Date: 2012-03-05 17:02 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/rev/f2fd74a8e54e Merge Changeset: 38207a5797ab Author: ohair Date: 2012-03-02 15:33 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/rev/38207a5797ab 6625113: Add the normalize and rmkw perl script to the openjdk repository or openjdk site? Reviewed-by: darcy + make/scripts/normalizer.pl Changeset: 41460de04258 Author: katleman Date: 2012-03-07 13:45 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/rev/41460de04258 Merge Changeset: eacd6b140c0c Author: katleman Date: 2012-03-08 20:34 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/rev/eacd6b140c0c Added tag jdk8-b29 for changeset 41460de04258 ! .hgtags Changeset: 84ece503953e Author: michaelm Date: 2012-03-06 20:25 +0000 URL: http://hg.openjdk.java.net/lambda/lambda/rev/84ece503953e 7113349: Initial changeset for Macosx port to jdk Reviewed-by: jjh, alanb, dholmes, anthony, ohrstrom, ksrini, jrose, weijun, smarks Contributed-by: Alan Bateman , Alexander Potochkin , Alexander Zuev , Andrew Brygin , Artem Ananiev , Alex Strange , Bino George , Christine Lu , David Katleman , David Durrence , Dmitry Cherepanov , Greg Lewis , Kevin Miller , Kurt Miller , Landon Fuller , Leonid Romanov , Loefty Walkowiak , Mark Reinhold , Naoto Sato , Philip Race , Roger Hoover , Scott Kovatch , Sergey ByloKhov , Mike Swingler , Tomas Hurka ! .hgignore ! make/Defs-internal.gmk ! make/jprt.properties Changeset: 84ffd2c5f41c Author: lana Date: 2012-03-07 22:36 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/rev/84ffd2c5f41c Merge Changeset: 6cea54809b51 Author: lana Date: 2012-03-09 11:56 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/rev/6cea54809b51 Merge Changeset: 0b66f43b89a6 Author: katleman Date: 2012-03-15 15:14 -0700 URL: http://hg.openjdk.java.net/lambda/lambda/rev/0b66f43b89a6 Added tag jdk8-b30 for changeset 6cea54809b51 ! .hgtags Changeset: 293089e9c20c Author: mduigou Date: 2012-03-21 17:32 -0700 URL: http://hg.openjdk.java.net/lambda/lambda/rev/293089e9c20c Merge From mike.duigou at oracle.com Fri Mar 23 19:03:16 2012 From: mike.duigou at oracle.com (mike.duigou at oracle.com) Date: Sat, 24 Mar 2012 02:03:16 +0000 Subject: hg: lambda/lambda/corba: 41 new changesets Message-ID: <20120324020342.113E447B31@hg.openjdk.java.net> Changeset: 6f601a737e0f Author: katleman Date: 2011-11-10 11:45 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/corba/rev/6f601a737e0f Added tag jdk8-b13 for changeset 5b9d9b839d3d ! .hgtags Changeset: d84682019b5f Author: asaha Date: 2011-06-27 11:45 -0700 URL: http://hg.openjdk.java.net/lambda/lambda/corba/rev/d84682019b5f Merge Changeset: 9c20c1e7cdd9 Author: asaha Date: 2011-06-28 08:38 -0700 URL: http://hg.openjdk.java.net/lambda/lambda/corba/rev/9c20c1e7cdd9 Merge Changeset: cb5aec0570a5 Author: asaha Date: 2011-07-19 11:03 -0700 URL: http://hg.openjdk.java.net/lambda/lambda/corba/rev/cb5aec0570a5 Merge Changeset: 21369018a679 Author: mbankal Date: 2011-08-09 05:39 -0700 URL: http://hg.openjdk.java.net/lambda/lambda/corba/rev/21369018a679 7055902: Oracle Java IIOP Deserialization Type Confusion Remote Code Execution Vulnerability Reviewed-by: coffeys ! src/share/classes/com/sun/corba/se/impl/io/IIOPInputStream.java Changeset: 058c18d237a9 Author: asaha Date: 2011-11-07 21:45 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/corba/rev/058c18d237a9 Merge Changeset: e59c47de1ad8 Author: lana Date: 2011-11-14 18:16 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/corba/rev/e59c47de1ad8 Merge Changeset: 99925e8d1b86 Author: katleman Date: 2011-11-17 10:45 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/corba/rev/99925e8d1b86 Added tag jdk8-b14 for changeset e59c47de1ad8 ! .hgtags Changeset: 44c269731425 Author: coffeys Date: 2011-11-11 10:16 +0000 URL: http://hg.openjdk.java.net/lambda/lambda/corba/rev/44c269731425 7091388: Regular unexplained npe's from corba libs after system has been running for days Reviewed-by: alanb ! src/share/classes/com/sun/corba/se/impl/encoding/CDRInputStream.java ! src/share/classes/com/sun/corba/se/impl/encoding/CDRInputStream_1_0.java ! src/share/classes/com/sun/corba/se/impl/encoding/CDROutputStream.java ! src/share/classes/com/sun/corba/se/impl/encoding/CDROutputStream_1_0.java Changeset: 7da69e7175a7 Author: lana Date: 2011-11-18 11:01 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/corba/rev/7da69e7175a7 Merge Changeset: 82dc033975bb Author: katleman Date: 2011-12-01 10:33 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/corba/rev/82dc033975bb Added tag jdk8-b15 for changeset 7da69e7175a7 ! .hgtags Changeset: 05f47d29b438 Author: katleman Date: 2011-12-15 12:16 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/corba/rev/05f47d29b438 Added tag jdk8-b17 for changeset 82dc033975bb ! .hgtags Changeset: 6e51ad8d3707 Author: katleman Date: 2011-12-15 15:47 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/corba/rev/6e51ad8d3707 Added tag jdk8-b16 for changeset 82dc033975bb ! .hgtags Changeset: 312cf15d1657 Author: katleman Date: 2011-12-15 15:52 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/corba/rev/312cf15d1657 Merge ! .hgtags Changeset: 46bd4a46a5a8 Author: cl Date: 2011-12-22 19:00 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/corba/rev/46bd4a46a5a8 Added tag jdk8-b18 for changeset 312cf15d1657 ! .hgtags Changeset: 75529c21094f Author: ohair Date: 2011-12-12 08:15 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/corba/rev/75529c21094f 7119829: Adjust default jprt testing configuration Reviewed-by: alanb ! make/jprt.properties Changeset: 0289a94d653b Author: lana Date: 2011-12-15 19:49 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/corba/rev/0289a94d653b Merge Changeset: 052dda3b5ce3 Author: dmeetry Date: 2011-12-18 22:12 +0400 URL: http://hg.openjdk.java.net/lambda/lambda/corba/rev/052dda3b5ce3 7046238: new InitialContext(); hangs Summary: Synchronization on a single monitor for contactInfo parameters with identical hashCode() Reviewed-by: robm, skoppar ! src/share/classes/com/sun/corba/se/impl/protocol/CorbaClientRequestDispatcherImpl.java Changeset: e1366c5d84ef Author: lana Date: 2011-12-23 16:36 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/corba/rev/e1366c5d84ef Merge Changeset: 51d8b6cb18c0 Author: katleman Date: 2011-12-29 15:14 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/corba/rev/51d8b6cb18c0 Added tag jdk8-b19 for changeset e1366c5d84ef ! .hgtags Changeset: f157fc2a71a3 Author: katleman Date: 2012-01-05 08:42 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/corba/rev/f157fc2a71a3 Added tag jdk8-b20 for changeset 51d8b6cb18c0 ! .hgtags Changeset: a11d0062c445 Author: katleman Date: 2012-01-13 10:05 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/corba/rev/a11d0062c445 Added tag jdk8-b21 for changeset f157fc2a71a3 ! .hgtags Changeset: 5218eb256658 Author: katleman Date: 2012-01-20 13:08 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/corba/rev/5218eb256658 Added tag jdk8-b22 for changeset a11d0062c445 ! .hgtags Changeset: b98f0e6dddf9 Author: katleman Date: 2012-01-26 18:23 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/corba/rev/b98f0e6dddf9 Added tag jdk8-b23 for changeset 5218eb256658 ! .hgtags Changeset: e45d6b406d5f Author: katleman Date: 2012-02-02 09:39 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/corba/rev/e45d6b406d5f Added tag jdk8-b24 for changeset b98f0e6dddf9 ! .hgtags Changeset: 79f709a099f4 Author: katleman Date: 2012-02-09 12:55 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/corba/rev/79f709a099f4 Added tag jdk8-b25 for changeset e45d6b406d5f ! .hgtags Changeset: 4fffe75e4edd Author: katleman Date: 2012-02-16 13:01 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/corba/rev/4fffe75e4edd Added tag jdk8-b26 for changeset 79f709a099f4 ! .hgtags Changeset: 7bf4278af030 Author: katleman Date: 2012-02-23 12:03 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/corba/rev/7bf4278af030 Added tag jdk8-b27 for changeset 4fffe75e4edd ! .hgtags Changeset: 66c7161ee588 Author: coffeys Date: 2011-11-17 10:51 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/corba/rev/66c7161ee588 7110704: Issues with some method in corba Reviewed-by: mbankal ! src/share/classes/com/sun/corba/se/impl/dynamicany/DynAnyFactoryImpl.java ! src/share/classes/com/sun/corba/se/impl/dynamicany/DynAnyImpl.java ! src/share/classes/com/sun/org/omg/SendingContext/_CodeBaseImplBase.java Changeset: c4afff3939d8 Author: asaha Date: 2012-02-14 10:21 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/corba/rev/c4afff3939d8 Merge Changeset: 695408e22b29 Author: asaha Date: 2012-02-17 14:58 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/corba/rev/695408e22b29 Merge Changeset: 2082eb35d49a Author: lana Date: 2012-02-24 18:22 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/corba/rev/2082eb35d49a Merge Changeset: 6117395d4226 Author: katleman Date: 2012-03-01 12:23 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/corba/rev/6117395d4226 Added tag jdk8-b28 for changeset 2082eb35d49a ! .hgtags Changeset: e481748a8d74 Author: katleman Date: 2012-03-08 20:34 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/corba/rev/e481748a8d74 Added tag jdk8-b29 for changeset 6117395d4226 ! .hgtags Changeset: f7718662741d Author: michaelm Date: 2012-03-06 20:25 +0000 URL: http://hg.openjdk.java.net/lambda/lambda/corba/rev/f7718662741d 7113349: Initial changeset for Macosx port to jdk Reviewed-by: jjh, alanb, dholmes, anthony, ohrstrom, ksrini, jrose, weijun, smarks Contributed-by: Alan Bateman , Alexander Potochkin , Alexander Zuev , Andrew Brygin , Artem Ananiev , Alex Strange , Bino George , Christine Lu , David Katleman , David Durrence , Dmitry Cherepanov , Greg Lewis , Kevin Miller , Kurt Miller , Landon Fuller , Leonid Romanov , Loefty Walkowiak , Mark Reinhold , Naoto Sato , Philip Race , Roger Hoover , Scott Kovatch , Sergey ByloKhov , Mike Swingler , Tomas Hurka ! .hgignore + make/common/Defs-bsd.gmk + make/common/shared/Defs-bsd.gmk ! make/common/shared/Defs-utils.gmk ! make/common/shared/Platform.gmk Changeset: 9cd9d8b408fa Author: lana Date: 2012-03-07 22:36 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/corba/rev/9cd9d8b408fa Merge Changeset: 4605f8418bf5 Author: lana Date: 2012-03-09 11:56 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/corba/rev/4605f8418bf5 Merge Changeset: d6b04e3e40e2 Author: katleman Date: 2012-03-15 15:14 -0700 URL: http://hg.openjdk.java.net/lambda/lambda/corba/rev/d6b04e3e40e2 Added tag jdk8-b30 for changeset 4605f8418bf5 ! .hgtags Changeset: 0b94487a30c6 Author: erikj Date: 2012-03-19 13:03 -0700 URL: http://hg.openjdk.java.net/lambda/lambda/corba/rev/0b94487a30c6 7153266: Adjustments to corba strip property utility (neutral to builds) Summary: Fixes to sync up with jdk8 build-infra project. Reviewed-by: ohair, tbell, ohrstrom ! make/common/internal/Resources.gmk - make/tools/src/build/tools/stripproperties/StripProperties.java + make/tools/src/build/tools/stripproperties/StripPropertiesCorba.java ! make/tools/strip_properties/Makefile Changeset: 1954151dfae8 Author: katleman Date: 2012-03-21 12:18 -0700 URL: http://hg.openjdk.java.net/lambda/lambda/corba/rev/1954151dfae8 Merge - make/tools/src/build/tools/stripproperties/StripProperties.java Changeset: f038edbbb520 Author: mduigou Date: 2012-03-21 17:29 -0700 URL: http://hg.openjdk.java.net/lambda/lambda/corba/rev/f038edbbb520 Merge - make/tools/src/build/tools/stripproperties/StripProperties.java From mike.duigou at oracle.com Fri Mar 23 19:06:24 2012 From: mike.duigou at oracle.com (mike.duigou at oracle.com) Date: Sat, 24 Mar 2012 02:06:24 +0000 Subject: hg: lambda/lambda/jaxp: 36 new changesets Message-ID: <20120324020632.8F55D47B32@hg.openjdk.java.net> Changeset: e7172d80a8f4 Author: katleman Date: 2011-11-10 11:46 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/jaxp/rev/e7172d80a8f4 Added tag jdk8-b13 for changeset bcc739229f63 ! .hgtags Changeset: 7adf14d6060c Author: asaha Date: 2011-06-27 11:46 -0700 URL: http://hg.openjdk.java.net/lambda/lambda/jaxp/rev/7adf14d6060c Merge Changeset: d239aa024b6e Author: asaha Date: 2011-06-28 08:38 -0700 URL: http://hg.openjdk.java.net/lambda/lambda/jaxp/rev/d239aa024b6e Merge Changeset: eca33f89c823 Author: asaha Date: 2011-07-19 11:03 -0700 URL: http://hg.openjdk.java.net/lambda/lambda/jaxp/rev/eca33f89c823 Merge Changeset: 0ed9ae36ee2a Author: asaha Date: 2011-11-07 21:47 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/jaxp/rev/0ed9ae36ee2a Merge Changeset: 9d0c9d638757 Author: lana Date: 2011-11-14 18:16 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/jaxp/rev/9d0c9d638757 Merge Changeset: 804f666d6d44 Author: katleman Date: 2011-11-17 10:45 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/jaxp/rev/804f666d6d44 Added tag jdk8-b14 for changeset 9d0c9d638757 ! .hgtags Changeset: 8181f7634e4a Author: katleman Date: 2011-12-01 10:33 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/jaxp/rev/8181f7634e4a Added tag jdk8-b15 for changeset 804f666d6d44 ! .hgtags Changeset: e32444f13774 Author: katleman Date: 2011-12-06 08:43 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/jaxp/rev/e32444f13774 7117162: jdk8/jaxws/Makefile default DROPS_DIR should set to jdk8-drops Reviewed-by: ohair, xdono, mchung ! build.properties ! make/Makefile Changeset: 09eb517404b0 Author: katleman Date: 2011-12-07 13:02 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/jaxp/rev/09eb517404b0 Merge Changeset: db44484a9d6e Author: katleman Date: 2011-12-15 12:16 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/jaxp/rev/db44484a9d6e Added tag jdk8-b17 for changeset 09eb517404b0 ! .hgtags Changeset: bc3ed3122933 Author: katleman Date: 2011-12-15 15:47 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/jaxp/rev/bc3ed3122933 Added tag jdk8-b16 for changeset 09eb517404b0 ! .hgtags Changeset: ebec6a7e8d4e Author: katleman Date: 2011-12-15 15:54 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/jaxp/rev/ebec6a7e8d4e Merge ! .hgtags Changeset: 5fb25931f1c2 Author: cl Date: 2011-12-22 19:00 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/jaxp/rev/5fb25931f1c2 Added tag jdk8-b18 for changeset ebec6a7e8d4e ! .hgtags Changeset: a482d45c93e9 Author: ohair Date: 2011-12-12 08:12 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/jaxp/rev/a482d45c93e9 7117110: Remove target 1.5 from jaxp and jaxws repo builds for mac Reviewed-by: alanb ! build.xml Changeset: a49db7c01db7 Author: ohair Date: 2011-12-12 08:12 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/jaxp/rev/a49db7c01db7 7119829: Adjust default jprt testing configuration Reviewed-by: alanb ! make/jprt.properties Changeset: f26e2ab2c2c7 Author: lana Date: 2011-12-15 19:49 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/jaxp/rev/f26e2ab2c2c7 Merge Changeset: dffeb62b1a7f Author: lana Date: 2011-12-23 16:36 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/jaxp/rev/dffeb62b1a7f Merge Changeset: f052abb8f374 Author: katleman Date: 2011-12-29 15:14 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/jaxp/rev/f052abb8f374 Added tag jdk8-b19 for changeset dffeb62b1a7f ! .hgtags Changeset: d41eeadf5c13 Author: katleman Date: 2012-01-05 08:42 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/jaxp/rev/d41eeadf5c13 Added tag jdk8-b20 for changeset f052abb8f374 ! .hgtags Changeset: cf9d6ec44f89 Author: katleman Date: 2012-01-13 10:05 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/jaxp/rev/cf9d6ec44f89 Added tag jdk8-b21 for changeset d41eeadf5c13 ! .hgtags Changeset: 95102fd33418 Author: katleman Date: 2012-01-20 13:08 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/jaxp/rev/95102fd33418 Added tag jdk8-b22 for changeset cf9d6ec44f89 ! .hgtags Changeset: 7836655e2495 Author: katleman Date: 2012-01-26 18:23 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/jaxp/rev/7836655e2495 Added tag jdk8-b23 for changeset 95102fd33418 ! .hgtags Changeset: bb694c151fc7 Author: katleman Date: 2012-02-02 09:39 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/jaxp/rev/bb694c151fc7 Added tag jdk8-b24 for changeset 7836655e2495 ! .hgtags Changeset: dbb7283c197b Author: katleman Date: 2012-02-09 12:55 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/jaxp/rev/dbb7283c197b Added tag jdk8-b25 for changeset bb694c151fc7 ! .hgtags Changeset: 80c47eb83d24 Author: katleman Date: 2012-02-16 13:01 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/jaxp/rev/80c47eb83d24 Added tag jdk8-b26 for changeset dbb7283c197b ! .hgtags Changeset: 38cc4c09b847 Author: katleman Date: 2012-02-23 12:03 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/jaxp/rev/38cc4c09b847 Added tag jdk8-b27 for changeset 80c47eb83d24 ! .hgtags Changeset: 6fc515ab48c3 Author: asaha Date: 2012-02-14 10:22 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/jaxp/rev/6fc515ab48c3 Merge Changeset: a8e76ac83b62 Author: asaha Date: 2012-02-17 14:59 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/jaxp/rev/a8e76ac83b62 Merge Changeset: f3244c1f0486 Author: lana Date: 2012-02-24 18:22 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/jaxp/rev/f3244c1f0486 Merge Changeset: 4e39817737cf Author: katleman Date: 2012-03-01 12:23 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/jaxp/rev/4e39817737cf Added tag jdk8-b28 for changeset f3244c1f0486 ! .hgtags Changeset: ff3ad1d8c057 Author: ohair Date: 2012-03-04 11:55 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/jaxp/rev/ff3ad1d8c057 7150324: Stop using drop bundles in jaxp Reviewed-by: prr, joehw ! README - build-defs.xml - build-drop-template.xml ! build.properties ! build.xml - jaxp.properties ! make/Makefile + make/scripts/update_src.sh - patches/jaxp_src/README + src/share/classes/com/sun/java_cup/internal/runtime/Scanner.java + src/share/classes/com/sun/java_cup/internal/runtime/Symbol.java + src/share/classes/com/sun/java_cup/internal/runtime/lr_parser.java + src/share/classes/com/sun/java_cup/internal/runtime/virtual_parse_stack.java + src/share/classes/com/sun/org/apache/bcel/internal/Constants.java + src/share/classes/com/sun/org/apache/bcel/internal/ExceptionConstants.java + src/share/classes/com/sun/org/apache/bcel/internal/Repository.java + src/share/classes/com/sun/org/apache/bcel/internal/classfile/AccessFlags.java + src/share/classes/com/sun/org/apache/bcel/internal/classfile/Attribute.java + src/share/classes/com/sun/org/apache/bcel/internal/classfile/AttributeReader.java + src/share/classes/com/sun/org/apache/bcel/internal/classfile/ClassFormatException.java + src/share/classes/com/sun/org/apache/bcel/internal/classfile/ClassParser.java + src/share/classes/com/sun/org/apache/bcel/internal/classfile/Code.java + src/share/classes/com/sun/org/apache/bcel/internal/classfile/CodeException.java + src/share/classes/com/sun/org/apache/bcel/internal/classfile/Constant.java + src/share/classes/com/sun/org/apache/bcel/internal/classfile/ConstantCP.java + src/share/classes/com/sun/org/apache/bcel/internal/classfile/ConstantClass.java + src/share/classes/com/sun/org/apache/bcel/internal/classfile/ConstantDouble.java + src/share/classes/com/sun/org/apache/bcel/internal/classfile/ConstantFieldref.java + src/share/classes/com/sun/org/apache/bcel/internal/classfile/ConstantFloat.java + src/share/classes/com/sun/org/apache/bcel/internal/classfile/ConstantInteger.java + src/share/classes/com/sun/org/apache/bcel/internal/classfile/ConstantInterfaceMethodref.java + src/share/classes/com/sun/org/apache/bcel/internal/classfile/ConstantLong.java + src/share/classes/com/sun/org/apache/bcel/internal/classfile/ConstantMethodref.java + src/share/classes/com/sun/org/apache/bcel/internal/classfile/ConstantNameAndType.java + src/share/classes/com/sun/org/apache/bcel/internal/classfile/ConstantObject.java + src/share/classes/com/sun/org/apache/bcel/internal/classfile/ConstantPool.java + src/share/classes/com/sun/org/apache/bcel/internal/classfile/ConstantString.java + src/share/classes/com/sun/org/apache/bcel/internal/classfile/ConstantUtf8.java + src/share/classes/com/sun/org/apache/bcel/internal/classfile/ConstantValue.java + src/share/classes/com/sun/org/apache/bcel/internal/classfile/Deprecated.java + src/share/classes/com/sun/org/apache/bcel/internal/classfile/DescendingVisitor.java + src/share/classes/com/sun/org/apache/bcel/internal/classfile/EmptyVisitor.java + src/share/classes/com/sun/org/apache/bcel/internal/classfile/ExceptionTable.java + src/share/classes/com/sun/org/apache/bcel/internal/classfile/Field.java + src/share/classes/com/sun/org/apache/bcel/internal/classfile/FieldOrMethod.java + src/share/classes/com/sun/org/apache/bcel/internal/classfile/InnerClass.java + src/share/classes/com/sun/org/apache/bcel/internal/classfile/InnerClasses.java + src/share/classes/com/sun/org/apache/bcel/internal/classfile/JavaClass.java + src/share/classes/com/sun/org/apache/bcel/internal/classfile/LineNumber.java + src/share/classes/com/sun/org/apache/bcel/internal/classfile/LineNumberTable.java + src/share/classes/com/sun/org/apache/bcel/internal/classfile/LocalVariable.java + src/share/classes/com/sun/org/apache/bcel/internal/classfile/LocalVariableTable.java + src/share/classes/com/sun/org/apache/bcel/internal/classfile/Method.java + src/share/classes/com/sun/org/apache/bcel/internal/classfile/Node.java + src/share/classes/com/sun/org/apache/bcel/internal/classfile/PMGClass.java + src/share/classes/com/sun/org/apache/bcel/internal/classfile/Signature.java + src/share/classes/com/sun/org/apache/bcel/internal/classfile/SourceFile.java + src/share/classes/com/sun/org/apache/bcel/internal/classfile/StackMap.java + src/share/classes/com/sun/org/apache/bcel/internal/classfile/StackMapEntry.java + src/share/classes/com/sun/org/apache/bcel/internal/classfile/StackMapType.java + src/share/classes/com/sun/org/apache/bcel/internal/classfile/Synthetic.java + src/share/classes/com/sun/org/apache/bcel/internal/classfile/Unknown.java + src/share/classes/com/sun/org/apache/bcel/internal/classfile/Utility.java + src/share/classes/com/sun/org/apache/bcel/internal/classfile/Visitor.java + src/share/classes/com/sun/org/apache/bcel/internal/classfile/package.html + src/share/classes/com/sun/org/apache/bcel/internal/generic/AALOAD.java + src/share/classes/com/sun/org/apache/bcel/internal/generic/AASTORE.java + src/share/classes/com/sun/org/apache/bcel/internal/generic/ACONST_NULL.java + src/share/classes/com/sun/org/apache/bcel/internal/generic/ALOAD.java + src/share/classes/com/sun/org/apache/bcel/internal/generic/ANEWARRAY.java + src/share/classes/com/sun/org/apache/bcel/internal/generic/ARETURN.java + src/share/classes/com/sun/org/apache/bcel/internal/generic/ARRAYLENGTH.java + src/share/classes/com/sun/org/apache/bcel/internal/generic/ASTORE.java + src/share/classes/com/sun/org/apache/bcel/internal/generic/ATHROW.java + src/share/classes/com/sun/org/apache/bcel/internal/generic/AllocationInstruction.java + src/share/classes/com/sun/org/apache/bcel/internal/generic/ArithmeticInstruction.java + src/share/classes/com/sun/org/apache/bcel/internal/generic/ArrayInstruction.java + src/share/classes/com/sun/org/apache/bcel/internal/generic/ArrayType.java + src/share/classes/com/sun/org/apache/bcel/internal/generic/BALOAD.java + src/share/classes/com/sun/org/apache/bcel/internal/generic/BASTORE.java + src/share/classes/com/sun/org/apache/bcel/internal/generic/BIPUSH.java + src/share/classes/com/sun/org/apache/bcel/internal/generic/BREAKPOINT.java + src/share/classes/com/sun/org/apache/bcel/internal/generic/BasicType.java + src/share/classes/com/sun/org/apache/bcel/internal/generic/BranchHandle.java + src/share/classes/com/sun/org/apache/bcel/internal/generic/BranchInstruction.java + src/share/classes/com/sun/org/apache/bcel/internal/generic/CALOAD.java + src/share/classes/com/sun/org/apache/bcel/internal/generic/CASTORE.java + src/share/classes/com/sun/org/apache/bcel/internal/generic/CHECKCAST.java + src/share/classes/com/sun/org/apache/bcel/internal/generic/CPInstruction.java + src/share/classes/com/sun/org/apache/bcel/internal/generic/ClassGen.java + src/share/classes/com/sun/org/apache/bcel/internal/generic/ClassGenException.java + src/share/classes/com/sun/org/apache/bcel/internal/generic/ClassObserver.java + src/share/classes/com/sun/org/apache/bcel/internal/generic/CodeExceptionGen.java + src/share/classes/com/sun/org/apache/bcel/internal/generic/CompoundInstruction.java + src/share/classes/com/sun/org/apache/bcel/internal/generic/ConstantPoolGen.java + src/share/classes/com/sun/org/apache/bcel/internal/generic/ConstantPushInstruction.java + src/share/classes/com/sun/org/apache/bcel/internal/generic/ConversionInstruction.java + src/share/classes/com/sun/org/apache/bcel/internal/generic/D2F.java + src/share/classes/com/sun/org/apache/bcel/internal/generic/D2I.java + src/share/classes/com/sun/org/apache/bcel/internal/generic/D2L.java + src/share/classes/com/sun/org/apache/bcel/internal/generic/DADD.java + src/share/classes/com/sun/org/apache/bcel/internal/generic/DALOAD.java + src/share/classes/com/sun/org/apache/bcel/internal/generic/DASTORE.java + src/share/classes/com/sun/org/apache/bcel/internal/generic/DCMPG.java + src/share/classes/com/sun/org/apache/bcel/internal/generic/DCMPL.java + src/share/classes/com/sun/org/apache/bcel/internal/generic/DCONST.java + src/share/classes/com/sun/org/apache/bcel/internal/generic/DDIV.java + src/share/classes/com/sun/org/apache/bcel/internal/generic/DLOAD.java + src/share/classes/com/sun/org/apache/bcel/internal/generic/DMUL.java + src/share/classes/com/sun/org/apache/bcel/internal/generic/DNEG.java + src/share/classes/com/sun/org/apache/bcel/internal/generic/DREM.java + src/share/classes/com/sun/org/apache/bcel/internal/generic/DRETURN.java + src/share/classes/com/sun/org/apache/bcel/internal/generic/DSTORE.java + src/share/classes/com/sun/org/apache/bcel/internal/generic/DSUB.java + src/share/classes/com/sun/org/apache/bcel/internal/generic/DUP.java + src/share/classes/com/sun/org/apache/bcel/internal/generic/DUP2.java + src/share/classes/com/sun/org/apache/bcel/internal/generic/DUP2_X1.java + src/share/classes/com/sun/org/apache/bcel/internal/generic/DUP2_X2.java + src/share/classes/com/sun/org/apache/bcel/internal/generic/DUP_X1.java + src/share/classes/com/sun/org/apache/bcel/internal/generic/DUP_X2.java + src/share/classes/com/sun/org/apache/bcel/internal/generic/EmptyVisitor.java + src/share/classes/com/sun/org/apache/bcel/internal/generic/ExceptionThrower.java + src/share/classes/com/sun/org/apache/bcel/internal/generic/F2D.java + src/share/classes/com/sun/org/apache/bcel/internal/generic/F2I.java + src/share/classes/com/sun/org/apache/bcel/internal/generic/F2L.java + src/share/classes/com/sun/org/apache/bcel/internal/generic/FADD.java + src/share/classes/com/sun/org/apache/bcel/internal/generic/FALOAD.java + src/share/classes/com/sun/org/apache/bcel/internal/generic/FASTORE.java + src/share/classes/com/sun/org/apache/bcel/internal/generic/FCMPG.java + src/share/classes/com/sun/org/apache/bcel/internal/generic/FCMPL.java + src/share/classes/com/sun/org/apache/bcel/internal/generic/FCONST.java + src/share/classes/com/sun/org/apache/bcel/internal/generic/FDIV.java + src/share/classes/com/sun/org/apache/bcel/internal/generic/FLOAD.java + src/share/classes/com/sun/org/apache/bcel/internal/generic/FMUL.java + src/share/classes/com/sun/org/apache/bcel/internal/generic/FNEG.java + src/share/classes/com/sun/org/apache/bcel/internal/generic/FREM.java + src/share/classes/com/sun/org/apache/bcel/internal/generic/FRETURN.java + src/share/classes/com/sun/org/apache/bcel/internal/generic/FSTORE.java + src/share/classes/com/sun/org/apache/bcel/internal/generic/FSUB.java + src/share/classes/com/sun/org/apache/bcel/internal/generic/FieldGen.java + src/share/classes/com/sun/org/apache/bcel/internal/generic/FieldGenOrMethodGen.java + src/share/classes/com/sun/org/apache/bcel/internal/generic/FieldInstruction.java + src/share/classes/com/sun/org/apache/bcel/internal/generic/FieldObserver.java + src/share/classes/com/sun/org/apache/bcel/internal/generic/FieldOrMethod.java + src/share/classes/com/sun/org/apache/bcel/internal/generic/GETFIELD.java + src/share/classes/com/sun/org/apache/bcel/internal/generic/GETSTATIC.java + src/share/classes/com/sun/org/apache/bcel/internal/generic/GOTO.java + src/share/classes/com/sun/org/apache/bcel/internal/generic/GOTO_W.java + src/share/classes/com/sun/org/apache/bcel/internal/generic/GotoInstruction.java + src/share/classes/com/sun/org/apache/bcel/internal/generic/I2B.java + src/share/classes/com/sun/org/apache/bcel/internal/generic/I2C.java + src/share/classes/com/sun/org/apache/bcel/internal/generic/I2D.java + src/share/classes/com/sun/org/apache/bcel/internal/generic/I2F.java + src/share/classes/com/sun/org/apache/bcel/internal/generic/I2L.java + src/share/classes/com/sun/org/apache/bcel/internal/generic/I2S.java + src/share/classes/com/sun/org/apache/bcel/internal/generic/IADD.java + src/share/classes/com/sun/org/apache/bcel/internal/generic/IALOAD.java + src/share/classes/com/sun/org/apache/bcel/internal/generic/IAND.java + src/share/classes/com/sun/org/apache/bcel/internal/generic/IASTORE.java + src/share/classes/com/sun/org/apache/bcel/internal/generic/ICONST.java + src/share/classes/com/sun/org/apache/bcel/internal/generic/IDIV.java + src/share/classes/com/sun/org/apache/bcel/internal/generic/IFEQ.java + src/share/classes/com/sun/org/apache/bcel/internal/generic/IFGE.java + src/share/classes/com/sun/org/apache/bcel/internal/generic/IFGT.java + src/share/classes/com/sun/org/apache/bcel/internal/generic/IFLE.java + src/share/classes/com/sun/org/apache/bcel/internal/generic/IFLT.java + src/share/classes/com/sun/org/apache/bcel/internal/generic/IFNE.java + src/share/classes/com/sun/org/apache/bcel/internal/generic/IFNONNULL.java + src/share/classes/com/sun/org/apache/bcel/internal/generic/IFNULL.java + src/share/classes/com/sun/org/apache/bcel/internal/generic/IF_ACMPEQ.java + src/share/classes/com/sun/org/apache/bcel/internal/generic/IF_ACMPNE.java + src/share/classes/com/sun/org/apache/bcel/internal/generic/IF_ICMPEQ.java + src/share/classes/com/sun/org/apache/bcel/internal/generic/IF_ICMPGE.java + src/share/classes/com/sun/org/apache/bcel/internal/generic/IF_ICMPGT.java + src/share/classes/com/sun/org/apache/bcel/internal/generic/IF_ICMPLE.java + src/share/classes/com/sun/org/apache/bcel/internal/generic/IF_ICMPLT.java + src/share/classes/com/sun/org/apache/bcel/internal/generic/IF_ICMPNE.java + src/share/classes/com/sun/org/apache/bcel/internal/generic/IINC.java + src/share/classes/com/sun/org/apache/bcel/internal/generic/ILOAD.java + src/share/classes/com/sun/org/apache/bcel/internal/generic/IMPDEP1.java + src/share/classes/com/sun/org/apache/bcel/internal/generic/IMPDEP2.java + src/share/classes/com/sun/org/apache/bcel/internal/generic/IMUL.java + src/share/classes/com/sun/org/apache/bcel/internal/generic/INEG.java + src/share/classes/com/sun/org/apache/bcel/internal/generic/INSTANCEOF.java + src/share/classes/com/sun/org/apache/bcel/internal/generic/INVOKEINTERFACE.java + src/share/classes/com/sun/org/apache/bcel/internal/generic/INVOKESPECIAL.java + src/share/classes/com/sun/org/apache/bcel/internal/generic/INVOKESTATIC.java + src/share/classes/com/sun/org/apache/bcel/internal/generic/INVOKEVIRTUAL.java + src/share/classes/com/sun/org/apache/bcel/internal/generic/IOR.java + src/share/classes/com/sun/org/apache/bcel/internal/generic/IREM.java + src/share/classes/com/sun/org/apache/bcel/internal/generic/IRETURN.java + src/share/classes/com/sun/org/apache/bcel/internal/generic/ISHL.java + src/share/classes/com/sun/org/apache/bcel/internal/generic/ISHR.java + src/share/classes/com/sun/org/apache/bcel/internal/generic/ISTORE.java + src/share/classes/com/sun/org/apache/bcel/internal/generic/ISUB.java + src/share/classes/com/sun/org/apache/bcel/internal/generic/IUSHR.java + src/share/classes/com/sun/org/apache/bcel/internal/generic/IXOR.java + src/share/classes/com/sun/org/apache/bcel/internal/generic/IfInstruction.java + src/share/classes/com/sun/org/apache/bcel/internal/generic/IndexedInstruction.java + src/share/classes/com/sun/org/apache/bcel/internal/generic/Instruction.java + src/share/classes/com/sun/org/apache/bcel/internal/generic/InstructionComparator.java + src/share/classes/com/sun/org/apache/bcel/internal/generic/InstructionConstants.java + src/share/classes/com/sun/org/apache/bcel/internal/generic/InstructionFactory.java + src/share/classes/com/sun/org/apache/bcel/internal/generic/InstructionHandle.java + src/share/classes/com/sun/org/apache/bcel/internal/generic/InstructionList.java + src/share/classes/com/sun/org/apache/bcel/internal/generic/InstructionListObserver.java + src/share/classes/com/sun/org/apache/bcel/internal/generic/InstructionTargeter.java + src/share/classes/com/sun/org/apache/bcel/internal/generic/InvokeInstruction.java + src/share/classes/com/sun/org/apache/bcel/internal/generic/JSR.java + src/share/classes/com/sun/org/apache/bcel/internal/generic/JSR_W.java + src/share/classes/com/sun/org/apache/bcel/internal/generic/JsrInstruction.java + src/share/classes/com/sun/org/apache/bcel/internal/generic/L2D.java + src/share/classes/com/sun/org/apache/bcel/internal/generic/L2F.java + src/share/classes/com/sun/org/apache/bcel/internal/generic/L2I.java + src/share/classes/com/sun/org/apache/bcel/internal/generic/LADD.java + src/share/classes/com/sun/org/apache/bcel/internal/generic/LALOAD.java + src/share/classes/com/sun/org/apache/bcel/internal/generic/LAND.java + src/share/classes/com/sun/org/apache/bcel/internal/generic/LASTORE.java + src/share/classes/com/sun/org/apache/bcel/internal/generic/LCMP.java + src/share/classes/com/sun/org/apache/bcel/internal/generic/LCONST.java + src/share/classes/com/sun/org/apache/bcel/internal/generic/LDC.java + src/share/classes/com/sun/org/apache/bcel/internal/generic/LDC2_W.java + src/share/classes/com/sun/org/apache/bcel/internal/generic/LDC_W.java + src/share/classes/com/sun/org/apache/bcel/internal/generic/LDIV.java + src/share/classes/com/sun/org/apache/bcel/internal/generic/LLOAD.java + src/share/classes/com/sun/org/apache/bcel/internal/generic/LMUL.java + src/share/classes/com/sun/org/apache/bcel/internal/generic/LNEG.java + src/share/classes/com/sun/org/apache/bcel/internal/generic/LOOKUPSWITCH.java + src/share/classes/com/sun/org/apache/bcel/internal/generic/LOR.java + src/share/classes/com/sun/org/apache/bcel/internal/generic/LREM.java + src/share/classes/com/sun/org/apache/bcel/internal/generic/LRETURN.java + src/share/classes/com/sun/org/apache/bcel/internal/generic/LSHL.java + src/share/classes/com/sun/org/apache/bcel/internal/generic/LSHR.java + src/share/classes/com/sun/org/apache/bcel/internal/generic/LSTORE.java + src/share/classes/com/sun/org/apache/bcel/internal/generic/LSUB.java + src/share/classes/com/sun/org/apache/bcel/internal/generic/LUSHR.java + src/share/classes/com/sun/org/apache/bcel/internal/generic/LXOR.java + src/share/classes/com/sun/org/apache/bcel/internal/generic/LineNumberGen.java + src/share/classes/com/sun/org/apache/bcel/internal/generic/LoadClass.java + src/share/classes/com/sun/org/apache/bcel/internal/generic/LoadInstruction.java + src/share/classes/com/sun/org/apache/bcel/internal/generic/LocalVariableGen.java + src/share/classes/com/sun/org/apache/bcel/internal/generic/LocalVariableInstruction.java + src/share/classes/com/sun/org/apache/bcel/internal/generic/MONITORENTER.java + src/share/classes/com/sun/org/apache/bcel/internal/generic/MONITOREXIT.java + src/share/classes/com/sun/org/apache/bcel/internal/generic/MULTIANEWARRAY.java + src/share/classes/com/sun/org/apache/bcel/internal/generic/MethodGen.java + src/share/classes/com/sun/org/apache/bcel/internal/generic/MethodObserver.java + src/share/classes/com/sun/org/apache/bcel/internal/generic/NEW.java + src/share/classes/com/sun/org/apache/bcel/internal/generic/NEWARRAY.java + src/share/classes/com/sun/org/apache/bcel/internal/generic/NOP.java + src/share/classes/com/sun/org/apache/bcel/internal/generic/NamedAndTyped.java + src/share/classes/com/sun/org/apache/bcel/internal/generic/ObjectType.java + src/share/classes/com/sun/org/apache/bcel/internal/generic/POP.java + src/share/classes/com/sun/org/apache/bcel/internal/generic/POP2.java + src/share/classes/com/sun/org/apache/bcel/internal/generic/PUSH.java + src/share/classes/com/sun/org/apache/bcel/internal/generic/PUTFIELD.java + src/share/classes/com/sun/org/apache/bcel/internal/generic/PUTSTATIC.java + src/share/classes/com/sun/org/apache/bcel/internal/generic/PopInstruction.java + src/share/classes/com/sun/org/apache/bcel/internal/generic/PushInstruction.java + src/share/classes/com/sun/org/apache/bcel/internal/generic/RET.java + src/share/classes/com/sun/org/apache/bcel/internal/generic/RETURN.java + src/share/classes/com/sun/org/apache/bcel/internal/generic/ReferenceType.java + src/share/classes/com/sun/org/apache/bcel/internal/generic/ReturnInstruction.java + src/share/classes/com/sun/org/apache/bcel/internal/generic/ReturnaddressType.java + src/share/classes/com/sun/org/apache/bcel/internal/generic/SALOAD.java + src/share/classes/com/sun/org/apache/bcel/internal/generic/SASTORE.java + src/share/classes/com/sun/org/apache/bcel/internal/generic/SIPUSH.java + src/share/classes/com/sun/org/apache/bcel/internal/generic/SWAP.java + src/share/classes/com/sun/org/apache/bcel/internal/generic/SWITCH.java + src/share/classes/com/sun/org/apache/bcel/internal/generic/Select.java + src/share/classes/com/sun/org/apache/bcel/internal/generic/StackConsumer.java + src/share/classes/com/sun/org/apache/bcel/internal/generic/StackInstruction.java + src/share/classes/com/sun/org/apache/bcel/internal/generic/StackProducer.java + src/share/classes/com/sun/org/apache/bcel/internal/generic/StoreInstruction.java + src/share/classes/com/sun/org/apache/bcel/internal/generic/TABLESWITCH.java + src/share/classes/com/sun/org/apache/bcel/internal/generic/TargetLostException.java + src/share/classes/com/sun/org/apache/bcel/internal/generic/Type.java + src/share/classes/com/sun/org/apache/bcel/internal/generic/TypedInstruction.java + src/share/classes/com/sun/org/apache/bcel/internal/generic/UnconditionalBranch.java + src/share/classes/com/sun/org/apache/bcel/internal/generic/VariableLengthInstruction.java + src/share/classes/com/sun/org/apache/bcel/internal/generic/Visitor.java + src/share/classes/com/sun/org/apache/bcel/internal/generic/package.html + src/share/classes/com/sun/org/apache/bcel/internal/package.html + src/share/classes/com/sun/org/apache/bcel/internal/util/AttributeHTML.java + src/share/classes/com/sun/org/apache/bcel/internal/util/BCELFactory.java + src/share/classes/com/sun/org/apache/bcel/internal/util/BCELifier.java + src/share/classes/com/sun/org/apache/bcel/internal/util/ByteSequence.java + src/share/classes/com/sun/org/apache/bcel/internal/util/Class2HTML.java + src/share/classes/com/sun/org/apache/bcel/internal/util/ClassLoader.java + src/share/classes/com/sun/org/apache/bcel/internal/util/ClassLoaderRepository.java + src/share/classes/com/sun/org/apache/bcel/internal/util/ClassPath.java + src/share/classes/com/sun/org/apache/bcel/internal/util/ClassQueue.java + src/share/classes/com/sun/org/apache/bcel/internal/util/ClassSet.java + src/share/classes/com/sun/org/apache/bcel/internal/util/ClassStack.java + src/share/classes/com/sun/org/apache/bcel/internal/util/ClassVector.java + src/share/classes/com/sun/org/apache/bcel/internal/util/CodeHTML.java + src/share/classes/com/sun/org/apache/bcel/internal/util/ConstantHTML.java + src/share/classes/com/sun/org/apache/bcel/internal/util/InstructionFinder.java + src/share/classes/com/sun/org/apache/bcel/internal/util/JavaWrapper.java + src/share/classes/com/sun/org/apache/bcel/internal/util/MethodHTML.java + src/share/classes/com/sun/org/apache/bcel/internal/util/Repository.java + src/share/classes/com/sun/org/apache/bcel/internal/util/SyntheticRepository.java + src/share/classes/com/sun/org/apache/bcel/internal/util/package.html + src/share/classes/com/sun/org/apache/regexp/internal/CharacterArrayCharacterIterator.java + src/share/classes/com/sun/org/apache/regexp/internal/CharacterIterator.java + src/share/classes/com/sun/org/apache/regexp/internal/RE.java + src/share/classes/com/sun/org/apache/regexp/internal/RECompiler.java + src/share/classes/com/sun/org/apache/regexp/internal/REDebugCompiler.java + src/share/classes/com/sun/org/apache/regexp/internal/REProgram.java + src/share/classes/com/sun/org/apache/regexp/internal/RESyntaxException.java + src/share/classes/com/sun/org/apache/regexp/internal/RETest.java + src/share/classes/com/sun/org/apache/regexp/internal/REUtil.java + src/share/classes/com/sun/org/apache/regexp/internal/ReaderCharacterIterator.java + src/share/classes/com/sun/org/apache/regexp/internal/StreamCharacterIterator.java + src/share/classes/com/sun/org/apache/regexp/internal/StringCharacterIterator.java + src/share/classes/com/sun/org/apache/regexp/internal/recompile.java + src/share/classes/com/sun/org/apache/xalan/META-INF/services/javax.xml.transform.TransformerFactory + src/share/classes/com/sun/org/apache/xalan/META-INF/services/javax.xml.xpath.XPathFactory + src/share/classes/com/sun/org/apache/xalan/META-INF/services/org.apache.xml.dtm.DTMManager + src/share/classes/com/sun/org/apache/xalan/internal/Version.java + src/share/classes/com/sun/org/apache/xalan/internal/extensions/ExpressionContext.java + src/share/classes/com/sun/org/apache/xalan/internal/extensions/package.html + src/share/classes/com/sun/org/apache/xalan/internal/lib/ExsltBase.java + src/share/classes/com/sun/org/apache/xalan/internal/lib/ExsltCommon.java + src/share/classes/com/sun/org/apache/xalan/internal/lib/ExsltDatetime.java + src/share/classes/com/sun/org/apache/xalan/internal/lib/ExsltDynamic.java + src/share/classes/com/sun/org/apache/xalan/internal/lib/ExsltMath.java + src/share/classes/com/sun/org/apache/xalan/internal/lib/ExsltSets.java + src/share/classes/com/sun/org/apache/xalan/internal/lib/ExsltStrings.java + src/share/classes/com/sun/org/apache/xalan/internal/lib/Extensions.java + src/share/classes/com/sun/org/apache/xalan/internal/lib/NodeInfo.java + src/share/classes/com/sun/org/apache/xalan/internal/lib/ObjectFactory.java + src/share/classes/com/sun/org/apache/xalan/internal/lib/SecuritySupport.java + src/share/classes/com/sun/org/apache/xalan/internal/lib/SecuritySupport12.java + src/share/classes/com/sun/org/apache/xalan/internal/lib/package.html + src/share/classes/com/sun/org/apache/xalan/internal/res/XSLMessages.java + src/share/classes/com/sun/org/apache/xalan/internal/res/XSLTErrorResources.java + src/share/classes/com/sun/org/apache/xalan/internal/res/XSLTErrorResources_de.java + src/share/classes/com/sun/org/apache/xalan/internal/res/XSLTErrorResources_en.java + src/share/classes/com/sun/org/apache/xalan/internal/res/XSLTErrorResources_es.java + src/share/classes/com/sun/org/apache/xalan/internal/res/XSLTErrorResources_fr.java + src/share/classes/com/sun/org/apache/xalan/internal/res/XSLTErrorResources_it.java + src/share/classes/com/sun/org/apache/xalan/internal/res/XSLTErrorResources_ja.java + src/share/classes/com/sun/org/apache/xalan/internal/res/XSLTErrorResources_ko.java + src/share/classes/com/sun/org/apache/xalan/internal/res/XSLTErrorResources_pt_BR.java + src/share/classes/com/sun/org/apache/xalan/internal/res/XSLTErrorResources_sv.java + src/share/classes/com/sun/org/apache/xalan/internal/res/XSLTErrorResources_zh_CN.java + src/share/classes/com/sun/org/apache/xalan/internal/res/XSLTErrorResources_zh_TW.java + src/share/classes/com/sun/org/apache/xalan/internal/res/XSLTInfo.properties + src/share/classes/com/sun/org/apache/xalan/internal/res/package.html + src/share/classes/com/sun/org/apache/xalan/internal/templates/Constants.java + src/share/classes/com/sun/org/apache/xalan/internal/templates/package.html + src/share/classes/com/sun/org/apache/xalan/internal/xslt/EnvironmentCheck.java + src/share/classes/com/sun/org/apache/xalan/internal/xslt/ObjectFactory.java + src/share/classes/com/sun/org/apache/xalan/internal/xslt/Process.java + src/share/classes/com/sun/org/apache/xalan/internal/xslt/SecuritySupport.java + src/share/classes/com/sun/org/apache/xalan/internal/xslt/SecuritySupport12.java + src/share/classes/com/sun/org/apache/xalan/internal/xslt/package.html + src/share/classes/com/sun/org/apache/xalan/internal/xsltc/CollatorFactory.java + src/share/classes/com/sun/org/apache/xalan/internal/xsltc/DOM.java + src/share/classes/com/sun/org/apache/xalan/internal/xsltc/DOMCache.java + src/share/classes/com/sun/org/apache/xalan/internal/xsltc/DOMEnhancedForDTM.java + src/share/classes/com/sun/org/apache/xalan/internal/xsltc/NodeIterator.java + src/share/classes/com/sun/org/apache/xalan/internal/xsltc/ProcessorVersion.java + src/share/classes/com/sun/org/apache/xalan/internal/xsltc/StripFilter.java + src/share/classes/com/sun/org/apache/xalan/internal/xsltc/Translet.java + src/share/classes/com/sun/org/apache/xalan/internal/xsltc/TransletException.java + src/share/classes/com/sun/org/apache/xalan/internal/xsltc/cmdline/Compile.java + src/share/classes/com/sun/org/apache/xalan/internal/xsltc/cmdline/ObjectFactory.java + src/share/classes/com/sun/org/apache/xalan/internal/xsltc/cmdline/SecuritySupport.java + src/share/classes/com/sun/org/apache/xalan/internal/xsltc/cmdline/SecuritySupport12.java + src/share/classes/com/sun/org/apache/xalan/internal/xsltc/cmdline/Transform.java + src/share/classes/com/sun/org/apache/xalan/internal/xsltc/cmdline/getopt/GetOpt.java + src/share/classes/com/sun/org/apache/xalan/internal/xsltc/cmdline/getopt/GetOptsException.java + src/share/classes/com/sun/org/apache/xalan/internal/xsltc/cmdline/getopt/IllegalArgumentException.java + src/share/classes/com/sun/org/apache/xalan/internal/xsltc/cmdline/getopt/MissingOptArgException.java + src/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/AbsoluteLocationPath.java + src/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/AbsolutePathPattern.java + src/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/AlternativePattern.java + src/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/AncestorPattern.java + src/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/ApplyImports.java + src/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/ApplyTemplates.java + src/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/ArgumentList.java + src/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/Attribute.java + src/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/AttributeSet.java + src/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/AttributeValue.java + src/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/AttributeValueTemplate.java + src/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/BinOpExpr.java + src/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/BooleanCall.java + src/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/BooleanExpr.java + src/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/CallTemplate.java + src/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/CastCall.java + src/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/CastExpr.java + src/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/CeilingCall.java + src/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/Choose.java + src/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/Closure.java + src/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/Comment.java + src/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/CompilerException.java + src/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/ConcatCall.java + src/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/Constants.java + src/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/ContainsCall.java + src/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/Copy.java + src/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/CopyOf.java + src/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/CurrentCall.java + src/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/DecimalFormatting.java + src/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/DocumentCall.java + src/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/ElementAvailableCall.java + src/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/EqualityExpr.java + src/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/Expression.java + src/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/Fallback.java + src/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/FilterExpr.java + src/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/FilterParentPath.java + src/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/FilteredAbsoluteLocationPath.java + src/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/FloorCall.java + src/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/FlowList.java + src/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/ForEach.java + src/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/FormatNumberCall.java + src/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/FunctionAvailableCall.java + src/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/FunctionCall.java + src/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/GenerateIdCall.java + src/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/IdKeyPattern.java + src/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/IdPattern.java + src/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/If.java + src/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/IllegalCharException.java + src/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/Import.java + src/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/Include.java + src/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/Instruction.java + src/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/IntExpr.java + src/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/Key.java + src/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/KeyCall.java + src/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/KeyPattern.java + src/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/LangCall.java + src/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/LastCall.java + src/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/LiteralAttribute.java + src/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/LiteralElement.java + src/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/LiteralExpr.java + src/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/LocalNameCall.java + src/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/LocationPathPattern.java + src/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/LogicalExpr.java + src/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/Makefile.inc + src/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/Message.java + src/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/Mode.java + src/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/NameBase.java + src/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/NameCall.java + src/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/NamespaceAlias.java + src/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/NamespaceUriCall.java + src/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/NodeTest.java + src/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/NotCall.java + src/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/Number.java + src/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/NumberCall.java + src/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/ObjectFactory.java + src/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/Otherwise.java + src/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/Output.java + src/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/Param.java + src/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/ParameterRef.java + src/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/ParentLocationPath.java + src/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/ParentPattern.java + src/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/Parser.java + src/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/Pattern.java + src/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/PositionCall.java + src/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/Predicate.java + src/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/ProcessingInstruction.java + src/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/ProcessingInstructionPattern.java + src/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/QName.java + src/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/RealExpr.java + src/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/RelationalExpr.java + src/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/RelativeLocationPath.java + src/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/RelativePathPattern.java + src/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/RoundCall.java + src/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/SecuritySupport.java + src/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/SecuritySupport12.java + src/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/SimpleAttributeValue.java + src/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/Sort.java + src/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/SourceLoader.java + src/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/StartsWithCall.java + src/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/Step.java + src/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/StepPattern.java + src/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/StringCall.java + src/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/StringLengthCall.java + src/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/Stylesheet.java + src/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/SymbolTable.java + src/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/SyntaxTreeNode.java + src/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/Template.java + src/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/TestSeq.java + src/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/Text.java + src/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/TopLevelElement.java + src/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/TransletOutput.java + src/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/UnaryOpExpr.java + src/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/UnionPathExpr.java + src/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/UnparsedEntityUriCall.java + src/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/UnresolvedRef.java + src/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/UnsupportedElement.java + src/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/UseAttributeSets.java + src/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/ValueOf.java + src/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/Variable.java + src/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/VariableBase.java + src/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/VariableRef.java + src/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/VariableRefBase.java + src/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/When.java + src/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/Whitespace.java + src/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/WithParam.java + src/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/XPathLexer.java + src/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/XPathParser.java + src/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/XSLTC.java + src/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/XslAttribute.java + src/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/XslElement.java + src/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/sym.java + src/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/util/AttributeSetMethodGenerator.java + src/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/util/BooleanType.java + src/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/util/ClassGenerator.java + src/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/util/CompareGenerator.java + src/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/util/ErrorMessages.java + src/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/util/ErrorMessages_ca.java + src/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/util/ErrorMessages_cs.java + src/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/util/ErrorMessages_de.java + src/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/util/ErrorMessages_es.java + src/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/util/ErrorMessages_fr.java + src/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/util/ErrorMessages_it.java + src/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/util/ErrorMessages_ja.java + src/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/util/ErrorMessages_ko.java + src/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/util/ErrorMessages_pt_BR.java + src/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/util/ErrorMessages_sk.java + src/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/util/ErrorMessages_sv.java + src/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/util/ErrorMessages_zh_CN.java + src/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/util/ErrorMessages_zh_TW.java + src/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/util/ErrorMsg.java + src/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/util/FilterGenerator.java + src/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/util/IntType.java + src/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/util/MatchGenerator.java + src/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/util/MethodGenerator.java + src/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/util/MethodType.java + src/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/util/MultiHashtable.java + src/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/util/NamedMethodGenerator.java + src/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/util/NodeCounterGenerator.java + src/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/util/NodeSetType.java + src/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/util/NodeSortRecordFactGenerator.java + src/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/util/NodeSortRecordGenerator.java + src/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/util/NodeType.java + src/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/util/NumberType.java + src/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/util/ObjectFactory.java + src/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/util/ObjectType.java + src/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/util/RealType.java + src/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/util/ReferenceType.java + src/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/util/ResultTreeType.java + src/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/util/RtMethodGenerator.java + src/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/util/SecuritySupport.java + src/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/util/SecuritySupport12.java + src/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/util/SlotAllocator.java + src/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/util/StringStack.java + src/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/util/StringType.java + src/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/util/TestGenerator.java + src/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/util/Type.java + src/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/util/TypeCheckError.java + src/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/util/Util.java + src/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/util/VoidType.java + src/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/xpath.cup + src/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/xpath.lex + src/share/classes/com/sun/org/apache/xalan/internal/xsltc/dom/AbsoluteIterator.java + src/share/classes/com/sun/org/apache/xalan/internal/xsltc/dom/AdaptiveResultTreeImpl.java + src/share/classes/com/sun/org/apache/xalan/internal/xsltc/dom/AnyNodeCounter.java + src/share/classes/com/sun/org/apache/xalan/internal/xsltc/dom/BitArray.java + src/share/classes/com/sun/org/apache/xalan/internal/xsltc/dom/CachedNodeListIterator.java + src/share/classes/com/sun/org/apache/xalan/internal/xsltc/dom/ClonedNodeListIterator.java + src/share/classes/com/sun/org/apache/xalan/internal/xsltc/dom/CollatorFactoryBase.java + src/share/classes/com/sun/org/apache/xalan/internal/xsltc/dom/CurrentNodeListFilter.java + src/share/classes/com/sun/org/apache/xalan/internal/xsltc/dom/CurrentNodeListIterator.java + src/share/classes/com/sun/org/apache/xalan/internal/xsltc/dom/DOMAdapter.java + src/share/classes/com/sun/org/apache/xalan/internal/xsltc/dom/DOMBuilder.java + src/share/classes/com/sun/org/apache/xalan/internal/xsltc/dom/DOMWSFilter.java + src/share/classes/com/sun/org/apache/xalan/internal/xsltc/dom/DocumentCache.java + src/share/classes/com/sun/org/apache/xalan/internal/xsltc/dom/DupFilterIterator.java + src/share/classes/com/sun/org/apache/xalan/internal/xsltc/dom/EmptyFilter.java + src/share/classes/com/sun/org/apache/xalan/internal/xsltc/dom/ExtendedSAX.java + src/share/classes/com/sun/org/apache/xalan/internal/xsltc/dom/Filter.java + src/share/classes/com/sun/org/apache/xalan/internal/xsltc/dom/FilterIterator.java + src/share/classes/com/sun/org/apache/xalan/internal/xsltc/dom/FilteredStepIterator.java + src/share/classes/com/sun/org/apache/xalan/internal/xsltc/dom/ForwardPositionIterator.java + src/share/classes/com/sun/org/apache/xalan/internal/xsltc/dom/KeyIndex.java + src/share/classes/com/sun/org/apache/xalan/internal/xsltc/dom/LoadDocument.java + src/share/classes/com/sun/org/apache/xalan/internal/xsltc/dom/MatchingIterator.java + src/share/classes/com/sun/org/apache/xalan/internal/xsltc/dom/MultiDOM.java + src/share/classes/com/sun/org/apache/xalan/internal/xsltc/dom/MultiValuedNodeHeapIterator.java + src/share/classes/com/sun/org/apache/xalan/internal/xsltc/dom/MultipleNodeCounter.java + src/share/classes/com/sun/org/apache/xalan/internal/xsltc/dom/NodeCounter.java + src/share/classes/com/sun/org/apache/xalan/internal/xsltc/dom/NodeIteratorBase.java + src/share/classes/com/sun/org/apache/xalan/internal/xsltc/dom/NodeSortRecord.java + src/share/classes/com/sun/org/apache/xalan/internal/xsltc/dom/NodeSortRecordFactory.java + src/share/classes/com/sun/org/apache/xalan/internal/xsltc/dom/NthIterator.java + src/share/classes/com/sun/org/apache/xalan/internal/xsltc/dom/ObjectFactory.java + src/share/classes/com/sun/org/apache/xalan/internal/xsltc/dom/SAXImpl.java + src/share/classes/com/sun/org/apache/xalan/internal/xsltc/dom/SecuritySupport.java + src/share/classes/com/sun/org/apache/xalan/internal/xsltc/dom/SecuritySupport12.java + src/share/classes/com/sun/org/apache/xalan/internal/xsltc/dom/SimpleResultTreeImpl.java + src/share/classes/com/sun/org/apache/xalan/internal/xsltc/dom/SingleNodeCounter.java + src/share/classes/com/sun/org/apache/xalan/internal/xsltc/dom/SingletonIterator.java + src/share/classes/com/sun/org/apache/xalan/internal/xsltc/dom/SortSettings.java + src/share/classes/com/sun/org/apache/xalan/internal/xsltc/dom/SortingIterator.java + src/share/classes/com/sun/org/apache/xalan/internal/xsltc/dom/StepIterator.java + src/share/classes/com/sun/org/apache/xalan/internal/xsltc/dom/StripWhitespaceFilter.java + src/share/classes/com/sun/org/apache/xalan/internal/xsltc/dom/UnionIterator.java + src/share/classes/com/sun/org/apache/xalan/internal/xsltc/dom/XSLTCDTMManager.java + src/share/classes/com/sun/org/apache/xalan/internal/xsltc/javax.xml.transform.TransformerFactory + src/share/classes/com/sun/org/apache/xalan/internal/xsltc/runtime/AbstractTranslet.java + src/share/classes/com/sun/org/apache/xalan/internal/xsltc/runtime/Attributes.java + src/share/classes/com/sun/org/apache/xalan/internal/xsltc/runtime/BasisLibrary.java + src/share/classes/com/sun/org/apache/xalan/internal/xsltc/runtime/Constants.java + src/share/classes/com/sun/org/apache/xalan/internal/xsltc/runtime/ErrorMessages.java + src/share/classes/com/sun/org/apache/xalan/internal/xsltc/runtime/ErrorMessages_ca.java + src/share/classes/com/sun/org/apache/xalan/internal/xsltc/runtime/ErrorMessages_cs.java + src/share/classes/com/sun/org/apache/xalan/internal/xsltc/runtime/ErrorMessages_de.java + src/share/classes/com/sun/org/apache/xalan/internal/xsltc/runtime/ErrorMessages_es.java + src/share/classes/com/sun/org/apache/xalan/internal/xsltc/runtime/ErrorMessages_fr.java + src/share/classes/com/sun/org/apache/xalan/internal/xsltc/runtime/ErrorMessages_it.java + src/share/classes/com/sun/org/apache/xalan/internal/xsltc/runtime/ErrorMessages_ja.java + src/share/classes/com/sun/org/apache/xalan/internal/xsltc/runtime/ErrorMessages_ko.java + src/share/classes/com/sun/org/apache/xalan/internal/xsltc/runtime/ErrorMessages_pt_BR.java + src/share/classes/com/sun/org/apache/xalan/internal/xsltc/runtime/ErrorMessages_sk.java + src/share/classes/com/sun/org/apache/xalan/internal/xsltc/runtime/ErrorMessages_sv.java + src/share/classes/com/sun/org/apache/xalan/internal/xsltc/runtime/ErrorMessages_zh_CN.java + src/share/classes/com/sun/org/apache/xalan/internal/xsltc/runtime/ErrorMessages_zh_TW.java + src/share/classes/com/sun/org/apache/xalan/internal/xsltc/runtime/Hashtable.java + src/share/classes/com/sun/org/apache/xalan/internal/xsltc/runtime/MessageHandler.java + src/share/classes/com/sun/org/apache/xalan/internal/xsltc/runtime/Node.java + src/share/classes/com/sun/org/apache/xalan/internal/xsltc/runtime/ObjectFactory.java + src/share/classes/com/sun/org/apache/xalan/internal/xsltc/runtime/Operators.java + src/share/classes/com/sun/org/apache/xalan/internal/xsltc/runtime/Parameter.java + src/share/classes/com/sun/org/apache/xalan/internal/xsltc/runtime/SecuritySupport.java + src/share/classes/com/sun/org/apache/xalan/internal/xsltc/runtime/SecuritySupport12.java + src/share/classes/com/sun/org/apache/xalan/internal/xsltc/runtime/StringValueHandler.java + src/share/classes/com/sun/org/apache/xalan/internal/xsltc/runtime/output/OutputBuffer.java + src/share/classes/com/sun/org/apache/xalan/internal/xsltc/runtime/output/StringOutputBuffer.java + src/share/classes/com/sun/org/apache/xalan/internal/xsltc/runtime/output/TransletOutputHandlerFactory.java + src/share/classes/com/sun/org/apache/xalan/internal/xsltc/runtime/output/WriterOutputBuffer.java + src/share/classes/com/sun/org/apache/xalan/internal/xsltc/trax/DOM2SAX.java + src/share/classes/com/sun/org/apache/xalan/internal/xsltc/trax/DOM2TO.java + src/share/classes/com/sun/org/apache/xalan/internal/xsltc/trax/ObjectFactory.java + src/share/classes/com/sun/org/apache/xalan/internal/xsltc/trax/OutputSettings.java + src/share/classes/com/sun/org/apache/xalan/internal/xsltc/trax/SAX2DOM.java + src/share/classes/com/sun/org/apache/xalan/internal/xsltc/trax/SAX2StAXBaseWriter.java + src/share/classes/com/sun/org/apache/xalan/internal/xsltc/trax/SAX2StAXEventWriter.java + src/share/classes/com/sun/org/apache/xalan/internal/xsltc/trax/SAX2StAXStreamWriter.java + src/share/classes/com/sun/org/apache/xalan/internal/xsltc/trax/SecuritySupport.java + src/share/classes/com/sun/org/apache/xalan/internal/xsltc/trax/SecuritySupport12.java + src/share/classes/com/sun/org/apache/xalan/internal/xsltc/trax/SmartTransformerFactoryImpl.java + src/share/classes/com/sun/org/apache/xalan/internal/xsltc/trax/StAXEvent2SAX.java + src/share/classes/com/sun/org/apache/xalan/internal/xsltc/trax/StAXStream2SAX.java + src/share/classes/com/sun/org/apache/xalan/internal/xsltc/trax/TemplatesHandlerImpl.java + src/share/classes/com/sun/org/apache/xalan/internal/xsltc/trax/TemplatesImpl.java + src/share/classes/com/sun/org/apache/xalan/internal/xsltc/trax/TrAXFilter.java + src/share/classes/com/sun/org/apache/xalan/internal/xsltc/trax/TransformerFactoryImpl.java + src/share/classes/com/sun/org/apache/xalan/internal/xsltc/trax/TransformerHandlerImpl.java + src/share/classes/com/sun/org/apache/xalan/internal/xsltc/trax/TransformerImpl.java + src/share/classes/com/sun/org/apache/xalan/internal/xsltc/trax/Util.java + src/share/classes/com/sun/org/apache/xalan/internal/xsltc/trax/XSLTCSource.java + src/share/classes/com/sun/org/apache/xalan/internal/xsltc/util/IntegerArray.java + src/share/classes/com/sun/org/apache/xerces/internal/dom/AttrImpl.java + src/share/classes/com/sun/org/apache/xerces/internal/dom/AttrNSImpl.java + src/share/classes/com/sun/org/apache/xerces/internal/dom/AttributeMap.java + src/share/classes/com/sun/org/apache/xerces/internal/dom/CDATASectionImpl.java + src/share/classes/com/sun/org/apache/xerces/internal/dom/CharacterDataImpl.java + src/share/classes/com/sun/org/apache/xerces/internal/dom/ChildNode.java + src/share/classes/com/sun/org/apache/xerces/internal/dom/CommentImpl.java + src/share/classes/com/sun/org/apache/xerces/internal/dom/CoreDOMImplementationImpl.java + src/share/classes/com/sun/org/apache/xerces/internal/dom/CoreDocumentImpl.java + src/share/classes/com/sun/org/apache/xerces/internal/dom/DOMConfigurationImpl.java + src/share/classes/com/sun/org/apache/xerces/internal/dom/DOMErrorImpl.java + src/share/classes/com/sun/org/apache/xerces/internal/dom/DOMImplementationImpl.java + src/share/classes/com/sun/org/apache/xerces/internal/dom/DOMImplementationListImpl.java + src/share/classes/com/sun/org/apache/xerces/internal/dom/DOMImplementationSourceImpl.java + src/share/classes/com/sun/org/apache/xerces/internal/dom/DOMInputImpl.java + src/share/classes/com/sun/org/apache/xerces/internal/dom/DOMLocatorImpl.java + src/share/classes/com/sun/org/apache/xerces/internal/dom/DOMMessageFormatter.java + src/share/classes/com/sun/org/apache/xerces/internal/dom/DOMNormalizer.java + src/share/classes/com/sun/org/apache/xerces/internal/dom/DOMOutputImpl.java + src/share/classes/com/sun/org/apache/xerces/internal/dom/DOMStringListImpl.java + src/share/classes/com/sun/org/apache/xerces/internal/dom/DOMXSImplementationSourceImpl.java + src/share/classes/com/sun/org/apache/xerces/internal/dom/DeepNodeListImpl.java + src/share/classes/com/sun/org/apache/xerces/internal/dom/DeferredAttrImpl.java + src/share/classes/com/sun/org/apache/xerces/internal/dom/DeferredAttrNSImpl.java + src/share/classes/com/sun/org/apache/xerces/internal/dom/DeferredCDATASectionImpl.java + src/share/classes/com/sun/org/apache/xerces/internal/dom/DeferredCommentImpl.java + src/share/classes/com/sun/org/apache/xerces/internal/dom/DeferredDOMImplementationImpl.java + src/share/classes/com/sun/org/apache/xerces/internal/dom/DeferredDocumentImpl.java + src/share/classes/com/sun/org/apache/xerces/internal/dom/DeferredDocumentTypeImpl.java + src/share/classes/com/sun/org/apache/xerces/internal/dom/DeferredElementDefinitionImpl.java + src/share/classes/com/sun/org/apache/xerces/internal/dom/DeferredElementImpl.java + src/share/classes/com/sun/org/apache/xerces/internal/dom/DeferredElementNSImpl.java + src/share/classes/com/sun/org/apache/xerces/internal/dom/DeferredEntityImpl.java + src/share/classes/com/sun/org/apache/xerces/internal/dom/DeferredEntityReferenceImpl.java + src/share/classes/com/sun/org/apache/xerces/internal/dom/DeferredNode.java + src/share/classes/com/sun/org/apache/xerces/internal/dom/DeferredNotationImpl.java + src/share/classes/com/sun/org/apache/xerces/internal/dom/DeferredProcessingInstructionImpl.java + src/share/classes/com/sun/org/apache/xerces/internal/dom/DeferredTextImpl.java + src/share/classes/com/sun/org/apache/xerces/internal/dom/DocumentFragmentImpl.java + src/share/classes/com/sun/org/apache/xerces/internal/dom/DocumentImpl.java + src/share/classes/com/sun/org/apache/xerces/internal/dom/DocumentTypeImpl.java + src/share/classes/com/sun/org/apache/xerces/internal/dom/ElementDefinitionImpl.java + src/share/classes/com/sun/org/apache/xerces/internal/dom/ElementImpl.java + src/share/classes/com/sun/org/apache/xerces/internal/dom/ElementNSImpl.java + src/share/classes/com/sun/org/apache/xerces/internal/dom/EntityImpl.java + src/share/classes/com/sun/org/apache/xerces/internal/dom/EntityReferenceImpl.java + src/share/classes/com/sun/org/apache/xerces/internal/dom/LCount.java + src/share/classes/com/sun/org/apache/xerces/internal/dom/NamedNodeMapImpl.java + src/share/classes/com/sun/org/apache/xerces/internal/dom/NodeImpl.java + src/share/classes/com/sun/org/apache/xerces/internal/dom/NodeIteratorImpl.java + src/share/classes/com/sun/org/apache/xerces/internal/dom/NodeListCache.java + src/share/classes/com/sun/org/apache/xerces/internal/dom/NotationImpl.java + src/share/classes/com/sun/org/apache/xerces/internal/dom/ObjectFactory.java + src/share/classes/com/sun/org/apache/xerces/internal/dom/PSVIAttrNSImpl.java + src/share/classes/com/sun/org/apache/xerces/internal/dom/PSVIDOMImplementationImpl.java + src/share/classes/com/sun/org/apache/xerces/internal/dom/PSVIDocumentImpl.java + src/share/classes/com/sun/org/apache/xerces/internal/dom/PSVIElementNSImpl.java + src/share/classes/com/sun/org/apache/xerces/internal/dom/ParentNode.java + src/share/classes/com/sun/org/apache/xerces/internal/dom/ProcessingInstructionImpl.java + src/share/classes/com/sun/org/apache/xerces/internal/dom/RangeExceptionImpl.java + src/share/classes/com/sun/org/apache/xerces/internal/dom/RangeImpl.java + src/share/classes/com/sun/org/apache/xerces/internal/dom/SecuritySupport.java + src/share/classes/com/sun/org/apache/xerces/internal/dom/TextImpl.java + src/share/classes/com/sun/org/apache/xerces/internal/dom/TreeWalkerImpl.java + src/share/classes/com/sun/org/apache/xerces/internal/dom/events/EventImpl.java + src/share/classes/com/sun/org/apache/xerces/internal/dom/events/MutationEventImpl.java + src/share/classes/com/sun/org/apache/xerces/internal/dom/org.apache.xerces.dom.DOMImplementationSourceImpl + src/share/classes/com/sun/org/apache/xerces/internal/dom/org.w3c.dom.DOMImplementationSourceList + src/share/classes/com/sun/org/apache/xerces/internal/impl/Constants.java + src/share/classes/com/sun/org/apache/xerces/internal/impl/ExternalSubsetResolver.java + src/share/classes/com/sun/org/apache/xerces/internal/impl/PropertyManager.java + src/share/classes/com/sun/org/apache/xerces/internal/impl/RevalidationHandler.java + src/share/classes/com/sun/org/apache/xerces/internal/impl/Version.java + src/share/classes/com/sun/org/apache/xerces/internal/impl/XML11DTDScannerImpl.java + src/share/classes/com/sun/org/apache/xerces/internal/impl/XML11DocumentScannerImpl.java + src/share/classes/com/sun/org/apache/xerces/internal/impl/XML11EntityScanner.java + src/share/classes/com/sun/org/apache/xerces/internal/impl/XML11NSDocumentScannerImpl.java + src/share/classes/com/sun/org/apache/xerces/internal/impl/XML11NamespaceBinder.java + src/share/classes/com/sun/org/apache/xerces/internal/impl/XMLDTDScannerImpl.java + src/share/classes/com/sun/org/apache/xerces/internal/impl/XMLDocumentFragmentScannerImpl.java + src/share/classes/com/sun/org/apache/xerces/internal/impl/XMLDocumentScannerImpl.java + src/share/classes/com/sun/org/apache/xerces/internal/impl/XMLEntityDescription.java + src/share/classes/com/sun/org/apache/xerces/internal/impl/XMLEntityHandler.java + src/share/classes/com/sun/org/apache/xerces/internal/impl/XMLEntityManager.java + src/share/classes/com/sun/org/apache/xerces/internal/impl/XMLEntityScanner.java + src/share/classes/com/sun/org/apache/xerces/internal/impl/XMLErrorReporter.java + src/share/classes/com/sun/org/apache/xerces/internal/impl/XMLNSDocumentScannerImpl.java + src/share/classes/com/sun/org/apache/xerces/internal/impl/XMLNamespaceBinder.java + src/share/classes/com/sun/org/apache/xerces/internal/impl/XMLScanner.java + src/share/classes/com/sun/org/apache/xerces/internal/impl/XMLStreamFilterImpl.java + src/share/classes/com/sun/org/apache/xerces/internal/impl/XMLStreamReaderImpl.java + src/share/classes/com/sun/org/apache/xerces/internal/impl/XMLVersionDetector.java + src/share/classes/com/sun/org/apache/xerces/internal/impl/dtd/BalancedDTDGrammar.java + src/share/classes/com/sun/org/apache/xerces/internal/impl/dtd/DTDGrammar.java + src/share/classes/com/sun/org/apache/xerces/internal/impl/dtd/DTDGrammarBucket.java + src/share/classes/com/sun/org/apache/xerces/internal/impl/dtd/XML11DTDProcessor.java + src/share/classes/com/sun/org/apache/xerces/internal/impl/dtd/XML11DTDValidator.java + src/share/classes/com/sun/org/apache/xerces/internal/impl/dtd/XML11NSDTDValidator.java + src/share/classes/com/sun/org/apache/xerces/internal/impl/dtd/XMLAttributeDecl.java + src/share/classes/com/sun/org/apache/xerces/internal/impl/dtd/XMLContentSpec.java + src/share/classes/com/sun/org/apache/xerces/internal/impl/dtd/XMLDTDDescription.java + src/share/classes/com/sun/org/apache/xerces/internal/impl/dtd/XMLDTDLoader.java + src/share/classes/com/sun/org/apache/xerces/internal/impl/dtd/XMLDTDProcessor.java + src/share/classes/com/sun/org/apache/xerces/internal/impl/dtd/XMLDTDValidator.java + src/share/classes/com/sun/org/apache/xerces/internal/impl/dtd/XMLDTDValidatorFilter.java + src/share/classes/com/sun/org/apache/xerces/internal/impl/dtd/XMLElementDecl.java + src/share/classes/com/sun/org/apache/xerces/internal/impl/dtd/XMLEntityDecl.java + src/share/classes/com/sun/org/apache/xerces/internal/impl/dtd/XMLNSDTDValidator.java + src/share/classes/com/sun/org/apache/xerces/internal/impl/dtd/XMLNotationDecl.java + src/share/classes/com/sun/org/apache/xerces/internal/impl/dtd/XMLSimpleType.java + src/share/classes/com/sun/org/apache/xerces/internal/impl/dtd/models/CMAny.java + src/share/classes/com/sun/org/apache/xerces/internal/impl/dtd/models/CMBinOp.java + src/share/classes/com/sun/org/apache/xerces/internal/impl/dtd/models/CMLeaf.java + src/share/classes/com/sun/org/apache/xerces/internal/impl/dtd/models/CMNode.java + src/share/classes/com/sun/org/apache/xerces/internal/impl/dtd/models/CMStateSet.java + src/share/classes/com/sun/org/apache/xerces/internal/impl/dtd/models/CMUniOp.java + src/share/classes/com/sun/org/apache/xerces/internal/impl/dtd/models/ContentModelValidator.java + src/share/classes/com/sun/org/apache/xerces/internal/impl/dtd/models/DFAContentModel.java + src/share/classes/com/sun/org/apache/xerces/internal/impl/dtd/models/MixedContentModel.java + src/share/classes/com/sun/org/apache/xerces/internal/impl/dtd/models/SimpleContentModel.java + src/share/classes/com/sun/org/apache/xerces/internal/impl/dv/DTDDVFactory.java + src/share/classes/com/sun/org/apache/xerces/internal/impl/dv/DVFactoryException.java + src/share/classes/com/sun/org/apache/xerces/internal/impl/dv/DatatypeException.java + src/share/classes/com/sun/org/apache/xerces/internal/impl/dv/DatatypeValidator.java + src/share/classes/com/sun/org/apache/xerces/internal/impl/dv/InvalidDatatypeFacetException.java + src/share/classes/com/sun/org/apache/xerces/internal/impl/dv/InvalidDatatypeValueException.java + src/share/classes/com/sun/org/apache/xerces/internal/impl/dv/ObjectFactory.java + src/share/classes/com/sun/org/apache/xerces/internal/impl/dv/SchemaDVFactory.java + src/share/classes/com/sun/org/apache/xerces/internal/impl/dv/SecuritySupport.java + src/share/classes/com/sun/org/apache/xerces/internal/impl/dv/ValidatedInfo.java + src/share/classes/com/sun/org/apache/xerces/internal/impl/dv/ValidationContext.java + src/share/classes/com/sun/org/apache/xerces/internal/impl/dv/XSFacets.java + src/share/classes/com/sun/org/apache/xerces/internal/impl/dv/XSSimpleType.java + src/share/classes/com/sun/org/apache/xerces/internal/impl/dv/dtd/DTDDVFactoryImpl.java + src/share/classes/com/sun/org/apache/xerces/internal/impl/dv/dtd/ENTITYDatatypeValidator.java + src/share/classes/com/sun/org/apache/xerces/internal/impl/dv/dtd/IDDatatypeValidator.java + src/share/classes/com/sun/org/apache/xerces/internal/impl/dv/dtd/IDREFDatatypeValidator.java + src/share/classes/com/sun/org/apache/xerces/internal/impl/dv/dtd/ListDatatypeValidator.java + src/share/classes/com/sun/org/apache/xerces/internal/impl/dv/dtd/NMTOKENDatatypeValidator.java + src/share/classes/com/sun/org/apache/xerces/internal/impl/dv/dtd/NOTATIONDatatypeValidator.java + src/share/classes/com/sun/org/apache/xerces/internal/impl/dv/dtd/StringDatatypeValidator.java + src/share/classes/com/sun/org/apache/xerces/internal/impl/dv/dtd/XML11DTDDVFactoryImpl.java + src/share/classes/com/sun/org/apache/xerces/internal/impl/dv/dtd/XML11IDDatatypeValidator.java + src/share/classes/com/sun/org/apache/xerces/internal/impl/dv/dtd/XML11IDREFDatatypeValidator.java + src/share/classes/com/sun/org/apache/xerces/internal/impl/dv/dtd/XML11NMTOKENDatatypeValidator.java + src/share/classes/com/sun/org/apache/xerces/internal/impl/dv/util/Base64.java + src/share/classes/com/sun/org/apache/xerces/internal/impl/dv/util/ByteListImpl.java + src/share/classes/com/sun/org/apache/xerces/internal/impl/dv/util/HexBin.java + src/share/classes/com/sun/org/apache/xerces/internal/impl/dv/xs/AbstractDateTimeDV.java + src/share/classes/com/sun/org/apache/xerces/internal/impl/dv/xs/AnyAtomicDV.java + src/share/classes/com/sun/org/apache/xerces/internal/impl/dv/xs/AnySimpleDV.java + src/share/classes/com/sun/org/apache/xerces/internal/impl/dv/xs/AnyURIDV.java + src/share/classes/com/sun/org/apache/xerces/internal/impl/dv/xs/Base64BinaryDV.java + src/share/classes/com/sun/org/apache/xerces/internal/impl/dv/xs/BaseDVFactory.java + src/share/classes/com/sun/org/apache/xerces/internal/impl/dv/xs/BaseSchemaDVFactory.java + src/share/classes/com/sun/org/apache/xerces/internal/impl/dv/xs/BooleanDV.java + src/share/classes/com/sun/org/apache/xerces/internal/impl/dv/xs/DateDV.java + src/share/classes/com/sun/org/apache/xerces/internal/impl/dv/xs/DateTimeDV.java + src/share/classes/com/sun/org/apache/xerces/internal/impl/dv/xs/DayDV.java + src/share/classes/com/sun/org/apache/xerces/internal/impl/dv/xs/DayTimeDurationDV.java + src/share/classes/com/sun/org/apache/xerces/internal/impl/dv/xs/DecimalDV.java + src/share/classes/com/sun/org/apache/xerces/internal/impl/dv/xs/DoubleDV.java + src/share/classes/com/sun/org/apache/xerces/internal/impl/dv/xs/DurationDV.java + src/share/classes/com/sun/org/apache/xerces/internal/impl/dv/xs/EntityDV.java + src/share/classes/com/sun/org/apache/xerces/internal/impl/dv/xs/ExtendedSchemaDVFactoryImpl.java + src/share/classes/com/sun/org/apache/xerces/internal/impl/dv/xs/FloatDV.java + src/share/classes/com/sun/org/apache/xerces/internal/impl/dv/xs/FullDVFactory.java + src/share/classes/com/sun/org/apache/xerces/internal/impl/dv/xs/HexBinaryDV.java + src/share/classes/com/sun/org/apache/xerces/internal/impl/dv/xs/IDDV.java + src/share/classes/com/sun/org/apache/xerces/internal/impl/dv/xs/IDREFDV.java + src/share/classes/com/sun/org/apache/xerces/internal/impl/dv/xs/IntegerDV.java + src/share/classes/com/sun/org/apache/xerces/internal/impl/dv/xs/ListDV.java + src/share/classes/com/sun/org/apache/xerces/internal/impl/dv/xs/MonthDV.java + src/share/classes/com/sun/org/apache/xerces/internal/impl/dv/xs/MonthDayDV.java + src/share/classes/com/sun/org/apache/xerces/internal/impl/dv/xs/PrecisionDecimalDV.java + src/share/classes/com/sun/org/apache/xerces/internal/impl/dv/xs/QNameDV.java + src/share/classes/com/sun/org/apache/xerces/internal/impl/dv/xs/SchemaDVFactoryImpl.java + src/share/classes/com/sun/org/apache/xerces/internal/impl/dv/xs/SchemaDateTimeException.java + src/share/classes/com/sun/org/apache/xerces/internal/impl/dv/xs/StringDV.java + src/share/classes/com/sun/org/apache/xerces/internal/impl/dv/xs/TimeDV.java + src/share/classes/com/sun/org/apache/xerces/internal/impl/dv/xs/TypeValidator.java + src/share/classes/com/sun/org/apache/xerces/internal/impl/dv/xs/UnionDV.java + src/share/classes/com/sun/org/apache/xerces/internal/impl/dv/xs/XSSimpleTypeDecl.java + src/share/classes/com/sun/org/apache/xerces/internal/impl/dv/xs/XSSimpleTypeDelegate.java + src/share/classes/com/sun/org/apache/xerces/internal/impl/dv/xs/YearDV.java + src/share/classes/com/sun/org/apache/xerces/internal/impl/dv/xs/YearMonthDV.java + src/share/classes/com/sun/org/apache/xerces/internal/impl/dv/xs/YearMonthDurationDV.java + src/share/classes/com/sun/org/apache/xerces/internal/impl/io/ASCIIReader.java + src/share/classes/com/sun/org/apache/xerces/internal/impl/io/MalformedByteSequenceException.java + src/share/classes/com/sun/org/apache/xerces/internal/impl/io/UCSReader.java + src/share/classes/com/sun/org/apache/xerces/internal/impl/io/UTF8Reader.java + src/share/classes/com/sun/org/apache/xerces/internal/impl/msg/DOMMessages.properties + src/share/classes/com/sun/org/apache/xerces/internal/impl/msg/DOMMessages_de.properties + src/share/classes/com/sun/org/apache/xerces/internal/impl/msg/DOMMessages_es.properties + src/share/classes/com/sun/org/apache/xerces/internal/impl/msg/DOMMessages_fr.properties + src/share/classes/com/sun/org/apache/xerces/internal/impl/msg/DOMMessages_it.properties + src/share/classes/com/sun/org/apache/xerces/internal/impl/msg/DOMMessages_ja.properties + src/share/classes/com/sun/org/apache/xerces/internal/impl/msg/DOMMessages_ko.properties + src/share/classes/com/sun/org/apache/xerces/internal/impl/msg/DOMMessages_pt_BR.properties + src/share/classes/com/sun/org/apache/xerces/internal/impl/msg/DOMMessages_sv.properties + src/share/classes/com/sun/org/apache/xerces/internal/impl/msg/DOMMessages_zh_CN.properties + src/share/classes/com/sun/org/apache/xerces/internal/impl/msg/DOMMessages_zh_TW.properties + src/share/classes/com/sun/org/apache/xerces/internal/impl/msg/DatatypeMessages.properties + src/share/classes/com/sun/org/apache/xerces/internal/impl/msg/DatatypeMessages_de.properties + src/share/classes/com/sun/org/apache/xerces/internal/impl/msg/DatatypeMessages_es.properties + src/share/classes/com/sun/org/apache/xerces/internal/impl/msg/DatatypeMessages_fr.properties + src/share/classes/com/sun/org/apache/xerces/internal/impl/msg/DatatypeMessages_it.properties + src/share/classes/com/sun/org/apache/xerces/internal/impl/msg/DatatypeMessages_ja.properties + src/share/classes/com/sun/org/apache/xerces/internal/impl/msg/DatatypeMessages_ko.properties + src/share/classes/com/sun/org/apache/xerces/internal/impl/msg/DatatypeMessages_pt_BR.properties + src/share/classes/com/sun/org/apache/xerces/internal/impl/msg/DatatypeMessages_sv.properties + src/share/classes/com/sun/org/apache/xerces/internal/impl/msg/DatatypeMessages_zh_CN.properties + src/share/classes/com/sun/org/apache/xerces/internal/impl/msg/DatatypeMessages_zh_TW.properties + src/share/classes/com/sun/org/apache/xerces/internal/impl/msg/JAXPValidationMessages.properties + src/share/classes/com/sun/org/apache/xerces/internal/impl/msg/JAXPValidationMessages_de.properties + src/share/classes/com/sun/org/apache/xerces/internal/impl/msg/JAXPValidationMessages_es.properties + src/share/classes/com/sun/org/apache/xerces/internal/impl/msg/JAXPValidationMessages_fr.properties + src/share/classes/com/sun/org/apache/xerces/internal/impl/msg/JAXPValidationMessages_it.properties + src/share/classes/com/sun/org/apache/xerces/internal/impl/msg/JAXPValidationMessages_ja.properties + src/share/classes/com/sun/org/apache/xerces/internal/impl/msg/JAXPValidationMessages_ko.properties + src/share/classes/com/sun/org/apache/xerces/internal/impl/msg/JAXPValidationMessages_pt_BR.properties + src/share/classes/com/sun/org/apache/xerces/internal/impl/msg/JAXPValidationMessages_sv.properties + src/share/classes/com/sun/org/apache/xerces/internal/impl/msg/JAXPValidationMessages_zh_CN.properties + src/share/classes/com/sun/org/apache/xerces/internal/impl/msg/JAXPValidationMessages_zh_TW.properties + src/share/classes/com/sun/org/apache/xerces/internal/impl/msg/SAXMessages.properties + src/share/classes/com/sun/org/apache/xerces/internal/impl/msg/SAXMessages_de.properties + src/share/classes/com/sun/org/apache/xerces/internal/impl/msg/SAXMessages_es.properties + src/share/classes/com/sun/org/apache/xerces/internal/impl/msg/SAXMessages_fr.properties + src/share/classes/com/sun/org/apache/xerces/internal/impl/msg/SAXMessages_it.properties + src/share/classes/com/sun/org/apache/xerces/internal/impl/msg/SAXMessages_ja.properties + src/share/classes/com/sun/org/apache/xerces/internal/impl/msg/SAXMessages_ko.properties + src/share/classes/com/sun/org/apache/xerces/internal/impl/msg/SAXMessages_pt_BR.properties + src/share/classes/com/sun/org/apache/xerces/internal/impl/msg/SAXMessages_sv.properties + src/share/classes/com/sun/org/apache/xerces/internal/impl/msg/SAXMessages_zh_CN.properties + src/share/classes/com/sun/org/apache/xerces/internal/impl/msg/SAXMessages_zh_TW.properties + src/share/classes/com/sun/org/apache/xerces/internal/impl/msg/XIncludeMessages.properties + src/share/classes/com/sun/org/apache/xerces/internal/impl/msg/XIncludeMessages_de.properties + src/share/classes/com/sun/org/apache/xerces/internal/impl/msg/XIncludeMessages_es.properties + src/share/classes/com/sun/org/apache/xerces/internal/impl/msg/XIncludeMessages_fr.properties + src/share/classes/com/sun/org/apache/xerces/internal/impl/msg/XIncludeMessages_it.properties + src/share/classes/com/sun/org/apache/xerces/internal/impl/msg/XIncludeMessages_ja.properties + src/share/classes/com/sun/org/apache/xerces/internal/impl/msg/XIncludeMessages_ko.properties + src/share/classes/com/sun/org/apache/xerces/internal/impl/msg/XIncludeMessages_pt_BR.properties + src/share/classes/com/sun/org/apache/xerces/internal/impl/msg/XIncludeMessages_sv.properties + src/share/classes/com/sun/org/apache/xerces/internal/impl/msg/XIncludeMessages_zh_CN.properties + src/share/classes/com/sun/org/apache/xerces/internal/impl/msg/XIncludeMessages_zh_TW.properties + src/share/classes/com/sun/org/apache/xerces/internal/impl/msg/XMLMessageFormatter.java + src/share/classes/com/sun/org/apache/xerces/internal/impl/msg/XMLMessageFormatter_de.java + src/share/classes/com/sun/org/apache/xerces/internal/impl/msg/XMLMessageFormatter_es.java + src/share/classes/com/sun/org/apache/xerces/internal/impl/msg/XMLMessageFormatter_fr.java + src/share/classes/com/sun/org/apache/xerces/internal/impl/msg/XMLMessageFormatter_it.java + src/share/classes/com/sun/org/apache/xerces/internal/impl/msg/XMLMessageFormatter_ja.java + src/share/classes/com/sun/org/apache/xerces/internal/impl/msg/XMLMessageFormatter_ko.java + src/share/classes/com/sun/org/apache/xerces/internal/impl/msg/XMLMessageFormatter_pt_BR.java + src/share/classes/com/sun/org/apache/xerces/internal/impl/msg/XMLMessageFormatter_sv.java + src/share/classes/com/sun/org/apache/xerces/internal/impl/msg/XMLMessageFormatter_zh_CN.java + src/share/classes/com/sun/org/apache/xerces/internal/impl/msg/XMLMessageFormatter_zh_TW.java + src/share/classes/com/sun/org/apache/xerces/internal/impl/msg/XMLMessages.properties + src/share/classes/com/sun/org/apache/xerces/internal/impl/msg/XMLMessages_de.properties + src/share/classes/com/sun/org/apache/xerces/internal/impl/msg/XMLMessages_es.properties + src/share/classes/com/sun/org/apache/xerces/internal/impl/msg/XMLMessages_fr.properties + src/share/classes/com/sun/org/apache/xerces/internal/impl/msg/XMLMessages_it.properties + src/share/classes/com/sun/org/apache/xerces/internal/impl/msg/XMLMessages_ja.properties + src/share/classes/com/sun/org/apache/xerces/internal/impl/msg/XMLMessages_ko.properties + src/share/classes/com/sun/org/apache/xerces/internal/impl/msg/XMLMessages_pt_BR.properties + src/share/classes/com/sun/org/apache/xerces/internal/impl/msg/XMLMessages_sv.properties + src/share/classes/com/sun/org/apache/xerces/internal/impl/msg/XMLMessages_zh_CN.properties + src/share/classes/com/sun/org/apache/xerces/internal/impl/msg/XMLMessages_zh_TW.properties + src/share/classes/com/sun/org/apache/xerces/internal/impl/msg/XMLSchemaMessages.properties + src/share/classes/com/sun/org/apache/xerces/internal/impl/msg/XMLSchemaMessages_de.properties + src/share/classes/com/sun/org/apache/xerces/internal/impl/msg/XMLSchemaMessages_es.properties + src/share/classes/com/sun/org/apache/xerces/internal/impl/msg/XMLSchemaMessages_fr.properties + src/share/classes/com/sun/org/apache/xerces/internal/impl/msg/XMLSchemaMessages_it.properties + src/share/classes/com/sun/org/apache/xerces/internal/impl/msg/XMLSchemaMessages_ja.properties + src/share/classes/com/sun/org/apache/xerces/internal/impl/msg/XMLSchemaMessages_ko.properties + src/share/classes/com/sun/org/apache/xerces/internal/impl/msg/XMLSchemaMessages_pt_BR.properties + src/share/classes/com/sun/org/apache/xerces/internal/impl/msg/XMLSchemaMessages_sv.properties + src/share/classes/com/sun/org/apache/xerces/internal/impl/msg/XMLSchemaMessages_zh_CN.properties + src/share/classes/com/sun/org/apache/xerces/internal/impl/msg/XMLSchemaMessages_zh_TW.properties + src/share/classes/com/sun/org/apache/xerces/internal/impl/msg/XMLSerializerMessages.properties + src/share/classes/com/sun/org/apache/xerces/internal/impl/msg/XMLSerializerMessages_de.properties + src/share/classes/com/sun/org/apache/xerces/internal/impl/msg/XMLSerializerMessages_es.properties + src/share/classes/com/sun/org/apache/xerces/internal/impl/msg/XMLSerializerMessages_fr.properties + src/share/classes/com/sun/org/apache/xerces/internal/impl/msg/XMLSerializerMessages_it.properties + src/share/classes/com/sun/org/apache/xerces/internal/impl/msg/XMLSerializerMessages_ja.properties + src/share/classes/com/sun/org/apache/xerces/internal/impl/msg/XMLSerializerMessages_ko.properties + src/share/classes/com/sun/org/apache/xerces/internal/impl/msg/XMLSerializerMessages_pt_BR.properties + src/share/classes/com/sun/org/apache/xerces/internal/impl/msg/XMLSerializerMessages_sv.properties + src/share/classes/com/sun/org/apache/xerces/internal/impl/msg/XMLSerializerMessages_zh_CN.properties + src/share/classes/com/sun/org/apache/xerces/internal/impl/msg/XMLSerializerMessages_zh_TW.properties + src/share/classes/com/sun/org/apache/xerces/internal/impl/msg/XPointerMessages.properties + src/share/classes/com/sun/org/apache/xerces/internal/impl/msg/XPointerMessages_de.properties + src/share/classes/com/sun/org/apache/xerces/internal/impl/msg/XPointerMessages_es.properties + src/share/classes/com/sun/org/apache/xerces/internal/impl/msg/XPointerMessages_fr.properties + src/share/classes/com/sun/org/apache/xerces/internal/impl/msg/XPointerMessages_it.properties + src/share/classes/com/sun/org/apache/xerces/internal/impl/msg/XPointerMessages_ja.properties + src/share/classes/com/sun/org/apache/xerces/internal/impl/msg/XPointerMessages_ko.properties + src/share/classes/com/sun/org/apache/xerces/internal/impl/msg/XPointerMessages_pt_BR.properties + src/share/classes/com/sun/org/apache/xerces/internal/impl/msg/XPointerMessages_sv.properties + src/share/classes/com/sun/org/apache/xerces/internal/impl/msg/XPointerMessages_zh_CN.properties + src/share/classes/com/sun/org/apache/xerces/internal/impl/msg/XPointerMessages_zh_TW.properties + src/share/classes/com/sun/org/apache/xerces/internal/impl/validation/EntityState.java + src/share/classes/com/sun/org/apache/xerces/internal/impl/validation/ValidationManager.java + src/share/classes/com/sun/org/apache/xerces/internal/impl/validation/ValidationState.java + src/share/classes/com/sun/org/apache/xerces/internal/impl/xpath/XPath.java + src/share/classes/com/sun/org/apache/xerces/internal/impl/xpath/XPathException.java + src/share/classes/com/sun/org/apache/xerces/internal/impl/xpath/regex/BMPattern.java + src/share/classes/com/sun/org/apache/xerces/internal/impl/xpath/regex/CaseInsensitiveMap.java + src/share/classes/com/sun/org/apache/xerces/internal/impl/xpath/regex/Match.java + src/share/classes/com/sun/org/apache/xerces/internal/impl/xpath/regex/Op.java + src/share/classes/com/sun/org/apache/xerces/internal/impl/xpath/regex/ParseException.java + src/share/classes/com/sun/org/apache/xerces/internal/impl/xpath/regex/ParserForXMLSchema.java + src/share/classes/com/sun/org/apache/xerces/internal/impl/xpath/regex/REUtil.java + src/share/classes/com/sun/org/apache/xerces/internal/impl/xpath/regex/RangeToken.java + src/share/classes/com/sun/org/apache/xerces/internal/impl/xpath/regex/RegexParser.java + src/share/classes/com/sun/org/apache/xerces/internal/impl/xpath/regex/RegularExpression.java + src/share/classes/com/sun/org/apache/xerces/internal/impl/xpath/regex/Token.java + src/share/classes/com/sun/org/apache/xerces/internal/impl/xpath/regex/message.properties + src/share/classes/com/sun/org/apache/xerces/internal/impl/xpath/regex/message_fr.properties + src/share/classes/com/sun/org/apache/xerces/internal/impl/xpath/regex/message_ja.properties + src/share/classes/com/sun/org/apache/xerces/internal/impl/xs/AttributePSVImpl.java + src/share/classes/com/sun/org/apache/xerces/internal/impl/xs/ElementPSVImpl.java + src/share/classes/com/sun/org/apache/xerces/internal/impl/xs/SchemaGrammar.java + src/share/classes/com/sun/org/apache/xerces/internal/impl/xs/SchemaNamespaceSupport.java + src/share/classes/com/sun/org/apache/xerces/internal/impl/xs/SchemaSymbols.java + src/share/classes/com/sun/org/apache/xerces/internal/impl/xs/SubstitutionGroupHandler.java + src/share/classes/com/sun/org/apache/xerces/internal/impl/xs/XMLSchemaException.java + src/share/classes/com/sun/org/apache/xerces/internal/impl/xs/XMLSchemaLoader.java + src/share/classes/com/sun/org/apache/xerces/internal/impl/xs/XMLSchemaValidator.java + src/share/classes/com/sun/org/apache/xerces/internal/impl/xs/XSAnnotationImpl.java + src/share/classes/com/sun/org/apache/xerces/internal/impl/xs/XSAttributeDecl.java + src/share/classes/com/sun/org/apache/xerces/internal/impl/xs/XSAttributeGroupDecl.java + src/share/classes/com/sun/org/apache/xerces/internal/impl/xs/XSAttributeUseImpl.java + src/share/classes/com/sun/org/apache/xerces/internal/impl/xs/XSComplexTypeDecl.java + src/share/classes/com/sun/org/apache/xerces/internal/impl/xs/XSConstraints.java + src/share/classes/com/sun/org/apache/xerces/internal/impl/xs/XSDDescription.java + src/share/classes/com/sun/org/apache/xerces/internal/impl/xs/XSDeclarationPool.java + src/share/classes/com/sun/org/apache/xerces/internal/impl/xs/XSElementDecl.java + src/share/classes/com/sun/org/apache/xerces/internal/impl/xs/XSGrammarBucket.java + src/share/classes/com/sun/org/apache/xerces/internal/impl/xs/XSGroupDecl.java + src/share/classes/com/sun/org/apache/xerces/internal/impl/xs/XSImplementationImpl.java + src/share/classes/com/sun/org/apache/xerces/internal/impl/xs/XSLoaderImpl.java + src/share/classes/com/sun/org/apache/xerces/internal/impl/xs/XSMessageFormatter.java + src/share/classes/com/sun/org/apache/xerces/internal/impl/xs/XSModelGroupImpl.java + src/share/classes/com/sun/org/apache/xerces/internal/impl/xs/XSModelImpl.java + src/share/classes/com/sun/org/apache/xerces/internal/impl/xs/XSNotationDecl.java + src/share/classes/com/sun/org/apache/xerces/internal/impl/xs/XSParticleDecl.java + src/share/classes/com/sun/org/apache/xerces/internal/impl/xs/XSWildcardDecl.java + src/share/classes/com/sun/org/apache/xerces/internal/impl/xs/identity/Field.java + src/share/classes/com/sun/org/apache/xerces/internal/impl/xs/identity/FieldActivator.java + src/share/classes/com/sun/org/apache/xerces/internal/impl/xs/identity/IdentityConstraint.java + src/share/classes/com/sun/org/apache/xerces/internal/impl/xs/identity/KeyRef.java + src/share/classes/com/sun/org/apache/xerces/internal/impl/xs/identity/Selector.java + src/share/classes/com/sun/org/apache/xerces/internal/impl/xs/identity/UniqueOrKey.java + src/share/classes/com/sun/org/apache/xerces/internal/impl/xs/identity/ValueStore.java + src/share/classes/com/sun/org/apache/xerces/internal/impl/xs/identity/XPathMatcher.java + src/share/classes/com/sun/org/apache/xerces/internal/impl/xs/models/CMBuilder.java + src/share/classes/com/sun/org/apache/xerces/internal/impl/xs/models/CMNodeFactory.java + src/share/classes/com/sun/org/apache/xerces/internal/impl/xs/models/XSAllCM.java + src/share/classes/com/sun/org/apache/xerces/internal/impl/xs/models/XSCMBinOp.java + src/share/classes/com/sun/org/apache/xerces/internal/impl/xs/models/XSCMLeaf.java + src/share/classes/com/sun/org/apache/xerces/internal/impl/xs/models/XSCMRepeatingLeaf.java + src/share/classes/com/sun/org/apache/xerces/internal/impl/xs/models/XSCMUniOp.java + src/share/classes/com/sun/org/apache/xerces/internal/impl/xs/models/XSCMValidator.java + src/share/classes/com/sun/org/apache/xerces/internal/impl/xs/models/XSDFACM.java + src/share/classes/com/sun/org/apache/xerces/internal/impl/xs/models/XSEmptyCM.java + src/share/classes/com/sun/org/apache/xerces/internal/impl/xs/opti/AttrImpl.java + src/share/classes/com/sun/org/apache/xerces/internal/impl/xs/opti/DefaultDocument.java + src/share/classes/com/sun/org/apache/xerces/internal/impl/xs/opti/DefaultElement.java + src/share/classes/com/sun/org/apache/xerces/internal/impl/xs/opti/DefaultNode.java + src/share/classes/com/sun/org/apache/xerces/internal/impl/xs/opti/DefaultText.java + src/share/classes/com/sun/org/apache/xerces/internal/impl/xs/opti/DefaultXMLDocumentHandler.java + src/share/classes/com/sun/org/apache/xerces/internal/impl/xs/opti/ElementImpl.java + src/share/classes/com/sun/org/apache/xerces/internal/impl/xs/opti/NamedNodeMapImpl.java + src/share/classes/com/sun/org/apache/xerces/internal/impl/xs/opti/NodeImpl.java + src/share/classes/com/sun/org/apache/xerces/internal/impl/xs/opti/SchemaDOM.java + src/share/classes/com/sun/org/apache/xerces/internal/impl/xs/opti/SchemaDOMImplementation.java + src/share/classes/com/sun/org/apache/xerces/internal/impl/xs/opti/SchemaDOMParser.java + src/share/classes/com/sun/org/apache/xerces/internal/impl/xs/opti/SchemaParsingConfig.java + src/share/classes/com/sun/org/apache/xerces/internal/impl/xs/opti/TextImpl.java + src/share/classes/com/sun/org/apache/xerces/internal/impl/xs/traversers/SchemaContentHandler.java + src/share/classes/com/sun/org/apache/xerces/internal/impl/xs/traversers/StAXSchemaParser.java + src/share/classes/com/sun/org/apache/xerces/internal/impl/xs/traversers/XSAnnotationInfo.java + src/share/classes/com/sun/org/apache/xerces/internal/impl/xs/traversers/XSAttributeChecker.java + src/share/classes/com/sun/org/apache/xerces/internal/impl/xs/traversers/XSDAbstractIDConstraintTraverser.java + src/share/classes/com/sun/org/apache/xerces/internal/impl/xs/traversers/XSDAbstractParticleTraverser.java + src/share/classes/com/sun/org/apache/xerces/internal/impl/xs/traversers/XSDAbstractTraverser.java + src/share/classes/com/sun/org/apache/xerces/internal/impl/xs/traversers/XSDAttributeGroupTraverser.java + src/share/classes/com/sun/org/apache/xerces/internal/impl/xs/traversers/XSDAttributeTraverser.java + src/share/classes/com/sun/org/apache/xerces/internal/impl/xs/traversers/XSDComplexTypeTraverser.java + src/share/classes/com/sun/org/apache/xerces/internal/impl/xs/traversers/XSDElementTraverser.java + src/share/classes/com/sun/org/apache/xerces/internal/impl/xs/traversers/XSDGroupTraverser.java + src/share/classes/com/sun/org/apache/xerces/internal/impl/xs/traversers/XSDHandler.java + src/share/classes/com/sun/org/apache/xerces/internal/impl/xs/traversers/XSDKeyrefTraverser.java + src/share/classes/com/sun/org/apache/xerces/internal/impl/xs/traversers/XSDNotationTraverser.java + src/share/classes/com/sun/org/apache/xerces/internal/impl/xs/traversers/XSDSimpleTypeTraverser.java + src/share/classes/com/sun/org/apache/xerces/internal/impl/xs/traversers/XSDUniqueOrKeyTraverser.java + src/share/classes/com/sun/org/apache/xerces/internal/impl/xs/traversers/XSDWildcardTraverser.java + src/share/classes/com/sun/org/apache/xerces/internal/impl/xs/traversers/XSDocumentInfo.java + src/share/classes/com/sun/org/apache/xerces/internal/impl/xs/util/LSInputListImpl.java + src/share/classes/com/sun/org/apache/xerces/internal/impl/xs/util/ObjectListImpl.java + src/share/classes/com/sun/org/apache/xerces/internal/impl/xs/util/ShortListImpl.java + src/share/classes/com/sun/org/apache/xerces/internal/impl/xs/util/SimpleLocator.java + src/share/classes/com/sun/org/apache/xerces/internal/impl/xs/util/StringListImpl.java + src/share/classes/com/sun/org/apache/xerces/internal/impl/xs/util/XInt.java + src/share/classes/com/sun/org/apache/xerces/internal/impl/xs/util/XIntPool.java + src/share/classes/com/sun/org/apache/xerces/internal/impl/xs/util/XSGrammarPool.java + src/share/classes/com/sun/org/apache/xerces/internal/impl/xs/util/XSInputSource.java + src/share/classes/com/sun/org/apache/xerces/internal/impl/xs/util/XSNamedMap4Types.java + src/share/classes/com/sun/org/apache/xerces/internal/impl/xs/util/XSNamedMapImpl.java + src/share/classes/com/sun/org/apache/xerces/internal/impl/xs/util/XSObjectListImpl.java + src/share/classes/com/sun/org/apache/xerces/internal/jaxp/DefaultValidationErrorHandler.java + src/share/classes/com/sun/org/apache/xerces/internal/jaxp/DocumentBuilderFactoryImpl.java + src/share/classes/com/sun/org/apache/xerces/internal/jaxp/DocumentBuilderImpl.java + src/share/classes/com/sun/org/apache/xerces/internal/jaxp/JAXPConstants.java + src/share/classes/com/sun/org/apache/xerces/internal/jaxp/JAXPValidatorComponent.java + src/share/classes/com/sun/org/apache/xerces/internal/jaxp/SAXParserFactoryImpl.java + src/share/classes/com/sun/org/apache/xerces/internal/jaxp/SAXParserImpl.java + src/share/classes/com/sun/org/apache/xerces/internal/jaxp/SchemaValidatorConfiguration.java + src/share/classes/com/sun/org/apache/xerces/internal/jaxp/TeeXMLDocumentFilterImpl.java + src/share/classes/com/sun/org/apache/xerces/internal/jaxp/UnparsedEntityHandler.java + src/share/classes/com/sun/org/apache/xerces/internal/jaxp/datatype/DatatypeFactoryImpl.java + src/share/classes/com/sun/org/apache/xerces/internal/jaxp/datatype/DurationDayTimeImpl.java + src/share/classes/com/sun/org/apache/xerces/internal/jaxp/datatype/DurationImpl.java + src/share/classes/com/sun/org/apache/xerces/internal/jaxp/datatype/DurationYearMonthImpl.java + src/share/classes/com/sun/org/apache/xerces/internal/jaxp/datatype/XMLGregorianCalendarImpl.java + src/share/classes/com/sun/org/apache/xerces/internal/jaxp/datatype/javax.xml.datatype.DatatypeFactory + src/share/classes/com/sun/org/apache/xerces/internal/jaxp/javax.xml.parsers.DocumentBuilderFactory + src/share/classes/com/sun/org/apache/xerces/internal/jaxp/javax.xml.parsers.SAXParserFactory + src/share/classes/com/sun/org/apache/xerces/internal/jaxp/validation/AbstractXMLSchema.java + src/share/classes/com/sun/org/apache/xerces/internal/jaxp/validation/DOMDocumentHandler.java + src/share/classes/com/sun/org/apache/xerces/internal/jaxp/validation/DOMResultAugmentor.java + src/share/classes/com/sun/org/apache/xerces/internal/jaxp/validation/DOMResultBuilder.java + src/share/classes/com/sun/org/apache/xerces/internal/jaxp/validation/DOMValidatorHelper.java + src/share/classes/com/sun/org/apache/xerces/internal/jaxp/validation/DraconianErrorHandler.java + src/share/classes/com/sun/org/apache/xerces/internal/jaxp/validation/EmptyXMLSchema.java + src/share/classes/com/sun/org/apache/xerces/internal/jaxp/validation/ErrorHandlerAdaptor.java + src/share/classes/com/sun/org/apache/xerces/internal/jaxp/validation/JAXPValidationMessageFormatter.java + src/share/classes/com/sun/org/apache/xerces/internal/jaxp/validation/ReadOnlyGrammarPool.java + src/share/classes/com/sun/org/apache/xerces/internal/jaxp/validation/SimpleXMLSchema.java + src/share/classes/com/sun/org/apache/xerces/internal/jaxp/validation/SoftReferenceGrammarPool.java + src/share/classes/com/sun/org/apache/xerces/internal/jaxp/validation/StAXValidatorHelper.java + src/share/classes/com/sun/org/apache/xerces/internal/jaxp/validation/StreamValidatorHelper.java + src/share/classes/com/sun/org/apache/xerces/internal/jaxp/validation/Util.java + src/share/classes/com/sun/org/apache/xerces/internal/jaxp/validation/ValidatorHandlerImpl.java + src/share/classes/com/sun/org/apache/xerces/internal/jaxp/validation/ValidatorHelper.java + src/share/classes/com/sun/org/apache/xerces/internal/jaxp/validation/ValidatorImpl.java + src/share/classes/com/sun/org/apache/xerces/internal/jaxp/validation/WeakReferenceXMLSchema.java + src/share/classes/com/sun/org/apache/xerces/internal/jaxp/validation/WrappedSAXException.java + src/share/classes/com/sun/org/apache/xerces/internal/jaxp/validation/XMLSchema.java + src/share/classes/com/sun/org/apache/xerces/internal/jaxp/validation/XMLSchemaFactory.java + src/share/classes/com/sun/org/apache/xerces/internal/jaxp/validation/XMLSchemaValidatorComponentManager.java + src/share/classes/com/sun/org/apache/xerces/internal/jaxp/validation/XSGrammarPoolContainer.java + src/share/classes/com/sun/org/apache/xerces/internal/jaxp/validation/javax.xml.validation.SchemaFactory + src/share/classes/com/sun/org/apache/xerces/internal/parsers/AbstractDOMParser.java + src/share/classes/com/sun/org/apache/xerces/internal/parsers/AbstractSAXParser.java + src/share/classes/com/sun/org/apache/xerces/internal/parsers/AbstractXMLDocumentParser.java + src/share/classes/com/sun/org/apache/xerces/internal/parsers/BasicParserConfiguration.java + src/share/classes/com/sun/org/apache/xerces/internal/parsers/CachingParserPool.java + src/share/classes/com/sun/org/apache/xerces/internal/parsers/DOMParser.java + src/share/classes/com/sun/org/apache/xerces/internal/parsers/DOMParserImpl.java + src/share/classes/com/sun/org/apache/xerces/internal/parsers/DTDConfiguration.java + src/share/classes/com/sun/org/apache/xerces/internal/parsers/DTDParser.java + src/share/classes/com/sun/org/apache/xerces/internal/parsers/IntegratedParserConfiguration.java + src/share/classes/com/sun/org/apache/xerces/internal/parsers/NonValidatingConfiguration.java + src/share/classes/com/sun/org/apache/xerces/internal/parsers/ObjectFactory.java + src/share/classes/com/sun/org/apache/xerces/internal/parsers/SAXParser.java + src/share/classes/com/sun/org/apache/xerces/internal/parsers/SecurityConfiguration.java + src/share/classes/com/sun/org/apache/xerces/internal/parsers/SecuritySupport.java + src/share/classes/com/sun/org/apache/xerces/internal/parsers/StandardParserConfiguration.java + src/share/classes/com/sun/org/apache/xerces/internal/parsers/XIncludeAwareParserConfiguration.java + src/share/classes/com/sun/org/apache/xerces/internal/parsers/XIncludeParserConfiguration.java + src/share/classes/com/sun/org/apache/xerces/internal/parsers/XML11Configurable.java + src/share/classes/com/sun/org/apache/xerces/internal/parsers/XML11Configuration.java + src/share/classes/com/sun/org/apache/xerces/internal/parsers/XML11DTDConfiguration.java + src/share/classes/com/sun/org/apache/xerces/internal/parsers/XML11NonValidatingConfiguration.java + src/share/classes/com/sun/org/apache/xerces/internal/parsers/XMLDocumentParser.java + src/share/classes/com/sun/org/apache/xerces/internal/parsers/XMLGrammarCachingConfiguration.java + src/share/classes/com/sun/org/apache/xerces/internal/parsers/XMLGrammarParser.java + src/share/classes/com/sun/org/apache/xerces/internal/parsers/XMLGrammarPreparser.java + src/share/classes/com/sun/org/apache/xerces/internal/parsers/XMLParser.java + src/share/classes/com/sun/org/apache/xerces/internal/parsers/XPointerParserConfiguration.java + src/share/classes/com/sun/org/apache/xerces/internal/parsers/org.apache.xerces.xni.parser.DTDConfiguration + src/share/classes/com/sun/org/apache/xerces/internal/parsers/org.apache.xerces.xni.parser.XML11Configuration + src/share/classes/com/sun/org/apache/xerces/internal/parsers/org.apache.xerces.xni.parser.XMLParserConfiguration + src/share/classes/com/sun/org/apache/xerces/internal/parsers/org.xml.sax.driver + src/share/classes/com/sun/org/apache/xerces/internal/util/AttributesProxy.java + src/share/classes/com/sun/org/apache/xerces/internal/util/AugmentationsImpl.java + src/share/classes/com/sun/org/apache/xerces/internal/util/DOMEntityResolverWrapper.java + src/share/classes/com/sun/org/apache/xerces/internal/util/DOMErrorHandlerWrapper.java + src/share/classes/com/sun/org/apache/xerces/internal/util/DOMInputSource.java + src/share/classes/com/sun/org/apache/xerces/internal/util/DOMUtil.java + src/share/classes/com/sun/org/apache/xerces/internal/util/DatatypeMessageFormatter.java + src/share/classes/com/sun/org/apache/xerces/internal/util/DefaultErrorHandler.java + src/share/classes/com/sun/org/apache/xerces/internal/util/DraconianErrorHandler.java + src/share/classes/com/sun/org/apache/xerces/internal/util/EncodingMap.java + src/share/classes/com/sun/org/apache/xerces/internal/util/EntityResolver2Wrapper.java + src/share/classes/com/sun/org/apache/xerces/internal/util/EntityResolverWrapper.java + src/share/classes/com/sun/org/apache/xerces/internal/util/ErrorHandlerProxy.java + src/share/classes/com/sun/org/apache/xerces/internal/util/ErrorHandlerWrapper.java + src/share/classes/com/sun/org/apache/xerces/internal/util/FeatureState.java + src/share/classes/com/sun/org/apache/xerces/internal/util/HTTPInputSource.java + src/share/classes/com/sun/org/apache/xerces/internal/util/IntStack.java + src/share/classes/com/sun/org/apache/xerces/internal/util/JAXPNamespaceContextWrapper.java + src/share/classes/com/sun/org/apache/xerces/internal/util/LocatorProxy.java + src/share/classes/com/sun/org/apache/xerces/internal/util/LocatorWrapper.java + src/share/classes/com/sun/org/apache/xerces/internal/util/MessageFormatter.java + src/share/classes/com/sun/org/apache/xerces/internal/util/NamespaceContextWrapper.java + src/share/classes/com/sun/org/apache/xerces/internal/util/NamespaceSupport.java + src/share/classes/com/sun/org/apache/xerces/internal/util/ParserConfigurationSettings.java + src/share/classes/com/sun/org/apache/xerces/internal/util/PropertyState.java + src/share/classes/com/sun/org/apache/xerces/internal/util/SAX2XNI.java + src/share/classes/com/sun/org/apache/xerces/internal/util/SAXInputSource.java + src/share/classes/com/sun/org/apache/xerces/internal/util/SAXLocatorWrapper.java + src/share/classes/com/sun/org/apache/xerces/internal/util/SAXMessageFormatter.java + src/share/classes/com/sun/org/apache/xerces/internal/util/SecurityManager.java + src/share/classes/com/sun/org/apache/xerces/internal/util/ShadowedSymbolTable.java + src/share/classes/com/sun/org/apache/xerces/internal/util/StAXInputSource.java + src/share/classes/com/sun/org/apache/xerces/internal/util/StAXLocationWrapper.java + src/share/classes/com/sun/org/apache/xerces/internal/util/Status.java + src/share/classes/com/sun/org/apache/xerces/internal/util/SymbolHash.java + src/share/classes/com/sun/org/apache/xerces/internal/util/SymbolTable.java + src/share/classes/com/sun/org/apache/xerces/internal/util/SynchronizedSymbolTable.java + src/share/classes/com/sun/org/apache/xerces/internal/util/TeeXMLDocumentFilterImpl.java + src/share/classes/com/sun/org/apache/xerces/internal/util/TypeInfoImpl.java + src/share/classes/com/sun/org/apache/xerces/internal/util/URI.java + src/share/classes/com/sun/org/apache/xerces/internal/util/XML11Char.java + src/share/classes/com/sun/org/apache/xerces/internal/util/XMLAttributesImpl.java + src/share/classes/com/sun/org/apache/xerces/internal/util/XMLAttributesIteratorImpl.java + src/share/classes/com/sun/org/apache/xerces/internal/util/XMLCatalogResolver.java + src/share/classes/com/sun/org/apache/xerces/internal/util/XMLChar.java + src/share/classes/com/sun/org/apache/xerces/internal/util/XMLDocumentFilterImpl.java + src/share/classes/com/sun/org/apache/xerces/internal/util/XMLEntityDescriptionImpl.java + src/share/classes/com/sun/org/apache/xerces/internal/util/XMLErrorCode.java + src/share/classes/com/sun/org/apache/xerces/internal/util/XMLGrammarPoolImpl.java + src/share/classes/com/sun/org/apache/xerces/internal/util/XMLInputSourceAdaptor.java + src/share/classes/com/sun/org/apache/xerces/internal/util/XMLResourceIdentifierImpl.java + src/share/classes/com/sun/org/apache/xerces/internal/util/XMLStringBuffer.java + src/share/classes/com/sun/org/apache/xerces/internal/util/XMLSymbols.java + src/share/classes/com/sun/org/apache/xerces/internal/xinclude/MultipleScopeNamespaceSupport.java + src/share/classes/com/sun/org/apache/xerces/internal/xinclude/ObjectFactory.java + src/share/classes/com/sun/org/apache/xerces/internal/xinclude/SecuritySupport.java + src/share/classes/com/sun/org/apache/xerces/internal/xinclude/XInclude11TextReader.java + src/share/classes/com/sun/org/apache/xerces/internal/xinclude/XIncludeHandler.java + src/share/classes/com/sun/org/apache/xerces/internal/xinclude/XIncludeMessageFormatter.java + src/share/classes/com/sun/org/apache/xerces/internal/xinclude/XIncludeNamespaceSupport.java + src/share/classes/com/sun/org/apache/xerces/internal/xinclude/XIncludeTextReader.java + src/share/classes/com/sun/org/apache/xerces/internal/xinclude/XPointerElementHandler.java + src/share/classes/com/sun/org/apache/xerces/internal/xinclude/XPointerFramework.java + src/share/classes/com/sun/org/apache/xerces/internal/xinclude/XPointerSchema.java + src/share/classes/com/sun/org/apache/xerces/internal/xni/Augmentations.java + src/share/classes/com/sun/org/apache/xerces/internal/xni/NamespaceContext.java + src/share/classes/com/sun/org/apache/xerces/internal/xni/QName.java + src/share/classes/com/sun/org/apache/xerces/internal/xni/XMLAttributes.java + src/share/classes/com/sun/org/apache/xerces/internal/xni/XMLDTDContentModelHandler.java + src/share/classes/com/sun/org/apache/xerces/internal/xni/XMLDTDHandler.java + src/share/classes/com/sun/org/apache/xerces/internal/xni/XMLDocumentFragmentHandler.java + src/share/classes/com/sun/org/apache/xerces/internal/xni/XMLDocumentHandler.java + src/share/classes/com/sun/org/apache/xerces/internal/xni/XMLLocator.java + src/share/classes/com/sun/org/apache/xerces/internal/xni/XMLResourceIdentifier.java + src/share/classes/com/sun/org/apache/xerces/internal/xni/XMLString.java + src/share/classes/com/sun/org/apache/xerces/internal/xni/XNIException.java + src/share/classes/com/sun/org/apache/xerces/internal/xni/grammars/Grammar.java + src/share/classes/com/sun/org/apache/xerces/internal/xni/grammars/XMLDTDDescription.java + src/share/classes/com/sun/org/apache/xerces/internal/xni/grammars/XMLGrammarDescription.java + src/share/classes/com/sun/org/apache/xerces/internal/xni/grammars/XMLGrammarLoader.java + src/share/classes/com/sun/org/apache/xerces/internal/xni/grammars/XMLGrammarPool.java + src/share/classes/com/sun/org/apache/xerces/internal/xni/grammars/XMLSchemaDescription.java + src/share/classes/com/sun/org/apache/xerces/internal/xni/grammars/XSGrammar.java + src/share/classes/com/sun/org/apache/xerces/internal/xni/parser/XMLComponent.java + src/share/classes/com/sun/org/apache/xerces/internal/xni/parser/XMLComponentManager.java + src/share/classes/com/sun/org/apache/xerces/internal/xni/parser/XMLConfigurationException.java + src/share/classes/com/sun/org/apache/xerces/internal/xni/parser/XMLDTDContentModelFilter.java + src/share/classes/com/sun/org/apache/xerces/internal/xni/parser/XMLDTDContentModelSource.java + src/share/classes/com/sun/org/apache/xerces/internal/xni/parser/XMLDTDFilter.java + src/share/classes/com/sun/org/apache/xerces/internal/xni/parser/XMLDTDScanner.java + src/share/classes/com/sun/org/apache/xerces/internal/xni/parser/XMLDTDSource.java + src/share/classes/com/sun/org/apache/xerces/internal/xni/parser/XMLDocumentFilter.java + src/share/classes/com/sun/org/apache/xerces/internal/xni/parser/XMLDocumentScanner.java + src/share/classes/com/sun/org/apache/xerces/internal/xni/parser/XMLDocumentSource.java + src/share/classes/com/sun/org/apache/xerces/internal/xni/parser/XMLEntityResolver.java + src/share/classes/com/sun/org/apache/xerces/internal/xni/parser/XMLErrorHandler.java + src/share/classes/com/sun/org/apache/xerces/internal/xni/parser/XMLInputSource.java + src/share/classes/com/sun/org/apache/xerces/internal/xni/parser/XMLParseException.java + src/share/classes/com/sun/org/apache/xerces/internal/xni/parser/XMLParserConfiguration.java + src/share/classes/com/sun/org/apache/xerces/internal/xni/parser/XMLPullParserConfiguration.java + src/share/classes/com/sun/org/apache/xerces/internal/xpointer/ElementSchemePointer.java + src/share/classes/com/sun/org/apache/xerces/internal/xpointer/ShortHandPointer.java + src/share/classes/com/sun/org/apache/xerces/internal/xpointer/XPointerErrorHandler.java + src/share/classes/com/sun/org/apache/xerces/internal/xpointer/XPointerHandler.java + src/share/classes/com/sun/org/apache/xerces/internal/xpointer/XPointerMessageFormatter.java + src/share/classes/com/sun/org/apache/xerces/internal/xpointer/XPointerPart.java + src/share/classes/com/sun/org/apache/xerces/internal/xpointer/XPointerProcessor.java + src/share/classes/com/sun/org/apache/xerces/internal/xs/AttributePSVI.java + src/share/classes/com/sun/org/apache/xerces/internal/xs/ElementPSVI.java + src/share/classes/com/sun/org/apache/xerces/internal/xs/ItemPSVI.java + src/share/classes/com/sun/org/apache/xerces/internal/xs/LSInputList.java + src/share/classes/com/sun/org/apache/xerces/internal/xs/PSVIProvider.java + src/share/classes/com/sun/org/apache/xerces/internal/xs/ShortList.java + src/share/classes/com/sun/org/apache/xerces/internal/xs/StringList.java + src/share/classes/com/sun/org/apache/xerces/internal/xs/XSAnnotation.java + src/share/classes/com/sun/org/apache/xerces/internal/xs/XSAttributeDeclaration.java + src/share/classes/com/sun/org/apache/xerces/internal/xs/XSAttributeGroupDefinition.java + src/share/classes/com/sun/org/apache/xerces/internal/xs/XSAttributeUse.java + src/share/classes/com/sun/org/apache/xerces/internal/xs/XSComplexTypeDefinition.java + src/share/classes/com/sun/org/apache/xerces/internal/xs/XSConstants.java + src/share/classes/com/sun/org/apache/xerces/internal/xs/XSElementDeclaration.java + src/share/classes/com/sun/org/apache/xerces/internal/xs/XSException.java + src/share/classes/com/sun/org/apache/xerces/internal/xs/XSFacet.java + src/share/classes/com/sun/org/apache/xerces/internal/xs/XSIDCDefinition.java + src/share/classes/com/sun/org/apache/xerces/internal/xs/XSImplementation.java + src/share/classes/com/sun/org/apache/xerces/internal/xs/XSLoader.java + src/share/classes/com/sun/org/apache/xerces/internal/xs/XSModel.java + src/share/classes/com/sun/org/apache/xerces/internal/xs/XSModelGroup.java + src/share/classes/com/sun/org/apache/xerces/internal/xs/XSModelGroupDefinition.java + src/share/classes/com/sun/org/apache/xerces/internal/xs/XSMultiValueFacet.java + src/share/classes/com/sun/org/apache/xerces/internal/xs/XSNamedMap.java + src/share/classes/com/sun/org/apache/xerces/internal/xs/XSNamespaceItem.java + src/share/classes/com/sun/org/apache/xerces/internal/xs/XSNamespaceItemList.java + src/share/classes/com/sun/org/apache/xerces/internal/xs/XSNotationDeclaration.java + src/share/classes/com/sun/org/apache/xerces/internal/xs/XSObject.java + src/share/classes/com/sun/org/apache/xerces/internal/xs/XSObjectList.java + src/share/classes/com/sun/org/apache/xerces/internal/xs/XSParticle.java + src/share/classes/com/sun/org/apache/xerces/internal/xs/XSSimpleTypeDefinition.java + src/share/classes/com/sun/org/apache/xerces/internal/xs/XSTerm.java + src/share/classes/com/sun/org/apache/xerces/internal/xs/XSTypeDefinition.java + src/share/classes/com/sun/org/apache/xerces/internal/xs/XSWildcard.java + src/share/classes/com/sun/org/apache/xerces/internal/xs/datatypes/ByteList.java + src/share/classes/com/sun/org/apache/xerces/internal/xs/datatypes/ObjectList.java + src/share/classes/com/sun/org/apache/xerces/internal/xs/datatypes/XSDateTime.java + src/share/classes/com/sun/org/apache/xerces/internal/xs/datatypes/XSDecimal.java + src/share/classes/com/sun/org/apache/xerces/internal/xs/datatypes/XSDouble.java + src/share/classes/com/sun/org/apache/xerces/internal/xs/datatypes/XSFloat.java + src/share/classes/com/sun/org/apache/xerces/internal/xs/datatypes/XSQName.java + src/share/classes/com/sun/org/apache/xerces/internal/xs/datatypes/package.html + src/share/classes/com/sun/org/apache/xml/internal/dtm/Axis.java + src/share/classes/com/sun/org/apache/xml/internal/dtm/DTM.java + src/share/classes/com/sun/org/apache/xml/internal/dtm/DTMAxisIterator.java + src/share/classes/com/sun/org/apache/xml/internal/dtm/DTMAxisTraverser.java + src/share/classes/com/sun/org/apache/xml/internal/dtm/DTMConfigurationException.java + src/share/classes/com/sun/org/apache/xml/internal/dtm/DTMDOMException.java + src/share/classes/com/sun/org/apache/xml/internal/dtm/DTMException.java + src/share/classes/com/sun/org/apache/xml/internal/dtm/DTMFilter.java + src/share/classes/com/sun/org/apache/xml/internal/dtm/DTMIterator.java + src/share/classes/com/sun/org/apache/xml/internal/dtm/DTMManager.java + src/share/classes/com/sun/org/apache/xml/internal/dtm/DTMWSFilter.java + src/share/classes/com/sun/org/apache/xml/internal/dtm/ObjectFactory.java + src/share/classes/com/sun/org/apache/xml/internal/dtm/SecuritySupport.java + src/share/classes/com/sun/org/apache/xml/internal/dtm/SecuritySupport12.java + src/share/classes/com/sun/org/apache/xml/internal/dtm/ref/ChunkedIntArray.java + src/share/classes/com/sun/org/apache/xml/internal/dtm/ref/CoroutineManager.java + src/share/classes/com/sun/org/apache/xml/internal/dtm/ref/CoroutineParser.java + src/share/classes/com/sun/org/apache/xml/internal/dtm/ref/CustomStringPool.java + src/share/classes/com/sun/org/apache/xml/internal/dtm/ref/DTMAxisIterNodeList.java + src/share/classes/com/sun/org/apache/xml/internal/dtm/ref/DTMAxisIteratorBase.java + src/share/classes/com/sun/org/apache/xml/internal/dtm/ref/DTMChildIterNodeList.java + src/share/classes/com/sun/org/apache/xml/internal/dtm/ref/DTMDefaultBase.java + src/share/classes/com/sun/org/apache/xml/internal/dtm/ref/DTMDefaultBaseIterators.java + src/share/classes/com/sun/org/apache/xml/internal/dtm/ref/DTMDefaultBaseTraversers.java + src/share/classes/com/sun/org/apache/xml/internal/dtm/ref/DTMDocumentImpl.java + src/share/classes/com/sun/org/apache/xml/internal/dtm/ref/DTMManagerDefault.java + src/share/classes/com/sun/org/apache/xml/internal/dtm/ref/DTMNamedNodeMap.java + src/share/classes/com/sun/org/apache/xml/internal/dtm/ref/DTMNodeIterator.java + src/share/classes/com/sun/org/apache/xml/internal/dtm/ref/DTMNodeList.java + src/share/classes/com/sun/org/apache/xml/internal/dtm/ref/DTMNodeListBase.java + src/share/classes/com/sun/org/apache/xml/internal/dtm/ref/DTMNodeProxy.java + src/share/classes/com/sun/org/apache/xml/internal/dtm/ref/DTMSafeStringPool.java + src/share/classes/com/sun/org/apache/xml/internal/dtm/ref/DTMStringPool.java + src/share/classes/com/sun/org/apache/xml/internal/dtm/ref/DTMTreeWalker.java + src/share/classes/com/sun/org/apache/xml/internal/dtm/ref/EmptyIterator.java + src/share/classes/com/sun/org/apache/xml/internal/dtm/ref/ExpandedNameTable.java + src/share/classes/com/sun/org/apache/xml/internal/dtm/ref/ExtendedType.java + src/share/classes/com/sun/org/apache/xml/internal/dtm/ref/IncrementalSAXSource.java + src/share/classes/com/sun/org/apache/xml/internal/dtm/ref/IncrementalSAXSource_Filter.java + src/share/classes/com/sun/org/apache/xml/internal/dtm/ref/IncrementalSAXSource_Xerces.java + src/share/classes/com/sun/org/apache/xml/internal/dtm/ref/NodeLocator.java + src/share/classes/com/sun/org/apache/xml/internal/dtm/ref/ObjectFactory.java + src/share/classes/com/sun/org/apache/xml/internal/dtm/ref/SecuritySupport.java + src/share/classes/com/sun/org/apache/xml/internal/dtm/ref/SecuritySupport12.java + src/share/classes/com/sun/org/apache/xml/internal/dtm/ref/dom2dtm/DOM2DTM.java + src/share/classes/com/sun/org/apache/xml/internal/dtm/ref/dom2dtm/DOM2DTMdefaultNamespaceDeclarationNode.java + src/share/classes/com/sun/org/apache/xml/internal/dtm/ref/sax2dtm/SAX2DTM.java + src/share/classes/com/sun/org/apache/xml/internal/dtm/ref/sax2dtm/SAX2DTM2.java + src/share/classes/com/sun/org/apache/xml/internal/dtm/ref/sax2dtm/SAX2RTFDTM.java + src/share/classes/com/sun/org/apache/xml/internal/res/XMLErrorResources.java + src/share/classes/com/sun/org/apache/xml/internal/res/XMLErrorResources_ca.java + src/share/classes/com/sun/org/apache/xml/internal/res/XMLErrorResources_cs.java + src/share/classes/com/sun/org/apache/xml/internal/res/XMLErrorResources_de.java + src/share/classes/com/sun/org/apache/xml/internal/res/XMLErrorResources_en.java + src/share/classes/com/sun/org/apache/xml/internal/res/XMLErrorResources_es.java + src/share/classes/com/sun/org/apache/xml/internal/res/XMLErrorResources_fr.java + src/share/classes/com/sun/org/apache/xml/internal/res/XMLErrorResources_it.java + src/share/classes/com/sun/org/apache/xml/internal/res/XMLErrorResources_ja.java + src/share/classes/com/sun/org/apache/xml/internal/res/XMLErrorResources_ko.java + src/share/classes/com/sun/org/apache/xml/internal/res/XMLErrorResources_pt_BR.java + src/share/classes/com/sun/org/apache/xml/internal/res/XMLErrorResources_sk.java + src/share/classes/com/sun/org/apache/xml/internal/res/XMLErrorResources_sv.java + src/share/classes/com/sun/org/apache/xml/internal/res/XMLErrorResources_tr.java + src/share/classes/com/sun/org/apache/xml/internal/res/XMLErrorResources_zh_CN.java + src/share/classes/com/sun/org/apache/xml/internal/res/XMLErrorResources_zh_HK.java + src/share/classes/com/sun/org/apache/xml/internal/res/XMLErrorResources_zh_TW.java + src/share/classes/com/sun/org/apache/xml/internal/res/XMLMessages.java + src/share/classes/com/sun/org/apache/xml/internal/resolver/Catalog.java + src/share/classes/com/sun/org/apache/xml/internal/resolver/CatalogEntry.java + src/share/classes/com/sun/org/apache/xml/internal/resolver/CatalogException.java + src/share/classes/com/sun/org/apache/xml/internal/resolver/CatalogManager.java + src/share/classes/com/sun/org/apache/xml/internal/resolver/Resolver.java + src/share/classes/com/sun/org/apache/xml/internal/resolver/helpers/BootstrapResolver.java + src/share/classes/com/sun/org/apache/xml/internal/resolver/helpers/Debug.java + src/share/classes/com/sun/org/apache/xml/internal/resolver/helpers/FileURL.java + src/share/classes/com/sun/org/apache/xml/internal/resolver/helpers/Namespaces.java + src/share/classes/com/sun/org/apache/xml/internal/resolver/helpers/PublicId.java + src/share/classes/com/sun/org/apache/xml/internal/resolver/readers/CatalogReader.java + src/share/classes/com/sun/org/apache/xml/internal/resolver/readers/DOMCatalogParser.java + src/share/classes/com/sun/org/apache/xml/internal/resolver/readers/DOMCatalogReader.java + src/share/classes/com/sun/org/apache/xml/internal/resolver/readers/ExtendedXMLCatalogReader.java + src/share/classes/com/sun/org/apache/xml/internal/resolver/readers/OASISXMLCatalogReader.java + src/share/classes/com/sun/org/apache/xml/internal/resolver/readers/SAXCatalogParser.java + src/share/classes/com/sun/org/apache/xml/internal/resolver/readers/SAXCatalogReader.java + src/share/classes/com/sun/org/apache/xml/internal/resolver/readers/SAXParserHandler.java + src/share/classes/com/sun/org/apache/xml/internal/resolver/readers/TR9401CatalogReader.java + src/share/classes/com/sun/org/apache/xml/internal/resolver/readers/TextCatalogReader.java + src/share/classes/com/sun/org/apache/xml/internal/resolver/readers/XCatalogReader.java + src/share/classes/com/sun/org/apache/xml/internal/resolver/tools/CatalogResolver.java + src/share/classes/com/sun/org/apache/xml/internal/resolver/tools/ResolvingParser.java + src/share/classes/com/sun/org/apache/xml/internal/resolver/tools/ResolvingXMLFilter.java + src/share/classes/com/sun/org/apache/xml/internal/resolver/tools/ResolvingXMLReader.java + src/share/classes/com/sun/org/apache/xml/internal/serialize/BaseMarkupSerializer.java + src/share/classes/com/sun/org/apache/xml/internal/serialize/DOMSerializer.java + src/share/classes/com/sun/org/apache/xml/internal/serialize/DOMSerializerImpl.java + src/share/classes/com/sun/org/apache/xml/internal/serialize/ElementState.java + src/share/classes/com/sun/org/apache/xml/internal/serialize/EncodingInfo.java + src/share/classes/com/sun/org/apache/xml/internal/serialize/Encodings.java + src/share/classes/com/sun/org/apache/xml/internal/serialize/HTMLEntities.res + src/share/classes/com/sun/org/apache/xml/internal/serialize/HTMLSerializer.java + src/share/classes/com/sun/org/apache/xml/internal/serialize/HTMLdtd.java + src/share/classes/com/sun/org/apache/xml/internal/serialize/IndentPrinter.java + src/share/classes/com/sun/org/apache/xml/internal/serialize/LineSeparator.java + src/share/classes/com/sun/org/apache/xml/internal/serialize/Method.java + src/share/classes/com/sun/org/apache/xml/internal/serialize/ObjectFactory.java + src/share/classes/com/sun/org/apache/xml/internal/serialize/OutputFormat.java + src/share/classes/com/sun/org/apache/xml/internal/serialize/Printer.java + src/share/classes/com/sun/org/apache/xml/internal/serialize/SecuritySupport.java + src/share/classes/com/sun/org/apache/xml/internal/serialize/Serializer.java + src/share/classes/com/sun/org/apache/xml/internal/serialize/SerializerFactory.java + src/share/classes/com/sun/org/apache/xml/internal/serialize/SerializerFactoryImpl.java + src/share/classes/com/sun/org/apache/xml/internal/serialize/TextSerializer.java + src/share/classes/com/sun/org/apache/xml/internal/serialize/XHTMLSerializer.java + src/share/classes/com/sun/org/apache/xml/internal/serialize/XML11Serializer.java + src/share/classes/com/sun/org/apache/xml/internal/serialize/XMLSerializer.java + src/share/classes/com/sun/org/apache/xml/internal/serializer/AttributesImplSerializer.java + src/share/classes/com/sun/org/apache/xml/internal/serializer/CharInfo.java + src/share/classes/com/sun/org/apache/xml/internal/serializer/DOMSerializer.java + src/share/classes/com/sun/org/apache/xml/internal/serializer/ElemContext.java + src/share/classes/com/sun/org/apache/xml/internal/serializer/ElemDesc.java + src/share/classes/com/sun/org/apache/xml/internal/serializer/EmptySerializer.java + src/share/classes/com/sun/org/apache/xml/internal/serializer/EncodingInfo.java + src/share/classes/com/sun/org/apache/xml/internal/serializer/Encodings.java + src/share/classes/com/sun/org/apache/xml/internal/serializer/Encodings.properties + src/share/classes/com/sun/org/apache/xml/internal/serializer/ExtendedContentHandler.java + src/share/classes/com/sun/org/apache/xml/internal/serializer/ExtendedLexicalHandler.java + src/share/classes/com/sun/org/apache/xml/internal/serializer/HTMLEntities.properties + src/share/classes/com/sun/org/apache/xml/internal/serializer/Method.java + src/share/classes/com/sun/org/apache/xml/internal/serializer/NamespaceMappings.java + src/share/classes/com/sun/org/apache/xml/internal/serializer/ObjectFactory.java + src/share/classes/com/sun/org/apache/xml/internal/serializer/OutputPropertiesFactory.java + src/share/classes/com/sun/org/apache/xml/internal/serializer/OutputPropertyUtils.java + src/share/classes/com/sun/org/apache/xml/internal/serializer/SecuritySupport.java + src/share/classes/com/sun/org/apache/xml/internal/serializer/SecuritySupport12.java + src/share/classes/com/sun/org/apache/xml/internal/serializer/SerializationHandler.java + src/share/classes/com/sun/org/apache/xml/internal/serializer/Serializer.java + src/share/classes/com/sun/org/apache/xml/internal/serializer/SerializerBase.java + src/share/classes/com/sun/org/apache/xml/internal/serializer/SerializerConstants.java + src/share/classes/com/sun/org/apache/xml/internal/serializer/SerializerFactory.java + src/share/classes/com/sun/org/apache/xml/internal/serializer/SerializerTrace.java + src/share/classes/com/sun/org/apache/xml/internal/serializer/SerializerTraceWriter.java + src/share/classes/com/sun/org/apache/xml/internal/serializer/ToHTMLSAXHandler.java + src/share/classes/com/sun/org/apache/xml/internal/serializer/ToHTMLStream.java + src/share/classes/com/sun/org/apache/xml/internal/serializer/ToSAXHandler.java + src/share/classes/com/sun/org/apache/xml/internal/serializer/ToStream.java + src/share/classes/com/sun/org/apache/xml/internal/serializer/ToTextSAXHandler.java + src/share/classes/com/sun/org/apache/xml/internal/serializer/ToTextStream.java + src/share/classes/com/sun/org/apache/xml/internal/serializer/ToUnknownStream.java + src/share/classes/com/sun/org/apache/xml/internal/serializer/ToXMLSAXHandler.java + src/share/classes/com/sun/org/apache/xml/internal/serializer/ToXMLStream.java + src/share/classes/com/sun/org/apache/xml/internal/serializer/TransformStateSetter.java + src/share/classes/com/sun/org/apache/xml/internal/serializer/TreeWalker.java + src/share/classes/com/sun/org/apache/xml/internal/serializer/Utils.java + src/share/classes/com/sun/org/apache/xml/internal/serializer/Version.java + src/share/classes/com/sun/org/apache/xml/internal/serializer/WriterChain.java + src/share/classes/com/sun/org/apache/xml/internal/serializer/WriterToASCI.java + src/share/classes/com/sun/org/apache/xml/internal/serializer/WriterToUTF8Buffered.java + src/share/classes/com/sun/org/apache/xml/internal/serializer/XMLEntities.properties + src/share/classes/com/sun/org/apache/xml/internal/serializer/XSLOutputAttributes.java + src/share/classes/com/sun/org/apache/xml/internal/serializer/output_html.properties + src/share/classes/com/sun/org/apache/xml/internal/serializer/output_text.properties + src/share/classes/com/sun/org/apache/xml/internal/serializer/output_unknown.properties + src/share/classes/com/sun/org/apache/xml/internal/serializer/output_xml.properties + src/share/classes/com/sun/org/apache/xml/internal/serializer/package.html + src/share/classes/com/sun/org/apache/xml/internal/serializer/utils/AttList.java + src/share/classes/com/sun/org/apache/xml/internal/serializer/utils/BoolStack.java + src/share/classes/com/sun/org/apache/xml/internal/serializer/utils/DOM2Helper.java + src/share/classes/com/sun/org/apache/xml/internal/serializer/utils/Messages.java + src/share/classes/com/sun/org/apache/xml/internal/serializer/utils/MsgKey.java + src/share/classes/com/sun/org/apache/xml/internal/serializer/utils/SerializerMessages.java + src/share/classes/com/sun/org/apache/xml/internal/serializer/utils/SerializerMessages_ca.java + src/share/classes/com/sun/org/apache/xml/internal/serializer/utils/SerializerMessages_cs.java + src/share/classes/com/sun/org/apache/xml/internal/serializer/utils/SerializerMessages_de.java + src/share/classes/com/sun/org/apache/xml/internal/serializer/utils/SerializerMessages_en.java + src/share/classes/com/sun/org/apache/xml/internal/serializer/utils/SerializerMessages_es.java + src/share/classes/com/sun/org/apache/xml/internal/serializer/utils/SerializerMessages_fr.java + src/share/classes/com/sun/org/apache/xml/internal/serializer/utils/SerializerMessages_it.java + src/share/classes/com/sun/org/apache/xml/internal/serializer/utils/SerializerMessages_ja.java + src/share/classes/com/sun/org/apache/xml/internal/serializer/utils/SerializerMessages_ko.java + src/share/classes/com/sun/org/apache/xml/internal/serializer/utils/SerializerMessages_sv.java + src/share/classes/com/sun/org/apache/xml/internal/serializer/utils/SerializerMessages_zh_CN.java + src/share/classes/com/sun/org/apache/xml/internal/serializer/utils/SerializerMessages_zh_TW.java + src/share/classes/com/sun/org/apache/xml/internal/serializer/utils/StringToIntTable.java + src/share/classes/com/sun/org/apache/xml/internal/serializer/utils/SystemIDResolver.java + src/share/classes/com/sun/org/apache/xml/internal/serializer/utils/URI.java + src/share/classes/com/sun/org/apache/xml/internal/serializer/utils/Utils.java + src/share/classes/com/sun/org/apache/xml/internal/serializer/utils/WrappedRuntimeException.java + src/share/classes/com/sun/org/apache/xml/internal/utils/AttList.java + src/share/classes/com/sun/org/apache/xml/internal/utils/BoolStack.java + src/share/classes/com/sun/org/apache/xml/internal/utils/CharKey.java + src/share/classes/com/sun/org/apache/xml/internal/utils/Constants.java + src/share/classes/com/sun/org/apache/xml/internal/utils/DOM2Helper.java + src/share/classes/com/sun/org/apache/xml/internal/utils/DOMBuilder.java + src/share/classes/com/sun/org/apache/xml/internal/utils/DOMHelper.java + src/share/classes/com/sun/org/apache/xml/internal/utils/DOMOrder.java + src/share/classes/com/sun/org/apache/xml/internal/utils/DefaultErrorHandler.java + src/share/classes/com/sun/org/apache/xml/internal/utils/ElemDesc.java + src/share/classes/com/sun/org/apache/xml/internal/utils/FastStringBuffer.java + src/share/classes/com/sun/org/apache/xml/internal/utils/Hashtree2Node.java + src/share/classes/com/sun/org/apache/xml/internal/utils/IntStack.java + src/share/classes/com/sun/org/apache/xml/internal/utils/IntVector.java + src/share/classes/com/sun/org/apache/xml/internal/utils/ListingErrorHandler.java + src/share/classes/com/sun/org/apache/xml/internal/utils/LocaleUtility.java + src/share/classes/com/sun/org/apache/xml/internal/utils/MutableAttrListImpl.java + src/share/classes/com/sun/org/apache/xml/internal/utils/NSInfo.java + src/share/classes/com/sun/org/apache/xml/internal/utils/NameSpace.java + src/share/classes/com/sun/org/apache/xml/internal/utils/NamespaceSupport2.java + src/share/classes/com/sun/org/apache/xml/internal/utils/NodeConsumer.java + src/share/classes/com/sun/org/apache/xml/internal/utils/NodeVector.java + src/share/classes/com/sun/org/apache/xml/internal/utils/ObjectFactory.java + src/share/classes/com/sun/org/apache/xml/internal/utils/ObjectPool.java + src/share/classes/com/sun/org/apache/xml/internal/utils/ObjectStack.java + src/share/classes/com/sun/org/apache/xml/internal/utils/ObjectVector.java + src/share/classes/com/sun/org/apache/xml/internal/utils/PrefixResolver.java + src/share/classes/com/sun/org/apache/xml/internal/utils/PrefixResolverDefault.java + src/share/classes/com/sun/org/apache/xml/internal/utils/QName.java + src/share/classes/com/sun/org/apache/xml/internal/utils/RawCharacterHandler.java + src/share/classes/com/sun/org/apache/xml/internal/utils/SAXSourceLocator.java + src/share/classes/com/sun/org/apache/xml/internal/utils/SecuritySupport.java + src/share/classes/com/sun/org/apache/xml/internal/utils/SecuritySupport12.java + src/share/classes/com/sun/org/apache/xml/internal/utils/SerializableLocatorImpl.java + src/share/classes/com/sun/org/apache/xml/internal/utils/StopParseException.java + src/share/classes/com/sun/org/apache/xml/internal/utils/StringBufferPool.java + src/share/classes/com/sun/org/apache/xml/internal/utils/StringComparable.java + src/share/classes/com/sun/org/apache/xml/internal/utils/StringToIntTable.java + src/share/classes/com/sun/org/apache/xml/internal/utils/StringToStringTable.java + src/share/classes/com/sun/org/apache/xml/internal/utils/StringToStringTableVector.java + src/share/classes/com/sun/org/apache/xml/internal/utils/StringVector.java + src/share/classes/com/sun/org/apache/xml/internal/utils/StylesheetPIHandler.java + src/share/classes/com/sun/org/apache/xml/internal/utils/SuballocatedByteVector.java + src/share/classes/com/sun/org/apache/xml/internal/utils/SuballocatedIntVector.java + src/share/classes/com/sun/org/apache/xml/internal/utils/SystemIDResolver.java + src/share/classes/com/sun/org/apache/xml/internal/utils/ThreadControllerWrapper.java + src/share/classes/com/sun/org/apache/xml/internal/utils/TreeWalker.java + src/share/classes/com/sun/org/apache/xml/internal/utils/Trie.java + src/share/classes/com/sun/org/apache/xml/internal/utils/URI.java + src/share/classes/com/sun/org/apache/xml/internal/utils/UnImplNode.java + src/share/classes/com/sun/org/apache/xml/internal/utils/WrappedRuntimeException.java + src/share/classes/com/sun/org/apache/xml/internal/utils/WrongParserException.java + src/share/classes/com/sun/org/apache/xml/internal/utils/XML11Char.java + src/share/classes/com/sun/org/apache/xml/internal/utils/XMLChar.java + src/share/classes/com/sun/org/apache/xml/internal/utils/XMLCharacterRecognizer.java + src/share/classes/com/sun/org/apache/xml/internal/utils/XMLReaderManager.java + src/share/classes/com/sun/org/apache/xml/internal/utils/XMLString.java + src/share/classes/com/sun/org/apache/xml/internal/utils/XMLStringDefault.java + src/share/classes/com/sun/org/apache/xml/internal/utils/XMLStringFactory.java + src/share/classes/com/sun/org/apache/xml/internal/utils/XMLStringFactoryDefault.java + src/share/classes/com/sun/org/apache/xml/internal/utils/package.html + src/share/classes/com/sun/org/apache/xml/internal/utils/res/CharArrayWrapper.java + src/share/classes/com/sun/org/apache/xml/internal/utils/res/IntArrayWrapper.java + src/share/classes/com/sun/org/apache/xml/internal/utils/res/LongArrayWrapper.java + src/share/classes/com/sun/org/apache/xml/internal/utils/res/StringArrayWrapper.java + src/share/classes/com/sun/org/apache/xml/internal/utils/res/XResourceBundle.java + src/share/classes/com/sun/org/apache/xml/internal/utils/res/XResourceBundleBase.java + src/share/classes/com/sun/org/apache/xml/internal/utils/res/XResources_de.java + src/share/classes/com/sun/org/apache/xml/internal/utils/res/XResources_en.java + src/share/classes/com/sun/org/apache/xml/internal/utils/res/XResources_es.java + src/share/classes/com/sun/org/apache/xml/internal/utils/res/XResources_fr.java + src/share/classes/com/sun/org/apache/xml/internal/utils/res/XResources_it.java + src/share/classes/com/sun/org/apache/xml/internal/utils/res/XResources_ja_JP_A.java + src/share/classes/com/sun/org/apache/xml/internal/utils/res/XResources_ja_JP_HA.java + src/share/classes/com/sun/org/apache/xml/internal/utils/res/XResources_ja_JP_HI.java + src/share/classes/com/sun/org/apache/xml/internal/utils/res/XResources_ja_JP_I.java + src/share/classes/com/sun/org/apache/xml/internal/utils/res/XResources_ko.java + src/share/classes/com/sun/org/apache/xml/internal/utils/res/XResources_sv.java + src/share/classes/com/sun/org/apache/xml/internal/utils/res/XResources_zh_CN.java + src/share/classes/com/sun/org/apache/xml/internal/utils/res/XResources_zh_TW.java + src/share/classes/com/sun/org/apache/xpath/internal/Arg.java + src/share/classes/com/sun/org/apache/xpath/internal/CachedXPathAPI.java + src/share/classes/com/sun/org/apache/xpath/internal/Expression.java + src/share/classes/com/sun/org/apache/xpath/internal/ExpressionNode.java + src/share/classes/com/sun/org/apache/xpath/internal/ExpressionOwner.java + src/share/classes/com/sun/org/apache/xpath/internal/ExtensionsProvider.java + src/share/classes/com/sun/org/apache/xpath/internal/FoundIndex.java + src/share/classes/com/sun/org/apache/xpath/internal/NodeSet.java + src/share/classes/com/sun/org/apache/xpath/internal/NodeSetDTM.java + src/share/classes/com/sun/org/apache/xpath/internal/SourceTree.java + src/share/classes/com/sun/org/apache/xpath/internal/SourceTreeManager.java + src/share/classes/com/sun/org/apache/xpath/internal/VariableStack.java + src/share/classes/com/sun/org/apache/xpath/internal/WhitespaceStrippingElementMatcher.java + src/share/classes/com/sun/org/apache/xpath/internal/XPath.java + src/share/classes/com/sun/org/apache/xpath/internal/XPathAPI.java + src/share/classes/com/sun/org/apache/xpath/internal/XPathContext.java + src/share/classes/com/sun/org/apache/xpath/internal/XPathException.java + src/share/classes/com/sun/org/apache/xpath/internal/XPathFactory.java + src/share/classes/com/sun/org/apache/xpath/internal/XPathProcessorException.java + src/share/classes/com/sun/org/apache/xpath/internal/XPathVisitable.java + src/share/classes/com/sun/org/apache/xpath/internal/XPathVisitor.java + src/share/classes/com/sun/org/apache/xpath/internal/axes/AttributeIterator.java + src/share/classes/com/sun/org/apache/xpath/internal/axes/AxesWalker.java + src/share/classes/com/sun/org/apache/xpath/internal/axes/BasicTestIterator.java + src/share/classes/com/sun/org/apache/xpath/internal/axes/ChildIterator.java + src/share/classes/com/sun/org/apache/xpath/internal/axes/ChildTestIterator.java + src/share/classes/com/sun/org/apache/xpath/internal/axes/ContextNodeList.java + src/share/classes/com/sun/org/apache/xpath/internal/axes/DescendantIterator.java + src/share/classes/com/sun/org/apache/xpath/internal/axes/FilterExprIterator.java + src/share/classes/com/sun/org/apache/xpath/internal/axes/FilterExprIteratorSimple.java + src/share/classes/com/sun/org/apache/xpath/internal/axes/FilterExprWalker.java + src/share/classes/com/sun/org/apache/xpath/internal/axes/HasPositionalPredChecker.java + src/share/classes/com/sun/org/apache/xpath/internal/axes/IteratorPool.java + src/share/classes/com/sun/org/apache/xpath/internal/axes/LocPathIterator.java + src/share/classes/com/sun/org/apache/xpath/internal/axes/MatchPatternIterator.java + src/share/classes/com/sun/org/apache/xpath/internal/axes/NodeSequence.java + src/share/classes/com/sun/org/apache/xpath/internal/axes/OneStepIterator.java + src/share/classes/com/sun/org/apache/xpath/internal/axes/OneStepIteratorForward.java + src/share/classes/com/sun/org/apache/xpath/internal/axes/PathComponent.java + src/share/classes/com/sun/org/apache/xpath/internal/axes/PredicatedNodeTest.java + src/share/classes/com/sun/org/apache/xpath/internal/axes/RTFIterator.java + src/share/classes/com/sun/org/apache/xpath/internal/axes/ReverseAxesWalker.java + src/share/classes/com/sun/org/apache/xpath/internal/axes/SelfIteratorNoPredicate.java + src/share/classes/com/sun/org/apache/xpath/internal/axes/SubContextList.java + src/share/classes/com/sun/org/apache/xpath/internal/axes/UnionChildIterator.java + src/share/classes/com/sun/org/apache/xpath/internal/axes/UnionPathIterator.java + src/share/classes/com/sun/org/apache/xpath/internal/axes/WalkerFactory.java + src/share/classes/com/sun/org/apache/xpath/internal/axes/WalkingIterator.java + src/share/classes/com/sun/org/apache/xpath/internal/axes/WalkingIteratorSorted.java + src/share/classes/com/sun/org/apache/xpath/internal/axes/package.html + src/share/classes/com/sun/org/apache/xpath/internal/compiler/Compiler.java + src/share/classes/com/sun/org/apache/xpath/internal/compiler/FuncLoader.java + src/share/classes/com/sun/org/apache/xpath/internal/compiler/FunctionTable.java + src/share/classes/com/sun/org/apache/xpath/internal/compiler/Keywords.java + src/share/classes/com/sun/org/apache/xpath/internal/compiler/Lexer.java + src/share/classes/com/sun/org/apache/xpath/internal/compiler/ObjectFactory.java + src/share/classes/com/sun/org/apache/xpath/internal/compiler/OpCodes.java + src/share/classes/com/sun/org/apache/xpath/internal/compiler/OpMap.java + src/share/classes/com/sun/org/apache/xpath/internal/compiler/OpMapVector.java + src/share/classes/com/sun/org/apache/xpath/internal/compiler/PsuedoNames.java + src/share/classes/com/sun/org/apache/xpath/internal/compiler/SecuritySupport.java + src/share/classes/com/sun/org/apache/xpath/internal/compiler/SecuritySupport12.java + src/share/classes/com/sun/org/apache/xpath/internal/compiler/XPathDumper.java + src/share/classes/com/sun/org/apache/xpath/internal/compiler/XPathParser.java + src/share/classes/com/sun/org/apache/xpath/internal/compiler/package.html + src/share/classes/com/sun/org/apache/xpath/internal/domapi/XPathEvaluatorImpl.java + src/share/classes/com/sun/org/apache/xpath/internal/domapi/XPathExpressionImpl.java + src/share/classes/com/sun/org/apache/xpath/internal/domapi/XPathNSResolverImpl.java + src/share/classes/com/sun/org/apache/xpath/internal/domapi/XPathNamespaceImpl.java + src/share/classes/com/sun/org/apache/xpath/internal/domapi/XPathResultImpl.java + src/share/classes/com/sun/org/apache/xpath/internal/domapi/XPathStylesheetDOM3Exception.java + src/share/classes/com/sun/org/apache/xpath/internal/domapi/package.html + src/share/classes/com/sun/org/apache/xpath/internal/functions/FuncBoolean.java + src/share/classes/com/sun/org/apache/xpath/internal/functions/FuncCeiling.java + src/share/classes/com/sun/org/apache/xpath/internal/functions/FuncConcat.java + src/share/classes/com/sun/org/apache/xpath/internal/functions/FuncContains.java + src/share/classes/com/sun/org/apache/xpath/internal/functions/FuncCount.java + src/share/classes/com/sun/org/apache/xpath/internal/functions/FuncCurrent.java + src/share/classes/com/sun/org/apache/xpath/internal/functions/FuncDoclocation.java + src/share/classes/com/sun/org/apache/xpath/internal/functions/FuncExtElementAvailable.java + src/share/classes/com/sun/org/apache/xpath/internal/functions/FuncExtFunction.java + src/share/classes/com/sun/org/apache/xpath/internal/functions/FuncExtFunctionAvailable.java + src/share/classes/com/sun/org/apache/xpath/internal/functions/FuncFalse.java + src/share/classes/com/sun/org/apache/xpath/internal/functions/FuncFloor.java + src/share/classes/com/sun/org/apache/xpath/internal/functions/FuncGenerateId.java + src/share/classes/com/sun/org/apache/xpath/internal/functions/FuncId.java + src/share/classes/com/sun/org/apache/xpath/internal/functions/FuncLang.java + src/share/classes/com/sun/org/apache/xpath/internal/functions/FuncLast.java + src/share/classes/com/sun/org/apache/xpath/internal/functions/FuncLocalPart.java + src/share/classes/com/sun/org/apache/xpath/internal/functions/FuncNamespace.java + src/share/classes/com/sun/org/apache/xpath/internal/functions/FuncNormalizeSpace.java + src/share/classes/com/sun/org/apache/xpath/internal/functions/FuncNot.java + src/share/classes/com/sun/org/apache/xpath/internal/functions/FuncNumber.java + src/share/classes/com/sun/org/apache/xpath/internal/functions/FuncPosition.java + src/share/classes/com/sun/org/apache/xpath/internal/functions/FuncQname.java + src/share/classes/com/sun/org/apache/xpath/internal/functions/FuncRound.java + src/share/classes/com/sun/org/apache/xpath/internal/functions/FuncStartsWith.java + src/share/classes/com/sun/org/apache/xpath/internal/functions/FuncString.java + src/share/classes/com/sun/org/apache/xpath/internal/functions/FuncStringLength.java + src/share/classes/com/sun/org/apache/xpath/internal/functions/FuncSubstring.java + src/share/classes/com/sun/org/apache/xpath/internal/functions/FuncSubstringAfter.java + src/share/classes/com/sun/org/apache/xpath/internal/functions/FuncSubstringBefore.java + src/share/classes/com/sun/org/apache/xpath/internal/functions/FuncSum.java + src/share/classes/com/sun/org/apache/xpath/internal/functions/FuncSystemProperty.java + src/share/classes/com/sun/org/apache/xpath/internal/functions/FuncTranslate.java + src/share/classes/com/sun/org/apache/xpath/internal/functions/FuncTrue.java + src/share/classes/com/sun/org/apache/xpath/internal/functions/FuncUnparsedEntityURI.java + src/share/classes/com/sun/org/apache/xpath/internal/functions/Function.java + src/share/classes/com/sun/org/apache/xpath/internal/functions/Function2Args.java + src/share/classes/com/sun/org/apache/xpath/internal/functions/Function3Args.java + src/share/classes/com/sun/org/apache/xpath/internal/functions/FunctionDef1Arg.java + src/share/classes/com/sun/org/apache/xpath/internal/functions/FunctionMultiArgs.java + src/share/classes/com/sun/org/apache/xpath/internal/functions/FunctionOneArg.java + src/share/classes/com/sun/org/apache/xpath/internal/functions/ObjectFactory.java + src/share/classes/com/sun/org/apache/xpath/internal/functions/SecuritySupport.java + src/share/classes/com/sun/org/apache/xpath/internal/functions/SecuritySupport12.java + src/share/classes/com/sun/org/apache/xpath/internal/functions/WrongNumberArgsException.java + src/share/classes/com/sun/org/apache/xpath/internal/functions/package.html + src/share/classes/com/sun/org/apache/xpath/internal/jaxp/JAXPExtensionsProvider.java + src/share/classes/com/sun/org/apache/xpath/internal/jaxp/JAXPPrefixResolver.java + src/share/classes/com/sun/org/apache/xpath/internal/jaxp/JAXPVariableStack.java + src/share/classes/com/sun/org/apache/xpath/internal/jaxp/XPathExpressionImpl.java + src/share/classes/com/sun/org/apache/xpath/internal/jaxp/XPathFactoryImpl.java + src/share/classes/com/sun/org/apache/xpath/internal/jaxp/XPathImpl.java + src/share/classes/com/sun/org/apache/xpath/internal/objects/DTMXRTreeFrag.java + src/share/classes/com/sun/org/apache/xpath/internal/objects/XBoolean.java + src/share/classes/com/sun/org/apache/xpath/internal/objects/XBooleanStatic.java + src/share/classes/com/sun/org/apache/xpath/internal/objects/XMLStringFactoryImpl.java + src/share/classes/com/sun/org/apache/xpath/internal/objects/XNodeSet.java + src/share/classes/com/sun/org/apache/xpath/internal/objects/XNodeSetForDOM.java + src/share/classes/com/sun/org/apache/xpath/internal/objects/XNull.java + src/share/classes/com/sun/org/apache/xpath/internal/objects/XNumber.java + src/share/classes/com/sun/org/apache/xpath/internal/objects/XObject.java + src/share/classes/com/sun/org/apache/xpath/internal/objects/XObjectFactory.java + src/share/classes/com/sun/org/apache/xpath/internal/objects/XRTreeFrag.java + src/share/classes/com/sun/org/apache/xpath/internal/objects/XRTreeFragSelectWrapper.java + src/share/classes/com/sun/org/apache/xpath/internal/objects/XString.java + src/share/classes/com/sun/org/apache/xpath/internal/objects/XStringForChars.java + src/share/classes/com/sun/org/apache/xpath/internal/objects/XStringForFSB.java + src/share/classes/com/sun/org/apache/xpath/internal/objects/package.html + src/share/classes/com/sun/org/apache/xpath/internal/operations/And.java + src/share/classes/com/sun/org/apache/xpath/internal/operations/Bool.java + src/share/classes/com/sun/org/apache/xpath/internal/operations/Div.java + src/share/classes/com/sun/org/apache/xpath/internal/operations/Equals.java + src/share/classes/com/sun/org/apache/xpath/internal/operations/Gt.java + src/share/classes/com/sun/org/apache/xpath/internal/operations/Gte.java + src/share/classes/com/sun/org/apache/xpath/internal/operations/Lt.java + src/share/classes/com/sun/org/apache/xpath/internal/operations/Lte.java + src/share/classes/com/sun/org/apache/xpath/internal/operations/Minus.java + src/share/classes/com/sun/org/apache/xpath/internal/operations/Mod.java + src/share/classes/com/sun/org/apache/xpath/internal/operations/Mult.java + src/share/classes/com/sun/org/apache/xpath/internal/operations/Neg.java + src/share/classes/com/sun/org/apache/xpath/internal/operations/NotEquals.java + src/share/classes/com/sun/org/apache/xpath/internal/operations/Number.java + src/share/classes/com/sun/org/apache/xpath/internal/operations/Operation.java + src/share/classes/com/sun/org/apache/xpath/internal/operations/Or.java + src/share/classes/com/sun/org/apache/xpath/internal/operations/Plus.java + src/share/classes/com/sun/org/apache/xpath/internal/operations/Quo.java + src/share/classes/com/sun/org/apache/xpath/internal/operations/String.java + src/share/classes/com/sun/org/apache/xpath/internal/operations/UnaryOperation.java + src/share/classes/com/sun/org/apache/xpath/internal/operations/Variable.java + src/share/classes/com/sun/org/apache/xpath/internal/operations/VariableSafeAbsRef.java + src/share/classes/com/sun/org/apache/xpath/internal/operations/package.html + src/share/classes/com/sun/org/apache/xpath/internal/package.html + src/share/classes/com/sun/org/apache/xpath/internal/patterns/ContextMatchStepPattern.java + src/share/classes/com/sun/org/apache/xpath/internal/patterns/FunctionPattern.java + src/share/classes/com/sun/org/apache/xpath/internal/patterns/NodeTest.java + src/share/classes/com/sun/org/apache/xpath/internal/patterns/NodeTestFilter.java + src/share/classes/com/sun/org/apache/xpath/internal/patterns/StepPattern.java + src/share/classes/com/sun/org/apache/xpath/internal/patterns/UnionPattern.java + src/share/classes/com/sun/org/apache/xpath/internal/patterns/package.html + src/share/classes/com/sun/org/apache/xpath/internal/res/XPATHErrorResources.java + src/share/classes/com/sun/org/apache/xpath/internal/res/XPATHErrorResources_de.java + src/share/classes/com/sun/org/apache/xpath/internal/res/XPATHErrorResources_en.java + src/share/classes/com/sun/org/apache/xpath/internal/res/XPATHErrorResources_es.java + src/share/classes/com/sun/org/apache/xpath/internal/res/XPATHErrorResources_fr.java + src/share/classes/com/sun/org/apache/xpath/internal/res/XPATHErrorResources_it.java + src/share/classes/com/sun/org/apache/xpath/internal/res/XPATHErrorResources_ja.java + src/share/classes/com/sun/org/apache/xpath/internal/res/XPATHErrorResources_ko.java + src/share/classes/com/sun/org/apache/xpath/internal/res/XPATHErrorResources_pt_BR.java + src/share/classes/com/sun/org/apache/xpath/internal/res/XPATHErrorResources_sv.java + src/share/classes/com/sun/org/apache/xpath/internal/res/XPATHErrorResources_zh_CN.java + src/share/classes/com/sun/org/apache/xpath/internal/res/XPATHErrorResources_zh_TW.java + src/share/classes/com/sun/org/apache/xpath/internal/res/XPATHMessages.java + src/share/classes/com/sun/org/apache/xpath/internal/res/package.html + src/share/classes/com/sun/xml/internal/stream/Entity.java + src/share/classes/com/sun/xml/internal/stream/EventFilterSupport.java + src/share/classes/com/sun/xml/internal/stream/StaxEntityResolverWrapper.java + src/share/classes/com/sun/xml/internal/stream/StaxErrorReporter.java + src/share/classes/com/sun/xml/internal/stream/StaxXMLInputSource.java + src/share/classes/com/sun/xml/internal/stream/XMLBufferListener.java + src/share/classes/com/sun/xml/internal/stream/XMLEntityReader.java + src/share/classes/com/sun/xml/internal/stream/XMLEntityStorage.java + src/share/classes/com/sun/xml/internal/stream/XMLEventReaderImpl.java + src/share/classes/com/sun/xml/internal/stream/XMLInputFactoryImpl.java + src/share/classes/com/sun/xml/internal/stream/XMLOutputFactoryImpl.java + src/share/classes/com/sun/xml/internal/stream/dtd/DTDGrammarUtil.java + src/share/classes/com/sun/xml/internal/stream/dtd/nonvalidating/DTDGrammar.java + src/share/classes/com/sun/xml/internal/stream/dtd/nonvalidating/XMLAttributeDecl.java + src/share/classes/com/sun/xml/internal/stream/dtd/nonvalidating/XMLElementDecl.java + src/share/classes/com/sun/xml/internal/stream/dtd/nonvalidating/XMLNotationDecl.java + src/share/classes/com/sun/xml/internal/stream/dtd/nonvalidating/XMLSimpleType.java + src/share/classes/com/sun/xml/internal/stream/events/AttributeImpl.java + src/share/classes/com/sun/xml/internal/stream/events/CharacterEvent.java + src/share/classes/com/sun/xml/internal/stream/events/CommentEvent.java + src/share/classes/com/sun/xml/internal/stream/events/DTDEvent.java + src/share/classes/com/sun/xml/internal/stream/events/DummyEvent.java + src/share/classes/com/sun/xml/internal/stream/events/EndDocumentEvent.java + src/share/classes/com/sun/xml/internal/stream/events/EndElementEvent.java + src/share/classes/com/sun/xml/internal/stream/events/EntityDeclarationImpl.java + src/share/classes/com/sun/xml/internal/stream/events/EntityReferenceEvent.java + src/share/classes/com/sun/xml/internal/stream/events/LocationImpl.java + src/share/classes/com/sun/xml/internal/stream/events/NamedEvent.java + src/share/classes/com/sun/xml/internal/stream/events/NamespaceImpl.java + src/share/classes/com/sun/xml/internal/stream/events/NotationDeclarationImpl.java + src/share/classes/com/sun/xml/internal/stream/events/ProcessingInstructionEvent.java + src/share/classes/com/sun/xml/internal/stream/events/StartDocumentEvent.java + src/share/classes/com/sun/xml/internal/stream/events/StartElementEvent.java + src/share/classes/com/sun/xml/internal/stream/events/XMLEventAllocatorImpl.java + src/share/classes/com/sun/xml/internal/stream/events/XMLEventFactoryImpl.java + src/share/classes/com/sun/xml/internal/stream/javax.xml.stream.XMLEventFactory + src/share/classes/com/sun/xml/internal/stream/javax.xml.stream.XMLInputFactory + src/share/classes/com/sun/xml/internal/stream/javax.xml.stream.XMLOutputFactory + src/share/classes/com/sun/xml/internal/stream/util/BufferAllocator.java + src/share/classes/com/sun/xml/internal/stream/util/ReadOnlyIterator.java + src/share/classes/com/sun/xml/internal/stream/util/ThreadLocalBufferAllocator.java + src/share/classes/com/sun/xml/internal/stream/writers/UTF8OutputStreamWriter.java + src/share/classes/com/sun/xml/internal/stream/writers/WriterUtility.java + src/share/classes/com/sun/xml/internal/stream/writers/XMLDOMWriterImpl.java + src/share/classes/com/sun/xml/internal/stream/writers/XMLEventWriterImpl.java + src/share/classes/com/sun/xml/internal/stream/writers/XMLOutputSource.java + src/share/classes/com/sun/xml/internal/stream/writers/XMLStreamWriterImpl.java + src/share/classes/com/sun/xml/internal/stream/writers/XMLWriter.java + src/share/classes/javax/xml/XMLConstants.java + src/share/classes/javax/xml/datatype/DatatypeConfigurationException.java + src/share/classes/javax/xml/datatype/DatatypeConstants.java + src/share/classes/javax/xml/datatype/DatatypeFactory.java + src/share/classes/javax/xml/datatype/Duration.java + src/share/classes/javax/xml/datatype/FactoryFinder.java + src/share/classes/javax/xml/datatype/SecuritySupport.java + src/share/classes/javax/xml/datatype/XMLGregorianCalendar.java + src/share/classes/javax/xml/datatype/package.html + src/share/classes/javax/xml/namespace/NamespaceContext.java + src/share/classes/javax/xml/namespace/QName.java + src/share/classes/javax/xml/namespace/package.html + src/share/classes/javax/xml/parsers/DocumentBuilder.java + src/share/classes/javax/xml/parsers/DocumentBuilderFactory.java + src/share/classes/javax/xml/parsers/FactoryConfigurationError.java + src/share/classes/javax/xml/parsers/FactoryFinder.java + src/share/classes/javax/xml/parsers/ParserConfigurationException.java + src/share/classes/javax/xml/parsers/SAXParser.java + src/share/classes/javax/xml/parsers/SAXParserFactory.java + src/share/classes/javax/xml/parsers/SecuritySupport.java + src/share/classes/javax/xml/parsers/package.html + src/share/classes/javax/xml/stream/EventFilter.java + src/share/classes/javax/xml/stream/FactoryConfigurationError.java + src/share/classes/javax/xml/stream/FactoryFinder.java + src/share/classes/javax/xml/stream/Location.java + src/share/classes/javax/xml/stream/SecuritySupport.java + src/share/classes/javax/xml/stream/StreamFilter.java + src/share/classes/javax/xml/stream/XMLEventFactory.java + src/share/classes/javax/xml/stream/XMLEventReader.java + src/share/classes/javax/xml/stream/XMLEventWriter.java + src/share/classes/javax/xml/stream/XMLInputFactory.java + src/share/classes/javax/xml/stream/XMLOutputFactory.java + src/share/classes/javax/xml/stream/XMLReporter.java + src/share/classes/javax/xml/stream/XMLResolver.java + src/share/classes/javax/xml/stream/XMLStreamConstants.java + src/share/classes/javax/xml/stream/XMLStreamException.java + src/share/classes/javax/xml/stream/XMLStreamReader.java + src/share/classes/javax/xml/stream/XMLStreamWriter.java + src/share/classes/javax/xml/stream/events/Attribute.java + src/share/classes/javax/xml/stream/events/Characters.java + src/share/classes/javax/xml/stream/events/Comment.java + src/share/classes/javax/xml/stream/events/DTD.java + src/share/classes/javax/xml/stream/events/EndDocument.java + src/share/classes/javax/xml/stream/events/EndElement.java + src/share/classes/javax/xml/stream/events/EntityDeclaration.java + src/share/classes/javax/xml/stream/events/EntityReference.java + src/share/classes/javax/xml/stream/events/Namespace.java + src/share/classes/javax/xml/stream/events/NotationDeclaration.java + src/share/classes/javax/xml/stream/events/ProcessingInstruction.java + src/share/classes/javax/xml/stream/events/StartDocument.java + src/share/classes/javax/xml/stream/events/StartElement.java + src/share/classes/javax/xml/stream/events/XMLEvent.java + src/share/classes/javax/xml/stream/util/EventReaderDelegate.java + src/share/classes/javax/xml/stream/util/StreamReaderDelegate.java + src/share/classes/javax/xml/stream/util/XMLEventAllocator.java + src/share/classes/javax/xml/stream/util/XMLEventConsumer.java + src/share/classes/javax/xml/transform/ErrorListener.java + src/share/classes/javax/xml/transform/FactoryFinder.java + src/share/classes/javax/xml/transform/OutputKeys.java + src/share/classes/javax/xml/transform/Result.java + src/share/classes/javax/xml/transform/SecuritySupport.java + src/share/classes/javax/xml/transform/Source.java + src/share/classes/javax/xml/transform/SourceLocator.java + src/share/classes/javax/xml/transform/Templates.java + src/share/classes/javax/xml/transform/Transformer.java + src/share/classes/javax/xml/transform/TransformerConfigurationException.java + src/share/classes/javax/xml/transform/TransformerException.java + src/share/classes/javax/xml/transform/TransformerFactory.java + src/share/classes/javax/xml/transform/TransformerFactoryConfigurationError.java + src/share/classes/javax/xml/transform/URIResolver.java + src/share/classes/javax/xml/transform/dom/DOMLocator.java + src/share/classes/javax/xml/transform/dom/DOMResult.java + src/share/classes/javax/xml/transform/dom/DOMSource.java + src/share/classes/javax/xml/transform/dom/package.html + src/share/classes/javax/xml/transform/overview.html + src/share/classes/javax/xml/transform/package.html + src/share/classes/javax/xml/transform/sax/SAXResult.java + src/share/classes/javax/xml/transform/sax/SAXSource.java + src/share/classes/javax/xml/transform/sax/SAXTransformerFactory.java + src/share/classes/javax/xml/transform/sax/TemplatesHandler.java + src/share/classes/javax/xml/transform/sax/TransformerHandler.java + src/share/classes/javax/xml/transform/sax/package.html + src/share/classes/javax/xml/transform/stax/StAXResult.java + src/share/classes/javax/xml/transform/stax/StAXSource.java + src/share/classes/javax/xml/transform/stax/package.html + src/share/classes/javax/xml/transform/stream/StreamResult.java + src/share/classes/javax/xml/transform/stream/StreamSource.java + src/share/classes/javax/xml/transform/stream/package.html + src/share/classes/javax/xml/validation/Schema.java + src/share/classes/javax/xml/validation/SchemaFactory.java + src/share/classes/javax/xml/validation/SchemaFactoryFinder.java + src/share/classes/javax/xml/validation/SchemaFactoryLoader.java + src/share/classes/javax/xml/validation/SecuritySupport.java + src/share/classes/javax/xml/validation/TypeInfoProvider.java + src/share/classes/javax/xml/validation/Validator.java + src/share/classes/javax/xml/validation/ValidatorHandler.java + src/share/classes/javax/xml/validation/package.html + src/share/classes/javax/xml/xpath/SecuritySupport.java + src/share/classes/javax/xml/xpath/XPath.java + src/share/classes/javax/xml/xpath/XPathConstants.java + src/share/classes/javax/xml/xpath/XPathException.java + src/share/classes/javax/xml/xpath/XPathExpression.java + src/share/classes/javax/xml/xpath/XPathExpressionException.java + src/share/classes/javax/xml/xpath/XPathFactory.java + src/share/classes/javax/xml/xpath/XPathFactoryConfigurationException.java + src/share/classes/javax/xml/xpath/XPathFactoryFinder.java + src/share/classes/javax/xml/xpath/XPathFunction.java + src/share/classes/javax/xml/xpath/XPathFunctionException.java + src/share/classes/javax/xml/xpath/XPathFunctionResolver.java + src/share/classes/javax/xml/xpath/XPathVariableResolver.java + src/share/classes/javax/xml/xpath/package.html + src/share/classes/org/w3c/dom/Attr.java + src/share/classes/org/w3c/dom/CDATASection.java + src/share/classes/org/w3c/dom/CharacterData.java + src/share/classes/org/w3c/dom/Comment.java + src/share/classes/org/w3c/dom/DOMConfiguration.java + src/share/classes/org/w3c/dom/DOMError.java + src/share/classes/org/w3c/dom/DOMErrorHandler.java + src/share/classes/org/w3c/dom/DOMException.java + src/share/classes/org/w3c/dom/DOMImplementation.java + src/share/classes/org/w3c/dom/DOMImplementationList.java + src/share/classes/org/w3c/dom/DOMImplementationSource.java + src/share/classes/org/w3c/dom/DOMLocator.java + src/share/classes/org/w3c/dom/DOMStringList.java + src/share/classes/org/w3c/dom/Document.java + src/share/classes/org/w3c/dom/DocumentFragment.java + src/share/classes/org/w3c/dom/DocumentType.java + src/share/classes/org/w3c/dom/Element.java + src/share/classes/org/w3c/dom/Entity.java + src/share/classes/org/w3c/dom/EntityReference.java + src/share/classes/org/w3c/dom/NameList.java + src/share/classes/org/w3c/dom/NamedNodeMap.java + src/share/classes/org/w3c/dom/Node.java + src/share/classes/org/w3c/dom/NodeList.java + src/share/classes/org/w3c/dom/Notation.java + src/share/classes/org/w3c/dom/ProcessingInstruction.java + src/share/classes/org/w3c/dom/Text.java + src/share/classes/org/w3c/dom/TypeInfo.java + src/share/classes/org/w3c/dom/UserDataHandler.java + src/share/classes/org/w3c/dom/bootstrap/DOMImplementationRegistry.java + src/share/classes/org/w3c/dom/css/CSS2Properties.java + src/share/classes/org/w3c/dom/css/CSSCharsetRule.java + src/share/classes/org/w3c/dom/css/CSSFontFaceRule.java + src/share/classes/org/w3c/dom/css/CSSImportRule.java + src/share/classes/org/w3c/dom/css/CSSMediaRule.java + src/share/classes/org/w3c/dom/css/CSSPageRule.java + src/share/classes/org/w3c/dom/css/CSSPrimitiveValue.java + src/share/classes/org/w3c/dom/css/CSSRule.java + src/share/classes/org/w3c/dom/css/CSSRuleList.java + src/share/classes/org/w3c/dom/css/CSSStyleDeclaration.java + src/share/classes/org/w3c/dom/css/CSSStyleRule.java + src/share/classes/org/w3c/dom/css/CSSStyleSheet.java + src/share/classes/org/w3c/dom/css/CSSUnknownRule.java + src/share/classes/org/w3c/dom/css/CSSValue.java + src/share/classes/org/w3c/dom/css/CSSValueList.java + src/share/classes/org/w3c/dom/css/Counter.java + src/share/classes/org/w3c/dom/css/DOMImplementationCSS.java + src/share/classes/org/w3c/dom/css/DocumentCSS.java + src/share/classes/org/w3c/dom/css/ElementCSSInlineStyle.java + src/share/classes/org/w3c/dom/css/RGBColor.java + src/share/classes/org/w3c/dom/css/Rect.java + src/share/classes/org/w3c/dom/css/ViewCSS.java + src/share/classes/org/w3c/dom/events/DocumentEvent.java + src/share/classes/org/w3c/dom/events/Event.java + src/share/classes/org/w3c/dom/events/EventException.java + src/share/classes/org/w3c/dom/events/EventListener.java + src/share/classes/org/w3c/dom/events/EventTarget.java + src/share/classes/org/w3c/dom/events/MouseEvent.java + src/share/classes/org/w3c/dom/events/MutationEvent.java + src/share/classes/org/w3c/dom/events/UIEvent.java + src/share/classes/org/w3c/dom/html/HTMLAnchorElement.java + src/share/classes/org/w3c/dom/html/HTMLAppletElement.java + src/share/classes/org/w3c/dom/html/HTMLAreaElement.java + src/share/classes/org/w3c/dom/html/HTMLBRElement.java + src/share/classes/org/w3c/dom/html/HTMLBaseElement.java + src/share/classes/org/w3c/dom/html/HTMLBaseFontElement.java + src/share/classes/org/w3c/dom/html/HTMLBodyElement.java + src/share/classes/org/w3c/dom/html/HTMLButtonElement.java + src/share/classes/org/w3c/dom/html/HTMLCollection.java + src/share/classes/org/w3c/dom/html/HTMLDListElement.java + src/share/classes/org/w3c/dom/html/HTMLDOMImplementation.java + src/share/classes/org/w3c/dom/html/HTMLDirectoryElement.java + src/share/classes/org/w3c/dom/html/HTMLDivElement.java + src/share/classes/org/w3c/dom/html/HTMLDocument.java + src/share/classes/org/w3c/dom/html/HTMLElement.java + src/share/classes/org/w3c/dom/html/HTMLFieldSetElement.java + src/share/classes/org/w3c/dom/html/HTMLFontElement.java + src/share/classes/org/w3c/dom/html/HTMLFormElement.java + src/share/classes/org/w3c/dom/html/HTMLFrameElement.java + src/share/classes/org/w3c/dom/html/HTMLFrameSetElement.java + src/share/classes/org/w3c/dom/html/HTMLHRElement.java + src/share/classes/org/w3c/dom/html/HTMLHeadElement.java + src/share/classes/org/w3c/dom/html/HTMLHeadingElement.java + src/share/classes/org/w3c/dom/html/HTMLHtmlElement.java + src/share/classes/org/w3c/dom/html/HTMLIFrameElement.java + src/share/classes/org/w3c/dom/html/HTMLImageElement.java + src/share/classes/org/w3c/dom/html/HTMLInputElement.java + src/share/classes/org/w3c/dom/html/HTMLIsIndexElement.java + src/share/classes/org/w3c/dom/html/HTMLLIElement.java + src/share/classes/org/w3c/dom/html/HTMLLabelElement.java + src/share/classes/org/w3c/dom/html/HTMLLegendElement.java + src/share/classes/org/w3c/dom/html/HTMLLinkElement.java + src/share/classes/org/w3c/dom/html/HTMLMapElement.java + src/share/classes/org/w3c/dom/html/HTMLMenuElement.java + src/share/classes/org/w3c/dom/html/HTMLMetaElement.java + src/share/classes/org/w3c/dom/html/HTMLModElement.java + src/share/classes/org/w3c/dom/html/HTMLOListElement.java + src/share/classes/org/w3c/dom/html/HTMLObjectElement.java + src/share/classes/org/w3c/dom/html/HTMLOptGroupElement.java + src/share/classes/org/w3c/dom/html/HTMLOptionElement.java + src/share/classes/org/w3c/dom/html/HTMLParagraphElement.java + src/share/classes/org/w3c/dom/html/HTMLParamElement.java + src/share/classes/org/w3c/dom/html/HTMLPreElement.java + src/share/classes/org/w3c/dom/html/HTMLQuoteElement.java + src/share/classes/org/w3c/dom/html/HTMLScriptElement.java + src/share/classes/org/w3c/dom/html/HTMLSelectElement.java + src/share/classes/org/w3c/dom/html/HTMLStyleElement.java + src/share/classes/org/w3c/dom/html/HTMLTableCaptionElement.java + src/share/classes/org/w3c/dom/html/HTMLTableCellElement.java + src/share/classes/org/w3c/dom/html/HTMLTableColElement.java + src/share/classes/org/w3c/dom/html/HTMLTableElement.java + src/share/classes/org/w3c/dom/html/HTMLTableRowElement.java + src/share/classes/org/w3c/dom/html/HTMLTableSectionElement.java + src/share/classes/org/w3c/dom/html/HTMLTextAreaElement.java + src/share/classes/org/w3c/dom/html/HTMLTitleElement.java + src/share/classes/org/w3c/dom/html/HTMLUListElement.java + src/share/classes/org/w3c/dom/ls/DOMImplementationLS.java + src/share/classes/org/w3c/dom/ls/LSException.java + src/share/classes/org/w3c/dom/ls/LSInput.java + src/share/classes/org/w3c/dom/ls/LSLoadEvent.java + src/share/classes/org/w3c/dom/ls/LSOutput.java + src/share/classes/org/w3c/dom/ls/LSParser.java + src/share/classes/org/w3c/dom/ls/LSParserFilter.java + src/share/classes/org/w3c/dom/ls/LSProgressEvent.java + src/share/classes/org/w3c/dom/ls/LSResourceResolver.java + src/share/classes/org/w3c/dom/ls/LSSerializer.java + src/share/classes/org/w3c/dom/ls/LSSerializerFilter.java + src/share/classes/org/w3c/dom/package.html + src/share/classes/org/w3c/dom/ranges/DocumentRange.java + src/share/classes/org/w3c/dom/ranges/Range.java + src/share/classes/org/w3c/dom/ranges/RangeException.java + src/share/classes/org/w3c/dom/ranges/package.html + src/share/classes/org/w3c/dom/stylesheets/DocumentStyle.java + src/share/classes/org/w3c/dom/stylesheets/LinkStyle.java + src/share/classes/org/w3c/dom/stylesheets/MediaList.java + src/share/classes/org/w3c/dom/stylesheets/StyleSheet.java + src/share/classes/org/w3c/dom/stylesheets/StyleSheetList.java + src/share/classes/org/w3c/dom/traversal/DocumentTraversal.java + src/share/classes/org/w3c/dom/traversal/NodeFilter.java + src/share/classes/org/w3c/dom/traversal/NodeIterator.java + src/share/classes/org/w3c/dom/traversal/TreeWalker.java + src/share/classes/org/w3c/dom/views/AbstractView.java + src/share/classes/org/w3c/dom/views/DocumentView.java + src/share/classes/org/w3c/dom/xpath/COPYRIGHT.html + src/share/classes/org/w3c/dom/xpath/XPathEvaluator.java + src/share/classes/org/w3c/dom/xpath/XPathException.java + src/share/classes/org/w3c/dom/xpath/XPathExpression.java + src/share/classes/org/w3c/dom/xpath/XPathNSResolver.java + src/share/classes/org/w3c/dom/xpath/XPathNamespace.java + src/share/classes/org/w3c/dom/xpath/XPathResult.java + src/share/classes/org/xml/sax/AttributeList.java + src/share/classes/org/xml/sax/Attributes.java + src/share/classes/org/xml/sax/COPYING + src/share/classes/org/xml/sax/COPYING.txt + src/share/classes/org/xml/sax/ContentHandler.java + src/share/classes/org/xml/sax/DTDHandler.java + src/share/classes/org/xml/sax/DocumentHandler.java + src/share/classes/org/xml/sax/EntityResolver.java + src/share/classes/org/xml/sax/ErrorHandler.java + src/share/classes/org/xml/sax/HandlerBase.java + src/share/classes/org/xml/sax/InputSource.java + src/share/classes/org/xml/sax/Locator.java + src/share/classes/org/xml/sax/Parser.java + src/share/classes/org/xml/sax/SAXException.java + src/share/classes/org/xml/sax/SAXNotRecognizedException.java + src/share/classes/org/xml/sax/SAXNotSupportedException.java + src/share/classes/org/xml/sax/SAXParseException.java + src/share/classes/org/xml/sax/XMLFilter.java + src/share/classes/org/xml/sax/XMLReader.java + src/share/classes/org/xml/sax/ext/Attributes2.java + src/share/classes/org/xml/sax/ext/Attributes2Impl.java + src/share/classes/org/xml/sax/ext/DeclHandler.java + src/share/classes/org/xml/sax/ext/DefaultHandler2.java + src/share/classes/org/xml/sax/ext/EntityResolver2.java + src/share/classes/org/xml/sax/ext/LexicalHandler.java + src/share/classes/org/xml/sax/ext/Locator2.java + src/share/classes/org/xml/sax/ext/Locator2Impl.java + src/share/classes/org/xml/sax/ext/package.html + src/share/classes/org/xml/sax/helpers/AttributeListImpl.java + src/share/classes/org/xml/sax/helpers/AttributesImpl.java + src/share/classes/org/xml/sax/helpers/DefaultHandler.java + src/share/classes/org/xml/sax/helpers/LocatorImpl.java + src/share/classes/org/xml/sax/helpers/NamespaceSupport.java + src/share/classes/org/xml/sax/helpers/NewInstance.java + src/share/classes/org/xml/sax/helpers/ParserAdapter.java + src/share/classes/org/xml/sax/helpers/ParserFactory.java + src/share/classes/org/xml/sax/helpers/XMLFilterImpl.java + src/share/classes/org/xml/sax/helpers/XMLReaderAdapter.java + src/share/classes/org/xml/sax/helpers/XMLReaderFactory.java + src/share/classes/org/xml/sax/helpers/package.html + src/share/classes/org/xml/sax/package.html Changeset: 25099a745e1a Author: katleman Date: 2012-03-07 13:46 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/jaxp/rev/25099a745e1a Merge - build-defs.xml - build-drop-template.xml - jaxp.properties - patches/jaxp_src/README Changeset: 3be30c25a825 Author: katleman Date: 2012-03-08 20:34 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/jaxp/rev/3be30c25a825 Added tag jdk8-b29 for changeset 25099a745e1a ! .hgtags Changeset: 94aabe098916 Author: katleman Date: 2012-03-15 15:16 -0700 URL: http://hg.openjdk.java.net/lambda/lambda/jaxp/rev/94aabe098916 Added tag jdk8-b30 for changeset 3be30c25a825 ! .hgtags Changeset: 5bcc1bdcf460 Author: mduigou Date: 2012-03-21 17:30 -0700 URL: http://hg.openjdk.java.net/lambda/lambda/jaxp/rev/5bcc1bdcf460 Merge - build-defs.xml - build-drop-template.xml - jaxp.properties - patches/jaxp_src/README From mike.duigou at oracle.com Fri Mar 23 19:16:31 2012 From: mike.duigou at oracle.com (Mike Duigou) Date: Fri, 23 Mar 2012 19:16:31 -0700 Subject: sync'ing the hotspot repository with JDK8 [+MacOS support] In-Reply-To: References: <4F61E681.10004@oracle.com> <230BCF94-C58A-44F2-B50A-D51287A051BD@oracle.com> Message-ID: <26094ED5-8C4C-452B-87C1-86FA003976C5@oracle.com> I have merged the jdk8 mainline into the the lambda root, corba, jaxp, jaxw, and jdk repos. With Keith's merge of Hotspot yesterday this means that it's now possible to build lambda on MacOSX. I've made a mac build and it passes the basic jtreg smoketests. Binary builds on the openjdk website will probably happen once Maurizio completes the next langtools sync in the next couple of weeks. Enjoy! Mike On Mar 21 2012, at 00:42 , Henri Gomez wrote: > Hello Mike > > Did you do a merge for Lambda support ? > > 2012/3/21 Mike Duigou : >> I've done a merge for the jdk and can commit it whenever the other repos are ready. It looks like there a bunch of stuff in langtools that will need Maurizio's attention. >> >> Mike >> >> >> On Mar 15 2012, at 05:54 , Keith McGuigan wrote: >> >>> >>> I don't know if it will enable building of full JDKs/JREs on Mac, as >>> there might be changes in the 'jdk' repo that are needed as well (and I >>> was only going to sync 'hotspot'). We might be able to build Mac JVM >>> though. >>> >>> On 3/15/2012 4:57 AM, Ben Evans wrote: >>>> Hi Keith, >>>> >>>> Will such a synch allow a lambda-capable Mac build? >>>> >>>> If so, please go for it, as my understanding is that it's still >>>> proving problematic to produce such a binary build. >>>> >>>> In the AdoptAJSR / AdoptOpenJDK projects we have a bunch of Mac users >>>> who are champing at the bit to have a play with lambdas. :) >>>> >>>> Thanks, >>>> >>>> Ben >>>> >>>> On Thu, Mar 15, 2012 at 12:25 AM, Keith McGuigan >>>> wrote: >>>>> Hi, >>>>> >>>>> Any objection to be me sync'ing the lambda hotspot repository with the >>>>> jdk8 hotspot repo (i.e., pulling jdk8 into lambda)? >>>>> >>>>> -- >>>>> - Keith >>>>> >>> >> From mike.duigou at oracle.com Fri Mar 23 19:14:57 2012 From: mike.duigou at oracle.com (mike.duigou at oracle.com) Date: Sat, 24 Mar 2012 02:14:57 +0000 Subject: hg: lambda/lambda/jdk: 481 new changesets Message-ID: <20120324033322.B824147B34@hg.openjdk.java.net> Changeset: bfd720647db2 Author: yhuang Date: 2011-10-31 20:14 -0700 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/bfd720647db2 7077119: remove past transition dates from CurrencyData.properties file Reviewed-by: naoto ! src/share/classes/java/util/CurrencyData.properties ! test/java/util/Currency/CurrencyTest.java ! test/java/util/Currency/ValidateISO4217.java ! test/java/util/Currency/tablea1.txt Changeset: cfc6fd491b97 Author: yhuang Date: 2011-10-31 21:30 -0700 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/cfc6fd491b97 6755060: Collator.compare() does not compare correctly for the Thai locale Reviewed-by: naoto ! src/share/classes/sun/text/resources/CollationData_th.java + test/sun/text/resources/Collator/Bug6755060.java Changeset: 0549410acf26 Author: yhuang Date: 2011-10-31 21:38 -0700 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/0549410acf26 Merge Changeset: f3227efde13d Author: yhuang Date: 2011-10-31 21:43 -0700 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/f3227efde13d 7101495: In Latvia first day of week is Monday Reviewed-by: naoto, peytoia ! src/share/classes/sun/util/resources/CalendarData_lv.properties ! test/sun/text/resources/LocaleData ! test/sun/text/resources/LocaleDataTest.java Changeset: ab837acc60fb Author: yhuang Date: 2011-10-31 21:45 -0700 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/ab837acc60fb Merge Changeset: 631ee738378a Author: mfang Date: 2011-11-03 17:34 -0700 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/631ee738378a Merge Changeset: 94e5604022fa Author: ngmr Date: 2011-09-15 19:29 +0100 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/94e5604022fa 6988099: jvmti demos missing Publisher (COMPANY resource) in dlls/exes on windows Summary: Add creation/linking of resource data to link step for demos on Windows Reviewed-by: dcubed, zgu, ngmr, ohair Contributed-by: Sean Chou ! make/common/Demo.gmk Changeset: 5791714b9472 Author: ohair Date: 2011-11-04 10:34 -0700 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/5791714b9472 Merge Changeset: 4cb2e8679b27 Author: katleman Date: 2011-11-09 13:46 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/4cb2e8679b27 Merge Changeset: 52bd7fc8fcb0 Author: katleman Date: 2011-11-10 11:46 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/52bd7fc8fcb0 Added tag jdk8-b13 for changeset 4cb2e8679b27 ! .hgtags Changeset: 9de1dbf8c9be Author: lana Date: 2011-10-26 17:59 -0700 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/9de1dbf8c9be Merge - src/share/classes/java/util/XMLUtils.java - src/share/classes/sun/tools/jar/JarImageSource.java Changeset: 76defa20906a Author: ngmr Date: 2011-09-23 15:18 +0100 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/76defa20906a 7105640: Unix printing does not check the result of exec'd lpr/lp command Summary: Add checking, exception for spool process failure Reviewed-by: prr, jgodinez Contributed-by: Neil Richards ! src/share/classes/sun/print/PSPrinterJob.java ! src/solaris/classes/sun/print/UnixPrintJob.java Changeset: 4544585a3cea Author: lana Date: 2011-11-05 14:27 -0700 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/4544585a3cea Merge - make/sun/rmi/rmi/mapfile-vers - src/share/classes/sun/security/pkcs/EncodingException.java - src/share/classes/sun/security/pkcs/PKCS10.java - src/share/classes/sun/security/pkcs/PKCS10Attribute.java - src/share/classes/sun/security/pkcs/PKCS10Attributes.java - src/share/classes/sun/security/util/BigInt.java - src/share/classes/sun/security/util/PathList.java - src/share/classes/sun/security/x509/CertAndKeyGen.java - src/share/native/sun/rmi/server/MarshalInputStream.c - test/java/net/DatagramSocket/ChangingAddress.java - test/sun/security/util/BigInt/BigIntEqualsHashCode.java Changeset: aa3f5117c485 Author: rupashka Date: 2011-10-17 15:10 +0400 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/aa3f5117c485 7099251: javax.swing.text.html.HTMLDocument.insertAfterStart(null, something) throws NPE Reviewed-by: rupashka Contributed-by: alexandr.scherbatiy at oracle.com ! src/share/classes/javax/swing/text/html/HTMLDocument.java Changeset: 4f74e3fdf86b Author: rupashka Date: 2011-10-17 16:40 +0400 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/4f74e3fdf86b 7100004: javax.swing.JTable.setAutoCreateRowSorter(boolean autoCreateRowSorter) should mention default value Reviewed-by: rupashka Contributed-by: alexandr.scherbatiy at oracle.com ! src/share/classes/javax/swing/JTable.java Changeset: f1dbc62c7c6d Author: rupashka Date: 2011-10-17 17:19 +0400 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/f1dbc62c7c6d 7077293: javax/swing/JComponent/4337267/bug4337267.java failed on windows 2003 Reviewed-by: rupashka Contributed-by: alexandr.scherbatiy at oracle.com ! src/share/classes/sun/swing/SwingUtilities2.java Changeset: a2f5d7049258 Author: dbuck Date: 2011-10-17 19:06 -0700 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/a2f5d7049258 6887286: StackOverflowError at sun.awt.image.ImageWatched$WeakLink.isWatcher Summary: Fixed OffScreenImageSource to call imageComplete() with SINGLEFAMEDONE, not STATICIMAGEDONE. This fixed memory leak (that caused SOFE when we use recursion to iterate over linked list). Reviewed-by: bae ! src/share/classes/sun/awt/image/OffScreenImageSource.java Changeset: 7636a62aba7e Author: anthony Date: 2011-11-01 18:01 +0300 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/7636a62aba7e 7104625: sun.awt.X11.XEvent is creating 600 MB of char[] for no good reason Summary: Wrap logging calls with if(){} statements Reviewed-by: anthony, son Contributed-by: Federico Tello Gentile ! src/solaris/classes/sun/awt/X11/XComponentPeer.java Changeset: ac55f169fadd Author: anthony Date: 2011-11-01 18:03 +0300 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/ac55f169fadd 7105529: XAWT: Optimize getFieldsAsString() methods generated by WrapperGenerator Summary: Replace string concatenation with StringBuilder.append() Reviewed-by: anthony, son Contributed-by: Federico Tello Gentile ! src/solaris/classes/sun/awt/X11/generator/WrapperGenerator.java Changeset: 41610a897379 Author: rupashka Date: 2011-11-02 14:17 +0400 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/41610a897379 6624077: Regression test fails: closed/javax/swing/ToolTipManager/6256140/bug6256140.java Reviewed-by: rupashka Contributed-by: alexandr.scherbatiy at oracle.com + test/javax/swing/ToolTipManager/Test6256140.java Changeset: 8068f1584715 Author: mrkam Date: 2011-11-02 17:39 +0400 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/8068f1584715 7074853: TransparentRuler demos Readme should mention the correct jar file name Reviewed-by: rupashka ! src/share/demo/jfc/TransparentRuler/README.txt Changeset: 323f6d046cc9 Author: rupashka Date: 2011-11-02 23:53 +0300 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/323f6d046cc9 7049024: DnD fails with JTextArea and JTextField Reviewed-by: rupashka Contributed-by: Sean Chou ! src/share/classes/javax/swing/text/DefaultCaret.java + test/javax/swing/JTextArea/7049024/bug7049024.java Changeset: 7c29751a9331 Author: rupashka Date: 2011-11-03 14:14 +0400 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/7c29751a9331 6955919: Intermittent ClassCastException in bug4492274 test Reviewed-by: rupashka Contributed-by: alexandr.scherbatiy at oracle.com + test/javax/swing/JEditorPane/4492274/bug4492274.java + test/javax/swing/JEditorPane/4492274/test.html Changeset: 1c0624d9a2b6 Author: ngmr Date: 2011-10-13 13:02 +0100 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/1c0624d9a2b6 7107957: AWT: Native code should include fcntl.h and unistd.h rather than sys/fcntl.h and sys/unistd.h Summary: Use POSIX defined includes for unistd.h and fcntl.h Reviewed-by: anthony, ngmr Contributed-by: Charles Lee ! src/solaris/native/sun/awt/splashscreen/splashscreen_config.h Changeset: adb31ff942ef Author: rupashka Date: 2011-11-07 16:50 +0400 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/adb31ff942ef 7080203: JTree.getSelectionPaths() now returns empty array instead of null Reviewed-by: malenkov ! src/share/classes/javax/swing/JTree.java Changeset: d219e0b11327 Author: lana Date: 2011-11-07 10:26 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/d219e0b11327 Merge - make/sun/rmi/rmi/mapfile-vers - src/share/classes/java/util/XMLUtils.java - src/share/classes/sun/security/pkcs/EncodingException.java - src/share/classes/sun/security/pkcs/PKCS10.java - src/share/classes/sun/security/pkcs/PKCS10Attribute.java - src/share/classes/sun/security/pkcs/PKCS10Attributes.java - src/share/classes/sun/security/util/BigInt.java - src/share/classes/sun/security/util/PathList.java - src/share/classes/sun/security/x509/CertAndKeyGen.java - src/share/classes/sun/tools/jar/JarImageSource.java - src/share/native/sun/awt/libpng/pnggccrd.c - src/share/native/sun/awt/libpng/pngvcrd.c - src/share/native/sun/rmi/server/MarshalInputStream.c - test/sun/security/util/BigInt/BigIntEqualsHashCode.java Changeset: f8a3dff76b48 Author: rupashka Date: 2011-11-08 14:36 +0300 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/f8a3dff76b48 7107585: Test incorrect calculate position of object on frame Reviewed-by: rupashka Contributed-by: alexandr.scherbatiy at oracle.com + test/javax/swing/JSlider/6348946/bug6348946.java Changeset: af4fb33fca29 Author: lana Date: 2011-11-08 15:37 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/af4fb33fca29 Merge Changeset: 88a260444e4d Author: chegar Date: 2011-10-26 13:58 +0100 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/88a260444e4d 7104650: rawtype warnings in several net, nio and security source files Summary: Also reviewed by Ulf.Zibis at gmx.de Reviewed-by: mcimadamore, alanb, dholmes ! make/sun/net/Makefile ! src/share/classes/java/net/InetAddress.java ! src/share/classes/java/net/ServerSocket.java ! src/share/classes/java/nio/charset/Charset.java ! src/share/classes/java/security/Security.java ! src/share/classes/sun/nio/ch/Util.java Changeset: 0d371f2911a1 Author: peytoia Date: 2011-10-26 22:16 +0900 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/0d371f2911a1 7090046: Lots of invalid link in java.text.BreakIterator comments Reviewed-by: okutsu ! src/share/classes/java/text/BreakIterator.java Changeset: 291b55aa9b1e Author: lana Date: 2011-10-25 10:51 -0700 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/291b55aa9b1e Merge - src/share/native/sun/awt/libpng/pnggccrd.c - src/share/native/sun/awt/libpng/pngvcrd.c Changeset: 64faf533b99d Author: lana Date: 2011-10-26 12:29 -0700 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/64faf533b99d Merge Changeset: 449113aea001 Author: weijun Date: 2011-10-27 17:23 +0800 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/449113aea001 7104161: test/sun/tools/jinfo/Basic.sh fails on Ubuntu Reviewed-by: alanb ! test/sun/tools/jinfo/Basic.sh Changeset: 64ccf18bbad5 Author: coffeys Date: 2011-10-27 10:32 +0100 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/64ccf18bbad5 7099658: Properties.loadFromXML fails with ClassCastException Reviewed-by: alanb, mchung ! src/share/classes/sun/util/xml/XMLUtils.java Changeset: 56cc907fc8dc Author: mullan Date: 2011-10-27 10:57 -0400 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/56cc907fc8dc 7094155: JSR105 code throws javax.xml.crypto.URIReferenceException when running into Java 7 VM Reviewed-by: xuelei ! src/share/classes/com/sun/org/apache/xml/internal/security/utils/IdResolver.java ! test/javax/xml/crypto/dsig/GenerationTests.java Changeset: 8cd2e3b8127a Author: mullan Date: 2011-10-27 11:01 -0400 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/8cd2e3b8127a Merge - make/sun/rmi/rmi/mapfile-vers - src/share/native/sun/awt/libpng/pnggccrd.c - src/share/native/sun/awt/libpng/pngvcrd.c - src/share/native/sun/rmi/server/MarshalInputStream.c Changeset: 6e59c482e9b8 Author: xuelei Date: 2011-10-28 07:18 -0700 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/6e59c482e9b8 7105940: Test regression: KeyStore must be from provider SunPKCS11-NSSKeyStore Reviewed-by: weijun ! test/sun/security/pkcs11/fips/CipherTest.java ! test/sun/security/pkcs11/fips/ClientJSSEServerJSSE.java Changeset: bb2b9a8b6e77 Author: alanb Date: 2011-10-30 14:53 +0000 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/bb2b9a8b6e77 7103889: (fs) Reduce String concatenation when iterating over directory Reviewed-by: alanb Contributed-by: mike.skells at talk21.com ! src/share/classes/java/nio/file/Files.java ! src/windows/classes/sun/nio/fs/WindowsDirectoryStream.java ! src/windows/classes/sun/nio/fs/WindowsPathParser.java Changeset: 30900a1a9cfc Author: xuelei Date: 2011-10-30 20:07 -0700 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/30900a1a9cfc 7106277: Brokenness in the seqNumberOverflow of MAC Reviewed-by: wetmore ! src/share/classes/sun/security/ssl/MAC.java Changeset: 8681362a2f04 Author: wetmore Date: 2011-10-31 11:54 -0700 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/8681362a2f04 7105780: Add SSLSocket client/SSLEngine server to templates directory Reviewed-by: xuelei + test/sun/security/ssl/templates/SSLSocketSSLEngineTemplate.java Changeset: b60e88ef5d8d Author: wetmore Date: 2011-10-31 16:23 -0700 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/b60e88ef5d8d 7053252: New regression test does not compile on windows-amd64 Reviewed-by: valeriep ! test/ProblemList.txt ! test/sun/security/pkcs11/Provider/Absolute.java Changeset: 5f2838744544 Author: ysr Date: 2011-10-31 17:38 -0700 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/5f2838744544 4243978: (ref) Race condition in Reference.enqueue() 4268317: (ref) Reference.isEnqueued() can return true when instance not enqueued Summary: The reference handler now declares, and assumes, that the discovered field, rather than the next field, is (to be) used to link the entries in the pending list, thus allowing a reference object to be safely enqueued even while it is in the pending state. Also added slightly modified regression tests from the two bug reports. Reviewed-by: mchung, alanb, jcoomes ! src/share/classes/java/lang/ref/Reference.java ! src/share/javavm/export/jvm.h ! src/share/native/common/jdk_util.c + test/java/lang/ref/ReferenceEnqueue.java + test/java/lang/ref/ReferenceEnqueuePending.java Changeset: 2f2f56ac8b82 Author: mduigou Date: 2011-11-03 13:26 -0700 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/2f2f56ac8b82 4533691: Add Collections.emptySortedSet() Reviewed-by: mduigou, alanb, dholmes Contributed-by: darryl.mocek at oracle.com ! src/share/classes/java/util/Collections.java + test/java/util/Collections/EmptySortedSet.java Changeset: ead9dabe8c75 Author: lana Date: 2011-11-05 00:00 -0700 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/ead9dabe8c75 Merge Changeset: 417d91754849 Author: sherman Date: 2011-11-07 13:46 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/417d91754849 7096080: UTF8 update and new CESU-8 charset 7082884: Incorrect UTF8 conversion for sequence ED 31 7082883: Incorrect UTF8 conversion for sequence fc 80 80 8f bf bf Summary: Updated UTF8 and added CESU-8 to following the latest Standard Reviewed-by: alanb ! make/java/nio/FILES_java.gmk + src/share/classes/sun/nio/cs/CESU_8.java ! src/share/classes/sun/nio/cs/UTF_8.java ! src/share/classes/sun/nio/cs/standard-charsets ! test/java/nio/charset/coders/Errors.java ! test/sun/nio/cs/TestStringCoding.java ! test/sun/nio/cs/TestStringCodingUTF8.java ! test/sun/nio/cs/TestUTF8.java Changeset: 0bb498332894 Author: lana Date: 2011-11-08 15:38 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/0bb498332894 Merge Changeset: 51db54a3b953 Author: lana Date: 2011-11-14 18:15 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/51db54a3b953 Merge Changeset: 3b2128c89361 Author: alanb Date: 2011-06-15 14:49 +0100 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/3b2128c89361 7000600: InputStream.skip() makes sensitive data accessible to malicious code Reviewed-by: hawtin, chegar ! src/share/classes/java/io/InputStream.java Changeset: 06e0d91548b3 Author: anthony Date: 2011-06-21 20:20 +0400 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/06e0d91548b3 7022113: Security icon can be moved behind the window using the com.sun.SecurityWarning.setPosition() method Reviewed-by: art, dcherepanov ! src/windows/native/sun/windows/awt_Window.cpp Changeset: d32b75c73389 Author: alanb Date: 2011-06-27 20:30 +0100 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/d32b75c73389 7059259: (process) ProcessBuilder.start permission check should be improved when redirecting output to append Reviewed-by: hawtin ! src/windows/classes/java/lang/ProcessImpl.java Changeset: 446b13a08aca Author: asaha Date: 2011-06-27 12:30 -0700 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/446b13a08aca Merge Changeset: 4fdd1a44e846 Author: asaha Date: 2011-06-27 12:35 -0700 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/4fdd1a44e846 Merge Changeset: 3e42f7893861 Author: asaha Date: 2011-06-28 08:39 -0700 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/3e42f7893861 Merge Changeset: f578448792b9 Author: ksrini Date: 2011-07-15 13:57 -0700 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/f578448792b9 7057857: SIGSEGV [libunpack.so] store_Utf8_char(signed char*, unsigned short) in java.util.jar.pack200 Reviewed-by: jrose, asaha, hawtin ! src/share/native/com/sun/java/util/jar/pack/unpack.cpp ! src/share/native/com/sun/java/util/jar/pack/utils.cpp ! src/share/native/com/sun/java/util/jar/pack/utils.h Changeset: 4b20375fe623 Author: asaha Date: 2011-07-19 11:04 -0700 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/4b20375fe623 Merge - src/share/classes/sun/misc/JavaxSecurityAuthKerberosAccess.java - test/sun/security/ssl/com/sun/net/ssl/internal/ssl/InputRecord/InterruptedIO.java Changeset: bc9c70e57f62 Author: asaha Date: 2011-07-20 09:01 -0700 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/bc9c70e57f62 7032417: Fix for 6981922 does not address multiple VM case Reviewed-by: michaelm ! src/share/classes/sun/net/ResourceManager.java Changeset: a7177942302f Author: asaha Date: 2011-07-20 14:45 -0700 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/a7177942302f 7023640: calculation for malloc size in TransformHelper.c could overflow an integer Reviewed-by: flar ! src/share/native/sun/java2d/loops/TransformHelper.c Changeset: 6c76f2a49061 Author: denis Date: 2011-07-22 21:14 +0400 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/6c76f2a49061 7019773: AWTKeyStroke.ctor is a mutable static Reviewed-by: art ! src/share/classes/java/awt/AWTKeyStroke.java Changeset: b25558c39ffc Author: smarks Date: 2011-08-30 14:30 -0700 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/b25558c39ffc 7077466: fix for RMI DGC Reviewed-by: valeriep ! src/share/classes/sun/rmi/server/UnicastServerRef.java Changeset: efd8035f3d14 Author: smarks Date: 2011-08-30 17:29 -0700 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/efd8035f3d14 7083012: fix for RMI Registry Reviewed-by: jdn, valeriep ! src/share/classes/sun/rmi/registry/RegistryImpl.java ! src/share/classes/sun/rmi/server/LoaderHandler.java Changeset: 27bda11f1330 Author: smarks Date: 2011-09-21 15:37 -0700 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/27bda11f1330 7092186: adjust package access in rmiregistry Reviewed-by: asaha, coffeys ! src/share/classes/sun/rmi/registry/RegistryImpl.java ! test/sun/tools/jstatd/jstatdExternalRegistry.sh Changeset: 42eb725f739c Author: xuelei Date: 2011-09-29 17:31 -0700 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/42eb725f739c 7064341: jsse/runtime security problem Reviewed-by: wetmore ! src/share/classes/javax/net/ssl/SSLEngine.java ! src/share/classes/sun/security/ssl/AppOutputStream.java ! src/share/classes/sun/security/ssl/CipherBox.java ! src/share/classes/sun/security/ssl/CipherSuite.java ! src/share/classes/sun/security/ssl/EngineOutputRecord.java ! src/share/classes/sun/security/ssl/Record.java ! src/share/classes/sun/security/ssl/SSLEngineImpl.java ! src/share/classes/sun/security/ssl/SSLSocketImpl.java ! test/sun/security/ssl/javax/net/ssl/NewAPIs/SSLEngine/CheckStatus.java ! test/sun/security/ssl/javax/net/ssl/NewAPIs/SSLEngine/LargeBufs.java ! test/sun/security/ssl/javax/net/ssl/NewAPIs/SSLEngine/LargePacket.java Changeset: 53a16cf28db3 Author: xuelei Date: 2011-09-30 18:47 -0700 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/53a16cf28db3 7096936: issue in jsse/runtime 7096937: TEST: com/sun/net/ssl/internal/ssl/GenSSLConfigs/main.java need modification as a result of TLS fix Reviewed-by: wetmore, jdn, xuelei ! src/share/classes/com/sun/net/ssl/HttpsURLConnection.java ! src/share/classes/javax/net/ssl/HttpsURLConnection.java ! test/sun/security/ssl/com/sun/net/ssl/internal/ssl/GenSSLConfigs/main.java Changeset: 27a8f4fc555a Author: asaha Date: 2011-11-14 11:52 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/27a8f4fc555a Merge ! src/share/classes/java/awt/AWTKeyStroke.java ! src/share/classes/javax/net/ssl/HttpsURLConnection.java ! src/share/classes/sun/security/ssl/CipherBox.java ! src/share/classes/sun/security/ssl/CipherSuite.java ! src/share/classes/sun/security/ssl/SSLEngineImpl.java ! src/share/classes/sun/security/ssl/SSLSocketImpl.java ! test/sun/security/ssl/com/sun/net/ssl/internal/ssl/GenSSLConfigs/main.java ! test/sun/security/ssl/javax/net/ssl/NewAPIs/SSLEngine/LargePacket.java ! test/sun/tools/jstatd/jstatdExternalRegistry.sh Changeset: 99632935785e Author: lana Date: 2011-11-14 18:18 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/99632935785e Merge Changeset: 00e2c88e2234 Author: katleman Date: 2011-11-17 10:46 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/00e2c88e2234 Added tag jdk8-b14 for changeset 99632935785e ! .hgtags Changeset: 2a147f854257 Author: twisti Date: 2011-11-02 02:03 -0700 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/2a147f854257 7085860: JSR 292: implement CallSite.setTargetNormal and setTargetVolatile as native methods Reviewed-by: jrose, never ! src/share/classes/java/lang/invoke/CallSite.java ! src/share/classes/java/lang/invoke/MethodHandleNatives.java + test/java/lang/invoke/CallSiteTest.java Changeset: 5c34ed65176e Author: twisti Date: 2011-11-09 00:46 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/5c34ed65176e 7109063: JSR 292: fix for 7085860 is incomplete Reviewed-by: iveresov, alanb, jrose ! src/share/classes/java/lang/invoke/MethodHandleImpl.java ! test/ProblemList.txt ! test/java/lang/invoke/CallSiteTest.java ! test/java/lang/invoke/InvokeDynamicPrintArgs.java Changeset: bdb2d63c176c Author: jcoomes Date: 2011-11-18 16:57 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/bdb2d63c176c Merge ! test/ProblemList.txt Changeset: 89952dc5be8e Author: prr Date: 2011-11-17 10:32 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/89952dc5be8e 7113017: Use POSIX compliant include file headers in sun/awt/medialib/mlib_types.h Reviewed-by: prr, bae Contributed-by: littlee at linux.vnet.ibm.com ! src/share/native/sun/awt/medialib/mlib_types.h Changeset: 60331bbcf4ad Author: lana Date: 2011-11-18 16:16 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/60331bbcf4ad Merge Changeset: f410b91caf45 Author: weijun Date: 2011-11-09 09:30 +0800 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/f410b91caf45 7107019: sun.security.krb5.internal.ccache.CCacheInputStream.readCred does not use auth data Reviewed-by: valeriep ! src/share/classes/sun/security/krb5/internal/ccache/CCacheInputStream.java ! src/share/classes/sun/security/krb5/internal/ccache/Credentials.java Changeset: 52be75d060f9 Author: weijun Date: 2011-11-09 15:51 +0800 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/52be75d060f9 7109096: keytool -genkeypair needn't call -selfcert Reviewed-by: xuelei ! src/share/classes/sun/security/tools/CertAndKeyGen.java ! src/share/classes/sun/security/tools/KeyTool.java Changeset: d6a5da5f6ba0 Author: dl Date: 2011-11-10 12:21 +0000 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/d6a5da5f6ba0 7107516: LinkedBlockingQueue/Deque.drainTo(Collection, int) returns 'maxElements' if its value is negative Reviewed-by: chegar, mduigou, dholmes ! src/share/classes/java/util/concurrent/LinkedBlockingDeque.java ! src/share/classes/java/util/concurrent/LinkedBlockingQueue.java Changeset: 0ccfb35cce26 Author: michaelm Date: 2011-11-10 15:30 +0000 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/0ccfb35cce26 7110484: HttpServer.stop() not closing selector Reviewed-by: chegar ! src/share/classes/sun/net/httpserver/ServerImpl.java Changeset: e5d65a583c15 Author: michaelm Date: 2011-11-10 15:41 +0000 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/e5d65a583c15 Merge Changeset: 830d2e46023a Author: lancea Date: 2011-11-10 11:41 -0500 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/830d2e46023a 7110111: Minor Java SE javadoc & Constructor clean up Reviewed-by: alanb, darcy Contributed-by: Martin Desruisseaux ! src/share/classes/java/io/Writer.java ! src/share/classes/java/lang/AssertionError.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/sql/PreparedStatement.java ! src/share/classes/java/sql/Statement.java ! src/share/classes/java/util/jar/Attributes.java Changeset: 9dd994f319ee Author: coffeys Date: 2011-11-11 10:08 +0000 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/9dd994f319ee 7105952: Improve finalisation for FileInputStream/FileOutputStream/RandomAccessFile Reviewed-by: alanb ! src/share/classes/java/io/FileInputStream.java ! src/share/classes/java/io/FileOutputStream.java ! src/share/classes/java/io/RandomAccessFile.java ! src/solaris/classes/java/io/FileDescriptor.java ! src/windows/classes/java/io/FileDescriptor.java - test/java/io/FileDescriptor/FileChannelFDTest.java + test/java/io/FileDescriptor/Sharing.java - test/java/io/etc/FileDescriptorSharing.java Changeset: 5c7c83a6ee24 Author: xuelei Date: 2011-11-14 01:21 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/5c7c83a6ee24 7111548: unexpected debug log message Reviewed-by: wetmore ! src/share/classes/sun/security/ssl/SSLSocketImpl.java Changeset: 68fc55d12ae6 Author: chegar Date: 2011-11-14 10:06 +0000 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/68fc55d12ae6 7107020: java.net.PlainSocketImpl.socketSetOption() calls itself Reviewed-by: alanb, chegar Contributed-by: kurchi.subhra.hazra at oracle.com ! src/windows/classes/java/net/PlainSocketImpl.java Changeset: c740519fe83a Author: weijun Date: 2011-11-16 11:53 +0800 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/c740519fe83a 7111579: klist starttime, renewtill, ticket etype Reviewed-by: mullan ! src/share/classes/sun/security/krb5/internal/ccache/Credentials.java ! src/windows/classes/sun/security/krb5/internal/tools/Klist.java Changeset: cd6d236e863b Author: okutsu Date: 2011-11-16 12:57 +0900 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/cd6d236e863b 7111903: (tz) Windows-only: tzmappings needs update for KB2570791 Reviewed-by: peytoia ! src/windows/lib/tzmappings Changeset: 1266e72f7896 Author: okutsu Date: 2011-11-16 13:17 +0900 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/1266e72f7896 Merge Changeset: 398442b00b2b Author: ksrini Date: 2011-11-16 12:23 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/398442b00b2b 7112160: jdk8 javadoc failure in jdk/make/docs javadoc: error - java.lang.OutOfMemoryError Reviewed-by: ohair, katleman ! make/docs/Makefile Changeset: 3cd7dcf4a302 Author: mchung Date: 2011-11-17 15:47 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/3cd7dcf4a302 7067691: java/lang/management/PlatformLoggingMXBean/LoggingMXBeanTest.java failing intermittently Reviewed-by: alanb, mchung Contributed-by: gary.adams at oracle.com ! test/java/lang/management/PlatformLoggingMXBean/LoggingMXBeanTest.java ! test/java/lang/management/PlatformLoggingMXBean/PlatformLoggingMXBeanTest.java Changeset: 5bfff9616b86 Author: weijun Date: 2011-11-18 16:13 +0800 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/5bfff9616b86 7077172: KerberosTime does not take into account system clock adjustement Reviewed-by: valeriep ! src/share/classes/sun/security/krb5/internal/KerberosTime.java Changeset: cd37d8066437 Author: lana Date: 2011-11-18 11:11 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/cd37d8066437 Merge ! src/share/classes/sun/security/ssl/SSLSocketImpl.java Changeset: c98235762b30 Author: alanb Date: 2011-11-19 19:55 +0000 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/c98235762b30 6818464: TEST_BUG: java/util/Timer/KillThread.java failing intermittently Reviewed-by: dholmes, alanb, forax Contributed-by: gary.adams at oracle.com ! test/java/util/Timer/KillThread.java Changeset: 8be37eae9598 Author: alanb Date: 2011-11-19 19:59 +0000 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/8be37eae9598 6731620: TEST_BUG: java/util/Timer/Args.java is too optimistic about the execution time of System.out.printf Reviewed-by: dholmes, forax Contributed-by: gary.adams at oracle.com ! test/java/util/Timer/Args.java Changeset: 450c17e4808d Author: alanb Date: 2011-11-19 20:03 +0000 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/450c17e4808d 6860309: TEST_BUG: Insufficient sleep time in java/lang/Runtime/exec/StreamsSurviveDestroy.java Reviewed-by: alanb, dholmes, forax Contributed-by: gary.adams at oracle.com ! test/java/lang/Runtime/exec/StreamsSurviveDestroy.java Changeset: 184578f3e8b9 Author: alanb Date: 2011-11-21 12:51 +0000 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/184578f3e8b9 7084033: TEST_BUG: test/java/lang/ThreadGroup/Stop.java fails intermittently Reviewed-by: forax, chegar, dholmes Contributed-by: gary.adams at oracle.com ! test/java/lang/ThreadGroup/Stop.java Changeset: 2db942c7eb9c Author: alanb Date: 2011-11-21 12:57 +0000 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/2db942c7eb9c 7114125: TEST_BUG: java/util/Timer/KillThread.java should use volatile cross thread variable declaration Reviewed-by: dholmes, alanb Contributed-by: gary.adams at oracle.com ! test/java/util/Timer/KillThread.java Changeset: 81987765cb81 Author: ngmr Date: 2011-11-11 14:40 +0000 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/81987765cb81 7112670: Inet4AddressImpl should use getaddrinfo/getnameinfo Reviewed-by: chegar, alanb, mduigou, ngmr Contributed-by: Charles Lee ! src/solaris/native/java/net/Inet4AddressImpl.c ! src/solaris/native/java/net/Inet6AddressImpl.c ! src/solaris/native/java/net/net_util_md.c ! src/solaris/native/java/net/net_util_md.h Changeset: ee2fa62fb09f Author: ngmr Date: 2011-11-22 09:51 +0000 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/ee2fa62fb09f 7114558: Inet4AddressImpl should use memset (rather than bzero) and NI_MAXHOST (rather than MAXHOSTNAMELEN) Reviewed-by: chegar Contributed-by: Neil Richards ! src/solaris/native/java/net/Inet4AddressImpl.c ! src/solaris/native/java/net/Inet6AddressImpl.c Changeset: 1945abeb82a0 Author: mullan Date: 2011-11-22 08:58 -0500 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/1945abeb82a0 7093090: Reduce synchronization in java.security.Policy.getPolicyNoCheck Reviewed-by: valeriep ! src/share/classes/java/security/Policy.java Changeset: bb8f19b80557 Author: mullan Date: 2011-11-22 09:00 -0500 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/bb8f19b80557 Merge - test/java/io/FileDescriptor/FileChannelFDTest.java - test/java/io/etc/FileDescriptorSharing.java Changeset: b4d7020c2a40 Author: mullan Date: 2011-11-22 09:17 -0500 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/b4d7020c2a40 Merge Changeset: 82151e860a64 Author: xuelei Date: 2011-11-23 03:40 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/82151e860a64 7113275: compatibility issue with MD2 trust anchor and old X509TrustManager Summary: also reviewed by Dennis.Gu at oracle.com Reviewed-by: mullan ! src/share/classes/sun/security/ssl/SSLContextImpl.java + test/sun/security/ssl/com/sun/net/ssl/internal/ssl/SSLContextImpl/MD2InTrustAnchor.java + test/sun/security/ssl/com/sun/net/ssl/internal/ssl/SSLContextImpl/TrustTrustedCert.java Changeset: 7eb0debca9b3 Author: chegar Date: 2011-11-23 12:30 +0000 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/7eb0debca9b3 6776144: java/lang/ThreadGroup/NullThreadName.java fails with Thread group is not destroyed ,fastdebug LINUX Reviewed-by: chegar, dholmes Contributed-by: gary.adams at oracle.com ! test/java/lang/ThreadGroup/NullThreadName.java Changeset: d27f0b2f1476 Author: coffeys Date: 2011-11-23 14:55 +0000 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/d27f0b2f1476 7102369: remove java.rmi.server.codebase property parsing from registyimpl 7094468: rmiregistry clean up Reviewed-by: smarks ! src/share/classes/sun/rmi/registry/RegistryImpl.java ! src/share/classes/sun/rmi/server/LoaderHandler.java + test/java/rmi/registry/readTest/readTest.java + test/java/rmi/registry/readTest/readTest.sh + test/java/rmi/registry/readTest/testPkg/Client.java + test/java/rmi/registry/readTest/testPkg/Hello.java + test/java/rmi/registry/readTest/testPkg/Server.java Changeset: 855675a4235b Author: lana Date: 2011-11-23 11:37 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/855675a4235b Merge - test/java/io/FileDescriptor/FileChannelFDTest.java - test/java/io/etc/FileDescriptorSharing.java Changeset: 3c248d0e2c48 Author: lana Date: 2011-11-28 15:15 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/3c248d0e2c48 Merge - test/java/io/FileDescriptor/FileChannelFDTest.java - test/java/io/etc/FileDescriptorSharing.java Changeset: 929597c6e777 Author: katleman Date: 2011-12-01 10:33 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/929597c6e777 Added tag jdk8-b15 for changeset 3c248d0e2c48 ! .hgtags Changeset: 23acf34c80b0 Author: neugens Date: 2011-12-03 15:40 +0100 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/23acf34c80b0 7117914: Fix javac warnings in src/share/classes/sun/java2d Summary: Fix some javac warnings in java2d related code for the Warning Cleanup Day. Reviewed-by: prr, flar ! src/share/classes/java/awt/geom/Path2D.java ! src/share/classes/sun/awt/image/BufImgSurfaceData.java ! src/share/classes/sun/java2d/SunGraphics2D.java ! src/share/classes/sun/java2d/SurfaceData.java ! src/share/classes/sun/java2d/SurfaceDataProxy.java ! src/share/classes/sun/java2d/loops/GraphicsPrimitive.java ! src/share/classes/sun/java2d/loops/SurfaceType.java ! src/share/classes/sun/java2d/opengl/OGLBufImgOps.java ! src/share/classes/sun/java2d/opengl/OGLDrawImage.java ! src/share/classes/sun/java2d/opengl/OGLPaints.java ! src/share/classes/sun/java2d/opengl/OGLSurfaceData.java ! src/share/classes/sun/java2d/pipe/AAShapePipe.java ! src/share/classes/sun/java2d/pipe/BufferedPaints.java ! src/share/classes/sun/java2d/pipe/BufferedRenderPipe.java ! src/share/classes/sun/java2d/pipe/DrawImage.java ! src/share/classes/sun/java2d/pipe/GlyphListPipe.java ! src/share/classes/sun/java2d/pipe/LoopPipe.java ! src/share/classes/sun/java2d/pipe/RenderingEngine.java ! src/solaris/classes/sun/java2d/x11/X11Renderer.java ! src/solaris/classes/sun/java2d/x11/X11SurfaceData.java Changeset: 70b40ea06df0 Author: prr Date: 2011-12-03 16:26 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/70b40ea06df0 7117199: Fix javac warnings in src/share/classes/java/awt/font Reviewed-by: jgodinez, bae ! src/share/classes/java/awt/font/StyledParagraph.java ! src/share/classes/java/awt/font/TextAttribute.java ! src/share/classes/java/awt/font/TextLayout.java ! src/share/classes/java/awt/font/TextLine.java ! src/share/classes/java/awt/font/TextMeasurer.java Changeset: 4075d524fa46 Author: lana Date: 2011-12-06 16:15 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/4075d524fa46 Merge Changeset: e53a078c2840 Author: anthony Date: 2011-11-09 13:43 +0300 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/e53a078c2840 7045370: Java Statically Determines Display Size on Linux platforms Summary: Listen to ConfigureNotify events on the root window and update the current screen size accordingly Reviewed-by: art, bae ! src/share/classes/java/awt/Component.java ! src/solaris/classes/sun/awt/X11/XToolkit.java ! src/solaris/classes/sun/awt/X11GraphicsDevice.java ! src/solaris/native/sun/awt/awt_GraphicsEnv.c Changeset: 84e473cf4531 Author: rupashka Date: 2011-11-10 14:10 +0400 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/84e473cf4531 6938583: Unexpected NullPointerException by InputContext.endComposition() Reviewed-by: rupashka Contributed-by: Charles Lee ! src/share/classes/javax/swing/text/DefaultCaret.java + test/javax/swing/text/DefaultCaret/6938583/bug6938583.java Changeset: 81f1b32f9e24 Author: malenkov Date: 2011-11-10 17:15 +0400 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/81f1b32f9e24 7057459: Regression: Performance degradation with java.beans.XMLEncoder Reviewed-by: rupashka ! src/share/classes/java/beans/Encoder.java Changeset: e120c78cb45c Author: malenkov Date: 2011-11-10 17:27 +0400 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/e120c78cb45c 7064279: Introspector.getBeanInfo() should release some resources in timely manner Reviewed-by: art, alexp ! src/share/classes/java/beans/Beans.java ! src/share/classes/java/beans/Introspector.java ! src/share/classes/java/beans/PropertyEditorManager.java + src/share/classes/java/beans/ThreadGroupContext.java ! test/java/beans/Beans/6669869/TestDesignTime.java ! test/java/beans/Beans/6669869/TestGuiAvailable.java ! test/java/beans/Introspector/6380849/TestBeanInfo.java + test/java/beans/Introspector/7064279/Test7064279.java + test/java/beans/Introspector/7064279/test.jar ! test/java/beans/Introspector/Test6660539.java ! test/java/beans/PropertyEditor/6380849/TestPropertyEditor.java Changeset: 8b6a69b2e482 Author: malenkov Date: 2011-11-10 17:32 +0400 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/8b6a69b2e482 7087876: java/beans/PropertyDescriptor.html#createPropertyEditor() throws RE if editor cannot be created Reviewed-by: rupashka ! src/share/classes/java/beans/PropertyDescriptor.java + test/java/beans/PropertyEditor/Test7087876.java Changeset: b02495c51b9c Author: malenkov Date: 2011-11-10 17:35 +0400 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/b02495c51b9c 7092744: XMLEncoder fails to encode and breaks backward compatibility Reviewed-by: rupashka ! 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/Test7092744.java Changeset: 16327765859c Author: malenkov Date: 2011-11-10 17:37 +0400 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/16327765859c 7087429: Constructor of java.beans.PropertyChangeEvent should declare thrown NPE for null source Reviewed-by: rupashka ! src/share/classes/java/beans/PropertyChangeEvent.java + test/java/beans/PropertyChangeSupport/Test7087429.java Changeset: f614bcada2a9 Author: anthony Date: 2011-11-11 15:17 +0300 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/f614bcada2a9 7103610: _NET_WM_PID and WM_CLIENT_MACHINE are not set Summary: Set the properties to all top-level windows Reviewed-by: anthony Contributed-by: Danesh Dadachanji ! make/sun/xawt/mapfile-vers ! src/solaris/classes/sun/awt/X11/XWindowPeer.java ! src/solaris/native/sun/xawt/XToolkit.c Changeset: c0f3f1558a94 Author: rupashka Date: 2011-11-14 14:00 +0400 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/c0f3f1558a94 7109617: Test was writed for Metal L&F but not set it Reviewed-by: rupashka Contributed-by: alexandr.scherbatiy at oracle.com + test/javax/swing/plaf/metal/MetalLookAndFeel/5073047/bug5073047.java Changeset: a51777c9228a Author: malenkov Date: 2011-11-14 14:38 +0400 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/a51777c9228a 7110521: Regression test failed: Introspector/TestTypeResolver.java Reviewed-by: rupashka ! test/java/beans/Introspector/TestTypeResolver.java Changeset: 28f768c41a90 Author: serb Date: 2011-11-12 04:13 +0400 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/28f768c41a90 6996291: command line selection of MToolkit by -Dawt.toolkit=sun.awt.motif.MToolkit fails from jdk7 b21 on Reviewed-by: art, dcherepanov, bae, prr ! make/sun/awt/FILES_c_unix.gmk ! make/sun/awt/FILES_export_unix.gmk ! make/sun/awt/mapfile-mawt-vers ! make/sun/awt/mapfile-vers-linux ! make/sun/awt/mawt.gmk - make/sun/motif12/reorder-i586 - make/sun/motif12/reorder-sparc - make/sun/motif12/reorder-sparcv9 ! make/sun/xawt/mapfile-vers ! src/solaris/classes/sun/awt/X11/ListHelper.java ! src/solaris/classes/sun/awt/X11/XEmbedCanvasPeer.java ! src/solaris/classes/sun/awt/X11/XEmbedChildProxyPeer.java - src/solaris/classes/sun/awt/motif/AWTLockAccess.java ! src/solaris/classes/sun/awt/motif/MFontConfiguration.java - src/solaris/classes/sun/awt/motif/MFontPeer.java - src/solaris/classes/sun/awt/motif/MToolkit.java - src/solaris/classes/sun/awt/motif/MToolkitThreadBlockedHandler.java - src/solaris/classes/sun/awt/motif/MWindowAttributes.java - src/solaris/classes/sun/awt/motif/X11FontMetrics.java - src/solaris/native/sun/awt/MouseInfo.c - src/solaris/native/sun/awt/XDrawingArea.c - src/solaris/native/sun/awt/XDrawingArea.h - src/solaris/native/sun/awt/XDrawingAreaP.h ! src/solaris/native/sun/awt/awt.h ! src/solaris/native/sun/awt/awt_AWTEvent.c ! src/solaris/native/sun/awt/awt_Component.h - src/solaris/native/sun/awt/awt_Cursor.h ! src/solaris/native/sun/awt/awt_DrawingSurface.c ! src/solaris/native/sun/awt/awt_Font.c ! src/solaris/native/sun/awt/awt_Font.h ! src/solaris/native/sun/awt/awt_GraphicsEnv.c ! src/solaris/native/sun/awt/awt_InputMethod.c - src/solaris/native/sun/awt/awt_KeyboardFocusManager.h - src/solaris/native/sun/awt/awt_MToolkit.c - src/solaris/native/sun/awt/awt_MToolkit.h - src/solaris/native/sun/awt/awt_MenuItem.h - src/solaris/native/sun/awt/awt_PopupMenu.h ! src/solaris/native/sun/awt/awt_Robot.c - src/solaris/native/sun/awt/awt_TopLevel.h - src/solaris/native/sun/awt/awt_Window.h - src/solaris/native/sun/awt/awt_mgrsel.c - src/solaris/native/sun/awt/awt_mgrsel.h - src/solaris/native/sun/awt/awt_motif.h ! src/solaris/native/sun/awt/awt_p.h ! src/solaris/native/sun/awt/awt_util.c ! src/solaris/native/sun/awt/awt_util.h - src/solaris/native/sun/awt/awt_wm.c - src/solaris/native/sun/awt/awt_wm.h - src/solaris/native/sun/awt/awt_xembed.h - src/solaris/native/sun/awt/awt_xembed_server.c - src/solaris/native/sun/awt/awt_xembed_server.h ! src/solaris/native/sun/awt/canvas.h ! src/solaris/native/sun/awt/multi_font.c ! src/solaris/native/sun/awt/multi_font.h ! src/solaris/native/sun/java2d/opengl/GLXSurfaceData.c ! src/solaris/native/sun/java2d/opengl/GLXSurfaceData.h ! src/solaris/native/sun/java2d/x11/X11SurfaceData.c ! src/solaris/native/sun/xawt/XToolkit.c Changeset: 6a9d735ebd0a Author: bagiras Date: 2011-11-16 15:40 +0400 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/6a9d735ebd0a 7108598: Pogo Table Games freeze with JDK 7 Reviewed-by: art, ant ! src/share/classes/java/awt/Component.java ! src/share/classes/java/awt/Container.java + test/java/awt/print/PaintSetEnabledDeadlock/PaintSetEnabledDeadlock.java Changeset: 1df53949945d Author: lana Date: 2011-11-18 15:49 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/1df53949945d Merge Changeset: 90d33a64a404 Author: rupashka Date: 2011-11-21 18:22 +0400 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/90d33a64a404 7109085: Test use hotkeys not intended for Mac Reviewed-by: rupashka Contributed-by: alexandr.scherbatiy at oracle.com ! test/javax/swing/regtesthelpers/Util.java + test/javax/swing/text/DefaultEditorKit/4278839/bug4278839.java + test/javax/swing/text/JTextComponent/5074573/bug5074573.java + test/javax/swing/text/html/HTMLEditorKit/5043626/bug5043626.java Changeset: c3c80f96cb83 Author: rupashka Date: 2011-11-25 11:52 +0300 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/c3c80f96cb83 7113337: Swing closed test tries to click in the area reserved for resize by Mac OS X Reviewed-by: rupashka Contributed-by: alexandr.scherbatiy at oracle.com + test/javax/swing/PopupFactory/6276087/NonOpaquePopupMenuTest.java Changeset: 9cbc208dcf08 Author: rupashka Date: 2011-11-29 12:47 +0300 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/9cbc208dcf08 7112925: closed/javax/swing/JTabbedPane/4624207/bug4624207.java fails on MacOS Reviewed-by: rupashka Contributed-by: alexandr.scherbatiy at oracle.com + test/javax/swing/JTabbedPane/4624207/bug4624207.java Changeset: 051beb804b12 Author: rupashka Date: 2011-11-30 16:54 +0400 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/051beb804b12 7110440: closed/javax/swing/JScrollBar/4865918/bug4865918.java fails on Aqua L&F Reviewed-by: rupashka Contributed-by: alexandr.scherbatiy at oracle.com + test/javax/swing/JScrollBar/4865918/bug4865918.java Changeset: 7dd4395fe4a5 Author: rupashka Date: 2011-11-30 19:38 +0400 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/7dd4395fe4a5 7115357: closed/javax/swing/JTable/6263446/bug6263446Table.java fails on MacOS Reviewed-by: rupashka Contributed-by: alexandr.scherbatiy at oracle.com + test/javax/swing/JTable/6263446/bug6263446.java Changeset: 4b416a0180dc Author: lana Date: 2011-11-29 15:57 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/4b416a0180dc Merge - test/java/io/FileDescriptor/FileChannelFDTest.java - test/java/io/etc/FileDescriptorSharing.java Changeset: 45eb5a61da07 Author: lana Date: 2011-11-30 12:06 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/45eb5a61da07 Merge Changeset: 79b5c5a8c7e9 Author: serb Date: 2011-12-05 17:11 +0400 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/79b5c5a8c7e9 7115400: jdk 8 awt-gate build fails in headless toolkit on solaris. Reviewed-by: prr, art, bae ! make/sun/awt/FILES_c_unix.gmk + src/solaris/native/sun/awt/HeadlessToolkit.c ! src/solaris/native/sun/java2d/x11/X11SurfaceData.h Changeset: 2b1438297561 Author: lana Date: 2011-12-06 16:17 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/2b1438297561 Merge - make/sun/motif12/reorder-i586 - make/sun/motif12/reorder-sparc - make/sun/motif12/reorder-sparcv9 - src/solaris/classes/sun/awt/motif/AWTLockAccess.java - src/solaris/classes/sun/awt/motif/MFontPeer.java - src/solaris/classes/sun/awt/motif/MToolkit.java - src/solaris/classes/sun/awt/motif/MToolkitThreadBlockedHandler.java - src/solaris/classes/sun/awt/motif/MWindowAttributes.java - src/solaris/classes/sun/awt/motif/X11FontMetrics.java - src/solaris/native/sun/awt/MouseInfo.c - src/solaris/native/sun/awt/XDrawingArea.c - src/solaris/native/sun/awt/XDrawingArea.h - src/solaris/native/sun/awt/XDrawingAreaP.h - src/solaris/native/sun/awt/awt_Cursor.h - src/solaris/native/sun/awt/awt_KeyboardFocusManager.h - src/solaris/native/sun/awt/awt_MToolkit.c - src/solaris/native/sun/awt/awt_MToolkit.h - src/solaris/native/sun/awt/awt_MenuItem.h - src/solaris/native/sun/awt/awt_PopupMenu.h - src/solaris/native/sun/awt/awt_TopLevel.h - src/solaris/native/sun/awt/awt_Window.h - src/solaris/native/sun/awt/awt_mgrsel.c - src/solaris/native/sun/awt/awt_mgrsel.h - src/solaris/native/sun/awt/awt_motif.h - src/solaris/native/sun/awt/awt_wm.c - src/solaris/native/sun/awt/awt_wm.h - src/solaris/native/sun/awt/awt_xembed.h - src/solaris/native/sun/awt/awt_xembed_server.c - src/solaris/native/sun/awt/awt_xembed_server.h Changeset: 387190e1f782 Author: chegar Date: 2011-11-25 10:34 +0000 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/387190e1f782 7115150: java.net.HttpCookie code cleanup, style, formatting, typos Reviewed-by: michaelm ! src/share/classes/java/net/HttpCookie.java Changeset: e5ecbf555679 Author: chegar Date: 2011-11-25 13:46 +0000 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/e5ecbf555679 7115586: Suppress creation of SocketImpl in SocketAdaptor's constructor Reviewed-by: chegar, alanb Contributed-by: sajia at taobao.com ! src/share/classes/sun/nio/ch/SocketAdaptor.java Changeset: 022540b11147 Author: weijun Date: 2011-11-28 18:16 +0800 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/022540b11147 7115744: Do not call File::deleteOnExit in security tests Reviewed-by: xuelei ! test/sun/security/krb5/auto/CrossRealm.java ! test/sun/security/krb5/auto/HttpNegotiateServer.java ! test/sun/security/krb5/auto/KDC.java ! test/sun/security/krb5/auto/OkAsDelegateXRealm.java ! test/sun/security/krb5/auto/OneKDC.java ! test/sun/security/krb5/auto/SSL.java ! test/sun/security/krb5/auto/W83.java ! test/sun/security/ssl/javax/net/ssl/NewAPIs/SSLEngineResult/Deserialize.java Changeset: d1928ae4e0a2 Author: xuelei Date: 2011-11-28 02:35 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/d1928ae4e0a2 7115524: sun.security.provider.certpath.ssl.SSLServerCertStore no longer works Reviewed-by: weijun ! src/share/classes/sun/security/provider/certpath/ssl/SSLServerCertStore.java Changeset: 955aae8c1106 Author: ngmr Date: 2011-11-24 11:34 +0000 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/955aae8c1106 7115070: (fs) lookupPrincipalByName/lookupPrincipalByGroupName should treat ESRCH as not found Reviewed-by: alanb Contributed-by: Jonathan Lu ! src/solaris/native/sun/nio/fs/UnixNativeDispatcher.c Changeset: 6fbd69f8e3ab Author: ngmr Date: 2011-11-18 09:03 +0000 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/6fbd69f8e3ab 7094995: Trailing daemon thread causes continuous GC in agentvm mode Summary: Shutdown GcInducingThread once test (successfully) finishes Reviewed-by: alanb, chegar, dholmes, darcy Contributed-by: Neil Richards ! test/java/util/zip/ZipFile/ClearStaleZipFileInputStreams.java Changeset: cf47846165f4 Author: dholmes Date: 2011-11-29 00:26 -0500 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/cf47846165f4 7109092: Wrong computation results with double at armsflt Summary: need to link to custom soft-float library with required FP accuracy Reviewed-by: alanb, ohair ! make/common/Defs-embedded.gmk Changeset: a47de985fec9 Author: sherman Date: 2011-11-29 11:39 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/a47de985fec9 7110149: Update the JDK8 bundled zlib library to the latest version 1.2.5 Summary: updated to zlib-1.2.5 Reviewed-by: alanb ! make/common/Defs.gmk ! make/java/zip/FILES_c.gmk ! make/sun/splashscreen/FILES_c.gmk - src/share/native/java/util/zip/zlib-1.2.3/ChangeLog - src/share/native/java/util/zip/zlib-1.2.3/README - src/share/native/java/util/zip/zlib-1.2.3/compress.c - src/share/native/java/util/zip/zlib-1.2.3/crc32.h - src/share/native/java/util/zip/zlib-1.2.3/deflate.c - src/share/native/java/util/zip/zlib-1.2.3/deflate.h - src/share/native/java/util/zip/zlib-1.2.3/gzio.c - src/share/native/java/util/zip/zlib-1.2.3/infback.c - src/share/native/java/util/zip/zlib-1.2.3/inffast.c - src/share/native/java/util/zip/zlib-1.2.3/inffast.h - src/share/native/java/util/zip/zlib-1.2.3/inffixed.h - src/share/native/java/util/zip/zlib-1.2.3/inflate.c - src/share/native/java/util/zip/zlib-1.2.3/inflate.h - src/share/native/java/util/zip/zlib-1.2.3/inftrees.c - src/share/native/java/util/zip/zlib-1.2.3/inftrees.h - src/share/native/java/util/zip/zlib-1.2.3/patches/ChangeLog_java - src/share/native/java/util/zip/zlib-1.2.3/patches/crc32.c.diff - src/share/native/java/util/zip/zlib-1.2.3/patches/inflate.c.diff - src/share/native/java/util/zip/zlib-1.2.3/patches/zconf.h.diff - src/share/native/java/util/zip/zlib-1.2.3/patches/zlib.h.diff - src/share/native/java/util/zip/zlib-1.2.3/trees.c - src/share/native/java/util/zip/zlib-1.2.3/trees.h - src/share/native/java/util/zip/zlib-1.2.3/uncompr.c - src/share/native/java/util/zip/zlib-1.2.3/zadler32.c - src/share/native/java/util/zip/zlib-1.2.3/zconf.h - src/share/native/java/util/zip/zlib-1.2.3/zcrc32.c - src/share/native/java/util/zip/zlib-1.2.3/zlib.h - src/share/native/java/util/zip/zlib-1.2.3/zutil.c - src/share/native/java/util/zip/zlib-1.2.3/zutil.h + src/share/native/java/util/zip/zlib-1.2.5/ChangeLog + src/share/native/java/util/zip/zlib-1.2.5/README + src/share/native/java/util/zip/zlib-1.2.5/compress.c + src/share/native/java/util/zip/zlib-1.2.5/crc32.h + src/share/native/java/util/zip/zlib-1.2.5/deflate.c + src/share/native/java/util/zip/zlib-1.2.5/deflate.h + src/share/native/java/util/zip/zlib-1.2.5/gzclose.c + src/share/native/java/util/zip/zlib-1.2.5/gzguts.h + src/share/native/java/util/zip/zlib-1.2.5/gzlib.c + src/share/native/java/util/zip/zlib-1.2.5/gzread.c + src/share/native/java/util/zip/zlib-1.2.5/gzwrite.c + src/share/native/java/util/zip/zlib-1.2.5/infback.c + src/share/native/java/util/zip/zlib-1.2.5/inffast.c + src/share/native/java/util/zip/zlib-1.2.5/inffast.h + src/share/native/java/util/zip/zlib-1.2.5/inffixed.h + src/share/native/java/util/zip/zlib-1.2.5/inflate.c + src/share/native/java/util/zip/zlib-1.2.5/inflate.h + src/share/native/java/util/zip/zlib-1.2.5/inftrees.c + src/share/native/java/util/zip/zlib-1.2.5/inftrees.h + src/share/native/java/util/zip/zlib-1.2.5/patches/ChangeLog_java + src/share/native/java/util/zip/zlib-1.2.5/trees.c + src/share/native/java/util/zip/zlib-1.2.5/trees.h + src/share/native/java/util/zip/zlib-1.2.5/uncompr.c + src/share/native/java/util/zip/zlib-1.2.5/zadler32.c + src/share/native/java/util/zip/zlib-1.2.5/zconf.h + src/share/native/java/util/zip/zlib-1.2.5/zcrc32.c + src/share/native/java/util/zip/zlib-1.2.5/zlib.h + src/share/native/java/util/zip/zlib-1.2.5/zutil.c + src/share/native/java/util/zip/zlib-1.2.5/zutil.h + test/java/util/zip/DeInflate.java Changeset: 07e359b01d8a Author: sherman Date: 2011-11-29 13:05 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/07e359b01d8a 7109837: Provide a mechanism for computing an Adler32 checksum for the contents of a ByteBuffer Summary: added methods Adler32/CRC32.update(ByteBuffer) Reviewed-by: alanb ! make/java/zip/mapfile-vers ! src/share/classes/java/util/zip/Adler32.java ! src/share/classes/java/util/zip/CRC32.java ! src/share/native/java/util/zip/Adler32.c ! src/share/native/java/util/zip/CRC32.c + test/java/util/zip/TimeChecksum.java Changeset: c5313d712ab0 Author: lana Date: 2011-11-29 12:04 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/c5313d712ab0 Merge Changeset: a3edcdff37e1 Author: lana Date: 2011-11-29 13:49 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/a3edcdff37e1 Merge Changeset: 4749df4f04f1 Author: alanb Date: 2011-11-30 10:57 +0000 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/4749df4f04f1 7030624: size_t usages in src/windows/native/java/io/io_util_md.c need to be re-visited Reviewed-by: lancea, chegar ! src/share/native/java/io/io_util.c ! src/windows/native/java/io/io_util_md.c ! src/windows/native/java/io/io_util_md.h Changeset: 7795c41ed54c Author: alanb Date: 2011-11-30 12:42 +0000 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/7795c41ed54c 7116404: Miscellaneous warnings (java.rmi.**, serialization, some core classes) Reviewed-by: lancea, chegar, smarks ! src/share/classes/java/io/File.java ! src/share/classes/java/io/ObjectInputStream.java ! src/share/classes/java/io/ObjectOutputStream.java ! src/share/classes/java/io/ObjectStreamClass.java ! src/share/classes/java/io/SequenceInputStream.java ! src/share/classes/java/lang/ClassLoader.java ! src/share/classes/java/lang/Enum.java ! src/share/classes/java/lang/Package.java ! src/share/classes/java/lang/Runtime.java ! src/share/classes/java/lang/SecurityManager.java ! src/share/classes/java/lang/System.java ! src/share/classes/java/lang/Thread.java ! src/share/classes/java/lang/ThreadGroup.java ! src/share/classes/java/rmi/MarshalledObject.java ! src/share/classes/java/rmi/dgc/VMID.java ! src/share/classes/java/rmi/server/LogStream.java ! src/share/classes/java/rmi/server/RemoteObject.java ! src/share/classes/sun/misc/JavaLangAccess.java ! src/share/classes/sun/misc/Launcher.java ! src/share/classes/sun/misc/Unsafe.java ! src/share/classes/sun/misc/VM.java Changeset: 43a630f11af6 Author: smarks Date: 2011-11-30 13:11 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/43a630f11af6 7116322: enhance javac make rule with a little bit of instrumentation Reviewed-by: dholmes, ohair ! make/common/Rules.gmk Changeset: 3b8186aee592 Author: chegar Date: 2011-12-01 11:09 +0000 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/3b8186aee592 7116722: Miscellaneous warnings sun.misc ( and related classes ) Reviewed-by: alanb, darcy, forax, hawtin, lancea ! src/share/classes/com/sun/net/httpserver/spi/HttpServerProvider.java ! src/share/classes/java/net/InetAddress.java ! src/share/classes/java/util/jar/JarVerifier.java ! src/share/classes/java/util/jar/JavaUtilJarAccessImpl.java ! src/share/classes/javax/script/ScriptEngineManager.java ! src/share/classes/sun/misc/BASE64Decoder.java ! src/share/classes/sun/misc/ExtensionDependency.java ! src/share/classes/sun/misc/JarIndex.java ! src/share/classes/sun/misc/JavaUtilJarAccess.java ! src/share/classes/sun/misc/ProxyGenerator.java ! src/share/classes/sun/misc/Service.java ! src/share/classes/sun/misc/Signal.java ! test/sun/misc/JarIndex/metaInfFilenames/Basic.java Changeset: 89130611b178 Author: mcimadamore Date: 2011-12-01 18:34 +0000 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/89130611b178 7116954: Misc warnings in java.beans/java.beans.context Summary: Remove generic warnings form java.beans and java.beans.context Reviewed-by: alanb, chegar ! src/share/classes/java/beans/BeanDescriptor.java ! src/share/classes/java/beans/Beans.java ! src/share/classes/java/beans/ChangeListenerMap.java ! src/share/classes/java/beans/DefaultPersistenceDelegate.java ! src/share/classes/java/beans/Encoder.java ! src/share/classes/java/beans/EventHandler.java ! src/share/classes/java/beans/EventSetDescriptor.java ! src/share/classes/java/beans/FeatureDescriptor.java ! src/share/classes/java/beans/IndexedPropertyDescriptor.java ! src/share/classes/java/beans/Introspector.java ! src/share/classes/java/beans/MetaData.java ! src/share/classes/java/beans/MethodDescriptor.java ! src/share/classes/java/beans/NameGenerator.java ! src/share/classes/java/beans/PersistenceDelegate.java ! src/share/classes/java/beans/PropertyChangeSupport.java ! src/share/classes/java/beans/PropertyDescriptor.java ! src/share/classes/java/beans/PropertyEditorSupport.java ! src/share/classes/java/beans/ReflectionUtils.java ! src/share/classes/java/beans/SimpleBeanInfo.java ! src/share/classes/java/beans/Statement.java ! src/share/classes/java/beans/VetoableChangeSupport.java ! src/share/classes/java/beans/XMLEncoder.java ! src/share/classes/java/beans/beancontext/BeanContext.java ! src/share/classes/java/beans/beancontext/BeanContextMembershipEvent.java Changeset: 0e3f706741ca Author: smarks Date: 2011-12-01 16:14 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/0e3f706741ca 7116890: additional warnings fixes for java.io Reviewed-by: alanb, smarks Contributed-by: Sebastian Sickelmann ! src/share/classes/java/io/ExpiringCache.java ! src/share/classes/java/io/LineNumberInputStream.java ! src/share/classes/java/io/LineNumberReader.java ! src/share/classes/java/io/ObjectOutputStream.java ! src/share/classes/java/io/RandomAccessFile.java Changeset: b03da32c3186 Author: peytoia Date: 2011-12-02 16:09 +0900 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/b03da32c3186 7056472: Speed up test/java/util/ResourceBundle/Control/ExpirationTest.sh Reviewed-by: okutsu - test/java/util/ResourceBundle/Control/ExpirationTest.java - test/java/util/ResourceBundle/Control/ExpirationTest.sh Changeset: f615db07991e Author: chegar Date: 2011-12-02 11:39 +0000 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/f615db07991e 7116946: JSSecurityManager should use java.util.ServiceLoader to lookup service providers Reviewed-by: prr ! src/share/classes/com/sun/media/sound/JSSecurityManager.java Changeset: 37f6e294759f Author: chegar Date: 2011-12-02 14:17 +0000 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/37f6e294759f 7116957: javax.script.ScriptEngineManager should use java.util.ServiceLoader to lookup service providers Reviewed-by: alanb, lancea ! src/share/classes/com/sun/net/httpserver/spi/HttpServerProvider.java ! src/share/classes/javax/script/ScriptEngineManager.java ! src/share/classes/sun/net/ftp/FtpClientProvider.java Changeset: 9950e2c9f3b5 Author: alanb Date: 2011-12-02 17:37 +0000 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/9950e2c9f3b5 7117357: Warnings in sun.instrument, tools and other sun.* classes Reviewed-by: lancea, chegar ! src/share/classes/sun/instrument/InstrumentationImpl.java ! src/share/classes/sun/instrument/TransformerManager.java ! src/share/classes/sun/launcher/LauncherHelper.java ! src/share/classes/sun/management/counter/perf/PerfInstrumentation.java ! src/share/classes/sun/management/jmxremote/ConnectorBootstrap.java ! src/share/classes/sun/net/RegisteredDomain.java ! src/share/classes/sun/net/www/protocol/jar/Handler.java ! src/share/classes/sun/tools/attach/HotSpotAttachProvider.java ! src/share/classes/sun/tools/jinfo/JInfo.java ! src/share/classes/sun/tools/jmap/JMap.java ! src/share/classes/sun/tools/jps/Jps.java ! src/share/classes/sun/tools/jstack/JStack.java ! src/share/classes/sun/tools/serialver/SerialVer.java Changeset: 42532a097816 Author: naoto Date: 2011-12-02 16:04 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/42532a097816 7117465: Warning cleanup for IMF classes Reviewed-by: okutsu ! src/share/classes/java/awt/im/InputMethodHighlight.java ! src/share/classes/sun/awt/im/CompositionArea.java ! src/share/classes/sun/awt/im/CompositionAreaHandler.java ! src/share/classes/sun/awt/im/InputContext.java ! src/share/classes/sun/awt/im/InputMethodContext.java ! src/share/classes/sun/awt/im/InputMethodJFrame.java ! src/share/classes/sun/awt/im/InputMethodManager.java ! src/share/classes/sun/awt/im/SimpleInputMethodWindow.java Changeset: 1d7037df65ed Author: sherman Date: 2011-12-02 16:25 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/1d7037df65ed 5035850: (str) String.CASE_INSENSITIVE_ORDER should override readResolve() Summary: Fix to ensure singleton property of String.CaseInsensitiveComparator is maintained through de/serialization. Reviewed-by: alanb, forax, smarks, dholmes Contributed-by: darryl.mocek at oracle.com ! src/share/classes/java/lang/String.java + test/java/lang/String/CaseInsensitiveComparator.java Changeset: 98502d7a3f98 Author: mchung Date: 2011-12-02 16:29 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/98502d7a3f98 7117585: Eliminate java.lang.instrument, java.lang.management warnings Reviewed-by: mchung Contributed-by: Jon VanAlten ! src/share/classes/java/lang/instrument/ClassDefinition.java ! src/share/classes/java/lang/management/ManagementFactory.java ! src/share/classes/java/lang/management/PlatformComponent.java Changeset: 3c524deb8431 Author: lancea Date: 2011-12-02 19:33 -0500 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/3c524deb8431 7116445: Miscellaneous warnings in the JDBC/RowSet classes Reviewed-by: smarks, chegar ! src/share/classes/com/sun/rowset/CachedRowSetImpl.java ! src/share/classes/com/sun/rowset/FilteredRowSetImpl.java ! src/share/classes/com/sun/rowset/JdbcRowSetImpl.java ! src/share/classes/com/sun/rowset/JdbcRowSetResourceBundle.java ! src/share/classes/com/sun/rowset/JoinRowSetImpl.java ! src/share/classes/com/sun/rowset/WebRowSetImpl.java ! src/share/classes/com/sun/rowset/internal/CachedRowSetReader.java ! src/share/classes/com/sun/rowset/internal/CachedRowSetWriter.java ! src/share/classes/com/sun/rowset/internal/Row.java ! src/share/classes/com/sun/rowset/internal/SyncResolverImpl.java ! src/share/classes/com/sun/rowset/internal/WebRowSetXmlWriter.java ! src/share/classes/com/sun/rowset/internal/XmlReaderContentHandler.java ! src/share/classes/java/sql/Date.java ! src/share/classes/java/sql/DriverManager.java ! src/share/classes/java/sql/Time.java ! src/share/classes/java/sql/Timestamp.java ! src/share/classes/javax/sql/StatementEvent.java ! src/share/classes/javax/sql/rowset/BaseRowSet.java ! src/share/classes/javax/sql/rowset/RowSetMetaDataImpl.java ! src/share/classes/javax/sql/rowset/RowSetProvider.java ! src/share/classes/javax/sql/rowset/serial/SQLInputImpl.java ! src/share/classes/javax/sql/rowset/serial/SQLOutputImpl.java ! 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/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 Changeset: f2a5d0001f15 Author: okutsu Date: 2011-12-03 10:58 +0900 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/f2a5d0001f15 7117487: Warnings Cleanup: some i18n classes in java.util and sun.util Reviewed-by: lancea, naoto ! src/share/classes/java/util/Date.java ! src/share/classes/java/util/GregorianCalendar.java ! src/share/classes/java/util/JapaneseImperialCalendar.java ! src/share/classes/java/util/ResourceBundle.java ! src/share/classes/sun/util/calendar/BaseCalendar.java ! src/share/classes/sun/util/calendar/CalendarSystem.java ! src/share/classes/sun/util/calendar/LocalGregorianCalendar.java ! src/share/classes/sun/util/calendar/ZoneInfo.java ! src/share/classes/sun/util/calendar/ZoneInfoFile.java ! src/share/classes/sun/util/resources/OpenListResourceBundle.java ! src/share/classes/sun/util/resources/TimeZoneNamesBundle.java Changeset: 2ae848ea980a Author: weijun Date: 2011-12-05 10:19 +0800 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/2ae848ea980a 7116857: Warnings in javax.security and some sun.misc Reviewed-by: smarks ! src/share/classes/javax/security/auth/kerberos/ServicePermission.java ! src/share/classes/sun/misc/CEFormatException.java ! src/share/classes/sun/misc/CEStreamExhausted.java ! src/share/classes/sun/misc/ClassLoaderUtil.java ! src/share/classes/sun/misc/CompoundEnumeration.java ! src/share/classes/sun/misc/ExtensionInstallationException.java ! src/share/classes/sun/misc/FloatingDecimal.java ! src/share/classes/sun/misc/FormattedFloatingDecimal.java ! src/share/classes/sun/misc/InvalidJarIndexException.java ! src/share/classes/sun/misc/LRUCache.java ! src/share/classes/sun/misc/Queue.java ! src/share/classes/sun/misc/RequestProcessor.java ! src/share/classes/sun/misc/ServiceConfigurationError.java ! src/share/classes/sun/misc/URLClassPath.java Changeset: 053cb321467a Author: alanb Date: 2011-12-05 12:23 +0000 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/053cb321467a 7117717: (aio) Tests failing due to implementation bug 7052549 Reviewed-by: weijun, chegar ! test/ProblemList.txt ! test/java/nio/channels/AsynchronousSocketChannel/Basic.java Changeset: da28826c5672 Author: alanb Date: 2011-12-05 12:24 +0000 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/da28826c5672 Merge Changeset: f352dd3cdff8 Author: dl Date: 2011-12-05 13:58 +0000 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/f352dd3cdff8 7117360: Warnings in java.util.concurrent.atomic package Reviewed-by: chegar, dholmes ! 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/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 Changeset: 194faa6fdb3c Author: sherman Date: 2011-12-05 10:50 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/194faa6fdb3c 5063455: (fmt) MissingFormatArgumentException.getFormatSpecifier() incorrect return value Summary: updated the incorrect StringBuilder constructor usage Reviewed-by: dholmes, sherman Contributed-by: brandon.passanisi at oracle.com ! src/share/classes/java/util/Formatter.java + test/java/util/MissingFormatArgumentException/GetFormatSpecifier.java Changeset: ca383e32deaf Author: peytoia Date: 2011-12-06 08:39 +0900 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/ca383e32deaf 7116914: Miscellaneous warnings (sun.text) Reviewed-by: smarks, okutsu ! src/share/classes/sun/text/CompactByteArray.java ! src/share/classes/sun/text/IntHashtable.java ! src/share/classes/sun/text/bidi/BidiBase.java ! src/share/classes/sun/text/normalizer/ICUData.java ! src/share/classes/sun/text/normalizer/NormalizerBase.java ! src/share/classes/sun/text/normalizer/NormalizerImpl.java ! src/share/classes/sun/text/normalizer/SymbolTable.java ! src/share/classes/sun/text/normalizer/UnicodeSet.java ! src/share/classes/sun/text/normalizer/UnicodeSetIterator.java ! src/share/classes/sun/text/normalizer/VersionInfo.java Changeset: f4fe86bba8a2 Author: smarks Date: 2011-12-05 16:30 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/f4fe86bba8a2 7116993: fix warnings in java.applet Reviewed-by: art, smarks Contributed-by: Danesh Dadachanji ! src/share/classes/java/applet/Applet.java Changeset: 85363edbc92f Author: naoto Date: 2011-12-05 17:08 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/85363edbc92f 7117469: Warning cleanup for j.u.Currency and j.u.Locale related classes Reviewed-by: okutsu, smarks ! src/share/classes/java/util/Currency.java ! src/share/classes/sun/util/LocaleServiceProviderPool.java ! src/share/classes/sun/util/resources/LocaleData.java Changeset: 77f6d4360f4b Author: smarks Date: 2011-12-06 10:14 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/77f6d4360f4b 7116997: fix warnings in java.util.PropertyPermission Reviewed-by: smarks Contributed-by: Brandon Passanisi ! src/share/classes/java/util/PropertyPermission.java Changeset: b71d1acfae52 Author: lana Date: 2011-12-06 20:25 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/b71d1acfae52 Merge ! src/share/classes/java/beans/Beans.java ! src/share/classes/java/beans/Encoder.java ! src/share/classes/java/beans/Introspector.java ! src/share/classes/java/beans/PropertyDescriptor.java - src/share/native/java/util/zip/zlib-1.2.3/ChangeLog - src/share/native/java/util/zip/zlib-1.2.3/README - src/share/native/java/util/zip/zlib-1.2.3/compress.c - src/share/native/java/util/zip/zlib-1.2.3/crc32.h - src/share/native/java/util/zip/zlib-1.2.3/deflate.c - src/share/native/java/util/zip/zlib-1.2.3/deflate.h - src/share/native/java/util/zip/zlib-1.2.3/gzio.c - src/share/native/java/util/zip/zlib-1.2.3/infback.c - src/share/native/java/util/zip/zlib-1.2.3/inffast.c - src/share/native/java/util/zip/zlib-1.2.3/inffast.h - src/share/native/java/util/zip/zlib-1.2.3/inffixed.h - src/share/native/java/util/zip/zlib-1.2.3/inflate.c - src/share/native/java/util/zip/zlib-1.2.3/inflate.h - src/share/native/java/util/zip/zlib-1.2.3/inftrees.c - src/share/native/java/util/zip/zlib-1.2.3/inftrees.h - src/share/native/java/util/zip/zlib-1.2.3/patches/ChangeLog_java - src/share/native/java/util/zip/zlib-1.2.3/patches/crc32.c.diff - src/share/native/java/util/zip/zlib-1.2.3/patches/inflate.c.diff - src/share/native/java/util/zip/zlib-1.2.3/patches/zconf.h.diff - src/share/native/java/util/zip/zlib-1.2.3/patches/zlib.h.diff - src/share/native/java/util/zip/zlib-1.2.3/trees.c - src/share/native/java/util/zip/zlib-1.2.3/trees.h - src/share/native/java/util/zip/zlib-1.2.3/uncompr.c - src/share/native/java/util/zip/zlib-1.2.3/zadler32.c - src/share/native/java/util/zip/zlib-1.2.3/zconf.h - src/share/native/java/util/zip/zlib-1.2.3/zcrc32.c - src/share/native/java/util/zip/zlib-1.2.3/zlib.h - src/share/native/java/util/zip/zlib-1.2.3/zutil.c - src/share/native/java/util/zip/zlib-1.2.3/zutil.h - test/java/util/ResourceBundle/Control/ExpirationTest.java - test/java/util/ResourceBundle/Control/ExpirationTest.sh Changeset: cd95291bbbf3 Author: katleman Date: 2011-12-15 12:16 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/cd95291bbbf3 Added tag jdk8-b17 for changeset b71d1acfae52 ! .hgtags Changeset: 8f3d916a9164 Author: katleman Date: 2011-12-15 15:47 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/8f3d916a9164 Added tag jdk8-b16 for changeset 929597c6e777 ! .hgtags Changeset: e55ac966ed95 Author: katleman Date: 2011-12-15 15:55 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/e55ac966ed95 Merge ! .hgtags - make/sun/motif12/reorder-i586 - make/sun/motif12/reorder-sparc - make/sun/motif12/reorder-sparcv9 - src/share/native/java/util/zip/zlib-1.2.3/ChangeLog - src/share/native/java/util/zip/zlib-1.2.3/README - src/share/native/java/util/zip/zlib-1.2.3/compress.c - src/share/native/java/util/zip/zlib-1.2.3/crc32.h - src/share/native/java/util/zip/zlib-1.2.3/deflate.c - src/share/native/java/util/zip/zlib-1.2.3/deflate.h - src/share/native/java/util/zip/zlib-1.2.3/gzio.c - src/share/native/java/util/zip/zlib-1.2.3/infback.c - src/share/native/java/util/zip/zlib-1.2.3/inffast.c - src/share/native/java/util/zip/zlib-1.2.3/inffast.h - src/share/native/java/util/zip/zlib-1.2.3/inffixed.h - src/share/native/java/util/zip/zlib-1.2.3/inflate.c - src/share/native/java/util/zip/zlib-1.2.3/inflate.h - src/share/native/java/util/zip/zlib-1.2.3/inftrees.c - src/share/native/java/util/zip/zlib-1.2.3/inftrees.h - src/share/native/java/util/zip/zlib-1.2.3/patches/ChangeLog_java - src/share/native/java/util/zip/zlib-1.2.3/patches/crc32.c.diff - src/share/native/java/util/zip/zlib-1.2.3/patches/inflate.c.diff - src/share/native/java/util/zip/zlib-1.2.3/patches/zconf.h.diff - src/share/native/java/util/zip/zlib-1.2.3/patches/zlib.h.diff - src/share/native/java/util/zip/zlib-1.2.3/trees.c - src/share/native/java/util/zip/zlib-1.2.3/trees.h - src/share/native/java/util/zip/zlib-1.2.3/uncompr.c - src/share/native/java/util/zip/zlib-1.2.3/zadler32.c - src/share/native/java/util/zip/zlib-1.2.3/zconf.h - src/share/native/java/util/zip/zlib-1.2.3/zcrc32.c - src/share/native/java/util/zip/zlib-1.2.3/zlib.h - src/share/native/java/util/zip/zlib-1.2.3/zutil.c - src/share/native/java/util/zip/zlib-1.2.3/zutil.h - src/solaris/classes/sun/awt/motif/AWTLockAccess.java - src/solaris/classes/sun/awt/motif/MFontPeer.java - src/solaris/classes/sun/awt/motif/MToolkit.java - src/solaris/classes/sun/awt/motif/MToolkitThreadBlockedHandler.java - src/solaris/classes/sun/awt/motif/MWindowAttributes.java - src/solaris/classes/sun/awt/motif/X11FontMetrics.java - src/solaris/native/sun/awt/MouseInfo.c - src/solaris/native/sun/awt/XDrawingArea.c - src/solaris/native/sun/awt/XDrawingArea.h - src/solaris/native/sun/awt/XDrawingAreaP.h - src/solaris/native/sun/awt/awt_Cursor.h - src/solaris/native/sun/awt/awt_KeyboardFocusManager.h - src/solaris/native/sun/awt/awt_MToolkit.c - src/solaris/native/sun/awt/awt_MToolkit.h - src/solaris/native/sun/awt/awt_MenuItem.h - src/solaris/native/sun/awt/awt_PopupMenu.h - src/solaris/native/sun/awt/awt_TopLevel.h - src/solaris/native/sun/awt/awt_Window.h - src/solaris/native/sun/awt/awt_mgrsel.c - src/solaris/native/sun/awt/awt_mgrsel.h - src/solaris/native/sun/awt/awt_motif.h - src/solaris/native/sun/awt/awt_wm.c - src/solaris/native/sun/awt/awt_wm.h - src/solaris/native/sun/awt/awt_xembed.h - src/solaris/native/sun/awt/awt_xembed_server.c - src/solaris/native/sun/awt/awt_xembed_server.h - test/java/util/ResourceBundle/Control/ExpirationTest.java - test/java/util/ResourceBundle/Control/ExpirationTest.sh Changeset: 134420afe9c2 Author: ngthomas Date: 2011-11-13 21:39 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/134420afe9c2 7109885: security baseline for 7u2 or above is not set correctly Reviewed-by: ccheung, igor, ohair ! make/common/shared/Sanity.gmk Changeset: 6f594239e9dc Author: ngthomas Date: 2011-11-15 23:33 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/6f594239e9dc 7112298: remove security baseline sanity check Reviewed-by: ccheung, igor, ohair ! make/common/shared/Sanity.gmk Changeset: fcc7cafa0027 Author: herrick Date: 2011-11-18 06:35 -0500 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/fcc7cafa0027 Merge - make/sun/rmi/rmi/mapfile-vers - src/share/classes/sun/security/pkcs/EncodingException.java - src/share/classes/sun/security/pkcs/PKCS10.java - src/share/classes/sun/security/pkcs/PKCS10Attribute.java - src/share/classes/sun/security/pkcs/PKCS10Attributes.java - src/share/classes/sun/security/util/BigInt.java - src/share/classes/sun/security/util/PathList.java - src/share/classes/sun/security/x509/CertAndKeyGen.java - src/share/native/sun/rmi/server/MarshalInputStream.c - test/java/net/DatagramSocket/ChangingAddress.java - test/sun/security/util/BigInt/BigIntEqualsHashCode.java Changeset: 526e99f06a59 Author: igor Date: 2011-12-06 16:31 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/526e99f06a59 Merge - test/java/io/FileDescriptor/FileChannelFDTest.java - test/java/io/etc/FileDescriptorSharing.java Changeset: 334bd51fb3f3 Author: igor Date: 2011-12-19 10:06 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/334bd51fb3f3 Merge - make/sun/motif12/reorder-i586 - make/sun/motif12/reorder-sparc - make/sun/motif12/reorder-sparcv9 - src/share/native/java/util/zip/zlib-1.2.3/ChangeLog - src/share/native/java/util/zip/zlib-1.2.3/README - src/share/native/java/util/zip/zlib-1.2.3/compress.c - src/share/native/java/util/zip/zlib-1.2.3/crc32.h - src/share/native/java/util/zip/zlib-1.2.3/deflate.c - src/share/native/java/util/zip/zlib-1.2.3/deflate.h - src/share/native/java/util/zip/zlib-1.2.3/gzio.c - src/share/native/java/util/zip/zlib-1.2.3/infback.c - src/share/native/java/util/zip/zlib-1.2.3/inffast.c - src/share/native/java/util/zip/zlib-1.2.3/inffast.h - src/share/native/java/util/zip/zlib-1.2.3/inffixed.h - src/share/native/java/util/zip/zlib-1.2.3/inflate.c - src/share/native/java/util/zip/zlib-1.2.3/inflate.h - src/share/native/java/util/zip/zlib-1.2.3/inftrees.c - src/share/native/java/util/zip/zlib-1.2.3/inftrees.h - src/share/native/java/util/zip/zlib-1.2.3/patches/ChangeLog_java - src/share/native/java/util/zip/zlib-1.2.3/patches/crc32.c.diff - src/share/native/java/util/zip/zlib-1.2.3/patches/inflate.c.diff - src/share/native/java/util/zip/zlib-1.2.3/patches/zconf.h.diff - src/share/native/java/util/zip/zlib-1.2.3/patches/zlib.h.diff - src/share/native/java/util/zip/zlib-1.2.3/trees.c - src/share/native/java/util/zip/zlib-1.2.3/trees.h - src/share/native/java/util/zip/zlib-1.2.3/uncompr.c - src/share/native/java/util/zip/zlib-1.2.3/zadler32.c - src/share/native/java/util/zip/zlib-1.2.3/zconf.h - src/share/native/java/util/zip/zlib-1.2.3/zcrc32.c - src/share/native/java/util/zip/zlib-1.2.3/zlib.h - src/share/native/java/util/zip/zlib-1.2.3/zutil.c - src/share/native/java/util/zip/zlib-1.2.3/zutil.h - src/solaris/classes/sun/awt/motif/AWTLockAccess.java - src/solaris/classes/sun/awt/motif/MFontPeer.java - src/solaris/classes/sun/awt/motif/MToolkit.java - src/solaris/classes/sun/awt/motif/MToolkitThreadBlockedHandler.java - src/solaris/classes/sun/awt/motif/MWindowAttributes.java - src/solaris/classes/sun/awt/motif/X11FontMetrics.java - src/solaris/native/sun/awt/MouseInfo.c - src/solaris/native/sun/awt/XDrawingArea.c - src/solaris/native/sun/awt/XDrawingArea.h - src/solaris/native/sun/awt/XDrawingAreaP.h - src/solaris/native/sun/awt/awt_Cursor.h - src/solaris/native/sun/awt/awt_KeyboardFocusManager.h - src/solaris/native/sun/awt/awt_MToolkit.c - src/solaris/native/sun/awt/awt_MToolkit.h - src/solaris/native/sun/awt/awt_MenuItem.h - src/solaris/native/sun/awt/awt_PopupMenu.h - src/solaris/native/sun/awt/awt_TopLevel.h - src/solaris/native/sun/awt/awt_Window.h - src/solaris/native/sun/awt/awt_mgrsel.c - src/solaris/native/sun/awt/awt_mgrsel.h - src/solaris/native/sun/awt/awt_motif.h - src/solaris/native/sun/awt/awt_wm.c - src/solaris/native/sun/awt/awt_wm.h - src/solaris/native/sun/awt/awt_xembed.h - src/solaris/native/sun/awt/awt_xembed_server.c - src/solaris/native/sun/awt/awt_xembed_server.h - test/java/util/ResourceBundle/Control/ExpirationTest.java - test/java/util/ResourceBundle/Control/ExpirationTest.sh Changeset: c6fab5332075 Author: cl Date: 2011-12-22 19:00 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/c6fab5332075 Added tag jdk8-b18 for changeset 334bd51fb3f3 ! .hgtags Changeset: 7dbc53242c2a Author: art Date: 2011-12-07 17:45 +0400 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/7dbc53242c2a 7117008: Warnings cleanup day: reduce number of javac warnings in the sun.awt package Reviewed-by: anthony, denis, bagiras ! src/share/classes/sun/awt/AWTAutoShutdown.java ! src/share/classes/sun/awt/AppContext.java ! src/share/classes/sun/awt/CausedFocusEvent.java ! src/share/classes/sun/awt/DebugSettings.java ! src/share/classes/sun/awt/EmbeddedFrame.java ! src/share/classes/sun/awt/EventListenerAggregate.java - src/share/classes/sun/awt/FocusingTextField.java ! src/share/classes/sun/awt/HeadlessToolkit.java - src/share/classes/sun/awt/HorizBagLayout.java ! src/share/classes/sun/awt/KeyboardFocusManagerPeerImpl.java ! src/share/classes/sun/awt/ModalityEvent.java - src/share/classes/sun/awt/OrientableFlowLayout.java ! src/share/classes/sun/awt/PaintEventDispatcher.java ! src/share/classes/sun/awt/PeerEvent.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/UngrabEvent.java - src/share/classes/sun/awt/VariableGridLayout.java - src/share/classes/sun/awt/VerticalBagLayout.java Changeset: 18925904efc2 Author: alexsch Date: 2011-12-12 15:33 +0400 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/18925904efc2 7105890: closed/javax/swing/JScrollBar/4708809/bug4708809.java deadlocks on MacOS Reviewed-by: alexp + test/javax/swing/JScrollBar/4708809/bug4708809.java Changeset: 44b26d6a55a6 Author: alexsch Date: 2011-12-13 15:32 +0400 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/44b26d6a55a6 7112931: closed/javax/swing/JTabbedPane/6416920/bug6416920.java fails on MacOS Reviewed-by: alexp + test/javax/swing/JTabbedPane/6416920/bug6416920.java Changeset: 70233f5e909c Author: alexsch Date: 2011-12-13 17:30 +0400 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/70233f5e909c 7120869: javax/swing/JScrollBar/4708809/bug4708809.java fails on Windows Summary: The robot auto-delay is increased to fix the test failing on Windows. Reviewed-by: alexp ! test/javax/swing/JScrollBar/4708809/bug4708809.java Changeset: 032a91abc540 Author: alexsch Date: 2011-12-13 18:38 +0400 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/032a91abc540 7116950: Reduce number of warnings in swing Reviewed-by: art ! src/share/classes/com/sun/java/swing/Painter.java ! src/share/classes/java/beans/PropertyDescriptor.java ! src/share/classes/javax/swing/AbstractButton.java ! src/share/classes/javax/swing/ActionMap.java ! src/share/classes/javax/swing/ActionPropertyChangeListener.java ! src/share/classes/javax/swing/AncestorNotifier.java ! src/share/classes/javax/swing/ArrayTable.java ! src/share/classes/javax/swing/Box.java ! src/share/classes/javax/swing/BoxLayout.java ! src/share/classes/javax/swing/ButtonGroup.java ! src/share/classes/javax/swing/ComponentInputMap.java ! src/share/classes/javax/swing/InputMap.java ! src/share/classes/javax/swing/JButton.java ! src/share/classes/javax/swing/JComponent.java ! src/share/classes/javax/swing/JLabel.java ! src/share/classes/javax/swing/JLayeredPane.java ! src/share/classes/javax/swing/JMenu.java ! src/share/classes/javax/swing/JMenuBar.java ! src/share/classes/javax/swing/JMenuItem.java ! src/share/classes/javax/swing/JPopupMenu.java ! src/share/classes/javax/swing/JRootPane.java ! src/share/classes/javax/swing/JSeparator.java ! src/share/classes/javax/swing/JToolTip.java ! src/share/classes/javax/swing/JTree.java ! src/share/classes/javax/swing/JWindow.java ! src/share/classes/javax/swing/MenuSelectionManager.java ! src/share/classes/javax/swing/Popup.java ! src/share/classes/javax/swing/RepaintManager.java ! src/share/classes/javax/swing/Timer.java ! src/share/classes/javax/swing/border/AbstractBorder.java ! src/share/classes/javax/swing/border/CompoundBorder.java ! src/share/classes/javax/swing/border/EmptyBorder.java ! src/share/classes/javax/swing/border/MatteBorder.java ! src/share/classes/javax/swing/border/TitledBorder.java ! src/share/classes/javax/swing/event/AncestorEvent.java ! src/share/classes/javax/swing/event/ChangeEvent.java ! src/share/classes/javax/swing/event/EventListenerList.java ! src/share/classes/javax/swing/event/ListDataEvent.java ! src/share/classes/javax/swing/event/MenuDragMouseEvent.java ! src/share/classes/javax/swing/event/MenuEvent.java ! src/share/classes/javax/swing/event/MenuKeyEvent.java ! src/share/classes/javax/swing/event/PopupMenuEvent.java ! src/share/classes/javax/swing/plaf/ComponentUI.java ! src/share/classes/javax/swing/text/BadLocationException.java ! src/share/classes/javax/swing/tree/DefaultTreeSelectionModel.java Changeset: 282b2ce90afe Author: lana Date: 2011-12-16 12:12 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/282b2ce90afe Merge ! src/share/classes/java/beans/PropertyDescriptor.java - src/share/native/java/util/zip/zlib-1.2.3/ChangeLog - src/share/native/java/util/zip/zlib-1.2.3/README - src/share/native/java/util/zip/zlib-1.2.3/compress.c - src/share/native/java/util/zip/zlib-1.2.3/crc32.h - src/share/native/java/util/zip/zlib-1.2.3/deflate.c - src/share/native/java/util/zip/zlib-1.2.3/deflate.h - src/share/native/java/util/zip/zlib-1.2.3/gzio.c - src/share/native/java/util/zip/zlib-1.2.3/infback.c - src/share/native/java/util/zip/zlib-1.2.3/inffast.c - src/share/native/java/util/zip/zlib-1.2.3/inffast.h - src/share/native/java/util/zip/zlib-1.2.3/inffixed.h - src/share/native/java/util/zip/zlib-1.2.3/inflate.c - src/share/native/java/util/zip/zlib-1.2.3/inflate.h - src/share/native/java/util/zip/zlib-1.2.3/inftrees.c - src/share/native/java/util/zip/zlib-1.2.3/inftrees.h - src/share/native/java/util/zip/zlib-1.2.3/patches/ChangeLog_java - src/share/native/java/util/zip/zlib-1.2.3/patches/crc32.c.diff - src/share/native/java/util/zip/zlib-1.2.3/patches/inflate.c.diff - src/share/native/java/util/zip/zlib-1.2.3/patches/zconf.h.diff - src/share/native/java/util/zip/zlib-1.2.3/patches/zlib.h.diff - src/share/native/java/util/zip/zlib-1.2.3/trees.c - src/share/native/java/util/zip/zlib-1.2.3/trees.h - src/share/native/java/util/zip/zlib-1.2.3/uncompr.c - src/share/native/java/util/zip/zlib-1.2.3/zadler32.c - src/share/native/java/util/zip/zlib-1.2.3/zconf.h - src/share/native/java/util/zip/zlib-1.2.3/zcrc32.c - src/share/native/java/util/zip/zlib-1.2.3/zlib.h - src/share/native/java/util/zip/zlib-1.2.3/zutil.c - src/share/native/java/util/zip/zlib-1.2.3/zutil.h - test/java/util/ResourceBundle/Control/ExpirationTest.java - test/java/util/ResourceBundle/Control/ExpirationTest.sh Changeset: 75bd7295c706 Author: bagiras Date: 2011-12-19 15:21 +0400 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/75bd7295c706 7117334: Warnings cleanup day: reduce number of javac warnings in the java.awt package Reviewed-by: art, denis, alexsch ! src/share/classes/java/awt/AWTEvent.java ! src/share/classes/java/awt/AWTEventMulticaster.java ! src/share/classes/java/awt/Component.java ! src/share/classes/java/awt/Font.java ! src/share/classes/java/awt/Toolkit.java ! src/share/classes/java/awt/image/ColorModel.java Changeset: d15f38f08ce9 Author: denis Date: 2011-12-19 16:44 +0400 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/d15f38f08ce9 7117011: Reduce number of warnings in sun/awt/windows and sun/awt/datatransfer Reviewed-by: art ! src/share/classes/sun/awt/datatransfer/DataTransferer.java ! src/share/classes/sun/awt/dnd/SunDragSourceContextPeer.java ! src/solaris/classes/sun/awt/X11/XClipboard.java ! src/windows/classes/sun/awt/windows/TranslucentWindowPainter.java ! src/windows/classes/sun/awt/windows/WBufferStrategy.java ! src/windows/classes/sun/awt/windows/WChoicePeer.java ! src/windows/classes/sun/awt/windows/WClipboard.java ! src/windows/classes/sun/awt/windows/WComponentPeer.java ! src/windows/classes/sun/awt/windows/WDataTransferer.java ! src/windows/classes/sun/awt/windows/WDesktopProperties.java ! src/windows/classes/sun/awt/windows/WDialogPeer.java ! src/windows/classes/sun/awt/windows/WEmbeddedFrame.java ! src/windows/classes/sun/awt/windows/WFileDialogPeer.java ! src/windows/classes/sun/awt/windows/WFramePeer.java ! src/windows/classes/sun/awt/windows/WInputMethod.java ! src/windows/classes/sun/awt/windows/WMenuItemPeer.java ! src/windows/classes/sun/awt/windows/WPageDialog.java ! src/windows/classes/sun/awt/windows/WPageDialogPeer.java ! src/windows/classes/sun/awt/windows/WPrintDialog.java ! src/windows/classes/sun/awt/windows/WPrintDialogPeer.java ! src/windows/classes/sun/awt/windows/WToolkit.java ! src/windows/classes/sun/awt/windows/WWindowPeer.java Changeset: cded2429cdbf Author: anthony Date: 2011-12-20 12:48 +0300 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/cded2429cdbf 7122796: SunToolkit constructor should create the EventQueue for the Main AppContext Summary: Always create an EQ for the main AppContext in SunToolkit constructor Reviewed-by: art ! src/share/classes/sun/awt/AppContext.java ! src/share/classes/sun/awt/SunToolkit.java + test/java/awt/EventQueue/MainAppContext/MainAppContext.java Changeset: 94d7051cca13 Author: lana Date: 2011-12-20 15:26 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/94d7051cca13 Merge - src/share/classes/sun/awt/FocusingTextField.java - src/share/classes/sun/awt/HorizBagLayout.java - src/share/classes/sun/awt/OrientableFlowLayout.java - src/share/classes/sun/awt/VariableGridLayout.java - src/share/classes/sun/awt/VerticalBagLayout.java Changeset: 4f0f9f9c4892 Author: smarks Date: 2011-12-07 12:12 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/4f0f9f9c4892 7117249: fix warnings in java.util.jar, .logging, .prefs, .zip Reviewed-by: alanb, dholmes, forax, sherman, smarks Contributed-by: Prasannaa , Martijn Verburg , Goerge_Albrecht , Graham Allan , Michael Barker ! src/share/classes/java/util/jar/JarFile.java ! src/share/classes/java/util/jar/Manifest.java ! src/share/classes/java/util/logging/LogManager.java ! src/share/classes/java/util/prefs/Preferences.java ! src/share/classes/java/util/prefs/XmlSupport.java ! src/share/classes/java/util/zip/ZipEntry.java Changeset: f8897baf40ea Author: omajid Date: 2011-12-08 13:48 -0500 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/f8897baf40ea 7117612: Miscellaneous warnings in java.lang Reviewed-by: smarks, dholmes, alanb, darcy ! src/share/classes/java/lang/Boolean.java ! src/share/classes/java/lang/Byte.java ! src/share/classes/java/lang/Character.java ! src/share/classes/java/lang/CharacterName.java ! src/share/classes/java/lang/Class.java ! src/share/classes/java/lang/ClassLoader.java ! src/share/classes/java/lang/ConditionalSpecialCasing.java ! src/share/classes/java/lang/Double.java ! src/share/classes/java/lang/EnumConstantNotPresentException.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/Short.java ! src/share/classes/java/lang/System.java ! src/share/classes/java/lang/ThreadLocal.java ! src/share/classes/java/lang/Void.java ! src/solaris/classes/java/lang/ProcessEnvironment.java ! src/windows/classes/java/lang/ProcessEnvironment.java Changeset: 9bb7c3b97384 Author: smarks Date: 2011-12-08 14:57 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/9bb7c3b97384 7118546: fix warnings in javax.xml.crypto, javax.script Reviewed-by: mullan ! src/share/classes/javax/script/ScriptException.java ! src/share/classes/javax/xml/crypto/NodeSetData.java ! src/share/classes/javax/xml/crypto/dom/DOMCryptoContext.java ! src/share/classes/javax/xml/crypto/dsig/Manifest.java ! src/share/classes/javax/xml/crypto/dsig/Reference.java ! src/share/classes/javax/xml/crypto/dsig/SignatureProperties.java ! src/share/classes/javax/xml/crypto/dsig/SignatureProperty.java ! src/share/classes/javax/xml/crypto/dsig/SignedInfo.java ! src/share/classes/javax/xml/crypto/dsig/TransformService.java ! src/share/classes/javax/xml/crypto/dsig/XMLObject.java ! src/share/classes/javax/xml/crypto/dsig/XMLSignature.java ! src/share/classes/javax/xml/crypto/dsig/XMLSignatureFactory.java ! src/share/classes/javax/xml/crypto/dsig/keyinfo/KeyInfo.java ! src/share/classes/javax/xml/crypto/dsig/keyinfo/KeyInfoFactory.java ! src/share/classes/javax/xml/crypto/dsig/keyinfo/PGPData.java ! src/share/classes/javax/xml/crypto/dsig/keyinfo/RetrievalMethod.java ! src/share/classes/javax/xml/crypto/dsig/keyinfo/X509Data.java ! src/share/classes/javax/xml/crypto/dsig/spec/ExcC14NParameterSpec.java ! src/share/classes/javax/xml/crypto/dsig/spec/XPathFilter2ParameterSpec.java ! src/share/classes/javax/xml/crypto/dsig/spec/XPathFilterParameterSpec.java ! src/share/classes/javax/xml/crypto/dsig/spec/XPathType.java Changeset: 77d41c0e4ffc Author: jjh Date: 2011-12-09 12:56 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/77d41c0e4ffc 7117053: Fix build warnings in com/sun/tools/jdi/* Summary: Warnings fixed. Also reviewed by serguei.spitsyn at oracle.com, who is not yet an openjdk reviewer Reviewed-by: ksrini ! make/tools/src/build/tools/jdwpgen/ArrayRegionTypeNode.java ! make/tools/src/build/tools/jdwpgen/OutNode.java ! src/share/classes/com/sun/jdi/AbsentInformationException.java ! src/share/classes/com/sun/jdi/ClassNotLoadedException.java ! src/share/classes/com/sun/jdi/ClassNotPreparedException.java ! src/share/classes/com/sun/jdi/IncompatibleThreadStateException.java ! src/share/classes/com/sun/jdi/InconsistentDebugInfoException.java ! src/share/classes/com/sun/jdi/InternalException.java ! src/share/classes/com/sun/jdi/InvalidCodeIndexException.java ! src/share/classes/com/sun/jdi/InvalidLineNumberException.java ! src/share/classes/com/sun/jdi/InvalidStackFrameException.java ! src/share/classes/com/sun/jdi/InvalidTypeException.java ! src/share/classes/com/sun/jdi/InvocationException.java ! src/share/classes/com/sun/jdi/JDIPermission.java ! src/share/classes/com/sun/jdi/NativeMethodException.java ! src/share/classes/com/sun/jdi/ObjectCollectedException.java ! src/share/classes/com/sun/jdi/VMCannotBeModifiedException.java ! src/share/classes/com/sun/jdi/VMDisconnectedException.java ! src/share/classes/com/sun/jdi/VMMismatchException.java ! src/share/classes/com/sun/jdi/VMOutOfMemoryException.java ! src/share/classes/com/sun/jdi/connect/IllegalConnectorArgumentsException.java ! src/share/classes/com/sun/jdi/connect/TransportTimeoutException.java ! src/share/classes/com/sun/jdi/connect/VMStartException.java ! src/share/classes/com/sun/jdi/connect/spi/ClosedConnectionException.java ! src/share/classes/com/sun/jdi/request/DuplicateRequestException.java ! src/share/classes/com/sun/jdi/request/InvalidRequestStateException.java ! src/share/classes/com/sun/tools/jdi/ArrayReferenceImpl.java ! src/share/classes/com/sun/tools/jdi/ArrayTypeImpl.java ! src/share/classes/com/sun/tools/jdi/BooleanValueImpl.java ! src/share/classes/com/sun/tools/jdi/CharValueImpl.java ! src/share/classes/com/sun/tools/jdi/ClassLoaderReferenceImpl.java ! src/share/classes/com/sun/tools/jdi/ClassTypeImpl.java ! src/share/classes/com/sun/tools/jdi/ConcreteMethodImpl.java ! src/share/classes/com/sun/tools/jdi/ConnectorImpl.java ! src/share/classes/com/sun/tools/jdi/DoubleValueImpl.java ! src/share/classes/com/sun/tools/jdi/EventRequestManagerImpl.java ! src/share/classes/com/sun/tools/jdi/EventSetImpl.java ! src/share/classes/com/sun/tools/jdi/FloatValueImpl.java ! src/share/classes/com/sun/tools/jdi/GenericAttachingConnector.java ! src/share/classes/com/sun/tools/jdi/IntegerValueImpl.java ! src/share/classes/com/sun/tools/jdi/InterfaceTypeImpl.java ! src/share/classes/com/sun/tools/jdi/InternalEventHandler.java ! src/share/classes/com/sun/tools/jdi/JDWPException.java - src/share/classes/com/sun/tools/jdi/LinkedHashMap.java ! src/share/classes/com/sun/tools/jdi/LongValueImpl.java ! src/share/classes/com/sun/tools/jdi/MethodImpl.java ! src/share/classes/com/sun/tools/jdi/MirrorImpl.java ! src/share/classes/com/sun/tools/jdi/ObjectReferenceImpl.java ! src/share/classes/com/sun/tools/jdi/ProcessAttachingConnector.java ! src/share/classes/com/sun/tools/jdi/RawCommandLineLauncher.java ! src/share/classes/com/sun/tools/jdi/ReferenceTypeImpl.java ! src/share/classes/com/sun/tools/jdi/ShortValueImpl.java ! src/share/classes/com/sun/tools/jdi/SunCommandLineLauncher.java ! src/share/classes/com/sun/tools/jdi/TargetVM.java ! src/share/classes/com/sun/tools/jdi/ThreadAction.java ! src/share/classes/com/sun/tools/jdi/ThreadGroupReferenceImpl.java ! src/share/classes/com/sun/tools/jdi/ThreadReferenceImpl.java ! src/share/classes/com/sun/tools/jdi/VMAction.java ! src/share/classes/com/sun/tools/jdi/VMState.java ! src/share/classes/com/sun/tools/jdi/VirtualMachineImpl.java Changeset: c508f38245f8 Author: ngmr Date: 2011-12-12 11:41 +0000 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/c508f38245f8 7118907: InetAddress.isReachable() should return false if sendto fails with EHOSTUNREACH Reviewed-by: alanb, chegar Contributed-by: Charles Lee ! src/solaris/native/java/net/Inet4AddressImpl.c ! src/solaris/native/java/net/Inet6AddressImpl.c Changeset: 3216717f96f5 Author: dl Date: 2011-12-12 10:45 +0000 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/3216717f96f5 7118066: Warnings in java.util.concurrent package Reviewed-by: chegar, dholmes ! src/share/classes/java/util/concurrent/ArrayBlockingQueue.java ! src/share/classes/java/util/concurrent/ConcurrentHashMap.java ! src/share/classes/java/util/concurrent/ConcurrentLinkedDeque.java ! src/share/classes/java/util/concurrent/ConcurrentLinkedQueue.java ! src/share/classes/java/util/concurrent/ConcurrentSkipListMap.java ! src/share/classes/java/util/concurrent/ConcurrentSkipListSet.java ! src/share/classes/java/util/concurrent/CopyOnWriteArrayList.java ! src/share/classes/java/util/concurrent/DelayQueue.java ! src/share/classes/java/util/concurrent/Exchanger.java ! src/share/classes/java/util/concurrent/ForkJoinPool.java ! src/share/classes/java/util/concurrent/ForkJoinTask.java ! src/share/classes/java/util/concurrent/ForkJoinWorkerThread.java ! src/share/classes/java/util/concurrent/LinkedTransferQueue.java ! src/share/classes/java/util/concurrent/Phaser.java ! src/share/classes/java/util/concurrent/PriorityBlockingQueue.java ! src/share/classes/java/util/concurrent/ScheduledThreadPoolExecutor.java ! src/share/classes/java/util/concurrent/SynchronousQueue.java ! test/java/util/Collections/EmptyIterator.java Changeset: d4f9d7e86a92 Author: chegar Date: 2011-12-12 03:54 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/d4f9d7e86a92 Merge Changeset: 9c0a6185188f Author: ohair Date: 2011-12-12 08:17 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/9c0a6185188f 7119829: Adjust default jprt testing configuration Reviewed-by: alanb ! make/jprt.properties ! test/Makefile Changeset: c647ebb3c4f7 Author: naoto Date: 2011-12-13 15:41 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/c647ebb3c4f7 4808233: "Locale" not thread-safe Reviewed-by: okutsu ! src/share/classes/java/util/Locale.java Changeset: e446c7d24d6c Author: lana Date: 2011-12-15 19:52 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/e446c7d24d6c Merge - make/sun/motif12/reorder-i586 - make/sun/motif12/reorder-sparc - make/sun/motif12/reorder-sparcv9 - src/solaris/classes/sun/awt/motif/AWTLockAccess.java - src/solaris/classes/sun/awt/motif/MFontPeer.java - src/solaris/classes/sun/awt/motif/MToolkit.java - src/solaris/classes/sun/awt/motif/MToolkitThreadBlockedHandler.java - src/solaris/classes/sun/awt/motif/MWindowAttributes.java - src/solaris/classes/sun/awt/motif/X11FontMetrics.java - src/solaris/native/sun/awt/MouseInfo.c - src/solaris/native/sun/awt/XDrawingArea.c - src/solaris/native/sun/awt/XDrawingArea.h - src/solaris/native/sun/awt/XDrawingAreaP.h - src/solaris/native/sun/awt/awt_Cursor.h - src/solaris/native/sun/awt/awt_KeyboardFocusManager.h - src/solaris/native/sun/awt/awt_MToolkit.c - src/solaris/native/sun/awt/awt_MToolkit.h - src/solaris/native/sun/awt/awt_MenuItem.h - src/solaris/native/sun/awt/awt_PopupMenu.h - src/solaris/native/sun/awt/awt_TopLevel.h - src/solaris/native/sun/awt/awt_Window.h - src/solaris/native/sun/awt/awt_mgrsel.c - src/solaris/native/sun/awt/awt_mgrsel.h - src/solaris/native/sun/awt/awt_motif.h - src/solaris/native/sun/awt/awt_wm.c - src/solaris/native/sun/awt/awt_wm.h - src/solaris/native/sun/awt/awt_xembed.h - src/solaris/native/sun/awt/awt_xembed_server.c - src/solaris/native/sun/awt/awt_xembed_server.h Changeset: 33ac7a057b9c Author: chegar Date: 2011-12-16 16:09 +0000 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/33ac7a057b9c 7095980: Ensure HttpURLConnection (and supporting APIs) don't expose HttpOnly cookies Reviewed-by: michaelm ! src/share/classes/java/net/HttpCookie.java + src/share/classes/sun/misc/JavaNetHttpCookieAccess.java ! src/share/classes/sun/misc/SharedSecrets.java ! src/share/classes/sun/net/www/protocol/http/HttpURLConnection.java + test/sun/net/www/protocol/http/HttpOnly.java Changeset: abbca81a98a7 Author: smarks Date: 2011-12-17 08:21 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/abbca81a98a7 7122235: stop the build if javac fails Reviewed-by: chegar, dholmes, mcimadamore, ohair ! make/common/Rules.gmk Changeset: 528eb0d43e3a Author: alanb Date: 2011-12-17 20:07 +0000 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/528eb0d43e3a 7087549: (fs) Files.newInputStream throws UOE for custom provider options Reviewed-by: alanb Contributed-by: brandon.passanisi at oracle.com ! src/share/classes/java/nio/file/spi/FileSystemProvider.java + test/java/nio/file/Files/CustomOptions.java Changeset: 5b27b978ed42 Author: sherman Date: 2011-12-19 14:14 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/5b27b978ed42 6990617: Regular expression doesn't match if unicode character next to a digit. Summary: updated RemoveQEQuotation() to deal with this case correctly Reviewed-by: sherman Contributed-by: stephen.flores at oracle.com ! src/share/classes/java/util/regex/Pattern.java ! test/java/util/regex/RegExTest.java Changeset: 570f3d893596 Author: lana Date: 2011-12-20 15:27 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/570f3d893596 Merge - src/share/classes/com/sun/tools/jdi/LinkedHashMap.java Changeset: 6f19ff39cff4 Author: lana Date: 2011-12-23 16:38 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/6f19ff39cff4 Merge - src/share/classes/com/sun/tools/jdi/LinkedHashMap.java - src/share/classes/sun/awt/FocusingTextField.java - src/share/classes/sun/awt/HorizBagLayout.java - src/share/classes/sun/awt/OrientableFlowLayout.java - src/share/classes/sun/awt/VariableGridLayout.java - src/share/classes/sun/awt/VerticalBagLayout.java Changeset: 60dd940eb58e Author: yhuang Date: 2011-12-12 18:21 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/60dd940eb58e 7003124: In Bulgarian Locale DateFormat is wrong Reviewed-by: naoto, peytoia ! src/share/classes/sun/text/resources/FormatData_bg.java ! test/sun/text/resources/LocaleData ! test/sun/text/resources/LocaleDataTest.java Changeset: cd03cd0e0965 Author: mfang Date: 2011-12-15 11:29 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/cd03cd0e0965 Merge Changeset: 3778f8577305 Author: katleman Date: 2011-12-28 15:14 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/3778f8577305 Merge Changeset: 80350ee39fa8 Author: katleman Date: 2011-12-29 15:14 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/80350ee39fa8 Added tag jdk8-b19 for changeset 3778f8577305 ! .hgtags Changeset: 172d70c50c65 Author: cgruszka Date: 2011-09-15 13:59 -0400 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/172d70c50c65 7066713: Separate demos from the bundles on Solaris and Linux Summary: add new license files to demos and samples, new directory for bundling Reviewed-by: katleman, ohair, billyh ! make/common/Release.gmk ! make/common/shared/Defs-control.gmk Changeset: eaf967fd25c5 Author: cgruszka Date: 2011-10-18 14:21 -0400 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/eaf967fd25c5 7099017: jdk7u2-dev does not build Summary: changes to skip demo/DEMOS_LICENSE and sample/SAMPLES_LICENSE when building OPENJDK Reviewed-by: ohair, billyh ! make/common/Release.gmk Changeset: 39b7f01203c9 Author: cgruszka Date: 2011-11-17 16:57 -0500 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/39b7f01203c9 Merge Changeset: b64e7263b4fd Author: cgruszka Date: 2011-11-18 01:03 -0500 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/b64e7263b4fd Merge Changeset: e98869ff9f1e Author: cgruszka Date: 2011-12-05 12:41 -0500 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/e98869ff9f1e Merge - test/java/io/FileDescriptor/FileChannelFDTest.java - test/java/io/etc/FileDescriptorSharing.java Changeset: ffa36a6a46f5 Author: cgruszka Date: 2011-12-16 15:01 -0500 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/ffa36a6a46f5 Merge - make/sun/motif12/reorder-i586 - make/sun/motif12/reorder-sparc - make/sun/motif12/reorder-sparcv9 - src/share/native/java/util/zip/zlib-1.2.3/ChangeLog - src/share/native/java/util/zip/zlib-1.2.3/README - src/share/native/java/util/zip/zlib-1.2.3/compress.c - src/share/native/java/util/zip/zlib-1.2.3/crc32.h - src/share/native/java/util/zip/zlib-1.2.3/deflate.c - src/share/native/java/util/zip/zlib-1.2.3/deflate.h - src/share/native/java/util/zip/zlib-1.2.3/gzio.c - src/share/native/java/util/zip/zlib-1.2.3/infback.c - src/share/native/java/util/zip/zlib-1.2.3/inffast.c - src/share/native/java/util/zip/zlib-1.2.3/inffast.h - src/share/native/java/util/zip/zlib-1.2.3/inffixed.h - src/share/native/java/util/zip/zlib-1.2.3/inflate.c - src/share/native/java/util/zip/zlib-1.2.3/inflate.h - src/share/native/java/util/zip/zlib-1.2.3/inftrees.c - src/share/native/java/util/zip/zlib-1.2.3/inftrees.h - src/share/native/java/util/zip/zlib-1.2.3/patches/ChangeLog_java - src/share/native/java/util/zip/zlib-1.2.3/patches/crc32.c.diff - src/share/native/java/util/zip/zlib-1.2.3/patches/inflate.c.diff - src/share/native/java/util/zip/zlib-1.2.3/patches/zconf.h.diff - src/share/native/java/util/zip/zlib-1.2.3/patches/zlib.h.diff - src/share/native/java/util/zip/zlib-1.2.3/trees.c - src/share/native/java/util/zip/zlib-1.2.3/trees.h - src/share/native/java/util/zip/zlib-1.2.3/uncompr.c - src/share/native/java/util/zip/zlib-1.2.3/zadler32.c - src/share/native/java/util/zip/zlib-1.2.3/zconf.h - src/share/native/java/util/zip/zlib-1.2.3/zcrc32.c - src/share/native/java/util/zip/zlib-1.2.3/zlib.h - src/share/native/java/util/zip/zlib-1.2.3/zutil.c - src/share/native/java/util/zip/zlib-1.2.3/zutil.h - src/solaris/classes/sun/awt/motif/AWTLockAccess.java - src/solaris/classes/sun/awt/motif/MFontPeer.java - src/solaris/classes/sun/awt/motif/MToolkit.java - src/solaris/classes/sun/awt/motif/MToolkitThreadBlockedHandler.java - src/solaris/classes/sun/awt/motif/MWindowAttributes.java - src/solaris/classes/sun/awt/motif/X11FontMetrics.java - src/solaris/native/sun/awt/MouseInfo.c - src/solaris/native/sun/awt/XDrawingArea.c - src/solaris/native/sun/awt/XDrawingArea.h - src/solaris/native/sun/awt/XDrawingAreaP.h - src/solaris/native/sun/awt/awt_Cursor.h - src/solaris/native/sun/awt/awt_KeyboardFocusManager.h - src/solaris/native/sun/awt/awt_MToolkit.c - src/solaris/native/sun/awt/awt_MToolkit.h - src/solaris/native/sun/awt/awt_MenuItem.h - src/solaris/native/sun/awt/awt_PopupMenu.h - src/solaris/native/sun/awt/awt_TopLevel.h - src/solaris/native/sun/awt/awt_Window.h - src/solaris/native/sun/awt/awt_mgrsel.c - src/solaris/native/sun/awt/awt_mgrsel.h - src/solaris/native/sun/awt/awt_motif.h - src/solaris/native/sun/awt/awt_wm.c - src/solaris/native/sun/awt/awt_wm.h - src/solaris/native/sun/awt/awt_xembed.h - src/solaris/native/sun/awt/awt_xembed_server.c - src/solaris/native/sun/awt/awt_xembed_server.h - test/java/util/ResourceBundle/Control/ExpirationTest.java - test/java/util/ResourceBundle/Control/ExpirationTest.sh Changeset: 5fe1525e6e2c Author: cgruszka Date: 2011-12-23 10:43 -0500 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/5fe1525e6e2c Merge Changeset: 39e938cd1b82 Author: cgruszka Date: 2012-01-03 14:34 -0500 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/39e938cd1b82 Merge Changeset: fc050750f8a0 Author: katleman Date: 2012-01-05 08:42 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/fc050750f8a0 Added tag jdk8-b20 for changeset 39e938cd1b82 ! .hgtags Changeset: 1c4fffa22930 Author: okutsu Date: 2011-12-21 17:09 +0900 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/1c4fffa22930 7122054: (tz) Windows-only: tzmappings needs update for KB2633952 Reviewed-by: peytoia ! src/windows/lib/tzmappings Changeset: b1814b3ea6d3 Author: michaelm Date: 2011-12-21 10:06 +0000 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/b1814b3ea6d3 7078386: NetworkInterface.getNetworkInterfaces() may return corrupted results on linux Reviewed-by: michaelm, alanb, chegar Contributed-by: brandon.passanisi at oracle.com ! src/solaris/native/java/net/NetworkInterface.c Changeset: a9dfdc523c2c Author: valeriep Date: 2011-12-21 14:08 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/a9dfdc523c2c 6839886: Array overrun in pkcs11 Summary: Fix the wrong value when dealing w/ month and day. Reviewed-by: mullan ! src/share/native/sun/security/pkcs11/wrapper/p11_convert.c Changeset: 11698dedbe79 Author: weijun Date: 2011-12-22 15:35 +0800 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/11698dedbe79 7122169: TcpTimeout fail for various reasons Reviewed-by: alanb ! test/sun/security/krb5/auto/TcpTimeout.java Changeset: 559e07ed1f56 Author: alanb Date: 2011-12-22 10:52 +0000 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/559e07ed1f56 7076310: (file) AclEntry.Builder setFlags throws IllegalArgumentException if set argument is empty Reviewed-by: alanb Contributed-by: stephen.flores at oracle.com ! src/share/classes/java/nio/file/attribute/AclEntry.java + test/java/nio/file/attribute/AclEntry/EmptySet.java Changeset: 3c1ab134db71 Author: dcubed Date: 2011-12-22 18:35 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/3c1ab134db71 7121600: Instrumentation.redefineClasses() leaks class bytes Summary: Call JNI ReleaseByteArrayElements() on memory returned by JNI GetByteArrayElements(). Also push test for 7122253. Reviewed-by: acorn, poonam ! src/share/instrument/JPLISAgent.c + test/java/lang/instrument/BigClass.java + test/java/lang/instrument/MakeJAR4.sh + test/java/lang/instrument/RedefineBigClass.sh + test/java/lang/instrument/RedefineBigClassAgent.java + test/java/lang/instrument/RedefineBigClassApp.java + test/java/lang/instrument/RetransformBigClass.sh + test/java/lang/instrument/RetransformBigClassAgent.java + test/java/lang/instrument/RetransformBigClassApp.java Changeset: 437255d15e76 Author: lana Date: 2011-12-28 10:51 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/437255d15e76 Merge - src/share/classes/sun/awt/FocusingTextField.java - src/share/classes/sun/awt/HorizBagLayout.java - src/share/classes/sun/awt/OrientableFlowLayout.java - src/share/classes/sun/awt/VariableGridLayout.java - src/share/classes/sun/awt/VerticalBagLayout.java Changeset: 3a7ea63302f8 Author: smarks Date: 2011-12-29 16:39 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/3a7ea63302f8 7122061: add -Xlint:all -Werror to warning-free build steps Reviewed-by: chegar, alanb, dholmes, ohair ! make/com/sun/demo/jvmti/hprof/Makefile ! make/com/sun/java/browser/net/Makefile ! make/com/sun/tools/Makefile ! make/com/sun/tools/attach/Makefile ! make/com/sun/tracing/Makefile ! make/com/sun/tracing/dtrace/Makefile ! make/java/instrument/Makefile ! make/java/rmi/Makefile ! make/java/text/base/Makefile ! make/java/text/bidi/Makefile ! make/java/util/Makefile ! make/javax/accessibility/Makefile ! make/javax/others/Makefile ! make/javax/security/Makefile ! make/jpda/tty/Makefile ! make/sun/launcher/Makefile ! make/sun/serialver/Makefile ! make/sun/text/Makefile ! make/sun/util/Makefile Changeset: 5aeefe0e5d8c Author: chegar Date: 2012-01-01 09:24 +0000 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/5aeefe0e5d8c 7125055: ContentHandler.getContent API changed in error Reviewed-by: alanb ! src/share/classes/java/net/ContentHandler.java ! src/share/classes/sun/net/www/content/image/gif.java ! src/share/classes/sun/net/www/content/image/jpeg.java ! src/share/classes/sun/net/www/content/image/png.java ! src/share/classes/sun/net/www/content/image/x_xbitmap.java ! src/share/classes/sun/net/www/content/image/x_xpixmap.java Changeset: 8952a5f494f9 Author: ksrini Date: 2012-01-03 08:27 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/8952a5f494f9 7123582: (launcher) display the -version and -XshowSettings Reviewed-by: alanb ! src/share/bin/java.c ! test/tools/launcher/Settings.java Changeset: 5e34726cb4bb Author: ksrini Date: 2012-01-03 08:33 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/5e34726cb4bb 7124443: (launcher) test DefaultsLocaleTest fails with Windows shells. Reviewed-by: darcy ! test/tools/launcher/DefaultLocaleTest.java - test/tools/launcher/DefaultLocaleTest.sh + test/tools/launcher/DefaultLocaleTestRun.java ! test/tools/launcher/TestHelper.java Changeset: 0194fe5ca404 Author: fparain Date: 2012-01-04 03:49 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/0194fe5ca404 7104647: Adding a diagnostic command framework Reviewed-by: mchung, dholmes ! make/common/Release.gmk ! make/java/management/mapfile-vers ! make/launchers/Makefile ! make/sun/tools/Makefile + src/linux/doc/man/jcmd.1 + src/share/classes/com/sun/management/DiagnosticCommandArgumentInfo.java + src/share/classes/com/sun/management/DiagnosticCommandInfo.java ! src/share/classes/com/sun/management/HotSpotDiagnosticMXBean.java ! src/share/classes/sun/management/HotSpotDiagnostic.java ! src/share/classes/sun/tools/attach/HotSpotVirtualMachine.java + src/share/classes/sun/tools/jcmd/Arguments.java + src/share/classes/sun/tools/jcmd/JCmd.java ! src/share/javavm/export/jmm.h ! src/share/native/sun/management/HotSpotDiagnostic.c + src/solaris/doc/sun/man/man1/jcmd.1 + test/com/sun/management/HotSpotDiagnosticMXBean/ExecuteDiagnosticCommand.java + test/com/sun/management/HotSpotDiagnosticMXBean/GetDiagnosticCommandInfo.java + test/com/sun/management/HotSpotDiagnosticMXBean/GetDiagnosticCommands.java ! test/sun/tools/common/CommonSetup.sh + test/sun/tools/jcmd/dcmd-script.txt + test/sun/tools/jcmd/help_help.out + test/sun/tools/jcmd/jcmd-Defaults.sh + test/sun/tools/jcmd/jcmd-f.sh + test/sun/tools/jcmd/jcmd-help-help.sh + test/sun/tools/jcmd/jcmd-help.sh + test/sun/tools/jcmd/jcmd-pid.sh + test/sun/tools/jcmd/jcmd_Output1.awk + test/sun/tools/jcmd/jcmd_pid_Output1.awk + test/sun/tools/jcmd/jcmd_pid_Output2.awk + test/sun/tools/jcmd/usage.out Changeset: 38a318502e19 Author: lana Date: 2012-01-04 10:57 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/38a318502e19 Merge ! make/common/Release.gmk - test/tools/launcher/DefaultLocaleTest.sh Changeset: 93ab1df09d11 Author: lana Date: 2012-01-09 19:12 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/93ab1df09d11 Merge - test/tools/launcher/DefaultLocaleTest.sh Changeset: ddb97d4fa83d Author: ohair Date: 2012-01-04 17:42 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/ddb97d4fa83d 7127104: Build issue with prtconf and zones, also using := to avoid extra execs Reviewed-by: katleman ! make/common/shared/Platform.gmk Changeset: 7c8c16f2c05e Author: ohair Date: 2012-01-09 09:18 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/7c8c16f2c05e 7128320: Fix freetype sanity check to make it more generic Reviewed-by: luchsh, katleman Contributed-by: Jonathan Lu ! make/common/Defs-linux.gmk ! make/common/Defs-solaris.gmk ! make/common/Defs-windows.gmk ! make/common/Demo.gmk ! make/tools/freetypecheck/Makefile Changeset: 664fa4fb0ee4 Author: katleman Date: 2012-01-11 16:13 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/664fa4fb0ee4 Merge Changeset: dda27c73d8db Author: katleman Date: 2012-01-13 10:05 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/dda27c73d8db Added tag jdk8-b21 for changeset 664fa4fb0ee4 ! .hgtags Changeset: 76bfd08d8cc5 Author: katleman Date: 2012-01-20 13:08 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/76bfd08d8cc5 Added tag jdk8-b22 for changeset dda27c73d8db ! .hgtags Changeset: 44bd765c22f4 Author: prr Date: 2012-01-13 13:11 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/44bd765c22f4 7127827: JRE8: javaws fails to launch on oracle linux due to XRender Reviewed-by: bae, jgodinez ! src/solaris/classes/sun/java2d/xr/XRCompositeManager.java Changeset: b566004bcb1a Author: dbuck Date: 2012-01-16 11:52 +0400 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/b566004bcb1a 7083621: Add fontconfig file for OEL6 and rename RH/O EL 5 file so that it is picked up for all 5.x updates Reviewed-by: bae, prr ! make/sun/awt/Makefile Changeset: 397667460892 Author: lana Date: 2012-01-18 11:27 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/397667460892 Merge - test/tools/launcher/DefaultLocaleTest.sh Changeset: e0f94b9c53a8 Author: alexsch Date: 2012-01-10 15:46 +0400 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/e0f94b9c53a8 7110815: closed/javax/swing/JSplitPane/4885629/bug4885629.java unstable on MacOS Reviewed-by: kizune + test/javax/swing/JSplitPane/4885629/bug4885629.java Changeset: 79d14e328670 Author: alexsch Date: 2012-01-10 17:11 +0400 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/79d14e328670 6505523: NullPointerException in BasicTreeUI when a node is removed by expansion listener Reviewed-by: rupashka ! src/share/classes/javax/swing/plaf/basic/BasicTreeUI.java + test/javax/swing/JTree/6505523/bug6505523.java Changeset: ce32a4e1be1d Author: alexsch Date: 2012-01-13 12:39 +0400 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/ce32a4e1be1d 7121765: closed/javax/swing/JTextArea/4697612/bug4697612.java fails on MacOS on Aqua L&F Reviewed-by: rupashka + test/javax/swing/JTextArea/4697612/bug4697612.java + test/javax/swing/JTextArea/4697612/bug4697612.txt Changeset: 59b8875949e1 Author: malenkov Date: 2012-01-16 18:28 +0400 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/59b8875949e1 7122740: PropertyDescriptor Performance Slow Reviewed-by: rupashka ! src/share/classes/com/sun/beans/TypeResolver.java Changeset: 3e9d35e6ee4f Author: denis Date: 2012-01-17 19:09 +0400 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/3e9d35e6ee4f 7110590: DnDMerlinQLTestsuite_DnDJTextArea test fails with an java.awt.dnd.InvalidDnDOperationException Reviewed-by: art ! src/share/classes/java/awt/AWTKeyStroke.java Changeset: 89bc9d08fe82 Author: anthony Date: 2012-01-18 19:09 +0400 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/89bc9d08fe82 7130662: GTK file dialog crashes with a NPE Summary: Guard adding a back slash to the directory name with an if (!= null) check Reviewed-by: anthony, art Contributed-by: Matt ! src/solaris/classes/sun/awt/X11/GtkFileDialogPeer.java Changeset: fe1278123fbb Author: lana Date: 2012-01-18 11:41 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/fe1278123fbb Merge - test/tools/launcher/DefaultLocaleTest.sh Changeset: 4d8b49a45cff Author: lana Date: 2012-01-18 20:23 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/4d8b49a45cff Merge Changeset: 400cc379adb5 Author: alanb Date: 2012-01-06 15:00 +0000 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/400cc379adb5 7127235: (fs) NPE in Files.walkFileTree if cached attributes are GC'ed Reviewed-by: forax, chegar ! src/share/classes/java/nio/file/FileTreeWalker.java Changeset: cdc128128044 Author: valeriep Date: 2012-01-05 18:18 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/cdc128128044 6414899: P11Digest should support cloning Summary: Enhanced the PKCS11 Digest implementation to support cloning Reviewed-by: vinnie ! make/sun/security/pkcs11/mapfile-vers ! src/share/classes/sun/security/pkcs11/P11Digest.java ! src/share/classes/sun/security/pkcs11/wrapper/PKCS11.java ! src/share/lib/security/sunpkcs11-solaris.cfg ! src/share/native/sun/security/pkcs11/wrapper/pkcs11wrapper.h + test/sun/security/pkcs11/MessageDigest/TestCloning.java Changeset: e6ef778c1df4 Author: valeriep Date: 2012-01-06 11:02 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/e6ef778c1df4 Merge Changeset: 6720ae7b1448 Author: valeriep Date: 2012-01-06 16:06 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/6720ae7b1448 7033170: Cipher.getMaxAllowedKeyLength(String) throws NoSuchAlgorithmException Summary: Changed to always use full transformation as provider properties. Reviewed-by: mullan ! src/share/classes/sun/security/pkcs11/SunPKCS11.java ! test/javax/crypto/Cipher/GetMaxAllowed.java Changeset: 2050ff9dfc92 Author: darcy Date: 2012-01-06 18:47 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/2050ff9dfc92 7123649: Remove public modifier from Math.powerOfTwoF. Reviewed-by: smarks, alanb ! src/share/classes/java/lang/Math.java Changeset: 74c92c3e66ad Author: gadams Date: 2012-01-09 19:33 +0000 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/74c92c3e66ad 7030573: test/java/io/FileInputStream/LargeFileAvailable.java fails when there is insufficient disk space Reviewed-by: alanb ! test/java/io/FileInputStream/LargeFileAvailable.java Changeset: 858038d89fd5 Author: darcy Date: 2012-01-09 15:54 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/858038d89fd5 7128441: StrictMath performance improvement note shared with Math Reviewed-by: darcy Contributed-by: Martin Desruisseaux ! src/share/classes/java/lang/Math.java ! src/share/classes/java/lang/StrictMath.java Changeset: dd69d3695cee Author: darcy Date: 2012-01-09 20:14 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/dd69d3695cee 7128512: Javadoc typo in java.lang.invoke.MethodHandle Reviewed-by: mduigou ! src/share/classes/java/lang/invoke/MethodHandle.java Changeset: d72de8b3fe36 Author: chegar Date: 2012-01-10 10:57 +0000 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/d72de8b3fe36 7123415: Some cases of network interface indexes being read incorrectly Reviewed-by: chegar Contributed-by: brandon.passanisi at oracle.com ! src/solaris/native/java/net/net_util_md.c Changeset: bba276a6aa0d Author: chegar Date: 2012-01-10 12:48 +0000 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/bba276a6aa0d 7128584: Typo in sun.misc.VM's private directMemory field comment Reviewed-by: forax, chegar Contributed-by: Krystal Mok ! src/share/classes/sun/misc/VM.java Changeset: 49e64a8fc18f Author: darcy Date: 2012-01-10 17:12 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/49e64a8fc18f 7112008: Javadoc for j.l.Object.finalize() vs JLS 12.6 Finalization of Class Instances Reviewed-by: mduigou ! src/share/classes/java/lang/Object.java Changeset: 62dbcbe4c446 Author: darcy Date: 2012-01-10 17:46 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/62dbcbe4c446 7128931: Bad HTML escaping in java.lang.Throwable javadoc Reviewed-by: mduigou ! src/share/classes/java/lang/Throwable.java Changeset: 31a1fc60a895 Author: chegar Date: 2012-01-11 10:52 +0000 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/31a1fc60a895 7128648: HttpURLConnection.getHeaderFields should return an unmodifiable Map Reviewed-by: michaelm ! src/share/classes/sun/net/www/protocol/http/HttpURLConnection.java + test/java/net/HttpURLConnection/UnmodifiableMaps.java Changeset: 82144054d2d8 Author: alanb Date: 2012-01-11 13:07 +0000 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/82144054d2d8 7068856: (fs) Typo in Files.isSameFile() javadoc 7099208: (fs) Files.newBufferedReader has typo in javadoc Reviewed-by: forax ! src/share/classes/java/nio/file/Files.java ! src/share/classes/java/nio/file/Path.java Changeset: 96fe796fd242 Author: ksrini Date: 2012-01-11 08:14 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/96fe796fd242 7125442: jar application located in two bytes character named folder cannot be run with JRE 7 u1/u2 Reviewed-by: sherman, mchung, darcy ! src/share/bin/java.c + test/tools/launcher/I18NJarTest.java ! test/tools/launcher/TestHelper.java Changeset: 11e52d5ba64e Author: xuelei Date: 2012-01-12 03:39 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/11e52d5ba64e 7106773: 512 bits RSA key cannot work with SHA384 and SHA512 Reviewed-by: weijun ! src/share/classes/sun/security/pkcs11/P11Cipher.java ! src/share/classes/sun/security/pkcs11/P11Key.java ! src/share/classes/sun/security/pkcs11/P11RSACipher.java ! src/share/classes/sun/security/pkcs11/P11Signature.java ! src/share/classes/sun/security/ssl/ClientHandshaker.java ! src/share/classes/sun/security/ssl/ServerHandshaker.java ! src/share/classes/sun/security/ssl/SignatureAndHashAlgorithm.java ! src/share/classes/sun/security/util/DisabledAlgorithmConstraints.java + src/share/classes/sun/security/util/KeyLength.java + src/share/classes/sun/security/util/Length.java ! src/windows/classes/sun/security/mscapi/Key.java ! src/windows/classes/sun/security/mscapi/RSACipher.java ! src/windows/classes/sun/security/mscapi/RSASignature.java + test/sun/security/mscapi/ShortRSAKey1024.sh + test/sun/security/mscapi/ShortRSAKey512.sh + test/sun/security/mscapi/ShortRSAKey768.sh + test/sun/security/mscapi/ShortRSAKeyWithinTLS.java ! test/sun/security/pkcs11/KeyStore/ClientAuth.java ! test/sun/security/pkcs11/KeyStore/ClientAuth.sh ! test/sun/security/ssl/javax/net/ssl/SSLContextVersion.java + test/sun/security/ssl/javax/net/ssl/TLSv12/ShortRSAKey512.java Changeset: 38bf1e9b6979 Author: weijun Date: 2012-01-13 09:50 +0800 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/38bf1e9b6979 7090565: Move test/closed/javax/security/auth/x500/X500Principal/Parse.java to open tests Reviewed-by: mullan + test/javax/security/auth/x500/X500Principal/NameFormat.java Changeset: ef3b6736c074 Author: valeriep Date: 2012-01-12 16:04 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/ef3b6736c074 7088989: Improve the performance for T4 by utilizing the newly provided crypto APIs Summary: Added the OracleUcrypto provider for utilizing the Solaris ucrypto API. Reviewed-by: weijun ! make/com/oracle/Makefile + make/com/oracle/net/Makefile + make/com/oracle/nio/Makefile + make/com/oracle/security/ucrypto/FILES_c.gmk + make/com/oracle/security/ucrypto/Makefile + make/com/oracle/security/ucrypto/mapfile-vers + make/com/oracle/util/Makefile ! src/share/lib/security/java.security-solaris ! test/Makefile + test/com/oracle/security/ucrypto/TestAES.java + test/com/oracle/security/ucrypto/TestDigest.java + test/com/oracle/security/ucrypto/TestRSA.java + test/com/oracle/security/ucrypto/UcryptoTest.java ! test/java/security/Provider/DefaultPKCS11.java Changeset: a7ad2fcd7291 Author: valeriep Date: 2012-01-12 18:49 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/a7ad2fcd7291 Merge Changeset: 7e593aa6ad41 Author: littlee Date: 2012-01-13 13:20 +0000 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/7e593aa6ad41 7129029: (fs) Unix file system provider should be buildable on platforms that don't support O_NOFOLLOW Reviewed-by: alanb ! src/solaris/classes/sun/nio/fs/UnixChannelFactory.java ! src/solaris/classes/sun/nio/fs/UnixFileSystemProvider.java ! src/solaris/classes/sun/nio/fs/UnixNativeDispatcher.java ! src/solaris/classes/sun/nio/fs/UnixPath.java ! src/solaris/native/sun/nio/fs/genUnixConstants.c Changeset: e8e08d46cc37 Author: weijun Date: 2012-01-16 10:10 +0800 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/e8e08d46cc37 7118809: rcache deadlock Reviewed-by: valeriep ! src/share/classes/sun/security/krb5/internal/rcache/CacheTable.java ! src/share/classes/sun/security/krb5/internal/rcache/ReplayCache.java ! test/sun/security/krb5/auto/Context.java + test/sun/security/krb5/auto/ReplayCache.java Changeset: d1b0bda3a3c7 Author: alanb Date: 2012-01-16 16:30 +0000 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/d1b0bda3a3c7 7130398: ProblemList.txt updates (1/2012) Reviewed-by: chegar ! test/ProblemList.txt Changeset: e8a143213c65 Author: chegar Date: 2012-01-16 18:05 +0000 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/e8a143213c65 7129083: CookieManager does not store cookies if url is read before setting cookie manager Reviewed-by: michaelm ! 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/https/HttpsClient.java + test/sun/net/www/http/HttpClient/CookieHttpClientTest.java + test/sun/security/ssl/sun/net/www/protocol/https/HttpsURLConnection/CookieHttpsClientTest.java Changeset: 40d699d7f6a1 Author: chegar Date: 2012-01-17 14:10 +0000 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/40d699d7f6a1 6671616: TEST_BUG: java/io/File/BlockIsDirectory.java fails when /dev/dsk empty (sol) Reviewed-by: alanb ! test/ProblemList.txt - test/java/io/File/BlockIsDirectory.java Changeset: 2f096eb72520 Author: mchung Date: 2012-01-17 15:55 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/2f096eb72520 7117570: Warnings in sun.mangement.* and its subpackages Reviewed-by: mchung, dsamersoff Contributed-by: kurchi.subhra.hazra at oracle.com ! src/share/classes/sun/management/Agent.java ! src/share/classes/sun/management/ConnectorAddressLink.java ! src/share/classes/sun/management/Flag.java ! src/share/classes/sun/management/GarbageCollectionNotifInfoCompositeData.java ! src/share/classes/sun/management/GarbageCollectorImpl.java ! src/share/classes/sun/management/GcInfoBuilder.java ! src/share/classes/sun/management/GcInfoCompositeData.java ! src/share/classes/sun/management/HotSpotDiagnostic.java ! src/share/classes/sun/management/HotspotCompilation.java ! src/share/classes/sun/management/HotspotThread.java ! src/share/classes/sun/management/LazyCompositeData.java ! src/share/classes/sun/management/ManagementFactoryHelper.java ! src/share/classes/sun/management/MappedMXBeanType.java ! src/share/classes/sun/management/MonitorInfoCompositeData.java ! src/share/classes/sun/management/NotificationEmitterSupport.java ! src/share/classes/sun/management/RuntimeImpl.java ! src/share/classes/sun/management/ThreadInfoCompositeData.java ! src/share/classes/sun/management/counter/perf/PerfInstrumentation.java ! src/share/classes/sun/management/jmxremote/ConnectorBootstrap.java ! src/share/classes/sun/management/snmp/AdaptorBootstrap.java ! src/share/classes/sun/management/snmp/jvminstr/JVM_MANAGEMENT_MIB_IMPL.java ! src/share/classes/sun/management/snmp/jvminstr/JvmMemGCTableMetaImpl.java ! src/share/classes/sun/management/snmp/jvminstr/JvmMemManagerTableMetaImpl.java ! src/share/classes/sun/management/snmp/jvminstr/JvmMemMgrPoolRelTableMetaImpl.java ! src/share/classes/sun/management/snmp/jvminstr/JvmMemPoolTableMetaImpl.java ! src/share/classes/sun/management/snmp/jvminstr/JvmMemoryImpl.java ! src/share/classes/sun/management/snmp/jvminstr/JvmMemoryMetaImpl.java ! src/share/classes/sun/management/snmp/jvminstr/JvmOSImpl.java ! src/share/classes/sun/management/snmp/jvminstr/JvmRTBootClassPathEntryImpl.java ! src/share/classes/sun/management/snmp/jvminstr/JvmRTBootClassPathTableMetaImpl.java ! src/share/classes/sun/management/snmp/jvminstr/JvmRTClassPathEntryImpl.java ! src/share/classes/sun/management/snmp/jvminstr/JvmRTClassPathTableMetaImpl.java ! src/share/classes/sun/management/snmp/jvminstr/JvmRTInputArgsEntryImpl.java ! src/share/classes/sun/management/snmp/jvminstr/JvmRTInputArgsTableMetaImpl.java ! src/share/classes/sun/management/snmp/jvminstr/JvmRTLibraryPathEntryImpl.java ! src/share/classes/sun/management/snmp/jvminstr/JvmRTLibraryPathTableMetaImpl.java ! src/share/classes/sun/management/snmp/jvminstr/JvmRuntimeMetaImpl.java ! src/share/classes/sun/management/snmp/jvminstr/JvmThreadInstanceEntryImpl.java ! src/share/classes/sun/management/snmp/jvminstr/JvmThreadInstanceTableMetaImpl.java ! src/share/classes/sun/management/snmp/jvminstr/JvmThreadingMetaImpl.java ! src/share/classes/sun/management/snmp/jvmmib/EnumJvmClassesVerboseLevel.java ! src/share/classes/sun/management/snmp/jvmmib/EnumJvmJITCompilerTimeMonitoring.java ! src/share/classes/sun/management/snmp/jvmmib/EnumJvmMemManagerState.java ! src/share/classes/sun/management/snmp/jvmmib/EnumJvmMemPoolCollectThreshdSupport.java ! src/share/classes/sun/management/snmp/jvmmib/EnumJvmMemPoolState.java ! src/share/classes/sun/management/snmp/jvmmib/EnumJvmMemPoolThreshdSupport.java ! src/share/classes/sun/management/snmp/jvmmib/EnumJvmMemPoolType.java ! src/share/classes/sun/management/snmp/jvmmib/EnumJvmMemoryGCCall.java ! src/share/classes/sun/management/snmp/jvmmib/EnumJvmMemoryGCVerboseLevel.java ! src/share/classes/sun/management/snmp/jvmmib/EnumJvmRTBootClassPathSupport.java ! src/share/classes/sun/management/snmp/jvmmib/EnumJvmThreadContentionMonitoring.java ! src/share/classes/sun/management/snmp/jvmmib/EnumJvmThreadCpuTimeMonitoring.java ! src/share/classes/sun/management/snmp/jvmmib/JVM_MANAGEMENT_MIB.java ! src/share/classes/sun/management/snmp/jvmmib/JVM_MANAGEMENT_MIBOidTable.java ! src/share/classes/sun/management/snmp/jvmmib/JvmClassLoadingMeta.java ! src/share/classes/sun/management/snmp/jvmmib/JvmCompilationMeta.java ! src/share/classes/sun/management/snmp/jvmmib/JvmMemGCEntryMeta.java ! src/share/classes/sun/management/snmp/jvmmib/JvmMemGCTableMeta.java ! src/share/classes/sun/management/snmp/jvmmib/JvmMemManagerEntryMeta.java ! src/share/classes/sun/management/snmp/jvmmib/JvmMemManagerTableMeta.java ! src/share/classes/sun/management/snmp/jvmmib/JvmMemMgrPoolRelEntryMeta.java ! src/share/classes/sun/management/snmp/jvmmib/JvmMemMgrPoolRelTableMeta.java ! src/share/classes/sun/management/snmp/jvmmib/JvmMemPoolEntryMeta.java ! src/share/classes/sun/management/snmp/jvmmib/JvmMemPoolTableMeta.java ! src/share/classes/sun/management/snmp/jvmmib/JvmOSMeta.java ! src/share/classes/sun/management/snmp/jvmmib/JvmRTBootClassPathEntryMeta.java ! src/share/classes/sun/management/snmp/jvmmib/JvmRTBootClassPathTableMeta.java ! src/share/classes/sun/management/snmp/jvmmib/JvmRTClassPathEntryMeta.java ! src/share/classes/sun/management/snmp/jvmmib/JvmRTClassPathTableMeta.java ! src/share/classes/sun/management/snmp/jvmmib/JvmRTInputArgsEntryMeta.java ! src/share/classes/sun/management/snmp/jvmmib/JvmRTInputArgsTableMeta.java ! src/share/classes/sun/management/snmp/jvmmib/JvmRTLibraryPathEntryMeta.java ! src/share/classes/sun/management/snmp/jvmmib/JvmRTLibraryPathTableMeta.java ! src/share/classes/sun/management/snmp/jvmmib/JvmRuntimeMeta.java ! src/share/classes/sun/management/snmp/jvmmib/JvmThreadInstanceEntryMeta.java ! src/share/classes/sun/management/snmp/jvmmib/JvmThreadInstanceTableMeta.java ! src/share/classes/sun/management/snmp/jvmmib/JvmThreadingMeta.java ! src/share/classes/sun/management/snmp/util/MibLogger.java ! src/share/classes/sun/management/snmp/util/SnmpListTableCache.java ! src/share/classes/sun/management/snmp/util/SnmpNamedListTableCache.java ! src/share/classes/sun/management/snmp/util/SnmpTableCache.java Changeset: b14e13237498 Author: lana Date: 2012-01-18 11:00 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/b14e13237498 Merge Changeset: e6614f361127 Author: lana Date: 2012-01-18 20:24 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/e6614f361127 Merge - test/java/io/File/BlockIsDirectory.java Changeset: 227fcf5d0bec Author: lana Date: 2012-01-24 13:43 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/227fcf5d0bec Merge - test/java/io/File/BlockIsDirectory.java Changeset: db189e2f3cdb Author: jrose Date: 2012-01-18 17:34 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/db189e2f3cdb 7117167: Misc warnings in java.lang.invoke and sun.invoke.* Reviewed-by: smarks ! src/share/classes/java/lang/invoke/AdapterMethodHandle.java ! src/share/classes/java/lang/invoke/MemberName.java ! src/share/classes/java/lang/invoke/MethodHandleImpl.java ! src/share/classes/java/lang/invoke/MethodHandleProxies.java ! src/share/classes/java/lang/invoke/MethodHandles.java ! src/share/classes/sun/invoke/util/ValueConversions.java ! src/share/classes/sun/invoke/util/Wrapper.java ! test/java/lang/invoke/CallSiteTest.java ! test/java/lang/invoke/ClassValueTest.java ! test/java/lang/invoke/InvokeGenericTest.java ! test/java/lang/invoke/JavaDocExamplesTest.java ! test/java/lang/invoke/MethodHandlesTest.java ! test/java/lang/invoke/MethodTypeTest.java ! test/java/lang/invoke/PermuteArgsTest.java ! test/java/lang/invoke/RicochetTest.java ! test/java/lang/invoke/ThrowExceptionsTest.java ! test/sun/invoke/util/ValueConversionsTest.java Changeset: 01014596ada1 Author: jrose Date: 2012-01-18 17:34 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/01014596ada1 7077803: java.lang.InternalError in java.lang.invoke.MethodHandleNatives.init Summary: Use correct access token for unreflecting MHs where setAccessible(true) Reviewed-by: never, twisti ! src/share/classes/java/lang/invoke/MethodHandles.java Changeset: 92d2cba30f08 Author: jrose Date: 2012-01-18 17:34 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/92d2cba30f08 7030453: JSR 292 ClassValue.get method is too slow Summary: Implement ClassValue cooperatively with Class like ThreadLocal with Thread. Reviewed-by: twisti, mduigou ! src/share/classes/java/lang/Class.java ! src/share/classes/java/lang/ClassValue.java ! test/java/lang/invoke/ClassValueTest.java Changeset: 81a2629aa2a2 Author: amurillo Date: 2012-01-20 14:31 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/81a2629aa2a2 Merge Changeset: 954a1c535730 Author: amurillo Date: 2012-01-25 12:36 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/954a1c535730 Merge - test/java/io/File/BlockIsDirectory.java Changeset: d3b334e376d3 Author: mr Date: 2012-01-23 12:39 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/d3b334e376d3 7110396: Sound code fails to build with gcc 4.6 on multiarch Linux systems Reviewed-by: ohair ! make/javax/sound/jsoundalsa/Makefile Changeset: 54202e0148ec Author: katleman Date: 2012-01-25 13:54 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/54202e0148ec Merge Changeset: 34029a0c69bb Author: katleman Date: 2012-01-26 18:23 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/34029a0c69bb Added tag jdk8-b23 for changeset 54202e0148ec ! .hgtags Changeset: 8da468cf037b Author: katleman Date: 2012-02-02 09:39 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/8da468cf037b Added tag jdk8-b24 for changeset 34029a0c69bb ! .hgtags Changeset: ad9f1c8970da Author: prr Date: 2012-01-19 12:41 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/ad9f1c8970da 7131153: GetDC called way too many times - causes bad performance. Reviewed-by: igor, jgodinez ! src/windows/native/sun/font/fontpath.c Changeset: f7dda4bbf1f9 Author: lana Date: 2012-01-28 22:47 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/f7dda4bbf1f9 Merge - test/java/io/File/BlockIsDirectory.java Changeset: 84b153cd9bd4 Author: denis Date: 2012-01-19 14:59 +0400 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/84b153cd9bd4 7121761: creation of java.awt.DataFlavour fails for turkish locale Reviewed-by: anthony ! src/share/classes/java/awt/datatransfer/MimeType.java Changeset: e32db6535c05 Author: alexsch Date: 2012-01-23 13:05 +0400 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/e32db6535c05 7112854: [macosx] closed/javax/swing/JPopupMenu/Test6827786.java unstable on MacOS Reviewed-by: rupashka + test/javax/swing/JPopupMenu/6827786/bug6827786.java Changeset: cc88a9c0474f Author: alexsch Date: 2012-01-23 13:53 +0400 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/cc88a9c0474f 7116634: [macosx] closed/javax/swing/JTree/6263446/bug6263446Tree.java fails on MacOS Reviewed-by: rupashka + test/javax/swing/JTree/6263446/bug6263446.java Changeset: 19431d07bc19 Author: denis Date: 2012-01-23 17:26 +0400 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/19431d07bc19 7130140: using horizontal scroll button on mouse causes a message to be printed on stdout Reviewed-by: art ! src/share/classes/java/awt/event/MouseEvent.java Changeset: 5255fd5b0418 Author: denis Date: 2012-01-24 18:46 +0400 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/5255fd5b0418 7078460: JDialog is shown as separate icon on the taskbar Reviewed-by: anthony ! src/solaris/classes/sun/awt/X11/XWindowPeer.java Changeset: b4589ff4457c Author: malenkov Date: 2012-01-24 19:40 +0400 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/b4589ff4457c 7121905: grammatically incorrect apostrophe in BeanInfo javadoc Reviewed-by: rupashka ! src/share/classes/java/beans/BeanInfo.java Changeset: 4f2a2bf0ce84 Author: rupashka Date: 2012-01-26 17:38 +0400 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/4f2a2bf0ce84 7010561: Tab text position with Synth based LaF is different to Java 5/6 Reviewed-by: alexp ! src/share/classes/javax/swing/plaf/basic/BasicTabbedPaneUI.java + test/javax/swing/JTabbedPane/7010561/bug7010561.java Changeset: cc9ff174a1c3 Author: alexsch Date: 2012-01-27 16:32 +0400 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/cc9ff174a1c3 7122173: [macosx] Several Regression tests fail on MacOS Reviewed-by: rupashka + test/javax/swing/SwingUtilities/4917669/bug4917669.java + test/javax/swing/plaf/basic/BasicHTML/4251579/bug4251579.java + test/javax/swing/text/html/CSS/4530474/bug4530474.java + test/javax/swing/text/html/CSS/4530474/test.css + test/javax/swing/text/html/CSS/4530474/test.html Changeset: 96b5999af66b Author: alexsch Date: 2012-01-27 17:00 +0400 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/96b5999af66b 7109962: [macosx] closed/javax/swing/JList/6462008/bug6462008.java fails on MacOS Reviewed-by: rupashka + test/javax/swing/JList/6462008/bug6462008.java Changeset: 6a7109f52966 Author: alexsch Date: 2012-01-27 17:36 +0400 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/6a7109f52966 7105040: [macosx] closed/javax/swing/JPopupMenu/4966112/bug4966112.java deadlocks on MacOS Reviewed-by: rupashka + test/javax/swing/JPopupMenu/4966112/bug4966112.java Changeset: bc1c20ac8676 Author: chegar Date: 2012-01-27 13:48 +0000 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/bc1c20ac8676 7110002: Rename xawt/libmawt.so and headless/libmawt.so so they can be colocated with libawt Reviewed-by: art, prr, dholmes, alanb ! make/common/Release-embedded.gmk ! make/sun/font/Makefile ! make/sun/font/t2k/Makefile ! make/sun/headless/Makefile ! make/sun/jawt/Makefile ! make/sun/xawt/Makefile ! src/solaris/native/java/lang/java_props_md.c ! src/solaris/native/sun/awt/awt_LoadLibrary.c Changeset: 5dab2d55bc5b Author: lana Date: 2012-01-28 22:21 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/5dab2d55bc5b Merge - test/java/io/File/BlockIsDirectory.java Changeset: 39b661c5867a Author: alexsch Date: 2012-01-30 12:52 +0400 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/39b661c5867a 7122149: [macosx] closed/javax/swing/UITest/UITest.java fails on MacOS Reviewed-by: rupashka ! src/share/classes/sun/awt/OSInfo.java + test/javax/swing/UITest/UITest.java Changeset: 7d6c7dd72e25 Author: malenkov Date: 2012-01-31 14:20 +0400 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/7d6c7dd72e25 7122138: IAE thrown because Introspector ignores synthetic methods Reviewed-by: rupashka ! src/share/classes/java/beans/Introspector.java ! src/share/classes/java/beans/PropertyDescriptor.java + test/java/beans/Introspector/7122138/Test7122138.java + test/java/beans/Introspector/7122138/pack/Sub.java + test/java/beans/Introspector/7122138/pack/Super.java Changeset: c5c78f293ff8 Author: rupashka Date: 2012-01-31 17:30 +0400 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/c5c78f293ff8 7082443: JComboBox not backward compatible (with Java 6) Reviewed-by: alexp ! src/share/classes/javax/swing/plaf/synth/SynthComboBoxUI.java + test/javax/swing/JComboBox/7082443/bug7082443.java Changeset: 363086137375 Author: lana Date: 2012-01-31 19:06 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/363086137375 Merge Changeset: 313da5d059bf Author: valeriep Date: 2012-01-19 12:01 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/313da5d059bf 7092825: javax.crypto.Cipher.Transform.patternCache is synchronizedMap and became scalability bottleneck. Summary: Changed patternCache from synchronizedMap to ConcurrentHashMap. Reviewed-by: mullan ! src/share/classes/javax/crypto/Cipher.java Changeset: 71200c517524 Author: darcy Date: 2012-01-20 17:56 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/71200c517524 4504839: Java libraries should provide support for unsigned integer arithmetic 4215269: Some Integer.toHexString(int) results cannot be decoded back to an int 6322074: Converting integers to string as if unsigned Reviewed-by: mduigou, emcmanus, flar ! src/share/classes/java/lang/Byte.java ! src/share/classes/java/lang/Integer.java ! src/share/classes/java/lang/Long.java ! src/share/classes/java/lang/Short.java + test/java/lang/Integer/Unsigned.java + test/java/lang/Long/Unsigned.java Changeset: d383b5d128e3 Author: xuelei Date: 2012-01-23 04:44 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/d383b5d128e3 7132248: sun/security/ssl/sun/net/www/protocol/https/HttpsURLConnection/CookieHttpsClientTest.java failing Reviewed-by: alanb ! test/sun/security/ssl/sun/net/www/protocol/https/HttpsURLConnection/CookieHttpsClientTest.java Changeset: 3df0bd3ed880 Author: mullan Date: 2012-01-23 12:17 -0500 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/3df0bd3ed880 7131084: XMLDSig XPathFilter2Transform regression involving intersect filter Reviewed-by: xuelei ! src/share/classes/com/sun/org/apache/xml/internal/security/transforms/implementations/TransformXPath2Filter.java ! test/javax/xml/crypto/dsig/KeySelectors.java ! test/javax/xml/crypto/dsig/ValidationTests.java ! test/javax/xml/crypto/dsig/X509KeySelector.java + test/javax/xml/crypto/dsig/data/xmldsig-xfilter2.xml Changeset: 5e1ad6ad41b7 Author: mullan Date: 2012-01-23 13:23 -0500 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/5e1ad6ad41b7 Merge Changeset: 914711cccc60 Author: darcy Date: 2012-01-23 12:17 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/914711cccc60 7132338: Use @code friendly idiom for '\' in javadoc Reviewed-by: alanb ! src/share/classes/java/io/DataInput.java ! src/share/classes/java/io/LineNumberInputStream.java ! src/share/classes/java/io/RandomAccessFile.java ! src/share/classes/java/io/StreamTokenizer.java ! src/share/classes/java/lang/AbstractStringBuilder.java ! src/share/classes/java/lang/Byte.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/Short.java ! src/share/classes/java/lang/String.java ! src/share/classes/java/util/Properties.java Changeset: 237319a01a9a Author: alanb Date: 2012-01-24 09:09 +0000 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/237319a01a9a 7132204: Default testset in JPRT should not run all tests Reviewed-by: ohair ! make/jprt.properties ! test/ProblemList.txt Changeset: 718bca4e685f Author: rbackman Date: 2012-01-17 16:20 +0100 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/718bca4e685f 7132386: makefile support for tracing/Java Flight Recorder framework phase I Reviewed-by: ohair, dholmes, rottenha Contributed-by: Markus Gronlund , Erik Gahlin , Nils Loodin , Rickard Backman , Staffan Larsen ! make/com/oracle/Makefile + make/com/oracle/jfr/Makefile ! make/common/Defs.gmk ! make/common/Release.gmk Changeset: f64ea40293db Author: ksrini Date: 2012-01-24 09:58 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/f64ea40293db 7132270: tools/launcher/DefaultLocaleTestRun.java failing (win) Reviewed-by: alanb, chegar ! test/tools/launcher/DefaultLocaleTestRun.java ! test/tools/launcher/TestHelper.java Changeset: 303b67074666 Author: lancea Date: 2012-01-24 15:13 -0500 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/303b67074666 7132879: address Findbugs issue in WebRowSetXmlWriter Reviewed-by: forax ! src/share/classes/com/sun/rowset/internal/WebRowSetXmlWriter.java Changeset: ceab7e149581 Author: peytoia Date: 2012-01-26 17:06 +0900 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/ceab7e149581 7017458: (cal) Multithreaded deserialization of Calendar leads to ClassCastException Reviewed-by: okutsu ! src/share/classes/java/util/Calendar.java + test/java/util/Calendar/Bug7017458.java Changeset: 350971f50949 Author: rbackman Date: 2012-01-26 09:51 +0100 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/350971f50949 7133124: Remove redundant packages from JAR command line Reviewed-by: acorn, alanb, dholmes, rottenha ! make/common/Release.gmk Changeset: b518b160607f Author: lancea Date: 2012-01-26 19:41 -0500 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/b518b160607f 7133815: address the findbug errors in CachedRowSetImpl, SerialStruct, BaseRow, SerialInputImpl, SerialOutputImpl Reviewed-by: forax ! src/share/classes/com/sun/rowset/CachedRowSetImpl.java ! src/share/classes/com/sun/rowset/internal/BaseRow.java ! src/share/classes/javax/sql/rowset/serial/SQLInputImpl.java ! src/share/classes/javax/sql/rowset/serial/SQLOutputImpl.java ! src/share/classes/javax/sql/rowset/serial/SerialStruct.java Changeset: 5ee30ab905db Author: wetmore Date: 2012-01-26 17:16 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/5ee30ab905db 7126889: Incorrect SSLEngine debug output Reviewed-by: xuelei ! src/share/classes/sun/security/ssl/EngineArgs.java ! src/share/classes/sun/security/ssl/SSLEngineImpl.java + test/sun/security/ssl/com/sun/net/ssl/internal/ssl/EngineArgs/DebugReportsOneExtraByte.java + test/sun/security/ssl/com/sun/net/ssl/internal/ssl/EngineArgs/DebugReportsOneExtraByte.sh Changeset: 7aa5ddfa3c9d Author: okutsu Date: 2012-01-27 14:58 +0900 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/7aa5ddfa3c9d 7130335: Problem with timezone in a SimpleDateFormat Reviewed-by: peytoia ! src/share/classes/java/text/SimpleDateFormat.java + test/java/text/Format/DateFormat/Bug7130335.java Changeset: ff24779c147f Author: valeriep Date: 2012-01-27 15:25 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/ff24779c147f 7136538: typo in test/Makefile under the jdk_security3 target Summary: Fixed the typo of "secrity". Reviewed-by: wetmore ! test/Makefile Changeset: 7dbc129d8e5c Author: ksrini Date: 2012-01-28 10:46 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/7dbc129d8e5c 7127906: (launcher) convert the launcher regression tests to java Reviewed-by: darcy, naoto ! test/tools/launcher/Arrrghs.java + test/tools/launcher/ChangeDataModel.java - test/tools/launcher/ChangeDataModel.sh - test/tools/launcher/CreatePlatformFile.java ! test/tools/launcher/DefaultLocaleTestRun.java ! test/tools/launcher/ExecutionEnvironment.java ! test/tools/launcher/I18NJarTest.java + test/tools/launcher/I18NTest.java ! test/tools/launcher/MiscTests.java ! test/tools/launcher/Settings.java - test/tools/launcher/SomeException.java ! test/tools/launcher/Test7029048.java ! test/tools/launcher/TestHelper.java - test/tools/launcher/UnicodeCleanup.java ! test/tools/launcher/UnicodeTest.java - test/tools/launcher/UnicodeTest.sh ! test/tools/launcher/UnresolvedExceptions.java - test/tools/launcher/deleteI18n.sh - test/tools/launcher/i18nTest.sh - test/tools/launcher/unresolvedExceptions.sh Changeset: 7a25b72b3644 Author: lana Date: 2012-01-28 20:41 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/7a25b72b3644 Merge Changeset: f9fb8c4b4550 Author: dl Date: 2012-01-30 11:44 +0000 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/f9fb8c4b4550 7132378: Race in FutureTask if used with explicit set ( not Runnable ) Reviewed-by: chegar, dholmes ! src/share/classes/java/util/concurrent/FutureTask.java + test/java/util/concurrent/FutureTask/DoneTimedGetLoops.java + test/java/util/concurrent/FutureTask/ExplicitSet.java Changeset: 863a20b0bf08 Author: ngmr Date: 2012-01-10 00:07 +0000 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/863a20b0bf08 7123229: (coll) EnumMap.containsValue(null) returns true Summary: java.util.EnumMap.NULL equals() must only be true for itself Reviewed-by: alanb, mduigou Contributed-by: Neil Richards ! src/share/classes/java/util/EnumMap.java + test/java/util/EnumMap/UniqueNullValue.java Changeset: 13978750cb87 Author: ngmr Date: 2012-01-31 10:31 +0000 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/13978750cb87 7133301: (process) UNIXProcess_md.c should include sys/wait.h rather than wait.h Reviewed-by: alanb Contributed-by: Jonathan Lu ! src/solaris/native/java/lang/UNIXProcess_md.c Changeset: 431bc327f34a Author: sla Date: 2012-01-31 10:46 +0100 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/431bc327f34a 7132199: sun/management/jmxremote/bootstrap/JvmstatCountersTest.java failing on all platforms Summary: Make sure HotSpot and JDK looks for well-known files in the same location Reviewed-by: dholmes, dsamersoff ! src/solaris/classes/sun/tools/attach/LinuxVirtualMachine.java ! src/solaris/classes/sun/tools/attach/SolarisVirtualMachine.java ! test/ProblemList.txt Changeset: 663a6333105d Author: sla Date: 2012-01-31 04:57 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/663a6333105d Merge Changeset: 533bc0a10233 Author: lana Date: 2012-01-31 19:08 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/533bc0a10233 Merge - test/tools/launcher/ChangeDataModel.sh - test/tools/launcher/CreatePlatformFile.java - test/tools/launcher/SomeException.java - test/tools/launcher/UnicodeCleanup.java - test/tools/launcher/UnicodeTest.sh - test/tools/launcher/deleteI18n.sh - test/tools/launcher/i18nTest.sh - test/tools/launcher/unresolvedExceptions.sh Changeset: ce62fb7aa1b8 Author: lana Date: 2012-02-07 10:38 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/ce62fb7aa1b8 Merge - test/tools/launcher/ChangeDataModel.sh - test/tools/launcher/CreatePlatformFile.java - test/tools/launcher/SomeException.java - test/tools/launcher/UnicodeCleanup.java - test/tools/launcher/UnicodeTest.sh - test/tools/launcher/deleteI18n.sh - test/tools/launcher/i18nTest.sh - test/tools/launcher/unresolvedExceptions.sh Changeset: 1a99dad28223 Author: yhuang Date: 2012-02-06 18:56 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/1a99dad28223 7129382: change minor unit of VND to 0 Reviewed-by: naoto ! src/share/classes/java/util/CurrencyData.properties ! test/java/util/Currency/tablea1.txt Changeset: 930756e55285 Author: yhuang Date: 2012-02-06 18:58 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/930756e55285 Merge Changeset: ec17fbe5b8fb Author: katleman Date: 2012-02-08 19:13 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/ec17fbe5b8fb Merge Changeset: 5aca406e87cb Author: katleman Date: 2012-02-09 12:56 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/5aca406e87cb Added tag jdk8-b25 for changeset ec17fbe5b8fb ! .hgtags Changeset: 4196fc971f65 Author: katleman Date: 2012-02-16 13:01 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/4196fc971f65 Added tag jdk8-b26 for changeset 5aca406e87cb ! .hgtags Changeset: 7a5c8c6f1c6b Author: prr Date: 2012-02-03 09:57 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/7a5c8c6f1c6b 7141914: Draw glyph cause JVM crash Reviewed-by: bae, igor ! src/share/classes/sun/font/FileFont.java ! src/share/classes/sun/font/StandardGlyphVector.java ! src/share/classes/sun/font/SunFontManager.java ! src/share/classes/sun/font/TrueTypeFont.java Changeset: 996cd6e8d00e Author: lana Date: 2012-02-09 19:42 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/996cd6e8d00e Merge - test/tools/launcher/ChangeDataModel.sh - test/tools/launcher/CreatePlatformFile.java - test/tools/launcher/SomeException.java - test/tools/launcher/UnicodeCleanup.java - test/tools/launcher/UnicodeTest.sh - test/tools/launcher/deleteI18n.sh - test/tools/launcher/i18nTest.sh - test/tools/launcher/unresolvedExceptions.sh Changeset: a06fd6ada85c Author: prr Date: 2012-02-14 14:16 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/a06fd6ada85c 7143612: improve backwards compatibility of OSIS post-CR6887286 Reviewed-by: flar, prr Contributed-by: david.buck at oracle.com ! src/share/classes/sun/awt/image/OffScreenImageSource.java Changeset: 45ce82d366ec Author: anthony Date: 2012-02-02 17:49 +0400 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/45ce82d366ec 7132194: GtkFileDialog does not point to the correct file(s) is Recent Files are used. Summary: Handle the file list differently if gtk_file_chooser_get_current_folder() returns NULL Reviewed-by: anthony Contributed-by: Matthew Smith ! src/solaris/native/sun/awt/sun_awt_X11_GtkFileDialogPeer.c Changeset: 10fa63972ad5 Author: rupashka Date: 2012-02-03 17:57 +0400 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/10fa63972ad5 7141573: JProgressBar resize exception, if setStringPainted in Windows LAF Reviewed-by: malenkov ! src/share/classes/com/sun/java/swing/plaf/windows/WindowsProgressBarUI.java + test/javax/swing/JProgressBar/7141573/bug7141573.java Changeset: 34571be262e9 Author: rupashka Date: 2012-02-03 18:01 +0400 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/34571be262e9 7071775: javax/swing/JFileChooser/6396844/TwentyThousandTest.java failed on winxp Reviewed-by: alexp ! test/javax/swing/JFileChooser/6396844/TwentyThousandTest.java Changeset: 1880e8cc89b8 Author: rupashka Date: 2012-02-08 16:15 +0400 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/1880e8cc89b8 7138665: JOptionPane.getValue() unexpected change between JRE 1.6 and JRE 1.7 Reviewed-by: alexp ! src/share/classes/javax/swing/JOptionPane.java ! src/share/classes/javax/swing/plaf/basic/BasicOptionPaneUI.java + test/javax/swing/JOptionPane/7138665/bug7138665.java Changeset: d2e067142112 Author: bagiras Date: 2012-02-08 18:28 +0400 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/d2e067142112 7132367: [macosx] ChoiceMouseWheelTest should be adapted for mac toolkit Reviewed-by: art ! test/java/awt/Choice/ChoiceMouseWheelTest/ChoiceMouseWheelTest.java Changeset: d43447758eba Author: rupashka Date: 2012-02-09 14:21 +0400 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/d43447758eba 7143857: Memory leak in javax.swing.plaf.synth.SynthTreeUI Reviewed-by: alexp ! src/share/classes/javax/swing/plaf/synth/SynthTreeUI.java Changeset: 403e3bb8a162 Author: rupashka Date: 2012-02-09 18:26 +0400 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/403e3bb8a162 7142955: DefaultTreeCellRenderer doesn't honor 'Tree.rendererFillBackground' LAF property Reviewed-by: malenkov ! src/share/classes/javax/swing/tree/DefaultTreeCellRenderer.java + test/javax/swing/tree/DefaultTreeCellRenderer/7142955/bug7142955.java Changeset: a3b50244bd10 Author: chegar Date: 2012-02-10 11:03 +0000 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/a3b50244bd10 7144475: fix some warnings in java.awt, javax.print.attribute.standard, and sun.beans.infos Reviewed-by: chegar, prr, alanb, anthony Contributed-by: Prasannaa , Martijn Verburg , Goerge Albrecht , Graham Allan , Iordanis Giannakakis , Jose Llarena , Abrahamn Marin Perez ! src/share/classes/java/awt/List.java ! src/share/classes/java/awt/Window.java ! src/share/classes/java/awt/color/ICC_Profile.java ! src/share/classes/javax/print/attribute/standard/PrinterStateReasons.java ! src/share/classes/javax/print/attribute/standard/ReferenceUriSchemesSupported.java ! src/share/classes/sun/beans/infos/ComponentBeanInfo.java Changeset: 55adee49df8e Author: alexsch Date: 2012-02-10 18:34 +0400 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/55adee49df8e 7109991: SwingUtilities.isXMouseButton behaves unexpectedly starting from JDK8 b08 Reviewed-by: rupashka ! src/share/classes/java/awt/event/InputEvent.java ! src/share/classes/java/awt/event/MouseEvent.java Changeset: de74d3310e96 Author: lana Date: 2012-02-09 23:17 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/de74d3310e96 Merge - test/tools/launcher/ChangeDataModel.sh - test/tools/launcher/CreatePlatformFile.java - test/tools/launcher/SomeException.java - test/tools/launcher/UnicodeCleanup.java - test/tools/launcher/UnicodeTest.sh - test/tools/launcher/deleteI18n.sh - test/tools/launcher/i18nTest.sh - test/tools/launcher/unresolvedExceptions.sh Changeset: 081a44952699 Author: lana Date: 2012-02-10 10:23 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/081a44952699 Merge Changeset: 3f4701d08418 Author: bagiras Date: 2012-02-13 17:49 +0400 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/3f4701d08418 7143070: test/java/awt/print/PaintSetEnabledDeadlock/PaintSetEnabledDeadlock.java freezes on exit Reviewed-by: anthony ! test/java/awt/print/PaintSetEnabledDeadlock/PaintSetEnabledDeadlock.java Changeset: a1dc74291966 Author: alexsch Date: 2012-02-14 18:44 +0400 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/a1dc74291966 7133577: [macosx] closed/javax/swing/JTree/4314199/bug4314199.java fails on MacOS Reviewed-by: rupashka + test/javax/swing/JTree/4314199/bug4314199.html + test/javax/swing/JTree/4314199/bug4314199.java Changeset: 24e30ae2a192 Author: lana Date: 2012-02-15 15:21 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/24e30ae2a192 Merge Changeset: ac26d04e76c3 Author: fparain Date: 2012-02-01 03:52 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/ac26d04e76c3 7120974: ManagementPermission "control" needs clarification Reviewed-by: mchung, dholmes ! src/share/classes/java/lang/management/ManagementPermission.java Changeset: 55a82eba1986 Author: wetmore Date: 2012-02-01 16:00 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/55a82eba1986 7141910: Incorrect copyright dates on new test cases. Reviewed-by: mullan ! test/sun/security/ssl/com/sun/net/ssl/internal/ssl/EngineArgs/DebugReportsOneExtraByte.java ! test/sun/security/ssl/com/sun/net/ssl/internal/ssl/EngineArgs/DebugReportsOneExtraByte.sh Changeset: 24478d62d068 Author: ksrini Date: 2012-02-02 15:37 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/24478d62d068 7141141: Add 3 new test scenarios for testing Main-Class attribute in jar manifest file Reviewed-by: ksrini, darcy Contributed-by: sonali.goel at oracle.com ! test/tools/launcher/Arrrghs.java + test/tools/launcher/MainClassAttributeTest.java Changeset: bbadb6605a1c Author: chegar Date: 2012-02-04 07:29 +0000 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/bbadb6605a1c 7041778: Move SCTP implementation out of sun.nio.ch and into its own package Reviewed-by: alanb ! make/com/sun/nio/sctp/Exportedfiles.gmk ! make/com/sun/nio/sctp/FILES_java.gmk ! make/com/sun/nio/sctp/Makefile ! make/com/sun/nio/sctp/mapfile-vers ! src/share/classes/com/sun/nio/sctp/MessageInfo.java ! src/share/classes/com/sun/nio/sctp/SctpChannel.java ! src/share/classes/com/sun/nio/sctp/SctpMultiChannel.java ! src/share/classes/com/sun/nio/sctp/SctpServerChannel.java ! src/share/classes/com/sun/nio/sctp/SctpStandardSocketOptions.java ! src/share/classes/sun/nio/ch/AbstractPollArrayWrapper.java ! src/share/classes/sun/nio/ch/AbstractPollSelectorImpl.java ! src/share/classes/sun/nio/ch/IOStatus.java ! src/share/classes/sun/nio/ch/IOUtil.java ! src/share/classes/sun/nio/ch/Net.java - src/share/classes/sun/nio/ch/SctpMessageInfoImpl.java - src/share/classes/sun/nio/ch/SctpStdSocketOption.java ! src/share/classes/sun/nio/ch/SelChImpl.java ! src/share/classes/sun/nio/ch/SelectionKeyImpl.java ! src/share/classes/sun/nio/ch/SelectorImpl.java ! src/share/classes/sun/nio/ch/Util.java + src/share/classes/sun/nio/ch/sctp/MessageInfoImpl.java + src/share/classes/sun/nio/ch/sctp/SctpStdSocketOption.java ! src/solaris/classes/sun/nio/ch/DevPollSelectorImpl.java ! src/solaris/classes/sun/nio/ch/EPollSelectorImpl.java ! src/solaris/classes/sun/nio/ch/NativeThread.java ! src/solaris/classes/sun/nio/ch/PollArrayWrapper.java - src/solaris/classes/sun/nio/ch/SctpAssocChange.java - src/solaris/classes/sun/nio/ch/SctpAssociationImpl.java - src/solaris/classes/sun/nio/ch/SctpChannelImpl.java - src/solaris/classes/sun/nio/ch/SctpMultiChannelImpl.java - src/solaris/classes/sun/nio/ch/SctpNet.java - src/solaris/classes/sun/nio/ch/SctpNotification.java - src/solaris/classes/sun/nio/ch/SctpPeerAddrChange.java - src/solaris/classes/sun/nio/ch/SctpResultContainer.java - src/solaris/classes/sun/nio/ch/SctpSendFailed.java - src/solaris/classes/sun/nio/ch/SctpServerChannelImpl.java - src/solaris/classes/sun/nio/ch/SctpShutdown.java + src/solaris/classes/sun/nio/ch/sctp/AssociationChange.java + src/solaris/classes/sun/nio/ch/sctp/AssociationImpl.java + src/solaris/classes/sun/nio/ch/sctp/PeerAddrChange.java + src/solaris/classes/sun/nio/ch/sctp/ResultContainer.java + src/solaris/classes/sun/nio/ch/sctp/SctpChannelImpl.java + src/solaris/classes/sun/nio/ch/sctp/SctpMultiChannelImpl.java + src/solaris/classes/sun/nio/ch/sctp/SctpNet.java + src/solaris/classes/sun/nio/ch/sctp/SctpNotification.java + src/solaris/classes/sun/nio/ch/sctp/SctpServerChannelImpl.java + src/solaris/classes/sun/nio/ch/sctp/SendFailed.java + src/solaris/classes/sun/nio/ch/sctp/Shutdown.java - src/solaris/native/sun/nio/ch/Sctp.h - src/solaris/native/sun/nio/ch/SctpChannelImpl.c - src/solaris/native/sun/nio/ch/SctpNet.c - src/solaris/native/sun/nio/ch/SctpServerChannelImpl.c + src/solaris/native/sun/nio/ch/sctp/Sctp.h + src/solaris/native/sun/nio/ch/sctp/SctpChannelImpl.c + src/solaris/native/sun/nio/ch/sctp/SctpNet.c + src/solaris/native/sun/nio/ch/sctp/SctpServerChannelImpl.c - src/windows/classes/sun/nio/ch/SctpChannelImpl.java - src/windows/classes/sun/nio/ch/SctpMultiChannelImpl.java - src/windows/classes/sun/nio/ch/SctpServerChannelImpl.java ! src/windows/classes/sun/nio/ch/WindowsSelectorImpl.java + src/windows/classes/sun/nio/ch/sctp/SctpChannelImpl.java + src/windows/classes/sun/nio/ch/sctp/SctpMultiChannelImpl.java + src/windows/classes/sun/nio/ch/sctp/SctpServerChannelImpl.java Changeset: e528a64dd21b Author: chegar Date: 2012-02-04 07:36 +0000 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/e528a64dd21b Merge Changeset: ce5ffdb2be25 Author: alanb Date: 2012-02-05 12:29 +0000 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/ce5ffdb2be25 7140918: Remove dependency on apt and com.sun.mirror API Reviewed-by: darcy Contributed-by: miroslav.kos at oracle.com, martin.grebac at oracle.com ! make/common/Release.gmk ! make/common/internal/Defs-jaxws.gmk Changeset: e55522710586 Author: darcy Date: 2012-02-05 21:49 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/e55522710586 7041249: Remove apt tool and API from the JDK Reviewed-by: jjg, ohair ! make/com/sun/Makefile ! make/common/Release.gmk ! make/common/internal/Defs-langtools.gmk ! make/docs/Makefile ! make/docs/NON_CORE_PKGS.gmk ! make/launchers/Makefile ! make/launchers/Makefile.launcher - src/linux/doc/man/apt.1 - src/linux/doc/man/ja/apt.1 - src/solaris/doc/sun/man/man1/apt.1 - src/solaris/doc/sun/man/man1/ja/apt.1 Changeset: c6d6ef8ec2bf Author: alanb Date: 2012-02-07 13:28 +0000 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/c6d6ef8ec2bf 7142847: TEST_BUG: java/nio/file/WatchService/SensitivityModifier.java has incorrect @run tag, runs Basic Reviewed-by: chegar ! test/java/nio/file/WatchService/Basic.java ! test/java/nio/file/WatchService/SensitivityModifier.java Changeset: 946056e6116e Author: darcy Date: 2012-02-07 17:39 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/946056e6116e 7143629: JDK jar/zip code should use unsigned library support Reviewed-by: sherman ! src/share/classes/java/util/jar/JarOutputStream.java ! src/share/classes/java/util/jar/Manifest.java ! src/share/classes/java/util/zip/InflaterInputStream.java ! src/share/classes/java/util/zip/ZipInputStream.java ! src/share/demo/nio/zipfs/src/com/sun/nio/zipfs/ZipConstants.java Changeset: 085c4f780d4e Author: weijun Date: 2012-02-08 11:44 +0800 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/085c4f780d4e 6880619: reg tests for 6879540 Reviewed-by: valeriep + test/sun/security/krb5/auto/EmptyPassword.java Changeset: c64c815974ff Author: chegar Date: 2012-02-08 11:16 +0000 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/c64c815974ff 7105929: java/util/concurrent/FutureTask/BlockingTaskExecutor.java fails on solaris sparc Reviewed-by: dholmes ! test/java/util/concurrent/FutureTask/BlockingTaskExecutor.java Changeset: 7289599216fe Author: gadams Date: 2012-02-08 11:18 +0000 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/7289599216fe 6736316: Timeout value in java/util/concurrent/locks/Lock/FlakyMutex.java is insufficient Reviewed-by: chegar, dholmes, alanb ! test/java/util/concurrent/locks/Lock/FlakyMutex.java Changeset: 72d8f91514d1 Author: gadams Date: 2012-02-08 11:19 +0000 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/72d8f91514d1 6957683: test/java/util/concurrent/ThreadPoolExecutor/Custom.java failing Reviewed-by: chegar, dholmes, alanb ! test/java/util/concurrent/ThreadPoolExecutor/Custom.java Changeset: 184b9cb4f13a Author: alanb Date: 2012-02-09 13:43 +0000 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/184b9cb4f13a 7114611: (fs) DirectoryStream fails with SIGBUS on some embedded platforms, dirent alignment Reviewed-by: dholmes, alanb Contributed-by: carlos.lucasius at oracle.com ! src/solaris/native/sun/nio/fs/UnixNativeDispatcher.c Changeset: 8326d434681d Author: alanb Date: 2012-02-09 16:38 +0000 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/8326d434681d 7144086: TEST_BUG: java/nio/file/WatchService/SensitivityModifier.java failing intermittently Reviewed-by: chegar ! test/java/nio/file/WatchService/SensitivityModifier.java Changeset: bdd1dd1e1462 Author: weijun Date: 2012-02-10 11:41 +0800 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/bdd1dd1e1462 6879539: enable empty password support for pkcs12 keystore Reviewed-by: vinnie, weijun Contributed-by: Florian Weimer ! src/share/classes/com/sun/crypto/provider/PBEKey.java ! src/share/classes/com/sun/crypto/provider/PKCS12PBECipherCore.java ! src/share/classes/sun/security/pkcs12/PKCS12KeyStore.java + test/sun/security/pkcs12/Bug6415637.java Changeset: 7fc2797cbb4c Author: lana Date: 2012-02-09 22:55 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/7fc2797cbb4c Merge Changeset: b16cbeb0d213 Author: wetmore Date: 2012-02-10 19:07 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/b16cbeb0d213 7142509: Cipher.doFinal(ByteBuffer,ByteBuffer) fails to process when in.remaining() == 0 Reviewed-by: valeriep ! src/share/classes/javax/crypto/CipherSpi.java + test/javax/crypto/CipherSpi/DirectBBRemaining.java Changeset: da8b8ee281f9 Author: xuelei Date: 2012-02-10 22:17 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/da8b8ee281f9 7144781: incorrect URLs in JSSE java doc Reviewed-by: wetmore, skannan ! src/share/classes/javax/net/ssl/ExtendedSSLSession.java ! src/share/classes/javax/net/ssl/SSLParameters.java Changeset: 27a6b299ed6a Author: chegar Date: 2012-02-12 08:47 +0000 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/27a6b299ed6a 7133367: ResponseCache.put should not be called when setUseCaches(false) Reviewed-by: michaelm ! src/share/classes/sun/net/www/protocol/http/HttpURLConnection.java + test/sun/net/www/protocol/http/NoCache.java Changeset: 27e746e6f3fe Author: alanb Date: 2012-02-12 21:09 +0000 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/27e746e6f3fe 7144895: ProblemList.txt updates (2/2012) Reviewed-by: darcy, ohair ! test/Makefile ! test/ProblemList.txt ! test/TEST.ROOT Changeset: 445ada5e6b4a Author: smarks Date: 2012-02-12 21:56 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/445ada5e6b4a 7143230: fix warnings in java.util.jar, sun.tools.jar, zipfs demo, etc. Reviewed-by: alanb, chegar, lancea, smarks Contributed-by: Mani Sarkar , Michael Barker , Carl Jokl , Dinuk Weerasinghe , Markus Stoy , Tom Anderson ! src/share/classes/java/util/jar/Attributes.java ! src/share/classes/java/util/jar/JarVerifier.java ! src/share/classes/sun/tools/jar/CommandLine.java ! src/share/classes/sun/tools/jar/Manifest.java ! src/share/classes/sun/tools/jar/SignatureFile.java ! src/share/demo/management/MemoryMonitor/MemoryMonitor.java ! src/share/demo/nio/zipfs/src/com/sun/nio/zipfs/ZipFileStore.java ! src/share/demo/nio/zipfs/src/com/sun/nio/zipfs/ZipFileSystem.java ! src/share/demo/nio/zipfs/src/com/sun/nio/zipfs/ZipFileSystemProvider.java ! src/share/demo/nio/zipfs/src/com/sun/nio/zipfs/ZipInfo.java Changeset: 3554f175341a Author: vinnie Date: 2012-02-13 14:26 +0000 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/3554f175341a 7142339: PKCS7.java is needlessly creating SHA1PRNG SecureRandom instances when timestamping is not done Reviewed-by: xuelei, wetmore ! src/share/classes/sun/security/pkcs/PKCS7.java Changeset: 59bd472746d6 Author: vinnie Date: 2012-02-13 14:31 +0000 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/59bd472746d6 Merge - src/linux/doc/man/apt.1 - src/linux/doc/man/ja/apt.1 - src/share/classes/sun/nio/ch/SctpMessageInfoImpl.java - src/share/classes/sun/nio/ch/SctpStdSocketOption.java - src/solaris/classes/sun/nio/ch/SctpAssocChange.java - src/solaris/classes/sun/nio/ch/SctpAssociationImpl.java - src/solaris/classes/sun/nio/ch/SctpChannelImpl.java - src/solaris/classes/sun/nio/ch/SctpMultiChannelImpl.java - src/solaris/classes/sun/nio/ch/SctpNet.java - src/solaris/classes/sun/nio/ch/SctpNotification.java - src/solaris/classes/sun/nio/ch/SctpPeerAddrChange.java - src/solaris/classes/sun/nio/ch/SctpResultContainer.java - src/solaris/classes/sun/nio/ch/SctpSendFailed.java - src/solaris/classes/sun/nio/ch/SctpServerChannelImpl.java - src/solaris/classes/sun/nio/ch/SctpShutdown.java - src/solaris/doc/sun/man/man1/apt.1 - src/solaris/doc/sun/man/man1/ja/apt.1 - src/solaris/native/sun/nio/ch/Sctp.h - src/solaris/native/sun/nio/ch/SctpChannelImpl.c - src/solaris/native/sun/nio/ch/SctpNet.c - src/solaris/native/sun/nio/ch/SctpServerChannelImpl.c - src/windows/classes/sun/nio/ch/SctpChannelImpl.java - src/windows/classes/sun/nio/ch/SctpMultiChannelImpl.java - src/windows/classes/sun/nio/ch/SctpServerChannelImpl.java Changeset: f62077973f9b Author: vinnie Date: 2012-02-14 11:47 +0000 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/f62077973f9b 7142888: sun/security/tools/jarsigner/ec.sh fail on sparc Reviewed-by: xuelei ! test/sun/security/tools/jarsigner/ec.sh Changeset: 13aef38438d8 Author: fparain Date: 2012-02-14 07:28 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/13aef38438d8 7140868: TEST_BUG: jcmd tests need to use -XX:+UsePerfData Reviewed-by: fparain, dholmes ! test/sun/tools/jcmd/jcmd-Defaults.sh ! test/sun/tools/jcmd/jcmd-f.sh ! test/sun/tools/jcmd/jcmd-help-help.sh ! test/sun/tools/jcmd/jcmd-help.sh ! test/sun/tools/jcmd/jcmd-pid.sh Changeset: 0720542d6c1e Author: mullan Date: 2012-02-15 07:45 -0500 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/0720542d6c1e 7024604: OID.1 causes IAE in X500Principal constructor Reviewed-by: vinnie ! src/share/classes/javax/security/auth/x500/X500Principal.java ! src/share/classes/javax/security/auth/x500/package.html ! test/javax/security/auth/x500/X500Principal/Parse.java Changeset: 3207b3e271f2 Author: mullan Date: 2012-02-15 07:52 -0500 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/3207b3e271f2 Merge Changeset: 59884f656b7d Author: fparain Date: 2012-02-15 09:29 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/59884f656b7d 7144833: sun/tools/jcmd/jcmd-Defaults.sh failing intermittently Reviewed-by: alanb ! test/ProblemList.txt ! test/sun/tools/jcmd/jcmd_Output1.awk Changeset: 20d39a0e6fdc Author: fparain Date: 2012-02-15 10:46 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/20d39a0e6fdc 7145925: Removing remote access to diagnostic commands in the HotSpotDiagnosticMBean Reviewed-by: acorn, mchung, phh ! make/java/management/mapfile-vers - src/share/classes/com/sun/management/DiagnosticCommandArgumentInfo.java - src/share/classes/com/sun/management/DiagnosticCommandInfo.java ! src/share/classes/com/sun/management/HotSpotDiagnosticMXBean.java ! src/share/classes/sun/management/HotSpotDiagnostic.java ! src/share/native/sun/management/HotSpotDiagnostic.c - test/com/sun/management/HotSpotDiagnosticMXBean/ExecuteDiagnosticCommand.java - test/com/sun/management/HotSpotDiagnosticMXBean/GetDiagnosticCommandInfo.java - test/com/sun/management/HotSpotDiagnosticMXBean/GetDiagnosticCommands.java Changeset: 2a3f026b3a29 Author: lana Date: 2012-02-15 15:28 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/2a3f026b3a29 Merge - src/linux/doc/man/apt.1 - src/linux/doc/man/ja/apt.1 - src/share/classes/com/sun/management/DiagnosticCommandArgumentInfo.java - src/share/classes/com/sun/management/DiagnosticCommandInfo.java - src/share/classes/sun/nio/ch/SctpMessageInfoImpl.java - src/share/classes/sun/nio/ch/SctpStdSocketOption.java - src/solaris/classes/sun/nio/ch/SctpAssocChange.java - src/solaris/classes/sun/nio/ch/SctpAssociationImpl.java - src/solaris/classes/sun/nio/ch/SctpChannelImpl.java - src/solaris/classes/sun/nio/ch/SctpMultiChannelImpl.java - src/solaris/classes/sun/nio/ch/SctpNet.java - src/solaris/classes/sun/nio/ch/SctpNotification.java - src/solaris/classes/sun/nio/ch/SctpPeerAddrChange.java - src/solaris/classes/sun/nio/ch/SctpResultContainer.java - src/solaris/classes/sun/nio/ch/SctpSendFailed.java - src/solaris/classes/sun/nio/ch/SctpServerChannelImpl.java - src/solaris/classes/sun/nio/ch/SctpShutdown.java - src/solaris/doc/sun/man/man1/apt.1 - src/solaris/doc/sun/man/man1/ja/apt.1 - src/solaris/native/sun/nio/ch/Sctp.h - src/solaris/native/sun/nio/ch/SctpChannelImpl.c - src/solaris/native/sun/nio/ch/SctpNet.c - src/solaris/native/sun/nio/ch/SctpServerChannelImpl.c - src/windows/classes/sun/nio/ch/SctpChannelImpl.java - src/windows/classes/sun/nio/ch/SctpMultiChannelImpl.java - src/windows/classes/sun/nio/ch/SctpServerChannelImpl.java - test/com/sun/management/HotSpotDiagnosticMXBean/ExecuteDiagnosticCommand.java - test/com/sun/management/HotSpotDiagnosticMXBean/GetDiagnosticCommandInfo.java - test/com/sun/management/HotSpotDiagnosticMXBean/GetDiagnosticCommands.java Changeset: c68342532e2e Author: lana Date: 2012-02-18 16:11 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/c68342532e2e Merge - src/linux/doc/man/apt.1 - src/linux/doc/man/ja/apt.1 - src/share/classes/com/sun/management/DiagnosticCommandArgumentInfo.java - src/share/classes/com/sun/management/DiagnosticCommandInfo.java - src/share/classes/sun/nio/ch/SctpMessageInfoImpl.java - src/share/classes/sun/nio/ch/SctpStdSocketOption.java - src/solaris/classes/sun/nio/ch/SctpAssocChange.java - src/solaris/classes/sun/nio/ch/SctpAssociationImpl.java - src/solaris/classes/sun/nio/ch/SctpChannelImpl.java - src/solaris/classes/sun/nio/ch/SctpMultiChannelImpl.java - src/solaris/classes/sun/nio/ch/SctpNet.java - src/solaris/classes/sun/nio/ch/SctpNotification.java - src/solaris/classes/sun/nio/ch/SctpPeerAddrChange.java - src/solaris/classes/sun/nio/ch/SctpResultContainer.java - src/solaris/classes/sun/nio/ch/SctpSendFailed.java - src/solaris/classes/sun/nio/ch/SctpServerChannelImpl.java - src/solaris/classes/sun/nio/ch/SctpShutdown.java - src/solaris/doc/sun/man/man1/apt.1 - src/solaris/doc/sun/man/man1/ja/apt.1 - src/solaris/native/sun/nio/ch/Sctp.h - src/solaris/native/sun/nio/ch/SctpChannelImpl.c - src/solaris/native/sun/nio/ch/SctpNet.c - src/solaris/native/sun/nio/ch/SctpServerChannelImpl.c - src/windows/classes/sun/nio/ch/SctpChannelImpl.java - src/windows/classes/sun/nio/ch/SctpMultiChannelImpl.java - src/windows/classes/sun/nio/ch/SctpServerChannelImpl.java - test/com/sun/management/HotSpotDiagnosticMXBean/ExecuteDiagnosticCommand.java - test/com/sun/management/HotSpotDiagnosticMXBean/GetDiagnosticCommandInfo.java - test/com/sun/management/HotSpotDiagnosticMXBean/GetDiagnosticCommands.java Changeset: 7d683ab46571 Author: katleman Date: 2012-02-23 12:03 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/7d683ab46571 Added tag jdk8-b27 for changeset c68342532e2e ! .hgtags Changeset: 2152ac3e4575 Author: dl Date: 2011-10-12 16:33 +0100 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/2152ac3e4575 7082299: AtomicReferenceArray should ensure that array is Object[] Reviewed-by: chegar, dholmes, alanb ! src/share/classes/java/util/concurrent/atomic/AtomicReferenceArray.java Changeset: 23c3d1a0e150 Author: amenkov Date: 2011-10-26 14:00 +0400 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/23c3d1a0e150 7088367: JavaSound security issue (12865443) Reviewed-by: denis ! src/share/classes/com/sun/media/sound/DirectAudioDevice.java ! src/share/classes/com/sun/media/sound/SoftMixingSourceDataLine.java + test/javax/sound/sampled/DataLine/DataLine_ArrayIndexOutOfBounds.java Changeset: 3ee041967af6 Author: smarks Date: 2011-11-11 15:22 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/3ee041967af6 7110700: Enhance exception throwing mechanism in ObjectStreamClass Reviewed-by: dmeetry, hawtin ! src/share/classes/java/io/ObjectStreamClass.java ! test/java/io/Serializable/expectedStackTrace/ExpectedStackTrace.java Changeset: 18335c98ab8b Author: smarks Date: 2011-11-17 15:04 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/18335c98ab8b 7112267: clean up fix for 7110700 Reviewed-by: dmeetry ! test/java/io/Serializable/expectedStackTrace/ExpectedStackTrace.java Changeset: 4b98d2682c31 Author: okutsu Date: 2011-12-14 11:23 +0900 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/4b98d2682c31 6351654: Problem with java/classes_util_i18n Reviewed-by: hawtin, coffeys ! make/java/java/FILES_java.gmk ! src/share/classes/java/util/TimeZone.java ! src/share/classes/sun/awt/AppContext.java + src/share/classes/sun/misc/JavaAWTAccess.java ! src/share/classes/sun/misc/SharedSecrets.java Changeset: 5d7e49a3a2f9 Author: bagiras Date: 2011-12-14 14:43 +0400 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/5d7e49a3a2f9 7112642: Incorrect checking for graphics rendering object Reviewed-by: art, bae ! src/share/classes/sun/java2d/SunGraphics2D.java ! src/share/classes/sun/java2d/opengl/OGLRenderer.java ! src/share/classes/sun/java2d/pipe/BufferedContext.java ! src/windows/classes/sun/java2d/d3d/D3DRenderer.java ! src/windows/classes/sun/java2d/windows/GDIRenderer.java ! src/windows/native/sun/java2d/windows/GDIRenderer.cpp Changeset: a7cb0afadbee Author: sherman Date: 2011-12-15 14:18 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/a7cb0afadbee 7118283: Better input parameter checking in zip file processing Summary: Fixed off-by-one bug in zip_util.c Reviewed-by: alanb ! src/share/native/java/util/zip/zip_util.c Changeset: d544965b59fe Author: bagiras Date: 2011-12-28 14:26 +0400 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/d544965b59fe 7121482: some sun/java2d and sun/awt tests failed with InvalidPipeException since 1.7.0_03b02, 6u31b02 Reviewed-by: art, bae ! src/share/classes/sun/java2d/SunGraphics2D.java Changeset: 5e6f3c8646cf Author: xuelei Date: 2012-01-09 20:55 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/5e6f3c8646cf 7123519: problems with certification path Summary: Also including the contribution from Dennis Gu Reviewed-by: mullan, weijun ! src/share/classes/sun/security/provider/certpath/ForwardBuilder.java ! src/share/classes/sun/security/provider/certpath/ForwardState.java ! src/share/classes/sun/security/provider/certpath/PKIXCertPathValidator.java ! src/share/classes/sun/security/provider/certpath/ReverseBuilder.java ! src/share/classes/sun/security/provider/certpath/ReverseState.java ! src/share/classes/sun/security/provider/certpath/SunCertPathBuilder.java + src/share/classes/sun/security/provider/certpath/UntrustedChecker.java + src/share/classes/sun/security/util/UntrustedCertificates.java ! src/share/classes/sun/security/validator/SimpleValidator.java ! src/share/classes/sun/security/validator/ValidatorException.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 + test/sun/security/ssl/com/sun/net/ssl/internal/ssl/X509TrustManagerImpl/ComodoHacker.java Changeset: d9897e95323c Author: chegar Date: 2012-01-18 15:35 +0000 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/d9897e95323c 7126960: Add property to limit number of request headers to the HTTP Server Reviewed-by: michaelm ! src/share/classes/sun/net/httpserver/Request.java ! src/share/classes/sun/net/httpserver/ServerConfig.java Changeset: 7699f0a9c6d7 Author: asaha Date: 2012-02-20 11:31 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/7699f0a9c6d7 Merge ! make/java/java/FILES_java.gmk ! src/share/classes/java/io/ObjectStreamClass.java ! src/share/classes/java/util/TimeZone.java ! src/share/classes/java/util/concurrent/atomic/AtomicReferenceArray.java ! src/share/classes/sun/awt/AppContext.java ! src/share/classes/sun/java2d/SunGraphics2D.java ! src/share/classes/sun/misc/SharedSecrets.java ! src/share/classes/sun/net/httpserver/Request.java ! src/share/classes/sun/net/httpserver/ServerConfig.java ! src/share/classes/sun/security/provider/certpath/ForwardBuilder.java ! src/share/classes/sun/security/provider/certpath/ForwardState.java ! src/share/classes/sun/security/provider/certpath/PKIXCertPathValidator.java ! src/share/classes/sun/security/provider/certpath/ReverseState.java ! src/share/classes/sun/security/validator/SimpleValidator.java Changeset: f525c1e9e12c Author: lana Date: 2012-02-23 00:14 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/f525c1e9e12c Merge Changeset: 45804d661008 Author: xuelei Date: 2012-02-15 23:45 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/45804d661008 7145837: a little performance improvement on the usage of SecureRandom Reviewed-by: chegar, wetmore ! src/share/classes/sun/security/ssl/CipherSuite.java Changeset: b971b51bec01 Author: sherman Date: 2012-02-16 11:43 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/b971b51bec01 6708398: Support integer overflow Summary: Added add/sub/multiply/toIntExact methods to j.l.Math and StrictMath classes Reviewed-by: emcmanus Contributed-by: roger.riggs at oracle.com ! src/share/classes/java/lang/Math.java ! src/share/classes/java/lang/StrictMath.java + test/java/lang/Math/ExactArithTests.java + test/java/lang/StrictMath/ExactArithTests.java Changeset: d38fed7d2ea7 Author: sherman Date: 2012-02-16 22:13 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/d38fed7d2ea7 4153167: separate between ANSI and OEM code pages on Windows Summary: To use OEM code page for System.out&err when not redirected Reviewed-by: alanb ! src/share/classes/java/lang/System.java ! src/share/native/java/lang/System.c ! src/share/native/java/lang/java_props.h ! src/windows/native/java/lang/java_props_md.c Changeset: 24c298ef20a8 Author: forax Date: 2012-02-19 16:51 +0000 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/24c298ef20a8 7146152: File.path should be final Reviewed-by: alanb, dholmes, mduigou ! src/share/classes/java/io/File.java Changeset: de7f6d5841b6 Author: littlee Date: 2012-02-20 11:24 +0800 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/de7f6d5841b6 7146506: (fc) Add EACCES check to the return of fcntl native method Summary: Add EACCES check according to the spec of fcntl Reviewed-by: alanb ! src/solaris/native/sun/nio/ch/FileDispatcherImpl.c Changeset: 7326971f09af Author: alanb Date: 2012-02-20 18:55 +0000 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/7326971f09af 6346658: (se) Selector briefly spins when asynchronously closing a registered channel [win] Reviewed-by: chegar, coffeys ! src/share/classes/sun/nio/ch/NativeThreadSet.java ! src/windows/classes/sun/nio/ch/NativeThread.java ! src/windows/classes/sun/nio/ch/SocketDispatcher.java ! src/windows/native/sun/nio/ch/SocketDispatcher.c Changeset: 5e56d498e913 Author: alanb Date: 2012-02-20 19:33 +0000 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/5e56d498e913 7147087: Remove AWT/Swing/client tests from ProblemList Reviewed-by: ohair ! test/Makefile ! test/ProblemList.txt Changeset: 0243e7c0b0fb Author: weijun Date: 2012-02-21 08:51 +0800 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/0243e7c0b0fb 7144530: KeyTab.getInstance(String) no longer handles keyTabNames with "file:" prefix Reviewed-by: valeriep ! src/share/classes/sun/security/krb5/internal/ktab/KeyTab.java + test/sun/security/krb5/ktab/FileKeyTab.java Changeset: b739dd7ce59c Author: weijun Date: 2012-02-21 15:11 +0800 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/b739dd7ce59c 7147336: clarification on warning of keytool -printcrl Reviewed-by: xuelei ! src/share/classes/sun/security/tools/KeyTool.java ! src/share/classes/sun/security/util/Resources.java Changeset: a4e3dde9a8a7 Author: xuelei Date: 2012-02-21 05:44 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/a4e3dde9a8a7 7147407: remove never used debug code in DnsClient.java Reviewed-by: vinnie ! src/share/classes/com/sun/jndi/dns/DnsClient.java Changeset: 6a5d6b2800f6 Author: lana Date: 2012-02-22 16:52 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/6a5d6b2800f6 Merge Changeset: fcdd5a4bae0e Author: lana Date: 2012-02-23 07:54 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/fcdd5a4bae0e Merge Changeset: ca2218135bac Author: asaha Date: 2012-02-24 17:31 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/ca2218135bac 7148758: Resolve merge issue which caused testcase failure Reviewed-by: alanb, chegar ! src/share/classes/sun/net/httpserver/ServerConfig.java Changeset: 39dcb3264fb3 Author: lana Date: 2012-02-24 17:38 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/39dcb3264fb3 Merge Changeset: 1e1d41daaded Author: lana Date: 2012-02-24 18:24 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/1e1d41daaded Merge Changeset: c7ff6d8dc90d Author: katleman Date: 2012-03-01 12:23 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/c7ff6d8dc90d Added tag jdk8-b28 for changeset 1e1d41daaded ! .hgtags Changeset: f959bde6990a Author: prr Date: 2012-02-24 09:37 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/f959bde6990a 7147584: Changing to Nimbus/GTK in SwingSet2 on Solaris 10 Sparc causes malformed menus/layout Reviewed-by: igor, jgodinez ! src/share/classes/sun/font/SunFontManager.java Changeset: 534feb7930ec Author: lana Date: 2012-02-28 19:55 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/534feb7930ec Merge Changeset: 362867d5caa4 Author: rupashka Date: 2012-02-16 17:42 +0400 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/362867d5caa4 7089914: Focus on image icons are not visible in javaws cache with high contrast mode Reviewed-by: rupashka Contributed-by: Sean Chou ! src/share/classes/com/sun/java/swing/plaf/windows/WindowsLookAndFeel.java ! src/share/classes/com/sun/java/swing/plaf/windows/WindowsRadioButtonUI.java + test/com/sun/java/swing/plaf/windows/WindowsRadioButtonUI/7089914/bug7089914.java Changeset: 36b5f46264b3 Author: alexsch Date: 2012-02-21 14:19 +0400 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/36b5f46264b3 7133566: [macosx] closed/javax/swing/JTable/4220171/bug4220171.java fails on MacOS Reviewed-by: alexp + test/javax/swing/JTable/4220171/bug4220171.java Changeset: 927f1dac21cd Author: alexsch Date: 2012-02-21 15:03 +0400 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/927f1dac21cd 7133571: [macosx] closed/javax/swing/JToolBar/4247996/bug4247996.java fails on MacOS Reviewed-by: alexp + test/javax/swing/JToolBar/4247996/bug4247996.java Changeset: 314441d960c0 Author: alexsch Date: 2012-02-21 15:34 +0400 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/314441d960c0 7133581: [macosx] closed/javax/swing/JTree/4330357/bug4330357.java fails on MacOS Reviewed-by: alexp + test/javax/swing/JTree/4330357/bug4330357.java Changeset: 04bc6f65d9ce Author: anthony Date: 2012-02-21 18:15 +0400 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/04bc6f65d9ce 7146572: enableInputMethod(false) does not work in the TextArea and TextField on the linux platform Summary: Peers' constructors shouldn't override user's enableInputMethod() settings Reviewed-by: anthony Contributed-by: Charles Lee ! src/solaris/classes/sun/awt/X11/XTextAreaPeer.java ! src/solaris/classes/sun/awt/X11/XTextFieldPeer.java Changeset: 13a4490cba63 Author: rupashka Date: 2012-02-22 14:31 +0400 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/13a4490cba63 7107099: JScrollBar does not show up even if there are enough lebgth of textstring in textField Reviewed-by: alexp ! src/share/classes/javax/swing/JViewport.java + test/javax/swing/JViewport/7107099/bug7107099.java Changeset: 75247b827d6c Author: lana Date: 2012-02-22 22:09 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/75247b827d6c Merge - src/linux/doc/man/apt.1 - src/linux/doc/man/ja/apt.1 - src/share/classes/com/sun/management/DiagnosticCommandArgumentInfo.java - src/share/classes/com/sun/management/DiagnosticCommandInfo.java - src/share/classes/sun/nio/ch/SctpMessageInfoImpl.java - src/share/classes/sun/nio/ch/SctpStdSocketOption.java - src/solaris/classes/sun/nio/ch/SctpAssocChange.java - src/solaris/classes/sun/nio/ch/SctpAssociationImpl.java - src/solaris/classes/sun/nio/ch/SctpChannelImpl.java - src/solaris/classes/sun/nio/ch/SctpMultiChannelImpl.java - src/solaris/classes/sun/nio/ch/SctpNet.java - src/solaris/classes/sun/nio/ch/SctpNotification.java - src/solaris/classes/sun/nio/ch/SctpPeerAddrChange.java - src/solaris/classes/sun/nio/ch/SctpResultContainer.java - src/solaris/classes/sun/nio/ch/SctpSendFailed.java - src/solaris/classes/sun/nio/ch/SctpServerChannelImpl.java - src/solaris/classes/sun/nio/ch/SctpShutdown.java - src/solaris/doc/sun/man/man1/apt.1 - src/solaris/doc/sun/man/man1/ja/apt.1 - src/solaris/native/sun/nio/ch/Sctp.h - src/solaris/native/sun/nio/ch/SctpChannelImpl.c - src/solaris/native/sun/nio/ch/SctpNet.c - src/solaris/native/sun/nio/ch/SctpServerChannelImpl.c - src/windows/classes/sun/nio/ch/SctpChannelImpl.java - src/windows/classes/sun/nio/ch/SctpMultiChannelImpl.java - src/windows/classes/sun/nio/ch/SctpServerChannelImpl.java - test/com/sun/management/HotSpotDiagnosticMXBean/ExecuteDiagnosticCommand.java - test/com/sun/management/HotSpotDiagnosticMXBean/GetDiagnosticCommandInfo.java - test/com/sun/management/HotSpotDiagnosticMXBean/GetDiagnosticCommands.java Changeset: 82e3c4a6bfd8 Author: bagiras Date: 2012-02-24 13:50 +0400 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/82e3c4a6bfd8 7145980: Dispose method of window.java takes long Reviewed-by: anthony ! src/share/classes/java/awt/Component.java ! src/share/classes/java/awt/Window.java Changeset: 52fa1b465a3b Author: lana Date: 2012-02-28 17:52 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/52fa1b465a3b Merge Changeset: ea888347969d Author: alexsch Date: 2012-02-29 18:47 +0400 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/ea888347969d 7133573: [macosx] closed/javax/swing/JToolTip/4846413/bug4846413.java fails on MacOS Reviewed-by: alexp + test/javax/swing/JToolTip/4846413/bug4846413.java Changeset: d1ed79bc8753 Author: lana Date: 2012-02-29 12:29 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/d1ed79bc8753 Merge Changeset: a589a8dbde79 Author: coffeys Date: 2012-02-24 09:10 +0000 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/a589a8dbde79 7133138: Improve io performance around timezone lookups Reviewed-by: okutsu ! make/tools/src/build/tools/javazic/Mappings.java ! src/share/classes/sun/util/calendar/ZoneInfo.java ! src/share/classes/sun/util/calendar/ZoneInfoFile.java Changeset: 0a350fb8b174 Author: coffeys Date: 2012-02-24 09:17 +0000 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/0a350fb8b174 7144488: Infinite recursion for some equals tests in Collections Reviewed-by: alanb, dholmes, mduigou ! src/share/classes/java/util/Collections.java + test/java/util/Collections/EqualsTest.java Changeset: 585f2c72d042 Author: sla Date: 2012-02-24 20:02 +0100 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/585f2c72d042 7073626: RmiBootstrapTest.sh and RmiSslBootstrapTest.sh fail under Cygwin Summary: Detect and handle cygwin correctly Reviewed-by: alanb, sspitsyn ! test/ProblemList.txt ! test/sun/management/jmxremote/bootstrap/GeneratePropertyPassword.sh Changeset: 4893a89b4916 Author: sla Date: 2012-02-24 20:09 +0100 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/4893a89b4916 7079093: TEST_BUG: java/lang/instrument/ManifestTest.sh fails with cygwin Summary: Work around problems in some cygwin installations Reviewed-by: alanb, sspitsyn ! test/ProblemList.txt ! test/java/lang/instrument/ManifestTest.sh Changeset: 434e680b444f Author: alanb Date: 2012-02-26 17:25 +0000 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/434e680b444f 7148921: More ProblemList updates (2/2012) Reviewed-by: chegar ! test/ProblemList.txt Changeset: 1e737abbff6f Author: dsamersoff Date: 2012-02-27 15:21 +0400 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/1e737abbff6f 7110104: It should be possible to stop and start JMX Agent at runtime Summary: Added a capability to start and stop JMX Agent by jcmd Reviewed-by: acorn, mchung ! src/share/classes/sun/management/Agent.java ! src/share/classes/sun/management/AgentConfigurationError.java ! src/share/classes/sun/management/jmxremote/ConnectorBootstrap.java ! src/share/classes/sun/management/resources/agent.properties ! test/sun/management/AgentCheckTest.java + test/sun/management/jmxremote/startstop/JMXStartStopDoSomething.java + test/sun/management/jmxremote/startstop/JMXStartStopTest.java + test/sun/management/jmxremote/startstop/JMXStartStopTest.sh + test/sun/management/jmxremote/startstop/REMOTE_TESTING.txt + test/sun/management/jmxremote/startstop/management_cl.properties + test/sun/management/jmxremote/startstop/management_jcmd.properties Changeset: 805fc337bbe8 Author: mullan Date: 2012-02-27 11:44 -0500 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/805fc337bbe8 7147830: NullPointerException in java.security.Policy.implies() when the ProtectionDomain has a null code sou Reviewed-by: vinnie ! src/share/classes/sun/security/provider/PolicyFile.java + test/sun/security/provider/PolicyFile/NullCodeSource.java Changeset: cdf6184a7d5c Author: mullan Date: 2012-02-27 13:53 -0500 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/cdf6184a7d5c Merge Changeset: 323abe0e8973 Author: mduigou Date: 2012-02-27 18:10 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/323abe0e8973 7143162: Allow disable building of jdk demos and samples Reviewed-by: ohair ! make/Makefile ! make/common/Release.gmk ! make/common/shared/Sanity-Settings.gmk Changeset: c0a5140c641c Author: dsamersoff Date: 2012-02-28 17:00 +0400 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/c0a5140c641c 7149181: sun/management/jmxremote/startstop/JMXStartStopTest.sh failing on all platforms Summary: Disable test until JDK and hotspot changes meet each other. Reviewed-by: alanb, acorn ! test/ProblemList.txt Changeset: b62922b54170 Author: darcy Date: 2012-02-28 13:14 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/b62922b54170 7149626: (reflect) Improve javadoc of java.lang.reflect.Executable Reviewed-by: mduigou ! src/share/classes/java/lang/reflect/Executable.java Changeset: 61c36875de46 Author: lana Date: 2012-02-28 18:01 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/61c36875de46 Merge Changeset: bd43a6f59c9b Author: ksrini Date: 2012-02-29 08:20 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/bd43a6f59c9b 7148499: Stack size in tools/launcher/Settings.java needs to be increased Reviewed-by: alanb ! test/ProblemList.txt ! test/tools/launcher/Settings.java Changeset: 189207b31cd3 Author: lana Date: 2012-02-29 12:30 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/189207b31cd3 Merge Changeset: c5b882dce0fe Author: lana Date: 2012-03-05 17:04 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/c5b882dce0fe Merge Changeset: 46e0a0467a3c Author: katleman Date: 2012-03-08 20:35 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/46e0a0467a3c Added tag jdk8-b29 for changeset c5b882dce0fe ! .hgtags Changeset: 0e31cf72b84d Author: mrkam Date: 2012-03-02 12:24 +0200 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/0e31cf72b84d 7130241: [macosx] TransparentRuler demo can not run due to lacking of perpixel transparency support Reviewed-by: art ! src/share/demo/jfc/TransparentRuler/transparentruler/Ruler.java Changeset: fd7727f1789d Author: alexsch Date: 2012-03-05 16:46 +0400 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/fd7727f1789d 7130521: [macosx] closed/javax/swing/JMenuItem/6209975/bug6209975.java failed on macosx Reviewed-by: rupashka + test/javax/swing/JMenuItem/6209975/bug6209975.java Changeset: a0406fd03cfe Author: malenkov Date: 2012-03-05 18:01 +0400 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/a0406fd03cfe 7148143: PropertyChangeSupport.addPropertyChangeListener can throw ClassCastException Reviewed-by: rupashka ! src/share/classes/java/beans/ChangeListenerMap.java ! src/share/classes/java/beans/PropertyChangeSupport.java ! src/share/classes/java/beans/VetoableChangeSupport.java + test/java/beans/PropertyChangeSupport/Test7148143.java + test/java/beans/VetoableChangeSupport/Test7148143.java Changeset: af06a5460c42 Author: alexsch Date: 2012-03-07 17:57 +0400 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/af06a5460c42 7132808: [macosx] closed/javax/swing/JFileChooser/4524490/bug4524490.java fails on MacOS Reviewed-by: alexp + test/javax/swing/JFileChooser/4524490/bug4524490.java Changeset: 5730ea24534f Author: rupashka Date: 2012-03-07 20:07 +0200 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/5730ea24534f 7146377: closed/javax/swing/DataTransfer/4876520/bug4876520.java failed since b08 in jdk 8 Reviewed-by: alexp ! src/share/classes/javax/swing/SwingUtilities.java + test/javax/swing/SwingUtilities/7146377/bug7146377.java Changeset: b6fbe0a78fbc Author: lana Date: 2012-03-08 15:26 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/b6fbe0a78fbc Merge Changeset: 764195843d4e Author: lana Date: 2012-03-09 11:55 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/764195843d4e Merge Changeset: 6eed7049d389 Author: ptisnovs Date: 2012-03-01 14:02 +0100 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/6eed7049d389 7149785: Minor corrections to ScriptEngineManager javadoc Summary: JavaDoc correction Reviewed-by: alanb Contributed-by: Pavel Tisnovsky ! src/share/classes/javax/script/ScriptEngineManager.java Changeset: 971a86421f51 Author: mduigou Date: 2012-03-01 09:40 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/971a86421f51 7149320: Move sun.misc.VM.booted() to the end of System.initializeSystemClass() Summary: Ensure that sun.misc.VM.booted() is the last action in System.initSystemClass() Reviewed-by: dholmes, alanb ! src/share/classes/java/lang/System.java Changeset: 3664ca46bc91 Author: vinnie Date: 2012-03-02 17:24 +0000 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/3664ca46bc91 6988842: jce/ECC test fails for SunPKCS11 provider using nss library Reviewed-by: mullan ! make/sun/security/Makefile ! src/share/classes/sun/security/pkcs11/Config.java ! src/share/classes/sun/security/pkcs11/SunPKCS11.java ! test/ProblemList.txt ! test/sun/security/pkcs11/PKCS11Test.java + test/sun/security/pkcs11/nss/lib/README + test/sun/security/pkcs11/nss/lib/windows-amd64/freebl3.chk + test/sun/security/pkcs11/nss/lib/windows-amd64/freebl3.dll + test/sun/security/pkcs11/nss/lib/windows-amd64/libnspr4.dll + test/sun/security/pkcs11/nss/lib/windows-amd64/libnspr4.lib + test/sun/security/pkcs11/nss/lib/windows-amd64/libplc4.dll + test/sun/security/pkcs11/nss/lib/windows-amd64/libplc4.lib + test/sun/security/pkcs11/nss/lib/windows-amd64/libplds4.dll + test/sun/security/pkcs11/nss/lib/windows-amd64/libplds4.lib + test/sun/security/pkcs11/nss/lib/windows-amd64/nss3.dll + test/sun/security/pkcs11/nss/lib/windows-amd64/nss3.lib + test/sun/security/pkcs11/nss/lib/windows-amd64/nssckbi.dll + test/sun/security/pkcs11/nss/lib/windows-amd64/nssdbm3.chk + test/sun/security/pkcs11/nss/lib/windows-amd64/nssdbm3.dll + test/sun/security/pkcs11/nss/lib/windows-amd64/nssutil3.dll + test/sun/security/pkcs11/nss/lib/windows-amd64/nssutil3.lib + test/sun/security/pkcs11/nss/lib/windows-amd64/softokn3.chk + test/sun/security/pkcs11/nss/lib/windows-amd64/softokn3.dll + test/sun/security/pkcs11/nss/lib/windows-amd64/sqlite3.dll + test/sun/security/pkcs11/nss/lib/windows-amd64/ssl3.dll + test/sun/security/pkcs11/nss/lib/windows-amd64/ssl3.lib + test/sun/security/pkcs11/nss/lib/windows-i586/freebl3.chk + test/sun/security/pkcs11/nss/lib/windows-i586/freebl3.dll ! test/sun/security/pkcs11/nss/lib/windows-i586/libnspr4.dll + test/sun/security/pkcs11/nss/lib/windows-i586/libnspr4.lib ! test/sun/security/pkcs11/nss/lib/windows-i586/libplc4.dll + test/sun/security/pkcs11/nss/lib/windows-i586/libplc4.lib ! test/sun/security/pkcs11/nss/lib/windows-i586/libplds4.dll + test/sun/security/pkcs11/nss/lib/windows-i586/libplds4.lib ! test/sun/security/pkcs11/nss/lib/windows-i586/nss3.dll + test/sun/security/pkcs11/nss/lib/windows-i586/nss3.lib ! test/sun/security/pkcs11/nss/lib/windows-i586/nssckbi.dll + test/sun/security/pkcs11/nss/lib/windows-i586/nssdbm3.chk + test/sun/security/pkcs11/nss/lib/windows-i586/nssdbm3.dll + test/sun/security/pkcs11/nss/lib/windows-i586/nssutil3.dll + test/sun/security/pkcs11/nss/lib/windows-i586/nssutil3.lib + test/sun/security/pkcs11/nss/lib/windows-i586/softokn3.chk ! test/sun/security/pkcs11/nss/lib/windows-i586/softokn3.dll + test/sun/security/pkcs11/nss/lib/windows-i586/sqlite3.dll + test/sun/security/pkcs11/nss/lib/windows-i586/ssl3.dll + test/sun/security/pkcs11/nss/lib/windows-i586/ssl3.lib ! test/sun/security/pkcs11/nss/p11-nss.txt ! test/sun/security/tools/keytool/autotest.sh Changeset: 8f61ac5986ee Author: khazra Date: 2012-03-02 13:48 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/8f61ac5986ee 7146763: Warnings cleanup in the sun.rmi and related packages Summary: Cleanup warnings and use jkd7 features in sun.rmi.* Reviewed-by: smarks, chegar, forax, dmocek ! make/sun/rmi/cgi/Makefile ! make/sun/rmi/registry/Makefile ! make/sun/rmi/rmi/Makefile ! make/sun/rmi/rmid/Makefile ! src/share/classes/com/sun/rmi/rmid/ExecOptionPermission.java ! src/share/classes/com/sun/rmi/rmid/ExecPermission.java ! src/share/classes/sun/rmi/log/ReliableLog.java ! src/share/classes/sun/rmi/registry/RegistryImpl.java ! src/share/classes/sun/rmi/rmic/BatchEnvironment.java ! src/share/classes/sun/rmi/rmic/Main.java ! src/share/classes/sun/rmi/rmic/RMIGenerator.java ! src/share/classes/sun/rmi/rmic/newrmic/Main.java ! src/share/classes/sun/rmi/rmic/newrmic/Resources.java ! src/share/classes/sun/rmi/server/ActivatableRef.java ! src/share/classes/sun/rmi/server/Activation.java ! src/share/classes/sun/rmi/server/ActivationGroupImpl.java ! src/share/classes/sun/rmi/server/LoaderHandler.java ! src/share/classes/sun/rmi/server/MarshalInputStream.java ! src/share/classes/sun/rmi/server/UnicastRef.java ! src/share/classes/sun/rmi/server/UnicastRef2.java ! src/share/classes/sun/rmi/server/UnicastServerRef.java ! src/share/classes/sun/rmi/server/Util.java ! src/share/classes/sun/rmi/server/WeakClassHashMap.java ! src/share/classes/sun/rmi/transport/ConnectionInputStream.java ! src/share/classes/sun/rmi/transport/DGCAckHandler.java ! src/share/classes/sun/rmi/transport/DGCClient.java ! src/share/classes/sun/rmi/transport/DGCImpl.java ! src/share/classes/sun/rmi/transport/ObjectTable.java ! src/share/classes/sun/rmi/transport/StreamRemoteCall.java ! src/share/classes/sun/rmi/transport/Target.java ! src/share/classes/sun/rmi/transport/Transport.java ! src/share/classes/sun/rmi/transport/WeakRef.java ! src/share/classes/sun/rmi/transport/proxy/CGIHandler.java ! src/share/classes/sun/rmi/transport/proxy/HttpInputStream.java ! src/share/classes/sun/rmi/transport/proxy/HttpSendSocket.java ! src/share/classes/sun/rmi/transport/proxy/RMIMasterSocketFactory.java ! src/share/classes/sun/rmi/transport/tcp/ConnectionMultiplexer.java ! src/share/classes/sun/rmi/transport/tcp/TCPChannel.java ! src/share/classes/sun/rmi/transport/tcp/TCPEndpoint.java ! src/share/classes/sun/rmi/transport/tcp/TCPTransport.java Changeset: f67ff7b0f6ae Author: chegar Date: 2012-03-04 07:41 +0000 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/f67ff7b0f6ae 7145043: HttpServerProvider.java:81: warning - @code("httpServerProvider") is an unknown tag Reviewed-by: michaelm ! src/share/classes/com/sun/net/httpserver/spi/HttpServerProvider.java Changeset: a9840446d677 Author: vinnie Date: 2012-03-05 14:13 +0000 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/a9840446d677 7151109: backout CR 6988842 Reviewed-by: mullan ! make/sun/security/Makefile ! src/share/classes/sun/security/pkcs11/Config.java ! src/share/classes/sun/security/pkcs11/SunPKCS11.java ! test/ProblemList.txt ! test/sun/security/pkcs11/PKCS11Test.java - test/sun/security/pkcs11/nss/lib/README - test/sun/security/pkcs11/nss/lib/windows-amd64/freebl3.chk - test/sun/security/pkcs11/nss/lib/windows-amd64/freebl3.dll - test/sun/security/pkcs11/nss/lib/windows-amd64/libnspr4.dll - test/sun/security/pkcs11/nss/lib/windows-amd64/libnspr4.lib - test/sun/security/pkcs11/nss/lib/windows-amd64/libplc4.dll - test/sun/security/pkcs11/nss/lib/windows-amd64/libplc4.lib - test/sun/security/pkcs11/nss/lib/windows-amd64/libplds4.dll - test/sun/security/pkcs11/nss/lib/windows-amd64/libplds4.lib - test/sun/security/pkcs11/nss/lib/windows-amd64/nss3.dll - test/sun/security/pkcs11/nss/lib/windows-amd64/nss3.lib - test/sun/security/pkcs11/nss/lib/windows-amd64/nssckbi.dll - test/sun/security/pkcs11/nss/lib/windows-amd64/nssdbm3.chk - test/sun/security/pkcs11/nss/lib/windows-amd64/nssdbm3.dll - test/sun/security/pkcs11/nss/lib/windows-amd64/nssutil3.dll - test/sun/security/pkcs11/nss/lib/windows-amd64/nssutil3.lib - test/sun/security/pkcs11/nss/lib/windows-amd64/softokn3.chk - test/sun/security/pkcs11/nss/lib/windows-amd64/softokn3.dll - test/sun/security/pkcs11/nss/lib/windows-amd64/sqlite3.dll - test/sun/security/pkcs11/nss/lib/windows-amd64/ssl3.dll - test/sun/security/pkcs11/nss/lib/windows-amd64/ssl3.lib - test/sun/security/pkcs11/nss/lib/windows-i586/freebl3.chk - test/sun/security/pkcs11/nss/lib/windows-i586/freebl3.dll ! test/sun/security/pkcs11/nss/lib/windows-i586/libnspr4.dll - test/sun/security/pkcs11/nss/lib/windows-i586/libnspr4.lib ! test/sun/security/pkcs11/nss/lib/windows-i586/libplc4.dll - test/sun/security/pkcs11/nss/lib/windows-i586/libplc4.lib ! test/sun/security/pkcs11/nss/lib/windows-i586/libplds4.dll - test/sun/security/pkcs11/nss/lib/windows-i586/libplds4.lib ! test/sun/security/pkcs11/nss/lib/windows-i586/nss3.dll - test/sun/security/pkcs11/nss/lib/windows-i586/nss3.lib ! test/sun/security/pkcs11/nss/lib/windows-i586/nssckbi.dll - test/sun/security/pkcs11/nss/lib/windows-i586/nssdbm3.chk - test/sun/security/pkcs11/nss/lib/windows-i586/nssdbm3.dll - test/sun/security/pkcs11/nss/lib/windows-i586/nssutil3.dll - test/sun/security/pkcs11/nss/lib/windows-i586/nssutil3.lib - test/sun/security/pkcs11/nss/lib/windows-i586/softokn3.chk ! test/sun/security/pkcs11/nss/lib/windows-i586/softokn3.dll - test/sun/security/pkcs11/nss/lib/windows-i586/sqlite3.dll - test/sun/security/pkcs11/nss/lib/windows-i586/ssl3.dll - test/sun/security/pkcs11/nss/lib/windows-i586/ssl3.lib ! test/sun/security/pkcs11/nss/p11-nss.txt ! test/sun/security/tools/keytool/autotest.sh Changeset: 4785a6d4ae15 Author: vinnie Date: 2012-03-05 14:15 +0000 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/4785a6d4ae15 Merge Changeset: 8b4309cbd999 Author: prr Date: 2012-03-05 09:33 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/8b4309cbd999 7078053: Solaris JDK build: C compiler writing tmp files into the make tree Reviewed-by: ohair, alanb ! make/java/nio/Makefile ! make/sun/xawt/Makefile Changeset: ce6b852bf4e2 Author: khazra Date: 2012-03-05 17:38 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/ce6b852bf4e2 7151348: Build breaks due to warning clean up in sun.rmi.*(7146763) Summary: Undo changes to sun/rmi/rmic/* commited as fix for 7146763 Reviewed-by: smarks ! src/share/classes/sun/rmi/rmic/BatchEnvironment.java ! src/share/classes/sun/rmi/rmic/Main.java ! src/share/classes/sun/rmi/rmic/RMIGenerator.java ! src/share/classes/sun/rmi/rmic/newrmic/Main.java ! src/share/classes/sun/rmi/rmic/newrmic/Resources.java Changeset: 26ed9a64a318 Author: weijun Date: 2012-03-06 10:25 +0800 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/26ed9a64a318 7149012: jarsigner needs not warn about cert expiration if the jar has a TSA timestamp Reviewed-by: xuelei ! src/share/classes/sun/security/tools/JarSigner.java Changeset: d45bc4307996 Author: michaelm Date: 2012-03-06 20:34 +0000 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/d45bc4307996 7113349: Initial changeset for Macosx port to jdk Reviewed-by: jjh, alanb, dholmes, anthony, ohrstrom, ksrini, jrose, weijun, smarks Contributed-by: Alan Bateman , Alexander Potochkin , Alexander Zuev , Andrew Brygin , Artem Ananiev , Alex Strange , Bino George , Christine Lu , David Katleman , David Durrence , Dmitry Cherepanov , Greg Lewis , Kevin Miller , Kurt Miller , Landon Fuller , Leonid Romanov , Loefty Walkowiak , Mark Reinhold , Naoto Sato , Philip Race , Roger Hoover , Scott Kovatch , Sergey ByloKhov , Mike Swingler , Tomas Hurka ! .hgignore ! make/Makefile + make/apple/Makefile + make/apple/applescript/Makefile ! make/com/Makefile + make/com/apple/Makefile + make/com/apple/osx/Makefile + make/com/apple/osxui/Makefile ! make/com/sun/java/pack/Makefile ! make/com/sun/nio/Makefile ! make/com/sun/security/auth/module/Makefile ! make/com/sun/tools/attach/Exportedfiles.gmk ! make/com/sun/tools/attach/FILES_c.gmk ! make/com/sun/tools/attach/FILES_java.gmk ! make/com/sun/tools/attach/Makefile + make/com/sun/tools/attach/mapfile-bsd ! make/common/Defs-linux.gmk + make/common/Defs-macosx.gmk ! make/common/Defs-solaris.gmk ! make/common/Defs.gmk ! make/common/Library.gmk ! make/common/Program.gmk + make/common/Release-macosx.gmk ! make/common/Release.gmk ! make/common/Rules.gmk ! make/common/internal/NativeCompileRules.gmk + make/common/shared/Compiler-llvm.gmk ! make/common/shared/Defs-java.gmk + make/common/shared/Defs-macosx.gmk ! make/common/shared/Defs-utils.gmk ! make/common/shared/Defs-versions.gmk ! make/common/shared/Defs.gmk ! make/common/shared/Platform.gmk ! make/common/shared/Sanity.gmk ! make/docs/Makefile ! make/docs/NON_CORE_PKGS.gmk ! make/java/Makefile ! make/java/fdlibm/Makefile ! make/java/instrument/Makefile ! make/java/java/Makefile ! make/java/java/genlocales.gmk ! make/java/java/localegen.sh ! make/java/java_hprof_demo/Makefile ! make/java/jli/Makefile + make/java/jobjc/Makefile ! make/java/jvm/Makefile ! make/java/management/Makefile ! make/java/net/FILES_c.gmk ! make/java/net/Makefile ! make/java/nio/Makefile + make/java/nio/mapfile-bsd ! make/java/npt/Makefile ! make/java/redist/Makefile ! make/java/redist/sajdi/Makefile ! make/java/security/Makefile ! make/java/zip/FILES_c.gmk ! make/java/zip/Makefile ! make/javax/sound/FILES_c.gmk ! make/javax/sound/Makefile ! make/javax/sound/SoundDefs.gmk ! make/jpda/back/Makefile ! make/jpda/transport/socket/Makefile ! make/jprt.properties ! make/launchers/Makefile.launcher ! make/mkdemo/jvmti/hprof/Makefile ! make/mksample/Makefile + make/netbeans/common/architectures/name-Bsd.properties ! make/sun/Makefile + make/sun/awt/FILES_c_macosx.gmk + make/sun/awt/FILES_export_macosx.gmk ! make/sun/awt/Makefile + make/sun/awt/mapfile-vers-bsd ! make/sun/awt/mawt.gmk ! make/sun/cmm/lcms/Makefile ! make/sun/font/Makefile ! make/sun/headless/Makefile ! make/sun/image/generic/Makefile ! make/sun/image/vis/Makefile ! make/sun/jawt/Makefile ! make/sun/jdga/Makefile + make/sun/lwawt/FILES_c_macosx.gmk + make/sun/lwawt/FILES_export_macosx.gmk + make/sun/lwawt/Makefile + make/sun/osxapp/Makefile + make/sun/rmi/rmi/mapfile-vers ! make/sun/security/jgss/wrapper/Makefile ! make/sun/security/krb5/Makefile ! make/sun/security/pkcs11/Makefile ! make/sun/security/smartcardio/Makefile ! make/sun/splashscreen/FILES_c.gmk ! make/sun/splashscreen/Makefile ! make/sun/tracing/dtrace/Makefile ! make/sun/xawt/Makefile ! make/tools/freetypecheck/Makefile ! make/tools/reorder/Makefile + make/tools/sharing/classlist.macosx + src/bsd/doc/man/DO_NOT_EDIT--GENERATED_FILES + src/bsd/doc/man/appletviewer.1 + src/bsd/doc/man/apt.1 + src/bsd/doc/man/extcheck.1 + src/bsd/doc/man/idlj.1 + src/bsd/doc/man/ja/appletviewer.1 + src/bsd/doc/man/ja/apt.1 + src/bsd/doc/man/ja/extcheck.1 + src/bsd/doc/man/ja/idlj.1 + src/bsd/doc/man/ja/jar.1 + src/bsd/doc/man/ja/jarsigner.1 + src/bsd/doc/man/ja/java.1 + src/bsd/doc/man/ja/javac.1 + src/bsd/doc/man/ja/javadoc.1 + src/bsd/doc/man/ja/javah.1 + src/bsd/doc/man/ja/javap.1 + src/bsd/doc/man/ja/javaws.1 + src/bsd/doc/man/ja/jconsole.1 + src/bsd/doc/man/ja/jdb.1 + src/bsd/doc/man/ja/jhat.1 + src/bsd/doc/man/ja/jinfo.1 + src/bsd/doc/man/ja/jmap.1 + src/bsd/doc/man/ja/jps.1 + src/bsd/doc/man/ja/jrunscript.1 + src/bsd/doc/man/ja/jsadebugd.1 + src/bsd/doc/man/ja/jstack.1 + src/bsd/doc/man/ja/jstat.1 + src/bsd/doc/man/ja/jstatd.1 + src/bsd/doc/man/ja/keytool.1 + src/bsd/doc/man/ja/kinit.1 + src/bsd/doc/man/ja/klist.1 + src/bsd/doc/man/ja/ktab.1 + src/bsd/doc/man/ja/native2ascii.1 + src/bsd/doc/man/ja/orbd.1 + src/bsd/doc/man/ja/pack200.1 + src/bsd/doc/man/ja/policytool.1 + src/bsd/doc/man/ja/rmic.1 + src/bsd/doc/man/ja/rmid.1 + src/bsd/doc/man/ja/rmiregistry.1 + src/bsd/doc/man/ja/schemagen.1 + src/bsd/doc/man/ja/serialver.1 + src/bsd/doc/man/ja/servertool.1 + src/bsd/doc/man/ja/tnameserv.1 + src/bsd/doc/man/ja/unpack200.1 + src/bsd/doc/man/ja/wsgen.1 + src/bsd/doc/man/ja/wsimport.1 + src/bsd/doc/man/ja/xjc.1 + src/bsd/doc/man/jar.1 + src/bsd/doc/man/jarsigner.1 + src/bsd/doc/man/java.1 + src/bsd/doc/man/javac.1 + src/bsd/doc/man/javadoc.1 + src/bsd/doc/man/javah.1 + src/bsd/doc/man/javap.1 + src/bsd/doc/man/javaws.1 + src/bsd/doc/man/jconsole.1 + src/bsd/doc/man/jdb.1 + src/bsd/doc/man/jhat.1 + src/bsd/doc/man/jinfo.1 + src/bsd/doc/man/jmap.1 + src/bsd/doc/man/jps.1 + src/bsd/doc/man/jrunscript.1 + src/bsd/doc/man/jsadebugd.1 + src/bsd/doc/man/jstack.1 + src/bsd/doc/man/jstat.1 + src/bsd/doc/man/jstatd.1 + src/bsd/doc/man/keytool.1 + src/bsd/doc/man/native2ascii.1 + src/bsd/doc/man/orbd.1 + src/bsd/doc/man/pack200.1 + src/bsd/doc/man/policytool.1 + src/bsd/doc/man/rmic.1 + src/bsd/doc/man/rmid.1 + src/bsd/doc/man/rmiregistry.1 + src/bsd/doc/man/schemagen.1 + src/bsd/doc/man/serialver.1 + src/bsd/doc/man/servertool.1 + src/bsd/doc/man/tnameserv.1 + src/bsd/doc/man/unpack200.1 + src/bsd/doc/man/wsgen.1 + src/bsd/doc/man/wsimport.1 + src/bsd/doc/man/xjc.1 + src/macosx/bin/amd64/jvm.cfg + src/macosx/bin/java_md_macosx.c + src/macosx/bin/java_md_macosx.h + src/macosx/bin/jexec.c + src/macosx/bundle/JDK-Info.plist + src/macosx/bundle/JRE-Info.plist + src/macosx/bundle/JavaAppLauncher/JavaAppLauncher.xcodeproj/project.pbxproj + src/macosx/bundle/JavaAppLauncher/resources/English.lproj/InfoPlist.strings + src/macosx/bundle/JavaAppLauncher/resources/JavaAppLauncher-Info.plist + src/macosx/bundle/JavaAppLauncher/src/JVMArgs.h + src/macosx/bundle/JavaAppLauncher/src/JVMArgs.m + src/macosx/bundle/JavaAppLauncher/src/JavaAppLauncher.h + src/macosx/bundle/JavaAppLauncher/src/JavaAppLauncher.m + src/macosx/bundle/JavaAppLauncher/src/JavaAppLauncher_Prefix.pch + src/macosx/bundle/JavaAppLauncher/src/main.m + src/macosx/classes/apple/applescript/AppleScriptEngine.java + src/macosx/classes/apple/applescript/AppleScriptEngineFactory.java + src/macosx/classes/apple/laf/AquaLookAndFeel.java + src/macosx/classes/apple/laf/JRSUIConstants.java + src/macosx/classes/apple/laf/JRSUIControl.java + src/macosx/classes/apple/laf/JRSUIFocus.java + src/macosx/classes/apple/laf/JRSUIState.java + src/macosx/classes/apple/laf/JRSUIStateFactory.java + src/macosx/classes/apple/laf/JRSUIUtils.java + src/macosx/classes/apple/launcher/JavaAppLauncher.java + src/macosx/classes/apple/launcher/appLauncherErrors.properties + src/macosx/classes/apple/security/AppleProvider.java + src/macosx/classes/apple/security/KeychainStore.java + src/macosx/classes/com/apple/concurrent/Dispatch.java + src/macosx/classes/com/apple/concurrent/LibDispatchConcurrentQueue.java + src/macosx/classes/com/apple/concurrent/LibDispatchMainQueue.java + src/macosx/classes/com/apple/concurrent/LibDispatchNative.java + src/macosx/classes/com/apple/concurrent/LibDispatchQueue.java + src/macosx/classes/com/apple/concurrent/LibDispatchRetainedResource.java + src/macosx/classes/com/apple/concurrent/LibDispatchSerialQueue.java + src/macosx/classes/com/apple/concurrent/package.html + src/macosx/classes/com/apple/eawt/AboutHandler.java + src/macosx/classes/com/apple/eawt/AppEvent.java + src/macosx/classes/com/apple/eawt/AppEventListener.java + src/macosx/classes/com/apple/eawt/AppForegroundListener.java + src/macosx/classes/com/apple/eawt/AppHiddenListener.java + src/macosx/classes/com/apple/eawt/AppReOpenedListener.java + src/macosx/classes/com/apple/eawt/Application.java + src/macosx/classes/com/apple/eawt/ApplicationAdapter.java + src/macosx/classes/com/apple/eawt/ApplicationBeanInfo.java + src/macosx/classes/com/apple/eawt/ApplicationEvent.java + src/macosx/classes/com/apple/eawt/ApplicationListener.java + src/macosx/classes/com/apple/eawt/FullScreenAdapter.java + src/macosx/classes/com/apple/eawt/FullScreenHandler.java + src/macosx/classes/com/apple/eawt/FullScreenListener.java + src/macosx/classes/com/apple/eawt/FullScreenUtilities.java + src/macosx/classes/com/apple/eawt/OpenFilesHandler.java + src/macosx/classes/com/apple/eawt/OpenURIHandler.java + src/macosx/classes/com/apple/eawt/PreferencesHandler.java + src/macosx/classes/com/apple/eawt/PrintFilesHandler.java + src/macosx/classes/com/apple/eawt/QuitHandler.java + src/macosx/classes/com/apple/eawt/QuitResponse.java + src/macosx/classes/com/apple/eawt/QuitStrategy.java + src/macosx/classes/com/apple/eawt/ScreenSleepListener.java + src/macosx/classes/com/apple/eawt/SystemSleepListener.java + src/macosx/classes/com/apple/eawt/UserSessionListener.java + src/macosx/classes/com/apple/eawt/_AppDockIconHandler.java + src/macosx/classes/com/apple/eawt/_AppEventHandler.java + src/macosx/classes/com/apple/eawt/_AppEventLegacyHandler.java + src/macosx/classes/com/apple/eawt/_AppMenuBarHandler.java + src/macosx/classes/com/apple/eawt/_AppMiscHandlers.java + src/macosx/classes/com/apple/eawt/event/GestureAdapter.java + src/macosx/classes/com/apple/eawt/event/GestureEvent.java + src/macosx/classes/com/apple/eawt/event/GestureHandler.java + src/macosx/classes/com/apple/eawt/event/GestureListener.java + src/macosx/classes/com/apple/eawt/event/GesturePhaseEvent.java + src/macosx/classes/com/apple/eawt/event/GesturePhaseListener.java + src/macosx/classes/com/apple/eawt/event/GestureUtilities.java + src/macosx/classes/com/apple/eawt/event/MagnificationEvent.java + src/macosx/classes/com/apple/eawt/event/MagnificationListener.java + src/macosx/classes/com/apple/eawt/event/RotationEvent.java + src/macosx/classes/com/apple/eawt/event/RotationListener.java + src/macosx/classes/com/apple/eawt/event/SwipeEvent.java + src/macosx/classes/com/apple/eawt/event/SwipeListener.java + src/macosx/classes/com/apple/eawt/event/package.html + src/macosx/classes/com/apple/eawt/package.html + src/macosx/classes/com/apple/eio/FileManager.java + src/macosx/classes/com/apple/eio/package.html + src/macosx/classes/com/apple/laf/AquaBorder.java + src/macosx/classes/com/apple/laf/AquaButtonBorder.java + src/macosx/classes/com/apple/laf/AquaButtonCheckBoxUI.java + src/macosx/classes/com/apple/laf/AquaButtonExtendedTypes.java + src/macosx/classes/com/apple/laf/AquaButtonLabeledUI.java + src/macosx/classes/com/apple/laf/AquaButtonRadioUI.java + src/macosx/classes/com/apple/laf/AquaButtonToggleUI.java + src/macosx/classes/com/apple/laf/AquaButtonUI.java + src/macosx/classes/com/apple/laf/AquaCaret.java + src/macosx/classes/com/apple/laf/AquaComboBoxButton.java + src/macosx/classes/com/apple/laf/AquaComboBoxPopup.java + src/macosx/classes/com/apple/laf/AquaComboBoxRenderer.java + src/macosx/classes/com/apple/laf/AquaComboBoxUI.java + src/macosx/classes/com/apple/laf/AquaEditorPaneUI.java + src/macosx/classes/com/apple/laf/AquaFileChooserUI.java + src/macosx/classes/com/apple/laf/AquaFileSystemModel.java + src/macosx/classes/com/apple/laf/AquaFileView.java + src/macosx/classes/com/apple/laf/AquaFocus.java + src/macosx/classes/com/apple/laf/AquaFocusHandler.java + src/macosx/classes/com/apple/laf/AquaFonts.java + src/macosx/classes/com/apple/laf/AquaGroupBorder.java + src/macosx/classes/com/apple/laf/AquaHighlighter.java + src/macosx/classes/com/apple/laf/AquaIcon.java + src/macosx/classes/com/apple/laf/AquaImageFactory.java + src/macosx/classes/com/apple/laf/AquaInternalFrameBorder.java + src/macosx/classes/com/apple/laf/AquaInternalFrameBorderMetrics.java + src/macosx/classes/com/apple/laf/AquaInternalFrameDockIconUI.java + src/macosx/classes/com/apple/laf/AquaInternalFrameManager.java + src/macosx/classes/com/apple/laf/AquaInternalFramePaneUI.java + src/macosx/classes/com/apple/laf/AquaInternalFrameUI.java + src/macosx/classes/com/apple/laf/AquaKeyBindings.java + src/macosx/classes/com/apple/laf/AquaLabelUI.java + src/macosx/classes/com/apple/laf/AquaListUI.java + src/macosx/classes/com/apple/laf/AquaLookAndFeel.java + src/macosx/classes/com/apple/laf/AquaMenuBarBorder.java + src/macosx/classes/com/apple/laf/AquaMenuBarUI.java + src/macosx/classes/com/apple/laf/AquaMenuBorder.java + src/macosx/classes/com/apple/laf/AquaMenuItemUI.java + src/macosx/classes/com/apple/laf/AquaMenuPainter.java + src/macosx/classes/com/apple/laf/AquaMenuUI.java + src/macosx/classes/com/apple/laf/AquaMnemonicHandler.java + src/macosx/classes/com/apple/laf/AquaNativeResources.java + src/macosx/classes/com/apple/laf/AquaOptionPaneUI.java + src/macosx/classes/com/apple/laf/AquaPainter.java + src/macosx/classes/com/apple/laf/AquaPanelUI.java + src/macosx/classes/com/apple/laf/AquaPopupMenuSeparatorUI.java + src/macosx/classes/com/apple/laf/AquaPopupMenuUI.java + src/macosx/classes/com/apple/laf/AquaProgressBarUI.java + src/macosx/classes/com/apple/laf/AquaRootPaneUI.java + src/macosx/classes/com/apple/laf/AquaScrollBarUI.java + src/macosx/classes/com/apple/laf/AquaScrollPaneUI.java + src/macosx/classes/com/apple/laf/AquaScrollRegionBorder.java + src/macosx/classes/com/apple/laf/AquaSliderUI.java + src/macosx/classes/com/apple/laf/AquaSpinnerUI.java + src/macosx/classes/com/apple/laf/AquaSplitPaneDividerUI.java + src/macosx/classes/com/apple/laf/AquaSplitPaneUI.java + src/macosx/classes/com/apple/laf/AquaTabbedPaneContrastUI.java + src/macosx/classes/com/apple/laf/AquaTabbedPaneCopyFromBasicUI.java + src/macosx/classes/com/apple/laf/AquaTabbedPaneTabState.java + src/macosx/classes/com/apple/laf/AquaTabbedPaneUI.java + src/macosx/classes/com/apple/laf/AquaTableHeaderBorder.java + src/macosx/classes/com/apple/laf/AquaTableHeaderUI.java + src/macosx/classes/com/apple/laf/AquaTableUI.java + src/macosx/classes/com/apple/laf/AquaTextAreaUI.java + src/macosx/classes/com/apple/laf/AquaTextFieldBorder.java + src/macosx/classes/com/apple/laf/AquaTextFieldFormattedUI.java + src/macosx/classes/com/apple/laf/AquaTextFieldSearch.java + src/macosx/classes/com/apple/laf/AquaTextFieldUI.java + src/macosx/classes/com/apple/laf/AquaTextPaneUI.java + src/macosx/classes/com/apple/laf/AquaTextPasswordFieldUI.java + src/macosx/classes/com/apple/laf/AquaToolBarSeparatorUI.java + src/macosx/classes/com/apple/laf/AquaToolBarUI.java + src/macosx/classes/com/apple/laf/AquaToolTipUI.java + src/macosx/classes/com/apple/laf/AquaTreeUI.java + src/macosx/classes/com/apple/laf/AquaUtilControlSize.java + src/macosx/classes/com/apple/laf/AquaUtils.java + src/macosx/classes/com/apple/laf/ClientPropertyApplicator.java + src/macosx/classes/com/apple/laf/ImageCache.java + src/macosx/classes/com/apple/laf/ScreenMenu.java + src/macosx/classes/com/apple/laf/ScreenMenuBar.java + src/macosx/classes/com/apple/laf/ScreenMenuBarProvider.java + src/macosx/classes/com/apple/laf/ScreenMenuItem.java + src/macosx/classes/com/apple/laf/ScreenMenuItemCheckbox.java + src/macosx/classes/com/apple/laf/ScreenMenuItemUI.java + src/macosx/classes/com/apple/laf/ScreenMenuPropertyHandler.java + src/macosx/classes/com/apple/laf/ScreenMenuPropertyListener.java + src/macosx/classes/com/apple/laf/ScreenPopupFactory.java + src/macosx/classes/com/apple/laf/resources/aqua.properties + src/macosx/classes/com/apple/resources/MacOSXResourceBundle.java + src/macosx/classes/java/net/DefaultInterface.java + src/macosx/classes/java/util/prefs/MacOSXPreferences.java + src/macosx/classes/java/util/prefs/MacOSXPreferencesFactory.java + src/macosx/classes/java/util/prefs/MacOSXPreferencesFile.java + src/macosx/classes/sun/awt/CGraphicsConfig.java + src/macosx/classes/sun/awt/CGraphicsDevice.java + src/macosx/classes/sun/awt/CGraphicsEnvironment.java + src/macosx/classes/sun/awt/FullScreenCapable.java + src/macosx/classes/sun/awt/SunToolkitSubclass.java + src/macosx/classes/sun/awt/fontconfigs/macosx.fontconfig.properties + src/macosx/classes/sun/font/CCharToGlyphMapper.java + src/macosx/classes/sun/font/CFont.java + src/macosx/classes/sun/font/CFontConfiguration.java + src/macosx/classes/sun/font/CFontManager.java + src/macosx/classes/sun/font/CStrike.java + src/macosx/classes/sun/font/CStrikeDisposer.java + src/macosx/classes/sun/java2d/BackBufferCapsProvider.java + src/macosx/classes/sun/java2d/CRenderer.java + src/macosx/classes/sun/java2d/CompositeCRenderer.java + src/macosx/classes/sun/java2d/DataBufferNIOInt.java + src/macosx/classes/sun/java2d/IntegerNIORaster.java + src/macosx/classes/sun/java2d/MacosxSurfaceManagerFactory.java + src/macosx/classes/sun/java2d/OSXOffScreenSurfaceData.java + src/macosx/classes/sun/java2d/OSXSurfaceData.java + src/macosx/classes/sun/java2d/opengl/CGLGraphicsConfig.java + src/macosx/classes/sun/java2d/opengl/CGLLayer.java + src/macosx/classes/sun/java2d/opengl/CGLSurfaceData.java + src/macosx/classes/sun/java2d/opengl/CGLVolatileSurfaceManager.java + src/macosx/classes/sun/lwawt/LWButtonPeer.java + src/macosx/classes/sun/lwawt/LWCanvasPeer.java + src/macosx/classes/sun/lwawt/LWCheckboxPeer.java + src/macosx/classes/sun/lwawt/LWChoicePeer.java + src/macosx/classes/sun/lwawt/LWComponentPeer.java + src/macosx/classes/sun/lwawt/LWContainerPeer.java + src/macosx/classes/sun/lwawt/LWCursorManager.java + src/macosx/classes/sun/lwawt/LWKeyboardFocusManagerPeer.java + src/macosx/classes/sun/lwawt/LWLabelPeer.java + src/macosx/classes/sun/lwawt/LWListPeer.java + src/macosx/classes/sun/lwawt/LWMouseInfoPeer.java + src/macosx/classes/sun/lwawt/LWPanelPeer.java + src/macosx/classes/sun/lwawt/LWRepaintArea.java + src/macosx/classes/sun/lwawt/LWScrollBarPeer.java + src/macosx/classes/sun/lwawt/LWScrollPanePeer.java + src/macosx/classes/sun/lwawt/LWTextAreaPeer.java + src/macosx/classes/sun/lwawt/LWTextComponentPeer.java + src/macosx/classes/sun/lwawt/LWTextFieldPeer.java + src/macosx/classes/sun/lwawt/LWToolkit.java + src/macosx/classes/sun/lwawt/LWWindowPeer.java + src/macosx/classes/sun/lwawt/PlatformComponent.java + src/macosx/classes/sun/lwawt/PlatformWindow.java + src/macosx/classes/sun/lwawt/SelectionClearListener.java + src/macosx/classes/sun/lwawt/macosx/CAccessibility.java + src/macosx/classes/sun/lwawt/macosx/CAccessible.java + src/macosx/classes/sun/lwawt/macosx/CAccessibleText.java + src/macosx/classes/sun/lwawt/macosx/CCheckboxMenuItem.java + src/macosx/classes/sun/lwawt/macosx/CClipboard.java + src/macosx/classes/sun/lwawt/macosx/CCursorManager.java + src/macosx/classes/sun/lwawt/macosx/CCustomCursor.java + src/macosx/classes/sun/lwawt/macosx/CDataTransferer.java + src/macosx/classes/sun/lwawt/macosx/CDesktopPeer.java + src/macosx/classes/sun/lwawt/macosx/CDragSourceContextPeer.java + src/macosx/classes/sun/lwawt/macosx/CDropTarget.java + src/macosx/classes/sun/lwawt/macosx/CDropTargetContextPeer.java + src/macosx/classes/sun/lwawt/macosx/CEmbeddedFrame.java + src/macosx/classes/sun/lwawt/macosx/CFRetainedResource.java + src/macosx/classes/sun/lwawt/macosx/CFileDialog.java + src/macosx/classes/sun/lwawt/macosx/CImage.java + src/macosx/classes/sun/lwawt/macosx/CInputMethod.java + src/macosx/classes/sun/lwawt/macosx/CInputMethodDescriptor.java + src/macosx/classes/sun/lwawt/macosx/CMenu.java + src/macosx/classes/sun/lwawt/macosx/CMenuBar.java + src/macosx/classes/sun/lwawt/macosx/CMenuComponent.java + src/macosx/classes/sun/lwawt/macosx/CMenuItem.java + src/macosx/classes/sun/lwawt/macosx/CMouseDragGestureRecognizer.java + src/macosx/classes/sun/lwawt/macosx/CMouseInfoPeer.java + src/macosx/classes/sun/lwawt/macosx/CPlatformComponent.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/CPopupMenu.java + src/macosx/classes/sun/lwawt/macosx/CPrinterDevice.java + src/macosx/classes/sun/lwawt/macosx/CPrinterDialog.java + src/macosx/classes/sun/lwawt/macosx/CPrinterDialogPeer.java + src/macosx/classes/sun/lwawt/macosx/CPrinterGraphics.java + src/macosx/classes/sun/lwawt/macosx/CPrinterGraphicsConfig.java + src/macosx/classes/sun/lwawt/macosx/CPrinterJob.java + src/macosx/classes/sun/lwawt/macosx/CPrinterJobDialog.java + src/macosx/classes/sun/lwawt/macosx/CPrinterPageDialog.java + src/macosx/classes/sun/lwawt/macosx/CPrinterSurfaceData.java + src/macosx/classes/sun/lwawt/macosx/CRobot.java + src/macosx/classes/sun/lwawt/macosx/CSystemTray.java + src/macosx/classes/sun/lwawt/macosx/CTextPipe.java + src/macosx/classes/sun/lwawt/macosx/CThreading.java + src/macosx/classes/sun/lwawt/macosx/CToolkitThreadBlockedHandler.java + src/macosx/classes/sun/lwawt/macosx/CTrayIcon.java + src/macosx/classes/sun/lwawt/macosx/CWrapper.java + src/macosx/classes/sun/lwawt/macosx/CocoaConstants.java + src/macosx/classes/sun/lwawt/macosx/EventDispatchAccess.java + src/macosx/classes/sun/lwawt/macosx/LWCToolkit.java + src/macosx/classes/sun/lwawt/macosx/NSPrintInfo.java + src/macosx/classes/sun/lwawt/macosx/event/NSEvent.java + src/macosx/classes/sun/nio/ch/DefaultSelectorProvider.java + src/macosx/classes/sun/nio/ch/KQueueArrayWrapper.java + src/macosx/classes/sun/nio/ch/KQueueSelectorImpl.java + src/macosx/classes/sun/nio/ch/KQueueSelectorProvider.java + src/macosx/lib/Info-cmdline.plist + src/macosx/lib/Info-privileged.plist + src/macosx/native/apple/applescript/AS_NS_ConversionUtils.h + src/macosx/native/apple/applescript/AS_NS_ConversionUtils.m + src/macosx/native/apple/applescript/AppleScriptEngine.m + src/macosx/native/apple/applescript/AppleScriptExecutionContext.h + src/macosx/native/apple/applescript/AppleScriptExecutionContext.m + src/macosx/native/apple/applescript/NS_Java_ConversionUtils.h + src/macosx/native/apple/applescript/NS_Java_ConversionUtils.m + src/macosx/native/apple/launcher/JavaAppLauncher.m + src/macosx/native/apple/security/KeystoreImpl.m + src/macosx/native/com/apple/concurrent/Dispatch.m + src/macosx/native/com/apple/eio/CFileManager.m + src/macosx/native/com/apple/laf/AquaFileView.m + src/macosx/native/com/apple/laf/AquaLookAndFeel.m + src/macosx/native/com/apple/laf/AquaNativeResources.m + src/macosx/native/com/apple/laf/JRSUIConstantSync.h + src/macosx/native/com/apple/laf/JRSUIConstantSync.m + src/macosx/native/com/apple/laf/JRSUIController.m + src/macosx/native/com/apple/laf/JRSUIFocus.m + src/macosx/native/com/apple/laf/ScreenMenu.h + src/macosx/native/com/apple/laf/ScreenMenu.m + src/macosx/native/com/apple/laf/ScreenPopupFactory.m + src/macosx/native/com/apple/resources/MacOSXResourceBundle.m + src/macosx/native/com/sun/media/sound/PLATFORM_API_MacOSX_MidiIn.c + src/macosx/native/com/sun/media/sound/PLATFORM_API_MacOSX_MidiOut.c + src/macosx/native/com/sun/media/sound/PLATFORM_API_MacOSX_MidiUtils.c + src/macosx/native/com/sun/media/sound/PLATFORM_API_MacOSX_MidiUtils.h + src/macosx/native/com/sun/media/sound/PLATFORM_API_MacOSX_PCM.cpp + src/macosx/native/com/sun/media/sound/PLATFORM_API_MacOSX_Ports.cpp + src/macosx/native/com/sun/media/sound/PLATFORM_API_MacOSX_Utils.cpp + src/macosx/native/com/sun/media/sound/PLATFORM_API_MacOSX_Utils.h + src/macosx/native/java/util/MacOSXPreferencesFile.m + src/macosx/native/java/util/SCDynamicStoreConfig.m + src/macosx/native/jobjc/JObjC.xcodeproj/default.pbxuser + src/macosx/native/jobjc/JObjC.xcodeproj/project.pbxproj + src/macosx/native/jobjc/README.txt + src/macosx/native/jobjc/TODOS + src/macosx/native/jobjc/bridgesupport.gmk + src/macosx/native/jobjc/build.xml + src/macosx/native/jobjc/extract_classes.pl + src/macosx/native/jobjc/run-and-write-if-okay + src/macosx/native/jobjc/rungen + src/macosx/native/jobjc/runjava + src/macosx/native/jobjc/src/core/PrimitiveCoder.hs + src/macosx/native/jobjc/src/core/java/com/apple/jobjc/CFType.java + src/macosx/native/jobjc/src/core/java/com/apple/jobjc/CIF.java + src/macosx/native/jobjc/src/core/java/com/apple/jobjc/Coder.java + src/macosx/native/jobjc/src/core/java/com/apple/jobjc/FFIType.java + src/macosx/native/jobjc/src/core/java/com/apple/jobjc/Function.java + src/macosx/native/jobjc/src/core/java/com/apple/jobjc/ID.java + src/macosx/native/jobjc/src/core/java/com/apple/jobjc/Invoke.java + src/macosx/native/jobjc/src/core/java/com/apple/jobjc/JObjCRuntime.java + src/macosx/native/jobjc/src/core/java/com/apple/jobjc/MacOSXFramework.java + src/macosx/native/jobjc/src/core/java/com/apple/jobjc/NSClass.java + src/macosx/native/jobjc/src/core/java/com/apple/jobjc/NativeArgumentBuffer.java + src/macosx/native/jobjc/src/core/java/com/apple/jobjc/NativeBuffer.java + src/macosx/native/jobjc/src/core/java/com/apple/jobjc/NativeObjectLifecycleManager.java + src/macosx/native/jobjc/src/core/java/com/apple/jobjc/Opaque.java + src/macosx/native/jobjc/src/core/java/com/apple/jobjc/Pointer.java + src/macosx/native/jobjc/src/core/java/com/apple/jobjc/PrimitiveCoder.java + src/macosx/native/jobjc/src/core/java/com/apple/jobjc/SEL.java + src/macosx/native/jobjc/src/core/java/com/apple/jobjc/Struct.java + src/macosx/native/jobjc/src/core/java/com/apple/jobjc/Subclassing.java + src/macosx/native/jobjc/src/core/native/CIF.m + src/macosx/native/jobjc/src/core/native/Coder.m + src/macosx/native/jobjc/src/core/native/FFIType.m + src/macosx/native/jobjc/src/core/native/Function.m + src/macosx/native/jobjc/src/core/native/ID.m + src/macosx/native/jobjc/src/core/native/Invoke.m + src/macosx/native/jobjc/src/core/native/JObjCRuntime.m + src/macosx/native/jobjc/src/core/native/MacOSXFramework.m + src/macosx/native/jobjc/src/core/native/NSClass.m + src/macosx/native/jobjc/src/core/native/NativeBuffer.h + src/macosx/native/jobjc/src/core/native/NativeBuffer.m + src/macosx/native/jobjc/src/core/native/NativeObjectLifecycleManager.m + src/macosx/native/jobjc/src/core/native/SEL.m + src/macosx/native/jobjc/src/core/native/Subclassing.m + src/macosx/native/jobjc/src/generator/java/com/apple/internal/jobjc/generator/BootClassPathMinus.java + src/macosx/native/jobjc/src/generator/java/com/apple/internal/jobjc/generator/ClassConsolidator.java + src/macosx/native/jobjc/src/generator/java/com/apple/internal/jobjc/generator/ClassGenerator.java + src/macosx/native/jobjc/src/generator/java/com/apple/internal/jobjc/generator/FileCopier.java + src/macosx/native/jobjc/src/generator/java/com/apple/internal/jobjc/generator/FrameworkGenerator.java + src/macosx/native/jobjc/src/generator/java/com/apple/internal/jobjc/generator/FunctionGenerator.java + src/macosx/native/jobjc/src/generator/java/com/apple/internal/jobjc/generator/Generator.java + src/macosx/native/jobjc/src/generator/java/com/apple/internal/jobjc/generator/MethodDisambiguator.java + src/macosx/native/jobjc/src/generator/java/com/apple/internal/jobjc/generator/RestrictedKeywords.java + src/macosx/native/jobjc/src/generator/java/com/apple/internal/jobjc/generator/Utils.java + src/macosx/native/jobjc/src/generator/java/com/apple/internal/jobjc/generator/classes/AbstractObjCClassFile.java + src/macosx/native/jobjc/src/generator/java/com/apple/internal/jobjc/generator/classes/CFTypeClassFile.java + src/macosx/native/jobjc/src/generator/java/com/apple/internal/jobjc/generator/classes/CategoryClassClassFile.java + src/macosx/native/jobjc/src/generator/java/com/apple/internal/jobjc/generator/classes/CategoryClassFile.java + src/macosx/native/jobjc/src/generator/java/com/apple/internal/jobjc/generator/classes/CopiedFile.java + src/macosx/native/jobjc/src/generator/java/com/apple/internal/jobjc/generator/classes/FrameworkClassFile.java + src/macosx/native/jobjc/src/generator/java/com/apple/internal/jobjc/generator/classes/GeneratedClassFile.java + src/macosx/native/jobjc/src/generator/java/com/apple/internal/jobjc/generator/classes/JObjCClassClassFile.java + src/macosx/native/jobjc/src/generator/java/com/apple/internal/jobjc/generator/classes/JObjCClassFile.java + src/macosx/native/jobjc/src/generator/java/com/apple/internal/jobjc/generator/classes/MixedPrimitiveCoderClassFile.java + src/macosx/native/jobjc/src/generator/java/com/apple/internal/jobjc/generator/classes/OpaqueClassFile.java + src/macosx/native/jobjc/src/generator/java/com/apple/internal/jobjc/generator/classes/OutputFile.java + src/macosx/native/jobjc/src/generator/java/com/apple/internal/jobjc/generator/classes/RootJObjCClass.java + src/macosx/native/jobjc/src/generator/java/com/apple/internal/jobjc/generator/classes/StructClassFile.java + src/macosx/native/jobjc/src/generator/java/com/apple/internal/jobjc/generator/model/Arg.java + src/macosx/native/jobjc/src/generator/java/com/apple/internal/jobjc/generator/model/CFType.java + src/macosx/native/jobjc/src/generator/java/com/apple/internal/jobjc/generator/model/Category.java + src/macosx/native/jobjc/src/generator/java/com/apple/internal/jobjc/generator/model/Clazz.java + src/macosx/native/jobjc/src/generator/java/com/apple/internal/jobjc/generator/model/Constant.java + src/macosx/native/jobjc/src/generator/java/com/apple/internal/jobjc/generator/model/Element.java + src/macosx/native/jobjc/src/generator/java/com/apple/internal/jobjc/generator/model/ElementWType.java + src/macosx/native/jobjc/src/generator/java/com/apple/internal/jobjc/generator/model/Framework.java + src/macosx/native/jobjc/src/generator/java/com/apple/internal/jobjc/generator/model/Function.java + src/macosx/native/jobjc/src/generator/java/com/apple/internal/jobjc/generator/model/FunctionAlias.java + src/macosx/native/jobjc/src/generator/java/com/apple/internal/jobjc/generator/model/InformalProtocol.java + src/macosx/native/jobjc/src/generator/java/com/apple/internal/jobjc/generator/model/Method.java + src/macosx/native/jobjc/src/generator/java/com/apple/internal/jobjc/generator/model/NativeEnum.java + src/macosx/native/jobjc/src/generator/java/com/apple/internal/jobjc/generator/model/Opaque.java + src/macosx/native/jobjc/src/generator/java/com/apple/internal/jobjc/generator/model/OutputFileGenerator.java + src/macosx/native/jobjc/src/generator/java/com/apple/internal/jobjc/generator/model/Protocol.java + src/macosx/native/jobjc/src/generator/java/com/apple/internal/jobjc/generator/model/ReturnValue.java + src/macosx/native/jobjc/src/generator/java/com/apple/internal/jobjc/generator/model/StringConstant.java + src/macosx/native/jobjc/src/generator/java/com/apple/internal/jobjc/generator/model/Struct.java + src/macosx/native/jobjc/src/generator/java/com/apple/internal/jobjc/generator/model/TypeElement.java + src/macosx/native/jobjc/src/generator/java/com/apple/internal/jobjc/generator/model/coders/CoderDescriptor.java + src/macosx/native/jobjc/src/generator/java/com/apple/internal/jobjc/generator/model/coders/ComplexCoderDescriptor.java + src/macosx/native/jobjc/src/generator/java/com/apple/internal/jobjc/generator/model/coders/PrimitiveCoderDescriptor.java + src/macosx/native/jobjc/src/generator/java/com/apple/internal/jobjc/generator/model/types/JType.java + src/macosx/native/jobjc/src/generator/java/com/apple/internal/jobjc/generator/model/types/NType.java + src/macosx/native/jobjc/src/generator/java/com/apple/internal/jobjc/generator/model/types/Type.java + src/macosx/native/jobjc/src/generator/java/com/apple/internal/jobjc/generator/model/types/TypeCache.java + src/macosx/native/jobjc/src/generator/java/com/apple/internal/jobjc/generator/model/types/TypeToJType.java + src/macosx/native/jobjc/src/generator/java/com/apple/internal/jobjc/generator/utils/Fp.java + src/macosx/native/jobjc/src/generator/java/com/apple/internal/jobjc/generator/utils/JavaLang.java + src/macosx/native/jobjc/src/generator/java/com/apple/internal/jobjc/generator/utils/NTypeMerger.java + src/macosx/native/jobjc/src/generator/java/com/apple/internal/jobjc/generator/utils/NTypeParser.java + src/macosx/native/jobjc/src/generator/java/com/apple/internal/jobjc/generator/utils/NTypePrinter.java + src/macosx/native/jobjc/src/generator/java/com/apple/internal/jobjc/generator/utils/ObjectInspector.java + src/macosx/native/jobjc/src/generator/java/com/apple/internal/jobjc/generator/utils/QA.java + src/macosx/native/jobjc/src/generator/java/com/apple/internal/jobjc/generator/utils/StringStream.java + src/macosx/native/jobjc/src/generator/java/com/apple/internal/jobjc/generator/utils/StructOffsetResolver.java + src/macosx/native/jobjc/src/generator/java/com/apple/internal/jobjc/generator/utils/StructOffsetResolverBigBang.java + src/macosx/native/jobjc/src/generator/java/com/apple/jobjc/SuperClassExtractor.java + src/macosx/native/jobjc/src/generator/java/com/apple/jobjc/UnsafeRuntimeAccess.java + src/macosx/native/jobjc/src/runtime-additions/java/com/apple/jobjc/Utils.java + src/macosx/native/jobjc/src/runtime-additions/native/NativeNumber.m + src/macosx/native/jobjc/src/runtime-additions/native/NativeString.m + src/macosx/native/jobjc/src/runtime-additions/native/NativeThread.m + src/macosx/native/jobjc/src/tests/java/com/apple/jobjc/BaseBench.java + src/macosx/native/jobjc/src/tests/java/com/apple/jobjc/BenchFunCall.java + src/macosx/native/jobjc/src/tests/java/com/apple/jobjc/BenchIDPop.java + src/macosx/native/jobjc/src/tests/java/com/apple/jobjc/BenchStructCoding.java + src/macosx/native/jobjc/src/tests/java/com/apple/jobjc/BenchUnsafe.java + src/macosx/native/jobjc/src/tests/java/com/apple/jobjc/CategoryTest.java + src/macosx/native/jobjc/src/tests/java/com/apple/jobjc/FunctionTest.java + src/macosx/native/jobjc/src/tests/java/com/apple/jobjc/GUIDemo.java + src/macosx/native/jobjc/src/tests/java/com/apple/jobjc/IBDemo.java + src/macosx/native/jobjc/src/tests/java/com/apple/jobjc/IntroTest.java + src/macosx/native/jobjc/src/tests/java/com/apple/jobjc/NSClassTest.java + src/macosx/native/jobjc/src/tests/java/com/apple/jobjc/NativeBufferTest.java + src/macosx/native/jobjc/src/tests/java/com/apple/jobjc/NativeTypeTest.java + src/macosx/native/jobjc/src/tests/java/com/apple/jobjc/PooledTestCase.java + src/macosx/native/jobjc/src/tests/java/com/apple/jobjc/SELTest.java + src/macosx/native/jobjc/src/tests/java/com/apple/jobjc/StructTest.java + src/macosx/native/jobjc/src/tests/java/com/apple/jobjc/SubclassingTest.java + src/macosx/native/jobjc/src/tests/java/com/apple/jobjc/TestUtils.java + src/macosx/native/jobjc/src/tests/java/com/apple/jobjc/UtilsTest.java + src/macosx/native/jobjc/src/tests/java/com/apple/jobjc/VarArgsTest.java + src/macosx/native/jobjc/src/tests/native/FunCallBench.m + src/macosx/native/sun/awt/AWTEvent.h + src/macosx/native/sun/awt/AWTEvent.m + src/macosx/native/sun/awt/AWTSurfaceLayers.h + src/macosx/native/sun/awt/AWTSurfaceLayers.m + src/macosx/native/sun/awt/AWTView.h + src/macosx/native/sun/awt/AWTView.m + src/macosx/native/sun/awt/AWTWindow.h + src/macosx/native/sun/awt/AWTWindow.m + src/macosx/native/sun/awt/ApplicationDelegate.h + src/macosx/native/sun/awt/ApplicationDelegate.m + src/macosx/native/sun/awt/CClipboard.h + src/macosx/native/sun/awt/CClipboard.m + src/macosx/native/sun/awt/CCursorManager.m + src/macosx/native/sun/awt/CDataTransferer.h + src/macosx/native/sun/awt/CDataTransferer.m + src/macosx/native/sun/awt/CDesktopPeer.m + src/macosx/native/sun/awt/CDragSource.h + src/macosx/native/sun/awt/CDragSource.m + src/macosx/native/sun/awt/CDragSourceContextPeer.m + src/macosx/native/sun/awt/CDropTarget.h + src/macosx/native/sun/awt/CDropTarget.m + src/macosx/native/sun/awt/CDropTargetContextPeer.m + src/macosx/native/sun/awt/CFRetainedResource.m + src/macosx/native/sun/awt/CFileDialog.h + src/macosx/native/sun/awt/CFileDialog.m + src/macosx/native/sun/awt/CGraphicsConfig.m + src/macosx/native/sun/awt/CGraphicsDevice.m + src/macosx/native/sun/awt/CGraphicsEnv.m + src/macosx/native/sun/awt/CImage.m + src/macosx/native/sun/awt/CInputMethod.m + src/macosx/native/sun/awt/CMenu.h + src/macosx/native/sun/awt/CMenu.m + src/macosx/native/sun/awt/CMenuBar.h + src/macosx/native/sun/awt/CMenuBar.m + src/macosx/native/sun/awt/CMenuComponent.h + src/macosx/native/sun/awt/CMenuComponent.m + src/macosx/native/sun/awt/CMenuItem.h + src/macosx/native/sun/awt/CMenuItem.m + src/macosx/native/sun/awt/CPopupMenu.h + src/macosx/native/sun/awt/CPopupMenu.m + src/macosx/native/sun/awt/CPrinterJob.m + src/macosx/native/sun/awt/CRobot.m + src/macosx/native/sun/awt/CSystemColors.h + src/macosx/native/sun/awt/CSystemColors.m + src/macosx/native/sun/awt/CTextPipe.m + src/macosx/native/sun/awt/CTrayIcon.h + src/macosx/native/sun/awt/CTrayIcon.m + src/macosx/native/sun/awt/CWrapper.h + src/macosx/native/sun/awt/CWrapper.m + src/macosx/native/sun/awt/DnDUtilities.h + src/macosx/native/sun/awt/DnDUtilities.m + src/macosx/native/sun/awt/GeomUtilities.h + src/macosx/native/sun/awt/GeomUtilities.m + src/macosx/native/sun/awt/ImageSurfaceData.h + src/macosx/native/sun/awt/ImageSurfaceData.m + src/macosx/native/sun/awt/InitIDs.h + src/macosx/native/sun/awt/InitIDs.m + src/macosx/native/sun/awt/JavaAccessibilityAction.h + src/macosx/native/sun/awt/JavaAccessibilityAction.m + src/macosx/native/sun/awt/JavaAccessibilityUtilities.h + src/macosx/native/sun/awt/JavaAccessibilityUtilities.m + src/macosx/native/sun/awt/JavaComponentAccessibility.h + src/macosx/native/sun/awt/JavaComponentAccessibility.m + src/macosx/native/sun/awt/JavaTextAccessibility.h + src/macosx/native/sun/awt/JavaTextAccessibility.m + src/macosx/native/sun/awt/LWCToolkit.h + src/macosx/native/sun/awt/LWCToolkit.m + src/macosx/native/sun/awt/OSVersion.h + src/macosx/native/sun/awt/OSVersion.m + src/macosx/native/sun/awt/PrintModel.h + src/macosx/native/sun/awt/PrintModel.m + src/macosx/native/sun/awt/PrinterSurfaceData.h + src/macosx/native/sun/awt/PrinterSurfaceData.m + src/macosx/native/sun/awt/PrinterView.h + src/macosx/native/sun/awt/PrinterView.m + src/macosx/native/sun/awt/QuartzRenderer.m + src/macosx/native/sun/awt/QuartzSurfaceData.h + src/macosx/native/sun/awt/QuartzSurfaceData.m + src/macosx/native/sun/awt/awt.m + src/macosx/native/sun/awt/awt_DrawingSurface.m + src/macosx/native/sun/awt/jawt.m + src/macosx/native/sun/awt/splashscreen/splashscreen_config.h + src/macosx/native/sun/awt/splashscreen/splashscreen_sys.m + src/macosx/native/sun/font/AWTFont.h + src/macosx/native/sun/font/AWTFont.m + src/macosx/native/sun/font/AWTStrike.h + src/macosx/native/sun/font/AWTStrike.m + src/macosx/native/sun/font/CCharToGlyphMapper.m + src/macosx/native/sun/font/CGGlyphImages.h + src/macosx/native/sun/font/CGGlyphImages.m + src/macosx/native/sun/font/CGGlyphOutlines.h + src/macosx/native/sun/font/CGGlyphOutlines.m + src/macosx/native/sun/font/CoreTextSupport.h + src/macosx/native/sun/font/CoreTextSupport.m + src/macosx/native/sun/java2d/opengl/CGLGraphicsConfig.h + src/macosx/native/sun/java2d/opengl/CGLGraphicsConfig.m + src/macosx/native/sun/java2d/opengl/CGLLayer.h + src/macosx/native/sun/java2d/opengl/CGLLayer.m + src/macosx/native/sun/java2d/opengl/CGLSurfaceData.h + src/macosx/native/sun/java2d/opengl/CGLSurfaceData.m + src/macosx/native/sun/java2d/opengl/J2D_GL/cglext.h + src/macosx/native/sun/java2d/opengl/OGLFuncs_md.h + src/macosx/native/sun/nio/ch/KQueueArrayWrapper.c + src/macosx/native/sun/osxapp/AWT_debug.h + src/macosx/native/sun/osxapp/NSApplicationAWT.h + src/macosx/native/sun/osxapp/NSApplicationAWT.m + src/macosx/native/sun/osxapp/PropertiesUtilities.h + src/macosx/native/sun/osxapp/PropertiesUtilities.m + src/macosx/native/sun/osxapp/QueuingApplicationDelegate.h + src/macosx/native/sun/osxapp/QueuingApplicationDelegate.m + src/macosx/native/sun/osxapp/ThreadUtilities.h + src/macosx/native/sun/osxapp/ThreadUtilities.m ! src/share/back/commonRef.c ! src/share/bin/emessages.h ! src/share/bin/java.c ! src/share/bin/java.h ! src/share/classes/com/sun/java/swing/plaf/gtk/Metacity.java ! src/share/classes/java/awt/EventDispatchThread.java ! src/share/classes/java/awt/GraphicsEnvironment.java ! src/share/classes/java/awt/KeyboardFocusManager.java ! src/share/classes/java/lang/Thread.java ! src/share/classes/java/net/AbstractPlainDatagramSocketImpl.java ! src/share/classes/java/net/DatagramSocket.java ! src/share/classes/java/net/MulticastSocket.java ! src/share/classes/java/net/NetworkInterface.java ! src/share/classes/java/util/prefs/Preferences.java ! src/share/classes/javax/accessibility/AccessibleContext.java ! src/share/classes/javax/swing/UIManager.java ! src/share/classes/javax/swing/plaf/basic/BasicButtonListener.java ! src/share/classes/javax/swing/plaf/basic/BasicLabelUI.java ! src/share/classes/javax/swing/plaf/basic/BasicLookAndFeel.java ! src/share/classes/javax/swing/plaf/basic/BasicTabbedPaneUI.java ! src/share/classes/javax/swing/plaf/basic/BasicTextUI.java ! src/share/classes/javax/swing/plaf/synth/SynthComboBoxUI.java ! src/share/classes/sun/awt/AWTAccessor.java ! src/share/classes/sun/awt/SunToolkit.java ! src/share/classes/sun/awt/image/BufImgSurfaceData.java ! src/share/classes/sun/font/FileFont.java ! src/share/classes/sun/font/FontManagerFactory.java ! src/share/classes/sun/font/FontUtilities.java ! src/share/classes/sun/font/SunFontManager.java ! src/share/classes/sun/java2d/SunGraphics2D.java ! src/share/classes/sun/java2d/opengl/OGLBlitLoops.java ! src/share/classes/sun/java2d/opengl/OGLRenderQueue.java ! src/share/classes/sun/java2d/opengl/OGLSurfaceData.java ! src/share/classes/sun/launcher/LauncherHelper.java ! src/share/classes/sun/launcher/resources/launcher.properties ! src/share/classes/sun/net/spi/DefaultProxySelector.java ! src/share/classes/sun/nio/ch/DatagramChannelImpl.java ! src/share/classes/sun/nio/cs/ext/ExtendedCharsets.java ! src/share/classes/sun/print/PSPrinterJob.java ! src/share/classes/sun/print/RasterPrinterJob.java ! src/share/classes/sun/security/jgss/wrapper/SunNativeProvider.java ! src/share/classes/sun/security/krb5/Config.java ! src/share/classes/sun/security/krb5/Credentials.java + src/share/classes/sun/security/krb5/SCDynamicStoreConfig.java ! src/share/classes/sun/security/smartcardio/TerminalImpl.java ! src/share/classes/sun/tools/attach/META-INF/services/com.sun.tools.attach.spi.AttachProvider ! src/share/javavm/export/jawt.h ! src/share/javavm/export/jvm.h + src/share/lib/security/java.security-macosx ! src/share/native/com/sun/java/util/jar/pack/defines.h ! src/share/native/com/sun/java/util/jar/pack/main.cpp ! src/share/native/com/sun/media/sound/DirectAudioDevice.c ! src/share/native/com/sun/media/sound/Platform.c ! src/share/native/com/sun/media/sound/PlatformMidi.h ! src/share/native/com/sun/media/sound/SoundDefs.h ! src/share/native/com/sun/media/sound/Utilities.h ! src/share/native/common/check_code.c ! src/share/native/java/io/io_util.h ! src/share/native/java/lang/System.c ! src/share/native/java/lang/Thread.c ! src/share/native/java/lang/fdlibm/include/fdlibm.h ! src/share/native/java/lang/fdlibm/include/jfdlibm.h ! src/share/native/java/lang/java_props.h ! src/share/native/java/util/zip/zip_util.c ! src/share/native/sun/awt/debug/debug_util.h ! src/share/native/sun/awt/image/BufImgSurfaceData.c ! src/share/native/sun/awt/image/DataBufferNative.c ! src/share/native/sun/awt/medialib/mlib_ImageAffine.h ! src/share/native/sun/awt/medialib/mlib_image.h ! src/share/native/sun/awt/medialib/mlib_sys.c ! src/share/native/sun/awt/medialib/mlib_types.h ! src/share/native/sun/awt/splashscreen/splashscreen_impl.h ! src/share/native/sun/font/AccelGlyphCache.c ! src/share/native/sun/font/DrawGlyphList.c ! src/share/native/sun/font/sunFont.c ! src/share/native/sun/java2d/SurfaceData.c ! src/share/native/sun/java2d/opengl/OGLBlitLoops.c ! src/share/native/sun/java2d/opengl/OGLFuncs.h ! src/share/native/sun/java2d/opengl/OGLRenderQueue.c ! src/share/native/sun/java2d/opengl/OGLSurfaceData.c ! src/share/native/sun/java2d/opengl/OGLSurfaceData.h ! src/share/native/sun/java2d/opengl/OGLTextRenderer.c ! src/share/native/sun/nio/ch/genSocketOptionRegistry.c ! src/share/native/sun/security/ec/impl/ecc_impl.h ! src/share/native/sun/security/ec/impl/ecdecode.c ! src/share/native/sun/security/ec/impl/oid.c ! src/share/native/sun/security/ec/impl/secitem.c + src/share/native/sun/security/krb5/nativeccache.c ! src/share/transport/socket/socketTransport.c ! src/solaris/back/exec_md.c ! src/solaris/back/linker_md.c ! src/solaris/back/util_md.h ! src/solaris/bin/java_md.h + src/solaris/bin/java_md_common.c + src/solaris/bin/java_md_solinux.c + src/solaris/bin/java_md_solinux.h + src/solaris/classes/java/lang/UNIXProcess.java.bsd + src/solaris/classes/java/net/DefaultInterface.java ! src/solaris/classes/sun/awt/X11/XWM.java + src/solaris/classes/sun/awt/fontconfigs/bsd.fontconfig.properties + src/solaris/classes/sun/nio/ch/BsdAsynchronousChannelProvider.java ! src/solaris/classes/sun/nio/ch/DefaultAsynchronousChannelProvider.java + src/solaris/classes/sun/nio/ch/KQueue.java + src/solaris/classes/sun/nio/ch/KQueuePort.java + src/solaris/classes/sun/nio/fs/BsdFileStore.java + src/solaris/classes/sun/nio/fs/BsdFileSystem.java + src/solaris/classes/sun/nio/fs/BsdFileSystemProvider.java + src/solaris/classes/sun/nio/fs/BsdNativeDispatcher.java ! src/solaris/classes/sun/nio/fs/DefaultFileSystemProvider.java ! src/solaris/classes/sun/print/UnixPrintServiceLookup.java ! src/solaris/classes/sun/security/smartcardio/PlatformPCSC.java + src/solaris/classes/sun/tools/attach/BsdAttachProvider.java + src/solaris/classes/sun/tools/attach/BsdVirtualMachine.java ! src/solaris/demo/jvmti/hprof/hprof_md.c ! src/solaris/javavm/export/jvm_md.h + src/solaris/native/com/sun/management/MacosxOperatingSystem.c ! src/solaris/native/com/sun/management/UnixOperatingSystem_md.c + src/solaris/native/com/sun/media/sound/PLATFORM_API_BsdOS_ALSA_CommonUtils.c + src/solaris/native/com/sun/media/sound/PLATFORM_API_BsdOS_ALSA_CommonUtils.h + src/solaris/native/com/sun/media/sound/PLATFORM_API_BsdOS_ALSA_MidiIn.c + src/solaris/native/com/sun/media/sound/PLATFORM_API_BsdOS_ALSA_MidiOut.c + src/solaris/native/com/sun/media/sound/PLATFORM_API_BsdOS_ALSA_MidiUtils.c + src/solaris/native/com/sun/media/sound/PLATFORM_API_BsdOS_ALSA_MidiUtils.h + src/solaris/native/com/sun/media/sound/PLATFORM_API_BsdOS_ALSA_PCM.c + src/solaris/native/com/sun/media/sound/PLATFORM_API_BsdOS_ALSA_PCMUtils.c + src/solaris/native/com/sun/media/sound/PLATFORM_API_BsdOS_ALSA_PCMUtils.h + src/solaris/native/com/sun/media/sound/PLATFORM_API_BsdOS_ALSA_Ports.c ! src/solaris/native/java/io/UnixFileSystem_md.c ! src/solaris/native/java/io/canonicalize_md.c ! src/solaris/native/java/io/io_util_md.c ! src/solaris/native/java/lang/ProcessEnvironment_md.c ! src/solaris/native/java/lang/UNIXProcess_md.c + src/solaris/native/java/lang/java_props_macosx.c + src/solaris/native/java/lang/java_props_macosx.h ! src/solaris/native/java/lang/java_props_md.c ! src/solaris/native/java/net/Inet4AddressImpl.c ! src/solaris/native/java/net/Inet6AddressImpl.c ! src/solaris/native/java/net/NetworkInterface.c ! src/solaris/native/java/net/PlainDatagramSocketImpl.c ! src/solaris/native/java/net/PlainSocketImpl.c + src/solaris/native/java/net/bsd_close.c ! src/solaris/native/java/net/net_util_md.c ! src/solaris/native/java/net/net_util_md.h ! src/solaris/native/java/util/FileSystemPreferences.c ! src/solaris/native/java/util/TimeZone_md.c ! src/solaris/native/sun/awt/CUPSfuncs.c ! src/solaris/native/sun/awt/VDrawingArea.c ! src/solaris/native/sun/awt/X11Color.c ! src/solaris/native/sun/awt/awt_Font.c ! src/solaris/native/sun/awt/awt_GraphicsEnv.c ! src/solaris/native/sun/awt/awt_InputMethod.c ! src/solaris/native/sun/awt/awt_LoadLibrary.c ! src/solaris/native/sun/awt/awt_Mlib.c ! src/solaris/native/sun/awt/awt_Robot.c ! src/solaris/native/sun/awt/extutil.h ! src/solaris/native/sun/awt/fontpath.c ! src/solaris/native/sun/awt/gtk2_interface.c ! src/solaris/native/sun/awt/jawt.c ! src/solaris/native/sun/awt/list.c ! src/solaris/native/sun/awt/robot_common.c ! src/solaris/native/sun/font/X11FontScaler.c ! src/solaris/native/sun/font/X11TextRenderer.c ! src/solaris/native/sun/java2d/j2d_md.h ! src/solaris/native/sun/java2d/loops/mlib_ImageZoom_NN.c ! src/solaris/native/sun/java2d/loops/vis_FuncArray.c ! src/solaris/native/sun/java2d/opengl/GLXSurfaceData.c ! src/solaris/native/sun/java2d/opengl/OGLFuncs_md.h ! src/solaris/native/sun/java2d/x11/X11SurfaceData.c ! src/solaris/native/sun/java2d/x11/XRSurfaceData.c ! src/solaris/native/sun/jdga/dgalock.c ! src/solaris/native/sun/management/FileSystemImpl.c ! src/solaris/native/sun/net/dns/ResolverConfigurationImpl.c ! src/solaris/native/sun/net/spi/DefaultProxySelector.c ! src/solaris/native/sun/nio/ch/DatagramChannelImpl.c ! src/solaris/native/sun/nio/ch/DatagramDispatcher.c ! src/solaris/native/sun/nio/ch/FileChannelImpl.c ! src/solaris/native/sun/nio/ch/FileDispatcherImpl.c ! src/solaris/native/sun/nio/ch/FileKey.c + src/solaris/native/sun/nio/ch/KQueue.c + src/solaris/native/sun/nio/ch/KQueuePort.c ! src/solaris/native/sun/nio/ch/Net.c + src/solaris/native/sun/nio/fs/BsdNativeDispatcher.c ! src/solaris/native/sun/nio/fs/GnomeFileTypeDetector.c ! src/solaris/native/sun/nio/fs/UnixNativeDispatcher.c ! src/solaris/native/sun/nio/fs/genUnixConstants.c ! src/solaris/native/sun/security/jgss/wrapper/NativeFunc.c ! src/solaris/native/sun/security/pkcs11/j2secmod_md.c ! src/solaris/native/sun/security/pkcs11/wrapper/p11_md.c ! src/solaris/native/sun/security/smartcardio/pcsc_md.c + src/solaris/native/sun/tools/attach/BsdVirtualMachine.c ! src/solaris/native/sun/xawt/XWindow.c ! src/solaris/native/sun/xawt/awt_Desktop.c ! src/solaris/npt/npt_md.h ! src/solaris/transport/socket/socket_md.c ! src/windows/bin/java_md.c + src/windows/classes/java/net/DefaultInterface.java ! src/windows/native/sun/java2d/opengl/WGLSurfaceData.c ! test/Makefile ! test/ProblemList.txt ! test/com/sun/jdi/ImmutableResourceTest.sh ! test/com/sun/jdi/JITDebug.sh ! test/com/sun/jdi/PrivateTransportTest.sh ! test/com/sun/jdi/ShellScaffold.sh ! test/com/sun/jdi/Solaris32AndSolaris64Test.sh ! test/com/sun/jdi/connect/spi/JdiLoadedByCustomLoader.sh ! test/com/sun/tools/attach/CommonSetup.sh ! test/demo/jvmti/DemoRun.java ! test/java/io/File/GetXSpace.java - test/java/io/File/isDirectory/Applet.java ! test/java/io/Serializable/evolution/RenamePackage/run.sh ! test/java/io/Serializable/serialver/classpath/run.sh ! test/java/io/Serializable/serialver/nested/run.sh ! test/java/lang/ClassLoader/deadlock/TestCrossDelegate.sh ! test/java/lang/ClassLoader/deadlock/TestOneWayDelegate.sh ! test/java/lang/ProcessBuilder/Basic.java ! test/java/lang/ProcessBuilder/Zombies.java ! test/java/lang/StringCoding/CheckEncodings.sh ! test/java/lang/annotation/loaderLeak/LoaderLeak.sh ! test/java/lang/instrument/appendToClassLoaderSearch/CommonSetup.sh ! test/java/lang/management/OperatingSystemMXBean/GetSystemLoadAverage.java ! test/java/lang/management/OperatingSystemMXBean/TestSystemLoadAvg.sh ! test/java/net/Authenticator/B4933582.sh ! test/java/net/DatagramSocket/Send12k.java ! test/java/net/DatagramSocket/SendDatagramToBadAddress.java ! test/java/net/DatagramSocket/SetDatagramSocketImplFactory/ADatagramSocket.sh ! test/java/net/Socket/OldSocketImpl.sh ! test/java/net/URL/B5086147.sh ! test/java/net/URL/OpenStream.java ! test/java/net/URL/runconstructor.sh ! test/java/net/URLClassLoader/B5077773.sh ! test/java/net/URLClassLoader/sealing/checksealed.sh ! test/java/net/URLConnection/6212146/test.sh ! test/java/nio/channels/DatagramChannel/Refused.java ! test/java/nio/channels/FileChannel/Size.java ! test/java/nio/channels/FileChannel/Transfer.java ! test/java/nio/charset/coders/CheckSJISMappingProp.sh ! test/java/nio/charset/spi/basic.sh ! test/java/nio/file/FileSystem/Basic.java ! test/java/nio/file/Files/CopyAndMove.java ! test/java/nio/file/Path/PathOps.java ! test/java/rmi/registry/readTest/readTest.sh ! test/java/security/Security/ClassLoaderDeadlock/ClassLoaderDeadlock.sh ! test/java/security/Security/ClassLoaderDeadlock/Deadlock.sh ! test/java/security/Security/ClassLoaderDeadlock/Deadlock2.sh ! test/java/security/Security/signedfirst/Dyn.sh ! test/java/security/Security/signedfirst/Static.sh ! test/java/util/Currency/PropertiesTest.sh ! test/java/util/Locale/LocaleCategory.sh ! test/java/util/PluggableLocale/ExecTest.sh ! test/java/util/ResourceBundle/Bug6299235Test.sh ! test/java/util/ResourceBundle/Control/Bug6530694.java ! test/java/util/ServiceLoader/basic.sh ! test/java/util/logging/LoggingDeadlock4.java ! test/java/util/zip/ZipFile/ManyZipFiles.java ! test/javax/crypto/SecretKeyFactory/FailOverTest.sh ! test/javax/imageio/stream/StreamCloserLeak/run_test.sh ! test/javax/script/CommonSetup.sh ! test/javax/security/auth/Subject/doAs/Test.sh ! test/lib/security/java.policy/Ext_AllPolicy.sh ! test/sun/management/jmxremote/bootstrap/GeneratePropertyPassword.sh ! test/sun/misc/URLClassPath/ClassnameCharTest.sh ! test/sun/net/www/MarkResetTest.sh ! test/sun/net/www/http/HttpClient/RetryPost.sh ! test/sun/net/www/protocol/jar/B5105410.sh ! test/sun/net/www/protocol/jar/jarbug/run.sh ! test/sun/nio/ch/SelProvider.java ! test/sun/security/krb5/runNameEquals.sh ! test/sun/security/pkcs11/KeyStore/SecretKeysBasic.sh ! test/sun/security/pkcs11/Provider/ConfigQuotedString.sh ! test/sun/security/pkcs11/Provider/Login.sh ! test/sun/security/provider/PolicyFile/getinstance/getinstance.sh ! test/sun/security/ssl/com/sun/net/ssl/internal/ssl/EngineArgs/DebugReportsOneExtraByte.sh ! test/sun/security/ssl/com/sun/net/ssl/internal/ssl/SSLSocketImpl/NotifyHandshakeTest.sh ! test/sun/security/ssl/sun/net/www/protocol/https/HttpsURLConnection/PostThruProxy.sh ! test/sun/security/ssl/sun/net/www/protocol/https/HttpsURLConnection/PostThruProxyWithAuth.sh ! test/sun/security/tools/jarsigner/AlgOptions.sh ! test/sun/security/tools/jarsigner/PercentSign.sh ! test/sun/security/tools/jarsigner/diffend.sh ! test/sun/security/tools/jarsigner/oldsig.sh ! test/sun/security/tools/keytool/AltProviderPath.sh ! test/sun/security/tools/keytool/CloneKeyAskPassword.sh ! test/sun/security/tools/keytool/NoExtNPE.sh ! test/sun/security/tools/keytool/SecretKeyKS.sh ! test/sun/security/tools/keytool/StandardAlgName.sh ! test/sun/security/tools/keytool/printssl.sh ! test/sun/security/tools/keytool/resource.sh ! test/sun/security/tools/keytool/standard.sh ! test/sun/security/tools/policytool/Alias.sh ! 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.sh ! test/sun/security/tools/policytool/UsePolicy.sh ! test/sun/security/tools/policytool/i18n.sh ! test/sun/tools/common/CommonSetup.sh ! test/sun/tools/jconsole/ImmutableResourceTest.sh ! test/sun/tools/jinfo/Basic.sh ! test/sun/tools/jrunscript/common.sh ! test/sun/tools/jrunscript/jrunscript-argsTest.sh ! test/sun/tools/jrunscript/jrunscript-eTest.sh ! test/sun/tools/jrunscript/jrunscript-fTest.sh ! test/sun/tools/jrunscript/jrunscriptTest.sh ! test/sun/tools/native2ascii/resources/ImmutableResourceTest.sh ! test/tools/launcher/ExecutionEnvironment.java ! test/tools/launcher/Test7029048.java ! test/tools/launcher/TestHelper.java ! test/tools/pack200/Pack200Test.java Changeset: e8438dc196bb Author: weijun Date: 2012-03-07 10:15 +0800 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/e8438dc196bb 6961765: Double byte characters corrupted in DN for LDAP referrals Reviewed-by: vinnie ! src/share/classes/com/sun/jndi/toolkit/url/UrlUtil.java + test/com/sun/jndi/ldap/LdapUnicodeURL.java Changeset: d4a6627d5004 Author: dholmes Date: 2012-03-08 00:46 -0500 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/d4a6627d5004 7092140: Test: java/util/concurrent/locks/Lock/TimedAcquireLeak.java fails on SE-E due to -XX:-UsePerfData Summary: Add -XX:+UsePerfData to invocation of exec'd JVM Reviewed-by: alanb, chegar ! test/java/util/concurrent/locks/Lock/TimedAcquireLeak.java Changeset: 901558acdc3a Author: michaelm Date: 2012-03-08 14:38 +0000 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/901558acdc3a 7152186: java.awt.HeadlessException when running AWT apps [macosx] Reviewed-by: anthony ! make/com/apple/osxui/Makefile ! make/sun/headless/Makefile ! make/sun/jawt/Makefile ! make/sun/lwawt/Makefile ! make/sun/xawt/Makefile ! src/solaris/native/sun/awt/awt_LoadLibrary.c Changeset: 99b91217370d Author: darcy Date: 2012-03-08 08:04 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/99b91217370d 7151008: Add library support for repeating annotations in java.lang.annotation Reviewed-by: mcimadamore, jjg + src/share/classes/java/lang/annotation/ContainerAnnotation.java Changeset: c2f3fdce1398 Author: lana Date: 2012-03-08 08:18 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/c2f3fdce1398 Merge ! src/share/classes/sun/font/SunFontManager.java Changeset: dda3940175c0 Author: lana Date: 2012-03-08 14:22 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/dda3940175c0 Merge Changeset: 2900d4ae2d39 Author: mduigou Date: 2012-03-08 13:44 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/2900d4ae2d39 7151595: Disable creation of db demos if NO_DEMOS is specified Reviewed-by: weijun, dholmes ! make/common/Release.gmk Changeset: 71f12f70251a Author: lana Date: 2012-03-09 11:58 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/71f12f70251a Merge - test/java/io/File/isDirectory/Applet.java Changeset: fb3a2cafc230 Author: andrew Date: 2012-03-08 14:04 +0000 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/fb3a2cafc230 7150392: Linux build breaks with GCC 4.7 due to unrecognized option Summary: Remove -mimpure-text option. Reviewed-by: ohair, dholmes, phh, andrew Contributed-by: Deepak Bhole ! make/common/shared/Compiler-gcc.gmk ! src/share/demo/jvmti/compiledMethodLoad/sample.makefile.txt ! src/share/demo/jvmti/gctest/sample.makefile.txt ! src/share/demo/jvmti/heapTracker/sample.makefile.txt ! src/share/demo/jvmti/heapViewer/sample.makefile.txt ! src/share/demo/jvmti/hprof/sample.makefile.txt ! src/share/demo/jvmti/index.html ! src/share/demo/jvmti/java_crw_demo/sample.makefile.txt ! src/share/demo/jvmti/minst/sample.makefile.txt ! src/share/demo/jvmti/mtrace/sample.makefile.txt ! src/share/demo/jvmti/versionCheck/sample.makefile.txt ! src/share/demo/jvmti/waiters/sample.makefile.txt Changeset: d8e197124943 Author: ohair Date: 2012-03-12 16:41 -0700 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/d8e197124943 Merge Changeset: cdbb33303ea3 Author: katleman Date: 2012-03-14 13:50 -0700 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/cdbb33303ea3 Merge Changeset: c373b5baa1e9 Author: katleman Date: 2012-03-15 15:17 -0700 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/c373b5baa1e9 Added tag jdk8-b30 for changeset cdbb33303ea3 ! .hgtags Changeset: 9288904e0027 Author: mfang Date: 2012-02-08 10:18 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/9288904e0027 Merge - test/tools/launcher/ChangeDataModel.sh - test/tools/launcher/CreatePlatformFile.java - test/tools/launcher/SomeException.java - test/tools/launcher/UnicodeCleanup.java - test/tools/launcher/UnicodeTest.sh - test/tools/launcher/deleteI18n.sh - test/tools/launcher/i18nTest.sh - test/tools/launcher/unresolvedExceptions.sh Changeset: f57d54ebae28 Author: mfang Date: 2012-02-09 10:16 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/f57d54ebae28 Merge Changeset: 7e2d6cb84cbd Author: mfang Date: 2012-02-09 16:12 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/7e2d6cb84cbd Merge Changeset: 76b1f7e945fc Author: mfang Date: 2012-02-17 10:18 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/76b1f7e945fc Merge Changeset: e4f3f5ceb082 Author: mfang Date: 2012-02-22 10:17 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/e4f3f5ceb082 Merge - src/linux/doc/man/apt.1 - src/linux/doc/man/ja/apt.1 - src/share/classes/com/sun/management/DiagnosticCommandArgumentInfo.java - src/share/classes/com/sun/management/DiagnosticCommandInfo.java - src/share/classes/sun/nio/ch/SctpMessageInfoImpl.java - src/share/classes/sun/nio/ch/SctpStdSocketOption.java - src/solaris/classes/sun/nio/ch/SctpAssocChange.java - src/solaris/classes/sun/nio/ch/SctpAssociationImpl.java - src/solaris/classes/sun/nio/ch/SctpChannelImpl.java - src/solaris/classes/sun/nio/ch/SctpMultiChannelImpl.java - src/solaris/classes/sun/nio/ch/SctpNet.java - src/solaris/classes/sun/nio/ch/SctpNotification.java - src/solaris/classes/sun/nio/ch/SctpPeerAddrChange.java - src/solaris/classes/sun/nio/ch/SctpResultContainer.java - src/solaris/classes/sun/nio/ch/SctpSendFailed.java - src/solaris/classes/sun/nio/ch/SctpServerChannelImpl.java - src/solaris/classes/sun/nio/ch/SctpShutdown.java - src/solaris/doc/sun/man/man1/apt.1 - src/solaris/doc/sun/man/man1/ja/apt.1 - src/solaris/native/sun/nio/ch/Sctp.h - src/solaris/native/sun/nio/ch/SctpChannelImpl.c - src/solaris/native/sun/nio/ch/SctpNet.c - src/solaris/native/sun/nio/ch/SctpServerChannelImpl.c - src/windows/classes/sun/nio/ch/SctpChannelImpl.java - src/windows/classes/sun/nio/ch/SctpMultiChannelImpl.java - src/windows/classes/sun/nio/ch/SctpServerChannelImpl.java - test/com/sun/management/HotSpotDiagnosticMXBean/ExecuteDiagnosticCommand.java - test/com/sun/management/HotSpotDiagnosticMXBean/GetDiagnosticCommandInfo.java - test/com/sun/management/HotSpotDiagnosticMXBean/GetDiagnosticCommands.java Changeset: 87d43598a05c Author: mfang Date: 2012-02-25 10:19 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/87d43598a05c Merge Changeset: 71b0a726d54f Author: mfang Date: 2012-02-29 10:18 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/71b0a726d54f Merge Changeset: 091141531881 Author: mfang Date: 2012-03-02 10:19 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/091141531881 Merge Changeset: 8532efc112ea Author: mfang Date: 2012-03-07 10:18 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/8532efc112ea Merge Changeset: 9ade23505c96 Author: mfang Date: 2012-03-09 10:23 -0800 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/9ade23505c96 Merge Changeset: 1f2f7e37f0a9 Author: mfang Date: 2012-03-14 10:25 -0700 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/1f2f7e37f0a9 Merge - test/java/io/File/isDirectory/Applet.java Changeset: 2e7ecc3e053e Author: yhuang Date: 2012-03-14 23:07 -0700 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/2e7ecc3e053e 7085757: Currency Data: ISO 4217 Amendment 152 Reviewed-by: naoto ! src/share/classes/java/util/CurrencyData.properties ! src/share/classes/java/util/LocaleISOData.java ! src/share/classes/sun/util/resources/CurrencyNames.properties ! src/share/classes/sun/util/resources/LocaleNames.properties ! test/java/util/Currency/tablea1.txt ! test/java/util/Locale/LocaleTest.java ! test/sun/text/resources/LocaleData ! test/sun/text/resources/LocaleDataTest.java Changeset: f7963e954f24 Author: yhuang Date: 2012-03-14 23:19 -0700 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/f7963e954f24 Merge - test/java/io/File/isDirectory/Applet.java Changeset: f7dedbbb52eb Author: mfang Date: 2012-03-15 16:04 -0700 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/f7dedbbb52eb Merge Changeset: 27f0c08c427c Author: katleman Date: 2012-03-21 12:18 -0700 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/27f0c08c427c Merge Changeset: 6bef01ceeb94 Author: mduigou Date: 2012-03-21 17:28 -0700 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/6bef01ceeb94 Merge ! .hgignore ! make/Makefile ! make/common/Defs.gmk ! make/common/Release.gmk ! make/common/internal/Defs-langtools.gmk ! make/common/shared/Defs-control.gmk ! make/common/shared/Defs-java.gmk ! make/common/shared/Sanity-Settings.gmk ! make/common/shared/Sanity.gmk ! make/docs/NON_CORE_PKGS.gmk ! make/java/java/FILES_java.gmk - make/sun/motif12/reorder-i586 - make/sun/motif12/reorder-sparc - make/sun/motif12/reorder-sparcv9 - src/linux/doc/man/apt.1 - src/linux/doc/man/ja/apt.1 ! src/share/bin/java.c - src/share/classes/com/sun/tools/jdi/LinkedHashMap.java - src/share/classes/sun/awt/FocusingTextField.java - src/share/classes/sun/awt/HorizBagLayout.java - src/share/classes/sun/awt/OrientableFlowLayout.java - src/share/classes/sun/awt/VariableGridLayout.java - src/share/classes/sun/awt/VerticalBagLayout.java - src/share/classes/sun/nio/ch/SctpMessageInfoImpl.java - src/share/classes/sun/nio/ch/SctpStdSocketOption.java ! src/share/javavm/export/jvm.h ! src/share/native/common/check_code.c - src/share/native/java/util/zip/zlib-1.2.3/ChangeLog - src/share/native/java/util/zip/zlib-1.2.3/README - src/share/native/java/util/zip/zlib-1.2.3/compress.c - src/share/native/java/util/zip/zlib-1.2.3/crc32.h - src/share/native/java/util/zip/zlib-1.2.3/deflate.c - src/share/native/java/util/zip/zlib-1.2.3/deflate.h - src/share/native/java/util/zip/zlib-1.2.3/gzio.c - src/share/native/java/util/zip/zlib-1.2.3/infback.c - src/share/native/java/util/zip/zlib-1.2.3/inffast.c - src/share/native/java/util/zip/zlib-1.2.3/inffast.h - src/share/native/java/util/zip/zlib-1.2.3/inffixed.h - src/share/native/java/util/zip/zlib-1.2.3/inflate.c - src/share/native/java/util/zip/zlib-1.2.3/inflate.h - src/share/native/java/util/zip/zlib-1.2.3/inftrees.c - src/share/native/java/util/zip/zlib-1.2.3/inftrees.h - src/share/native/java/util/zip/zlib-1.2.3/patches/ChangeLog_java - src/share/native/java/util/zip/zlib-1.2.3/patches/crc32.c.diff - src/share/native/java/util/zip/zlib-1.2.3/patches/inflate.c.diff - src/share/native/java/util/zip/zlib-1.2.3/patches/zconf.h.diff - src/share/native/java/util/zip/zlib-1.2.3/patches/zlib.h.diff - src/share/native/java/util/zip/zlib-1.2.3/trees.c - src/share/native/java/util/zip/zlib-1.2.3/trees.h - src/share/native/java/util/zip/zlib-1.2.3/uncompr.c - src/share/native/java/util/zip/zlib-1.2.3/zadler32.c - src/share/native/java/util/zip/zlib-1.2.3/zconf.h - src/share/native/java/util/zip/zlib-1.2.3/zcrc32.c - src/share/native/java/util/zip/zlib-1.2.3/zlib.h - src/share/native/java/util/zip/zlib-1.2.3/zutil.c - src/share/native/java/util/zip/zlib-1.2.3/zutil.h - src/solaris/classes/sun/awt/motif/AWTLockAccess.java - src/solaris/classes/sun/awt/motif/MFontPeer.java - src/solaris/classes/sun/awt/motif/MToolkit.java - src/solaris/classes/sun/awt/motif/MToolkitThreadBlockedHandler.java - src/solaris/classes/sun/awt/motif/MWindowAttributes.java - src/solaris/classes/sun/awt/motif/X11FontMetrics.java - src/solaris/classes/sun/nio/ch/SctpAssocChange.java - src/solaris/classes/sun/nio/ch/SctpAssociationImpl.java - src/solaris/classes/sun/nio/ch/SctpChannelImpl.java - src/solaris/classes/sun/nio/ch/SctpMultiChannelImpl.java - src/solaris/classes/sun/nio/ch/SctpNet.java - src/solaris/classes/sun/nio/ch/SctpNotification.java - src/solaris/classes/sun/nio/ch/SctpPeerAddrChange.java - src/solaris/classes/sun/nio/ch/SctpResultContainer.java - src/solaris/classes/sun/nio/ch/SctpSendFailed.java - src/solaris/classes/sun/nio/ch/SctpServerChannelImpl.java - src/solaris/classes/sun/nio/ch/SctpShutdown.java ! src/solaris/classes/sun/nio/fs/UnixPath.java - src/solaris/doc/sun/man/man1/apt.1 - src/solaris/doc/sun/man/man1/ja/apt.1 - src/solaris/native/sun/awt/MouseInfo.c - src/solaris/native/sun/awt/XDrawingArea.c - src/solaris/native/sun/awt/XDrawingArea.h - src/solaris/native/sun/awt/XDrawingAreaP.h - src/solaris/native/sun/awt/awt_Cursor.h - src/solaris/native/sun/awt/awt_KeyboardFocusManager.h - src/solaris/native/sun/awt/awt_MToolkit.c - src/solaris/native/sun/awt/awt_MToolkit.h - src/solaris/native/sun/awt/awt_MenuItem.h - src/solaris/native/sun/awt/awt_PopupMenu.h - src/solaris/native/sun/awt/awt_TopLevel.h - src/solaris/native/sun/awt/awt_Window.h - src/solaris/native/sun/awt/awt_mgrsel.c - src/solaris/native/sun/awt/awt_mgrsel.h - src/solaris/native/sun/awt/awt_motif.h - src/solaris/native/sun/awt/awt_wm.c - src/solaris/native/sun/awt/awt_wm.h - src/solaris/native/sun/awt/awt_xembed.h - src/solaris/native/sun/awt/awt_xembed_server.c - src/solaris/native/sun/awt/awt_xembed_server.h - src/solaris/native/sun/nio/ch/Sctp.h - src/solaris/native/sun/nio/ch/SctpChannelImpl.c - src/solaris/native/sun/nio/ch/SctpNet.c - src/solaris/native/sun/nio/ch/SctpServerChannelImpl.c - src/windows/classes/sun/nio/ch/SctpChannelImpl.java - src/windows/classes/sun/nio/ch/SctpMultiChannelImpl.java - src/windows/classes/sun/nio/ch/SctpServerChannelImpl.java - test/java/io/File/BlockIsDirectory.java - test/java/io/File/isDirectory/Applet.java - test/java/io/FileDescriptor/FileChannelFDTest.java - test/java/io/etc/FileDescriptorSharing.java - test/java/util/ResourceBundle/Control/ExpirationTest.java - test/java/util/ResourceBundle/Control/ExpirationTest.sh - test/tools/launcher/ChangeDataModel.sh - test/tools/launcher/CreatePlatformFile.java - test/tools/launcher/DefaultLocaleTest.sh - test/tools/launcher/SomeException.java - test/tools/launcher/UnicodeCleanup.java - test/tools/launcher/UnicodeTest.sh - test/tools/launcher/deleteI18n.sh - test/tools/launcher/i18nTest.sh - test/tools/launcher/unresolvedExceptions.sh Changeset: 54ef48ec7db1 Author: mduigou Date: 2012-03-23 15:55 -0700 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/54ef48ec7db1 Merge - make/sun/motif12/reorder-i586 - make/sun/motif12/reorder-sparc - make/sun/motif12/reorder-sparcv9 - src/linux/doc/man/apt.1 - src/linux/doc/man/ja/apt.1 - src/share/classes/com/sun/tools/jdi/LinkedHashMap.java - src/share/classes/sun/awt/FocusingTextField.java - src/share/classes/sun/awt/HorizBagLayout.java - src/share/classes/sun/awt/OrientableFlowLayout.java - src/share/classes/sun/awt/VariableGridLayout.java - src/share/classes/sun/awt/VerticalBagLayout.java - src/share/classes/sun/nio/ch/SctpMessageInfoImpl.java - src/share/classes/sun/nio/ch/SctpStdSocketOption.java - src/share/native/java/util/zip/zlib-1.2.3/ChangeLog - src/share/native/java/util/zip/zlib-1.2.3/README - src/share/native/java/util/zip/zlib-1.2.3/compress.c - src/share/native/java/util/zip/zlib-1.2.3/crc32.h - src/share/native/java/util/zip/zlib-1.2.3/deflate.c - src/share/native/java/util/zip/zlib-1.2.3/deflate.h - src/share/native/java/util/zip/zlib-1.2.3/gzio.c - src/share/native/java/util/zip/zlib-1.2.3/infback.c - src/share/native/java/util/zip/zlib-1.2.3/inffast.c - src/share/native/java/util/zip/zlib-1.2.3/inffast.h - src/share/native/java/util/zip/zlib-1.2.3/inffixed.h - src/share/native/java/util/zip/zlib-1.2.3/inflate.c - src/share/native/java/util/zip/zlib-1.2.3/inflate.h - src/share/native/java/util/zip/zlib-1.2.3/inftrees.c - src/share/native/java/util/zip/zlib-1.2.3/inftrees.h - src/share/native/java/util/zip/zlib-1.2.3/patches/ChangeLog_java - src/share/native/java/util/zip/zlib-1.2.3/patches/crc32.c.diff - src/share/native/java/util/zip/zlib-1.2.3/patches/inflate.c.diff - src/share/native/java/util/zip/zlib-1.2.3/patches/zconf.h.diff - src/share/native/java/util/zip/zlib-1.2.3/patches/zlib.h.diff - src/share/native/java/util/zip/zlib-1.2.3/trees.c - src/share/native/java/util/zip/zlib-1.2.3/trees.h - src/share/native/java/util/zip/zlib-1.2.3/uncompr.c - src/share/native/java/util/zip/zlib-1.2.3/zadler32.c - src/share/native/java/util/zip/zlib-1.2.3/zconf.h - src/share/native/java/util/zip/zlib-1.2.3/zcrc32.c - src/share/native/java/util/zip/zlib-1.2.3/zlib.h - src/share/native/java/util/zip/zlib-1.2.3/zutil.c - src/share/native/java/util/zip/zlib-1.2.3/zutil.h - src/solaris/classes/sun/awt/motif/AWTLockAccess.java - src/solaris/classes/sun/awt/motif/MFontPeer.java - src/solaris/classes/sun/awt/motif/MToolkit.java - src/solaris/classes/sun/awt/motif/MToolkitThreadBlockedHandler.java - src/solaris/classes/sun/awt/motif/MWindowAttributes.java - src/solaris/classes/sun/awt/motif/X11FontMetrics.java - src/solaris/classes/sun/nio/ch/SctpAssocChange.java - src/solaris/classes/sun/nio/ch/SctpAssociationImpl.java - src/solaris/classes/sun/nio/ch/SctpChannelImpl.java - src/solaris/classes/sun/nio/ch/SctpMultiChannelImpl.java - src/solaris/classes/sun/nio/ch/SctpNet.java - src/solaris/classes/sun/nio/ch/SctpNotification.java - src/solaris/classes/sun/nio/ch/SctpPeerAddrChange.java - src/solaris/classes/sun/nio/ch/SctpResultContainer.java - src/solaris/classes/sun/nio/ch/SctpSendFailed.java - src/solaris/classes/sun/nio/ch/SctpServerChannelImpl.java - src/solaris/classes/sun/nio/ch/SctpShutdown.java - src/solaris/doc/sun/man/man1/apt.1 - src/solaris/doc/sun/man/man1/ja/apt.1 - src/solaris/native/sun/awt/MouseInfo.c - src/solaris/native/sun/awt/XDrawingArea.c - src/solaris/native/sun/awt/XDrawingArea.h - src/solaris/native/sun/awt/XDrawingAreaP.h - src/solaris/native/sun/awt/awt_Cursor.h - src/solaris/native/sun/awt/awt_KeyboardFocusManager.h - src/solaris/native/sun/awt/awt_MToolkit.c - src/solaris/native/sun/awt/awt_MToolkit.h - src/solaris/native/sun/awt/awt_MenuItem.h - src/solaris/native/sun/awt/awt_PopupMenu.h - src/solaris/native/sun/awt/awt_TopLevel.h - src/solaris/native/sun/awt/awt_Window.h - src/solaris/native/sun/awt/awt_mgrsel.c - src/solaris/native/sun/awt/awt_mgrsel.h - src/solaris/native/sun/awt/awt_motif.h - src/solaris/native/sun/awt/awt_wm.c - src/solaris/native/sun/awt/awt_wm.h - src/solaris/native/sun/awt/awt_xembed.h - src/solaris/native/sun/awt/awt_xembed_server.c - src/solaris/native/sun/awt/awt_xembed_server.h - src/solaris/native/sun/nio/ch/Sctp.h - src/solaris/native/sun/nio/ch/SctpChannelImpl.c - src/solaris/native/sun/nio/ch/SctpNet.c - src/solaris/native/sun/nio/ch/SctpServerChannelImpl.c - src/windows/classes/sun/nio/ch/SctpChannelImpl.java - src/windows/classes/sun/nio/ch/SctpMultiChannelImpl.java - src/windows/classes/sun/nio/ch/SctpServerChannelImpl.java - test/java/io/File/BlockIsDirectory.java - test/java/io/File/isDirectory/Applet.java - test/java/io/FileDescriptor/FileChannelFDTest.java - test/java/io/etc/FileDescriptorSharing.java - test/java/util/ResourceBundle/Control/ExpirationTest.java - test/java/util/ResourceBundle/Control/ExpirationTest.sh - test/tools/launcher/ChangeDataModel.sh - test/tools/launcher/CreatePlatformFile.java - test/tools/launcher/DefaultLocaleTest.sh - test/tools/launcher/SomeException.java - test/tools/launcher/UnicodeCleanup.java - test/tools/launcher/UnicodeTest.sh - test/tools/launcher/deleteI18n.sh - test/tools/launcher/i18nTest.sh - test/tools/launcher/unresolvedExceptions.sh From martijnverburg at gmail.com Sat Mar 24 02:35:57 2012 From: martijnverburg at gmail.com (Martijn Verburg) Date: Sat, 24 Mar 2012 09:35:57 +0000 Subject: sync'ing the hotspot repository with JDK8 [+MacOS support] In-Reply-To: <26094ED5-8C4C-452B-87C1-86FA003976C5@oracle.com> References: <4F61E681.10004@oracle.com> <230BCF94-C58A-44F2-B50A-D51287A051BD@oracle.com> <26094ED5-8C4C-452B-87C1-86FA003976C5@oracle.com> Message-ID: That is awesome, as a part time OpenJDK tinkerer on the Mac this is welcome news! Thanks for all of the hard work people :-) Cheers, Martijn On 24 March 2012 02:16, Mike Duigou wrote: > I have merged the jdk8 mainline into the the lambda root, corba, jaxp, jaxw, and jdk repos. With Keith's merge of Hotspot yesterday this means that it's now possible to build lambda on MacOSX. I've made a mac build and it passes the basic jtreg smoketests. > > Binary builds on the openjdk website will probably happen once Maurizio completes the next langtools sync in the next couple of weeks. > > Enjoy! > > Mike > > On Mar 21 2012, at 00:42 , Henri Gomez wrote: > >> Hello Mike >> >> Did you do a merge for Lambda support ? >> >> 2012/3/21 Mike Duigou : >>> I've done a merge for the jdk and can commit it whenever the other repos are ready. It looks like there a bunch of stuff in langtools that will need Maurizio's attention. >>> >>> Mike >>> >>> >>> On Mar 15 2012, at 05:54 , Keith McGuigan wrote: >>> >>>> >>>> I don't know if it will enable building of full JDKs/JREs on Mac, as >>>> there might be changes in the 'jdk' repo that are needed as well (and I >>>> was only going to sync 'hotspot'). ?We might be able to build Mac JVM >>>> though. >>>> >>>> On 3/15/2012 4:57 AM, Ben Evans wrote: >>>>> Hi Keith, >>>>> >>>>> Will such a synch allow a lambda-capable Mac build? >>>>> >>>>> If so, please go for it, as my understanding is that it's still >>>>> proving problematic to produce such a binary build. >>>>> >>>>> In the AdoptAJSR / AdoptOpenJDK projects we have a bunch of Mac users >>>>> who are champing at the bit to have a play with lambdas. :) >>>>> >>>>> Thanks, >>>>> >>>>> Ben >>>>> >>>>> On Thu, Mar 15, 2012 at 12:25 AM, Keith McGuigan >>>>> ?wrote: >>>>>> Hi, >>>>>> >>>>>> Any objection to be me sync'ing the lambda hotspot repository with the >>>>>> jdk8 hotspot repo (i.e., pulling jdk8 into lambda)? >>>>>> >>>>>> -- >>>>>> - Keith >>>>>> >>>> >>> > > From jonathan.gibbons at oracle.com Sat Mar 24 09:29:56 2012 From: jonathan.gibbons at oracle.com (Jonathan Gibbons) Date: Sat, 24 Mar 2012 09:29:56 -0700 Subject: sync'ing the hotspot repository with JDK8 [+MacOS support] In-Reply-To: <26094ED5-8C4C-452B-87C1-86FA003976C5@oracle.com> References: <4F61E681.10004@oracle.com> <230BCF94-C58A-44F2-B50A-D51287A051BD@oracle.com> <26094ED5-8C4C-452B-87C1-86FA003976C5@oracle.com> Message-ID: <4F6DF684.80004@oracle.com> Very cool; it's great to see projects coming together like this. Congratulations. -- Jon On 03/23/2012 07:16 PM, Mike Duigou wrote: > I have merged the jdk8 mainline into the the lambda root, corba, jaxp, jaxw, and jdk repos. With Keith's merge of Hotspot yesterday this means that it's now possible to build lambda on MacOSX. I've made a mac build and it passes the basic jtreg smoketests. > > Binary builds on the openjdk website will probably happen once Maurizio completes the next langtools sync in the next couple of weeks. > > Enjoy! > > Mike > > On Mar 21 2012, at 00:42 , Henri Gomez wrote: > >> Hello Mike >> >> Did you do a merge for Lambda support ? >> >> 2012/3/21 Mike Duigou: >>> I've done a merge for the jdk and can commit it whenever the other repos are ready. It looks like there a bunch of stuff in langtools that will need Maurizio's attention. >>> >>> Mike >>> >>> >>> On Mar 15 2012, at 05:54 , Keith McGuigan wrote: >>> >>>> I don't know if it will enable building of full JDKs/JREs on Mac, as >>>> there might be changes in the 'jdk' repo that are needed as well (and I >>>> was only going to sync 'hotspot'). We might be able to build Mac JVM >>>> though. >>>> >>>> On 3/15/2012 4:57 AM, Ben Evans wrote: >>>>> Hi Keith, >>>>> >>>>> Will such a synch allow a lambda-capable Mac build? >>>>> >>>>> If so, please go for it, as my understanding is that it's still >>>>> proving problematic to produce such a binary build. >>>>> >>>>> In the AdoptAJSR / AdoptOpenJDK projects we have a bunch of Mac users >>>>> who are champing at the bit to have a play with lambdas. :) >>>>> >>>>> Thanks, >>>>> >>>>> Ben >>>>> >>>>> On Thu, Mar 15, 2012 at 12:25 AM, Keith McGuigan >>>>> wrote: >>>>>> Hi, >>>>>> >>>>>> Any objection to be me sync'ing the lambda hotspot repository with the >>>>>> jdk8 hotspot repo (i.e., pulling jdk8 into lambda)? >>>>>> >>>>>> -- >>>>>> - Keith >>>>>> > From neal at gafter.com Sat Mar 24 18:23:12 2012 From: neal at gafter.com (Neal Gafter) Date: Sat, 24 Mar 2012 18:23:12 -0700 Subject: Method Pointers In-Reply-To: <07ea01cd095c$915488d0$b3fd9a70$@tedneward.com> References: <4F4AB292.7020007@oracle.com> <035201cd08bc$4ad661d0$e0832570$@tedneward.com> <07ea01cd095c$915488d0$b3fd9a70$@tedneward.com> Message-ID: The C# compiler goes to a tiny bit of trouble to make it so that in some cases when you evaluate the very same lambda expression twice (not written twice, but written once and evaluated twice) you get the same object. But you can't rely on it. On Fri, Mar 23, 2012 at 6:22 PM, Ted Neward wrote: > Very true! Hadn?t thought about that. I was thinking the more pedestrian > case where Foo() will be a singular mdtoken, not the lambda case. You?re > closer to the subject than I, Neal, but I thought I heard a C# team member > tell me, though, that they were trying to optimize your case at the > compiler level, so that a1 and a2 would, in fact, be considered identical, > since the lambda used would in fact be ?folded? down into a single method > (since they contain the same contents). Not so?**** > > ** ** > > Ted Neward**** > > Java, .NET, XML Services**** > > Consulting, Teaching, Speaking, Writing**** > > http://www.tedneward.com > From benjamin.john.evans at gmail.com Sun Mar 25 10:20:58 2012 From: benjamin.john.evans at gmail.com (Ben Evans) Date: Sun, 25 Mar 2012 18:20:58 +0100 Subject: Method Pointers In-Reply-To: References: <4F4AB292.7020007@oracle.com> <035201cd08bc$4ad661d0$e0832570$@tedneward.com> <07ea01cd095c$915488d0$b3fd9a70$@tedneward.com> Message-ID: OK, I'll bite. On Sun, Mar 25, 2012 at 2:23 AM, Neal Gafter wrote: > The C# compiler goes to a tiny bit of trouble to make it so that in some > cases when you evaluate the very same lambda expression twice (not written > twice, but written once and evaluated twice) you get the same object. ?But > you can't rely on it. Um, why? What's the rationale for having a feature which only works some of the time, and furthermore seems to only work in cases that overlap a lot with "cases beginners would try out, and then draw entirely wrong conclusions from"? Ben From neal at gafter.com Sun Mar 25 11:11:46 2012 From: neal at gafter.com (Neal Gafter) Date: Sun, 25 Mar 2012 11:11:46 -0700 Subject: Method Pointers In-Reply-To: References: <4F4AB292.7020007@oracle.com> <035201cd08bc$4ad661d0$e0832570$@tedneward.com> <07ea01cd095c$915488d0$b3fd9a70$@tedneward.com> Message-ID: On Sun, Mar 25, 2012 at 10:20 AM, Ben Evans wrote: > OK, I'll bite. > > On Sun, Mar 25, 2012 at 2:23 AM, Neal Gafter wrote: > > The C# compiler goes to a tiny bit of trouble to make it so that in some > > cases when you evaluate the very same lambda expression twice (not > written > > twice, but written once and evaluated twice) you get the same object. > But > > you can't rely on it. > > Um, why? > What is your question? Why does it do that, or why can't you rely on it? > What's the rationale for having a feature which only works some of the > time, and > furthermore seems to only work in cases that overlap a lot with "cases > beginners > would try out, and then draw entirely wrong conclusions from"? The "feature" is to generate more compact or efficient code when it is easy to do so. We do that because it improves the performance of programs written by our customers. Solving the general problem is not possible, which is why we don't always collapse equivalent lambdas. Cheers, Neal From benjamin.john.evans at gmail.com Sun Mar 25 15:25:09 2012 From: benjamin.john.evans at gmail.com (Ben Evans) Date: Sun, 25 Mar 2012 23:25:09 +0100 Subject: Method Pointers In-Reply-To: References: <4F4AB292.7020007@oracle.com> <035201cd08bc$4ad661d0$e0832570$@tedneward.com> <07ea01cd095c$915488d0$b3fd9a70$@tedneward.com> Message-ID: On Sun, Mar 25, 2012 at 7:11 PM, Neal Gafter wrote: > On Sun, Mar 25, 2012 at 10:20 AM, Ben Evans > wrote: >> >> On Sun, Mar 25, 2012 at 2:23 AM, Neal Gafter wrote: >> > The C# compiler goes to a tiny bit of trouble to make it so that in some >> > cases when you evaluate the very same lambda expression twice (not >> > written >> > twice, but written once and evaluated twice) you get the same object. >> > ?But >> > you can't rely on it. >> >> Um, why? > > What is your question? ?Why does it do that, or why can't you rely on it? The question was actually: "Why would you have that as a deliberate feature?", but your later commentary seems to shed some light on this. >> What's the rationale for having a feature which only works some of the >> time, and >> furthermore seems to only work in cases that overlap a lot with "cases >> beginners >> would try out, and then draw entirely wrong conclusions from"? > > The "feature" is to generate more compact or efficient code when it is easy > to do so. ?We do that because it improves the performance of programs > written by our customers. ?Solving the general problem is not possible, > which is why we don't always collapse equivalent lambdas. OK, so this is simply an implementation hack, which happens to improve performance, and has the side effect of probably confusing new users, rather than a deliberate, unreliable design feature? Ben From neal at gafter.com Sun Mar 25 15:30:30 2012 From: neal at gafter.com (Neal Gafter) Date: Sun, 25 Mar 2012 15:30:30 -0700 Subject: Method Pointers In-Reply-To: References: <4F4AB292.7020007@oracle.com> <035201cd08bc$4ad661d0$e0832570$@tedneward.com> <07ea01cd095c$915488d0$b3fd9a70$@tedneward.com> Message-ID: On Sun, Mar 25, 2012 at 3:25 PM, Ben Evans wrote: > OK, so this is simply an implementation hack, which happens to improve > performance, and has the side effect of probably confusing new users, > rather than a deliberate, unreliable design feature? I'm not aware of people actually being confused by it, but I agree it is not a language feature. From brian.goetz at oracle.com Sun Mar 25 15:37:00 2012 From: brian.goetz at oracle.com (Brian Goetz) Date: Sun, 25 Mar 2012 18:37:00 -0400 Subject: Method Pointers In-Reply-To: References: <4F4AB292.7020007@oracle.com> <035201cd08bc$4ad661d0$e0832570$@tedneward.com> <07ea01cd095c$915488d0$b3fd9a70$@tedneward.com> Message-ID: <4F6F9E0C.7020009@oracle.com> > OK, so this is simply an implementation hack, which happens to improve > performance, and has the side effect of probably confusing new users, > rather than a deliberate, unreliable design feature? Which is almost identical to something we do in javac -- fold together identical string literals within a class into the same constant pool entry, resulting in strings appearing to be == accidentally. We don't do it to confuse the users, but it may have that effect anyway. From benjamin.john.evans at gmail.com Sun Mar 25 15:47:34 2012 From: benjamin.john.evans at gmail.com (Ben Evans) Date: Sun, 25 Mar 2012 23:47:34 +0100 Subject: Method Pointers In-Reply-To: <4F6F9E0C.7020009@oracle.com> References: <4F4AB292.7020007@oracle.com> <035201cd08bc$4ad661d0$e0832570$@tedneward.com> <07ea01cd095c$915488d0$b3fd9a70$@tedneward.com> <4F6F9E0C.7020009@oracle.com> Message-ID: On Sun, Mar 25, 2012 at 11:37 PM, Brian Goetz wrote: >> OK, so this is simply an implementation hack, which happens to improve >> performance, and has the side effect of probably confusing new users, >> rather than a deliberate, unreliable design feature? > > Which is almost identical to something we do in javac -- fold together > identical string literals within a class into the same constant pool entry, > resulting in strings appearing to be == accidentally. ?We don't do it to > confuse the users, but it may have that effect anyway. I think I just got slightly confused by the original discussion. This does actually all make sense and I think we're all on the same page here. I'm probably slightly over-sensitive to users reasoning about the general from the specific, and this thread just set my spider-sense off. Ben From per at bothner.com Sun Mar 25 15:58:23 2012 From: per at bothner.com (Per Bothner) Date: Sun, 25 Mar 2012 15:58:23 -0700 Subject: Method Pointers In-Reply-To: <4F6F9E0C.7020009@oracle.com> References: <4F4AB292.7020007@oracle.com> <035201cd08bc$4ad661d0$e0832570$@tedneward.com> <07ea01cd095c$915488d0$b3fd9a70$@tedneward.com> <4F6F9E0C.7020009@oracle.com> Message-ID: <4F6FA30F.3000402@bothner.com> On 03/25/2012 03:37 PM, Brian Goetz wrote: >> OK, so this is simply an implementation hack, which happens to improve >> performance, and has the side effect of probably confusing new users, >> rather than a deliberate, unreliable design feature? > > Which is almost identical to something we do in javac -- fold together > identical string literals within a class into the same constant pool > entry, resulting in strings appearing to be == accidentally. We don't > do it to confuse the users, but it may have that effect anyway. "Same class" is misleading, since we fold together identical string literals *regardless* of class due to load-time interning. (jdk 1.0 didn't, but I think interning of string literals started with 1.1.) (Which of doesn't change your real point, since only string literals and explicitly interned strings have == work, but people might be confused by what you wrote.) -- --Per Bothner per at bothner.com http://per.bothner.com/ From peter.levart at marand.si Sun Mar 25 23:39:52 2012 From: peter.levart at marand.si (Peter Levart) Date: Mon, 26 Mar 2012 08:39:52 +0200 Subject: Method Pointers In-Reply-To: <4F6F9E0C.7020009@oracle.com> References: <4F6F9E0C.7020009@oracle.com> Message-ID: <47599584.oilgZUtX4K@peterl.marand.si> On Sunday, March 25, 2012 06:37:00 PM Brian Goetz wrote: > > OK, so this is simply an implementation hack, which happens to improve > > performance, and has the side effect of probably confusing new users, > > rather than a deliberate, unreliable design feature? > > Which is almost identical to something we do in javac -- fold together > identical string literals within a class into the same constant pool > entry, resulting in strings appearing to be == accidentally. I allways thought this was a feature not an accidential consequence. It's written down in the String's javadoc as: "All literal strings and string-valued constant expressions are interned. String literals are defined in ?3.10.5 of the Java Language Specification" So perhaps we are talking about two different things here: 1) identical strings in the same class are folded into the same constant pool entry (as optimization of class file size) 2) string literals are interned (as a language/library feature) The fact that identical literal strings apear to be == is therefore a language feature, not an optimization side-consequence. Peter > We don't > do it to confuse the users, but it may have that effect anyway. From henri.gomez at gmail.com Mon Mar 26 00:23:09 2012 From: henri.gomez at gmail.com (Henri Gomez) Date: Mon, 26 Mar 2012 09:23:09 +0200 Subject: sync'ing the hotspot repository with JDK8 [+MacOS support] In-Reply-To: <4F6DF684.80004@oracle.com> References: <4F61E681.10004@oracle.com> <230BCF94-C58A-44F2-B50A-D51287A051BD@oracle.com> <26094ED5-8C4C-452B-87C1-86FA003976C5@oracle.com> <4F6DF684.80004@oracle.com> Message-ID: Very good news. I feel, I could try to produce OSX JDK8 with Lambda packages. 2012/3/24 Jonathan Gibbons : > Very cool; it's great to see projects coming together like this. > > Congratulations. > > -- Jon > > On 03/23/2012 07:16 PM, Mike Duigou wrote: >> I have merged the jdk8 mainline into the the lambda root, corba, jaxp, jaxw, and jdk repos. With Keith's merge of Hotspot yesterday this means that it's now possible to build lambda on MacOSX. I've made a mac build and it passes the basic jtreg smoketests. >> >> Binary builds on the openjdk website will probably happen once Maurizio completes the next langtools sync in the next couple of weeks. >> >> Enjoy! >> >> Mike >> >> On Mar 21 2012, at 00:42 , Henri Gomez wrote: >> >>> Hello Mike >>> >>> Did you do a merge for Lambda support ? >>> >>> 2012/3/21 Mike Duigou: >>>> I've done a merge for the jdk and can commit it whenever the other repos are ready. It looks like there a bunch of stuff in langtools that will need Maurizio's attention. >>>> >>>> Mike >>>> >>>> >>>> On Mar 15 2012, at 05:54 , Keith McGuigan wrote: >>>> >>>>> I don't know if it will enable building of full JDKs/JREs on Mac, as >>>>> there might be changes in the 'jdk' repo that are needed as well (and I >>>>> was only going to sync 'hotspot'). ?We might be able to build Mac JVM >>>>> though. >>>>> >>>>> On 3/15/2012 4:57 AM, Ben Evans wrote: >>>>>> Hi Keith, >>>>>> >>>>>> Will such a synch allow a lambda-capable Mac build? >>>>>> >>>>>> If so, please go for it, as my understanding is that it's still >>>>>> proving problematic to produce such a binary build. >>>>>> >>>>>> In the AdoptAJSR / AdoptOpenJDK projects we have a bunch of Mac users >>>>>> who are champing at the bit to have a play with lambdas. :) >>>>>> >>>>>> Thanks, >>>>>> >>>>>> Ben >>>>>> >>>>>> On Thu, Mar 15, 2012 at 12:25 AM, Keith McGuigan >>>>>> ? wrote: >>>>>>> Hi, >>>>>>> >>>>>>> Any objection to be me sync'ing the lambda hotspot repository with the >>>>>>> jdk8 hotspot repo (i.e., pulling jdk8 into lambda)? >>>>>>> >>>>>>> -- >>>>>>> - Keith >>>>>>> >> > > From benjamin.john.evans at gmail.com Mon Mar 26 01:16:50 2012 From: benjamin.john.evans at gmail.com (Ben Evans) Date: Mon, 26 Mar 2012 09:16:50 +0100 Subject: sync'ing the hotspot repository with JDK8 [+MacOS support] In-Reply-To: References: <4F61E681.10004@oracle.com> <230BCF94-C58A-44F2-B50A-D51287A051BD@oracle.com> <26094ED5-8C4C-452B-87C1-86FA003976C5@oracle.com> <4F6DF684.80004@oracle.com> Message-ID: Hi Henri, That sounds like an excellent idea - and let me say again how much we appreciate your work on Mac builds. We're planning to run a HackDay about lambdas in London, and once we have a working Mac build with lambdas, we should be in a position to schedule it. Thanks, Ben On Mon, Mar 26, 2012 at 8:23 AM, Henri Gomez wrote: > Very good news. > > I feel, I could try to produce OSX JDK8 with Lambda packages. > > 2012/3/24 Jonathan Gibbons : >> Very cool; it's great to see projects coming together like this. >> >> Congratulations. >> >> -- Jon >> >> On 03/23/2012 07:16 PM, Mike Duigou wrote: >>> I have merged the jdk8 mainline into the the lambda root, corba, jaxp, jaxw, and jdk repos. With Keith's merge of Hotspot yesterday this means that it's now possible to build lambda on MacOSX. I've made a mac build and it passes the basic jtreg smoketests. >>> >>> Binary builds on the openjdk website will probably happen once Maurizio completes the next langtools sync in the next couple of weeks. >>> >>> Enjoy! >>> >>> Mike >>> >>> On Mar 21 2012, at 00:42 , Henri Gomez wrote: >>> >>>> Hello Mike >>>> >>>> Did you do a merge for Lambda support ? >>>> >>>> 2012/3/21 Mike Duigou: >>>>> I've done a merge for the jdk and can commit it whenever the other repos are ready. It looks like there a bunch of stuff in langtools that will need Maurizio's attention. >>>>> >>>>> Mike >>>>> >>>>> >>>>> On Mar 15 2012, at 05:54 , Keith McGuigan wrote: >>>>> >>>>>> I don't know if it will enable building of full JDKs/JREs on Mac, as >>>>>> there might be changes in the 'jdk' repo that are needed as well (and I >>>>>> was only going to sync 'hotspot'). ?We might be able to build Mac JVM >>>>>> though. >>>>>> >>>>>> On 3/15/2012 4:57 AM, Ben Evans wrote: >>>>>>> Hi Keith, >>>>>>> >>>>>>> Will such a synch allow a lambda-capable Mac build? >>>>>>> >>>>>>> If so, please go for it, as my understanding is that it's still >>>>>>> proving problematic to produce such a binary build. >>>>>>> >>>>>>> In the AdoptAJSR / AdoptOpenJDK projects we have a bunch of Mac users >>>>>>> who are champing at the bit to have a play with lambdas. :) >>>>>>> >>>>>>> Thanks, >>>>>>> >>>>>>> Ben >>>>>>> >>>>>>> On Thu, Mar 15, 2012 at 12:25 AM, Keith McGuigan >>>>>>> ? wrote: >>>>>>>> Hi, >>>>>>>> >>>>>>>> Any objection to be me sync'ing the lambda hotspot repository with the >>>>>>>> jdk8 hotspot repo (i.e., pulling jdk8 into lambda)? >>>>>>>> >>>>>>>> -- >>>>>>>> - Keith >>>>>>>> >>> >> >> > From henri.gomez at gmail.com Mon Mar 26 01:34:04 2012 From: henri.gomez at gmail.com (Henri Gomez) Date: Mon, 26 Mar 2012 10:34:04 +0200 Subject: sync'ing the hotspot repository with JDK8 [+MacOS support] In-Reply-To: References: <4F61E681.10004@oracle.com> <230BCF94-C58A-44F2-B50A-D51287A051BD@oracle.com> <26094ED5-8C4C-452B-87C1-86FA003976C5@oracle.com> <4F6DF684.80004@oracle.com> Message-ID: Lambda build in progress. You should see it on GoogleCode site before end of day :) 2012/3/26 Ben Evans : > Hi Henri, > > That sounds like an excellent idea - and let me say again how much we > appreciate your work on Mac builds. > > We're planning to run a HackDay about lambdas in London, and once we > have a working Mac build with lambdas, we should be in a position to > schedule it. > > Thanks, > > Ben > > On Mon, Mar 26, 2012 at 8:23 AM, Henri Gomez wrote: >> Very good news. >> >> I feel, I could try to produce OSX JDK8 with Lambda packages. >> >> 2012/3/24 Jonathan Gibbons : >>> Very cool; it's great to see projects coming together like this. >>> >>> Congratulations. >>> >>> -- Jon >>> >>> On 03/23/2012 07:16 PM, Mike Duigou wrote: >>>> I have merged the jdk8 mainline into the the lambda root, corba, jaxp, jaxw, and jdk repos. With Keith's merge of Hotspot yesterday this means that it's now possible to build lambda on MacOSX. I've made a mac build and it passes the basic jtreg smoketests. >>>> >>>> Binary builds on the openjdk website will probably happen once Maurizio completes the next langtools sync in the next couple of weeks. >>>> >>>> Enjoy! >>>> >>>> Mike >>>> >>>> On Mar 21 2012, at 00:42 , Henri Gomez wrote: >>>> >>>>> Hello Mike >>>>> >>>>> Did you do a merge for Lambda support ? >>>>> >>>>> 2012/3/21 Mike Duigou: >>>>>> I've done a merge for the jdk and can commit it whenever the other repos are ready. It looks like there a bunch of stuff in langtools that will need Maurizio's attention. >>>>>> >>>>>> Mike >>>>>> >>>>>> >>>>>> On Mar 15 2012, at 05:54 , Keith McGuigan wrote: >>>>>> >>>>>>> I don't know if it will enable building of full JDKs/JREs on Mac, as >>>>>>> there might be changes in the 'jdk' repo that are needed as well (and I >>>>>>> was only going to sync 'hotspot'). ?We might be able to build Mac JVM >>>>>>> though. >>>>>>> >>>>>>> On 3/15/2012 4:57 AM, Ben Evans wrote: >>>>>>>> Hi Keith, >>>>>>>> >>>>>>>> Will such a synch allow a lambda-capable Mac build? >>>>>>>> >>>>>>>> If so, please go for it, as my understanding is that it's still >>>>>>>> proving problematic to produce such a binary build. >>>>>>>> >>>>>>>> In the AdoptAJSR / AdoptOpenJDK projects we have a bunch of Mac users >>>>>>>> who are champing at the bit to have a play with lambdas. :) >>>>>>>> >>>>>>>> Thanks, >>>>>>>> >>>>>>>> Ben >>>>>>>> >>>>>>>> On Thu, Mar 15, 2012 at 12:25 AM, Keith McGuigan >>>>>>>> ? wrote: >>>>>>>>> Hi, >>>>>>>>> >>>>>>>>> Any objection to be me sync'ing the lambda hotspot repository with the >>>>>>>>> jdk8 hotspot repo (i.e., pulling jdk8 into lambda)? >>>>>>>>> >>>>>>>>> -- >>>>>>>>> - Keith >>>>>>>>> >>>> >>> >>> >> From brian.goetz at oracle.com Mon Mar 26 06:20:28 2012 From: brian.goetz at oracle.com (Brian Goetz) Date: Mon, 26 Mar 2012 09:20:28 -0400 Subject: Method Pointers In-Reply-To: <47599584.oilgZUtX4K@peterl.marand.si> References: <4F6F9E0C.7020009@oracle.com> <47599584.oilgZUtX4K@peterl.marand.si> Message-ID: <4F706D1C.9030101@oracle.com> We're getting pretty far afield here from lambda, but it is most certainly not a language feature. The intent was never to be able to compare strings with ==. (How could users know that the other string came from a literal?) Perhaps your confusion is one of terminology? The fact that some part of the *platform* specifies a behavior does not mean that it is a language feature. On 3/26/2012 2:39 AM, Peter Levart wrote: > On Sunday, March 25, 2012 06:37:00 PM Brian Goetz wrote: > > > > OK, so this is simply an implementation hack, which happens to improve > > > > performance, and has the side effect of probably confusing new users, > > > > rather than a deliberate, unreliable design feature? > > > > > > Which is almost identical to something we do in javac -- fold together > > > identical string literals within a class into the same constant pool > > > entry, resulting in strings appearing to be == accidentally. > > I allways thought this was a feature not an accidential consequence. > It's written down in the String's javadoc as: > > "All literal strings and string-valued constant expressions are > interned. String literals are defined in ?3.10.5 of the Java Language > Specification " > > So perhaps we are talking about two different things here: > > 1) identical strings in the same class are folded into the same constant > pool entry (as optimization of class file size) > > 2) string literals are interned (as a language/library feature) > > The fact that identical literal strings apear to be == is therefore a > language feature, not an optimization side-consequence. > > Peter > > > We don't > > > do it to confuse the users, but it may have that effect anyway. > From greggwon at gmail.com Mon Mar 26 07:04:45 2012 From: greggwon at gmail.com (Gregg Wonderly) Date: Mon, 26 Mar 2012 09:04:45 -0500 Subject: Method Pointers In-Reply-To: <4F706D1C.9030101@oracle.com> References: <4F6F9E0C.7020009@oracle.com> <47599584.oilgZUtX4K@peterl.marand.si> <4F706D1C.9030101@oracle.com> Message-ID: <4F70777D.3020302@gmail.com> On 3/26/2012 8:20 AM, Brian Goetz wrote: > We're getting pretty far afield here from lambda, but it is most > certainly not a language feature. The intent was never to be able to > compare strings with ==. (How could users know that the other string > came from a literal?) > > Perhaps your confusion is one of terminology? The fact that some part > of the *platform* specifies a behavior does not mean that it is a > language feature. It's important to understand that perhaps 60% or more of the "programmer" population have no "software engineering" training and have no idea what "platform", "language specification", or other terminology means. If it happens consistently, and/or there is written information somewhere that says it will happen repeatedly, then it is a "feature". This is the world we live in now that the Web Craze has brought far too many "programmers" into the fray without training, because they were "cheaper", and they were "motivated to learn" (they could earn money). And, their managers and employers have just as little knowledge of what software engineering is really about. Gregg Wonderly > On 3/26/2012 2:39 AM, Peter Levart wrote: >> On Sunday, March 25, 2012 06:37:00 PM Brian Goetz wrote: >> >> > > OK, so this is simply an implementation hack, which happens to improve >> >> > > performance, and has the side effect of probably confusing new users, >> >> > > rather than a deliberate, unreliable design feature? >> >> > >> >> > Which is almost identical to something we do in javac -- fold together >> >> > identical string literals within a class into the same constant pool >> >> > entry, resulting in strings appearing to be == accidentally. >> >> I allways thought this was a feature not an accidential consequence. >> It's written down in the String's javadoc as: >> >> "All literal strings and string-valued constant expressions are >> interned. String literals are defined in ?3.10.5 of the Java Language >> Specification" >> >> So perhaps we are talking about two different things here: >> >> 1) identical strings in the same class are folded into the same constant >> pool entry (as optimization of class file size) >> >> 2) string literals are interned (as a language/library feature) >> >> The fact that identical literal strings apear to be == is therefore a >> language feature, not an optimization side-consequence. >> >> Peter >> >> > We don't >> >> > do it to confuse the users, but it may have that effect anyway. >> > From henri.gomez at gmail.com Mon Mar 26 09:32:21 2012 From: henri.gomez at gmail.com (Henri Gomez) Date: Mon, 26 Mar 2012 18:32:21 +0200 Subject: sync'ing the hotspot repository with JDK8 [+MacOS support] In-Reply-To: References: <4F61E681.10004@oracle.com> <230BCF94-C58A-44F2-B50A-D51287A051BD@oracle.com> <26094ED5-8C4C-452B-87C1-86FA003976C5@oracle.com> <4F6DF684.80004@oracle.com> Message-ID: I forgot to mention here OSX package of JDK8 with Lambda : http://openjdk-osx-build.googlecode.com/files/OpenJDK-OSX-8-x64-lambda-jdk-b30-20120326.dmg Cheers 2012/3/26 Henri Gomez : > Lambda build in progress. > > You should see it on GoogleCode site before end of day :) > > 2012/3/26 Ben Evans : >> Hi Henri, >> >> That sounds like an excellent idea - and let me say again how much we >> appreciate your work on Mac builds. >> >> We're planning to run a HackDay about lambdas in London, and once we >> have a working Mac build with lambdas, we should be in a position to >> schedule it. >> >> Thanks, >> >> Ben >> >> On Mon, Mar 26, 2012 at 8:23 AM, Henri Gomez wrote: >>> Very good news. >>> >>> I feel, I could try to produce OSX JDK8 with Lambda packages. >>> >>> 2012/3/24 Jonathan Gibbons : >>>> Very cool; it's great to see projects coming together like this. >>>> >>>> Congratulations. >>>> >>>> -- Jon >>>> >>>> On 03/23/2012 07:16 PM, Mike Duigou wrote: >>>>> I have merged the jdk8 mainline into the the lambda root, corba, jaxp, jaxw, and jdk repos. With Keith's merge of Hotspot yesterday this means that it's now possible to build lambda on MacOSX. I've made a mac build and it passes the basic jtreg smoketests. >>>>> >>>>> Binary builds on the openjdk website will probably happen once Maurizio completes the next langtools sync in the next couple of weeks. >>>>> >>>>> Enjoy! >>>>> >>>>> Mike >>>>> >>>>> On Mar 21 2012, at 00:42 , Henri Gomez wrote: >>>>> >>>>>> Hello Mike >>>>>> >>>>>> Did you do a merge for Lambda support ? >>>>>> >>>>>> 2012/3/21 Mike Duigou: >>>>>>> I've done a merge for the jdk and can commit it whenever the other repos are ready. It looks like there a bunch of stuff in langtools that will need Maurizio's attention. >>>>>>> >>>>>>> Mike >>>>>>> >>>>>>> >>>>>>> On Mar 15 2012, at 05:54 , Keith McGuigan wrote: >>>>>>> >>>>>>>> I don't know if it will enable building of full JDKs/JREs on Mac, as >>>>>>>> there might be changes in the 'jdk' repo that are needed as well (and I >>>>>>>> was only going to sync 'hotspot'). ?We might be able to build Mac JVM >>>>>>>> though. >>>>>>>> >>>>>>>> On 3/15/2012 4:57 AM, Ben Evans wrote: >>>>>>>>> Hi Keith, >>>>>>>>> >>>>>>>>> Will such a synch allow a lambda-capable Mac build? >>>>>>>>> >>>>>>>>> If so, please go for it, as my understanding is that it's still >>>>>>>>> proving problematic to produce such a binary build. >>>>>>>>> >>>>>>>>> In the AdoptAJSR / AdoptOpenJDK projects we have a bunch of Mac users >>>>>>>>> who are champing at the bit to have a play with lambdas. :) >>>>>>>>> >>>>>>>>> Thanks, >>>>>>>>> >>>>>>>>> Ben >>>>>>>>> >>>>>>>>> On Thu, Mar 15, 2012 at 12:25 AM, Keith McGuigan >>>>>>>>> ? wrote: >>>>>>>>>> Hi, >>>>>>>>>> >>>>>>>>>> Any objection to be me sync'ing the lambda hotspot repository with the >>>>>>>>>> jdk8 hotspot repo (i.e., pulling jdk8 into lambda)? >>>>>>>>>> >>>>>>>>>> -- >>>>>>>>>> - Keith >>>>>>>>>> >>>>> >>>> >>>> >>> From neal at gafter.com Mon Mar 26 09:33:48 2012 From: neal at gafter.com (Neal Gafter) Date: Mon, 26 Mar 2012 09:33:48 -0700 Subject: Method Pointers In-Reply-To: <4F706D1C.9030101@oracle.com> References: <4F6F9E0C.7020009@oracle.com> <47599584.oilgZUtX4K@peterl.marand.si> <4F706D1C.9030101@oracle.com> Message-ID: On Mon, Mar 26, 2012 at 6:20 AM, Brian Goetz wrote: > We're getting pretty far afield here from lambda, but it is most > certainly not a language feature. The intent was never to be able to > compare strings with ==. (How could users know that the other string > came from a literal?) > > Perhaps your confusion is one of terminology? The fact that some part > of the *platform* specifies a behavior does not mean that it is a > language feature. Section "3.10.5. String Literals" of the Java Language Specification (SE7 edition) (quoted below) describes this behavior in enough detail that I think it is fair to say it is a language feature. Cheers, Neal ============================== A string literal is a reference to an instance of class String (?4.3.1 , ?4.3.3 ). Moreover, a string literal always refers to the *same* instance of class String. This is because string literals - or, more generally, strings that are the values of constant expressions (?15.28) - are "interned" so as to share unique instances, using the method String.intern. *Example 3.10.5-1. String Literals* The program consisting of the compilation unit (?7.3 ): package testPackage; class Test { public static void main(String[] args) { String hello = "Hello", lo = "lo"; System.out.print((hello == "Hello") + " "); System.out.print((Other.hello == hello) + " "); System.out.print((other.Other.hello == hello) + " "); System.out.print((hello == ("Hel"+"lo")) + " "); System.out.print((hello == ("Hel"+lo)) + " "); System.out.println(hello == ("Hel"+lo).intern()); } } class Other { static String hello = "Hello"; } and the compilation unit: package other; public class Other { public static String hello = "Hello"; } produces the output: true true true true false true This example illustrates six points: - Literal strings within the same class (?8) in the same package (?7) represent references to the same String object (?4.3.1 ). - Literal strings within different classes in the same package represent references to the same String object. - Literal strings within different classes in different packages likewise represent references to the same String object. - Strings computed by constant expressions (?15.28) are computed at compile time and then treated as if they were literals. - Strings computed by concatenation at run-time are newly created and therefore distinct. - The result of explicitly interning a computed string is the same string as any pre-existing literal string with the same contents. From maurizio.cimadamore at oracle.com Tue Mar 27 07:54:05 2012 From: maurizio.cimadamore at oracle.com (maurizio.cimadamore at oracle.com) Date: Tue, 27 Mar 2012 14:54:05 +0000 Subject: hg: lambda/lambda/langtools: Fix: structural most specific test does not work in all cases Message-ID: <20120327145410.5D1DB47B84@hg.openjdk.java.net> Changeset: f822145ddd15 Author: mcimadamore Date: 2012-03-27 15:52 +0100 URL: http://hg.openjdk.java.net/lambda/lambda/langtools/rev/f822145ddd15 Fix: structural most specific test does not work in all cases *) Fixed a bug in structural most specific where certain ambiguous call-sites were not resolved as such because of the presence of structural poly expressions in the argument list *) Added support for varargs most specific structural resolution ! src/share/classes/com/sun/tools/javac/comp/Resolve.java + test/tools/javac/lambda/MostSpecific01.java + test/tools/javac/lambda/MostSpecific01.out + test/tools/javac/lambda/MostSpecific02.java + test/tools/javac/lambda/MostSpecific02.out + test/tools/javac/lambda/MostSpecific03.java + test/tools/javac/lambda/MostSpecific03.out ! test/tools/javac/lambda/mostSpecific/StructuralMostSpecificTest.java From brian.goetz at oracle.com Tue Mar 27 13:58:59 2012 From: brian.goetz at oracle.com (brian.goetz at oracle.com) Date: Tue, 27 Mar 2012 20:58:59 +0000 Subject: hg: lambda/defender-prototype: 2 new changesets Message-ID: <20120327205900.3EF8A47B96@hg.openjdk.java.net> Changeset: c73672f40b3b Author: briangoetz Date: 2012-03-27 16:58 -0400 URL: http://hg.openjdk.java.net/lambda/defender-prototype/rev/c73672f40b3b Update FD to reflect: conflicts between abstract and default methods from superinterfaces are treated as errors ('strong' interaction); eliminate 'default none'; treat redeclaration of interface methods as reabstraction; refine super-call linkage. ! doc/featherweight-defenders.pdf ! doc/featherweight-defenders.tex Changeset: 8a5e87679c30 Author: briangoetz Date: 2012-03-27 16:58 -0400 URL: http://hg.openjdk.java.net/lambda/defender-prototype/rev/8a5e87679c30 Merge From brian.goetz at oracle.com Tue Mar 27 15:27:10 2012 From: brian.goetz at oracle.com (Brian Goetz) Date: Tue, 27 Mar 2012 18:27:10 -0400 Subject: Updated Featherweight Defenders model Message-ID: <4F723EBE.3070802@oracle.com> I've posted an updated version of the Featherweight Defenders model, which addresses three issues, the latter two of which should be welcome changes to some members of this forum: - Revised handling of super-call restrictions to merge with treatment of inheritance. The current restrictions include the restriction to an immediate super-type, and also are restricted to linkage targets that would be inheritance candidates of the current class (no "level skipping.") - Elimination of "default none"; reversion to two-state treatment of interface methods (abstract and default); - Treat explicit redeclaration of a method in an interface as reabstraction. The actual changes are surprisingly small; there are changes in the R-XxxSuper rules, T-IntExpl, R-IntDef, R-IntInh, and R-ClassInh. See: http://cr.openjdk.java.net/~briangoetz/lambda/featherweight-defenders.pdf The implementation in openjdk (both compiler and VM) is slightly behind this document draft, but should be updated soon. From bitterfoxc at gmail.com Fri Mar 30 02:14:35 2012 From: bitterfoxc at gmail.com (bitter_fox) Date: Fri, 30 Mar 2012 18:14:35 +0900 Subject: AssertionError is thrown with a conditional expression in a lambda expression. Message-ID: Hi, The compiler throws AssertionError when we use a condtional expression in a lambda expression for the method returns void: public class Main { interface VoidSAM { void invoke(); } public static void m() {} public static void Main(String[] args) { boolean cond = true; //cond ? m() : m(); // compile-time error VoidSAM sam = () -> cond ? m() : m(); // AssertionError at compile-time } } This is the stack trace: java.lang.AssertionError at com.sun.tools.javac.jvm.Items$Item.load(Items.java:206) at com.sun.tools.javac.jvm.Gen.visitConditional(Gen.java:1706) at com.sun.tools.javac.tree.JCTree$JCConditional.accept(JCTree.java:1119 ) at com.sun.tools.javac.jvm.Gen.genExpr(Gen.java:835) at com.sun.tools.javac.jvm.Gen.visitExec(Gen.java:1640) at com.sun.tools.javac.tree.JCTree$JCExpressionStatement.accept(JCTree.j ava:1178) at com.sun.tools.javac.jvm.Gen.genDef(Gen.java:682) at com.sun.tools.javac.jvm.Gen.genStat(Gen.java:717) at com.sun.tools.javac.jvm.Gen.genStat(Gen.java:703) at com.sun.tools.javac.jvm.Gen.genStats(Gen.java:754) at com.sun.tools.javac.jvm.Gen.visitBlock(Gen.java:1032) at com.sun.tools.javac.tree.JCTree$JCBlock.accept(JCTree.java:792) at com.sun.tools.javac.jvm.Gen.genDef(Gen.java:682) at com.sun.tools.javac.jvm.Gen.genStat(Gen.java:717) at com.sun.tools.javac.jvm.Gen.genMethod(Gen.java:910) at com.sun.tools.javac.jvm.Gen.visitMethodDef(Gen.java:883) at com.sun.tools.javac.tree.JCTree$JCMethodDecl.accept(JCTree.java:676) at com.sun.tools.javac.jvm.Gen.genDef(Gen.java:682) at com.sun.tools.javac.jvm.Gen.genClass(Gen.java:2248) at com.sun.tools.javac.main.JavaCompiler.genCode(JavaCompiler.java:727) at com.sun.tools.javac.main.JavaCompiler.generate(JavaCompiler.java:1466 ) at com.sun.tools.javac.main.JavaCompiler.generate(JavaCompiler.java:1434 ) at com.sun.tools.javac.main.JavaCompiler.compile2(JavaCompiler.java:885) at com.sun.tools.javac.main.JavaCompiler.compile(JavaCompiler.java:844) at com.sun.tools.javac.main.Main.compile(Main.java:430) at com.sun.tools.javac.main.Main.compile(Main.java:344) at com.sun.tools.javac.main.Main.compile(Main.java:335) at com.sun.tools.javac.Main.compile(Main.java:76) at com.sun.tools.javac.Main.main(Main.java:61) Regards, bitter_fox From maurizio.cimadamore at oracle.com Fri Mar 30 03:23:37 2012 From: maurizio.cimadamore at oracle.com (Maurizio Cimadamore) Date: Fri, 30 Mar 2012 11:23:37 +0100 Subject: AssertionError is thrown with a conditional expression in a lambda expression. In-Reply-To: References: Message-ID: <4F7589A9.60500@oracle.com> Thanks for the report - we are looking into this. Maurizio On 30/03/12 10:14, bitter_fox wrote: > Hi, > The compiler throws AssertionError when we use a condtional expression in a > lambda expression for the method returns void: > > public class Main > { > interface VoidSAM > { > void invoke(); > } > > public static void m() {} > > public static void Main(String[] args) > { > boolean cond = true; > > //cond ? m() : m(); // compile-time error > > VoidSAM sam = () -> cond ? m() : m(); // AssertionError at > compile-time > } > } > > This is the stack trace: > > java.lang.AssertionError > at com.sun.tools.javac.jvm.Items$Item.load(Items.java:206) > at com.sun.tools.javac.jvm.Gen.visitConditional(Gen.java:1706) > at > com.sun.tools.javac.tree.JCTree$JCConditional.accept(JCTree.java:1119 > ) > at com.sun.tools.javac.jvm.Gen.genExpr(Gen.java:835) > at com.sun.tools.javac.jvm.Gen.visitExec(Gen.java:1640) > at > com.sun.tools.javac.tree.JCTree$JCExpressionStatement.accept(JCTree.j > ava:1178) > at com.sun.tools.javac.jvm.Gen.genDef(Gen.java:682) > at com.sun.tools.javac.jvm.Gen.genStat(Gen.java:717) > at com.sun.tools.javac.jvm.Gen.genStat(Gen.java:703) > at com.sun.tools.javac.jvm.Gen.genStats(Gen.java:754) > at com.sun.tools.javac.jvm.Gen.visitBlock(Gen.java:1032) > at com.sun.tools.javac.tree.JCTree$JCBlock.accept(JCTree.java:792) > at com.sun.tools.javac.jvm.Gen.genDef(Gen.java:682) > at com.sun.tools.javac.jvm.Gen.genStat(Gen.java:717) > at com.sun.tools.javac.jvm.Gen.genMethod(Gen.java:910) > at com.sun.tools.javac.jvm.Gen.visitMethodDef(Gen.java:883) > at > com.sun.tools.javac.tree.JCTree$JCMethodDecl.accept(JCTree.java:676) > at com.sun.tools.javac.jvm.Gen.genDef(Gen.java:682) > at com.sun.tools.javac.jvm.Gen.genClass(Gen.java:2248) > at > com.sun.tools.javac.main.JavaCompiler.genCode(JavaCompiler.java:727) > at > com.sun.tools.javac.main.JavaCompiler.generate(JavaCompiler.java:1466 > ) > at > com.sun.tools.javac.main.JavaCompiler.generate(JavaCompiler.java:1434 > ) > at > com.sun.tools.javac.main.JavaCompiler.compile2(JavaCompiler.java:885) > > at > com.sun.tools.javac.main.JavaCompiler.compile(JavaCompiler.java:844) > at com.sun.tools.javac.main.Main.compile(Main.java:430) > at com.sun.tools.javac.main.Main.compile(Main.java:344) > at com.sun.tools.javac.main.Main.compile(Main.java:335) > at com.sun.tools.javac.Main.compile(Main.java:76) > at com.sun.tools.javac.Main.main(Main.java:61) > > Regards, > bitter_fox > From james.holmlund at oracle.com Fri Mar 30 11:37:59 2012 From: james.holmlund at oracle.com (james.holmlund at oracle.com) Date: Fri, 30 Mar 2012 18:37:59 +0000 Subject: hg: lambda/lambda/jdk: Front-to-back lambda translation implementation. Class generation based implementation. Boxing, unboxing, casting, and widening support for arguments and return. Direct implementation MethodHandleInfo. Move JDK TestNG tests out of java.util. Message-ID: <20120330183838.CD97747C42@hg.openjdk.java.net> Changeset: 1b4c4becd140 Author: jjh Date: 2012-03-30 11:35 -0700 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/1b4c4becd140 Front-to-back lambda translation implementation. Class generation based implementation. Boxing, unboxing, casting, and widening support for arguments and return. Direct implementation MethodHandleInfo. Move JDK TestNG tests out of java.util. Contributed-by: rfield + src/share/classes/java/lang/invoke/InnerClassGenerator.java + src/share/classes/java/lang/invoke/LambdaConversionException.java + src/share/classes/java/lang/invoke/LambdaMetafactory.java + src/share/classes/java/lang/invoke/MethodHandleInfo.java ! test-ng/build.xml - test-ng/tests/java/util/ComparatorsTest.java - test-ng/tests/java/util/IterableTest.java - test-ng/tests/java/util/IterablesTest.java - test-ng/tests/java/util/IteratorsNullTest.java - test-ng/tests/java/util/IteratorsTest.java - test-ng/tests/java/util/LambdaTestHelpers.java - test-ng/tests/java/util/NullArgsTestCase.java - test-ng/tests/java/util/ParallelIterableTest.java - test-ng/tests/java/util/functions/BlocksTest.java - test-ng/tests/java/util/functions/MappersTest.java - test-ng/tests/java/util/functions/PredicatesTest.java + test-ng/tests/org/openjdk/tests/java/util/ComparatorsTest.java + test-ng/tests/org/openjdk/tests/java/util/IterableTest.java + test-ng/tests/org/openjdk/tests/java/util/IterablesTest.java + test-ng/tests/org/openjdk/tests/java/util/IteratorsNullTest.java + test-ng/tests/org/openjdk/tests/java/util/IteratorsTest.java + test-ng/tests/org/openjdk/tests/java/util/LambdaTestHelpers.java + test-ng/tests/org/openjdk/tests/java/util/NullArgsTestCase.java + test-ng/tests/org/openjdk/tests/java/util/ParallelIterableTest.java + test-ng/tests/org/openjdk/tests/java/util/functions/BlocksTest.java + test-ng/tests/org/openjdk/tests/java/util/functions/MappersTest.java + test-ng/tests/org/openjdk/tests/java/util/functions/PredicatesTest.java From james.holmlund at oracle.com Fri Mar 30 11:40:19 2012 From: james.holmlund at oracle.com (james.holmlund at oracle.com) Date: Fri, 30 Mar 2012 18:40:19 +0000 Subject: hg: lambda/lambda/langtools: Front-to-back lambda translation implementation. Invokedynamic interface per Feb 2012 Translation of Lambda Expressions. Lambdas and method references supported. Bridges removed. Message-ID: <20120330184028.3A9D447C43@hg.openjdk.java.net> Changeset: 1bf9fbd7f090 Author: jjh Date: 2012-03-30 11:34 -0700 URL: http://hg.openjdk.java.net/lambda/lambda/langtools/rev/1bf9fbd7f090 Front-to-back lambda translation implementation. Invokedynamic interface per Feb 2012 Translation of Lambda Expressions. Lambdas and method references supported. Bridges removed. Contributed-by: rfield - src/share/classes/com/sun/runtime/ProxyHelper.java ! src/share/classes/com/sun/tools/javac/code/Symtab.java ! src/share/classes/com/sun/tools/javac/comp/LambdaToInnerClass.java ! src/share/classes/com/sun/tools/javac/comp/LambdaToMethod.java ! src/share/classes/com/sun/tools/javac/comp/LambdaTranslator.java