From martinrb at google.com Sun Nov 2 16:11:47 2008 From: martinrb at google.com (Martin Buchholz) Date: Sun, 2 Nov 2008 16:11:47 -0800 Subject: javap can no longer work with anonymous classes. Message-ID: <1ccfd1c10811021611p4e82ec40qe212fb303dec6438@mail.gmail.com> Hi javap maintainers, This is a bug report. In JDK6 you could do this: $ javap 'java.util.AbstractMap$1' Compiled from "AbstractMap.java" class java.util.AbstractMap$1 extends java.util.AbstractSet{ ... But in JDK7-b38 I get: $ jver coll javap 'java.util.AbstractMap$1' Error: class not found: java.util.AbstractMap$1 even though rt.jar clearly contains java/util/AbstractMap$1.class Martin From martinrb at google.com Sun Nov 2 16:26:24 2008 From: martinrb at google.com (Martin Buchholz) Date: Sun, 2 Nov 2008 16:26:24 -0800 Subject: raw types warnings and instanceof Message-ID: <1ccfd1c10811021626m3dd28b4ai4d6de43e4cba36a1@mail.gmail.com> Hi javac maintainers, This is a bug report, sort of. Thanks for adding the raw types warnings, but... they currently warn about x instanceof RAW-TYPE when they probably should not. It is very common to do void f (Foo x) { if (x instanceof Bar) { Bar y = (Bar) x; .... The workaround is to do: void f (Foo x) { if (x instanceof Bar) { Bar y = (Bar) x; .... but the addition of adds noise without providing any safety. Martin From martinrb at google.com Sun Nov 2 16:45:46 2008 From: martinrb at google.com (Martin Buchholz) Date: Sun, 2 Nov 2008 16:45:46 -0800 Subject: raw types warnings and instanceof In-Reply-To: <1ccfd1c10811021626m3dd28b4ai4d6de43e4cba36a1@mail.gmail.com> References: <1ccfd1c10811021626m3dd28b4ai4d6de43e4cba36a1@mail.gmail.com> Message-ID: <1ccfd1c10811021645v1e6e345cya9816c71c99f59e5@mail.gmail.com> Here's another case where raw type warnings seem well-intentioned, but going too far. $ cat ClassRaw.java; jver coll jr ClassRaw public class ClassRaw { public static void main(String[] args) throws Throwable { Class x = Comparable.class; } } ==> javac -Xlint:all ClassRaw.java ClassRaw.java:3: warning: [raw-type] found raw type: java.lang.Comparable missing type parameters for generic class java.lang.Comparable Class x = Comparable.class; ^ 1 warning My first impression is that these warnings are more verbose, more annoying, and less likely to find bugs than even "unchecked", and that even pedants like myself will change their scripts to do -Xlint:all,-rawtypes instead of -Xlint:all Martin On Sun, Nov 2, 2008 at 16:26, Martin Buchholz wrote: > Hi javac maintainers, > > This is a bug report, sort of. > > Thanks for adding the raw types warnings, but... > > they currently warn about > x instanceof RAW-TYPE > when they probably should not. > > It is very common to do > > void f (Foo x) { > if (x instanceof Bar) { > Bar y = (Bar) x; > .... > > The workaround is to do: > > void f (Foo x) { > if (x instanceof Bar) { > Bar y = (Bar) x; > .... > > but the addition of adds noise without providing any safety. > > Martin > From Jonathan.Gibbons at Sun.COM Sun Nov 2 20:51:30 2008 From: Jonathan.Gibbons at Sun.COM (Jonathan Gibbons) Date: Sun, 02 Nov 2008 20:51:30 -0800 Subject: javap can no longer work with anonymous classes. In-Reply-To: <1ccfd1c10811021611p4e82ec40qe212fb303dec6438@mail.gmail.com> References: <1ccfd1c10811021611p4e82ec40qe212fb303dec6438@mail.gmail.com> Message-ID: It would be preferable if you filed bug reports in the standard way through bugs.sun.com ;-) -- Jon On Nov 2, 2008, at 4:11 PM, Martin Buchholz wrote: > Hi javap maintainers, > > This is a bug report. > > In JDK6 you could do this: > $ javap 'java.util.AbstractMap$1' > Compiled from "AbstractMap.java" > class java.util.AbstractMap$1 extends java.util.AbstractSet{ > ... > > But in JDK7-b38 I get: > $ jver coll javap 'java.util.AbstractMap$1' > Error: class not found: java.util.AbstractMap$1 > > even though rt.jar clearly contains > java/util/AbstractMap$1.class > > Martin From forax at univ-mlv.fr Mon Nov 3 02:37:03 2008 From: forax at univ-mlv.fr (=?ISO-8859-1?Q?R=E9mi_Forax?=) Date: Mon, 03 Nov 2008 11:37:03 +0100 Subject: raw types warnings and instanceof In-Reply-To: <1ccfd1c10811021626m3dd28b4ai4d6de43e4cba36a1@mail.gmail.com> References: <1ccfd1c10811021626m3dd28b4ai4d6de43e4cba36a1@mail.gmail.com> Message-ID: <490ED44F.2050102@univ-mlv.fr> Martin Buchholz a ?crit : > Hi javac maintainers, > > This is a bug report, sort of. > > Thanks for adding the raw types warnings, but... > > they currently warn about > x instanceof RAW-TYPE > when they probably should not. > > It is very common to do > > void f (Foo x) { > if (x instanceof Bar) { > Bar y = (Bar) x; > .... > > The workaround is to do: > > void f (Foo x) { > if (x instanceof Bar) { > Bar y = (Bar) x; > .... > > but the addition of adds noise without providing any safety. > +1. > Martin > R?mi From Maurizio.Cimadamore at Sun.COM Mon Nov 3 02:40:42 2008 From: Maurizio.Cimadamore at Sun.COM (Maurizio Cimadamore) Date: Mon, 03 Nov 2008 10:40:42 +0000 Subject: raw types warnings and instanceof In-Reply-To: <1ccfd1c10811021626m3dd28b4ai4d6de43e4cba36a1@mail.gmail.com> References: <1ccfd1c10811021626m3dd28b4ai4d6de43e4cba36a1@mail.gmail.com> Message-ID: <490ED52A.4090001@sun.com> Martin Buchholz wrote: > Hi javac maintainers, > > This is a bug report, sort of. > > Thanks for adding the raw types warnings, but... > > they currently warn about > x instanceof RAW-TYPE > when they probably should not. > It is very common to do > > void f (Foo x) { > if (x instanceof Bar) { > Bar y = (Bar) x; > .... > > The workaround is to do: > > void f (Foo x) { > if (x instanceof Bar) { > Bar y = (Bar) x; > .... > > but the addition of adds noise without providing any safety. > Hi Martin, thanks for the report on raw warnings (both ones) - frankly, I have to admit that I'm quite happy with the current design of the raw-type warnings - I mean, we could disable them for instanceof, add extra-cases for class literals and so forth, but I don't think that it would be a viable solution in the long-term. My point is that "it's very common to do so" does not always imply that "it's right to do so", and I'll try to show you why. On the other hand we should try not to generate unavoidable warnings, that is warning that cannot be eliminated (as in your second example) - in those cases @SuppressWarnings works quite well as a temporary workaround but I understand that you'd like javac to do something better (even if other compilers generate similar warnings under similar circumstances). The first observation is that JLS already makes it very clear that raw-types should be avoided whenever possible (quoting from JLS 4.9: " The use of raw types is allowed only as a concession to compatibility of legacy code. The use of raw types in code written after the introduction of genericity into the Java programming language is strongly discouraged. *It is possible that future versions of the Java programming language will disallow the use of raw types***") - and the instanceof example is exactly one of those cases. It's true that adding a does not provide any extra-kind of type-safety - but it's also true that List (where List is a generic type) should be preferred to List, because that's the language - you can think of List as a special (very special) thing that should be used only when no other JDK 5 compliant option is available (mainly for migration/backward compatibility issues). The second point is that we have a very good reason for promoting code without raw-types in that raw-types pose serious limits when considering language extensions such as reification. I've been working on reification for many years and I can assure you that refication would be here already if it weren't for some corner case regarding - guess who? raw types - essentially code with raw-types cannot be reified in a backward-compatible way. Consider the following fragment: List l = new ArrayList(...); List ls = (List)l; //ok w/o reification, CCE w/ reification The third observation is more pragmatic and has to do with a work that we've recently done in order to make langtools 100% 'raw type warnings free'. During that cleanup we've been able to detect many bad usages of generic types - e.g. we were using unparameterized method arguments (e.g. List) where the following code was assuming that the container was always carrying a particular type of object (so that we could replace the argument type with some List). This, in turn, enabled other optimizations, such as the elimination of some redundant casts, and so forth. From our perspective raw-types warnings have been quite useful, as they helped us to improve the quality of our code; I'll give you some numbers: we had some 149 raw-type warnings in langtools and we recently managed to remove all of them (but 2). Only 2 out of 149 warnings couldn't be suppressed because of type-system issues involving generic types - mostly similar to the one you have described in your second report - but we could use @SuppressWarnings for those tricky ones. Hope this helps Maurizio > Martin > From forax at univ-mlv.fr Mon Nov 3 02:54:45 2008 From: forax at univ-mlv.fr (=?ISO-8859-1?Q?R=E9mi_Forax?=) Date: Mon, 03 Nov 2008 11:54:45 +0100 Subject: raw types warnings and instanceof In-Reply-To: <1ccfd1c10811021645v1e6e345cya9816c71c99f59e5@mail.gmail.com> References: <1ccfd1c10811021626m3dd28b4ai4d6de43e4cba36a1@mail.gmail.com> <1ccfd1c10811021645v1e6e345cya9816c71c99f59e5@mail.gmail.com> Message-ID: <490ED875.7020602@univ-mlv.fr> Martin Buchholz a ?crit : > Here's another case where raw type warnings seem > well-intentioned, but going too far. > > $ cat ClassRaw.java; jver coll jr ClassRaw > public class ClassRaw { > public static void main(String[] args) throws Throwable { > Class x = Comparable.class; > } > } > ==> javac -Xlint:all ClassRaw.java > ClassRaw.java:3: warning: [raw-type] found raw type: java.lang.Comparable > missing type parameters for generic class java.lang.Comparable > Class x = Comparable.class; > ^ > 1 warning > > My first impression is that these warnings are more verbose, > more annoying, and less likely to find bugs than even "unchecked", > and that even pedants like myself will change their scripts to do > -Xlint:all,-rawtypes instead of -Xlint:all > > Martin > The problem with Class is that it's a rare type, a mix between parameterized type and raw type and you clearly want to detect them, by example a use of List> should raise a warning. In my opinion, there is two way to solve the problem: 1) change the JLS to use wildcard instead of raw type in getClass() and .class, this require to add an unsafe conversion between a rare type and its equivalent using a wildcard to avoid to emit an error in code that compile with prevous version. 2) Have a special rule for Class<>, i.e allow Class of a raw type without emitting any warning. R?mi From Maurizio.Cimadamore at Sun.COM Mon Nov 3 03:17:56 2008 From: Maurizio.Cimadamore at Sun.COM (Maurizio Cimadamore) Date: Mon, 03 Nov 2008 11:17:56 +0000 Subject: raw types warnings and instanceof In-Reply-To: <490ED875.7020602@univ-mlv.fr> References: <1ccfd1c10811021626m3dd28b4ai4d6de43e4cba36a1@mail.gmail.com> <1ccfd1c10811021645v1e6e345cya9816c71c99f59e5@mail.gmail.com> <490ED875.7020602@univ-mlv.fr> Message-ID: <490EDDE4.2060401@sun.com> Hi FYI here's the warning I found when cleaning up langtools; as I said there are only two warnings that cannot be fixed - both of the same kind; both warnings are generated by the following code pattern: Class token; Object value = Enum.valueOf((Class)token, ""); Since Enum.valueof is a generic method declaring an fbound (>) , it's not possible to find an instantiation for the type-parameter T without going through an unchecked method call. In fact, all possible kinds of checked call will result in a compile-time error. The only way to remove this warning is to have some type that could be used for parameterizing the 'Class' in the cast. Class token; Object value = Enum.valueOf((Class)token, ''); The problem is that, obviously, we don't always have such a T so that this warning could be unavoidable. Maurizio R?mi Forax wrote: > Martin Buchholz a ?crit : >> Here's another case where raw type warnings seem >> well-intentioned, but going too far. >> >> $ cat ClassRaw.java; jver coll jr ClassRaw >> public class ClassRaw { >> public static void main(String[] args) throws Throwable { >> Class x = Comparable.class; >> } >> } >> ==> javac -Xlint:all ClassRaw.java >> ClassRaw.java:3: warning: [raw-type] found raw type: >> java.lang.Comparable >> missing type parameters for generic class java.lang.Comparable >> Class x = Comparable.class; >> ^ >> 1 warning >> >> My first impression is that these warnings are more verbose, >> more annoying, and less likely to find bugs than even "unchecked", >> and that even pedants like myself will change their scripts to do >> -Xlint:all,-rawtypes instead of -Xlint:all >> >> Martin >> > The problem with Class is that it's a rare type, a mix > between parameterized type > and raw type and you clearly want to detect them, by example a use of > List> should raise a warning. > > In my opinion, there is two way to solve the problem: > 1) change the JLS to use wildcard instead of raw type in getClass() > and .class, > this require to add an unsafe conversion between a rare type and > its equivalent using a wildcard > to avoid to emit an error in code that compile with prevous version. > 2) Have a special rule for Class<>, i.e allow Class of a raw type > without emitting any warning. > > R?mi > > From Maurizio.Cimadamore at Sun.COM Mon Nov 3 04:14:35 2008 From: Maurizio.Cimadamore at Sun.COM (Maurizio Cimadamore) Date: Mon, 03 Nov 2008 12:14:35 +0000 Subject: raw types warnings and instanceof In-Reply-To: <490EDDE4.2060401@sun.com> References: <1ccfd1c10811021626m3dd28b4ai4d6de43e4cba36a1@mail.gmail.com> <1ccfd1c10811021645v1e6e345cya9816c71c99f59e5@mail.gmail.com> <490ED875.7020602@univ-mlv.fr> <490EDDE4.2060401@sun.com> Message-ID: <490EEB2B.6080807@sun.com> Hi I've just started a poll on my blog; should you find other weird cases of raw warnings incorrectly (or I should say redundantly) being generated by javac - please post them in my blog. Here's the URL: http://blogs.sun.com/mcimadamore/entry/diagnosing_raw_types Currently on the list: *) Remove raw warnings for cast/instanceof *) Add special case for Class Thanks to everyone for all the comments on this issue and for your effort in making javac a better compiler. Maurizio Maurizio Cimadamore wrote: > Hi > FYI here's the warning I found when cleaning up langtools; as I said > there are only two warnings that cannot be fixed - both of the same > kind; both warnings are generated by the following code pattern: > > Class token; > Object value = Enum.valueOf((Class)token, ""); > > Since Enum.valueof is a generic method declaring an fbound ( Enum>) , it's not possible to find an instantiation for the > type-parameter T without going through an unchecked method call. In > fact, all possible kinds of checked call will result in a compile-time > error. The only way to remove this warning is to have some type that > could be used for parameterizing the 'Class' in the cast. > > Class token; > Object value = Enum.valueOf((Class)token, ''); > > The problem is that, obviously, we don't always have such a T so that > this warning could be unavoidable. > Maurizio > > R?mi Forax wrote: >> Martin Buchholz a ?crit : >>> Here's another case where raw type warnings seem >>> well-intentioned, but going too far. >>> >>> $ cat ClassRaw.java; jver coll jr ClassRaw >>> public class ClassRaw { >>> public static void main(String[] args) throws Throwable { >>> Class x = Comparable.class; >>> } >>> } >>> ==> javac -Xlint:all ClassRaw.java >>> ClassRaw.java:3: warning: [raw-type] found raw type: >>> java.lang.Comparable >>> missing type parameters for generic class java.lang.Comparable >>> Class x = Comparable.class; >>> ^ >>> 1 warning >>> >>> My first impression is that these warnings are more verbose, >>> more annoying, and less likely to find bugs than even "unchecked", >>> and that even pedants like myself will change their scripts to do >>> -Xlint:all,-rawtypes instead of -Xlint:all >>> >>> Martin >>> >> The problem with Class is that it's a rare type, a mix >> between parameterized type >> and raw type and you clearly want to detect them, by example a use of >> List> should raise a warning. >> >> In my opinion, there is two way to solve the problem: >> 1) change the JLS to use wildcard instead of raw type in getClass() >> and .class, >> this require to add an unsafe conversion between a rare type and >> its equivalent using a wildcard >> to avoid to emit an error in code that compile with prevous version. >> 2) Have a special rule for Class<>, i.e allow Class of a raw type >> without emitting any warning. >> >> R?mi >> >> > From Maurizio.Cimadamore at Sun.COM Mon Nov 3 04:22:13 2008 From: Maurizio.Cimadamore at Sun.COM (Maurizio Cimadamore) Date: Mon, 03 Nov 2008 12:22:13 +0000 Subject: raw types warnings and instanceof In-Reply-To: <490EDDE4.2060401@sun.com> References: <1ccfd1c10811021626m3dd28b4ai4d6de43e4cba36a1@mail.gmail.com> <1ccfd1c10811021645v1e6e345cya9816c71c99f59e5@mail.gmail.com> <490ED875.7020602@univ-mlv.fr> <490EDDE4.2060401@sun.com> Message-ID: <490EECF5.8030104@sun.com> Hi I've just started a poll on my blog; should you find other weird cases of raw warnings incorrectly (or I should say redundantly) being generated by javac - please post them in my blog. Here's the URL: http://blogs.sun.com/mcimadamore/entry/diagnosing_raw_types Currently on the list: *) Remove raw warnings from cast/instanceof *) Add special case for suppressing warning for Class Thanks for all the comments on this issue. Maurizio Maurizio Cimadamore wrote: > Hi > FYI here's the warning I found when cleaning up langtools; as I said > there are only two warnings that cannot be fixed - both of the same > kind; both warnings are generated by the following code pattern: > > Class token; > Object value = Enum.valueOf((Class)token, ""); > > Since Enum.valueof is a generic method declaring an fbound ( Enum>) , it's not possible to find an instantiation for the > type-parameter T without going through an unchecked method call. In > fact, all possible kinds of checked call will result in a compile-time > error. The only way to remove this warning is to have some type that > could be used for parameterizing the 'Class' in the cast. > > Class token; > Object value = Enum.valueOf((Class)token, ''); > > The problem is that, obviously, we don't always have such a T so that > this warning could be unavoidable. > Maurizio > > R?mi Forax wrote: >> Martin Buchholz a ?crit : >>> Here's another case where raw type warnings seem >>> well-intentioned, but going too far. >>> >>> $ cat ClassRaw.java; jver coll jr ClassRaw >>> public class ClassRaw { >>> public static void main(String[] args) throws Throwable { >>> Class x = Comparable.class; >>> } >>> } >>> ==> javac -Xlint:all ClassRaw.java >>> ClassRaw.java:3: warning: [raw-type] found raw type: >>> java.lang.Comparable >>> missing type parameters for generic class java.lang.Comparable >>> Class x = Comparable.class; >>> ^ >>> 1 warning >>> >>> My first impression is that these warnings are more verbose, >>> more annoying, and less likely to find bugs than even "unchecked", >>> and that even pedants like myself will change their scripts to do >>> -Xlint:all,-rawtypes instead of -Xlint:all >>> >>> Martin >>> >> The problem with Class is that it's a rare type, a mix >> between parameterized type >> and raw type and you clearly want to detect them, by example a use of >> List> should raise a warning. >> >> In my opinion, there is two way to solve the problem: >> 1) change the JLS to use wildcard instead of raw type in getClass() >> and .class, >> this require to add an unsafe conversion between a rare type and >> its equivalent using a wildcard >> to avoid to emit an error in code that compile with prevous version. >> 2) Have a special rule for Class<>, i.e allow Class of a raw type >> without emitting any warning. >> >> R?mi >> >> > From sean.mullan at sun.com Thu Nov 6 09:01:07 2008 From: sean.mullan at sun.com (sean.mullan at sun.com) Date: Thu, 06 Nov 2008 17:01:07 +0000 Subject: hg: jdk7/tl/jdk: 2 new changesets Message-ID: <20081106170203.260B7DE64@hg.openjdk.java.net> Changeset: 5102df668164 Author: mullan Date: 2008-11-05 15:55 -0500 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/5102df668164 6744888: OCSP validation code should permit some clock skew when checking validity of OCSP responses Summary: Allow for up to 10 minutes of clock skew when validating OCSP responses Reviewed-by: vinnie ! src/share/classes/sun/security/provider/certpath/OCSPResponse.java Changeset: 6923a82c1036 Author: mullan Date: 2008-11-06 11:58 -0500 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/6923a82c1036 Merge From sean.mullan at sun.com Thu Nov 6 09:16:30 2008 From: sean.mullan at sun.com (sean.mullan at sun.com) Date: Thu, 06 Nov 2008 17:16:30 +0000 Subject: hg: jdk7/tl/jdk: 6765046: CertPathValidatorException(Throwable).getMessage() always returns null since b37 Message-ID: <20081106171654.D09B1DE69@hg.openjdk.java.net> Changeset: 3a3e02a55de8 Author: mullan Date: 2008-11-06 12:12 -0500 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/3a3e02a55de8 6765046: CertPathValidatorException(Throwable).getMessage() always returns null since b37 Reviewed-by: vinnie ! src/share/classes/java/security/cert/CertPathValidatorException.java + test/java/security/cert/CertPathValidatorException/GetMessage.java From eamonn.mcmanus at sun.com Fri Nov 7 02:51:32 2008 From: eamonn.mcmanus at sun.com (eamonn.mcmanus at sun.com) Date: Fri, 07 Nov 2008 10:51:32 +0000 Subject: hg: jdk7/tl/jdk: 5072267: A way to communicate client context such as locale to the JMX server Message-ID: <20081107105203.4ABD3DF05@hg.openjdk.java.net> Changeset: 810a95940b99 Author: emcmanus Date: 2008-11-07 11:48 +0100 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/810a95940b99 5072267: A way to communicate client context such as locale to the JMX server Summary: Support for client contexts and also for localization of descriptions Reviewed-by: dfuchs ! src/share/classes/com/sun/jmx/defaults/ServiceName.java ! src/share/classes/com/sun/jmx/event/EventParams.java ! src/share/classes/com/sun/jmx/event/LeaseManager.java ! src/share/classes/com/sun/jmx/interceptor/SingleMBeanForwarder.java ! src/share/classes/com/sun/jmx/mbeanserver/JmxMBeanServer.java - src/share/classes/com/sun/jmx/namespace/JMXNamespaceUtils.java ! src/share/classes/com/sun/jmx/namespace/ObjectNameRouter.java ! src/share/classes/com/sun/jmx/namespace/RoutingConnectionProxy.java ! src/share/classes/com/sun/jmx/namespace/RoutingProxy.java ! src/share/classes/com/sun/jmx/namespace/RoutingServerProxy.java ! src/share/classes/com/sun/jmx/remote/util/EventClientConnection.java + src/share/classes/javax/management/ClientContext.java ! src/share/classes/javax/management/Descriptor.java ! src/share/classes/javax/management/JMX.java ! src/share/classes/javax/management/MBeanInfo.java ! src/share/classes/javax/management/MBeanServerNotification.java ! src/share/classes/javax/management/Notification.java ! src/share/classes/javax/management/event/EventClient.java ! src/share/classes/javax/management/event/EventClientDelegate.java ! src/share/classes/javax/management/event/EventClientDelegateMBean.java ! src/share/classes/javax/management/event/EventRelay.java ! src/share/classes/javax/management/event/package-info.java ! src/share/classes/javax/management/namespace/JMXNamespaces.java ! src/share/classes/javax/management/namespace/JMXRemoteNamespace.java ! src/share/classes/javax/management/remote/JMXConnectorFactory.java ! src/share/classes/javax/management/remote/JMXConnectorServer.java ! src/share/classes/javax/management/remote/JMXConnectorServerMBean.java ! src/share/classes/javax/management/remote/rmi/RMIConnector.java ! src/share/classes/javax/management/remote/rmi/RMIConnectorServer.java ! test/javax/management/Introspector/AnnotationTest.java + test/javax/management/context/ContextForwarderTest.java + test/javax/management/context/ContextTest.java + test/javax/management/context/LocaleAwareBroadcasterTest.java + test/javax/management/context/LocaleTest.java + test/javax/management/context/LocalizableTest.java + test/javax/management/context/RemoteContextTest.java + test/javax/management/context/localizable/MBeanDescriptions.properties + test/javax/management/context/localizable/MBeanDescriptions_fr.java + test/javax/management/context/localizable/Whatsit.java + test/javax/management/context/localizable/WhatsitMBean.java ! test/javax/management/eventService/CustomForwarderTest.java ! test/javax/management/eventService/EventClientExecutorTest.java ! test/javax/management/eventService/EventManagerTest.java ! test/javax/management/eventService/ListenerTest.java ! test/javax/management/eventService/NotSerializableNotifTest.java ! test/javax/management/eventService/UsingEventService.java ! test/javax/management/namespace/EventWithNamespaceControlTest.java ! test/javax/management/namespace/JMXNamespaceSecurityTest.java ! test/javax/management/namespace/JMXNamespaceViewTest.java ! test/javax/management/namespace/JMXRemoteTargetNamespace.java ! test/javax/management/namespace/NamespaceNotificationsTest.java ! test/javax/management/namespace/NullDomainObjectNameTest.java ! test/javax/management/namespace/NullObjectNameTest.java ! test/javax/management/openmbean/CompositeDataStringTest.java ! test/javax/management/remote/mandatory/connectorServer/ForwarderChainTest.java ! test/javax/management/remote/mandatory/connectorServer/StandardForwardersTest.java ! test/javax/management/remote/mandatory/provider/ProviderTest.java ! test/javax/management/remote/mandatory/subjectDelegation/SimpleStandard.java From eamonn.mcmanus at sun.com Fri Nov 7 10:22:05 2008 From: eamonn.mcmanus at sun.com (eamonn.mcmanus at sun.com) Date: Fri, 07 Nov 2008 18:22:05 +0000 Subject: hg: jdk7/tl/jdk: 6336968: Methods to convert AttributeList to/from Map; ... Message-ID: <20081107182229.B1822DF6E@hg.openjdk.java.net> Changeset: 2410a0b48d06 Author: emcmanus Date: 2008-11-07 19:19 +0100 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/2410a0b48d06 6336968: Methods to convert AttributeList to/from Map 6750008: Add JMX.getSpecificationVersion(MBeanServerConnection) and document interop 6750472: Add a way to convert a CompositeData into a Map 6752563: Allow CompositeDataSupport to have zero items Summary: Small JMX RFEs Reviewed-by: dfuchs ! src/share/classes/javax/management/AttributeList.java ! src/share/classes/javax/management/JMX.java ! src/share/classes/javax/management/MBeanServerConnection.java ! src/share/classes/javax/management/MBeanServerNotification.java ! src/share/classes/javax/management/QueryNotificationFilter.java ! src/share/classes/javax/management/openmbean/CompositeDataSupport.java ! src/share/classes/javax/management/package.html + test/javax/management/MBeanServer/AttributeListMapTest.java + test/javax/management/MBeanServer/AttributeListTypeSafeTest.java + test/javax/management/openmbean/CompositeDataToMapTest.java + test/javax/management/remote/mandatory/version/JMXSpecVersionTest.java From complystill at gmail.com Sat Nov 8 18:40:52 2008 From: complystill at gmail.com (Compl Yue Still) Date: Sun, 9 Nov 2008 10:40:52 +0800 Subject: Resolving classes from (complicated) runtime class loaders (compiling code ad hoc to run) Message-ID: <5A717397-D996-41B8-89F5-C942294C940E@gmail.com> Hi Gentlemen, Here comes an issue regarding needs for compiling java code to be run within current JVM context (see http://sjsh.dev.java.net for concrete). It works like a charm when running inside a normal (meaning no complicated class loading scheme) JavaSE application, prompt the user for some java statements, compile them into bytecode/class file, then load it as a class and invoke its methods. however problems appear when run from a more complex environment, like inside a app server, Servlet container or RCP etc, where the depended class libraries are not loaded by Launcher$AppClassLoader, javax.tools.JavaCompiler just can't resolve classes loaded by a Servlet context loader and alikes. After some investigation, I finally figured out that javac expects all depended .class files be listed out by javax.tools.JavaFileManager, ahead of type resolution. This is pretty okay for the command line tool `javac', but when there comes needs for compilation and execution of Java code ad hoc for currently running jvm context, by invoking javax.tools.JavaCompiler, it just make things way too difficult. My previous effort had worked out some ways to guess the -cp parameter to be passed to JavaCompiler tool to workaround this issue, but so far limited to URLClassLoader and Apache Tomcat loaders, and hardly for Eclipse RCP. Obviously this solution can NOT `run anywhere'. I believe there have been, and will be more and more projects/ components leveraging javax.tools.JavaCompiler as it became standard, and they are to face the same situation. And by far I find a simpler solution, by hacking a single javac's source file: src/share/classes/ com/sun/tools/javac/jvm/ClassReader.java /** Fill in definition of class `c' from corresponding class or * source file. */ private void fillIn(ClassSymbol c) { if (completionFailureName == c.fullname) { throw new CompletionFailure(c, "user-selected completion failure by class name"); } currentOwner = c; JavaFileObject classfile = c.classfile; + // Added code to resolve classes from runtime class loaders { + if(classfile == null) { + try { + classfile = this.fileManager.getJavaFileForInput( + CLASS_PATH, + c.fullname.toString(), + JavaFileObject.Kind.CLASS); + } catch (IOException e) { + } + } + // Added code to resolve classes from runtime class loaders } if (classfile != null) { JavaFileObject previousClassFile = currentClassFile; try { ..... This works for me, but I hate the idea to distribute nonstandard versions of javac.jar to users. But I'm not an openjdk dev guy, neither knowledge nor time to get it pass jtreg and submitted to repo. Can anybody here evaluate this patch for appropriateness and get it upstream? I have examined the tools doc for javac and made sure the resolved is not a documented feature or behavior, so should has no spec impact. Thanks for reading. All the best, Compl From mayuresh at acm.org Sun Nov 9 09:29:27 2008 From: mayuresh at acm.org (Mayuresh) Date: Sun, 9 Nov 2008 22:59:27 +0530 Subject: lang tools : how to get "TypeElement" for a local variable Message-ID: <200811092259.28351.mayuresh@acm.org> Hi I was exploring the syntax tree exposed by Compiler API using TreePathScanner based visitor. I am trying to get the "TypeElement" for a variable declaration to extract qualified type of the variable etc. I am using Trees.getElement() to get the TypeElement to which I pass current path at a VariableTree node. I can get the Element for member or method parameter declaration though for local variables Element returned is null. Is this a bug? Is there some other way to get TypeElement? Mayuresh. From Jonathan.Gibbons at Sun.COM Sun Nov 9 21:25:41 2008 From: Jonathan.Gibbons at Sun.COM (Jonathan Gibbons) Date: Sun, 09 Nov 2008 21:25:41 -0800 Subject: lang tools : how to get "TypeElement" for a local variable In-Reply-To: <200811092259.28351.mayuresh@acm.org> References: <200811092259.28351.mayuresh@acm.org> Message-ID: <0198D2BF-3956-48E5-B1E9-01EB487C0FBC@sun.com> I would guess the most likely cause is that you are asking for the info before it has been evaluated. The TypeElements for the members and methods are determined fairly early; the TypeElements for the local variables is determined much later, when the containing method is being analyzed prior to being code generated. -- Jon On Nov 9, 2008, at 9:29 AM, Mayuresh wrote: > Hi > > I was exploring the syntax tree exposed by Compiler API using > TreePathScanner > based visitor. > > I am trying to get the "TypeElement" for a variable declaration to > extract > qualified type of the variable etc. > > I am using Trees.getElement() to get the TypeElement to which I pass > current > path at a VariableTree node. > > I can get the Element for member or method parameter declaration > though for > local variables Element returned is null. > > Is this a bug? Is there some other way to get TypeElement? > > Mayuresh. From tim.bell at sun.com Mon Nov 10 00:11:47 2008 From: tim.bell at sun.com (tim.bell at sun.com) Date: Mon, 10 Nov 2008 08:11:47 +0000 Subject: hg: jdk7/tl: Added tag jdk7-b39 for changeset ab523b49de1f Message-ID: <20081110081147.C1276D11F@hg.openjdk.java.net> Changeset: 44be42de6693 Author: xdono Date: 2008-11-06 12:10 -0800 URL: http://hg.openjdk.java.net/jdk7/tl/rev/44be42de6693 Added tag jdk7-b39 for changeset ab523b49de1f ! .hgtags From tim.bell at sun.com Mon Nov 10 00:13:21 2008 From: tim.bell at sun.com (tim.bell at sun.com) Date: Mon, 10 Nov 2008 08:13:21 +0000 Subject: hg: jdk7/tl/corba: Added tag jdk7-b39 for changeset 55078b6661e2 Message-ID: <20081110081322.98F33D124@hg.openjdk.java.net> Changeset: 184e21992f47 Author: xdono Date: 2008-11-06 12:10 -0800 URL: http://hg.openjdk.java.net/jdk7/tl/corba/rev/184e21992f47 Added tag jdk7-b39 for changeset 55078b6661e2 ! .hgtags From tim.bell at sun.com Mon Nov 10 00:16:52 2008 From: tim.bell at sun.com (tim.bell at sun.com) Date: Mon, 10 Nov 2008 08:16:52 +0000 Subject: hg: jdk7/tl/hotspot: 73 new changesets Message-ID: <20081110081916.74747D129@hg.openjdk.java.net> Changeset: ebeb6490b814 Author: ysr Date: 2008-08-26 14:54 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/ebeb6490b814 6722116: CMS: Incorrect overflow handling when using parallel concurrent marking Summary: Fixed CMSConcMarkingTask::reset() to store the restart address upon a marking stack overflow and to use it as the base, suitably aligned, for restarting the scan in CMSConcMarkingTask::do_scan_and_mark(). Reviewed-by: jcoomes, tonyp ! src/share/vm/gc_implementation/concurrentMarkSweep/compactibleFreeListSpace.cpp ! src/share/vm/gc_implementation/concurrentMarkSweep/concurrentMarkSweepGeneration.cpp Changeset: d60e4e6d7f72 Author: ysr Date: 2008-08-27 10:56 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/d60e4e6d7f72 Merge Changeset: 37f87013dfd8 Author: ysr Date: 2008-06-05 15:57 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/37f87013dfd8 6711316: Open source the Garbage-First garbage collector Summary: First mercurial integration of the code for the Garbage-First garbage collector. Reviewed-by: apetrusenko, iveresov, jmasa, sgoldman, tonyp, ysr ! make/linux/makefiles/top.make ! make/solaris/makefiles/top.make ! make/windows/makefiles/generated.make ! make/windows/makefiles/makedeps.make ! make/windows/makefiles/vm.make ! src/cpu/sparc/vm/assembler_sparc.cpp ! src/cpu/sparc/vm/assembler_sparc.hpp ! src/cpu/sparc/vm/c1_CodeStubs_sparc.cpp ! src/cpu/sparc/vm/c1_LIRAssembler_sparc.cpp ! src/cpu/sparc/vm/c1_LIRGenerator_sparc.cpp ! src/cpu/sparc/vm/c1_Runtime1_sparc.cpp ! src/cpu/sparc/vm/sharedRuntime_sparc.cpp ! src/cpu/sparc/vm/stubGenerator_sparc.cpp ! src/cpu/sparc/vm/templateTable_sparc.cpp ! src/cpu/x86/vm/assembler_x86_32.cpp ! src/cpu/x86/vm/assembler_x86_32.hpp ! src/cpu/x86/vm/assembler_x86_64.cpp ! src/cpu/x86/vm/assembler_x86_64.hpp ! src/cpu/x86/vm/c1_CodeStubs_x86.cpp ! src/cpu/x86/vm/c1_LIRGenerator_x86.cpp ! src/cpu/x86/vm/c1_Runtime1_x86.cpp ! src/cpu/x86/vm/interp_masm_x86_64.cpp ! src/cpu/x86/vm/stubGenerator_x86_32.cpp ! src/cpu/x86/vm/stubGenerator_x86_64.cpp ! src/cpu/x86/vm/templateTable_x86_32.cpp ! src/cpu/x86/vm/templateTable_x86_64.cpp ! src/os/linux/vm/os_linux.cpp ! src/os/solaris/vm/os_solaris.cpp ! src/os/windows/vm/os_windows.cpp ! src/share/vm/adlc/formssel.cpp ! src/share/vm/c1/c1_CodeStubs.hpp ! src/share/vm/c1/c1_LIRAssembler.cpp ! src/share/vm/c1/c1_LIRAssembler.hpp ! src/share/vm/c1/c1_LIRGenerator.cpp ! src/share/vm/c1/c1_LIRGenerator.hpp ! src/share/vm/c1/c1_Runtime1.cpp ! src/share/vm/c1/c1_Runtime1.hpp ! src/share/vm/c1/c1_globals.hpp ! src/share/vm/compiler/methodLiveness.cpp ! src/share/vm/compiler/methodLiveness.hpp ! src/share/vm/gc_implementation/concurrentMarkSweep/compactibleFreeListSpace.cpp ! src/share/vm/gc_implementation/concurrentMarkSweep/compactibleFreeListSpace.hpp ! src/share/vm/gc_implementation/concurrentMarkSweep/concurrentMarkSweepGeneration.cpp ! src/share/vm/gc_implementation/concurrentMarkSweep/concurrentMarkSweepGeneration.hpp + src/share/vm/gc_implementation/g1/bufferingOopClosure.hpp + src/share/vm/gc_implementation/g1/collectionSetChooser.cpp + src/share/vm/gc_implementation/g1/collectionSetChooser.hpp + src/share/vm/gc_implementation/g1/concurrentG1Refine.cpp + src/share/vm/gc_implementation/g1/concurrentG1Refine.hpp + src/share/vm/gc_implementation/g1/concurrentG1RefineThread.cpp + src/share/vm/gc_implementation/g1/concurrentG1RefineThread.hpp + src/share/vm/gc_implementation/g1/concurrentMark.cpp + src/share/vm/gc_implementation/g1/concurrentMark.hpp + src/share/vm/gc_implementation/g1/concurrentMarkThread.cpp + src/share/vm/gc_implementation/g1/concurrentMarkThread.hpp + src/share/vm/gc_implementation/g1/concurrentMarkThread.inline.hpp + src/share/vm/gc_implementation/g1/concurrentZFThread.cpp + src/share/vm/gc_implementation/g1/concurrentZFThread.hpp + src/share/vm/gc_implementation/g1/dirtyCardQueue.cpp + src/share/vm/gc_implementation/g1/dirtyCardQueue.hpp + src/share/vm/gc_implementation/g1/g1BlockOffsetTable.cpp + src/share/vm/gc_implementation/g1/g1BlockOffsetTable.hpp + src/share/vm/gc_implementation/g1/g1BlockOffsetTable.inline.hpp + src/share/vm/gc_implementation/g1/g1CollectedHeap.cpp + src/share/vm/gc_implementation/g1/g1CollectedHeap.hpp + src/share/vm/gc_implementation/g1/g1CollectedHeap.inline.hpp + src/share/vm/gc_implementation/g1/g1CollectorPolicy.cpp + src/share/vm/gc_implementation/g1/g1CollectorPolicy.hpp + src/share/vm/gc_implementation/g1/g1MMUTracker.cpp + src/share/vm/gc_implementation/g1/g1MMUTracker.hpp + src/share/vm/gc_implementation/g1/g1MarkSweep.cpp + src/share/vm/gc_implementation/g1/g1MarkSweep.hpp + src/share/vm/gc_implementation/g1/g1OopClosures.hpp + src/share/vm/gc_implementation/g1/g1OopClosures.inline.hpp + src/share/vm/gc_implementation/g1/g1RemSet.cpp + src/share/vm/gc_implementation/g1/g1RemSet.hpp + src/share/vm/gc_implementation/g1/g1RemSet.inline.hpp + src/share/vm/gc_implementation/g1/g1SATBCardTableModRefBS.cpp + src/share/vm/gc_implementation/g1/g1SATBCardTableModRefBS.hpp + src/share/vm/gc_implementation/g1/g1_globals.cpp + src/share/vm/gc_implementation/g1/g1_globals.hpp + src/share/vm/gc_implementation/g1/g1_specialized_oop_closures.hpp + src/share/vm/gc_implementation/g1/heapRegion.cpp + src/share/vm/gc_implementation/g1/heapRegion.hpp + src/share/vm/gc_implementation/g1/heapRegion.inline.hpp + src/share/vm/gc_implementation/g1/heapRegionRemSet.cpp + src/share/vm/gc_implementation/g1/heapRegionRemSet.hpp + src/share/vm/gc_implementation/g1/heapRegionSeq.cpp + src/share/vm/gc_implementation/g1/heapRegionSeq.hpp + src/share/vm/gc_implementation/g1/heapRegionSeq.inline.hpp + src/share/vm/gc_implementation/g1/ptrQueue.cpp + src/share/vm/gc_implementation/g1/ptrQueue.hpp + src/share/vm/gc_implementation/g1/ptrQueue.inline.hpp + src/share/vm/gc_implementation/g1/satbQueue.cpp + src/share/vm/gc_implementation/g1/satbQueue.hpp + src/share/vm/gc_implementation/g1/sparsePRT.cpp + src/share/vm/gc_implementation/g1/sparsePRT.hpp + src/share/vm/gc_implementation/g1/survRateGroup.cpp + src/share/vm/gc_implementation/g1/survRateGroup.hpp + src/share/vm/gc_implementation/g1/vm_operations_g1.cpp + src/share/vm/gc_implementation/g1/vm_operations_g1.hpp ! src/share/vm/gc_implementation/includeDB_gc_concurrentMarkSweep + src/share/vm/gc_implementation/includeDB_gc_g1 ! src/share/vm/gc_implementation/includeDB_gc_parallelScavenge ! src/share/vm/gc_implementation/includeDB_gc_shared ! src/share/vm/gc_implementation/parallelScavenge/parMarkBitMap.hpp ! src/share/vm/gc_implementation/parallelScavenge/parallelScavengeHeap.hpp + src/share/vm/gc_implementation/shared/coTracker.cpp + src/share/vm/gc_implementation/shared/coTracker.hpp + src/share/vm/gc_implementation/shared/concurrentGCThread.cpp + src/share/vm/gc_implementation/shared/concurrentGCThread.hpp + src/share/vm/gc_implementation/shared/gcOverheadReporter.cpp + src/share/vm/gc_implementation/shared/gcOverheadReporter.hpp ! src/share/vm/gc_implementation/shared/vmGCOperations.cpp ! src/share/vm/gc_interface/collectedHeap.cpp ! src/share/vm/gc_interface/collectedHeap.hpp ! src/share/vm/gc_interface/collectedHeap.inline.hpp ! src/share/vm/gc_interface/gcCause.hpp ! src/share/vm/includeDB_compiler1 ! src/share/vm/includeDB_compiler2 ! src/share/vm/includeDB_core ! src/share/vm/includeDB_gc_parallel ! src/share/vm/includeDB_jvmti ! src/share/vm/interpreter/templateTable.cpp ! src/share/vm/interpreter/templateTable.hpp ! src/share/vm/memory/allocation.hpp + src/share/vm/memory/barrierSet.cpp ! src/share/vm/memory/barrierSet.hpp ! src/share/vm/memory/barrierSet.inline.hpp ! src/share/vm/memory/blockOffsetTable.cpp ! src/share/vm/memory/blockOffsetTable.hpp ! src/share/vm/memory/cardTableModRefBS.cpp ! src/share/vm/memory/cardTableModRefBS.hpp ! src/share/vm/memory/cardTableRS.cpp ! src/share/vm/memory/cardTableRS.hpp ! src/share/vm/memory/collectorPolicy.cpp ! src/share/vm/memory/collectorPolicy.hpp ! src/share/vm/memory/defNewGeneration.cpp ! src/share/vm/memory/genCollectedHeap.hpp ! src/share/vm/memory/genMarkSweep.hpp ! src/share/vm/memory/genOopClosures.hpp ! src/share/vm/memory/genOopClosures.inline.hpp ! src/share/vm/memory/genRemSet.hpp ! src/share/vm/memory/heapInspection.cpp ! src/share/vm/memory/iterator.hpp ! src/share/vm/memory/modRefBarrierSet.hpp ! src/share/vm/memory/referenceProcessor.cpp ! src/share/vm/memory/referenceProcessor.hpp ! src/share/vm/memory/sharedHeap.cpp ! src/share/vm/memory/sharedHeap.hpp ! src/share/vm/memory/space.cpp ! src/share/vm/memory/space.hpp ! src/share/vm/memory/space.inline.hpp ! src/share/vm/memory/specialized_oop_closures.hpp ! src/share/vm/memory/universe.cpp ! src/share/vm/oops/generateOopMap.cpp ! src/share/vm/oops/generateOopMap.hpp ! src/share/vm/oops/instanceKlass.cpp ! src/share/vm/oops/instanceKlass.hpp ! src/share/vm/oops/instanceRefKlass.cpp ! src/share/vm/oops/instanceRefKlass.hpp ! src/share/vm/oops/klass.hpp ! src/share/vm/oops/markOop.hpp ! src/share/vm/oops/markOop.inline.hpp ! src/share/vm/oops/objArrayKlass.cpp ! src/share/vm/oops/objArrayKlass.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/opto/graphKit.cpp ! src/share/vm/opto/graphKit.hpp ! src/share/vm/opto/lcm.cpp ! src/share/vm/opto/macro.cpp ! src/share/vm/opto/runtime.cpp ! src/share/vm/opto/runtime.hpp ! src/share/vm/prims/jvm.cpp ! src/share/vm/prims/jvmtiExport.cpp ! src/share/vm/prims/jvmtiTagMap.cpp ! src/share/vm/prims/unsafe.cpp ! src/share/vm/runtime/aprofiler.hpp ! src/share/vm/runtime/arguments.cpp ! src/share/vm/runtime/arguments.hpp ! src/share/vm/runtime/globals.cpp ! src/share/vm/runtime/globals.hpp ! src/share/vm/runtime/globals_extension.hpp ! src/share/vm/runtime/mutexLocker.cpp ! src/share/vm/runtime/mutexLocker.hpp ! src/share/vm/runtime/os.hpp ! src/share/vm/runtime/sharedRuntime.cpp ! src/share/vm/runtime/sharedRuntime.hpp ! src/share/vm/runtime/task.cpp ! src/share/vm/runtime/thread.cpp ! src/share/vm/runtime/thread.hpp ! src/share/vm/runtime/virtualspace.cpp ! src/share/vm/runtime/vmStructs.cpp ! src/share/vm/runtime/vm_operations.hpp ! src/share/vm/services/heapDumper.cpp ! src/share/vm/services/memoryService.cpp ! src/share/vm/utilities/bitMap.cpp ! src/share/vm/utilities/bitMap.hpp ! src/share/vm/utilities/bitMap.inline.hpp ! src/share/vm/utilities/debug.cpp + src/share/vm/utilities/intHisto.cpp + src/share/vm/utilities/intHisto.hpp + src/share/vm/utilities/numberSeq.cpp + src/share/vm/utilities/numberSeq.hpp ! src/share/vm/utilities/ostream.cpp ! src/share/vm/utilities/ostream.hpp ! src/share/vm/utilities/taskqueue.cpp ! src/share/vm/utilities/taskqueue.hpp ! src/share/vm/utilities/workgroup.cpp ! src/share/vm/utilities/workgroup.hpp ! src/share/vm/utilities/yieldingWorkgroup.cpp ! src/share/vm/utilities/yieldingWorkgroup.hpp Changeset: afc1ce1efe66 Author: iveresov Date: 2008-06-11 05:12 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/afc1ce1efe66 6710665: G1: guarantee(_cm->out_of_regions() && _cm->region_stack_empty() && _task_queue->size() == 0, ...) Summary: Remove the incorrect assumptions from guarantee()s. Reviewed-by: ysr, tonyp ! src/share/vm/gc_implementation/g1/concurrentMark.cpp Changeset: 6aae2f9d0294 Author: ysr Date: 2008-06-12 13:50 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/6aae2f9d0294 Merge ! src/cpu/sparc/vm/assembler_sparc.cpp ! src/cpu/sparc/vm/assembler_sparc.hpp ! src/cpu/sparc/vm/sharedRuntime_sparc.cpp ! src/cpu/sparc/vm/templateTable_sparc.cpp ! src/cpu/x86/vm/assembler_x86_32.hpp ! src/cpu/x86/vm/assembler_x86_64.cpp ! src/cpu/x86/vm/assembler_x86_64.hpp ! src/cpu/x86/vm/interp_masm_x86_64.cpp ! src/cpu/x86/vm/templateTable_x86_64.cpp ! src/share/vm/adlc/formssel.cpp ! src/share/vm/gc_implementation/concurrentMarkSweep/compactibleFreeListSpace.cpp ! src/share/vm/gc_implementation/concurrentMarkSweep/concurrentMarkSweepGeneration.cpp ! src/share/vm/gc_implementation/includeDB_gc_concurrentMarkSweep ! src/share/vm/gc_implementation/includeDB_gc_shared ! src/share/vm/gc_interface/collectedHeap.inline.hpp ! src/share/vm/includeDB_core ! src/share/vm/memory/space.cpp ! src/share/vm/oops/instanceKlass.hpp ! src/share/vm/oops/markOop.hpp ! src/share/vm/oops/oop.hpp ! src/share/vm/oops/oop.inline.hpp ! src/share/vm/opto/graphKit.cpp ! src/share/vm/opto/lcm.cpp ! src/share/vm/opto/macro.cpp ! src/share/vm/runtime/arguments.cpp ! src/share/vm/runtime/globals.hpp ! src/share/vm/runtime/vmStructs.cpp Changeset: 33e001c095fe Author: ysr Date: 2008-06-12 14:02 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/33e001c095fe Merge Changeset: bb254e57d2f4 Author: ysr Date: 2008-06-17 08:40 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/bb254e57d2f4 Merge ! src/share/vm/memory/cardTableModRefBS.cpp Changeset: 60fb9c4db4e6 Author: ysr Date: 2008-06-23 16:49 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/60fb9c4db4e6 6718086: CMS assert: _concurrent_iteration_safe_limit update missed Summary: Initialize the field correctly in ContiguousSpace's constructor and initialize() methods, using the latter for the survivor spaces upon initial construction or a subsequent resizing of the young generation. Add some missing Space sub-class constructors. Reviewed-by: apetrusenko ! src/share/vm/memory/defNewGeneration.cpp ! src/share/vm/memory/space.cpp ! src/share/vm/memory/space.hpp Changeset: 69fefd031e6c Author: ysr Date: 2008-06-24 13:20 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/69fefd031e6c Merge ! src/os/linux/vm/os_linux.cpp ! src/share/vm/runtime/globals.hpp ! src/share/vm/runtime/thread.cpp Changeset: 73278b62f36c Author: ysr Date: 2008-06-26 11:43 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/73278b62f36c 6718811: Mismerge of 6680469:macro.cpp Summary: Fixed the mismerge by deleting the lines that were inadvertently left in place. Reviewed-by: iveresov ! src/share/vm/opto/macro.cpp Changeset: d28aa69f0959 Author: ysr Date: 2008-06-30 17:04 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/d28aa69f0959 6618726: Introduce -XX:+UnlockExperimentalVMOptions flag Summary: experimental() flags will protect features of an experimental nature that are not supported in the regular product build. Made UseG1GC an experimental flag. Reviewed-by: jmasa, kamg, coleenp ! src/share/vm/gc_implementation/g1/g1_globals.cpp ! src/share/vm/gc_implementation/g1/g1_globals.hpp ! src/share/vm/runtime/globals.cpp ! src/share/vm/runtime/globals.hpp ! src/share/vm/runtime/globals_extension.hpp ! src/share/vm/services/management.cpp Changeset: fab5f738c515 Author: ysr Date: 2008-07-01 11:59 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/fab5f738c515 Merge ! src/share/vm/adlc/formssel.cpp ! src/share/vm/includeDB_compiler2 ! src/share/vm/opto/macro.cpp ! src/share/vm/runtime/globals.hpp ! src/share/vm/utilities/ostream.cpp ! src/share/vm/utilities/ostream.hpp Changeset: e0c09f7ec5c4 Author: iveresov Date: 2008-07-03 03:17 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/e0c09f7ec5c4 6702387: G1: assertion failure: assert(p == current_top || oop(p)->is_oop(),"p is not a block start") Summary: Do not coalesce dead and moved objects when removing self-forwarding pointers during the evacuation failure. Also fixed a issue in a BOT refinement code for TLABs. Reviewed-by: tonyp, jcoomes ! src/share/vm/gc_implementation/g1/g1BlockOffsetTable.cpp ! src/share/vm/gc_implementation/g1/g1CollectedHeap.cpp Changeset: 9bb2c10ac07b Author: iveresov Date: 2008-07-10 09:29 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/9bb2c10ac07b 6723570: G1: assertion failure: p == current_top or oop(p)->is_oop(),"p is not a block start" (revisited!) Summary: Fixed the incorrect assigment to G1OffsetTableContigSpace::_gc_time_stamp. Also added a little more paranoia to operations on a global timestamp. Reviewed-by: tonyp ! src/share/vm/gc_implementation/g1/g1CollectedHeap.cpp ! src/share/vm/gc_implementation/g1/g1CollectedHeap.hpp ! src/share/vm/gc_implementation/g1/heapRegion.cpp Changeset: c0f8f7790199 Author: iveresov Date: 2008-07-30 10:45 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/c0f8f7790199 6652160: G1: assert(cur_used_bytes == _g1->recalculate_used(),"It should!") at g1CollectorPolicy.cpp:1425 Summary: In attempt_allocation_slow() wait for the concurrent cleanup to complete before modifying _summary_bytes_used. Reviewed-by: jmasa, apetrusenko ! src/share/vm/gc_implementation/g1/g1CollectedHeap.cpp Changeset: 0edda524b58c Author: tonyp Date: 2008-08-06 11:57 -0400 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/0edda524b58c 6722565: G1: assert !r->is_on_unclean_list() fires Summary: Under certain circumstances, two cleanup threads can claim and process the same region. Reviewed-by: apetrusenko, ysr ! src/share/vm/gc_implementation/g1/concurrentMark.cpp ! src/share/vm/gc_implementation/g1/g1CollectedHeap.cpp ! src/share/vm/gc_implementation/g1/g1CollectedHeap.hpp ! src/share/vm/gc_implementation/g1/g1CollectorPolicy.cpp ! src/share/vm/gc_implementation/g1/heapRegion.cpp ! src/share/vm/gc_implementation/g1/heapRegion.hpp Changeset: 1ee8caae33af Author: tonyp Date: 2008-08-21 23:36 -0400 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/1ee8caae33af Merge - agent/src/share/lib/jlfgr-1_0.jar - agent/src/share/lib/maf-1_0.jar - make/linux/Queens.class ! make/linux/makefiles/top.make - make/solaris/Queens.class ! make/solaris/makefiles/top.make ! make/windows/makefiles/generated.make ! make/windows/makefiles/makedeps.make ! make/windows/makefiles/vm.make ! src/cpu/sparc/vm/assembler_sparc.cpp ! src/cpu/sparc/vm/assembler_sparc.hpp ! src/cpu/sparc/vm/c1_LIRAssembler_sparc.cpp ! src/cpu/sparc/vm/c1_LIRGenerator_sparc.cpp ! src/cpu/sparc/vm/sharedRuntime_sparc.cpp ! src/cpu/sparc/vm/stubGenerator_sparc.cpp ! src/cpu/sparc/vm/templateTable_sparc.cpp ! src/cpu/x86/vm/assembler_x86_32.cpp ! src/cpu/x86/vm/assembler_x86_32.hpp ! src/cpu/x86/vm/assembler_x86_64.cpp ! src/cpu/x86/vm/assembler_x86_64.hpp ! src/cpu/x86/vm/c1_LIRGenerator_x86.cpp ! src/cpu/x86/vm/interp_masm_x86_64.cpp ! src/cpu/x86/vm/stubGenerator_x86_32.cpp ! src/cpu/x86/vm/stubGenerator_x86_64.cpp ! src/cpu/x86/vm/templateTable_x86_32.cpp ! src/cpu/x86/vm/templateTable_x86_64.cpp ! src/os/linux/vm/os_linux.cpp ! src/os/solaris/vm/os_solaris.cpp ! src/os/windows/vm/os_windows.cpp ! src/share/vm/adlc/formssel.cpp ! src/share/vm/c1/c1_Runtime1.cpp ! src/share/vm/gc_implementation/concurrentMarkSweep/compactibleFreeListSpace.cpp ! src/share/vm/gc_implementation/concurrentMarkSweep/compactibleFreeListSpace.hpp ! src/share/vm/gc_implementation/concurrentMarkSweep/concurrentMarkSweepGeneration.cpp ! src/share/vm/gc_implementation/concurrentMarkSweep/concurrentMarkSweepGeneration.hpp ! src/share/vm/gc_implementation/g1/heapRegion.cpp ! src/share/vm/gc_implementation/g1/heapRegion.hpp ! src/share/vm/gc_implementation/includeDB_gc_concurrentMarkSweep ! src/share/vm/gc_implementation/includeDB_gc_g1 ! src/share/vm/gc_implementation/includeDB_gc_parallelScavenge ! src/share/vm/gc_implementation/includeDB_gc_shared ! src/share/vm/gc_implementation/parallelScavenge/parallelScavengeHeap.hpp ! src/share/vm/gc_implementation/shared/vmGCOperations.cpp ! src/share/vm/gc_interface/collectedHeap.cpp ! src/share/vm/gc_interface/collectedHeap.hpp ! src/share/vm/gc_interface/collectedHeap.inline.hpp ! src/share/vm/includeDB_compiler1 ! src/share/vm/includeDB_compiler2 ! src/share/vm/includeDB_core ! src/share/vm/memory/barrierSet.hpp ! src/share/vm/memory/barrierSet.inline.hpp ! src/share/vm/memory/cardTableModRefBS.cpp ! src/share/vm/memory/cardTableModRefBS.hpp ! src/share/vm/memory/cardTableRS.cpp ! src/share/vm/memory/cardTableRS.hpp ! src/share/vm/memory/collectorPolicy.cpp ! src/share/vm/memory/collectorPolicy.hpp ! src/share/vm/memory/defNewGeneration.cpp ! src/share/vm/memory/genCollectedHeap.hpp ! src/share/vm/memory/genMarkSweep.cpp ! src/share/vm/memory/genOopClosures.hpp ! src/share/vm/memory/genOopClosures.inline.hpp ! src/share/vm/memory/genRemSet.hpp ! src/share/vm/memory/heapInspection.cpp ! src/share/vm/memory/iterator.hpp ! src/share/vm/memory/modRefBarrierSet.hpp ! src/share/vm/memory/referenceProcessor.cpp ! src/share/vm/memory/referenceProcessor.hpp ! src/share/vm/memory/sharedHeap.cpp ! src/share/vm/memory/space.cpp ! src/share/vm/memory/space.hpp ! src/share/vm/memory/universe.cpp ! src/share/vm/oops/instanceKlass.cpp ! src/share/vm/oops/instanceKlass.hpp ! src/share/vm/oops/instanceRefKlass.cpp ! src/share/vm/oops/klass.hpp ! src/share/vm/oops/markOop.hpp ! src/share/vm/oops/objArrayKlass.cpp ! src/share/vm/oops/objArrayKlass.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/opto/graphKit.cpp ! src/share/vm/opto/lcm.cpp ! src/share/vm/opto/macro.cpp ! src/share/vm/prims/jvm.cpp ! src/share/vm/prims/jvmtiTagMap.cpp ! src/share/vm/prims/unsafe.cpp ! src/share/vm/runtime/arguments.cpp ! src/share/vm/runtime/arguments.hpp ! src/share/vm/runtime/globals.cpp ! src/share/vm/runtime/globals.hpp ! src/share/vm/runtime/globals_extension.hpp ! src/share/vm/runtime/mutexLocker.cpp ! src/share/vm/runtime/mutexLocker.hpp ! src/share/vm/runtime/os.hpp ! src/share/vm/runtime/sharedRuntime.cpp ! src/share/vm/runtime/sharedRuntime.hpp ! src/share/vm/runtime/task.cpp ! src/share/vm/runtime/thread.cpp ! src/share/vm/runtime/virtualspace.cpp ! src/share/vm/runtime/vmStructs.cpp ! src/share/vm/runtime/vm_operations.hpp ! src/share/vm/services/heapDumper.cpp ! src/share/vm/utilities/debug.cpp ! src/share/vm/utilities/ostream.cpp ! src/share/vm/utilities/ostream.hpp ! src/share/vm/utilities/taskqueue.hpp Changeset: 2564c620fa42 Author: tonyp Date: 2008-08-21 23:38 -0400 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/2564c620fa42 Merge ! src/share/vm/memory/blockOffsetTable.hpp ! src/share/vm/runtime/globals.hpp Changeset: 8651a65ac4b4 Author: iveresov Date: 2008-08-22 11:48 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/8651a65ac4b4 6735416: G1: runThese javasoft.sqe.tests.lang.thrd011.thrd01101.thrd01101 fails 6622418: G1: assert(false,"Non-balanced monitor enter/exit!") fails Summary: The mark-sweep compact (which we use for full gc) wrapper did not save the mark words for biased locked objects. The fix is to trivially call the appropriate methods. Reviewed-by: tonyp, ysr ! src/share/vm/gc_implementation/g1/g1MarkSweep.cpp ! src/share/vm/gc_implementation/includeDB_gc_g1 Changeset: d515536da189 Author: tonyp Date: 2008-08-26 00:46 -0400 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/d515536da189 6740930: G1: compilation failure with latest gcc Summary: Include DB fix to resolve a compilation issue with the latest gcc. Reviewed-by: iveresov, ysr ! src/share/vm/gc_implementation/includeDB_gc_g1 Changeset: 5d254928c888 Author: ysr Date: 2008-08-27 11:20 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/5d254928c888 Merge ! src/share/vm/gc_implementation/concurrentMarkSweep/compactibleFreeListSpace.cpp ! src/share/vm/gc_implementation/concurrentMarkSweep/concurrentMarkSweepGeneration.cpp ! src/share/vm/runtime/thread.cpp Changeset: a4f9ef0c0375 Author: jmasa Date: 2008-09-04 14:49 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/a4f9ef0c0375 6743059: Error in spaceDecorator.cpp "optimized" build. Summary: Changed the guard on the definition of the method value in HeapWord from ASSERT to not PRODUCT. Reviewed-by: iveresov, apetrusenko ! src/share/vm/utilities/globalDefinitions.hpp Changeset: f8199438385b Author: apetrusenko Date: 2008-09-17 16:49 +0400 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/f8199438385b Merge ! src/cpu/sparc/vm/c1_LIRGenerator_sparc.cpp ! src/cpu/sparc/vm/sharedRuntime_sparc.cpp ! src/cpu/x86/vm/assembler_x86.cpp ! src/cpu/x86/vm/assembler_x86.hpp ! src/cpu/x86/vm/c1_CodeStubs_x86.cpp ! src/cpu/x86/vm/c1_LIRGenerator_x86.cpp ! src/cpu/x86/vm/c1_Runtime1_x86.cpp ! src/cpu/x86/vm/interp_masm_x86_64.cpp ! src/cpu/x86/vm/stubGenerator_x86_32.cpp ! src/cpu/x86/vm/stubGenerator_x86_64.cpp ! src/cpu/x86/vm/templateTable_x86_32.cpp ! src/cpu/x86/vm/templateTable_x86_64.cpp ! src/share/vm/c1/c1_LIRAssembler.cpp ! src/share/vm/c1/c1_LIRAssembler.hpp ! src/share/vm/c1/c1_LIRGenerator.cpp ! src/share/vm/c1/c1_Runtime1.cpp ! src/share/vm/includeDB_compiler1 ! src/share/vm/includeDB_compiler2 ! src/share/vm/includeDB_core ! src/share/vm/includeDB_gc_parallel ! src/share/vm/opto/macro.cpp ! src/share/vm/runtime/vmStructs.cpp Changeset: 032ddb9432ad Author: apetrusenko Date: 2008-09-17 19:59 +0400 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/032ddb9432ad Merge ! src/share/vm/runtime/arguments.cpp ! src/share/vm/runtime/globals.hpp ! src/share/vm/runtime/thread.cpp ! src/share/vm/runtime/virtualspace.cpp Changeset: 919e7959392a Author: tonyp Date: 2008-09-22 09:56 -0400 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/919e7959392a 6742641: G1: NullPointerException during GCOld Summary: An update buffer is not processed correctly, which causes roots into the collection set not to be scanned and, hence, for the heap to be corrupted. The cause is that an object is accessed after it has been explicitly deleted, which causes a race. Reviewed-by: jcoomes, ysr ! src/share/vm/gc_implementation/g1/dirtyCardQueue.cpp Changeset: 5f44674206d3 Author: apetrusenko Date: 2008-09-24 15:34 -0400 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/5f44674206d3 Merge ! src/share/vm/opto/graphKit.cpp ! src/share/vm/opto/lcm.cpp ! src/share/vm/runtime/vmStructs.cpp Changeset: 8261ee795323 Author: rasbold Date: 2008-09-17 08:29 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/8261ee795323 6711100: 64bit fastdebug server vm crashes with assert(_base == Int,"Not an Int") Summary: insert CastII nodes to narrow type of load_array_length() node Reviewed-by: never, kvn ! src/share/vm/opto/callnode.cpp ! src/share/vm/opto/callnode.hpp ! src/share/vm/opto/graphKit.cpp ! src/share/vm/opto/memnode.cpp ! src/share/vm/opto/memnode.hpp ! src/share/vm/opto/parse2.cpp ! src/share/vm/opto/type.cpp ! src/share/vm/opto/type.hpp + test/compiler/6711100/Test.java Changeset: 194b8e3a2fc4 Author: never Date: 2008-09-17 12:59 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/194b8e3a2fc4 6384206: Phis which are later unneeded are impairing our ability to inline based on static types Reviewed-by: rasbold, jrose ! src/share/vm/ci/ciMethodBlocks.cpp ! src/share/vm/ci/ciMethodBlocks.hpp ! src/share/vm/ci/ciTypeFlow.cpp ! src/share/vm/ci/ciTypeFlow.hpp ! src/share/vm/includeDB_compiler2 ! src/share/vm/opto/bytecodeInfo.cpp ! src/share/vm/opto/cfgnode.cpp ! src/share/vm/opto/compile.cpp ! src/share/vm/opto/compile.hpp ! src/share/vm/opto/doCall.cpp ! src/share/vm/opto/graphKit.cpp ! src/share/vm/opto/loopTransform.cpp ! src/share/vm/opto/loopnode.cpp ! src/share/vm/opto/loopnode.hpp ! src/share/vm/opto/loopopts.cpp ! src/share/vm/opto/matcher.cpp ! src/share/vm/opto/parse.hpp ! src/share/vm/opto/parse1.cpp Changeset: 36ccc817fca4 Author: kvn Date: 2008-09-23 12:29 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/36ccc817fca4 6747051: Improve code and implicit null check generation for compressed oops Summary: Push DecodeN node below the Null check to the non-null path to use the mach node without 0 test. Reviewed-by: rasbold, never ! src/share/vm/asm/assembler.cpp ! src/share/vm/opto/cfgnode.cpp ! src/share/vm/opto/compile.cpp ! src/share/vm/opto/connode.cpp ! src/share/vm/opto/matcher.cpp ! src/share/vm/opto/matcher.hpp Changeset: 5f85534046c2 Author: rasbold Date: 2008-09-24 15:56 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/5f85534046c2 6750588: assert(lrg._area >= 0,"negative spill area") running NSK stmp0101 test Summary: handle NaN costs more carefully Reviewed-by: kvn, never ! src/share/vm/opto/ifg.cpp Changeset: 885fe0f95828 Author: never Date: 2008-09-25 12:50 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/885fe0f95828 6744783: HotSpot segfaults if given -XX options with an empty string argument Reviewed-by: kamg, kvn Contributed-by: volker.simonis at gmail.com ! src/share/vm/prims/jvmtiTrace.cpp ! src/share/vm/runtime/globals.cpp ! src/share/vm/runtime/globals.hpp Changeset: dbec32712472 Author: never Date: 2008-09-30 11:56 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/dbec32712472 6753795: HotSpot crash in strlen() when JVMTI is used Summary: test for null instead of strlen Reviewed-by: rasbold ! src/share/vm/prims/jvmtiEnvBase.cpp Changeset: be41fa651400 Author: rasbold Date: 2008-09-30 15:53 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/be41fa651400 Merge ! src/share/vm/includeDB_compiler2 ! src/share/vm/opto/graphKit.cpp ! src/share/vm/runtime/globals.cpp ! src/share/vm/runtime/globals.hpp Changeset: 06df86c2ec37 Author: iveresov Date: 2008-09-27 00:33 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/06df86c2ec37 6740923: NUMA allocator: Ensure the progress of adaptive chunk resizing Summary: Treat a chuck where the allocation has failed as fully used. Reviewed-by: ysr ! src/share/vm/gc_implementation/parallelScavenge/parallelScavengeHeap.cpp ! src/share/vm/gc_implementation/shared/immutableSpace.hpp ! src/share/vm/gc_implementation/shared/mutableNUMASpace.cpp ! src/share/vm/gc_implementation/shared/mutableNUMASpace.hpp Changeset: a4b729f5b611 Author: jcoomes Date: 2008-09-30 11:49 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/a4b729f5b611 6716466: par compact - remove VerifyParallelOldWithMarkSweep code Reviewed-by: jmasa ! src/share/vm/code/nmethod.cpp ! src/share/vm/gc_implementation/parallelScavenge/parallelScavengeHeap.cpp ! src/share/vm/gc_implementation/parallelScavenge/psMarkSweep.cpp ! src/share/vm/gc_implementation/parallelScavenge/psMarkSweepDecorator.cpp ! src/share/vm/gc_implementation/parallelScavenge/psOldGen.cpp ! src/share/vm/gc_implementation/parallelScavenge/psParallelCompact.cpp ! src/share/vm/gc_implementation/parallelScavenge/psPermGen.cpp ! src/share/vm/gc_implementation/shared/markSweep.inline.hpp ! src/share/vm/runtime/globals.hpp Changeset: 81cd571500b0 Author: jcoomes Date: 2008-09-30 12:20 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/81cd571500b0 6725697: par compact - rename class ChunkData to RegionData Reviewed-by: iveresov, tonyp ! src/share/vm/gc_implementation/parallelScavenge/pcTasks.cpp ! src/share/vm/gc_implementation/parallelScavenge/pcTasks.hpp ! src/share/vm/gc_implementation/parallelScavenge/psCompactionManager.cpp ! src/share/vm/gc_implementation/parallelScavenge/psCompactionManager.hpp ! src/share/vm/gc_implementation/parallelScavenge/psParallelCompact.cpp ! src/share/vm/gc_implementation/parallelScavenge/psParallelCompact.hpp ! src/share/vm/runtime/globals.hpp ! src/share/vm/utilities/taskqueue.cpp ! src/share/vm/utilities/taskqueue.hpp Changeset: 0166ac265d53 Author: jcoomes Date: 2008-09-30 13:15 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/0166ac265d53 6729594: par compact - remove unused block table implementation Reviewed-by: tonyp, jmasa, apetrusenko ! src/share/vm/gc_implementation/parallelScavenge/psParallelCompact.cpp ! src/share/vm/gc_implementation/parallelScavenge/psParallelCompact.hpp ! src/share/vm/runtime/globals.hpp Changeset: ddfad9496151 Author: tonyp Date: 2008-10-01 15:05 -0400 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/ddfad9496151 Merge ! src/share/vm/runtime/globals.hpp Changeset: 0e31d37915ff Author: trims Date: 2008-10-01 16:57 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/0e31d37915ff 6754998: Update Hotspot version for hs14 b06 Summary: Bump Hotspot build number to 06 Reviewed-by: jcoomes ! make/hotspot_version Changeset: af90fe21c1e3 Author: trims Date: 2008-10-01 16:57 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/af90fe21c1e3 Merge Changeset: eb28cf662f56 Author: trims Date: 2008-10-07 11:01 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/eb28cf662f56 Merge ! src/cpu/x86/vm/c1_CodeStubs_x86.cpp ! src/cpu/x86/vm/c1_Runtime1_x86.cpp ! src/cpu/x86/vm/stubGenerator_x86_32.cpp ! src/share/vm/asm/assembler.cpp ! src/share/vm/c1/c1_LIRAssembler.cpp ! src/share/vm/c1/c1_LIRAssembler.hpp ! src/share/vm/c1/c1_LIRGenerator.cpp ! src/share/vm/ci/ciTypeFlow.hpp ! src/share/vm/gc_implementation/parallelScavenge/psMarkSweep.cpp ! src/share/vm/gc_implementation/parallelScavenge/psOldGen.cpp ! src/share/vm/memory/blockOffsetTable.hpp ! src/share/vm/opto/ifg.cpp ! src/share/vm/runtime/virtualspace.cpp Changeset: 3dfb71f4a560 Author: trims Date: 2008-10-15 18:49 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/3dfb71f4a560 Merge Changeset: e4355b352b7d Author: coleenp Date: 2008-09-26 13:33 -0400 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/e4355b352b7d 6719149: Wrong "java/lang/String should not be loaded yet" assertion in fastdebug bits with UseStringCache Summary: Assertion is invalid because java.lang.String may be initialized just before this assertion. Reviewed-by: phh ! src/share/vm/runtime/thread.cpp Changeset: 99dd4bbd9eec Author: acorn Date: 2008-09-30 12:24 -0400 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/99dd4bbd9eec Merge ! src/share/vm/runtime/thread.cpp Changeset: b7483806cc49 Author: acorn Date: 2008-10-01 20:15 -0400 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/b7483806cc49 Merge Changeset: c005b6eac36e Author: dcubed Date: 2008-10-02 06:54 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/c005b6eac36e Merge Changeset: f1ecf9191140 Author: trims Date: 2008-10-02 14:11 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/f1ecf9191140 6755406: minor mistakes in copyright notices Summary: Mismatch in some header copyrights from standard templates Reviewed-by: jcoomes ! make/hotspot_distro ! test/compiler/6646019/Test.java ! test/compiler/6689060/Test.java ! test/compiler/6695810/Test.java Changeset: fad66fdcb7fc Author: xlu Date: 2008-10-06 11:39 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/fad66fdcb7fc 6673124: Runtime.availableProcessors / os::active_processor_count wrong if unused processor sets exist Reviewed-by: acorn, dholmes ! src/os/solaris/vm/os_solaris.cpp Changeset: f008d3631bd1 Author: ksrini Date: 2008-10-08 08:10 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/f008d3631bd1 6755845: JVM_FindClassFromBoot triggers assertions Summary: Fixes assertions caused by one jvm_entry calling another, solved by refactoring code and modified gamma test. Reviewed-by: dholmes, xlu ! src/os/linux/launcher/java.c ! src/os/linux/launcher/java.h ! src/os/linux/launcher/java_md.c ! src/os/solaris/launcher/java.c ! src/os/solaris/launcher/java.h ! src/os/solaris/launcher/java_md.c ! src/share/vm/prims/jvm.cpp Changeset: ee21eaa8ffe1 Author: jmasa Date: 2008-10-02 12:01 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/ee21eaa8ffe1 6660681: Incrementally reserve pages on win server 2003 for better large page affinity Summary: For windows server 2003 added option to reserve large pages individually. Reviewed-by: alanb, jcoomes, tonyp, apetrusenko ! src/os/linux/vm/globals_linux.hpp ! src/os/solaris/vm/globals_solaris.hpp ! src/os/windows/vm/globals_windows.hpp ! src/os/windows/vm/os_windows.cpp ! src/os/windows/vm/os_windows.hpp ! src/share/vm/runtime/globals.hpp Changeset: cc68c8e9b309 Author: tonyp Date: 2008-10-06 13:16 -0400 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/cc68c8e9b309 6752248: G1: introduce parallel heap verification Summary: Introduce parallel heap verification in G1. Reviewed-by: jcoomes, apetrusenko ! src/share/vm/gc_implementation/g1/g1CollectedHeap.cpp ! src/share/vm/gc_implementation/g1/g1CollectedHeap.hpp ! src/share/vm/gc_implementation/g1/heapRegion.hpp ! src/share/vm/runtime/globals.hpp Changeset: ab4a7734b9c4 Author: iveresov Date: 2008-10-06 20:59 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/ab4a7734b9c4 6753547: NUMA allocator: Invalid chunk size computation during adaptive resizing Summary: The per-lgrp chuck size can be incorrectly computed (causing an assertion failure) because of the non-associativity of the floating point operations. The fix is to rearrange the operations. Reviewed-by: ysr ! src/share/vm/gc_implementation/shared/mutableNUMASpace.cpp Changeset: 05366dad12cf Author: tonyp Date: 2008-10-09 12:06 -0400 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/05366dad12cf Merge Changeset: 078b8a0d8d7c Author: iveresov Date: 2008-10-13 21:41 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/078b8a0d8d7c 6758633: G1: SEGV with GCOld on Linux Summary: Avoid growth of a GrowableArray backend of HeapRegionSeq. Reviewed-by: tonyp, jcoomes ! src/share/vm/gc_implementation/g1/g1CollectedHeap.cpp ! src/share/vm/gc_implementation/g1/heapRegionSeq.cpp ! src/share/vm/gc_implementation/g1/heapRegionSeq.hpp Changeset: bc1cf4d7cab3 Author: trims Date: 2008-10-15 18:51 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/bc1cf4d7cab3 Merge Changeset: 7c99a4bb76a1 Author: trims Date: 2008-10-29 19:18 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/7c99a4bb76a1 Merge Changeset: 4d05b7cb7842 Author: mchung Date: 2008-10-14 15:16 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/4d05b7cb7842 6306922: Dump dump created by +HeapDumpOnOutOfMemoryError should include stack traces for stack roots Summary: Include stack traces of all threads in the heap dump Reviewed-by: alanb ! src/share/vm/includeDB_features ! src/share/vm/services/heapDumper.cpp ! src/share/vm/services/threadService.hpp Changeset: 1bf7a2ce4895 Author: dcubed Date: 2008-10-16 11:07 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/1bf7a2ce4895 Merge ! src/share/vm/includeDB_features Changeset: 443791f333a2 Author: coleenp Date: 2008-10-14 10:15 -0400 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/443791f333a2 6700107: java/lang/Class/forName/TooManyDimensions.java crashes with SIGSEGV in c2 compiler with fastdebug Summary: objArrayKlass::compute_modifier_flags was unnecessarily recursive Reviewed-by: kamg ! src/share/vm/oops/objArrayKlass.cpp Changeset: 7b51912bdf9a Author: xlu Date: 2008-10-17 15:18 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/7b51912bdf9a Merge Changeset: cc80376deb0c Author: kvn Date: 2008-10-02 08:37 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/cc80376deb0c 6667595: Set probability FAIR for pre-, post- loops and ALWAYS for main loop Summary: Fix loop's probability. Add optimizations to avoid spilling. Change InlineSmallCode to product flag. Reviewed-by: never ! src/share/vm/opto/addnode.cpp ! src/share/vm/opto/cfgnode.cpp ! src/share/vm/opto/cfgnode.hpp ! src/share/vm/opto/divnode.cpp ! src/share/vm/opto/loopTransform.cpp ! src/share/vm/opto/node.hpp ! src/share/vm/opto/postaloc.cpp ! src/share/vm/opto/subnode.cpp ! src/share/vm/runtime/globals.hpp Changeset: ee8f06bfb27c Author: never Date: 2008-10-03 13:58 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/ee8f06bfb27c 6743188: incomplete fix for 6700047 C2 failed in idom_no_update Reviewed-by: rasbold, kvn ! src/share/vm/opto/loopTransform.cpp ! src/share/vm/opto/loopnode.hpp ! src/share/vm/opto/loopopts.cpp ! test/compiler/6700047/Test6700047.java Changeset: b4e0a161f551 Author: never Date: 2008-10-06 13:11 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/b4e0a161f551 Merge ! src/share/vm/runtime/globals.hpp Changeset: b744678d4d71 Author: rasbold Date: 2008-10-10 09:47 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/b744678d4d71 6752257: Use NOT instead of XOR -1 on x86 Summary: add match rule for xor -1 Reviewed-by: never, kvn ! src/cpu/x86/vm/x86_32.ad ! src/cpu/x86/vm/x86_64.ad Changeset: 78c058bc5cdc Author: rasbold Date: 2008-10-14 06:58 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/78c058bc5cdc 6717150: improper constant folding of subnormal strictfp multiplications and divides Summary: suppress constant folding of double divides and multiplications on ia32 Reviewed-by: never ! src/share/vm/opto/divnode.cpp ! src/share/vm/opto/mulnode.cpp Changeset: 2649e5276dd7 Author: kvn Date: 2008-10-14 15:10 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/2649e5276dd7 6532536: Optimize arraycopy stubs for Intel cpus Summary: Use SSE2 movdqu in arraycopy stubs on newest Intel's cpus Reviewed-by: rasbold ! src/cpu/x86/vm/assembler_x86.cpp ! src/cpu/x86/vm/assembler_x86.hpp ! src/cpu/x86/vm/stubGenerator_x86_32.cpp ! src/cpu/x86/vm/stubGenerator_x86_64.cpp ! src/cpu/x86/vm/vm_version_x86_32.cpp ! src/cpu/x86/vm/vm_version_x86_32.hpp ! src/cpu/x86/vm/vm_version_x86_64.cpp ! src/cpu/x86/vm/vm_version_x86_64.hpp ! src/os/solaris/vm/os_solaris.cpp ! src/share/vm/runtime/globals.hpp Changeset: 67e8b4d06369 Author: never Date: 2008-10-21 11:21 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/67e8b4d06369 Merge ! src/cpu/x86/vm/stubGenerator_x86_32.cpp ! src/os/solaris/vm/os_solaris.cpp ! src/share/vm/runtime/globals.hpp Changeset: ebfd4ae89bf6 Author: never Date: 2008-10-21 11:23 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/ebfd4ae89bf6 6762004: 6532536 fix contains changes in os_solaris.cpp which were pushed by mistake Reviewed-by: kvn ! src/os/solaris/vm/os_solaris.cpp Changeset: 52e32c8b317e Author: acorn Date: 2008-10-22 14:48 -0400 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/52e32c8b317e 6761092: jvm crashes when CDS is enabled. Summary: CDS hardcoded max c++ virtual method table increased Reviewed-by: coleenp, xlu, jmasa ! src/share/vm/memory/compactingPermGenGen.hpp ! src/share/vm/memory/dump.cpp Changeset: 218f0fd3ca88 Author: acorn Date: 2008-10-22 15:07 -0400 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/218f0fd3ca88 Merge ! src/share/vm/memory/compactingPermGenGen.hpp Changeset: 8fb16f199266 Author: xlu Date: 2008-10-22 20:47 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/8fb16f199266 Merge Changeset: 49ca90d77f34 Author: trims Date: 2008-10-29 19:22 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/49ca90d77f34 Merge Changeset: 42ca4002efc2 Author: xdono Date: 2008-11-06 12:10 -0800 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/42ca4002efc2 Added tag jdk7-b39 for changeset 49ca90d77f34 ! .hgtags From tim.bell at sun.com Mon Nov 10 00:22:22 2008 From: tim.bell at sun.com (tim.bell at sun.com) Date: Mon, 10 Nov 2008 08:22:22 +0000 Subject: hg: jdk7/tl/jaxp: Added tag jdk7-b39 for changeset 831b80be6cea Message-ID: <20081110082224.7F69FD12E@hg.openjdk.java.net> Changeset: 54946f466e2c Author: xdono Date: 2008-11-06 12:10 -0800 URL: http://hg.openjdk.java.net/jdk7/tl/jaxp/rev/54946f466e2c Added tag jdk7-b39 for changeset 831b80be6cea ! .hgtags From tim.bell at sun.com Mon Nov 10 00:23:58 2008 From: tim.bell at sun.com (tim.bell at sun.com) Date: Mon, 10 Nov 2008 08:23:58 +0000 Subject: hg: jdk7/tl/jaxws: Added tag jdk7-b39 for changeset 077bc9b1b035 Message-ID: <20081110082401.01CA3D133@hg.openjdk.java.net> Changeset: 70a6ac6dd737 Author: xdono Date: 2008-11-06 12:10 -0800 URL: http://hg.openjdk.java.net/jdk7/tl/jaxws/rev/70a6ac6dd737 Added tag jdk7-b39 for changeset 077bc9b1b035 ! .hgtags From tim.bell at sun.com Mon Nov 10 00:27:09 2008 From: tim.bell at sun.com (tim.bell at sun.com) Date: Mon, 10 Nov 2008 08:27:09 +0000 Subject: hg: jdk7/tl/langtools: 2 new changesets Message-ID: <20081110082714.EB9DBD13A@hg.openjdk.java.net> Changeset: 968ca53217a1 Author: xdono Date: 2008-11-06 12:10 -0800 URL: http://hg.openjdk.java.net/jdk7/tl/langtools/rev/968ca53217a1 Added tag jdk7-b39 for changeset 3fb51e47622b ! .hgtags Changeset: 32e309883246 Author: tbell Date: 2008-11-07 11:45 -0800 URL: http://hg.openjdk.java.net/jdk7/tl/langtools/rev/32e309883246 Merge From mayuresh at acm.org Mon Nov 10 05:50:59 2008 From: mayuresh at acm.org (Mayuresh) Date: Mon, 10 Nov 2008 19:20:59 +0530 Subject: lang tools : how to get "TypeElement" for a local variable In-Reply-To: References: Message-ID: <200811101920.59747.mayuresh@acm.org> Jon, Thanks. I tried and figured out from code that many such elements are built post annotation processing. Unfortunately plugging in custom code to access these structures seems to be feasible only in annotation processing phase. Is there any way (using published interface as far as possible) to either invoke building of these elements prior to/during annotation processing or alternatively accessing them after they have been built? Mayuresh. > Jonathan Gibbons > Sent by: Jonathan.Gibbons at Sun.COM > 11/09/2008 21:25 PST > > To ? mayuresh at acm.org > cc ? compiler-dev at openjdk.java.net > bcc ? > Subject ? Re: lang tools : how to get "TypeElement" for a local variable > ? > > I would guess the most likely cause is that you are asking for the info > before it has been evaluated. ?The TypeElements for the members > and methods are determined fairly early; the TypeElements for the > local variables is determined much later, when the containing > method is being analyzed prior to being code generated. > > -- Jon > > On Nov 9, 2008, at 9:29 AM, Mayuresh wrote: > > Hi > > > > I was exploring the syntax tree exposed by Compiler API using > > TreePathScanner > > based visitor. > > > > I am trying to get the "TypeElement" for a variable declaration to > > extract > > qualified type of the variable etc. > > > > I am using Trees.getElement() to get the TypeElement to which I pass > > current > > path at a VariableTree node. > > > > I can get the Element for member or method parameter declaration > > though for > > local variables Element returned is null. > > > > Is this a bug? Is there some other way to get TypeElement? > > > > Mayuresh. > > ForwardSourceID:NT00026412 > =====-----=====-----===== > Notice: The information contained in this e-mail > message and/or attachments to it may contain > confidential or privileged information. If you are > not the intended recipient, any dissemination, use, > review, distribution, printing or copying of the > information contained in this e-mail message > and/or attachments to it are strictly prohibited. If > you have received this communication in error, > please notify us by reply e-mail or telephone and > immediately and permanently delete the message > and any attachments. Thank you From complystill at gmail.com Mon Nov 10 06:19:01 2008 From: complystill at gmail.com (Compl Yue Still) Date: Mon, 10 Nov 2008 22:19:01 +0800 Subject: Resolving classes from (complicated) runtime class loaders (compiling code ad hoc to run) In-Reply-To: <5A717397-D996-41B8-89F5-C942294C940E@gmail.com> References: <5A717397-D996-41B8-89F5-C942294C940E@gmail.com> Message-ID: <8A1EF4F3-E507-43EE-9034-797B199CC22A@gmail.com> Now I've found it's more work to support star and static imports, worked out so far: # HG changeset patch # User Compl # Date 1226326029 -28800 # Node ID d1cd39daf341e52dd12b8944dc3903815bed926a # Parent eedce2b27b126242ddafbf0023430d38f7eaeae3 star import supports for resolving types from runtime class loaders diff -r eedce2b27b12 -r d1cd39daf341 src/share/classes/com/sun/tools/ javac/comp/MemberEnter.java --- a/src/share/classes/com/sun/tools/javac/comp/MemberEnter.java Sat Nov 08 18:24:08 2008 +0800 +++ b/src/share/classes/com/sun/tools/javac/comp/MemberEnter.java Mon Nov 10 22:07:09 2008 +0800 @@ -129,6 +129,12 @@ private void importAll(int pos, final TypeSymbol tsym, Env env) { + // Added code to resolve classes from runtime class loaders { + List oldImportPkgs = env.toplevel.starImportedPkgs; + env.toplevel.starImportedPkgs = oldImportPkgs==null? + List.of(tsym) : oldImportPkgs.prepend(tsym); + if(false) // assume any star imported package exists + // Added code to resolve classes from runtime class loaders } // Check that packages imported from exist (JLS ???). if (tsym.kind == PCK && tsym.members().elems == null && ! tsym.exists()) { // If we can't find java.lang, exit immediately. diff -r eedce2b27b12 -r d1cd39daf341 src/share/classes/com/sun/tools/ javac/comp/Resolve.java --- a/src/share/classes/com/sun/tools/javac/comp/Resolve.java Sat Nov 08 18:24:08 2008 +0800 +++ b/src/share/classes/com/sun/tools/javac/comp/Resolve.java Mon Nov 10 22:07:09 2008 +0800 @@ -968,7 +968,38 @@ if (sym.exists()) return sym; else if (sym.kind < bestSoFar.kind) bestSoFar = sym; - sym = findGlobalType(env, env.toplevel.starImportScope, name); + // Changed to resolve classes from runtime class loaders { + // Original code { + // sym = findGlobalType(env, env.toplevel.starImportScope, name); + // Original Code } + // New code { + // first do normal search + for (Scope.Entry e = env.toplevel.starImportScope.lookup(name); + e.scope != null; e = e.next()) { + sym = loadClass(env, e.sym.flatName()); + if (bestSoFar.kind == TYP && sym.kind == TYP && + bestSoFar != sym) + return new AmbiguityError(bestSoFar, sym); + if (sym.kind < bestSoFar.kind) + bestSoFar = sym; + } + if (sym.exists()) return sym; // return if found in normal way + // so it's not listed by the file manager but possibly available + // from runtime class loaders, let's try harder + for(List pkg=env.toplevel.starImportedPkgs; + pkg!=null; + pkg=pkg.tail) { + Name guessedname = TypeSymbol.formFullName(name, pkg.head); + sym = loadClass(env, guessedname); + if(!sym.exists()) continue; + if (bestSoFar.kind == TYP && sym.kind == TYP && + bestSoFar != sym) + return new AmbiguityError(bestSoFar, sym); + if (sym.kind < bestSoFar.kind) + bestSoFar = sym; + } + // New code } + // Changed to resolve classes from runtime class loaders } if (sym.exists()) return sym; else if (sym.kind < bestSoFar.kind) bestSoFar = sym; } diff -r eedce2b27b12 -r d1cd39daf341 src/share/classes/com/sun/tools/ javac/tree/JCTree.java --- a/src/share/classes/com/sun/tools/javac/tree/JCTree.java Sat Nov 08 18:24:08 2008 +0800 +++ b/src/share/classes/com/sun/tools/javac/tree/JCTree.java Mon Nov 10 22:07:09 2008 +0800 @@ -431,6 +431,9 @@ public PackageSymbol packge; public Scope namedImportScope; public Scope starImportScope; + // Added code to resolve classes from runtime class loaders { + public List starImportedPkgs = null; + // Added code to resolve classes from runtime class loaders } public long flags; public Position.LineMap lineMap = null; public Map docComments = null; But this makes javac to accept any star imported package as existing, does it hurt? Thanks for reading, and any suggestion appreciated. Compl On 2008-11-9, at ??10:40, Compl Yue Still wrote: > Hi Gentlemen, > > Here comes an issue regarding needs for compiling java code to be > run within current JVM context (see http://sjsh.dev.java.net for > concrete). > > It works like a charm when running inside a normal (meaning no > complicated class loading scheme) JavaSE application, prompt the > user for some java statements, compile them into bytecode/class > file, then load it as a class and invoke its methods. however > problems appear when run from a more complex environment, like > inside a app server, Servlet container or RCP etc, where the > depended class libraries are not loaded by Launcher$AppClassLoader, > javax.tools.JavaCompiler just can't resolve classes loaded by a > Servlet context loader and alikes. > > After some investigation, I finally figured out that javac expects > all depended .class files be listed out by > javax.tools.JavaFileManager, ahead of type resolution. This is > pretty okay for the command line tool `javac', but when there comes > needs for compilation and execution of Java code ad hoc for > currently running jvm context, by invoking javax.tools.JavaCompiler, > it just make things way too difficult. My previous effort had worked > out some ways to guess the -cp parameter to be passed to > JavaCompiler tool to workaround this issue, but so far limited to > URLClassLoader and Apache Tomcat loaders, and hardly for Eclipse > RCP. Obviously this solution can NOT `run anywhere'. > > I believe there have been, and will be more and more projects/ > components leveraging javax.tools.JavaCompiler as it became > standard, and they are to face the same situation. And by far I find > a simpler solution, by hacking a single javac's source file: src/ > share/classes/com/sun/tools/javac/jvm/ClassReader.java > > /** Fill in definition of class `c' from corresponding class or > * source file. > */ > private void fillIn(ClassSymbol c) { > if (completionFailureName == c.fullname) { > throw new CompletionFailure(c, "user-selected completion > failure by class name"); > } > currentOwner = c; > JavaFileObject classfile = c.classfile; > + // Added code to resolve classes from runtime class loaders { > + if(classfile == null) { > + try { > + classfile = this.fileManager.getJavaFileForInput( > + CLASS_PATH, > + c.fullname.toString(), > + JavaFileObject.Kind.CLASS); > + } catch (IOException e) { > + } > + } > + // Added code to resolve classes from runtime class loaders } > if (classfile != null) { > JavaFileObject previousClassFile = currentClassFile; > try { > ..... > > This works for me, but I hate the idea to distribute nonstandard > versions of javac.jar to users. But I'm not an openjdk dev guy, > neither knowledge nor time to get it pass jtreg and submitted to repo. > > Can anybody here evaluate this patch for appropriateness and get it > upstream? I have examined the tools doc for javac and made sure the > resolved is not a documented feature or behavior, so should has no > spec impact. > > Thanks for reading. > > All the best, > Compl > From alan.bateman at sun.com Tue Nov 11 07:13:40 2008 From: alan.bateman at sun.com (alan.bateman at sun.com) Date: Tue, 11 Nov 2008 15:13:40 +0000 Subject: hg: jdk7/tl/jdk: 2 new changesets Message-ID: <20081111151415.2076DD14A@hg.openjdk.java.net> Changeset: 275fa248e808 Author: alanb Date: 2008-11-11 08:59 +0000 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/275fa248e808 6763122: ZipFile ctor does not throw exception when file is not a zip file Reviewed-by: bristor ! src/share/native/java/util/zip/zip_util.c ! test/java/util/zip/TestEmptyZip.java Changeset: e81b47f0b40f Author: alanb Date: 2008-11-11 09:07 +0000 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/e81b47f0b40f Merge - src/share/classes/com/sun/jmx/namespace/JMXNamespaceUtils.java From maurizio.cimadamore at sun.com Wed Nov 12 06:18:12 2008 From: maurizio.cimadamore at sun.com (maurizio.cimadamore at sun.com) Date: Wed, 12 Nov 2008 14:18:12 +0000 Subject: hg: jdk7/tl/langtools: 6768932: Add support for multiline diagnostics Message-ID: <20081112141815.C3A9FD2B5@hg.openjdk.java.net> Changeset: 4cdaaf4c5dca Author: mcimadamore Date: 2008-11-12 14:17 +0000 URL: http://hg.openjdk.java.net/jdk7/tl/langtools/rev/4cdaaf4c5dca 6768932: Add support for multiline diagnostics Summary: Added basic support for multiline/tabular diagnostics Reviewed-by: jjg ! src/share/classes/com/sun/tools/javac/util/AbstractDiagnosticFormatter.java ! src/share/classes/com/sun/tools/javac/util/AbstractLog.java ! src/share/classes/com/sun/tools/javac/util/JCDiagnostic.java ! src/share/classes/com/sun/tools/javac/util/LayoutCharacters.java ! src/share/classes/com/sun/tools/javac/util/Log.java ! src/share/classes/com/sun/tools/javac/util/MandatoryWarningHandler.java ! src/share/classes/com/sun/tools/javac/util/RawDiagnosticFormatter.java From weijun.wang at sun.com Wed Nov 12 14:50:37 2008 From: weijun.wang at sun.com (weijun.wang at sun.com) Date: Wed, 12 Nov 2008 14:50:37 -0800 Subject: hg: jdk7/tl/jdk: 2 new changesets Message-ID: <20081112225124.B7128D317@hg.openjdk.java.net> Changeset: d2f96992b77b Author: weijun Date: 2008-11-12 16:00 +0800 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/d2f96992b77b 6733095: Failure when SPNEGO request non-Mutual Reviewed-by: valeriep ! src/share/classes/sun/security/jgss/GSSContextImpl.java ! src/share/classes/sun/security/jgss/spnego/SpNegoContext.java ! test/sun/security/krb5/auto/Context.java + test/sun/security/krb5/auto/NonMutualSpnego.java Changeset: 76edd0698e0a Author: weijun Date: 2008-11-12 16:01 +0800 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/76edd0698e0a 6765491: Krb5LoginModule a little too restrictive, and the doc is not clear. Reviewed-by: valeriep ! src/share/classes/com/sun/security/auth/module/Krb5LoginModule.java ! test/sun/security/krb5/auto/Context.java ! test/sun/security/krb5/auto/KDC.java + test/sun/security/krb5/auto/LoginModuleOptions.java From christopher.hegarty at sun.com Thu Nov 13 01:43:27 2008 From: christopher.hegarty at sun.com (christopher.hegarty at sun.com) Date: Thu, 13 Nov 2008 09:43:27 +0000 Subject: hg: jdk7/tl/jdk: 2 new changesets Message-ID: <20081113094404.ACE64D392@hg.openjdk.java.net> Changeset: a85ef87f9eaa Author: chegar Date: 2008-11-12 16:38 +0000 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/a85ef87f9eaa 6755625: Add HttpURLConnection.setFixedLengthStreamingMode(long) Reviewed-by: jccollet ! src/share/classes/com/sun/net/ssl/internal/www/protocol/https/HttpsURLConnectionOldImpl.java ! src/share/classes/java/net/HttpURLConnection.java ! src/share/classes/sun/net/www/protocol/http/HttpURLConnection.java ! src/share/classes/sun/net/www/protocol/https/HttpsURLConnectionImpl.java ! test/com/sun/net/httpserver/bugs/FixedLengthInputStream.java Changeset: 84bd7fd5fb65 Author: chegar Date: 2008-11-13 09:40 +0000 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/84bd7fd5fb65 Merge From tim.bell at sun.com Thu Nov 13 19:58:37 2008 From: tim.bell at sun.com (tim.bell at sun.com) Date: Fri, 14 Nov 2008 03:58:37 +0000 Subject: hg: jdk7/tl/jdk: 3 new changesets Message-ID: <20081114040020.69C81D406@hg.openjdk.java.net> Changeset: 2914c04c8644 Author: xdono Date: 2008-11-06 12:10 -0800 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/2914c04c8644 Added tag jdk7-b39 for changeset 4e51997582ef ! .hgtags Changeset: 2201dad60231 Author: tbell Date: 2008-11-07 11:45 -0800 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/2201dad60231 Merge Changeset: 5c1a8571946f Author: tbell Date: 2008-11-13 11:15 -0800 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/5c1a8571946f Merge - src/share/classes/com/sun/jmx/namespace/JMXNamespaceUtils.java From daniel.fuchs at sun.com Fri Nov 14 08:25:37 2008 From: daniel.fuchs at sun.com (daniel.fuchs at sun.com) Date: Fri, 14 Nov 2008 16:25:37 +0000 Subject: hg: jdk7/tl/jdk: 6683213: CounterMonitor's derived Gauge badly initialized Message-ID: <20081114162604.1E9D1D44F@hg.openjdk.java.net> Changeset: 67718d2bd49c Author: dfuchs Date: 2008-11-14 17:22 +0100 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/67718d2bd49c 6683213: CounterMonitor's derived Gauge badly initialized Reviewed-by: emcmanus ! src/share/classes/javax/management/monitor/CounterMonitor.java ! src/share/classes/javax/management/monitor/GaugeMonitor.java ! src/share/classes/javax/management/monitor/Monitor.java + test/javax/management/monitor/DerivedGaugeMonitorTest.java From xuelei.fan at sun.com Thu Nov 13 23:11:20 2008 From: xuelei.fan at sun.com (xuelei.fan at sun.com) Date: Fri, 14 Nov 2008 07:11:20 +0000 Subject: hg: jdk7/tl/jdk: 6728126: Parsing Extensions in Client Hello message is done in a wrong way Message-ID: <20081114071150.E9F0DD40D@hg.openjdk.java.net> Changeset: 16efbe49c725 Author: xuelei Date: 2008-11-13 23:08 -0800 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/16efbe49c725 6728126: Parsing Extensions in Client Hello message is done in a wrong way Summary: the inputStream.read(byte[], int, 0) is not always return zero. Reviewed-by: wetmore, weijun ! src/share/classes/sun/security/ssl/HelloExtensions.java + test/sun/security/ssl/com/sun/net/ssl/internal/ssl/SSLEngineImpl/EmptyExtensionData.java From xuelei.fan at sun.com Thu Nov 13 23:28:08 2008 From: xuelei.fan at sun.com (xuelei.fan at sun.com) Date: Fri, 14 Nov 2008 07:28:08 +0000 Subject: hg: jdk7/tl/jdk: 6745052: SLServerSocket file descriptor leak Message-ID: <20081114072839.C1B49D412@hg.openjdk.java.net> Changeset: dcb8d806d731 Author: xuelei Date: 2008-11-13 23:25 -0800 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/dcb8d806d731 6745052: SLServerSocket file descriptor leak Summary: SSLServerSocketImpl.checkEnabledSuites() does not release the temporary socket properly Reviewed-by: wetmore, weijun ! src/share/classes/sun/security/ssl/BaseSSLSocketImpl.java ! src/share/classes/sun/security/ssl/SSLServerSocketImpl.java ! src/share/classes/sun/security/ssl/SSLSocketImpl.java From roman.kennke at aicas.com Mon Nov 17 13:48:48 2008 From: roman.kennke at aicas.com (Roman Kennke) Date: Mon, 17 Nov 2008 22:48:48 +0100 Subject: Exception handler question Message-ID: <1226958528.6432.23.camel@moonlight> Hi, I have a question regarding exception handlers. If I have code like this: synchronized (o) { x(); } produces bytecode like this: 0: aload_1 1: dup 2: astore_2 3: monitorenter # 4: aload_0 # 5: invokevirtual #2; //Method x:()V # 8: aload_2 # 9: monitorexit 10: goto 18 * 13: astore_3 * 14: aload_2 * 15: monitorexit 16: aload_3 17: athrow 18: return Exception table: from to target type # 4 10 13 any * 13 16 13 any The code marked with # has an exception handler, which is marked with *. This is clearly ok, it is made so that the monitors are correctly exited when an exception is thrown in the sync block. My question is, why does the exception handler * point to itself? Wouldn't that catapult the VM into a loop, if monitorexit fails? A scenario that comes to mind is when x() is a JNI function that does a monitorexit. I'd like to understand why this code is generated like this. /Roman -- Dipl.-Inform. (FH) Roman Kennke, Software Engineer, http://kennke.org aicas Allerton Interworks Computer Automated Systems GmbH Haid-und-Neu-Stra?e 18 * D-76131 Karlsruhe * Germany http://www.aicas.com * Tel: +49-721-663 968-48 USt-Id: DE216375633, Handelsregister HRB 109481, AG Karlsruhe Gesch?ftsf?hrer: Dr. James J. Hunt From xueming.shen at sun.com Wed Nov 19 14:37:28 2008 From: xueming.shen at sun.com (xueming.shen at sun.com) Date: Wed, 19 Nov 2008 22:37:28 +0000 Subject: hg: jdk7/tl/jdk: 6714428: 'os.name' system property shows wrong value on 64-bit Windows XP Message-ID: <20081119223759.23ADFD6E7@hg.openjdk.java.net> Changeset: 4f985ba72055 Author: sherman Date: 2008-11-19 14:29 -0800 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/4f985ba72055 6714428: 'os.name' system property shows wrong value on 64-bit Windows XP Summary: update to detect the correct os.name for 64-bit XP Reviewed-by: darcy ! src/windows/native/java/lang/java_props_md.c From eamonn.mcmanus at sun.com Thu Nov 20 01:12:46 2008 From: eamonn.mcmanus at sun.com (eamonn.mcmanus at sun.com) Date: Thu, 20 Nov 2008 09:12:46 +0000 Subject: hg: jdk7/tl/jdk: 6772779: @NotificationInfo does not create MBeanNotificationInfo in the MBean's MBeanInfo; ... Message-ID: <20081120091258.7A006D7E0@hg.openjdk.java.net> Changeset: 098e456e860e Author: emcmanus Date: 2008-11-20 10:10 +0100 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/098e456e860e 6772779: @NotificationInfo does not create MBeanNotificationInfo in the MBean's MBeanInfo 6773593: CompositeDataSupport constructor javadoc is not in sync with the implementation Reviewed-by: sjiang ! src/share/classes/com/sun/jmx/interceptor/DefaultMBeanServerInterceptor.java ! src/share/classes/com/sun/jmx/mbeanserver/MBeanIntrospector.java ! src/share/classes/javax/management/openmbean/CompositeDataSupport.java ! test/javax/management/Introspector/AnnotatedNotificationInfoTest.java From xueming.shen at sun.com Thu Nov 20 14:16:13 2008 From: xueming.shen at sun.com (xueming.shen at sun.com) Date: Thu, 20 Nov 2008 22:16:13 +0000 Subject: hg: jdk7/tl/jdk: 6745216: missing 4 chraset aliases in sun.nio.cs package Message-ID: <20081120221641.7C830D827@hg.openjdk.java.net> Changeset: 9df22bc448a3 Author: sherman Date: 2008-11-20 14:06 -0800 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/9df22bc448a3 6745216: missing 4 chraset aliases in sun.nio.cs package Summary: added "834" into x-IBM834's aliase list. Reviewed-by: alanb ! src/share/classes/sun/nio/cs/ext/ExtendedCharsets.java From daniel.fuchs at sun.com Fri Nov 21 09:21:48 2008 From: daniel.fuchs at sun.com (daniel.fuchs at sun.com) Date: Fri, 21 Nov 2008 17:21:48 +0000 Subject: hg: jdk7/tl/jdk: 6774170: LocalRMIServerSocketFactory should protect against ServerSocket.accept().getInetAddress() being null Message-ID: <20081121172208.872D5D88D@hg.openjdk.java.net> Changeset: 97e2e87aa035 Author: dfuchs Date: 2008-11-21 18:18 +0100 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/97e2e87aa035 6774170: LocalRMIServerSocketFactory should protect against ServerSocket.accept().getInetAddress() being null Reviewed-by: emcmanus, jfdenise ! src/share/classes/sun/management/jmxremote/LocalRMIServerSocketFactory.java + test/sun/management/jmxremote/LocalRMIServerSocketFactoryTest.java From tim.bell at sun.com Sat Nov 22 20:00:28 2008 From: tim.bell at sun.com (tim.bell at sun.com) Date: Sun, 23 Nov 2008 04:00:28 +0000 Subject: hg: jdk7/tl: Added tag jdk7-b40 for changeset 44be42de6693 Message-ID: <20081123040028.D9442DA5D@hg.openjdk.java.net> Changeset: 8c34e4abcb43 Author: xdono Date: 2008-11-20 11:39 -0800 URL: http://hg.openjdk.java.net/jdk7/tl/rev/8c34e4abcb43 Added tag jdk7-b40 for changeset 44be42de6693 ! .hgtags From tim.bell at sun.com Sat Nov 22 20:03:38 2008 From: tim.bell at sun.com (tim.bell at sun.com) Date: Sun, 23 Nov 2008 04:03:38 +0000 Subject: hg: jdk7/tl/corba: Added tag jdk7-b40 for changeset 184e21992f47 Message-ID: <20081123040339.C63B5DA62@hg.openjdk.java.net> Changeset: c90eeda9594e Author: xdono Date: 2008-11-20 11:39 -0800 URL: http://hg.openjdk.java.net/jdk7/tl/corba/rev/c90eeda9594e Added tag jdk7-b40 for changeset 184e21992f47 ! .hgtags From tim.bell at sun.com Sat Nov 22 20:07:56 2008 From: tim.bell at sun.com (tim.bell at sun.com) Date: Sun, 23 Nov 2008 04:07:56 +0000 Subject: hg: jdk7/tl/hotspot: 14 new changesets Message-ID: <20081123040823.ACCD4DA67@hg.openjdk.java.net> Changeset: c7ec737733a6 Author: kamg Date: 2008-10-30 15:48 -0400 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/c7ec737733a6 6756528: Bytecodes::special_length_at reads past end of code buffer Summary: Add end-of-buffer indicator for paths used by the verifier Reviewed-by: acorn, coleenp ! src/share/vm/interpreter/bytecodeStream.cpp ! src/share/vm/interpreter/bytecodes.cpp ! src/share/vm/interpreter/bytecodes.hpp Changeset: 348be627a148 Author: xlu Date: 2008-10-31 10:34 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/348be627a148 Merge Changeset: 4d9884b01ba6 Author: never Date: 2008-10-28 09:31 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/4d9884b01ba6 6754519: don't emit flag fixup for NaN when condition being tested doesn't need it Reviewed-by: kvn, rasbold ! src/cpu/sparc/vm/sparc.ad ! src/cpu/x86/vm/x86_32.ad ! src/cpu/x86/vm/x86_64.ad ! src/share/vm/adlc/adlparse.cpp ! src/share/vm/adlc/adlparse.hpp ! src/share/vm/adlc/filebuff.cpp ! src/share/vm/adlc/filebuff.hpp ! src/share/vm/adlc/forms.cpp ! src/share/vm/adlc/forms.hpp ! src/share/vm/adlc/formssel.cpp ! src/share/vm/adlc/formssel.hpp ! src/share/vm/adlc/output_c.cpp ! src/share/vm/adlc/output_h.cpp ! src/share/vm/opto/matcher.hpp ! src/share/vm/opto/output.cpp ! src/share/vm/opto/reg_split.cpp Changeset: b6cfd754403d Author: never Date: 2008-10-28 18:02 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/b6cfd754403d 6649622: HotSpot Biased locking needs tuning on latest CPUs Reviewed-by: rasbold, kvn, kamg ! src/share/vm/runtime/arguments.cpp Changeset: f4fe12e429a4 Author: never Date: 2008-10-30 17:08 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/f4fe12e429a4 6764622: IdealGraphVisualizer fixes Reviewed-by: rasbold, jrose ! src/share/tools/IdealGraphVisualizer/Bytecodes/src/com/sun/hotspot/igv/bytecodes/BytecodeViewTopComponent.java ! src/share/tools/IdealGraphVisualizer/ControlFlow/src/com/sun/hotspot/igv/controlflow/ControlFlowScene.java ! src/share/tools/IdealGraphVisualizer/ControlFlow/src/com/sun/hotspot/igv/controlflow/ControlFlowTopComponent.java ! src/share/tools/IdealGraphVisualizer/Coordinator/src/com/sun/hotspot/igv/coordinator/FolderNode.java ! src/share/tools/IdealGraphVisualizer/Data/src/com/sun/hotspot/igv/data/GraphDocument.java ! src/share/tools/IdealGraphVisualizer/Data/src/com/sun/hotspot/igv/data/Group.java ! src/share/tools/IdealGraphVisualizer/Data/src/com/sun/hotspot/igv/data/InputGraph.java ! src/share/tools/IdealGraphVisualizer/Data/src/com/sun/hotspot/igv/data/InputMethod.java ! src/share/tools/IdealGraphVisualizer/Data/src/com/sun/hotspot/igv/data/InputNode.java ! src/share/tools/IdealGraphVisualizer/Data/src/com/sun/hotspot/igv/data/Properties.java ! src/share/tools/IdealGraphVisualizer/Data/src/com/sun/hotspot/igv/data/Property.java ! src/share/tools/IdealGraphVisualizer/Data/src/com/sun/hotspot/igv/data/serialization/Parser.java ! src/share/tools/IdealGraphVisualizer/Data/src/com/sun/hotspot/igv/data/serialization/Printer.java ! src/share/tools/IdealGraphVisualizer/Data/src/com/sun/hotspot/igv/data/serialization/XMLParser.java ! src/share/tools/IdealGraphVisualizer/Data/src/com/sun/hotspot/igv/data/serialization/XMLWriter.java ! src/share/tools/IdealGraphVisualizer/Difference/src/com/sun/hotspot/igv/difference/Difference.java ! src/share/tools/IdealGraphVisualizer/Filter/manifest.mf ! src/share/tools/IdealGraphVisualizer/Filter/src/com/sun/hotspot/igv/filter/CustomFilter.java ! src/share/tools/IdealGraphVisualizer/Filter/src/com/sun/hotspot/igv/filter/SplitFilter.java ! src/share/tools/IdealGraphVisualizer/Graph/src/com/sun/hotspot/igv/graph/Diagram.java ! src/share/tools/IdealGraphVisualizer/Graph/src/com/sun/hotspot/igv/graph/Figure.java ! src/share/tools/IdealGraphVisualizer/HierarchicalLayout/src/com/sun/hotspot/igv/hierarchicallayout/Graph.java ! src/share/tools/IdealGraphVisualizer/HierarchicalLayout/src/com/sun/hotspot/igv/hierarchicallayout/HierarchicalClusterLayoutManager.java ! src/share/tools/IdealGraphVisualizer/Layout/src/com/sun/hotspot/igv/layout/LayoutGraph.java ! src/share/tools/IdealGraphVisualizer/README ! src/share/tools/IdealGraphVisualizer/Util/src/com/sun/hotspot/igv/util/PropertiesSheet.java ! src/share/tools/IdealGraphVisualizer/Util/src/com/sun/hotspot/igv/util/RangeSliderModel.java ! src/share/tools/IdealGraphVisualizer/View/src/com/sun/hotspot/igv/view/DiagramScene.java ! src/share/tools/IdealGraphVisualizer/View/src/com/sun/hotspot/igv/view/DiagramViewModel.java ! src/share/tools/IdealGraphVisualizer/View/src/com/sun/hotspot/igv/view/FindPanel.java ! src/share/tools/IdealGraphVisualizer/nbproject/platform.properties ! src/share/tools/IdealGraphVisualizer/nbproject/project.properties ! src/share/vm/adlc/output_h.cpp ! src/share/vm/opto/compile.cpp ! src/share/vm/opto/type.cpp ! src/share/vm/runtime/frame.cpp Changeset: 72c5366e5d86 Author: rasbold Date: 2008-11-06 14:59 -0800 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/72c5366e5d86 6743900: frequency based block layout Summary: post-register allocation pass that drives block layout by edge frequencies Reviewed-by: never, kvn ! src/share/vm/opto/block.cpp ! src/share/vm/opto/block.hpp ! src/share/vm/opto/c2_globals.hpp ! src/share/vm/opto/compile.cpp ! src/share/vm/opto/compile.hpp ! src/share/vm/opto/gcm.cpp ! src/share/vm/opto/output.cpp ! src/share/vm/opto/phase.cpp ! src/share/vm/opto/phase.hpp Changeset: 0bf25c4807f9 Author: never Date: 2008-11-06 20:00 -0800 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/0bf25c4807f9 6761594: framesize rounding code rounds using wrong units leading to slightly oversized frames Reviewed-by: rasbold, kvn ! src/share/vm/opto/chaitin.cpp Changeset: a1980da045cc Author: kvn Date: 2008-11-07 09:29 -0800 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/a1980da045cc 6462850: generate biased locking code in C2 ideal graph Summary: Inline biased locking code in C2 ideal graph during macro nodes expansion Reviewed-by: never ! src/cpu/sparc/vm/assembler_sparc.cpp ! src/cpu/sparc/vm/assembler_sparc.hpp ! src/cpu/sparc/vm/sparc.ad ! src/cpu/x86/vm/assembler_x86.cpp ! src/cpu/x86/vm/assembler_x86.hpp ! src/cpu/x86/vm/x86_32.ad ! src/cpu/x86/vm/x86_64.ad ! src/os_cpu/linux_x86/vm/linux_x86_32.ad ! src/os_cpu/solaris_x86/vm/solaris_x86_32.ad ! src/share/vm/adlc/formssel.cpp ! src/share/vm/opto/c2_globals.hpp ! src/share/vm/opto/callnode.cpp ! src/share/vm/opto/callnode.hpp ! src/share/vm/opto/classes.hpp ! src/share/vm/opto/compile.cpp ! src/share/vm/opto/library_call.cpp ! src/share/vm/opto/loopTransform.cpp ! src/share/vm/opto/macro.cpp ! src/share/vm/opto/macro.hpp ! src/share/vm/opto/matcher.cpp ! src/share/vm/opto/memnode.cpp ! src/share/vm/opto/memnode.hpp ! src/share/vm/opto/type.hpp ! src/share/vm/runtime/arguments.cpp ! src/share/vm/utilities/vmError.cpp Changeset: 577f3a2e0662 Author: never Date: 2008-11-07 13:55 -0800 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/577f3a2e0662 Merge Changeset: 05db98ed59ba Author: coleenp Date: 2008-11-07 11:03 -0500 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/05db98ed59ba 6760773: UseCompressedOops is broken with UseParNewGC Summary: sparc code for gen_subtype_check was doing an ld for a compressed oop with the sign bit set so not comparing, leading to a ClassCastException. Reviewed-by: phh, never, acorn, kvn, xlu ! src/cpu/sparc/vm/interp_masm_sparc.cpp ! src/cpu/sparc/vm/stubGenerator_sparc.cpp Changeset: 909cfd030fab Author: kamg Date: 2008-11-12 11:23 -0500 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/909cfd030fab Merge Changeset: 7704802ec1ce Author: trims Date: 2008-11-14 19:23 -0800 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/7704802ec1ce Merge Changeset: 81a0cbe3b284 Author: trims Date: 2008-11-14 19:26 -0800 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/81a0cbe3b284 6771977: Bump HS14 build number to 07 Summary: Update the Hotspot build number to 07 Reviewed-by: jcoomes ! make/hotspot_version Changeset: 316c0b576ea1 Author: xdono Date: 2008-11-20 11:39 -0800 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/316c0b576ea1 Added tag jdk7-b40 for changeset 81a0cbe3b284 ! .hgtags From tim.bell at sun.com Sat Nov 22 20:13:01 2008 From: tim.bell at sun.com (tim.bell at sun.com) Date: Sun, 23 Nov 2008 04:13:01 +0000 Subject: hg: jdk7/tl/jaxp: Added tag jdk7-b40 for changeset 54946f466e2c Message-ID: <20081123041303.3EF52DA6C@hg.openjdk.java.net> Changeset: 0758bd3e2852 Author: xdono Date: 2008-11-20 11:39 -0800 URL: http://hg.openjdk.java.net/jdk7/tl/jaxp/rev/0758bd3e2852 Added tag jdk7-b40 for changeset 54946f466e2c ! .hgtags From tim.bell at sun.com Sat Nov 22 20:16:13 2008 From: tim.bell at sun.com (tim.bell at sun.com) Date: Sun, 23 Nov 2008 04:16:13 +0000 Subject: hg: jdk7/tl/jaxws: Added tag jdk7-b40 for changeset 70a6ac6dd737 Message-ID: <20081123041615.3C4C1DA71@hg.openjdk.java.net> Changeset: a8379d24aa03 Author: xdono Date: 2008-11-20 11:39 -0800 URL: http://hg.openjdk.java.net/jdk7/tl/jaxws/rev/a8379d24aa03 Added tag jdk7-b40 for changeset 70a6ac6dd737 ! .hgtags From tim.bell at sun.com Sat Nov 22 20:19:30 2008 From: tim.bell at sun.com (tim.bell at sun.com) Date: Sun, 23 Nov 2008 04:19:30 +0000 Subject: hg: jdk7/tl/jdk: 3 new changesets Message-ID: <20081123042012.3F47ADA76@hg.openjdk.java.net> Changeset: d00c685ae55e Author: xdono Date: 2008-11-20 11:39 -0800 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/d00c685ae55e Added tag jdk7-b40 for changeset 2201dad60231 ! .hgtags Changeset: 44941f893cea Author: tbell Date: 2008-11-21 15:21 -0800 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/44941f893cea Merge Changeset: ce2d0938ea27 Author: tbell Date: 2008-11-21 20:53 -0800 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/ce2d0938ea27 Merge From tim.bell at sun.com Sat Nov 22 20:25:56 2008 From: tim.bell at sun.com (tim.bell at sun.com) Date: Sun, 23 Nov 2008 04:25:56 +0000 Subject: hg: jdk7/tl/langtools: 2 new changesets Message-ID: <20081123042600.2312FDA7B@hg.openjdk.java.net> Changeset: 82463d00ac70 Author: xdono Date: 2008-11-20 11:39 -0800 URL: http://hg.openjdk.java.net/jdk7/tl/langtools/rev/82463d00ac70 Added tag jdk7-b40 for changeset 32e309883246 ! .hgtags Changeset: ded6b40f558e Author: tbell Date: 2008-11-21 15:21 -0800 URL: http://hg.openjdk.java.net/jdk7/tl/langtools/rev/ded6b40f558e Merge From martinrb at google.com Sun Nov 23 16:34:03 2008 From: martinrb at google.com (martinrb at google.com) Date: Mon, 24 Nov 2008 00:34:03 +0000 Subject: hg: jdk7/tl/jdk: 6775152: freetype version check program problem main arg order Message-ID: <20081124003418.64EB5DAB8@hg.openjdk.java.net> Changeset: d7b0a715bd3b Author: martin Date: 2008-11-23 09:56 -0800 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/d7b0a715bd3b 6775152: freetype version check program problem main arg order Summary: Fix all compiler warnings Reviewed-by: ohair, tbell ! make/common/shared/Sanity.gmk From sean.mullan at sun.com Tue Nov 25 07:34:07 2008 From: sean.mullan at sun.com (sean.mullan at sun.com) Date: Tue, 25 Nov 2008 15:34:07 +0000 Subject: hg: jdk7/tl/jdk: 6728890: Add SwissSign root certificates to the JDK; ... Message-ID: <20081125153422.6746DDC01@hg.openjdk.java.net> Changeset: 31cb1c17f524 Author: mullan Date: 2008-11-25 10:17 -0500 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/31cb1c17f524 6728890: Add SwissSign root certificates to the JDK 6732157: Add VeriSign TSA Root Cert to the JDK 6754779: Add Camerfirma root certificates to the JDK 6768559: Add t-systems root CA certificate (Deutsche Telekom Root CA 2) to the JRE Reviewed-by: vinnie ! test/lib/security/cacerts/VerifyCACerts.java From xueming.shen at sun.com Tue Nov 25 10:20:05 2008 From: xueming.shen at sun.com (xueming.shen at sun.com) Date: Tue, 25 Nov 2008 18:20:05 +0000 Subject: hg: jdk7/tl/jdk: 6774710: spp.sh used by genBasic.sh/genCopyDirectMemory.sh Message-ID: <20081125182018.6196BDC13@hg.openjdk.java.net> Changeset: b1620482689a Author: sherman Date: 2008-11-25 10:09 -0800 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/b1620482689a 6774710: spp.sh used by genBasic.sh/genCopyDirectMemory.sh Summary: update the scripts to use java version of spp Reviewed-by: alanb ! test/java/nio/Buffer/genBasic.sh ! test/java/nio/Buffer/genCopyDirectMemory.sh From alan.bateman at sun.com Tue Nov 25 11:33:07 2008 From: alan.bateman at sun.com (alan.bateman at sun.com) Date: Tue, 25 Nov 2008 19:33:07 +0000 Subject: hg: jdk7/tl/jdk: 6593946: (bf) X-Buffer.compact() does not discard mark as specified Message-ID: <20081125193322.F36FDDC2A@hg.openjdk.java.net> Changeset: b7c47f49a53d Author: alanb Date: 2008-11-25 19:26 +0000 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/b7c47f49a53d 6593946: (bf) X-Buffer.compact() does not discard mark as specified Summary: InvalidMarkException now correctly thrown. Thanks to keiths at redhat.com for the bug report and initial fix. Reviewed-by: sherman, darcy ! src/share/classes/java/nio/Buffer.java ! src/share/classes/java/nio/ByteBufferAs-X-Buffer.java ! src/share/classes/java/nio/Direct-X-Buffer.java ! src/share/classes/java/nio/Heap-X-Buffer.java ! test/java/nio/Buffer/Basic-X.java ! test/java/nio/Buffer/Basic.java ! test/java/nio/Buffer/BasicByte.java ! test/java/nio/Buffer/BasicChar.java ! test/java/nio/Buffer/BasicDouble.java ! test/java/nio/Buffer/BasicFloat.java ! test/java/nio/Buffer/BasicInt.java ! test/java/nio/Buffer/BasicLong.java ! test/java/nio/Buffer/BasicShort.java ! test/java/nio/Buffer/genBasic.sh From maurizio.cimadamore at sun.com Wed Nov 26 03:20:33 2008 From: maurizio.cimadamore at sun.com (maurizio.cimadamore at sun.com) Date: Wed, 26 Nov 2008 11:20:33 +0000 Subject: hg: jdk7/tl/langtools: 6776289: Regression: javac7 doesnt resolve method calls properly Message-ID: <20081126112034.F1EACDC65@hg.openjdk.java.net> Changeset: 1d1f34b36535 Author: mcimadamore Date: 2008-11-26 11:07 +0000 URL: http://hg.openjdk.java.net/jdk7/tl/langtools/rev/1d1f34b36535 6776289: Regression: javac7 doesnt resolve method calls properly Summary: Superclass' private methods shouldn't be considered during method resolution Reviewed-by: jjg ! src/share/classes/com/sun/tools/javac/comp/Resolve.java ! test/tools/javac/generics/6711619/T6711619a.out + test/tools/javac/overload/T6776289.java From christopher.hegarty at sun.com Wed Nov 26 07:41:27 2008 From: christopher.hegarty at sun.com (christopher.hegarty at sun.com) Date: Wed, 26 Nov 2008 15:41:27 +0000 Subject: hg: jdk7/tl/jdk: 6720866: Slow performance using HttpURLConnection for upload Message-ID: <20081126154140.7B113DC88@hg.openjdk.java.net> Changeset: a0709a172b6d Author: chegar Date: 2008-11-26 15:37 +0000 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/a0709a172b6d 6720866: Slow performance using HttpURLConnection for upload Reviewed-by: michaelm ! src/share/classes/sun/net/www/http/ChunkedOutputStream.java From eamonn.mcmanus at sun.com Thu Nov 27 06:48:26 2008 From: eamonn.mcmanus at sun.com (eamonn.mcmanus at sun.com) Date: Thu, 27 Nov 2008 14:48:26 +0000 Subject: hg: jdk7/tl/jdk: 6776225: JMX.isNotificationSource wrong when DynamicWrapperMBean + SendNotification injection Message-ID: <20081127144840.C8B49DDA3@hg.openjdk.java.net> Changeset: 24a31530683d Author: emcmanus Date: 2008-11-27 15:44 +0100 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/24a31530683d 6776225: JMX.isNotificationSource wrong when DynamicWrapperMBean + SendNotification injection Reviewed-by: dfuchs, jfdenise ! src/share/classes/com/sun/jmx/mbeanserver/MBeanIntrospector.java ! src/share/classes/javax/management/JMX.java ! src/share/classes/javax/management/StandardEmitterMBean.java ! src/share/classes/javax/management/StandardMBean.java ! test/javax/management/MBeanServer/DynamicWrapperMBeanTest.java From xueming.shen at sun.com Sat Nov 29 21:12:55 2008 From: xueming.shen at sun.com (xueming.shen at sun.com) Date: Sun, 30 Nov 2008 05:12:55 +0000 Subject: hg: jdk7/tl/jdk: 6725399: (ch) Channels.newInputStream should check for null Message-ID: <20081130051308.6F86EDE41@hg.openjdk.java.net> Changeset: 3d110bb4dc19 Author: sherman Date: 2008-11-29 20:55 -0800 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/3d110bb4dc19 6725399: (ch) Channels.newInputStream should check for null Summary: update to check null arg for all Channels methods Reviewed-by: alanb ! src/share/classes/java/nio/channels/Channels.java ! test/java/nio/channels/Channels/Basic.java From forax at univ-mlv.fr Sun Nov 30 08:37:38 2008 From: forax at univ-mlv.fr (=?ISO-8859-1?Q?R=E9mi_Forax?=) Date: Sun, 30 Nov 2008 17:37:38 +0100 Subject: com.sun.tools.javac.util.List.subList() doesn't return a view. Message-ID: <4932C152.7080807@univ-mlv.fr> Hi all, I currently try to use parsers generated by Tatoo (http://tatoo.univ-mlv.fr/) as front-end of javac. Browing the class com.sun.tools.javac.util.List I've seen that subList() is not correctly implemented, subList() requires that the returned subList is a view. R?mi