From cnewland at chrisnewland.com Tue Sep 1 10:40:18 2015 From: cnewland at chrisnewland.com (Chris Newland) Date: Tue, 1 Sep 2015 11:40:18 +0100 Subject: OpenJDK + OpenJFX post-jigsaw Message-ID: <73e435777296c1da0e7b330c169d3168.squirrel@excalibur.xssl.net> Hi, Following a discussion I had on the OpenJFX mailing list [1] I'd like to understand what path there might be for supporting the addition of OpenJFX to a post-jigsaw OpenJDK deployment. Currently (JDK8) the easiest way to create an OpenJDK+OpenJFX deployment of Java and JavaFX is to use the "overlay" mechanism. This is provided by the "openZip" gradle task in OpenJFX and creates a zip file that can be unpacked on top of an existing OpenJDK installation (self-built or Azul's Zulu OpenJDK). This relies upon a pre-jigsaw "jre" layout and I've filed a bug [2] as suggested by Kevin Rushforth to act as a reminder that this won't work with JDK9. It seems likely that OpenJFX will be neither modularised nor integrated into the OpenJDK repos in time for JDK9 so I'm looking for guidance on what the recommended mechanism will be for combining the two? Many thanks, Chris @chriswhocodes [1] http://mail.openjdk.java.net/pipermail/openjfx-dev/2015-August/017739.html [2] https://bugs.openjdk.java.net/browse/JDK-8134725 From Alan.Bateman at oracle.com Tue Sep 1 13:33:22 2015 From: Alan.Bateman at oracle.com (Alan Bateman) Date: Tue, 01 Sep 2015 14:33:22 +0100 Subject: OpenJDK + OpenJFX post-jigsaw In-Reply-To: <73e435777296c1da0e7b330c169d3168.squirrel@excalibur.xssl.net> References: <73e435777296c1da0e7b330c169d3168.squirrel@excalibur.xssl.net> Message-ID: <55E5A922.4010700@oracle.com> On 01/09/2015 11:40, Chris Newland wrote: > : > > It seems likely that OpenJFX will be neither modularised nor integrated > into the OpenJDK repos in time for JDK9 so I'm looking for guidance on > what the recommended mechanism will be for combining the two? > We expect to be able to link in the FX modules into the run-time image. As Kevin said on the openjdk-dev list then it will likely require using a configure option to specify the location of the FX modules. -Alan. From kevin.rushforth at oracle.com Tue Sep 1 15:42:35 2015 From: kevin.rushforth at oracle.com (Kevin Rushforth) Date: Tue, 01 Sep 2015 08:42:35 -0700 Subject: OpenJDK + OpenJFX post-jigsaw In-Reply-To: <55E592DA.1020105@oracle.com> References: <73e435777296c1da0e7b330c169d3168.squirrel@excalibur.xssl.net> <55E592DA.1020105@oracle.com> Message-ID: <55E5C76B.5080302@oracle.com> > Alan Bateman wrote: > On 01/09/2015 11:40, Chris Newland wrote: > >> It seems likely that OpenJFX will be neither modularised nor integrated >> into the OpenJDK repos in time for JDK9 so I'm looking for guidance on >> what the recommended mechanism will be for combining the two? >> > We expect to be able to link in the FX modules into the run-time image. > As Kevin said on the openjdk-dev list then it will likely require using > a configure option to specify the location of the FX modules. Alan is correct. FX will indeed be modularized for JDK 9, and we are working closely with the core Jigsaw team to integrate FX modules into the JDK. Details will be forthcoming. -- Kevin From jarthana at in.ibm.com Tue Sep 1 16:39:40 2015 From: jarthana at in.ibm.com (Jayaprakash Arthanareeswaran) Date: Tue, 1 Sep 2015 22:09:40 +0530 Subject: Java Module System JSR/JEP Message-ID: Hello Mark and experts, It is a bit worrying for us (the Eclipse team) that not much has been said or discussed on the Java Module System itself. As we have just over a year left for the slated GA in 2016, it is about time the spec gets the update, isn't it? Can you please let us know if there is any update on this? Regards, Jay From jeffhain at rocketmail.com Tue Sep 1 18:59:39 2015 From: jeffhain at rocketmail.com (Jeff Hain) Date: Tue, 1 Sep 2015 18:59:39 +0000 (UTC) Subject: jdeps and annotations parameters In-Reply-To: <624136714.2257694.1440710693082.JavaMail.yahoo@mail.yahoo.com> References: <55DF77F2.3010106@oracle.com> <624136714.2257694.1440710693082.JavaMail.yahoo@mail.yahoo.com> Message-ID: <1874331024.5174363.1441133979240.JavaMail.yahoo@mail.yahoo.com> Back from trying to figure out all the cases where jdeps and my utility don't compute the same dependencies, for classes of JDK8_60/rt.jar, and each time which is right. What I did is modify my code to make it behave like jdeps for each encountered difference, and then re-run the comparison to see what was left. Below I list all the cases for usage of jdeps with "-verbose:class -filter:none" options, i.e. when computing all dependencies, API or not (with "-apionly" option there were many more differences, possibly due to assumptions about what "API" means - we could exclude that for now). 1) Jdeps ignores dependencies caused by package-info class files. ===> Maybe intended? Ex.: @javax.xml.bind.annotation.XmlSchema(namespace = "http://xmlns.oracle.com/webservices/jaxws-databinding", elementFormDefault = javax.xml.bind.annotation.XmlNsForm.QUALIFIED) package com.oracle.xmlns.internal.webservices.jaxws_databinding; ===> Doesn't see dependencies to java.lang.Object and javax.xml.bind.annotation.XmlSchema 2) Jdeps ignores types of parameters of annotations (as said in initial mail). Ex. (in java.beans): @Documented @Target(CONSTRUCTOR) @Retention(RUNTIME) public @interface ConstructorProperties { ??? String[] value(); } ===> Doesn't see dependencies to java.lang.annotation.ElementType and java.lang.annotation.RetentionPolicy. ===> Could reproduce the behavior by ignoring/skipping "element_value" items. 3) Jdeps doesn't parse class signatures containing generic types properly, but it does fine for fields or methods signatures. Ex. (in java.lang.management.PlatformComponent): interface MXBeanFetcher { ??? public List getMXBeans(); } ===> Doesn't see dependency to java.lang.management.PlatformManagedObject. ===> For example, dependency to Object is properly computed from signature ???? "Ljava/lang/ThreadLocal;" ???? but not from ???? "Ljava/lang/ThreadLocal;". ===> Could reproduce the behavior by skipping all characters following ':' ???? up to the '>' closing the scope. 4) Jdeps doesn't compute a dependency to java.lang.Deprecated when @deprecated or @Deprecated is only in the Javadoc, in which case there is no "Ljava/lang/Deprecated;" descriptor/signature in the class file but still a "Deprecated" attribute. ===> Maybe intended? Ex.: javax.xml.bind.Validator ===> Could reproduce the behavior by skipping "Deprecated" attributes, and only having dependency to java.lang.Deprecated due to the descriptor/signature. 5) Jdeps ignores (some? all?) dependencies to com.sun.istack.internal.NotNull and com.sun.istack.internal.Nullable Ex. (in com.sun.istack.internal.Pool): public interface Pool { ??? @NotNull T take(); ??? void recycle(@NotNull T t); } ===> Doesn't see dependencies to com.sun.istack.internal.NotNull ===> Could not find a way to reproduce this behavior, other than having specific cases for these annotations. I created a similar test class, with a similar annotation @MyNotNull, and jdeps would detect it (???). 6) For java.util.stream.FindOps, jdeps properly doesn't compute a dependency to java.util.stream.TerminalSink (which is only used in nested classes), but for some reason there is a "()Ljava/util/stream/TerminalSink;" descriptor in FindOps.class (???) so my library considers there is the dependency... Lastly a few remarks about -apionly: jdeps help says it restricts the analysis to dependences "from the signature of public and protected members of public classes including field type, method parameter types, returned type, checked exception types etc" But: 1) It can actually compute dependencies from a protected, ?? package-private or private class, for example if they ?? have public fields. ?? Maybe it should not be the case for (package-)private ?? classes (or whenever there is a non-API class in the ?? way to the top level class), because it would show ?? transitive dependencies that could not be followed ?? through the API. ?? (Ex.: ??? private class Priv {public Double getDouble(){...}} ??? public class Pub {public Priv getPriv(){...}} ??? ===> Through the API we could never go from Pub to Double ???????? but according to jdeps it would be possible.) 2) It does not consider public and protected nested classes ?? as dependencies (even though they are in the API ?? of the class). 3) Should annotations of APIs be considered APIs? ?? (at least for some trivial cases they are) -Jeff De?: Jeff Hain ??: Mandy Chung ; "jigsaw-dev at openjdk.java.net" Envoy? le : Jeudi 27 ao?t 2015 23h24 Objet?: Re: jdeps and annotations parameters >It looks like a bug.? I have filed an issue to look into further: >? https://bugs.openjdk.java.net/browse/JDK-8134625 >Mandy Ok. I was starting to check my jdeps-like library(an upgrade of sourceforge.net/projects/jcyclesto compute dependencies in various ways and with more info(deps byte size, classes causing packages dependencies, etc.))against jdeps on all rt.jar class files, and I'm starting to see a lot moredifferences. The idea was both:- to check correctness of libraries against each other,- and, where dependency-or-not would be conventional? (such as, should a nested class always depend on its? surrounding class, or not, or on all of them up to top level one? (since they are all in InnerClasses attributes), etc.) ? to use jdeps convention to keep things simple. I will send you details (off list?) when I got them (with and without -apionly) (test does Runtime.exec(jdeps) for each class, takes time :). Then you could tell me what looks like a bugand what looks like a convention. -Jeff From mandy.chung at oracle.com Tue Sep 1 20:19:33 2015 From: mandy.chung at oracle.com (Mandy Chung) Date: Tue, 01 Sep 2015 13:19:33 -0700 Subject: jdeps and annotations parameters In-Reply-To: <1874331024.5174363.1441133979240.JavaMail.yahoo@mail.yahoo.com> References: <55DF77F2.3010106@oracle.com> <624136714.2257694.1440710693082.JavaMail.yahoo@mail.yahoo.com> <1874331024.5174363.1441133979240.JavaMail.yahoo@mail.yahoo.com> Message-ID: <55E60855.8000506@oracle.com> Just to double check: are you using 8u60 jdeps? or jdk9 jdeps? Mandy On 09/01/2015 11:59 AM, Jeff Hain wrote: > > Back from trying to figure out all the cases where > jdeps and my utility don't compute the same dependencies, > for classes of JDK8_60/rt.jar, and each time which > is right. > > > What I did is modify my code to make it behave like > jdeps for each encountered difference, and then > re-run the comparison to see what was left. > > > Below I list all the cases for usage of jdeps > with "-verbose:class -filter:none" options, > i.e. when computing all dependencies, API or not > (with "-apionly" option there were many more > differences, possibly due to assumptions about > what "API" means - we could exclude that for now). > > > > 1) Jdeps ignores dependencies caused by package-info > class files. > ===> Maybe intended? > > Ex.: > @javax.xml.bind.annotation.XmlSchema(namespace = > "http://xmlns.oracle.com/webservices/jaxws-databinding", > elementFormDefault = javax.xml.bind.annotation.XmlNsForm.QUALIFIED) > package com.oracle.xmlns.internal.webservices.jaxws_databinding; > ===> Doesn't see dependencies to > java.lang.Object > and > javax.xml.bind.annotation.XmlSchema > > > > 2) Jdeps ignores types of parameters of annotations > (as said in initial mail). > > Ex. (in java.beans): > @Documented @Target(CONSTRUCTOR) @Retention(RUNTIME) > public @interface ConstructorProperties { > String[] value(); > } > ===> Doesn't see dependencies to > java.lang.annotation.ElementType > and > java.lang.annotation.RetentionPolicy. > > ===> Could reproduce the behavior by ignoring/skipping > "element_value" items. > > > > 3) Jdeps doesn't parse class signatures containing generic types > properly, but it does fine for fields or methods signatures. > > Ex. (in java.lang.management.PlatformComponent): > interface MXBeanFetcher { > public List getMXBeans(); > } > ===> Doesn't see dependency to > java.lang.management.PlatformManagedObject. > > ===> For example, dependency to Object is properly computed from signature > "Ljava/lang/ThreadLocal;" > but not from > "Ljava/lang/ThreadLocal;". > > ===> Could reproduce the behavior by skipping all characters following ':' > up to the '>' closing the scope. > > > > 4) Jdeps doesn't compute a dependency to java.lang.Deprecated when > @deprecated or @Deprecated is only in the Javadoc, > in which case there is no "Ljava/lang/Deprecated;" descriptor/signature > in the class file but still a "Deprecated" attribute. > ===> Maybe intended? > > Ex.: javax.xml.bind.Validator > > ===> Could reproduce the behavior by skipping "Deprecated" attributes, > and only having dependency to java.lang.Deprecated due to the > descriptor/signature. > > > > 5) Jdeps ignores (some? all?) dependencies to > com.sun.istack.internal.NotNull > and > com.sun.istack.internal.Nullable > > Ex. (in com.sun.istack.internal.Pool): > public interface Pool { > @NotNull T take(); > void recycle(@NotNull T t); > } > ===> Doesn't see dependencies to > com.sun.istack.internal.NotNull > > ===> Could not find a way to reproduce this behavior, other than > having specific cases for these annotations. > I created a similar test class, with a similar annotation @MyNotNull, > and jdeps would detect it (???). > > > > 6) For java.util.stream.FindOps, jdeps properly doesn't compute > a dependency to java.util.stream.TerminalSink (which is only > used in nested classes), but for some reason there is a > "()Ljava/util/stream/TerminalSink;" descriptor in FindOps.class > (???) so my library considers there is the dependency... > > > > Lastly a few remarks about -apionly: > > jdeps help says it restricts the analysis to dependences > "from the signature of public and protected members of public > classes including field type, method parameter types, > returned type, checked exception types etc" > > But: > > 1) It can actually compute dependencies from a protected, > package-private or private class, for example if they > have public fields. > Maybe it should not be the case for (package-)private > classes (or whenever there is a non-API class in the > way to the top level class), because it would show > transitive dependencies that could not be followed > through the API. > (Ex.: > private class Priv {public Double getDouble(){...}} > public class Pub {public Priv getPriv(){...}} > ===> Through the API we could never go from Pub to Double > but according to jdeps it would be possible.) > > 2) It does not consider public and protected nested classes > as dependencies (even though they are in the API > of the class). > > 3) Should annotations of APIs be considered APIs? > (at least for some trivial cases they are) > > > > -Jeff > > ------------------------------------------------------------------------ > *De :* Jeff Hain > *? :* Mandy Chung ; > "jigsaw-dev at openjdk.java.net" > *Envoy? le :* Jeudi 27 ao?t 2015 23h24 > *Objet :* Re: jdeps and annotations parameters > > > >It looks like a bug. I have filed an issue to look into further: > > https://bugs.openjdk.java.net/browse/JDK-8134625 > >Mandy > > Ok. > > I was starting to check my jdeps-like library > (an upgrade of sourceforge.net/projects/jcycles > to compute dependencies in various ways and with more info > (deps byte size, classes causing packages dependencies, etc.)) > against jdeps on all rt.jar class files, and I'm starting to see a lot > more > differences. > > The idea was both: > - to check correctness of libraries against each other, > - and, where dependency-or-not would be conventional > (such as, should a nested class always depend on its > surrounding class, or not, or on all of them up to top level one > (since they are all in InnerClasses attributes), etc.) > to use jdeps convention to keep things simple. > > I will send you details (off list?) when I got them (with and without > -apionly) > (test does Runtime.exec(jdeps) for each class, takes time :). > > Then you could tell me what looks like a bug > and what looks like a convention. > > > > > -Jeff > > > From cnewland at chrisnewland.com Tue Sep 1 20:44:47 2015 From: cnewland at chrisnewland.com (Chris Newland) Date: Tue, 1 Sep 2015 21:44:47 +0100 Subject: OpenJDK + OpenJFX post-jigsaw In-Reply-To: <55E5C76B.5080302@oracle.com> References: <73e435777296c1da0e7b330c169d3168.squirrel@excalibur.xssl.net> <55E592DA.1020105@oracle.com> <55E5C76B.5080302@oracle.com> Message-ID: On Tue, September 1, 2015 16:42, Kevin Rushforth wrote: > >> Alan Bateman wrote: >> On 01/09/2015 11:40, Chris Newland wrote: >> >> >>> It seems likely that OpenJFX will be neither modularised nor >>> integrated into the OpenJDK repos in time for JDK9 so I'm looking for >>> guidance on what the recommended mechanism will be for combining the >>> two? >>> >> We expect to be able to link in the FX modules into the run-time image. >> As Kevin said on the openjdk-dev list then it will likely require >> using a configure option to specify the location of the FX modules. > > Alan is correct. FX will indeed be modularized for JDK 9, and we are > working closely with the core Jigsaw team to integrate FX modules into the > JDK. Details will be forthcoming. > > > -- Kevin > Thanks Alan, Kevin, Very pleased to hear FX will be modularized in time for 9. From jeffhain at rocketmail.com Tue Sep 1 20:52:32 2015 From: jeffhain at rocketmail.com (Jeff Hain) Date: Tue, 1 Sep 2015 20:52:32 +0000 (UTC) Subject: jdeps and annotations parameters In-Reply-To: <55E60855.8000506@oracle.com> References: <55E60855.8000506@oracle.com> Message-ID: <901074510.5290088.1441140752152.JavaMail.yahoo@mail.yahoo.com> >Just to double check: are you using 8u60 jdeps?? or jdk9 jdeps? jdk1.8.0_60 jdeps I didn't find a description of JDK9's class file format(which should be 53 afaik), so I didn't play withanything JDK9 yet. -Jeff From mark.reinhold at oracle.com Wed Sep 2 15:37:24 2015 From: mark.reinhold at oracle.com (mark.reinhold at oracle.com) Date: Wed, 02 Sep 2015 08:37:24 -0700 Subject: Java Module System JSR/JEP In-Reply-To: References: Message-ID: <20150902083724.623604@eggemoggin.niobe.net> 2015/9/1 9:39 -0700, jarthana at in.ibm.com: > It is a bit worrying for us (the Eclipse team) that not much has been said > or discussed on the Java Module System itself. As we have just over a year > left for the slated GA in 2016, it is about time the spec gets the update, > isn't it? Can you please let us know if there is any update on this? Yes. There will be an update very soon. - Mark From james.laskey at oracle.com Thu Sep 3 13:35:23 2015 From: james.laskey at oracle.com (Jim Laskey (Oracle)) Date: Thu, 3 Sep 2015 10:35:23 -0300 Subject: RFR: 8087181: Move native jimage code to its own library (maybe libjimage) (against hs-rt) In-Reply-To: <2D6069D1-9D31-4CF4-9A06-093B2548590F@oracle.com> References: <2D6069D1-9D31-4CF4-9A06-093B2548590F@oracle.com> Message-ID: Passes JPRT -testset hotspot, and no new fails on -testset pit . > On Aug 28, 2015, at 2:05 PM, Jim Laskey (Oracle) wrote: > > https://bugs.openjdk.java.net/browse/JDK-8087181 > > http://cr.openjdk.java.net/~jlaskey/hs-rt/webrev-top > http://cr.openjdk.java.net/~jlaskey/hs-rt/webrev-jdk > http://cr.openjdk.java.net/~jlaskey/hs-rt/webrev-hotspot > > > From lois.foltan at oracle.com Thu Sep 3 14:04:00 2015 From: lois.foltan at oracle.com (Lois Foltan) Date: Thu, 03 Sep 2015 10:04:00 -0400 Subject: RFR: 8087181: Move native jimage code to its own library (maybe libjimage) (against hs-rt) In-Reply-To: References: <2D6069D1-9D31-4CF4-9A06-093B2548590F@oracle.com> Message-ID: <55E85350.7050509@oracle.com> On 9/3/2015 9:35 AM, Jim Laskey (Oracle) wrote: > Passes JPRT -testset hotspot, and no new fails on -testset pit . Thanks Jim. I have reviewed the hotspot piece. Looks good. Lois > >> On Aug 28, 2015, at 2:05 PM, Jim Laskey (Oracle) wrote: >> >> https://bugs.openjdk.java.net/browse/JDK-8087181 >> >> http://cr.openjdk.java.net/~jlaskey/hs-rt/webrev-top >> http://cr.openjdk.java.net/~jlaskey/hs-rt/webrev-jdk >> http://cr.openjdk.java.net/~jlaskey/hs-rt/webrev-hotspot >> >> >> From mandy.chung at oracle.com Thu Sep 3 20:27:16 2015 From: mandy.chung at oracle.com (Mandy Chung) Date: Thu, 03 Sep 2015 13:27:16 -0700 Subject: jdeps and annotations parameters In-Reply-To: <1874331024.5174363.1441133979240.JavaMail.yahoo@mail.yahoo.com> References: <55DF77F2.3010106@oracle.com> <624136714.2257694.1440710693082.JavaMail.yahoo@mail.yahoo.com> <1874331024.5174363.1441133979240.JavaMail.yahoo@mail.yahoo.com> Message-ID: <55E8AD24.90108@oracle.com> Hi Jeff, Thanks for the feedback that is helpful. jdeps is static analysis tool reporting class dependencies to help existing code for modularization. So jdeps should report the list of class names matching the list that are needed during compilation as closely as possible. It looks at Signature, RuntimeVisibleAnnotations and RuntimeVisibleParameterAnnotations attributes but not other attributes in the current implementation that explains some of the questions you pointed. My comments are inlined below from my initial evaluation. I am including your report in JDK-8134625 to be addressed together. On 09/01/2015 11:59 AM, Jeff Hain wrote: > > Back from trying to figure out all the cases where > jdeps and my utility don't compute the same dependencies, > for classes of JDK8_60/rt.jar, and each time which > is right. > > > What I did is modify my code to make it behave like > jdeps for each encountered difference, and then > re-run the comparison to see what was left. > > > Below I list all the cases for usage of jdeps > with "-verbose:class -filter:none" options, > i.e. when computing all dependencies, API or not > (with "-apionly" option there were many more > differences, possibly due to assumptions about > what "API" means - we could exclude that for now). > > > > 1) Jdeps ignores dependencies caused by package-info > class files. > ===> Maybe intended? > > Ex.: > @javax.xml.bind.annotation.XmlSchema(namespace = > "http://xmlns.oracle.com/webservices/jaxws-databinding", > elementFormDefault = javax.xml.bind.annotation.XmlNsForm.QUALIFIED) > package com.oracle.xmlns.internal.webservices.jaxws_databinding; > ===> Doesn't see dependencies to > java.lang.Object > and > javax.xml.bind.annotation.XmlSchema > javax.xml.bind.annotation.XmlSchema is needed to compile package-info.java and so I think it should be reported. > > > 2) Jdeps ignores types of parameters of annotations > (as said in initial mail). > > Ex. (in java.beans): > @Documented @Target(CONSTRUCTOR) @Retention(RUNTIME) > public @interface ConstructorProperties { > String[] value(); > } > ===> Doesn't see dependencies to > java.lang.annotation.ElementType > and > java.lang.annotation.RetentionPolicy. > > ===> Could reproduce the behavior by ignoring/skipping > "element_value" items. > Enum and Class element value should be reported. > > > 3) Jdeps doesn't parse class signatures containing generic types > properly, but it does fine for fields or methods signatures. > > Ex. (in java.lang.management.PlatformComponent): > interface MXBeanFetcher { > public List getMXBeans(); > } > ===> Doesn't see dependency to > java.lang.management.PlatformManagedObject. > > ===> For example, dependency to Object is properly computed from signature > "Ljava/lang/ThreadLocal;" > but not from > "Ljava/lang/ThreadLocal;". > > ===> Could reproduce the behavior by skipping all characters following ':' > up to the '>' closing the scope. > I would think it should report it. I will have to look at this one. > > > 4) Jdeps doesn't compute a dependency to java.lang.Deprecated when > @deprecated or @Deprecated is only in the Javadoc, > in which case there is no "Ljava/lang/Deprecated;" descriptor/signature > in the class file but still a "Deprecated" attribute. > ===> Maybe intended? > > Ex.: javax.xml.bind.Validator > > ===> Could reproduce the behavior by skipping "Deprecated" attributes, > and only having dependency to java.lang.Deprecated due to the > descriptor/signature. > I think we should skip Deprecated attribute since this is for documentation although a source may need java.lang.Deprecated type to compile (@Deprecated on a method e.g.) > > 5) Jdeps ignores (some? all?) dependencies to > com.sun.istack.internal.NotNull > and > com.sun.istack.internal.Nullable > > Ex. (in com.sun.istack.internal.Pool): > public interface Pool { > @NotNull T take(); > void recycle(@NotNull T t); > } > ===> Doesn't see dependencies to > com.sun.istack.internal.NotNull > > ===> Could not find a way to reproduce this behavior, other than > having specific cases for these annotations. > I created a similar test class, with a similar annotation @MyNotNull, > and jdeps would detect it (???). > > I think it should but I'll check this out in details. > > 6) For java.util.stream.FindOps, jdeps properly doesn't compute > a dependency to java.util.stream.TerminalSink (which is only > used in nested classes), but for some reason there is a > "()Ljava/util/stream/TerminalSink;" descriptor in FindOps.class > (???) so my library considers there is the dependency... > > > > Lastly a few remarks about -apionly: > > jdeps help says it restricts the analysis to dependences > "from the signature of public and protected members of public > classes including field type, method parameter types, > returned type, checked exception types etc" > -apionly is useful to separate dependencies due to implementation vs API. > But: > > 1) It can actually compute dependencies from a protected, > package-private or private class, for example if they > have public fields. > Maybe it should not be the case for (package-)private > classes (or whenever there is a non-API class in the > way to the top level class), because it would show > transitive dependencies that could not be followed > through the API. > (Ex.: > private class Priv {public Double getDouble(){...}} > public class Pub {public Priv getPriv(){...}} > ===> Through the API we could never go from Pub to Double > but according to jdeps it would be possible.) > This is a bug. It should inspect inner classes only if the outer class is public. > 2) It does not consider public and protected nested classes > as dependencies (even though they are in the API > of the class). > > 3) Should annotations of APIs be considered APIs? > (at least for some trivial cases they are) The purpose of -apionly is to find out API dependencies to catch any undesirable types used in the signatures unexpectedly. Annotations are not part of the signatures and they are not reported. Thanks again for the feedback. Mandy From Alan.Bateman at oracle.com Sat Sep 5 13:54:07 2015 From: Alan.Bateman at oracle.com (Alan Bateman) Date: Sat, 05 Sep 2015 14:54:07 +0100 Subject: RFR: 8087181: Move native jimage code to its own library (maybe libjimage) (against hs-rt) In-Reply-To: <2D6069D1-9D31-4CF4-9A06-093B2548590F@oracle.com> References: <2D6069D1-9D31-4CF4-9A06-093B2548590F@oracle.com> Message-ID: <55EAF3FF.9020007@oracle.com> On 28/08/2015 18:05, Jim Laskey (Oracle) wrote: > https://bugs.openjdk.java.net/browse/JDK-8087181 > > http://cr.openjdk.java.net/~jlaskey/hs-rt/webrev-top > http://cr.openjdk.java.net/~jlaskey/hs-rt/webrev-jdk > http://cr.openjdk.java.net/~jlaskey/hs-rt/webrev-hotspot > Looks like the copyright headers on the files for the jdk will need to be changed to the GPL + Classpath exception before this is pushed. The other thing is that the indention for the .cpp/.hpp files needs to follow the convention for the jdk repo, so 4 spaces rather than 2. There are also a number of really long lines that would be good to fix up to make it easier for future side-by-side reviews. Is there is a reason for adding the ZIP_* functions to the the reorder-* files, I don't think these files have been maintained for a number of years. At a high-level I think this looks good. I hope to more detailed pass on the jdk repo early next week. -Alan. From jeffhain at rocketmail.com Sun Sep 6 00:05:13 2015 From: jeffhain at rocketmail.com (Jeff Hain) Date: Sun, 6 Sep 2015 00:05:13 +0000 (UTC) Subject: jdeps and annotations parameters Message-ID: <723447932.2842342.1441497913774.JavaMail.yahoo@mail.yahoo.com> Hi Mandy. >This is a bug.? It should inspect inner classes only if the outer class is public. The class file format contains the access flags of nested classes that are on the way to the top level class (inner_class_access_flags), but not the flags of the top level class, so the API-ness of a nested class can't be fully computed. What could be done (will do that in my lib) is supposing that the top level class is public, since public or protected things in a package-private top level class should be rare (and weird?) anyway. While building up (hopefully) exhaustive unit tests, I found out one more jdeps issue: When computing dependencies of an annotation, types involved in default values ("AnnotationDefault" attribute) are ignored: Ex.: @Retention(RetentionPolicy.RUNTIME)@Target(ElementType.TYPE_USE) public @interface A_TYPE_USE_R_COMPLEX { ??? Class[] nbrClsArr() default {Byte.class}; ??? String tooStrong(); ??? RoundingMode rounding(); } ===> Dependency to Byte is not detected (along with dependencies to ElementType and RetentionPolicy as already reported) Also found a possible javac problem (unless that's perfectly normal :): When you put the following code: @A_TYPE_USE_R_COMPLEX(nbrClsArr={Long.class},tooStrong="",rounding=RoundingMode.UNNECESSARY) Integer foo = 1; in a constructor or regular method, Long, RoundingMode and A_TYPE_USE_R_COMPLEX types make it into the class file (and jdeps properly detects them), but when you put it in an init block (static or not), they don't appear in the class file (only Integer does). -Jeff From james.laskey at oracle.com Tue Sep 8 13:02:08 2015 From: james.laskey at oracle.com (Jim Laskey (Oracle)) Date: Tue, 8 Sep 2015 10:02:08 -0300 Subject: RFR: 8087181: Move native jimage code to its own library (maybe libjimage) (against hs-rt) In-Reply-To: <55EAF3FF.9020007@oracle.com> References: <2D6069D1-9D31-4CF4-9A06-093B2548590F@oracle.com> <55EAF3FF.9020007@oracle.com> Message-ID: Have a patch ready with these changes. > On Sep 5, 2015, at 10:54 AM, Alan Bateman wrote: > > On 28/08/2015 18:05, Jim Laskey (Oracle) wrote: >> https://bugs.openjdk.java.net/browse/JDK-8087181 >> >> http://cr.openjdk.java.net/~jlaskey/hs-rt/webrev-top >> http://cr.openjdk.java.net/~jlaskey/hs-rt/webrev-jdk >> http://cr.openjdk.java.net/~jlaskey/hs-rt/webrev-hotspot >> > Looks like the copyright headers on the files for the jdk will need to be changed to the GPL + Classpath exception before this is pushed. Hotspot legacy > > The other thing is that the indention for the .cpp/.hpp files needs to follow the convention for the jdk repo, so 4 spaces rather than 2. There are also a number of really long lines that would be good to fix up to make it easier for future side-by-side reviews. > Hotspot legacy > Is there is a reason for adding the ZIP_* functions to the the reorder-* files, I don't think these files have been maintained for a number of years. > Roger added for consistency, no other reason. > At a high-level I think this looks good. I hope to more detailed pass on the jdk repo early next week. Will wait before pushing patch. Thank you. > > -Alan. From Alan.Bateman at oracle.com Tue Sep 8 16:32:33 2015 From: Alan.Bateman at oracle.com (Alan Bateman) Date: Tue, 08 Sep 2015 17:32:33 +0100 Subject: JDK 9 build with application class loader changes available? In-Reply-To: References: Message-ID: <55EF0DA1.7080705@oracle.com> On 27/04/2015 01:52, Luke Daley wrote: > This is a follow on from: http://mail.openjdk.java.net/pipermail/jigsaw-dev/2015-April/004291.html > > Just to restart this discussion. The latest early access release is JDK 9 b80 and this has the @argfiles support that was mentioned in one of the replies. I don't know if Gradle has plans to make us of this but it should help with the issue that started this thread. -Alan [1] https://jdk9.java.net/download/ From alex.buckley at oracle.com Tue Sep 8 20:17:40 2015 From: alex.buckley at oracle.com (Alex Buckley) Date: Tue, 08 Sep 2015 13:17:40 -0700 Subject: jdeps and annotations parameters In-Reply-To: <723447932.2842342.1441497913774.JavaMail.yahoo@mail.yahoo.com> References: <723447932.2842342.1441497913774.JavaMail.yahoo@mail.yahoo.com> Message-ID: <55EF4264.5030809@oracle.com> On 9/5/2015 5:05 PM, Jeff Hain wrote: > @Retention(RetentionPolicy.RUNTIME) @Target(ElementType.TYPE_USE) > public @interface A_TYPE_USE_R_COMPLEX { > Class[] nbrClsArr() default {Byte.class}; > String tooStrong(); > RoundingMode rounding(); > } > > Also found a possible javac problem (unless that's perfectly normal :): > When you put the following code: > > @A_TYPE_USE_R_COMPLEX(nbrClsArr={Long.class},tooStrong="",rounding=RoundingMode.UNNECESSARY) > Integer foo = 1; > > in a constructor or regular method, Long, RoundingMode and A_TYPE_USE_R_COMPLEX > types make it into the class file (and jdeps properly detects them), > but when you put it in an init block (static or not), they don't appear > in the class file (only Integer does). Either this is a huge bug in javac or you're not looking in the right place. The code in an instance initializer compiles into the same method as the code in a constructor, so I would expect the method to have a RuntimeVisibleTypeAnnotations attribute whether the local variable (whose type is annotated) exists in {...} or a ctor. Alex From jeffhain at rocketmail.com Tue Sep 8 22:28:54 2015 From: jeffhain at rocketmail.com (Jeff Hain) Date: Tue, 8 Sep 2015 22:28:54 +0000 (UTC) Subject: jdeps and annotations parameters In-Reply-To: <55EF4264.5030809@oracle.com> References: <55EF4264.5030809@oracle.com> Message-ID: <1532167323.1464130.1441751334613.JavaMail.yahoo@mail.yahoo.com> Hi Alex. >Either this is a huge bug in javac or you're not looking in the right >place. The code in an instance initializer compiles into the same >method as the code in a constructor, so I would expect the method >to have a RuntimeVisibleTypeAnnotations attribute whether the local >variable (whose type is annotated) exists in {...} or a ctor. Here are the classes I parsed to test that (using the same annotation as I described), and bellow their respective constant pool, which are quite different, with the non-constructor one NOT containing RuntimeVisibleTypeAnnotations (compiled with JDK8_60, -source 1.8 -target 1.8 (I guess the defaults anyway)): /** ?* method. ?*/ public static class MyMethodCodeInitBlock { ??? { ??????? // String will not make it into the class file. ??????? @A_TYPE_USE_R_COMPLEX(nbrClsArr={Long.class},tooStrong="",rounding=RoundingMode.UNNECESSARY,doc=@Documented) ??????? Integer foo = 1; ??????? try { ??????????? MyBlackHole.blackHole(foo); ??????? } catch (RuntimeException e) { ??????????? throw e; ??????? } ??? } } /** ?* method. ?*/ public static class MyMethodCodeConstructor { ??? public MyMethodCodeConstructor() { ??????? // String will not make it into the class file. ??????? @A_TYPE_USE_R_COMPLEX(nbrClsArr={Long.class},tooStrong="",rounding=RoundingMode.UNNECESSARY,doc=@Documented) ??????? Integer foo = 1; ??????? try { ??????????? MyBlackHole.blackHole(foo); ??????? } catch (RuntimeException e) { ??????????? throw e; ??????? } ??? } } pool[4] : class name utf8 index = 22 pool[5] : class name utf8 index = 24 pool[6] : class name utf8 index = 27 pool[7] : utf8 = pool[8] : utf8 = ()V pool[9] : utf8 = Code pool[10] : utf8 = LineNumberTable pool[11] : utf8 = StackMapTable pool[12] : class name utf8 index = 24 pool[13] : class name utf8 index = 28 pool[14] : class name utf8 index = 22 pool[15] : utf8 = SourceFile pool[16] : utf8 = ClassDepsParserTest.java pool[17] : descriptor (TAN) utf8 index = 8 = ()V pool[18] : class name utf8 index = 28 pool[19] : descriptor (TAN) utf8 index = 30 = null pool[20] : class name utf8 index = 31 pool[21] : descriptor (TAN) utf8 index = 34 = null pool[22] : utf8 = java/lang/RuntimeException pool[23] : class name utf8 index = 35 pool[24] : utf8 = net/jadecy/code/ClassDepsParserTest$MyMethodCodeInitBlock pool[25] : utf8 = MyMethodCodeInitBlock pool[26] : utf8 = InnerClasses pool[27] : utf8 = java/lang/Object pool[28] : utf8 = java/lang/Integer pool[29] : utf8 = valueOf pool[30] : utf8 = (I)Ljava/lang/Integer; pool[31] : utf8 = net/jadecy/code/ClassDepsParserTest$MyBlackHole pool[32] : utf8 = MyBlackHole pool[33] : utf8 = blackHole pool[34] : utf8 = (Ljava/lang/Object;)Z pool[35] : utf8 = net/jadecy/code/ClassDepsParserTest pool[4] : class name utf8 index = 36 pool[5] : class name utf8 index = 38 pool[6] : class name utf8 index = 40 pool[7] : utf8 = pool[8] : utf8 = ()V pool[9] : utf8 = Code pool[10] : utf8 = LineNumberTable pool[11] : utf8 = StackMapTable pool[12] : class name utf8 index = 38 pool[13] : class name utf8 index = 41 pool[14] : class name utf8 index = 36 pool[15] : utf8 = RuntimeVisibleTypeAnnotations pool[16] : class name utf8 index = 42 pool[17] : utf8 = A_TYPE_USE_R_COMPLEX pool[18] : utf8 = InnerClasses pool[19] : utf8 = Lnet/jadecy/code/ClassDepsParserTest$A_TYPE_USE_R_COMPLEX; pool[20] : utf8 = nbrClsArr pool[21] : utf8 = Ljava/lang/Long; pool[22] : utf8 = tooStrong pool[23] : utf8 = pool[24] : utf8 = rounding pool[25] : utf8 = Ljava/math/RoundingMode; pool[26] : utf8 = UNNECESSARY pool[27] : utf8 = doc pool[28] : utf8 = Ljava/lang/annotation/Documented; pool[29] : utf8 = SourceFile pool[30] : utf8 = ClassDepsParserTest.java pool[31] : descriptor (TAN) utf8 index = 8 = ()V pool[32] : class name utf8 index = 41 pool[33] : descriptor (TAN) utf8 index = 44 = null pool[34] : class name utf8 index = 45 pool[35] : descriptor (TAN) utf8 index = 48 = null pool[36] : utf8 = java/lang/RuntimeException pool[37] : class name utf8 index = 49 pool[38] : utf8 = net/jadecy/code/ClassDepsParserTest$MyMethodCodeConstructor pool[39] : utf8 = MyMethodCodeConstructor pool[40] : utf8 = java/lang/Object pool[41] : utf8 = java/lang/Integer pool[42] : utf8 = net/jadecy/code/ClassDepsParserTest$A_TYPE_USE_R_COMPLEX pool[43] : utf8 = valueOf pool[44] : utf8 = (I)Ljava/lang/Integer; pool[45] : utf8 = net/jadecy/code/ClassDepsParserTest$MyBlackHole pool[46] : utf8 = MyBlackHole pool[47] : utf8 = blackHole pool[48] : utf8 = (Ljava/lang/Object;)Z pool[49] : utf8 = net/jadecy/code/ClassDepsParserTest -Jeff From alex.buckley at oracle.com Wed Sep 9 01:12:52 2015 From: alex.buckley at oracle.com (Alex Buckley) Date: Tue, 08 Sep 2015 18:12:52 -0700 Subject: jdeps and annotations parameters In-Reply-To: <1532167323.1464130.1441751334613.JavaMail.yahoo@mail.yahoo.com> References: <55EF4264.5030809@oracle.com> <1532167323.1464130.1441751334613.JavaMail.yahoo@mail.yahoo.com> Message-ID: <55EF8794.2050109@oracle.com> Jeff, I confirm (JDK 8u40) that in an instance/static initializer, where a local variable declaration includes an annotated type, there is no RuntimeVisibleTypeAnnotations attribute emitted for the type annotation! This is so even when the correct meta-annotations appear on the declaration of the annotation type: @Target(ElementType.TYPE_USE) @Retention(RetentionPolicy.RUNTIME) In a ctor, the same local variable declaration does cause a RuntimeVisibleTypeAnnotations attribute to be emitted for the type annotation. I assume the difference stems from the fact that an annotation on a local variable declaration (the declaration, not its type) was traditionally never emitted into the class file, regardless of @Target. In SE 8, an annotation on the type of a local variable declaration can be emitted into the class file, but presumably some old code in javac is special-casing initializers and wasn't updated to understand type annotations therein. Jon, Can you confirm my presumption? Alex On 9/8/2015 3:28 PM, Jeff Hain wrote: > > Hi Alex. > > > > >Either this is a huge bug in javac or you're not looking in the right > >place. The code in an instance initializer compiles into the same > >method as the code in a constructor, so I would expect the method > >to have a RuntimeVisibleTypeAnnotations attribute whether the local > >variable (whose type is annotated) exists in {...} or a ctor. > > > > Here are the classes I parsed to test that (using the same annotation as > I described), > and bellow their respective constant pool, which are quite different, > with the > non-constructor one NOT containing RuntimeVisibleTypeAnnotations > (compiled with JDK8_60, -source 1.8 -target 1.8 (I guess the defaults > anyway)): > > > > /** > * method. > */ > public static class MyMethodCodeInitBlock { > { > // String will not make it into the class file. > > @A_TYPE_USE_R_COMPLEX(nbrClsArr={Long.class},tooStrong="",rounding=RoundingMode.UNNECESSARY,doc=@Documented) > Integer foo = 1; > try { > MyBlackHole.blackHole(foo); > } catch (RuntimeException e) { > throw e; > } > } > } > > /** > * method. > */ > public static class MyMethodCodeConstructor { > public MyMethodCodeConstructor() { > // String will not make it into the class file. > > @A_TYPE_USE_R_COMPLEX(nbrClsArr={Long.class},tooStrong="",rounding=RoundingMode.UNNECESSARY,doc=@Documented) > Integer foo = 1; > try { > MyBlackHole.blackHole(foo); > } catch (RuntimeException e) { > throw e; > } > } > } > > > > pool[4] : class name utf8 index = 22 > pool[5] : class name utf8 index = 24 > pool[6] : class name utf8 index = 27 > pool[7] : utf8 = > pool[8] : utf8 = ()V > pool[9] : utf8 = Code > pool[10] : utf8 = LineNumberTable > pool[11] : utf8 = StackMapTable > pool[12] : class name utf8 index = 24 > pool[13] : class name utf8 index = 28 > pool[14] : class name utf8 index = 22 > pool[15] : utf8 = SourceFile > pool[16] : utf8 = ClassDepsParserTest.java > pool[17] : descriptor (TAN) utf8 index = 8 = ()V > pool[18] : class name utf8 index = 28 > pool[19] : descriptor (TAN) utf8 index = 30 = null > pool[20] : class name utf8 index = 31 > pool[21] : descriptor (TAN) utf8 index = 34 = null > pool[22] : utf8 = java/lang/RuntimeException > pool[23] : class name utf8 index = 35 > pool[24] : utf8 = net/jadecy/code/ClassDepsParserTest$MyMethodCodeInitBlock > pool[25] : utf8 = MyMethodCodeInitBlock > pool[26] : utf8 = InnerClasses > pool[27] : utf8 = java/lang/Object > pool[28] : utf8 = java/lang/Integer > pool[29] : utf8 = valueOf > pool[30] : utf8 = (I)Ljava/lang/Integer; > pool[31] : utf8 = net/jadecy/code/ClassDepsParserTest$MyBlackHole > pool[32] : utf8 = MyBlackHole > pool[33] : utf8 = blackHole > pool[34] : utf8 = (Ljava/lang/Object;)Z > pool[35] : utf8 = net/jadecy/code/ClassDepsParserTest > > pool[4] : class name utf8 index = 36 > pool[5] : class name utf8 index = 38 > pool[6] : class name utf8 index = 40 > pool[7] : utf8 = > pool[8] : utf8 = ()V > pool[9] : utf8 = Code > pool[10] : utf8 = LineNumberTable > pool[11] : utf8 = StackMapTable > pool[12] : class name utf8 index = 38 > pool[13] : class name utf8 index = 41 > pool[14] : class name utf8 index = 36 > pool[15] : utf8 = RuntimeVisibleTypeAnnotations > pool[16] : class name utf8 index = 42 > pool[17] : utf8 = A_TYPE_USE_R_COMPLEX > pool[18] : utf8 = InnerClasses > pool[19] : utf8 = Lnet/jadecy/code/ClassDepsParserTest$A_TYPE_USE_R_COMPLEX; > pool[20] : utf8 = nbrClsArr > pool[21] : utf8 = Ljava/lang/Long; > pool[22] : utf8 = tooStrong > pool[23] : utf8 = > pool[24] : utf8 = rounding > pool[25] : utf8 = Ljava/math/RoundingMode; > pool[26] : utf8 = UNNECESSARY > pool[27] : utf8 = doc > pool[28] : utf8 = Ljava/lang/annotation/Documented; > pool[29] : utf8 = SourceFile > pool[30] : utf8 = ClassDepsParserTest.java > pool[31] : descriptor (TAN) utf8 index = 8 = ()V > pool[32] : class name utf8 index = 41 > pool[33] : descriptor (TAN) utf8 index = 44 = null > pool[34] : class name utf8 index = 45 > pool[35] : descriptor (TAN) utf8 index = 48 = null > pool[36] : utf8 = java/lang/RuntimeException > pool[37] : class name utf8 index = 49 > pool[38] : utf8 = > net/jadecy/code/ClassDepsParserTest$MyMethodCodeConstructor > pool[39] : utf8 = MyMethodCodeConstructor > pool[40] : utf8 = java/lang/Object > pool[41] : utf8 = java/lang/Integer > pool[42] : utf8 = net/jadecy/code/ClassDepsParserTest$A_TYPE_USE_R_COMPLEX > pool[43] : utf8 = valueOf > pool[44] : utf8 = (I)Ljava/lang/Integer; > pool[45] : utf8 = net/jadecy/code/ClassDepsParserTest$MyBlackHole > pool[46] : utf8 = MyBlackHole > pool[47] : utf8 = blackHole > pool[48] : utf8 = (Ljava/lang/Object;)Z > pool[49] : utf8 = net/jadecy/code/ClassDepsParserTest > > > > -Jeff > From mark.reinhold at oracle.com Wed Sep 9 16:53:05 2015 From: mark.reinhold at oracle.com (mark.reinhold at oracle.com) Date: Wed, 9 Sep 2015 09:53:05 -0700 (PDT) Subject: JEP 261: Module System Message-ID: <20150909165305.6782970361@eggemoggin.niobe.net> New JEP Candidate: http://openjdk.java.net/jeps/261 - Mark From mark.reinhold at oracle.com Wed Sep 9 16:53:35 2015 From: mark.reinhold at oracle.com (mark.reinhold at oracle.com) Date: Wed, 09 Sep 2015 09:53:35 -0700 Subject: Initial module-system design, API, and early-access builds Message-ID: <20150909095335.157393@eggemoggin.niobe.net> I've just posted the following materials as starting points for the work of the Java Platform Module System (JSR 376) Expert Group: - "The State of the Module System" [1], an informal overview of the proposed design. - An initial sketch of changes to the Java Language Specification and the Java Virtual Machine Specification [2]. - A preliminary draft API specification [3], along with diffs against a recent JDK 9 build [4]. - For the very brave, an initial prototype in both source [5] and binary forms [6]. (These links are also available on the JSR 376 web page [7].) The initial design covers a lot of ground, yet it is far from complete. There are many open issues, some of which are noted in the materials, and it does not yet satisfy all of the requirements [8]. >From this point onward the JSR 376 Expert Group will focus on the overall design, and on specific changes and additions to the Java SE Platform Specification. You can follow the EG's progress by subscribing to the observer list [9]. Please do not comment on ongoing EG discussions here on jigsaw-dev, and do not attempt to contact EG members directly. Feedback on the EG's work should be sent not to this list (jigsaw-dev) but to the EG's comments list (jpms-spec-comments [a]) for consideration by the EG. That list is not an open discussion list but, rather, a list to which anyone may post but only EG members may subscribe. It is, essentially, the EG's "suggestion box". This list (jigsaw-dev) will focus on issues outside the scope of the JSR. These include, but are not limited to: - The implementation of the JSR 376 specification; - The design and implementation of JDK-specific APIs and tools, as described in JEP 261 [b]; and - Questions about how to use the module system, as opposed to suggestions about how to change it. Experience reports from early testers and adopters are, finally, especially welcome. Please try out the EA builds [6] and let us know what you learn! - Mark [1] http://openjdk.java.net/projects/jigsaw/spec/sotms/ [2] http://cr.openjdk.java.net/~mr/jigsaw/spec/lang-vm.html [3] http://cr.openjdk.java.net/~mr/jigsaw/spec/api/ [4] http://cr.openjdk.java.net/~mr/jigsaw/spec/api-diff/ [5] http://hg.openjdk.java.net/jigsaw/jake [6] http://openjdk.java.net/projects/jigsaw/ea [7] http://openjdk.java.net/projects/jigsaw/spec/ [8] http://openjdk.java.net/projects/jigsaw/spec/reqs/ [9] http://mail.openjdk.java.net/mailman/listinfo/jpms-spec-observers [a] http://mail.openjdk.java.net/mailman/listinfo/jpms-spec-comments [b] http://openjdk.java.net/jeps/261 From rcmuir at gmail.com Thu Sep 10 05:06:49 2015 From: rcmuir at gmail.com (Robert Muir) Date: Thu, 10 Sep 2015 01:06:49 -0400 Subject: jigsaw EA feedback for apache lucene Message-ID: Thanks for posting this EA release! I played around with it just to try to get lucene working with it, got the lucene test suite passing, though initially tons of tests were failing. Problems were basically all test/build related: * API oddities around FileChannel required a better hack (thanks Brian): http://mail.openjdk.java.net/pipermail/nio-dev/2015-September/003322.html * Cleaning up a bunch of bad package accesses, these were already TODOs in our test security policy, mostly just test bugs and the like. * A few silly one-off's like a test that was trying to open String.class as a resource * some issues with a static analysis tool we use (https://github.com/policeman-tools/forbidden-apis), I think it wants to look at class files too. I also started investigating elasticsearch, which is another big codebase, but an app versus a library. This will require some more work (nothing compiles, all tests fail, app doesnt start) but I can report back on that later, after I try to cleanup. Overall I like how this stuff is more locked down. I do think a lot of projects will need to cleanup their code. For both these projects I am testing, we already had a nice head start: testing 9-ea versions already, running tests with security manager, trying to whittle down the bad package accesses for a while now, submit fixes to libraries we depend on, etc. From sundararajan.athijegannathan at oracle.com Thu Sep 10 05:52:52 2015 From: sundararajan.athijegannathan at oracle.com (Sundararajan Athijegannathan) Date: Thu, 10 Sep 2015 11:22:52 +0530 Subject: jigsaw EA feedback for apache lucene In-Reply-To: References: Message-ID: <55F11AB4.3050907@oracle.com> The forbidden-apis' Checker.java has these lines: final URL objectClassURL = loader.getResource("java/lang/Object.class"); if (objectClassURL != null && "jrt".equalsIgnoreCase(objectClassURL.getProtocol())) { // this is Java 9 with modules! isSupportedJDK = true; } else { final RuntimeMXBean rb = ManagementFactory.getRuntimeMXBean(); if (rb.isBootClassPathSupported()) { https://github.com/policeman-tools/forbidden-apis/blob/master/src/main/java/de/thetaphi/forbiddenapis/Checker.java ClassLoader.getResource for a .class resource is checked to detect if it runs on jdk9. This returns a "jrt:" URL in jdk9 EA build - but, returns null with jigsaw build. Also, RuntimeMXBean.isBootClassPathSupported() returns false. So, isSupportedJDK will be false. Better solution would be to check if "jrt" nio file system is available & use the same to check and/or read .class files of JDK classes. -Sundar On 9/10/2015 10:36 AM, Robert Muir wrote: > Thanks for posting this EA release! I played around with it just to > try to get lucene working with it, got the lucene test suite passing, > though initially tons of tests were failing. > > Problems were basically all test/build related: > * API oddities around FileChannel required a better hack (thanks > Brian): http://mail.openjdk.java.net/pipermail/nio-dev/2015-September/003322.html > * Cleaning up a bunch of bad package accesses, these were already > TODOs in our test security policy, mostly just test bugs and the like. > * A few silly one-off's like a test that was trying to open > String.class as a resource > * some issues with a static analysis tool we use > (https://github.com/policeman-tools/forbidden-apis), I think it wants > to look at class files too. > > I also started investigating elasticsearch, which is another big > codebase, but an app versus a library. This will require some more > work (nothing compiles, all tests fail, app doesnt start) but I can > report back on that later, after I try to cleanup. > > Overall I like how this stuff is more locked down. I do think a lot of > projects will need to cleanup their code. For both these projects I am > testing, we already had a nice head start: testing 9-ea versions > already, running tests with security manager, trying to whittle down > the bad package accesses for a while now, submit fixes to libraries we > depend on, etc. From Alan.Bateman at oracle.com Thu Sep 10 08:21:49 2015 From: Alan.Bateman at oracle.com (Alan Bateman) Date: Thu, 10 Sep 2015 09:21:49 +0100 Subject: jigsaw EA feedback for apache lucene In-Reply-To: References: Message-ID: <55F13D9D.5040103@oracle.com> On 10/09/2015 06:06, Robert Muir wrote: > : > > Problems were basically all test/build related: > * API oddities around FileChannel required a better hack (thanks > Brian): http://mail.openjdk.java.net/pipermail/nio-dev/2015-September/003322.html This one is subtle is that it was using core reflection to call a protected method in sun.nio.ch.FileChannelImpl. Static analysis with tools such as jdeps don't find cases like this. Good to see that a solution was found to this. > * Cleaning up a bunch of bad package accesses, these were already > TODOs in our test security policy, mostly just test bugs and the like. "bad package accesses", do you mean direct use of JDK-internal classes? As you mention security policy then I will guess that these must be granting of accessClassInPackage.$PKG because the default policy when running with a security manager does not allow direct access to sun.* APIs. > : > > Overall I like how this stuff is more locked down. I do think a lot of > projects will need to cleanup their code. For both these projects I am > testing, we already had a nice head start: testing 9-ea versions > already, running tests with security manager, trying to whittle down > the bad package accesses for a while now, submit fixes to libraries we > depend on, etc. Thanks for sending the mail with your experiences, this is exactly the type of discussion we are interested in. -Alan From uschindler at apache.org Thu Sep 10 09:29:44 2015 From: uschindler at apache.org (Uwe Schindler) Date: Thu, 10 Sep 2015 11:29:44 +0200 Subject: jigsaw EA feedback for apache lucene In-Reply-To: <55F13D9D.5040103@oracle.com> References: <55F13D9D.5040103@oracle.com> Message-ID: <00a701d0ebab$3c855390$b58ffab0$@apache.org> Hi, > On 10/09/2015 06:06, Robert Muir wrote: > > : > > > > Problems were basically all test/build related: > > * API oddities around FileChannel required a better hack (thanks > > Brian): > > http://mail.openjdk.java.net/pipermail/nio-dev/2015- > September/003322.h > > tml > This one is subtle is that it was using core reflection to call a protected > method in sun.nio.ch.FileChannelImpl. Static analysis with tools such as jdeps > don't find cases like this. Good to see that a solution was found to this. > > > * Cleaning up a bunch of bad package accesses, these were already > > TODOs in our test security policy, mostly just test bugs and the like. > "bad package accesses", do you mean direct use of JDK-internal classes? > As you mention security policy then I will guess that these must be granting > of accessClassInPackage.$PKG because the default policy when running with > a security manager does not allow direct access to sun.* APIs. That was the case here, we were able to remove it: http://goo.gl/nBsmK4 This only affected some tests but we were able to solve the problem. As Robert said, it was on our TODO list already. Tests sometimes want to assert special stuff. Production code in Lucene Core never used stuff like that. > > Overall I like how this stuff is more locked down. I do think a lot of > > projects will need to cleanup their code. For both these projects I am > > testing, we already had a nice head start: testing 9-ea versions > > already, running tests with security manager, trying to whittle down > > the bad package accesses for a while now, submit fixes to libraries we > > depend on, etc. > Thanks for sending the mail with your experiences, this is exactly the type of > discussion we are interested in. Thanks for providing the builds before they are included into EA builds! I will respond to the answer from Sundararajan Athijegannathan about the forbiddenapis static analysis tool, because this really causes headaches. For now we can no longer do the static analysis for our code quality, if you build Lucene with Java 9. The getResourceAsStream()/getResource() on JIGSAW packages always returning null is a disaster, also for many mocking frameworks or stuff that needs to "see" the bytecode in an easy way. Using the jrt-Filesystem makes the code horrible, because you have to mimic the whole classloader! And you cannot easily do that in tools that need to compile with Java 5 or Java 6 (most stuff in Maven/Ant has this requirement). :( Uwe From Alan.Bateman at oracle.com Thu Sep 10 10:22:33 2015 From: Alan.Bateman at oracle.com (Alan Bateman) Date: Thu, 10 Sep 2015 11:22:33 +0100 Subject: jigsaw EA feedback for apache lucene In-Reply-To: <55F11AB4.3050907@oracle.com> References: <55F11AB4.3050907@oracle.com> Message-ID: <55F159E9.2000408@oracle.com> On 10/09/2015 06:52, Sundararajan Athijegannathan wrote: > : > > ClassLoader.getResource for a .class resource is checked to detect if > it runs on jdk9. This returns a "jrt:" URL in jdk9 EA build - but, > returns null with jigsaw build. Also, > RuntimeMXBean.isBootClassPathSupported() returns false. > So, isSupportedJDK will be false. > > Better solution would be to check if "jrt" nio file system is > available & use the same to check and/or read .class files of JDK > classes. That will work but it might be better to look at java.lang.reflect.Module#getResourceAsStream as this will work for resources in both named and unnamed modules (for unnamed modules then it works like ClassLoader#getResourceAsStream). The summary on this is that the ClassLoader#getResourceXXX methods will locate resources on the class path as before, it's just that they don't locate resources in named modules. -Alan From uschindler at apache.org Thu Sep 10 11:14:46 2015 From: uschindler at apache.org (Uwe Schindler) Date: Thu, 10 Sep 2015 13:14:46 +0200 Subject: jigsaw EA feedback for apache lucene In-Reply-To: <55F159E9.2000408@oracle.com> References: <55F11AB4.3050907@oracle.com> <55F159E9.2000408@oracle.com> Message-ID: <00cd01d0ebb9$e9241ec0$bb6c5c40$@apache.org> Hi, > -----Original Message----- > From: jigsaw-dev [mailto:jigsaw-dev-bounces at openjdk.java.net] On Behalf > Of Alan Bateman > Sent: Thursday, September 10, 2015 12:23 PM > To: Sundararajan Athijegannathan; Robert Muir > Cc: jigsaw-dev at openjdk.java.net > Subject: Re: jigsaw EA feedback for apache lucene > > On 10/09/2015 06:52, Sundararajan Athijegannathan wrote: > > : > > > > ClassLoader.getResource for a .class resource is checked to detect if > > it runs on jdk9. This returns a "jrt:" URL in jdk9 EA build - but, > > returns null with jigsaw build. Also, > > RuntimeMXBean.isBootClassPathSupported() returns false. > > So, isSupportedJDK will be false. > > > > Better solution would be to check if "jrt" nio file system is > > available & use the same to check and/or read .class files of JDK > > classes. > That will work but it might be better to look at > java.lang.reflect.Module#getResourceAsStream as this will work for > resources in both named and unnamed modules (for unnamed modules > then it works like ClassLoader#getResourceAsStream). The summary on this > is that the ClassLoader#getResourceXXX methods will locate resources on > the class path as before, it's just that they don't locate resources in named > modules. OK. So you would first to find out the module of a class and then ask the module for the resource. Is there a way to get the module from the binary (string a la Class#forName()) class name without actually loading the class? The second problem for such checkers is: Unfortunately this needs Java 9 at compile time... On solution for this would be to wrap the checker's internal loading mechanism with a class solely compiled for Java 9 at runtime, if Java 9 was detected - that provides the missing resources - older Java versions would use the approach as currently implemented. But the big question is, that I was not able to understand after reading all the JIGSAW specs: Is there a reason why the (system-) classloader does not return any resources from foreign modules anymore? I agree that some internal properties files and so on are not needed to be available, but if a caller can do Class#forName() on a specific class that is public on top, why should it not also do a getResource() call on the class's bytecode - this makes no sense to me? Many frameworks like Google Guice, Spring,... rely on that because they may need to create proxy classes and therefore need to have the bytecode. So to me this seems like a major break! In my opinion, it should be possible to access the bytecode of classes if the class itself is available in Class#forName(). This was an assumption you were always able to count on. Java 9 does not simplify this, it makes tool building more complicated. I was so happy that you added "jrt:" URLs, but this is now also gone. The reason why this should work with Classloader is the defined way to lookup stuff. If I need a special case to load the bytecode for already visible classes, this makes tool development horrible. Since Java 1.0 this was a very easy thing. Class#forName() and Class#getResource() used the same lookup mechanis hidden by the class loader. You were able to rely since Java 1.0 on the fact that if you can load a class with ClassLoader#forName(), you can also load its bytecode with the same classloader. Maybe you should just hide private resources, but if the classloader detects that you do a getResource() on resource filename with ".class", it should use the same access checks of the module system and return the stuff as stream or jrt:// URL. Otherwise return null when Class#forName() would throw ClassNotFoundException. Uwe From rcmuir at gmail.com Thu Sep 10 11:22:51 2015 From: rcmuir at gmail.com (Robert Muir) Date: Thu, 10 Sep 2015 07:22:51 -0400 Subject: jigsaw EA feedback for apache lucene In-Reply-To: <55F13D9D.5040103@oracle.com> References: <55F13D9D.5040103@oracle.com> Message-ID: On Thu, Sep 10, 2015 at 4:21 AM, Alan Bateman wrote: > >> * Cleaning up a bunch of bad package accesses, these were already >> TODOs in our test security policy, mostly just test bugs and the like. > > "bad package accesses", do you mean direct use of JDK-internal classes? As > you mention security policy then I will guess that these must be granting of > accessClassInPackage.$PKG because the default policy when running with a > security manager does not allow direct access to sun.* APIs. > Yes, unfortunately when it comes to java libs this is "widespread" to say the least. When looking at the current situation for elasticsearch, as far as internal package usage, we aren't doing it ourselves, but today i've still got to worry about: 1. sun.misc.* for the mmap "unmap hack" of lucene. 2. sun.security.ssl.* for some crazy code in the AWS api. 3. sun.reflect.* for something groovy is doing. Its rare that java libraries use these internal packages in a "nice" way (e.g. well-contained in accesscontroller block, fallback if its not allowed/optional,. ...). Usually it is just direct usage and nobody is aware or cares about it, because most people are not using securitymanager. Third party developers don't seem to care when you throw the securitymanager argument at them, e.g. i've raised #2 with AWS months ago and nobody has done anything. So I am happy to see this stuff enforced more by jigsaw, because it gives me a stronger argument than my current screaming "this is really screwed up, its a security problem, etc". The downside is I do know a lot of code/libraries has issues like this, because I've been trying to whittle down the security permissions for this crazy stuff for months. That's why I think it will impact a lot of developers: I am sure lots of code does stuff like integrate with AWS, or integrate scripting languages like groovy, etc. Its harder to fix when its a dependency. From dawid.weiss at gmail.com Thu Sep 10 11:50:38 2015 From: dawid.weiss at gmail.com (Dawid Weiss) Date: Thu, 10 Sep 2015 13:50:38 +0200 Subject: jigsaw EA feedback for apache lucene In-Reply-To: References: <55F13D9D.5040103@oracle.com> Message-ID: > Yes, unfortunately when it comes to java libs this is "widespread" to > say the least. > Often this isn't even intentional. For example the failure in the static memory leak checker isn't caused by its codebase (no private class is referenced); the exception is thrown at runtime when test case fields are collected and there is an attempt to measure the size of leftover objects. If somebody leaves an instance of Timezone or Locale this leads to a runtime security exception. Dawid From Alan.Bateman at oracle.com Thu Sep 10 12:10:16 2015 From: Alan.Bateman at oracle.com (Alan Bateman) Date: Thu, 10 Sep 2015 13:10:16 +0100 Subject: jigsaw EA feedback for apache lucene In-Reply-To: References: <55F13D9D.5040103@oracle.com> Message-ID: <55F17328.10901@oracle.com> On 10/09/2015 12:22, Robert Muir wrote: > : > > When looking at the current situation for elasticsearch, as far as > internal package usage, we aren't doing it ourselves, but today i've > still got to worry about: > > 1. sun.misc.* for the mmap "unmap hack" of lucene. > 2. sun.security.ssl.* for some crazy code in the AWS api. > 3. sun.reflect.* for something groovy is doing. Some of these are may be "critical internal APIs" described in JEP 260 [1] so there is more time to work on those. > > Its rare that java libraries use these internal packages in a "nice" > way (e.g. well-contained in accesscontroller block, fallback if its > not allowed/optional,. ...). Usually it is just direct usage and > nobody is aware or cares about it, because most people are not using > securitymanager. If I understand you then you are finding these usages with JDK 7 and JDK 8 because you're forced to configure the security policy to grant access to these sun.* packages. So some extent then it means you have a head start. -Alan. [1] http://openjdk.java.net/jeps/260 From Alan.Bateman at oracle.com Thu Sep 10 12:46:32 2015 From: Alan.Bateman at oracle.com (Alan Bateman) Date: Thu, 10 Sep 2015 13:46:32 +0100 Subject: jigsaw EA feedback for apache lucene In-Reply-To: References: <55F13D9D.5040103@oracle.com> Message-ID: <55F17BA8.2050108@oracle.com> Uwe Schindler wrote: > So you would first to find out the module of a class and then ask the module for the resource. Is there a way to get the module from the binary (string a la Class#forName()) class name without actually loading the class? Yes, you'd need the Class object so you can call getModule(). > > The second problem for such checkers is: Unfortunately this needs Java 9 at compile time... On solution for this would be to wrap the checker's internal loading mechanism with a class solely compiled for Java 9 at runtime, if Java 9 was detected - that provides the missing resources - older Java versions would use the approach as currently implemented. This will work, or would using core reflection. I assume you've seen JEP 238 and the proposal for multi-release JAR files. > : > > > Is there a reason why the (system-) classloader does not return any resources from foreign modules anymore? I agree that some internal properties files and so on are not needed to be available, but if a caller can do Class#forName() on a specific class that is public on top, why should it not also do a getResource() call on the class's bytecode - this makes no sense to me? Many frameworks like Google Guice, Spring,... rely on that because they may need to create proxy classes and therefore need to have the bytecode. So to me this seems like a major break! One of the design issues that the JSR will need to decide is whether resources in a module are encapsulated, see: http://openjdk.java.net/projects/jigsaw/spec/reqs/#resource-encapsulation As things stand in the current builds then code in a module can get at any of the resources in its own module (Class.getResourceAsStream) but it can't use the legacy APIs to get at resources in other named modules. The legacy APIs work exactly as before for resources in unnamed modules (think JARs on the class path). Fameworks that scan the class path for resources will work as before but would need changes to get at resources in named modules. -Alan From rory.odonnell at oracle.com Thu Sep 10 13:21:01 2015 From: rory.odonnell at oracle.com (Rory O'Donnell) Date: Thu, 10 Sep 2015 14:21:01 +0100 Subject: jigsaw EA feedback for Eclipse/JBoss Tools and WildFly In-Reply-To: <84AF692F-38BA-4095-87CF-4091DD66EC0E@redhat.com> References: <84AF692F-38BA-4095-87CF-4091DD66EC0E@redhat.com> Message-ID: <55F183BD.6010108@oracle.com> Martin - thanks for your feedback, not sure your email made it to the list without subscribing. It will now, rgds Rory On 10/09/2015 13:59, Martin Malina wrote: > Hi, > > Today I tried out the early access build of jdk 1.9 with jigsaw [1]. I > tried it with JBoss Developer Studio 9.0.0.CR1 nightly build [2] > (based on Eclipse Mars) and while I didn't see any breakage in > the tooling itself, I was not able to start WildFly 10 Beta2 [3] with > this from Eclipse. It would start fine from command line. > I reported it here: https://issues.jboss.org/browse/JBIDE-20635 > > Rory O'Donnell encouraged me to share this with this list, so here you > go :) > > Note: I'm not subscribed to this mailing list, so please keep me in Cc > if you have any questions. > > Thanks, > Martin > > > [1] http://jdk9.java.net/jigsaw > [2] > https://devstudio.redhat.com/9.0/snapshots/builds/devstudio.product_master/ > [3] http://wildfly.org/downloads/ > > -- > Martin Malina > JBoss QA Engineer > Red Hat Czech s.r.o. > Purkynova 99 > 612 45 Brno, Czech Republic > > Tel.: +420 532 294 265 > > > -- Rgds,Rory O'Donnell Quality Engineering Manager Oracle EMEA , Dublin, Ireland From uschindler at apache.org Thu Sep 10 13:37:41 2015 From: uschindler at apache.org (Uwe Schindler) Date: Thu, 10 Sep 2015 15:37:41 +0200 Subject: jigsaw EA feedback for apache lucene In-Reply-To: <55F17BA8.2050108@oracle.com> References: <55F13D9D.5040103@oracle.com> <55F17BA8.2050108@oracle.com> Message-ID: <00fc01d0ebcd$dfbea260$9f3be720$@apache.org> Hi Alan, thanks for the useful information. I was able to fix the forbidden-apis checker to work correctly using the Class#getModule() approach. This can be done with easy core reflection also from older code that has to compile against Java 6. I tested it with the nightly build of b80 and works perfectly, whole testsuite of the checker passes. Here is the description what I do: https://goo.gl/9oT2Ch And this is the patch: https://goo.gl/noOYgD I still think that the resource encapsulation is a good thing, but on the other hand at least the special case "get bytecode of class I have access to" should be supported, maybe deprecated. Uwe ----- Uwe Schindler uschindler at apache.org ASF Member, Apache Lucene PMC / Committer Bremen, Germany http://lucene.apache.org/ > -----Original Message----- > From: Alan Bateman [mailto:Alan.Bateman at oracle.com] > Sent: Thursday, September 10, 2015 2:47 PM > To: Uwe Schindler; jigsaw-dev > Subject: Re: jigsaw EA feedback for apache lucene > > Uwe Schindler wrote: > > So you would first to find out the module of a class and then ask the > module for the resource. Is there a way to get the module from the binary > (string a la Class#forName()) class name without actually loading the class? > Yes, you'd need the Class object so you can call getModule(). > > > > > The second problem for such checkers is: Unfortunately this needs Java 9 > at compile time... On solution for this would be to wrap the checker's internal > loading mechanism with a class solely compiled for Java 9 at runtime, if Java 9 > was detected - that provides the missing resources - older Java versions > would use the approach as currently implemented. > This will work, or would using core reflection. I assume you've seen JEP > 238 and the proposal for multi-release JAR files. > > > > : > > > > > > Is there a reason why the (system-) classloader does not return any > resources from foreign modules anymore? I agree that some internal > properties files and so on are not needed to be available, but if a caller can do > Class#forName() on a specific class that is public on top, why should it not > also do a getResource() call on the class's bytecode - this makes no sense to > me? Many frameworks like Google Guice, Spring,... rely on that because they > may need to create proxy classes and therefore need to have the bytecode. > So to me this seems like a major break! > One of the design issues that the JSR will need to decide is whether > resources in a module are encapsulated, see: > http://openjdk.java.net/projects/jigsaw/spec/reqs/#resource- > encapsulation > > As things stand in the current builds then code in a module can get at > any of the resources in its own module (Class.getResourceAsStream) but > it can't use the legacy APIs to get at resources in other named modules. > The legacy APIs work exactly as before for resources in unnamed modules > (think JARs on the class path). Fameworks that scan the class path for > resources will work as before but would need changes to get at resources > in named modules. > > -Alan From Alan.Bateman at oracle.com Thu Sep 10 13:41:03 2015 From: Alan.Bateman at oracle.com (Alan Bateman) Date: Thu, 10 Sep 2015 14:41:03 +0100 Subject: jigsaw EA feedback for Eclipse/JBoss Tools and WildFly In-Reply-To: <55F183BD.6010108@oracle.com> References: <84AF692F-38BA-4095-87CF-4091DD66EC0E@redhat.com> <55F183BD.6010108@oracle.com> Message-ID: <55F1886F.1020601@oracle.com> On 10/09/2015 14:21, Rory O'Donnell wrote: > Martin - thanks for your feedback, not sure your email made it to the > list without subscribing. > > It will now, rgds Rory > On 10/09/2015 13:59, Martin Malina wrote: >> >> I reported it here: https://issues.jboss.org/browse/JBIDE-20635 Thanks for forwarding. The interesting line seems to be: 13:03:04,020 ERROR [org.jboss.as.controller] (Controller Boot Thread) WFLYCTL0002: Error booting the container: java.lang.IllegalAccessError: Class __redirected.__XMLInputFactory can not access a member of class com.sun.xml.internal.stream.XMLInputFactoryImpl (module java.xml) with modifiers "public", module java.xml does not export com.sun.xml.internal.stream to So __redirected.__XMLInputFactory (WildFly?, generated?) is attempting to use Class.newInstance to instantiate com.sun.xml.internal.stream.XMLInputFactoryImpl. This should fail with IllegalAccessException because com.sun.xml.internal.stream is not exported. I can't tell where IllegalAccessError is coming from, maybe someone is catching IllegalAccessException and re-throwing it as an IllegalAccessError. I assume using -XaddExports can be used to workaround this temporarily. -Alan. From rcmuir at gmail.com Thu Sep 10 13:42:35 2015 From: rcmuir at gmail.com (Robert Muir) Date: Thu, 10 Sep 2015 09:42:35 -0400 Subject: jigsaw EA feedback for apache lucene In-Reply-To: <55F17328.10901@oracle.com> References: <55F13D9D.5040103@oracle.com> <55F17328.10901@oracle.com> Message-ID: On Thu, Sep 10, 2015 at 8:10 AM, Alan Bateman wrote: > > If I understand you then you are finding these usages with JDK 7 and JDK 8 > because you're forced to configure the security policy to grant access to > these sun.* packages. So some extent then it means you have a head start. > Yes, thats right. We use the "forbidden-apis" tool Uwe mentions to statically scan for these classes, it will fail the build on usage of internal java apis, but it doesn't detect any accesses by reflection and isn't yet easy to apply to all your third party dependencies, too (https://github.com/policeman-tools/forbidden-apis/issues/38). We have used securitymanager in tests for some time now, for a number of reasons (e.g. detect bugs like bad filesystem accesses), and have been trying to minimize the permissions over time. Of course this only works when there is proper test coverage, and only recently (last year) did we become more aggressive and e.g. break out RuntimePermission("*") as we became more conscious of the problems and the benefits of cleaning it up. We also really try to keep dependencies minimal for both software projects. So I guess thats just more explanation of our experience/concerns. Personally I really really like the idea here, but I am a bit worried about projects especially with many dependencies that don't have this tooling etc in place (and ours is far from perfect), and might grossly underestimate the amount of effort needed to get things working. I don't speak of just internal package accesses, but also stuff like this, look at the top voted answer, its not URLClassLoader.newInstance() or anything like that: http://stackoverflow.com/questions/60764/how-should-i-load-jars-dynamically-at-runtime We just fixed that one in elasticsearch only this spring/summer and it required revamping the entire plugin mechanism from single to multi-classloader, this was a lot of code to clean up. From alan.bateman at oracle.com Thu Sep 10 19:30:44 2015 From: alan.bateman at oracle.com (alan.bateman at oracle.com) Date: Thu, 10 Sep 2015 19:30:44 +0000 Subject: hg: jigsaw/jake/jdk: javadoc comment needs to be before package declaration Message-ID: <201509101930.t8AJUi6Y024137@aojmv0008.oracle.com> Changeset: 80c9be2cf90b Author: alanb Date: 2015-09-10 15:48 +0100 URL: http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/80c9be2cf90b javadoc comment needs to be before package declaration ! src/java.base/share/classes/java/lang/module/package-info.java From alan.bateman at oracle.com Thu Sep 10 19:44:20 2015 From: alan.bateman at oracle.com (alan.bateman at oracle.com) Date: Thu, 10 Sep 2015 19:44:20 +0000 Subject: hg: jigsaw/jake/hotspot: Move code out of locked regsion to aid moving of logging code Message-ID: <201509101944.t8AJiKU7028174@aojmv0008.oracle.com> Changeset: 46f34d9a3520 Author: hseigel Date: 2015-09-10 20:42 +0100 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/46f34d9a3520 Move code out of locked regsion to aid moving of logging code ! src/share/vm/classfile/modules.cpp From Alan.Bateman at oracle.com Thu Sep 10 20:30:19 2015 From: Alan.Bateman at oracle.com (Alan Bateman) Date: Thu, 10 Sep 2015 21:30:19 +0100 Subject: Project Jigsaw: Early-Access Builds available on jdk9.java.net/jigsaw In-Reply-To: References: <55F067A9.6070606@oracle.com> Message-ID: <55F1E85B.3040004@oracle.com> On 10/09/2015 17:15, Mani Sarkar wrote: > Hi Rory, > > I have played with the Jigsaw JDK using the Quick starter guide and > have this to share with our community: > https://github.com/neomatrix369/jdk9-jigsaw > > There is a small mistake in the example on Services (see my > implementation you will spot it soon), also the Services example > explains more than one concept at a time and I think this might just > be a bit more than a simple example to illustrate Jigsaw features. > > The last two examples are not fully fleshed out. I would put a > footnote about jlink, that jmod + tools are going to supersede jimage > (if from what I have read so far is correct, I have even seen this > mentioned on a JBUG issue). > I don't immediately see the error in the services example (I need to look closer) but I think you have a point that this example jumps ahead too much. Good idea to get the examples into a repo with scripts. Just on the tools then jlink + jmod don't supersede the jimage tool. Lots of new j- tools so the following might be helpful: jlink is the linker. It links a set of modules together to create a run-time image, the layout of which is described in JEP 220. The jlink tool is in the current EA builds but no documentation to point at yet. There will be a JEP in time (as mentioned already in JEP 261). The jlink example you see in the quick start page should work and create a run-time image that contains module com.greetings and its transitive dependences. Another thing to mention is that the jigsaw/jake builds invoke jlink to create the JDK, JRE, and compact profile images. I think of jlink as a tool for the advanced tool chain and not something that most developers will use directly. The jmod tool is to the JMOD format as the jar tool is to the JAR format. In the jigsaw/jake build then you'll see that the tool is used to create a JMOD for each standard and JDK-specific module. The directory of JMOD files then serves as the module path for the linker when it creates the JDK and JRE images. Like jlink then I don't expect too many developers to need to use the jmod tool or JMOD format as modular JAR files will do just fine for most modules. In the example in the quick start page then the only reason that the JDK jmods directory is on the module path is because creating a custom image requires resolving standard and maybe JDK modules so the tool needs to be able to locate the corresponding module artifacts. Now jimage. In a run-time image (JEP 220) then classes and resources are stored in a container that is in jimage format. The format is deliberated not documented and best to assume it will change and evolve over time as it inhales new optimizations. Introducing a new container format is a bit scary and needs some tooling to aid troubleshooting in the event of problems. This is why the JDK 9 builds and the EA builds have a jimage tool. It can be used to do some verification, list or extract the contents. It's not meant to be on par with the jar tool of course. Instead just think of the jimage tool as First Aid Kit hanging on the wall in the event that you might need it. -Alan. From james.connors at oracle.com Thu Sep 10 20:52:30 2015 From: james.connors at oracle.com (Jim Connors) Date: Thu, 10 Sep 2015 16:52:30 -0400 Subject: Project Jigsaw: Early-Access Builds available on jdk9.java.net/jigsaw In-Reply-To: <55F1E85B.3040004@oracle.com> References: <55F067A9.6070606@oracle.com> <55F1E85B.3040004@oracle.com> Message-ID: <55F1ED8E.3000904@oracle.com> On 9/10/2015 4:30 PM, Alan Bateman wrote: > I don't immediately see the error in the services example (I need to > look closer) but I think you have a point that this example jumps > ahead too much. Good idea to get the examples into a repo with scripts. > In the Services Section: http://openjdk.java.net/projects/jigsaw/quick-start#services $ cat src/com.greetings/com/greetings/Main.java package com.greetings; import com.socket.NetworkSocket; public class Main { public static void main(String[] args) { NetworkSocket s = NetworkSocket.open(); } } When you run the com.greetings.Main class via: $ java -mp mods -m com.greetings/com.greetings.Main The Quick Start guide shows the output as: class org.fastsocket.FastNetworkSocket The Main.java file referenced above prints nothing (at least in my case), would it have to be modified slightly, something like: $ cat src/com.greetings/com/greetings/Main.java package com.greetings; import com.socket.NetworkSocket; public class Main { public static void main(String[] args) { NetworkSocket s = NetworkSocket.open(); System.out.println(s.getClass().toString()); } } -- Jim C From james.connors at oracle.com Thu Sep 10 20:55:25 2015 From: james.connors at oracle.com (Jim Connors) Date: Thu, 10 Sep 2015 16:55:25 -0400 Subject: Project Jigsaw: Early-Access Builds available on jdk9.java.net/jigsaw In-Reply-To: <55F1E85B.3040004@oracle.com> References: <55F067A9.6070606@oracle.com> <55F1E85B.3040004@oracle.com> Message-ID: <55F1EE3D.7010606@oracle.com> On 9/10/2015 4:30 PM, Alan Bateman wrote: > I don't immediately see the error in the services example (I need to > look closer) but I think you have a point that this example jumps > ahead too much. Good idea to get the examples into a repo with scripts. > In the Services Section: http://openjdk.java.net/projects/jigsaw/quick-start#services $ cat src/com.greetings/com/greetings/Main.java package com.greetings; import com.socket.NetworkSocket; public class Main { public static void main(String[] args) { NetworkSocket s = NetworkSocket.open(); } } When you run the com.greetings.Main class via: $ java -mp mods -m com.greetings/com.greetings.Main The Quick Start guide shows the output as: class org.fastsocket.FastNetworkSocket The Main.java file referenced above prints nothing (at least in my case), would it have to be modified slightly, something like: $ cat src/com.greetings/com/greetings/Main.java package com.greetings; import com.socket.NetworkSocket; public class Main { public static void main(String[] args) { NetworkSocket s = NetworkSocket.open(); System.out.println(s.getClass().toString()); } } -- Jim C From sadhak001 at gmail.com Thu Sep 10 21:12:40 2015 From: sadhak001 at gmail.com (Mani Sarkar) Date: Thu, 10 Sep 2015 22:12:40 +0100 Subject: Project Jigsaw: Early-Access Builds available on jdk9.java.net/jigsaw In-Reply-To: <55F1EE3D.7010606@oracle.com> References: <55F067A9.6070606@oracle.com> <55F1E85B.3040004@oracle.com> <55F1EE3D.7010606@oracle.com> Message-ID: Jim you stole my thunder and lightening - that was it. Cheers, Mani On Thu, Sep 10, 2015 at 9:55 PM, Jim Connors wrote: > On 9/10/2015 4:30 PM, Alan Bateman wrote: > > I don't immediately see the error in the services example (I need to look > closer) but I think you have a point that this example jumps ahead too > much. Good idea to get the examples into a repo with scripts. > > > In the Services Section: > http://openjdk.java.net/projects/jigsaw/quick-start#services > > $ cat src/com.greetings/com/greetings/Main.java > package com.greetings; > > import com.socket.NetworkSocket; > > public class Main { > public static void main(String[] args) { > NetworkSocket s = NetworkSocket.open(); > } > } > > When you run the com.greetings.Main class via: > > $ java -mp mods -m com.greetings/com.greetings.Main > > The Quick Start guide shows the output as: > > class org.fastsocket.FastNetworkSocket > > The Main.java file referenced above prints nothing (at least in my case), > would it have to be modified slightly, something like: > > $ cat src/com.greetings/com/greetings/Main.java > package com.greetings; > > import com.socket.NetworkSocket; > > public class Main { > public static void main(String[] args) { > NetworkSocket s = NetworkSocket.open(); > System.out.println(s.getClass().toString()); > } > } > > -- Jim C > -- @theNeomatrix369 * | **Blog ** | *LJC Associate & LJC Advocate (@adoptopenjdk & @adoptajsr programs) *Meet-a-Project - *MutabilityDetector * | **Bitbucket * * | **Github * * | **LinkedIn * *Come to Devoxx UK 2016:* http://www.devoxx.co.uk/ *Don't chase success, rather aim for "Excellence", and success will come chasing after you!* From sadhak001 at gmail.com Thu Sep 10 21:21:59 2015 From: sadhak001 at gmail.com (Mani Sarkar) Date: Thu, 10 Sep 2015 22:21:59 +0100 Subject: Project Jigsaw: Early-Access Builds available on jdk9.java.net/jigsaw In-Reply-To: <55F1ED8E.3000904@oracle.com> References: <55F067A9.6070606@oracle.com> <55F1E85B.3040004@oracle.com> <55F1ED8E.3000904@oracle.com> Message-ID: Hi Alan, Thanks for the detailed explanation and it would be great to find this in your docs - I will link to it. The reasons I understood, jimage might go away, as I read this https://bugs. *openjdk*.java.net/browse/JDK-8049369. But now its clear, they both have their place - I did think of jimage as the runtime container - thanks for confirming Cheers, Mani On Thu, Sep 10, 2015 at 9:52 PM, Jim Connors wrote: > On 9/10/2015 4:30 PM, Alan Bateman wrote: > > I don't immediately see the error in the services example (I need to look > closer) but I think you have a point that this example jumps ahead too > much. Good idea to get the examples into a repo with scripts. > > > In the Services Section: > http://openjdk.java.net/projects/jigsaw/quick-start#services > > $ cat src/com.greetings/com/greetings/Main.java > package com.greetings; > > import com.socket.NetworkSocket; > > public class Main { > public static void main(String[] args) { > NetworkSocket s = NetworkSocket.open(); > } > } > > When you run the com.greetings.Main class via: > > $ java -mp mods -m com.greetings/com.greetings.Main > > The Quick Start guide shows the output as: > > class org.fastsocket.FastNetworkSocket > > The Main.java file referenced above prints nothing (at least in my case), > would it have to be modified slightly, something like: > > $ cat src/com.greetings/com/greetings/Main.java > package com.greetings; > > import com.socket.NetworkSocket; > > public class Main { > public static void main(String[] args) { > NetworkSocket s = NetworkSocket.open(); > System.out.println(s.getClass().toString()); > } > } > > -- Jim C > -- @theNeomatrix369 * | **Blog ** | *LJC Associate & LJC Advocate (@adoptopenjdk & @adoptajsr programs) *Meet-a-Project - *MutabilityDetector * | **Bitbucket * * | **Github * * | **LinkedIn * *Come to Devoxx UK 2016:* http://www.devoxx.co.uk/ *Don't chase success, rather aim for "Excellence", and success will come chasing after you!* From james.connors at oracle.com Thu Sep 10 21:24:42 2015 From: james.connors at oracle.com (Jim Connors) Date: Thu, 10 Sep 2015 17:24:42 -0400 Subject: Another Quick Start Guide Nitpick In-Reply-To: <55F1EE3D.7010606@oracle.com> References: <55F067A9.6070606@oracle.com> <55F1E85B.3040004@oracle.com> <55F1EE3D.7010606@oracle.com> Message-ID: <55F1F51A.5000408@oracle.com> One more thing while I'm at it: In the "Missing requires or missing exports" section: http://openjdk.java.net/projects/jigsaw/quick-start#missing We now fix this module declaration but introduce a different mistake, this time we omit the |exports| from the |org.astro| module declaration: $ cat src/com.greetings/module-info.java module com.greetings { requires org.astro; } $ cat src/org.astro/module-info.java module org.astro { // exports org.astro; } Prior to issuing the javac on the greetings.com module (with anticipated error) $ javac -modulepath mods -d mods/com.greetings \ src/com.greetings/module-info.java src/com.greetings/com/greetings/Main.java I think the org.astro module has to be rebuilt first. Otherwise no error will appear. $ javac -d mods/org.astro \ src/org.astro/module-info.java src/org.astro/org/astro/World.java Make sense? -- Jim C From sadhak001 at gmail.com Thu Sep 10 21:30:29 2015 From: sadhak001 at gmail.com (Mani Sarkar) Date: Thu, 10 Sep 2015 22:30:29 +0100 Subject: Another Quick Start Guide Nitpick In-Reply-To: <55F1F51A.5000408@oracle.com> References: <55F067A9.6070606@oracle.com> <55F1E85B.3040004@oracle.com> <55F1EE3D.7010606@oracle.com> <55F1F51A.5000408@oracle.com> Message-ID: Jim, Yes that's another issue there. I meant to report - already switched it around in my bash scripts see the 5_Missing_xxx folders. One more thing while we are at it - wherever possible in the examples we need to mention that the javac and java commands should be executed from outside the src folder - its obviously but just to be a bit more clear, as these are new things we are learning about JDK9. Cheers, Mani On Thu, Sep 10, 2015 at 10:24 PM, Jim Connors wrote: > One more thing while I'm at it: > > In the "Missing requires or missing exports" section: > http://openjdk.java.net/projects/jigsaw/quick-start#missing > > We now fix this module declaration but introduce a different mistake, this > time we omit the exports from the org.astro module declaration: > > $ cat src/com.greetings/module-info.java > module com.greetings { > requires org.astro; > } > $ cat src/org.astro/module-info.java > module org.astro { > // exports org.astro; > } > > > Prior to issuing the javac on the greetings.com module (with anticipated > error) > > $ javac -modulepath mods -d mods/com.greetings \ > src/com.greetings/module-info.java src/com.greetings/com/greetings/Main.java > > > I think the org.astro module has to be rebuilt first. Otherwise no error > will appear. > > $ javac -d mods/org.astro \ > src/org.astro/module-info.java src/org.astro/org/astro/World.java > > Make sense? > -- Jim C > -- @theNeomatrix369 * | **Blog ** | *LJC Associate & LJC Advocate (@adoptopenjdk & @adoptajsr programs) *Meet-a-Project - *MutabilityDetector * | **Bitbucket * * | **Github * * | **LinkedIn * *Come to Devoxx UK 2016:* http://www.devoxx.co.uk/ *Don't chase success, rather aim for "Excellence", and success will come chasing after you!* From snfuchs at gmx.de Thu Sep 10 22:00:47 2015 From: snfuchs at gmx.de (Stefan Fuchs) Date: Fri, 11 Sep 2015 00:00:47 +0200 Subject: Initial module-system design, API, and early-access builds In-Reply-To: <20150909095335.157393@eggemoggin.niobe.net> References: <20150909095335.157393@eggemoggin.niobe.net> Message-ID: <55F1FD8F.8060609@gmx.de> Hi, reading the overview document I stumbled upon the sentence, that the module declaration should by convention go to a file named module-info.java and therefore complied to ||module-info.class file in the root directory of the jar file. Does this mean, that a modular jar file may only contain one module at a time? For many applications it is common practice to fold all compiled classes and its dependencies into one big jar file. Would this still work? Wouldn't it be better to include the module name in the file name? e.g.: com-foo-bar-module-info.java - Stefan From mandy.chung at oracle.com Thu Sep 10 22:23:28 2015 From: mandy.chung at oracle.com (Mandy Chung) Date: Thu, 10 Sep 2015 15:23:28 -0700 Subject: Project Jigsaw: Early-Access Builds available on jdk9.java.net/jigsaw In-Reply-To: <55F1EE3D.7010606@oracle.com> References: <55F067A9.6070606@oracle.com> <55F1E85B.3040004@oracle.com> <55F1EE3D.7010606@oracle.com> Message-ID: <55F202E0.6010203@oracle.com> On 09/10/2015 01:55 PM, Jim Connors wrote: > > When you run the com.greetings.Main class via: > > $ java -mp mods -m com.greetings/com.greetings.Main > > The Quick Start guide shows the output as: > > class org.fastsocket.FastNetworkSocket > > The Main.java file referenced above prints nothing (at least in my > case), would it have to be modified slightly, something like: > > $ cat src/com.greetings/com/greetings/Main.java > package com.greetings; > > import com.socket.NetworkSocket; > > public class Main { > public static void main(String[] args) { > NetworkSocket s = NetworkSocket.open(); > System.out.println(s.getClass().toString()); > } > } > I think you are right. The System.out.println is missing in the sample code in the quickstart guide. The key point there is to show that the service provider implementation class is loaded. Mandy Mandy From mark.reinhold at oracle.com Thu Sep 10 22:26:52 2015 From: mark.reinhold at oracle.com (mark.reinhold at oracle.com) Date: Thu, 10 Sep 2015 15:26:52 -0700 Subject: Initial module-system design, API, and early-access builds In-Reply-To: <55F1FD8F.8060609@gmx.de> References: <20150909095335.157393@eggemoggin.niobe.net>, <55F1FD8F.8060609@gmx.de> Message-ID: <20150910152652.858945@eggemoggin.niobe.net> 2015/9/10 3:00 -0700, snfuchs at gmx.de: > reading the overview document I stumbled upon the sentence, that the > module declaration should by convention go to a file named > module-info.java and therefore complied to ||module-info.class file in > the root directory of the jar file. Does this mean, that a modular jar > file may only contain one module at a time? Yes. > For many applications it is > common practice to fold all compiled classes and its dependencies into > one big jar file. Would this still work? > Wouldn't it be better to include the module name in the file name? > e.g.: com-foo-bar-module-info.java The assumption behind the modular-JAR concept is that a JAR file is a single unit of release and re-use, rather than a collection of all the components that make up an entire application, so there's no need to package more than one module into such a JAR. If you think it's critical for modular JARs to support multiple modules then please let the EG know (jpms-spec-comments at openjdk.java.net). - Mark From blackdrag at gmx.org Thu Sep 10 22:40:15 2015 From: blackdrag at gmx.org (Jochen Theodorou) Date: Fri, 11 Sep 2015 00:40:15 +0200 Subject: Groovy with Jigsaw Message-ID: <55F206CF.8040108@gmx.org> Hi, we are currently investigating problems Groovy has with Jigsaw. A lot changed with jigsaw, and since Groovy does often not use standard methods, a lot fails. But first I would like to ask something that I haven't seen covered in http://openjdk.java.net/projects/jigsaw/quick-start or http://openjdk.java.net/projects/jigsaw/spec/sotms/ Maybe I did not see it, since it is late here. I hope the questions should not better have gone to the expert group comment list. It was not fully clear to me where goes what. Anyway... As far as I understood a classloader can have a N modules plus the unnamed module. I assume a the children of a classloader do not automatically share modules (or not at all?) with their children. Do assume right in that there is no way to create a module at runtime? Next question is about runtime generated classes. And I mean here classes generated by user code at runtime, as well as proxies, code for reflection and invokedynamic and all the other bytecode generating facilities. Will they all go into the unnamed module? Assuming they go there (how else can you choose from those N modules), what access rights to the modules will they have? I assume to everything that is exported, and for that it does not matter if it is the same class loader or a parent or any other loader. I further assume you can load a module at runtime... by for example using URLClassLoader. Now let us say there is a classloader for module A, which exports some packages to module B. Must module B then be loaded in the same classloader (or a parent) as A? If a child loader can load B and allow access according to the exports rules. What happens if multiple children each have their own B, and maybe those B are totally unrelated to each other? I assume this is possible. Now a more practical one... In Groovy we have code like this: try { AccessController.doPrivileged(new PrivilegedAction() { public Object run() { c.setAccessible(true); return null; } }); } catch (SecurityException e) { // IGNORE } which is code supposed to "check" if we can access the class member or if any security manager will disallow this. In this case the method becomes unavailable for invocation... Now jigsaw changes do make the setAccessible method also throws java.lang.reflect.InaccessibleObjectException. What is the suggested way to handle this for code that has to be also compatible to pre JDK9 code? catch RuntimeException, check the class name and rethrow if the name does not fit? And then a question probably a bit more complicated... Groovy uses reflection/runtime generated classes/invokedynamic to invoke methods. That means the method invocation point (for reflection, the class that calls the invoke method) is most often in the Groovy runtime. And even if Groovy would define its own module, those runtime generated classes would not be in the same module (or is there a way for this?) Now assume somebody wrote this class in Groovy: /* code without sense following */ class MyFactory { public Factory getFactory() {return new FactoryImpl()} } interface Factory{String foo()} class FactoryImpl implements Factory{ String foo() { return internal()+"foo" } String internal() {"Factory"} } and let us assume MyFactory and Factory are in a package, which is exported, FactoryImpl not. Now... since Groovy is currently in no module and since it needs to use reflection to execute the internal() method call here, does this mean the call will fail, because the object is inaccessible? Actually I assume we would not even see the method. If that assumption is right, does this means every application that uses modules and is at least partially written in Groovy, has to export each and every package to Groovy, in order to allow it to do method calls? That is assuming Groovy has a module by then. Without it I assume it cannot be made. Well... enough for now, further questions will surely develop later on. bye Jochen Theodorou -- Jochen "blackdrag" Theodorou blog: http://blackdragsview.blogspot.com/ From uschindler at apache.org Thu Sep 10 22:57:31 2015 From: uschindler at apache.org (Uwe Schindler) Date: Fri, 11 Sep 2015 00:57:31 +0200 Subject: Groovy with Jigsaw In-Reply-To: <55F206CF.8040108@gmx.org> References: <55F206CF.8040108@gmx.org> Message-ID: <01a501d0ec1c$15036d90$3f0a48b0$@apache.org> Hi, > Now a more practical one... In Groovy we have code like this: > > try { > AccessController.doPrivileged(new PrivilegedAction() { > public Object run() { > c.setAccessible(true); > return null; > } > }); > } > catch (SecurityException e) { > // IGNORE > } > > which is code supposed to "check" if we can access the class member or if > any security manager will disallow this. In this case the method becomes > unavailable for invocation... Now jigsaw changes do make the setAccessible > method also throws java.lang.reflect.InaccessibleObjectException. What is > the suggested way to handle this for code that has to be also compatible to > pre JDK9 code? > catch RuntimeException, check the class name and rethrow if the name does > not fit? I already opened an issue about this: https://issues.apache.org/jira/browse/GROOVY-7587 This makes Groovy unuseable at the moment with JIGSAW. Elasticsearch is affected by this, but also the Ant-based build scripts used to build Lucene and Forbiddenapis (both use Groovy from Ant). I think the only "quick" fix would be to check RuntimeException, check class type, otherwise rethrow. I also wanted to ask the question: setAccessible() already throws some checked exceptions, why invent a new one that?s no longer checked? Could it not simply be one already there - one of the checked ones - or a new one just subclassing ReflectiveOperationException? This is completely inconsistent to other core reflection APIs. Why have a totally unexpected new one? Uwe ----- Uwe Schindler uschindler at apache.org ASF Member, Apache Lucene PMC / Committer Bremen, Germany http://lucene.apache.org/ From jonathan.gibbons at oracle.com Thu Sep 10 23:23:04 2015 From: jonathan.gibbons at oracle.com (Jonathan Gibbons) Date: Thu, 10 Sep 2015 16:23:04 -0700 Subject: jdeps and annotations parameters In-Reply-To: <55EF8794.2050109@oracle.com> References: <55EF4264.5030809@oracle.com> <1532167323.1464130.1441751334613.JavaMail.yahoo@mail.yahoo.com> <55EF8794.2050109@oracle.com> Message-ID: <55F210D8.9050200@oracle.com> On 09/08/2015 06:12 PM, Alex Buckley wrote: > Jeff, > > I confirm (JDK 8u40) that in an instance/static initializer, where a > local variable declaration includes an annotated type, there is no > RuntimeVisibleTypeAnnotations attribute emitted for the type > annotation! This is so even when the correct meta-annotations appear > on the declaration of the annotation type: > > @Target(ElementType.TYPE_USE) > @Retention(RetentionPolicy.RUNTIME) > > In a ctor, the same local variable declaration does cause a > RuntimeVisibleTypeAnnotations attribute to be emitted for the type > annotation. > > I assume the difference stems from the fact that an annotation on a > local variable declaration (the declaration, not its type) was > traditionally never emitted into the class file, regardless of > @Target. In SE 8, an annotation on the type of a local variable > declaration can be emitted into the class file, but presumably some > old code in javac is special-casing initializers and wasn't updated to > understand type annotations therein. > > Jon, > > Can you confirm my presumption? I could believe there is a bug in this area, if that is what you are asking. -- Jon > > Alex > > On 9/8/2015 3:28 PM, Jeff Hain wrote: >> >> Hi Alex. >> >> >> >> >Either this is a huge bug in javac or you're not looking in the right >> >place. The code in an instance initializer compiles into the same >> >> >method as the code in a constructor, so I would expect the >> method >> >to have a RuntimeVisibleTypeAnnotations attribute whether the local >> >variable (whose type is annotated) exists in {...} or a ctor. >> >> >> >> Here are the classes I parsed to test that (using the same annotation as >> I described), >> and bellow their respective constant pool, which are quite different, >> with the >> non-constructor one NOT containing RuntimeVisibleTypeAnnotations >> (compiled with JDK8_60, -source 1.8 -target 1.8 (I guess the defaults >> anyway)): >> >> >> >> /** >> * method. >> */ >> public static class MyMethodCodeInitBlock { >> { >> // String will not make it into the class file. >> >> @A_TYPE_USE_R_COMPLEX(nbrClsArr={Long.class},tooStrong="",rounding=RoundingMode.UNNECESSARY,doc=@Documented) >> >> Integer foo = 1; >> try { >> MyBlackHole.blackHole(foo); >> } catch (RuntimeException e) { >> throw e; >> } >> } >> } >> >> /** >> * method. >> */ >> public static class MyMethodCodeConstructor { >> public MyMethodCodeConstructor() { >> // String will not make it into the class file. >> >> @A_TYPE_USE_R_COMPLEX(nbrClsArr={Long.class},tooStrong="",rounding=RoundingMode.UNNECESSARY,doc=@Documented) >> >> Integer foo = 1; >> try { >> MyBlackHole.blackHole(foo); >> } catch (RuntimeException e) { >> throw e; >> } >> } >> } >> >> >> >> pool[4] : class name utf8 index = 22 >> pool[5] : class name utf8 index = 24 >> pool[6] : class name utf8 index = 27 >> pool[7] : utf8 = >> pool[8] : utf8 = ()V >> pool[9] : utf8 = Code >> pool[10] : utf8 = LineNumberTable >> pool[11] : utf8 = StackMapTable >> pool[12] : class name utf8 index = 24 >> pool[13] : class name utf8 index = 28 >> pool[14] : class name utf8 index = 22 >> pool[15] : utf8 = SourceFile >> pool[16] : utf8 = ClassDepsParserTest.java >> pool[17] : descriptor (TAN) utf8 index = 8 = ()V >> pool[18] : class name utf8 index = 28 >> pool[19] : descriptor (TAN) utf8 index = 30 = null >> pool[20] : class name utf8 index = 31 >> pool[21] : descriptor (TAN) utf8 index = 34 = null >> pool[22] : utf8 = java/lang/RuntimeException >> pool[23] : class name utf8 index = 35 >> pool[24] : utf8 = >> net/jadecy/code/ClassDepsParserTest$MyMethodCodeInitBlock >> pool[25] : utf8 = MyMethodCodeInitBlock >> pool[26] : utf8 = InnerClasses >> pool[27] : utf8 = java/lang/Object >> pool[28] : utf8 = java/lang/Integer >> pool[29] : utf8 = valueOf >> pool[30] : utf8 = (I)Ljava/lang/Integer; >> pool[31] : utf8 = net/jadecy/code/ClassDepsParserTest$MyBlackHole >> pool[32] : utf8 = MyBlackHole >> pool[33] : utf8 = blackHole >> pool[34] : utf8 = (Ljava/lang/Object;)Z >> pool[35] : utf8 = net/jadecy/code/ClassDepsParserTest >> >> pool[4] : class name utf8 index = 36 >> pool[5] : class name utf8 index = 38 >> pool[6] : class name utf8 index = 40 >> pool[7] : utf8 = >> pool[8] : utf8 = ()V >> pool[9] : utf8 = Code >> pool[10] : utf8 = LineNumberTable >> pool[11] : utf8 = StackMapTable >> pool[12] : class name utf8 index = 38 >> pool[13] : class name utf8 index = 41 >> pool[14] : class name utf8 index = 36 >> pool[15] : utf8 = RuntimeVisibleTypeAnnotations >> pool[16] : class name utf8 index = 42 >> pool[17] : utf8 = A_TYPE_USE_R_COMPLEX >> pool[18] : utf8 = InnerClasses >> pool[19] : utf8 = >> Lnet/jadecy/code/ClassDepsParserTest$A_TYPE_USE_R_COMPLEX; >> pool[20] : utf8 = nbrClsArr >> pool[21] : utf8 = Ljava/lang/Long; >> pool[22] : utf8 = tooStrong >> pool[23] : utf8 = >> pool[24] : utf8 = rounding >> pool[25] : utf8 = Ljava/math/RoundingMode; >> pool[26] : utf8 = UNNECESSARY >> pool[27] : utf8 = doc >> pool[28] : utf8 = Ljava/lang/annotation/Documented; >> pool[29] : utf8 = SourceFile >> pool[30] : utf8 = ClassDepsParserTest.java >> pool[31] : descriptor (TAN) utf8 index = 8 = ()V >> pool[32] : class name utf8 index = 41 >> pool[33] : descriptor (TAN) utf8 index = 44 = null >> pool[34] : class name utf8 index = 45 >> pool[35] : descriptor (TAN) utf8 index = 48 = null >> pool[36] : utf8 = java/lang/RuntimeException >> pool[37] : class name utf8 index = 49 >> pool[38] : utf8 = >> net/jadecy/code/ClassDepsParserTest$MyMethodCodeConstructor >> pool[39] : utf8 = MyMethodCodeConstructor >> pool[40] : utf8 = java/lang/Object >> pool[41] : utf8 = java/lang/Integer >> pool[42] : utf8 = >> net/jadecy/code/ClassDepsParserTest$A_TYPE_USE_R_COMPLEX >> pool[43] : utf8 = valueOf >> pool[44] : utf8 = (I)Ljava/lang/Integer; >> pool[45] : utf8 = net/jadecy/code/ClassDepsParserTest$MyBlackHole >> pool[46] : utf8 = MyBlackHole >> pool[47] : utf8 = blackHole >> pool[48] : utf8 = (Ljava/lang/Object;)Z >> pool[49] : utf8 = net/jadecy/code/ClassDepsParserTest >> >> >> >> -Jeff >> From rcmuir at gmail.com Thu Sep 10 23:25:30 2015 From: rcmuir at gmail.com (Robert Muir) Date: Thu, 10 Sep 2015 19:25:30 -0400 Subject: Groovy with Jigsaw In-Reply-To: <01a501d0ec1c$15036d90$3f0a48b0$@apache.org> References: <55F206CF.8040108@gmx.org> <01a501d0ec1c$15036d90$3f0a48b0$@apache.org> Message-ID: I agree with Uwe. Practically this just makes more code to fix. I dont see any advantage of using a new exception, what is the rationale? Using an existing exception means existing try catch blocks will take care in many of these cases and just slow the adoption of java 9 even more. On Sep 10, 2015 6:58 PM, "Uwe Schindler" wrote: > > Hi, > > > Now a more practical one... In Groovy we have code like this: > > > > try { > > AccessController.doPrivileged(new PrivilegedAction() { > > public Object run() { > > c.setAccessible(true); > > return null; > > } > > }); > > } > > catch (SecurityException e) { > > // IGNORE > > } > > > > which is code supposed to "check" if we can access the class member or if > > any security manager will disallow this. In this case the method becomes > > unavailable for invocation... Now jigsaw changes do make the setAccessible > > method also throws java.lang.reflect.InaccessibleObjectException. What is > > the suggested way to handle this for code that has to be also compatible to > > pre JDK9 code? > > catch RuntimeException, check the class name and rethrow if the name does > > not fit? > > I already opened an issue about this: https://issues.apache.org/jira/browse/GROOVY-7587 > > This makes Groovy unuseable at the moment with JIGSAW. Elasticsearch is affected by this, but also the Ant-based build scripts used to build Lucene and Forbiddenapis (both use Groovy from Ant). I think the only "quick" fix would be to check RuntimeException, check class type, otherwise rethrow. > > I also wanted to ask the question: setAccessible() already throws some checked exceptions, why invent a new one that?s no longer checked? Could it not simply be one already there - one of the checked ones - or a new one just subclassing ReflectiveOperationException? This is completely inconsistent to other core reflection APIs. Why have a totally unexpected new one? > > Uwe > > ----- > Uwe Schindler > uschindler at apache.org > ASF Member, Apache Lucene PMC / Committer > Bremen, Germany > http://lucene.apache.org/ > > From rcmuir at gmail.com Fri Sep 11 05:07:11 2015 From: rcmuir at gmail.com (Robert Muir) Date: Fri, 11 Sep 2015 01:07:11 -0400 Subject: Jigsaw EA feedback for elasticsearch Message-ID: I just got elasticsearch working on the jigsaw EA build (thanks again, this is really helpful). Most fixes were very minor, but #5 and #6 are actual loss of features/functionality to users. 1. compilation issues I encountered are not related to jigsaw, but happen for all 9-ea builds. Looks like there is a maven build issue for 9-ea if you try to use -Werror (and we want to fail on compiler warnings). We just haven't noticed because of stability issues, they have not been running in jenkins. 2. we have a "jar hell detector" that threw an UnsupportedOperationException, because classloader is no longer a URLClassLoader, so we can't get the list of urls. This caused all tests to fail. I changed the code to parse java.class.path. 3. we have a "jvm info" api that provides information about the jvm, e.g. to assist our engineers in debugging different nodes in the cluster. it was not prepared to handle UnsupportedOperationException from RuntimeMXBean.getBootClassPath: I fixed it to fall back to sun.boot.class.path, otherwise fall back to "unknown". 4. exception serialization tests failed, because we manually serialize exceptions. We previously used java serialization, but it causes serious trouble because of backwards compatibility breaks between even minor jdk versions: this would strike when users try to upgrade their jvms for nodes in their cluster with a rolling restart. The tests fail because the stacktrace "loses" stuff after deserialization (the module version). For now i just disabled the tests on java 9, because I don't know how we can support e.g. java 8 and java 9 and populate this stuff "optionally" yet without more digging. 5. we have monitoring apis that provide basic system information, similar to #3, for debugging purposes, and to feed monitoring tools so people can track the health of the cluster. previously, we used the sigar library (JNI) for this, but it has bugs that caused users crashes. So we were forced to limit ourselves to what is provided with java management apis: which is much less, but we figure it has the basics. For some very basic stats, this means we also look for com.sun.management apis (https://docs.oracle.com/javase/7/docs/jre/api/management/extension/com/sun/management/package-summary.html) and if they are available, we provide the stuff available there too, like how much ram is on the machine, swap in use, number of open/max file descriptors, and so on. We test what is available and what is not based on platform so we can detect if something changes in the JDK, like what happens with jigsaw, where they all become unavailable. These stats are important for debugging: e.g. if lucene is not behaving right, merging could fall behind and many open filedescriptors is a sign of that. I disabled these tests for java 9 but I think this is too much, we will be forced to write our own JNA or /proc reading code for platforms we care about if this is not available from the JDK, its too important. I'd really really really like to not have to do that. it seems a little odd to block these apis but allow Unsafe IMO. 6. cluster snapshot/restore to amazon s3 does not work, because of their use of internal ssl libraries. I've tried to get them to fix it for a while now (https://github.com/aws/aws-sdk-java/pull/432). This is also a serious loss of functionality, if they wont fix it, I guess we have to fork the aws sdk. 7. we had some test bugs similar to the lucene case (static leaks in tests and the same test framework tried to compute the size of some internal class). 8. during testing I hit some kind of bug, where the thai break iterator returned wrong information. This might be hotspot-related or something else, and it never reproduced again. We use this check (https://github.com/apache/lucene-solr/blob/trunk/lucene/analysis/common/src/java/org/apache/lucene/analysis/th/ThaiTokenizer.java#L37-L47) to see if we can "really" tokenize thai, otherwise we throw an exception. For some IBM JVM versions at least in the past, they did not have a breakiterator for thai. I guess it just goes to show the EA build is really a prototype, and not yet ready to be added to our CI servers and so on... which is the only way I can ensure this huge codebase stays working with jigsaw. From erik.joelsson at oracle.com Fri Sep 11 07:10:59 2015 From: erik.joelsson at oracle.com (erik.joelsson at oracle.com) Date: Fri, 11 Sep 2015 07:10:59 +0000 Subject: hg: jigsaw/jake: Aligning jake build changes with jdk9 PathList make macro Message-ID: <201509110711.t8B7B0NW023989@aojmv0008.oracle.com> Changeset: 2d8a9f34a025 Author: erikj Date: 2015-09-09 18:38 +0200 URL: http://hg.openjdk.java.net/jigsaw/jake/rev/2d8a9f34a025 Aligning jake build changes with jdk9 PathList make macro ! common/autoconf/spec.gmk.in ! make/common/JavaCompilation.gmk ! make/common/MakeBase.gmk From erik.joelsson at oracle.com Fri Sep 11 07:12:42 2015 From: erik.joelsson at oracle.com (erik.joelsson at oracle.com) Date: Fri, 11 Sep 2015 07:12:42 +0000 Subject: hg: jigsaw/jake/jdk: 2 new changesets Message-ID: <201509110712.t8B7CgPH024592@aojmv0008.oracle.com> Changeset: c35f2ffc77f8 Author: erikj Date: 2015-09-09 18:38 +0200 URL: http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/c35f2ffc77f8 Aligning jake build changes with jdk9 PathList make macro ! make/Tools.gmk ! make/gendata/GendataBreakIterator.gmk ! make/gensrc/GensrcSwing.gmk ! make/rmic/RmicCommon.gmk Changeset: e4e6bc6fdcb3 Author: erikj Date: 2015-09-11 09:12 +0200 URL: http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/e4e6bc6fdcb3 Merge From erik.joelsson at oracle.com Fri Sep 11 07:14:10 2015 From: erik.joelsson at oracle.com (erik.joelsson at oracle.com) Date: Fri, 11 Sep 2015 07:14:10 +0000 Subject: hg: jigsaw/jake/langtools: Aligning jake build changes with jdk9 PathList make macro Message-ID: <201509110714.t8B7EA2E025232@aojmv0008.oracle.com> Changeset: 2ca32a0790e4 Author: erikj Date: 2015-09-09 18:38 +0200 URL: http://hg.openjdk.java.net/jigsaw/jake/langtools/rev/2ca32a0790e4 Aligning jake build changes with jdk9 PathList make macro ! make/CompileInterim.gmk From erik.joelsson at oracle.com Fri Sep 11 07:14:16 2015 From: erik.joelsson at oracle.com (erik.joelsson at oracle.com) Date: Fri, 11 Sep 2015 07:14:16 +0000 Subject: hg: jigsaw/jake/nashorn: Aligning jake build changes with jdk9 PathList make macro Message-ID: <201509110714.t8B7EGgu025278@aojmv0008.oracle.com> Changeset: dbb145cb2c85 Author: erikj Date: 2015-09-09 18:38 +0200 URL: http://hg.openjdk.java.net/jigsaw/jake/nashorn/rev/dbb145cb2c85 Aligning jake build changes with jdk9 PathList make macro ! make/BuildNashorn.gmk From Alan.Bateman at oracle.com Fri Sep 11 07:39:09 2015 From: Alan.Bateman at oracle.com (Alan Bateman) Date: Fri, 11 Sep 2015 08:39:09 +0100 Subject: Groovy with Jigsaw In-Reply-To: <01a501d0ec1c$15036d90$3f0a48b0$@apache.org> References: <55F206CF.8040108@gmx.org> <01a501d0ec1c$15036d90$3f0a48b0$@apache.org> Message-ID: <55F2851D.5030406@oracle.com> On 10/09/2015 23:57, Uwe Schindler wrote: > : > > I also wanted to ask the question: setAccessible() already throws some checked exceptions, why invent a new one that?s no longer checked? Could it not simply be one already there - one of the checked ones - or a new one just subclassing ReflectiveOperationException? This is completely inconsistent to other core reflection APIs. Why have a totally unexpected new one? > > Right, there is compatibility issue here (third item in the "Risks and Assumptions" section of JEP 261 [1]). The setAccessible methods don't declare any checked exceptions. The only exception they declare is SecurityException. This exception make sense when running with a security manager and the specified permission check fails. This exception is the wrong exception to fail with when the member is not an an exported package as this is nothing to do with the security manager. Sadly, these methods do throw SecurityException when attempted on a constructor of java.lang.Class, I've been trying to dig into the history on this oddity. Anyway, retrofitting these methods to throw ReflectiveOperationException (or sub-type) isn't really an option because this is a checked exception so it would add a source compatibility issue to the list. For now, the prototype API changes these methods to throw InaccessibleObjectException and we'll have to see the impact of this. I hope we aren't force to change this to throw SecurityException as it's the wrong exception, but less impact compatibility-wise because there is some chance that existing code might handle that already. -Alan. [1] http://openjdk.java.net/jeps/261 From cedric.champeau at gmail.com Fri Sep 11 07:47:05 2015 From: cedric.champeau at gmail.com (=?UTF-8?Q?C=C3=A9dric_Champeau?=) Date: Fri, 11 Sep 2015 09:47:05 +0200 Subject: Groovy with Jigsaw In-Reply-To: <55F2851D.5030406@oracle.com> References: <55F206CF.8040108@gmx.org> <01a501d0ec1c$15036d90$3f0a48b0$@apache.org> <55F2851D.5030406@oracle.com> Message-ID: For what it's worth, the issue that triggered this conversation is the one reported by Uwe. For Groovy we have a chicken and egg problem for testing, because this change breaks Groovy, and Groovy uses Gradle to build. Since Gradle itself uses Groovy, we have no compatible build tool to test the fix... So it's very problematic. Also the build that we set up failed with: [23:53:08]W: [Gradle failure report] Caused by: java.lang.VerifyError: class com.google.common.reflect.Element overrides final method java.lang.reflect.AccessibleObject.setAccessible(Z)V [23:53:08]W: [Gradle failure report] at java.lang.ClassLoader.defineClass1(java.base at 9.0/Native Method) [23:53:08]W: [Gradle failure report] at java.lang.ClassLoader.defineClass(java.base at 9.0/ClassLoader.java:820) [23:53:08]W: [Gradle failure report] at java.security.SecureClassLoader.defineClass(java.base at 9.0 /SecureClassLoader.java:152) Which indicates the change to setAccessible also broke Guava, which is used by Gradle. So it's going to be very complicated to even try to fix the issue in those conditions. Anyway, it doesn't seem a good idea to introduce a new exception type. Even if it is semantically a bit problematic, wouldn't make ReflectiveOperationException a subclass of SecurityException an option? 2015-09-11 9:39 GMT+02:00 Alan Bateman : > On 10/09/2015 23:57, Uwe Schindler wrote: > >> : >> >> I also wanted to ask the question: setAccessible() already throws some >> checked exceptions, why invent a new one that?s no longer checked? Could it >> not simply be one already there - one of the checked ones - or a new one >> just subclassing ReflectiveOperationException? This is completely >> inconsistent to other core reflection APIs. Why have a totally unexpected >> new one? >> >> >> Right, there is compatibility issue here (third item in the "Risks and > Assumptions" section of JEP 261 [1]). > > The setAccessible methods don't declare any checked exceptions. The only > exception they declare is SecurityException. This exception make sense when > running with a security manager and the specified permission check fails. > This exception is the wrong exception to fail with when the member is not > an an exported package as this is nothing to do with the security manager. > Sadly, these methods do throw SecurityException when attempted on a > constructor of java.lang.Class, I've been trying to dig into the history on > this oddity. > > Anyway, retrofitting these methods to throw ReflectiveOperationException > (or sub-type) isn't really an option because this is a checked exception so > it would add a source compatibility issue to the list. For now, the > prototype API changes these methods to throw InaccessibleObjectException > and we'll have to see the impact of this. I hope we aren't force to change > this to throw SecurityException as it's the wrong exception, but less > impact compatibility-wise because there is some chance that existing code > might handle that already. > > -Alan. > > [1] http://openjdk.java.net/jeps/261 > From rory.odonnell at oracle.com Fri Sep 11 07:49:57 2015 From: rory.odonnell at oracle.com (Rory O'Donnell) Date: Fri, 11 Sep 2015 08:49:57 +0100 Subject: jigsaw EA feedback for Eclipse/JBoss Tools and WildFly In-Reply-To: References: <84AF692F-38BA-4095-87CF-4091DD66EC0E@redhat.com> <55F183BD.6010108@oracle.com> <55F1886F.1020601@oracle.com> Message-ID: <55F287A5.8050800@oracle.com> Thanks for the update Martin! On 11/09/2015 08:30, Martin Malina wrote: >> On 10. 9. 2015, at 15:41, Alan Bateman > > wrote: >> >> >> On 10/09/2015 14:21, Rory O'Donnell wrote: >>> Martin - thanks for your feedback, not sure your email made it to >>> the list without subscribing. >>> >>> It will now, rgds Rory >>> On 10/09/2015 13:59, Martin Malina wrote: >>>> >>>> I reported it here: https://issues.jboss.org/browse/JBIDE-20635 >> >> Thanks for forwarding. The interesting line seems to be: >> >> 13:03:04,020 ERROR [org.jboss.as.controller] (Controller Boot Thread) >> WFLYCTL0002: Error booting the container: >> java.lang.IllegalAccessError: Class __redirected.__XMLInputFactory >> can not access a member of class >> com.sun.xml.internal.stream.XMLInputFactoryImpl (module java.xml) >> with modifiers "public", module java.xml does not export >> com.sun.xml.internal.stream to >> >> So __redirected.__XMLInputFactory (WildFly?, generated?) is >> attempting to use Class.newInstance to instantiate >> com.sun.xml.internal.stream.XMLInputFactoryImpl. This should fail >> with IllegalAccessException because com.sun.xml.internal.stream is >> not exported. I can't tell where IllegalAccessError is coming from, >> maybe someone is catching IllegalAccessException and re-throwing it >> as an IllegalAccessError. >> >> I assume using -XaddExports can be used to workaround this temporarily. > > Hi Alan, thanks for your suggestion. But in this case it seems that > our Eclipse tooling was at fault. Given the fact that it worked on > command line, there must have been some difference which broke it in > Eclipse. Rob seems to have found it and fixed it: > https://issues.jboss.org/browse/JBIDE-20635 > > Thanks, > Martin > >> >> -Alan. >> > -- Rgds,Rory O'Donnell Quality Engineering Manager Oracle EMEA , Dublin, Ireland From Alan.Bateman at oracle.com Fri Sep 11 07:53:44 2015 From: Alan.Bateman at oracle.com (Alan Bateman) Date: Fri, 11 Sep 2015 08:53:44 +0100 Subject: Project Jigsaw: Early-Access Builds available on jdk9.java.net/jigsaw In-Reply-To: References: <55F067A9.6070606@oracle.com> <55F1E85B.3040004@oracle.com> <55F1ED8E.3000904@oracle.com> Message-ID: <55F28888.60403@oracle.com> On 10/09/2015 22:21, Mani Sarkar wrote: > Hi Alan, > > Thanks for the detailed explanation and it would be great to find this > in your docs - I will link to it. > > The reasons I understood, jimage might go away, as I read this > https://bugs.*openjdk*.java.net/browse/JDK-8049369 > . > Yeah, it is confusing. That JBS issue tracked the creation of temporary image builder tool to use in JDK 9 until we had jlink. In jigsaw/jake then this image building tool has been removed and the build changed to create the run-time images with jlink. The Dependences section of JEP 261 has a few words on this. -Alan. From Alan.Bateman at oracle.com Fri Sep 11 08:16:04 2015 From: Alan.Bateman at oracle.com (Alan Bateman) Date: Fri, 11 Sep 2015 09:16:04 +0100 Subject: Groovy with Jigsaw In-Reply-To: References: <55F206CF.8040108@gmx.org> <01a501d0ec1c$15036d90$3f0a48b0$@apache.org> <55F2851D.5030406@oracle.com> Message-ID: <55F28DC4.7070701@oracle.com> On 11/09/2015 08:47, C?dric Champeau wrote: > For what it's worth, the issue that triggered this conversation is the > one reported by Uwe. For Groovy we have a chicken and egg problem for > testing, because this change breaks Groovy, and Groovy uses Gradle to > build. Since Gradle itself uses Groovy, we have no compatible build > tool to test the fix... So it's very problematic. Also the build that > we set up failed with: > > [23:53:08]W:[Gradle failure report] Caused by: java.lang.VerifyError: > class com.google.common.reflect.Element overrides final method > java.lang.reflect.AccessibleObject.setAccessible(Z)V > [23:53:08]W:[Gradle failure report] at > java.lang.ClassLoader.defineClass1(java.base at 9.0/Native Method) > [23:53:08]W:[Gradle failure report] at > java.lang.ClassLoader.defineClass(java.base at 9.0/ClassLoader.java:820) > [23:53:08]W:[Gradle failure report] at > java.security.SecureClassLoader.defineClass(java.base at 9.0/SecureClassLoader.java:152) > > Which indicates the change to setAccessible also broke Guava, which is > used by Gradle. So it's going to be very complicated to even try to > fix the issue in those conditions. Anyway, it doesn't seem a good idea > to introduce a new exception type. Even if it is semantically a bit > problematic, wouldn't make ReflectiveOperationException a subclass of > SecurityException an option? The right exception for this case might need more consideration but I assume the underlying issue must be a failed attempt to get access to a member of a type in a non-exported package. Is there any way to run this with -Dsun.reflect.debugModuleAccessChecks to see if you get any stack traces to debug this? -Alan From uschindler at apache.org Fri Sep 11 08:58:52 2015 From: uschindler at apache.org (Uwe Schindler) Date: Fri, 11 Sep 2015 10:58:52 +0200 Subject: Groovy with Jigsaw In-Reply-To: <55F2851D.5030406@oracle.com> References: <55F206CF.8040108@gmx.org> <01a501d0ec1c$15036d90$3f0a48b0$@apache.org> <55F2851D.5030406@oracle.com> Message-ID: <007401d0ec70$173fe4e0$45bfaea0$@apache.org> Hi, > On 10/09/2015 23:57, Uwe Schindler wrote: > > : > > > > I also wanted to ask the question: setAccessible() already throws > > some > checked exceptions, why invent a new one that?s no longer checked? > Could it not simply be one already there - one of the checked ones - > or a new one just subclassing ReflectiveOperationException? This is > completely inconsistent to other core reflection APIs. Why have a > totally unexpected new one? > > > > > Right, there is compatibility issue here (third item in the "Risks and > Assumptions" section of JEP 261 [1]). > > The setAccessible methods don't declare any checked exceptions. The > only exception they declare is SecurityException. This exception make > sense when running with a security manager and the specified > permission check fails. This exception is the wrong exception to fail > with when the member is not an an exported package as this is nothing > to do with the security manager. Sadly, these methods do throw > SecurityException when attempted on a constructor of java.lang.Class, > I've been trying to dig into the history on this oddity. Sorry I missed that. You are right, setAccessible does not throw any checked reflective Exception. I was under the impression it might throw IllegalAccessException or the like, sorry for that. But the issue still persists! One solution to solve the problem would be to make the java.lang.reflect.InaccessibleObjectException a subclass of SecurityException? This also looks not ideal, but this would fix all code which is well behaved and catches SecurityException on setAccessible. And simple googling shows tons of this. You may add this to the Javadocs of this method and to the documentation of the Exception, explaining that it is a subclass of SecurityException for backwards compatibility. Are there any other places where java.lang.reflect.InaccessibleObjectException is used? > Anyway, retrofitting these methods to throw > ReflectiveOperationException (or sub-type) isn't really an option > because this is a checked exception so it would add a source > compatibility issue to the list. For now, the prototype API changes > these methods to throw InaccessibleObjectException and we'll have to > see the impact of this. I hope we aren't force to change this to throw > SecurityException as it's the wrong exception, but less impact > compatibility- wise because there is some chance that existing code might handle that already. I agree, maybe add new exception as described above. > -Alan. > > [1] http://openjdk.java.net/jeps/261 Thanks, very helpful. So looks like setAccessible is the only affected method. From uschindler at apache.org Fri Sep 11 09:07:30 2015 From: uschindler at apache.org (Uwe Schindler) Date: Fri, 11 Sep 2015 11:07:30 +0200 Subject: Groovy with Jigsaw In-Reply-To: References: <55F206CF.8040108@gmx.org> <01a501d0ec1c$15036d90$3f0a48b0$@apache.org> <55F2851D.5030406@oracle.com> Message-ID: <007501d0ec71$4c3c3c60$e4b4b520$@apache.org> Hi, > Caused by: java.lang.VerifyError: class com.google.common.reflect.Element overrides final method java.lang.reflect.AccessibleObject.setAccessible(Z)V This is caused by the fact that the new JDK makes setAccessible final in the base class AccessibleObject. The Google Guava class is a wrapper class around any AccessibleObject and delegates all calls to the object behind, while adding some convenience methods. This is a clear backwards compatibility break. Maybe remove the final here! Otherwise Guava has to fix the code and completely remove the reflect.Element wrapper class (to me it looks useless, it just spares you a few modifier stuff because you can call isPublic()). Uwe ----- Uwe Schindler uschindler at apache.org ASF Member, Apache Lucene PMC / Committer Bremen, Germany http://lucene.apache.org/ From: C?dric Champeau [mailto:cedric.champeau at gmail.com] Sent: Friday, September 11, 2015 9:47 AM To: Alan Bateman Cc: Uwe Schindler; Jochen Theodorou; jigsaw-dev at openjdk.java.net Subject: Re: Groovy with Jigsaw For what it's worth, the issue that triggered this conversation is the one reported by Uwe. For Groovy we have a chicken and egg problem for testing, because this change breaks Groovy, and Groovy uses Gradle to build. Since Gradle itself uses Groovy, we have no compatible build tool to test the fix... So it's very problematic. Also the build that we set up failed with: [23:53:08]W: [Gradle failure report] Caused by: java.lang.VerifyError: class com.google.common.reflect.Element overrides final method java.lang.reflect.AccessibleObject.setAccessible(Z)V [23:53:08]W: [Gradle failure report] at java.lang.ClassLoader.defineClass1(java.base at 9.0/Native Method) [23:53:08]W: [Gradle failure report] at java.lang.ClassLoader.defineClass(java.base at 9.0/ClassLoader.java:820) [23:53:08]W: [Gradle failure report] at java.security.SecureClassLoader.defineClass(java.base at 9.0/SecureClassLoader.java:152) Which indicates the change to setAccessible also broke Guava, which is used by Gradle. So it's going to be very complicated to even try to fix the issue in those conditions. Anyway, it doesn't seem a good idea to introduce a new exception type. Even if it is semantically a bit problematic, wouldn't make ReflectiveOperationException a subclass of SecurityException an option? 2015-09-11 9:39 GMT+02:00 Alan Bateman : On 10/09/2015 23:57, Uwe Schindler wrote: : I also wanted to ask the question: setAccessible() already throws some checked exceptions, why invent a new one that?s no longer checked? Could it not simply be one already there - one of the checked ones - or a new one just subclassing ReflectiveOperationException? This is completely inconsistent to other core reflection APIs. Why have a totally unexpected new one? Right, there is compatibility issue here (third item in the "Risks and Assumptions" section of JEP 261 [1]). The setAccessible methods don't declare any checked exceptions. The only exception they declare is SecurityException. This exception make sense when running with a security manager and the specified permission check fails. This exception is the wrong exception to fail with when the member is not an an exported package as this is nothing to do with the security manager. Sadly, these methods do throw SecurityException when attempted on a constructor of java.lang.Class, I've been trying to dig into the history on this oddity. Anyway, retrofitting these methods to throw ReflectiveOperationException (or sub-type) isn't really an option because this is a checked exception so it would add a source compatibility issue to the list. For now, the prototype API changes these methods to throw InaccessibleObjectException and we'll have to see the impact of this. I hope we aren't force to change this to throw SecurityException as it's the wrong exception, but less impact compatibility-wise because there is some chance that existing code might handle that already. -Alan. [1] http://openjdk.java.net/jeps/261 From blackdrag at gmx.org Fri Sep 11 09:21:43 2015 From: blackdrag at gmx.org (Jochen Theodorou) Date: Fri, 11 Sep 2015 11:21:43 +0200 Subject: Groovy with Jigsaw In-Reply-To: <55F28DC4.7070701@oracle.com> References: <55F206CF.8040108@gmx.org> <01a501d0ec1c$15036d90$3f0a48b0$@apache.org> <55F2851D.5030406@oracle.com> <55F28DC4.7070701@oracle.com> Message-ID: <55F29D27.70609@gmx.org> Am 11.09.2015 10:16, schrieb Alan Bateman: > On 11/09/2015 08:47, C?dric Champeau wrote: >> For what it's worth, the issue that triggered this conversation is the >> one reported by Uwe. For Groovy we have a chicken and egg problem for >> testing, because this change breaks Groovy, and Groovy uses Gradle to >> build. Since Gradle itself uses Groovy, we have no compatible build >> tool to test the fix... So it's very problematic. Also the build that >> we set up failed with: >> >> [23:53:08]W:[Gradle failure report] Caused by: java.lang.VerifyError: >> class com.google.common.reflect.Element overrides final method >> java.lang.reflect.AccessibleObject.setAccessible(Z)V >> [23:53:08]W:[Gradle failure report] at >> java.lang.ClassLoader.defineClass1(java.base at 9.0/Native Method) >> [23:53:08]W:[Gradle failure report] at >> java.lang.ClassLoader.defineClass(java.base at 9.0/ClassLoader.java:820) >> [23:53:08]W:[Gradle failure report] at >> java.security.SecureClassLoader.defineClass(java.base at 9.0/SecureClassLoader.java:152) >> >> Which indicates the change to setAccessible also broke Guava, which is >> used by Gradle. So it's going to be very complicated to even try to >> fix the issue in those conditions. Anyway, it doesn't seem a good idea >> to introduce a new exception type. Even if it is semantically a bit >> problematic, wouldn't make ReflectiveOperationException a subclass of >> SecurityException an option? > The right exception for this case might need more consideration but I > assume the underlying issue must be a failed attempt to get access to a > member of a type in a non-exported package. > > Is there any way to run this with -Dsun.reflect.debugModuleAccessChecks > to see if you get any stack traces to debug this? the error in Guava is not a failed attempt, it is a VerifyError, because AccessibleObject#setAccessible is now final and com.google.common.reflect.Element overrides the method. As far as I have seen Guava makes a parallel reflective structure of a class to be able to better handle them. A the same time they proxy to their counter parts, but do also implement interfaces like Member. That requires for example to override setAccessible, which will just make the same call on the delegate. I don't see how they can easily fix that without giving up their mirror structure and have it exchangeable with the java reflective classes at the same time. But I am not on the guava team, so they know hopefully better bye blackdrag -- Jochen "blackdrag" Theodorou blog: http://blackdragsview.blogspot.com/ From Alan.Bateman at oracle.com Fri Sep 11 09:33:21 2015 From: Alan.Bateman at oracle.com (Alan Bateman) Date: Fri, 11 Sep 2015 10:33:21 +0100 Subject: Groovy with Jigsaw In-Reply-To: <55F29D27.70609@gmx.org> References: <55F206CF.8040108@gmx.org> <01a501d0ec1c$15036d90$3f0a48b0$@apache.org> <55F2851D.5030406@oracle.com> <55F28DC4.7070701@oracle.com> <55F29D27.70609@gmx.org> Message-ID: <55F29FE1.1000407@oracle.com> On 11/09/2015 10:21, Jochen Theodorou wrote: > > the error in Guava is not a failed attempt, it is a VerifyError, > because AccessibleObject#setAccessible is now final and > com.google.common.reflect.Element overrides the method. > > As far as I have seen Guava makes a parallel reflective structure of a > class to be able to better handle them. A the same time they proxy to > their counter parts, but do also implement interfaces like Member. > That requires for example to override setAccessible, which will just > make the same call on the delegate. I don't see how they can easily > fix that without giving up their mirror structure and have it > exchangeable with the java reflective classes at the same time. But I > am not on the guava team, so they know hopefully better Okay, I mis-read one of the mails and assumed that setAccessible was failing and leading to other errors. In the current builds then setAccessible is final, and yes, this is an incompatible change. The reason for this is that the method is now @CS. I think we need to consider changing this so that setAccessible is overridden in the final Field, Constructor, and Method classes instead. -Alan From scolebourne at joda.org Fri Sep 11 09:37:10 2015 From: scolebourne at joda.org (Stephen Colebourne) Date: Fri, 11 Sep 2015 10:37:10 +0100 Subject: Groovy with Jigsaw In-Reply-To: <55F29FE1.1000407@oracle.com> References: <55F206CF.8040108@gmx.org> <01a501d0ec1c$15036d90$3f0a48b0$@apache.org> <55F2851D.5030406@oracle.com> <55F28DC4.7070701@oracle.com> <55F29D27.70609@gmx.org> <55F29FE1.1000407@oracle.com> Message-ID: I tried compiling OpenGamma via maven and ran into this straight away: java.lang.VerifyError: class com.google.common.reflect.Element overrides final method java.lang.reflect.AccessibleObject.setAccessible(Z)V at java.lang.ClassLoader.defineClass1(java.base at 9.0/Native Method) at java.lang.ClassLoader.defineClass(java.base at 9.0/ClassLoader.java:820) at java.security.SecureClassLoader.defineClass(java.base at 9.0/SecureClassLoader.java:152) The Guava code is: @Override public final void setAccessible(boolean flag) throws SecurityException { accessibleObject.setAccessible(flag); } So yes, looking at alternative ways to make that method final is probably an essential. Stephen On 11 September 2015 at 10:33, Alan Bateman wrote: > > On 11/09/2015 10:21, Jochen Theodorou wrote: >> >> >> the error in Guava is not a failed attempt, it is a VerifyError, because >> AccessibleObject#setAccessible is now final and >> com.google.common.reflect.Element overrides the method. >> >> As far as I have seen Guava makes a parallel reflective structure of a >> class to be able to better handle them. A the same time they proxy to their >> counter parts, but do also implement interfaces like Member. That requires >> for example to override setAccessible, which will just make the same call on >> the delegate. I don't see how they can easily fix that without giving up >> their mirror structure and have it exchangeable with the java reflective >> classes at the same time. But I am not on the guava team, so they know >> hopefully better > > Okay, I mis-read one of the mails and assumed that setAccessible was failing > and leading to other errors. > > In the current builds then setAccessible is final, and yes, this is an > incompatible change. The reason for this is that the method is now @CS. I > think we need to consider changing this so that setAccessible is overridden > in the final Field, Constructor, and Method classes instead. > > -Alan From blackdrag at gmx.org Fri Sep 11 09:46:25 2015 From: blackdrag at gmx.org (Jochen Theodorou) Date: Fri, 11 Sep 2015 11:46:25 +0200 Subject: Groovy with Jigsaw In-Reply-To: <55F29FE1.1000407@oracle.com> References: <55F206CF.8040108@gmx.org> <01a501d0ec1c$15036d90$3f0a48b0$@apache.org> <55F2851D.5030406@oracle.com> <55F28DC4.7070701@oracle.com> <55F29D27.70609@gmx.org> <55F29FE1.1000407@oracle.com> Message-ID: <55F2A2F1.1030403@gmx.org> Am 11.09.2015 11:33, schrieb Alan Bateman: > > On 11/09/2015 10:21, Jochen Theodorou wrote: >> >> the error in Guava is not a failed attempt, it is a VerifyError, >> because AccessibleObject#setAccessible is now final and >> com.google.common.reflect.Element overrides the method. >> >> As far as I have seen Guava makes a parallel reflective structure of a >> class to be able to better handle them. A the same time they proxy to >> their counter parts, but do also implement interfaces like Member. >> That requires for example to override setAccessible, which will just >> make the same call on the delegate. I don't see how they can easily >> fix that without giving up their mirror structure and have it >> exchangeable with the java reflective classes at the same time. But I >> am not on the guava team, so they know hopefully better > Okay, I mis-read one of the mails and assumed that setAccessible was > failing and leading to other errors. It does fail for any Groovy script, that invokes any method on an Object, that has a declaring class, which is made inaccessible through the module system, due to the new exception being thrown. Example: ClassLoader.getSystemClassLoader().toString() > In the current builds then setAccessible is final, and yes, this is an > incompatible change. The reason for this is that the method is now @CS. > I think we need to consider changing this so that setAccessible is > overridden in the final Field, Constructor, and Method classes instead. Does @CS then mean guava will then possibly interfere with the security manager logic, since it introduces a new layer of calling code in between? bye Jochen -- Jochen "blackdrag" Theodorou blog: http://blackdragsview.blogspot.com/ From Alan.Bateman at oracle.com Fri Sep 11 10:09:59 2015 From: Alan.Bateman at oracle.com (Alan Bateman) Date: Fri, 11 Sep 2015 11:09:59 +0100 Subject: Jigsaw EA feedback for elasticsearch In-Reply-To: References: Message-ID: <55F2A877.5010109@oracle.com> Thanks for the great write-up! A few comments below. On 11/09/2015 06:07, Robert Muir wrote: > 2. we have a "jar hell detector" that threw an > UnsupportedOperationException, because classloader is no longer a > URLClassLoader, so we can't get the list of urls. This caused all > tests to fail. I changed the code to parse java.class.path. Right, code should never assume that the application class loader is a implemented as a URLClassLoader (more on this in JEP 261). > 3. we have a "jvm info" api that provides information about the jvm, > e.g. to assist our engineers in debugging different nodes in the > cluster. it was not prepared to handle UnsupportedOperationException > from RuntimeMXBean.getBootClassPath: I fixed it to fall back to > sun.boot.class.path, otherwise fall back to "unknown". This is a another behavior change. RuntimeMXBean.getBootClassPath() has always specified that it can throw UOE but the JDK has not needed to do this until now. The alternative choice here is to return an empty string but that might cause issues too. > 4. exception serialization tests failed, because we manually serialize > exceptions. We previously used java serialization, but it causes > serious trouble because of backwards compatibility breaks between even > minor jdk versions: this would strike when users try to upgrade their > jvms for nodes in their cluster with a rolling restart. The tests fail > because the stacktrace "loses" stuff after deserialization (the module > version). For now i just disabled the tests on java 9, because I don't > know how we can support e.g. java 8 and java 9 and populate this stuff > "optionally" yet without more digging. Stack traces have been updated to optionally include the module and version but this should be a compatible change (except maybe for code that parses the String representation). As you mention, these tests would need to be updated any time that there are new fields added to the serial form (for standard/Java SE types then this should only be major releases). > 5. we have monitoring apis that provide basic system information, > similar to #3, for debugging purposes, and to feed monitoring tools so > people can track the health of the cluster. previously, we used the > sigar library (JNI) for this, but it has bugs that caused users > crashes. So we were forced to limit ourselves to what is provided with > java management apis: which is much less, but we figure it has the > basics. For some very basic stats, this means we also look for > com.sun.management apis > (https://docs.oracle.com/javase/7/docs/jre/api/management/extension/com/sun/management/package-summary.html) > and if they are available, we provide the stuff available there too, > like how much ram is on the machine, swap in use, number of open/max > file descriptors, and so on. We test what is available and what is not > based on platform so we can detect if something changes in the JDK, > like what happens with jigsaw, where they all become unavailable. I'm not sure that I understand the issue here but just to say that the com.sun.management API is a documented/supported API and it exported by module jdk.management: $ java -listmods:jdk.management jdk.management at 9.0 requires public java.management requires mandated java.base exports com.sun.management conceals com.sun.management.internal provides sun.management.spi.PlatformMBeanProvider with com.sun.management.internal.PlatformMBeanProviderImpl > > 6. cluster snapshot/restore to amazon s3 does not work, because of > their use of internal ssl libraries. I've tried to get them to fix it > for a while now (https://github.com/aws/aws-sdk-java/pull/432). This > is also a serious loss of functionality, if they wont fix it, I guess > we have to fork the aws sdk. You can workaround this with -XaddExport:java.base/sun.security.ssl=ALL-UNNAMED of course but much better if they could understand and remove the dependency on these internal classes. > > 8. during testing I hit some kind of bug, where the thai break > iterator returned wrong information. This might be hotspot-related or > something else, and it never reproduced again. We use this check > (https://github.com/apache/lucene-solr/blob/trunk/lucene/analysis/common/src/java/org/apache/lucene/analysis/th/ThaiTokenizer.java#L37-L47) > to see if we can "really" tokenize thai, otherwise we throw an > exception. For some IBM JVM versions at least in the past, they did > not have a breakiterator for thai. I guess it just goes to show the EA > build is really a prototype, and not yet ready to be added to our CI > servers and so on... which is the only way I can ensure this huge > codebase stays working with jigsaw. Just so I understand, the Thai break iterator issue was with the jigsaw EA builds and not the regular JDK 9 builds, right? And it only happened once, you can't reproduce. This is a bit worrisome. All I can say is that there are a lot of changes in this area, a lot of technical debt related to the split with the java.base and the jdk.localedata module had to be addressed. Off-hand then I can't think of anything that would lead to an intermittent issue. If you find out more on this then please send mail. -Alan From rcmuir at gmail.com Fri Sep 11 10:23:39 2015 From: rcmuir at gmail.com (Robert Muir) Date: Fri, 11 Sep 2015 06:23:39 -0400 Subject: Jigsaw EA feedback for elasticsearch In-Reply-To: <55F2A877.5010109@oracle.com> References: <55F2A877.5010109@oracle.com> Message-ID: On Fri, Sep 11, 2015 at 6:09 AM, Alan Bateman wrote: > Just so I understand, the Thai break iterator issue was with the jigsaw EA > builds and not the regular JDK 9 builds, right? And it only happened once, > you can't reproduce. This is a bit worrisome. All I can say is that there > are a lot of changes in this area, a lot of technical debt related to the > split with the java.base and the jdk.localedata module had to be addressed. > Off-hand then I can't think of anything that would lead to an intermittent > issue. If you find out more on this then please send mail. > This is difficult to answer. We have been trying to do JDK 9 testing, but the early access builds have been "broken" from our perspective all summer long, so we had to disable them because developers were too confused when tens or hundreds of tests fail. The major problems were various bugs in System.arraycopy... Because of that, this one might be a general JDK 9 problem unrelated to jigsaw. I'll have to spend more time digging into all those items I listed to try to see exactly what is happening, but those were the issues I hit when trying to get the jigsaw build to pass the tests. From Alan.Bateman at oracle.com Fri Sep 11 10:35:04 2015 From: Alan.Bateman at oracle.com (Alan Bateman) Date: Fri, 11 Sep 2015 11:35:04 +0100 Subject: Project Jigsaw: Early-Access Builds available on jdk9.java.net/jigsaw In-Reply-To: References: <55F067A9.6070606@oracle.com> <55F1E85B.3040004@oracle.com> <55F1EE3D.7010606@oracle.com> Message-ID: <55F2AE58.8020400@oracle.com> On 10/09/2015 22:12, Mani Sarkar wrote: > Jim you stole my thunder and lightening - that was it. > Thanks Mani, thanks Jim, this is fixed on the QS page now. I've no doubt that in time that there will be much better examples and tutorials, that page is just a start. -Alan From uschindler at apache.org Fri Sep 11 11:00:02 2015 From: uschindler at apache.org (Uwe Schindler) Date: Fri, 11 Sep 2015 13:00:02 +0200 Subject: Groovy with Jigsaw In-Reply-To: <55F2A2F1.1030403@gmx.org> References: <55F206CF.8040108@gmx.org> <01a501d0ec1c$15036d90$3f0a48b0$@apache.org> <55F2851D.5030406@oracle.com> <55F28DC4.7070701@oracle.com> <55F29D27.70609@gmx.org> <55F29FE1.1000407@oracle.com> <55F2A2F1.1030403@gmx.org> Message-ID: <009601d0ec81$04a430f0$0dec92d0$@apache.org> Just to conclude, there are 2 problems around setAccessible: First, it throws a new Exception type. This makes almost any Groovy script fail at some point, because it tries to add some meta class on the scripting level, and this call setAccessible on all fields and methods of any class used in the script, only catching SecurityException but not the new one. My preferred solution would be to make the new InaccessibleObjectException as subclass of SecurityException (and add some documentation why this is done like that). Please note this does not differ from current Java 8 spec, where setAccessible may throw SecurityException without a security manager on some special objects (Class constructor). I agree, this is also strange (UOE would be more correct), but the same solution could be taken here, too. Second: AccessibleObject#setAccessible was made final, this breaks "delegators" like the one in Google Guava, which is a library used in like 50% of all larger software projects. Changing methods to be final in abstract classes is always a hard break, because abstract classes are there to be extended. The workaround may be to make the implementations final (which they are already, because Method, Field,... classes are final). Maybe just move the implementation into the final subclasses (with stupid code duplication, alternatively use a static helper class to avoid the code duplication). We had a similar issue in Java 8 EA builds (reported by Lucene at that time), where isAnnotationPresent() was moved as *default* method to the interface AnnotatedObject and then the impl in Field/Method/... was removed. This caused compiler failures for code compiled with source/target 1.7. The fix was to define the method in all subclasses but delegate to the interface with some super-like construct. Uwe ----- Uwe Schindler uschindler at apache.org ASF Member, Apache Lucene PMC / Committer Bremen, Germany http://lucene.apache.org/ > -----Original Message----- > From: Jochen Theodorou [mailto:blackdrag at gmx.org] > Sent: Friday, September 11, 2015 11:46 AM > To: Alan Bateman; C?dric Champeau > Cc: Uwe Schindler; jigsaw-dev at openjdk.java.net > Subject: Re: Groovy with Jigsaw > > Am 11.09.2015 11:33, schrieb Alan Bateman: > > > > On 11/09/2015 10:21, Jochen Theodorou wrote: > >> > >> the error in Guava is not a failed attempt, it is a VerifyError, > >> because AccessibleObject#setAccessible is now final and > >> com.google.common.reflect.Element overrides the method. > >> > >> As far as I have seen Guava makes a parallel reflective structure of > >> a class to be able to better handle them. A the same time they proxy > >> to their counter parts, but do also implement interfaces like Member. > >> That requires for example to override setAccessible, which will just > >> make the same call on the delegate. I don't see how they can easily > >> fix that without giving up their mirror structure and have it > >> exchangeable with the java reflective classes at the same time. But I > >> am not on the guava team, so they know hopefully better > > Okay, I mis-read one of the mails and assumed that setAccessible was > > failing and leading to other errors. > > It does fail for any Groovy script, that invokes any method on an Object, that > has a declaring class, which is made inaccessible through the module system, > due to the new exception being thrown. Example: > > ClassLoader.getSystemClassLoader().toString() > > > In the current builds then setAccessible is final, and yes, this is an > > incompatible change. The reason for this is that the method is now @CS. > > I think we need to consider changing this so that setAccessible is > > overridden in the final Field, Constructor, and Method classes instead. > > Does @CS then mean guava will then possibly interfere with the security > manager logic, since it introduces a new layer of calling code in between? > > bye Jochen > > -- > Jochen "blackdrag" Theodorou > blog: http://blackdragsview.blogspot.com/ From blackdrag at gmx.org Fri Sep 11 12:11:39 2015 From: blackdrag at gmx.org (Jochen Theodorou) Date: Fri, 11 Sep 2015 14:11:39 +0200 Subject: Groovy with Jigsaw In-Reply-To: <009601d0ec81$04a430f0$0dec92d0$@apache.org> References: <55F206CF.8040108@gmx.org> <01a501d0ec1c$15036d90$3f0a48b0$@apache.org> <55F2851D.5030406@oracle.com> <55F28DC4.7070701@oracle.com> <55F29D27.70609@gmx.org> <55F29FE1.1000407@oracle.com> <55F2A2F1.1030403@gmx.org> <009601d0ec81$04a430f0$0dec92d0$@apache.org> Message-ID: <55F2C4FB.5010107@gmx.org> Am 11.09.2015 13:00, schrieb Uwe Schindler: > Just to conclude, there are 2 problems around setAccessible: > > First, it throws a new Exception type. This makes almost any Groovy script fail at some point, because it tries to add some meta class on the scripting level, and this call setAccessible on all fields and methods of any class used in the script, only catching SecurityException but not the new one. My preferred solution would be to make the new InaccessibleObjectException as subclass of SecurityException (and add some documentation why this is done like that). Please note this does not differ from current Java 8 spec, where setAccessible may throw SecurityException without a security manager on some special objects (Class constructor). I agree, this is also strange (UOE would be more correct), but the same solution could be taken here, too. > > Second: AccessibleObject#setAccessible was made final, this breaks "delegators" like the one in Google Guava, which is a library used in like 50% of all larger software projects. Changing methods to be final in abstract classes is always a hard break, because abstract classes are there to be extended. The workaround may be to make the implementations final (which they are already, because Method, Field,... classes are final). Maybe just move the implementation into the final subclasses (with stupid code duplication, alternatively use a static helper class to avoid the code duplication). We had a similar issue in Java 8 EA builds (reported by Lucene at that time), where isAnnotationPresent() was moved as *default* method to the interface AnnotatedObject and then the impl in Field/Method/... was removed. This caused compiler failures for code compiled with source/target 1.7. The fix was to define the method in all subclasses but delegate to the interface with some super-like construct . It doesn't end there. I have yet to investigate what it means if the system class loader is no URLClassLoader per default anymore. This will have impact on Groovy's @Grab. This will cause problems with for example loading jdbc drivers at runtime. And if the assumptions about the module system in my initial post all are correct (nobody commented on those), I see trouble for Groovy calling methods in general. If we have to make a Groovy module and modules written in Groovy have to allow Groovy access to internal APIs, to be able to make normal method calls, then it means the module system is bypassed, because then any other Groovy program from any other module can use Groovy to access internals. Which also means Java programs can use Groovy to exploit everything of any Groovy module. And somebody has to explain to me why this is supposed to be different for Nashorn. I would imagine it is even worse there, since Nashorn can see internal APIs, that are hidden to others and since it is part of the JDK. bye blackdrag -- Jochen "blackdrag" Theodorou blog: http://blackdragsview.blogspot.com/ From Alan.Bateman at oracle.com Fri Sep 11 12:29:25 2015 From: Alan.Bateman at oracle.com (Alan Bateman) Date: Fri, 11 Sep 2015 13:29:25 +0100 Subject: Groovy with Jigsaw In-Reply-To: <55F206CF.8040108@gmx.org> References: <55F206CF.8040108@gmx.org> Message-ID: <55F2C925.2080307@oracle.com> On 10/09/2015 23:40, Jochen Theodorou wrote: > : > > As far as I understood a classloader can have a N modules plus the > unnamed module. I assume a the children of a classloader do not > automatically share modules (or not at all?) with their children. The "Class loaders" section in the SOTMS document provides a good summary of the proposed design. The current builds implement this so that a module is defined to a class loader. You can't some types in a module defined by one class loader and other types in the same module defined by a different class loader (how would package private access work for example). I'm sure there will be lots of discussion about class loaders in the JSR. > Do assume right in that there is no way to create a module at runtime? > > Next question is about runtime generated classes. And I mean here > classes generated by user code at runtime, as well as proxies, code > for reflection and invokedynamic and all the other bytecode generating > facilities. Will they all go into the unnamed module? In the proposed design there is a concept of layers of modules. The EA/prototype builds have API support for this and you'll find tests in the jdk repo that exercise this API to create configurations and instantiate them as modules in the run-time. Supporting dynamic languages and creating dynamic modules is very much an advanced topic at this time and there isn't support in the exported API for this. There is of course low-level support in the implementation and you'll find that Proxy and a few other areas that spin classes at run-time are using it in the current builds. At this time, if you are spinning classes the same package/loader of existing modules then those generated classes will be members of the module. If you are spinning classes into new packages or different class loaders that don't have any modules defined to them then they will be in that loader's unnamed module. > > Assuming they go there (how else can you choose from those N modules), > what access rights to the modules will they have? I assume to > everything that is exported, and for that it does not matter if it is > the same class loader or a parent or any other loader. Assuming they created in an unnamed module then it's as per the "Unnamed modules" section of the document. I see you have other questions about Groovy being a man-in-the-middle. I don't have time to reply to that now, others have have cycles to engage on that topic. -Alan. From Alan.Bateman at oracle.com Fri Sep 11 12:47:38 2015 From: Alan.Bateman at oracle.com (Alan Bateman) Date: Fri, 11 Sep 2015 13:47:38 +0100 Subject: Groovy with Jigsaw In-Reply-To: <55F2C4FB.5010107@gmx.org> References: <55F206CF.8040108@gmx.org> <01a501d0ec1c$15036d90$3f0a48b0$@apache.org> <55F2851D.5030406@oracle.com> <55F28DC4.7070701@oracle.com> <55F29D27.70609@gmx.org> <55F29FE1.1000407@oracle.com> <55F2A2F1.1030403@gmx.org> <009601d0ec81$04a430f0$0dec92d0$@apache.org> <55F2C4FB.5010107@gmx.org> Message-ID: <55F2CD6A.5060304@oracle.com> On 11/09/2015 13:11, Jochen Theodorou wrote: > Am 11.09.2015 13:00, schrieb Uwe Schindler: >> Just to conclude, there are 2 problems around setAccessible: >> >> First, it throws a new Exception type. This makes almost any Groovy >> script fail at some point, because it tries to add some meta class on >> the scripting level, and this call setAccessible on all fields and >> methods of any class used in the script, only catching >> SecurityException but not the new one. My preferred solution would be >> to make the new InaccessibleObjectException as subclass of >> SecurityException (and add some documentation why this is done like >> that). Please note this does not differ from current Java 8 spec, >> where setAccessible may throw SecurityException without a security >> manager on some special objects (Class constructor). I agree, this is >> also strange (UOE would be more correct), but the same solution could >> be taken here, too. Yes, this a incompatible change as InaccessibleObjectException is new. We might need to look at this again but changing it to security exception (or a sub-type) is really icky. One thing that would be useful to find setAccessible usages in other libraries to see if security exception is caught or handled. >> >> Second: AccessibleObject#setAccessible was made final I have a patch to resolve this one, just needs more testing, there was no intention to break anyone with this. My guess is that it is is very rare to extent AccessibleObject outside of java.lang.reflect. > > It doesn't end there. I have yet to investigate what it means if the > system class loader is no URLClassLoader per default anymore. This > will have impact on Groovy's @Grab. This will cause problems with for > example loading jdbc drivers at runtime. It's always been possible to configure the system class loader to be something else. So I'm curious what you do if it is a URLClassLoader, are you just looking for the class path? > : > > And somebody has to explain to me why this is supposed to be different > for Nashorn. I would imagine it is even worse there, since Nashorn can > see internal APIs, that are hidden to others and since it is part of > the JDK. Nashorn is updated in the EA builds to work with modules, it is spinning dynamic modules at run-time. I think it requires building up examples of real needs before thinking about an API here. -Alan From forax at univ-mlv.fr Fri Sep 11 12:50:00 2015 From: forax at univ-mlv.fr (Remi Forax) Date: Fri, 11 Sep 2015 14:50:00 +0200 (CEST) Subject: Groovy with Jigsaw In-Reply-To: <55F2A2F1.1030403@gmx.org> References: <55F206CF.8040108@gmx.org> <01a501d0ec1c$15036d90$3f0a48b0$@apache.org> <55F2851D.5030406@oracle.com> <55F28DC4.7070701@oracle.com> <55F29D27.70609@gmx.org> <55F29FE1.1000407@oracle.com> <55F2A2F1.1030403@gmx.org> Message-ID: <868050431.2001550.1441975800494.JavaMail.zimbra@u-pem.fr> Jochen, @CS == @CallerSensitive which means that setAccessible may throw an error depending where you call (from which class). Given that in Guava, setAccessible is called inside the Guava code, then this guava code may now fail and throw an exception. R?mi ----- Mail original ----- > De: "Jochen Theodorou" > ?: "Alan Bateman" , "C?dric Champeau" > Cc: jigsaw-dev at openjdk.java.net > Envoy?: Vendredi 11 Septembre 2015 11:46:25 > Objet: Re: Groovy with Jigsaw > > Am 11.09.2015 11:33, schrieb Alan Bateman: > > > > On 11/09/2015 10:21, Jochen Theodorou wrote: > >> > >> the error in Guava is not a failed attempt, it is a VerifyError, > >> because AccessibleObject#setAccessible is now final and > >> com.google.common.reflect.Element overrides the method. > >> > >> As far as I have seen Guava makes a parallel reflective structure of a > >> class to be able to better handle them. A the same time they proxy to > >> their counter parts, but do also implement interfaces like Member. > >> That requires for example to override setAccessible, which will just > >> make the same call on the delegate. I don't see how they can easily > >> fix that without giving up their mirror structure and have it > >> exchangeable with the java reflective classes at the same time. But I > >> am not on the guava team, so they know hopefully better > > Okay, I mis-read one of the mails and assumed that setAccessible was > > failing and leading to other errors. > > It does fail for any Groovy script, that invokes any method on an > Object, that has a declaring class, which is made inaccessible through > the module system, due to the new exception being thrown. Example: > > ClassLoader.getSystemClassLoader().toString() > > > In the current builds then setAccessible is final, and yes, this is an > > incompatible change. The reason for this is that the method is now @CS. > > I think we need to consider changing this so that setAccessible is > > overridden in the final Field, Constructor, and Method classes instead. > > Does @CS then mean guava will then possibly interfere with the security > manager logic, since it introduces a new layer of calling code in between? > > bye Jochen > > -- > Jochen "blackdrag" Theodorou > blog: http://blackdragsview.blogspot.com/ > > From blackdrag at gmx.org Fri Sep 11 13:20:31 2015 From: blackdrag at gmx.org (Jochen Theodorou) Date: Fri, 11 Sep 2015 15:20:31 +0200 Subject: Groovy with Jigsaw In-Reply-To: <55F2C925.2080307@oracle.com> References: <55F206CF.8040108@gmx.org> <55F2C925.2080307@oracle.com> Message-ID: <55F2D51F.4040204@gmx.org> Am 11.09.2015 14:29, schrieb Alan Bateman: [...] > Supporting dynamic languages and creating dynamic modules is very much > an advanced topic at this time and there isn't support in the exported > API for this. There is of course low-level support in the implementation > and you'll find that Proxy and a few other areas that spin classes at > run-time are using it in the current builds. I will have a look. But this most certainly means we will have to change several parts of the code. We use our own class loaders in several areas, as well as runtime generated classes. > At this time, if you are spinning classes the same package/loader of > existing modules then those generated classes will be members of the > module. If you are spinning classes into new packages or different class > loaders that don't have any modules defined to them then they will be in > that loader's unnamed module. generating classes using a new classloader is the standard for us. That is imho the case for our callsite caching, but I am very sure for groovy classes compiled and run at runtime. Since there will be several layers of code between the place that causes the compilation and execution as well as the place that does it I also currently see no way to add ourselves like a layer. It would require to be able to know the caller class/module or something like this. That is still an unsolved problem on the JVM for non-JDK code - imho. bye Jochen -- Jochen "blackdrag" Theodorou blog: http://blackdragsview.blogspot.com/ From blackdrag at gmx.org Fri Sep 11 15:46:59 2015 From: blackdrag at gmx.org (Jochen Theodorou) Date: Fri, 11 Sep 2015 17:46:59 +0200 Subject: Groovy with Jigsaw In-Reply-To: <55F2CD6A.5060304@oracle.com> References: <55F206CF.8040108@gmx.org> <01a501d0ec1c$15036d90$3f0a48b0$@apache.org> <55F2851D.5030406@oracle.com> <55F28DC4.7070701@oracle.com> <55F29D27.70609@gmx.org> <55F29FE1.1000407@oracle.com> <55F2A2F1.1030403@gmx.org> <009601d0ec81$04a430f0$0dec92d0$@apache.org> <55F2C4FB.5010107@gmx.org> <55F2CD6A.5060304@oracle.com> Message-ID: <55F2F773.2060101@gmx.org> Am 11.09.2015 14:47, schrieb Alan Bateman: [...] > It's always been possible to configure the system class loader to be > something else. So I'm curious what you do if it is a URLClassLoader, > are you just looking for the class path? Then it would not work. But since the cases for @Grab have not been cases in which you normally do that, there was almost always the chance to do this in practice. Now not anymore. Normally you don't need to do this kind of thing either. There is for example GroovyRootLoader, which we use to load the Groovy runtime, which is an URLClassLoader and can be used... only in some cases like some jdbc drivers you need a higher loader and that's where the system class loader was used in the past. What is the alternative? >> And somebody has to explain to me why this is supposed to be different >> for Nashorn. I would imagine it is even worse there, since Nashorn can >> see internal APIs, that are hidden to others and since it is part of >> the JDK. > Nashorn is updated in the EA builds to work with modules, it is spinning > dynamic modules at run-time. I think it requires building up examples of > real needs before thinking about an API here. My thought experiment is the following... Have module A, with internal API in a.internal and public stuff in a.public. Furthermore A is written in Groovy. Let us say there is a public static method a.internal.BadClass#badMethod(), then any Groovy program can do the following: a.internal.BadClass.badMethod(). And that is because the method call will be done from Groovy. For A to be working there has to be a Groovy module which is allowed to access the internal API, since otherwise the classes there won't work. But maybe this question should go to the expert group instead? bye Jochen -- Jochen "blackdrag" Theodorou blog: http://blackdragsview.blogspot.com/ From peter.levart at gmail.com Fri Sep 11 15:52:04 2015 From: peter.levart at gmail.com (Peter Levart) Date: Fri, 11 Sep 2015 17:52:04 +0200 Subject: Jigsaw EA feedback on running an internal app Message-ID: <55F2F8A4.3020202@gmail.com> Hi, Excellent work and congratulations on finally bringing modules to Java! I tried to run a medium-sized stand-alone server application with Jigsaw 9.0 EA build and it seems to work fine after adding a single -XaddExports option. This app uses the following 3rd party libraries/components: Hibernate 4.3 Jasper Reports 4.5 Jetty 6.1.5 JRules 6.7 Spring 4.2 Coherence 3.7 ...and lots of other small libraries All used libraries behave nicely. The -XaddExports:java.rmi/sun.rmi.server=ALL-UNNAMED was needed because of Oracle Coherence! Building the app with Maven doesn't work though. Maven compiler module doesn't seem to be able to use the javac compiler API correctly. Maven folks would have to look at it. Spotted an error in "The State of the Module System" document at: http://openjdk.java.net/projects/jigsaw/spec/sotms/ ... In the "Implied readability" section, it writes: > The java.sql.Driver interface, in particular, declares the public method > > public Logger getParentLogger(); > > where Logger is a type declared in the exported java.util.logging > package of the java.logging module. > > Suppose that code in the com.foo.app module invokes this method in > order to acquire a logger and log a message: > > String url = ...; > Properties props = ...; > Driver d = DriverManager.getDriver(url); > Connection c = d.connect(url, props); > d.getParentLogger().info("Connection acquired"); > > If the com.foo.app module is declared as above then this will not > work: *The getParentLogger method is defined in the Logger class, > which is in the java.logging module, which is not read by the > com.foo.app module. That class is therefore inaccessible to code in > the com.foo.app module and so the invocation of the getParentLogger > method will fail, at both compile time and run time.* The correct text should be, I think: "The getParentLogger method defined in Driver class has a signature with a return type of Logger class, which is in the java.logging module, which is not read by the com.foo.app module. That class is therefore inaccessible to code in the com.foo.app module and so the invocation of the .info method will fail, at both compile time and run time (in case the modules were successfully compiled together using legacy compiler mode and then their artifacts split into modules)". The fact is that getParentLogger method can be invoked even though it's return type is in an unreadable module if the return type is not used in any way in such invocation. For example: d.getParentLogger().toString(); (the above assumes that .toString() is declared in Object and not overridden in Logger). If it is overriden, it can be invoked nevertheless with the following trick: ((Object) d.getParentLogger()).toString(). The important thing is that Logger as a type must not be referenced in bytecodes if the bytecodes are in a module that doesn't read java.logging module. Am I correct? I have experimented with the EA and this is my experience. Is the prototype working correctly in this respect? Now just a thought on implied readability. While it is a convenient feature, it can be dangerous if not used correctly. I think a module should declare it's own dependencies (requires) for all types it references explicitly. In above example, it invokes method Loger.info() and therefore uses types from module java.logging explicitly. A case where implied readability would be abused could be described in the following example: - java.sql module uses java.logging internally and also exposes a method Driver.getParentLogger() which returns a Logger which is declared in java.logging module. Therefore java.sql requires *public* java.logging to imply the readability of java.logging for modules that require only java.sql and not java.logging explicitly. - com.foo.internal module requires java.sql and only uses the part of it's API that doesn't need types from java.logging - com.foo.internal also uses Logger internally, but fails to declare this. It nevertheless works since java.logging is implicitly readable to it through declaration in java.sql - java.sql module decides to change it's internal use of logging API and instead of java.logging starts using org.apache.log4j. It now requires *public* org.apache.log4j instead of java.logging - an incompatible change, yes, but should not affect com.foo.internal that only uses the part of it's API that doesn't use types from java.logging - com.foo.internal now fails because it still uses java.logging, but implicit readability of it is not provided by java.sql any more. If com.foo.internal declared explicitly a dependency on java.logging, such configuration would still work. So while convenient, implied readability should be used with care. Regards, Peter P.S. Here's a perl script one can find useful for parsing exception traces (from logs for example) and turning them into -XaddExports options that allow access to non-public APIs: #!/bin/perl my %exports = (); while () { chomp; if (/cannot access \S+ (\S+) \(in module: (.*?)\), (\S+) is not exported to (.*)/) { my $target_module = ($4 eq "Unnamed Module") ? "ALL-UNNAMED" : $4; my $source_module = $2; my $source_pkg = $3; $exports{"-XaddExports:$source_module/$source_pkg=$target_module"}++; } } print join(" ", keys %exports) . "\n"; From karen.kinnear at oracle.com Fri Sep 11 16:31:33 2015 From: karen.kinnear at oracle.com (Karen Kinnear) Date: Fri, 11 Sep 2015 12:31:33 -0400 Subject: CFV: New Jigsaw Committer: Harold Seigel Message-ID: <7F587027-2BDB-4C37-9FD7-01AEBFB17E40@oracle.com> I hereby nominate Harold Seigel to Jigsaw Committer. Harold is a member of the hotspot runtime team and a Reviewer on the jdk9 project. Harold has been contributing to Project Jigsaw in the hotspot runtime for over a year, including support for the JVM_* interfaces for modules, boot class loader support for jigsaw and handling jvm bootstrapping issues relative to jigsaw that are currently prototyped in the jigsaw/jake forest. Votes are due by: September 25, 2105 8:00 PST. Only current Jigsaw Committers [1] are eligible to vote on this nomination. Votes must be cast in the open by replying to this mailing list. For Lazy Consensus voting instructions, see [2] thanks, Karen [1] http://openjdk.java.net/census [2] http://openjdk.java.net/projects/#committer-vote Harold's changesets for jigsaw/jake: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/065aac05e267 http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/0f0743393dcb http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/2779b74ac808 http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/4399b514d1f6 http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/4443dde8d089 http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/46f34d9a3520 http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/4c251362419a http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/52aa2e30e139 http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/5936cfa7957f http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/5b987349098f http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/5d446c5f5d87 http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/5fde03772024 http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/6742fb545950 http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/68fec4452b48 http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/6be1b3b68758 http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/7227b4dbf763 http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/83b7f458698f http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/9889c393adfb http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/990036fcd63d http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/9959993748a1 http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/9be9f81cb8e8 http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/9ddaf93af7e6 http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/a38181c2fc6d http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/a3f86617d287 http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/a68fdd75403a http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/b9882cb01d60 http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/ccd5acdfc183 http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/dba44c406ceb http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/e49914e2c4ca http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/ef26f9d82c61 http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/fb43f332125d http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/06c7768ed452 http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/0a4072287a82 http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/200d3d2c3f9e http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/4feb32b92512 http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/585b5b96a990 http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/8ed709fbba55 http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/8fe7c0be60a2 From james.laskey at oracle.com Fri Sep 11 16:40:27 2015 From: james.laskey at oracle.com (Jim Laskey (Oracle)) Date: Fri, 11 Sep 2015 13:40:27 -0300 Subject: CFV: New Jigsaw Committer: Harold Seigel In-Reply-To: <7F587027-2BDB-4C37-9FD7-01AEBFB17E40@oracle.com> References: <7F587027-2BDB-4C37-9FD7-01AEBFB17E40@oracle.com> Message-ID: Vote: yes ? Jim > On Sep 11, 2015, at 1:31 PM, Karen Kinnear wrote: > > > I hereby nominate Harold Seigel to Jigsaw Committer. > > Harold is a member of the hotspot runtime team and a Reviewer on the jdk9 project. > Harold has been contributing to Project Jigsaw in the hotspot runtime for over a > year, including support for the JVM_* interfaces for modules, boot class loader > support for jigsaw and handling jvm bootstrapping issues relative to jigsaw that are > currently prototyped in the jigsaw/jake forest. > > Votes are due by: September 25, 2105 8:00 PST. Only current Jigsaw > Committers [1] are eligible to vote on this nomination. Votes must be > cast in the open by replying to this mailing list. > > For Lazy Consensus voting instructions, see [2] > > thanks, > Karen > [1] http://openjdk.java.net/census > [2] http://openjdk.java.net/projects/#committer-vote > > Harold's changesets for jigsaw/jake: > > http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/065aac05e267 > http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/0f0743393dcb > http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/2779b74ac808 > http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/4399b514d1f6 > http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/4443dde8d089 > http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/46f34d9a3520 > http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/4c251362419a > http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/52aa2e30e139 > http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/5936cfa7957f > http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/5b987349098f > http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/5d446c5f5d87 > http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/5fde03772024 > http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/6742fb545950 > http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/68fec4452b48 > http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/6be1b3b68758 > http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/7227b4dbf763 > http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/83b7f458698f > http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/9889c393adfb > http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/990036fcd63d > http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/9959993748a1 > http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/9be9f81cb8e8 > http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/9ddaf93af7e6 > http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/a38181c2fc6d > http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/a3f86617d287 > http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/a68fdd75403a > http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/b9882cb01d60 > http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/ccd5acdfc183 > http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/dba44c406ceb > http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/e49914e2c4ca > http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/ef26f9d82c61 > http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/fb43f332125d > > http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/06c7768ed452 > http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/0a4072287a82 > http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/200d3d2c3f9e > http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/4feb32b92512 > http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/585b5b96a990 > http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/8ed709fbba55 > http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/8fe7c0be60a2 > From Roger.Riggs at Oracle.com Fri Sep 11 16:44:44 2015 From: Roger.Riggs at Oracle.com (Roger Riggs) Date: Fri, 11 Sep 2015 12:44:44 -0400 Subject: CFV: New Jigsaw Committer: Harold Seigel In-Reply-To: <7F587027-2BDB-4C37-9FD7-01AEBFB17E40@oracle.com> References: <7F587027-2BDB-4C37-9FD7-01AEBFB17E40@oracle.com> Message-ID: <55F304FC.8070801@Oracle.com> Vote: yes On 9/11/2015 12:31 PM, Karen Kinnear wrote: > I hereby nominate Harold Seigel to Jigsaw Committer. > > From Roger.Riggs at Oracle.com Fri Sep 11 16:52:33 2015 From: Roger.Riggs at Oracle.com (Roger Riggs) Date: Fri, 11 Sep 2015 12:52:33 -0400 Subject: CFV: New Jigsaw Committer: Harold Seigel In-Reply-To: <55F304FC.8070801@Oracle.com> References: <7F587027-2BDB-4C37-9FD7-01AEBFB17E40@oracle.com> <55F304FC.8070801@Oracle.com> Message-ID: <55F306D1.3040902@Oracle.com> My mistake, Withdrawn, I am not a jigsaw comitter. On 9/11/2015 12:44 PM, Roger Riggs wrote: > Vote: yes > > On 9/11/2015 12:31 PM, Karen Kinnear wrote: >> I hereby nominate Harold Seigel to Jigsaw Committer. >> >> > From ron at paralleluniverse.co Fri Sep 11 17:41:45 2015 From: ron at paralleluniverse.co (Ron Pressler) Date: Fri, 11 Sep 2015 20:41:45 +0300 Subject: Static layer descriptors Message-ID: Just finished reading the new Jigsaw information. Great job! I do have a question regarding version conflicts (as I'm sure do many others). The document says Jigsaw leaves the version-selection problem to the build too, which fine. But to resolve transitive dependency version conflicts -- a --> b, c; b --> d at 1; c --> d at 2 -- the current solution is shading/shadowing (as d at 1 and d at 2 can be completely different from one another). It seems like layers could provide a better solution, but as I understand, there is no way to statically describe a multi-layer configuration (I know I'm overloading the Jigsaw term "configuration" here) and pass it on to java at the command line -- only dynamically with reflection. Is that correct? If so, could it be possible to add another command line option as an alternative to -modulepath, that can take a file with a static description of layer configurations? Ron From ron at paralleluniverse.co Fri Sep 11 18:58:53 2015 From: ron at paralleluniverse.co (Ron Pressler) Date: Fri, 11 Sep 2015 21:58:53 +0300 Subject: Static layer descriptors In-Reply-To: References: Message-ID: ... Alternatively, instead of defining a new file format, is it possible for a Java agent to set up layers with the reflective API before the application starts? In either case, the build tool could generate the layers file/agent. Ron Ron Pressler paralleluniverse.co @puniverseco on Twitter On Fri, Sep 11, 2015 at 8:41 PM, Ron Pressler wrote: > Just finished reading the new Jigsaw information. Great job! > > I do have a question regarding version conflicts (as I'm sure do many > others). The document says Jigsaw leaves the version-selection problem to > the build too, which fine. But to resolve transitive dependency version > conflicts -- a --> b, c; b --> d at 1; c --> d at 2 -- the current solution is > shading/shadowing (as d at 1 and d at 2 can be completely different from one > another). > > It seems like layers could provide a better solution, but as I understand, > there is no way to statically describe a multi-layer configuration (I know > I'm overloading the Jigsaw term "configuration" here) and pass it on to > java at the command line -- only dynamically with reflection. Is that > correct? > > If so, could it be possible to add another command line option as an > alternative to -modulepath, that can take a file with a static description > of layer configurations? > > Ron > From Alan.Bateman at oracle.com Fri Sep 11 19:29:35 2015 From: Alan.Bateman at oracle.com (Alan Bateman) Date: Fri, 11 Sep 2015 20:29:35 +0100 Subject: CFV: New Jigsaw Committer: Harold Seigel In-Reply-To: <7F587027-2BDB-4C37-9FD7-01AEBFB17E40@oracle.com> References: <7F587027-2BDB-4C37-9FD7-01AEBFB17E40@oracle.com> Message-ID: <55F32B9F.3040908@oracle.com> Vote: yes From mandy.chung at oracle.com Fri Sep 11 19:43:22 2015 From: mandy.chung at oracle.com (Mandy Chung) Date: Fri, 11 Sep 2015 12:43:22 -0700 Subject: CFV: New Jigsaw Committer: Harold Seigel In-Reply-To: <7F587027-2BDB-4C37-9FD7-01AEBFB17E40@oracle.com> References: <7F587027-2BDB-4C37-9FD7-01AEBFB17E40@oracle.com> Message-ID: Vote: yes Mandy From santoshkotakonda at gmail.com Fri Sep 11 20:50:46 2015 From: santoshkotakonda at gmail.com (Santosh) Date: Fri, 11 Sep 2015 16:50:46 -0400 Subject: CFV: New Jigsaw Committer: Harold Seigel In-Reply-To: References: <7F587027-2BDB-4C37-9FD7-01AEBFB17E40@oracle.com> Message-ID: Yes my vote Sent from my iPhone > On Sep 11, 2015, at 3:43 PM, Mandy Chung wrote: > > Vote: yes > > Mandy From martinrb at google.com Fri Sep 11 20:51:04 2015 From: martinrb at google.com (Martin Buchholz) Date: Fri, 11 Sep 2015 13:51:04 -0700 Subject: jigsaw vs. jsr166 CVS Message-ID: Jigsawers: I tried to use jigsaw EA with jsr166 CVS for the first time. On a fresh jsr166 CVS checkout (http://g.oswego.edu/dl/concurrency-interest/), I did: ~/jsr166/jigsaw $ ant -v compile -Djdk9.home="$HOME/jdk/jigsaw-b80" and got: [javac] /home/martin/jsr166/jigsaw/src/main/java/util/AbstractQueue.java:7: warning: package exists in another module: java.base [javac] package java.util; and then more seriously [javac] /home/martin/jsr166/jigsaw/src/main/java/util/AbstractQueue.java:36: error: cannot find symbol [javac] extends AbstractCollection I was surprised by that -- we don't fiddle with the boot environment here. Is it not allowed to compile sources for which class files are in the same package but another module? Alternatively, does the compile time environment need to include all the sources for the packages being compiled, i.e. do I need to add sourcepath for jdk/src/java.base/share/classes? (Admittedly, developing jdk sources outside the jdk proper is a little bit unusual) From rcmuir at gmail.com Fri Sep 11 20:58:58 2015 From: rcmuir at gmail.com (Robert Muir) Date: Fri, 11 Sep 2015 16:58:58 -0400 Subject: Jigsaw EA feedback for elasticsearch In-Reply-To: <55F2A877.5010109@oracle.com> References: <55F2A877.5010109@oracle.com> Message-ID: On Fri, Sep 11, 2015 at 6:09 AM, Alan Bateman wrote: > > I'm not sure that I understand the issue here but just to say that the > com.sun.management API is a documented/supported API and it exported by > module jdk.management: > > $ java -listmods:jdk.management > > jdk.management at 9.0 > requires public java.management > requires mandated java.base > exports com.sun.management > conceals com.sun.management.internal > provides sun.management.spi.PlatformMBeanProvider with > com.sun.management.internal.PlatformMBeanProviderImpl > Here is code that fails: import java.lang.reflect.*; import java.lang.management.*; public class test { public static void main(String args[]) throws Exception { OperatingSystemMXBean osMxBean = ManagementFactory.getOperatingSystemMXBean(); Method getTotalPhysicalMemorySize = osMxBean.getClass().getMethod("getTotalPhysicalMemorySize"); getTotalPhysicalMemorySize.setAccessible(true); System.out.println(getTotalPhysicalMemorySize.invoke(osMxBean)); } } Exception in thread "main" java.lang.reflect.InaccessibleObjectException: Unable to make member of class com.sun.management.internal.OperatingSystemImpl accessible: module jdk.management does not export com.sun.management.internal to at sun.reflect.Reflection.throwInaccessibleObjectException(java.base at 9.0/Reflection.java:462) at java.lang.reflect.AccessibleObject.checkCanSetAccessible(java.base at 9.0/AccessibleObject.java:194) at java.lang.reflect.AccessibleObject.setAccessible(java.base at 9.0/AccessibleObject.java:157) at test.main(test.java:8) From rcmuir at gmail.com Fri Sep 11 21:21:50 2015 From: rcmuir at gmail.com (Robert Muir) Date: Fri, 11 Sep 2015 17:21:50 -0400 Subject: Jigsaw EA feedback for elasticsearch In-Reply-To: References: <55F2A877.5010109@oracle.com> Message-ID: I can workaround this issue by changing the code to not call setAccessible (and doing class.forName). I don't know why the existing code does it that way... just another code change, but I think we are fine! On Fri, Sep 11, 2015 at 4:58 PM, Robert Muir wrote: > On Fri, Sep 11, 2015 at 6:09 AM, Alan Bateman wrote: >> >> I'm not sure that I understand the issue here but just to say that the >> com.sun.management API is a documented/supported API and it exported by >> module jdk.management: >> >> $ java -listmods:jdk.management >> >> jdk.management at 9.0 >> requires public java.management >> requires mandated java.base >> exports com.sun.management >> conceals com.sun.management.internal >> provides sun.management.spi.PlatformMBeanProvider with >> com.sun.management.internal.PlatformMBeanProviderImpl >> > > Here is code that fails: > > import java.lang.reflect.*; > import java.lang.management.*; > > public class test { > public static void main(String args[]) throws Exception { > OperatingSystemMXBean osMxBean = > ManagementFactory.getOperatingSystemMXBean(); > Method getTotalPhysicalMemorySize = > osMxBean.getClass().getMethod("getTotalPhysicalMemorySize"); > getTotalPhysicalMemorySize.setAccessible(true); > System.out.println(getTotalPhysicalMemorySize.invoke(osMxBean)); > } > } > > Exception in thread "main" > java.lang.reflect.InaccessibleObjectException: Unable to make member > of class com.sun.management.internal.OperatingSystemImpl accessible: > module jdk.management does not export com.sun.management.internal to > > at sun.reflect.Reflection.throwInaccessibleObjectException(java.base at 9.0/Reflection.java:462) > at java.lang.reflect.AccessibleObject.checkCanSetAccessible(java.base at 9.0/AccessibleObject.java:194) > at java.lang.reflect.AccessibleObject.setAccessible(java.base at 9.0/AccessibleObject.java:157) > at test.main(test.java:8) From sadhak001 at gmail.com Fri Sep 11 22:12:32 2015 From: sadhak001 at gmail.com (Mani Sarkar) Date: Fri, 11 Sep 2015 23:12:32 +0100 Subject: Project Jigsaw: Early-Access Builds available on jdk9.java.net/jigsaw In-Reply-To: <55F2AE58.8020400@oracle.com> References: <55F067A9.6070606@oracle.com> <55F1E85B.3040004@oracle.com> <55F1EE3D.7010606@oracle.com> <55F2AE58.8020400@oracle.com> Message-ID: Looking forward to it - always a pleasure to help. Cheers, Mani On Fri, Sep 11, 2015 at 11:35 AM, Alan Bateman wrote: > > > On 10/09/2015 22:12, Mani Sarkar wrote: > >> Jim you stole my thunder and lightening - that was it. >> >> Thanks Mani, thanks Jim, this is fixed on the QS page now. I've no doubt > that in time that there will be much better examples and tutorials, that > page is just a start. > > -Alan > -- @theNeomatrix369 * | **Blog ** | *LJC Associate & LJC Advocate (@adoptopenjdk & @adoptajsr programs) *Meet-a-Project - *MutabilityDetector * | **Bitbucket * * | **Github * * | **LinkedIn * *Come to Devoxx UK 2016:* http://www.devoxx.co.uk/ *Don't chase success, rather aim for "Excellence", and success will come chasing after you!* From alex.buckley at oracle.com Fri Sep 11 22:49:19 2015 From: alex.buckley at oracle.com (Alex Buckley) Date: Fri, 11 Sep 2015 15:49:19 -0700 Subject: jigsaw vs. jsr166 CVS In-Reply-To: References: Message-ID: <55F35A6F.7040807@oracle.com> Hi Martin, javac is compiling your classes (in the unnamed module) against all the named modules in the image. One of those named modules (java.base) contains the java.util package, so your code (in the unnamed module) cannot also contain that package. [That's not quite true but go with it for now.] What you want is the -Xoverride flag -- see the "Overriding module content" section of JEP 261. You'll have to rename 'main' to 'java.base'. Also note the open design issues around -Xoverride. Alex On 9/11/2015 1:51 PM, Martin Buchholz wrote: > Jigsawers: > > I tried to use jigsaw EA with jsr166 CVS for the first time. > > On a fresh jsr166 CVS checkout (http://g.oswego.edu/dl/concurrency-interest/), > I did: > ~/jsr166/jigsaw $ ant -v compile -Djdk9.home="$HOME/jdk/jigsaw-b80" > > and got: > > [javac] > /home/martin/jsr166/jigsaw/src/main/java/util/AbstractQueue.java:7: > warning: package exists in another module: java.base > [javac] package java.util; > > and then more seriously > > [javac] > /home/martin/jsr166/jigsaw/src/main/java/util/AbstractQueue.java:36: error: > cannot find symbol > [javac] extends AbstractCollection > > I was surprised by that -- we don't fiddle with the boot environment here. > Is it not allowed to compile sources for which class files are in the same > package but another module? Alternatively, does the compile time > environment need to include all the sources for the packages being > compiled, i.e. do I need to add sourcepath for > jdk/src/java.base/share/classes? > > (Admittedly, developing jdk sources outside the jdk proper is a little bit > unusual) > From martinrb at google.com Fri Sep 11 23:30:37 2015 From: martinrb at google.com (Martin Buchholz) Date: Fri, 11 Sep 2015 16:30:37 -0700 Subject: jigsaw vs. jsr166 CVS In-Reply-To: <55F35A6F.7040807@oracle.com> References: <55F35A6F.7040807@oracle.com> Message-ID: I tried adding -Xoverride, but it didn't help. --- build.xml 11 Sep 2015 18:43:46 -0000 1.177 +++ build.xml 11 Sep 2015 23:17:46 -0000 @@ -347,6 +347,7 @@ fork="true"> + I can see that the compiler is being invoked like this: $ ant -v compile -Djdk9.home="$HOME/jdk/jigsaw-b80" ... [javac] Compilation arguments: [javac] '-d' [javac] '/home/martin/jsr166/jigsaw/build/classes' [javac] '-classpath' [javac] '/home/martin/jsr166/jigsaw/build/classes' [javac] '-sourcepath' [javac] '/home/martin/jsr166/jigsaw/src/main' [javac] '-g:source,lines,vars' [javac] '-Xoverride:/home/martin/jsr166/jigsaw/src/main' [javac] '-Xprefer:source' [javac] '-XDignore.symbol.file=true' [javac] '-Xlint:all' [javac] '-Werror' [javac] '-Xdoclint:all/protected' [javac] '-Xmaxerrs' [javac] '1000' [javac] '-Xmaxwarns' [javac] '1000' Maybe the problem is that the there is *nothing but* overriding source files here. Does javac check that its actual argument source files might be in the Xoverride tree? Can/should we make jsr166 files itself a sub-module of java.base? Certainly, here in jsr166-developer-land, we act as if it were so. We have independent source trees, binary artifacts, etc... must be a module!? (You might not allow carving up java.util along module boundaries, but the reality as reflected in the bug system is that java.util contains portions of several "modules") (but oops ... circular dependencies ...) On Fri, Sep 11, 2015 at 3:49 PM, Alex Buckley wrote: > Hi Martin, > > javac is compiling your classes (in the unnamed module) against all the > named modules in the image. One of those named modules (java.base) contains > the java.util package, so your code (in the unnamed module) cannot also > contain that package. [That's not quite true but go with it for now.] > > What you want is the -Xoverride flag -- see the "Overriding module > content" section of JEP 261. You'll have to rename 'main' to 'java.base'. > Also note the open design issues around -Xoverride. > > Alex > > > On 9/11/2015 1:51 PM, Martin Buchholz wrote: > >> Jigsawers: >> >> I tried to use jigsaw EA with jsr166 CVS for the first time. >> >> On a fresh jsr166 CVS checkout ( >> http://g.oswego.edu/dl/concurrency-interest/), >> I did: >> ~/jsr166/jigsaw $ ant -v compile -Djdk9.home="$HOME/jdk/jigsaw-b80" >> >> and got: >> >> [javac] >> /home/martin/jsr166/jigsaw/src/main/java/util/AbstractQueue.java:7: >> warning: package exists in another module: java.base >> [javac] package java.util; >> >> and then more seriously >> >> [javac] >> /home/martin/jsr166/jigsaw/src/main/java/util/AbstractQueue.java:36: >> error: >> cannot find symbol >> [javac] extends AbstractCollection >> >> I was surprised by that -- we don't fiddle with the boot environment here. >> Is it not allowed to compile sources for which class files are in the same >> package but another module? Alternatively, does the compile time >> environment need to include all the sources for the packages being >> compiled, i.e. do I need to add sourcepath for >> jdk/src/java.base/share/classes? >> >> (Admittedly, developing jdk sources outside the jdk proper is a little bit >> unusual) >> >> From alex.buckley at oracle.com Fri Sep 11 23:37:47 2015 From: alex.buckley at oracle.com (Alex Buckley) Date: Fri, 11 Sep 2015 16:37:47 -0700 Subject: jigsaw vs. jsr166 CVS In-Reply-To: References: <55F35A6F.7040807@oracle.com> Message-ID: <55F365CB.4040501@oracle.com> Your -Xoverride value of .../src/main points to a package hierarchy (java/util/...) but it needs to point to a module hierarchy (java.base/java/util/...). That's the meaning of " is a directory that contains exploded-module directories" in JEP 261. Alex On 9/11/2015 4:30 PM, Martin Buchholz wrote: > I tried adding -Xoverride, but it didn't help. > > --- build.xml11 Sep 2015 18:43:46 -00001.177 > +++ build.xml11 Sep 2015 23:17:46 -0000 > @@ -347,6 +347,7 @@ > fork="true"> > > + > > > > > I can see that the compiler is being invoked like this: > $ ant -v compile -Djdk9.home="$HOME/jdk/jigsaw-b80" > ... > [javac] Compilation arguments: > [javac] '-d' > [javac] '/home/martin/jsr166/jigsaw/build/classes' > [javac] '-classpath' > [javac] '/home/martin/jsr166/jigsaw/build/classes' > [javac] '-sourcepath' > [javac] '/home/martin/jsr166/jigsaw/src/main' > [javac] '-g:source,lines,vars' > [javac] '-Xoverride:/home/martin/jsr166/jigsaw/src/main' > [javac] '-Xprefer:source' > [javac] '-XDignore.symbol.file=true' > [javac] '-Xlint:all' > [javac] '-Werror' > [javac] '-Xdoclint:all/protected' > [javac] '-Xmaxerrs' > [javac] '1000' > [javac] '-Xmaxwarns' > [javac] '1000' > > Maybe the problem is that the there is *nothing but* overriding source > files here. > Does javac check that its actual argument source files might be in the > Xoverride tree? > > Can/should we make jsr166 files itself a sub-module of java.base? > Certainly, here in jsr166-developer-land, we act as if it were so. > We have independent source trees, binary artifacts, etc... must be a > module!? > (You might not allow carving up java.util along module boundaries, but > the reality as reflected in the bug system is that java.util contains > portions of several "modules") > (but oops ... circular dependencies ...) > > > > On Fri, Sep 11, 2015 at 3:49 PM, Alex Buckley > wrote: > > Hi Martin, > > javac is compiling your classes (in the unnamed module) against all > the named modules in the image. One of those named modules > (java.base) contains the java.util package, so your code (in the > unnamed module) cannot also contain that package. [That's not quite > true but go with it for now.] > > What you want is the -Xoverride flag -- see the "Overriding module > content" section of JEP 261. You'll have to rename 'main' to > 'java.base'. Also note the open design issues around -Xoverride. > > Alex > > > On 9/11/2015 1:51 PM, Martin Buchholz wrote: > > Jigsawers: > > I tried to use jigsaw EA with jsr166 CVS for the first time. > > On a fresh jsr166 CVS checkout > (http://g.oswego.edu/dl/concurrency-interest/), > I did: > ~/jsr166/jigsaw $ ant -v compile > -Djdk9.home="$HOME/jdk/jigsaw-b80" > > and got: > > [javac] > /home/martin/jsr166/jigsaw/src/main/java/util/AbstractQueue.java:7: > warning: package exists in another module: java.base > [javac] package java.util; > > and then more seriously > > [javac] > /home/martin/jsr166/jigsaw/src/main/java/util/AbstractQueue.java:36: > error: > cannot find symbol > [javac] extends AbstractCollection > > I was surprised by that -- we don't fiddle with the boot > environment here. > Is it not allowed to compile sources for which class files are > in the same > package but another module? Alternatively, does the compile time > environment need to include all the sources for the packages being > compiled, i.e. do I need to add sourcepath for > jdk/src/java.base/share/classes? > > (Admittedly, developing jdk sources outside the jdk proper is a > little bit > unusual) > > From alex.buckley at oracle.com Fri Sep 11 23:55:26 2015 From: alex.buckley at oracle.com (Alex Buckley) Date: Fri, 11 Sep 2015 16:55:26 -0700 Subject: Jigsaw EA feedback on running an internal app In-Reply-To: <55F2F8A4.3020202@gmail.com> References: <55F2F8A4.3020202@gmail.com> Message-ID: <55F369EE.9040908@oracle.com> Hi Peter, On 9/11/2015 8:52 AM, Peter Levart wrote: > Spotted an error in "The State of the Module System" document at: > http://openjdk.java.net/projects/jigsaw/spec/sotms/ ... In the "Implied > readability" section, it writes: > >> The java.sql.Driver interface, in particular, declares the public method >> >> public Logger getParentLogger(); >> >> where Logger is a type declared in the exported java.util.logging >> package of the java.logging module. >> >> Suppose that code in the com.foo.app module invokes this method in >> order to acquire a logger and log a message: >> >> String url = ...; >> Properties props = ...; >> Driver d = DriverManager.getDriver(url); >> Connection c = d.connect(url, props); >> d.getParentLogger().info("Connection acquired"); >> >> If the com.foo.app module is declared as above then this will not >> work: *The getParentLogger method is defined in the Logger class, >> which is in the java.logging module, which is not read by the >> com.foo.app module. That class is therefore inaccessible to code in >> the com.foo.app module and so the invocation of the getParentLogger >> method will fail, at both compile time and run time.* > > > The correct text should be, I think: "The getParentLogger method defined > in Driver class has a signature with a return type of Logger class, > which is in the java.logging module, which is not read by the > com.foo.app module. That class is therefore inaccessible to code in the > com.foo.app module and so the invocation of the .info method will fail, > at both compile time and run time (in case the modules were successfully > compiled together using legacy compiler mode and then their artifacts > split into modules)". You're right. > The fact is that getParentLogger method can be invoked even though it's > return type is in an unreadable module if the return type is not used in > any way in such invocation. For example: > > d.getParentLogger().toString(); > > (the above assumes that .toString() is declared in Object and not > overridden in Logger). If it is overriden, it can be invoked > nevertheless with the following trick: > > ((Object) d.getParentLogger()).toString(). > > The important thing is that Logger as a type must not be referenced in > bytecodes if the bytecodes are in a module that doesn't read > java.logging module. > > Am I correct? I have experimented with the EA and this is my experience. > Is the prototype working correctly in this respect? You're right. The Driver::getParentLogger method IS accessible to the caller in the com.foo.app module, but the Logger type IS NOT (and so neither is the Logger::info method). Of course, the compiler can trivially prove that a cast of any class type (e.g. Logger, as given by the signature of Driver::getParentLogger) to Object is legal. Given that cast, the compiler will emit an invokevirtual Object::toString, and at run time the overriding method will be dynamically dispatched -- could be in Logger, could be in a subclass of Logger, but the caller doesn't need to know (or have access). > Now just a thought on implied readability. While it is a convenient > feature, it can be dangerous if not used correctly. I think a module > should declare it's own dependencies (requires) for all types it > references explicitly. In above example, it invokes method Loger.info() > and therefore uses types from module java.logging explicitly. > > A case where implied readability would be abused could be described in > the following example: > > - java.sql module uses java.logging internally and also exposes a method > Driver.getParentLogger() which returns a Logger which is declared in > java.logging module. Therefore java.sql requires *public* java.logging > to imply the readability of java.logging for modules that require only > java.sql and not java.logging explicitly. > - com.foo.internal module requires java.sql and only uses the part of > it's API that doesn't need types from java.logging > - com.foo.internal also uses Logger internally, but fails to declare > this. It nevertheless works since java.logging is implicitly readable to > it through declaration in java.sql > - java.sql module decides to change it's internal use of logging API and > instead of java.logging starts using org.apache.log4j. It now requires > *public* org.apache.log4j instead of java.logging - an incompatible > change, yes, but should not affect com.foo.internal that only uses the > part of it's API that doesn't use types from java.logging > - com.foo.internal now fails because it still uses java.logging, but > implicit readability of it is not provided by java.sql any more. If > com.foo.internal declared explicitly a dependency on java.logging, such > configuration would still work. > > So while convenient, implied readability should be used with care. I would hope that an IDE would raise awareness of the readability situation at step 3, where the com.foo.internal module uses Logger from a module to which it (com.foo.internal) only has implied readability. That said, the author of the com.foo.internal module isn't doing anything wrong. He's relying on the contract offered by the java.sql module (including readability to java.logging) and is not under any obligation to use 100% of the types exported by the java.sql module. It's the author of the java.sql module in step 4 who is potentially breaking his consumers. Per step 1, java.sql.Driver::getParentLogger has a return type from java.logging, and if that changes to come from org.apache.log4j instead, it's a source- and binary-incompatible change. Far more consumers of java.sql will break than just com.foo.internal. Anyway, I agree with the substance of your comment, about using implied readability with care -- I recommend you send it to the EG (jpms-spec-comments at openjdk.java.net). Alex From mandy.chung at oracle.com Sat Sep 12 00:13:25 2015 From: mandy.chung at oracle.com (mandy.chung at oracle.com) Date: Sat, 12 Sep 2015 00:13:25 +0000 Subject: hg: jigsaw/jake/jaxp: 2 new changesets Message-ID: <201509120013.t8C0DPaR026826@aojmv0008.oracle.com> Changeset: 53fe3c103b6f Author: lana Date: 2015-09-11 10:26 -0700 URL: http://hg.openjdk.java.net/jigsaw/jake/jaxp/rev/53fe3c103b6f Added tag jdk9-b81 for changeset 6a418934997f ! .hgtags Changeset: faade39222ae Author: mchung Date: 2015-09-11 17:09 -0700 URL: http://hg.openjdk.java.net/jigsaw/jake/jaxp/rev/faade39222ae Merge From mandy.chung at oracle.com Sat Sep 12 00:13:41 2015 From: mandy.chung at oracle.com (mandy.chung at oracle.com) Date: Sat, 12 Sep 2015 00:13:41 +0000 Subject: hg: jigsaw/jake: 5 new changesets Message-ID: <201509120013.t8C0DfR8026939@aojmv0008.oracle.com> Changeset: c356ee0434a0 Author: ihse Date: 2015-09-03 11:05 +0200 URL: http://hg.openjdk.java.net/jigsaw/jake/rev/c356ee0434a0 8062618: Create a build failure summary at end of build log Reviewed-by: erikj ! make/Init.gmk ! make/InitSupport.gmk ! make/common/JavaCompilation.gmk ! make/common/MakeBase.gmk ! make/common/NativeCompilation.gmk Changeset: 4a82073cc315 Author: ihse Date: 2015-09-03 15:01 +0200 URL: http://hg.openjdk.java.net/jigsaw/jake/rev/4a82073cc315 8135014: logger.sh needs to handle commands with variable assignment prefixes Reviewed-by: erikj ! common/bin/logger.sh Changeset: b8afcf91331d Author: lana Date: 2015-09-03 16:11 -0700 URL: http://hg.openjdk.java.net/jigsaw/jake/rev/b8afcf91331d Merge Changeset: f7ea70a58c53 Author: lana Date: 2015-09-11 10:26 -0700 URL: http://hg.openjdk.java.net/jigsaw/jake/rev/f7ea70a58c53 Added tag jdk9-b81 for changeset b8afcf91331d ! .hgtags Changeset: 70612266846c Author: mchung Date: 2015-09-11 17:09 -0700 URL: http://hg.openjdk.java.net/jigsaw/jake/rev/70612266846c Merge ! make/InitSupport.gmk ! make/common/JavaCompilation.gmk ! make/common/MakeBase.gmk ! make/common/NativeCompilation.gmk From mandy.chung at oracle.com Sat Sep 12 00:13:50 2015 From: mandy.chung at oracle.com (mandy.chung at oracle.com) Date: Sat, 12 Sep 2015 00:13:50 +0000 Subject: hg: jigsaw/jake/corba: 2 new changesets Message-ID: <201509120013.t8C0DojJ027113@aojmv0008.oracle.com> Changeset: c20d8ebddaa6 Author: lana Date: 2015-09-11 10:26 -0700 URL: http://hg.openjdk.java.net/jigsaw/jake/corba/rev/c20d8ebddaa6 Added tag jdk9-b81 for changeset 45c35b7f5b40 ! .hgtags Changeset: 5ac2a88513aa Author: mchung Date: 2015-09-11 17:09 -0700 URL: http://hg.openjdk.java.net/jigsaw/jake/corba/rev/5ac2a88513aa Merge From mandy.chung at oracle.com Sat Sep 12 00:14:05 2015 From: mandy.chung at oracle.com (mandy.chung at oracle.com) Date: Sat, 12 Sep 2015 00:14:05 +0000 Subject: hg: jigsaw/jake/hotspot: 60 new changesets Message-ID: <201509120014.t8C0E6I3027206@aojmv0008.oracle.com> Changeset: 3c76d8048a58 Author: david Date: 2015-08-12 16:32 +0200 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/3c76d8048a58 8133193: Memory leak in G1 because G1RootProcessor doesn't have desctructor Reviewed-by: mgerdin, tschatzl ! src/share/vm/gc/g1/g1RootProcessor.cpp ! src/share/vm/gc/g1/g1RootProcessor.hpp Changeset: daa9f374b77c Author: mockner Date: 2015-08-12 14:18 -0400 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/daa9f374b77c 8098791: Remove PrintClassStatistics and PrintMethodStatistics Summary: PrintClassStatistics and PrintMethodStatistics have been removed. Reviewed-by: coleenp, iklam ! src/share/vm/classfile/systemDictionary.cpp ! src/share/vm/classfile/systemDictionary.hpp ! src/share/vm/runtime/globals.hpp ! src/share/vm/runtime/java.cpp Changeset: 76ac54bf537c Author: asiebenborn Date: 2015-08-13 09:32 +0200 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/76ac54bf537c 8133121: Move implementation of process_grey_object to concurrentMark.inline.hpp Summary: move implementation of process_grey_object to inline.hpp Reviewed-by: kbarrett, simonis ! src/share/vm/gc/g1/concurrentMark.cpp ! src/share/vm/gc/g1/concurrentMark.hpp ! src/share/vm/gc/g1/concurrentMark.inline.hpp Changeset: 927043f643bc Author: gziemski Date: 2015-08-13 17:17 -0500 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/927043f643bc 8112746: Followup to JDK-8059557 (JEP 245) Summary: Several improvements to range/constraint check feature. Reviewed-by: coleenp, ddmitriev, sangheki, kbarrett ! src/share/vm/runtime/commandLineFlagConstraintList.cpp ! src/share/vm/runtime/commandLineFlagConstraintList.hpp ! src/share/vm/runtime/commandLineFlagConstraintsCompiler.cpp ! src/share/vm/runtime/commandLineFlagConstraintsCompiler.hpp ! src/share/vm/runtime/commandLineFlagConstraintsGC.cpp ! src/share/vm/runtime/commandLineFlagConstraintsGC.hpp ! src/share/vm/runtime/commandLineFlagConstraintsRuntime.cpp ! src/share/vm/runtime/commandLineFlagConstraintsRuntime.hpp ! src/share/vm/runtime/commandLineFlagRangeList.cpp ! src/share/vm/runtime/commandLineFlagRangeList.hpp ! src/share/vm/runtime/globals.cpp ! src/share/vm/runtime/globals.hpp Changeset: eb1d5a7fc05f Author: coleenp Date: 2015-08-13 23:35 +0000 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/eb1d5a7fc05f Merge Changeset: a3e6c865104c Author: dholmes Date: 2015-08-13 22:08 -0400 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/a3e6c865104c 8029453: java/util/concurrent/locks/ReentrantLock/TimeoutLockLoops.java failed by timeout Reviewed-by: bdelsart, ddmitriev, dcubed ! src/os/linux/vm/os_linux.cpp Changeset: f0097a9f4a3f Author: dholmes Date: 2015-08-14 04:21 +0200 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/f0097a9f4a3f Merge Changeset: 6ce41ccea6ca Author: coleenp Date: 2015-08-14 15:08 -0400 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/6ce41ccea6ca 8133557: Missing test before a branch when checking for MethodCounters in TemplateTable::branch() on x86 Reviewed-by: kvn, coleenp Contributed-by: richard.reingruber at sap.com ! src/cpu/x86/vm/templateTable_x86.cpp Changeset: d86f613e4231 Author: coleenp Date: 2015-08-14 19:23 +0000 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/d86f613e4231 Merge Changeset: 17c65a196427 Author: minqi Date: 2015-08-14 10:10 -0700 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/17c65a196427 8130115: REDO - Reduce Symbol::_identity_hash to 2 bytes Summary: Convert Symbol::_identity_hash from integer to short integer to save two bytes. Also change identity_hash() to have 'this' and first two bytes of symbol join the calculation. Reviewed-by: iklam, coleenp, shade ! agent/src/share/classes/sun/jvm/hotspot/debugger/Address.java ! agent/src/share/classes/sun/jvm/hotspot/debugger/bsd/BsdAddress.java ! agent/src/share/classes/sun/jvm/hotspot/debugger/dummy/DummyAddress.java ! agent/src/share/classes/sun/jvm/hotspot/debugger/linux/LinuxAddress.java ! agent/src/share/classes/sun/jvm/hotspot/debugger/proc/ProcAddress.java ! agent/src/share/classes/sun/jvm/hotspot/debugger/remote/RemoteAddress.java ! agent/src/share/classes/sun/jvm/hotspot/debugger/windbg/WindbgAddress.java ! agent/src/share/classes/sun/jvm/hotspot/oops/Symbol.java ! src/share/vm/oops/symbol.cpp ! src/share/vm/oops/symbol.hpp ! src/share/vm/runtime/vmStructs.cpp Changeset: 160f691ef3d0 Author: minqi Date: 2015-08-14 20:40 +0000 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/160f691ef3d0 Merge Changeset: 4ec8bd17d9e3 Author: minqi Date: 2015-08-14 22:20 +0000 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/4ec8bd17d9e3 Merge Changeset: 90861a3150d0 Author: stefank Date: 2015-06-29 11:09 +0200 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/90861a3150d0 8087323: Unify and split the work gang classes Reviewed-by: jmasa, sjohanss ! src/share/vm/gc/cms/concurrentMarkSweepGeneration.cpp ! src/share/vm/gc/cms/parNewGeneration.cpp ! src/share/vm/gc/cms/yieldingWorkgroup.cpp ! src/share/vm/gc/cms/yieldingWorkgroup.hpp ! src/share/vm/gc/g1/concurrentMark.cpp ! src/share/vm/gc/g1/concurrentMark.hpp ! src/share/vm/gc/g1/g1CollectedHeap.cpp ! src/share/vm/gc/g1/g1CollectedHeap.hpp ! src/share/vm/gc/g1/g1CollectorPolicy.cpp ! src/share/vm/gc/shared/genCollectedHeap.cpp ! src/share/vm/gc/shared/genCollectedHeap.hpp ! src/share/vm/gc/shared/workgroup.cpp ! src/share/vm/gc/shared/workgroup.hpp Changeset: 7243608383b7 Author: stefank Date: 2015-06-29 11:11 +0200 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/7243608383b7 8087324: Use semaphores when starting and stopping GC task threads Reviewed-by: jmasa, sjohanss ! src/share/vm/gc/shared/genCollectedHeap.hpp ! src/share/vm/gc/shared/workgroup.cpp ! src/share/vm/gc/shared/workgroup.hpp ! src/share/vm/runtime/globals.hpp Changeset: f942792721fa Author: david Date: 2015-08-17 10:43 +0200 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/f942792721fa 8133553: Running with -XX:+UseParallelGC -XX:OldSize=30k crashes jvm Reviewed-by: jwilhelm, sjohanss ! src/share/vm/gc/shared/collectorPolicy.cpp ! src/share/vm/gc/shared/collectorPolicy.hpp Changeset: d2dfba6ab433 Author: dsamersoff Date: 2015-08-17 12:43 +0300 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/d2dfba6ab433 Merge Changeset: 7a16c384cf23 Author: dsamersoff Date: 2015-08-17 10:53 +0000 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/7a16c384cf23 Merge Changeset: 2317b27a41d3 Author: gziemski Date: 2015-08-16 09:33 -0500 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/2317b27a41d3 8133678: test fails due to 'CICompilerCount=0 must be at least 1' missing from stdout/stderr Summary: We changed the constraint error message formatting for CICompilerCount, but forgot to change the corresponding test. Reviewed-by: kbarrett, dcubed ! test/compiler/arguments/CheckCICompilerCount.java Changeset: 7100bb7e213f Author: jwilhelm Date: 2015-08-17 13:55 +0200 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/7100bb7e213f 8133669: Remove unused code in Arguments 8133455: VM ignores setting of the -XX:MemoryRestriction flag. Reviewed-by: dholmes, kbarrett ! src/share/vm/runtime/arguments.cpp ! src/share/vm/runtime/arguments.hpp ! src/share/vm/runtime/thread.cpp Changeset: 1facc49c0499 Author: jwilhelm Date: 2015-08-18 17:32 +0200 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/1facc49c0499 8130308: Too low memory usage in TestPromotionFromSurvivorToTenuredAfterMinorGC.java Reviewed-by: dfazunen, brutisso ! test/gc/survivorAlignment/TestPromotionFromSurvivorToTenuredAfterMinorGC.java Changeset: e9d225520e8c Author: ecaspole Date: 2015-08-18 14:04 -0400 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/e9d225520e8c 8133349: CMS: Assert failed: Ctl pt invariant Summary: _survivor_chunk_array should be sized based on PLAB::min_size() not ThreadLocalAllocBuffer::min_size() Reviewed-by: tschatzl, jwilhelm ! src/share/vm/gc/cms/concurrentMarkSweepGeneration.cpp Changeset: acf9f5d04075 Author: shade Date: 2015-08-12 09:58 +0300 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/acf9f5d04075 8019968: Reference CAS induces GC store barrier even on failure Reviewed-by: kvn, adinn, roland ! src/share/vm/opto/library_call.cpp Changeset: 78c4bc2839bf Author: roland Date: 2015-08-15 02:54 +0200 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/78c4bc2839bf 8130847: Cloned object's fields observed as null after C2 escape analysis Summary: Eliminated instance/array written to by an array copy variant must be correctly initialized when reallocated at a deopt Reviewed-by: kvn, vlivanov ! src/share/vm/opto/arraycopynode.cpp ! src/share/vm/opto/arraycopynode.hpp ! src/share/vm/opto/callnode.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 + test/compiler/arraycopy/TestEliminatedArrayCopyDeopt.java Changeset: 6b74f57f7c4d Author: roland Date: 2015-08-14 00:28 +0200 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/6b74f57f7c4d 8133599: Unsafe.getAndSetObject() is no longer intrinsified by c2 Summary: off by 1 error in c2 intrinsic filtering logic Reviewed-by: dlong, kvn, shade ! src/share/vm/opto/c2compiler.cpp Changeset: fe311de64c61 Author: roland Date: 2015-07-29 17:25 +0200 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/fe311de64c61 8080289: Intermediate writes in a loop not eliminated by optimizer Summary: Move Stores out of loop (after or before) when possible Reviewed-by: kvn, vlivanov ! src/share/vm/opto/loopnode.cpp ! src/share/vm/opto/loopnode.hpp ! src/share/vm/opto/loopopts.cpp ! src/share/vm/opto/memnode.cpp + test/compiler/loopopts/TestMoveStoresOutOfLoops.java Changeset: 5ca290fb5d6e Author: roland Date: 2015-08-20 09:31 +0200 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/5ca290fb5d6e Merge Changeset: d9bc27b8ef1e Author: dcubed Date: 2015-08-19 11:11 -0700 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/d9bc27b8ef1e 8133537: clarify position of unlock options in error messages Reviewed-by: coleenp, dholmes, coffeys ! src/share/vm/runtime/globals.cpp Changeset: aa92602b4a73 Author: ehelin Date: 2015-08-20 08:42 +0200 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/aa92602b4a73 8133821: Refactor initialization of the heap and the collector policy Reviewed-by: pliden, tschatzl ! src/share/vm/memory/universe.cpp ! src/share/vm/memory/universe.hpp ! src/share/vm/memory/universe.inline.hpp + src/share/vm/memory/universe_ext.cpp Changeset: 266fbf43e8a2 Author: ehelin Date: 2015-08-20 10:27 +0200 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/266fbf43e8a2 8133825: Remove the class G1CollectorPolicyExt Reviewed-by: jwilhelm, ecaspole - src/share/vm/gc/g1/g1CollectorPolicy_ext.hpp ! src/share/vm/memory/universe.cpp Changeset: a8c6a4d765bb Author: tschatzl Date: 2015-08-19 13:47 +0200 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/a8c6a4d765bb 8003237: G1: Reduce unnecessary (and failing) allocation attempts when handling an evacuation failure Summary: Remember for every generation whether the memory for that generation has already been exhausted. If so, do not try to get a new region for these generations. Further, if the last generation is full, early exit from copy_to_survivor_space. Reviewed-by: jmasa, brutisso ! src/share/vm/gc/g1/g1Allocator.cpp ! src/share/vm/gc/g1/g1Allocator.hpp ! src/share/vm/gc/g1/g1ParScanThreadState.cpp ! src/share/vm/gc/g1/g1ParScanThreadState.hpp Changeset: a3fbc02ec341 Author: tschatzl Date: 2015-08-19 13:50 +0200 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/a3fbc02ec341 8133470: Uses of Atomic methods in plab.hpp should be moved to .inline.hpp file Summary: Fix include file dependencies according to general guidelines for plab.hpp Reviewed-by: ehelin, mgerdin ! src/share/vm/gc/cms/parNewGeneration.cpp ! src/share/vm/gc/cms/parNewGeneration.hpp + src/share/vm/gc/cms/parNewGeneration.inline.hpp ! src/share/vm/gc/g1/g1Allocator.hpp ! src/share/vm/gc/g1/g1Allocator.inline.hpp ! src/share/vm/gc/g1/g1Allocator_ext.cpp ! src/share/vm/gc/g1/g1CollectedHeap.cpp ! src/share/vm/gc/g1/g1CollectedHeap.hpp ! src/share/vm/gc/g1/g1CollectorPolicy.hpp ! src/share/vm/gc/g1/g1ParScanThreadState.cpp ! src/share/vm/gc/g1/g1ParScanThreadState.hpp ! src/share/vm/gc/shared/plab.cpp ! src/share/vm/gc/shared/plab.hpp ! src/share/vm/gc/shared/plab.inline.hpp Changeset: 8e371a1ba7df Author: tschatzl Date: 2015-08-19 13:59 +0200 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/8e371a1ba7df 8073013: Add detailed information about PLAB memory usage Summary: Track and provide information about direct allocation, region end waste and failure waste for G1. Reviewed-by: jmasa, david, ehelin, mgerdin ! src/share/vm/gc/g1/g1AllocRegion.cpp ! src/share/vm/gc/g1/g1AllocRegion.hpp ! src/share/vm/gc/g1/g1Allocator.cpp ! src/share/vm/gc/g1/g1Allocator.hpp ! src/share/vm/gc/g1/g1CollectedHeap.cpp ! src/share/vm/gc/g1/g1CollectedHeap.hpp ! src/share/vm/gc/g1/g1CollectedHeap.inline.hpp + src/share/vm/gc/g1/g1EvacStats.cpp + src/share/vm/gc/g1/g1EvacStats.hpp ! src/share/vm/gc/g1/g1ParScanThreadState.cpp ! src/share/vm/gc/shared/plab.hpp ! src/share/vm/gc/shared/plab.inline.hpp Changeset: 2bcdd5016317 Author: tschatzl Date: 2015-08-20 15:17 +0200 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/2bcdd5016317 8133530: Add JFR event for evacuation statistics Summary: Introduce two new JFR events for young/old generation allocation statistics based on previous changes. Reviewed-by: ehelin, mgerdin ! src/share/vm/gc/g1/g1CollectedHeap.cpp ! src/share/vm/gc/g1/g1CollectedHeap.hpp ! src/share/vm/gc/shared/gcHeapSummary.hpp ! src/share/vm/gc/shared/gcTrace.cpp ! src/share/vm/gc/shared/gcTrace.hpp ! src/share/vm/gc/shared/gcTraceSend.cpp ! src/share/vm/trace/trace.xml Changeset: ad916ca3715b Author: tschatzl Date: 2015-08-20 15:17 +0200 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/ad916ca3715b 8040162: Avoid reallocating PLABs between GC phases in G1 Summary: Allocate G1ParScanThreadState at the start of GC and only deallocate at the end of GC. This automatically keeps the current PLAB intact without flushing it (and loosing lots of memory) for every reallocation. Reviewed-by: david, mgerdin ! src/share/vm/gc/g1/g1CollectedHeap.cpp ! src/share/vm/gc/g1/g1CollectedHeap.hpp ! src/share/vm/gc/g1/g1CollectedHeap_ext.cpp ! src/share/vm/gc/g1/g1OopClosures.cpp ! src/share/vm/gc/g1/g1OopClosures.hpp ! src/share/vm/gc/g1/g1ParScanThreadState.cpp ! src/share/vm/gc/g1/g1ParScanThreadState.hpp Changeset: 57093b085a8f Author: tschatzl Date: 2015-08-20 15:17 +0200 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/57093b085a8f 8073146: G1 merges thread local age tables too early with global age table Summary: Move merging of age and survivor table to the end of GC. Reviewed-by: mgerdin, david ! src/share/vm/gc/g1/g1CollectedHeap.cpp ! src/share/vm/gc/g1/g1ParScanThreadState.cpp ! src/share/vm/gc/g1/g1ParScanThreadState.hpp Changeset: 91bd6ad35898 Author: tschatzl Date: 2015-08-20 15:17 +0200 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/91bd6ad35898 8067339: PLAB reallocation might result in failure to allocate object in that recently allocated PLAB Summary: Properly size the PLAB to make sure that the object to allocate always has enough space in it. Reviewed-by: mgerdin, brutisso ! src/share/vm/gc/cms/parNewGeneration.cpp ! src/share/vm/gc/g1/g1Allocator.cpp ! src/share/vm/gc/g1/g1Allocator.hpp ! src/share/vm/gc/shared/plab.hpp Changeset: 5ccf179d85f3 Author: coleenp Date: 2015-08-20 11:18 -0400 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/5ccf179d85f3 8133951: Zero interpreter asserts in stubRoutines.cpp Summary: Allow zero sized code buffer when checking if there's enough remaining size Reviewed-by: kvn ! src/share/vm/runtime/stubRoutines.cpp Changeset: 57bb83e8b536 Author: coleenp Date: 2015-08-20 17:36 +0200 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/57bb83e8b536 Merge - src/share/vm/gc/g1/g1CollectorPolicy_ext.hpp Changeset: da41f75db57a Author: coleenp Date: 2015-08-20 17:39 +0200 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/da41f75db57a Merge Changeset: efc17f03e5d4 Author: dcubed Date: 2015-08-20 10:58 -0700 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/efc17f03e5d4 8130910: hsperfdata file is created in wrong directory and not cleaned up if /tmp/hsperfdata_ has wrong permissions Summary: Add check for fchir() failure and disable shared PerfMemory in that case. Reviewed-by: dcubed, simonis, gthornbr Contributed-by: christoph.langer at sap.com ! src/os/aix/vm/perfMemory_aix.cpp ! src/os/bsd/vm/perfMemory_bsd.cpp ! src/os/linux/vm/perfMemory_linux.cpp ! src/os/solaris/vm/perfMemory_solaris.cpp Changeset: 585dd7e5e806 Author: dholmes Date: 2015-08-25 00:26 -0400 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/585dd7e5e806 Merge Changeset: 859d0f2dca76 Author: tschatzl Date: 2015-08-24 16:27 +0200 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/859d0f2dca76 8067336: Allow that PLAB allocations at the end of regions are flexible Summary: PLAB allocations may return a buffer that is between minimum size (current allocation) and the desired size. This allows removes a large amount of fragmentation at the end of regions. Reviewed-by: tbenson, mgerdin ! src/share/vm/gc/g1/g1AllocRegion.cpp ! src/share/vm/gc/g1/g1AllocRegion.hpp ! src/share/vm/gc/g1/g1AllocRegion.inline.hpp ! src/share/vm/gc/g1/g1Allocator.cpp ! src/share/vm/gc/g1/g1Allocator.hpp ! src/share/vm/gc/g1/g1BlockOffsetTable.inline.hpp ! src/share/vm/gc/g1/heapRegion.hpp ! src/share/vm/gc/g1/heapRegion.inline.hpp ! src/share/vm/gc/g1/vmStructs_g1.hpp ! src/share/vm/runtime/vmStructs.cpp Changeset: bdd657221274 Author: tschatzl Date: 2015-08-24 16:32 +0200 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/bdd657221274 8133456: HeapRegionManager::shrink_by() iterates suboptimally across regions Reviewed-by: brutisso, tbenson ! src/share/vm/gc/g1/heapRegionManager.cpp Changeset: 3d49f9466425 Author: zmajo Date: 2015-08-19 08:55 +0200 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/3d49f9466425 8076373: In 32-bit VM interpreter and compiled code process NaN values differently Summary: Change interpreter to use XMM registers on x86_32 if they are available. Add stubs for methods transforming from/to int/long float/double. Reviewed-by: kvn, mcberg ! src/cpu/x86/vm/assembler_x86.cpp ! src/cpu/x86/vm/interp_masm_x86.cpp ! src/cpu/x86/vm/interp_masm_x86.hpp ! src/cpu/x86/vm/interpreterGenerator_x86.hpp ! src/cpu/x86/vm/macroAssembler_x86.cpp ! src/cpu/x86/vm/macroAssembler_x86.hpp ! src/cpu/x86/vm/templateInterpreter_x86_32.cpp ! src/cpu/x86/vm/templateInterpreter_x86_64.cpp ! src/cpu/x86/vm/templateTable_x86.cpp ! src/share/vm/compiler/compileBroker.cpp ! src/share/vm/interpreter/abstractInterpreter.hpp ! src/share/vm/interpreter/interpreter.cpp ! src/share/vm/interpreter/templateInterpreter.cpp + test/compiler/floatingpoint/NaNTest.java Changeset: e6db7b7e5d28 Author: zmajo Date: 2015-08-19 10:14 +0200 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/e6db7b7e5d28 Merge Changeset: 73e6afceb02e Author: zmajo Date: 2015-08-19 11:59 +0200 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/73e6afceb02e 8133625: src/share/vm/opto/compile.hpp:96: error: integer constant is too large for ?long? type Summary: Wrap constant causing the failure into into CONST64(). Update comments. Reviewed-by: kvn ! src/share/vm/opto/compile.hpp ! src/share/vm/utilities/globalDefinitions_gcc.hpp ! src/share/vm/utilities/globalDefinitions_sparcWorks.hpp ! src/share/vm/utilities/globalDefinitions_visCPP.hpp ! src/share/vm/utilities/globalDefinitions_xlc.hpp Changeset: 10cbaebfcf3d Author: enevill Date: 2015-08-19 11:59 +0000 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/10cbaebfcf3d 8133935: aarch64: fails to build from source Summary: add inlucde of oops/oop.inline.hpp to fix build Reviewed-by: coleenp ! src/cpu/aarch64/vm/macroAssembler_aarch64.cpp Changeset: 8783515c57ad Author: enevill Date: 2015-08-18 12:40 +0000 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/8783515c57ad 8133352: aarch64: generates constrained unpredictable instructions Summary: Fix generation of unpredictable STXR Rs, Rt, [Rn] with Rs == Rt Reviewed-by: kvn, aph, adinn ! src/cpu/aarch64/vm/assembler_aarch64.cpp ! src/cpu/aarch64/vm/assembler_aarch64.hpp ! src/cpu/aarch64/vm/interp_masm_aarch64.cpp ! src/cpu/aarch64/vm/macroAssembler_aarch64.cpp ! src/cpu/aarch64/vm/macroAssembler_aarch64.hpp ! src/cpu/aarch64/vm/sharedRuntime_aarch64.cpp ! src/cpu/aarch64/vm/templateInterpreter_aarch64.cpp Changeset: 7956d0750510 Author: adinn Date: 2015-08-11 10:25 -0400 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/7956d0750510 8078743: AARCH64: Extend use of stlr to cater for volatile object stores Summary: The current use of stlr on AArch64 to implement volatile stores needs to be extended to cater for object stores. Reviewed-by: kvn, aph, enevill ! src/cpu/aarch64/vm/aarch64.ad Changeset: f4b9f233b44b Author: kvn Date: 2015-08-19 17:59 -0700 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/f4b9f233b44b 8133984: print_compressed_class_space() is only defined in 64-bit VM Summary: define method's empty body in 32-bit VM. Reviewed-by: coleenp ! src/share/vm/memory/metaspace.hpp Changeset: 3cbb6dc4a075 Author: roland Date: 2015-08-18 16:10 +0200 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/3cbb6dc4a075 8131969: jit/FloatingPoint/gen_math/Loops05 assert(2 <= size && size <= 16) failed: update low bits table Summary: assert in register allocation code when vector Phi for a loop is processed because code assumes all inputs already processed Reviewed-by: kvn ! src/share/vm/opto/chaitin.cpp + test/compiler/regalloc/TestVectorRegAlloc.java Changeset: dbc1274bac56 Author: enevill Date: 2015-08-20 09:40 +0000 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/dbc1274bac56 8133842: aarch64: C2 generates illegal instructions with int shifts >=32 Summary: Fix logical operatations combined with shifts >= 32 Reviewed-by: kvn, aph, adinn ! src/cpu/aarch64/vm/aarch64.ad ! src/cpu/aarch64/vm/aarch64_ad.m4 Changeset: 8bc4eb358829 Author: roland Date: 2015-08-21 09:12 +0200 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/8bc4eb358829 Merge ! src/cpu/x86/vm/templateTable_x86.cpp Changeset: c0ea5537dc8b Author: thartmann Date: 2015-08-25 07:49 +0200 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/c0ea5537dc8b 8075805: Crash while trying to release CompiledICHolder Summary: Removed nmethod transition to zombie outside of sweeper. Added cleaning of ICs of unloaded nmethods. Reviewed-by: kvn, iveresov ! src/share/vm/code/codeCache.cpp ! src/share/vm/code/codeCache.hpp ! src/share/vm/code/compiledIC.cpp ! src/share/vm/code/compiledIC.hpp ! src/share/vm/code/nmethod.cpp ! src/share/vm/prims/jvmtiRedefineClasses.cpp ! src/share/vm/runtime/sweeper.cpp ! src/share/vm/runtime/vm_operations.cpp Changeset: 514fccb1007c Author: roland Date: 2015-08-26 09:49 +0200 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/514fccb1007c 8134321: tools/pack200/Pack200Test.java crashes in the VM PIT jdk9 b79 Summary: Code that capture field values of eliminated allocation at a safepoint when there's an arraycopy behind a Phi is broken Reviewed-by: kvn ! src/share/vm/opto/macro.cpp + test/compiler/arraycopy/TestEliminatedArrayCopyPhi.java Changeset: 52bbd44b2b7d Author: roland Date: 2015-08-27 18:51 +0200 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/52bbd44b2b7d Merge - src/share/vm/gc/g1/g1CollectorPolicy_ext.hpp Changeset: 22400a67babe Author: amurillo Date: 2015-08-27 14:40 -0700 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/22400a67babe Merge - src/share/vm/gc/g1/g1CollectorPolicy_ext.hpp Changeset: 4142c190cd5c Author: lana Date: 2015-09-03 16:14 -0700 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/4142c190cd5c Merge - src/share/vm/gc/g1/g1CollectorPolicy_ext.hpp Changeset: 3d8dc82c16b0 Author: lana Date: 2015-09-11 10:26 -0700 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/3d8dc82c16b0 Added tag jdk9-b81 for changeset 4142c190cd5c ! .hgtags Changeset: ff9ca9f70680 Author: mchung Date: 2015-09-11 17:09 -0700 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/ff9ca9f70680 Merge ! .hgtags ! src/os/linux/vm/os_linux.cpp - src/share/vm/classfile/imageDecompressor.cpp - src/share/vm/classfile/imageDecompressor.hpp - src/share/vm/classfile/imageFile.cpp - src/share/vm/classfile/imageFile.hpp ! src/share/vm/classfile/systemDictionary.cpp ! src/share/vm/classfile/systemDictionary.hpp ! src/share/vm/memory/universe.cpp ! src/share/vm/memory/universe.hpp ! src/share/vm/opto/library_call.cpp ! src/share/vm/runtime/arguments.cpp ! src/share/vm/runtime/arguments.hpp ! src/share/vm/runtime/globals.hpp ! src/share/vm/runtime/thread.cpp ! src/share/vm/runtime/vmStructs.cpp - src/share/vm/utilities/endian.cpp - src/share/vm/utilities/endian.hpp ! test/gc/survivorAlignment/TestPromotionFromSurvivorToTenuredAfterMinorGC.java - test/runtime/BadObjectClass/Object.java - test/runtime/modules/ImageFile/ImageAttributeOffsetsTest.java - test/runtime/modules/ImageFile/ImageCloseTest.java - test/runtime/modules/ImageFile/ImageFileHeaderTest.java - test/runtime/modules/ImageFile/ImageFindAttributesTest.java - test/runtime/modules/ImageFile/ImageGetAttributesTest.java - test/runtime/modules/ImageFile/ImageGetDataAddressTest.java - test/runtime/modules/ImageFile/ImageGetIndexAddressTest.java - test/runtime/modules/ImageFile/ImageGetStringBytesTest.java - test/runtime/modules/ImageFile/ImageOpenTest.java - test/runtime/modules/ImageFile/ImageReadTest.java - test/runtime/modules/ImageFile/LocationConstants.java From mandy.chung at oracle.com Sat Sep 12 00:14:32 2015 From: mandy.chung at oracle.com (mandy.chung at oracle.com) Date: Sat, 12 Sep 2015 00:14:32 +0000 Subject: hg: jigsaw/jake/jaxws: 2 new changesets Message-ID: <201509120014.t8C0EWhh027404@aojmv0008.oracle.com> Changeset: 52d9ad2536ba Author: lana Date: 2015-09-11 10:26 -0700 URL: http://hg.openjdk.java.net/jigsaw/jake/jaxws/rev/52d9ad2536ba Added tag jdk9-b81 for changeset 139338618c77 ! .hgtags Changeset: 0f7ed2f66596 Author: mchung Date: 2015-09-11 17:09 -0700 URL: http://hg.openjdk.java.net/jigsaw/jake/jaxws/rev/0f7ed2f66596 Merge From mandy.chung at oracle.com Sat Sep 12 00:14:41 2015 From: mandy.chung at oracle.com (mandy.chung at oracle.com) Date: Sat, 12 Sep 2015 00:14:41 +0000 Subject: hg: jigsaw/jake/jdk: 24 new changesets Message-ID: <201509120014.t8C0EgIA027490@aojmv0008.oracle.com> Changeset: 2b3b9aa80615 Author: erikj Date: 2015-08-28 10:13 +0200 URL: http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/2b3b9aa80615 8134408: Disable warnings for jdk libraries triggered by SS12u4 Reviewed-by: tbell, ihse ! make/lib/Awt2dLibraries.gmk ! make/lib/CoreLibraries.gmk ! make/lib/NetworkingLibraries.gmk Changeset: 97c5c87e429f Author: darcy Date: 2015-08-28 07:55 -0700 URL: http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/97c5c87e429f 8134678: Problem list SecurityManager/CheckPackageAccess.java Reviewed-by: lancea ! test/ProblemList.txt Changeset: 92bea53c71cd Author: bpb Date: 2015-08-28 10:46 -0700 URL: http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/92bea53c71cd 8133987: (fs) Rename GnomeFileTypeDetector to GioFileTypeDetector Summary: Rename class and associated native file as indicated and fix some related comments in the source and test. Reviewed-by: alanb ! make/lib/NioLibraries.gmk ! make/mapfiles/libnio/mapfile-linux ! make/mapfiles/libnio/mapfile-solaris ! src/java.base/linux/classes/sun/nio/fs/LinuxFileSystemProvider.java ! src/java.base/solaris/classes/sun/nio/fs/SolarisFileSystemProvider.java + src/java.base/unix/classes/sun/nio/fs/GioFileTypeDetector.java - src/java.base/unix/classes/sun/nio/fs/GnomeFileTypeDetector.java + src/java.base/unix/native/libnio/fs/GioFileTypeDetector.c - src/java.base/unix/native/libnio/fs/GnomeFileTypeDetector.c ! test/java/nio/file/Files/probeContentType/ParallelProbes.java Changeset: 0b2d0cf231c7 Author: rhalade Date: 2015-08-28 13:35 -0700 URL: http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/0b2d0cf231c7 8048601: Tests for JCE crypto ciphers (part 1) Reviewed-by: valeriep + test/com/sun/crypto/provider/Cipher/Blowfish/TestCipherBlowfish.java + test/com/sun/crypto/provider/Cipher/DES/TestCipherDES.java + test/com/sun/crypto/provider/Cipher/DES/TestCipherDESede.java + test/com/sun/crypto/provider/Cipher/PBE/TestCipherPBE.java + test/com/sun/crypto/provider/Cipher/TestCipher.java + test/com/sun/crypto/provider/Cipher/TextLength/DESCipherWrapper.java + test/com/sun/crypto/provider/Cipher/TextLength/PBECipherWrapper.java + test/com/sun/crypto/provider/Cipher/TextLength/TestCipherTextLength.java Changeset: cb39fd2ecf8a Author: sla Date: 2015-08-28 13:40 -0700 URL: http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/cb39fd2ecf8a 8134686: Exclude sun/tools/jps/ tests Reviewed-by: darcy ! test/ProblemList.txt ! test/TEST.ROOT Changeset: 33cdc422c199 Author: vinnie Date: 2015-08-31 10:14 +0100 URL: http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/33cdc422c199 8130800: KeyStore.getInstance(File,char[]) does not throw IOE for null password Reviewed-by: weijun, mullan ! src/java.base/share/classes/java/security/KeyStore.java Changeset: 9218a70ee1c6 Author: sla Date: 2015-08-11 20:38 +0200 URL: http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/9218a70ee1c6 8133314: Update launcher.properties to remove reference to hprof Reviewed-by: dholmes, sspitsyn, mchung ! src/java.base/share/classes/sun/launcher/resources/launcher.properties Changeset: e4f2a670470b Author: jbachorik Date: 2015-04-09 12:29 +0200 URL: http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/e4f2a670470b 8041565: JMX ObjectName could be refactored to save memory Reviewed-by: emcmanus, dfuchs, olagneau, smarks ! src/java.management/share/classes/javax/management/ObjectName.java + test/javax/management/ObjectName/CompressedStorageTest.java Changeset: 65c158a0de8c Author: dsamersoff Date: 2015-08-17 12:45 +0300 URL: http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/65c158a0de8c Merge Changeset: d49f4e34e260 Author: dbuck Date: 2015-08-18 04:29 -0700 URL: http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/d49f4e34e260 8133666: OperatingSystemMXBean reports abnormally high machine CPU consumption on Linux Reviewed-by: sla, mgronlun ! src/jdk.management/linux/native/libmanagement_ext/UnixOperatingSystem.c Changeset: 6940407d544a Author: amurillo Date: 2015-08-20 07:36 -0700 URL: http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/6940407d544a Merge Changeset: d39227823cae Author: amurillo Date: 2015-08-27 14:40 -0700 URL: http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/d39227823cae Merge ! src/java.base/share/classes/sun/launcher/resources/launcher.properties Changeset: 4f3c5f831833 Author: amurillo Date: 2015-08-31 11:26 -0700 URL: http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/4f3c5f831833 Merge - src/java.base/unix/classes/sun/nio/fs/GnomeFileTypeDetector.java - src/java.base/unix/native/libnio/fs/GnomeFileTypeDetector.c Changeset: fd1f5c32751e Author: dfuchs Date: 2015-09-01 15:34 +0200 URL: http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/fd1f5c32751e 8064470: JNI exception pending in jdk/src/java/base/unix/native/libjava/FileDescriptor_md.c Reviewed-by: alanb, chegar, dfuchs Contributed-by: vyom.tewari at oracle.com ! src/java.base/unix/native/libjava/FileDescriptor_md.c Changeset: 7a555c3509d2 Author: rhalade Date: 2015-09-01 16:27 -0700 URL: http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/7a555c3509d2 8049237: Need new tests for X509V3 certificates Reviewed-by: mullan, xuelei + test/sun/security/x509/X509CertImpl/V3Certificate.java Changeset: 155ddfb406fd Author: valeriep Date: 2015-09-02 03:02 +0000 URL: http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/155ddfb406fd 8133801: sun/security/pkcs11/Provider/ConfigShortPath.java failed in jigsaw nightly at Windows Summary: Update tests to not using private SunPKCS11(String) constructor. Reviewed-by: mullan ! test/sun/security/pkcs11/Provider/Absolute.java ! test/sun/security/pkcs11/Provider/ConfigShortPath.java Changeset: 5349781383fa Author: weijun Date: 2015-09-02 19:20 +0800 URL: http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/5349781383fa 8129789: implies() of ServicePermission and DelegationPermission underspecified Reviewed-by: mullan ! src/java.security.jgss/share/classes/javax/security/auth/kerberos/DelegationPermission.java ! src/java.security.jgss/share/classes/javax/security/auth/kerberos/ServicePermission.java Changeset: d9bd64884486 Author: ptbrunet Date: 2015-09-02 13:24 -0500 URL: http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/d9bd64884486 8134682: Remove com.sun.java.accessibility from jdk/src/closed/java.base/share/conf/security/restricted.pkgs Summary: remove since renamed accessibility package from closed restricted.pks and update two regression tests Reviewed-by: mullan, mchung Contributed-by: peter.brunet at oracle.com ! test/ProblemList.txt Changeset: d90214d208e8 Author: darcy Date: 2015-09-02 12:56 -0700 URL: http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/d90214d208e8 8134982: Problem list TCKJapaneseChronology.java Reviewed-by: lancea ! test/ProblemList.txt Changeset: a4299d47bd00 Author: martin Date: 2015-09-02 14:11 -0700 URL: http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/a4299d47bd00 8134984: Text files should end in exactly one newline Summary: automated fixup of newlines at end-of-file via the usual perl one-liner Reviewed-by: chegar, sherman ! README ! make/netbeans/jdbc/build.properties ! src/demo/share/applets/Fractal/example1.html ! src/demo/share/applets/MoleculeViewer/example1.html ! src/java.base/share/native/libzip/Adler32.c ! src/java.base/unix/classes/sun/net/www/content-types.properties ! src/java.base/windows/classes/sun/net/www/content-types.properties ! src/java.desktop/macosx/classes/com/apple/eawt/_OpenAppHandler.java ! src/java.desktop/macosx/classes/com/apple/laf/AquaLookAndFeel.java ! src/java.desktop/macosx/classes/sun/lwawt/macosx/CDataTransferer.java ! src/java.desktop/macosx/native/libawt_lwawt/awt/AWTView.m ! src/java.desktop/macosx/native/libawt_lwawt/awt/CClipboard.m ! src/java.desktop/share/classes/sun/awt/image/MultiResolutionCachedImage.java ! src/java.desktop/share/native/libfontmanager/layout/AnchorTables.h ! src/java.desktop/share/native/libfontmanager/layout/CharSubstitutionFilter.h ! src/java.desktop/share/native/libfontmanager/layout/CursiveAttachmentSubtables.h ! src/java.desktop/share/native/libfontmanager/layout/DeviceTables.h ! src/java.desktop/share/native/libfontmanager/layout/MPreFixups.h ! src/java.desktop/share/native/libfontmanager/layout/MarkArrays.h ! src/java.desktop/share/native/libfontmanager/layout/PairPositioningSubtables.h ! src/java.desktop/share/native/libfontmanager/layout/SinglePositioningSubtables.h ! src/java.desktop/share/native/libfontmanager/layout/SingleSubstitutionSubtables.h ! src/java.desktop/share/native/libfontmanager/layout/ThaiShaping.h ! src/java.desktop/share/native/libfontmanager/layout/ValueRecords.h ! src/java.desktop/share/native/liblcms/cmslut.c ! src/java.desktop/share/native/liblcms/cmsmtrx.c ! src/java.desktop/share/native/liblcms/cmsplugin.c ! src/java.desktop/share/native/liblcms/cmswtpnt.c ! src/java.desktop/share/native/libsplashscreen/java_awt_SplashScreen.c ! src/java.desktop/windows/native/libawt/windows/DllUtil.cpp ! src/java.desktop/windows/native/libawt/windows/README.JNI ! src/java.logging/share/classes/java/util/logging/package.html ! src/java.sql.rowset/share/classes/javax/sql/rowset/BaseRowSet.java ! src/java.sql.rowset/share/classes/javax/sql/rowset/RowSetFactory.java ! src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/algorithms/package.html ! src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/keys/content/keyvalues/package.html ! src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/keys/content/package.html ! src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/keys/content/x509/package.html ! src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/keys/keyresolver/implementations/package.html ! src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/keys/keyresolver/package.html ! src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/keys/storage/implementations/package.html ! src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/keys/storage/package.html ! src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/transforms/TransformParam.java ! src/sample/share/annotations/DependencyChecker/PluginChecker/src/checker/Kettle.xml ! src/sample/share/annotations/index.html ! src/sample/share/lambda/BulkDataOperations/index.html ! src/sample/share/try-with-resources/index.html ! test/com/sun/awt/SecurityWarning/GetSizeShouldNotReturnZero.java ! test/com/sun/crypto/provider/Mac/Utils.java ! test/com/sun/jdi/InterfaceMethodsTest.java ! test/com/sun/jdi/ShellScaffold.sh ! test/com/sun/jmx/remote/NotificationMarshalVersions/Client/ConfigKey.java ! test/com/sun/jmx/remote/NotificationMarshalVersions/Server/ConfigKey.java ! test/com/sun/jmx/remote/NotificationMarshalVersions/Server/Ste.java ! test/com/sun/jmx/remote/NotificationMarshalVersions/Server/SteMBean.java ! test/com/sun/security/auth/module/LdapLoginModule/CheckConfigs.policy ! test/java/awt/Component/DimensionEncapsulation/DimensionEncapsulation.java ! test/java/awt/Component/InsetsEncapsulation/InsetsEncapsulation.java ! test/java/awt/Component/SetEnabledPerformance/SetEnabledPerformance.java ! test/java/awt/Cursor/MultiResolutionCursorTest/MultiResolutionCursorTest.html ! test/java/awt/FileDialog/ModalFocus/FileDialogModalFocusTest.java ! test/java/awt/Focus/6981400/Test3.java ! test/java/awt/FontClass/LCDScale.java ! test/java/awt/Frame/FramesGC/FramesGC.java ! test/java/awt/Frame/MaximizedToUnmaximized/MaximizedToUnmaximized.java ! test/java/awt/MenuBar/RemoveHelpMenu/RemoveHelpMenu.java ! test/java/awt/Mixing/JButtonInGlassPane.java ! test/java/awt/Mixing/LWComboBox.java ! test/java/awt/Mixing/MixingInHwPanel.java ! test/java/awt/Mixing/MixingOnShrinkingHWButton.java ! test/java/awt/Mixing/NonOpaqueInternalFrame.java ! test/java/awt/Mouse/MouseDragEvent/MouseDraggedTest.java ! test/java/awt/MouseInfo/JContainerMousePositionTest.java ! test/java/awt/Robot/RobotWheelTest/RobotWheelTest.java ! test/java/awt/ScrollPane/bug8077409Test.java ! test/java/awt/TrayIcon/TrayIconPopup/TrayIconPopupTest.java ! test/java/awt/Window/AlwaysOnTop/SyncAlwaysOnTopFieldTest.java ! test/java/awt/applet/Applet/AppletFlipBuffer.java ! test/java/awt/appletviewer/IOExceptionIfEncodedURLTest/test.html ! test/java/awt/datatransfer/ClipboardInterVMTest/ClipboardInterVMTest.java ! test/java/awt/datatransfer/DataFlavor/XJavaUrlDataFlavorTest/XJavaUrlDataFlavorTest.java ! test/java/awt/datatransfer/MissedHtmlAndRtfBug/MyTransferable.java ! test/java/awt/event/MouseEvent/CTORRestrictions/CTORRestrictions_Disable.java ! test/java/awt/im/4490692/bug4490692.html ! test/java/awt/im/4959409/bug4959409.html ! test/java/beans/README ! test/java/beans/SimpleBeanInfo/LoadingStandardIcons/java.policy ! test/java/io/Serializable/evolution/AddedSuperClass/README ! test/java/lang/ClassLoader/getdotresource.sh ! test/java/lang/management/MemoryMXBean/LowMemoryTest2.sh ! test/java/net/SocketPermission/policy ! test/java/nio/channels/SocketChannel/Open.sh ! test/java/nio/channels/spi/SelectorProvider/inheritedChannel/README ! test/java/rmi/registry/readTest/readTest.sh ! test/java/security/KeyStore/PKCS12/README ! test/java/security/SignedObject/Copy.java ! test/java/util/AbstractCollection/ToArrayTest.java ! test/java/util/Arrays/SetAllTest.java ! test/java/util/Locale/bug4123285.html ! test/java/util/concurrent/CompletableFuture/ThenComposeExceptionTest.java ! test/java/util/logging/LogManager/Configuration/TestConfigurationLock.properties ! test/java/util/stream/bootlib/java/util/stream/DefaultMethodStreams.java ! test/javax/crypto/SecretKeyFactory/PBKDF2TranslateTest.java ! test/javax/imageio/plugins/shared/CanWriteSequence.java ! test/javax/management/MustBeValidMBeanInfo/logging.properties ! test/javax/management/modelmbean/SimpleModelMBean/logging.properties ! test/javax/security/auth/Subject/doAs/policy.expect.ace ! test/javax/security/auth/Subject/doAs/policy.one.principal ! test/javax/security/auth/Subject/doAs/policy.two.principals ! test/javax/security/auth/login/LoginContext/shared.config ! test/javax/sound/midi/Gervill/ModelStandardIndexedDirector/ModelStandardIndexedDirectorTest.java ! test/javax/swing/JColorChooser/8065098/bug8065098.html ! test/javax/swing/JFileChooser/8062561/security2.policy ! test/javax/swing/JFileChooser/FileFilterDescription/FileFilterDescription.java ! test/javax/swing/JMenu/8072900/WrongSelectionOnMouseOver.java ! test/javax/swing/JMenuBar/MisplacedBorder/MisplacedBorder.java ! test/javax/swing/JOptionPane/8081019/bug8081019.java ! test/javax/swing/JTextArea/4697612/bug4697612.txt ! test/javax/swing/JTree/8072676/TreeClipTest.java ! test/javax/swing/JTree/DnD/LastNodeLowerHalfDrop.java ! test/javax/swing/UIDefaults/7180976/Pending.java ! test/javax/swing/plaf/basic/BasicLabelUI/bug7172652.java ! test/javax/swing/text/View/8015853/bug8015853.txt ! test/javax/swing/text/html/8005391/bug8005391.java ! test/javax/swing/text/html/HTMLDocument/8058120/bug8058120.java ! test/javax/xml/bind/xjc/8032884/optional-property-schema.xsd ! test/javax/xml/jaxp/parsers/8032909/a_utf16.xml ! test/javax/xml/jaxp/parsers/8032909/a_utf16.xsl ! test/javax/xml/jaxp/testng/validation/jdk8036951/idc.xml ! test/javax/xml/jaxp/testng/validation/jdk8036951/idc.xsd ! test/javax/xml/jaxp/testng/validation/jdk8036951/simpleType.xml ! test/javax/xml/jaxp/testng/validation/jdk8036951/xerces1128_1.xml ! test/javax/xml/jaxp/testng/validation/jdk8036951/xerces1128_2.xml ! test/javax/xml/jaxp/testng/validation/jdk8037819/unparsedEntity.dtd ! test/javax/xml/jaxp/transform/8004476/tokenize.xml ! test/sun/jvmstat/testlibrary/utils.sh ! test/sun/management/jmxremote/bootstrap/PasswordFilePermissionTest.java ! test/sun/management/jmxremote/bootstrap/SSLConfigFilePermissionTest.java ! test/sun/management/jmxremote/startstop/JMXStatusPerfCountersTest.java ! test/sun/management/jmxremote/startstop/REMOTE_TESTING.txt ! test/sun/management/windows/README ! test/sun/net/www/http/HttpClient/IsKeepingAlive.policy ! test/sun/net/www/http/HttpClient/OpenServer.policy ! test/sun/net/www/protocol/http/spnegoTest ! test/sun/security/ec/SignatureOffsets.java ! test/sun/security/krb5/IPv6.java ! test/sun/security/mscapi/KeytoolChangeAlias.sh ! test/sun/security/mscapi/SignatureOffsets.java ! test/sun/security/pkcs11/Provider/cspSpace.cfg ! test/sun/security/rsa/SignatureOffsets.java ! test/sun/security/ssl/StatusStapling/TestCase.java ! test/sun/security/ssl/StatusStapling/TestUtils.java ! test/sun/security/ssl/rsa/SignatureOffsets.java ! test/sun/security/tools/jarsigner/collator.sh ! test/sun/security/tools/jarsigner/jvindex.sh ! test/sun/security/tools/jarsigner/warnings.sh Changeset: 25d654cc5c29 Author: lana Date: 2015-09-03 16:12 -0700 URL: http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/25d654cc5c29 Merge - src/java.base/unix/classes/sun/nio/fs/GnomeFileTypeDetector.java - src/java.base/unix/native/libnio/fs/GnomeFileTypeDetector.c Changeset: fdc13a2d3286 Author: martin Date: 2015-09-03 18:36 -0700 URL: http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/fdc13a2d3286 8135048: XSLT.java test fails after changes for JDK-8134984 Summary: hg revert -r 'a4299d47bd00^' test/javax/xml/jaxp/parsers/8032909 Reviewed-by: darcy ! test/javax/xml/jaxp/parsers/8032909/a_utf16.xml ! test/javax/xml/jaxp/parsers/8032909/a_utf16.xsl Changeset: b1779e984182 Author: lana Date: 2015-09-11 10:26 -0700 URL: http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/b1779e984182 Added tag jdk9-b81 for changeset fdc13a2d3286 ! .hgtags Changeset: 1f53099ae30e Author: mchung Date: 2015-09-11 17:09 -0700 URL: http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/1f53099ae30e Merge ! .hgtags - make/CompileInterimRmic.gmk - make/gendata/Gendata-jdk.jdeps.gmk - make/gensrc/Gensrc-jdk.dev.gmk - make/launcher/Launcher-jdk.dev.gmk ! make/lib/Awt2dLibraries.gmk ! make/lib/CoreLibraries.gmk ! make/lib/NetworkingLibraries.gmk ! make/lib/NioLibraries.gmk - make/scripts/localelist.sh - make/src/classes/build/tools/module/GenJdepsModulesXml.java - make/src/classes/build/tools/module/GenModulesList.java - make/src/classes/build/tools/module/ImageBuilder.java - make/src/classes/build/tools/module/ModuleArchive.java - make/src/classes/build/tools/module/boot.modules - make/src/classes/build/tools/module/ext.modules - src/java.base/share/classes/jdk/internal/jimage/ImageFileCreator.java - src/java.base/share/classes/jdk/internal/jimage/ResourcePool.java - src/java.base/share/classes/jdk/internal/jimage/ResourcePoolImpl.java ! src/java.base/share/classes/sun/launcher/resources/launcher.properties - src/java.base/share/classes/sun/misc/Launcher.java - src/java.base/share/classes/sun/util/CoreResourceBundleControl-XLocales.java.template - src/java.base/share/native/libjava/Image.c - src/java.base/share/native/libjava/Package.c - src/java.base/share/native/libjava/Proxy.c - src/java.desktop/share/classes/META-INF/services/java.net.ContentHandlerFactory - src/java.desktop/share/classes/META-INF/services/javax.print.PrintServiceLookup - src/java.desktop/share/classes/META-INF/services/javax.print.StreamPrintServiceFactory - src/java.desktop/share/classes/META-INF/services/javax.sound.midi.spi.MidiDeviceProvider - src/java.desktop/share/classes/META-INF/services/javax.sound.midi.spi.MidiFileReader - src/java.desktop/share/classes/META-INF/services/javax.sound.midi.spi.MidiFileWriter - src/java.desktop/share/classes/META-INF/services/javax.sound.midi.spi.SoundbankReader - src/java.desktop/share/classes/META-INF/services/javax.sound.sampled.spi.AudioFileReader - src/java.desktop/share/classes/META-INF/services/javax.sound.sampled.spi.AudioFileWriter - src/java.desktop/share/classes/META-INF/services/javax.sound.sampled.spi.FormatConversionProvider - src/java.desktop/share/classes/META-INF/services/javax.sound.sampled.spi.MixerProvider - src/java.desktop/share/classes/META-INF/services/sun.datatransfer.DesktopDatatransferService - src/java.security.jgss/share/classes/META-INF/services/sun.security.ssl.ClientKeyExchangeService - src/jdk.accessibility/windows/classes/META-INF/services/javax.accessibility.AccessibilityProvider - src/jdk.attach/share/classes/META-INF/services/com.sun.tools.attach.spi.AttachProvider - src/jdk.charsets/share/classes/META-INF/services/java.nio.charset.spi.CharsetProvider - src/jdk.dev/share/classes/jdk/tools/jimage/ExtractedImage.java - src/jdk.dev/share/classes/jdk/tools/jimage/JImageTask.java - src/jdk.dev/share/classes/jdk/tools/jimage/Main.java - src/jdk.dev/share/classes/jdk/tools/jimage/TaskHelper.java - src/jdk.dev/share/classes/jdk/tools/jimage/resources/jimage.properties - src/jdk.jdi/share/classes/META-INF/services/com.sun.jdi.connect.Connector - src/jdk.jdi/share/classes/META-INF/services/com.sun.jdi.connect.spi.TransportService - src/jdk.jvmstat/share/classes/META-INF/services/sun.jvmstat.monitor.MonitoredHostService - src/jdk.localedata/share/classes/META-INF/services/sun.util.locale.provider.LocaleDataMetaInfo - src/jdk.management/share/classes/META-INF/services/sun.management.spi.PlatformMBeanProvider - src/jdk.naming.dns/share/classes/META-INF/services/sun.net.spi.nameservice.NameServiceDescriptor - src/jdk.zipfs/share/classes/META-INF/services/java.nio.file.spi.FileSystemProvider + test/ProblemList.jake.txt ! test/ProblemList.txt ! test/java/awt/TrayIcon/TrayIconPopup/TrayIconPopupTest.java - test/java/net/DatagramSocket/SetDatagramSocketImplFactory/ADatagramSocket.sh - test/java/net/DatagramSocket/SetDatagramSocketImplFactory/java/net/MyDatagramSocketImplFactory.java ! test/java/rmi/registry/readTest/readTest.sh - test/jdk/internal/jimage/ExecutableTest.java - test/jdk/internal/jimage/JImageTest.java - test/jdk/internal/jimage/VerifyJimage.java ! test/sun/management/jmxremote/startstop/JMXStatusPerfCountersTest.java ! test/sun/security/pkcs11/Provider/Absolute.java ! test/sun/security/pkcs11/Provider/ConfigShortPath.java From mandy.chung at oracle.com Sat Sep 12 00:16:36 2015 From: mandy.chung at oracle.com (mandy.chung at oracle.com) Date: Sat, 12 Sep 2015 00:16:36 +0000 Subject: hg: jigsaw/jake/langtools: 5 new changesets Message-ID: <201509120016.t8C0GaXp028750@aojmv0008.oracle.com> Changeset: 891db670a8cb Author: mcimadamore Date: 2015-08-31 15:50 +0100 URL: http://hg.openjdk.java.net/jigsaw/jake/langtools/rev/891db670a8cb 8134007: Improve string folding Summary: Generalize string folding algorithm to detect mulitple groups of foldable constants within an concat expression Reviewed-by: jlahoda ! src/jdk.compiler/share/classes/com/sun/tools/javac/parser/JavacParser.java + test/tools/javac/parser/8134007/T8134007.java Changeset: 176472b94f2e Author: mcimadamore Date: 2015-08-31 17:33 +0100 URL: http://hg.openjdk.java.net/jigsaw/jake/langtools/rev/176472b94f2e 8129962: Investigate performance improvements in langtools combo tests Summary: New combo API that runs all combo instances in a shared javac context (whenever possible). Reviewed-by: jjg, jlahoda, vromero ! src/jdk.compiler/share/classes/com/sun/tools/javac/api/JavacTaskImpl.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/api/MultiTaskListener.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/code/Scope.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/main/Arguments.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/main/JavaCompiler.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/util/Context.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/util/Log.java ! test/tools/javac/Diagnostics/6769027/T6769027.java ! test/tools/javac/T7093325.java - test/tools/javac/TestBootstrapMethodsCount.java ! test/tools/javac/cast/intersection/IntersectionTypeCastTest.java ! test/tools/javac/defaultMethods/static/hiding/InterfaceMethodHidingTest.java ! test/tools/javac/defaultMethods/super/TestDefaultSuperCall.java ! test/tools/javac/failover/CheckAttributedTree.java ! test/tools/javac/generics/diamond/7046778/DiamondAndInnerClassTest.java ! test/tools/javac/generics/rawOverride/7062745/GenericOverrideTest.java ! test/tools/javac/lambda/FunctionalInterfaceConversionTest.java ! test/tools/javac/lambda/LambdaParserTest.java ! test/tools/javac/lambda/MethodReferenceParserTest.java + test/tools/javac/lambda/TestBootstrapMethodsCount.java ! test/tools/javac/lambda/TestInvokeDynamic.java ! test/tools/javac/lambda/TestLambdaToMethodStats.java ! test/tools/javac/lambda/bytecode/TestLambdaBytecode.java ! test/tools/javac/lambda/mostSpecific/StructuralMostSpecificTest.java ! test/tools/javac/lambda/typeInference/combo/TypeInferenceComboTest.java - test/tools/javac/lib/JavacTestingAbstractThreadedTest.java + test/tools/javac/lib/combo/ComboInstance.java + test/tools/javac/lib/combo/ComboParameter.java + test/tools/javac/lib/combo/ComboTask.java + test/tools/javac/lib/combo/ComboTestHelper.java + test/tools/javac/lib/combo/ReusableContext.java ! test/tools/javac/multicatch/7030606/DisjunctiveTypeWellFormednessTest.java ! test/tools/javac/resolve/BitWiseOperators.java ! test/tools/javac/types/ScopeListenerTest.java ! test/tools/javac/varargs/7042566/T7042566.java ! test/tools/javac/varargs/warning/Warn4.java ! test/tools/javac/varargs/warning/Warn5.java Changeset: ead8b7192f00 Author: lana Date: 2015-09-03 16:13 -0700 URL: http://hg.openjdk.java.net/jigsaw/jake/langtools/rev/ead8b7192f00 Merge - test/tools/javac/TestBootstrapMethodsCount.java - test/tools/javac/lib/JavacTestingAbstractThreadedTest.java Changeset: a7bc0d2f60ba Author: lana Date: 2015-09-11 10:26 -0700 URL: http://hg.openjdk.java.net/jigsaw/jake/langtools/rev/a7bc0d2f60ba Added tag jdk9-b81 for changeset ead8b7192f00 ! .hgtags Changeset: 96c87be307e1 Author: mchung Date: 2015-09-11 17:09 -0700 URL: http://hg.openjdk.java.net/jigsaw/jake/langtools/rev/96c87be307e1 Merge ! .hgtags ! src/jdk.compiler/share/classes/com/sun/tools/javac/api/JavacTaskImpl.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/main/Arguments.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/main/JavaCompiler.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/parser/JavacParser.java - src/jdk.compiler/share/classes/com/sun/tools/javac/sym/CreateSymbols.java - src/jdk.compiler/share/classes/com/sun/tools/javac/sym/Profiles.java - src/jdk.javadoc/share/classes/com/sun/tools/doclets/formats/html/AbstractProfileIndexWriter.java - src/jdk.javadoc/share/classes/com/sun/tools/doclets/formats/html/ProfileIndexFrameWriter.java - src/jdk.javadoc/share/classes/com/sun/tools/doclets/formats/html/ProfilePackageFrameWriter.java - src/jdk.javadoc/share/classes/com/sun/tools/doclets/formats/html/ProfilePackageIndexFrameWriter.java - src/jdk.javadoc/share/classes/com/sun/tools/doclets/formats/html/ProfilePackageWriterImpl.java - src/jdk.javadoc/share/classes/com/sun/tools/doclets/formats/html/ProfileWriterImpl.java - src/jdk.javadoc/share/classes/com/sun/tools/doclets/internal/toolkit/ProfilePackageSummaryWriter.java - src/jdk.javadoc/share/classes/com/sun/tools/doclets/internal/toolkit/ProfileSummaryWriter.java - src/jdk.javadoc/share/classes/com/sun/tools/doclets/internal/toolkit/builders/ProfilePackageSummaryBuilder.java - src/jdk.javadoc/share/classes/com/sun/tools/doclets/internal/toolkit/builders/ProfileSummaryBuilder.java - src/jdk.jdeps/share/classes/com/sun/tools/jdeps/ModulesXmlReader.java - src/jdk.jdeps/share/classes/com/sun/tools/jdeps/PlatformClassPath.java + test/ProblemList.jake.txt - test/tools/javac/T6873845.java ! test/tools/javac/failover/CheckAttributedTree.java ! test/tools/javac/lambda/bytecode/TestLambdaBytecode.java - test/tools/javac/profiles/ProfileTest.java - test/tools/javac/proprietary/WarnClass.java - test/tools/javac/proprietary/WarnClass.out - test/tools/javac/proprietary/WarnImport.java - test/tools/javac/proprietary/WarnImport.out - test/tools/javac/proprietary/WarnMethod.java - test/tools/javac/proprietary/WarnMethod.out - test/tools/javac/proprietary/WarnStaticImport.java - test/tools/javac/proprietary/WarnStaticImport.out - test/tools/javac/proprietary/WarnVariable.java - test/tools/javac/proprietary/WarnVariable.out - test/tools/javac/proprietary/WarnWildcard.java - test/tools/javac/proprietary/WarnWildcard.out ! test/tools/javac/resolve/BitWiseOperators.java ! test/tools/javac/types/ScopeListenerTest.java - test/tools/jdeps/VerboseFormat/use/indirect/DontUseUnsafe2.java - test/tools/jdeps/VerboseFormat/use/indirect/UseUnsafeIndirectly.java - test/tools/jdeps/VerboseFormat/use/indirect2/DontUseUnsafe3.java - test/tools/jdeps/VerboseFormat/use/indirect2/UseUnsafeIndirectly2.java - test/tools/jdeps/VerboseFormat/use/unsafe/DontUseUnsafe.java - test/tools/jdeps/VerboseFormat/use/unsafe/UseClassWithUnsafe.java - test/tools/jdeps/VerboseFormat/use/unsafe/UseUnsafeClass.java - test/tools/jdeps/VerboseFormat/use/unsafe/UseUnsafeClass2.java - test/tools/jdeps/javax/activity/NotCompactProfile.java From mandy.chung at oracle.com Sat Sep 12 00:16:39 2015 From: mandy.chung at oracle.com (mandy.chung at oracle.com) Date: Sat, 12 Sep 2015 00:16:39 +0000 Subject: hg: jigsaw/jake/nashorn: 15 new changesets Message-ID: <201509120016.t8C0Gelr028807@aojmv0008.oracle.com> Changeset: cffb8ad5ad94 Author: sundar Date: 2015-08-31 17:51 +0530 URL: http://hg.openjdk.java.net/jigsaw/jake/nashorn/rev/cffb8ad5ad94 8134731: Function.prototype.apply interacts incorrectly with arguments Reviewed-by: attila, hannesw ! src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/codegen/ApplySpecialization.java ! src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/ir/FunctionNode.java + test/script/basic/JDK-8134731.js Changeset: eea9202e8930 Author: attila Date: 2015-08-31 15:18 +0200 URL: http://hg.openjdk.java.net/jigsaw/jake/nashorn/rev/eea9202e8930 8133300: Ensure symbol table immutability in Nashorn AST Reviewed-by: hannesw, lagergren ! src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/codegen/AssignSymbols.java - src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/codegen/AstSerializer.java + src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/codegen/CacheAst.java ! src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/codegen/CompilationPhase.java ! src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/codegen/Compiler.java ! src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/codegen/FindScopeDepths.java ! src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/codegen/Label.java ! src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/ir/Block.java ! src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/ir/ForNode.java ! src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/ir/FunctionNode.java ! src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/ir/SwitchNode.java ! src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/ir/Symbol.java ! src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/ir/TryNode.java + src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/runtime/AstSerializer.java ! src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/runtime/CompiledFunction.java ! src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/runtime/RecompilableScriptFunctionData.java Changeset: 6e41fdc6acdf Author: sundar Date: 2015-09-01 18:28 +0530 URL: http://hg.openjdk.java.net/jigsaw/jake/nashorn/rev/6e41fdc6acdf 8068901: Surprising behavior with more than one functional interface on a class 8068903: Can't invoke vararg @FunctionalInterface methods Reviewed-by: attila, hannesw ! src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/runtime/linker/Bootstrap.java ! src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/runtime/linker/NashornBeansLinker.java + test/script/basic/JDK-8068901.js + test/script/basic/JDK-8068901.js.EXPECTED + test/script/basic/JDK-8068903.js + test/src/jdk/nashorn/test/models/VarArgConsumer.java Changeset: d7d4c84bd750 Author: aw Date: 2015-09-01 18:19 +0200 URL: http://hg.openjdk.java.net/jigsaw/jake/nashorn/rev/d7d4c84bd750 8134865: Need to restore for container block from lexical context in finally Reviewed-by: attila, mhaupt ! src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/parser/Parser.java + test/script/basic/JDK-8134865.js Changeset: 6b33d7229631 Author: sundar Date: 2015-09-01 23:08 +0530 URL: http://hg.openjdk.java.net/jigsaw/jake/nashorn/rev/6b33d7229631 8134887: nashorn ant test configuration should disable assertion for LamdaFormEditor class Reviewed-by: attila, jlaskey ! make/project.properties Changeset: 740fc9e0561f Author: attila Date: 2015-09-02 12:26 +0200 URL: http://hg.openjdk.java.net/jigsaw/jake/nashorn/rev/740fc9e0561f 8134930: Defer stack trace walking of NashornException for extracting line number and file name Reviewed-by: hannesw, sundar ! src/jdk.scripting.nashorn/share/classes/jdk/nashorn/api/scripting/NashornException.java Changeset: c31e42c1665f Author: sundar Date: 2015-09-02 17:16 +0530 URL: http://hg.openjdk.java.net/jigsaw/jake/nashorn/rev/c31e42c1665f 8134931: jdk.nashorn.internal.codegen.TypeMap should not use Map Reviewed-by: attila, mhaupt ! src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/codegen/TypeMap.java Changeset: 94302631afc4 Author: attila Date: 2015-09-02 16:35 +0200 URL: http://hg.openjdk.java.net/jigsaw/jake/nashorn/rev/94302631afc4 8134939: Improve toString method of Dynalink DynamicMethod objects Reviewed-by: hannesw, sundar ! src/jdk.scripting.nashorn/share/classes/jdk/internal/dynalink/beans/CallerSensitiveDynamicMethod.java ! src/jdk.scripting.nashorn/share/classes/jdk/internal/dynalink/beans/OverloadedDynamicMethod.java ! src/jdk.scripting.nashorn/share/classes/jdk/internal/dynalink/beans/SimpleDynamicMethod.java ! src/jdk.scripting.nashorn/share/classes/jdk/internal/dynalink/beans/SingleDynamicMethod.java ! test/script/basic/JDK-8043232.js.EXPECTED ! test/script/basic/JDK-8049242.js.EXPECTED ! test/script/basic/JDK-8079470.js.EXPECTED + test/script/basic/JDK-8134939.js ! test/script/trusted/classfilter.js.EXPECTED Changeset: 352a446e3a13 Author: sundar Date: 2015-09-02 22:28 +0530 URL: http://hg.openjdk.java.net/jigsaw/jake/nashorn/rev/352a446e3a13 8134973: Control flow exceptions should avoid filling stack trace Reviewed-by: attila, jlaskey, hannesw - src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/runtime/arrays/InvalidArrayIndexException.java ! src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/runtime/linker/AdaptationException.java ! src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/runtime/regexp/joni/exception/JOniException.java Changeset: ad3c4bdf0cf6 Author: sundar Date: 2015-09-03 21:47 +0530 URL: http://hg.openjdk.java.net/jigsaw/jake/nashorn/rev/ad3c4bdf0cf6 8087292: nashorn should have a "fail-fast" option for scripting, analog to bash "set -e" Reviewed-by: hannesw, jlaskey, mhaupt ! src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/objects/Global.java ! src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/runtime/ScriptingFunctions.java ! src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/runtime/resources/Messages.properties + test/script/trusted/JDK-8087292.js + test/script/trusted/JDK-8087292.js.EXPECTED Changeset: ac8a32176cbe Author: aw Date: 2015-09-01 16:11 +0200 URL: http://hg.openjdk.java.net/jigsaw/jake/nashorn/rev/ac8a32176cbe 8134873: Implement support for ES6 numeric literals Reviewed-by: attila, sundar ! src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/parser/Lexer.java ! src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/parser/Parser.java ! src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/parser/TokenType.java + test/script/basic/es6/numeric-literals.js Changeset: e32cac182035 Author: mhaupt Date: 2015-09-03 19:54 +0200 URL: http://hg.openjdk.java.net/jigsaw/jake/nashorn/rev/e32cac182035 Merge Changeset: 42d8ed4651b6 Author: lana Date: 2015-09-03 16:14 -0700 URL: http://hg.openjdk.java.net/jigsaw/jake/nashorn/rev/42d8ed4651b6 Merge - src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/codegen/AstSerializer.java - src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/runtime/arrays/InvalidArrayIndexException.java Changeset: 8b922e75e22e Author: lana Date: 2015-09-11 10:26 -0700 URL: http://hg.openjdk.java.net/jigsaw/jake/nashorn/rev/8b922e75e22e Added tag jdk9-b81 for changeset 42d8ed4651b6 ! .hgtags Changeset: 1d5e38688629 Author: mchung Date: 2015-09-11 17:09 -0700 URL: http://hg.openjdk.java.net/jigsaw/jake/nashorn/rev/1d5e38688629 Merge ! .hgtags ! make/project.properties ! src/jdk.scripting.nashorn/share/classes/jdk/internal/dynalink/beans/CallerSensitiveDynamicMethod.java From alex.buckley at oracle.com Sat Sep 12 00:55:57 2015 From: alex.buckley at oracle.com (Alex Buckley) Date: Fri, 11 Sep 2015 17:55:57 -0700 Subject: jdeps and annotations parameters In-Reply-To: <55F210D8.9050200@oracle.com> References: <55EF4264.5030809@oracle.com> <1532167323.1464130.1441751334613.JavaMail.yahoo@mail.yahoo.com> <55EF8794.2050109@oracle.com> <55F210D8.9050200@oracle.com> Message-ID: <55F3781D.2020500@oracle.com> On 9/10/2015 4:23 PM, Jonathan Gibbons wrote: > On 09/08/2015 06:12 PM, Alex Buckley wrote: >> I confirm (JDK 8u40) that in an instance/static initializer, where a >> local variable declaration includes an annotated type, there is no >> RuntimeVisibleTypeAnnotations attribute emitted for the type >> annotation! This is so even when the correct meta-annotations appear >> on the declaration of the annotation type: >> >> @Target(ElementType.TYPE_USE) >> @Retention(RetentionPolicy.RUNTIME) >> >> In a ctor, the same local variable declaration does cause a >> RuntimeVisibleTypeAnnotations attribute to be emitted for the type >> annotation. >> >> I assume the difference stems from the fact that an annotation on a >> local variable declaration (the declaration, not its type) was >> traditionally never emitted into the class file, regardless of >> @Target. In SE 8, an annotation on the type of a local variable >> declaration can be emitted into the class file, but presumably some >> old code in javac is special-casing initializers and wasn't updated to >> understand type annotations therein. >> >> Jon, >> >> Can you confirm my presumption? > > I could believe there is a bug in this area, if that is what you are > asking. javac bug filed as JDK-8136419. Alex From Alan.Bateman at oracle.com Sat Sep 12 04:47:00 2015 From: Alan.Bateman at oracle.com (Alan Bateman) Date: Sat, 12 Sep 2015 05:47:00 +0100 Subject: jigsaw vs. jsr166 CVS In-Reply-To: References: <55F35A6F.7040807@oracle.com> Message-ID: <55F3AE44.9060407@oracle.com> On 12/09/2015 00:30, Martin Buchholz wrote: > I tried adding -Xoverride, but it didn't help. > You'll need to use javac -Xmodule:java.base to compile the classes, then use -Xoverride at run-time. As it happens, there is an example that compiles and uses an development version of CHM here: http://openjdk.java.net/projects/jigsaw/quick-start#xoverride Hopefully it won't too much to get the build.xml to do this. -Alan From mandy.chung at oracle.com Sat Sep 12 05:58:44 2015 From: mandy.chung at oracle.com (mandy.chung at oracle.com) Date: Sat, 12 Sep 2015 05:58:44 +0000 Subject: hg: jigsaw/jake/langtools: Adds tests to ProblemList.jake.txt for further investigation Message-ID: <201509120558.t8C5wiqF008657@aojmv0008.oracle.com> Changeset: 2e667d1f8d67 Author: mchung Date: 2015-09-11 22:58 -0700 URL: http://hg.openjdk.java.net/jigsaw/jake/langtools/rev/2e667d1f8d67 Adds tests to ProblemList.jake.txt for further investigation ! test/ProblemList.jake.txt From sadhak001 at gmail.com Sat Sep 12 06:44:26 2015 From: sadhak001 at gmail.com (Mani Sarkar) Date: Sat, 12 Sep 2015 07:44:26 +0100 Subject: Project Jigsaw: Early-Access Builds available on jdk9.java.net/jigsaw In-Reply-To: References: <55F067A9.6070606@oracle.com> <55F1E85B.3040004@oracle.com> <55F1EE3D.7010606@oracle.com> <55F2AE58.8020400@oracle.com> Message-ID: Hi all, I have moved the jdk-jigsaw repo into the AdoptOpenJDK org, see https://github.com/AdoptOpenJDK/jdk9-jigsaw Cheers, Mani On Fri, Sep 11, 2015 at 11:12 PM, Mani Sarkar wrote: > Looking forward to it - always a pleasure to help. > > Cheers, > Mani > > On Fri, Sep 11, 2015 at 11:35 AM, Alan Bateman > wrote: > >> >> >> On 10/09/2015 22:12, Mani Sarkar wrote: >> >>> Jim you stole my thunder and lightening - that was it. >>> >>> Thanks Mani, thanks Jim, this is fixed on the QS page now. I've no doubt >> that in time that there will be much better examples and tutorials, that >> page is just a start. >> >> -Alan >> > > > > -- > @theNeomatrix369 * | **Blog > ** | *LJC Associate & LJC Advocate > (@adoptopenjdk & @adoptajsr programs) > *Meet-a-Project - *MutabilityDetector > * | **Bitbucket > * * | **Github > * * | **LinkedIn > * > *Come to Devoxx UK 2016:* http://www.devoxx.co.uk/ > > *Don't chase success, rather aim for "Excellence", and success will come > chasing after you!* > -- @theNeomatrix369 * | **Blog ** | *LJC Associate & LJC Advocate (@adoptopenjdk & @adoptajsr programs) *Meet-a-Project - *MutabilityDetector * | **Bitbucket * * | **Github * * | **LinkedIn * *Come to Devoxx UK 2016:* http://www.devoxx.co.uk/ *Don't chase success, rather aim for "Excellence", and success will come chasing after you!* From peter.levart at gmail.com Sat Sep 12 10:27:21 2015 From: peter.levart at gmail.com (Peter Levart) Date: Sat, 12 Sep 2015 12:27:21 +0200 Subject: Jigsaw EA feedback for elasticsearch In-Reply-To: References: <55F2A877.5010109@oracle.com> Message-ID: <55F3FE09.1000106@gmail.com> Hi Robert, On 09/11/2015 10:58 PM, Robert Muir wrote: > On Fri, Sep 11, 2015 at 6:09 AM, Alan Bateman wrote: >> I'm not sure that I understand the issue here but just to say that the >> com.sun.management API is a documented/supported API and it exported by >> module jdk.management: >> >> $ java -listmods:jdk.management >> >> jdk.management at 9.0 >> requires public java.management >> requires mandated java.base >> exports com.sun.management >> conceals com.sun.management.internal >> provides sun.management.spi.PlatformMBeanProvider with >> com.sun.management.internal.PlatformMBeanProviderImpl >> > Here is code that fails: > > import java.lang.reflect.*; > import java.lang.management.*; > > public class test { > public static void main(String args[]) throws Exception { > OperatingSystemMXBean osMxBean = > ManagementFactory.getOperatingSystemMXBean(); > Method getTotalPhysicalMemorySize = > osMxBean.getClass().getMethod("getTotalPhysicalMemorySize"); > getTotalPhysicalMemorySize.setAccessible(true); > System.out.println(getTotalPhysicalMemorySize.invoke(osMxBean)); > } > } > > Exception in thread "main" > java.lang.reflect.InaccessibleObjectException: Unable to make member > of class com.sun.management.internal.OperatingSystemImpl accessible: > module jdk.management does not export com.sun.management.internal to > > at sun.reflect.Reflection.throwInaccessibleObjectException(java.base at 9.0/Reflection.java:462) > at java.lang.reflect.AccessibleObject.checkCanSetAccessible(java.base at 9.0/AccessibleObject.java:194) > at java.lang.reflect.AccessibleObject.setAccessible(java.base at 9.0/AccessibleObject.java:157) > at test.main(test.java:8) I guess there will be lots of similar issues discovered in various codebases when trying to run them with jigsaw. The problem of the above code is that it uses reflection to look up the optional method on the implementation class of the object (and that class is in some internal package, not exported and inaccessible to other modules) instead of looking it up on the public API class (the interface). You get two different methods that way - one is accessible and the other is not, but invoking either of them should be equivalent, since the dispatch is always virtual. So the correct way to "test" whether the method exists (maybe because it has been added on a praticular version of the platform) and then to invoke it is the following: public class test { public static void main(String args[]) throws Exception { Method getTotalPhysicalMemorySize = OperatingSystemMXBean.class.getMethod("getTotalPhysicalMemorySize"); OperatingSystemMXBean osMxBean = ManagementFactory.getOperatingSystemMXBean(); System.out.println(getTotalPhysicalMemorySize.invoke(osMxBean)); } } And you don't even need to set it Method.setAccessible(true), since both the interface and method are public. Regards, Peter From uschindler at apache.org Sat Sep 12 11:14:04 2015 From: uschindler at apache.org (Uwe Schindler) Date: Sat, 12 Sep 2015 13:14:04 +0200 Subject: Jigsaw EA feedback for elasticsearch In-Reply-To: <55F3FE09.1000106@gmail.com> References: <55F2A877.5010109@oracle.com> <55F3FE09.1000106@gmail.com> Message-ID: <007601d0ed4c$242f2030$6c8d6090$@apache.org> Hi Peter, we fixed that already (in Elasticsearch and Apache Solr): https://goo.gl/st9mm7 (variant of Apache Solr) The issue is: you cannot "import" the sun.management bean into your source code, because this makes it fail to compile with other non-Oracle/OpenJDK JVMs, like IBM's J9 or Android. So we need reflection here. But what you can do is: use Class#forName() to look up the sun.management bean interface class and then reflect on that one. As the interface is public and exported, this works without setAccessible. You then just need to cast the OperatingSystemMXBean to that interface and invoke the previously reflected "public" interface method. This is what the above patch does. Uwe P.S.: This is why we use the "forbidden-apis" Maven/Ant/Gradle plugin to detect stuff like using non-standardized or unsafe APIs: https://github.com/policeman-tools/forbidden-apis ; this tool will fail your build whenever you use methods wich are not part of the Standard JDK. You can also forbid methods like String#toLowerCase(), because its locale dependent... You will not find any use of String#toLowerCase() without an explicit Locale anywhere in Lucene/Solr/Elasticsearch source code. ----- Uwe Schindler uschindler at apache.org ASF Member, Apache Lucene PMC / Committer Bremen, Germany http://lucene.apache.org/ > -----Original Message----- > From: jigsaw-dev [mailto:jigsaw-dev-bounces at openjdk.java.net] On Behalf > Of Peter Levart > Sent: Saturday, September 12, 2015 12:27 PM > To: Robert Muir; Alan Bateman > Cc: jigsaw-dev at openjdk.java.net > Subject: Re: Jigsaw EA feedback for elasticsearch > > Hi Robert, > > On 09/11/2015 10:58 PM, Robert Muir wrote: > > On Fri, Sep 11, 2015 at 6:09 AM, Alan Bateman > wrote: > >> I'm not sure that I understand the issue here but just to say that > >> the com.sun.management API is a documented/supported API and it > >> exported by module jdk.management: > >> > >> $ java -listmods:jdk.management > >> > >> jdk.management at 9.0 > >> requires public java.management > >> requires mandated java.base > >> exports com.sun.management > >> conceals com.sun.management.internal > >> provides sun.management.spi.PlatformMBeanProvider with > >> com.sun.management.internal.PlatformMBeanProviderImpl > >> > > Here is code that fails: > > > > import java.lang.reflect.*; > > import java.lang.management.*; > > > > public class test { > > public static void main(String args[]) throws Exception { > > OperatingSystemMXBean osMxBean = > > ManagementFactory.getOperatingSystemMXBean(); > > Method getTotalPhysicalMemorySize = > > osMxBean.getClass().getMethod("getTotalPhysicalMemorySize"); > > getTotalPhysicalMemorySize.setAccessible(true); > > System.out.println(getTotalPhysicalMemorySize.invoke(osMxBean)); > > } > > } > > > > Exception in thread "main" > > java.lang.reflect.InaccessibleObjectException: Unable to make member > > of class com.sun.management.internal.OperatingSystemImpl accessible: > > module jdk.management does not export com.sun.management.internal > to > > > > at > sun.reflect.Reflection.throwInaccessibleObjectException(java.base at 9.0/Ref > lection.java:462) > > at > java.lang.reflect.AccessibleObject.checkCanSetAccessible(java.base at 9.0/Ac > cessibleObject.java:194) > > at > java.lang.reflect.AccessibleObject.setAccessible(java.base at 9.0/AccessibleO > bject.java:157) > > at test.main(test.java:8) > > I guess there will be lots of similar issues discovered in various codebases > when trying to run them with jigsaw. The problem of the above code is that it > uses reflection to look up the optional method on the implementation class > of the object (and that class is in some internal package, not exported and > inaccessible to other modules) instead of looking it up on the public API class > (the interface). You get two different methods that way - one is accessible > and the other is not, but invoking either of them should be equivalent, since > the dispatch is always virtual. So the correct way to "test" whether the > method exists (maybe because it has been added on a praticular version of > the > platform) and then to invoke it is the following: > > public class test { > public static void main(String args[]) throws Exception { > Method getTotalPhysicalMemorySize = > OperatingSystemMXBean.class.getMethod("getTotalPhysicalMemorySize"); > OperatingSystemMXBean osMxBean = > ManagementFactory.getOperatingSystemMXBean(); > System.out.println(getTotalPhysicalMemorySize.invoke(osMxBean)); > } > } > > > And you don't even need to set it Method.setAccessible(true), since both > the interface and method are public. > > > Regards, Peter From peter.levart at gmail.com Sat Sep 12 12:18:19 2015 From: peter.levart at gmail.com (Peter Levart) Date: Sat, 12 Sep 2015 14:18:19 +0200 Subject: Jigsaw EA feedback for elasticsearch In-Reply-To: <007601d0ed4c$242f2030$6c8d6090$@apache.org> References: <55F2A877.5010109@oracle.com> <55F3FE09.1000106@gmail.com> <007601d0ed4c$242f2030$6c8d6090$@apache.org> Message-ID: <55F4180B.1060002@gmail.com> Right, So even the interface is optional (as it does not exist on some platforms). The important thing is that it is public and exported. The following idiom might have been OK before jigsaw: instance.getClass().getMethod(...); But even then you might have ended up with a Method in a non-public class, so you were forced to use .setAccessible(true) to invoke it. After jigsaw, it is very likely that the implementation class is not even exported. Regards, Peter On 09/12/2015 01:14 PM, Uwe Schindler wrote: > Hi Peter, > > we fixed that already (in Elasticsearch and Apache Solr): https://goo.gl/st9mm7 (variant of Apache Solr) > > The issue is: you cannot "import" the sun.management bean into your source code, because this makes it fail to compile with other non-Oracle/OpenJDK JVMs, like IBM's J9 or Android. So we need reflection here. > But what you can do is: use Class#forName() to look up the sun.management bean interface class and then reflect on that one. As the interface is public and exported, this works without setAccessible. You then just need to cast the OperatingSystemMXBean to that interface and invoke the previously reflected "public" interface method. This is what the above patch does. > > Uwe > > P.S.: This is why we use the "forbidden-apis" Maven/Ant/Gradle plugin to detect stuff like using non-standardized or unsafe APIs: https://github.com/policeman-tools/forbidden-apis ; this tool will fail your build whenever you use methods wich are not part of the Standard JDK. You can also forbid methods like String#toLowerCase(), because its locale dependent... You will not find any use of String#toLowerCase() without an explicit Locale anywhere in Lucene/Solr/Elasticsearch source code. > > ----- > Uwe Schindler > uschindler at apache.org > ASF Member, Apache Lucene PMC / Committer > Bremen, Germany > http://lucene.apache.org/ >> -----Original Message----- >> From: jigsaw-dev [mailto:jigsaw-dev-bounces at openjdk.java.net] On Behalf >> Of Peter Levart >> Sent: Saturday, September 12, 2015 12:27 PM >> To: Robert Muir; Alan Bateman >> Cc: jigsaw-dev at openjdk.java.net >> Subject: Re: Jigsaw EA feedback for elasticsearch >> >> Hi Robert, >> >> On 09/11/2015 10:58 PM, Robert Muir wrote: >>> On Fri, Sep 11, 2015 at 6:09 AM, Alan Bateman >> wrote: >>>> I'm not sure that I understand the issue here but just to say that >>>> the com.sun.management API is a documented/supported API and it >>>> exported by module jdk.management: >>>> >>>> $ java -listmods:jdk.management >>>> >>>> jdk.management at 9.0 >>>> requires public java.management >>>> requires mandated java.base >>>> exports com.sun.management >>>> conceals com.sun.management.internal >>>> provides sun.management.spi.PlatformMBeanProvider with >>>> com.sun.management.internal.PlatformMBeanProviderImpl >>>> >>> Here is code that fails: >>> >>> import java.lang.reflect.*; >>> import java.lang.management.*; >>> >>> public class test { >>> public static void main(String args[]) throws Exception { >>> OperatingSystemMXBean osMxBean = >>> ManagementFactory.getOperatingSystemMXBean(); >>> Method getTotalPhysicalMemorySize = >>> osMxBean.getClass().getMethod("getTotalPhysicalMemorySize"); >>> getTotalPhysicalMemorySize.setAccessible(true); >>> System.out.println(getTotalPhysicalMemorySize.invoke(osMxBean)); >>> } >>> } >>> >>> Exception in thread "main" >>> java.lang.reflect.InaccessibleObjectException: Unable to make member >>> of class com.sun.management.internal.OperatingSystemImpl accessible: >>> module jdk.management does not export com.sun.management.internal >> to >>> >>> at >> sun.reflect.Reflection.throwInaccessibleObjectException(java.base at 9.0/Ref >> lection.java:462) >>> at >> java.lang.reflect.AccessibleObject.checkCanSetAccessible(java.base at 9.0/Ac >> cessibleObject.java:194) >>> at >> java.lang.reflect.AccessibleObject.setAccessible(java.base at 9.0/AccessibleO >> bject.java:157) >>> at test.main(test.java:8) >> I guess there will be lots of similar issues discovered in various codebases >> when trying to run them with jigsaw. The problem of the above code is that it >> uses reflection to look up the optional method on the implementation class >> of the object (and that class is in some internal package, not exported and >> inaccessible to other modules) instead of looking it up on the public API class >> (the interface). You get two different methods that way - one is accessible >> and the other is not, but invoking either of them should be equivalent, since >> the dispatch is always virtual. So the correct way to "test" whether the >> method exists (maybe because it has been added on a praticular version of >> the >> platform) and then to invoke it is the following: >> >> public class test { >> public static void main(String args[]) throws Exception { >> Method getTotalPhysicalMemorySize = >> OperatingSystemMXBean.class.getMethod("getTotalPhysicalMemorySize"); >> OperatingSystemMXBean osMxBean = >> ManagementFactory.getOperatingSystemMXBean(); >> System.out.println(getTotalPhysicalMemorySize.invoke(osMxBean)); >> } >> } >> >> >> And you don't even need to set it Method.setAccessible(true), since both >> the interface and method are public. >> >> >> Regards, Peter From rcmuir at gmail.com Sat Sep 12 12:34:16 2015 From: rcmuir at gmail.com (Robert Muir) Date: Sat, 12 Sep 2015 08:34:16 -0400 Subject: Jigsaw EA feedback for elasticsearch In-Reply-To: <55F4180B.1060002@gmail.com> References: <55F2A877.5010109@oracle.com> <55F3FE09.1000106@gmail.com> <007601d0ed4c$242f2030$6c8d6090$@apache.org> <55F4180B.1060002@gmail.com> Message-ID: On Sat, Sep 12, 2015 at 8:18 AM, Peter Levart wrote: > > But even then you might have ended up with a Method in a non-public class, > so you were forced to use .setAccessible(true) to invoke it. > That's right, that was the main issue here, we had not yet "forbid" setAccessible / removed suppressAccessChecks to prevent surprises like this. Java developers use it everywhere seemingly without care, so its not easy to cleanup. From Alan.Bateman at oracle.com Sat Sep 12 15:26:32 2015 From: Alan.Bateman at oracle.com (Alan Bateman) Date: Sat, 12 Sep 2015 16:26:32 +0100 Subject: Jigsaw EA feedback on running an internal app In-Reply-To: <55F2F8A4.3020202@gmail.com> References: <55F2F8A4.3020202@gmail.com> Message-ID: <55F44428.6080703@oracle.com> On 11/09/2015 16:52, Peter Levart wrote: > > Building the app with Maven doesn't work though. Maven compiler module > doesn't seem to be able to use the javac compiler API correctly. Maven > folks would have to look at it. I met Chris Newland today at an event, he was running into the same issue but found a workaround: https://twitter.com/chriswhocodes/status/642646126689132544 -Alan From david.lloyd at redhat.com Sat Sep 12 16:36:40 2015 From: david.lloyd at redhat.com (David M. Lloyd) Date: Sat, 12 Sep 2015 11:36:40 -0500 Subject: Jigsaw EA feedback on running an internal app In-Reply-To: <55F44428.6080703@oracle.com> References: <55F2F8A4.3020202@gmail.com> <55F44428.6080703@oracle.com> Message-ID: <55F45498.3080202@redhat.com> On 09/12/2015 10:26 AM, Alan Bateman wrote: > > > On 11/09/2015 16:52, Peter Levart wrote: >> >> Building the app with Maven doesn't work though. Maven compiler module >> doesn't seem to be able to use the javac compiler API correctly. Maven >> folks would have to look at it. > I met Chris Newland today at an event, he was running into the same > issue but found a workaround: > > https://twitter.com/chriswhocodes/status/642646126689132544 The forked mode lacks some features of the compiler API mode though; it might not work for some projects, and I wouldn't recommend it for any kind of long-term substitute in any event. -- - DML From mandy.chung at oracle.com Sat Sep 12 17:22:31 2015 From: mandy.chung at oracle.com (mandy.chung at oracle.com) Date: Sat, 12 Sep 2015 17:22:31 +0000 Subject: hg: jigsaw/jake/langtools: 2 new changesets Message-ID: <201509121722.t8CHMVsx023352@aojmv0008.oracle.com> Changeset: 144597c5a68b Author: jlahoda Date: 2015-09-12 10:20 -0700 URL: http://hg.openjdk.java.net/jigsaw/jake/langtools/rev/144597c5a68b Fixing langtools tests broken by recent merge. ! test/ProblemList.jake.txt ! test/tools/javac/failover/CheckAttributedTree.java ! test/tools/javac/lambda/TestBootstrapMethodsCount.java ! test/tools/javac/lib/combo/ReusableContext.java Changeset: ceff7728eb4c Author: mchung Date: 2015-09-12 10:22 -0700 URL: http://hg.openjdk.java.net/jigsaw/jake/langtools/rev/ceff7728eb4c Fixup @modules in combo tests ! test/ProblemList.jake.txt ! test/tools/javac/resolve/BitWiseOperators.java From jarthana at in.ibm.com Sat Sep 12 19:16:50 2015 From: jarthana at in.ibm.com (Jayaprakash Arthanareeswaran) Date: Sun, 13 Sep 2015 00:46:50 +0530 Subject: Retrieving PLATFORM_CLASS_PATH from file manager Message-ID: Hello experts, With JDK 9, some of JDT Core tests have started failing. The failing tests are in the JSR 199 area, where we test Eclipse's compiler in a mixed mode with Javac's StandardJavaFileManager. standardJavaFileManager.getLocation(StandardLocation.PLATFORM_CLASS_PATH); Until JDK 8, this used to return rt.jar and other jars but not anymore. I expected this to return the path to the bootmodules.jimage just like the system property "sun.boot.class.path". Is this behavior expected? Regards, Jay From christian.beikov at gmail.com Sat Sep 12 21:17:58 2015 From: christian.beikov at gmail.com (Christian Beikov) Date: Sat, 12 Sep 2015 23:17:58 +0200 Subject: Encapsulation of sun.misc.Unsafe.defineClass Message-ID: <55F49686.6000508@gmail.com> Hello, I am using Unsafe to define a class which normally wouldn't pass the bytecode verification. I do this because I want to initialize fields before invoking the super constructor. That way I can use e.g. a getter in the super constructor. I don't depend on this specific behavior but I guess there are valid use cases which would actually benefit from something like that. I mainly wanted my use case to be heard, because I couldn't find any plans on encapsulating this part of sun.misc.Unsafe. Allowing to skip the verifier completely might be too unsafe, but I guess there are some edge cases for which an "extended mode" of the verifier would make sense. This "extended mode" would allow e.g. initializing fields before calling the super constructor and maybe some other things. Maybe there are some relaxations of the verifier rules that language writers would like to see in such an "extended mode"? Regards, Christian From cnewland at chrisnewland.com Sun Sep 13 07:58:36 2015 From: cnewland at chrisnewland.com (Chris Newland) Date: Sun, 13 Sep 2015 08:58:36 +0100 Subject: Jigsaw EA feedback on running an internal app In-Reply-To: <55F45498.3080202@redhat.com> References: <55F2F8A4.3020202@gmail.com> <55F44428.6080703@oracle.com> <55F45498.3080202@redhat.com> Message-ID: Yes, I'd only use these switches as a temporary solution just to get your projects compiling under jigsaw. Looks like the maven team have a handle on how to fix it: http://mail-archives.apache.org/mod_mbox/maven-dev/201509.mbox/browser Regards, Chris On Sat, September 12, 2015 17:36, David M. Lloyd wrote: > On 09/12/2015 10:26 AM, Alan Bateman wrote: > >> >> >> On 11/09/2015 16:52, Peter Levart wrote: >> >>> >>> Building the app with Maven doesn't work though. Maven compiler >>> module doesn't seem to be able to use the javac compiler API >>> correctly. Maven folks would have to look at it. >> I met Chris Newland today at an event, he was running into the same >> issue but found a workaround: >> >> https://twitter.com/chriswhocodes/status/642646126689132544 >> > > The forked mode lacks some features of the compiler API mode though; it > might not work for some projects, and I wouldn't recommend it for any kind > of long-term substitute in any event. > > -- > - DML > > From Alan.Bateman at oracle.com Sun Sep 13 13:25:41 2015 From: Alan.Bateman at oracle.com (Alan Bateman) Date: Sun, 13 Sep 2015 14:25:41 +0100 Subject: Retrieving PLATFORM_CLASS_PATH from file manager In-Reply-To: References: Message-ID: <55F57955.10109@oracle.com> On 12/09/2015 20:16, Jayaprakash Arthanareeswaran wrote: > > Hello experts, > > With JDK 9, some of JDT Core tests have started failing. The failing tests > are in the JSR 199 area, where we test Eclipse's compiler in a mixed mode > with Javac's StandardJavaFileManager. > > standardJavaFileManager.getLocation(StandardLocation.PLATFORM_CLASS_PATH); > > Until JDK 8, this used to return rt.jar and other jars but not anymore. I > expected this to return the path to the bootmodules.jimage just like the > system property "sun.boot.class.path". > The proposal is to drop sun.boot.class.path, see the "Removed: Bootstrap class-path options" in JEP 261 [1]. It wasn't been useful since the changes for JEP 220 went into JDK 9. There are a few remaining pieces to be done in HotSpot before we can get there, mostly in the Serviceability Agent and the "Compile-The-World" built-in test. The issue is tracked by JDK-8131049 and JDK-8077209. To be consistent then I would think getLocation(PLATFORM_CLASS_PATH) would return an empty Iterable and a getLocation(SYSTEM_MODULE_PATH), or a Iterable variant, would return jrt:/. I'm sure Jon will reply on this issue and explain JRT_MARKER_FILE (which I suspect is what you are wondering about). -Alan [1] http://openjdk.java.net/jeps/261 From Alan.Bateman at oracle.com Sun Sep 13 14:33:48 2015 From: Alan.Bateman at oracle.com (Alan Bateman) Date: Sun, 13 Sep 2015 15:33:48 +0100 Subject: CFV: New jigsaw Committer: Jean-Francois Denise Message-ID: <55F5894C.4090009@oracle.com> I hereby nominate Jean-Francois Denise to jigsaw Committer. Jean-Francois is a jdk9 Committer and has been contributing to the ongoing development of the jimage container format. He has also been focused recently on the link phase and jlink tool cited in JEP 261 [0]. He has more than 40 change-sets/contributions in the jigsaw/jake forest. Votes are due by September 26, 2015 8:00 PDT. Only current jigsaw Committers [1] are eligible to vote on this nomination. Votes must be cast in the open by replying to this mailing list. For Lazy Consensus voting instructions, see [2]. -Alan. [0] http://openjdk.java.net/jeps/261 [1] http://openjdk.java.net/census [2] http://openjdk.java.net/projects/#committer-vote From Alan.Bateman at oracle.com Sun Sep 13 14:38:09 2015 From: Alan.Bateman at oracle.com (Alan Bateman) Date: Sun, 13 Sep 2015 15:38:09 +0100 Subject: CFV: New jigsaw Committer: Jean-Francois Denise In-Reply-To: <55F5894C.4090009@oracle.com> References: <55F5894C.4090009@oracle.com> Message-ID: <55F58A51.9020100@oracle.com> Vote: yes From alan.bateman at oracle.com Sun Sep 13 15:23:42 2015 From: alan.bateman at oracle.com (alan.bateman at oracle.com) Date: Sun, 13 Sep 2015 15:23:42 +0000 Subject: hg: jigsaw/jake/jdk: 3 new changesets Message-ID: <201509131523.t8DFNgQp016692@aojmv0008.oracle.com> Changeset: 6b9fef847d06 Author: alanb Date: 2015-09-13 14:50 +0100 URL: http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/6b9fef847d06 Rename MixedModeTest.java to AddModsTest and extend coverage + test/jdk/jigsaw/launcher/addmods/AddModsTest.java + test/jdk/jigsaw/launcher/addmods/src/app/Main.java + test/jdk/jigsaw/launcher/addmods/src/lib/jdk/lib/Util.java + test/jdk/jigsaw/launcher/addmods/src/lib/module-info.java - test/jdk/jigsaw/launcher/mixedmode/MixedModeTest.java - test/jdk/jigsaw/launcher/mixedmode/src/app/Main.java - test/jdk/jigsaw/launcher/mixedmode/src/lib/jdk/lib/Util.java - test/jdk/jigsaw/launcher/mixedmode/src/lib/module-info.java Changeset: 9d521fd83608 Author: alanb Date: 2015-09-13 15:35 +0100 URL: http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/9d521fd83608 AccessibleObject.setAccessible should not be final for compatibility reasons ! src/java.base/share/classes/java/lang/reflect/AccessibleObject.java ! src/java.base/share/classes/java/lang/reflect/Constructor.java ! src/java.base/share/classes/java/lang/reflect/Field.java ! src/java.base/share/classes/java/lang/reflect/Method.java Changeset: 0321cfe06fef Author: alanb Date: 2015-09-13 15:38 +0100 URL: http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/0321cfe06fef Merge - src/java.base/unix/classes/sun/nio/fs/GnomeFileTypeDetector.java - src/java.base/unix/native/libnio/fs/GnomeFileTypeDetector.c From james.laskey at oracle.com Sun Sep 13 18:15:08 2015 From: james.laskey at oracle.com (James Laskey) Date: Sun, 13 Sep 2015 15:15:08 -0300 Subject: CFV: New jigsaw Committer: Jean-Francois Denise In-Reply-To: <55F5894C.4090009@oracle.com> References: <55F5894C.4090009@oracle.com> Message-ID: <2FC5F85F-E1CB-4160-B869-97B0A70C5F78@oracle.com> Vote: yes Sent from my iPhone > On Sep 13, 2015, at 11:33 AM, Alan Bateman wrote: > > > I hereby nominate Jean-Francois Denise to jigsaw Committer. > > Jean-Francois is a jdk9 Committer and has been contributing to the ongoing development of the jimage container format. He has also been focused recently on the link phase and jlink tool cited in JEP 261 [0]. He has more than 40 change-sets/contributions in the jigsaw/jake forest. > > Votes are due by September 26, 2015 8:00 PDT. > > Only current jigsaw Committers [1] are eligible to vote on this nomination. Votes must be cast in the open by replying to this mailing list. > > For Lazy Consensus voting instructions, see [2]. > > -Alan. > > [0] http://openjdk.java.net/jeps/261 > [1] http://openjdk.java.net/census > [2] http://openjdk.java.net/projects/#committer-vote From martinrb at google.com Sun Sep 13 18:54:43 2015 From: martinrb at google.com (Martin Buchholz) Date: Sun, 13 Sep 2015 11:54:43 -0700 Subject: jigsaw vs. jsr166 CVS In-Reply-To: <55F3AE44.9060407@oracle.com> References: <55F35A6F.7040807@oracle.com> <55F3AE44.9060407@oracle.com> Message-ID: Alan, thanks for that pointer. I succeeded at building jsr166 and running tests with it after beating ant into submission. People *will* write code to distinguish between a pre-module and post-module JDK by inspecting the filesystem. Here's one implementation in ant: Then we can have conditional ant code like this: It's not just a matter of "porting to jigsaw". There seems to be no way of deploying jsr166 CVS as a directly deployable software artifact as we have been doing with -Xbootclasspath/p. To use -Xoverride, there must be an exploded directory. It would be convenient if -Xoverride was usable with an equivalent jar file (jsr166.jar). But y'all are trying to make module overriding possible, not convenient?! javadoc does not seem to have any support for -Xmodule, so I don't know how to fix the "docs" target. The fundamental disconnect is that from a developer point of view, jsr166 CVS contains an independently developed "module" with binary deployable artifacts, but jigsaw disagrees about its module-ness, and that can probably not be fixed because of circular dependencies between java.util.concurrent and the rest of java.base? On Fri, Sep 11, 2015 at 9:47 PM, Alan Bateman wrote: > > On 12/09/2015 00:30, Martin Buchholz wrote: > >> I tried adding -Xoverride, but it didn't help. >> >> You'll need to use javac -Xmodule:java.base to compile the classes, then > use -Xoverride at run-time. As it happens, there is an example that > compiles and uses an development version of CHM here: > > http://openjdk.java.net/projects/jigsaw/quick-start#xoverride > > Hopefully it won't too much to get the build.xml to do this. > > -Alan > From sundararajan.athijegannathan at oracle.com Mon Sep 14 03:47:37 2015 From: sundararajan.athijegannathan at oracle.com (Sundararajan Athijegannathan) Date: Mon, 14 Sep 2015 09:17:37 +0530 Subject: CFV: New jigsaw Committer: Jean-Francois Denise In-Reply-To: <55F5894C.4090009@oracle.com> References: <55F5894C.4090009@oracle.com> Message-ID: <55F64359.3080300@oracle.com> Vote: yes On 9/13/2015 8:03 PM, Alan Bateman wrote: > > I hereby nominate Jean-Francois Denise to jigsaw Committer. > > Jean-Francois is a jdk9 Committer and has been contributing to the > ongoing development of the jimage container format. He has also been > focused recently on the link phase and jlink tool cited in JEP 261 > [0]. He has more than 40 change-sets/contributions in the jigsaw/jake > forest. > > Votes are due by September 26, 2015 8:00 PDT. > > Only current jigsaw Committers [1] are eligible to vote on this > nomination. Votes must be cast in the open by replying to this mailing > list. > > For Lazy Consensus voting instructions, see [2]. > > -Alan. > > [0] http://openjdk.java.net/jeps/261 > [1] http://openjdk.java.net/census > [2] http://openjdk.java.net/projects/#committer-vote From peter.levart at gmail.com Mon Sep 14 08:22:09 2015 From: peter.levart at gmail.com (Peter Levart) Date: Mon, 14 Sep 2015 10:22:09 +0200 Subject: javac not enforcing module boundaries? Message-ID: <55F683B1.10106@gmail.com> Hi, I experimented a little with EA build and found javac behaving a little strange. Is this known or expected behaviour? For example, having the following layout of sources: modsrc/modA/module-info.java module modA { requires modB; } modsrc/modA/pkgA/TestA.java package pkgA; import pkgB.TypeB; public class TestA { public static void main(String[] args) { TypeB b = new TypeB(); b.getC().getD().helloD(); } } modsrc/modB/module-info.java module modB { exports pkgB; requires modC; } modsrc/modB/pkgB/TypeB.java package pkgB; import pkgC.TypeC; public class TypeB { public TypeC getC() { return new TypeC(); } } modsrc/modC/module-info.java module modC { exports pkgC; requires modD; } modsrc/modC/pkgC/TypeC.java package pkgC; import pkgD.TypeD; public class TypeC { public TypeD getD() { return new TypeD(); } } modsrc/modD/module-info.java module modD { exports pkgD; } modsrc/modD/pkgD/TypeD.java package pkgD; public class TypeD {java -modulepath modout -m modA/pkgA.TestA public void helloD() { System.out.println("Hello from " + this.getClass().getModule()); } } and using the following command to compile them: javac -modulesourcepath modsrc -d modout modsrc/modA/pkgA/TestA.java They compile without error and produce the following output files: modout/modA/module-info.class modout/modA/pkgA/TestA.class modout/modB/module-info.class modout/modB/pkgB/TypeB.class modout/modC/module-info.class modout/modC/pkgC/TypeC.class modout/modD/module-info.class modout/modD/pkgD/TypeD.class Running the above with the following command: java -modulepath modout -m modA/pkgA.TestA Gives the following runtime error: Exception in thread "main" java.lang.IllegalAccessError: class pkgA.TestA (in module: modA) cannot access class pkgC.TypeC (in module: modC), modA cannot read modC at pkgA.TestA.main(modA@/TestA.java:8) Which is expected. What I didn't expect is that javac did not figure this out correctly. Am I missing something and not using javac in the right way? Regards, Peter From Alan.Bateman at oracle.com Mon Sep 14 09:14:53 2015 From: Alan.Bateman at oracle.com (Alan Bateman) Date: Mon, 14 Sep 2015 10:14:53 +0100 Subject: javac not enforcing module boundaries? In-Reply-To: <55F683B1.10106@gmail.com> References: <55F683B1.10106@gmail.com> Message-ID: <55F6900D.7030406@oracle.com> On 14/09/2015 09:22, Peter Levart wrote: > : > > Gives the following runtime error: > > Exception in thread "main" java.lang.IllegalAccessError: class > pkgA.TestA (in module: modA) cannot access class pkgC.TypeC (in > module: modC), modA cannot read modC > at pkgA.TestA.main(modA@/TestA.java:8) > > > Which is expected. What I didn't expect is that javac did not figure > this out correctly. Am I missing something and not using javac in the > right way? The API exported by modB has a method that returns an instance of pkgC.TypeC so I would have expected modB to be a good citizen and "requires public modC". Similarly, with the API exported by modC where is returns an instance of pkgD.TypeD, I would have expected modC to "requires public modD". I will guess that you've set it up this way to probe more into implied readability. The javac command looks right, I see that it also doesn't fail when the modules are compiled separately (D, C, B, A). -Alan. From sadhak001 at gmail.com Mon Sep 14 11:30:56 2015 From: sadhak001 at gmail.com (Mani Sarkar) Date: Mon, 14 Sep 2015 12:30:56 +0100 Subject: Project Jigsaw JDK & JRE binaries + test results Message-ID: Hi all, Project Jigsaw JDK & JRE binaries + test results are now available on the Adopt OpenJDK Cloudbees Build farm: https://adopt-openjdk.ci.cloudbees.com/view/OpenJDK/job/project-jigsaw-openjdk-1.9-linux-x86_64/lastSuccessfulBuild/artifact/ Please share with your communities. Cheers, Mani -- @theNeomatrix369 * | **Blog ** | *LJC Associate & LJC Advocate (@adoptopenjdk & @adoptajsr programs) *Meet-a-Project - *MutabilityDetector * | **Bitbucket * * | **Github * * | **LinkedIn * *Come to Devoxx UK 2016:* http://www.devoxx.co.uk/ *Don't chase success, rather aim for "Excellence", and success will come chasing after you!* From Alan.Bateman at oracle.com Mon Sep 14 11:51:50 2015 From: Alan.Bateman at oracle.com (Alan Bateman) Date: Mon, 14 Sep 2015 12:51:50 +0100 Subject: Project Jigsaw JDK & JRE binaries + test results In-Reply-To: References: Message-ID: <55F6B4D6.6040908@oracle.com> On 14/09/2015 12:30, Mani Sarkar wrote: > Hi all, > > Project Jigsaw JDK & JRE binaries + test results are now available on the > Adopt OpenJDK Cloudbees Build farm: > > https://adopt-openjdk.ci.cloudbees.com/view/OpenJDK/job/project-jigsaw-openjdk-1.9-linux-x86_64/lastSuccessfulBuild/artifact/ > > Hi Mani, There are patches needed to jtreg to support @modules and @compile/module that aren't in code-tools/jtreg yet. Hopefully soon and that should give you much better test results. The other issue is that these test runs are running tests that are temporarily excluded by jdk/test/ProblemList.jake.txt needed and langtools/test/ProblemList.jake.txt. To skip these tests requires specifying these files to jtreg -exclude. As to why there are excluded tests, then it's partly that there is more work to do on jtreg and partly other issues (both product and test issues). Where possible, then the exclude list has the JIRA issue tracking the reason why the test is temporarily excluded. -Alan. From sadhak001 at gmail.com Mon Sep 14 12:07:44 2015 From: sadhak001 at gmail.com (Mani Sarkar) Date: Mon, 14 Sep 2015 13:07:44 +0100 Subject: Project Jigsaw JDK & JRE binaries + test results In-Reply-To: <55F6B4D6.6040908@oracle.com> References: <55F6B4D6.6040908@oracle.com> Message-ID: Hi Alan, Thanks for the update - I recollect Jon's email about jtreg needing some work. Cheers, Mani On Mon, Sep 14, 2015 at 12:51 PM, Alan Bateman wrote: > On 14/09/2015 12:30, Mani Sarkar wrote: > >> Hi all, >> >> Project Jigsaw JDK & JRE binaries + test results are now available on the >> Adopt OpenJDK Cloudbees Build farm: >> >> >> https://adopt-openjdk.ci.cloudbees.com/view/OpenJDK/job/project-jigsaw-openjdk-1.9-linux-x86_64/lastSuccessfulBuild/artifact/ >> >> >> Hi Mani, > > There are patches needed to jtreg to support @modules and @compile/module > that aren't in code-tools/jtreg yet. Hopefully soon and that should give > you much better test results. > > The other issue is that these test runs are running tests that are > temporarily excluded by jdk/test/ProblemList.jake.txt needed and > langtools/test/ProblemList.jake.txt. To skip these tests requires > specifying these files to jtreg -exclude. As to why there are excluded > tests, then it's partly that there is more work to do on jtreg and partly > other issues (both product and test issues). Where possible, then the > exclude list has the JIRA issue tracking the reason why the test is > temporarily excluded. > > -Alan. > > -- @theNeomatrix369 * | **Blog ** | *LJC Associate & LJC Advocate (@adoptopenjdk & @adoptajsr programs) *Meet-a-Project - *MutabilityDetector * | **Bitbucket * * | **Github * * | **LinkedIn * *Come to Devoxx UK 2016:* http://www.devoxx.co.uk/ *Don't chase success, rather aim for "Excellence", and success will come chasing after you!* From mandy.chung at oracle.com Mon Sep 14 15:05:52 2015 From: mandy.chung at oracle.com (Mandy Chung) Date: Mon, 14 Sep 2015 08:05:52 -0700 Subject: CFV: New jigsaw Committer: Jean-Francois Denise In-Reply-To: <55F5894C.4090009@oracle.com> References: <55F5894C.4090009@oracle.com> Message-ID: <6950849B-3A94-4AA1-8B04-FB0530F5D2A8@oracle.com> Vote: yes From rfscholte at apache.org Mon Sep 14 16:40:28 2015 From: rfscholte at apache.org (Robert Scholte) Date: Mon, 14 Sep 2015 18:40:28 +0200 Subject: JavaxToolsCompiler Message-ID: Hi, On behalf of the Apache Maven team I'd like to ask for advice for changing the JavaxToolsCompiler[1] This implementation is used when java code is being compiled with Maven *by default*, so right now when pointing JAVA_HOME to the latest JDK9 version builds will fail. There are other ways to compile, e.g. use the fork-parameter[2] or with toolchains[3], but what I'd like to know is whether it is still possible/valid to use javax.tools.JavaCompiler and is so: how should we rewrite this code? regards, Robert Scholte [1] https://github.com/codehaus-plexus/plexus-compiler/blob/master/plexus-compilers/plexus-compiler-javac/src/main/java/org/codehaus/plexus/compiler/javac/JavaxToolsCompiler.java [2] http://maven.apache.org/plugins/maven-compiler-plugin/compile-mojo.html#fork [3] http://maven.apache.org/guides/mini/guide-using-toolchains.html From Alan.Bateman at oracle.com Mon Sep 14 17:49:10 2015 From: Alan.Bateman at oracle.com (Alan Bateman) Date: Mon, 14 Sep 2015 18:49:10 +0100 Subject: Project Jigsaw: Early-Access Builds available on jdk9.java.net/jigsaw In-Reply-To: References: <55F067A9.6070606@oracle.com> <55F1E85B.3040004@oracle.com> <55F1ED8E.3000904@oracle.com> <55F28888.60403@oracle.com> Message-ID: <55F70896.6020406@oracle.com> On 14/09/2015 17:48, Rahman USTA wrote: > |jlink --modulepath %JAVA_HOME%/jmods;mlib --addmods com.greetings --output greetingsapp| > After last step, greetingsapp folder generated with all Jigsaw > modules. How can I include just base mod or other compact mods ? > I assume what you are seeing is service binding with service providers and their dependencies getting linked into the image. Can you add "--limitmods com.greetings" to the command line and see if that gets you the run-time image that you expect? If you run "greetingsapp/bin/java -listmods" then it will list the names of the modules in the generated image. -Alan From Alan.Bateman at oracle.com Mon Sep 14 18:27:39 2015 From: Alan.Bateman at oracle.com (Alan Bateman) Date: Mon, 14 Sep 2015 19:27:39 +0100 Subject: JavaxToolsCompiler In-Reply-To: References: Message-ID: <55F7119B.4030304@oracle.com> On 14/09/2015 17:40, Robert Scholte wrote: > Hi, > > On behalf of the Apache Maven team I'd like to ask for advice for > changing the JavaxToolsCompiler[1] > This implementation is used when java code is being compiled with > Maven *by default*, so right now when pointing JAVA_HOME to the latest > JDK9 version builds will fail. > There are other ways to compile, e.g. use the fork-parameter[2] or > with toolchains[3], but what I'd like to know is whether it is still > possible/valid to use javax.tools.JavaCompiler and is so: how should > we rewrite this code? Thanks for bringing this up as a few people have reported issues with Maven not finding the compiler. Just to be clear, are you seeing this issue with the regular JDK 9 EA builds or just the Jigsaw EA builds? Did this start when tools.jar went away? I just did a quick test to check that ToolProvider.getSystemJavaCompiler() is returning the system JavaCompiler is returned for both builds (and it is). Is the issue that you are seeing that getSystemJavaCompiler() is returning null? -Alan. From openjdk at duigou.org Mon Sep 14 18:56:20 2015 From: openjdk at duigou.org (Mike Duigou) Date: Mon, 14 Sep 2015 11:56:20 -0700 Subject: CFV: New jigsaw Committer: Jean-Francois Denise (Alan Bateman) In-Reply-To: References: Message-ID: <65618349397dbdca1c42b1715960d5e1@sonic.net> Vote: YES On 2015-09-14 01:22, jigsaw-dev-request at openjdk.java.net wrote: > Date: Sun, 13 Sep 2015 15:33:48 +0100 > From: Alan Bateman > To: jigsaw-dev > Subject: CFV: New jigsaw Committer: Jean-Francois Denise > Message-ID: <55F5894C.4090009 at oracle.com> > Content-Type: text/plain; charset=utf-8; format=flowed > > > I hereby nominate Jean-Francois Denise to jigsaw Committer. > > Jean-Francois is a jdk9 Committer and has been contributing to the > ongoing development of the jimage container format. He has also been > focused recently on the link phase and jlink tool cited in JEP 261 [0]. > He has more than 40 change-sets/contributions in the jigsaw/jake > forest. > > Votes are due by September 26, 2015 8:00 PDT. > > Only current jigsaw Committers [1] are eligible to vote on this > nomination. Votes must be cast in the open by replying to this mailing > list. > > For Lazy Consensus voting instructions, see [2]. > > -Alan. > > [0] http://openjdk.java.net/jeps/261 > [1] http://openjdk.java.net/census > [2] http://openjdk.java.net/projects/#committer-vote > From openjdk at duigou.org Mon Sep 14 18:58:51 2015 From: openjdk at duigou.org (Mike Duigou) Date: Mon, 14 Sep 2015 11:58:51 -0700 Subject: CFV: New Jigsaw Committer: Harold Seigel (Karen Kinnear) In-Reply-To: References: Message-ID: <42b49a1bbcdf67cfe76315469252c3fb@sonic.net> Vote: YES On 2015-09-11 12:43, jigsaw-dev-request at openjdk.java.net wrote: > From: Karen Kinnear > To: jigsaw-dev > Subject: CFV: New Jigsaw Committer: Harold Seigel > Message-ID: <7F587027-2BDB-4C37-9FD7-01AEBFB17E40 at oracle.com> > Content-Type: text/plain; charset=us-ascii > > > I hereby nominate Harold Seigel to Jigsaw Committer. > > Harold is a member of the hotspot runtime team and a Reviewer on the > jdk9 project. > Harold has been contributing to Project Jigsaw in the hotspot runtime > for over a > year, including support for the JVM_* interfaces for modules, boot > class loader > support for jigsaw and handling jvm bootstrapping issues relative to > jigsaw that are > currently prototyped in the jigsaw/jake forest. > > Votes are due by: September 25, 2105 8:00 PST. Only current Jigsaw > Committers [1] are eligible to vote on this nomination. Votes must be > cast in the open by replying to this mailing list. > > For Lazy Consensus voting instructions, see [2] > > thanks, > Karen > [1] http://openjdk.java.net/census > [2] http://openjdk.java.net/projects/#committer-vote > > Harold's changesets for jigsaw/jake: ... From mcculls at gmail.com Mon Sep 14 19:21:11 2015 From: mcculls at gmail.com (Stuart McCulloch) Date: Mon, 14 Sep 2015 20:21:11 +0100 Subject: JavaxToolsCompiler In-Reply-To: <55F7119B.4030304@oracle.com> References: <55F7119B.4030304@oracle.com> Message-ID: <02CCC4D69F7048018EDECC645152EE16@gmail.com> Yes, the issue is that ToolProvider.getSystemJavaCompiler() is returning null when using the Jigsaw EA with Maven. AFAICT this is because it?s now using the service loader mechanism which is influenced by the Thread?s context ClassLoader The following patch to make sure Maven uses the system context when looking up the compiler appears to solve the issue: https://github.com/codehaus-plexus/plexus-compiler/pull/13 -- Cheers, Stuart On Monday, 14 September 2015 at 19:27, Alan Bateman wrote: > On 14/09/2015 17:40, Robert Scholte wrote: > > Hi, > > > > On behalf of the Apache Maven team I'd like to ask for advice for > > changing the JavaxToolsCompiler[1] > > This implementation is used when java code is being compiled with > > Maven *by default*, so right now when pointing JAVA_HOME to the latest > > JDK9 version builds will fail. > > There are other ways to compile, e.g. use the fork-parameter[2] or > > with toolchains[3], but what I'd like to know is whether it is still > > possible/valid to use javax.tools.JavaCompiler and is so: how should > > we rewrite this code? > > > > > Thanks for bringing this up as a few people have reported issues with > Maven not finding the compiler. > > Just to be clear, are you seeing this issue with the regular JDK 9 EA > builds or just the Jigsaw EA builds? Did this start when tools.jar went > away? I just did a quick test to check that > ToolProvider.getSystemJavaCompiler() is returning the system > JavaCompiler is returned for both builds (and it is). Is the issue that > you are seeing that getSystemJavaCompiler() is returning null? > > -Alan. > > --------------------------------------------------------------------- > To unsubscribe, e-mail: dev-unsubscribe at maven.apache.org (mailto:dev-unsubscribe at maven.apache.org) > For additional commands, e-mail: dev-help at maven.apache.org (mailto:dev-help at maven.apache.org) > > From peter.levart at gmail.com Mon Sep 14 19:35:42 2015 From: peter.levart at gmail.com (Peter Levart) Date: Mon, 14 Sep 2015 21:35:42 +0200 Subject: javac not enforcing module boundaries? In-Reply-To: <55F6900D.7030406@oracle.com> References: <55F683B1.10106@gmail.com> <55F6900D.7030406@oracle.com> Message-ID: <55F7218E.9000701@gmail.com> On 09/14/2015 11:14 AM, Alan Bateman wrote: > On 14/09/2015 09:22, Peter Levart wrote: >> : >> >> Gives the following runtime error: >> >> Exception in thread "main" java.lang.IllegalAccessError: class >> pkgA.TestA (in module: modA) cannot access class pkgC.TypeC (in >> module: modC), modA cannot read modC >> at pkgA.TestA.main(modA@/TestA.java:8) >> >> >> Which is expected. What I didn't expect is that javac did not figure >> this out correctly. Am I missing something and not using javac in the >> right way? > > The API exported by modB has a method that returns an instance of > pkgC.TypeC so I would have expected modB to be a good citizen and > "requires public modC". Similarly, with the API exported by modC where > is returns an instance of pkgD.TypeD, I would have expected modC to > "requires public modD". I will guess that you've set it up this way to > probe more into implied readability. That's right. I checked whether the implied readability is transitive. It looks like it is, which is what I have expected. > > The javac command looks right, I see that it also doesn't fail when > the modules are compiled separately (D, C, B, A). > > -Alan. So this must be a javac bug, right? Regards, Peter From Alan.Bateman at oracle.com Mon Sep 14 19:44:14 2015 From: Alan.Bateman at oracle.com (Alan Bateman) Date: Mon, 14 Sep 2015 20:44:14 +0100 Subject: JavaxToolsCompiler In-Reply-To: <02CCC4D69F7048018EDECC645152EE16@gmail.com> References: <55F7119B.4030304@oracle.com> <02CCC4D69F7048018EDECC645152EE16@gmail.com> Message-ID: <55F7238E.3090604@oracle.com> On 14/09/2015 20:21, Stuart McCulloch wrote: > Yes, the issue is that ToolProvider.getSystemJavaCompiler() is returning null when using the Jigsaw EA with Maven. > > AFAICT this is because it?s now using the service loader mechanism which is influenced by the Thread?s context ClassLoader > > That may be a bug as I wouldn't expect the ToolProvider.getSystemXXX methods to locate the these tools via the TCCL. -Alan. From mandy.chung at oracle.com Mon Sep 14 20:43:23 2015 From: mandy.chung at oracle.com (Mandy Chung) Date: Mon, 14 Sep 2015 13:43:23 -0700 Subject: JavaxToolsCompiler In-Reply-To: <55F7238E.3090604@oracle.com> References: <55F7119B.4030304@oracle.com> <02CCC4D69F7048018EDECC645152EE16@gmail.com> <55F7238E.3090604@oracle.com> Message-ID: <55F7316B.8020301@oracle.com> On 09/14/2015 12:44 PM, Alan Bateman wrote: > > > On 14/09/2015 20:21, Stuart McCulloch wrote: >> Yes, the issue is that ToolProvider.getSystemJavaCompiler() is >> returning null when using the Jigsaw EA with Maven. >> >> AFAICT this is because it?s now using the service loader mechanism >> which is influenced by the Thread?s context ClassLoader >> >> > That may be a bug as I wouldn't expect the ToolProvider.getSystemXXX > methods to locate the these tools via the TCCL. I was talking with Jon about this. This is a bug in ToolProvider that it should call ServiceLoader.load(clazz, ClassLoader.getSystemClassLoader()); Looking at ToolProvider, the getSystemToolClassLoader method catches my attention that I think we should consider deprecating it since this assumes there is one class loader loading multiple tools. Mandy From rfscholte at apache.org Mon Sep 14 21:10:45 2015 From: rfscholte at apache.org (Robert Scholte) Date: Mon, 14 Sep 2015 23:10:45 +0200 Subject: JavaxToolsCompiler In-Reply-To: <55F7119B.4030304@oracle.com> References: <55F7119B.4030304@oracle.com> Message-ID: Op Mon, 14 Sep 2015 20:27:39 +0200 schreef Alan Bateman : > On 14/09/2015 17:40, Robert Scholte wrote: >> Hi, >> >> On behalf of the Apache Maven team I'd like to ask for advice for >> changing the JavaxToolsCompiler[1] >> This implementation is used when java code is being compiled with Maven >> *by default*, so right now when pointing JAVA_HOME to the latest JDK9 >> version builds will fail. >> There are other ways to compile, e.g. use the fork-parameter[2] or with >> toolchains[3], but what I'd like to know is whether it is still >> possible/valid to use javax.tools.JavaCompiler and is so: how should we >> rewrite this code? > > Thanks for bringing this up as a few people have reported issues with > Maven not finding the compiler. > > Just to be clear, are you seeing this issue with the regular JDK 9 EA > builds or just the Jigsaw EA builds? Regular JDK9 EA works fine, I'm only seeing it with Jigsaw EA > Did this start when tools.jar went away? I guess so. > I just did a quick test to check that > ToolProvider.getSystemJavaCompiler() is returning the system > JavaCompiler is returned for both builds (and it is). Is the issue that > you are seeing that getSystemJavaCompiler() is returning null? Stuart said yes, I think so too. > > -Alan. Robert From jonathan.gibbons at oracle.com Mon Sep 14 23:25:58 2015 From: jonathan.gibbons at oracle.com (Jonathan Gibbons) Date: Mon, 14 Sep 2015 16:25:58 -0700 Subject: Retrieving PLATFORM_CLASS_PATH from file manager In-Reply-To: <55F57955.10109@oracle.com> References: <55F57955.10109@oracle.com> Message-ID: <55F75786.1060508@oracle.com> On 09/13/2015 06:25 AM, Alan Bateman wrote: > On 12/09/2015 20:16, Jayaprakash Arthanareeswaran wrote: >> >> Hello experts, >> >> With JDK 9, some of JDT Core tests have started failing. The failing >> tests >> are in the JSR 199 area, where we test Eclipse's compiler in a mixed >> mode >> with Javac's StandardJavaFileManager. >> >> standardJavaFileManager.getLocation(StandardLocation.PLATFORM_CLASS_PATH); >> >> >> Until JDK 8, this used to return rt.jar and other jars but not >> anymore. I >> expected this to return the path to the bootmodules.jimage just like the >> system property "sun.boot.class.path". >> > The proposal is to drop sun.boot.class.path, see the "Removed: > Bootstrap class-path options" in JEP 261 [1]. It wasn't been useful > since the changes for JEP 220 went into JDK 9. There are a few > remaining pieces to be done in HotSpot before we can get there, mostly > in the Serviceability Agent and the "Compile-The-World" built-in test. > The issue is tracked by JDK-8131049 and JDK-8077209. > > To be consistent then I would think getLocation(PLATFORM_CLASS_PATH) > would return an empty Iterable and a getLocation(SYSTEM_MODULE_PATH), > or a Iterable variant, would return jrt:/. I'm sure Jon will > reply on this issue and explain JRT_MARKER_FILE (which I suspect is > what you are wondering about). > > -Alan > > [1] http://openjdk.java.net/jeps/261 There are two aspects to this. JavaFileManager does not know the details of how it is being used, and so it does not know whether it is being used in a "legacy" compilation using PLATFORM_CLASS_PATH, or in a "modular" compilation" using SYSTEM_MODULE_PATH. Therefore both the PLATFORM_CLASS_PATH and SYSTEM_MODULE_PATH locations are defined, for use as the context dictates. We are also updating StandardJavaFileManager to better support Path-based locations, as well as File-based locations. JRT_MARKER_FILE is a remnant of that transition, and that of introducing jrt-fs to JDK 8 and JDK 9. -- Jon From jonathan.gibbons at oracle.com Mon Sep 14 23:33:16 2015 From: jonathan.gibbons at oracle.com (Jonathan Gibbons) Date: Mon, 14 Sep 2015 16:33:16 -0700 Subject: jigsaw vs. jsr166 CVS In-Reply-To: References: <55F35A6F.7040807@oracle.com> <55F3AE44.9060407@oracle.com> Message-ID: <55F7593C.5040400@oracle.com> On 09/13/2015 11:54 AM, Martin Buchholz wrote: > javadoc does not seem to have any support for -Xmodule, so I don't know how > to fix the "docs" target. https://bugs.openjdk.java.net/browse/JDK-8136503 -- Jon From jonathan.gibbons at oracle.com Tue Sep 15 00:09:22 2015 From: jonathan.gibbons at oracle.com (Jonathan Gibbons) Date: Mon, 14 Sep 2015 17:09:22 -0700 Subject: javac not enforcing module boundaries? In-Reply-To: <55F683B1.10106@gmail.com> References: <55F683B1.10106@gmail.com> Message-ID: <55F761B2.3020002@oracle.com> https://bugs.openjdk.java.net/browse/JDK-8136505 -- Jon On 09/14/2015 01:22 AM, Peter Levart wrote: > Hi, > > I experimented a little with EA build and found javac behaving a > little strange. Is this known or expected behaviour? > > For example, having the following layout of sources: > > modsrc/modA/module-info.java > > module modA { > requires modB; > } > > modsrc/modA/pkgA/TestA.java > > package pkgA; > > import pkgB.TypeB; > > public class TestA { > public static void main(String[] args) { > TypeB b = new TypeB(); > b.getC().getD().helloD(); > } > } > > modsrc/modB/module-info.java > > module modB { > exports pkgB; > requires modC; > } > > modsrc/modB/pkgB/TypeB.java > > package pkgB; > > import pkgC.TypeC; > > public class TypeB { > public TypeC getC() { > return new TypeC(); > } > } > > modsrc/modC/module-info.java > > module modC { > exports pkgC; > requires modD; > } > > modsrc/modC/pkgC/TypeC.java > > package pkgC; > > import pkgD.TypeD; > > public class TypeC { > public TypeD getD() { > return new TypeD(); > } > } > > modsrc/modD/module-info.java > > module modD { > exports pkgD; > } > > modsrc/modD/pkgD/TypeD.java > > package pkgD; > > public class TypeD {java -modulepath modout -m modA/pkgA.TestA > public void helloD() { > System.out.println("Hello from " + > this.getClass().getModule()); > } > } > > > and using the following command to compile them: > > javac -modulesourcepath modsrc -d modout modsrc/modA/pkgA/TestA.java > > They compile without error and produce the following output files: > > modout/modA/module-info.class > modout/modA/pkgA/TestA.class > modout/modB/module-info.class > modout/modB/pkgB/TypeB.class > modout/modC/module-info.class > modout/modC/pkgC/TypeC.class > modout/modD/module-info.class > modout/modD/pkgD/TypeD.class > > > Running the above with the following command: > > java -modulepath modout -m modA/pkgA.TestA > > > Gives the following runtime error: > > Exception in thread "main" java.lang.IllegalAccessError: class > pkgA.TestA (in module: modA) cannot access class pkgC.TypeC (in > module: modC), modA cannot read modC > at pkgA.TestA.main(modA@/TestA.java:8) > > > Which is expected. What I didn't expect is that javac did not figure > this out correctly. Am I missing something and not using javac in the > right way? > > > Regards, Peter > From jonathan.gibbons at oracle.com Tue Sep 15 01:19:16 2015 From: jonathan.gibbons at oracle.com (jonathan.gibbons at oracle.com) Date: Tue, 15 Sep 2015 01:19:16 +0000 Subject: hg: jigsaw/jake/langtools: New hidden option to expose javac internal API to processors Message-ID: <201509150119.t8F1JGG2009953@aojmv0008.oracle.com> Changeset: 7cba4b9b9595 Author: vromero Date: 2015-09-14 18:18 -0700 URL: http://hg.openjdk.java.net/jigsaw/jake/langtools/rev/7cba4b9b9595 New hidden option to expose javac internal API to processors ! src/jdk.compiler/share/classes/com/sun/tools/javac/processing/JavacProcessingEnvironment.java ! test/ProblemList.jake.txt ! test/tools/javac/T6406771.java ! test/tools/javac/annotations/typeAnnotations/TypeProcOnly.java ! test/tools/javac/annotations/typeAnnotations/packageanno/PackageProcessor.java ! test/tools/javac/api/TestTrees.java ! test/tools/javac/api/taskListeners/CompileEvent.java ! test/tools/javac/cast/intersection/model/Model01.java ! test/tools/javac/cast/intersection/model/ModelChecker.java ! test/tools/javac/processing/environment/ProcessingEnvAnnoDiscovery.java ! test/tools/javac/processing/errors/EnsureAnnotationTypeMismatchException/Processor.java ! test/tools/javac/processing/errors/EnsureAnnotationTypeMismatchException/Source.java ! test/tools/javac/processing/errors/EnsureMirroredTypeException/Processor.java ! test/tools/javac/processing/errors/EnsureMirroredTypeException/Source.java ! test/tools/javac/processing/errors/StopOnInapplicableAnnotations/GenerateFunctionalInterface.java ! test/tools/javac/processing/errors/StopOnInapplicableAnnotations/GenerateSuperInterfaceProcessor.java ! test/tools/javac/processing/loader/testClose/TestClose.java ! test/tools/javac/processing/model/element/8009367/TestQualifiedNameUsed.java ! test/tools/javac/processing/model/element/TestEmptyContainer.java ! test/tools/javac/processing/model/element/TestMissingElement/TestMissingElement.java ! test/tools/javac/processing/model/element/TestNonInherited.java ! test/tools/javac/processing/model/inheritedByType/EnsureOrder.java ! test/tools/javac/processing/model/type/BasicAnnoTests.java ! test/tools/javac/processing/rounds/OverwriteBetweenCompilations.java ! test/tools/javac/tree/ArrayTypeToString.java ! test/tools/javac/tree/MakeTypeTest.java ! test/tools/javac/treeannotests/AnnoTreeTests.java ! test/tools/javac/treeannotests/TestProcessor.java From jonathan.gibbons at oracle.com Tue Sep 15 01:23:23 2015 From: jonathan.gibbons at oracle.com (jonathan.gibbons at oracle.com) Date: Tue, 15 Sep 2015 01:23:23 +0000 Subject: hg: jigsaw/jake/langtools: add missing file Message-ID: <201509150123.t8F1NNh3010719@aojmv0008.oracle.com> Changeset: 86ed8a85486d Author: vromero Date: 2015-09-14 18:23 -0700 URL: http://hg.openjdk.java.net/jigsaw/jake/langtools/rev/86ed8a85486d add missing file + src/jdk.compiler/share/classes/com/sun/tools/javac/util/ModuleHelper.java From sundararajan.athijegannathan at oracle.com Tue Sep 15 02:54:52 2015 From: sundararajan.athijegannathan at oracle.com (Sundararajan Athijegannathan) Date: Tue, 15 Sep 2015 08:24:52 +0530 Subject: CFV: New Jigsaw Committer: Harold Seigel (Karen Kinnear) In-Reply-To: <42b49a1bbcdf67cfe76315469252c3fb@sonic.net> References: <42b49a1bbcdf67cfe76315469252c3fb@sonic.net> Message-ID: <55F7887C.5050708@oracle.com> Vote: Yes On 9/15/2015 12:28 AM, Mike Duigou wrote: > Vote: YES > > On 2015-09-11 12:43, jigsaw-dev-request at openjdk.java.net wrote: >> From: Karen Kinnear >> To: jigsaw-dev >> Subject: CFV: New Jigsaw Committer: Harold Seigel >> Message-ID: <7F587027-2BDB-4C37-9FD7-01AEBFB17E40 at oracle.com> >> Content-Type: text/plain; charset=us-ascii >> >> >> I hereby nominate Harold Seigel to Jigsaw Committer. >> >> Harold is a member of the hotspot runtime team and a Reviewer on the >> jdk9 project. >> Harold has been contributing to Project Jigsaw in the hotspot runtime >> for over a >> year, including support for the JVM_* interfaces for modules, boot >> class loader >> support for jigsaw and handling jvm bootstrapping issues relative to >> jigsaw that are >> currently prototyped in the jigsaw/jake forest. >> >> Votes are due by: September 25, 2105 8:00 PST. Only current Jigsaw >> Committers [1] are eligible to vote on this nomination. Votes must be >> cast in the open by replying to this mailing list. >> >> For Lazy Consensus voting instructions, see [2] >> >> thanks, >> Karen >> [1] http://openjdk.java.net/census >> [2] http://openjdk.java.net/projects/#committer-vote >> >> Harold's changesets for jigsaw/jake: ... > From Alan.Bateman at oracle.com Tue Sep 15 13:09:38 2015 From: Alan.Bateman at oracle.com (Alan Bateman) Date: Tue, 15 Sep 2015 14:09:38 +0100 Subject: Project Jigsaw: Early-Access Builds available on jdk9.java.net/jigsaw In-Reply-To: References: <55F067A9.6070606@oracle.com> <55F1E85B.3040004@oracle.com> <55F1ED8E.3000904@oracle.com> <55F28888.60403@oracle.com> <55F70896.6020406@oracle.com> Message-ID: <55F81892.6090405@oracle.com> On 14/09/2015 20:11, Rahman USTA wrote: > Yes with "--limitmods com.greetings" the result as I expected. So, why > jlink links all modules without resolving over the root > "org.greetings" module? When jlink links all modules? > The -limitmods option is limiting the set of observable modules to com.greetings and its transitive dependences. Very useful for testing and also important when using the linker. There isn't a jlink JEP yet but I would expect the issue as to whether the tool does service binding by default or not be listed in its open options. In the current prototype then it always does service binding so this is why the resulting image has the service provider modules and their dependences. -Alan From alan.bateman at oracle.com Tue Sep 15 13:53:23 2015 From: alan.bateman at oracle.com (alan.bateman at oracle.com) Date: Tue, 15 Sep 2015 13:53:23 +0000 Subject: hg: jigsaw/jake/jdk: Fixed typo in javadoc Message-ID: <201509151353.t8FDrN6p013566@aojmv0008.oracle.com> Changeset: be2cc23f1da6 Author: alanb Date: 2015-09-15 14:53 +0100 URL: http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/be2cc23f1da6 Fixed typo in javadoc ! src/java.base/share/classes/java/lang/module/Configuration.java From rahman.usta.88 at gmail.com Tue Sep 15 15:04:44 2015 From: rahman.usta.88 at gmail.com (Rahman USTA) Date: Tue, 15 Sep 2015 18:04:44 +0300 Subject: How to list module descriptor of any jmod file Message-ID: Hello; I see there is a --print-module-descriptor parameter for jar command. How can I print module descriptor for a jmod file? Thanks. -- Rahman USTA Istanbul JUG https://github.com/rahmanusta From tmarble at info9.net Tue Sep 15 15:28:42 2015 From: tmarble at info9.net (Tom Marble) Date: Tue, 15 Sep 2015 10:28:42 -0500 Subject: Clojure 1.8.0-alpha5 builds on 1.9.0-ea Message-ID: <57dlhc7u2fp.fsf@ficelle.info9.net> All: I'm pleased to report that a recent build of Clojure [1] built successfully with JDK 9 [2][3]. Regards, --Tom [1] https://github.com/clojure/clojure/ [2] tmarble at ficelle 152 :) java -version java version "1.9.0-ea" Java(TM) SE Runtime Environment (build 1.9.0-ea-jigsaw-nightly-h3337-20150908-b80) Java HotSpot(TM) 64-Bit Server VM (build 1.9.0-ea-jigsaw-nightly-h3337-20150908-b80, mixed mode) tmarble at ficelle 153 :) [3] https://groups.google.com/forum/#!search/clojure/clojure/xZ2YpiKg2FU/_JzjYE_CAgAJ From jonathan.gibbons at oracle.com Tue Sep 15 21:22:18 2015 From: jonathan.gibbons at oracle.com (jonathan.gibbons at oracle.com) Date: Tue, 15 Sep 2015 21:22:18 +0000 Subject: hg: jigsaw/jake/langtools: 2 new changesets Message-ID: <201509152122.t8FLMIDH007105@aojmv0008.oracle.com> Changeset: 5404faadbbe7 Author: jjg Date: 2015-09-15 13:42 -0700 URL: http://hg.openjdk.java.net/jigsaw/jake/langtools/rev/5404faadbbe7 minor test update ! test/tools/javac/api/TestTrees.java Changeset: 948a1770620e Author: jjg Date: 2015-09-15 14:21 -0700 URL: http://hg.openjdk.java.net/jigsaw/jake/langtools/rev/948a1770620e ToolProvider should use getSystemClassLoader ! src/java.compiler/share/classes/javax/tools/ToolProvider.java From jonathan.gibbons at oracle.com Tue Sep 15 21:33:35 2015 From: jonathan.gibbons at oracle.com (Jonathan Gibbons) Date: Tue, 15 Sep 2015 14:33:35 -0700 Subject: CFV: New jigsaw Committer: Jean-Francois Denise In-Reply-To: <55F5894C.4090009@oracle.com> References: <55F5894C.4090009@oracle.com> Message-ID: <55F88EAF.8030509@oracle.com> Vote: yes On 09/13/2015 07:33 AM, Alan Bateman wrote: > > I hereby nominate Jean-Francois Denise to jigsaw Committer. > > Jean-Francois is a jdk9 Committer and has been contributing to the > ongoing development of the jimage container format. He has also been > focused recently on the link phase and jlink tool cited in JEP 261 > [0]. He has more than 40 change-sets/contributions in the jigsaw/jake > forest. > > Votes are due by September 26, 2015 8:00 PDT. > > Only current jigsaw Committers [1] are eligible to vote on this > nomination. Votes must be cast in the open by replying to this mailing > list. > > For Lazy Consensus voting instructions, see [2]. > > -Alan. > > [0] http://openjdk.java.net/jeps/261 > [1] http://openjdk.java.net/census > [2] http://openjdk.java.net/projects/#committer-vote From chris.hegarty at oracle.com Wed Sep 16 10:24:45 2015 From: chris.hegarty at oracle.com (Chris Hegarty) Date: Wed, 16 Sep 2015 11:24:45 +0100 Subject: How to list module descriptor of any jmod file In-Reply-To: References: Message-ID: <55F9436D.2040403@oracle.com> On 15/09/15 16:04, Rahman USTA wrote: > Hello; > > I see there is a --print-module-descriptor parameter for jar command. How > can I print module descriptor for a jmod file? The option does not exist on the jmod tool. That was an oversight. I'll add it. -Chris. From Alan.Bateman at oracle.com Wed Sep 16 10:27:11 2015 From: Alan.Bateman at oracle.com (Alan Bateman) Date: Wed, 16 Sep 2015 11:27:11 +0100 Subject: JavaxToolsCompiler In-Reply-To: <02CCC4D69F7048018EDECC645152EE16@gmail.com> References: <55F7119B.4030304@oracle.com> <02CCC4D69F7048018EDECC645152EE16@gmail.com> Message-ID: <55F943FF.3030704@oracle.com> On 14/09/2015 20:21, Stuart McCulloch wrote: > Yes, the issue is that ToolProvider.getSystemJavaCompiler() is returning null when using the Jigsaw EA with Maven. > > AFAICT this is because it?s now using the service loader mechanism which is influenced by the Thread?s context ClassLoader > > The following patch to make sure Maven uses the system context when looking up the compiler appears to solve the issue: > > Just to follow-up on this one, the bug in ToolProvider has been fixed in the jigsaw/jake forest. We should have an updated EA build in the next day or two that will pick up this fix. Thanks again for the mails on this, it's good to have found this one early. -Alan From rahman.usta.88 at gmail.com Wed Sep 16 10:29:11 2015 From: rahman.usta.88 at gmail.com (Rahman USTA) Date: Wed, 16 Sep 2015 13:29:11 +0300 Subject: How to list module descriptor of any jmod file In-Reply-To: <55F9436D.2040403@oracle.com> References: <55F9436D.2040403@oracle.com> Message-ID: +1 Thanks. 2015-09-16 13:24 GMT+03:00 Chris Hegarty : > On 15/09/15 16:04, Rahman USTA wrote: > >> Hello; >> >> I see there is a --print-module-descriptor parameter for jar command. How >> can I print module descriptor for a jmod file? >> > > The option does not exist on the jmod tool. That was an oversight. I'll > add it. > > -Chris. > -- Rahman USTA Istanbul JUG https://github.com/rahmanusta From magnus.ihse.bursie at oracle.com Wed Sep 16 12:28:27 2015 From: magnus.ihse.bursie at oracle.com (Magnus Ihse Bursie) Date: Wed, 16 Sep 2015 14:28:27 +0200 Subject: Review request for JDK-8135251: Use Unsafe.defineAnonymousClass for loading Nashorn script code In-Reply-To: <76202E19-2AF7-4EC8-A337-7D18C1E404A2@oracle.com> References: <76202E19-2AF7-4EC8-A337-7D18C1E404A2@oracle.com> Message-ID: <55F9606B.2060701@oracle.com> On 2015-09-11 18:00, Attila Szegedi wrote: > Please review the revised changes for JDK-8135251 "Use Unsafe.defineAnonymousClass for loading Nashorn script code? > > The revision incorporates the following changes: > - the feature can be disabled by setting the "nashorn.disableVmAnonymousClasses system property? > - jdk9 root-level modules.xml explicitly exports sun.misc to jdk.scripting.nashorn > - the changes to the CodeInstaller and Compiler API have since been separately committed, so they are no longer part of this issue, making its surface area smaller. > > Webrevs are found at: > http://cr.openjdk.java.net/~attila/8135251/webrev.jdk9 > http://cr.openjdk.java.net/~attila/8135251/webrev.jdk9-nashorn > > The fist webrev is for jdk9/modules.xml; the change simply adds an export of sun.misc to jdk.scripting.nashorn; it is also the reason why I included build-dev on this review. Actually, I think it's a better idea to direct module.xml related changes to jigsaw-dev. (Cc:ing them). /Magnus > The second webrev is the changes to the Nashorn code. > > Thanks, > Attila. > From Alan.Bateman at oracle.com Wed Sep 16 12:51:34 2015 From: Alan.Bateman at oracle.com (Alan Bateman) Date: Wed, 16 Sep 2015 13:51:34 +0100 Subject: Review request for JDK-8135251: Use Unsafe.defineAnonymousClass for loading Nashorn script code In-Reply-To: <55F9606B.2060701@oracle.com> References: <76202E19-2AF7-4EC8-A337-7D18C1E404A2@oracle.com> <55F9606B.2060701@oracle.com> Message-ID: <55F965D6.1080709@oracle.com> On 16/09/2015 13:28, Magnus Ihse Bursie wrote: > On 2015-09-11 18:00, Attila Szegedi wrote: >> Please review the revised changes for JDK-8135251 "Use >> Unsafe.defineAnonymousClass for loading Nashorn script code? >> >> >> The revision incorporates the following changes: >> - the feature can be disabled by setting the >> "nashorn.disableVmAnonymousClasses system property? >> - jdk9 root-level modules.xml explicitly exports sun.misc to >> jdk.scripting.nashorn >> - the changes to the CodeInstaller and Compiler API have since been >> separately committed, so they are no longer part of this issue, >> making its surface area smaller. >> >> Webrevs are found at: >> http://cr.openjdk.java.net/~attila/8135251/webrev.jdk9 >> >> http://cr.openjdk.java.net/~attila/8135251/webrev.jdk9-nashorn >> >> >> The fist webrev is for jdk9/modules.xml; the change simply adds an >> export of sun.misc to jdk.scripting.nashorn; it is also the reason >> why I included build-dev on this review. > > Actually, I think it's a better idea to direct module.xml related > changes to jigsaw-dev. (Cc:ing them). The changes to modules.xml looks fine. Also just to say that modules.xml has been removed in the jigsaw/jake forest as it was just a temporary document to maintain the module graph until the module system came along. -Alan. From magnus.ihse.bursie at oracle.com Wed Sep 16 13:04:03 2015 From: magnus.ihse.bursie at oracle.com (Magnus Ihse Bursie) Date: Wed, 16 Sep 2015 15:04:03 +0200 Subject: Review request for JDK-8135251: Use Unsafe.defineAnonymousClass for loading Nashorn script code In-Reply-To: <55F965D6.1080709@oracle.com> References: <76202E19-2AF7-4EC8-A337-7D18C1E404A2@oracle.com> <55F9606B.2060701@oracle.com> <55F965D6.1080709@oracle.com> Message-ID: <55F968C3.6030509@oracle.com> On 2015-09-16 14:51, Alan Bateman wrote: > > > On 16/09/2015 13:28, Magnus Ihse Bursie wrote: >> On 2015-09-11 18:00, Attila Szegedi wrote: >>> Please review the revised changes for JDK-8135251 "Use >>> Unsafe.defineAnonymousClass for loading Nashorn script code? >>> >>> >>> The revision incorporates the following changes: >>> - the feature can be disabled by setting the >>> "nashorn.disableVmAnonymousClasses system property? >>> - jdk9 root-level modules.xml explicitly exports sun.misc to >>> jdk.scripting.nashorn >>> - the changes to the CodeInstaller and Compiler API have since been >>> separately committed, so they are no longer part of this issue, >>> making its surface area smaller. >>> >>> Webrevs are found at: >>> http://cr.openjdk.java.net/~attila/8135251/webrev.jdk9 >>> >>> http://cr.openjdk.java.net/~attila/8135251/webrev.jdk9-nashorn >>> >>> >>> The fist webrev is for jdk9/modules.xml; the change simply adds an >>> export of sun.misc to jdk.scripting.nashorn; it is also the reason >>> why I included build-dev on this review. >> >> Actually, I think it's a better idea to direct module.xml related >> changes to jigsaw-dev. (Cc:ing them). > The changes to modules.xml looks fine. Also just to say that > modules.xml has been removed in the jigsaw/jake forest as it was just > a temporary document to maintain the module graph until the module > system came along. Does this mean that updates to modules.xml between now and the integration-to-come of jigsaw/jake do not anymore need specific approval? /Magnus > > -Alan. From david.lloyd at redhat.com Wed Sep 16 13:06:34 2015 From: david.lloyd at redhat.com (David M. Lloyd) Date: Wed, 16 Sep 2015 08:06:34 -0500 Subject: Review request for JDK-8135251: Use Unsafe.defineAnonymousClass for loading Nashorn script code In-Reply-To: <55F965D6.1080709@oracle.com> References: <76202E19-2AF7-4EC8-A337-7D18C1E404A2@oracle.com> <55F9606B.2060701@oracle.com> <55F965D6.1080709@oracle.com> Message-ID: <55F9695A.60205@redhat.com> On 09/16/2015 07:51 AM, Alan Bateman wrote: > > > On 16/09/2015 13:28, Magnus Ihse Bursie wrote: >> On 2015-09-11 18:00, Attila Szegedi wrote: >>> Please review the revised changes for JDK-8135251 "Use >>> Unsafe.defineAnonymousClass for loading Nashorn script code? >>> >>> >>> The revision incorporates the following changes: >>> - the feature can be disabled by setting the >>> "nashorn.disableVmAnonymousClasses system property? >>> - jdk9 root-level modules.xml explicitly exports sun.misc to >>> jdk.scripting.nashorn >>> - the changes to the CodeInstaller and Compiler API have since been >>> separately committed, so they are no longer part of this issue, >>> making its surface area smaller. >>> >>> Webrevs are found at: >>> http://cr.openjdk.java.net/~attila/8135251/webrev.jdk9 >>> >>> http://cr.openjdk.java.net/~attila/8135251/webrev.jdk9-nashorn >>> >>> >>> The fist webrev is for jdk9/modules.xml; the change simply adds an >>> export of sun.misc to jdk.scripting.nashorn; it is also the reason >>> why I included build-dev on this review. >> >> Actually, I think it's a better idea to direct module.xml related >> changes to jigsaw-dev. (Cc:ing them). > The changes to modules.xml looks fine. Also just to say that modules.xml > has been removed in the jigsaw/jake forest as it was just a temporary > document to maintain the module graph until the module system came along. Also I could be wrong but it looks to me like the jigsaw/jake forest's equivalent module graph has evolved somewhat, and thus doesn't quite match this file anyway. -- - DML From Alan.Bateman at oracle.com Wed Sep 16 13:12:21 2015 From: Alan.Bateman at oracle.com (Alan Bateman) Date: Wed, 16 Sep 2015 14:12:21 +0100 Subject: Review request for JDK-8135251: Use Unsafe.defineAnonymousClass for loading Nashorn script code In-Reply-To: <55F968C3.6030509@oracle.com> References: <76202E19-2AF7-4EC8-A337-7D18C1E404A2@oracle.com> <55F9606B.2060701@oracle.com> <55F965D6.1080709@oracle.com> <55F968C3.6030509@oracle.com> Message-ID: <55F96AB5.7000702@oracle.com> On 16/09/2015 14:04, Magnus Ihse Bursie wrote: > > Does this mean that updates to modules.xml between now and the > integration-to-come of jigsaw/jake do not anymore need specific approval? I think we should keep the status quo and CC jigsaw-dev when there are changes to modules.xml. If nothing else, it creates aware of the changes because they require adjustment when jigsaw/jake is sync'ed up from jdk9/jdk9. These sync ups are non-trivial at times. Aside from merging almost every repo, then often require looking at the changes to modules.xml in the promoted build to ensure that the equivalent changes are make to the module declarations. -Alan From Alan.Bateman at oracle.com Wed Sep 16 13:23:58 2015 From: Alan.Bateman at oracle.com (Alan Bateman) Date: Wed, 16 Sep 2015 14:23:58 +0100 Subject: Review request for JDK-8135251: Use Unsafe.defineAnonymousClass for loading Nashorn script code In-Reply-To: <55F9695A.60205@redhat.com> References: <76202E19-2AF7-4EC8-A337-7D18C1E404A2@oracle.com> <55F9606B.2060701@oracle.com> <55F965D6.1080709@oracle.com> <55F9695A.60205@redhat.com> Message-ID: <55F96D6E.5040506@oracle.com> On 16/09/2015 14:06, David M. Lloyd wrote: > > Also I could be wrong but it looks to me like the jigsaw/jake forest's > equivalent module graph has evolved somewhat, and thus doesn't quite > match this file anyway. jigsaw/jake is currently at jdk9-b81. There may be changes backed up in jdk9/dev that aren't in jake yet, we'll get those once those changes get to master and there is a sync up. As I mentioned in the reply to Magnus then these sync ups often require changes to the module declarations. Other than the pipeline there is one new module in jigsaw/jake (jdk.jlink), a few additional exports, and a few adjustments to qualified exports to take account of the wide changes in the jake forest. The nice thing about working in jake is that it will catch a lot more at compile time compared to working in jdk9/dev. -Alan. From sundararajan.athijegannathan at oracle.com Wed Sep 16 14:28:01 2015 From: sundararajan.athijegannathan at oracle.com (Sundararajan Athijegannathan) Date: Wed, 16 Sep 2015 19:58:01 +0530 Subject: Review request for JDK-8135251: Use Unsafe.defineAnonymousClass for loading Nashorn script code In-Reply-To: References: <76202E19-2AF7-4EC8-A337-7D18C1E404A2@oracle.com> <55F9606B.2060701@oracle.com> <55F965D6.1080709@oracle.com> Message-ID: <55F97C71.8060806@oracle.com> +1 Nashorn changes and modules.xml changes look good to me. -Sundar On 9/16/2015 7:35 PM, Attila Szegedi wrote: >> On Sep 16, 2015, at 2:51 PM, Alan Bateman wrote: >> >> >> >> On 16/09/2015 13:28, Magnus Ihse Bursie wrote: >>> On 2015-09-11 18:00, Attila Szegedi wrote: >>>> Please review the revised changes for JDK-8135251 "Use Unsafe.defineAnonymousClass for loading Nashorn script code? >>>> >>>> The revision incorporates the following changes: >>>> - the feature can be disabled by setting the "nashorn.disableVmAnonymousClasses system property? >>>> - jdk9 root-level modules.xml explicitly exports sun.misc to jdk.scripting.nashorn >>>> - the changes to the CodeInstaller and Compiler API have since been separately committed, so they are no longer part of this issue, making its surface area smaller. >>>> >>>> Webrevs are found at: >>>> http://cr.openjdk.java.net/~attila/8135251/webrev.jdk9 >>>> http://cr.openjdk.java.net/~attila/8135251/webrev.jdk9-nashorn >>>> >>>> The fist webrev is for jdk9/modules.xml; the change simply adds an export of sun.misc to jdk.scripting.nashorn; it is also the reason why I included build-dev on this review. >>> Actually, I think it's a better idea to direct module.xml related changes to jigsaw-dev. (Cc:ing them). >> The changes to modules.xml looks fine. Also just to say that modules.xml has been removed in the jigsaw/jake forest as it was just a temporary document to maintain the module graph until the module system came along. > Alan, can I cite you in "Reviewed-by? line as a reviewer for the modules.xml change? > > Thanks, > Attila. From attila.szegedi at oracle.com Wed Sep 16 14:05:57 2015 From: attila.szegedi at oracle.com (Attila Szegedi) Date: Wed, 16 Sep 2015 16:05:57 +0200 Subject: Review request for JDK-8135251: Use Unsafe.defineAnonymousClass for loading Nashorn script code In-Reply-To: <55F965D6.1080709@oracle.com> References: <76202E19-2AF7-4EC8-A337-7D18C1E404A2@oracle.com> <55F9606B.2060701@oracle.com> <55F965D6.1080709@oracle.com> Message-ID: > On Sep 16, 2015, at 2:51 PM, Alan Bateman wrote: > > > > On 16/09/2015 13:28, Magnus Ihse Bursie wrote: >> On 2015-09-11 18:00, Attila Szegedi wrote: >>> Please review the revised changes for JDK-8135251 "Use Unsafe.defineAnonymousClass for loading Nashorn script code? >>> >>> The revision incorporates the following changes: >>> - the feature can be disabled by setting the "nashorn.disableVmAnonymousClasses system property? >>> - jdk9 root-level modules.xml explicitly exports sun.misc to jdk.scripting.nashorn >>> - the changes to the CodeInstaller and Compiler API have since been separately committed, so they are no longer part of this issue, making its surface area smaller. >>> >>> Webrevs are found at: >>> http://cr.openjdk.java.net/~attila/8135251/webrev.jdk9 >>> http://cr.openjdk.java.net/~attila/8135251/webrev.jdk9-nashorn >>> >>> The fist webrev is for jdk9/modules.xml; the change simply adds an export of sun.misc to jdk.scripting.nashorn; it is also the reason why I included build-dev on this review. >> >> Actually, I think it's a better idea to direct module.xml related changes to jigsaw-dev. (Cc:ing them). > The changes to modules.xml looks fine. Also just to say that modules.xml has been removed in the jigsaw/jake forest as it was just a temporary document to maintain the module graph until the module system came along. Alan, can I cite you in "Reviewed-by? line as a reviewer for the modules.xml change? Thanks, Attila. From ali.ebrahimi1781 at gmail.com Wed Sep 16 15:55:54 2015 From: ali.ebrahimi1781 at gmail.com (Ali Ebrahimi) Date: Wed, 16 Sep 2015 20:25:54 +0430 Subject: jlink tool doesn't create windows os compatible launcher in resulting runtime image Message-ID: Hi, The following patch tries to fix this: diff --git a/src/jdk.jlink/share/classes/jdk/tools/jlink/plugins/DefaultImageBuilder.java b/src/jdk.jlink/share/classes/jdk/tools/jlink/plugins/DefaultImageBuilder.java --- a/src/jdk.jlink/share/classes/jdk/tools/jlink/plugins/DefaultImageBuilder.java +++ b/src/jdk.jlink/share/classes/jdk/tools/jlink/plugins/DefaultImageBuilder.java @@ -172,17 +172,24 @@ ByteArrayInputStream stream = new ByteArrayInputStream(res.getByteArray()); mainClass = ModuleDescriptor.read(stream).mainClass(); if (mainClass.isPresent()) { - Path cmd = root.resolve("bin").resolve(module); + Path cmd = root.resolve("bin").resolve(isWindows()? module+".bat": module); if (!Files.exists(cmd)) { StringBuilder sb = new StringBuilder(); - sb.append("#!/bin/sh") + if(!isWindows()) + sb.append("#!/bin/sh") + .append("\n"); + sb.append("DIR=`dirname $0`") .append("\n"); - sb.append("DIR=`dirname $0`") - .append("\n"); - sb.append("$DIR/java -m ") + sb.append("$DIR/java -m ") .append(module).append('/') .append(mainClass.get()) .append(" $@\n"); + } else { + sb.append("%~dp0java -m ") + .append(module).append('/') + .append(mainClass.get()) + .append(" $*\n"); + } Best Regards, Ali Ebrahimi From mandy.chung at oracle.com Wed Sep 16 16:00:56 2015 From: mandy.chung at oracle.com (mandy.chung at oracle.com) Date: Wed, 16 Sep 2015 16:00:56 +0000 Subject: hg: jigsaw/jake/hotspot: 8134288: compiler/runtime/6859338/Test6859338.java crashes in PhaseIdealLoop::try_move_store_after_loop Message-ID: <201509161600.t8GG0uwn005533@aojmv0008.oracle.com> Changeset: f40ee07d9099 Author: roland Date: 2015-08-26 12:43 +0200 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/f40ee07d9099 8134288: compiler/runtime/6859338/Test6859338.java crashes in PhaseIdealLoop::try_move_store_after_loop Summary: Store nodes may not have a control if used to update profiling Reviewed-by: kvn ! src/share/vm/opto/loopopts.cpp + test/compiler/TestMoveStoresOutOfLoopsStoreNoCtrl.java From jean-francois.denise at oracle.com Wed Sep 16 16:16:58 2015 From: jean-francois.denise at oracle.com (Jean-Francois Denise) Date: Wed, 16 Sep 2015 18:16:58 +0200 Subject: jlink tool doesn't create windows os compatible launcher in resulting runtime image In-Reply-To: References: Message-ID: Hi Ali, I logged: https://bugs.openjdk.java.net/browse/JDK-8136645 Thanks for reporting. JF On 16 Sep 2015, at 17:55, Ali Ebrahimi wrote: > Hi, > > The following patch tries to fix this: > > diff --git > a/src/jdk.jlink/share/classes/jdk/tools/jlink/plugins/DefaultImageBuilder.java > b/src/jdk.jlink/share/classes/jdk/tools/jlink/plugins/DefaultImageBuilder.java > --- > a/src/jdk.jlink/share/classes/jdk/tools/jlink/plugins/DefaultImageBuilder.java > +++ > b/src/jdk.jlink/share/classes/jdk/tools/jlink/plugins/DefaultImageBuilder.java > @@ -172,17 +172,24 @@ > ByteArrayInputStream stream = new > ByteArrayInputStream(res.getByteArray()); > mainClass = ModuleDescriptor.read(stream).mainClass(); > if (mainClass.isPresent()) { > - Path cmd = root.resolve("bin").resolve(module); > + Path cmd = root.resolve("bin").resolve(isWindows()? > module+".bat": module); > if (!Files.exists(cmd)) { > StringBuilder sb = new StringBuilder(); > - sb.append("#!/bin/sh") > + if(!isWindows()) > + sb.append("#!/bin/sh") > + .append("\n"); > + sb.append("DIR=`dirname $0`") > .append("\n"); > - sb.append("DIR=`dirname $0`") > - .append("\n"); > - sb.append("$DIR/java -m ") > + sb.append("$DIR/java -m ") > .append(module).append('/') > .append(mainClass.get()) > .append(" $@\n"); > + } else { > + sb.append("%~dp0java -m ") > + .append(module).append('/') > + .append(mainClass.get()) > + .append(" $*\n"); > + } > > > Best Regards, > Ali Ebrahimi From mark.reinhold at oracle.com Wed Sep 16 16:16:48 2015 From: mark.reinhold at oracle.com (mark.reinhold at oracle.com) Date: Wed, 16 Sep 2015 09:16:48 -0700 Subject: CFV: New Jigsaw Committer: Harold Seigel In-Reply-To: <7F587027-2BDB-4C37-9FD7-01AEBFB17E40@oracle.com> References: <7F587027-2BDB-4C37-9FD7-01AEBFB17E40@oracle.com> Message-ID: <20150916091648.256190@eggemoggin.niobe.net> Vote: yes - Mark From mark.reinhold at oracle.com Wed Sep 16 16:17:00 2015 From: mark.reinhold at oracle.com (mark.reinhold at oracle.com) Date: Wed, 16 Sep 2015 09:17:00 -0700 Subject: CFV: New jigsaw Committer: Jean-Francois Denise In-Reply-To: <55F5894C.4090009@oracle.com> References: <55F5894C.4090009@oracle.com> Message-ID: <20150916091700.275330@eggemoggin.niobe.net> Vote: yes - Mark From dalibor.topic at oracle.com Wed Sep 16 16:33:07 2015 From: dalibor.topic at oracle.com (dalibor topic) Date: Wed, 16 Sep 2015 18:33:07 +0200 Subject: CFV: New jigsaw Committer: Jean-Francois Denise In-Reply-To: <55F5894C.4090009@oracle.com> References: <55F5894C.4090009@oracle.com> Message-ID: <55F999C3.9000309@oracle.com> Vote: Yes. -- Dalibor Topic | Principal Product Manager Phone: +494089091214 | Mobile: +491737185961 ORACLE Deutschland B.V. & Co. KG | K?hneh?fe 5 | 22761 Hamburg ORACLE Deutschland B.V. & Co. KG Hauptverwaltung: Riesstr. 25, D-80992 M?nchen Registergericht: Amtsgericht M?nchen, HRA 95603 Komplement?rin: ORACLE Deutschland Verwaltung B.V. Hertogswetering 163/167, 3543 AS Utrecht, Niederlande Handelsregister der Handelskammer Midden-Niederlande, Nr. 30143697 Gesch?ftsf?hrer: Alexander van der Ven, Astrid Kepper, Val Maher Oracle is committed to developing practices and products that help protect the environment From dalibor.topic at oracle.com Wed Sep 16 16:33:55 2015 From: dalibor.topic at oracle.com (dalibor topic) Date: Wed, 16 Sep 2015 18:33:55 +0200 Subject: CFV: New Jigsaw Committer: Harold Seigel In-Reply-To: <7F587027-2BDB-4C37-9FD7-01AEBFB17E40@oracle.com> References: <7F587027-2BDB-4C37-9FD7-01AEBFB17E40@oracle.com> Message-ID: <55F999F3.80902@oracle.com> Vote: Yes. -- Dalibor Topic | Principal Product Manager Phone: +494089091214 | Mobile: +491737185961 ORACLE Deutschland B.V. & Co. KG | K?hneh?fe 5 | 22761 Hamburg ORACLE Deutschland B.V. & Co. KG Hauptverwaltung: Riesstr. 25, D-80992 M?nchen Registergericht: Amtsgericht M?nchen, HRA 95603 Komplement?rin: ORACLE Deutschland Verwaltung B.V. Hertogswetering 163/167, 3543 AS Utrecht, Niederlande Handelsregister der Handelskammer Midden-Niederlande, Nr. 30143697 Gesch?ftsf?hrer: Alexander van der Ven, Astrid Kepper, Val Maher Oracle is committed to developing practices and products that help protect the environment From james.laskey at oracle.com Wed Sep 16 16:46:22 2015 From: james.laskey at oracle.com (Jim Laskey (Oracle)) Date: Wed, 16 Sep 2015 13:46:22 -0300 Subject: jlink tool doesn't create windows os compatible launcher in resulting runtime image In-Reply-To: References: Message-ID: <22D825DF-5514-4271-BB7D-7359BF619F6E@oracle.com> Note that before we can accept external changes you must complete an OCA http://www.oracle.com/technetwork/community/oca-486395.html . Thank you, ? Jim > On Sep 16, 2015, at 12:55 PM, Ali Ebrahimi wrote: > > Hi, > > The following patch tries to fix this: > > diff --git > a/src/jdk.jlink/share/classes/jdk/tools/jlink/plugins/DefaultImageBuilder.java > b/src/jdk.jlink/share/classes/jdk/tools/jlink/plugins/DefaultImageBuilder.java > --- > a/src/jdk.jlink/share/classes/jdk/tools/jlink/plugins/DefaultImageBuilder.java > +++ > b/src/jdk.jlink/share/classes/jdk/tools/jlink/plugins/DefaultImageBuilder.java > @@ -172,17 +172,24 @@ > ByteArrayInputStream stream = new > ByteArrayInputStream(res.getByteArray()); > mainClass = ModuleDescriptor.read(stream).mainClass(); > if (mainClass.isPresent()) { > - Path cmd = root.resolve("bin").resolve(module); > + Path cmd = root.resolve("bin").resolve(isWindows()? > module+".bat": module); > if (!Files.exists(cmd)) { > StringBuilder sb = new StringBuilder(); > - sb.append("#!/bin/sh") > + if(!isWindows()) > + sb.append("#!/bin/sh") > + .append("\n"); > + sb.append("DIR=`dirname $0`") > .append("\n"); > - sb.append("DIR=`dirname $0`") > - .append("\n"); > - sb.append("$DIR/java -m ") > + sb.append("$DIR/java -m ") > .append(module).append('/') > .append(mainClass.get()) > .append(" $@\n"); > + } else { > + sb.append("%~dp0java -m ") > + .append(module).append('/') > + .append(mainClass.get()) > + .append(" $*\n"); > + } > > > Best Regards, > Ali Ebrahimi From mandy.chung at oracle.com Wed Sep 16 16:52:09 2015 From: mandy.chung at oracle.com (mandy.chung at oracle.com) Date: Wed, 16 Sep 2015 16:52:09 +0000 Subject: hg: jigsaw/jake/jdk: Fix typos in Proxy.getProxyClass javadoc Message-ID: <201509161652.t8GGq9Cn020862@aojmv0008.oracle.com> Changeset: acfccb988108 Author: mchung Date: 2015-09-16 09:51 -0700 URL: http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/acfccb988108 Fix typos in Proxy.getProxyClass javadoc ! src/java.base/share/classes/java/lang/reflect/Proxy.java From jonathan.gibbons at oracle.com Wed Sep 16 17:37:06 2015 From: jonathan.gibbons at oracle.com (Jonathan Gibbons) Date: Wed, 16 Sep 2015 10:37:06 -0700 Subject: CFV: New Jigsaw Committer: Harold Seigel In-Reply-To: <7F587027-2BDB-4C37-9FD7-01AEBFB17E40@oracle.com> References: <7F587027-2BDB-4C37-9FD7-01AEBFB17E40@oracle.com> Message-ID: <55F9A8C2.5050708@oracle.com> Vote: yes On 09/11/2015 09:31 AM, Karen Kinnear wrote: > I hereby nominate Harold Seigel to Jigsaw Committer. > > Harold is a member of the hotspot runtime team and a Reviewer on the jdk9 project. > Harold has been contributing to Project Jigsaw in the hotspot runtime for over a > year, including support for the JVM_* interfaces for modules, boot class loader > support for jigsaw and handling jvm bootstrapping issues relative to jigsaw that are > currently prototyped in the jigsaw/jake forest. > > Votes are due by: September 25, 2105 8:00 PST. Only current Jigsaw > Committers [1] are eligible to vote on this nomination. Votes must be > cast in the open by replying to this mailing list. > > For Lazy Consensus voting instructions, see [2] > > thanks, > Karen > [1] http://openjdk.java.net/census > [2] http://openjdk.java.net/projects/#committer-vote > > Harold's changesets for jigsaw/jake: > > http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/065aac05e267 > http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/0f0743393dcb > http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/2779b74ac808 > http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/4399b514d1f6 > http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/4443dde8d089 > http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/46f34d9a3520 > http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/4c251362419a > http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/52aa2e30e139 > http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/5936cfa7957f > http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/5b987349098f > http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/5d446c5f5d87 > http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/5fde03772024 > http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/6742fb545950 > http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/68fec4452b48 > http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/6be1b3b68758 > http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/7227b4dbf763 > http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/83b7f458698f > http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/9889c393adfb > http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/990036fcd63d > http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/9959993748a1 > http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/9be9f81cb8e8 > http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/9ddaf93af7e6 > http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/a38181c2fc6d > http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/a3f86617d287 > http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/a68fdd75403a > http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/b9882cb01d60 > http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/ccd5acdfc183 > http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/dba44c406ceb > http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/e49914e2c4ca > http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/ef26f9d82c61 > http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/fb43f332125d > > http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/06c7768ed452 > http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/0a4072287a82 > http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/200d3d2c3f9e > http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/4feb32b92512 > http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/585b5b96a990 > http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/8ed709fbba55 > http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/8fe7c0be60a2 > From KAREN.KINNEAR at oracle.com Wed Sep 16 18:42:39 2015 From: KAREN.KINNEAR at oracle.com (Karen Kinnear) Date: Wed, 16 Sep 2015 14:42:39 -0400 Subject: CFV: New Committer: Christian Tornqvist Message-ID: I hereby nominate Christian Tornqvist to Jigsaw Committer. Christian is the hotspot runtime SQE lead and a Reviewer on the jdk9 project. Christian has contributed new tests and made extensive changes to the hotspot tests for jigsaw in the jigsaw/m3 forest, including adding the ability to test JVM_* APIs via white box testing, testing for memory leaks due to class unloading, and modifications to tests to deal with jigsaw command line options. Votes are due by: September 30, 2015, 7:00 PST. Only current Jigsaw Committers [1] are eligible to vote on this nomination. Votes must be cast in the open by replying to this mailing list. For Lazy Consensus voting instructions, see [2]. thanks, Karen [1] http://openjdk.java.net/census [2] http://openjdk.java.net/projects/#committer-vote Christian's jigsaw changesets: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/928e89280286 http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/a6486dd6f141 http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/2e29f5e8333b http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/18c4d48f7fdf http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/0a3a73c4976b http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/97666a3ee1b7 http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/b6c27227f14d http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/0be80247e442 http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/bbc6dfd8f329 http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/651cd13f8cc2 http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/0b8ad3584a1c http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/aaab3e55ae2f http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/e91779d9e691 http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/35f7a63f6260 http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/0b1b80bd13c5 http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/5c450268abbd http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/dbe3a0baee50 http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/cc031dd0e784 From KAREN.KINNEAR at oracle.com Wed Sep 16 18:43:33 2015 From: KAREN.KINNEAR at oracle.com (Karen Kinnear) Date: Wed, 16 Sep 2015 14:43:33 -0400 Subject: CFV: New Jigsaw Committer: Lois Foltan Message-ID: <95CF99E3-F779-4D88-8FAB-55EB9CB5CCA4@oracle.com> I hereby nominate Lois Foltan to Jigsaw Committer. Lois is a member of the hotspot runtime team and a committer on the jdk9 project. Lois has been contributing to Project Jigsaw for more than a year, including jvm support for module and package metadata, boot class loader support for observability boundary checking and jvm support for access control checks based on the new jigsaw access control rules relative to module readability and exports. These are currently prototyped in the jigsaw/m3 forest. Votes are due by: September 30, 2015, 7:00 PST. Only current Jigsaw Committers [1] are eligible to vote on this nomination. Votes must be cast in the open by replying to this mailing list. For Lazy Consensus voting instructions, see [2]. [1] http://openjdk.java.net/census [2] http://openjdk.java.net/projects/#committer-vote jigsaw changesets: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/ec64631485ee http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/361b6493fd8c http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/483a16ff1561 http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/a96cc469159a http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/b77ade9699f3 http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/4bf2c76660e6 http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/6304c4530d95 http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/6821aa4f2b30 http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/40b26486a13a http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/c642727aa248 http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/c5533b42e897 http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/f0885ae77815 http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/423249ef49ba And the one that Alan committed, but is contributed by Harold and myself that contains the initial implementation of the VM support for modules. http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/6e3af5b0d4c8 From james.laskey at oracle.com Wed Sep 16 18:50:05 2015 From: james.laskey at oracle.com (Jim Laskey (Oracle)) Date: Wed, 16 Sep 2015 15:50:05 -0300 Subject: CFV: New Committer: Christian Tornqvist In-Reply-To: References: Message-ID: <635121AE-0A60-4384-A1B7-9ACBBC153829@oracle.com> Vote: Yes ? Jim > On Sep 16, 2015, at 3:42 PM, Karen Kinnear wrote: > > I hereby nominate Christian Tornqvist to Jigsaw Committer. > > Christian is the hotspot runtime SQE lead and a Reviewer on the jdk9 project. > Christian has contributed new tests and made extensive changes to the hotspot tests for jigsaw in the > jigsaw/m3 forest, including adding the ability to test JVM_* APIs via white box testing, testing > for memory leaks due to class unloading, and modifications to tests to deal with jigsaw command > line options. > > Votes are due by: September 30, 2015, 7:00 PST. Only current Jigsaw > Committers [1] are eligible to vote on this nomination. Votes must be cast > in the open by replying to this mailing list. > > For Lazy Consensus voting instructions, see [2]. > > thanks, > Karen > > [1] http://openjdk.java.net/census > [2] http://openjdk.java.net/projects/#committer-vote > > Christian's jigsaw changesets: > > http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/928e89280286 > http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/a6486dd6f141 > http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/2e29f5e8333b > http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/18c4d48f7fdf > http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/0a3a73c4976b > http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/97666a3ee1b7 > http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/b6c27227f14d > http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/0be80247e442 > http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/bbc6dfd8f329 > http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/651cd13f8cc2 > http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/0b8ad3584a1c > http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/aaab3e55ae2f > http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/e91779d9e691 > http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/35f7a63f6260 > http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/0b1b80bd13c5 > http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/5c450268abbd > http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/dbe3a0baee50 > http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/cc031dd0e784 From james.laskey at oracle.com Wed Sep 16 18:50:12 2015 From: james.laskey at oracle.com (Jim Laskey (Oracle)) Date: Wed, 16 Sep 2015 15:50:12 -0300 Subject: CFV: New Jigsaw Committer: Lois Foltan In-Reply-To: <95CF99E3-F779-4D88-8FAB-55EB9CB5CCA4@oracle.com> References: <95CF99E3-F779-4D88-8FAB-55EB9CB5CCA4@oracle.com> Message-ID: <121BF4E8-7BD7-4612-AA25-B98E3DCE4625@oracle.com> Vote: Yes ? Jim > On Sep 16, 2015, at 3:43 PM, Karen Kinnear wrote: > > > I hereby nominate Lois Foltan to Jigsaw Committer. > > Lois is a member of the hotspot runtime team and a committer on the jdk9 project. > Lois has been contributing to Project Jigsaw for more than a year, including jvm support > for module and package metadata, boot class loader support for observability boundary > checking and jvm support for access control checks based on the new jigsaw access > control rules relative to module readability and exports. These are currently prototyped in the > jigsaw/m3 forest. > > Votes are due by: September 30, 2015, 7:00 PST. Only current Jigsaw Committers [1] > are eligible to vote on this nomination. Votes must be cast in the open by replying to > this mailing list. > > For Lazy Consensus voting instructions, see [2]. > > [1] http://openjdk.java.net/census > [2] http://openjdk.java.net/projects/#committer-vote > > jigsaw changesets: > > http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/ec64631485ee > http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/361b6493fd8c > http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/483a16ff1561 > http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/a96cc469159a > http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/b77ade9699f3 > http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/4bf2c76660e6 > http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/6304c4530d95 > http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/6821aa4f2b30 > http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/40b26486a13a > http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/c642727aa248 > http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/c5533b42e897 > http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/f0885ae77815 > http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/423249ef49ba > > And the one that Alan committed, but is contributed by Harold and myself that contains the initial implementation of the VM support for modules. > http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/6e3af5b0d4c8 > > From jonathan.gibbons at oracle.com Wed Sep 16 19:05:11 2015 From: jonathan.gibbons at oracle.com (Jonathan Gibbons) Date: Wed, 16 Sep 2015 12:05:11 -0700 Subject: CFV: New Committer: Christian Tornqvist In-Reply-To: References: Message-ID: <55F9BD67.3080905@oracle.com> Vote: yes On 09/16/2015 11:42 AM, Karen Kinnear wrote: > I hereby nominate Christian Tornqvist to Jigsaw Committer. > > Christian is the hotspot runtime SQE lead and a Reviewer on the jdk9 project. > Christian has contributed new tests and made extensive changes to the hotspot tests for jigsaw in the > jigsaw/m3 forest, including adding the ability to test JVM_* APIs via white box testing, testing > for memory leaks due to class unloading, and modifications to tests to deal with jigsaw command > line options. > > Votes are due by: September 30, 2015, 7:00 PST. Only current Jigsaw > Committers [1] are eligible to vote on this nomination. Votes must be cast > in the open by replying to this mailing list. > > For Lazy Consensus voting instructions, see [2]. > > thanks, > Karen > > [1] http://openjdk.java.net/census > [2] http://openjdk.java.net/projects/#committer-vote > > Christian's jigsaw changesets: > > http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/928e89280286 > http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/a6486dd6f141 > http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/2e29f5e8333b > http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/18c4d48f7fdf > http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/0a3a73c4976b > http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/97666a3ee1b7 > http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/b6c27227f14d > http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/0be80247e442 > http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/bbc6dfd8f329 > http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/651cd13f8cc2 > http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/0b8ad3584a1c > http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/aaab3e55ae2f > http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/e91779d9e691 > http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/35f7a63f6260 > http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/0b1b80bd13c5 > http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/5c450268abbd > http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/dbe3a0baee50 > http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/cc031dd0e784 From jonathan.gibbons at oracle.com Wed Sep 16 19:05:33 2015 From: jonathan.gibbons at oracle.com (Jonathan Gibbons) Date: Wed, 16 Sep 2015 12:05:33 -0700 Subject: CFV: New Jigsaw Committer: Lois Foltan In-Reply-To: <95CF99E3-F779-4D88-8FAB-55EB9CB5CCA4@oracle.com> References: <95CF99E3-F779-4D88-8FAB-55EB9CB5CCA4@oracle.com> Message-ID: <55F9BD7D.9090207@oracle.com> Vote: yes On 09/16/2015 11:43 AM, Karen Kinnear wrote: > I hereby nominate Lois Foltan to Jigsaw Committer. > > Lois is a member of the hotspot runtime team and a committer on the jdk9 project. > Lois has been contributing to Project Jigsaw for more than a year, including jvm support > for module and package metadata, boot class loader support for observability boundary > checking and jvm support for access control checks based on the new jigsaw access > control rules relative to module readability and exports. These are currently prototyped in the > jigsaw/m3 forest. > > Votes are due by: September 30, 2015, 7:00 PST. Only current Jigsaw Committers [1] > are eligible to vote on this nomination. Votes must be cast in the open by replying to > this mailing list. > > For Lazy Consensus voting instructions, see [2]. > > [1] http://openjdk.java.net/census > [2] http://openjdk.java.net/projects/#committer-vote > > jigsaw changesets: > > http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/ec64631485ee > http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/361b6493fd8c > http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/483a16ff1561 > http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/a96cc469159a > http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/b77ade9699f3 > http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/4bf2c76660e6 > http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/6304c4530d95 > http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/6821aa4f2b30 > http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/40b26486a13a > http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/c642727aa248 > http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/c5533b42e897 > http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/f0885ae77815 > http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/423249ef49ba > > And the one that Alan committed, but is contributed by Harold and myself that contains the initial implementation of the VM support for modules. > http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/6e3af5b0d4c8 > > From mandy.chung at oracle.com Wed Sep 16 19:19:53 2015 From: mandy.chung at oracle.com (Mandy Chung) Date: Wed, 16 Sep 2015 12:19:53 -0700 Subject: CFV: New Jigsaw Committer: Lois Foltan In-Reply-To: <95CF99E3-F779-4D88-8FAB-55EB9CB5CCA4@oracle.com> References: <95CF99E3-F779-4D88-8FAB-55EB9CB5CCA4@oracle.com> Message-ID: <8890C317-9CDF-4C04-BC9A-59B44AA5CEF1@oracle.com> Vote: yes From Alan.Bateman at oracle.com Wed Sep 16 19:40:43 2015 From: Alan.Bateman at oracle.com (Alan Bateman) Date: Wed, 16 Sep 2015 20:40:43 +0100 Subject: CFV: New Committer: Christian Tornqvist In-Reply-To: References: Message-ID: <55F9C5BB.3060305@oracle.com> On 16/09/2015 19:42, Karen Kinnear wrote: > > Christian has contributed new tests and made extensive changes to the hotspot tests for jigsaw in the > jigsaw/m3 forest Vote: yes (Just a minor comment on the forest name, it's jigsaw/jake rather than jigsaw/m3. I expect we will eventually need to create a jigsaw/m3 but we aren't there yet). -Alan. From Alan.Bateman at oracle.com Wed Sep 16 19:41:35 2015 From: Alan.Bateman at oracle.com (Alan Bateman) Date: Wed, 16 Sep 2015 20:41:35 +0100 Subject: CFV: New Jigsaw Committer: Lois Foltan In-Reply-To: <95CF99E3-F779-4D88-8FAB-55EB9CB5CCA4@oracle.com> References: <95CF99E3-F779-4D88-8FAB-55EB9CB5CCA4@oracle.com> Message-ID: <55F9C5EF.5000803@oracle.com> Vote: yes From mandy.chung at oracle.com Wed Sep 16 19:43:41 2015 From: mandy.chung at oracle.com (Mandy Chung) Date: Wed, 16 Sep 2015 12:43:41 -0700 Subject: CFV: New Committer: Christian Tornqvist In-Reply-To: References: Message-ID: <6D18AAAA-49A0-49E4-9265-F34B2A7F8C8F@oracle.com> Vote: yes From karen.kinnear at oracle.com Wed Sep 16 20:17:51 2015 From: karen.kinnear at oracle.com (Karen Kinnear) Date: Wed, 16 Sep 2015 16:17:51 -0400 Subject: CFV: New jigsaw Committer: Jean-Francois Denise In-Reply-To: <55F5894C.4090009@oracle.com> References: <55F5894C.4090009@oracle.com> Message-ID: vote: yes thanks, Karen On Sep 13, 2015, at 10:33 AM, Alan Bateman wrote: > > I hereby nominate Jean-Francois Denise to jigsaw Committer. > > Jean-Francois is a jdk9 Committer and has been contributing to the ongoing development of the jimage container format. He has also been focused recently on the link phase and jlink tool cited in JEP 261 [0]. He has more than 40 change-sets/contributions in the jigsaw/jake forest. > > Votes are due by September 26, 2015 8:00 PDT. > > Only current jigsaw Committers [1] are eligible to vote on this nomination. Votes must be cast in the open by replying to this mailing list. > > For Lazy Consensus voting instructions, see [2]. > > -Alan. > > [0] http://openjdk.java.net/jeps/261 > [1] http://openjdk.java.net/census > [2] http://openjdk.java.net/projects/#committer-vote From karen.kinnear at oracle.com Wed Sep 16 20:18:17 2015 From: karen.kinnear at oracle.com (Karen Kinnear) Date: Wed, 16 Sep 2015 16:18:17 -0400 Subject: CFV: New Jigsaw Committer: Harold Seigel In-Reply-To: <7F587027-2BDB-4C37-9FD7-01AEBFB17E40@oracle.com> References: <7F587027-2BDB-4C37-9FD7-01AEBFB17E40@oracle.com> Message-ID: Vote: yes thanks, Karen On Sep 11, 2015, at 12:31 PM, Karen Kinnear wrote: > > I hereby nominate Harold Seigel to Jigsaw Committer. > > Harold is a member of the hotspot runtime team and a Reviewer on the jdk9 project. > Harold has been contributing to Project Jigsaw in the hotspot runtime for over a > year, including support for the JVM_* interfaces for modules, boot class loader > support for jigsaw and handling jvm bootstrapping issues relative to jigsaw that are > currently prototyped in the jigsaw/jake forest. > > Votes are due by: September 25, 2105 8:00 PST. Only current Jigsaw > Committers [1] are eligible to vote on this nomination. Votes must be > cast in the open by replying to this mailing list. > > For Lazy Consensus voting instructions, see [2] > > thanks, > Karen > [1] http://openjdk.java.net/census > [2] http://openjdk.java.net/projects/#committer-vote > > Harold's changesets for jigsaw/jake: > > http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/065aac05e267 > http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/0f0743393dcb > http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/2779b74ac808 > http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/4399b514d1f6 > http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/4443dde8d089 > http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/46f34d9a3520 > http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/4c251362419a > http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/52aa2e30e139 > http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/5936cfa7957f > http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/5b987349098f > http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/5d446c5f5d87 > http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/5fde03772024 > http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/6742fb545950 > http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/68fec4452b48 > http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/6be1b3b68758 > http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/7227b4dbf763 > http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/83b7f458698f > http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/9889c393adfb > http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/990036fcd63d > http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/9959993748a1 > http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/9be9f81cb8e8 > http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/9ddaf93af7e6 > http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/a38181c2fc6d > http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/a3f86617d287 > http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/a68fdd75403a > http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/b9882cb01d60 > http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/ccd5acdfc183 > http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/dba44c406ceb > http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/e49914e2c4ca > http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/ef26f9d82c61 > http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/fb43f332125d > > http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/06c7768ed452 > http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/0a4072287a82 > http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/200d3d2c3f9e > http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/4feb32b92512 > http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/585b5b96a990 > http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/8ed709fbba55 > http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/8fe7c0be60a2 > From chris.hegarty at oracle.com Wed Sep 16 20:26:37 2015 From: chris.hegarty at oracle.com (Chris Hegarty) Date: Wed, 16 Sep 2015 21:26:37 +0100 Subject: CFV: New Jigsaw Committer: Harold Seigel In-Reply-To: References: <7F587027-2BDB-4C37-9FD7-01AEBFB17E40@oracle.com> Message-ID: Vote: yes -Chris. > On 16 Sep 2015, at 21:18, Karen Kinnear wrote: > > Vote: yes > > thanks, > Karen > > On Sep 11, 2015, at 12:31 PM, Karen Kinnear wrote: > >> >> I hereby nominate Harold Seigel to Jigsaw Committer. >> >> Harold is a member of the hotspot runtime team and a Reviewer on the jdk9 project. >> Harold has been contributing to Project Jigsaw in the hotspot runtime for over a >> year, including support for the JVM_* interfaces for modules, boot class loader >> support for jigsaw and handling jvm bootstrapping issues relative to jigsaw that are >> currently prototyped in the jigsaw/jake forest. >> >> Votes are due by: September 25, 2105 8:00 PST. Only current Jigsaw >> Committers [1] are eligible to vote on this nomination. Votes must be >> cast in the open by replying to this mailing list. >> >> For Lazy Consensus voting instructions, see [2] >> >> thanks, >> Karen >> [1] http://openjdk.java.net/census >> [2] http://openjdk.java.net/projects/#committer-vote >> >> Harold's changesets for jigsaw/jake: >> >> http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/065aac05e267 >> http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/0f0743393dcb >> http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/2779b74ac808 >> http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/4399b514d1f6 >> http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/4443dde8d089 >> http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/46f34d9a3520 >> http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/4c251362419a >> http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/52aa2e30e139 >> http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/5936cfa7957f >> http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/5b987349098f >> http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/5d446c5f5d87 >> http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/5fde03772024 >> http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/6742fb545950 >> http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/68fec4452b48 >> http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/6be1b3b68758 >> http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/7227b4dbf763 >> http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/83b7f458698f >> http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/9889c393adfb >> http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/990036fcd63d >> http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/9959993748a1 >> http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/9be9f81cb8e8 >> http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/9ddaf93af7e6 >> http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/a38181c2fc6d >> http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/a3f86617d287 >> http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/a68fdd75403a >> http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/b9882cb01d60 >> http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/ccd5acdfc183 >> http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/dba44c406ceb >> http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/e49914e2c4ca >> http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/ef26f9d82c61 >> http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/fb43f332125d >> >> http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/06c7768ed452 >> http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/0a4072287a82 >> http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/200d3d2c3f9e >> http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/4feb32b92512 >> http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/585b5b96a990 >> http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/8ed709fbba55 >> http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/8fe7c0be60a2 >> > From chris.hegarty at oracle.com Wed Sep 16 20:27:31 2015 From: chris.hegarty at oracle.com (Chris Hegarty) Date: Wed, 16 Sep 2015 21:27:31 +0100 Subject: CFV: New jigsaw Committer: Jean-Francois Denise In-Reply-To: <55F5894C.4090009@oracle.com> References: <55F5894C.4090009@oracle.com> Message-ID: <4E14A037-2639-4783-821B-4181E85ED52B@oracle.com> Vote: yes -Chris. > On 13 Sep 2015, at 15:33, Alan Bateman wrote: > > > I hereby nominate Jean-Francois Denise to jigsaw Committer. > > Jean-Francois is a jdk9 Committer and has been contributing to the ongoing development of the jimage container format. He has also been focused recently on the link phase and jlink tool cited in JEP 261 [0]. He has more than 40 change-sets/contributions in the jigsaw/jake forest. > > Votes are due by September 26, 2015 8:00 PDT. > > Only current jigsaw Committers [1] are eligible to vote on this nomination. Votes must be cast in the open by replying to this mailing list. > > For Lazy Consensus voting instructions, see [2]. > > -Alan. > > [0] http://openjdk.java.net/jeps/261 > [1] http://openjdk.java.net/census > [2] http://openjdk.java.net/projects/#committer-vote From chris.hegarty at oracle.com Wed Sep 16 20:27:55 2015 From: chris.hegarty at oracle.com (Chris Hegarty) Date: Wed, 16 Sep 2015 21:27:55 +0100 Subject: CFV: New Committer: Christian Tornqvist In-Reply-To: References: Message-ID: <5359A57B-382E-4D2C-AA2C-A6ECCA1C08A2@oracle.com> Vote: yes -Chris. > On 16 Sep 2015, at 19:42, Karen Kinnear wrote: > > I hereby nominate Christian Tornqvist to Jigsaw Committer. > > Christian is the hotspot runtime SQE lead and a Reviewer on the jdk9 project. > Christian has contributed new tests and made extensive changes to the hotspot tests for jigsaw in the > jigsaw/m3 forest, including adding the ability to test JVM_* APIs via white box testing, testing > for memory leaks due to class unloading, and modifications to tests to deal with jigsaw command > line options. > > Votes are due by: September 30, 2015, 7:00 PST. Only current Jigsaw > Committers [1] are eligible to vote on this nomination. Votes must be cast > in the open by replying to this mailing list. > > For Lazy Consensus voting instructions, see [2]. > > thanks, > Karen > > [1] http://openjdk.java.net/census > [2] http://openjdk.java.net/projects/#committer-vote > > Christian's jigsaw changesets: > > http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/928e89280286 > http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/a6486dd6f141 > http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/2e29f5e8333b > http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/18c4d48f7fdf > http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/0a3a73c4976b > http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/97666a3ee1b7 > http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/b6c27227f14d > http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/0be80247e442 > http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/bbc6dfd8f329 > http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/651cd13f8cc2 > http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/0b8ad3584a1c > http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/aaab3e55ae2f > http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/e91779d9e691 > http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/35f7a63f6260 > http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/0b1b80bd13c5 > http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/5c450268abbd > http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/dbe3a0baee50 > http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/cc031dd0e784 From chris.hegarty at oracle.com Wed Sep 16 20:28:20 2015 From: chris.hegarty at oracle.com (Chris Hegarty) Date: Wed, 16 Sep 2015 21:28:20 +0100 Subject: CFV: New Jigsaw Committer: Lois Foltan In-Reply-To: <95CF99E3-F779-4D88-8FAB-55EB9CB5CCA4@oracle.com> References: <95CF99E3-F779-4D88-8FAB-55EB9CB5CCA4@oracle.com> Message-ID: <1AA91F66-4629-497D-8B77-D74EBAC299A4@oracle.com> Vote: yes -Chris. > On 16 Sep 2015, at 19:43, Karen Kinnear wrote: > > > I hereby nominate Lois Foltan to Jigsaw Committer. > > Lois is a member of the hotspot runtime team and a committer on the jdk9 project. > Lois has been contributing to Project Jigsaw for more than a year, including jvm support > for module and package metadata, boot class loader support for observability boundary > checking and jvm support for access control checks based on the new jigsaw access > control rules relative to module readability and exports. These are currently prototyped in the > jigsaw/m3 forest. > > Votes are due by: September 30, 2015, 7:00 PST. Only current Jigsaw Committers [1] > are eligible to vote on this nomination. Votes must be cast in the open by replying to > this mailing list. > > For Lazy Consensus voting instructions, see [2]. > > [1] http://openjdk.java.net/census > [2] http://openjdk.java.net/projects/#committer-vote > > jigsaw changesets: > > http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/ec64631485ee > http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/361b6493fd8c > http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/483a16ff1561 > http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/a96cc469159a > http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/b77ade9699f3 > http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/4bf2c76660e6 > http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/6304c4530d95 > http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/6821aa4f2b30 > http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/40b26486a13a > http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/c642727aa248 > http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/c5533b42e897 > http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/f0885ae77815 > http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/423249ef49ba > > And the one that Alan committed, but is contributed by Harold and myself that contains the initial implementation of the VM support for modules. > http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/6e3af5b0d4c8 > > From openjdk at duigou.org Wed Sep 16 21:24:23 2015 From: openjdk at duigou.org (Mike Duigou) Date: Wed, 16 Sep 2015 14:24:23 -0700 Subject: CFV: New Jigsaw Committer: Lois Foltan In-Reply-To: References: Message-ID: <729b3dc8ab471b3e9cd318727767b616@sonic.net> Vote: YES >> I hereby nominate Lois Foltan to Jigsaw Committer. >> >> Lois is a member of the hotspot runtime team and a committer on the >> jdk9 project. >> Lois has been contributing to Project Jigsaw for more than a year, >> including jvm support >> for module and package metadata, boot class loader support for >> observability boundary >> checking and jvm support for access control checks based on the new >> jigsaw access >> control rules relative to module readability and exports. These are >> currently prototyped in the >> jigsaw/m3 forest. >> >> Votes are due by: September 30, 2015, 7:00 PST. Only current Jigsaw >> Committers [1] >> are eligible to vote on this nomination. Votes must be cast in the >> open by replying to >> this mailing list. >> >> For Lazy Consensus voting instructions, see [2]. >> >> [1] http://openjdk.java.net/census >> [2] http://openjdk.java.net/projects/#committer-vote From jonathan.gibbons at oracle.com Wed Sep 16 21:32:40 2015 From: jonathan.gibbons at oracle.com (jonathan.gibbons at oracle.com) Date: Wed, 16 Sep 2015 21:32:40 +0000 Subject: hg: jigsaw/jake/langtools: new tests Message-ID: <201509162132.t8GLWe3Y016933@aojmv0008.oracle.com> Changeset: 0ec6095cbf8c Author: anazarov Date: 2015-09-16 14:32 -0700 URL: http://hg.openjdk.java.net/jigsaw/jake/langtools/rev/0ec6095cbf8c new tests + test/tools/javac/modules/UpgradeModulePathTest.java ! test/tools/javac/modules/XModuleTest.java From mandy.chung at oracle.com Wed Sep 16 21:35:28 2015 From: mandy.chung at oracle.com (mandy.chung at oracle.com) Date: Wed, 16 Sep 2015 21:35:28 +0000 Subject: hg: jigsaw/jake/jdk: 8135172: complication error "package exists in another module: jdk.xml.dom" Message-ID: <201509162135.t8GLZSua017510@aojmv0008.oracle.com> Changeset: 090e9350479b Author: mchung Date: 2015-09-16 14:34 -0700 URL: http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/090e9350479b 8135172: complication error "package exists in another module: jdk.xml.dom" Reviewed-by: mchung Contributed-by: Hamlin Li ! test/ProblemList.jake.txt ! test/java/lang/Package/annotation/PackageInfoTest.java From mandy.chung at oracle.com Thu Sep 17 01:51:49 2015 From: mandy.chung at oracle.com (mandy.chung at oracle.com) Date: Thu, 17 Sep 2015 01:51:49 +0000 Subject: hg: jigsaw/jake/hotspot: additional dump time checks Message-ID: <201509170151.t8H1pnKY014914@aojmv0008.oracle.com> Changeset: cafd001e4c37 Author: ccheung Date: 2015-09-16 17:58 -0700 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/cafd001e4c37 additional dump time checks Summary: we currently don't support -modulepath, etc. module related options during archive dumping Reviewed-by: iklam, jiangli ! src/share/vm/memory/metaspaceShared.cpp ! src/share/vm/runtime/arguments.cpp ! src/share/vm/runtime/arguments.hpp From jonathan.gibbons at oracle.com Thu Sep 17 02:18:52 2015 From: jonathan.gibbons at oracle.com (jonathan.gibbons at oracle.com) Date: Thu, 17 Sep 2015 02:18:52 +0000 Subject: hg: jigsaw/jake/langtools: 8136557: Module attribute in module-info.class contains 1 rather than 3 provides entries Message-ID: <201509170218.t8H2Iqta020223@aojmv0008.oracle.com> Changeset: e2688ce388fa Author: jjg Date: 2015-09-16 19:18 -0700 URL: http://hg.openjdk.java.net/jigsaw/jake/langtools/rev/e2688ce388fa 8136557: Module attribute in module-info.class contains 1 rather than 3 provides entries ! src/jdk.compiler/share/classes/com/sun/tools/javac/jvm/ClassReader.java From roman.shevchenko at jetbrains.com Thu Sep 17 07:47:40 2015 From: roman.shevchenko at jetbrains.com (Roman Shevchenko) Date: Thu, 17 Sep 2015 10:47:40 +0300 Subject: RFR: JDK-8080511 - Refresh of jimage support In-Reply-To: <55B271A0.7090705@oracle.com> References: <165AE6EA-8FB7-4715-8D76-477692B63C95@oracle.com> <69B55DAD-6E30-4703-B2B0-4A5EEC598149@oracle.com> <487562C8-9F9D-43B3-AF21-D99368852DDB@oracle.com> <55B271A0.7090705@oracle.com> Message-ID: <608B7E3E-ED29-42EE-B408-78503A413E3D@jetbrains.com> Fixed in the recent 14.1.5 RC (build 141.2734.1). > On 24 Jul 2015, at 20:10, Sergey Bylokhov wrote: > > ... > > It seems that IntelliJ also broken in some way so it cannot take classes from the jdk9 after this fix. probably they should update jrt-fs.jar? > > > On 23.06.15 19:08, Jean-Francois Denise wrote: >> Hi, >> an updated webrev that takes into account reviews. In addition the hotspot tests have been reworked following Christian Tornqvist suggestions. >> >> top: http://cr.openjdk.java.net/~jfdenise/hs-rt-jimage.3/webrev-top/ >> langtools: http://cr.openjdk.java.net/~jfdenise/hs-rt-jimage.3/webrev-langtools/ >> hotspot: http://cr.openjdk.java.net/~jfdenise/hs-rt-jimage.3/webrev-hotspot/ >> jdk: http://cr.openjdk.java.net/~jfdenise/hs-rt-jimage.3/webrev-jdk/ >> >> Testing: >> JCK(s) tests are passing (ran only on Mac OS) >> Hotspot tests are passing (All platforms) >> Java PIT tests are passing (All platforms). Ran once on https://bugs.openjdk.java.net/browse/JDK-8129592 >> >> Thanks. >> JF >> >> On 23 Jun 2015, at 14:10, Jean-Francois Denise wrote: >> >>> Hi Paul, >>> >>> On 19 Jun 2015, at 16:39, Paul Sandoz wrote: >>> >>>> On Jun 18, 2015, at 2:08 AM, Jim Laskey (Oracle) wrote: >>>> >>>>> https://bugs.openjdk.java.net/browse/JDK-8080511 >>>>> >>>>> This is an long overdue refresh of the jimage support in the JDK9-dev repo. This includes native support for reading jimage files, improved jrt-fs (java runtime file system) support for retrieving modules and packages from the runtime, and improved performance for langtools in the presence of jrt-fs. >>>>> >>>>> http://cr.openjdk.java.net/~jlaskey/hs-rt-jimage/webrev-top >>>>> http://cr.openjdk.java.net/~jlaskey/hs-rt-jimage/webrev-jdk >>>> I eyeballed the JDK changes. Just two thing: >>>> >>>> make/src/classes/build/tools/module/ModuleArchive.java >>>> >>>> 90 @Override >>>> 91 public Stream entries() { >>>> 92 List entries = new ArrayList<>(); >>>> 93 try { >>>> 94 if (classes != null) >>>> 95 Files.walk(classes) >>>> 96 .sorted() >>>> 97 .filter(p -> !Files.isDirectory(p) >>>> 98 && !classes.relativize(p).toString().startsWith("_the.") >>>> 99 && !classes.relativize(p).toString().equals("javac_state")) >>>> 100 .map(p -> toEntry(p, classes, EntryType.CLASS_OR_RESOURCE)) >>>> 101 .forEach(entries::add); >>>> 102 if (cmds != null) >>>> 103 Files.walk(cmds) >>>> 104 .filter(p -> !Files.isDirectory(p)) >>>> 105 .map(p -> toEntry(p, cmds, EntryType.NATIVE_CMD)) >>>> 106 .forEach(entries::add); >>>> 107 if (libs != null) >>>> 108 Files.walk(libs) >>>> 109 .filter(p -> !Files.isDirectory(p)) >>>> 110 .map(p -> toEntry(p, libs, EntryType.NATIVE_LIB)) >>>> 111 .forEach(entries::add); >>>> 112 if (configs != null) >>>> 113 Files.walk(configs) >>>> 114 .filter(p -> !Files.isDirectory(p)) >>>> 115 .map(p -> toEntry(p, configs, EntryType.CONFIG)) >>>> 116 .forEach(entries::add); >>>> 117 } catch (IOException ioe) { >>>> 118 throw new UncheckedIOException(ioe); >>>> 119 } >>>> 120 return entries.stream(); >>>> 121 } >>>> >>>> You can use collect(toList()) >>> ==> OK collect used. In addition, filter first then sort, tryWithResource for 4 Files stream. >>> >>>> In general the contract for Archive.entries probably has to say the stream needs to be closed after use since it might cover lazy I/O based resources, so callers will need to use a try-with-resources block. >>> ==> Added a note in javadoc, implemented explicit close for non lazy streams, added missing tryWithResource. Added a comment on what should be done in ModuleArchive to keep laziness. >>>> Paul. >>> Thanks. >>> >>>>> http://cr.openjdk.java.net/~jlaskey/hs-rt-jimage/webrev-hotspot >>>>> http://cr.openjdk.java.net/~jlaskey/hs-rt-jimage/webrev-langtools >>>>> >>>>> >>>>> Details: >>>>> >>>>> - jrt-fs provides access, via the nio FileSystem API, to the classes in a .jimage file, organized by module or by package. >>>>> - Shared code for jimage support converted to native. Currently residing in hotspot, but will migrate to it?s own jdk library https://bugs.openjdk.java.net/browse/JDK-8087181 >>>>> - A new archive abstraction for class/resource sources. >>>>> - java based implementation layer for jimage reading to allow backport to JDK8 (jrt-fs.jar - IDE support.) >>>>> - JNI support for jimage into hotspot. >>>>> - White box tests written to exercise native jimage support. > > > -- > Best regards, Sergey. From ali.ebrahimi1781 at gmail.com Thu Sep 17 10:23:13 2015 From: ali.ebrahimi1781 at gmail.com (Ali Ebrahimi) Date: Thu, 17 Sep 2015 14:53:13 +0430 Subject: jlink tool doesn't create windows os compatible launcher in resulting runtime image In-Reply-To: References: Message-ID: Hi, This is clean and tested patch: diff --git a/src/jdk.jlink/share/classes/jdk/tools/jlink/plugins/DefaultImageBuilder.java b/src/jdk.jlink/share/classes/jdk/tools/jlink/plugins/DefaultImageBuilder.java --- a/src/jdk.jlink/share/classes/jdk/tools/jlink/plugins/DefaultImageBuilder.java +++ b/src/jdk.jlink/share/classes/jdk/tools/jlink/plugins/DefaultImageBuilder.java @@ -172,17 +172,24 @@ ByteArrayInputStream stream = new ByteArrayInputStream(res.getByteArray()); mainClass = ModuleDescriptor.read(stream).mainClass(); if (mainClass.isPresent()) { - Path cmd = root.resolve("bin").resolve(module); + Path cmd = root.resolve("bin").resolve(isWindows()? module+".bat": module); if (!Files.exists(cmd)) { StringBuilder sb = new StringBuilder(); - sb.append("#!/bin/sh") - .append("\n"); - sb.append("DIR=`dirname $0`") - .append("\n"); - sb.append("$DIR/java -m ") - .append(module).append('/') - .append(mainClass.get()) - .append(" $@\n"); + if(!isWindows()) { + sb.append("#!/bin/sh") + .append("\n"); + sb.append("DIR=`dirname $0`") + .append("\n"); + sb.append("$DIR/java -m ") + .append(module).append('/') + .append(mainClass.get()) + .append(" $@\n"); + } else { + sb.append("%~dp0java -m ") + .append(module).append('/') + .append(mainClass.get()) + .append(" %*\n"); + } try (BufferedWriter writer = Files.newBufferedWriter(cmd, StandardCharsets.ISO_8859_1, On Wed, Sep 16, 2015 at 8:46 PM, Jean-Francois Denise < jean-francois.denise at oracle.com> wrote: > Hi Ali, > I logged: https://bugs.openjdk.java.net/browse/JDK-8136645 > Thanks for reporting. > JF > > On 16 Sep 2015, at 17:55, Ali Ebrahimi wrote: > > > Hi, > > > > The following patch tries to fix this: > > > > diff --git > > > a/src/jdk.jlink/share/classes/jdk/tools/jlink/plugins/DefaultImageBuilder.java > > > b/src/jdk.jlink/share/classes/jdk/tools/jlink/plugins/DefaultImageBuilder.java > > --- > > > a/src/jdk.jlink/share/classes/jdk/tools/jlink/plugins/DefaultImageBuilder.java > > +++ > > > b/src/jdk.jlink/share/classes/jdk/tools/jlink/plugins/DefaultImageBuilder.java > > @@ -172,17 +172,24 @@ > > ByteArrayInputStream stream = new > > ByteArrayInputStream(res.getByteArray()); > > mainClass = ModuleDescriptor.read(stream).mainClass(); > > if (mainClass.isPresent()) { > > - Path cmd = root.resolve("bin").resolve(module); > > + Path cmd = root.resolve("bin").resolve(isWindows()? > > module+".bat": module); > > if (!Files.exists(cmd)) { > > StringBuilder sb = new StringBuilder(); > > - sb.append("#!/bin/sh") > > + if(!isWindows()) > > + sb.append("#!/bin/sh") > > + .append("\n"); > > + sb.append("DIR=`dirname $0`") > > .append("\n"); > > - sb.append("DIR=`dirname $0`") > > - .append("\n"); > > - sb.append("$DIR/java -m ") > > + sb.append("$DIR/java -m ") > > .append(module).append('/') > > .append(mainClass.get()) > > .append(" $@\n"); > > + } else { > > + sb.append("%~dp0java -m ") > > + .append(module).append('/') > > + .append(mainClass.get()) > > + .append(" $*\n"); > > + } > > > > > > Best Regards, > > Ali Ebrahimi > > -- Best Regards, Ali Ebrahimi From karen.kinnear at oracle.com Thu Sep 17 14:21:12 2015 From: karen.kinnear at oracle.com (Karen Kinnear) Date: Thu, 17 Sep 2015 10:21:12 -0400 Subject: CFV: New Committer: Christian Tornqvist In-Reply-To: References: Message-ID: vote: yes thanks, Karen On Sep 16, 2015, at 2:42 PM, Karen Kinnear wrote: > I hereby nominate Christian Tornqvist to Jigsaw Committer. > > Christian is the hotspot runtime SQE lead and a Reviewer on the jdk9 project. > Christian has contributed new tests and made extensive changes to the hotspot tests for jigsaw in the > jigsaw/m3 forest, including adding the ability to test JVM_* APIs via white box testing, testing > for memory leaks due to class unloading, and modifications to tests to deal with jigsaw command > line options. > > Votes are due by: September 30, 2015, 7:00 PST. Only current Jigsaw > Committers [1] are eligible to vote on this nomination. Votes must be cast > in the open by replying to this mailing list. > > For Lazy Consensus voting instructions, see [2]. > > thanks, > Karen > > [1] http://openjdk.java.net/census > [2] http://openjdk.java.net/projects/#committer-vote > > Christian's jigsaw changesets: > > http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/928e89280286 > http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/a6486dd6f141 > http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/2e29f5e8333b > http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/18c4d48f7fdf > http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/0a3a73c4976b > http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/97666a3ee1b7 > http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/b6c27227f14d > http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/0be80247e442 > http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/bbc6dfd8f329 > http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/651cd13f8cc2 > http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/0b8ad3584a1c > http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/aaab3e55ae2f > http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/e91779d9e691 > http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/35f7a63f6260 > http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/0b1b80bd13c5 > http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/5c450268abbd > http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/dbe3a0baee50 > http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/cc031dd0e784 From karen.kinnear at oracle.com Thu Sep 17 14:21:21 2015 From: karen.kinnear at oracle.com (Karen Kinnear) Date: Thu, 17 Sep 2015 10:21:21 -0400 Subject: CFV: New Jigsaw Committer: Lois Foltan In-Reply-To: <95CF99E3-F779-4D88-8FAB-55EB9CB5CCA4@oracle.com> References: <95CF99E3-F779-4D88-8FAB-55EB9CB5CCA4@oracle.com> Message-ID: <364637FA-EBE4-4C0E-899A-ABE20ED55CAE@oracle.com> vote: yes thanks, Karen On Sep 16, 2015, at 2:43 PM, Karen Kinnear wrote: > > I hereby nominate Lois Foltan to Jigsaw Committer. > > Lois is a member of the hotspot runtime team and a committer on the jdk9 project. > Lois has been contributing to Project Jigsaw for more than a year, including jvm support > for module and package metadata, boot class loader support for observability boundary > checking and jvm support for access control checks based on the new jigsaw access > control rules relative to module readability and exports. These are currently prototyped in the > jigsaw/m3 forest. > > Votes are due by: September 30, 2015, 7:00 PST. Only current Jigsaw Committers [1] > are eligible to vote on this nomination. Votes must be cast in the open by replying to > this mailing list. > > For Lazy Consensus voting instructions, see [2]. > > [1] http://openjdk.java.net/census > [2] http://openjdk.java.net/projects/#committer-vote > > jigsaw changesets: > > http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/ec64631485ee > http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/361b6493fd8c > http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/483a16ff1561 > http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/a96cc469159a > http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/b77ade9699f3 > http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/4bf2c76660e6 > http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/6304c4530d95 > http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/6821aa4f2b30 > http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/40b26486a13a > http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/c642727aa248 > http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/c5533b42e897 > http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/f0885ae77815 > http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/423249ef49ba > > And the one that Alan committed, but is contributed by Harold and myself that contains the initial implementation of the VM support for modules. > http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/6e3af5b0d4c8 > > From erik.joelsson at oracle.com Thu Sep 17 14:56:12 2015 From: erik.joelsson at oracle.com (Erik Joelsson) Date: Thu, 17 Sep 2015 07:56:12 -0700 Subject: CFV: New Jigsaw Committer: Harold Seigel In-Reply-To: <7F587027-2BDB-4C37-9FD7-01AEBFB17E40@oracle.com> References: <7F587027-2BDB-4C37-9FD7-01AEBFB17E40@oracle.com> Message-ID: <55FAD48C.7090105@oracle.com> Vote: yes /Erik From erik.joelsson at oracle.com Thu Sep 17 14:56:33 2015 From: erik.joelsson at oracle.com (Erik Joelsson) Date: Thu, 17 Sep 2015 07:56:33 -0700 Subject: CFV: New jigsaw Committer: Jean-Francois Denise In-Reply-To: <55F5894C.4090009@oracle.com> References: <55F5894C.4090009@oracle.com> Message-ID: <55FAD4A1.1090101@oracle.com> Vote: yes /Erik From erik.joelsson at oracle.com Thu Sep 17 14:56:52 2015 From: erik.joelsson at oracle.com (Erik Joelsson) Date: Thu, 17 Sep 2015 07:56:52 -0700 Subject: CFV: New Committer: Christian Tornqvist In-Reply-To: References: Message-ID: <55FAD4B4.3090802@oracle.com> Vote: yes /Erik From erik.joelsson at oracle.com Thu Sep 17 14:57:12 2015 From: erik.joelsson at oracle.com (Erik Joelsson) Date: Thu, 17 Sep 2015 07:57:12 -0700 Subject: CFV: New Jigsaw Committer: Lois Foltan In-Reply-To: <95CF99E3-F779-4D88-8FAB-55EB9CB5CCA4@oracle.com> References: <95CF99E3-F779-4D88-8FAB-55EB9CB5CCA4@oracle.com> Message-ID: <55FAD4C8.3080400@oracle.com> Vote: yes /Erik From vincent.x.ryan at oracle.com Thu Sep 17 15:22:21 2015 From: vincent.x.ryan at oracle.com (Vincent Ryan) Date: Thu, 17 Sep 2015 16:22:21 +0100 Subject: CFV: New Jigsaw Committer: Harold Seigel In-Reply-To: <7F587027-2BDB-4C37-9FD7-01AEBFB17E40@oracle.com> References: <7F587027-2BDB-4C37-9FD7-01AEBFB17E40@oracle.com> Message-ID: <8572D215-EDCC-4C81-AAF3-55262A3AED2E@oracle.com> Vote: yes From vincent.x.ryan at oracle.com Thu Sep 17 15:22:26 2015 From: vincent.x.ryan at oracle.com (Vincent Ryan) Date: Thu, 17 Sep 2015 16:22:26 +0100 Subject: CFV: New jigsaw Committer: Jean-Francois Denise In-Reply-To: <55F5894C.4090009@oracle.com> References: <55F5894C.4090009@oracle.com> Message-ID: <9F1FA7DA-A053-46A0-8724-3B2FC13E5AD9@oracle.com> Vote: yes From vincent.x.ryan at oracle.com Thu Sep 17 15:22:29 2015 From: vincent.x.ryan at oracle.com (Vincent Ryan) Date: Thu, 17 Sep 2015 16:22:29 +0100 Subject: CFV: New Committer: Christian Tornqvist In-Reply-To: References: Message-ID: <41527D1E-0D29-4E35-830E-54214B4D508F@oracle.com> Vote: yes From vincent.x.ryan at oracle.com Thu Sep 17 15:22:34 2015 From: vincent.x.ryan at oracle.com (Vincent Ryan) Date: Thu, 17 Sep 2015 16:22:34 +0100 Subject: CFV: New Jigsaw Committer: Lois Foltan In-Reply-To: <95CF99E3-F779-4D88-8FAB-55EB9CB5CCA4@oracle.com> References: <95CF99E3-F779-4D88-8FAB-55EB9CB5CCA4@oracle.com> Message-ID: <865C30B8-6990-4025-80A1-A4B8C092EC23@oracle.com> Vote: yes From mark.reinhold at oracle.com Thu Sep 17 15:56:01 2015 From: mark.reinhold at oracle.com (mark.reinhold at oracle.com) Date: Thu, 17 Sep 2015 08:56:01 -0700 Subject: Jigsaw early access: Build 81 posted Message-ID: <20150917085601.353961@eggemoggin.niobe.net> Available here: https://jdk9.java.net/jigsaw/ Notable changes include fixes for the setAccessible and ToolProvider issues, previously reported on this list: Changeset: 9d521fd83608 Author: alanb Date: 2015-09-13 15:35 +0100 URL: http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/9d521fd83608 AccessibleObject.setAccessible should not be final for compatibility reasons ! src/java.base/share/classes/java/lang/reflect/AccessibleObject.java ! src/java.base/share/classes/java/lang/reflect/Constructor.java ! src/java.base/share/classes/java/lang/reflect/Field.java ! src/java.base/share/classes/java/lang/reflect/Method.java Changeset: 948a1770620e Author: jjg Date: 2015-09-15 14:21 -0700 URL: http://hg.openjdk.java.net/jigsaw/jake/langtools/rev/948a1770620e ToolProvider should use getSystemClassLoader ! src/java.compiler/share/classes/javax/tools/ToolProvider.java This build also includes all changes in JDK 9 build 81. Thanks for the feedback -- keep it coming! - Mark From john.r.rose at oracle.com Thu Sep 17 17:18:38 2015 From: john.r.rose at oracle.com (John Rose) Date: Thu, 17 Sep 2015 13:18:38 -0400 Subject: CFV: New Jigsaw Committer: Lois Foltan In-Reply-To: <95CF99E3-F779-4D88-8FAB-55EB9CB5CCA4@oracle.com> References: <95CF99E3-F779-4D88-8FAB-55EB9CB5CCA4@oracle.com> Message-ID: <56AB767B-03A4-4985-881C-33DFB3B2AEDB@oracle.com> Vote: yes > On Sep 16, 2015, at 2:43 PM, Karen Kinnear wrote: > > > I hereby nominate Lois Foltan to Jigsaw Committer. From john.r.rose at oracle.com Thu Sep 17 17:18:49 2015 From: john.r.rose at oracle.com (John Rose) Date: Thu, 17 Sep 2015 13:18:49 -0400 Subject: CFV: New Committer: Christian Tornqvist In-Reply-To: References: Message-ID: <0701EC95-B5EA-40B4-B408-FE5B0473A509@oracle.com> Vote: yes > On Sep 16, 2015, at 2:42 PM, Karen Kinnear wrote: > > I hereby nominate Christian Tornqvist to Jigsaw Committer. From john.r.rose at oracle.com Thu Sep 17 17:19:10 2015 From: john.r.rose at oracle.com (John Rose) Date: Thu, 17 Sep 2015 13:19:10 -0400 Subject: CFV: New jigsaw Committer: Jean-Francois Denise In-Reply-To: <20150916091700.275330@eggemoggin.niobe.net> References: <55F5894C.4090009@oracle.com> <20150916091700.275330@eggemoggin.niobe.net> Message-ID: <97973021-F619-44B0-83D2-1B4F9513419B@oracle.com> Vote: yes > On Sep 16, 2015, at 12:17 PM, mark.reinhold at oracle.com wrote: > > Vote: yes > > - Mark From john.r.rose at oracle.com Thu Sep 17 17:19:22 2015 From: john.r.rose at oracle.com (John Rose) Date: Thu, 17 Sep 2015 13:19:22 -0400 Subject: CFV: New Jigsaw Committer: Harold Seigel In-Reply-To: <7F587027-2BDB-4C37-9FD7-01AEBFB17E40@oracle.com> References: <7F587027-2BDB-4C37-9FD7-01AEBFB17E40@oracle.com> Message-ID: <45D34914-E4E0-4B70-AC4F-F14CCA326121@oracle.com> Vote: yes > On Sep 11, 2015, at 12:31 PM, Karen Kinnear wrote: > > I hereby nominate Harold Seigel to Jigsaw Committer. From cnewland at chrisnewland.com Thu Sep 17 20:20:30 2015 From: cnewland at chrisnewland.com (Chris Newland) Date: Thu, 17 Sep 2015 21:20:30 +0100 Subject: Jigsaw early access: Build 81 posted In-Reply-To: <20150917085601.353961@eggemoggin.niobe.net> References: <20150917085601.353961@eggemoggin.niobe.net> Message-ID: <6bfcb9bbd6120dfc35f7d99d34868ffd.squirrel@excalibur.xssl.net> Hi Mark, Jigsaw build 81 fixes the maven compiler issue for me on Linux x86_64 (Debian Wheezy) and OSX Yosemite 10.10.5 My gradle build gets further now. In the previous Jigsaw build it errored out on AccessibleObject.setAccessible but now has a problem with missing tools.jar (problem now on my side). Kind regards, Chris On Thu, September 17, 2015 16:56, mark.reinhold at oracle.com wrote: > Available here: https://jdk9.java.net/jigsaw/ > > > Notable changes include fixes for the setAccessible and ToolProvider > issues, previously reported on this list: > > Changeset: 9d521fd83608 > Author: alanb > Date: 2015-09-13 15:35 +0100 > URL: http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/9d521fd83608 > > > AccessibleObject.setAccessible should not be final for compatibility > reasons > > ! src/java.base/share/classes/java/lang/reflect/AccessibleObject.java > ! src/java.base/share/classes/java/lang/reflect/Constructor.java > ! src/java.base/share/classes/java/lang/reflect/Field.java > ! src/java.base/share/classes/java/lang/reflect/Method.java > > > Changeset: 948a1770620e > Author: jjg > Date: 2015-09-15 14:21 -0700 > URL: > http://hg.openjdk.java.net/jigsaw/jake/langtools/rev/948a1770620e > > > ToolProvider should use getSystemClassLoader > > > ! src/java.compiler/share/classes/javax/tools/ToolProvider.java > > > This build also includes all changes in JDK 9 build 81. > > > Thanks for the feedback -- keep it coming! > > > - Mark > > From mark.reinhold at oracle.com Thu Sep 17 20:22:09 2015 From: mark.reinhold at oracle.com (mark.reinhold at oracle.com) Date: Thu, 17 Sep 2015 13:22:09 -0700 Subject: Jigsaw early access: Build 81 posted In-Reply-To: <6bfcb9bbd6120dfc35f7d99d34868ffd.squirrel@excalibur.xssl.net> References: <20150917085601.353961@eggemoggin.niobe.net>, <6bfcb9bbd6120dfc35f7d99d34868ffd.squirrel@excalibur.xssl.net> Message-ID: <20150917132209.81239@eggemoggin.niobe.net> 2015/9/17 1:20 -0700, cnewland at chrisnewland.com: > Jigsaw build 81 fixes the maven compiler issue for me on Linux x86_64 > (Debian Wheezy) and OSX Yosemite 10.10.5 > > My gradle build gets further now. In the previous Jigsaw build it errored > out on AccessibleObject.setAccessible but now has a problem with missing > tools.jar (problem now on my side). Progress! - Mark From rfscholte at apache.org Thu Sep 17 21:07:13 2015 From: rfscholte at apache.org (Robert Scholte) Date: Thu, 17 Sep 2015 23:07:13 +0200 Subject: JavaxToolsCompiler In-Reply-To: <55F943FF.3030704@oracle.com> References: <55F7119B.4030304@oracle.com> <02CCC4D69F7048018EDECC645152EE16@gmail.com> <55F943FF.3030704@oracle.com> Message-ID: I can confirm the fix. thanks! Robert Op Wed, 16 Sep 2015 12:27:11 +0200 schreef Alan Bateman : > > On 14/09/2015 20:21, Stuart McCulloch wrote: >> Yes, the issue is that ToolProvider.getSystemJavaCompiler() is >> returning null when using the Jigsaw EA with Maven. >> >> AFAICT this is because it?s now using the service loader mechanism >> which is influenced by the Thread?s context ClassLoader >> >> The following patch to make sure Maven uses the system context when >> looking up the compiler appears to solve the issue: >> >> > Just to follow-up on this one, the bug in ToolProvider has been fixed in > the jigsaw/jake forest. We should have an updated EA build in the next > day or two that will pick up this fix. > > Thanks again for the mails on this, it's good to have found this one > early. > > -Alan > > --------------------------------------------------------------------- > To unsubscribe, e-mail: dev-unsubscribe at maven.apache.org > For additional commands, e-mail: dev-help at maven.apache.org From jonathan.gibbons at oracle.com Thu Sep 17 21:50:51 2015 From: jonathan.gibbons at oracle.com (jonathan.gibbons at oracle.com) Date: Thu, 17 Sep 2015 21:50:51 +0000 Subject: hg: jigsaw/jake/langtools: remove unnecessary local variables Message-ID: <201509172150.t8HLopoB010035@aojmv0008.oracle.com> Changeset: b32127130c64 Author: jjg Date: 2015-09-17 14:50 -0700 URL: http://hg.openjdk.java.net/jigsaw/jake/langtools/rev/b32127130c64 remove unnecessary local variables ! src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Modules.java From jonathan.gibbons at oracle.com Thu Sep 17 22:09:49 2015 From: jonathan.gibbons at oracle.com (jonathan.gibbons at oracle.com) Date: Thu, 17 Sep 2015 22:09:49 +0000 Subject: hg: jigsaw/jake/langtools: update local build support Message-ID: <201509172209.t8HM9nvB013559@aojmv0008.oracle.com> Changeset: 24e405279ff8 Author: jlahoda Date: 2015-09-17 15:09 -0700 URL: http://hg.openjdk.java.net/jigsaw/jake/langtools/rev/24e405279ff8 update local build support ! make/build.xml ! make/launcher.sh-template ! make/netbeans/langtools/build.xml From mandy.chung at oracle.com Thu Sep 17 22:15:01 2015 From: mandy.chung at oracle.com (mandy.chung at oracle.com) Date: Thu, 17 Sep 2015 22:15:01 +0000 Subject: hg: jigsaw/jake/hotspot: fixing XoverrideCCDS.java test failure Message-ID: <201509172215.t8HMF1NJ014678@aojmv0008.oracle.com> Changeset: e6b7e9cc28c0 Author: ccheung Date: 2015-09-17 14:39 -0700 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/e6b7e9cc28c0 fixing XoverrideCCDS.java test failure Summary: adjusted the expected error message during dump time Reviewed-by: iklam, jiangli ! test/runtime/modules/XoverrideCDS.java From mandy.chung at oracle.com Thu Sep 17 22:15:09 2015 From: mandy.chung at oracle.com (mandy.chung at oracle.com) Date: Thu, 17 Sep 2015 22:15:09 +0000 Subject: hg: jigsaw/jake/jdk: Exception typo in Proxy class javadoc Message-ID: <201509172215.t8HMF9Nq014731@aojmv0008.oracle.com> Changeset: 3f905b5efebf Author: mchung Date: 2015-09-17 15:14 -0700 URL: http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/3f905b5efebf Exception typo in Proxy class javadoc ! src/java.base/share/classes/java/lang/reflect/Proxy.java From sundararajan.athijegannathan at oracle.com Fri Sep 18 02:57:41 2015 From: sundararajan.athijegannathan at oracle.com (Sundararajan Athijegannathan) Date: Fri, 18 Sep 2015 08:27:41 +0530 Subject: CFV: New Jigsaw Committer: Harold Seigel In-Reply-To: <45D34914-E4E0-4B70-AC4F-F14CCA326121@oracle.com> References: <7F587027-2BDB-4C37-9FD7-01AEBFB17E40@oracle.com> <45D34914-E4E0-4B70-AC4F-F14CCA326121@oracle.com> Message-ID: <55FB7DA5.4000304@oracle.com> Vote: yes On 9/17/2015 10:49 PM, John Rose wrote: > Vote: yes > >> On Sep 11, 2015, at 12:31 PM, Karen Kinnear wrote: >> >> I hereby nominate Harold Seigel to Jigsaw Committer. From sundararajan.athijegannathan at oracle.com Fri Sep 18 02:58:06 2015 From: sundararajan.athijegannathan at oracle.com (Sundararajan Athijegannathan) Date: Fri, 18 Sep 2015 08:28:06 +0530 Subject: CFV: New Jigsaw Committer: Lois Foltan In-Reply-To: <56AB767B-03A4-4985-881C-33DFB3B2AEDB@oracle.com> References: <95CF99E3-F779-4D88-8FAB-55EB9CB5CCA4@oracle.com> <56AB767B-03A4-4985-881C-33DFB3B2AEDB@oracle.com> Message-ID: <55FB7DBE.3000507@oracle.com> Vote: yes On 9/17/2015 10:48 PM, John Rose wrote: > Vote: yes > >> On Sep 16, 2015, at 2:43 PM, Karen Kinnear wrote: >> >> >> I hereby nominate Lois Foltan to Jigsaw Committer. From sundararajan.athijegannathan at oracle.com Fri Sep 18 02:58:22 2015 From: sundararajan.athijegannathan at oracle.com (Sundararajan Athijegannathan) Date: Fri, 18 Sep 2015 08:28:22 +0530 Subject: CFV: New Committer: Christian Tornqvist In-Reply-To: <0701EC95-B5EA-40B4-B408-FE5B0473A509@oracle.com> References: <0701EC95-B5EA-40B4-B408-FE5B0473A509@oracle.com> Message-ID: <55FB7DCE.5070308@oracle.com> Vote: yes On 9/17/2015 10:48 PM, John Rose wrote: > Vote: yes > >> On Sep 16, 2015, at 2:42 PM, Karen Kinnear wrote: >> >> I hereby nominate Christian Tornqvist to Jigsaw Committer. From Alan.Bateman at oracle.com Fri Sep 18 08:26:46 2015 From: Alan.Bateman at oracle.com (Alan Bateman) Date: Fri, 18 Sep 2015 09:26:46 +0100 Subject: JavaxToolsCompiler In-Reply-To: References: <55F7119B.4030304@oracle.com> <02CCC4D69F7048018EDECC645152EE16@gmail.com> <55F943FF.3030704@oracle.com> Message-ID: <55FBCAC6.203@oracle.com> On 17/09/2015 22:07, Robert Scholte wrote: > I can confirm the fix. > > thanks! > > Robert Thanks for the confirmation. Just to double check, this is with the ToolProvider fix rather than the patch to the compiler plugin that one of Stuart's mails referenced, right? As we're exchanging mail, I'm curious as to which plugins are exercised by your testing, just in case there are other plugins where we might still run into issues. -Alan From rfscholte at apache.org Fri Sep 18 08:37:39 2015 From: rfscholte at apache.org (Robert Scholte) Date: Fri, 18 Sep 2015 10:37:39 +0200 Subject: JavaxToolsCompiler In-Reply-To: <55FBCAC6.203@oracle.com> References: <55F7119B.4030304@oracle.com> <02CCC4D69F7048018EDECC645152EE16@gmail.com> <55F943FF.3030704@oracle.com> <55FBCAC6.203@oracle.com> Message-ID: Op Fri, 18 Sep 2015 10:26:46 +0200 schreef Alan Bateman : > > On 17/09/2015 22:07, Robert Scholte wrote: >> I can confirm the fix. >> >> thanks! >> >> Robert > Thanks for the confirmation. Just to double check, this is with the > ToolProvider fix rather than the patch to the compiler plugin that one > of Stuart's mails referenced, right? > > As we're exchanging mail, I'm curious as to which plugins are exercised > by your testing, just in case there are other plugins where we might > still run into issues. > > -Alan > > --------------------------------------------------------------------- > To unsubscribe, e-mail: dev-unsubscribe at maven.apache.org > For additional commands, e-mail: dev-help at maven.apache.org > Stuart already closed that pull request[1] since "This has been fixed upstream: http://hg.openjdk.java.net/jigsaw/jake/langtools/rev/948a1770620e" I started building Maven[2] with Maven. Next will be the integrations tests[3] and the maven-plugins[4] That should give a good overview of the compatibility of Maven projects with jigsaw Robert [1] https://github.com/codehaus-plexus/plexus-compiler/pull/13#issuecomment-140565416 [2] https://git-wip-us.apache.org/repos/asf/maven.git [3] https://git-wip-us.apache.org/repos/asf/maven-integration-testing.git [4] https://svn.apache.org/repos/asf/maven/plugins/trunk From chris.hegarty at oracle.com Fri Sep 18 10:42:14 2015 From: chris.hegarty at oracle.com (chris.hegarty at oracle.com) Date: Fri, 18 Sep 2015 10:42:14 +0000 Subject: hg: jigsaw/jake: Revert changes to hgforest.sh since they are no longer required Message-ID: <201509181042.t8IAgEc0026572@aojmv0008.oracle.com> Changeset: f8b8f56a78a2 Author: chegar Date: 2015-09-18 11:41 +0100 URL: http://hg.openjdk.java.net/jigsaw/jake/rev/f8b8f56a78a2 Revert changes to hgforest.sh since they are no longer required ! common/bin/hgforest.sh From james.laskey at oracle.com Fri Sep 18 13:19:24 2015 From: james.laskey at oracle.com (james.laskey at oracle.com) Date: Fri, 18 Sep 2015 13:19:24 +0000 Subject: hg: jigsaw/jake/jdk: Remove last use of jdata Message-ID: <201509181319.t8IDJO4C011008@aojmv0008.oracle.com> Changeset: 0d09d76b56d5 Author: jfdenise Date: 2015-09-18 10:16 -0300 URL: http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/0d09d76b56d5 Remove last use of jdata - src/java.base/share/classes/jdk/internal/jimage/Archive.java - src/java.base/share/classes/jdk/internal/jimage/BasicImageWriter.java - src/java.base/share/classes/jdk/internal/jimage/ExternalFilesWriter.java ! src/java.base/share/classes/jdk/internal/jimage/ImageHeader.java ! src/java.base/share/classes/jdk/internal/jimage/ImageLocationBase.java - src/java.base/share/classes/jdk/internal/jimage/ImageLocationWriter.java ! src/java.base/share/classes/jdk/internal/jimage/ImageModuleData.java - src/java.base/share/classes/jdk/internal/jimage/ImageModuleDataWriter.java ! src/java.base/share/classes/jdk/internal/jimage/ImageReader.java - src/java.base/share/classes/jdk/internal/jimage/ImageResourcesTree.java ! src/java.base/share/classes/jdk/internal/jimage/ImageStream.java ! src/java.base/share/classes/jdk/internal/jimage/ImageStrings.java - src/java.base/share/classes/jdk/internal/jimage/ImageStringsWriter.java - src/java.base/share/classes/jdk/internal/jimage/PerfectHashBuilder.java ! src/java.base/share/classes/jdk/internal/jimage/UTF8String.java ! src/java.base/share/native/libjimage/imageFile.cpp ! src/java.base/share/native/libjimage/imageFile.hpp ! src/jdk.jlink/share/classes/jdk/tools/jimage/ExtractedImage.java ! src/jdk.jlink/share/classes/jdk/tools/jimage/JImageTask.java ! src/jdk.jlink/share/classes/jdk/tools/jlink/JlinkTask.java ! src/jdk.jlink/share/classes/jdk/tools/jlink/internal/DirArchive.java ! src/jdk.jlink/share/classes/jdk/tools/jlink/internal/ExternalFilesWriter.java ! src/jdk.jlink/share/classes/jdk/tools/jlink/internal/ImageFileCreator.java ! src/jdk.jlink/share/classes/jdk/tools/jlink/internal/ImagePluginStack.java ! src/jdk.jlink/share/classes/jdk/tools/jlink/internal/JarArchive.java ! src/jdk.jlink/share/classes/jdk/tools/jlink/internal/JmodArchive.java ! src/jdk.jlink/share/classes/jdk/tools/jlink/internal/ModularJarArchive.java ! src/jdk.jlink/share/classes/jdk/tools/jlink/plugins/DefaultImageBuilder.java ! test/jdk/jigsaw/tools/jimage/JImageTest.java ! test/jdk/jigsaw/tools/jlink/ImageFileCreatorTest.java ! test/jdk/jigsaw/tools/lib/tests/JImageValidator.java From james.laskey at oracle.com Fri Sep 18 13:33:13 2015 From: james.laskey at oracle.com (james.laskey at oracle.com) Date: Fri, 18 Sep 2015 13:33:13 +0000 Subject: hg: jigsaw/jake/jdk: Backed out changeset 0d09d76b56d5 missing file moves Message-ID: <201509181333.t8IDXD9p015618@aojmv0008.oracle.com> Changeset: 756fc7006809 Author: jlaskey Date: 2015-09-18 10:33 -0300 URL: http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/756fc7006809 Backed out changeset 0d09d76b56d5 missing file moves + src/java.base/share/classes/jdk/internal/jimage/Archive.java + src/java.base/share/classes/jdk/internal/jimage/BasicImageWriter.java + src/java.base/share/classes/jdk/internal/jimage/ExternalFilesWriter.java ! src/java.base/share/classes/jdk/internal/jimage/ImageHeader.java ! src/java.base/share/classes/jdk/internal/jimage/ImageLocationBase.java + src/java.base/share/classes/jdk/internal/jimage/ImageLocationWriter.java ! src/java.base/share/classes/jdk/internal/jimage/ImageModuleData.java + src/java.base/share/classes/jdk/internal/jimage/ImageModuleDataWriter.java ! src/java.base/share/classes/jdk/internal/jimage/ImageReader.java + src/java.base/share/classes/jdk/internal/jimage/ImageResourcesTree.java ! src/java.base/share/classes/jdk/internal/jimage/ImageStream.java ! src/java.base/share/classes/jdk/internal/jimage/ImageStrings.java + src/java.base/share/classes/jdk/internal/jimage/ImageStringsWriter.java + src/java.base/share/classes/jdk/internal/jimage/PerfectHashBuilder.java ! src/java.base/share/classes/jdk/internal/jimage/UTF8String.java ! src/java.base/share/native/libjimage/imageFile.cpp ! src/java.base/share/native/libjimage/imageFile.hpp ! src/jdk.jlink/share/classes/jdk/tools/jimage/ExtractedImage.java ! src/jdk.jlink/share/classes/jdk/tools/jimage/JImageTask.java ! src/jdk.jlink/share/classes/jdk/tools/jlink/JlinkTask.java ! src/jdk.jlink/share/classes/jdk/tools/jlink/internal/DirArchive.java ! src/jdk.jlink/share/classes/jdk/tools/jlink/internal/ExternalFilesWriter.java ! src/jdk.jlink/share/classes/jdk/tools/jlink/internal/ImageFileCreator.java ! src/jdk.jlink/share/classes/jdk/tools/jlink/internal/ImagePluginStack.java ! src/jdk.jlink/share/classes/jdk/tools/jlink/internal/JarArchive.java ! src/jdk.jlink/share/classes/jdk/tools/jlink/internal/JmodArchive.java ! src/jdk.jlink/share/classes/jdk/tools/jlink/internal/ModularJarArchive.java ! src/jdk.jlink/share/classes/jdk/tools/jlink/plugins/DefaultImageBuilder.java ! test/jdk/jigsaw/tools/jimage/JImageTest.java ! test/jdk/jigsaw/tools/jlink/ImageFileCreatorTest.java ! test/jdk/jigsaw/tools/lib/tests/JImageValidator.java From mike at duigou.org Wed Sep 16 21:23:14 2015 From: mike at duigou.org (Mike Duigou) Date: Wed, 16 Sep 2015 14:23:14 -0700 Subject: CFV: New Committer: Christian Tornqvist In-Reply-To: References: Message-ID: <67492bd457c6b8da88ded4294ae1b4d6@sonic.net> Vote: YES On 2015-09-16 11:50, jigsaw-dev-request at openjdk.java.net wrote: > Date: Wed, 16 Sep 2015 14:42:39 -0400 > From: Karen Kinnear > To: jigsaw-dev > Subject: CFV: New Committer: Christian Tornqvist > Message-ID: > Content-Type: text/plain; charset=us-ascii > > I hereby nominate Christian Tornqvist to Jigsaw Committer. > > Christian is the hotspot runtime SQE lead and a Reviewer on the jdk9 > project. > Christian has contributed new tests and made extensive changes to the > hotspot tests for jigsaw in the > jigsaw/m3 forest, including adding the ability to test JVM_* APIs via > white box testing, testing > for memory leaks due to class unloading, and modifications to tests to > deal with jigsaw command > line options. > > Votes are due by: September 30, 2015, 7:00 PST. Only current Jigsaw > Committers [1] are eligible to vote on this nomination. Votes must be > cast > in the open by replying to this mailing list. > > For Lazy Consensus voting instructions, see [2]. > > thanks, > Karen > > [1] http://openjdk.java.net/census > [2] http://openjdk.java.net/projects/#committer-vote From rory.odonnell at oracle.com Fri Sep 18 07:55:52 2015 From: rory.odonnell at oracle.com (Rory O'Donnell) Date: Fri, 18 Sep 2015 08:55:52 +0100 Subject: JaCoCo feedback - Re: Project Jigsaw: Early-Access Builds available on jdk9.java.net/jigsaw In-Reply-To: References: <55F06BA0.1010004@oracle.com> Message-ID: <55FBC388.2060507@oracle.com> Hi Evgeny, Thanks for the feedback, glad to hear test suite is passing. The additional size is expected during this testing/feedback period, builds include the JMOD files so that people can trying out the linker. They include the debug info files and finally bundles may not be compressed with the right options. Rgds,Rory On 17/09/2015 23:34, Evgeny Mandrikov wrote: > Hi Rory, > > We can't add JDK9 EA Jigsaw to our automated build matrix, because it > doesn't cache jdk downloads and I noticed that size of distribution is > significantly bigger than size of JDK9 EA - 500 Mb versus 100 Mb. I'm > going to implement caching for build system, but is this increase > expected? > > During manual testing there were some issues with Maven, but seems > that Maven team already takes care of them, and I was able to > workaround them. So that our build and test suite passes without > problems. > > However I think that more closer look on JEPs is required to check > potential side-effects for our users. Marc, maybe you already thought > about this? > > Best regards > > On Wed, Sep 9, 2015 at 7:25 PM, Rory O'Donnell > > wrote: > > > Hi Evgeny, > > Early-access builds of JDK 9 with Project Jigsaw are available for > download at jdk9.java.net/jigsaw . > > The EA builds contain the latest prototype implementation of JSR > 376 , the Java > Platform Module System, > as well as that of the JDK-specific APIs and tools described in > JEP 261 . > > If you'd like to try out the EA builds, by far the most helpful > things you can do are: > > * > > Try to run existing applications, without change, on these > builds to see whether the module system, or the modularization > of the platform, breaks your code or identifies code that > depends upon JDK-internal APIs or other unspecified aspects of > the platform. > > * > > Experiment with the module system itself, perhaps by following > the quick start guide > , and > start thinking about how to migrate existing libraries and > application components to modules. We hope to publish some > specific migration tips shortly. > > Please send usage questions and experience reports to the > jigsaw-dev > list. > Specific suggestions about the design of the module system should > be sent to the JSR 376 Expert Group's comments list > . > > For more information please seen Mark Reinhold's mail [1] > > Rgds,Rory > > [1]http://mail.openjdk.java.net/pipermail/jigsaw-dev/2015-September/004480.html > > -- > Rgds,Rory O'Donnell > Quality Engineering Manager > Oracle EMEA , Dublin, Ireland > > > > > -- > Evgeny Mandrikov aka Godin > http://twitter.com/_godin_ -- Rgds,Rory O'Donnell Quality Engineering Manager Oracle EMEA , Dublin, Ireland From james.laskey at oracle.com Fri Sep 18 15:17:43 2015 From: james.laskey at oracle.com (james.laskey at oracle.com) Date: Fri, 18 Sep 2015 15:17:43 +0000 Subject: hg: jigsaw/jake/jdk: Remove last uses of jdata Message-ID: <201509181517.t8IFHhar014860@aojmv0008.oracle.com> Changeset: 2f4b40659bd1 Author: jfdenise Date: 2015-09-18 12:17 -0300 URL: http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/2f4b40659bd1 Remove last uses of jdata - src/java.base/share/classes/jdk/internal/jimage/ExternalFilesWriter.java ! src/java.base/share/classes/jdk/internal/jimage/ImageHeader.java ! src/java.base/share/classes/jdk/internal/jimage/ImageLocationBase.java - src/java.base/share/classes/jdk/internal/jimage/ImageLocationWriter.java ! src/java.base/share/classes/jdk/internal/jimage/ImageModuleData.java - src/java.base/share/classes/jdk/internal/jimage/ImageModuleDataWriter.java ! src/java.base/share/classes/jdk/internal/jimage/ImageReader.java ! src/java.base/share/classes/jdk/internal/jimage/ImageStream.java ! src/java.base/share/classes/jdk/internal/jimage/ImageStrings.java - src/java.base/share/classes/jdk/internal/jimage/ImageStringsWriter.java - src/java.base/share/classes/jdk/internal/jimage/PerfectHashBuilder.java ! src/java.base/share/classes/jdk/internal/jimage/UTF8String.java ! src/java.base/share/native/libjimage/imageFile.cpp ! src/java.base/share/native/libjimage/imageFile.hpp ! src/jdk.jlink/share/classes/jdk/tools/jimage/ExtractedImage.java ! src/jdk.jlink/share/classes/jdk/tools/jimage/JImageTask.java ! src/jdk.jlink/share/classes/jdk/tools/jlink/JlinkTask.java ! src/jdk.jlink/share/classes/jdk/tools/jlink/internal/Archive.java < src/java.base/share/classes/jdk/internal/jimage/Archive.java ! src/jdk.jlink/share/classes/jdk/tools/jlink/internal/BasicImageWriter.java < src/java.base/share/classes/jdk/internal/jimage/BasicImageWriter.java ! src/jdk.jlink/share/classes/jdk/tools/jlink/internal/DirArchive.java ! src/jdk.jlink/share/classes/jdk/tools/jlink/internal/ExternalFilesWriter.java ! src/jdk.jlink/share/classes/jdk/tools/jlink/internal/ImageFileCreator.java + src/jdk.jlink/share/classes/jdk/tools/jlink/internal/ImageLocationWriter.java ! src/jdk.jlink/share/classes/jdk/tools/jlink/internal/ImagePluginStack.java ! src/jdk.jlink/share/classes/jdk/tools/jlink/internal/ImageResourcesTree.java < src/java.base/share/classes/jdk/internal/jimage/ImageResourcesTree.java + src/jdk.jlink/share/classes/jdk/tools/jlink/internal/ImageStringsWriter.java ! src/jdk.jlink/share/classes/jdk/tools/jlink/internal/JarArchive.java ! src/jdk.jlink/share/classes/jdk/tools/jlink/internal/JmodArchive.java ! src/jdk.jlink/share/classes/jdk/tools/jlink/internal/ModularJarArchive.java + src/jdk.jlink/share/classes/jdk/tools/jlink/internal/PerfectHashBuilder.java ! src/jdk.jlink/share/classes/jdk/tools/jlink/plugins/DefaultImageBuilder.java ! test/jdk/jigsaw/tools/jimage/JImageTest.java ! test/jdk/jigsaw/tools/jlink/ImageFileCreatorTest.java ! test/jdk/jigsaw/tools/lib/tests/JImageValidator.java From james.laskey at oracle.com Fri Sep 18 16:11:39 2015 From: james.laskey at oracle.com (james.laskey at oracle.com) Date: Fri, 18 Sep 2015 16:11:39 +0000 Subject: hg: jigsaw/jake/jdk: find bugs review Message-ID: <201509181611.t8IGBd3m028861@aojmv0008.oracle.com> Changeset: 74be7c7a8257 Author: jfdenise Date: 2015-09-18 13:11 -0300 URL: http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/74be7c7a8257 find bugs review ! src/java.base/share/classes/jdk/internal/jimage/decompressor/CompressIndexes.java ! src/java.base/share/classes/jdk/internal/jimage/decompressor/CompressedResourceHeader.java ! src/java.base/share/classes/jdk/internal/jimage/decompressor/Decompressor.java ! src/java.base/share/classes/jdk/internal/jimage/decompressor/StringSharingDecompressor.java ! src/java.base/share/classes/jdk/internal/jimage/decompressor/ZipDecompressor.java ! src/jdk.jlink/share/classes/jdk/tools/jlink/CommandLine.java ! src/jdk.jlink/share/classes/jdk/tools/jlink/JlinkTask.java ! src/jdk.jlink/share/classes/jdk/tools/jlink/TaskHelper.java ! src/jdk.jlink/share/classes/jdk/tools/jlink/internal/Archive.java ! src/jdk.jlink/share/classes/jdk/tools/jlink/internal/BasicImageWriter.java ! src/jdk.jlink/share/classes/jdk/tools/jlink/internal/DirArchive.java - src/jdk.jlink/share/classes/jdk/tools/jlink/internal/ExternalFilesWriter.java ! src/jdk.jlink/share/classes/jdk/tools/jlink/internal/ImageLocationWriter.java ! src/jdk.jlink/share/classes/jdk/tools/jlink/internal/ImagePluginConfiguration.java ! src/jdk.jlink/share/classes/jdk/tools/jlink/internal/ImagePluginStack.java ! src/jdk.jlink/share/classes/jdk/tools/jlink/internal/ImageResourcesTree.java ! src/jdk.jlink/share/classes/jdk/tools/jlink/internal/JarArchive.java ! src/jdk.jlink/share/classes/jdk/tools/jlink/internal/JmodArchive.java ! src/jdk.jlink/share/classes/jdk/tools/jlink/internal/JvmHandler.java ! src/jdk.jlink/share/classes/jdk/tools/jlink/internal/ModularJarArchive.java ! src/jdk.jlink/share/classes/jdk/tools/jlink/internal/PerfectHashBuilder.java ! src/jdk.jlink/share/classes/jdk/tools/jlink/internal/plugins/FileCopierProvider.java ! src/jdk.jlink/share/classes/jdk/tools/jlink/internal/plugins/OptimizationPlugin.java ! src/jdk.jlink/share/classes/jdk/tools/jlink/internal/plugins/ResourceFilter.java ! src/jdk.jlink/share/classes/jdk/tools/jlink/internal/plugins/SortResourcesPlugin.java ! src/jdk.jlink/share/classes/jdk/tools/jlink/internal/plugins/StringSharingPlugin.java ! src/jdk.jlink/share/classes/jdk/tools/jlink/internal/plugins/asm/AsmPoolImpl.java ! src/jdk.jlink/share/classes/jdk/tools/jlink/internal/plugins/asm/AsmPools.java ! src/jdk.jlink/share/classes/jdk/tools/jlink/internal/plugins/optim/ControlFlow.java ! src/jdk.jlink/share/classes/jdk/tools/jlink/internal/plugins/optim/ForNameFolding.java ! src/jdk.jlink/share/classes/jdk/tools/jlink/plugins/CmdPluginProvider.java ! src/jdk.jlink/share/classes/jdk/tools/jlink/plugins/DefaultImageBuilder.java ! src/jdk.jlink/share/classes/jdk/tools/jlink/plugins/Jlink.java ! src/jdk.jlink/share/classes/jdk/tools/jlink/plugins/ResourcePool.java ! test/jdk/jigsaw/tools/jlink/ImageFileCreatorTest.java From sean.mullan at oracle.com Fri Sep 18 16:38:41 2015 From: sean.mullan at oracle.com (Sean Mullan) Date: Fri, 18 Sep 2015 12:38:41 -0400 Subject: CFV: New Jigsaw Committer: Harold Seigel In-Reply-To: <7F587027-2BDB-4C37-9FD7-01AEBFB17E40@oracle.com> References: <7F587027-2BDB-4C37-9FD7-01AEBFB17E40@oracle.com> Message-ID: <55FC3E11.8010308@oracle.com> Vote: yes --Sean On 09/11/2015 12:31 PM, Karen Kinnear wrote: > > I hereby nominate Harold Seigel to Jigsaw Committer. > > Harold is a member of the hotspot runtime team and a Reviewer on the jdk9 project. > Harold has been contributing to Project Jigsaw in the hotspot runtime for over a > year, including support for the JVM_* interfaces for modules, boot class loader > support for jigsaw and handling jvm bootstrapping issues relative to jigsaw that are > currently prototyped in the jigsaw/jake forest. > > Votes are due by: September 25, 2105 8:00 PST. Only current Jigsaw > Committers [1] are eligible to vote on this nomination. Votes must be > cast in the open by replying to this mailing list. > > For Lazy Consensus voting instructions, see [2] > > thanks, > Karen > [1] http://openjdk.java.net/census > [2] http://openjdk.java.net/projects/#committer-vote > > Harold's changesets for jigsaw/jake: > > http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/065aac05e267 > http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/0f0743393dcb > http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/2779b74ac808 > http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/4399b514d1f6 > http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/4443dde8d089 > http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/46f34d9a3520 > http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/4c251362419a > http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/52aa2e30e139 > http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/5936cfa7957f > http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/5b987349098f > http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/5d446c5f5d87 > http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/5fde03772024 > http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/6742fb545950 > http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/68fec4452b48 > http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/6be1b3b68758 > http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/7227b4dbf763 > http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/83b7f458698f > http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/9889c393adfb > http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/990036fcd63d > http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/9959993748a1 > http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/9be9f81cb8e8 > http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/9ddaf93af7e6 > http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/a38181c2fc6d > http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/a3f86617d287 > http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/a68fdd75403a > http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/b9882cb01d60 > http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/ccd5acdfc183 > http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/dba44c406ceb > http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/e49914e2c4ca > http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/ef26f9d82c61 > http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/fb43f332125d > > http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/06c7768ed452 > http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/0a4072287a82 > http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/200d3d2c3f9e > http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/4feb32b92512 > http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/585b5b96a990 > http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/8ed709fbba55 > http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/8fe7c0be60a2 > From chris.hegarty at oracle.com Fri Sep 18 19:08:39 2015 From: chris.hegarty at oracle.com (chris.hegarty at oracle.com) Date: Fri, 18 Sep 2015 19:08:39 +0000 Subject: hg: jigsaw/jake: 7 new changesets Message-ID: <201509181908.t8IJ8daF012624@aojmv0008.oracle.com> Changeset: 8b56a0ce50f0 Author: ihse Date: 2015-09-09 09:36 +0200 URL: http://hg.openjdk.java.net/jigsaw/jake/rev/8b56a0ce50f0 8065912: Better handling of classpath in build-infra Reviewed-by: erikj ! common/autoconf/spec.gmk.in ! make/CompileJavaModules.gmk ! make/common/JavaCompilation.gmk ! make/common/MakeBase.gmk ! make/common/SetupJavaCompilers.gmk Changeset: 4fb0ae864a1d Author: ihse Date: 2015-09-09 09:44 +0200 URL: http://hg.openjdk.java.net/jigsaw/jake/rev/4fb0ae864a1d 8135180: Print configure arguments using make print-configuration Reviewed-by: erikj ! make/Init.gmk Changeset: f105fbc01fd7 Author: ihse Date: 2015-09-11 10:05 +0200 URL: http://hg.openjdk.java.net/jigsaw/jake/rev/f105fbc01fd7 8064808: Disable use of broken objcopy on Solaris, remove adhoc helper tools Reviewed-by: erikj ! common/autoconf/generated-configure.sh ! common/autoconf/toolchain.m4 ! make/common/NativeCompilation.gmk ! make/common/TestFilesCompilation.gmk Changeset: 42b56d1f4185 Author: lana Date: 2015-09-11 12:59 -0700 URL: http://hg.openjdk.java.net/jigsaw/jake/rev/42b56d1f4185 Merge Changeset: e8bacdee4716 Author: chegar Date: 2015-09-18 15:36 +0100 URL: http://hg.openjdk.java.net/jigsaw/jake/rev/e8bacdee4716 Merge ! common/autoconf/generated-configure.sh ! common/autoconf/spec.gmk.in ! common/autoconf/toolchain.m4 ! make/CompileJavaModules.gmk ! make/common/JavaCompilation.gmk ! make/common/MakeBase.gmk ! make/common/NativeCompilation.gmk ! make/common/SetupJavaCompilers.gmk Changeset: 202fa198f139 Author: lana Date: 2015-09-18 10:46 -0700 URL: http://hg.openjdk.java.net/jigsaw/jake/rev/202fa198f139 Added tag jdk9-b82 for changeset 42b56d1f4185 ! .hgtags Changeset: e936b7385f8a Author: chegar Date: 2015-09-18 19:03 +0100 URL: http://hg.openjdk.java.net/jigsaw/jake/rev/e936b7385f8a Merge From chris.hegarty at oracle.com Fri Sep 18 19:10:03 2015 From: chris.hegarty at oracle.com (chris.hegarty at oracle.com) Date: Fri, 18 Sep 2015 19:10:03 +0000 Subject: hg: jigsaw/jake/corba: 2 new changesets Message-ID: <201509181910.t8IJA3u8012919@aojmv0008.oracle.com> Changeset: bf479079d11f Author: lana Date: 2015-09-18 10:46 -0700 URL: http://hg.openjdk.java.net/jigsaw/jake/corba/rev/bf479079d11f Added tag jdk9-b82 for changeset c20d8ebddaa6 ! .hgtags Changeset: b068e140f000 Author: chegar Date: 2015-09-18 19:03 +0100 URL: http://hg.openjdk.java.net/jigsaw/jake/corba/rev/b068e140f000 Merge From chris.hegarty at oracle.com Fri Sep 18 19:10:08 2015 From: chris.hegarty at oracle.com (chris.hegarty at oracle.com) Date: Fri, 18 Sep 2015 19:10:08 +0000 Subject: hg: jigsaw/jake/jaxp: 2 new changesets Message-ID: <201509181910.t8IJA8sT012974@aojmv0008.oracle.com> Changeset: 497bc2654e11 Author: lana Date: 2015-09-18 10:46 -0700 URL: http://hg.openjdk.java.net/jigsaw/jake/jaxp/rev/497bc2654e11 Added tag jdk9-b82 for changeset 53fe3c103b6f ! .hgtags Changeset: 119b4abb9a0f Author: chegar Date: 2015-09-18 19:03 +0100 URL: http://hg.openjdk.java.net/jigsaw/jake/jaxp/rev/119b4abb9a0f Merge From chris.hegarty at oracle.com Fri Sep 18 19:10:12 2015 From: chris.hegarty at oracle.com (chris.hegarty at oracle.com) Date: Fri, 18 Sep 2015 19:10:12 +0000 Subject: hg: jigsaw/jake/jaxws: 2 new changesets Message-ID: <201509181910.t8IJADSN013034@aojmv0008.oracle.com> Changeset: 23ae315d9fca Author: lana Date: 2015-09-18 10:46 -0700 URL: http://hg.openjdk.java.net/jigsaw/jake/jaxws/rev/23ae315d9fca Added tag jdk9-b82 for changeset 52d9ad2536ba ! .hgtags Changeset: 2819ff777643 Author: chegar Date: 2015-09-18 19:03 +0100 URL: http://hg.openjdk.java.net/jigsaw/jake/jaxws/rev/2819ff777643 Merge From chris.hegarty at oracle.com Fri Sep 18 19:10:19 2015 From: chris.hegarty at oracle.com (chris.hegarty at oracle.com) Date: Fri, 18 Sep 2015 19:10:19 +0000 Subject: hg: jigsaw/jake/langtools: 10 new changesets Message-ID: <201509181910.t8IJAJls013089@aojmv0008.oracle.com> Changeset: 5ba1a29a0eb0 Author: alundblad Date: 2015-09-04 13:24 +0200 URL: http://hg.openjdk.java.net/jigsaw/jake/langtools/rev/5ba1a29a0eb0 8129114: Sjavac should stream back compiler output to the client as soon as it becomes available Summary: Protocol revised, javac output sent back to client slightly earlier. Reviewed-by: jlahoda + src/jdk.compiler/share/classes/com/sun/tools/sjavac/AutoFlushWriter.java ! src/jdk.compiler/share/classes/com/sun/tools/sjavac/CleanProperties.java ! src/jdk.compiler/share/classes/com/sun/tools/sjavac/CompileJavaPackages.java ! src/jdk.compiler/share/classes/com/sun/tools/sjavac/CompileProperties.java ! src/jdk.compiler/share/classes/com/sun/tools/sjavac/CopyFile.java ! src/jdk.compiler/share/classes/com/sun/tools/sjavac/JavacState.java ! src/jdk.compiler/share/classes/com/sun/tools/sjavac/Log.java ! src/jdk.compiler/share/classes/com/sun/tools/sjavac/Transformer.java ! src/jdk.compiler/share/classes/com/sun/tools/sjavac/client/ClientMain.java ! src/jdk.compiler/share/classes/com/sun/tools/sjavac/client/SjavacClient.java ! src/jdk.compiler/share/classes/com/sun/tools/sjavac/comp/PooledSjavac.java ! src/jdk.compiler/share/classes/com/sun/tools/sjavac/comp/SjavacImpl.java - src/jdk.compiler/share/classes/com/sun/tools/sjavac/server/CompilationResult.java ! src/jdk.compiler/share/classes/com/sun/tools/sjavac/server/IdleResetSjavac.java + src/jdk.compiler/share/classes/com/sun/tools/sjavac/server/LinePrefixFilterWriter.java ! src/jdk.compiler/share/classes/com/sun/tools/sjavac/server/RequestHandler.java ! src/jdk.compiler/share/classes/com/sun/tools/sjavac/server/ServerMain.java ! src/jdk.compiler/share/classes/com/sun/tools/sjavac/server/Sjavac.java ! src/jdk.compiler/share/classes/com/sun/tools/sjavac/server/SjavacServer.java ! test/tools/sjavac/IdleShutdown.java ! test/tools/sjavac/PooledExecution.java Changeset: 3059496164ab Author: vromero Date: 2015-09-08 10:36 -0700 URL: http://hg.openjdk.java.net/jigsaw/jake/langtools/rev/3059496164ab 8132806: javac does a naive implementation of some incorporation steps Reviewed-by: jlahoda ! src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Resolve.java Changeset: c14eb253bdd8 Author: vromero Date: 2015-09-08 11:53 -0700 URL: http://hg.openjdk.java.net/jigsaw/jake/langtools/rev/c14eb253bdd8 8135203: javac, patch intended for an issue was pushed with wrong id and message Reviewed-by: jjg ! src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Resolve.java Changeset: 2a035634dcb6 Author: vromero Date: 2015-09-08 11:59 -0700 URL: http://hg.openjdk.java.net/jigsaw/jake/langtools/rev/2a035634dcb6 8073594: javac, before calling rawInstantiate from selectBest the warner should be cleared out Reviewed-by: jlahoda ! src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Resolve.java Changeset: 2d65e99e2ae7 Author: jlahoda Date: 2015-09-10 21:10 +0200 URL: http://hg.openjdk.java.net/jigsaw/jake/langtools/rev/2d65e99e2ae7 8132885: langtools/test/tools/javac/sym/ElementStructureTest.java is also searching default classpath Summary: Explicitly setting classpath when inspecting the platform classes; using the java.util.ServiceLoader instead of the javac's copy Reviewed-by: jjg ! test/tools/javac/sym/ElementStructureTest.java Changeset: 551d797dc863 Author: mcimadamore Date: 2015-09-11 16:27 +0100 URL: http://hg.openjdk.java.net/jigsaw/jake/langtools/rev/551d797dc863 8135246: CheckAttributedTree silently generates spurious compiler error Summary: cyclic inheritance errors should cause shared combo context to be thrown away Reviewed-by: jlahoda ! test/tools/javac/lib/combo/ReusableContext.java Changeset: d68904d5a00e Author: lana Date: 2015-09-11 13:01 -0700 URL: http://hg.openjdk.java.net/jigsaw/jake/langtools/rev/d68904d5a00e Merge - src/jdk.compiler/share/classes/com/sun/tools/sjavac/server/CompilationResult.java Changeset: 1b4ea2ca8cb5 Author: chegar Date: 2015-09-18 15:30 +0100 URL: http://hg.openjdk.java.net/jigsaw/jake/langtools/rev/1b4ea2ca8cb5 Merge ! src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Resolve.java - src/jdk.compiler/share/classes/com/sun/tools/sjavac/server/CompilationResult.java ! test/tools/javac/lib/combo/ReusableContext.java ! test/tools/javac/sym/ElementStructureTest.java Changeset: 59071599f17d Author: lana Date: 2015-09-18 10:46 -0700 URL: http://hg.openjdk.java.net/jigsaw/jake/langtools/rev/59071599f17d Added tag jdk9-b82 for changeset d68904d5a00e ! .hgtags Changeset: 80eba25a11d2 Author: chegar Date: 2015-09-18 19:03 +0100 URL: http://hg.openjdk.java.net/jigsaw/jake/langtools/rev/80eba25a11d2 Merge ! .hgtags From chris.hegarty at oracle.com Fri Sep 18 19:10:35 2015 From: chris.hegarty at oracle.com (chris.hegarty at oracle.com) Date: Fri, 18 Sep 2015 19:10:35 +0000 Subject: hg: jigsaw/jake/jdk: 53 new changesets Message-ID: <201509181910.t8IJAacA013182@aojmv0008.oracle.com> Changeset: 387dcffa2a0a Author: igerasim Date: 2015-09-04 15:28 +0300 URL: http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/387dcffa2a0a 8132082: Let OracleUcrypto accept RSAPrivateKey Reviewed-by: xuelei, valeriep, coffeys Contributed-by: valerie.peng at oracle.com ! make/mapfiles/libj2ucrypto/mapfile-vers ! src/jdk.crypto.ucrypto/solaris/classes/com/oracle/security/ucrypto/NativeKey.java ! src/jdk.crypto.ucrypto/solaris/classes/com/oracle/security/ucrypto/NativeRSACipher.java ! src/jdk.crypto.ucrypto/solaris/classes/com/oracle/security/ucrypto/NativeRSAKeyFactory.java ! src/jdk.crypto.ucrypto/solaris/classes/com/oracle/security/ucrypto/NativeRSASignature.java ! src/jdk.crypto.ucrypto/solaris/native/libj2ucrypto/nativeCrypto.c ! test/com/oracle/security/ucrypto/CipherSignNotSupported.java Changeset: de451d90c53e Author: jnimeh Date: 2015-09-04 09:31 -0700 URL: http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/de451d90c53e 8134364: Add defensive copies to get/set methods for OCSPNonceExtension Summary: Make OCSPNonceExtension immutable, add defensive copies Reviewed-by: xuelei, mullan ! src/java.base/share/classes/sun/security/provider/certpath/OCSPNonceExtension.java ! test/sun/security/provider/certpath/Extensions/OCSPNonceExtensionTests.java Changeset: a08b835d32ba Author: jbachorik Date: 2015-09-04 12:18 +0200 URL: http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/a08b835d32ba 8134420: sun/tools/jps/TestJpsClass fails with java.lang.RuntimeException: The line 'line 2' does not match pattern '^\\d+\\s+.*': expected true, was false Reviewed-by: sla, dsamersoff ! src/jdk.jcmd/share/classes/sun/tools/jps/Jps.java ! test/ProblemList.txt ! test/sun/tools/jps/JpsBase.java ! test/sun/tools/jps/JpsHelper.java Changeset: ca461a33aa8b Author: valeriep Date: 2015-09-04 19:55 +0000 URL: http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/ca461a33aa8b 8130875: Ucrypto library leaks memory when null output buffer is specified Summary: Avoid null output buffer to work around Solaris memory leak bug in Ucrypto library Reviewed-by: ascarpino ! src/jdk.crypto.ucrypto/solaris/native/libj2ucrypto/nativeCrypto.c Changeset: 4226ee94c70d Author: bpb Date: 2015-09-04 14:16 -0700 URL: http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/4226ee94c70d 8135091: (fs) java/nio/file/Files/StreamLinesTest.java should test empty files Summary: In lines() add zero length case and rearrange first loop to avoid duplicate cases. Reviewed-by: rriggs ! test/java/nio/file/Files/StreamLinesTest.java Changeset: 9a1abc6aada3 Author: dfuchs Date: 2015-09-07 10:37 +0200 URL: http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/9a1abc6aada3 8080486: JNI exception pending in jdk/src/java.base/windows/native/libnet/DualStackPlainSocketImpl.c Reviewed-by: alanb, chegar, igerasim Contributed-by: vyom.tewari at oracle.com ! src/java.base/share/native/libnet/InetAddress.c ! src/java.base/windows/native/libnet/DualStackPlainSocketImpl.c Changeset: a978b903ad5d Author: serb Date: 2015-08-18 15:51 +0300 URL: http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/a978b903ad5d 8059743: Incorrect assumtion in javax\sound\midi\Gervill\SoftProvider\GetDevice.java Reviewed-by: alexsch, amenkov ! test/javax/sound/midi/Gervill/SoftProvider/GetDevice.java + test/javax/sound/midi/MidiDeviceProvider/FakeInfo.java Changeset: 1c7b7e6e1831 Author: kshefov Date: 2015-08-18 20:42 +0300 URL: http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/1c7b7e6e1831 8017187: [TEST BUG] [macosx] After click "test",the case failed automatically with thrown exception in the log since jdk8b75 Reviewed-by: alexsch, serb Contributed-by: nadeesh.tv at oracle.com + test/javax/swing/JMenu/4213634/bug4213634.java Changeset: 59d798c30a59 Author: alexsch Date: 2015-08-19 09:54 +0400 URL: http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/59d798c30a59 8131339: [macosx] setMaximizedBounds() doesn't work for undecorated Frame Reviewed-by: serb ! src/java.desktop/macosx/classes/sun/lwawt/LWWindowPeer.java ! src/java.desktop/macosx/classes/sun/lwawt/macosx/CPlatformWindow.java ! test/java/awt/Frame/SetMaximizedBounds/SetMaximizedBounds.java Changeset: 97f1c1c13164 Author: serb Date: 2015-08-20 13:33 +0300 URL: http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/97f1c1c13164 8067087: Fix mac-specific deprecation warnings in the java.desktop module Reviewed-by: azvegint, alexsch ! src/java.desktop/macosx/classes/com/apple/laf/AquaComboBoxButton.java ! src/java.desktop/macosx/classes/com/apple/laf/AquaInternalFrameDockIconUI.java ! src/java.desktop/macosx/classes/sun/java2d/OSXSurfaceData.java Changeset: a65750476441 Author: serb Date: 2015-08-20 13:46 +0300 URL: http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/a65750476441 8077270: Missed test data in the test on java.beans.BeanProperty Reviewed-by: alexsch ! test/java/beans/Introspector/4058433/TestBeanProperty.java Changeset: 9cad345fb47b Author: ptbrunet Date: 2015-08-20 13:00 -0500 URL: http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/9cad345fb47b 8133897: IndexOutOfBounds exception being thrown Summary: In JTabbedPane.Page.getBounds return null when indexOfTab returns -1 Reviewed-by: azvegint, alexsch Contributed-by: peter.brunet at oracle.com ! src/java.desktop/share/classes/javax/swing/JTabbedPane.java Changeset: 625fe560c7c1 Author: serb Date: 2015-08-21 20:59 +0300 URL: http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/625fe560c7c1 8133926: No frame icon for InternalFrame in Windows LaF Reviewed-by: azvegint, alexsch ! src/java.desktop/share/classes/com/sun/java/swing/plaf/windows/WindowsLookAndFeel.java + test/javax/swing/UIDefaults/8133926/InternalFrameIcon.java Changeset: 65aa0b028425 Author: alexsch Date: 2015-08-24 16:06 +0400 URL: http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/65aa0b028425 6302464: Allow programmatic enabling of subpixel anti-aliasing in Swing on ANY platform Reviewed-by: serb, azvegint ! src/java.desktop/macosx/classes/com/apple/laf/AquaLookAndFeel.java ! src/java.desktop/share/classes/com/sun/java/swing/plaf/gtk/GTKLookAndFeel.java ! src/java.desktop/share/classes/com/sun/java/swing/plaf/gtk/GTKStyle.java ! src/java.desktop/share/classes/com/sun/java/swing/plaf/windows/WindowsLookAndFeel.java ! src/java.desktop/share/classes/javax/swing/JComponent.java ! src/java.desktop/share/classes/javax/swing/plaf/basic/BasicInternalFrameTitlePane.java ! src/java.desktop/share/classes/javax/swing/plaf/metal/MetalLookAndFeel.java ! src/java.desktop/share/classes/javax/swing/plaf/synth/SynthLookAndFeel.java ! src/java.desktop/share/classes/sun/swing/SwingUtilities2.java + test/javax/swing/UIDefaults/6302464/bug6302464.java Changeset: d3ed8a8388b1 Author: serb Date: 2015-08-25 13:03 +0300 URL: http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/d3ed8a8388b1 8131921: Pluggable EventQueue in modular JDK Reviewed-by: azvegint, alexsch ! src/java.desktop/share/classes/sun/awt/SunToolkit.java Changeset: c126a0bdb122 Author: serb Date: 2015-08-26 18:03 +0300 URL: http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/c126a0bdb122 8047226: closed/java/awt/Component/GetScreenLocTest/GetScreenLocTest.html clicks on Unity's tool bar Reviewed-by: azvegint, alexsch + test/java/awt/Component/GetScreenLocTest/GetScreenLocTest.java Changeset: 113246aec5a4 Author: alexsch Date: 2015-08-26 17:21 +0400 URL: http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/113246aec5a4 8051548: JColorChooser should have a way to disable transparency controls Reviewed-by: prr, serb ! src/java.desktop/share/classes/javax/swing/JColorChooser.java ! src/java.desktop/share/classes/javax/swing/colorchooser/AbstractColorChooserPanel.java ! src/java.desktop/share/classes/javax/swing/colorchooser/ColorChooserPanel.java ! src/java.desktop/share/classes/javax/swing/colorchooser/ColorPanel.java ! src/java.desktop/share/classes/javax/swing/colorchooser/SlidingSpinner.java + test/javax/swing/JColorChooser/Test8051548.java Changeset: f65605f4719b Author: ddehaven Date: 2015-08-25 14:32 -0700 URL: http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/f65605f4719b Merge - make/copy/Copy-jdk.hprof.agent.gmk - make/launcher/Launcher-jdk.scripting.nashorn.gmk - make/lib/Lib-jdk.hprof.agent.gmk - make/mapfiles/libhprof/mapfile-vers - make/mapfiles/libjava_crw_demo/mapfile-vers - src/jdk.deploy.osx/macosx/classes/apple/security/AppleProvider.java - src/jdk.deploy.osx/macosx/classes/apple/security/KeychainStore.java - src/jdk.deploy.osx/macosx/native/libosx/KeystoreImpl.m - src/jdk.hprof.agent/aix/native/libhprof/porting_aix.c - src/jdk.hprof.agent/aix/native/libhprof/porting_aix.h - src/jdk.hprof.agent/share/classes/com/sun/demo/jvmti/hprof/Tracker.java - src/jdk.hprof.agent/share/native/libhprof/README.txt - src/jdk.hprof.agent/share/native/libhprof/debug_malloc.c - src/jdk.hprof.agent/share/native/libhprof/debug_malloc.h - src/jdk.hprof.agent/share/native/libhprof/hprof.h - src/jdk.hprof.agent/share/native/libhprof/hprof_b_spec.h - src/jdk.hprof.agent/share/native/libhprof/hprof_blocks.c - src/jdk.hprof.agent/share/native/libhprof/hprof_blocks.h - src/jdk.hprof.agent/share/native/libhprof/hprof_check.c - src/jdk.hprof.agent/share/native/libhprof/hprof_check.h - src/jdk.hprof.agent/share/native/libhprof/hprof_class.c - src/jdk.hprof.agent/share/native/libhprof/hprof_class.h - src/jdk.hprof.agent/share/native/libhprof/hprof_cpu.c - src/jdk.hprof.agent/share/native/libhprof/hprof_cpu.h - src/jdk.hprof.agent/share/native/libhprof/hprof_error.c - src/jdk.hprof.agent/share/native/libhprof/hprof_error.h - src/jdk.hprof.agent/share/native/libhprof/hprof_event.c - src/jdk.hprof.agent/share/native/libhprof/hprof_event.h - src/jdk.hprof.agent/share/native/libhprof/hprof_frame.c - src/jdk.hprof.agent/share/native/libhprof/hprof_frame.h - src/jdk.hprof.agent/share/native/libhprof/hprof_init.c - src/jdk.hprof.agent/share/native/libhprof/hprof_init.h - src/jdk.hprof.agent/share/native/libhprof/hprof_io.c - src/jdk.hprof.agent/share/native/libhprof/hprof_io.h - src/jdk.hprof.agent/share/native/libhprof/hprof_ioname.c - src/jdk.hprof.agent/share/native/libhprof/hprof_ioname.h - src/jdk.hprof.agent/share/native/libhprof/hprof_listener.c - src/jdk.hprof.agent/share/native/libhprof/hprof_listener.h - src/jdk.hprof.agent/share/native/libhprof/hprof_loader.c - src/jdk.hprof.agent/share/native/libhprof/hprof_loader.h - src/jdk.hprof.agent/share/native/libhprof/hprof_md.h - src/jdk.hprof.agent/share/native/libhprof/hprof_monitor.c - src/jdk.hprof.agent/share/native/libhprof/hprof_monitor.h - src/jdk.hprof.agent/share/native/libhprof/hprof_object.c - src/jdk.hprof.agent/share/native/libhprof/hprof_object.h - src/jdk.hprof.agent/share/native/libhprof/hprof_reference.c - src/jdk.hprof.agent/share/native/libhprof/hprof_reference.h - src/jdk.hprof.agent/share/native/libhprof/hprof_site.c - src/jdk.hprof.agent/share/native/libhprof/hprof_site.h - src/jdk.hprof.agent/share/native/libhprof/hprof_stack.c - src/jdk.hprof.agent/share/native/libhprof/hprof_stack.h - src/jdk.hprof.agent/share/native/libhprof/hprof_string.c - src/jdk.hprof.agent/share/native/libhprof/hprof_string.h - src/jdk.hprof.agent/share/native/libhprof/hprof_table.c - src/jdk.hprof.agent/share/native/libhprof/hprof_table.h - src/jdk.hprof.agent/share/native/libhprof/hprof_tag.c - src/jdk.hprof.agent/share/native/libhprof/hprof_tag.h - src/jdk.hprof.agent/share/native/libhprof/hprof_tls.c - src/jdk.hprof.agent/share/native/libhprof/hprof_tls.h - src/jdk.hprof.agent/share/native/libhprof/hprof_trace.c - src/jdk.hprof.agent/share/native/libhprof/hprof_trace.h - src/jdk.hprof.agent/share/native/libhprof/hprof_tracker.c - src/jdk.hprof.agent/share/native/libhprof/hprof_tracker.h - src/jdk.hprof.agent/share/native/libhprof/hprof_util.c - src/jdk.hprof.agent/share/native/libhprof/hprof_util.h - src/jdk.hprof.agent/share/native/libhprof/jvm.hprof.txt - src/jdk.hprof.agent/share/native/libhprof/manual.html - src/jdk.hprof.agent/unix/native/libhprof/hprof_md.c - src/jdk.hprof.agent/windows/native/libhprof/hprof_md.c Changeset: ff6197f18756 Author: ddehaven Date: 2015-08-26 09:07 -0700 URL: http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/ff6197f18756 Merge Changeset: 4473fc82087c Author: avstepan Date: 2015-08-27 18:09 +0300 URL: http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/4473fc82087c 8133807: java.desktop docs: replace some invalid "@returns" tags Reviewed-by: alexsch ! src/java.datatransfer/share/classes/java/awt/datatransfer/MimeType.java ! src/java.desktop/share/classes/java/awt/MultipleGradientPaintContext.java ! src/java.desktop/share/classes/java/awt/Toolkit.java ! src/java.desktop/share/classes/javax/swing/plaf/LayerUI.java ! src/java.desktop/share/classes/javax/swing/text/rtf/RTFReader.java ! src/java.desktop/share/classes/sun/awt/shell/DefaultShellFolder.java ! src/java.desktop/share/classes/sun/awt/shell/ShellFolder.java ! src/java.desktop/share/classes/sun/print/PSPrinterJob.java ! src/java.desktop/share/classes/sun/print/RasterPrinterJob.java ! src/java.desktop/unix/classes/sun/awt/X11/MotifDnDDragSourceProtocol.java ! src/java.desktop/unix/classes/sun/awt/X11/XDnDDragSourceProtocol.java ! src/java.desktop/unix/classes/sun/awt/X11/XDragSourceContextPeer.java ! src/java.desktop/unix/classes/sun/awt/X11/XDragSourceProtocol.java ! src/java.desktop/unix/classes/sun/awt/X11InputMethod.java ! src/java.desktop/windows/classes/sun/awt/Win32GraphicsEnvironment.java ! src/java.desktop/windows/classes/sun/awt/windows/WPrinterJob.java ! src/java.desktop/windows/classes/sun/java2d/d3d/D3DScreenUpdateManager.java Changeset: 85c43e609075 Author: serb Date: 2015-08-28 14:54 +0300 URL: http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/85c43e609075 8134603: Incorrect destination is used in CGLLayer surface Reviewed-by: azvegint, alexsch ! src/java.desktop/macosx/classes/sun/java2d/opengl/CGLLayer.java + test/sun/java2d/SunGraphics2D/SurfaceDestination/SurfaceDestination.java Changeset: d333f627323c Author: serb Date: 2015-08-31 16:56 +0300 URL: http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/d333f627323c 8076178: [macosx] Few open swing and awt reg-tests fail after their update to avoid SunToolkit.realSync Reviewed-by: azvegint, yan ! src/java.desktop/share/classes/java/awt/Robot.java Changeset: 8775feb3fef2 Author: serb Date: 2015-08-29 12:58 +0300 URL: http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/8775feb3fef2 4339584: Adding a getUI public method to JComponent Reviewed-by: azvegint, alexsch ! src/java.desktop/share/classes/javax/swing/JComponent.java + test/javax/swing/JComponent/4339584/GetUI.java Changeset: 9767a40f2708 Author: prr Date: 2015-08-31 11:29 -0700 URL: http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/9767a40f2708 Merge - src/java.base/unix/classes/sun/nio/fs/GnomeFileTypeDetector.java - src/java.base/unix/native/libnio/fs/GnomeFileTypeDetector.c Changeset: 9e9778ea602a Author: alexsch Date: 2015-09-01 09:40 +0400 URL: http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/9e9778ea602a 8134721: NPE in SwingUtilities2.drawChars after JDK-6302464 Reviewed-by: serb, azvegint ! src/java.desktop/share/classes/sun/swing/SwingUtilities2.java + test/javax/swing/text/Utilities/8134721/bug8134721.java Changeset: 3aef124b3176 Author: yan Date: 2015-09-01 11:03 +0300 URL: http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/3aef124b3176 8132376: Add @requires os.family to the client tests with access to internal OS-specific API Reviewed-by: yan, alexsch Contributed-by: Renjith Alexander ! test/com/apple/eawt/DefaultMenuBar/DefaultMenuBarTest.java + test/java/awt/EmbeddedFrame/DisplayChangedTest/DisplayChangedTest.java + test/java/awt/EmbeddedFrame/EmbeddedFrameGrabTest/EmbeddedFrameGrabTest.java ! test/java/awt/Mouse/EnterExitEvents/FullscreenEnterEventTest.java ! test/java/awt/SplashScreen/FullscreenAfterSplash/FullScreenAfterSplash.java Changeset: d06ae7ff8afd Author: prr Date: 2015-09-08 11:47 -0700 URL: http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/d06ae7ff8afd Merge ! src/java.desktop/macosx/classes/com/apple/laf/AquaLookAndFeel.java Changeset: cef7f168def1 Author: valeriep Date: 2015-09-08 22:14 +0000 URL: http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/cef7f168def1 8135099: 9-dev solaris builds failed on 2015-09-04 Summary: Fixed the compilation warning which broken the build. Reviewed-by: vinnie ! src/jdk.crypto.ucrypto/solaris/native/libj2ucrypto/nativeCrypto.c Changeset: e294ae9fe11c Author: ihse Date: 2015-09-09 09:36 +0200 URL: http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/e294ae9fe11c 8065912: Better handling of classpath in build-infra Reviewed-by: erikj ! make/Tools.gmk ! make/gensrc/GensrcSwing.gmk ! make/rmic/RmicCommon.gmk Changeset: b8ceaba10dfe Author: dholmes Date: 2015-09-09 04:02 -0400 URL: http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/b8ceaba10dfe 8133611: Remove java/util/concurrent/locks/ReentrantLock/TimeoutLockLoops.java from problem list Reviewed-by: darcy ! test/ProblemList.txt ! test/java/util/concurrent/locks/ReentrantLock/TimeoutLockLoops.java Changeset: 25e1b15a5e71 Author: asmotrak Date: 2015-09-09 12:39 +0300 URL: http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/25e1b15a5e71 8134708: Certpath validation fails to load certs and CRLs if AIA and CRLDP extensions point to LDAP resources Reviewed-by: mullan, coffeys ! src/java.base/share/classes/sun/security/provider/certpath/DistributionPointFetcher.java ! src/java.base/share/classes/sun/security/provider/certpath/URICertStore.java ! src/java.naming/share/classes/sun/security/provider/certpath/ldap/LDAPCertStore.java + test/sun/security/x509/URICertStore/ExtensionsWithLDAP.java + test/sun/security/x509/URICertStore/META-INF/services/sun.net.spi.nameservice.NameServiceDescriptor Changeset: 3884ca98c792 Author: igerasim Date: 2015-09-09 16:33 +0300 URL: http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/3884ca98c792 8072466: Deadlock when initializing MulticastSocket and DatagramSocket Reviewed-by: chegar ! make/mapfiles/libnet/mapfile-vers ! src/java.base/share/classes/java/net/AbstractPlainDatagramSocketImpl.java ! src/java.base/unix/classes/java/net/PlainDatagramSocketImpl.java - src/java.base/unix/native/libnet/AbstractPlainDatagramSocketImpl.c ! src/java.base/unix/native/libnet/PlainDatagramSocketImpl.c ! src/java.base/windows/classes/java/net/DefaultDatagramSocketImplFactory.java ! src/java.base/windows/classes/java/net/DualStackPlainDatagramSocketImpl.java ! src/java.base/windows/classes/java/net/TwoStacksPlainDatagramSocketImpl.java - src/java.base/windows/native/libnet/AbstractPlainDatagramSocketImpl.c ! src/java.base/windows/native/libnet/DualStackPlainDatagramSocketImpl.c ! src/java.base/windows/native/libnet/TwoStacksPlainDatagramSocketImpl.c + test/java/net/MulticastSocket/MultiDead.java Changeset: ab34efc88ca0 Author: redestad Date: 2015-08-28 13:40 +0200 URL: http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/ab34efc88ca0 8134583: sun.management.HotspotCompilation should handle absence of per-thread perf counters Reviewed-by: jbachorik, neliasso ! src/java.management/share/classes/sun/management/HotspotCompilation.java Changeset: 4e631cc0c9e0 Author: amurillo Date: 2015-09-03 15:48 -0700 URL: http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/4e631cc0c9e0 Merge Changeset: 18334b51a447 Author: amurillo Date: 2015-09-08 15:39 -0700 URL: http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/18334b51a447 Merge Changeset: 816559b6e51b Author: amurillo Date: 2015-09-09 08:33 -0700 URL: http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/816559b6e51b Merge - src/java.base/unix/native/libnet/AbstractPlainDatagramSocketImpl.c - src/java.base/windows/native/libnet/AbstractPlainDatagramSocketImpl.c Changeset: 225c6cac8cf9 Author: rriggs Date: 2015-09-09 16:12 -0400 URL: http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/225c6cac8cf9 8135094: (process) java/lang/ProcessHandle/InfoTest fails testing commandLine() Reviewed-by: chegar, simonis ! test/java/lang/ProcessHandle/InfoTest.java Changeset: c92b397f373a Author: tyan Date: 2015-09-09 21:57 +0000 URL: http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/c92b397f373a 8044199: Tests for RSA keys and key specifications Summary: added various tests for SunRsaSign provider Reviewed-by: valeriep + test/sun/security/rsa/KeySizeTest.java + test/sun/security/rsa/PrivateKeyEqualityTest.java + test/sun/security/rsa/SignatureTest.java + test/sun/security/rsa/SpecTest.java Changeset: d49f065a1541 Author: naoto Date: 2015-09-09 18:17 -0700 URL: http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/d49f065a1541 8134384: Continuation of JDK-8130845 : A date string created by Date#toString() is not parseable neither with ENGLISH, US nor ROOT locale Reviewed-by: okutsu ! make/src/classes/build/tools/cldrconverter/Bundle.java ! make/src/classes/build/tools/cldrconverter/CLDRConverter.java ! test/sun/util/resources/TimeZone/Bug6377794.java + test/sun/util/resources/cldr/Bug8134384.java Changeset: da4a7b180e51 Author: simonis Date: 2015-09-10 11:44 +0200 URL: http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/da4a7b180e51 8135271: Add missing "-client IGNORE" to jvm.cfg file for ppc64 Reviewed-by: rriggs ! src/java.base/unix/conf/ppc64/jvm.cfg Changeset: f36fe8adbbd4 Author: dfuchs Date: 2015-09-10 17:14 +0200 URL: http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/f36fe8adbbd4 8080402: File Leak in jdk/src/java.base/share/classes/sun/net/sdp/SdpSupport.java Reviewed-by: alanb, chegar, igerasim, msheppar Contributed-by: vyom.tewari at oracle.com ! src/java.base/unix/native/libnet/SdpSupport.c Changeset: 4b948e5a3e77 Author: simonis Date: 2015-09-10 17:56 +0200 URL: http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/4b948e5a3e77 8134505: Cleanup of "TimeZone_md.c" Reviewed-by: rriggs, dsamersoff, simonis Contributed-by: christoph.langer at sap.com ! src/java.base/unix/native/libjava/TimeZone_md.c Changeset: 56cc614c57f5 Author: naoto Date: 2015-09-10 16:50 -0700 URL: http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/56cc614c57f5 8134915: Improve performance of CLDRLocaleProviderAdapter.getCandidateLocales Reviewed-by: okutsu ! make/src/classes/build/tools/cldrconverter/ResourceBundleGenerator.java ! src/java.base/share/classes/sun/util/cldr/CLDRLocaleProviderAdapter.java Changeset: 44726c68a2b4 Author: ihse Date: 2015-09-11 10:06 +0200 URL: http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/44726c68a2b4 8064808: Disable use of broken objcopy on Solaris, remove adhoc helper tools Reviewed-by: erikj ! make/Tools.gmk ! make/launcher/LauncherCommon.gmk ! make/lib/LibCommon.gmk - make/src/native/add_gnu_debuglink/add_gnu_debuglink.c - make/src/native/fix_empty_sec_hdr_flags/fix_empty_sec_hdr_flags.c Changeset: a65de09f671f Author: asmotrak Date: 2015-09-11 13:44 +0300 URL: http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/a65de09f671f 8075299: Additional tests for 6857795 Reviewed-by: weijun + test/sun/security/krb5/auto/KrbTicket.java + test/sun/security/krb5/auto/tools/KinitConfPlusProps.java Changeset: 85ab1d542026 Author: rriggs Date: 2015-09-11 09:25 -0400 URL: http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/85ab1d542026 8133552: java/lang/ProcessHandle/InfoTest.java fails intermittently - incorrect user 8133809: Remove java/lang/ProcessHandle/InfoTest.java from the Problem List Reviewed-by: darcy, chegar, simonis ! src/java.base/linux/native/libjava/ProcessHandleImpl_linux.c ! test/ProblemList.txt ! test/java/lang/ProcessHandle/InfoTest.java Changeset: b10b64263b56 Author: lana Date: 2015-09-11 13:00 -0700 URL: http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/b10b64263b56 Merge - make/src/native/add_gnu_debuglink/add_gnu_debuglink.c - make/src/native/fix_empty_sec_hdr_flags/fix_empty_sec_hdr_flags.c - src/java.base/unix/native/libnet/AbstractPlainDatagramSocketImpl.c - src/java.base/windows/native/libnet/AbstractPlainDatagramSocketImpl.c Changeset: 105b71d987b5 Author: chegar Date: 2015-09-18 15:34 +0100 URL: http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/105b71d987b5 Merge ! make/Tools.gmk ! make/gensrc/GensrcSwing.gmk ! make/launcher/LauncherCommon.gmk ! make/lib/LibCommon.gmk ! make/rmic/RmicCommon.gmk - make/src/native/add_gnu_debuglink/add_gnu_debuglink.c - make/src/native/fix_empty_sec_hdr_flags/fix_empty_sec_hdr_flags.c ! src/java.base/share/classes/sun/util/cldr/CLDRLocaleProviderAdapter.java - src/java.base/unix/native/libnet/AbstractPlainDatagramSocketImpl.c - src/java.base/windows/native/libnet/AbstractPlainDatagramSocketImpl.c ! src/java.desktop/share/classes/java/awt/Toolkit.java ! src/jdk.crypto.ucrypto/solaris/classes/com/oracle/security/ucrypto/NativeRSASignature.java ! test/ProblemList.txt ! test/sun/security/provider/certpath/Extensions/OCSPNonceExtensionTests.java Changeset: 79462adffc3c Author: chegar Date: 2015-09-18 18:59 +0100 URL: http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/79462adffc3c Add @modules to test/sun/security/x509/URICertStore/ExtensionsWithLDAP.java ! test/sun/security/x509/URICertStore/ExtensionsWithLDAP.java Changeset: 49e0102a2f95 Author: chegar Date: 2015-09-18 19:00 +0100 URL: http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/49e0102a2f95 Fix merge issue ! src/java.base/share/classes/sun/util/cldr/CLDRLocaleProviderAdapter.java Changeset: 970baebaffd0 Author: lana Date: 2015-09-18 10:46 -0700 URL: http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/970baebaffd0 Added tag jdk9-b82 for changeset b10b64263b56 ! .hgtags Changeset: 5b135590462a Author: chegar Date: 2015-09-18 19:03 +0100 URL: http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/5b135590462a Merge ! .hgtags Changeset: 3eb80b5c98ed Author: chegar Date: 2015-09-18 19:08 +0100 URL: http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/3eb80b5c98ed Merge - src/java.base/share/classes/jdk/internal/jimage/Archive.java - src/java.base/share/classes/jdk/internal/jimage/BasicImageWriter.java - src/java.base/share/classes/jdk/internal/jimage/ExternalFilesWriter.java - src/java.base/share/classes/jdk/internal/jimage/ImageLocationWriter.java - src/java.base/share/classes/jdk/internal/jimage/ImageModuleDataWriter.java - src/java.base/share/classes/jdk/internal/jimage/ImageResourcesTree.java - src/java.base/share/classes/jdk/internal/jimage/ImageStringsWriter.java - src/java.base/share/classes/jdk/internal/jimage/PerfectHashBuilder.java - src/jdk.jlink/share/classes/jdk/tools/jlink/internal/ExternalFilesWriter.java From chris.hegarty at oracle.com Fri Sep 18 19:10:43 2015 From: chris.hegarty at oracle.com (chris.hegarty at oracle.com) Date: Fri, 18 Sep 2015 19:10:43 +0000 Subject: hg: jigsaw/jake/hotspot: 8 new changesets Message-ID: <201509181910.t8IJAhFl013243@aojmv0008.oracle.com> Changeset: 2e70148efaa5 Author: roland Date: 2015-08-26 12:43 +0200 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/2e70148efaa5 8134288: compiler/runtime/6859338/Test6859338.java crashes in PhaseIdealLoop::try_move_store_after_loop Summary: Store nodes may not have a control if used to update profiling Reviewed-by: kvn ! src/share/vm/opto/loopopts.cpp + test/compiler/TestMoveStoresOutOfLoopsStoreNoCtrl.java Changeset: 9df4555d2d7d Author: thartmann Date: 2015-08-31 13:49 +0200 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/9df4555d2d7d 8134493: Cleaning inline caches of unloaded nmethods should be done in sweeper Summary: Clean ICs of unloaded nmethods in sweeper to avoid impact on safepoint duration. Reviewed-by: kvn, mdoerr ! src/share/vm/code/codeCache.cpp ! src/share/vm/code/compiledIC.cpp ! src/share/vm/code/compiledIC.hpp ! src/share/vm/code/nmethod.cpp ! src/share/vm/code/nmethod.hpp ! src/share/vm/runtime/sweeper.cpp Changeset: 36208147039b Author: shade Date: 2015-09-01 12:57 +0300 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/36208147039b 8076758: new StringBuilder().append(String).toString() should be recognized by OptimizeStringConcat Reviewed-by: kvn, thartmann ! src/share/vm/opto/stringopts.cpp Changeset: def98b57e3ce Author: amurillo Date: 2015-09-08 15:39 -0700 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/def98b57e3ce Merge Changeset: 1c453a12be30 Author: lana Date: 2015-09-11 13:00 -0700 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/1c453a12be30 Merge Changeset: db932780a98d Author: chegar Date: 2015-09-18 15:35 +0100 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/db932780a98d Merge Changeset: 779012e87268 Author: lana Date: 2015-09-18 10:46 -0700 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/779012e87268 Added tag jdk9-b82 for changeset 1c453a12be30 ! .hgtags Changeset: 5cba7ed9bde2 Author: chegar Date: 2015-09-18 19:03 +0100 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/5cba7ed9bde2 Merge ! .hgtags From chris.hegarty at oracle.com Fri Sep 18 19:10:50 2015 From: chris.hegarty at oracle.com (chris.hegarty at oracle.com) Date: Fri, 18 Sep 2015 19:10:50 +0000 Subject: hg: jigsaw/jake/nashorn: 16 new changesets Message-ID: <201509181910.t8IJAorC013331@aojmv0008.oracle.com> Changeset: bfe6bd5d57bf Author: sundar Date: 2015-09-04 17:11 +0530 URL: http://hg.openjdk.java.net/jigsaw/jake/nashorn/rev/bfe6bd5d57bf 8135054: Add more samples to nashorn samples directory Reviewed-by: mhaupt, hannesw + samples/EvalWithArbitraryThis.java + samples/EvalWithArbitraryThis.java.orig + samples/LambdaAsFunc.java + samples/Main.asm + samples/Main.class + samples/PrintToString.java + samples/array_removeif.js + samples/bind_on_java.js + samples/call_bind_java.js + samples/check_nashorn.js + samples/datetime.js + samples/defaults.js + samples/find_max_lines.js + samples/fixed_point.js + samples/importstatic.js + samples/java_completion.js + samples/jrtlist.js + samples/mothers_day.js + samples/passwordgen.js + samples/print_symlinks.js + samples/sort_by_java8.js + samples/this_for_eval.js Changeset: 0ee4c3b61e45 Author: attila Date: 2015-09-07 11:11 +0200 URL: http://hg.openjdk.java.net/jigsaw/jake/nashorn/rev/0ee4c3b61e45 8135075: Reorder short-circuit tests in ApplySpecialization to run cheapest first Reviewed-by: hannesw, mhaupt, sundar ! src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/codegen/ApplySpecialization.java Changeset: 37a9addb8c8d Author: sundar Date: 2015-09-07 20:07 +0530 URL: http://hg.openjdk.java.net/jigsaw/jake/nashorn/rev/37a9addb8c8d 8135151: jjs should work in cygwin environment Reviewed-by: attila, hannesw ! src/jdk.scripting.nashorn.shell/share/classes/jdk/nashorn/tools/jjs/Console.java Changeset: 330ddba6ffc4 Author: ihse Date: 2015-09-09 09:36 +0200 URL: http://hg.openjdk.java.net/jigsaw/jake/nashorn/rev/330ddba6ffc4 8065912: Better handling of classpath in build-infra Reviewed-by: erikj ! make/BuildNashorn.gmk Changeset: a750a66640e0 Author: sundar Date: 2015-09-09 17:19 +0530 URL: http://hg.openjdk.java.net/jigsaw/jake/nashorn/rev/a750a66640e0 8027137: Merge ScriptFunction and ScriptFunctionImpl Reviewed-by: attila, hannesw, mhaupt ! buildtools/nasgen/src/jdk/nashorn/internal/tools/nasgen/ClassGenerator.java ! buildtools/nasgen/src/jdk/nashorn/internal/tools/nasgen/ConstructorGenerator.java ! buildtools/nasgen/src/jdk/nashorn/internal/tools/nasgen/StringConstants.java ! src/jdk.scripting.nashorn/share/classes/jdk/nashorn/api/scripting/ScriptUtils.java ! src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/codegen/CodeGenerator.java - src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/objects/BoundScriptFunctionImpl.java ! src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/objects/Global.java ! src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/objects/NativeError.java ! src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/objects/NativeJSAdapter.java ! src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/objects/NativeJava.java - src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/objects/PrototypeObject.java - src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/objects/ScriptFunctionImpl.java ! src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/runtime/PropertyListeners.java ! src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/runtime/PropertyMap.java + src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/runtime/PrototypeObject.java ! src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/runtime/ScriptFunction.java ! src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/runtime/ScriptFunctionData.java ! src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/runtime/ScriptObject.java ! src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/runtime/WithObject.java ! src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/runtime/linker/Bootstrap.java ! src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/runtime/linker/LinkerCallSite.java Changeset: 97bb1c7b0f50 Author: hannesw Date: 2015-09-10 13:46 +0200 URL: http://hg.openjdk.java.net/jigsaw/jake/nashorn/rev/97bb1c7b0f50 8135000: Number.prototype.toFixed returns wrong string for 0.5 and -0.5 Reviewed-by: attila, sundar ! src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/objects/NativeNumber.java + test/script/basic/JDK-8135000.js + test/script/basic/JDK-8135000.js.EXPECTED Changeset: ca0e29811b81 Author: hannesw Date: 2015-09-10 13:50 +0200 URL: http://hg.openjdk.java.net/jigsaw/jake/nashorn/rev/ca0e29811b81 8134569: Add tests for prototype callsites Reviewed-by: attila, sundar + test/script/basic/JDK-8134569.js + test/script/basic/JDK-8134569.js.EXPECTED Changeset: e7d479909bc5 Author: attila Date: 2015-09-10 14:00 +0200 URL: http://hg.openjdk.java.net/jigsaw/jake/nashorn/rev/e7d479909bc5 8135262: Sanitize CodeInstaller API Reviewed-by: hannesw, sundar ! src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/codegen/CompilationPhase.java ! src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/codegen/Compiler.java ! src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/runtime/CodeInstaller.java ! src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/runtime/Context.java ! src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/runtime/RecompilableScriptFunctionData.java ! src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/runtime/StoredScript.java ! src/jdk.scripting.nashorn/share/classes/jdk/nashorn/tools/Shell.java ! test/script/trusted/JDK-8006529.js Changeset: c62b95b20e60 Author: attila Date: 2015-09-10 15:24 +0200 URL: http://hg.openjdk.java.net/jigsaw/jake/nashorn/rev/c62b95b20e60 8135336: Fix broken build after JDK-8135262 Reviewed-by: hannesw, sundar ! test/script/trusted/JDK-8006529.js Changeset: bbe835067b89 Author: attila Date: 2015-09-10 15:28 +0200 URL: http://hg.openjdk.java.net/jigsaw/jake/nashorn/rev/bbe835067b89 8135337: NativeDebug.dumpCounters with incorrect scope count Reviewed-by: hannesw, sundar ! src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/objects/NativeDebug.java ! src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/runtime/Scope.java Changeset: 882bbbfcaf03 Author: sundar Date: 2015-09-10 19:09 +0530 URL: http://hg.openjdk.java.net/jigsaw/jake/nashorn/rev/882bbbfcaf03 8135332: ScriptFunction constructor should use is bound and is strict check rather than checking for 'arguments' and 'caller' Reviewed-by: attila, hannesw ! src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/runtime/ScriptFunction.java ! src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/runtime/ScriptFunctionData.java Changeset: c13179703f65 Author: sundar Date: 2015-09-11 15:43 +0530 URL: http://hg.openjdk.java.net/jigsaw/jake/nashorn/rev/c13179703f65 8136349: Typos patch for nashorn sources submitted on Sep 10, 2015 Reviewed-by: hannesw, mhaupt, lagergren, attila Contributed-by: asashour at yahoo.com ! src/jdk.scripting.nashorn/share/classes/jdk/internal/dynalink/DynamicLinker.java ! src/jdk.scripting.nashorn/share/classes/jdk/internal/dynalink/beans/FacetIntrospector.java ! src/jdk.scripting.nashorn/share/classes/jdk/internal/dynalink/beans/SingleDynamicMethod.java ! src/jdk.scripting.nashorn/share/classes/jdk/internal/dynalink/linker/GuardedInvocation.java ! src/jdk.scripting.nashorn/share/classes/jdk/internal/dynalink/linker/GuardedTypeConversion.java ! src/jdk.scripting.nashorn/share/classes/jdk/nashorn/api/scripting/URLReader.java ! src/jdk.scripting.nashorn/share/classes/jdk/nashorn/api/tree/Parser.java ! src/jdk.scripting.nashorn/share/classes/jdk/nashorn/api/tree/RegExpLiteralTree.java ! src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/codegen/AssignSymbols.java ! src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/codegen/CodeGenerator.java ! src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/codegen/CompilationPhase.java ! src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/codegen/CompilerConstants.java ! src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/codegen/Label.java ! src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/codegen/Lower.java ! src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/codegen/MethodEmitter.java ! src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/codegen/ObjectClassGenerator.java ! src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/codegen/types/BytecodeOps.java ! src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/ir/BlockLexicalContext.java ! src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/ir/LiteralNode.java ! src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/ir/RuntimeNode.java ! src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/ir/debug/NashornClassReader.java ! src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/ir/debug/ObjectSizeCalculator.java ! src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/objects/ArrayBufferView.java ! src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/objects/Global.java ! src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/objects/NativeRegExp.java ! src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/parser/Parser.java ! src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/parser/ParserContextBaseNode.java ! src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/parser/ParserContextNode.java ! src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/runtime/CompiledFunction.java ! src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/runtime/Context.java ! src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/runtime/FindProperty.java ! src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/runtime/GlobalConstants.java ! src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/runtime/JSONFunctions.java ! src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/runtime/JSType.java ! src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/runtime/ParserException.java ! src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/runtime/ScriptFunctionData.java ! src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/runtime/arrays/ContinuousArrayData.java ! src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/runtime/arrays/UndefinedArrayFilter.java ! src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/runtime/linker/NashornBeansLinker.java ! src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/runtime/regexp/joni/Config.java ! src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/runtime/resources/parser.js Changeset: 8bab0a9d8a63 Author: lana Date: 2015-09-11 12:59 -0700 URL: http://hg.openjdk.java.net/jigsaw/jake/nashorn/rev/8bab0a9d8a63 Merge - src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/objects/BoundScriptFunctionImpl.java - src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/objects/PrototypeObject.java - src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/objects/ScriptFunctionImpl.java Changeset: 07a2220786ff Author: chegar Date: 2015-09-18 15:29 +0100 URL: http://hg.openjdk.java.net/jigsaw/jake/nashorn/rev/07a2220786ff Merge ! make/BuildNashorn.gmk - src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/objects/BoundScriptFunctionImpl.java - src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/objects/PrototypeObject.java - src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/objects/ScriptFunctionImpl.java ! src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/runtime/Context.java ! test/script/trusted/JDK-8006529.js Changeset: 285f2316315c Author: lana Date: 2015-09-18 10:46 -0700 URL: http://hg.openjdk.java.net/jigsaw/jake/nashorn/rev/285f2316315c Added tag jdk9-b82 for changeset 8bab0a9d8a63 ! .hgtags Changeset: 64d4a449744c Author: chegar Date: 2015-09-18 19:03 +0100 URL: http://hg.openjdk.java.net/jigsaw/jake/nashorn/rev/64d4a449744c Merge ! .hgtags From karen.kinnear at oracle.com Fri Sep 18 20:24:39 2015 From: karen.kinnear at oracle.com (Karen Kinnear) Date: Fri, 18 Sep 2015 16:24:39 -0400 Subject: Result: CFV: New Jigsaw Committer: Harold Seigel Message-ID: <8CF46715-167D-4B20-8A18-DA7DEF203F85@oracle.com> Voting for Harold Seigel [1] is complete. Yes: 13 Veto: 0 Abstain: 0 According to the Bylaws defined by Lazy Consensus, this is sufficient to approve the nomination. Karen [1] http://mail.openjdk.java.net/pipermail/jigsaw-dev/2015-September/004538.html From sadhak001 at gmail.com Fri Sep 18 21:30:24 2015 From: sadhak001 at gmail.com (Mani Sarkar) Date: Fri, 18 Sep 2015 22:30:24 +0100 Subject: Jigsaw Hackday in September Message-ID: Hi all, Like every month, this month we had the Adopt OpenJDK hackday last weekend (12th September) in London, see http://www.meetup.com/Londonjavacommunity/events/224258725/. We also had the good company of Alan Bateman (from Oracle) - thanks Alan for all your support and for answering our various queries about Jigsaw. We have managed to gather some feedback from the attendees: https://docs.google.com/document/d/1KlumN74IGt-TU-Md3Fn5h4sXHa75RApWNLszUTVp-DE/edit (thanks to all those who contributed to this doc) Everything we used and gathering use the hackday is in this document, its open for further amendments if we have updates. We performed a number of builds - which failed then, but looking at the messages on the Jigsaw-dev mailing list, there might be some good resolution to those issues. Thanks again, I hope the feedback gathered is of help to you. Regards, Mani -- @theNeomatrix369 * | **Blog ** | *LJC Associate & LJC Advocate (@adoptopenjdk & @adoptajsr programs) *Meet-a-Project - *MutabilityDetector * | **Bitbucket * * | **Github * * | **LinkedIn * *Come to Devoxx UK 2016:* http://www.devoxx.co.uk/ *Don't chase success, rather aim for "Excellence", and success will come chasing after you!* From kevin.rushforth at oracle.com Fri Sep 18 22:02:01 2015 From: kevin.rushforth at oracle.com (Kevin Rushforth) Date: Fri, 18 Sep 2015 15:02:01 -0700 Subject: OpenJFX repo for Jigsaw Message-ID: <55FC89D9.3050600@oracle.com> We have created a new repository [1] in the OpenJFX project for the JavaFX changes needed for Jigsaw. See the e-mail I sent to openjfx-dev [2] for more information. -- Kevin [1] http://hg.openjdk.java.net/openjfx/sandbox-9-jake/rt [2] http://mail.openjdk.java.net/pipermail/openjfx-dev/2015-September/017919.html From mandy.chung at oracle.com Sat Sep 19 00:39:23 2015 From: mandy.chung at oracle.com (mandy.chung at oracle.com) Date: Sat, 19 Sep 2015 00:39:23 +0000 Subject: hg: jigsaw/jake/jdk: 8136790: @argfile does not work after -addmods or -modulepath Message-ID: <201509190039.t8J0dNwP025708@aojmv0008.oracle.com> Changeset: cc51fbfc6390 Author: mchung Date: 2015-09-18 17:39 -0700 URL: http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/cc51fbfc6390 8136790: @argfile does not work after -addmods or -modulepath Reviewed-by: henryjen ! src/java.base/share/native/libjli/args.c From sadhak001 at gmail.com Sat Sep 19 22:12:31 2015 From: sadhak001 at gmail.com (Mani Sarkar) Date: Sat, 19 Sep 2015 23:12:31 +0100 Subject: Jigsaw Hackday in September In-Reply-To: References: Message-ID: Also want to add that the attendees last weekend, also contributed a few more examples for us to play with, see https://github.com/AdoptOpenJDK/jdk9-jigsaw/ - if you guys like it, it could be made part of the Quick Starter Guide. Once again thanks to our host John Stevenson from Heroku, for the space and food provided, at the SalesForce office in London. Cheers, Mani On Fri, Sep 18, 2015 at 10:30 PM, Mani Sarkar wrote: > Hi all, > > Like every month, this month we had the Adopt OpenJDK hackday last weekend > (12th September) in London, see > http://www.meetup.com/Londonjavacommunity/events/224258725/. > > We also had the good company of Alan Bateman (from Oracle) - thanks Alan > for all your support and for answering our various queries about Jigsaw. > > We have managed to gather some feedback from the attendees: > > https://docs.google.com/document/d/1KlumN74IGt-TU-Md3Fn5h4sXHa75RApWNLszUTVp-DE/edit > (thanks to all those who contributed to this doc) > > Everything we used and gathering use the hackday is in this document, its > open for further amendments if we have updates. > > We performed a number of builds - which failed then, but looking at the > messages on the Jigsaw-dev mailing list, there might be some good > resolution to those issues. > > Thanks again, I hope the feedback gathered is of help to you. > > Regards, > Mani > > -- > @theNeomatrix369 * | **Blog > ** | *LJC Associate & LJC Advocate > (@adoptopenjdk & @adoptajsr programs) > *Meet-a-Project - *MutabilityDetector > * | **Bitbucket > * * | **Github > * * | **LinkedIn > * > *Come to Devoxx UK 2016:* http://www.devoxx.co.uk/ > > *Don't chase success, rather aim for "Excellence", and success will come > chasing after you!* > -- @theNeomatrix369 * | **Blog ** | *LJC Associate & LJC Advocate (@adoptopenjdk & @adoptajsr programs) *Meet-a-Project - *MutabilityDetector * | **Bitbucket * * | **Github * * | **LinkedIn * *Come to Devoxx UK 2016:* http://www.devoxx.co.uk/ *Don't chase success, rather aim for "Excellence", and success will come chasing after you!* From chris.hegarty at oracle.com Sun Sep 20 09:01:59 2015 From: chris.hegarty at oracle.com (chris.hegarty at oracle.com) Date: Sun, 20 Sep 2015 09:01:59 +0000 Subject: hg: jigsaw/jake/langtools: Fix tests after b82 merge Message-ID: <201509200901.t8K91xT7014144@aojmv0008.oracle.com> Changeset: 2a4201638212 Author: chegar Date: 2015-09-20 10:01 +0100 URL: http://hg.openjdk.java.net/jigsaw/jake/langtools/rev/2a4201638212 Fix tests after b82 merge ! test/tools/javac/lib/combo/ReusableContext.java From vincent.x.ryan at oracle.com Mon Sep 21 13:07:43 2015 From: vincent.x.ryan at oracle.com (vincent.x.ryan at oracle.com) Date: Mon, 21 Sep 2015 13:07:43 +0000 Subject: hg: jigsaw/jake/jdk: 8136791: module jdk.naming.rmi does not export com.sun.jndi.rmi.registry to module java.rmi Message-ID: <201509211307.t8LD7hFm019345@aojmv0008.oracle.com> Changeset: c8dbc5abb3b5 Author: vinnie Date: 2015-09-21 14:11 +0100 URL: http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/c8dbc5abb3b5 8136791: module jdk.naming.rmi does not export com.sun.jndi.rmi.registry to module java.rmi Reviewed-by: alanb ! src/jdk.naming.rmi/share/classes/module-info.java From alan.bateman at oracle.com Mon Sep 21 13:47:57 2015 From: alan.bateman at oracle.com (alan.bateman at oracle.com) Date: Mon, 21 Sep 2015 13:47:57 +0000 Subject: hg: jigsaw/jake/jdk: sun/tools/jstat/jstatTimeStamp1.sh failing Message-ID: <201509211347.t8LDlvbu002628@aojmv0008.oracle.com> Changeset: d6c5864f674b Author: alanb Date: 2015-09-21 14:24 +0100 URL: http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/d6c5864f674b sun/tools/jstat/jstatTimeStamp1.sh failing Contributed-by: jaroslav.bachorik at oracle.com ! src/jdk.jcmd/share/classes/sun/tools/jstat/Arguments.java ! src/jdk.jcmd/share/classes/sun/tools/jstat/OptionFinder.java ! src/jdk.jcmd/share/classes/sun/tools/jstat/OptionLister.java + src/jdk.jcmd/share/classes/sun/tools/jstat/OptionParserFactory.java ! test/ProblemList.jake.txt From sean.mullan at oracle.com Mon Sep 21 15:05:39 2015 From: sean.mullan at oracle.com (Sean Mullan) Date: Mon, 21 Sep 2015 11:05:39 -0400 Subject: CFV: New jigsaw Committer: Jean-Francois Denise In-Reply-To: <55F5894C.4090009@oracle.com> References: <55F5894C.4090009@oracle.com> Message-ID: <56001CC3.6070308@oracle.com> Vote: yes --Sean From Alan.Bateman at oracle.com Mon Sep 21 15:19:15 2015 From: Alan.Bateman at oracle.com (Alan Bateman) Date: Mon, 21 Sep 2015 16:19:15 +0100 Subject: Result: New jigsaw Committer: Jean-Francois Denise Message-ID: <56001FF3.20200@oracle.com> Voting for Jean-Francois Denise [1] is complete. Yes: 13 Veto: 0 Abstain: 0 According to the Bylaws definition of Lazy Consensus, this is sufficient to approve the nomination. -Alan. [1] http://mail.openjdk.java.net/pipermail/jigsaw-dev/2015-September/004578.html From mandy.chung at oracle.com Mon Sep 21 20:27:30 2015 From: mandy.chung at oracle.com (mandy.chung at oracle.com) Date: Mon, 21 Sep 2015 20:27:30 +0000 Subject: hg: jigsaw/jake/jdk: 8136802: Creation of a logger with a resource bundle contained in the same named module fails Message-ID: <201509212027.t8LKRUVI006713@aojmv0008.oracle.com> Changeset: 3862c75182ad Author: mchung Date: 2015-09-21 13:27 -0700 URL: http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/3862c75182ad 8136802: Creation of a logger with a resource bundle contained in the same named module fails Contributed-by: daniel.fuchs at oracle.com ! src/java.logging/share/classes/java/util/logging/Logger.java From jonathan.gibbons at oracle.com Mon Sep 21 20:46:55 2015 From: jonathan.gibbons at oracle.com (jonathan.gibbons at oracle.com) Date: Mon, 21 Sep 2015 20:46:55 +0000 Subject: hg: jigsaw/jake/langtools: fix ElementStructureTest Message-ID: <201509212046.t8LKktDi011360@aojmv0008.oracle.com> Changeset: 2933a96a69c6 Author: jlahoda Date: 2015-09-21 13:46 -0700 URL: http://hg.openjdk.java.net/jigsaw/jake/langtools/rev/2933a96a69c6 fix ElementStructureTest ! test/tools/javac/sym/ElementStructureTest.java From alan.bateman at oracle.com Tue Sep 22 11:55:00 2015 From: alan.bateman at oracle.com (alan.bateman at oracle.com) Date: Tue, 22 Sep 2015 11:55:00 +0000 Subject: hg: jigsaw/jake/jdk: 2 new changesets Message-ID: <201509221155.t8MBt0MO007456@aojmv0008.oracle.com> Changeset: 095fc622bf01 Author: alanb Date: 2015-09-22 12:31 +0100 URL: http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/095fc622bf01 -XaddReads ! src/java.base/share/classes/jdk/internal/module/ModuleBootstrap.java ! src/java.base/share/classes/sun/launcher/resources/launcher.properties ! src/java.base/share/native/libjli/java.c ! test/jdk/jigsaw/etc/resources/ResourcesTest.java ! test/jdk/jigsaw/invoke/access/ModuleAccessControlTest.java ! test/jdk/jigsaw/launcher/addexports/AddExportsTest.java ! test/jdk/jigsaw/launcher/addmods/AddModsTest.java + test/jdk/jigsaw/launcher/addreads/AddReadsTest.java + test/jdk/jigsaw/launcher/addreads/src/junit/org/junit/Assert.java + test/jdk/jigsaw/launcher/addreads/src/m1/module-info.java + test/jdk/jigsaw/launcher/addreads/src/m1/p/Main.java ! test/jdk/jigsaw/launcher/basic/BasicTest.java ! test/jdk/jigsaw/launcher/limitmods/LimitModsTest.java ! test/jdk/jigsaw/launcher/listmods/ListModsTest.java ! test/jdk/jigsaw/launcher/override/OverrideTest.java ! test/jdk/jigsaw/launcher/upgrademodulepath/UpgradeModulePathTest.java ! test/jdk/jigsaw/reflect/Module/access/AccessTest.java ! test/jdk/jigsaw/reflect/Proxy/ProxyClassAccessTest.java ! test/jdk/jigsaw/reflect/Proxy/ProxyTest.java ! test/jdk/jigsaw/scenarios/container/ContainerTest.java ! test/jdk/jigsaw/scenarios/overlappingpackages/OverlappingPackagesTest.java ! test/jdk/jigsaw/util/ServiceLoader/ServicesTest.java ! test/lib/testlibrary/jdk/testlibrary/OutputAnalyzer.java Changeset: 12ede162e79c Author: alanb Date: 2015-09-22 12:41 +0100 URL: http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/12ede162e79c Allow upgraded modules to depend on modules on the application module path ! src/java.base/share/classes/jdk/internal/misc/BuiltinClassLoader.java ! src/java.base/share/classes/jdk/internal/misc/ClassLoaders.java ! test/jdk/jigsaw/launcher/upgrademodulepath/UpgradeModulePathTest.java - test/jdk/jigsaw/launcher/upgrademodulepath/src/java.annotations.common/javax/annotation/Resource.java - test/jdk/jigsaw/launcher/upgrademodulepath/src/java.annotations.common/javax/annotation/more/BigResource.java - test/jdk/jigsaw/launcher/upgrademodulepath/src/java.annotations.common/module-info.java + test/jdk/jigsaw/launcher/upgrademodulepath/src/java.enterprise/javax/enterprise/context/Scope.java + test/jdk/jigsaw/launcher/upgrademodulepath/src/java.enterprise/module-info.java + test/jdk/jigsaw/launcher/upgrademodulepath/src/java.transaction/javax/transaction/Transaction.java + test/jdk/jigsaw/launcher/upgrademodulepath/src/java.transaction/module-info.java ! test/jdk/jigsaw/launcher/upgrademodulepath/src/test/jdk/test/Main.java ! test/jdk/jigsaw/launcher/upgrademodulepath/src/test/module-info.java From jean-francois.denise at oracle.com Tue Sep 22 12:45:33 2015 From: jean-francois.denise at oracle.com (jean-francois.denise at oracle.com) Date: Tue, 22 Sep 2015 12:45:33 +0000 Subject: hg: jigsaw/jake/jdk: jlink plugins Map keyed with String. Target directory checks moved to DefaultImageProvider, allows for customizable logic. Message-ID: <201509221245.t8MCjXHZ023581@aojmv0008.oracle.com> Changeset: 92f2350725c7 Author: jfdenise Date: 2015-09-22 14:49 +0200 URL: http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/92f2350725c7 jlink plugins Map keyed with String. Target directory checks moved to DefaultImageProvider, allows for customizable logic. Reviewed-by: jlaskey ! src/jdk.jlink/share/classes/jdk/tools/jlink/JlinkTask.java ! src/jdk.jlink/share/classes/jdk/tools/jlink/internal/ImagePluginConfiguration.java ! src/jdk.jlink/share/classes/jdk/tools/jlink/internal/ImagePluginProviderRepository.java ! src/jdk.jlink/share/classes/jdk/tools/jlink/plugins/CmdPluginProvider.java ! src/jdk.jlink/share/classes/jdk/tools/jlink/plugins/DefaultImageBuilder.java ! src/jdk.jlink/share/classes/jdk/tools/jlink/plugins/DefaultImageBuilderProvider.java ! src/jdk.jlink/share/classes/jdk/tools/jlink/plugins/ImageBuilderProvider.java ! src/jdk.jlink/share/classes/jdk/tools/jlink/plugins/ImageFilePluginProvider.java ! src/jdk.jlink/share/classes/jdk/tools/jlink/plugins/Jlink.java ! src/jdk.jlink/share/classes/jdk/tools/jlink/plugins/PluginProvider.java ! src/jdk.jlink/share/classes/jdk/tools/jlink/plugins/ResourcePluginProvider.java ! src/jdk.jlink/share/classes/jdk/tools/jlink/resources/plugins.properties ! test/jdk/jigsaw/tools/jlink/IntegrationTest.java ! test/jdk/jigsaw/tools/jlink/JLinkNegativeTest.java ! test/jdk/jigsaw/tools/jlink/customplugin/plugin/CustomImageBuilder.java ! test/jdk/jigsaw/tools/jlink/customplugin/plugin/CustomImageBuilderProvider.java ! test/jdk/jigsaw/tools/jlink/customplugin/plugin/SameNamedImageBuilderProvider.java ! test/jdk/jigsaw/tools/jlink/customplugin/plugin/SecondImageBuilderProvider.java ! test/jdk/jigsaw/tools/jlink/plugins/CompressorPluginTest.java ! test/jdk/jigsaw/tools/jlink/plugins/ExcludeFilesPluginTest.java ! test/jdk/jigsaw/tools/jlink/plugins/ExcludePluginTest.java ! test/jdk/jigsaw/tools/jlink/plugins/FileCopierPluginTest.java ! test/jdk/jigsaw/tools/jlink/plugins/FileReplacerPluginTest.java ! test/jdk/jigsaw/tools/jlink/plugins/OnOffProviderTest.java ! test/jdk/jigsaw/tools/jlink/plugins/OptionsTest.java ! test/jdk/jigsaw/tools/jlink/plugins/StripDebugPluginTest.java From harold.seigel at oracle.com Tue Sep 22 16:14:45 2015 From: harold.seigel at oracle.com (harold seigel) Date: Tue, 22 Sep 2015 12:14:45 -0400 Subject: CFV: New Jigsaw Committer: Lois Foltan In-Reply-To: <95CF99E3-F779-4D88-8FAB-55EB9CB5CCA4@oracle.com> References: <95CF99E3-F779-4D88-8FAB-55EB9CB5CCA4@oracle.com> Message-ID: <56017E75.1020609@oracle.com> Vote: Yes Harold On 9/16/2015 2:43 PM, Karen Kinnear wrote: > I hereby nominate Lois Foltan to Jigsaw Committer. > > Lois is a member of the hotspot runtime team and a committer on the jdk9 project. > Lois has been contributing to Project Jigsaw for more than a year, including jvm support > for module and package metadata, boot class loader support for observability boundary > checking and jvm support for access control checks based on the new jigsaw access > control rules relative to module readability and exports. These are currently prototyped in the > jigsaw/m3 forest. > > Votes are due by: September 30, 2015, 7:00 PST. Only current Jigsaw Committers [1] > are eligible to vote on this nomination. Votes must be cast in the open by replying to > this mailing list. > > For Lazy Consensus voting instructions, see [2]. > > [1] http://openjdk.java.net/census > [2] http://openjdk.java.net/projects/#committer-vote > > jigsaw changesets: > > http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/ec64631485ee > http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/361b6493fd8c > http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/483a16ff1561 > http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/a96cc469159a > http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/b77ade9699f3 > http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/4bf2c76660e6 > http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/6304c4530d95 > http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/6821aa4f2b30 > http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/40b26486a13a > http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/c642727aa248 > http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/c5533b42e897 > http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/f0885ae77815 > http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/423249ef49ba > > And the one that Alan committed, but is contributed by Harold and myself that contains the initial implementation of the VM support for modules. > http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/6e3af5b0d4c8 > > From harold.seigel at oracle.com Tue Sep 22 16:15:19 2015 From: harold.seigel at oracle.com (harold seigel) Date: Tue, 22 Sep 2015 12:15:19 -0400 Subject: CFV: New Committer: Christian Tornqvist In-Reply-To: References: Message-ID: <56017E97.1080409@oracle.com> Vote: yes Harold On 9/16/2015 2:42 PM, Karen Kinnear wrote: > I hereby nominate Christian Tornqvist to Jigsaw Committer. > > Christian is the hotspot runtime SQE lead and a Reviewer on the jdk9 project. > Christian has contributed new tests and made extensive changes to the hotspot tests for jigsaw in the > jigsaw/m3 forest, including adding the ability to test JVM_* APIs via white box testing, testing > for memory leaks due to class unloading, and modifications to tests to deal with jigsaw command > line options. > > Votes are due by: September 30, 2015, 7:00 PST. Only current Jigsaw > Committers [1] are eligible to vote on this nomination. Votes must be cast > in the open by replying to this mailing list. > > For Lazy Consensus voting instructions, see [2]. > > thanks, > Karen > > [1] http://openjdk.java.net/census > [2] http://openjdk.java.net/projects/#committer-vote > > Christian's jigsaw changesets: > > http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/928e89280286 > http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/a6486dd6f141 > http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/2e29f5e8333b > http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/18c4d48f7fdf > http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/0a3a73c4976b > http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/97666a3ee1b7 > http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/b6c27227f14d > http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/0be80247e442 > http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/bbc6dfd8f329 > http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/651cd13f8cc2 > http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/0b8ad3584a1c > http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/aaab3e55ae2f > http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/e91779d9e691 > http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/35f7a63f6260 > http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/0b1b80bd13c5 > http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/5c450268abbd > http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/dbe3a0baee50 > http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/cc031dd0e784 From jean-francois.denise at oracle.com Wed Sep 23 09:42:58 2015 From: jean-francois.denise at oracle.com (jean-francois.denise at oracle.com) Date: Wed, 23 Sep 2015 09:42:58 +0000 Subject: hg: jigsaw/jake/jdk: 8135071: jlink: NPE thrown if the custom image builder was not found; ... Message-ID: <201509230942.t8N9gwjR004061@aojmv0008.oracle.com> Changeset: 092d5b11eca9 Author: jfdenise Date: 2015-09-23 11:47 +0200 URL: http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/092d5b11eca9 8135071: jlink: NPE thrown if the custom image builder was not found 8135171: jlink: typo in ImagePluginProviderRepository Contributed-by: andrei.eremeev at oracle.com Reviewed-by: jean-francois.denise at oracle.com ! src/jdk.jlink/share/classes/jdk/tools/jlink/internal/ImagePluginProviderRepository.java ! test/jdk/jigsaw/tools/jlink/JLinkNegativeTest.java From alexandre.iline at oracle.com Wed Sep 23 14:45:39 2015 From: alexandre.iline at oracle.com (Alexandre (Shura) Iline) Date: Wed, 23 Sep 2015 07:45:39 -0700 Subject: RFR: Additional tests for overlapping packages. Message-ID: <52B320E7-1186-4C57-8591-227251AD6F12@oracle.com> Hi. This change adds a few more cases to existing cases for overlapping packages: http://cr.openjdk.java.net/~shurailine/webrev.overlapping.packages.2/ Thank you. Shura From jean-francois.denise at oracle.com Wed Sep 23 15:01:39 2015 From: jean-francois.denise at oracle.com (jean-francois.denise at oracle.com) Date: Wed, 23 Sep 2015 15:01:39 +0000 Subject: hg: jigsaw/jake/jdk: jlink optim plugin, package accessibility check when resolving class. e.g.: Class.forName calls are removed only if the loaded type is accessible from the caller. Removed some wrong reflection. Some analysis was done based on loaded class instead of being based on ASM. Message-ID: <201509231501.t8NF1d4i004013@aojmv0008.oracle.com> Changeset: ef9c2a7c82d3 Author: jfdenise Date: 2015-09-23 17:06 +0200 URL: http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/ef9c2a7c82d3 jlink optim plugin, package accessibility check when resolving class. e.g.: Class.forName calls are removed only if the loaded type is accessible from the caller. Removed some wrong reflection. Some analysis was done based on loaded class instead of being based on ASM. Reviewed-by: jlaskey ! src/jdk.jlink/share/classes/jdk/tools/jlink/internal/plugins/OptimizationPlugin.java ! src/jdk.jlink/share/classes/jdk/tools/jlink/internal/plugins/asm/AsmGlobalPool.java ! src/jdk.jlink/share/classes/jdk/tools/jlink/internal/plugins/asm/AsmModulePool.java ! src/jdk.jlink/share/classes/jdk/tools/jlink/internal/plugins/asm/AsmPoolImpl.java ! src/jdk.jlink/share/classes/jdk/tools/jlink/internal/plugins/asm/AsmPools.java ! src/jdk.jlink/share/classes/jdk/tools/jlink/internal/plugins/optim/ForNameFolding.java ! src/jdk.jlink/share/classes/jdk/tools/jlink/internal/plugins/optim/ReflectionOptimizer.java ! src/jdk.jlink/share/classes/jdk/tools/jlink/internal/plugins/optim/Utils.java ! test/jdk/jigsaw/tools/jlink/JLinkOptimTest.java + test/jdk/jigsaw/tools/jlink/optimplugin/module-info.java + test/jdk/jigsaw/tools/jlink/optimplugin/optim/AType.java + test/jdk/jigsaw/tools/jlink/optimplugin/optim/ForNameTestCase.java From alan.bateman at oracle.com Thu Sep 24 12:27:49 2015 From: alan.bateman at oracle.com (alan.bateman at oracle.com) Date: Thu, 24 Sep 2015 12:27:49 +0000 Subject: hg: jigsaw/jake/hotspot: Add -Xpatch to replace -Xoverride Message-ID: <201509241227.t8OCRnbU019506@aojmv0008.oracle.com> Changeset: a7c46288c9ed Author: hseigel Date: 2015-09-24 13:13 +0100 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/a7c46288c9ed Add -Xpatch to replace -Xoverride ! src/share/vm/classfile/classLoader.cpp ! src/share/vm/classfile/classLoader.hpp ! src/share/vm/classfile/modules.cpp ! src/share/vm/memory/filemap.cpp ! src/share/vm/runtime/arguments.cpp ! src/share/vm/runtime/arguments.hpp ! src/share/vm/runtime/os.hpp ! test/compiler/dependencies/MonomorphicObjectCall/TestMonomorphicObjectCall.java ! test/runtime/BadObjectClass/BootstrapRedefine.java ! test/runtime/BootClassAppendProp/BootClassPathAppendProp.java - test/runtime/modules/Xoverride/XoverrideMain.java - test/runtime/modules/Xoverride/XoverrideTest.java - test/runtime/modules/Xoverride/XoverrideTraceCL.java - test/runtime/modules/XoverrideCDS.java + test/runtime/modules/Xpatch/Xpatch2Dirs.java + test/runtime/modules/Xpatch/Xpatch2DirsMain.java + test/runtime/modules/Xpatch/XpatchMain.java + test/runtime/modules/Xpatch/XpatchTest.java + test/runtime/modules/Xpatch/XpatchTraceCL.java + test/runtime/modules/XpatchCDS.java ! test/runtime/modules/java.base/java/lang/reflect/ModuleHelper.java ! test/runtime/modules/observability2/Observability2.sh ! test/runtime/modules/observability2/Observability2_A.java ! test/runtime/modules/observability3/Observability3_A.java From alan.bateman at oracle.com Thu Sep 24 12:28:05 2015 From: alan.bateman at oracle.com (alan.bateman at oracle.com) Date: Thu, 24 Sep 2015 12:28:05 +0000 Subject: hg: jigsaw/jake/jdk: Add -Xpatch to replace -Xoverride Message-ID: <201509241228.t8OCS5Jw019672@aojmv0008.oracle.com> Changeset: 04dd0430530e Author: alanb Date: 2015-09-24 13:13 +0100 URL: http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/04dd0430530e Add -Xpatch to replace -Xoverride ! make/gendata/GendataBreakIterator.gmk ! src/java.base/share/classes/java/lang/module/ModuleDescriptor.java + src/java.base/share/classes/java/lang/module/ModulePatcher.java ! src/java.base/share/classes/java/lang/module/ModuleReferences.java ! src/java.base/share/classes/jdk/internal/misc/BuiltinClassLoader.java ! src/java.base/share/classes/jdk/internal/misc/ClassLoaders.java ! src/java.base/share/classes/sun/launcher/resources/launcher.properties ! src/java.base/share/native/libjli/java.c ! test/javax/xml/jaxp/common/8035437/run.sh - test/jdk/jigsaw/launcher/override/OverrideTest.java - test/jdk/jigsaw/launcher/override/src/java.base/java/text/Annotation.java - test/jdk/jigsaw/launcher/override/src/java.base/java/text/AnnotationBuddy.java - test/jdk/jigsaw/launcher/override/src/jdk.compiler/com/sun/tools/javac/Main.java - test/jdk/jigsaw/launcher/override/src/jdk.compiler/com/sun/tools/javac/MainBuddy.java - test/jdk/jigsaw/launcher/override/src/jdk.naming.dns/com/sun/jndi/dns/DnsClient.java - test/jdk/jigsaw/launcher/override/src/jdk.naming.dns/com/sun/jndi/dns/DnsClientBuddy.java - test/jdk/jigsaw/launcher/override/src/test/jdk/test/Main.java - test/jdk/jigsaw/launcher/override/src/test/module-info.java + test/jdk/jigsaw/launcher/patch/PatchTest.java + test/jdk/jigsaw/launcher/patch/src/test/jdk/test/Main.java + test/jdk/jigsaw/launcher/patch/src/test/module-info.java + test/jdk/jigsaw/launcher/patch/src1/java.base/java/text/Annotation.java + test/jdk/jigsaw/launcher/patch/src1/java.base/java/text/AnnotationBuddy.java + test/jdk/jigsaw/launcher/patch/src1/jdk.compiler/com/sun/tools/javac/Main.java + test/jdk/jigsaw/launcher/patch/src1/jdk.compiler/com/sun/tools/javac/MainBuddy.java + test/jdk/jigsaw/launcher/patch/src1/jdk.naming.dns/com/sun/jndi/dns/DnsClient.java + test/jdk/jigsaw/launcher/patch/src1/jdk.naming.dns/com/sun/jndi/dns/DnsClientBuddy.java + test/jdk/jigsaw/launcher/patch/src2/java.base/java/lang2/Object.java + test/jdk/jigsaw/launcher/patch/src2/jdk.compiler/com/sun/tools/javac2/Main.java + test/jdk/jigsaw/launcher/patch/src2/jdk.naming.dns/com/sun/jndi/dns2/Zone.java ! test/sun/security/krb5/config/dns.sh ! test/tools/launcher/ToolsOpts.java From alan.bateman at oracle.com Thu Sep 24 13:07:46 2015 From: alan.bateman at oracle.com (alan.bateman at oracle.com) Date: Thu, 24 Sep 2015 13:07:46 +0000 Subject: hg: jigsaw/jake/langtools: Add -Xpatch to replace -Xoverride Message-ID: <201509241307.t8OD7kfV002009@aojmv0008.oracle.com> Changeset: cdefb2635687 Author: alanb Date: 2015-09-24 14:07 +0100 URL: http://hg.openjdk.java.net/jigsaw/jake/langtools/rev/cdefb2635687 Add -Xpatch to replace -Xoverride ! test/tools/javadoc/6964914/TestStdDoclet.java ! test/tools/javadoc/6964914/TestUserDoclet.java From alan.bateman at oracle.com Thu Sep 24 13:09:14 2015 From: alan.bateman at oracle.com (alan.bateman at oracle.com) Date: Thu, 24 Sep 2015 13:09:14 +0000 Subject: hg: jigsaw/jake/nashorn: Add -Xpatch to replace -Xoverride Message-ID: <201509241309.t8OD9EPk002324@aojmv0008.oracle.com> Changeset: bd540cddd280 Author: alanb Date: 2015-09-24 14:08 +0100 URL: http://hg.openjdk.java.net/jigsaw/jake/nashorn/rev/bd540cddd280 Add -Xpatch to replace -Xoverride ! samples/test.js From harold.seigel at oracle.com Thu Sep 24 18:44:32 2015 From: harold.seigel at oracle.com (harold.seigel at oracle.com) Date: Thu, 24 Sep 2015 18:44:32 +0000 Subject: hg: jigsaw/jake/hotspot: Fix up handling of -Xpatch/-Xoverride dirs when appending 'java.base'. Also, remove unneeded @modules for Xpatch tests. Message-ID: <201509241844.t8OIiWLi006407@aojmv0008.oracle.com> Changeset: 02f1e0d0cc52 Author: hseigel Date: 2015-09-24 14:25 -0400 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/02f1e0d0cc52 Fix up handling of -Xpatch/-Xoverride dirs when appending 'java.base'. Also, remove unneeded @modules for Xpatch tests. ! src/share/vm/runtime/arguments.cpp ! test/runtime/modules/Xpatch/Xpatch2Dirs.java ! test/runtime/modules/Xpatch/XpatchTest.java ! test/runtime/modules/Xpatch/XpatchTraceCL.java From mandy.chung at oracle.com Fri Sep 25 01:17:33 2015 From: mandy.chung at oracle.com (mandy.chung at oracle.com) Date: Fri, 25 Sep 2015 01:17:33 +0000 Subject: hg: jigsaw/jake/jdk: 8136433: Intermittent NPE in ResourceBundle Message-ID: <201509250117.t8P1HXZv006517@aojmv0008.oracle.com> Changeset: a4ab00fa0f96 Author: okutsu Date: 2015-09-24 16:49 -0700 URL: http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/a4ab00fa0f96 8136433: Intermittent NPE in ResourceBundle Reviewed-by: naoto, mchung ! src/java.base/share/classes/sun/util/resources/Bundles.java ! src/java.base/share/classes/sun/util/resources/LocaleData.java From jonathan.gibbons at oracle.com Fri Sep 25 01:33:49 2015 From: jonathan.gibbons at oracle.com (jonathan.gibbons at oracle.com) Date: Fri, 25 Sep 2015 01:33:49 +0000 Subject: hg: jigsaw/jake/langtools: add support for javac -Xpatch option with -Xoverride as a temporary alias Message-ID: <201509250133.t8P1XnNd009774@aojmv0008.oracle.com> Changeset: 5684716bd129 Author: jjg Date: 2015-09-24 18:33 -0700 URL: http://hg.openjdk.java.net/jigsaw/jake/langtools/rev/5684716bd129 add support for javac -Xpatch option with -Xoverride as a temporary alias ! src/jdk.compiler/share/classes/com/sun/tools/javac/file/Locations.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/main/Arguments.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/main/Option.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/resources/javac.properties ! test/ProblemList.jake.txt ! test/tools/javac/VersionOpt.java From jean-francois.denise at oracle.com Fri Sep 25 07:48:35 2015 From: jean-francois.denise at oracle.com (jean-francois.denise at oracle.com) Date: Fri, 25 Sep 2015 07:48:35 +0000 Subject: hg: jigsaw/jake/jdk: 2 new changesets Message-ID: <201509250748.t8P7mZmV023248@aojmv0008.oracle.com> Changeset: cff16049f4a5 Author: jfdenise Date: 2015-09-25 09:42 +0200 URL: http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/cff16049f4a5 Enable @file launcher support for jlink/jmod/jimage. Reviewed-by: jlaskey, chegar ! make/launcher/Launcher-jdk.jlink.gmk - src/jdk.jlink/share/classes/jdk/tools/jlink/CommandLine.java ! src/jdk.jlink/share/classes/jdk/tools/jlink/TaskHelper.java ! src/jdk.jlink/share/classes/jdk/tools/jmod/JmodTask.java ! src/jdk.jlink/share/classes/jdk/tools/jmod/resources/jmod.properties Changeset: 3ca5fced78be Author: jfdenise Date: 2015-09-25 09:53 +0200 URL: http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/3ca5fced78be Fix codescanner findings. Reviewed-by: jlaskey ! src/jdk.jlink/share/classes/jdk/tools/jimage/JImageTask.java ! src/jdk.jlink/share/classes/jdk/tools/jlink/JlinkTask.java ! src/jdk.jlink/share/classes/jdk/tools/jlink/TaskHelper.java From mandy.chung at oracle.com Fri Sep 25 22:38:30 2015 From: mandy.chung at oracle.com (Mandy Chung) Date: Fri, 25 Sep 2015 15:38:30 -0700 Subject: Re-examine ClassLoader.getPackage(s) methods Message-ID: <5605CCE6.60406@oracle.com> In Jake, we fixed several long-standing issues about ClassLoader::getPackage(s) and ClassLoader::definePackage method. 4302423: class loaders should support "local" creation of Package objects 4841786: (cl) flaw in ClassLoader getPackage/definePackage API 4302406 Package sealing and creation of java.lang.Package objects is inconsistent. 8061804: Re-examine Package of the same name allowed from ClassLoader.getPackages Background: JDK 9 ClassLoader.definePackage and ClassLoader.getPackage walk the class loader hierarchy and attempt to ensure one Package object of a package name exists. Main problems of this design: 1. A class loader may get IAE when it attempts to define a Package while its parent class loader or ancestor has defined the Package object of the same package name. 2. The meta-information associated with a Package object of "p" could be different depending on which class loader in the hierarchy and which JAR file a class of package "p" is first defined from. 3. Package sealing not working as it is intended due to the class loader hierarchy traversal In Jake, ClassLoader::definePackage and ClassLoader::getPackage(s) no longer walk the class loader hierarchy but instead, it only looks at its local package map. Package objects maintained in a class loader are all Packages it defined. ClassLoader::defineClass will automatically define a Package when the package of the newly defined class is not defined. So a Class object always has a Package associated with it (it hasn't been the case in JDK 9 since it relies on the defining class loader to call definePackage that cannot be enforced). Problem: this breaks NetBeans [1]. NetBeans depends on ClassLoader.getPackage to find the given package in the class loader hierarchy for NB module dependency validation. Specifically NB fails to startup since NB's ProxyClassLoader calling ClassLoader.getPackage("com.sun.jdi") returns null and interpets it as JDI doesn't exist which is required for NB debugger module. One possible solution is to have NB to change to use Package.getPackage which is not trivial since it requires a class defined by ProxyClassLoader to invoke Package.getPackage. Another solution I suggest NetBeans (they need to investigate) would be to replace ClassLoader.getPackage("com.sun.jdi") by Class.forName("com.sun.jdi.VirtualMachineManager").getPackage() I propose to minimize the compatibility risk and revert JDK 9 behavior of ClassLoader.getPackage(s) methods. Instead add two new methods: ClassLoader::getDefinedPackage(String) and getDefinedPackages() to return the defined packages by this class loader. I considered deprecating ClassLoader::getPackage(s). These methods are not doing anything inherently wrong or causing any risk although the spec and impl version, title, vendor, annotation might not be th expected value. The Package design and implementation has been flawed since 1.2. This patch leaves it with @apiNote to make it clear. Webrev: http://cr.openjdk.java.net/~mchung/jigsaw/webrevs/get-package/webrev/ Specdiff against jake: http://cr.openjdk.java.net/~mchung/jigsaw/webrevs/get-package/specdiff/overview-summary.html Specdiff against javadoc: http://cr.openjdk.java.net/~mchung/jigsaw/webrevs/get-package/jake-jdk9-specdiff/overview-summary.html Thanks to Alex for the suggested text and improvement on the javadoc. Mandy [1] https://bugs.openjdk.java.net/browse/JDK-8136444 From jonathan.gibbons at oracle.com Fri Sep 25 23:07:49 2015 From: jonathan.gibbons at oracle.com (jonathan.gibbons at oracle.com) Date: Fri, 25 Sep 2015 23:07:49 +0000 Subject: hg: jigsaw/jake/langtools: 8062324: Remove workaround copy of ServiceLoader from javac Message-ID: <201509252307.t8PN7ncd004311@aojmv0008.oracle.com> Changeset: 4dfde5dc00fc Author: jjg Date: 2015-09-25 15:53 -0700 URL: http://hg.openjdk.java.net/jigsaw/jake/langtools/rev/4dfde5dc00fc 8062324: Remove workaround copy of ServiceLoader from javac ! src/jdk.compiler/share/classes/com/sun/tools/javac/api/BasicJavacTask.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/processing/JavacProcessingEnvironment.java - src/jdk.compiler/share/classes/com/sun/tools/javac/util/ServiceLoader.java ! src/jdk.compiler/share/classes/module-info.java ! test/tools/javac/processing/errors/TestBadProcessor.java From jonathan.gibbons at oracle.com Fri Sep 25 23:10:56 2015 From: jonathan.gibbons at oracle.com (Jonathan Gibbons) Date: Fri, 25 Sep 2015 16:10:56 -0700 Subject: hg: jigsaw/jake/langtools: 8062324: Remove workaround copy of ServiceLoader from javac In-Reply-To: <201509252307.t8PN7ncd004311@aojmv0008.oracle.com> References: <201509252307.t8PN7ncd004311@aojmv0008.oracle.com> Message-ID: <5605D480.2050704@oracle.com> This should have been attributed to jan.lahoda at oracle.com. My apologies for not catching this in time. -- Jon On 09/25/2015 04:07 PM, jonathan.gibbons at oracle.com wrote: > Changeset: 4dfde5dc00fc > Author: jjg > Date: 2015-09-25 15:53 -0700 > URL: http://hg.openjdk.java.net/jigsaw/jake/langtools/rev/4dfde5dc00fc > > 8062324: Remove workaround copy of ServiceLoader from javac > > ! src/jdk.compiler/share/classes/com/sun/tools/javac/api/BasicJavacTask.java > ! src/jdk.compiler/share/classes/com/sun/tools/javac/processing/JavacProcessingEnvironment.java > - src/jdk.compiler/share/classes/com/sun/tools/javac/util/ServiceLoader.java > ! src/jdk.compiler/share/classes/module-info.java > ! test/tools/javac/processing/errors/TestBadProcessor.java > From chris.hegarty at oracle.com Sat Sep 26 08:25:30 2015 From: chris.hegarty at oracle.com (chris.hegarty at oracle.com) Date: Sat, 26 Sep 2015 08:25:30 +0000 Subject: hg: jigsaw/jake/jdk: Minor jar tool update and test cleanup Message-ID: <201509260825.t8Q8PUwG019871@aojmv0008.oracle.com> Changeset: 10a00bf2e822 Author: chegar Date: 2015-09-26 09:24 +0100 URL: http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/10a00bf2e822 Minor jar tool update and test cleanup ! src/jdk.jartool/share/classes/sun/tools/jar/GNUStyleOptions.java ! src/jdk.jartool/share/classes/sun/tools/jar/resources/jar.properties ! test/jdk/jigsaw/launcher/basic/BasicTest.java ! test/jdk/jigsaw/scenarios/container/ContainerTest.java ! test/tools/jar/compat/CLICompatibility.java ! test/tools/jar/modularJar/Basic.java From alan.bateman at oracle.com Sat Sep 26 14:22:58 2015 From: alan.bateman at oracle.com (alan.bateman at oracle.com) Date: Sat, 26 Sep 2015 14:22:58 +0000 Subject: hg: jigsaw/jake: Move build to -Xpatch Message-ID: <201509261422.t8QEMwb9000529@aojmv0008.oracle.com> Changeset: 931b4924d1b6 Author: alanb Date: 2015-09-26 14:57 +0100 URL: http://hg.openjdk.java.net/jigsaw/jake/rev/931b4924d1b6 Move build to -Xpatch ! common/autoconf/boot-jdk.m4 ! common/autoconf/generated-configure.sh ! common/autoconf/spec.gmk.in From alan.bateman at oracle.com Sat Sep 26 14:25:13 2015 From: alan.bateman at oracle.com (alan.bateman at oracle.com) Date: Sat, 26 Sep 2015 14:25:13 +0000 Subject: hg: jigsaw/jake/nashorn: Move Nashorn build to -Xpatch Message-ID: <201509261425.t8QEPDqG000968@aojmv0008.oracle.com> Changeset: 50ab20e1445f Author: alanb Date: 2015-09-26 15:01 +0100 URL: http://hg.openjdk.java.net/jigsaw/jake/nashorn/rev/50ab20e1445f Move Nashorn build to -Xpatch ! buildtools/nasgen/build.xml ! make/BuildNashorn.gmk ! make/build.xml ! make/project.properties ! test/script/currently-failing/JDK-8055034.js From alan.bateman at oracle.com Sat Sep 26 14:26:16 2015 From: alan.bateman at oracle.com (alan.bateman at oracle.com) Date: Sat, 26 Sep 2015 14:26:16 +0000 Subject: hg: jigsaw/jake/jdk: Move remaining uses of javac -Xoverride to -Xpatch Message-ID: <201509261426.t8QEQGUK001252@aojmv0008.oracle.com> Changeset: 2426da8f0cae Author: alanb Date: 2015-09-26 15:02 +0100 URL: http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/2426da8f0cae Move remaining uses of javac -Xoverride to -Xpatch ! test/javax/xml/jaxp/common/8035437/run.sh From Alan.Bateman at oracle.com Sat Sep 26 14:33:40 2015 From: Alan.Bateman at oracle.com (Alan Bateman) Date: Sat, 26 Sep 2015 15:33:40 +0100 Subject: Re-examine ClassLoader.getPackage(s) methods In-Reply-To: <5605CCE6.60406@oracle.com> References: <5605CCE6.60406@oracle.com> Message-ID: <5606ACC4.3060405@oracle.com> On 25/09/2015 23:38, Mandy Chung wrote: > : > > I propose to minimize the compatibility risk and revert JDK 9 behavior > of ClassLoader.getPackage(s) methods. Instead add two new methods: > ClassLoader::getDefinedPackage(String) and getDefinedPackages() to > return the defined packages by this class loader. > > I considered deprecating ClassLoader::getPackage(s). These methods > are not doing anything inherently wrong or causing any risk although > the spec and impl version, title, vendor, annotation might not be th > expected value. The Package design and implementation has been flawed > since 1.2. This patch leaves it with @apiNote to make it clear. > This looks good. I think I would lean more to deprecating getPackage as just too fragile and leads to difficult to diagnose bugs. BTW: I assume the proxy test is a separate change-set and not mean to be in this patch. -Alan From mandy.chung at oracle.com Sat Sep 26 18:28:41 2015 From: mandy.chung at oracle.com (Mandy Chung) Date: Sat, 26 Sep 2015 11:28:41 -0700 Subject: Re-examine ClassLoader.getPackage(s) methods In-Reply-To: <5606ACC4.3060405@oracle.com> References: <5605CCE6.60406@oracle.com> <5606ACC4.3060405@oracle.com> Message-ID: <2EA4DD57-B9CE-4CDD-8E89-97E06B00DC2B@oracle.com> > On Sep 26, 2015, at 7:33 AM, Alan Bateman wrote: > This looks good. I think I would lean more to deprecating getPackage as just too fragile and leads to difficult to diagnose bugs. Are you also suggesting to deprecate ClassLoader::getPackages as well? > BTW: I assume the proxy test is a separate change-set and not mean to be in this patch. That test should be pushed as a separate changeset. That test reveals a NPE thrown by definePackage and helps catching problem. Mandy From Alan.Bateman at oracle.com Sun Sep 27 08:29:08 2015 From: Alan.Bateman at oracle.com (Alan Bateman) Date: Sun, 27 Sep 2015 09:29:08 +0100 Subject: Re-examine ClassLoader.getPackage(s) methods In-Reply-To: <2EA4DD57-B9CE-4CDD-8E89-97E06B00DC2B@oracle.com> References: <5605CCE6.60406@oracle.com> <5606ACC4.3060405@oracle.com> <2EA4DD57-B9CE-4CDD-8E89-97E06B00DC2B@oracle.com> Message-ID: <5607A8D4.3050409@oracle.com> On 26/09/2015 19:28, Mandy Chung wrote: >> On Sep 26, 2015, at 7:33 AM, Alan Bateman wrote: >> This looks good. I think I would lean more to deprecating getPackage as just too fragile and leads to difficult to diagnose bugs. > Are you also suggesting to deprecate ClassLoader::getPackages as well? > The ordering of the elements in the array returned by CL::getPackages is not specified so I think that is okay. However CL#getPackage(String) is a significant hazard as the @apiNote explains so I think it could be a candidate to deprecate. -Alan. From mark.reinhold at oracle.com Mon Sep 28 16:40:04 2015 From: mark.reinhold at oracle.com (mark.reinhold at oracle.com) Date: Mon, 28 Sep 2015 09:40:04 -0700 Subject: JEP 261 update: -Xoverride becomes -Xpatch Message-ID: <20150928094004.311737@eggemoggin.niobe.net> Based on some initial experience we now have answers to the open issues in JEP 261 [1] regarding the -Xoverride option. We've seen two kinds of use cases for -Xoverride: - By JDK developers, to replace system classes with new versions in active development, so that they don't have to rebuild the entire module (or all the modules) on which they're working; and - By test harnesses, to arrange for white-box tests to run in the same package as the code being tested, even when that package is not exported by its defining module. The -Xoverride option as it stands works well enough for development, but it's fairly clumsy for test harnesses. So, to answer the open questions: - Should it take a module path rather than a single directory? Yes. If a harness is going to run multiple tests in the same test run, which is of course highly desirable for efficiency, then it may need to inject test classes into many different unexported packages. It could in principle do that by copying all such classes into a single directory tree, but that's just busywork. The parameter to -Xoverride should not, however, exactly be a module path. For testing purposes it's more convenient to treat it like a class path, with "leaky" path semantics. That is, given a module name and a class name the search should examine every module definition of that name on the path, in order, for a class of that name, rather than stop after the first module. That way a test harness can inject multiple tests into the same package without having to copy files around. - Can it be used to override `module-info.class` files? No. The primary use case here is wanting to arrange for a module under test to invoke the test harness in a different module, or to export additional packages for the test harness to exercise. This entails amending the declaration of the module under test with new `requires` or `exports` clauses. Since we have no way to express the augmentation of a module declaration in either source or binary form (and would really rather avoid that complexity!), a test would need to maintain a complete revised declaration for the module under test and keep it in sync with the actual module definition. This would lead to tests that are difficult to maintain. If a test needs to augment the declaration of a module under test then the harness should do so, on its behalf, via the reflection API or command-line options. At present a harness can use the -XaddExports option to, effectively, add `exports` clauses at run time. There is, however, no way to add `requires` clauses (i.e., reads edges) to the module graph via the command line, so we'll add an -XaddReads option to do that. (This option was actually present in earlier versions of the prototype, so this change just amounts to bringing it back.) The parameter to -XaddReads will have the same syntax as -XaddExports, and ALL-UNNAMED will be supported. - Can it be used to add packages to modules? (If it can be used to override `module-info.class` files then this is implied.) Yes. This ability is useful in the case of working on the JDK itself; consider, e.g., refactoring an existing package into two packages. Packages added in this way will, by default, not be exported, but they can be exported via the reflection API or the -XaddExports option. - Can it be used to override non-class resources? (The implementation currently disallows this.) Yes. Allowing this is consistent with allowing new packages. - Is there a better name for this option? Yes. With the ability to add packages and resources it's no longer about overriding existing definitions but, in fact, patching the entire system, so we'll rename this to "-Xpatch". Alan has already pushed changes to the Jake forest to implement (most of) the -XaddReads option, and the rename of -Xoverride to -Xpatch. These will be available in the next Jigsaw EA build, likely later this week. I'll update JEP 261 shortly. - Mark [1] http://openjdk.java.net/jeps/261 From mark.reinhold at oracle.com Mon Sep 28 18:10:07 2015 From: mark.reinhold at oracle.com (mark.reinhold at oracle.com) Date: Mon, 28 Sep 2015 11:10:07 -0700 Subject: JEP 261 update: -Xoverride becomes -Xpatch In-Reply-To: <20150928094004.311737@eggemoggin.niobe.net> References: <20150928094004.311737@eggemoggin.niobe.net> Message-ID: <20150928111007.867534@eggemoggin.niobe.net> 2015/9/28 9:40 -0700, mark.reinhold at oracle.com: > ... > > Alan has already pushed changes to the Jake forest to implement (most of) > the -XaddReads option, and the rename of -Xoverride to -Xpatch. These > will be available in the next Jigsaw EA build, likely later this week. > I'll update JEP 261 shortly. Done: http://openjdk.java.net/jeps/261 Patch attached below for reference. - Mark --- 261.md.orig 2015-09-25 14:29:28.386792119 -0700 +++ 261.md 2015-09-28 10:56:41.555335035 -0700 @@ -180,20 +180,66 @@ `-limitmods` option is also specified, then the name of the main module is added to the set of modules named by the `-limitmods` option so that the main module is included in the module graph. (The transitive closure computed for the interpretation of the `-limitmods` option is a temporary result, used only to compute the limited set of observable modules. The resolver will be invoked again in order to compute the actual module graph.) +### Increasing readability + +When testing and debugging it is sometimes necessary to arrange for one +module to read some other module, even though the first module does not +depend upon the second via a `requires` clause in its module declaration. +This may be needed, _e.g._, in order for a module under test to access +the test harness itself, or to access libraries related to the harness. +The `-XaddReads` option can be used, at both compile time and run time, +to do this. Its syntax is: + + -XaddReads:(,)* + +where each `` is of the form + + = + +where `` and `` are module names. + +The effect of each `` is to add a [readability edge][sotms-rd] from +the target module to the source module. This is, essentially, a +command-line form of a `requires` clause in a module declaration, or an +invocation of an unrestricted form of the `Module::addReads` +[method][api-addReads]. As a consequence, code in the target module will +be able to access types in packages of the source module so long as each +package is exported via an `exports` clause in the source module's +declaration, an invocation of the `Module::addExports` +[method][api-addExports], or a use of the `-XaddExports` option (defined +below). + +If, for example, a test harness injects a white-box test class into the +`java.management` module, and that class extends an exported utility +class in the (hypothetical) `testng` module, then the access it requires +can be granted via the option + + -XaddReads:java.management=testng + +As a special case, if the `` is `ALL-UNNAMED` then +readability edges will be added from the target module to all present and +future unnamed modules, including that corresponding to the class path. +This allows code in modules to be tested by test frameworks that have +not, themselves, yet been converted to modular form. + +[sotms-rd]: http://openjdk.java.net/projects/jigsaw/spec/sotms/#readability +[api-addReads]: http://cr.openjdk.java.net/~mr/jigsaw/spec/api/java/lang/reflect/Module.html#addReads-java.lang.reflect.Module- + + ### Breaking encapsulation It is sometimes necessary to violate the access-control boundaries defined by the module system, and enforced by the compiler and virtual machine, in order to allow one module to access some of the unexported types of another module. This may be desirable in order to, _e.g._, enable white-box testing of internal types, or to expose unsupported internal APIs to code that has come to depend upon them. The `-XaddExports` option can be used, at both compile time and run time, to do this. Its syntax is: @@ -201,25 +247,28 @@ -XaddExports:(,)* where each `` is of the form /= where `` and `` are module names and `` is the name of a package. The effect of each `` is to add a [qualified export][sotms-qe] of -the named package from the source module to the target module. Code in -the target module will then be able to access types in the named package -of the source module if the target module reads the source module, either -via a `requires` clause in its module declaration or an invocation of the -`Module::addReads` method. +the named package from the source module to the target module. This is, +essentially, a command-line form of an `exports` clause in a module +declaration, or an invocation of an unrestricted form of the +`Module::addExports` [method][api-addExports]. As a consequence, code in +the target module will be able to access types in the named package of +the source module if the target module reads the source module, either +via a `requires` clause in its module declaration, an invocation of the +`Module::addReads` method, or a use of the `-XaddReads` option. If, for example, the module `jmx.wbtest` contains a white-box test for the unexported `com.sun.jmx.remote.internal` package of the `java.management` module, then the access it requires can be granted via the option -XaddExports:java.management/com.sun.jmx.remote.internal=jmx.wbtest As a special case, if the `` is `ALL-UNNAMED` then the source package will be exported to all unnamed modules, whether they @@ -228,46 +277,60 @@ to all code on the class path via the option -XaddExports:java.management/sun.management=ALL-UNNAMED > **The `-XaddExports` option must be used with great care. You can use it to gain access to an internal API of a library module, or even of the JDK itself, but you do so at your own risk: If that internal API changes or is removed then your library or application will fail.** [sotms-qe]: http://openjdk.java.net/projects/jigsaw/spec/sotms/#qualified-exports +[api-addExports]: http://cr.openjdk.java.net/~mr/jigsaw/spec/api/java/lang/reflect/Module.html#addExports-java.lang.String-java.lang.reflect.Module- -### Overriding module content +### Patching module content When testing and debugging it is sometimes useful to replace selected -class files of specific modules with alternate or experimental versions. -This can be done via the `-Xoverride` option, at both compile time and -run time. Its syntax is: - - -Xoverride: - -where `` is a directory that contains exploded-module directories -whose content will override the content of any corresponding modules in -the initial module graph. This option replaces the `-Xbootclasspath:/p` +class files or resources of specific module definitions with alternate or +experimental versions, or to provide entirely new class files, resources, +and even packages. This can be done via the `-Xpatch` option, at both +compile time and run time. This option replaces the `-Xbootclasspath:/p` option, which has been removed (see below). -> **The `-Xoverride` option is intended only for testing and debugging. +The parameter to `-Xpatch` is a path of directories that contain module +definitions, but it is not a module path. When searching a module path +for a module of a particular name, the module system only considers the +first definition of a module of that name. That can be inconvenient when +testing and debugging, so the patch path is interpreted with "leaky", +class-path-like semantics: When searching the patch path for a class in a +module of a given name, the module system examines every definition of a +module of that name, in order, until it finds the requested class. This +allows a test harness, _e.g._, to inject multiple tests into the same +package without having to copy files. + +The `-Xpatch` option cannot be used to replace `module-info.class` files; +any such files will be ignored. + +If a package found in a module on the patch path is not already exported +by that module then it will not be exported. It can be exported +explicitly via either the reflection API or the `-XaddExports` option. + +> **The `-Xpatch` option is intended only for testing and debugging. Its use in production settings is strongly discouraged.** ### Compile time The `javac` compiler implements the options described above, as applicable to compile time: `-modulesourcepath`, `-upgrademodulepath`, `-systemmodulepath`, `-modulepath`, `-addmods`, `-limitmods`, -`-XaddExports`, and `-Xoverride`. +`-XaddExports`, and `-Xpatch`. The compiler operates in one of three modes, each of which implements additional options. - _Legacy mode_ is enabled when the compilation environment, as defined by the `-source`, `-target`, and `-release` options, is less than or equal to 8. None of the modular options described above may be used. In legacy mode the compiler behaves in essentially the same way as it does in JDK 8. @@ -424,21 +487,21 @@ options, described above, as well as additional linker-specific options. The `jlink` tool's `--help` option can be used to get a complete summary of its command-line options. ### Run time The Java command-line launcher, `java`, implements the options described above, as applicable to run time: `-upgrademodulepath`, `-modulepath`, -`-addmods`, `-limitmods`, `-XaddExports`, and `-Xoverride`. The +`-addmods`, `-limitmods`, `-XaddExports`, and `-Xpatch`. The additional options specific to this phase are: - `-m ` specifies the main module of a modular application. This will be the default root module for the purpose of constructing the application's initial module graph. If the main module's descriptor does not indicate a main class then the syntax `/` can be used, where `` names the class that contains the application's `public static void main` entry point. - `-listmods` shows the names and version strings of the modules @@ -640,22 +703,22 @@ With the module system in place there is no longer a bootstrap class path as such, so the `javac` compiler only supports the `-Xbootclasspath` option in legacy mode, the `java` launcher no longer supports either option, and the system property `sun.boot.class.path` will be removed. The compiler's `-systemmodulepath` option can be used to specify an alternate source of system modules, as described above, and its `-release` option can be used to specify an alternate platform version, as described in [JEP 247 (Compile for Older Platform Versions)][jep247]. -At run time the `-Xoverride` option, mentioned above, can be used to -override the content of modules in the initial module graph. +At run time the `-Xpatch` option, mentioned above, can be used to inject +content into modules in the initial module graph. A related option, `-Xbootclasspath/a`, allows files and directories to be appended to the default bootstrap class path path. This option, and the related API in the `java.lang.instrument` package, is sometimes used by instrumentation agents, so for compatibility it is still supported at run time. Its value, if specified, is reported via the JDK-specific system property `jdk.boot.class.path.append`. [jep247]: http://openjdk.java.net/jeps/247 @@ -663,38 +726,20 @@ ### Open design issues - For ease of use, if both the `-limitmods` and `-addmods` options are specified then it might be worth treating the `-addmods` arguments as additional `-limitmods` arguments, to avoid redundancies on the command line as well as potentially-confusing errors. - Should the `-addmods` option allow the intended class loader of the added modules to be specified? - - Should we reintroduce the `-XaddReads` option, which can add - arbitrary readability edges to the module graph from the command - line, in order to support white-box testing? - - - Issues related to the `-Xoverride` option: - - - Should it take a module path rather than a single directory? - - - Can it be used to override non-class resources? (The - implementation currently disallows this.) - - - Can it be used to override `module-info.class` files? - - - Can it be used to add packages to modules? (If it can be used to - override `module-info.class` files then this is implied.) - - - Is there a better name for this option? - - In `javac`'s legacy mode, are `module-info.java` source files rejected, or are they ignored? - In `javac`'s multi-module mode the `-sourcepath` and `-classpath` options are confusing. Should we disallow them? - The `-systemmodulepath` option implemented by `javac` should be renamed, perhaps simply to `-system`, since it does not specify an actual module path. @@ -826,22 +871,22 @@ these APIs might not work correctly. A workaround is to break encapsulation via the `-XaddExports` option, defined above. (The movement of the `sun.misc` and `sun.reflect` packages to a `jdk.internal` module, proposed in JEP 260, has not yet been implemented in the prototype; for now, the `java.base` module exports both of these packages.) - The `-Xbootclasspath` and `-Xbootclasspath/p` options will be removed, as noted above. At compile time, the new `-release` option can be used to specify an alternate platform version (see - [JEP 247][jep247]). At run time, the new `-Xoverride` option, - described above, can be used to override the content of system + [JEP 247][jep247]). At run time, the new `-Xpatch` option, + described above, can be used to inject content into system modules. - The JDK-specific system property `sun.boot.class.path` will be removed, since there is no longer a bootstrap class path. Existing code that uses this property might not work correctly. (This has not yet been implemented in the prototype; the value of this property is, at the moment, not a valid class path.) - The JDK-specific annotation `@jdk.Exported`, introduced by [JEP 179][jep179], will be removed since the information it conveys From mandy.chung at oracle.com Mon Sep 28 19:36:47 2015 From: mandy.chung at oracle.com (Mandy Chung) Date: Mon, 28 Sep 2015 12:36:47 -0700 Subject: Re-examine ClassLoader.getPackage(s) methods In-Reply-To: <5607A8D4.3050409@oracle.com> References: <5605CCE6.60406@oracle.com> <5606ACC4.3060405@oracle.com> <2EA4DD57-B9CE-4CDD-8E89-97E06B00DC2B@oracle.com> <5607A8D4.3050409@oracle.com> Message-ID: <560996CF.8050001@oracle.com> On 09/27/2015 01:29 AM, Alan Bateman wrote: > > > On 26/09/2015 19:28, Mandy Chung wrote: >>> On Sep 26, 2015, at 7:33 AM, Alan Bateman >>> wrote: >>> This looks good. I think I would lean more to deprecating getPackage >>> as just too fragile and leads to difficult to diagnose bugs. >> Are you also suggesting to deprecate ClassLoader::getPackages as well? > The ordering of the elements in the array returned by CL::getPackages > is not specified so I think that is okay. However > CL#getPackage(String) is a significant hazard as the @apiNote explains > so I think it could be a candidate to deprecate. Thanks for clarifying this as I think no need to deprecate CL::getPackags. Custom class loader implementation may likely call CL::getPackage before calling definePackage to avoid IAE. There isn't any issue filed reporting the returned Package contains unexpected properties. On the other hand, now each class loader defines Package objects locally without walking the class loader hierarchy, I agree that deprecating CL::getPackage is the right thing. I now make @apiNote in CL::getPackage to @deprecated. * @deprecated * If multiple class loaders delegate to each other and define classes * with the same package name, and one such loader relies on the lookup * behavior of {@code getPackage} to return a {@code Package} from * a parent loader, then the properties exposed by the {@code Package} * may not be as expected in the rest of the program. * For example, the {@code Package} will only expose annotations from the * {@code package-info.class} file defined by the parent loader, even if * annotations exist in a {@code package-info.class} file defined by * a child loader. Instead, use the {@link ClassLoader#getDefinedPackage} * method which only returns a {@code Package} for the specified class loader. * Mandy From mandy.chung at oracle.com Mon Sep 28 23:31:42 2015 From: mandy.chung at oracle.com (mandy.chung at oracle.com) Date: Mon, 28 Sep 2015 23:31:42 +0000 Subject: hg: jigsaw/jake/jdk: 8136444: ClassLoader::getPackage stop looking at parent class loader prevent NB starting Message-ID: <201509282331.t8SNVgc2002973@aojmv0008.oracle.com> Changeset: 5805781b9370 Author: mchung Date: 2015-09-28 16:30 -0700 URL: http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/5805781b9370 8136444: ClassLoader::getPackage stop looking at parent class loader prevent NB starting Reviewed-by: abuckley, alanb ! src/java.base/share/classes/java/lang/Class.java ! src/java.base/share/classes/java/lang/ClassLoader.java ! src/java.base/share/classes/java/lang/ModuleClassLoader.java ! src/java.base/share/classes/java/lang/Package.java ! src/java.base/share/classes/java/lang/reflect/Module.java ! src/java.base/share/classes/java/net/URLClassLoader.java ! src/java.base/share/classes/jdk/internal/misc/BootLoader.java ! src/java.base/share/classes/jdk/internal/misc/BuiltinClassLoader.java ! test/java/lang/Package/GetPackages.java From mandy.chung at oracle.com Mon Sep 28 23:36:38 2015 From: mandy.chung at oracle.com (mandy.chung at oracle.com) Date: Mon, 28 Sep 2015 23:36:38 +0000 Subject: hg: jigsaw/jake/jdk: 2 new changesets Message-ID: <201509282336.t8SNacx5003963@aojmv0008.oracle.com> Changeset: 5f781c90d35b Author: mchung Date: 2015-09-28 16:31 -0700 URL: http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/5f781c90d35b New test to create proxies with layer + test/jdk/jigsaw/reflect/Proxy/ProxyLayerTest.java Changeset: 189f83e533d0 Author: mchung Date: 2015-09-28 16:35 -0700 URL: http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/189f83e533d0 8137096: Typo in j.l.r.Proxy.newProxyInstance - 'and and' ! src/java.base/share/classes/java/lang/reflect/Proxy.java From mandy.chung at oracle.com Tue Sep 29 01:45:31 2015 From: mandy.chung at oracle.com (mandy.chung at oracle.com) Date: Tue, 29 Sep 2015 01:45:31 +0000 Subject: hg: jigsaw/jake/jdk: Update module-summary.html Message-ID: <201509290145.t8T1jWEW001326@aojmv0008.oracle.com> Changeset: e922b207c170 Author: mchung Date: 2015-09-28 18:44 -0700 URL: http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/e922b207c170 Update module-summary.html ! make/src/classes/build/tools/jigsaw/ModuleSummary.java From daniel.fuchs at oracle.com Tue Sep 29 09:02:21 2015 From: daniel.fuchs at oracle.com (Daniel Fuchs) Date: Tue, 29 Sep 2015 11:02:21 +0200 Subject: Re-examine ClassLoader.getPackage(s) methods In-Reply-To: <560996CF.8050001@oracle.com> References: <5605CCE6.60406@oracle.com> <5606ACC4.3060405@oracle.com> <2EA4DD57-B9CE-4CDD-8E89-97E06B00DC2B@oracle.com> <5607A8D4.3050409@oracle.com> <560996CF.8050001@oracle.com> Message-ID: <560A539D.80506@oracle.com> > I now make @apiNote in CL::getPackage to @deprecated. Hi Mandy, Alan, Doesn't this leads to deprecate the method static Package.getPackage(String name) too - as this is based on CL.getPackage(String)? best regards, -- daniel On 28/09/15 21:36, Mandy Chung wrote: > > > On 09/27/2015 01:29 AM, Alan Bateman wrote: >> >> >> On 26/09/2015 19:28, Mandy Chung wrote: >>>> On Sep 26, 2015, at 7:33 AM, Alan Bateman >>>> wrote: >>>> This looks good. I think I would lean more to deprecating getPackage >>>> as just too fragile and leads to difficult to diagnose bugs. >>> Are you also suggesting to deprecate ClassLoader::getPackages as well? >> The ordering of the elements in the array returned by CL::getPackages >> is not specified so I think that is okay. However >> CL#getPackage(String) is a significant hazard as the @apiNote explains >> so I think it could be a candidate to deprecate. > > Thanks for clarifying this as I think no need to deprecate CL::getPackags. > > Custom class loader implementation may likely call CL::getPackage before > calling definePackage to avoid IAE. There isn't any issue filed > reporting the returned Package contains unexpected properties. On the > other hand, now each class loader defines Package objects locally > without walking the class loader hierarchy, I agree that deprecating > CL::getPackage is the right thing. > > I now make @apiNote in CL::getPackage to @deprecated. > > * @deprecated > * If multiple class loaders delegate to each other and define classes > * with the same package name, and one such loader relies on the > lookup > * behavior of {@code getPackage} to return a {@code Package} from > * a parent loader, then the properties exposed by the {@code Package} > * may not be as expected in the rest of the program. > * For example, the {@code Package} will only expose annotations > from the > * {@code package-info.class} file defined by the parent loader, > even if > * annotations exist in a {@code package-info.class} file defined by > * a child loader. Instead, use the {@link > ClassLoader#getDefinedPackage} > * method which only returns a {@code Package} for the specified > class loader. > * > > Mandy From ron at paralleluniverse.co Tue Sep 29 15:14:08 2015 From: ron at paralleluniverse.co (Ron Pressler) Date: Tue, 29 Sep 2015 18:14:08 +0300 Subject: How should a build/launch tool best make use of modules? Message-ID: Hi. The module system leaves the task of version selection, version conflict resolution and other version-related issues to build tools, but as one of the maintainers of a launch tool, Capsule ? which is similar to a build tool in many respects -- I can?t quite see how this should be done, and would appreciate some guidance. The problem arises with version conflicts of a transitive dependency on a library that has breaking changes between versions. This is a common occurrence. One notable example is ASM. Suppose I have an application model, A, with the following dependencies: A ?> B C ?> L at v2 D E M ?> L at v1 ?> B L at v2 ?> B When I build the application, the build tool detects the version conflict, L at v1/v2, and emits an error/warning. At this point the developer tells the build tool to find a solution such that library M will resolve the dependency on L at v1, but all other modules will use L at v2. This is done today using shadowing, namely merging L at v1 into the same JAR file as M, and transforming all classes both in M and L so that L?s packages are renamed. This solution is obviously brittle. For example, it may not work when reflection is involved, and in any event, it is excessive. There is no reason why the same solution (shadowing) would not work with Jigsaw modules, but it seems like Jigsaw could offer a better way, except I see two problems that I?d like to ask for advice on: 1. I don?t see a way other than the module path to inform the JVM of the module graph configuration (such as passing the name of a class that will create the configuration etc.). A workaround may be to inject an agent that will be listed first on the command line, have its premain method never return, and let it parse the rest of the command line, loading the main module through a custom layer. This may sound like a terrible hack, but it?s the kind of things tools do, and it might still be less brittle and hack then shadowing. My question is, is there a better way? 2. Suppose there was a way to create a configuration more complex than a single module path. How would I construct the one I described above? My first though was to have one layer consisting of all modules, and then a child-layer with M ?> L at v1. But this doesn?t work as A ?> M, and you can?t resolve a Configuration that?s missing a dependency. My next guess was to put all dependencies except M in one layer, then M ?> L at v1 in another, and then A in yet another, but this doesn?t work either as A ?> L at v2, and the L at v1 would override that. Then I thought of putting M ?> L at v1 ?> B in the first layer, and then everything else in another, overriding L, but this isn?t quite right as it would result in two versions of B. The only solution, then, is putting M ?> L at v1 ?> B in the first layer, and then everything else, taking care to override L but not B. This can work, but it may be quite annoying to compute, especially given that my intentions are very simple ? resolve everything as you would except resolve L to L at v1 when accessed through M. Shouldn?t there perhaps be a way to modify the graph selectively before final resolution (or some other form of fine-grained control over the graph?s construction)? So, the module system leaves the task of version selection and conflict resolution to build tools ? and rightly so ? but I don?t see it simplifying the tools? job or helping them avoid terrible hacks, even though it seems like it could. What am I missing? Is there some simple solution I?ve overlooked? Ron From jean-francois.denise at oracle.com Tue Sep 29 16:51:52 2015 From: jean-francois.denise at oracle.com (jean-francois.denise at oracle.com) Date: Tue, 29 Sep 2015 16:51:52 +0000 Subject: hg: jigsaw/jake/jaxp: 2 new changesets Message-ID: <201509291651.t8TGpqgH011002@aojmv0008.oracle.com> Changeset: 9ae39768bcc2 Author: lana Date: 2015-09-25 22:59 -0700 URL: http://hg.openjdk.java.net/jigsaw/jake/jaxp/rev/9ae39768bcc2 Added tag jdk9-b83 for changeset 497bc2654e11 ! .hgtags Changeset: 722eca4b78a2 Author: jfdenise Date: 2015-09-28 12:15 +0200 URL: http://hg.openjdk.java.net/jigsaw/jake/jaxp/rev/722eca4b78a2 Merge From jean-francois.denise at oracle.com Tue Sep 29 16:51:53 2015 From: jean-francois.denise at oracle.com (jean-francois.denise at oracle.com) Date: Tue, 29 Sep 2015 16:51:53 +0000 Subject: hg: jigsaw/jake/corba: 4 new changesets Message-ID: <201509291651.t8TGprCJ011088@aojmv0008.oracle.com> Changeset: 3ef63dbde965 Author: avstepan Date: 2015-09-13 23:31 +0300 URL: http://hg.openjdk.java.net/jigsaw/jake/corba/rev/3ef63dbde965 8133650: replace some tags (obsolete in html5) in CORBA docs Reviewed-by: lancea ! src/java.corba/share/classes/com/sun/corba/se/impl/ior/ByteBuffer.java ! src/java.corba/share/classes/com/sun/corba/se/impl/javax/rmi/CORBA/Util.java ! src/java.corba/share/classes/com/sun/corba/se/impl/presentation/rmi/JNDIStateFactoryImpl.java ! src/java.corba/share/classes/com/sun/corba/se/spi/legacy/connection/ORBSocketFactory.java ! src/java.corba/share/classes/javax/rmi/CORBA/Util.java ! src/java.corba/share/classes/org/omg/CORBA/AnyHolder.java ! src/java.corba/share/classes/org/omg/CORBA/AnySeqHelper.java ! src/java.corba/share/classes/org/omg/CORBA/AnySeqHolder.java ! src/java.corba/share/classes/org/omg/CORBA/BAD_POLICY.java ! src/java.corba/share/classes/org/omg/CORBA/BAD_POLICY_TYPE.java ! src/java.corba/share/classes/org/omg/CORBA/BAD_TYPECODE.java ! src/java.corba/share/classes/org/omg/CORBA/BooleanHolder.java ! src/java.corba/share/classes/org/omg/CORBA/BooleanSeqHelper.java ! src/java.corba/share/classes/org/omg/CORBA/BooleanSeqHolder.java ! src/java.corba/share/classes/org/omg/CORBA/ByteHolder.java ! src/java.corba/share/classes/org/omg/CORBA/CharHolder.java ! src/java.corba/share/classes/org/omg/CORBA/CharSeqHelper.java ! src/java.corba/share/classes/org/omg/CORBA/CharSeqHolder.java ! src/java.corba/share/classes/org/omg/CORBA/CompletionStatusHelper.java ! src/java.corba/share/classes/org/omg/CORBA/Current.java ! src/java.corba/share/classes/org/omg/CORBA/CurrentHelper.java ! src/java.corba/share/classes/org/omg/CORBA/CurrentHolder.java ! src/java.corba/share/classes/org/omg/CORBA/CurrentOperations.java ! src/java.corba/share/classes/org/omg/CORBA/CustomMarshal.java ! src/java.corba/share/classes/org/omg/CORBA/DefinitionKindHelper.java ! src/java.corba/share/classes/org/omg/CORBA/DomainManager.java ! src/java.corba/share/classes/org/omg/CORBA/DomainManagerOperations.java ! src/java.corba/share/classes/org/omg/CORBA/DoubleHolder.java ! src/java.corba/share/classes/org/omg/CORBA/DoubleSeqHelper.java ! src/java.corba/share/classes/org/omg/CORBA/DoubleSeqHolder.java ! src/java.corba/share/classes/org/omg/CORBA/DynAny.java ! src/java.corba/share/classes/org/omg/CORBA/DynArray.java ! src/java.corba/share/classes/org/omg/CORBA/DynEnum.java ! src/java.corba/share/classes/org/omg/CORBA/FieldNameHelper.java ! src/java.corba/share/classes/org/omg/CORBA/FixedHolder.java ! src/java.corba/share/classes/org/omg/CORBA/FloatHolder.java ! src/java.corba/share/classes/org/omg/CORBA/FloatSeqHelper.java ! src/java.corba/share/classes/org/omg/CORBA/FloatSeqHolder.java ! src/java.corba/share/classes/org/omg/CORBA/IDLTypeHelper.java ! src/java.corba/share/classes/org/omg/CORBA/IDLTypeOperations.java ! src/java.corba/share/classes/org/omg/CORBA/INV_OBJREF.java ! src/java.corba/share/classes/org/omg/CORBA/INV_POLICY.java ! src/java.corba/share/classes/org/omg/CORBA/IRObjectOperations.java ! src/java.corba/share/classes/org/omg/CORBA/IdentifierHelper.java ! src/java.corba/share/classes/org/omg/CORBA/IntHolder.java ! src/java.corba/share/classes/org/omg/CORBA/LocalObject.java ! src/java.corba/share/classes/org/omg/CORBA/LongHolder.java ! src/java.corba/share/classes/org/omg/CORBA/LongLongSeqHelper.java ! src/java.corba/share/classes/org/omg/CORBA/LongLongSeqHolder.java ! src/java.corba/share/classes/org/omg/CORBA/LongSeqHelper.java ! src/java.corba/share/classes/org/omg/CORBA/LongSeqHolder.java ! src/java.corba/share/classes/org/omg/CORBA/MARSHAL.java ! src/java.corba/share/classes/org/omg/CORBA/NO_IMPLEMENT.java ! src/java.corba/share/classes/org/omg/CORBA/NameValuePair.java ! src/java.corba/share/classes/org/omg/CORBA/NameValuePairHelper.java ! src/java.corba/share/classes/org/omg/CORBA/ORB.java ! src/java.corba/share/classes/org/omg/CORBA/ObjectHelper.java ! src/java.corba/share/classes/org/omg/CORBA/ObjectHolder.java ! src/java.corba/share/classes/org/omg/CORBA/OctetSeqHelper.java ! src/java.corba/share/classes/org/omg/CORBA/OctetSeqHolder.java ! src/java.corba/share/classes/org/omg/CORBA/Policy.java ! src/java.corba/share/classes/org/omg/CORBA/PolicyHelper.java ! src/java.corba/share/classes/org/omg/CORBA/PolicyHolder.java ! src/java.corba/share/classes/org/omg/CORBA/PolicyListHelper.java ! src/java.corba/share/classes/org/omg/CORBA/PolicyListHolder.java ! src/java.corba/share/classes/org/omg/CORBA/PolicyOperations.java ! src/java.corba/share/classes/org/omg/CORBA/PolicyTypeHelper.java ! src/java.corba/share/classes/org/omg/CORBA/PrincipalHolder.java ! src/java.corba/share/classes/org/omg/CORBA/RepositoryIdHelper.java ! src/java.corba/share/classes/org/omg/CORBA/ServiceDetailHelper.java ! src/java.corba/share/classes/org/omg/CORBA/ServiceInformation.java ! src/java.corba/share/classes/org/omg/CORBA/ServiceInformationHelper.java ! src/java.corba/share/classes/org/omg/CORBA/ServiceInformationHolder.java ! src/java.corba/share/classes/org/omg/CORBA/SetOverrideTypeHelper.java ! src/java.corba/share/classes/org/omg/CORBA/ShortHolder.java ! src/java.corba/share/classes/org/omg/CORBA/ShortSeqHelper.java ! src/java.corba/share/classes/org/omg/CORBA/ShortSeqHolder.java ! src/java.corba/share/classes/org/omg/CORBA/StringHolder.java ! src/java.corba/share/classes/org/omg/CORBA/StringValueHelper.java ! src/java.corba/share/classes/org/omg/CORBA/StructMemberHelper.java ! src/java.corba/share/classes/org/omg/CORBA/TypeCodeHolder.java ! src/java.corba/share/classes/org/omg/CORBA/ULongLongSeqHelper.java ! src/java.corba/share/classes/org/omg/CORBA/ULongLongSeqHolder.java ! src/java.corba/share/classes/org/omg/CORBA/ULongSeqHelper.java ! src/java.corba/share/classes/org/omg/CORBA/ULongSeqHolder.java ! src/java.corba/share/classes/org/omg/CORBA/UNSUPPORTED_POLICY.java ! src/java.corba/share/classes/org/omg/CORBA/UNSUPPORTED_POLICY_VALUE.java ! src/java.corba/share/classes/org/omg/CORBA/UShortSeqHelper.java ! src/java.corba/share/classes/org/omg/CORBA/UShortSeqHolder.java ! src/java.corba/share/classes/org/omg/CORBA/UnionMemberHelper.java ! src/java.corba/share/classes/org/omg/CORBA/UnknownUserExceptionHelper.java ! src/java.corba/share/classes/org/omg/CORBA/UnknownUserExceptionHolder.java ! src/java.corba/share/classes/org/omg/CORBA/ValueBaseHelper.java ! src/java.corba/share/classes/org/omg/CORBA/ValueBaseHolder.java ! src/java.corba/share/classes/org/omg/CORBA/ValueMemberHelper.java ! src/java.corba/share/classes/org/omg/CORBA/VersionSpecHelper.java ! src/java.corba/share/classes/org/omg/CORBA/VisibilityHelper.java ! src/java.corba/share/classes/org/omg/CORBA/WCharSeqHelper.java ! src/java.corba/share/classes/org/omg/CORBA/WCharSeqHolder.java ! src/java.corba/share/classes/org/omg/CORBA/WStringValueHelper.java ! src/java.corba/share/classes/org/omg/CORBA/WrongTransactionHelper.java ! src/java.corba/share/classes/org/omg/CORBA/WrongTransactionHolder.java ! src/java.corba/share/classes/org/omg/CORBA/_IDLTypeStub.java ! src/java.corba/share/classes/org/omg/CORBA/_PolicyStub.java ! src/java.corba/share/classes/org/omg/CORBA/doc-files/compliance.html ! src/java.corba/share/classes/org/omg/CORBA/doc-files/generatedfiles.html ! src/java.corba/share/classes/org/omg/CORBA/package.html ! src/java.corba/share/classes/org/omg/CosNaming/NamingContextExtPackage/package.html ! src/java.corba/share/classes/org/omg/CosNaming/NamingContextPackage/package.html ! src/java.corba/share/classes/org/omg/CosNaming/nameservice.idl ! src/java.corba/share/classes/org/omg/CosNaming/package.html ! src/java.corba/share/classes/org/omg/Dynamic/package.html ! src/java.corba/share/classes/org/omg/DynamicAny/DynAnyFactoryPackage/package.html ! src/java.corba/share/classes/org/omg/DynamicAny/DynAnyPackage/package.html ! src/java.corba/share/classes/org/omg/DynamicAny/package.html ! src/java.corba/share/classes/org/omg/IOP/package.html ! src/java.corba/share/classes/org/omg/Messaging/package.html ! src/java.corba/share/classes/org/omg/PortableInterceptor/ORBInitInfoPackage/package.html ! src/java.corba/share/classes/org/omg/PortableServer/POAPackage/package.html ! src/java.corba/share/classes/org/omg/PortableServer/ServantLocatorPackage/package.html ! src/java.corba/share/classes/org/omg/PortableServer/package.html ! src/java.corba/share/classes/org/omg/PortableServer/portable/package.html ! src/java.corba/share/classes/org/omg/stub/java/rmi/package.html Changeset: ca8a17195884 Author: lana Date: 2015-09-18 14:20 -0700 URL: http://hg.openjdk.java.net/jigsaw/jake/corba/rev/ca8a17195884 Merge Changeset: df70bb200356 Author: lana Date: 2015-09-25 22:59 -0700 URL: http://hg.openjdk.java.net/jigsaw/jake/corba/rev/df70bb200356 Added tag jdk9-b83 for changeset ca8a17195884 ! .hgtags Changeset: 173fb1e5c13a Author: jfdenise Date: 2015-09-28 12:15 +0200 URL: http://hg.openjdk.java.net/jigsaw/jake/corba/rev/173fb1e5c13a Merge ! src/java.corba/share/classes/javax/rmi/CORBA/Util.java ! src/java.corba/share/classes/org/omg/CORBA/ORB.java From jean-francois.denise at oracle.com Tue Sep 29 16:51:54 2015 From: jean-francois.denise at oracle.com (jean-francois.denise at oracle.com) Date: Tue, 29 Sep 2015 16:51:54 +0000 Subject: hg: jigsaw/jake/nashorn: 10 new changesets Message-ID: <201509291651.t8TGpsVu011094@aojmv0008.oracle.com> Changeset: 751ada854e5a Author: sundar Date: 2015-09-14 16:13 +0530 URL: http://hg.openjdk.java.net/jigsaw/jake/nashorn/rev/751ada854e5a 8055917: jdk.nashorn.internal.codegen.CompilationPhase$N should be renamed to proper classes Reviewed-by: attila, hannesw - samples/EvalWithArbitraryThis.java.orig + samples/exceptionswallow.js ! samples/find_nonfinals2.js ! samples/javafoovars.js + samples/resourcetrysuggester.js ! samples/zipfs.js ! src/jdk.scripting.nashorn.shell/share/classes/jdk/nashorn/tools/jjs/EditPad.java ! src/jdk.scripting.nashorn.shell/share/classes/jdk/nashorn/tools/jjs/ExternalEditor.java ! src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/codegen/ApplySpecialization.java ! src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/codegen/AssignSymbols.java ! src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/codegen/CodeGenerator.java ! src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/codegen/CompilationPhase.java ! src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/codegen/Compiler.java ! src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/codegen/FindScopeDepths.java ! src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/codegen/FoldConstants.java ! src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/codegen/LocalVariableTypesCalculator.java ! src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/codegen/Lower.java ! src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/codegen/OptimisticTypesCalculator.java ! src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/codegen/ReplaceCompileUnits.java ! src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/codegen/SplitIntoFunctions.java ! src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/codegen/Splitter.java ! src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/ir/FunctionNode.java ! src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/parser/Parser.java ! src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/runtime/ScriptFunction.java Changeset: 31f1156a592b Author: sundar Date: 2015-09-15 19:31 +0530 URL: http://hg.openjdk.java.net/jigsaw/jake/nashorn/rev/31f1156a592b 8080501: javaarrayconversion.js test is flawed Reviewed-by: attila, hannesw ! src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/objects/NativeJava.java ! src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/runtime/resources/Messages.properties ! test/script/basic/javaarrayconversion.js Changeset: c209abbe9b24 Author: sundar Date: 2015-09-16 16:26 +0530 URL: http://hg.openjdk.java.net/jigsaw/jake/nashorn/rev/c209abbe9b24 8136544: Call site switching to megamorphic causes incorrect property read Reviewed-by: attila, mhaupt ! src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/objects/NativeJavaImporter.java ! src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/runtime/NativeJavaPackage.java ! src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/runtime/ScriptObject.java ! src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/runtime/WithObject.java + test/script/basic/JDK-8136544.js ! test/src/jdk/nashorn/api/scripting/test/ScopeTest.java Changeset: b4eb53200105 Author: hannesw Date: 2015-09-16 14:42 +0200 URL: http://hg.openjdk.java.net/jigsaw/jake/nashorn/rev/b4eb53200105 8134609: Allow constructors with same prototoype map to share the allocator map Reviewed-by: attila, sundar ! src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/objects/NativeJSAdapter.java ! src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/runtime/AllocationStrategy.java ! src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/runtime/Debug.java ! src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/runtime/PropertyListeners.java ! src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/runtime/PropertyMap.java ! src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/runtime/RecompilableScriptFunctionData.java ! src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/runtime/ScriptFunction.java ! src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/runtime/ScriptFunctionData.java ! src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/runtime/ScriptObject.java ! src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/runtime/SetMethodCreator.java + src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/runtime/SharedPropertyMap.java ! src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/runtime/WithObject.java ! test/script/basic/JDK-8134569.js ! test/script/basic/JDK-8134569.js.EXPECTED + test/script/basic/JDK-8134609.js Changeset: 79781ce06df7 Author: attila Date: 2015-09-16 18:34 +0200 URL: http://hg.openjdk.java.net/jigsaw/jake/nashorn/rev/79781ce06df7 8135251: Use Unsafe.defineAnonymousClass for loading Nashorn script code Reviewed-by: hannesw, lagergren, sundar ! src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/codegen/CompilationPhase.java ! src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/runtime/CodeInstaller.java ! src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/runtime/Context.java ! src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/runtime/RecompilableScriptFunctionData.java ! src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/runtime/Timing.java Changeset: d62c5288738a Author: attila Date: 2015-09-16 18:44 +0200 URL: http://hg.openjdk.java.net/jigsaw/jake/nashorn/rev/d62c5288738a 8136647: Syntactic error accidentally left in JDK-8135251 changeset Reviewed-by: sundar ! src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/runtime/Context.java Changeset: 67bab332bcb3 Author: sundar Date: 2015-09-17 18:23 +0530 URL: http://hg.openjdk.java.net/jigsaw/jake/nashorn/rev/67bab332bcb3 8136694: Megemorphic scope access does not throw ReferenceError when property is missing Reviewed-by: attila, hannesw ! src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/runtime/ScriptObject.java ! test/script/basic/JDK-8044750.js + test/script/basic/JDK-8136694.js Changeset: 21b86b980a5f Author: lana Date: 2015-09-18 14:21 -0700 URL: http://hg.openjdk.java.net/jigsaw/jake/nashorn/rev/21b86b980a5f Merge - samples/EvalWithArbitraryThis.java.orig Changeset: 4d320336c48c Author: lana Date: 2015-09-25 22:59 -0700 URL: http://hg.openjdk.java.net/jigsaw/jake/nashorn/rev/4d320336c48c Added tag jdk9-b83 for changeset 21b86b980a5f ! .hgtags Changeset: f9134ad4d147 Author: jfdenise Date: 2015-09-28 12:38 +0200 URL: http://hg.openjdk.java.net/jigsaw/jake/nashorn/rev/f9134ad4d147 Merge ! .hgtags - samples/EvalWithArbitraryThis.java.orig ! src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/runtime/Context.java From jean-francois.denise at oracle.com Tue Sep 29 16:51:55 2015 From: jean-francois.denise at oracle.com (jean-francois.denise at oracle.com) Date: Tue, 29 Sep 2015 16:51:55 +0000 Subject: hg: jigsaw/jake: 21 new changesets Message-ID: <201509291651.t8TGptfK011100@aojmv0008.oracle.com> Changeset: 382d23edebb6 Author: erikj Date: 2015-09-15 18:00 +0200 URL: http://hg.openjdk.java.net/jigsaw/jake/rev/382d23edebb6 8136383: Improve make utilities containing and not-containing Reviewed-by: ihse ! make/common/MakeBase.gmk ! test/make/TestMakeBase.gmk Changeset: 0b0a6b9ed991 Author: jbachorik Date: 2015-08-21 13:34 +0200 URL: http://hg.openjdk.java.net/jigsaw/jake/rev/0b0a6b9ed991 8043937: Drop support for the IIOP transport from the JMX RMIConnector Reviewed-by: alanb, erikj ! common/autoconf/generated-configure.sh ! common/autoconf/jdk-options.m4 ! common/autoconf/spec.gmk.in ! make/CompileJavaModules.gmk Changeset: 497c34cc0dc7 Author: dsamersoff Date: 2015-08-31 21:43 +0300 URL: http://hg.openjdk.java.net/jigsaw/jake/rev/497c34cc0dc7 Merge Changeset: da355bc6d1f9 Author: jlaskey Date: 2015-09-04 10:11 -0300 URL: http://hg.openjdk.java.net/jigsaw/jake/rev/da355bc6d1f9 8087181: Move native jimage code to its own library (maybe libjimage) Reviewed-by: alanb, lfoltan, hseigel, acorn Contributed-by: james.laskey at oracle.com, jean-francois.denise at oracle.com, roger.riggs at oracle.com ! test/lib/sun/hotspot/WhiteBox.java Changeset: 3458934dfae6 Author: mchernov Date: 2015-09-01 21:12 +0300 URL: http://hg.openjdk.java.net/jigsaw/jake/rev/3458934dfae6 8081317: [NEWTEST] documented GC ratio tuning and new size options should be covered by regression tests Reviewed-by: iignatyev, dfazunen ! test/lib/sun/hotspot/WhiteBox.java Changeset: 81140a77ebd8 Author: jwilhelm Date: 2015-09-08 16:10 +0200 URL: http://hg.openjdk.java.net/jigsaw/jake/rev/81140a77ebd8 Merge Changeset: 29cf60874856 Author: amurillo Date: 2015-09-10 14:55 -0700 URL: http://hg.openjdk.java.net/jigsaw/jake/rev/29cf60874856 Merge ! common/autoconf/spec.gmk.in ! make/CompileJavaModules.gmk Changeset: b45c22d42940 Author: amurillo Date: 2015-09-15 07:47 -0700 URL: http://hg.openjdk.java.net/jigsaw/jake/rev/b45c22d42940 Merge ! common/autoconf/generated-configure.sh Changeset: c6862c043f76 Author: amurillo Date: 2015-09-15 11:47 -0700 URL: http://hg.openjdk.java.net/jigsaw/jake/rev/c6862c043f76 Merge Changeset: 7fa1d71d8ddf Author: ihse Date: 2015-09-16 09:49 +0200 URL: http://hg.openjdk.java.net/jigsaw/jake/rev/7fa1d71d8ddf 8136378: Build test libs using properly integrated makefile Summary: Use 'make build-test-lib' in top repo instead Reviewed-by: erikj ! make/Main.gmk + make/test/BuildTestLib.gmk - test/lib/Makefile Changeset: 5ee65c00794c Author: attila Date: 2015-09-16 16:54 +0200 URL: http://hg.openjdk.java.net/jigsaw/jake/rev/5ee65c00794c 8135251: Use Unsafe.defineAnonymousClass for loading Nashorn script code Reviewed-by: alanb, lagergren, sundar ! modules.xml Changeset: 42ea2b79145f Author: martin Date: 2015-09-17 08:55 -0700 URL: http://hg.openjdk.java.net/jigsaw/jake/rev/42ea2b79145f 8136656: Check in blessed-modifier-order.sh Reviewed-by: ihse, chegar + common/bin/blessed-modifier-order.sh Changeset: 909bcc7a8852 Author: ddehaven Date: 2015-08-12 13:10 -0700 URL: http://hg.openjdk.java.net/jigsaw/jake/rev/909bcc7a8852 8130929: Enable deployment tests in build system Reviewed-by: erikj, tbell, dtitov ! test/Makefile Changeset: 440d438e12e8 Author: prr Date: 2015-09-08 14:40 -0700 URL: http://hg.openjdk.java.net/jigsaw/jake/rev/440d438e12e8 Merge Changeset: 58120200dfa4 Author: prr Date: 2015-09-14 09:33 -0700 URL: http://hg.openjdk.java.net/jigsaw/jake/rev/58120200dfa4 Merge Changeset: 5e2e32545763 Author: prr Date: 2015-09-14 10:56 -0700 URL: http://hg.openjdk.java.net/jigsaw/jake/rev/5e2e32545763 8136397: Build should recognise .cc file extension Reviewed-by: ihse ! make/common/NativeCompilation.gmk Changeset: 9a535155e58e Author: prr Date: 2015-09-18 09:21 -0700 URL: http://hg.openjdk.java.net/jigsaw/jake/rev/9a535155e58e Merge - test/lib/Makefile Changeset: ce5c14d97d95 Author: lana Date: 2015-09-18 14:19 -0700 URL: http://hg.openjdk.java.net/jigsaw/jake/rev/ce5c14d97d95 Merge - test/lib/Makefile Changeset: 4a5047fdd82e Author: lana Date: 2015-09-25 22:59 -0700 URL: http://hg.openjdk.java.net/jigsaw/jake/rev/4a5047fdd82e Added tag jdk9-b83 for changeset ce5c14d97d95 ! .hgtags Changeset: be93a833af86 Author: jfdenise Date: 2015-09-29 14:24 +0200 URL: http://hg.openjdk.java.net/jigsaw/jake/rev/be93a833af86 Merge ! common/autoconf/generated-configure.sh ! common/autoconf/jdk-options.m4 ! common/autoconf/spec.gmk.in - make/CheckModules.gmk ! make/CompileJavaModules.gmk ! make/Main.gmk ! make/common/MakeBase.gmk ! make/common/NativeCompilation.gmk - modules.xml ! test/lib/sun/hotspot/WhiteBox.java Changeset: d555d542bf37 Author: jfdenise Date: 2015-09-29 15:37 +0200 URL: http://hg.openjdk.java.net/jigsaw/jake/rev/d555d542bf37 Fix warning ! test/lib/sun/hotspot/WhiteBox.java From jean-francois.denise at oracle.com Tue Sep 29 16:51:55 2015 From: jean-francois.denise at oracle.com (jean-francois.denise at oracle.com) Date: Tue, 29 Sep 2015 16:51:55 +0000 Subject: hg: jigsaw/jake/jaxws: 4 new changesets Message-ID: <201509291651.t8TGptfJ011106@aojmv0008.oracle.com> Changeset: ed5d9f5bf890 Author: mkos Date: 2015-09-18 13:46 +0200 URL: http://hg.openjdk.java.net/jigsaw/jake/jaxws/rev/ed5d9f5bf890 8131667: JAX-WS Plugability Layer: using java.util.ServiceLoader Reviewed-by: alanb + src/java.xml.ws/share/classes/javax/xml/ws/package-info.java - src/java.xml.ws/share/classes/javax/xml/ws/package.html ! src/java.xml.ws/share/classes/javax/xml/ws/spi/FactoryFinder.java ! src/java.xml.ws/share/classes/javax/xml/ws/spi/Provider.java + src/java.xml.ws/share/classes/javax/xml/ws/spi/ServiceLoaderUtil.java Changeset: d7ee8157f4fe Author: lana Date: 2015-09-18 14:21 -0700 URL: http://hg.openjdk.java.net/jigsaw/jake/jaxws/rev/d7ee8157f4fe Merge - src/java.xml.ws/share/classes/javax/xml/ws/package.html Changeset: d486a6ff4f7a Author: lana Date: 2015-09-25 22:59 -0700 URL: http://hg.openjdk.java.net/jigsaw/jake/jaxws/rev/d486a6ff4f7a Added tag jdk9-b83 for changeset d7ee8157f4fe ! .hgtags Changeset: 769cad5464f5 Author: jfdenise Date: 2015-09-29 14:27 +0200 URL: http://hg.openjdk.java.net/jigsaw/jake/jaxws/rev/769cad5464f5 Merge - src/java.xml.ws/share/classes/javax/xml/ws/package.html ! src/java.xml.ws/share/classes/javax/xml/ws/spi/FactoryFinder.java From jean-francois.denise at oracle.com Tue Sep 29 16:52:11 2015 From: jean-francois.denise at oracle.com (jean-francois.denise at oracle.com) Date: Tue, 29 Sep 2015 16:52:11 +0000 Subject: hg: jigsaw/jake/jdk: 60 new changesets Message-ID: <201509291652.t8TGqDZv011165@aojmv0008.oracle.com> Changeset: f98d9515afea Author: weijun Date: 2015-09-13 10:55 +0800 URL: http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/f98d9515afea 8136425: KeystoreImpl.m using wrong type for cert format Reviewed-by: vinnie ! src/java.base/macosx/native/libosxsecurity/KeystoreImpl.m Changeset: 13a89c1302be Author: asmotrak Date: 2015-09-14 19:49 +0300 URL: http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/13a89c1302be 8134232: KeyStore.load() throws an IOException with a wrong cause in case of wrong password Reviewed-by: vinnie ! src/java.base/share/classes/com/sun/crypto/provider/JceKeyStore.java ! src/java.base/share/classes/sun/security/pkcs12/PKCS12KeyStore.java ! src/jdk.crypto.pkcs11/share/classes/sun/security/pkcs11/P11KeyStore.java ! test/java/security/KeyStore/TestKeyStoreBasic.java ! test/sun/security/provider/KeyStore/DKSTest.java Changeset: 64827b676968 Author: asmotrak Date: 2015-09-14 19:54 +0300 URL: http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/64827b676968 8048622: Enhance tests for PKCS11 keystores with NSS Reviewed-by: vinnie ! test/sun/security/pkcs11/PKCS11Test.java ! test/sun/security/pkcs11/Secmod/AddPrivateKey.java ! test/sun/security/pkcs11/Secmod/AddTrustedCert.java ! test/sun/security/pkcs11/Secmod/Crypto.java ! test/sun/security/pkcs11/Secmod/GetPrivateKey.java + test/sun/security/pkcs11/Secmod/LoadKeystore.java Changeset: afc55db01c8e Author: fyuan Date: 2015-09-15 12:43 +0300 URL: http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/afc55db01c8e 8074931: Additional tests for CertPath API Reviewed-by: mullan + test/java/security/cert/CertPathEncodingTest.java + test/java/security/cert/X509CertSelectorTest.java Changeset: 3e04ae642449 Author: kvn Date: 2015-09-03 15:04 -0700 URL: http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/3e04ae642449 8132081: C2 support for Adler32 on SPARC Summary: Add C2 instrinsic support for Adler32 checksum on SPARC. Reviewed-by: kvn Contributed-by: ahmed.khawaja at oracle.com ! src/java.base/share/classes/java/util/zip/Adler32.java Changeset: 7c33312230ff Author: iveresov Date: 2015-09-07 13:28 -0700 URL: http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/7c33312230ff Merge - src/java.base/unix/classes/sun/nio/fs/GnomeFileTypeDetector.java - src/java.base/unix/native/libnio/fs/GnomeFileTypeDetector.c Changeset: 09daaf1e4c53 Author: jbachorik Date: 2015-03-03 18:19 +0100 URL: http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/09daaf1e4c53 8043937: Drop support for the IIOP transport from the JMX RMIConnector Reviewed-by: alanb, erikj ! make/netbeans/jmx/build.xml ! make/rmic/Rmic-java.management.gmk - src/java.management/share/classes/com/sun/jmx/remote/internal/IIOPHelper.java - src/java.management/share/classes/com/sun/jmx/remote/internal/IIOPProxy.java - src/java.management/share/classes/com/sun/jmx/remote/protocol/iiop/ClientProvider.java - src/java.management/share/classes/com/sun/jmx/remote/protocol/iiop/IIOPProxyImpl.java - src/java.management/share/classes/com/sun/jmx/remote/protocol/iiop/ProxyInputStream.java - src/java.management/share/classes/com/sun/jmx/remote/protocol/iiop/ServerProvider.java ! src/java.management/share/classes/javax/management/remote/JMXConnectorFactory.java ! src/java.management/share/classes/javax/management/remote/JMXConnectorServerFactory.java ! src/java.management/share/classes/javax/management/remote/rmi/NoCallStackClassLoader.java ! src/java.management/share/classes/javax/management/remote/rmi/RMIConnectionImpl.java ! src/java.management/share/classes/javax/management/remote/rmi/RMIConnector.java ! src/java.management/share/classes/javax/management/remote/rmi/RMIConnectorServer.java ! src/java.management/share/classes/javax/management/remote/rmi/RMIIIOPServerImpl.java ! src/java.management/share/classes/javax/management/remote/rmi/RMIServerImpl.java ! src/java.management/share/classes/javax/management/remote/rmi/package.html ! test/javax/management/remote/mandatory/connection/CloseableTest.java - test/javax/management/remote/mandatory/connection/NoIIOP.java Changeset: 9197335f33dd Author: dsamersoff Date: 2015-08-31 21:48 +0300 URL: http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/9197335f33dd Merge - src/java.management/share/classes/com/sun/jmx/remote/internal/IIOPHelper.java - src/java.management/share/classes/com/sun/jmx/remote/internal/IIOPProxy.java - src/java.management/share/classes/com/sun/jmx/remote/protocol/iiop/ClientProvider.java - src/java.management/share/classes/com/sun/jmx/remote/protocol/iiop/IIOPProxyImpl.java - src/java.management/share/classes/com/sun/jmx/remote/protocol/iiop/ProxyInputStream.java - src/java.management/share/classes/com/sun/jmx/remote/protocol/iiop/ServerProvider.java - test/javax/management/remote/mandatory/connection/NoIIOP.java Changeset: d7f0c840a572 Author: jlaskey Date: 2015-09-04 10:11 -0300 URL: http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/d7f0c840a572 8087181: Move native jimage code to its own library (maybe libjimage) Reviewed-by: alanb, lfoltan, hseigel, acorn Contributed-by: james.laskey at oracle.com, jean-francois.denise at oracle.com, roger.riggs at oracle.com ! make/lib/CoreLibraries.gmk ! make/mapfiles/libjava/mapfile-vers + make/mapfiles/libjimage/mapfile-vers ! make/mapfiles/libzip/reorder-sparc ! make/mapfiles/libzip/reorder-sparcv9 ! make/mapfiles/libzip/reorder-x86 ! src/java.base/share/classes/jdk/internal/jimage/BasicImageReader.java ! src/java.base/share/classes/jdk/internal/jimage/ImageNativeSubstrate.java ! src/java.base/share/native/include/jvm.h - src/java.base/share/native/libjava/Image.c + src/java.base/share/native/libjimage/ImageNativeSubstrate.cpp + src/java.base/share/native/libjimage/endian.cpp + src/java.base/share/native/libjimage/endian.hpp + src/java.base/share/native/libjimage/imageDecompressor.cpp + src/java.base/share/native/libjimage/imageDecompressor.hpp + src/java.base/share/native/libjimage/imageFile.cpp + src/java.base/share/native/libjimage/imageFile.hpp + src/java.base/share/native/libjimage/inttypes.hpp + src/java.base/share/native/libjimage/jimage.cpp + src/java.base/share/native/libjimage/jimage.hpp + src/java.base/share/native/libjimage/osSupport.hpp + src/java.base/unix/native/libjimage/osSupport_unix.cpp + src/java.base/windows/native/libjimage/osSupport_windows.cpp ! test/TEST.groups + test/jdk/internal/jimage/JImageReadTest.java Changeset: 040b1184f05f Author: jwilhelm Date: 2015-09-08 16:10 +0200 URL: http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/040b1184f05f Merge ! make/lib/CoreLibraries.gmk - src/java.base/share/native/libjava/Image.c - src/java.management/share/classes/com/sun/jmx/remote/internal/IIOPHelper.java - src/java.management/share/classes/com/sun/jmx/remote/internal/IIOPProxy.java - src/java.management/share/classes/com/sun/jmx/remote/protocol/iiop/ClientProvider.java - src/java.management/share/classes/com/sun/jmx/remote/protocol/iiop/IIOPProxyImpl.java - src/java.management/share/classes/com/sun/jmx/remote/protocol/iiop/ProxyInputStream.java - src/java.management/share/classes/com/sun/jmx/remote/protocol/iiop/ServerProvider.java - test/javax/management/remote/mandatory/connection/NoIIOP.java Changeset: 7ecf45f5fa46 Author: amurillo Date: 2015-09-10 14:55 -0700 URL: http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/7ecf45f5fa46 Merge - src/java.base/share/native/libjava/Image.c - src/java.management/share/classes/com/sun/jmx/remote/internal/IIOPHelper.java - src/java.management/share/classes/com/sun/jmx/remote/internal/IIOPProxy.java - src/java.management/share/classes/com/sun/jmx/remote/protocol/iiop/ClientProvider.java - src/java.management/share/classes/com/sun/jmx/remote/protocol/iiop/IIOPProxyImpl.java - src/java.management/share/classes/com/sun/jmx/remote/protocol/iiop/ProxyInputStream.java - src/java.management/share/classes/com/sun/jmx/remote/protocol/iiop/ServerProvider.java - test/javax/management/remote/mandatory/connection/NoIIOP.java Changeset: e77968f864eb Author: amurillo Date: 2015-09-15 07:47 -0700 URL: http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/e77968f864eb Merge - make/src/native/add_gnu_debuglink/add_gnu_debuglink.c - make/src/native/fix_empty_sec_hdr_flags/fix_empty_sec_hdr_flags.c Changeset: 27dfaac11928 Author: darcy Date: 2015-09-15 15:10 -0700 URL: http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/27dfaac11928 8136506: Include sun.arch.data.model as a property that can be queried by jtreg Reviewed-by: alanb ! test/TEST.ROOT Changeset: f5a6a6058bb5 Author: coffeys Date: 2015-09-16 12:23 +0100 URL: http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/f5a6a6058bb5 8133535: Better exception messaging in Ucrypto code Reviewed-by: igerasim ! src/jdk.crypto.ucrypto/solaris/classes/com/oracle/security/ucrypto/GCMParameters.java ! src/jdk.crypto.ucrypto/solaris/classes/com/oracle/security/ucrypto/NativeCipher.java ! src/jdk.crypto.ucrypto/solaris/classes/com/oracle/security/ucrypto/NativeCipherWithJavaPadding.java ! src/jdk.crypto.ucrypto/solaris/classes/com/oracle/security/ucrypto/NativeDigest.java ! src/jdk.crypto.ucrypto/solaris/classes/com/oracle/security/ucrypto/NativeGCMCipher.java ! src/jdk.crypto.ucrypto/solaris/classes/com/oracle/security/ucrypto/NativeKey.java ! src/jdk.crypto.ucrypto/solaris/classes/com/oracle/security/ucrypto/NativeRSACipher.java ! src/jdk.crypto.ucrypto/solaris/classes/com/oracle/security/ucrypto/NativeRSAKeyFactory.java ! src/jdk.crypto.ucrypto/solaris/classes/com/oracle/security/ucrypto/NativeRSASignature.java ! test/com/oracle/security/ucrypto/CipherSignNotSupported.java Changeset: 325b96583c6c Author: mullan Date: 2015-09-16 08:23 -0400 URL: http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/325b96583c6c 8015388: Required algorithms for JDK 9 Reviewed-by: jnimeh, wetmore, xuelei ! src/java.base/share/classes/java/security/AlgorithmParameterGenerator.java ! src/java.base/share/classes/java/security/KeyPairGenerator.java ! src/java.base/share/classes/java/security/Signature.java ! src/java.base/share/classes/javax/crypto/Cipher.java ! src/java.base/share/classes/javax/net/ssl/SSLContext.java ! src/java.base/share/classes/javax/net/ssl/TrustManagerFactory.java Changeset: 68856db2908a Author: mullan Date: 2015-09-16 08:24 -0400 URL: http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/68856db2908a Merge Changeset: f068a4ffddd2 Author: martin Date: 2015-09-15 21:56 -0700 URL: http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/f068a4ffddd2 8136583: Core libraries should use blessed modifier order Summary: Run blessed-modifier-order script (see bug) Reviewed-by: psandoz, chegar, alanb, plevart ! src/java.base/macosx/classes/java/net/DefaultInterface.java ! src/java.base/macosx/classes/sun/util/locale/provider/HostLocaleProviderAdapterImpl.java ! src/java.base/share/classes/com/sun/crypto/provider/RC2Crypt.java ! src/java.base/share/classes/com/sun/crypto/provider/RC2Parameters.java ! src/java.base/share/classes/com/sun/crypto/provider/RSACipher.java ! src/java.base/share/classes/com/sun/crypto/provider/TlsKeyMaterialGenerator.java ! src/java.base/share/classes/com/sun/crypto/provider/TlsMasterSecretGenerator.java ! src/java.base/share/classes/com/sun/crypto/provider/TlsPrfGenerator.java ! src/java.base/share/classes/com/sun/crypto/provider/TlsRsaPremasterSecretGenerator.java ! src/java.base/share/classes/com/sun/java/util/jar/pack/Attribute.java ! src/java.base/share/classes/com/sun/java/util/jar/pack/BandStructure.java ! src/java.base/share/classes/com/sun/java/util/jar/pack/Code.java ! src/java.base/share/classes/com/sun/java/util/jar/pack/Coding.java ! src/java.base/share/classes/com/sun/java/util/jar/pack/CodingChooser.java ! src/java.base/share/classes/com/sun/java/util/jar/pack/ConstantPool.java ! src/java.base/share/classes/com/sun/java/util/jar/pack/Constants.java ! src/java.base/share/classes/com/sun/java/util/jar/pack/Driver.java ! src/java.base/share/classes/com/sun/java/util/jar/pack/Histogram.java ! src/java.base/share/classes/com/sun/java/util/jar/pack/Instruction.java ! src/java.base/share/classes/com/sun/java/util/jar/pack/NativeUnpack.java ! src/java.base/share/classes/com/sun/java/util/jar/pack/Package.java ! src/java.base/share/classes/com/sun/java/util/jar/pack/PackageReader.java ! src/java.base/share/classes/com/sun/java/util/jar/pack/Utils.java ! src/java.base/share/classes/com/sun/net/ssl/HttpsURLConnection.java ! src/java.base/share/classes/com/sun/net/ssl/KeyManagerFactory.java ! src/java.base/share/classes/com/sun/net/ssl/TrustManagerFactory.java ! src/java.base/share/classes/com/sun/security/cert/internal/x509/X509V1CertImpl.java ! src/java.base/share/classes/com/sun/security/ntlm/Client.java ! src/java.base/share/classes/com/sun/security/ntlm/NTLMException.java ! src/java.base/share/classes/com/sun/security/ntlm/Server.java ! src/java.base/share/classes/java/io/Console.java ! src/java.base/share/classes/java/io/DataInputStream.java ! src/java.base/share/classes/java/io/File.java ! src/java.base/share/classes/java/io/FilePermission.java ! src/java.base/share/classes/java/io/ObjectInputStream.java ! src/java.base/share/classes/java/io/ObjectOutputStream.java ! src/java.base/share/classes/java/io/ObjectStreamClass.java ! src/java.base/share/classes/java/io/ObjectStreamConstants.java ! src/java.base/share/classes/java/io/Reader.java ! src/java.base/share/classes/java/io/Writer.java ! src/java.base/share/classes/java/lang/Class.java ! src/java.base/share/classes/java/lang/ClassLoader.java ! src/java.base/share/classes/java/lang/ConditionalSpecialCasing.java ! src/java.base/share/classes/java/lang/Integer.java ! src/java.base/share/classes/java/lang/Package.java ! src/java.base/share/classes/java/lang/ProcessBuilder.java ! src/java.base/share/classes/java/lang/StringCoding.java ! src/java.base/share/classes/java/lang/System.java ! src/java.base/share/classes/java/lang/Thread.java ! src/java.base/share/classes/java/lang/VirtualMachineError.java ! src/java.base/share/classes/java/lang/invoke/DelegatingMethodHandle.java ! src/java.base/share/classes/java/lang/invoke/DirectMethodHandle.java ! src/java.base/share/classes/java/lang/invoke/InvokerBytecodeGenerator.java ! src/java.base/share/classes/java/lang/invoke/MethodHandleNatives.java ! src/java.base/share/classes/java/lang/invoke/MethodHandles.java ! src/java.base/share/classes/java/lang/invoke/MethodTypeForm.java ! src/java.base/share/classes/java/lang/ref/Reference.java ! src/java.base/share/classes/java/lang/ref/ReferenceQueue.java ! src/java.base/share/classes/java/lang/ref/SoftReference.java ! src/java.base/share/classes/java/lang/reflect/AccessibleObject.java ! src/java.base/share/classes/java/math/BigDecimal.java ! src/java.base/share/classes/java/math/BigInteger.java ! src/java.base/share/classes/java/net/AbstractPlainDatagramSocketImpl.java ! src/java.base/share/classes/java/net/AbstractPlainSocketImpl.java ! src/java.base/share/classes/java/net/Authenticator.java ! src/java.base/share/classes/java/net/ContentHandler.java ! src/java.base/share/classes/java/net/CookieHandler.java ! src/java.base/share/classes/java/net/CookieManager.java ! src/java.base/share/classes/java/net/DatagramPacket.java ! src/java.base/share/classes/java/net/HostPortrange.java ! src/java.base/share/classes/java/net/HttpCookie.java ! src/java.base/share/classes/java/net/HttpURLConnection.java ! src/java.base/share/classes/java/net/Inet4Address.java ! src/java.base/share/classes/java/net/Inet6Address.java ! src/java.base/share/classes/java/net/NetworkInterface.java ! src/java.base/share/classes/java/net/Proxy.java ! src/java.base/share/classes/java/net/ResponseCache.java ! src/java.base/share/classes/java/net/SocketInputStream.java ! src/java.base/share/classes/java/net/SocketOptions.java ! src/java.base/share/classes/java/net/SocketOutputStream.java ! src/java.base/share/classes/java/net/SocketPermission.java ! src/java.base/share/classes/java/net/URI.java ! src/java.base/share/classes/java/net/URLConnection.java ! src/java.base/share/classes/java/net/URLStreamHandler.java ! src/java.base/share/classes/java/nio/Bits.java ! src/java.base/share/classes/java/nio/channels/Pipe.java ! src/java.base/share/classes/java/nio/charset/CoderResult.java ! src/java.base/share/classes/java/security/KeyPairGenerator.java ! src/java.base/share/classes/java/security/KeyStore.java ! src/java.base/share/classes/java/security/Provider.java ! src/java.base/share/classes/java/security/SecureRandom.java ! src/java.base/share/classes/java/security/Signature.java ! src/java.base/share/classes/java/security/cert/CertPathBuilder.java ! src/java.base/share/classes/java/security/cert/CertPathHelperImpl.java ! src/java.base/share/classes/java/security/cert/CertPathValidator.java ! src/java.base/share/classes/java/security/cert/CertStore.java ! src/java.base/share/classes/java/security/cert/X509CertSelector.java ! src/java.base/share/classes/java/text/AttributedString.java ! src/java.base/share/classes/java/text/CollationElementIterator.java ! src/java.base/share/classes/java/text/CollationKey.java ! src/java.base/share/classes/java/text/Collator.java ! src/java.base/share/classes/java/text/DateFormat.java ! src/java.base/share/classes/java/text/MessageFormat.java ! src/java.base/share/classes/java/text/NumberFormat.java ! src/java.base/share/classes/java/text/RBCollationTables.java ! src/java.base/share/classes/java/text/RBTableBuilder.java ! src/java.base/share/classes/java/text/RuleBasedCollator.java ! src/java.base/share/classes/java/text/SimpleDateFormat.java ! src/java.base/share/classes/java/util/AbstractList.java ! src/java.base/share/classes/java/util/BitSet.java ! src/java.base/share/classes/java/util/Calendar.java ! src/java.base/share/classes/java/util/Comparators.java ! src/java.base/share/classes/java/util/Currency.java ! src/java.base/share/classes/java/util/Date.java ! src/java.base/share/classes/java/util/Dictionary.java ! src/java.base/share/classes/java/util/GregorianCalendar.java ! src/java.base/share/classes/java/util/JapaneseImperialCalendar.java ! src/java.base/share/classes/java/util/ListResourceBundle.java ! src/java.base/share/classes/java/util/Locale.java ! src/java.base/share/classes/java/util/PropertyPermission.java ! src/java.base/share/classes/java/util/Random.java ! src/java.base/share/classes/java/util/SimpleTimeZone.java ! src/java.base/share/classes/java/util/Spliterators.java ! src/java.base/share/classes/java/util/TimeZone.java ! src/java.base/share/classes/java/util/Timer.java ! src/java.base/share/classes/java/util/jar/Pack200.java ! src/java.base/share/classes/java/util/regex/Pattern.java ! src/java.base/share/classes/java/util/regex/UnicodeProp.java ! src/java.base/share/classes/java/util/stream/FindOps.java ! src/java.base/share/classes/java/util/stream/ForEachOps.java ! src/java.base/share/classes/java/util/stream/MatchOps.java ! src/java.base/share/classes/java/util/stream/Nodes.java ! src/java.base/share/classes/java/util/stream/ReduceOps.java ! src/java.base/share/classes/java/util/stream/Sink.java ! src/java.base/share/classes/java/util/stream/SortedOps.java ! src/java.base/share/classes/java/util/stream/StreamSpliterators.java ! src/java.base/share/classes/java/util/stream/Streams.java ! src/java.base/share/classes/java/util/stream/WhileOps.java ! src/java.base/share/classes/java/util/zip/Adler32.java ! src/java.base/share/classes/java/util/zip/CRC32.java ! src/java.base/share/classes/java/util/zip/Deflater.java ! src/java.base/share/classes/java/util/zip/GZIPInputStream.java ! src/java.base/share/classes/java/util/zip/GZIPOutputStream.java ! src/java.base/share/classes/java/util/zip/Inflater.java ! src/java.base/share/classes/javax/crypto/Cipher.java ! src/java.base/share/classes/javax/crypto/JceSecurity.java ! src/java.base/share/classes/javax/crypto/KeyAgreement.java ! src/java.base/share/classes/javax/crypto/KeyGenerator.java ! src/java.base/share/classes/javax/net/ssl/HttpsURLConnection.java ! src/java.base/share/classes/javax/net/ssl/KeyManagerFactory.java ! src/java.base/share/classes/javax/net/ssl/SNIHostName.java ! src/java.base/share/classes/javax/net/ssl/SSLEngineResult.java ! src/java.base/share/classes/javax/net/ssl/TrustManagerFactory.java ! src/java.base/share/classes/javax/security/auth/Policy.java ! src/java.base/share/classes/jdk/internal/jimage/BasicImageWriter.java ! src/java.base/share/classes/jdk/internal/jimage/ImageLocationBase.java ! src/java.base/share/classes/jdk/internal/jimage/ImageModuleData.java ! src/java.base/share/classes/jdk/internal/jimage/ImageNativeSubstrate.java ! src/java.base/share/classes/jdk/internal/jimage/ImageReader.java ! src/java.base/share/classes/jdk/internal/jimage/PerfectHashBuilder.java ! src/java.base/share/classes/jdk/internal/org/objectweb/asm/TypePath.java ! src/java.base/share/classes/jdk/internal/org/objectweb/asm/TypeReference.java ! src/java.base/share/classes/jdk/internal/org/objectweb/asm/commons/InstructionAdapter.java ! src/java.base/share/classes/jdk/internal/org/objectweb/asm/signature/SignatureVisitor.java ! src/java.base/share/classes/jdk/internal/util/xml/PropertiesDefaultHandler.java ! src/java.base/share/classes/jdk/internal/util/xml/XMLStreamWriter.java ! src/java.base/share/classes/jdk/internal/util/xml/impl/Parser.java ! src/java.base/share/classes/jdk/internal/util/xml/impl/ParserSAX.java ! src/java.base/share/classes/jdk/net/Sockets.java ! src/java.base/share/classes/sun/invoke/anon/AnonymousClassLoader.java ! src/java.base/share/classes/sun/invoke/anon/ConstantPoolPatch.java ! src/java.base/share/classes/sun/invoke/util/BytecodeDescriptor.java ! src/java.base/share/classes/sun/invoke/util/ValueConversions.java ! src/java.base/share/classes/sun/invoke/util/Wrapper.java ! src/java.base/share/classes/sun/launcher/LauncherHelper.java ! src/java.base/share/classes/sun/misc/BASE64Decoder.java ! src/java.base/share/classes/sun/misc/BASE64Encoder.java ! src/java.base/share/classes/sun/misc/CharacterDecoder.java ! src/java.base/share/classes/sun/misc/CharacterEncoder.java ! src/java.base/share/classes/sun/misc/Cleaner.java ! src/java.base/share/classes/sun/misc/FDBigInteger.java ! src/java.base/share/classes/sun/misc/FloatingDecimal.java ! src/java.base/share/classes/sun/misc/LRUCache.java ! src/java.base/share/classes/sun/misc/PerfCounter.java ! src/java.base/share/classes/sun/misc/ProxyGenerator.java ! src/java.base/share/classes/sun/misc/Request.java ! src/java.base/share/classes/sun/misc/SoftCache.java ! src/java.base/share/classes/sun/misc/UCDecoder.java ! src/java.base/share/classes/sun/misc/UCEncoder.java ! src/java.base/share/classes/sun/misc/VM.java ! src/java.base/share/classes/sun/net/NetProperties.java ! src/java.base/share/classes/sun/net/NetworkServer.java ! src/java.base/share/classes/sun/net/dns/ResolverConfiguration.java ! src/java.base/share/classes/sun/net/spi/DefaultProxySelector.java ! src/java.base/share/classes/sun/net/util/IPAddressUtil.java ! src/java.base/share/classes/sun/net/www/ParseUtil.java ! src/java.base/share/classes/sun/net/www/URLConnection.java ! src/java.base/share/classes/sun/net/www/http/ChunkedInputStream.java ! src/java.base/share/classes/sun/net/www/http/HttpClient.java ! src/java.base/share/classes/sun/net/www/protocol/http/AuthCacheValue.java ! src/java.base/share/classes/sun/net/www/protocol/http/AuthenticationInfo.java ! src/java.base/share/classes/sun/net/www/protocol/http/DigestAuthentication.java ! src/java.base/share/classes/sun/net/www/protocol/http/HttpCallerInfo.java ! src/java.base/share/classes/sun/net/www/protocol/http/HttpURLConnection.java ! src/java.base/share/classes/sun/net/www/protocol/http/NegotiateAuthentication.java ! src/java.base/share/classes/sun/net/www/protocol/https/DefaultHostnameVerifier.java ! src/java.base/share/classes/sun/nio/ch/Net.java ! src/java.base/share/classes/sun/nio/ch/SelectorImpl.java ! src/java.base/share/classes/sun/nio/ch/ThreadPool.java ! src/java.base/share/classes/sun/nio/cs/CharsetMapping.java ! src/java.base/share/classes/sun/nio/cs/DoubleByte.java ! src/java.base/share/classes/sun/nio/cs/SingleByte.java ! src/java.base/share/classes/sun/nio/cs/ThreadLocalCoders.java ! src/java.base/share/classes/sun/reflect/UnsafeQualifiedStaticFieldAccessorImpl.java ! src/java.base/share/classes/sun/security/internal/spec/TlsRsaPremasterSecretParameterSpec.java ! src/java.base/share/classes/sun/security/jca/JCAUtil.java ! src/java.base/share/classes/sun/security/jca/ProviderConfig.java ! src/java.base/share/classes/sun/security/jca/ProviderList.java ! src/java.base/share/classes/sun/security/pkcs/PKCS9Attribute.java ! src/java.base/share/classes/sun/security/provider/ByteArrayAccess.java ! src/java.base/share/classes/sun/security/provider/ConfigFile.java ! src/java.base/share/classes/sun/security/provider/MD2.java ! src/java.base/share/classes/sun/security/provider/MD4.java ! src/java.base/share/classes/sun/security/provider/ParameterCache.java ! src/java.base/share/classes/sun/security/provider/SHA.java ! src/java.base/share/classes/sun/security/provider/SecureRandom.java ! src/java.base/share/classes/sun/security/provider/SeedGenerator.java ! src/java.base/share/classes/sun/security/provider/SunEntries.java ! src/java.base/share/classes/sun/security/provider/certpath/AlgorithmChecker.java ! src/java.base/share/classes/sun/security/provider/certpath/Builder.java ! src/java.base/share/classes/sun/security/provider/certpath/ForwardBuilder.java ! src/java.base/share/classes/sun/security/provider/certpath/OCSPResponse.java ! src/java.base/share/classes/sun/security/provider/certpath/URICertStore.java ! src/java.base/share/classes/sun/security/provider/certpath/UntrustedChecker.java ! src/java.base/share/classes/sun/security/provider/certpath/ssl/SSLServerCertStore.java ! src/java.base/share/classes/sun/security/rsa/RSACore.java ! src/java.base/share/classes/sun/security/rsa/RSAKeyFactory.java ! src/java.base/share/classes/sun/security/rsa/RSAPadding.java ! src/java.base/share/classes/sun/security/rsa/RSAPrivateCrtKeyImpl.java ! src/java.base/share/classes/sun/security/ssl/AppOutputStream.java ! src/java.base/share/classes/sun/security/ssl/Authenticator.java ! src/java.base/share/classes/sun/security/ssl/BaseSSLSocketImpl.java ! src/java.base/share/classes/sun/security/ssl/CipherBox.java ! src/java.base/share/classes/sun/security/ssl/CipherSuite.java ! src/java.base/share/classes/sun/security/ssl/Ciphertext.java ! src/java.base/share/classes/sun/security/ssl/ClientHandshaker.java ! src/java.base/share/classes/sun/security/ssl/ClientKeyExchange.java ! src/java.base/share/classes/sun/security/ssl/DTLSInputRecord.java ! src/java.base/share/classes/sun/security/ssl/EphemeralKeyManager.java ! src/java.base/share/classes/sun/security/ssl/ExtensionType.java ! src/java.base/share/classes/sun/security/ssl/HandshakeMessage.java ! src/java.base/share/classes/sun/security/ssl/HandshakeStateManager.java ! src/java.base/share/classes/sun/security/ssl/Handshaker.java ! src/java.base/share/classes/sun/security/ssl/InputRecord.java ! src/java.base/share/classes/sun/security/ssl/JsseJce.java ! src/java.base/share/classes/sun/security/ssl/MAC.java ! src/java.base/share/classes/sun/security/ssl/OutputRecord.java ! src/java.base/share/classes/sun/security/ssl/Plaintext.java ! src/java.base/share/classes/sun/security/ssl/ProtocolVersion.java ! src/java.base/share/classes/sun/security/ssl/SSLAlgorithmConstraints.java ! src/java.base/share/classes/sun/security/ssl/SSLContextImpl.java ! src/java.base/share/classes/sun/security/ssl/SSLEngineImpl.java ! src/java.base/share/classes/sun/security/ssl/SSLEngineOutputRecord.java ! src/java.base/share/classes/sun/security/ssl/SSLServerSocketImpl.java ! src/java.base/share/classes/sun/security/ssl/SSLSessionImpl.java ! src/java.base/share/classes/sun/security/ssl/SSLSocketFactoryImpl.java ! src/java.base/share/classes/sun/security/ssl/SSLSocketImpl.java ! src/java.base/share/classes/sun/security/ssl/ServerHandshaker.java ! src/java.base/share/classes/sun/security/ssl/ServerNameExtension.java ! src/java.base/share/classes/sun/security/ssl/SignatureAndHashAlgorithm.java ! src/java.base/share/classes/sun/security/ssl/StatusRequestType.java ! src/java.base/share/classes/sun/security/ssl/SupportedEllipticCurvesExtension.java ! src/java.base/share/classes/sun/security/ssl/SupportedEllipticPointFormatsExtension.java ! src/java.base/share/classes/sun/security/ssl/X509KeyManagerImpl.java ! src/java.base/share/classes/sun/security/timestamp/TSResponse.java ! src/java.base/share/classes/sun/security/util/Cache.java ! src/java.base/share/classes/sun/security/util/CurveDB.java ! src/java.base/share/classes/sun/security/util/Debug.java ! src/java.base/share/classes/sun/security/util/DerValue.java ! src/java.base/share/classes/sun/security/util/DisabledAlgorithmConstraints.java ! src/java.base/share/classes/sun/security/util/HostnameChecker.java ! src/java.base/share/classes/sun/security/util/LegacyAlgorithmConstraints.java ! src/java.base/share/classes/sun/security/util/ObjectIdentifier.java ! src/java.base/share/classes/sun/security/validator/EndEntityChecker.java ! src/java.base/share/classes/sun/security/validator/KeyStores.java ! src/java.base/share/classes/sun/security/validator/PKIXValidator.java ! src/java.base/share/classes/sun/security/validator/SimpleValidator.java ! src/java.base/share/classes/sun/security/validator/Validator.java ! src/java.base/share/classes/sun/security/validator/ValidatorException.java ! src/java.base/share/classes/sun/security/x509/AVA.java ! src/java.base/share/classes/sun/security/x509/DistributionPoint.java ! src/java.base/share/classes/sun/security/x509/IPAddressName.java ! src/java.base/share/classes/sun/security/x509/OIDMap.java ! src/java.base/share/classes/sun/security/x509/ReasonFlags.java ! src/java.base/share/classes/sun/security/x509/X509CRLEntryImpl.java ! src/java.base/share/classes/sun/security/x509/X509CRLImpl.java ! src/java.base/share/classes/sun/text/CompactByteArray.java ! src/java.base/share/classes/sun/text/normalizer/Norm2AllModes.java ! src/java.base/share/classes/sun/text/normalizer/NormalizerBase.java ! src/java.base/share/classes/sun/text/normalizer/Trie2.java ! src/java.base/share/classes/sun/text/normalizer/UBiDiProps.java ! src/java.base/share/classes/sun/text/normalizer/Utility.java ! src/java.base/share/classes/sun/util/calendar/CalendarSystem.java ! src/java.base/share/classes/sun/util/calendar/ZoneInfo.java ! src/java.base/share/classes/sun/util/calendar/ZoneInfoFile.java ! src/java.base/share/classes/sun/util/locale/provider/CalendarDataUtility.java ! src/java.base/share/classes/sun/util/locale/provider/CollationRules.java ! src/java.base/share/classes/sun/util/logging/PlatformLogger.java ! src/java.base/share/classes/sun/util/resources/OpenListResourceBundle.java ! src/java.base/unix/classes/java/lang/ProcessEnvironment.java ! src/java.base/unix/classes/java/net/PlainDatagramSocketImpl.java ! src/java.base/unix/classes/sun/net/NetHooks.java ! src/java.base/unix/classes/sun/net/PortConfig.java ! src/java.base/unix/classes/sun/nio/ch/UnixAsynchronousServerSocketChannelImpl.java ! src/java.base/unix/classes/sun/nio/ch/UnixAsynchronousSocketChannelImpl.java ! src/java.base/unix/classes/sun/nio/fs/UnixUriUtils.java ! src/java.base/unix/classes/sun/security/provider/NativePRNG.java ! src/java.base/windows/classes/java/net/DefaultDatagramSocketImplFactory.java ! src/java.base/windows/classes/java/net/TwoStacksPlainDatagramSocketImpl.java ! src/java.base/windows/classes/sun/net/PortConfig.java ! src/java.base/windows/classes/sun/net/www/protocol/http/ntlm/NTLMAuthSequence.java ! src/java.base/windows/classes/sun/nio/ch/WindowsSelectorImpl.java ! src/java.base/windows/classes/sun/nio/fs/WindowsConstants.java ! src/java.base/windows/classes/sun/nio/fs/WindowsWatchService.java ! src/java.base/windows/classes/sun/util/locale/provider/HostLocaleProviderAdapterImpl.java ! test/java/io/File/MaxPathLength.java ! test/java/io/File/SymLinks.java ! test/java/io/FileDescriptor/Sharing.java ! test/java/io/IOException/LastErrorString.java ! test/java/io/InputStreamReader/One.java ! test/java/io/PrintStream/OversynchronizedTest.java ! test/java/io/PrintWriter/OversynchronizedTest.java ! test/java/io/Serializable/defaulted/GetFieldRead.java ! test/java/io/Serializable/defaulted/GetFieldWrite.java ! test/java/io/Serializable/evolution/RenamePackage/extension/ExtendedObjectInputStream.java ! test/java/io/Serializable/oldTests/CheckingEquality.java ! test/java/io/Serializable/subclass/AbstractObjectInputStream.java ! test/java/io/Serializable/subclass/AbstractObjectOutputStream.java ! test/java/io/Serializable/subclass/Test.java ! test/java/io/Serializable/subclass/XObjectInputStream.java ! test/java/io/Serializable/subclass/XObjectOutputStream.java ! test/java/io/Serializable/typeSafeEnum/TypeSafeEnum.java ! test/java/io/StreamTokenizer/ReadAhead.java ! test/java/lang/Class/getDeclaredField/ClassDeclaredFieldsTest.java ! test/java/lang/Class/getDeclaredField/FieldSetAccessibleTest.java ! test/java/lang/Enum/ValueOf.java ! test/java/lang/ProcessBuilder/Basic.java ! test/java/lang/Runtime/exec/ExitValue.java ! test/java/lang/SecurityManager/CheckPackageMatching.java ! test/java/lang/String/StringContentEqualsBug.java ! test/java/lang/String/StringJoinTest.java ! test/java/lang/StringBuffer/BufferForwarding.java ! test/java/lang/StringBuilder/BuilderForwarding.java ! test/java/lang/System/finalization/FinThreads.java ! test/java/lang/Thread/GenerifyStackTraces.java ! test/java/lang/ThreadLocal/ImmutableLocal.java ! test/java/lang/annotation/typeAnnotations/GetAnnotatedInterfaces.java ! test/java/lang/annotation/typeAnnotations/GetAnnotatedSuperclass.java ! test/java/lang/instrument/ATestCaseScaffold.java ! test/java/lang/invoke/6998541/Test6998541.java ! test/java/lang/invoke/7157574/Test7157574.java ! test/java/lang/invoke/7196190/ClassForNameTest.java ! test/java/lang/invoke/7196190/GetUnsafeTest.java ! test/java/lang/invoke/AccessControlTest.java ! test/java/lang/invoke/AccessControlTest_subpkg/Acquaintance_remote.java ! test/java/lang/invoke/CallSiteTest.java ! test/java/lang/invoke/JavaDocExamplesTest.java ! test/java/lang/invoke/LFCaching/LambdaFormTestCase.java ! test/java/lang/invoke/MethodHandles/TestCatchException.java ! test/java/lang/invoke/MethodHandlesTest.java ! test/java/lang/invoke/indify/Indify.java ! test/java/lang/management/MemoryMXBean/GetMBeanInfo.java ! test/java/lang/management/MemoryMXBean/Pending.java ! test/java/lang/management/RuntimeMXBean/UpTime.java ! test/java/lang/management/ThreadMXBean/AllThreadIds.java ! test/java/lang/management/ThreadMXBean/ThreadBlockedCount.java ! test/java/lang/management/ThreadMXBean/ThreadCounts.java ! test/java/lang/ref/ReferenceEnqueuePending.java ! test/java/lang/ref/SoftReference/Bash.java ! test/java/lang/ref/SoftReference/Pin.java ! test/java/lang/reflect/Field/GenericStringTest.java ! test/java/lang/reflect/Method/defaultMethodModeling/DefaultMethodModeling.java ! test/java/lang/reflect/Proxy/nonPublicProxy/NonPublicProxyClass.java ! test/java/util/Arrays/ParallelPrefix.java ! test/java/util/Calendar/Bug8007038.java ! test/java/util/Collection/BiggernYours.java ! test/java/util/Collection/HotPotatoes.java ! test/java/util/Collections/AddAll.java ! test/java/util/Collections/Disjoint.java ! test/java/util/Collections/Frequency.java ! test/java/util/Collections/RacingCollections.java ! test/java/util/Collections/ReverseOrder2.java ! test/java/util/Deque/ChorusLine.java ! test/java/util/LinkedHashMap/Basic.java ! test/java/util/Locale/tools/EquivMapsGenerator.java ! test/java/util/Map/Collisions.java ! test/java/util/Map/FunctionalCMEs.java ! test/java/util/Map/InPlaceOpsCollisions.java ! test/java/util/Map/MapBinToFromTreeTest.java ! test/java/util/NavigableMap/LockStep.java ! test/java/util/ResourceBundle/Bug6190861.java ! test/java/util/ResourceBundle/Bug6204853.java ! test/java/util/ResourceBundle/Bug6355009.java ! test/java/util/ResourceBundle/Bug6356571.java ! test/java/util/ResourceBundle/Control/StressTest.java ! test/java/util/ResourceBundle/Test4300693.java ! test/java/util/ResourceBundle/getBaseBundleName/TestGetBaseBundleName.java ! test/java/util/ServiceLoader/Basic.java ! test/java/util/ServiceLoader/NPE.java ! test/java/util/Spliterator/SpliteratorCollisions.java ! test/java/util/StringJoiner/MergeTest.java ! test/java/util/TreeMap/ContainsValue.java ! test/java/util/concurrent/BlockingQueue/OfferDrainToLoops.java ! test/java/util/concurrent/ConcurrentQueues/OfferRemoveLoops.java ! test/java/util/concurrent/FutureTask/DoneTimedGetLoops.java ! test/java/util/concurrent/Phaser/Basic.java ! test/java/util/concurrent/locks/StampedLock/Basic.java ! test/java/util/jar/JarEntry/GetMethodsReturnClones.java ! test/java/util/jar/TestExtra.java ! test/java/util/logging/AnonymousLogger/TestAnonymousLogger.java ! test/java/util/logging/DrainFindDeadlockTest.java ! test/java/util/logging/FileHandlerLongLimit.java ! test/java/util/logging/FileHandlerPath.java ! test/java/util/logging/FileHandlerPatternExceptions.java ! test/java/util/logging/HigherResolutionTimeStamps/SerializeLogRecord.java ! test/java/util/logging/HigherResolutionTimeStamps/XmlFormatterNanos.java ! test/java/util/logging/LogManager/Configuration/ParentLoggerWithHandlerGC.java ! test/java/util/logging/LogManager/Configuration/TestConfigurationLock.java ! test/java/util/logging/LogManagerAppContextDeadlock.java ! test/java/util/logging/Logger/entering/LoggerEnteringWithParams.java ! test/java/util/logging/Logger/getGlobal/TestGetGlobal.java ! test/java/util/logging/Logger/getGlobal/TestGetGlobalByName.java ! test/java/util/logging/Logger/getGlobal/TestGetGlobalConcurrent.java ! test/java/util/logging/Logger/getGlobal/testgetglobal/HandlerImpl.java ! test/java/util/logging/Logger/logrb/TestLogrbResourceBundle.java ! test/java/util/logging/Logger/setResourceBundle/TestSetResourceBundle.java ! test/java/util/logging/LoggerResourceBundleRace.java ! test/java/util/logging/RootLogger/RootLevelInConfigFile.java ! test/java/util/logging/TestAppletLoggerContext.java ! test/java/util/logging/TestConfigurationListeners.java ! test/java/util/logging/TestLogConfigurationDeadLock.java ! test/java/util/logging/TestLogConfigurationDeadLockWithConf.java ! test/java/util/logging/TestLoggerBundleSync.java ! test/java/util/logging/bundlesearch/IndirectlyLoadABundle.java ! test/java/util/logging/bundlesearch/LoadItUp2.java ! test/java/util/logging/bundlesearch/ResourceBundleSearchTest.java ! test/java/util/logging/bundlesearch/TwiceIndirectlyLoadABundle.java ! test/java/util/regex/POSIX_Unicode.java ! test/java/util/stream/test/org/openjdk/tests/java/util/stream/CollectorsTest.java ! test/java/util/zip/ChecksumBase.java ! test/java/util/zip/FlaterCriticalArray.java ! test/java/util/zip/FlaterTest.java ! test/java/util/zip/ZipFile/FinalizeZipFile.java Changeset: b997ba72d8d4 Author: smarks Date: 2015-09-16 16:24 -0700 URL: http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/b997ba72d8d4 8072722: add stream support to Scanner Reviewed-by: psandoz, chegar, sherman ! src/java.base/share/classes/java/util/Scanner.java ! test/java/util/Scanner/ScanTest.java + test/java/util/Scanner/ScannerStreamTest.java Changeset: 4be07e0eb9b6 Author: weijun Date: 2015-09-17 10:37 +0800 URL: http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/4be07e0eb9b6 8136436: jarsigner tests include both a warnings.sh and a warnings subdir Reviewed-by: xuelei + test/sun/security/tools/jarsigner/warning.sh - test/sun/security/tools/jarsigner/warnings.sh Changeset: bb6e5a409fef Author: dfuchs Date: 2015-09-17 17:33 +0200 URL: http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/bb6e5a409fef 8073542: File Leak in jdk/src/java/base/unix/native/libnet/PlainDatagramSocketImpl.c Summary: ensure that file descriptor is properly closed if setsockopt fails. Reviewed-by: chegar, igerasim Contributed-by: vyom.tewari at oracle.com ! src/java.base/unix/native/libnet/PlainDatagramSocketImpl.c Changeset: acf424f856ce Author: martin Date: 2015-09-16 10:49 -0700 URL: http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/acf424f856ce 8136570: Stop changing user environment variables related to /usr/dt 4953367: MAWT: Java should be more careful manipulating NLSPATH, XFILESEARCHPATH env variables Summary: Stop changing user environment variables: NLSPATH XFILESEARCHPATH Reviewed-by: prr ! src/java.base/unix/native/libjava/java_props_md.c Changeset: a1549921a775 Author: simonis Date: 2015-09-17 18:04 +0200 URL: http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/a1549921a775 8136690: AIX: libjimage should be linked with the C++ compiler Reviewed-by: ihse ! make/lib/CoreLibraries.gmk Changeset: 16395f5ec2f3 Author: darcy Date: 2015-09-17 13:43 -0700 URL: http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/16395f5ec2f3 8134795: Port fdlibm pow to Java Reviewed-by: bpb ! make/mapfiles/libjava/mapfile-vers + src/java.base/share/classes/java/lang/FdLibm.java ! src/java.base/share/classes/java/lang/StrictMath.java - src/java.base/share/native/libfdlibm/e_pow.c ! src/java.base/share/native/libfdlibm/fdlibm.h - src/java.base/share/native/libfdlibm/w_pow.c ! src/java.base/share/native/libjava/StrictMath.c ! test/java/lang/Math/PowTests.java Changeset: bc949d71fd9d Author: robm Date: 2015-09-17 22:59 +0100 URL: http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/bc949d71fd9d 8129957: Deadlock in JNDI LDAP implementation when closing the LDAP context Reviewed-by: vinnie ! src/java.naming/share/classes/com/sun/jndi/ldap/LdapClient.java Changeset: 915e43f6c924 Author: rriggs Date: 2015-09-15 22:11 -0400 URL: http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/915e43f6c924 8133528: java/lang/ProcessHandle/OnExitTest.java fails intermittently Summary: remove checks for processes not spawned by the test Reviewed-by: joehw ! test/java/lang/ProcessHandle/OnExitTest.java Changeset: ec8537a991d8 Author: rriggs Date: 2015-09-17 13:33 -0400 URL: http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/ec8537a991d8 Merge - test/sun/security/tools/jarsigner/warnings.sh Changeset: bfe80876e240 Author: rriggs Date: 2015-09-17 22:46 -0400 URL: http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/bfe80876e240 Merge - src/java.base/share/native/libfdlibm/e_pow.c - src/java.base/share/native/libfdlibm/w_pow.c Changeset: db2f9bbb40f6 Author: rriggs Date: 2015-09-17 22:46 -0400 URL: http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/db2f9bbb40f6 8132735: java/lang/ProcessHandle/TreeTest failed with java.lang.AssertionError: Start with zero children Summary: Revise test to only operate on processes it spawns Reviewed-by: chegar ! test/java/lang/ProcessHandle/TreeTest.java Changeset: a58579b3e845 Author: vinnie Date: 2015-09-18 17:54 +0100 URL: http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/a58579b3e845 8136534: Loading JKS keystore using non-null InputStream results in closed stream Reviewed-by: mullan, wetmore ! src/java.base/share/classes/sun/security/util/KeyStoreDelegator.java + test/java/security/KeyStore/CheckInputStream.java Changeset: b05bcef3e1b5 Author: coffeys Date: 2015-09-18 18:19 +0100 URL: http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/b05bcef3e1b5 8077874: [TESTBUG] com/sun/corba/cachedSocket/7056731.sh should not be run on JRE Reviewed-by: chegar ! test/com/sun/corba/cachedSocket/7056731.sh Changeset: 7ed862e26243 Author: serb Date: 2015-09-02 16:13 +0300 URL: http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/7ed862e26243 8133677: Specification of AudioFileReader should be clarifed Reviewed-by: prr, amenkov ! src/java.desktop/share/classes/com/sun/media/sound/SoftMidiAudioFileReader.java ! src/java.desktop/share/classes/com/sun/media/sound/SunFileReader.java ! src/java.desktop/share/classes/javax/sound/sampled/AudioSystem.java ! src/java.desktop/share/classes/javax/sound/sampled/spi/AudioFileReader.java + test/javax/sound/sampled/FileReader/RepeatedFormatReader.java Changeset: 36a8183df621 Author: serb Date: 2015-09-03 19:19 +0300 URL: http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/36a8183df621 8080948: [TEST_BUG] Few test cases are failing due to use of getPeer() Reviewed-by: prr, yan, alexsch ! test/java/awt/Focus/RequestOnCompWithNullParent/RequestOnCompWithNullParent1.java Changeset: d614e15d132c Author: psadhukhan Date: 2015-09-04 12:51 +0300 URL: http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/d614e15d132c 8134476: Broken Hyperlink in JDK 8 java.awt.Font javadocs Reviewed-by: prr, serb ! src/java.desktop/share/classes/java/awt/Font.java Changeset: f55cf3d24787 Author: yan Date: 2015-09-07 13:48 +0300 URL: http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/f55cf3d24787 8133539: [TEST_BUG] Split java/awt/image/MultiResolutionImageTest.java in two to allow restricted access Reviewed-by: alexsch, serb Contributed-by: Renjith Alexander + test/java/awt/image/MultiResolutionImageCommonTest.java ! test/java/awt/image/MultiResolutionImageTest.java Changeset: 017626660405 Author: kshefov Date: 2015-09-07 17:07 +0300 URL: http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/017626660405 7124238: [macosx] Font in BasicHTML document is bigger than it should be Reviewed-by: azvegint, alexsch Contributed-by: shilpi.rastogi at oracle.com + javax/swing/plaf/basic/BasicHTML/4960629/bug4960629.java Changeset: f7b346d83034 Author: serb Date: 2015-09-07 23:29 +0300 URL: http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/f7b346d83034 8060027: Tests java/beans/XMLEncoder/Test4903007.java and java/beans/XMLEncoder/java_awt_GridBagLayout.java Reviewed-by: alexsch ! src/java.desktop/share/classes/java/beans/XMLEncoder.java + test/java/beans/XMLEncoder/ReferenceToNonStaticField.java Changeset: 4c078d8904c9 Author: serb Date: 2015-09-07 23:57 +0300 URL: http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/4c078d8904c9 8134947: [macosx] Various memory leaks in Aqua look and feel Reviewed-by: azvegint, alexsch ! src/java.desktop/macosx/classes/com/apple/laf/AquaCaret.java ! src/java.desktop/macosx/classes/com/apple/laf/AquaEditorPaneUI.java ! src/java.desktop/macosx/classes/com/apple/laf/AquaInternalFrameUI.java ! src/java.desktop/macosx/classes/com/apple/laf/AquaSpinnerUI.java ! src/java.desktop/macosx/classes/com/apple/laf/AquaTabbedPaneUI.java ! src/java.desktop/macosx/classes/com/apple/laf/AquaTextAreaUI.java ! src/java.desktop/macosx/classes/com/apple/laf/AquaTextFieldUI.java ! src/java.desktop/macosx/classes/com/apple/laf/AquaTextPaneUI.java ! src/java.desktop/share/classes/javax/swing/plaf/basic/BasicTableHeaderUI.java + test/javax/swing/UI/UnninstallUIMemoryLeaks/UnninstallUIMemoryLeaks.java Changeset: 177450b9f1a6 Author: yan Date: 2015-09-08 11:28 +0300 URL: http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/177450b9f1a6 8133027: [Jigsaw] Test java/awt/PrintJob/Text/stringwidth.sh fails during compilation Reviewed-by: yan, serb Contributed-by: Renjith Alexander + test/java/awt/Modal/InvisibleParentTest/InvisibleParentTest.html + test/java/awt/Modal/InvisibleParentTest/InvisibleParentTest.java ! test/java/awt/PrintJob/Text/StringWidth.java Changeset: 82e066c83bd0 Author: alexsch Date: 2015-09-08 16:01 +0400 URL: http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/82e066c83bd0 8135176: Moving test from javax/swing/plaf/basic/BasicHTML/4960629 to test/javax/swing/plaf/basic/BasicHTML/4960629 Reviewed-by: azvegint, alexsch Contributed-by: Shilpi Rastogi - javax/swing/plaf/basic/BasicHTML/4960629/bug4960629.java + test/javax/swing/plaf/basic/BasicHTML/4960629/bug4960629.java Changeset: b348f693a10e Author: prr Date: 2015-09-08 14:40 -0700 URL: http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/b348f693a10e Merge Changeset: 91335bb140c2 Author: prr Date: 2015-09-08 15:19 -0700 URL: http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/91335bb140c2 Merge Changeset: 7b9d345fc7ba Author: azvegint Date: 2015-09-09 10:31 +0300 URL: http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/7b9d345fc7ba 8005914: [TEST_BUG] The last column header does not contain "..." Reviewed-by: alexsch, serb Contributed-by: shilpi.rastogi at oracle.com + test/javax/swing/JTableHeader/6442918/bug6442918a.java ! test/javax/swing/regtesthelpers/Util.java Changeset: 873342a31dee Author: anashaty Date: 2015-09-09 19:10 +0300 URL: http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/873342a31dee 8081485: EDT auto shutdown is broken in case of new event queue usage Reviewed-by: serb, alexp ! src/java.desktop/share/classes/java/awt/EventQueue.java + test/java/awt/Toolkit/AutoShutdown/EventQueuePush/EventQueuePushAutoshutdown.java + test/java/awt/Toolkit/AutoShutdown/EventQueuePush/EventQueuePushAutoshutdown.sh Changeset: 65cab946433b Author: alexsch Date: 2015-09-10 17:02 +0400 URL: http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/65cab946433b 8032568: Test javax/swing/JInternalFrame/8020708/bug8020708.java fails on Windows virtual hosts Reviewed-by: serb, alexsch Contributed-by: Rajeev Chamyal ! test/javax/swing/JInternalFrame/8020708/bug8020708.java Changeset: 7da13611c26e Author: serb Date: 2015-09-11 15:03 +0300 URL: http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/7da13611c26e 7131835: [TEST_BUG] Test does not consider that the rounded edges of the window in Mac OS 10.7 Reviewed-by: azvegint, yan + test/sun/java2d/OpenGL/CopyAreaOOB.java Changeset: 369c16c9c4d2 Author: alexsch Date: 2015-09-11 17:12 +0400 URL: http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/369c16c9c4d2 8025082: The behaviour of the highlight will be lost after clicking the set button Reviewed-by: serb, alexsch Contributed-by: Rajeev Chamyal ! src/java.desktop/share/classes/javax/swing/text/DefaultCaret.java + test/javax/swing/JTextPane/bug8025082.java Changeset: 79d93ad73030 Author: pchopra Date: 2015-09-11 17:58 +0300 URL: http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/79d93ad73030 8136354: [TEST_BUG] Test java/awt/image/RescaleOp/RescaleAlphaTest.java with Bad action for script Reviewed-by: azvegint, serb ! test/java/awt/image/RescaleOp/RescaleAlphaTest.java Changeset: 600f0e7f6dd5 Author: alexsch Date: 2015-09-14 18:54 +0400 URL: http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/600f0e7f6dd5 8039467: [TEST_BUG] Test java/awt/Choice/UnfocusableToplevel/UnfocusableToplevel.java lefts keystrokes in a keyboard buffer on Windows Reviewed-by: serb, alexsch Contributed-by: Ambarish Rapte ! test/java/awt/Choice/UnfocusableToplevel/UnfocusableToplevel.java Changeset: 298cca968b4f Author: prr Date: 2015-09-14 09:40 -0700 URL: http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/298cca968b4f Merge - make/src/native/add_gnu_debuglink/add_gnu_debuglink.c - make/src/native/fix_empty_sec_hdr_flags/fix_empty_sec_hdr_flags.c - src/java.base/unix/native/libnet/AbstractPlainDatagramSocketImpl.c - src/java.base/windows/native/libnet/AbstractPlainDatagramSocketImpl.c Changeset: 7869179af058 Author: alexsch Date: 2015-09-15 15:31 +0400 URL: http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/7869179af058 8029339: Custom MultiResolution image support on HiDPI displays Reviewed-by: flar, serb ! src/java.desktop/macosx/classes/com/apple/laf/AquaImageFactory.java ! src/java.desktop/macosx/classes/sun/lwawt/macosx/CImage.java ! src/java.desktop/share/classes/java/awt/RenderingHints.java + src/java.desktop/share/classes/java/awt/image/AbstractMultiResolutionImage.java + src/java.desktop/share/classes/java/awt/image/BaseMultiResolutionImage.java + src/java.desktop/share/classes/java/awt/image/MultiResolutionImage.java ! src/java.desktop/share/classes/sun/awt/SunHints.java ! src/java.desktop/share/classes/sun/awt/SunToolkit.java - src/java.desktop/share/classes/sun/awt/image/AbstractMultiResolutionImage.java ! src/java.desktop/share/classes/sun/awt/image/MultiResolutionCachedImage.java - src/java.desktop/share/classes/sun/awt/image/MultiResolutionImage.java ! src/java.desktop/share/classes/sun/awt/image/MultiResolutionToolkitImage.java ! src/java.desktop/share/classes/sun/java2d/SunGraphics2D.java ! test/java/awt/Cursor/MultiResolutionCursorTest/MultiResolutionCursorTest.java ! test/java/awt/image/MultiResolutionImage/NSImageToMultiResolutionImageTest.java ! test/java/awt/image/MultiResolutionImageCommonTest.java ! test/java/awt/image/MultiResolutionImageTest.java + test/java/awt/image/multiresolution/BaseMultiResolutionImageTest.java ! test/java/awt/image/multiresolution/MultiResolutionCachedImageTest.java + test/java/awt/image/multiresolution/MultiResolutionRenderingHintsTest.java Changeset: 38169ef6e325 Author: prr Date: 2015-09-18 09:18 -0700 URL: http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/38169ef6e325 Merge - src/java.base/share/native/libfdlibm/e_pow.c - src/java.base/share/native/libfdlibm/w_pow.c - src/java.base/share/native/libjava/Image.c - src/java.management/share/classes/com/sun/jmx/remote/internal/IIOPHelper.java - src/java.management/share/classes/com/sun/jmx/remote/internal/IIOPProxy.java - src/java.management/share/classes/com/sun/jmx/remote/protocol/iiop/ClientProvider.java - src/java.management/share/classes/com/sun/jmx/remote/protocol/iiop/IIOPProxyImpl.java - src/java.management/share/classes/com/sun/jmx/remote/protocol/iiop/ProxyInputStream.java - src/java.management/share/classes/com/sun/jmx/remote/protocol/iiop/ServerProvider.java - test/javax/management/remote/mandatory/connection/NoIIOP.java - test/sun/security/tools/jarsigner/warnings.sh Changeset: 50292d486635 Author: prr Date: 2015-09-18 11:24 -0700 URL: http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/50292d486635 Merge Changeset: d11f25ce3c54 Author: lana Date: 2015-09-18 14:20 -0700 URL: http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/d11f25ce3c54 Merge - src/java.base/share/native/libfdlibm/e_pow.c - src/java.base/share/native/libfdlibm/w_pow.c - src/java.base/share/native/libjava/Image.c - src/java.desktop/share/classes/sun/awt/image/AbstractMultiResolutionImage.java - src/java.desktop/share/classes/sun/awt/image/MultiResolutionImage.java - src/java.management/share/classes/com/sun/jmx/remote/internal/IIOPHelper.java - src/java.management/share/classes/com/sun/jmx/remote/internal/IIOPProxy.java - src/java.management/share/classes/com/sun/jmx/remote/protocol/iiop/ClientProvider.java - src/java.management/share/classes/com/sun/jmx/remote/protocol/iiop/IIOPProxyImpl.java - src/java.management/share/classes/com/sun/jmx/remote/protocol/iiop/ProxyInputStream.java - src/java.management/share/classes/com/sun/jmx/remote/protocol/iiop/ServerProvider.java - test/javax/management/remote/mandatory/connection/NoIIOP.java - test/sun/security/tools/jarsigner/warnings.sh Changeset: 34ed7c05fef7 Author: lana Date: 2015-09-25 22:59 -0700 URL: http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/34ed7c05fef7 Added tag jdk9-b83 for changeset d11f25ce3c54 ! .hgtags Changeset: 231c26825adb Author: jfdenise Date: 2015-09-28 14:57 +0200 URL: http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/231c26825adb Merge ! .hgtags ! make/lib/CoreLibraries.gmk ! make/mapfiles/libjava/mapfile-vers ! src/java.base/share/classes/java/io/ObjectInputStream.java ! src/java.base/share/classes/java/lang/Class.java ! src/java.base/share/classes/java/lang/ClassLoader.java ! src/java.base/share/classes/java/lang/Package.java ! src/java.base/share/classes/java/lang/System.java ! src/java.base/share/classes/java/lang/invoke/MethodHandles.java ! src/java.base/share/classes/java/lang/reflect/AccessibleObject.java ! src/java.base/share/classes/java/nio/Bits.java ! src/java.base/share/classes/java/security/Provider.java ! src/java.base/share/classes/java/util/jar/Pack200.java ! src/java.base/share/classes/javax/crypto/JceSecurity.java ! src/java.base/share/classes/jdk/internal/jimage/BasicImageReader.java ! src/java.base/share/classes/jdk/internal/jimage/ImageLocationBase.java ! src/java.base/share/classes/jdk/internal/jimage/ImageModuleData.java ! src/java.base/share/classes/jdk/internal/jimage/ImageNativeSubstrate.java ! src/java.base/share/classes/jdk/internal/jimage/ImageReader.java ! src/java.base/share/classes/sun/launcher/LauncherHelper.java ! src/java.base/share/classes/sun/misc/PerfCounter.java ! src/java.base/share/classes/sun/misc/VM.java ! src/java.base/share/classes/sun/security/jca/ProviderConfig.java ! src/java.base/share/classes/sun/security/jca/ProviderList.java ! src/java.base/share/classes/sun/util/resources/OpenListResourceBundle.java ! src/java.base/share/native/include/jvm.h - src/java.base/share/native/libfdlibm/e_pow.c - src/java.base/share/native/libfdlibm/w_pow.c ! src/java.base/share/native/libjimage/imageDecompressor.cpp ! src/java.base/share/native/libjimage/imageDecompressor.hpp ! src/java.base/share/native/libjimage/jimage.hpp ! src/java.base/share/native/libjimage/osSupport.hpp - src/java.desktop/share/classes/sun/awt/image/AbstractMultiResolutionImage.java - src/java.desktop/share/classes/sun/awt/image/MultiResolutionImage.java - src/java.management/share/classes/com/sun/jmx/remote/internal/IIOPHelper.java - src/java.management/share/classes/com/sun/jmx/remote/internal/IIOPProxy.java - src/java.management/share/classes/com/sun/jmx/remote/protocol/iiop/ClientProvider.java - src/java.management/share/classes/com/sun/jmx/remote/protocol/iiop/IIOPProxyImpl.java - src/java.management/share/classes/com/sun/jmx/remote/protocol/iiop/ProxyInputStream.java - src/java.management/share/classes/com/sun/jmx/remote/protocol/iiop/ServerProvider.java ! src/java.management/share/classes/javax/management/remote/JMXConnectorFactory.java ! src/java.management/share/classes/javax/management/remote/rmi/RMIConnector.java ! src/java.naming/share/classes/com/sun/jndi/ldap/LdapClient.java ! src/jdk.crypto.ucrypto/solaris/classes/com/oracle/security/ucrypto/NativeRSASignature.java ! src/jdk.jlink/share/classes/jdk/tools/jlink/internal/PerfectHashBuilder.java ! test/TEST.groups ! test/java/lang/Class/getDeclaredField/FieldSetAccessibleTest.java ! test/java/lang/invoke/AccessControlTest.java ! test/java/lang/invoke/MethodHandlesTest.java ! test/java/lang/management/MemoryMXBean/Pending.java - test/javax/management/remote/mandatory/connection/NoIIOP.java ! test/sun/security/pkcs11/PKCS11Test.java ! test/sun/security/pkcs11/Secmod/AddPrivateKey.java ! test/sun/security/pkcs11/Secmod/AddTrustedCert.java ! test/sun/security/pkcs11/Secmod/Crypto.java ! test/sun/security/pkcs11/Secmod/GetPrivateKey.java - test/sun/security/tools/jarsigner/warnings.sh Changeset: ff96945c5952 Author: jfdenise Date: 2015-09-28 17:04 +0200 URL: http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/ff96945c5952 Merge ! src/java.base/share/classes/jdk/internal/jimage/ImageNativeSubstrate.java Changeset: 9e750ad4ec59 Author: jfdenise Date: 2015-09-29 14:26 +0200 URL: http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/9e750ad4ec59 Fix stub classes target dir ! make/rmic/Rmic-java.management.gmk Changeset: 585d24969baa Author: jfdenise Date: 2015-09-29 15:39 +0200 URL: http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/585d24969baa Fix java.management path ! make/rmic/Rmic-java.management.gmk Changeset: 15c91557b029 Author: jfdenise Date: 2015-09-29 17:52 +0200 URL: http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/15c91557b029 java/util/Scanner/ScannerStreamTest.java in ProblemList.jake ! test/ProblemList.jake.txt Changeset: 4659b1aaf17d Author: jfdenise Date: 2015-09-29 17:57 +0200 URL: http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/4659b1aaf17d Merge ! src/java.base/share/classes/java/lang/Class.java ! src/java.base/share/classes/java/lang/ClassLoader.java ! src/java.base/share/classes/java/lang/Package.java From jean-francois.denise at oracle.com Tue Sep 29 16:56:20 2015 From: jean-francois.denise at oracle.com (jean-francois.denise at oracle.com) Date: Tue, 29 Sep 2015 16:56:20 +0000 Subject: hg: jigsaw/jake/hotspot: 61 new changesets Message-ID: <201509291656.t8TGuL4c012820@aojmv0008.oracle.com> Changeset: 7df0e3f7ad65 Author: adinn Date: 2015-08-26 17:13 +0100 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/7df0e3f7ad65 8134322: AArch64: Fix several errors in C2 biased locking implementation Summary: Several errors in C2 biased locking require fixing Reviewed-by: kvn Contributed-by: hui.shi at linaro.org ! src/cpu/aarch64/vm/aarch64.ad Changeset: c530a118f715 Author: shade Date: 2015-09-01 19:48 +0300 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/c530a118f715 8134758: Final String field values should be trusted as stable Reviewed-by: kvn, thartmann ! src/share/vm/opto/memnode.cpp Changeset: da1c9ea76ce5 Author: aph Date: 2015-09-02 13:23 +0000 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/da1c9ea76ce5 8134869: AARCH64: GHASH intrinsic is not optimal Summary: Rewrite intrinsic to make better use of SIMD instructions Reviewed-by: kvn ! src/cpu/aarch64/vm/assembler_aarch64.hpp ! src/cpu/aarch64/vm/stubGenerator_aarch64.cpp Changeset: c030d25ae04e Author: kvn Date: 2015-09-02 11:03 -0700 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/c030d25ae04e 8134898: Small fixes found during JVMCI work Summary: Removed jre/ from jdk paths in makefiles. Add Thread::_unhandled_oops field for debug and fastdebug builds. Fix doc. Reviewed-by: coleenp, bdelsart ! make/Makefile ! make/bsd/makefiles/vm.make ! make/build.sh ! make/hotspot.script ! make/solaris/makefiles/buildtree.make ! make/solaris/makefiles/vm.make ! src/share/vm/adlc/Doc/Syntax.doc ! src/share/vm/runtime/thread.hpp Changeset: 04426ad76887 Author: roland Date: 2015-09-02 10:00 +0200 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/04426ad76887 8134468: Lucene test failures with 32 bit JDK 9b78, Server compiler Summary: test that checks whether an array load falls into the range of an arraycopy is incorrect on 32bits Reviewed-by: iveresov, kvn ! src/share/vm/opto/arraycopynode.cpp + test/compiler/arraycopy/TestArrayCopyOverflowInBoundChecks.java Changeset: 82b61ad9f45f Author: roland Date: 2015-09-02 22:05 +0200 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/82b61ad9f45f Merge Changeset: 5dda6f5397ff Author: kvn Date: 2015-09-02 15:11 -0700 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/5dda6f5397ff 8075093: Enable UseFPUForSpilling support on SPARC Summary: Use single-cycle MOV instructions (MOVdTOx, MOVxTOd) for spills on SPARC which have them. Reviewed-by: kvn Contributed-by: shrinivas.joshi at oracle.com ! src/cpu/sparc/vm/vm_version_sparc.cpp Changeset: 979c4f71a3c8 Author: roland Date: 2015-08-31 17:20 +0200 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/979c4f71a3c8 8134031: Incorrect JIT compilation of complex code with inlining and escape analysis Summary: Bad rewiring of memory edges when we split unique types during EA Reviewed-by: kvn ! src/share/vm/opto/escape.cpp + test/compiler/escapeAnalysis/TestEABadMergeMem.java Changeset: 6ed37de41ebb Author: iveresov Date: 2015-09-03 14:29 -0700 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/6ed37de41ebb 8135035: Reverse changes from 8075093 Summary: 8075093 turn on FPU spilling that need to be stabilized first Reviewed-by: kvn ! src/cpu/sparc/vm/vm_version_sparc.cpp Changeset: 66e8f7dba7d8 Author: kvn Date: 2015-09-03 15:03 -0700 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/66e8f7dba7d8 8132081: C2 support for Adler32 on SPARC Summary: Add C2 instrinsic support for Adler32 checksum on SPARC. Reviewed-by: kvn Contributed-by: ahmed.khawaja at oracle.com ! src/cpu/aarch64/vm/vm_version_aarch64.cpp ! src/cpu/ppc/vm/vm_version_ppc.cpp ! src/cpu/sparc/vm/stubGenerator_sparc.cpp ! src/cpu/sparc/vm/stubRoutines_sparc.hpp ! src/cpu/sparc/vm/vm_version_sparc.cpp ! src/cpu/x86/vm/vm_version_x86.cpp ! src/share/vm/classfile/vmSymbols.cpp ! src/share/vm/classfile/vmSymbols.hpp ! src/share/vm/opto/c2compiler.cpp ! src/share/vm/opto/escape.cpp ! src/share/vm/opto/library_call.cpp ! src/share/vm/opto/runtime.cpp ! src/share/vm/opto/runtime.hpp ! src/share/vm/runtime/globals.hpp ! src/share/vm/runtime/stubRoutines.cpp ! src/share/vm/runtime/stubRoutines.hpp + test/compiler/intrinsics/adler32/TestAdler32.java Changeset: 8f5648c43725 Author: neliasso Date: 2015-09-04 12:47 +0200 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/8f5648c43725 8135067: Preparatory refactorings for compiler control Summary: Extract CompileTask and clean up Reviewed-by: roland ! src/share/vm/c1/c1_Compiler.cpp ! src/share/vm/c1/c1_GraphBuilder.cpp ! src/share/vm/ci/bcEscapeAnalyzer.cpp ! src/share/vm/classfile/javaClasses.cpp ! src/share/vm/code/nmethod.cpp ! src/share/vm/compiler/compileBroker.cpp ! src/share/vm/compiler/compileBroker.hpp + src/share/vm/compiler/compileTask.cpp + src/share/vm/compiler/compileTask.hpp ! src/share/vm/opto/compile.hpp ! src/share/vm/opto/doCall.cpp ! src/share/vm/opto/runtime.cpp ! src/share/vm/runtime/arguments.cpp ! src/share/vm/runtime/compilationPolicy.cpp ! src/share/vm/runtime/sharedRuntime.cpp Changeset: e13d7fa76fac Author: coleenp Date: 2015-08-24 15:41 -0400 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/e13d7fa76fac 8133561: linux thread id should be reported in decimal in the error reports now Summary: linux thread id error reports changed back to decimal Reviewed-by: hseigel, ctornqvi, coleenp Contributed-by: rachel.protacio at oracle.com ! src/share/vm/utilities/vmError.cpp Changeset: 8af2c4220477 Author: coleenp Date: 2015-08-25 17:30 +0200 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/8af2c4220477 Merge Changeset: 3dfd8c6b3f6c Author: gziemski Date: 2015-08-24 16:17 -0500 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/3dfd8c6b3f6c 8134239: compiler/arguments/CheckCICompilerCount.java still fails Summary: Compiler team updated the test by adding a new test case, but due to merging timing it was still using the old constraint error message format, which needed updating Reviewed-by: ctornqvi, hseigel ! test/compiler/arguments/CheckCICompilerCount.java Changeset: c7817bc5bb15 Author: coleenp Date: 2015-08-25 19:06 +0200 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/c7817bc5bb15 Merge Changeset: a45fb54484ad Author: kzhaldyb Date: 2015-08-07 17:58 +0300 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/a45fb54484ad 8132708: Add tests for Humongous objects allocation threshold Summary: Added the test which checks that Humongous objects allocation threshold works as expected Reviewed-by: tschatzl, dfazunen + test/gc/g1/humongousObjects/Helpers.java + test/gc/g1/humongousObjects/TestHumongousThreshold.java Changeset: 09094287d06f Author: iignatyev Date: 2015-08-25 21:05 +0200 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/09094287d06f Merge Changeset: 522260f7f54c Author: jiangli Date: 2015-08-25 17:22 -0400 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/522260f7f54c 8131734: assert(!is_null(v)) failed: narrow klass value can never be zero with -Xshared:auto Summary: Handle shared string mapping failures. Reviewed-by: tschatzl, kbarrett, ddmitriev, hseigel Contributed-by: tom.benson at oracle.com, jiangli.zhou at oracle.com ! src/share/vm/gc/g1/g1Allocator.cpp ! src/share/vm/gc/g1/g1CollectedHeap.cpp ! src/share/vm/gc/g1/g1CollectedHeap.hpp ! src/share/vm/gc/g1/g1MarkSweep.cpp ! src/share/vm/gc/g1/g1MarkSweep.hpp ! src/share/vm/gc/g1/heapRegionManager.cpp ! src/share/vm/gc/g1/heapRegionManager.hpp ! src/share/vm/memory/filemap.cpp ! src/share/vm/memory/filemap.hpp + test/runtime/SharedArchiveFile/SharedStringsRunAuto.java Changeset: c1bd0eb306f1 Author: dholmes Date: 2015-08-26 18:59 -0400 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/c1bd0eb306f1 8133646: Internal Error: x86/vm/macroAssembler_x86.cpp:886 DEBUG MESSAGE: StubRoutines::call_stub: threads must correspond Reviewed-by: kvn, coleenp, dcubed ! src/cpu/x86/vm/stubGenerator_x86_64.cpp Changeset: 79b7d59ee282 Author: ehelin Date: 2015-08-27 16:28 +0200 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/79b7d59ee282 8134504: Remove usage of EvacuationInfo from G1CollectorPolicy Reviewed-by: mgerdin, jwilhelm ! src/share/vm/gc/g1/g1CollectedHeap.cpp ! src/share/vm/gc/g1/g1CollectorPolicy.cpp ! src/share/vm/gc/g1/g1CollectorPolicy.hpp Changeset: f7abf3de7822 Author: ehelin Date: 2015-08-28 09:05 +0200 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/f7abf3de7822 8134509: G1ParCopyClosure does not need a ReferenceProcessor Reviewed-by: stefank, mgerdin ! src/share/vm/gc/g1/g1CollectedHeap.cpp ! src/share/vm/gc/g1/g1OopClosures.hpp Changeset: c64d134410a7 Author: erikj Date: 2015-08-28 09:57 +0200 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/c64d134410a7 8134157: adlc fails to compile with SS12u4 Reviewed-by: dholmes, kbarrett, ihse ! make/solaris/makefiles/adlc.make Changeset: bf890f7af014 Author: erikj Date: 2015-08-28 11:10 +0200 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/bf890f7af014 Merge Changeset: a37aac88925c Author: ddmitriev Date: 2015-08-28 17:32 +0300 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/a37aac88925c 8132725: Memory leak in Arguments::add_property function Summary: Logic in add_property was rewritten to avoid memory leak Reviewed-by: iklam, coleenp ! src/share/vm/prims/jvmtiEnv.cpp ! src/share/vm/runtime/arguments.cpp ! src/share/vm/runtime/arguments.hpp Changeset: a380403592b2 Author: kbarrett Date: 2015-08-18 17:48 -0400 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/a380403592b2 8072817: CardTableExtension kind() should be BarrierSet::CardTableExtension Summary: Use BarrierSet::CardTableForRS where needed, and update concrete bs tags. Reviewed-by: jwilhelm, jmasa ! src/cpu/aarch64/vm/macroAssembler_aarch64.cpp ! src/cpu/aarch64/vm/stubGenerator_aarch64.cpp ! src/cpu/aarch64/vm/templateTable_aarch64.cpp ! src/cpu/ppc/vm/macroAssembler_ppc.cpp ! src/cpu/ppc/vm/stubGenerator_ppc.cpp ! src/cpu/ppc/vm/templateTable_ppc_64.cpp ! src/cpu/sparc/vm/macroAssembler_sparc.cpp ! src/cpu/sparc/vm/stubGenerator_sparc.cpp ! src/cpu/sparc/vm/templateTable_sparc.cpp ! src/cpu/x86/vm/macroAssembler_x86.cpp ! src/cpu/x86/vm/stubGenerator_x86_32.cpp ! src/cpu/x86/vm/stubGenerator_x86_64.cpp ! src/cpu/x86/vm/templateTable_x86.cpp ! src/share/vm/c1/c1_LIRGenerator.cpp ! src/share/vm/gc/g1/g1CollectorPolicy.hpp ! src/share/vm/gc/parallel/cardTableExtension.hpp ! src/share/vm/gc/shared/barrierSet.hpp ! src/share/vm/gc/shared/barrierSet.inline.hpp ! src/share/vm/gc/shared/cardTableModRefBSForCTRS.cpp ! src/share/vm/gc/shared/collectorPolicy.hpp ! src/share/vm/opto/graphKit.cpp ! src/share/vm/runtime/vmStructs.cpp ! src/share/vm/shark/sharkBuilder.cpp Changeset: e59d6364edec Author: kbarrett Date: 2015-08-28 23:57 +0200 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/e59d6364edec Merge Changeset: c66e1029a407 Author: kbarrett Date: 2015-08-31 13:06 -0400 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/c66e1029a407 8131330: G1CollectedHeap::verify_dirty_young_list fails with assert Summary: Use assembly loop to avoid compiler optimization into memset Reviewed-by: ecaspole, tschatzl + src/cpu/sparc/vm/memset_with_concurrent_readers_sparc.cpp ! src/cpu/sparc/vm/vm_version_sparc.cpp ! src/share/vm/gc/g1/g1BlockOffsetTable.inline.hpp ! src/share/vm/gc/g1/g1SATBCardTableModRefBS.cpp ! src/share/vm/gc/shared/blockOffsetTable.hpp + src/share/vm/gc/shared/memset_with_concurrent_readers.cpp + src/share/vm/gc/shared/memset_with_concurrent_readers.hpp ! src/share/vm/prims/jni.cpp ! src/share/vm/runtime/globals.hpp Changeset: 3ca7e75b4e42 Author: dsamersoff Date: 2015-08-31 21:46 +0300 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/3ca7e75b4e42 Merge ! src/cpu/aarch64/vm/macroAssembler_aarch64.cpp ! src/cpu/x86/vm/macroAssembler_x86.cpp ! src/cpu/x86/vm/templateTable_x86.cpp Changeset: 9bd030a59111 Author: dsamersoff Date: 2015-08-31 23:29 +0200 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/9bd030a59111 Merge Changeset: da9eeb2c1cbd Author: sangheki Date: 2015-08-31 11:51 -0700 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/da9eeb2c1cbd 8078555: GC: implement ranges (optionally constraints) for those flags that have them missing Summary: Add ranges and constraint functions for GC flags. Reviewed-by: jmasa, kbarrett, gziemski, ddmitriev, drwhite ! src/share/vm/gc/g1/g1_globals.hpp ! src/share/vm/runtime/arguments.cpp ! src/share/vm/runtime/commandLineFlagConstraintList.cpp ! src/share/vm/runtime/commandLineFlagConstraintList.hpp ! src/share/vm/runtime/commandLineFlagConstraintsGC.cpp ! src/share/vm/runtime/commandLineFlagConstraintsGC.hpp ! src/share/vm/runtime/commandLineFlagRangeList.cpp ! src/share/vm/runtime/globals.hpp + test/gc/arguments/TestG1ConcMarkStepDurationMillis.java ! test/gc/arguments/TestG1HeapRegionSize.java ! test/gc/arguments/TestHeapFreeRatio.java ! test/gc/arguments/TestInitialTenuringThreshold.java ! test/gc/arguments/TestObjectTenuringFlags.java Changeset: be685a5356a4 Author: tschatzl Date: 2015-09-01 10:53 +0200 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/be685a5356a4 8067341: Modify PLAB sizing algorithm to waste less Summary: Change the G1 PLAB resizing algorithm to waste less memory by being more conservative about the PLAB sizes. Reviewed-by: ecaspole, jmasa ! src/share/vm/gc/g1/g1EvacStats.cpp ! src/share/vm/gc/g1/g1_globals.hpp Changeset: 2381355ef90a Author: pliden Date: 2015-09-01 13:13 +0200 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/2381355ef90a 8134738: Remove CollectorPolicy::Name Reviewed-by: brutisso, mgerdin ! src/share/vm/gc/g1/g1CollectorPolicy.hpp ! src/share/vm/gc/shared/collectorPolicy.hpp Changeset: 6dad23e1c89d Author: pliden Date: 2015-09-01 14:17 +0200 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/6dad23e1c89d Merge Changeset: e7f6dd5835be Author: gthornbr Date: 2015-09-01 14:01 -0700 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/e7f6dd5835be 8134161: JVM is creating too many GC helper threads on T7/M7 linux/sparc platform Summary: Recognize the T7/M7 platform. Reviewed-by: dcubed, kvn, jmasa ! src/os_cpu/linux_sparc/vm/vm_version_linux_sparc.cpp Changeset: 2cad024257e9 Author: sjohanss Date: 2015-09-02 09:14 +0200 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/2cad024257e9 8129417: Oop iteration clean-up to remove oop_ms_follow_contents Reviewed-by: pliden, ehelin ! src/share/vm/gc/cms/cmsOopClosures.hpp ! src/share/vm/gc/cms/cmsOopClosures.inline.hpp ! src/share/vm/gc/cms/compactibleFreeListSpace.cpp ! src/share/vm/gc/cms/concurrentMarkSweepGeneration.cpp ! src/share/vm/gc/g1/concurrentMark.cpp ! src/share/vm/gc/g1/g1MarkSweep.cpp ! src/share/vm/gc/g1/heapRegion.cpp ! src/share/vm/gc/parallel/immutableSpace.cpp ! src/share/vm/gc/parallel/mutableSpace.cpp ! src/share/vm/gc/parallel/mutableSpace.hpp ! src/share/vm/gc/parallel/psMarkSweep.cpp ! src/share/vm/gc/serial/genMarkSweep.cpp ! src/share/vm/gc/serial/markSweep.cpp ! src/share/vm/gc/serial/markSweep.hpp ! src/share/vm/gc/serial/markSweep.inline.hpp ! src/share/vm/gc/shared/space.cpp ! src/share/vm/gc/shared/specialized_oop_closures.hpp ! src/share/vm/gc/shared/taskqueue.cpp ! src/share/vm/memory/iterator.hpp ! src/share/vm/memory/iterator.inline.hpp ! src/share/vm/oops/arrayKlass.hpp ! src/share/vm/oops/instanceClassLoaderKlass.hpp ! src/share/vm/oops/instanceClassLoaderKlass.inline.hpp ! src/share/vm/oops/instanceKlass.hpp ! src/share/vm/oops/instanceKlass.inline.hpp ! src/share/vm/oops/instanceMirrorKlass.hpp ! src/share/vm/oops/instanceMirrorKlass.inline.hpp ! src/share/vm/oops/instanceRefKlass.hpp ! src/share/vm/oops/instanceRefKlass.inline.hpp ! src/share/vm/oops/klass.hpp ! src/share/vm/oops/objArrayKlass.hpp ! src/share/vm/oops/objArrayKlass.inline.hpp ! src/share/vm/oops/objArrayOop.cpp ! src/share/vm/oops/objArrayOop.hpp ! src/share/vm/oops/oop.hpp ! src/share/vm/oops/oop.inline.hpp ! src/share/vm/oops/typeArrayKlass.hpp ! src/share/vm/oops/typeArrayKlass.inline.hpp ! src/share/vm/utilities/stack.inline.hpp Changeset: 116afd2a8cbd Author: ysr Date: 2015-09-02 11:56 +0200 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/116afd2a8cbd 8133818: Additional number of processed references printed with -XX:+PrintReferenceGC after JDK-8047125 Summary: Test contributed by brutisso Reviewed-by: tonyp, tschatzl ! src/share/vm/gc/shared/gcTrace.cpp ! src/share/vm/gc/shared/referenceProcessor.cpp ! src/share/vm/gc/shared/referenceProcessor.hpp ! src/share/vm/gc/shared/referenceProcessorStats.hpp ! src/share/vm/memory/referenceType.hpp ! src/share/vm/prims/jvmtiExport.cpp ! src/share/vm/prims/jvmtiExport.hpp ! src/share/vm/prims/jvmtiTagMap.cpp ! src/share/vm/prims/jvmtiTagMap.hpp ! src/share/vm/runtime/jniHandles.cpp ! src/share/vm/runtime/jniHandles.hpp + test/gc/logging/TestPrintReferences.java Changeset: 94b68bbd87b5 Author: sfriberg Date: 2015-09-02 09:51 +0200 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/94b68bbd87b5 8066443: Add G1 support for promotion event Reviewed-by: tschatzl ! src/share/vm/gc/g1/g1ParScanThreadState.cpp ! src/share/vm/gc/g1/g1ParScanThreadState.hpp ! src/share/vm/gc/shared/gcTrace.cpp ! src/share/vm/gc/shared/gcTrace.hpp Changeset: 48b57bb45fe5 Author: tschatzl Date: 2015-09-02 09:57 +0200 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/48b57bb45fe5 8134858: Remove G1 specific checking of Young/OldPLABSize in G1CollectorPolicy constructor Summary: Remove obsolete and wrong code. Reviewed-by: mgerdin, brutisso ! src/share/vm/gc/g1/g1CollectorPolicy.cpp Changeset: 7eec02b95f9e Author: tschatzl Date: 2015-09-02 14:00 +0200 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/7eec02b95f9e 8134856: Incorrect use of PLAB::min_size() in MaxPLABSizeBounds Reviewed-by: jwilhelm, tbenson ! src/share/vm/runtime/commandLineFlagConstraintsGC.cpp Changeset: 943f36515734 Author: tschatzl Date: 2015-09-02 16:16 +0200 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/943f36515734 Merge ! src/share/vm/gc/shared/gcTrace.cpp Changeset: d487a586ed9c Author: kbarrett Date: 2015-09-02 11:41 -0400 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/d487a586ed9c 8134806: Clean up write_ref_field_work Summary: Remove unnecessary pure virtual decl and default argument values. Reviewed-by: jwilhelm, tbenson, jmasa ! src/share/vm/gc/g1/g1SATBCardTableModRefBS.cpp ! src/share/vm/gc/g1/g1SATBCardTableModRefBS.hpp ! src/share/vm/gc/shared/barrierSet.hpp ! src/share/vm/gc/shared/cardTableModRefBS.hpp ! src/share/vm/gc/shared/modRefBarrierSet.hpp Changeset: d10e26451cd0 Author: sangheki Date: 2015-09-02 17:49 -0700 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/d10e26451cd0 8134972: [BACKOUT] GC: implement ranges (optionally constraints) for those flags that have them missing Reviewed-by: jwilhelm ! src/share/vm/gc/g1/g1_globals.hpp ! src/share/vm/runtime/arguments.cpp ! src/share/vm/runtime/commandLineFlagConstraintList.cpp ! src/share/vm/runtime/commandLineFlagConstraintList.hpp ! src/share/vm/runtime/commandLineFlagConstraintsGC.cpp ! src/share/vm/runtime/commandLineFlagConstraintsGC.hpp ! src/share/vm/runtime/commandLineFlagRangeList.cpp ! src/share/vm/runtime/globals.hpp - test/gc/arguments/TestG1ConcMarkStepDurationMillis.java ! test/gc/arguments/TestG1HeapRegionSize.java ! test/gc/arguments/TestHeapFreeRatio.java ! test/gc/arguments/TestInitialTenuringThreshold.java ! test/gc/arguments/TestObjectTenuringFlags.java Changeset: f44314157fcb Author: dcubed Date: 2015-09-03 10:22 -0700 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/f44314157fcb 8049304: race between VM_Exit and _sync_FutileWakeups->inc() Summary: Add PerfDataManager.has_PerfData() to indicate when PerfData objects should be safe to query. Update Java monitor PerfData usage to check the new flag. PerfDataManager::destroy() should only be called at a safepoint and when the StatSampler is not active. Reviewed-by: kbarrett, dholmes, tbenson, bdelsart ! src/share/vm/runtime/objectMonitor.cpp ! src/share/vm/runtime/objectMonitor.hpp ! src/share/vm/runtime/perfData.cpp ! src/share/vm/runtime/perfData.hpp ! src/share/vm/runtime/perfMemory.cpp ! src/share/vm/runtime/synchronizer.cpp Changeset: f35456fc82ae Author: mseledtsov Date: 2015-09-03 08:57 -0700 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/f35456fc82ae 8133180: [TESTBUG] runtime/SharedArchiveFile/SharedStrings.java failed with WhiteBox.class : no such file or directory Summary: Removed ambiguity on where JarBuilder looks for classes Reviewed-by: jiangli, ctornqvi, gtriantafill ! test/runtime/SharedArchiveFile/BasicJarBuilder.java ! test/runtime/SharedArchiveFile/SharedStrings.java ! test/runtime/SharedArchiveFile/SharedStringsWb.java Changeset: 1fb9e9f01532 Author: tschatzl Date: 2015-09-04 08:36 +0200 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/1fb9e9f01532 8134857: Inconsistency in maximum TLAB/PLAB size and humongous object size Summary: Align TLAB/PLAB size with exact humongous object size threshold, not that value -1. Reviewed-by: jmasa, dfazunen ! src/share/vm/gc/g1/g1CollectedHeap.cpp + test/gc/g1/TestPLABSizeBounds.java Changeset: ceb9d9044fc8 Author: mgerdin Date: 2015-09-04 09:47 +0200 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/ceb9d9044fc8 8135012: Don't use G1RootProcessor when scanning remembered sets Reviewed-by: jmasa, ecaspole + src/share/vm/gc/g1/g1CodeBlobClosure.cpp + src/share/vm/gc/g1/g1CodeBlobClosure.hpp ! src/share/vm/gc/g1/g1CollectedHeap.cpp ! src/share/vm/gc/g1/g1RemSet.cpp ! src/share/vm/gc/g1/g1RemSet.hpp ! src/share/vm/gc/g1/g1RootProcessor.cpp ! src/share/vm/gc/g1/g1RootProcessor.hpp Changeset: 67967c7b055c Author: jwilhelm Date: 2015-09-04 13:23 +0200 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/67967c7b055c 8130823: VerifyRememberedSets is an expensive nop in product builds Reviewed-by: jmasa, tschatzl ! src/share/vm/gc/parallel/cardTableExtension.cpp Changeset: 262b86c271b0 Author: jlaskey Date: 2015-09-04 10:12 -0300 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/262b86c271b0 8087181: Move native jimage code to its own library (maybe libjimage) Reviewed-by: alanb, lfoltan, hseigel, acorn Contributed-by: james.laskey at oracle.com, jean-francois.denise at oracle.com, roger.riggs at oracle.com ! make/aix/makefiles/mapfile-vers-debug ! make/aix/makefiles/mapfile-vers-product ! make/bsd/makefiles/mapfile-vers-darwin-debug ! make/bsd/makefiles/mapfile-vers-darwin-product ! make/bsd/makefiles/mapfile-vers-debug ! make/bsd/makefiles/mapfile-vers-product ! make/linux/makefiles/mapfile-vers-debug ! make/linux/makefiles/mapfile-vers-product ! make/solaris/makefiles/mapfile-vers ! src/share/vm/classfile/classLoader.cpp ! src/share/vm/classfile/classLoader.hpp - src/share/vm/classfile/imageDecompressor.cpp - src/share/vm/classfile/imageDecompressor.hpp - src/share/vm/classfile/imageFile.cpp - src/share/vm/classfile/imageFile.hpp + src/share/vm/classfile/jimage.hpp ! src/share/vm/precompiled/precompiled.hpp ! src/share/vm/prims/jvm.cpp ! src/share/vm/prims/jvm.h ! src/share/vm/prims/whitebox.cpp ! src/share/vm/runtime/arguments.cpp ! src/share/vm/runtime/arguments.hpp ! src/share/vm/runtime/globals.hpp ! src/share/vm/runtime/init.cpp ! src/share/vm/runtime/mutexLocker.cpp ! src/share/vm/runtime/mutexLocker.hpp - src/share/vm/utilities/endian.cpp - src/share/vm/utilities/endian.hpp - test/runtime/modules/ImageFile/ImageAttributeOffsetsTest.java - test/runtime/modules/ImageFile/ImageCloseTest.java - test/runtime/modules/ImageFile/ImageFileHeaderTest.java - test/runtime/modules/ImageFile/ImageFindAttributesTest.java - test/runtime/modules/ImageFile/ImageGetAttributesTest.java - test/runtime/modules/ImageFile/ImageGetDataAddressTest.java - test/runtime/modules/ImageFile/ImageGetIndexAddressTest.java - test/runtime/modules/ImageFile/ImageGetStringBytesTest.java - test/runtime/modules/ImageFile/ImageOpenTest.java - test/runtime/modules/ImageFile/ImageReadTest.java - test/runtime/modules/ImageFile/LocationConstants.java Changeset: a78dd396f8a4 Author: jlaskey Date: 2015-09-04 20:29 +0000 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/a78dd396f8a4 Merge Changeset: 102e32f29835 Author: rdurbin Date: 2015-09-04 14:49 -0700 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/102e32f29835 8061999: Enhance VM option parsing to allow options to be specified in a file Summary: Add support for the "-XX:VMOptionsFile=" option. Reviewed-by: dcubed, gthornbr, gziemski, ddmitriev, dholmes, coleenp ! src/share/vm/runtime/arguments.cpp ! src/share/vm/runtime/arguments.hpp Changeset: f74b3ce62e1f Author: dbuck Date: 2015-09-04 17:33 -0700 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/f74b3ce62e1f 8135002: Fix or remove broken links in objectMonitor.cpp comments Summary: Updated comments to refer to relevant patents. Reviewed-by: dcubed ! src/share/vm/runtime/objectMonitor.cpp Changeset: 1ca70c12a335 Author: jwilhelm Date: 2015-08-18 21:32 +0200 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/1ca70c12a335 8134626: Misc cleanups after generation array removal Reviewed-by: david, dholmes, tschatzl ! src/share/vm/gc/cms/compactibleFreeListSpace.cpp ! src/share/vm/gc/cms/compactibleFreeListSpace.hpp ! src/share/vm/gc/cms/concurrentMarkSweepGeneration.cpp ! src/share/vm/gc/cms/concurrentMarkSweepGeneration.hpp ! src/share/vm/gc/cms/concurrentMarkSweepGeneration.inline.hpp ! src/share/vm/gc/cms/concurrentMarkSweepThread.cpp ! src/share/vm/gc/cms/parNewGeneration.cpp ! src/share/vm/gc/cms/parNewGeneration.hpp ! src/share/vm/gc/g1/heapRegionType.hpp ! src/share/vm/gc/parallel/parallelScavengeHeap.inline.hpp ! src/share/vm/gc/parallel/psAdaptiveSizePolicy.cpp ! src/share/vm/gc/parallel/psOldGen.cpp ! src/share/vm/gc/parallel/psParallelCompact.cpp ! src/share/vm/gc/parallel/psParallelCompact.hpp ! src/share/vm/gc/parallel/psScavenge.cpp ! src/share/vm/gc/parallel/psTasks.cpp ! src/share/vm/gc/parallel/psTasks.hpp ! src/share/vm/gc/serial/defNewGeneration.cpp ! src/share/vm/gc/serial/defNewGeneration.hpp ! src/share/vm/gc/serial/defNewGeneration.inline.hpp ! src/share/vm/gc/serial/tenuredGeneration.cpp ! src/share/vm/gc/serial/tenuredGeneration.hpp ! src/share/vm/gc/shared/adaptiveSizePolicy.cpp ! src/share/vm/gc/shared/cardTableRS.cpp ! src/share/vm/gc/shared/collectedHeap.cpp ! src/share/vm/gc/shared/genCollectedHeap.cpp ! src/share/vm/gc/shared/genCollectedHeap.hpp ! src/share/vm/gc/shared/genRemSet.hpp ! src/share/vm/gc/shared/generation.hpp ! src/share/vm/gc/shared/referenceProcessor.cpp ! src/share/vm/gc/shared/vmGCOperations.hpp ! src/share/vm/runtime/globals.hpp ! src/share/vm/runtime/synchronizer.cpp ! src/share/vm/runtime/vmStructs.cpp ! src/share/vm/services/memoryPool.cpp ! src/share/vm/services/memoryPool.hpp ! src/share/vm/services/memoryService.cpp ! src/share/vm/services/memoryService.hpp ! src/share/vm/services/psMemoryPool.cpp ! src/share/vm/services/psMemoryPool.hpp Changeset: d750cc39ed60 Author: dfazunen Date: 2015-09-07 21:30 +0400 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/d750cc39ed60 8132709: [TESTBUG] gc/g1/TestHumongousShrinkHeap.java might fail on embedded Reviewed-by: tschatzl, jwilhelm ! test/gc/g1/TestHumongousShrinkHeap.java Changeset: e7dadf42aa35 Author: mchernov Date: 2015-09-01 21:38 +0300 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/e7dadf42aa35 8081317: [NEWTEST] documented GC ratio tuning and new size options should be covered by regression tests Reviewed-by: iignatyev, dfazunen ! src/share/vm/prims/whitebox.cpp + test/gc/arguments/GCTypes.java + test/gc/arguments/TestMaxMinHeapFreeRatioFlags.java + test/gc/arguments/TestMinAndInitialSurvivorRatioFlags.java + test/gc/arguments/TestNewRatioFlag.java + test/gc/arguments/TestNewSizeFlags.java + test/gc/arguments/TestSurvivorRatioFlag.java + test/gc/arguments/TestTargetSurvivorRatioFlag.java + test/testlibrary/jdk/test/lib/AllocationHelper.java + test/testlibrary/jdk/test/lib/HeapRegionUsageTool.java Changeset: 9a8f97037119 Author: iignatyev Date: 2015-09-07 20:03 +0200 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/9a8f97037119 Merge Changeset: 0316b41ccb2f Author: jwilhelm Date: 2015-09-08 16:10 +0200 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/0316b41ccb2f Merge ! src/cpu/aarch64/vm/stubGenerator_aarch64.cpp ! src/cpu/sparc/vm/stubGenerator_sparc.cpp ! src/cpu/sparc/vm/vm_version_sparc.cpp - src/share/vm/classfile/imageDecompressor.cpp - src/share/vm/classfile/imageDecompressor.hpp - src/share/vm/classfile/imageFile.cpp - src/share/vm/classfile/imageFile.hpp ! src/share/vm/runtime/arguments.cpp ! src/share/vm/runtime/globals.hpp - src/share/vm/utilities/endian.cpp - src/share/vm/utilities/endian.hpp - test/runtime/modules/ImageFile/ImageAttributeOffsetsTest.java - test/runtime/modules/ImageFile/ImageCloseTest.java - test/runtime/modules/ImageFile/ImageFileHeaderTest.java - test/runtime/modules/ImageFile/ImageFindAttributesTest.java - test/runtime/modules/ImageFile/ImageGetAttributesTest.java - test/runtime/modules/ImageFile/ImageGetDataAddressTest.java - test/runtime/modules/ImageFile/ImageGetIndexAddressTest.java - test/runtime/modules/ImageFile/ImageGetStringBytesTest.java - test/runtime/modules/ImageFile/ImageOpenTest.java - test/runtime/modules/ImageFile/ImageReadTest.java - test/runtime/modules/ImageFile/LocationConstants.java Changeset: bef52fbeb8ae Author: amurillo Date: 2015-09-10 14:55 -0700 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/bef52fbeb8ae Merge - src/share/vm/classfile/imageDecompressor.cpp - src/share/vm/classfile/imageDecompressor.hpp - src/share/vm/classfile/imageFile.cpp - src/share/vm/classfile/imageFile.hpp - src/share/vm/utilities/endian.cpp - src/share/vm/utilities/endian.hpp - test/runtime/modules/ImageFile/ImageAttributeOffsetsTest.java - test/runtime/modules/ImageFile/ImageCloseTest.java - test/runtime/modules/ImageFile/ImageFileHeaderTest.java - test/runtime/modules/ImageFile/ImageFindAttributesTest.java - test/runtime/modules/ImageFile/ImageGetAttributesTest.java - test/runtime/modules/ImageFile/ImageGetDataAddressTest.java - test/runtime/modules/ImageFile/ImageGetIndexAddressTest.java - test/runtime/modules/ImageFile/ImageGetStringBytesTest.java - test/runtime/modules/ImageFile/ImageOpenTest.java - test/runtime/modules/ImageFile/ImageReadTest.java - test/runtime/modules/ImageFile/LocationConstants.java Changeset: ce9c22f23999 Author: amurillo Date: 2015-09-15 07:47 -0700 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/ce9c22f23999 Merge Changeset: 3ed0df2c553a Author: lana Date: 2015-09-18 14:21 -0700 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/3ed0df2c553a Merge - src/share/vm/classfile/imageDecompressor.cpp - src/share/vm/classfile/imageDecompressor.hpp - src/share/vm/classfile/imageFile.cpp - src/share/vm/classfile/imageFile.hpp - src/share/vm/utilities/endian.cpp - src/share/vm/utilities/endian.hpp - test/runtime/modules/ImageFile/ImageAttributeOffsetsTest.java - test/runtime/modules/ImageFile/ImageCloseTest.java - test/runtime/modules/ImageFile/ImageFileHeaderTest.java - test/runtime/modules/ImageFile/ImageFindAttributesTest.java - test/runtime/modules/ImageFile/ImageGetAttributesTest.java - test/runtime/modules/ImageFile/ImageGetDataAddressTest.java - test/runtime/modules/ImageFile/ImageGetIndexAddressTest.java - test/runtime/modules/ImageFile/ImageGetStringBytesTest.java - test/runtime/modules/ImageFile/ImageOpenTest.java - test/runtime/modules/ImageFile/ImageReadTest.java - test/runtime/modules/ImageFile/LocationConstants.java Changeset: 90b308169cb2 Author: lana Date: 2015-09-25 22:59 -0700 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/90b308169cb2 Added tag jdk9-b83 for changeset 3ed0df2c553a ! .hgtags Changeset: 23b66c6cff92 Author: jfdenise Date: 2015-09-29 18:58 +0200 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/23b66c6cff92 Merge ! .hgtags ! make/aix/makefiles/mapfile-vers-debug ! make/aix/makefiles/mapfile-vers-product ! make/bsd/makefiles/mapfile-vers-darwin-debug ! make/bsd/makefiles/mapfile-vers-darwin-product ! make/bsd/makefiles/mapfile-vers-debug ! make/bsd/makefiles/mapfile-vers-product ! make/linux/makefiles/mapfile-vers-debug ! make/linux/makefiles/mapfile-vers-product ! make/solaris/makefiles/mapfile-vers ! src/share/vm/c1/c1_LIRGenerator.cpp ! src/share/vm/classfile/classLoader.cpp ! src/share/vm/classfile/classLoader.hpp ! src/share/vm/classfile/javaClasses.cpp ! src/share/vm/classfile/jimage.hpp ! src/share/vm/classfile/vmSymbols.hpp ! src/share/vm/memory/filemap.cpp ! src/share/vm/memory/filemap.hpp ! src/share/vm/oops/instanceKlass.hpp ! src/share/vm/oops/klass.hpp ! src/share/vm/opto/library_call.cpp ! src/share/vm/precompiled/precompiled.hpp ! src/share/vm/prims/jni.cpp ! src/share/vm/prims/jvm.cpp ! src/share/vm/prims/jvm.h ! src/share/vm/prims/jvmtiExport.cpp ! src/share/vm/prims/jvmtiExport.hpp ! src/share/vm/prims/whitebox.cpp ! src/share/vm/runtime/arguments.cpp ! src/share/vm/runtime/arguments.hpp ! src/share/vm/runtime/globals.hpp ! src/share/vm/runtime/init.cpp ! src/share/vm/runtime/mutexLocker.cpp ! src/share/vm/runtime/mutexLocker.hpp ! src/share/vm/runtime/sharedRuntime.cpp ! src/share/vm/runtime/vmStructs.cpp ! test/gc/arguments/TestG1HeapRegionSize.java ! test/gc/g1/TestHumongousShrinkHeap.java From jean-francois.denise at oracle.com Tue Sep 29 16:56:32 2015 From: jean-francois.denise at oracle.com (jean-francois.denise at oracle.com) Date: Tue, 29 Sep 2015 16:56:32 +0000 Subject: hg: jigsaw/jake/langtools: 5 new changesets Message-ID: <201509291656.t8TGuW1U012936@aojmv0008.oracle.com> Changeset: 8fa8045bbd4e Author: mcimadamore Date: 2015-09-14 11:26 +0100 URL: http://hg.openjdk.java.net/jigsaw/jake/langtools/rev/8fa8045bbd4e 8077306: Recursive implementation of List.map leads to stack overflow Summary: Recusrive implementation of List.map uses too much stack; switch to iterative version. Reviewed-by: jlahoda ! src/jdk.compiler/share/classes/com/sun/tools/javac/util/List.java + test/tools/javac/generics/inference/8077306/T8077306.java Changeset: 286fc9270404 Author: mcimadamore Date: 2015-09-15 13:43 +0100 URL: http://hg.openjdk.java.net/jigsaw/jake/langtools/rev/286fc9270404 8078093: Severe compiler performance regression Java 7 to 8 for nested method invocations Summary: Add infrastructure to avoid combinatorial explosion of method argument attributions Reviewed-by: jlahoda, vromero, dlsmith ! src/jdk.compiler/share/classes/com/sun/tools/javac/code/Types.java + src/jdk.compiler/share/classes/com/sun/tools/javac/comp/ArgumentAttr.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Attr.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Check.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/comp/DeferredAttr.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Infer.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/comp/InferenceContext.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Resolve.java ! test/tools/javac/generics/wildcards/neg/Readonly.out ! test/tools/javac/lambda/8019480/T8019480.out + test/tools/javac/lambda/speculative/InferStrict.java + test/tools/javac/lambda/speculative/InferWeak.java + test/tools/javac/lambda/speculative/NestedLambdaGenerics.java + test/tools/javac/lambda/speculative/NestedLambdaNoGenerics.java + test/tools/javac/lambda/speculative/T8055984.java + test/tools/javac/lambda/speculative/T8077247.java + test/tools/javac/lambda/speculative/T8078093.java Changeset: 6b3b94a2ebca Author: lana Date: 2015-09-18 14:21 -0700 URL: http://hg.openjdk.java.net/jigsaw/jake/langtools/rev/6b3b94a2ebca Merge Changeset: 3f3129007ded Author: lana Date: 2015-09-25 22:59 -0700 URL: http://hg.openjdk.java.net/jigsaw/jake/langtools/rev/3f3129007ded Added tag jdk9-b83 for changeset 6b3b94a2ebca ! .hgtags Changeset: b40af8decd0b Author: jfdenise Date: 2015-09-29 18:59 +0200 URL: http://hg.openjdk.java.net/jigsaw/jake/langtools/rev/b40af8decd0b Merge ! .hgtags ! src/jdk.compiler/share/classes/com/sun/tools/javac/code/Types.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Attr.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Check.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/comp/DeferredAttr.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Resolve.java ! test/ProblemList.jake.txt From mark.reinhold at oracle.com Tue Sep 29 17:02:15 2015 From: mark.reinhold at oracle.com (mark.reinhold at oracle.com) Date: Tue, 29 Sep 2015 17:02:15 +0000 Subject: hg: jigsaw/jake/jdk: Tweak module-summary CSS Message-ID: <201509291702.t8TH2FIt015590@aojmv0008.oracle.com> Changeset: 1c20a1b48406 Author: mr Date: 2015-09-29 10:01 -0700 URL: http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/1c20a1b48406 Tweak module-summary CSS ! make/src/classes/build/tools/jigsaw/ModuleSummary.java From mandy.chung at oracle.com Tue Sep 29 17:12:47 2015 From: mandy.chung at oracle.com (Mandy Chung) Date: Tue, 29 Sep 2015 10:12:47 -0700 Subject: Re-examine ClassLoader.getPackage(s) methods In-Reply-To: <560A539D.80506@oracle.com> References: <5605CCE6.60406@oracle.com> <5606ACC4.3060405@oracle.com> <2EA4DD57-B9CE-4CDD-8E89-97E06B00DC2B@oracle.com> <5607A8D4.3050409@oracle.com> <560996CF.8050001@oracle.com> <560A539D.80506@oracle.com> Message-ID: <737BD3DD-BD67-4C95-9757-247C2C924D4D@oracle.com> On Sep 29, 2015, at 2:02 AM, Daniel Fuchs wrote: > > > I now make @apiNote in CL::getPackage to @deprecated. > > Hi Mandy, Alan, > > Doesn't this leads to deprecate the method > static Package.getPackage(String name) too - as this is > based on CL.getPackage(String)? > Good catch. It should for the same reason as described in ClassLoader::getPackage. Mandy > best regards, > > -- daniel > > > > On 28/09/15 21:36, Mandy Chung wrote: >> >> >> On 09/27/2015 01:29 AM, Alan Bateman wrote: >>> >>> >>> On 26/09/2015 19:28, Mandy Chung wrote: >>>>> On Sep 26, 2015, at 7:33 AM, Alan Bateman >>>>> wrote: >>>>> This looks good. I think I would lean more to deprecating getPackage >>>>> as just too fragile and leads to difficult to diagnose bugs. >>>> Are you also suggesting to deprecate ClassLoader::getPackages as well? >>> The ordering of the elements in the array returned by CL::getPackages >>> is not specified so I think that is okay. However >>> CL#getPackage(String) is a significant hazard as the @apiNote explains >>> so I think it could be a candidate to deprecate. >> >> Thanks for clarifying this as I think no need to deprecate CL::getPackags. >> >> Custom class loader implementation may likely call CL::getPackage before >> calling definePackage to avoid IAE. There isn't any issue filed >> reporting the returned Package contains unexpected properties. On the >> other hand, now each class loader defines Package objects locally >> without walking the class loader hierarchy, I agree that deprecating >> CL::getPackage is the right thing. >> >> I now make @apiNote in CL::getPackage to @deprecated. >> >> * @deprecated >> * If multiple class loaders delegate to each other and define classes >> * with the same package name, and one such loader relies on the >> lookup >> * behavior of {@code getPackage} to return a {@code Package} from >> * a parent loader, then the properties exposed by the {@code Package} >> * may not be as expected in the rest of the program. >> * For example, the {@code Package} will only expose annotations >> from the >> * {@code package-info.class} file defined by the parent loader, >> even if >> * annotations exist in a {@code package-info.class} file defined by >> * a child loader. Instead, use the {@link >> ClassLoader#getDefinedPackage} >> * method which only returns a {@code Package} for the specified >> class loader. >> * >> >> Mandy > From alan.bateman at oracle.com Tue Sep 29 17:23:27 2015 From: alan.bateman at oracle.com (alan.bateman at oracle.com) Date: Tue, 29 Sep 2015 17:23:27 +0000 Subject: hg: jigsaw/jake/jdk: 6 new changesets Message-ID: <201509291723.t8THNRql020037@aojmv0008.oracle.com> Changeset: aed4e49be002 Author: alanb Date: 2015-09-29 11:11 +0100 URL: http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/aed4e49be002 Revert changes to jdk.jcmd, jdk.jconsole and jdk.jvmstat ! src/jdk.jcmd/share/classes/sun/tools/jstat/Arguments.java ! src/jdk.jcmd/share/classes/sun/tools/jstat/OptionFinder.java ! src/jdk.jcmd/share/classes/sun/tools/jstat/OptionLister.java - src/jdk.jcmd/share/classes/sun/tools/jstat/OptionParserFactory.java ! src/jdk.jconsole/share/classes/sun/tools/jconsole/AboutDialog.java ! src/jdk.jconsole/share/classes/sun/tools/jconsole/InternalDialog.java ! src/jdk.jconsole/share/classes/sun/tools/jconsole/Utilities.java ! src/jdk.jconsole/share/classes/sun/tools/jconsole/VMPanel.java ! src/jdk.jvmstat/share/classes/sun/jvmstat/perfdata/monitor/AliasFileParser.java ! src/jdk.jvmstat/share/classes/sun/jvmstat/perfdata/monitor/PerfDataBufferImpl.java Changeset: 0fbe4c72638a Author: alanb Date: 2015-09-29 15:02 +0100 URL: http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/0fbe4c72638a Class#getResource(String) not working with named modules ! src/java.base/share/classes/java/lang/Class.java ! src/java.base/share/classes/java/lang/ClassLoader.java ! src/java.base/share/classes/java/lang/ModuleClassLoader.java ! src/java.base/share/classes/java/lang/System.java ! src/java.base/share/classes/java/lang/module/ModuleReader.java ! src/java.base/share/classes/java/lang/module/ModuleReferences.java ! src/java.base/share/classes/java/lang/reflect/Module.java ! src/java.base/share/classes/jdk/internal/misc/BootLoader.java ! src/java.base/share/classes/jdk/internal/misc/BuiltinClassLoader.java ! src/java.base/share/classes/sun/misc/JavaLangAccess.java ! test/jdk/jigsaw/etc/resources/Main.java ! test/jdk/jigsaw/module/ModuleReader/ModuleReaderTest.java Changeset: c57d636c152b Author: alanb Date: 2015-09-29 15:04 +0100 URL: http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/c57d636c152b Fixed typo in javadoc ! src/java.base/share/classes/java/lang/module/Resolver.java Changeset: 3f39c4beed60 Author: alanb Date: 2015-09-29 17:30 +0100 URL: http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/3f39c4beed60 Merge ! src/java.base/share/classes/java/lang/Class.java ! src/java.base/share/classes/java/lang/ClassLoader.java ! src/java.base/share/classes/java/lang/System.java - src/java.base/share/native/libfdlibm/e_pow.c - src/java.base/share/native/libfdlibm/w_pow.c - src/java.desktop/share/classes/sun/awt/image/AbstractMultiResolutionImage.java - src/java.desktop/share/classes/sun/awt/image/MultiResolutionImage.java - src/java.management/share/classes/com/sun/jmx/remote/internal/IIOPHelper.java - src/java.management/share/classes/com/sun/jmx/remote/internal/IIOPProxy.java - src/java.management/share/classes/com/sun/jmx/remote/protocol/iiop/ClientProvider.java - src/java.management/share/classes/com/sun/jmx/remote/protocol/iiop/IIOPProxyImpl.java - src/java.management/share/classes/com/sun/jmx/remote/protocol/iiop/ProxyInputStream.java - src/java.management/share/classes/com/sun/jmx/remote/protocol/iiop/ServerProvider.java - test/javax/management/remote/mandatory/connection/NoIIOP.java - test/sun/security/tools/jarsigner/warnings.sh Changeset: 5ba0c9d04f88 Author: alanb Date: 2015-09-29 17:58 +0100 URL: http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/5ba0c9d04f88 ModuleReaderTest.java leaves file open on Windows ! test/jdk/jigsaw/module/ModuleReader/ModuleReaderTest.java Changeset: 63b8a3dd37e2 Author: alanb Date: 2015-09-29 17:58 +0100 URL: http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/63b8a3dd37e2 Merge From mandy.chung at oracle.com Tue Sep 29 18:03:28 2015 From: mandy.chung at oracle.com (mandy.chung at oracle.com) Date: Tue, 29 Sep 2015 18:03:28 +0000 Subject: hg: jigsaw/jake/jaxws: Update jaxws to look up resources from named modules Message-ID: <201509291803.t8TI3S32029861@aojmv0008.oracle.com> Changeset: 49c4220a2a43 Author: mkos Date: 2015-09-29 11:03 -0700 URL: http://hg.openjdk.java.net/jigsaw/jake/jaxws/rev/49c4220a2a43 Update jaxws to look up resources from named modules ! src/java.xml.ws/share/classes/com/sun/xml/internal/ws/api/server/SDDocumentSource.java ! src/java.xml.ws/share/classes/com/sun/xml/internal/ws/transport/http/server/EndpointImpl.java ! src/java.xml.ws/share/classes/com/sun/xml/internal/ws/util/HandlerAnnotationProcessor.java From mandy.chung at oracle.com Tue Sep 29 19:37:00 2015 From: mandy.chung at oracle.com (mandy.chung at oracle.com) Date: Tue, 29 Sep 2015 19:37:00 +0000 Subject: hg: jigsaw/jake/jdk: Deprecate Package::getPackage as ClassLoader::getPackage does Message-ID: <201509291937.t8TJb0mB021564@aojmv0008.oracle.com> Changeset: deb77851e5fd Author: mchung Date: 2015-09-29 12:36 -0700 URL: http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/deb77851e5fd Deprecate Package::getPackage as ClassLoader::getPackage does ! src/java.base/share/classes/java/lang/Package.java ! src/java.desktop/share/classes/java/awt/Component.java From harold.seigel at oracle.com Tue Sep 29 20:25:04 2015 From: harold.seigel at oracle.com (harold.seigel at oracle.com) Date: Tue, 29 Sep 2015 20:25:04 +0000 Subject: hg: jigsaw/jake/hotspot: Remove old -Xoverride code Message-ID: <201509292025.t8TKP48X004850@aojmv0008.oracle.com> Changeset: 00ba345866f4 Author: hseigel Date: 2015-09-29 16:06 -0400 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/00ba345866f4 Remove old -Xoverride code ! src/share/vm/runtime/arguments.cpp From jean-francois.denise at oracle.com Wed Sep 30 07:33:40 2015 From: jean-francois.denise at oracle.com (jean-francois.denise at oracle.com) Date: Wed, 30 Sep 2015 07:33:40 +0000 Subject: hg: jigsaw/jake/jdk: canonical order for modifiers, lost during merge Message-ID: <201509300733.t8U7XfYS007229@aojmv0008.oracle.com> Changeset: 17d70d41a8c7 Author: jfdenise Date: 2015-09-30 09:38 +0200 URL: http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/17d70d41a8c7 canonical order for modifiers, lost during merge ! src/java.base/share/classes/jdk/internal/jimage/ImageLocationBase.java From harold.seigel at oracle.com Wed Sep 30 19:59:34 2015 From: harold.seigel at oracle.com (harold.seigel at oracle.com) Date: Wed, 30 Sep 2015 19:59:34 +0000 Subject: hg: jigsaw/jake/hotspot: Follow-up fix for 8134705 Message-ID: <201509301959.t8UJxYxY003631@aojmv0008.oracle.com> Changeset: f7f642ee9420 Author: ccheung Date: 2015-09-30 11:55 -0700 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/f7f642ee9420 Follow-up fix for 8134705 Comment: bring back the check for bootclasspath mismatch Reviewed-by: iklam, jiangli ! src/share/vm/classfile/sharedPathsMiscInfo.cpp From chris.hegarty at oracle.com Wed Sep 30 20:00:49 2015 From: chris.hegarty at oracle.com (chris.hegarty at oracle.com) Date: Wed, 30 Sep 2015 20:00:49 +0000 Subject: hg: jigsaw/jake/jdk: Add option for excluding files to jmod Message-ID: <201509302000.t8UK0nHY004436@aojmv0008.oracle.com> Changeset: 2d0adcc948a5 Author: chegar Date: 2015-09-30 21:00 +0100 URL: http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/2d0adcc948a5 Add option for excluding files to jmod ! src/jdk.jlink/share/classes/jdk/tools/jmod/JmodTask.java ! src/jdk.jlink/share/classes/jdk/tools/jmod/resources/jmod.properties ! test/jdk/jigsaw/tools/jmod/JmodTest.java