From david.lloyd at redhat.com Thu May 1 15:07:29 2008 From: david.lloyd at redhat.com (David M. Lloyd) Date: Thu, 01 May 2008 10:07:29 -0500 Subject: [PATCH 0/3] RFC: Adding Closeable to various JDK classes Message-ID: <4819DCB1.2040505@redhat.com> This series of patches adds the java.io.Closeable interface to a few different core JDK classes. Some of them are more obvious/better fits than others; I've split the patch up into groups based on how "out there" I think the idea is. :-) Anyway please comment on these patches. - DML From david.lloyd at redhat.com Thu May 1 15:08:42 2008 From: david.lloyd at redhat.com (David M. Lloyd) Date: Thu, 01 May 2008 10:08:42 -0500 Subject: [PATCH 1/3] RFC: Adding Closeable to various JDK classes In-Reply-To: <4819DCB1.2040505@redhat.com> References: <4819DCB1.2040505@redhat.com> Message-ID: <4819DCFA.2090901@redhat.com> Add Closeable to core I/O classes and interfaces. This one is a no-brainer - I hope. ;-) Included is java.util.zip.ZipFile, since that class has a close method which exactly matches the Closeable interface specification. - DML -- diff -r 92ea0ac77d2f src/share/classes/java/io/ObjectInput.java --- a/src/share/classes/java/io/ObjectInput.java Tue Apr 22 18:58:40 2008 +0200 +++ b/src/share/classes/java/io/ObjectInput.java Thu May 01 09:58:43 2008 -0500 @@ -36,7 +36,7 @@ package java.io; * @see java.io.ObjectInputStream * @since JDK1.1 */ -public interface ObjectInput extends DataInput { +public interface ObjectInput extends DataInput, Closeable { /** * Read and return an object. The class that implements this interface * defines where the object is "read" from. diff -r 92ea0ac77d2f src/share/classes/java/io/ObjectOutput.java --- a/src/share/classes/java/io/ObjectOutput.java Tue Apr 22 18:58:40 2008 +0200 +++ b/src/share/classes/java/io/ObjectOutput.java Thu May 01 09:58:43 2008 -0500 @@ -36,7 +36,7 @@ package java.io; * @see java.io.ObjectInputStream * @since JDK1.1 */ -public interface ObjectOutput extends DataOutput { +public interface ObjectOutput extends DataOutput, Flushable, Closeable { /** * Write an object to the underlying storage or stream. The * class that implements this interface defines how the object is diff -r 92ea0ac77d2f src/share/classes/java/nio/channels/Selector.java --- a/src/share/classes/java/nio/channels/Selector.java Tue Apr 22 18:58:40 2008 +0200 +++ b/src/share/classes/java/nio/channels/Selector.java Thu May 01 09:58:43 2008 -0500 @@ -25,6 +25,7 @@ package java.nio.channels; +import java.io.Closeable; import java.io.IOException; import java.nio.channels.spi.SelectorProvider; import java.util.Set; @@ -202,7 +203,7 @@ import java.util.Set; * @see SelectionKey */ -public abstract class Selector { +public abstract class Selector implements Closeable { /** * Initializes a new instance of this class. diff -r 92ea0ac77d2f src/share/classes/java/util/zip/ZipFile.java --- a/src/share/classes/java/util/zip/ZipFile.java Tue Apr 22 18:58:40 2008 +0200 +++ b/src/share/classes/java/util/zip/ZipFile.java Thu May 01 09:58:43 2008 -0500 @@ -29,6 +29,7 @@ import java.io.IOException; import java.io.IOException; import java.io.EOFException; import java.io.File; +import java.io.Closeable; import java.util.Vector; import java.util.Enumeration; import java.util.NoSuchElementException; @@ -43,7 +44,7 @@ import java.util.NoSuchElementException; * @author David Connelly */ public -class ZipFile implements ZipConstants { +class ZipFile implements ZipConstants, Closeable { private long jzfile; // address of jzfile data private String name; // zip file name private int total; // total number of entries From david.lloyd at redhat.com Thu May 1 15:09:18 2008 From: david.lloyd at redhat.com (David M. Lloyd) Date: Thu, 01 May 2008 10:09:18 -0500 Subject: [PATCH 2/3] RFC: Adding Closeable to various JDK classes In-Reply-To: <4819DCB1.2040505@redhat.com> References: <4819DCB1.2040505@redhat.com> Message-ID: <4819DD1E.805@redhat.com> Add Closeable to two util classes: Scanner, and the JDK logging Handler class. -- diff -r 92ea0ac77d2f src/share/classes/java/util/Scanner.java --- a/src/share/classes/java/util/Scanner.java Tue Apr 22 18:58:40 2008 +0200 +++ b/src/share/classes/java/util/Scanner.java Thu May 01 09:58:43 2008 -0500 @@ -342,7 +342,7 @@ import sun.misc.LRUCache; * * @since 1.5 */ -public final class Scanner implements Iterator { +public final class Scanner implements Iterator, Closeable { // Internal buffer used to hold input private CharBuffer buf; diff -r 92ea0ac77d2f src/share/classes/java/util/logging/Handler.java --- a/src/share/classes/java/util/logging/Handler.java Tue Apr 22 18:58:40 2008 +0200 +++ b/src/share/classes/java/util/logging/Handler.java Thu May 01 09:58:43 2008 -0500 @@ -27,6 +27,8 @@ package java.util.logging; package java.util.logging; import java.io.UnsupportedEncodingException; +import java.io.Closeable; + /** * A Handler object takes log messages from a Logger and * exports them. It might for example, write them to a console @@ -45,7 +47,7 @@ import java.io.UnsupportedEncodingExcept * @since 1.4 */ -public abstract class Handler { +public abstract class Handler implements Closeable { private static final int offValue = Level.OFF.intValue(); private LogManager manager = LogManager.getLogManager(); private Filter filter; From david.lloyd at redhat.com Thu May 1 15:09:41 2008 From: david.lloyd at redhat.com (David M. Lloyd) Date: Thu, 01 May 2008 10:09:41 -0500 Subject: [PATCH 3/3] RFC: Adding Closeable to various JDK classes In-Reply-To: <4819DCB1.2040505@redhat.com> References: <4819DCB1.2040505@redhat.com> Message-ID: <4819DD35.2040908@redhat.com> Add Closeable to MIDI and sound channel classes. Though the close() method on these classes don't throw an exception, they still could implement this interface. - DML -- diff -r 92ea0ac77d2f src/share/classes/javax/sound/midi/MidiDevice.java --- a/src/share/classes/javax/sound/midi/MidiDevice.java Tue Apr 22 18:58:40 2008 +0200 +++ b/src/share/classes/javax/sound/midi/MidiDevice.java Thu May 01 09:58:43 2008 -0500 @@ -26,6 +26,7 @@ package javax.sound.midi; package javax.sound.midi; import java.util.List; +import java.io.Closeable; /** * MidiDevice is the base interface for all MIDI devices. @@ -107,7 +108,7 @@ import java.util.List; * @author Florian Bomers */ -public interface MidiDevice { +public interface MidiDevice extends Closeable { /** diff -r 92ea0ac77d2f src/share/classes/javax/sound/midi/Receiver.java --- a/src/share/classes/javax/sound/midi/Receiver.java Tue Apr 22 18:58:40 2008 +0200 +++ b/src/share/classes/javax/sound/midi/Receiver.java Thu May 01 09:58:43 2008 -0500 @@ -25,6 +25,8 @@ package javax.sound.midi; +import java.io.Closeable; + /** * A Receiver receives {@link MidiEvent} objects and @@ -38,7 +40,7 @@ package javax.sound.midi; * * @author Kara Kytle */ -public interface Receiver { +public interface Receiver extends Closeable { //$$fb 2002-04-12: fix for 4662090: Contradiction in Receiver specification diff -r 92ea0ac77d2f src/share/classes/javax/sound/midi/Transmitter.java --- a/src/share/classes/javax/sound/midi/Transmitter.java Tue Apr 22 18:58:40 2008 +0200 +++ b/src/share/classes/javax/sound/midi/Transmitter.java Thu May 01 09:58:43 2008 -0500 @@ -25,6 +25,8 @@ package javax.sound.midi; +import java.io.Closeable; + /** * A Transmitter sends {@link MidiEvent} objects to one or more @@ -35,7 +37,7 @@ package javax.sound.midi; * * @author Kara Kytle */ -public interface Transmitter { +public interface Transmitter extends Closeable { /** diff -r 92ea0ac77d2f src/share/classes/javax/sound/sampled/Line.java --- a/src/share/classes/javax/sound/sampled/Line.java Tue Apr 22 18:58:40 2008 +0200 +++ b/src/share/classes/javax/sound/sampled/Line.java Thu May 01 09:58:43 2008 -0500 @@ -24,6 +24,8 @@ */ package javax.sound.sampled; + +import java.io.Closeable; /** * The Line interface represents a mono or multi-channel @@ -70,7 +72,7 @@ package javax.sound.sampled; * @see LineEvent * @since 1.3 */ -public interface Line { +public interface Line extends Closeable { /** * Obtains the Line.Info object describing this From neal at gafter.com Thu May 1 15:29:01 2008 From: neal at gafter.com (Neal Gafter) Date: Thu, 1 May 2008 08:29:01 -0700 Subject: [PATCH 0/3] RFC: Adding Closeable to various JDK classes In-Reply-To: <4819DCB1.2040505@redhat.com> References: <4819DCB1.2040505@redhat.com> Message-ID: <15e8b9d20805010829l698f413dl3fa43b37fcda7042@mail.gmail.com> Seems like a desirable specification change. All we need now is a process for changing the Java SE specification. On Thu, May 1, 2008 at 8:07 AM, David M. Lloyd wrote: > This series of patches adds the java.io.Closeable interface to a few > different core JDK classes. Some of them are more obvious/better fits than > others; I've split the patch up into groups based on how "out there" I think > the idea is. :-) > > Anyway please comment on these patches. > > - DML > From bradford.wetmore at sun.com Fri May 2 21:40:35 2008 From: bradford.wetmore at sun.com (bradford.wetmore at sun.com) Date: Fri, 02 May 2008 21:40:35 +0000 Subject: hg: jdk7/tl/jdk: 19 new changesets Message-ID: <20080502214421.E6FE427BDE@hg.openjdk.java.net> Changeset: ad75c4b21d63 Author: weijun Date: 2008-04-10 19:58 +0800 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/ad75c4b21d63 6675606: javax.security.auth.login.Configuration does not recognize path with spaces Reviewed-by: chegar, xuelei ! src/share/classes/com/sun/security/auth/login/ConfigFile.java + test/javax/security/auth/login/Configuration/ConfigFileWithBlank.java Changeset: c0eb84957bea Author: xuelei Date: 2008-04-11 03:33 -0400 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/c0eb84957bea 6546639: (spec)javax.net.ssl.SSLContext.getInstance(null) throws undocumented NPE Summary: add NullPointerException description to those methods. Reviewed-by: weijun ! src/share/classes/javax/net/ssl/SSLContext.java Changeset: da9fa1fa9b95 Author: xuelei Date: 2008-04-11 03:43 -0400 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/da9fa1fa9b95 6546671: (spec)javax.net.ssl.TrustManagerFactory.getInstance() throws undocumented NP 5053895: (spec) Unspecified IllegalStateException in TrustManagerFactory Summary: add NullPointerException/IllegalStateException description Reviewed-by: weijun ! src/share/classes/javax/net/ssl/TrustManagerFactory.java ! src/share/classes/javax/net/ssl/TrustManagerFactorySpi.java Changeset: 143e1a9b51a9 Author: xuelei Date: 2008-04-11 03:50 -0400 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/143e1a9b51a9 6571950: SSLSocket(raddr, rport, laddr, lport) allows null as laddr that spec doesn't reflect Summary: add the description that while the local address parameter is null, anyLocalAddress will be used instead. Reviewed-by: weijun ! src/share/classes/java/net/Socket.java ! src/share/classes/javax/net/ssl/SSLSocket.java Changeset: aabdc646cb31 Author: mullan Date: 2008-04-14 10:25 -0400 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/aabdc646cb31 6631361: Spec of AccessControlContext constructor is not complete Summary: Add NullPointerException to @throws clause and treat empty array and array of nulls as equivalent Reviewed-by: valeriep ! src/share/classes/java/security/AccessControlContext.java + test/java/security/AccessControlContext/CheckCtor.java Changeset: b627c3efd97c Author: mullan Date: 2008-04-14 10:41 -0400 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/b627c3efd97c Merge Changeset: 459d23a95dfb Author: chegar Date: 2008-04-15 14:22 +0100 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/459d23a95dfb 6659779: HttpURLConnections logger should log tunnel requests Summary: Invoke Logger for CONNECT request/responses. Reviewed-by: jccollet ! src/share/classes/sun/net/www/protocol/http/HttpURLConnection.java Changeset: a954a6f3be6f Author: chegar Date: 2008-04-16 14:17 +0100 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/a954a6f3be6f 6687282: URLConnection for HTTPS connection through Proxy w/ Digest Authentication gives 400 Bad Request Summary: Change http/digest implementation to use host:port from CONNECT request Reviewed-by: michaelm ! src/share/classes/sun/net/www/protocol/http/DigestAuthentication.java ! src/share/classes/sun/net/www/protocol/http/HttpURLConnection.java Changeset: d44e3bf49ffb Author: jccollet Date: 2008-04-17 11:05 +0200 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/d44e3bf49ffb 6644726: Cookie management issues Summary: Many changes to accomodate RFC 2965 and old Netscape specs Reviewed-by: chegar ! src/share/classes/java/net/CookieManager.java ! src/share/classes/java/net/HttpCookie.java ! src/share/classes/sun/net/www/protocol/http/InMemoryCookieStore.java + test/java/net/CookieHandler/B6644726.java Changeset: 493af4f4be79 Author: wetmore Date: 2008-04-17 16:56 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/493af4f4be79 Merge Changeset: a71ab67d3ece Author: jccollet Date: 2008-04-18 15:23 +0200 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/a71ab67d3ece 6558853: getHostAddress() on connections using IPv6 link-local addrs should have zone id Summary: Set the scope_id_set flag when necessary Reviewed-by: chegar ! src/share/native/java/net/net_util.c + test/java/net/Inet6Address/B6558853.java Changeset: 4e7ad09de58b Author: weijun Date: 2008-04-23 08:10 +0800 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/4e7ad09de58b 6689000: Changes in 6675606 causing regression test failures on windows-i586 Summary: Accept illegal URLs like file:c:/root/x.conf and file:this/that/x.conf Reviewed-by: alanb, chegar ! src/share/classes/com/sun/security/auth/login/ConfigFile.java + test/com/sun/security/auth/login/ConfigFile/IllegalURL.java Changeset: d3af7105cc15 Author: wetmore Date: 2008-04-23 10:20 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/d3af7105cc15 Merge Changeset: 072695f32409 Author: mullan Date: 2008-04-25 08:58 -0400 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/072695f32409 6690169: Specification for BasicPermission.equals() is not consistent Summary: Clarified @return to be consistent with method description Reviewed-by: vinnie ! src/share/classes/java/security/BasicPermission.java Changeset: 44700b433be2 Author: mullan Date: 2008-04-25 09:03 -0400 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/44700b433be2 Merge Changeset: 51eab854cb1a Author: valeriep Date: 2008-04-25 15:19 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/51eab854cb1a 6524501: inconsistency with PKCS#11 spec - 0-value flags in CK_SLOT_INFO struct returned by C_GetSlotInfo() Reviewed-by: mullan ! src/share/classes/sun/security/pkcs11/SunPKCS11.java Changeset: 01dbd203d40e Author: valeriep Date: 2008-04-25 15:24 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/01dbd203d40e 6659990: KerberosTicket.getEndTime does not copy date (findbugs) Reviewed-by: mullan ! src/share/classes/javax/security/auth/kerberos/KerberosTicket.java + test/javax/security/auth/kerberos/KerberosTixDateTest.java Changeset: 4d62bebb22ea Author: valeriep Date: 2008-04-25 15:32 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/4d62bebb22ea Merge Changeset: 27719467fb93 Author: valeriep Date: 2008-04-30 11:10 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/27719467fb93 6695818: New regression test (KerberosTixDateTest) for Kerberos failing on (probably) all platforms. Reviewed-by: mullan ! test/javax/security/auth/kerberos/KerberosTixDateTest.java From i30817 at gmail.com Sat May 3 13:40:12 2008 From: i30817 at gmail.com (Paulo Levi) Date: Sat, 3 May 2008 14:40:12 +0100 Subject: core-libs-dev Digest, Vol 13, Issue 1 In-Reply-To: References: Message-ID: <212322090805030640w718f1e45xdfeec61976a1330e@mail.gmail.com> Is it possible to make the java.sql interface Connection, Statement and ResultSet descend from closeable? -------------- next part -------------- An HTML attachment was scrubbed... URL: From i30817 at gmail.com Sat May 3 14:46:13 2008 From: i30817 at gmail.com (Paulo Levi) Date: Sat, 3 May 2008 15:46:13 +0100 Subject: A new system property? Message-ID: <212322090805030746v39c387ecyf9b8513d3b697f42@mail.gmail.com> I always thought that System.getProperty("user.dir") was sufficient to locate the directory of the "program", meaning that if i wanted to write something to the directory where the jar file is i would just need to get it. Not so, that property gets the location where the java command was invoked, and thus is completly useless for that that. I'd like to propose two new properties: program.home and program.directory. I can mangle it right now parsing the classpath like so: String s = System.getProperty(java.class.path).split(File.pathSeparator)[0]; int i = s.getLastIndexOf(File.separator); s = s.subString(0, i); Still - annoying. From thunderaxiom at gmail.com Sat May 3 16:30:53 2008 From: thunderaxiom at gmail.com (=?ISO-8859-1?Q?Thorbj=F8rn_Ravn_Andersen?=) Date: Sat, 03 May 2008 18:30:53 +0200 Subject: A new system property? In-Reply-To: <212322090805030746v39c387ecyf9b8513d3b697f42@mail.gmail.com> References: <212322090805030746v39c387ecyf9b8513d3b697f42@mail.gmail.com> Message-ID: <481C933D.5060904@gmail.com> Paulo Levi skrev den 03-05-2008 16:46: > I always thought that System.getProperty("user.dir") was sufficient to > locate the directory of the "program", meaning that if i wanted to > write something to the directory where the jar file is i would just > need to get it. > > Not so, that property gets the location where the java command was > invoked, and thus is completly useless for that that. > I'd like to propose two new properties: program.home and program.directory. > > I can mangle it right now parsing the classpath like so > It gives you the current directory of the user. You should not depend on external variables, as it is not used if you use executable jars etc. Try looking at MyClass.class.getProtectionDomain().getCodeSource().getLocation() (not compiled, just derived from javadoc) to get an URL you can work with. From david.lloyd at redhat.com Mon May 5 12:54:28 2008 From: david.lloyd at redhat.com (David M. Lloyd) Date: Mon, 05 May 2008 07:54:28 -0500 Subject: core-libs-dev Digest, Vol 13, Issue 1 In-Reply-To: <212322090805030640w718f1e45xdfeec61976a1330e@mail.gmail.com> References: <212322090805030640w718f1e45xdfeec61976a1330e@mail.gmail.com> Message-ID: <481F0384.7000107@redhat.com> On 05/03/2008 08:40 AM, Paulo Levi wrote: > Is it possible to make the java.sql interface Connection, Statement and > ResultSet descend from closeable? Not that I'm aware of, since SQLException doesn't extend IOException. That said, it might be nice to have a java.sql.Closeable for some future JDBC... I guess once you have that, you could do a java.lang.Closeable with a close method that throws Exception, and derive both java.io.Closeable and java.sql.Closeable from that. :-) Though I'm not 100% certain what impact inserting an interface above java.io.Closeable in the heirarchy would have on backwards compatibility. - DML From neal at gafter.com Mon May 5 14:09:03 2008 From: neal at gafter.com (Neal Gafter) Date: Mon, 5 May 2008 07:09:03 -0700 Subject: core-libs-dev Digest, Vol 13, Issue 1 In-Reply-To: <481F0384.7000107@redhat.com> References: <212322090805030640w718f1e45xdfeec61976a1330e@mail.gmail.com> <481F0384.7000107@redhat.com> Message-ID: <15e8b9d20805050709w17bc39efsba47a75b802190b3@mail.gmail.com> On Mon, May 5, 2008 at 5:54 AM, David M. Lloyd wrote: > On 05/03/2008 08:40 AM, Paulo Levi wrote: > > > Is it possible to make the java.sql interface Connection, Statement and > > ResultSet descend from closeable? > > > > Not that I'm aware of, since SQLException doesn't extend IOException. That > said, it might be nice to have a java.sql.Closeable for some future JDBC... > > I guess once you have that, you could do a java.lang.Closeable with a close > method that throws Exception, and derive both java.io.Closeable and > java.sql.Closeable from that. :-) I think you want Closeable to be something like interface Closeable { void close() throws X; } Deciding how to do this is more of a Java SE specification issue than an OpenJDK implementation issue. From david.lloyd at redhat.com Mon May 5 14:15:32 2008 From: david.lloyd at redhat.com (David M. Lloyd) Date: Mon, 05 May 2008 09:15:32 -0500 Subject: core-libs-dev Digest, Vol 13, Issue 1 In-Reply-To: <15e8b9d20805050709w17bc39efsba47a75b802190b3@mail.gmail.com> References: <212322090805030640w718f1e45xdfeec61976a1330e@mail.gmail.com> <481F0384.7000107@redhat.com> <15e8b9d20805050709w17bc39efsba47a75b802190b3@mail.gmail.com> Message-ID: <481F1684.5060906@redhat.com> On 05/05/2008 09:09 AM, Neal Gafter wrote: > On Mon, May 5, 2008 at 5:54 AM, David M. Lloyd wrote: >> On 05/03/2008 08:40 AM, Paulo Levi wrote: >> >>> Is it possible to make the java.sql interface Connection, Statement and >>> ResultSet descend from closeable? >>> >> Not that I'm aware of, since SQLException doesn't extend IOException. That >> said, it might be nice to have a java.sql.Closeable for some future JDBC... >> >> I guess once you have that, you could do a java.lang.Closeable with a close >> method that throws Exception, and derive both java.io.Closeable and >> java.sql.Closeable from that. :-) > > I think you want Closeable to be something like > > interface Closeable { > void close() throws X; > } > > Deciding how to do this is more of a Java SE specification issue than > an OpenJDK implementation issue. Not really - I mean, this is more complex than it needs to be. You could just have: void close() throws Exception; on the base (java.lang perhaps?) interface, and override with the existing void close() throws IOException; in java.io. Similarly covariant interfaces could exist elsewhere too. The problem with introducing generics on the base interface is that if you want to inherit it from more than once place, you can't - even if the desired exception type is a subclass of all the specified parent interfaces. Using generics where basic covariance can work introduces more problems than it solves. - DML From fw at deneb.enyo.de Thu May 8 00:36:45 2008 From: fw at deneb.enyo.de (Florian Weimer) Date: Thu, 08 May 2008 02:36:45 +0200 Subject: hg: jdk7/tl/jdk: 6690122: Provide a mechanism for specifying Java-level USDT-like dtrace probes In-Reply-To: <20080418042306.9898F27F49@hg.openjdk.java.net> (keith mcguigan's message of "Fri, 18 Apr 2008 04:22:54 +0000") References: <20080418042306.9898F27F49@hg.openjdk.java.net> Message-ID: <87k5i5y6le.fsf@mid.deneb.enyo.de> * keith mcguigan: > 6690122: Provide a mechanism for specifying Java-level USDT-like dtrace probes > Summary: Initial checkin of JSDT code > Reviewed-by: sspitsyn, sbohne > > ! make/com/sun/Makefile > + make/com/sun/tracing/Makefile This file contains the wrong copyright header: diff -r 66c2b0cfc896 make/com/sun/tracing/Makefile --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/make/com/sun/tracing/Makefile Thu May 08 02:33:35 2008 +0200 @@ -0,0 +1,26 @@ +# +# Copyright 2007 Sun Microsystems, Inc. All rights reserved. +# SUN PROPRIETARY/CONFIDENTIAL. Use is subject to license terms. +# + +# +# Makefile for building tracing classes +# [snip] Perhaps you should add some sort of pre-commit hook that looks for these strings. 8-) From Keith.McGuigan at Sun.COM Thu May 8 01:24:23 2008 From: Keith.McGuigan at Sun.COM (Keith McGuigan) Date: Wed, 07 May 2008 21:24:23 -0400 Subject: hg: jdk7/tl/jdk: 6690122: Provide a mechanism for specifying Java-level USDT-like dtrace probes In-Reply-To: <87k5i5y6le.fsf@mid.deneb.enyo.de> References: <20080418042306.9898F27F49@hg.openjdk.java.net> <87k5i5y6le.fsf@mid.deneb.enyo.de> Message-ID: <48225647.1050802@sun.com> I've got new files with the right copyright headers just about ready to hit the repo. Just waiting for a code review. JavaOne is this week so everyone is pretty busy out there right now, so it might have to wait until next week. -- - Keith Florian Weimer wrote: > * keith mcguigan: > >> 6690122: Provide a mechanism for specifying Java-level USDT-like dtrace probes >> Summary: Initial checkin of JSDT code >> Reviewed-by: sspitsyn, sbohne >> >> ! make/com/sun/Makefile >> + make/com/sun/tracing/Makefile > > This file contains the wrong copyright header: > > diff -r 66c2b0cfc896 make/com/sun/tracing/Makefile > --- /dev/null Thu Jan 01 00:00:00 1970 +0000 > +++ b/make/com/sun/tracing/Makefile Thu May 08 02:33:35 2008 +0200 > @@ -0,0 +1,26 @@ > +# > +# Copyright 2007 Sun Microsystems, Inc. All rights reserved. > +# SUN PROPRIETARY/CONFIDENTIAL. Use is subject to license terms. > +# > + > +# > +# Makefile for building tracing classes > +# > > [snip] > > Perhaps you should add some sort of pre-commit hook that looks for these > strings. 8-) From keith.mcguigan at sun.com Fri May 9 00:32:25 2008 From: keith.mcguigan at sun.com (keith.mcguigan at sun.com) Date: Fri, 09 May 2008 00:32:25 +0000 Subject: hg: jdk7/tl/jdk: 6697875: Copyright headers need to be upgraded with GPL derivative Message-ID: <20080509003238.2915927E0F@hg.openjdk.java.net> Changeset: a3b3f07682b5 Author: kamg Date: 2008-05-08 09:16 -0400 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/a3b3f07682b5 6697875: Copyright headers need to be upgraded with GPL derivative Summary: Update copyright headers to GPL Reviewed-by: xdono ! make/com/sun/tracing/Makefile ! make/com/sun/tracing/dtrace/Makefile ! make/sun/tracing/Makefile ! make/sun/tracing/dtrace/Makefile ! make/sun/tracing/dtrace/mapfile-vers ! src/share/classes/com/sun/tracing/Probe.java ! src/share/classes/com/sun/tracing/ProbeName.java ! src/share/classes/com/sun/tracing/Provider.java ! src/share/classes/com/sun/tracing/ProviderName.java ! src/share/classes/com/sun/tracing/dtrace/ArgsAttributes.java ! src/share/classes/com/sun/tracing/dtrace/Attributes.java ! src/share/classes/com/sun/tracing/dtrace/DependencyClass.java ! src/share/classes/com/sun/tracing/dtrace/FunctionAttributes.java ! src/share/classes/com/sun/tracing/dtrace/FunctionName.java ! src/share/classes/com/sun/tracing/dtrace/ModuleAttributes.java ! src/share/classes/com/sun/tracing/dtrace/ModuleName.java ! src/share/classes/com/sun/tracing/dtrace/NameAttributes.java ! src/share/classes/com/sun/tracing/dtrace/ProviderAttributes.java ! src/share/classes/com/sun/tracing/dtrace/StabilityLevel.java ! src/share/classes/com/sun/tracing/dtrace/package-info.java ! src/share/classes/com/sun/tracing/package-info.java ! src/share/classes/sun/tracing/MultiplexProviderFactory.java ! src/share/classes/sun/tracing/NullProviderFactory.java ! src/share/classes/sun/tracing/PrintStreamProviderFactory.java ! src/share/classes/sun/tracing/ProbeSkeleton.java ! src/share/classes/sun/tracing/ProviderSkeleton.java ! src/share/classes/sun/tracing/dtrace/Activation.java ! src/share/classes/sun/tracing/dtrace/DTraceProbe.java ! src/share/classes/sun/tracing/dtrace/DTraceProvider.java ! src/share/classes/sun/tracing/dtrace/DTraceProviderFactory.java ! src/share/classes/sun/tracing/dtrace/JVM.java ! src/share/classes/sun/tracing/package-info.java ! src/share/native/sun/tracing/dtrace/JVM.c ! src/share/native/sun/tracing/dtrace/jvm_symbols.h ! src/solaris/native/sun/tracing/dtrace/jvm_symbols_md.c ! src/windows/native/sun/tracing/dtrace/jvm_symbols_md.c From mr at sun.com Sun May 11 03:45:17 2008 From: mr at sun.com (Mark Reinhold) Date: Sat, 10 May 2008 20:45:17 -0700 Subject: hg: jdk7/tl/jdk: 6636363: BufferUnderflowException decoding length 6 UTF-8 sequences with direct buffers In-Reply-To: martin@xemacs.org; Sat, 10 May 2008 18:37:20 -0000; <20080510183734.1F3B827E95@hg.openjdk.java.net> Message-ID: <20080511034517.1534E1822@callebaut.niobe.net> > Date: Sat, 10 May 2008 18:37:20 +0000 > From: martin at xemacs.org > Changeset: d64b14c25c82 > Author: martin > Date: 2008-05-10 11:30 -0700 > URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/d64b14c25c82 > > 6636363: BufferUnderflowException decoding length 6 UTF-8 sequences with direct buffers > Reviewed-by: sherman > > ! src/share/classes/sun/nio/cs/UTF_8.java Congratulations, Martin -- that's the first changeset pushed by someone who doesn't work for Sun. Thanks! - Mark From martinrb at google.com Sun May 11 04:51:39 2008 From: martinrb at google.com (Martin Buchholz) Date: Sat, 10 May 2008 21:51:39 -0700 Subject: hg: jdk7/tl/jdk: 6636363: BufferUnderflowException decoding length 6 UTF-8 sequences with direct buffers In-Reply-To: <20080511034517.1534E1822@callebaut.niobe.net> References: <20080510183734.1F3B827E95@hg.openjdk.java.net> <20080511034517.1534E1822@callebaut.niobe.net> Message-ID: <1ccfd1c10805102151t5deed847x623eab1d0b127b51@mail.gmail.com> On Sat, May 10, 2008 at 8:45 PM, Mark Reinhold wrote: >> 6636363: BufferUnderflowException decoding length 6 UTF-8 sequences with direct buffers > > Congratulations, Martin -- that's the first changeset > pushed by someone who doesn't work for Sun. I decided to start small; the fix for 6636363 changed only 1 bit of source code! I am working to get further contributions from Googlers into OpenJDK. Martin From martin at xemacs.org Sat May 10 18:37:20 2008 From: martin at xemacs.org (martin at xemacs.org) Date: Sat, 10 May 2008 18:37:20 +0000 Subject: hg: jdk7/tl/jdk: 6636363: BufferUnderflowException decoding length 6 UTF-8 sequences with direct buffers Message-ID: <20080510183734.1F3B827E95@hg.openjdk.java.net> Changeset: d64b14c25c82 Author: martin Date: 2008-05-10 11:30 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/d64b14c25c82 6636363: BufferUnderflowException decoding length 6 UTF-8 sequences with direct buffers Reviewed-by: sherman ! src/share/classes/sun/nio/cs/UTF_8.java From martin at xemacs.org Sat May 10 19:16:57 2008 From: martin at xemacs.org (martin at xemacs.org) Date: Sat, 10 May 2008 19:16:57 +0000 Subject: hg: jdk7/tl/jdk: 2 new changesets Message-ID: <20080510191724.5808027E9E@hg.openjdk.java.net> Changeset: 3e7a4b6ef105 Author: martin Date: 2008-05-10 11:49 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/3e7a4b6ef105 6691185: (coll) TreeMap.navigableKeySet's descendingIterator method starts at first instead of last entry Reviewed-by: dl, chegar ! src/share/classes/java/util/TreeMap.java ! test/java/util/Collection/MOAT.java ! test/java/util/NavigableMap/LockStep.java Changeset: 9781e5c7b9ba Author: martin Date: 2008-05-10 12:14 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/9781e5c7b9ba 6691215: (coll) IdentityHashMap.containsValue(null) returns true when null value not present Reviewed-by: dl, chegar, alanb Contributed-by: scottb at google.com ! src/share/classes/java/util/IdentityHashMap.java ! test/java/util/Collection/MOAT.java From bradford.wetmore at sun.com Mon May 12 19:17:01 2008 From: bradford.wetmore at sun.com (bradford.wetmore at sun.com) Date: Mon, 12 May 2008 19:17:01 +0000 Subject: hg: jdk7/tl/jdk: 2 new changesets Message-ID: <20080512191725.4904D27EDB@hg.openjdk.java.net> Changeset: d95a6a4ea502 Author: chegar Date: 2008-05-02 21:33 +0100 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/d95a6a4ea502 6687919: REGRESSION : Classloader can handle any resource which is not included in classpath Reviewed-by: jccollet, alanb ! src/share/classes/sun/misc/URLClassPath.java Changeset: 61a7e1919ba3 Author: wetmore Date: 2008-05-11 00:26 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/61a7e1919ba3 Merge From tim.bell at sun.com Tue May 13 21:22:57 2008 From: tim.bell at sun.com (tim.bell at sun.com) Date: Tue, 13 May 2008 21:22:57 +0000 Subject: hg: jdk7/tl: Added tag jdk7-b26 for changeset 9410f77cc30c Message-ID: <20080513212257.DD8C427FB0@hg.openjdk.java.net> Changeset: 613dea62de17 Author: xdono Date: 2008-04-24 12:12 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/rev/613dea62de17 Added tag jdk7-b26 for changeset 9410f77cc30c ! .hgtags From tim.bell at sun.com Tue May 13 21:23:39 2008 From: tim.bell at sun.com (tim.bell at sun.com) Date: Tue, 13 May 2008 21:23:39 +0000 Subject: hg: jdk7/tl/corba: Added tag jdk7-b26 for changeset 0043eb3d4e62 Message-ID: <20080513212340.C331027FB5@hg.openjdk.java.net> Changeset: e84e9018bebb Author: xdono Date: 2008-04-24 12:12 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/corba/rev/e84e9018bebb Added tag jdk7-b26 for changeset 0043eb3d4e62 ! .hgtags From tim.bell at sun.com Tue May 13 21:25:29 2008 From: tim.bell at sun.com (tim.bell at sun.com) Date: Tue, 13 May 2008 21:25:29 +0000 Subject: hg: jdk7/tl/hotspot: 85 new changesets Message-ID: <20080513212828.69D3D27FBA@hg.openjdk.java.net> Changeset: 5ff61c9f5601 Author: jmasa Date: 2008-02-11 15:40 -0800 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/5ff61c9f5601 6624782: Bigapps crashes during CMS precleaning. Summary: Lowered optimization level for files instanceKlass.cpp and objArrayKlass.cpp Reviewed-by: ysr ! build/solaris/makefiles/amd64.make Changeset: f21b879b4c72 Author: ysr Date: 2008-02-12 16:07 -0800 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/f21b879b4c72 6659981: +ParallelRefProcEnabled crashes on single core platform Summary: Disable parallel reference processing when there are no worker threads Reviewed-by: apetrusenko, pbk, jmasa, tonyp ! src/share/vm/memory/referenceProcessor.cpp Changeset: 73e96e5c30df Author: jmasa Date: 2008-02-15 07:01 -0800 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/73e96e5c30df 6624765: Guarantee failure "Unexpected dirty card found" Summary: In verification take into account partial coverage of a region by a card and expansion of the card table. Reviewed-by: ysr, apetrusenko ! src/share/vm/gc_implementation/parNew/parNewGeneration.cpp ! src/share/vm/memory/cardTableModRefBS.cpp ! src/share/vm/memory/cardTableRS.cpp ! src/share/vm/memory/cardTableRS.hpp ! src/share/vm/memory/genRemSet.hpp ! src/share/vm/memory/tenuredGeneration.cpp Changeset: 2faf283ce688 Author: ysr Date: 2008-02-16 22:41 -0800 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/2faf283ce688 6621144: CMS: assertion failure "is_cms_thread == Thread::current()->is_ConcurrentGC_thread()" Summary: Take lock conditionally (in asynchronous mode only) when updating the dead-object map. Reviewed-by: jmasa ! src/share/vm/gc_implementation/concurrentMarkSweep/concurrentMarkSweepGeneration.cpp Changeset: 762905818571 Author: jmasa Date: 2008-02-20 08:40 -0800 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/762905818571 6665445: Backout change to CardTableModRefBS::resize_covered_region() Summary: Backed out part of cahnge for 6624765 because of nightly testing regressions. Reviewers below were for 6624765. Reviewed-by: ysr, apetrusenko ! src/share/vm/memory/cardTableModRefBS.cpp Changeset: 173195ff483a Author: ysr Date: 2008-02-21 11:03 -0800 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/173195ff483a 6642634: Test nsk/regression/b6186200 crashed with SIGSEGV Summary: Use correct allocation path in expand_and_allocate() so object's mark and p-bits are set as appropriate. Reviewed-by: jmasa, pbk ! src/share/vm/gc_implementation/concurrentMarkSweep/concurrentMarkSweepGeneration.cpp Changeset: 28372612af5e Author: jmasa Date: 2008-02-22 17:17 -0800 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/28372612af5e 6362677: Change parallel GC collector default number of parallel GC threads. Summary: Use the same default number of GC threads as used by ParNewGC and ConcMarkSweepGC (i.e., the 5/8th rule). Reviewed-by: ysr, tonyp ! src/cpu/sparc/vm/vm_version_sparc.cpp ! src/cpu/sparc/vm/vm_version_sparc.hpp ! src/share/vm/gc_implementation/parallelScavenge/generationSizer.hpp ! src/share/vm/runtime/arguments.cpp ! src/share/vm/runtime/arguments.hpp ! src/share/vm/runtime/globals.hpp ! src/share/vm/runtime/vm_version.cpp ! src/share/vm/runtime/vm_version.hpp Changeset: 3c1dbcaaab1d Author: ysr Date: 2008-02-26 15:57 -0800 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/3c1dbcaaab1d 6621728: Heap inspection should not crash in the face of C-heap exhaustion Summary: Deal more gracefully with situations where C-heap scratch space cannot be had Reviewed-by: jmasa ! src/share/vm/memory/heapInspection.cpp ! src/share/vm/memory/heapInspection.hpp Changeset: 6432c3bb6240 Author: ysr Date: 2008-02-29 14:42 -0800 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/6432c3bb6240 6668743: CMS: Consolidate block statistics reporting code Summary: Reduce the amount of related code replication and improve pretty printing. Reviewed-by: jmasa ! src/share/vm/gc_implementation/concurrentMarkSweep/binaryTreeDictionary.cpp ! src/share/vm/gc_implementation/concurrentMarkSweep/compactibleFreeListSpace.cpp ! src/share/vm/gc_implementation/concurrentMarkSweep/compactibleFreeListSpace.hpp ! src/share/vm/gc_implementation/concurrentMarkSweep/freeList.cpp ! src/share/vm/gc_implementation/concurrentMarkSweep/freeList.hpp ! src/share/vm/gc_implementation/includeDB_gc_shared + src/share/vm/gc_implementation/shared/allocationStats.cpp + src/share/vm/gc_implementation/shared/allocationStats.hpp ! src/share/vm/includeDB_core - src/share/vm/memory/allocationStats.cpp - src/share/vm/memory/allocationStats.hpp Changeset: 183f41cf8bfe Author: jmasa Date: 2008-03-02 16:10 -0800 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/183f41cf8bfe 6557851: CMS: ergonomics defaults are not set with FLAG_SET_ERGO Summary: Default values set by cms ergonomics are set with FLAG_SET_DEFAULT so down stream the values look like the default values and affect how later parameters are set. Set these values with FLAG_SET_ERGO instead and adjust how later parameters are interpreted. Reviewed-by: iveresov, apetrusenko, pbk, ysr ! src/share/vm/gc_implementation/parNew/asParNewGeneration.cpp ! src/share/vm/gc_implementation/parallelScavenge/asPSYoungGen.cpp ! src/share/vm/gc_implementation/parallelScavenge/parallelScavengeHeap.cpp ! src/share/vm/gc_implementation/parallelScavenge/parallelScavengeHeap.hpp ! src/share/vm/gc_implementation/parallelScavenge/psYoungGen.cpp ! src/share/vm/memory/collectorPolicy.cpp ! src/share/vm/memory/collectorPolicy.hpp ! src/share/vm/runtime/arguments.cpp ! src/share/vm/runtime/globals.cpp ! src/share/vm/runtime/globals_extension.hpp Changeset: 6228104986ca Author: jcoomes Date: 2008-03-05 17:37 -0800 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/6228104986ca Merge - src/share/vm/memory/allocationStats.cpp - src/share/vm/memory/allocationStats.hpp Changeset: d825a8a2bd39 Author: jmasa Date: 2008-03-11 14:19 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/d825a8a2bd39 6673975: Disable ZapUnusedHeapArea to reduce GC execution times of debug JVM's. Summary: Mangling the unused space is having an adverse affect on testing with fastdebug builds so turn it off by default. Reviewed-by: ysr, tonyp ! src/share/vm/runtime/globals.hpp Changeset: f8236e79048a Author: dcubed Date: 2007-12-05 09:00 -0800 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/f8236e79048a 6664627: Merge changes made only in hotspot 11 forward to jdk 7 Reviewed-by: jcoomes ! src/cpu/sparc/vm/stubGenerator_sparc.cpp ! src/cpu/sparc/vm/vtableStubs_sparc.cpp ! src/cpu/x86/vm/stubGenerator_x86_32.cpp ! src/cpu/x86/vm/stubGenerator_x86_64.cpp ! src/cpu/x86/vm/vtableStubs_x86_32.cpp ! src/cpu/x86/vm/vtableStubs_x86_64.cpp ! src/share/vm/oops/klassVtable.cpp ! src/share/vm/oops/klassVtable.hpp ! src/share/vm/runtime/sharedRuntime.cpp ! src/share/vm/runtime/sharedRuntime.hpp ! src/share/vm/runtime/stubRoutines.cpp ! src/share/vm/runtime/stubRoutines.hpp Changeset: ff5961f4c095 Author: never Date: 2007-12-05 09:01 -0800 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/ff5961f4c095 6395208: Elide autoboxing for calls to HashMap.get(int) and HashMap.get(long) Reviewed-by: kvn, rasbold + src/share/vm/ci/ciObjArray.cpp ! src/share/vm/ci/ciObjArray.hpp ! src/share/vm/classfile/vmSymbols.hpp ! src/share/vm/includeDB_core ! src/share/vm/opto/addnode.cpp ! src/share/vm/opto/addnode.hpp ! src/share/vm/opto/c2_globals.hpp ! src/share/vm/opto/cfgnode.hpp ! src/share/vm/opto/ifnode.cpp ! src/share/vm/opto/loopnode.cpp ! src/share/vm/opto/loopnode.hpp ! src/share/vm/opto/memnode.cpp ! src/share/vm/opto/memnode.hpp ! src/share/vm/opto/parse2.cpp ! src/share/vm/opto/type.hpp ! src/share/vm/runtime/arguments.cpp Changeset: c7d713375c94 Author: phh Date: 2007-12-05 09:02 -0800 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/c7d713375c94 6621621: HashMap front cache should be enabled only with AggressiveOpts Reviewed-by: sbohne, xlu ! src/share/vm/classfile/vmSymbols.hpp ! src/share/vm/runtime/thread.cpp Changeset: a73cc31728fe Author: rasbold Date: 2007-12-05 09:03 -0800 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/a73cc31728fe 6614036: REGRESSION: Java server x86 VM intermittently crash with SIGSEGV (0xb) Summary: restore destination address in x86 32-bit checkcast_arraycopy stub Reviewed-by: jrose, kvn, never ! src/cpu/x86/vm/stubGenerator_x86_32.cpp Changeset: e195fe4c40c7 Author: phh Date: 2007-12-05 09:04 -0800 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/e195fe4c40c7 6629887: 64-bit windows should not restrict default heap size to 1400m Reviewed-by: jmasa, sbohne, ikrylov, xlu ! src/os/linux/vm/os_linux.cpp ! src/os/windows/vm/os_windows.cpp ! src/os_cpu/linux_x86/vm/os_linux_x86.cpp Changeset: b611e572fc5b Author: jcoomes Date: 2007-12-06 13:59 -0800 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/b611e572fc5b 6635560: segv in reference processor on t1000 Summary: Revert back to using the default page size for the card table Reviewed-by: pbk, phh ! src/share/vm/memory/cardTableModRefBS.cpp Changeset: 90f5ddc7297b Author: coleenp Date: 2008-01-17 13:38 -0800 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/90f5ddc7297b 6646946: Kernel installation failed on Japanese and Chinese XP SP2 (VM part) Summary: convert strings from Download Manager into native encoding in the VM Reviewed-by: sbohne, never, phh, kamg, xlu ! src/share/vm/classfile/javaClasses.cpp ! src/share/vm/classfile/javaClasses.hpp ! src/share/vm/classfile/systemDictionary.cpp Changeset: 9bdad1bb1c31 Author: kvn Date: 2008-02-12 18:37 -0800 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/9bdad1bb1c31 6621098: "* HeapWordSize" for TrackedInitializationLimit is missing Summary: '* HeapWordSize' is missing in GraphKit::set_output_for_allocation() Reviewed-by: rasbold, jrose, never ! src/share/vm/opto/graphKit.cpp Changeset: 953939ef62ab Author: kvn Date: 2008-02-20 16:19 -0800 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/953939ef62ab 6614330: Node::dump(n) does not print full graph for specified depth. Summary: A node is not processed in dump_nodes() if it was visited during processing previous inputs. Reviewed-by: rasbold ! src/share/vm/opto/node.cpp Changeset: c5cbd367e4d1 Author: kvn Date: 2008-02-20 17:23 -0800 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/c5cbd367e4d1 6621094: PrintOptoAssembly is broken for oops information in DebugInfo Summary: OopMapValue and VMRegImpl classes miss the virtual method print_on(st). Reviewed-by: rasbold, jrose, never ! src/share/vm/code/vmreg.cpp ! src/share/vm/code/vmreg.hpp ! src/share/vm/compiler/oopMap.cpp ! src/share/vm/compiler/oopMap.hpp Changeset: 0871d5cd64cd Author: kvn Date: 2008-02-21 14:03 -0800 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/0871d5cd64cd 6621084: ciMethodBlocks::split_block_at() is broken for methods with exception handler Summary: After an exception handler block is split the exception information is not moved to the new block which starts in exception handler BCI. Reviewed-by: jrose ! src/share/vm/ci/ciMethodBlocks.cpp ! src/share/vm/ci/ciMethodBlocks.hpp Changeset: 1f530c629c7d Author: kvn Date: 2008-02-21 19:03 -0800 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/1f530c629c7d 6498878: client compiler crashes on windows when dealing with breakpoint instructions Summary: _is_compilable check prevents breakpoint bytecodes reversion when loading bytecodes for ciMethod. Reviewed-by: never ! src/share/vm/ci/ciMethod.cpp Changeset: 67914967a4b5 Author: kvn Date: 2008-02-22 17:55 -0800 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/67914967a4b5 6650373: Assert in methodOopDesc::make_adapters() Summary: AdapterHandlerLibrary::get_create_adapter_index() returns incorrect value (-2) when CodeCache is full. Reviewed-by: sgoldman ! src/share/vm/opto/output.cpp ! src/share/vm/runtime/sharedRuntime.cpp Changeset: d5fc211aea19 Author: kvn Date: 2008-02-25 15:05 -0800 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/d5fc211aea19 6633953: type2aelembytes{T_ADDRESS} should be 8 bytes in 64 bit VM Summary: T_ADDRESS size is defined as 'int' size (4 bytes) but C2 use it for raw pointers and as memory type for StoreP and LoadP nodes. Reviewed-by: jrose ! src/cpu/sparc/vm/c1_LIRAssembler_sparc.cpp ! src/cpu/sparc/vm/c1_LIRGenerator_sparc.cpp ! src/cpu/x86/vm/c1_LIRAssembler_x86.cpp ! src/cpu/x86/vm/c1_LIRGenerator_x86.cpp ! src/share/vm/c1/c1_LIR.cpp ! src/share/vm/ci/ciField.hpp ! src/share/vm/oops/arrayOop.hpp ! src/share/vm/oops/klass.cpp ! src/share/vm/opto/graphKit.cpp ! src/share/vm/opto/library_call.cpp ! src/share/vm/opto/memnode.cpp ! src/share/vm/opto/memnode.hpp ! src/share/vm/opto/superword.cpp ! src/share/vm/opto/vectornode.cpp ! src/share/vm/opto/vectornode.hpp ! src/share/vm/services/heapDumper.cpp ! src/share/vm/utilities/globalDefinitions.cpp ! src/share/vm/utilities/globalDefinitions.hpp Changeset: 65a06b4a51b8 Author: jrose Date: 2008-02-27 00:23 -0800 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/65a06b4a51b8 6610906: inexplicable IncompatibleClassChangeError Summary: dependency check must treat polymorphic interfaces consistently Reviewed-by: kvn, never, sgoldman ! src/share/vm/code/dependencies.cpp ! src/share/vm/code/nmethod.cpp Changeset: 6152cbb08ce9 Author: kvn Date: 2008-02-28 10:45 -0800 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/6152cbb08ce9 6590177: jck60019 test assert(!repeated,"do not walk merges twice") Summary: A mergemem node could be not in worklist_store but in should_not_repeat vectorset since it was processed and removed from worklist_store before. Reviewed-by: jrose, never ! src/share/vm/opto/gcm.cpp Changeset: 4d428c5b4cb3 Author: kvn Date: 2008-02-28 15:40 -0800 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/4d428c5b4cb3 6667573: Use set_req_X() in AddPNode::Ideal() for Iterative GVN Summary: set_req_X() puts dependent nodes on IGVN worklist which allows to improve graph and gives more opportunities for EA scalar replacement. Reviewed-by: jrose, never ! src/share/vm/opto/addnode.cpp Changeset: 3288958bf319 Author: kvn Date: 2008-02-29 09:57 -0800 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/3288958bf319 6667580: Optimize CmpP for allocations Summary: CmpP could be optimized out if it compares new allocated objects. Reviewed-by: jrose, never, rasbold ! src/share/vm/includeDB_compiler2 ! src/share/vm/opto/callnode.hpp ! src/share/vm/opto/memnode.hpp ! src/share/vm/opto/node.hpp ! src/share/vm/opto/subnode.cpp Changeset: 545c277a3ecf Author: kvn Date: 2008-02-29 11:22 -0800 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/545c277a3ecf 6667581: Don't generate initialization (by 0) code for arrays with size 0 Summary: generate_arraycopy() does not check the size of allocated array. Reviewed-by: jrose, never ! src/share/vm/opto/library_call.cpp Changeset: e2ae28d2ce91 Author: kvn Date: 2008-02-29 19:07 -0800 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/e2ae28d2ce91 6667588: Don't generate duplicated CMP for float/double values Summary: float CMove generation add duplicated CMPF if there are more then one Move depending on the condition. Reviewed-by: jrose, never, rasbold ! src/share/vm/opto/loopopts.cpp Changeset: f34d9da7acb2 Author: kvn Date: 2008-02-29 19:57 -0800 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/f34d9da7acb2 6667618: disable LoadL->ConvL2I ==> LoadI optimization Summary: this optimization causes problems (sizes of Load and Store nodes do not match) for objects initialization code and Escape Analysis Reviewed-by: jrose, never ! src/share/vm/opto/connode.cpp ! src/share/vm/opto/memnode.cpp Changeset: 73970d8c0b27 Author: kvn Date: 2008-03-05 11:33 -0800 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/73970d8c0b27 6671250: In Parse::do_if() old Cmp node 'c' should be replaced with new one after BoolNode transformation Summary: In Parse::do_if() 'c' (CmpNode) node may be changed during BoolNode transformation so 'c' may became dead but the node is referenced later in the code. Reviewed-by: never ! src/share/vm/opto/parse2.cpp Changeset: b789bcaf2dd9 Author: kvn Date: 2008-03-06 10:30 -0800 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/b789bcaf2dd9 6667610: (Escape Analysis) retry compilation without EA if it fails Summary: During split unique types EA could exceed nodes limit and fail the method compilation. Reviewed-by: rasbold ! src/share/vm/includeDB_compiler2 ! src/share/vm/opto/c2compiler.cpp ! src/share/vm/opto/c2compiler.hpp ! src/share/vm/opto/compile.cpp ! src/share/vm/opto/compile.hpp ! src/share/vm/opto/escape.cpp ! src/share/vm/opto/parse1.cpp Changeset: 76256d272075 Author: kvn Date: 2008-03-06 10:53 -0800 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/76256d272075 6667612: (Escape Analysis) disable loop cloning if it has a scalar replaceable allocation Summary: Cloning an allocation will not allow scalar replacement since memory operations could not be associated with one allocation. Reviewed-by: rasbold ! src/share/vm/opto/callnode.cpp ! src/share/vm/opto/callnode.hpp ! src/share/vm/opto/escape.cpp ! src/share/vm/opto/loopTransform.cpp ! src/share/vm/opto/loopnode.cpp ! src/share/vm/opto/loopnode.hpp Changeset: 7c1f32ae4a20 Author: kvn Date: 2008-03-06 20:58 -0800 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/7c1f32ae4a20 6670459: Fix Node::dump() performance Summary: dump full ideal graph takes forever. Reviewed-by: never, rasbold ! src/share/vm/opto/node.cpp ! src/share/vm/opto/node.hpp Changeset: 874b2c4f43d1 Author: kvn Date: 2008-03-07 11:09 -0800 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/874b2c4f43d1 6667605: (Escape Analysis) inline java constructors when EA is on Summary: java constructors should be inlined to be able scalar replace a new object Reviewed-by: rasbold ! src/share/vm/opto/bytecodeInfo.cpp ! src/share/vm/opto/parse.hpp ! src/share/vm/opto/phaseX.cpp Changeset: 1216832af221 Author: jcoomes Date: 2008-03-10 17:21 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/1216832af221 Merge Changeset: d821d920b465 Author: kvn Date: 2008-03-11 11:04 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/d821d920b465 6623167: C2 crashed in StoreCMNode::Value Summary: C2 crashed in StoreCMNode::Value because n->in(MemNode::OopStore) is 0. Reviewed-by: rasbold, never ! src/share/vm/opto/memnode.cpp Changeset: 52fed2ec0afb Author: kvn Date: 2008-03-11 11:25 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/52fed2ec0afb 6667620: (Escape Analysis) fix deoptimization for scalar replaced objects Summary: Deoptimization code for reallocation and relocking scalar replaced objects has to be fixed. Reviewed-by: rasbold, never ! src/share/vm/ci/ciInstanceKlass.cpp ! src/share/vm/ci/ciInstanceKlass.hpp ! src/share/vm/code/debugInfo.cpp ! src/share/vm/code/scopeDesc.cpp ! src/share/vm/oops/instanceKlass.cpp ! src/share/vm/runtime/deoptimization.cpp Changeset: 48a3fa21394b Author: kvn Date: 2008-03-11 19:00 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/48a3fa21394b 6667615: (Escape Analysis) extend MDO to cache arguments escape state Summary: Use MDO to cache arguments escape state determined by the byte code escape analyzer. Reviewed-by: never ! src/share/vm/ci/bcEscapeAnalyzer.cpp ! src/share/vm/ci/bcEscapeAnalyzer.hpp ! src/share/vm/ci/ciMethodData.cpp ! src/share/vm/ci/ciMethodData.hpp ! src/share/vm/classfile/vmSymbols.cpp ! src/share/vm/classfile/vmSymbols.hpp ! src/share/vm/oops/methodDataOop.cpp ! src/share/vm/oops/methodDataOop.hpp Changeset: 8b6e49187640 Author: rasbold Date: 2008-03-13 05:40 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/8b6e49187640 Merge ! src/share/vm/includeDB_core ! src/share/vm/memory/cardTableModRefBS.cpp ! src/share/vm/runtime/arguments.cpp Changeset: 2c106685d6d0 Author: dcubed Date: 2008-03-12 18:06 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/2c106685d6d0 6497639: 4/3 Profiling Swing application caused JVM crash Summary: Make RedefineClasses() interoperate better with class sharing. Reviewed-by: sspitsyn, jmasa ! src/share/vm/classfile/dictionary.cpp ! src/share/vm/memory/compactingPermGenGen.cpp ! src/share/vm/oops/instanceKlass.cpp ! src/share/vm/oops/instanceKlass.hpp Changeset: d8b3ef7ee3e5 Author: dcubed Date: 2008-03-12 18:07 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/d8b3ef7ee3e5 6599425: 4/3 OopMapCache::lookup() can cause later crash or assert() failure Summary: Add should_not_be_cached() to markOop and methodOop and query that status inOopMapCache::lookup() Reviewed-by: coleenp, sspitsyn, jmasa ! src/share/vm/includeDB_core ! src/share/vm/interpreter/oopMapCache.cpp ! src/share/vm/oops/markOop.cpp ! src/share/vm/oops/markOop.hpp ! src/share/vm/oops/methodOop.cpp ! src/share/vm/oops/methodOop.hpp ! src/share/vm/prims/jvmtiRedefineClassesTrace.hpp Changeset: 31000d79ec71 Author: dcubed Date: 2008-03-12 18:09 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/31000d79ec71 6453355: 4/4 new No_Safepoint_Verifier uses fail during GC Summary: (for Serguei) Clean up use of No_Safepoint_Verifier in JVM TI Reviewed-by: dcubed ! src/share/vm/oops/instanceKlass.cpp ! src/share/vm/oops/instanceKlass.hpp ! src/share/vm/runtime/thread.cpp Changeset: 485d403e94e1 Author: dcubed Date: 2008-03-12 18:37 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/485d403e94e1 6452081: 3/4 Allow for Linux builds with Sun Studio Linux compilers Summary: (for Serguei) Allow for Linux builds with Sun Studio Linux compilers Reviewed-by: sspitsyn, ohair ! agent/src/os/linux/ps_core.c ! agent/src/os/linux/ps_proc.c ! build/linux/Makefile ! build/linux/makefiles/amd64.make ! build/linux/makefiles/buildtree.make + build/linux/makefiles/sparcWorks.make + build/linux/platform_amd64.suncc + build/linux/platform_i486.suncc ! src/cpu/x86/vm/assembler_x86_64.cpp ! src/os/linux/vm/attachListener_linux.cpp ! src/os_cpu/linux_x86/vm/bytes_linux_x86.inline.hpp ! src/os_cpu/linux_x86/vm/os_linux_x86.cpp ! src/share/vm/utilities/globalDefinitions_sparcWorks.hpp Changeset: 1ffa5cdd0b7e Author: dcubed Date: 2008-03-12 18:39 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/1ffa5cdd0b7e 6667089: 3/3 multiple redefinitions of a class break reflection Summary: Use instanceKlass::method_with_idnum() instead of slot() to work with RedefineClasses(). Reviewed-by: sspitsyn ! src/share/vm/runtime/reflection.cpp Changeset: 75b0f3cb1943 Author: dcubed Date: 2008-03-13 14:17 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/75b0f3cb1943 Merge ! src/os_cpu/linux_x86/vm/os_linux_x86.cpp ! src/share/vm/includeDB_core ! src/share/vm/oops/instanceKlass.cpp ! src/share/vm/runtime/thread.cpp Changeset: 9785f6d2dd97 Author: kamg Date: 2008-01-31 09:41 -0500 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/9785f6d2dd97 6631248: Memory problem when doing invalid type cast Summary: Changed memory allocation method for exception method Reviewed-by: ysr, never ! src/share/vm/runtime/sharedRuntime.cpp Changeset: d4a0f561287a Author: sbohne Date: 2008-01-31 14:56 -0500 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/d4a0f561287a 6598190: JPRT tests fail when run with -XX:+CheckUnhandledOops Summary: Work around Sun Studio C++ compiler bug 6629277 in dependencies.cpp Reviewed-by: kamg, sgoldman, pbk ! src/share/vm/code/dependencies.cpp Changeset: 2a8eb116ebbe Author: xlu Date: 2008-02-05 23:21 -0800 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/2a8eb116ebbe 6610420: Debug VM crashes during monitor lock rank checking Summary: Make SerializePage lock as raw lock and add name for mutex locks Reviewed-by: never, dice, dholmes ! src/share/vm/runtime/mutex.cpp ! src/share/vm/runtime/mutex.hpp ! src/share/vm/runtime/mutexLocker.cpp ! src/share/vm/runtime/mutexLocker.hpp ! src/share/vm/runtime/os.cpp Changeset: 31d829b33f26 Author: coleenp Date: 2008-02-27 13:55 -0500 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/31d829b33f26 6549844: Wording problems in "An unexpected error ..." Summary: Changed wording to "A fatal error.." also don't claim it's not VM bug if in hotspot compilers (Java thread in native). Reviewed-by: jjh, sbohne, jrose, never ! src/share/vm/utilities/vmError.cpp Changeset: ff0979201b06 Author: sbohne Date: 2008-03-03 14:47 -0500 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/ff0979201b06 6655385: Disable frame pointer omission in jvm.dll on Windows for better crash logs Summary: Add /Oy- C++ compiler option on Windows Reviewed-by: phh, never, ysr ! build/windows/makefiles/compile.make Changeset: 7ee622712fcf Author: sbohne Date: 2008-03-04 09:44 -0500 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/7ee622712fcf 6666698: EnableBiasedLocking with BiasedLockingStartupDelay can block Watcher thread Summary: Enqueue VM_EnableBiasedLocking operation asynchronously Reviewed-by: never, xlu, kbr, acorn ! src/share/vm/runtime/biasedLocking.cpp Changeset: 887682771f69 Author: jcoomes Date: 2008-03-12 16:31 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/887682771f69 Merge Changeset: 8d84e28e68ba Author: sbohne Date: 2008-03-14 10:43 -0400 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/8d84e28e68ba 6204603: Modify hotspot to use new Solaris mmap semantics for class data archive file Summary: os::attempt_reserve_memory_at() now passes an address hint to mmap Reviewed-by: kamg, dice ! src/os/solaris/vm/os_solaris.cpp ! src/os/solaris/vm/os_solaris.hpp Changeset: 5a76ab815e34 Author: sbohne Date: 2008-03-19 09:58 -0400 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/5a76ab815e34 6667833: Remove CacheTimeMillis Summary: Remove -XX:+CacheTimeMillis option and associated functionality Reviewed-by: acorn, never ! src/os/linux/vm/os_linux.cpp ! src/os/solaris/vm/os_solaris.cpp ! src/os/windows/vm/os_windows.cpp ! src/share/vm/runtime/arguments.cpp ! src/share/vm/runtime/globals.hpp ! src/share/vm/runtime/java.cpp ! src/share/vm/runtime/os.cpp ! src/share/vm/runtime/os.hpp ! src/share/vm/runtime/task.cpp ! src/share/vm/runtime/task.hpp ! src/share/vm/runtime/thread.cpp Changeset: cd0742ba123c Author: kamg Date: 2008-03-20 09:17 -0500 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/cd0742ba123c Merge ! src/os/linux/vm/os_linux.cpp ! src/os/windows/vm/os_windows.cpp ! src/share/vm/code/dependencies.cpp ! src/share/vm/runtime/arguments.cpp ! src/share/vm/runtime/globals.hpp ! src/share/vm/runtime/sharedRuntime.cpp ! src/share/vm/runtime/thread.cpp Changeset: eac007780a58 Author: kvn Date: 2008-03-13 16:06 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/eac007780a58 6671807: (Escape Analysis) Add new ideal node to represent the state of a scalarized object at a safepoint Summary: Values of non-static fields of a scalarized object should be saved in debug info to reallocate the object during deoptimization. Reviewed-by: never ! src/share/vm/opto/callnode.cpp ! src/share/vm/opto/callnode.hpp ! src/share/vm/opto/classes.hpp ! src/share/vm/opto/compile.hpp ! src/share/vm/opto/graphKit.cpp ! src/share/vm/opto/macro.cpp ! src/share/vm/opto/matcher.cpp ! src/share/vm/opto/node.hpp ! src/share/vm/opto/output.cpp Changeset: b8f5ba577b02 Author: kvn Date: 2008-03-13 16:31 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/b8f5ba577b02 6673473: (Escape Analysis) Add the instance's field information to PhiNode Summary: Avoid an infinite generation of instance's field values Phi nodes. Reviewed-by: never ! src/share/vm/opto/cfgnode.hpp ! src/share/vm/opto/loopopts.cpp ! src/share/vm/opto/memnode.cpp ! src/share/vm/opto/memnode.hpp ! src/share/vm/opto/type.cpp ! src/share/vm/opto/type.hpp Changeset: 99269dbf4ba8 Author: kvn Date: 2008-03-14 15:26 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/99269dbf4ba8 6674588: (Escape Analysis) Improve Escape Analysis code Summary: Current EA code has several problems which have to be fixed. Reviewed-by: jrose, sgoldman ! src/share/vm/includeDB_compiler2 ! src/share/vm/opto/c2_globals.hpp ! src/share/vm/opto/callnode.cpp ! src/share/vm/opto/callnode.hpp ! src/share/vm/opto/compile.cpp ! src/share/vm/opto/compile.hpp ! src/share/vm/opto/escape.cpp ! src/share/vm/opto/escape.hpp ! src/share/vm/opto/node.cpp ! src/share/vm/opto/node.hpp ! src/share/vm/opto/phaseX.cpp ! src/share/vm/runtime/arguments.cpp Changeset: 6dbf1a175d6b Author: kvn Date: 2008-03-14 16:40 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/6dbf1a175d6b 6672848: (Escape Analysis) improve lock elimination with EA Summary: Remove lock/unlock MemBar nodes and specify locks in debug info for deoptimization. Reviewed-by: never ! src/share/vm/opto/callnode.cpp ! src/share/vm/opto/locknode.cpp ! src/share/vm/opto/locknode.hpp ! src/share/vm/opto/macro.cpp ! src/share/vm/opto/macro.hpp ! src/share/vm/opto/output.cpp Changeset: 16e1cb7cde24 Author: never Date: 2008-03-18 11:17 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/16e1cb7cde24 6666343: Compile::has_loops not always set correctly Summary: Compile::has_loops() should be set from inlined methods Reviewed-by: kvn, rasbold ! src/share/vm/opto/doCall.cpp Changeset: daf38130e60d Author: never Date: 2008-03-18 23:44 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/daf38130e60d 6676841: ClearArrayNode::Identity is incorrect for 64-bit Summary: ClearArrayNode::Identity should use TypeX instead of TypeInt Reviewed-by: jrose, kvn, sgoldman ! src/share/vm/opto/memnode.cpp Changeset: 8bb88f9877e5 Author: never Date: 2008-03-18 23:54 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/8bb88f9877e5 6659207: access violation in CompilerThread0 Summary: split_thru_phi produces top on a non-dead path Reviewed-by: kvn, rasbold, sgoldman ! src/share/vm/opto/loopopts.cpp + test/compiler/6659207/Test.java Changeset: b683f557224b Author: never Date: 2008-03-19 15:14 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/b683f557224b 6661247: Internal bug in 32-bit HotSpot optimizer while bit manipulations Summary: copy elimination of a constant value results in incorrect execution Reviewed-by: kvn, sgoldman, rasbold ! src/share/vm/opto/chaitin.hpp ! src/share/vm/opto/postaloc.cpp + test/compiler/6661247/Test.java Changeset: 3d62cb85208d Author: kvn Date: 2008-03-19 15:33 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/3d62cb85208d 6662967: Optimize I2D conversion on new x86 Summary: Use CVTDQ2PS and CVTDQ2PD for integer values conversions to float and double values on new AMD cpu. Reviewed-by: sgoldman, never ! 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/vm_version_x86_32.cpp ! src/cpu/x86/vm/vm_version_x86_64.cpp ! src/cpu/x86/vm/x86_32.ad ! src/cpu/x86/vm/x86_64.ad ! src/share/vm/runtime/globals.hpp Changeset: f705f25597eb Author: never Date: 2008-03-20 10:43 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/f705f25597eb 6663621: JVM crashes while trying to execute api/java_security/Signature/SignatureTests.html#initSign tests. Summary: alignment expression with secondary induction variables is sometimes wrong Reviewed-by: kvn, rasbold ! src/share/vm/opto/superword.cpp + test/compiler/6663621/IVTest.java Changeset: a8880a78d355 Author: kvn Date: 2008-03-20 13:51 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/a8880a78d355 6259129: (Escape Analysis) scalar replacement for not escaping objects Summary: Use scalar replacement with EA to remove allocations for objects which do not escape the compiled method. Reviewed-by: rasbold, never, jrose ! src/share/vm/opto/macro.cpp ! src/share/vm/opto/macro.hpp ! src/share/vm/opto/phaseX.hpp Changeset: 2a9af0b9cb1c Author: kvn Date: 2008-03-20 15:11 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/2a9af0b9cb1c 6674600: (Escape Analysis) Optimize memory graph for instance's fields Summary: EA gives opportunite to do more aggressive memory optimizations. Reviewed-by: never, jrose ! src/share/vm/opto/callnode.cpp ! src/share/vm/opto/callnode.hpp ! src/share/vm/opto/cfgnode.cpp ! src/share/vm/opto/cfgnode.hpp ! src/share/vm/opto/graphKit.cpp ! src/share/vm/opto/memnode.cpp ! src/share/vm/opto/memnode.hpp Changeset: f68325221ce1 Author: kvn Date: 2008-03-21 00:49 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/f68325221ce1 6678377: Update build number for HS12 Summary: b01 -> b02 Reviewed-by: kvn ! make/hotspot_version Changeset: d6fe2e4959d6 Author: rasbold Date: 2008-03-21 08:32 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/d6fe2e4959d6 Merge ! src/cpu/x86/vm/assembler_x86_64.cpp ! src/share/vm/runtime/arguments.cpp ! src/share/vm/runtime/globals.hpp Changeset: 36cd3cc4d27b Author: kvn Date: 2008-03-27 09:12 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/36cd3cc4d27b 6679854: assert in escape.cpp:397 Summary: The assert misses the case CastX2P 'base' for an unsafe field reference Reviewed-by: never, jrose ! src/share/vm/opto/escape.cpp Changeset: e1e86702e43e Author: kvn Date: 2008-03-28 11:52 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/e1e86702e43e 6680665: bytecode Escape Analyzer produces incorrect escape information for methods without oop arguments Summary: bcEscapeAnalyzer does not analyze methods with no oop arguments. Reviewed-by: rasbold ! src/share/vm/ci/bcEscapeAnalyzer.cpp ! src/share/vm/ci/bcEscapeAnalyzer.hpp ! src/share/vm/oops/methodDataOop.hpp Changeset: 82db0859acbe Author: jcoomes Date: 2008-03-28 23:35 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/82db0859acbe 6642862: Code cache allocation fails with large pages after 6588638 Reviewed-by: apetrusenko ! src/os/linux/vm/os_linux.cpp ! src/os/solaris/vm/os_solaris.cpp ! src/os/windows/vm/os_windows.cpp ! src/share/vm/gc_implementation/parallelScavenge/parMarkBitMap.cpp ! src/share/vm/gc_implementation/parallelScavenge/psParallelCompact.cpp ! src/share/vm/memory/heap.cpp ! src/share/vm/runtime/os.hpp Changeset: 092ea87cc974 Author: jcoomes Date: 2008-03-28 23:35 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/092ea87cc974 6679422: networkStream::connect() in ostream.cpp is not 64-bit clean Reviewed-by: jmasa, xlu ! src/share/vm/utilities/ostream.cpp Changeset: dee7a3f3dc9d Author: never Date: 2008-03-31 16:22 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/dee7a3f3dc9d 6636352: Unit tests for supplementary character support fail with -XX:+AggressiveOpts Summary: incorrect encoding Reviewed-by: kvn, rasbold, sgoldman, jrose ! src/cpu/sparc/vm/sparc.ad Changeset: de93acbb64fc Author: kvn Date: 2008-03-31 18:37 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/de93acbb64fc 6682236: C2 hits ideal nodes limit during IGVN optimization with EA Summary: missing check in LoadNode::Ideal() causes infinite generation of a value Phi. Reviewed-by: jrose, never ! src/share/vm/opto/memnode.cpp Changeset: d3cd40645d0d Author: kvn Date: 2008-04-01 16:14 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/d3cd40645d0d 6681646: Relocking of a scalar replaced object during deoptimization is broken Summary: Relocking of a thread-local object during deoptimization is broken Reviewed-by: kbr, jrose, never ! src/share/vm/runtime/deoptimization.cpp ! src/share/vm/runtime/deoptimization.hpp ! src/share/vm/runtime/vframe.cpp ! src/share/vm/runtime/vframe.hpp ! src/share/vm/runtime/vframe_hp.cpp Changeset: 6e085831cad7 Author: sbohne Date: 2008-04-10 15:49 -0400 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/6e085831cad7 6692235: Fix for 6666698 broke -XX:BiasedLockingStartupDelay=0 Summary: Stack allocated VM_EnableBiasedLocking op must be marked as such Reviewed-by: xlu, acorn, never, dholmes ! src/share/vm/runtime/biasedLocking.cpp Changeset: f3b3fe64f59f Author: kvn Date: 2008-04-15 10:49 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/f3b3fe64f59f 6692301: Side effect in NumberFormat tests with -server -Xcomp Summary: Optimization in CmpPNode::sub() removed the valid compare instruction because of false positive answer from detect_dominating_control(). Reviewed-by: jrose, sgoldman ! src/share/vm/opto/memnode.cpp ! src/share/vm/opto/memnode.hpp ! src/share/vm/opto/node.cpp ! src/share/vm/opto/node.hpp Changeset: 6cc3576e5142 Author: jcoomes Date: 2008-04-16 15:34 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/6cc3576e5142 6689788: Bump HSX12 build version number Summary: Update HSX12 build number to 03 Reviewed-by: kvn ! make/hotspot_version Changeset: ad0b851458ff Author: trims Date: 2008-04-22 15:36 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/ad0b851458ff Merge - src/share/vm/memory/allocationStats.cpp - src/share/vm/memory/allocationStats.hpp Changeset: 24706b95d959 Author: xdono Date: 2008-04-24 12:12 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/24706b95d959 Added tag jdk7-b26 for changeset ad0b851458ff ! .hgtags From tim.bell at sun.com Tue May 13 21:30:50 2008 From: tim.bell at sun.com (tim.bell at sun.com) Date: Tue, 13 May 2008 21:30:50 +0000 Subject: hg: jdk7/tl/jaxp: Added tag jdk7-b26 for changeset da43cb85fac1 Message-ID: <20080513213052.AB92C27FBF@hg.openjdk.java.net> Changeset: bafed478d67c Author: xdono Date: 2008-04-24 12:12 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/jaxp/rev/bafed478d67c Added tag jdk7-b26 for changeset da43cb85fac1 ! .hgtags From tim.bell at sun.com Tue May 13 21:31:33 2008 From: tim.bell at sun.com (tim.bell at sun.com) Date: Tue, 13 May 2008 21:31:33 +0000 Subject: hg: jdk7/tl/jaxws: Added tag jdk7-b26 for changeset debd37e1a422 Message-ID: <20080513213135.C9EA027FC4@hg.openjdk.java.net> Changeset: 27d8f42862c1 Author: xdono Date: 2008-04-24 12:12 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/jaxws/rev/27d8f42862c1 Added tag jdk7-b26 for changeset debd37e1a422 ! .hgtags From tim.bell at sun.com Tue May 13 21:32:45 2008 From: tim.bell at sun.com (tim.bell at sun.com) Date: Tue, 13 May 2008 21:32:45 +0000 Subject: hg: jdk7/tl/jdk: 14 new changesets Message-ID: <20080513213540.6F40627FC9@hg.openjdk.java.net> Changeset: 3226a9a5cc47 Author: xdono Date: 2008-03-27 12:28 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/3226a9a5cc47 Merge Changeset: 88d235789027 Author: ohair Date: 2008-03-31 17:17 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/88d235789027 6672405: OPENJDK build: jdk7/jdk/make/tools/freetypecheck leaves dirt behind Summary: OpenJDK freetype sanity check cleanup. Reviewed-by: tbell ! make/common/Defs.gmk ! make/common/shared/Sanity.gmk ! make/tools/Makefile ! make/tools/freetypecheck/Makefile Changeset: e6157955511e Author: ohair Date: 2008-03-31 17:19 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/e6157955511e 6482445: j2se/make/java/java/localegen.sh uses 'sort' from PATH, could get system32/sort Summary: Making sure the right 'sort' utility is found. Reviewed-by: tbell ! make/java/java/genlocales.gmk ! make/java/java/localegen.sh Changeset: 425096dc0fc8 Author: ohair Date: 2008-03-31 17:20 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/425096dc0fc8 6501543: Username can have non-alphanumeric characters Summary: User version string issues, including a L10n issue with month names. Reviewed-by: tbell ! make/common/shared/Defs.gmk Changeset: a977a69d9cf2 Author: ohair Date: 2008-04-01 15:14 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/a977a69d9cf2 6482134: JDK 6 build error on Windows, Visual Studio .NET on Japanese locale Summary: Fix scanning of cl.exe version output, removed CC_TYPE. Reviewed-by: tbell ! make/common/shared/Compiler-gcc.gmk ! make/common/shared/Compiler-msvc.gmk ! make/common/shared/Sanity.gmk Changeset: fa4df2d26d9b Author: ohair Date: 2008-04-01 15:41 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/fa4df2d26d9b 6627823: Missed whitespace normalization files: jdk/test/java/rmi Summary: Just missed a few files being normalized in rev 0. Reviewed-by: xdono ! test/java/rmi/activation/Activatable/createPrivateActivable/CreatePrivateActivatable.java ! test/java/rmi/activation/ActivateFailedException/activateFails/ActivateFails.java ! test/java/rmi/activation/ActivateFailedException/activateFails/ActivateFails_Stub.java ! test/java/rmi/activation/ActivateFailedException/activateFails/ActivateMe.java ! test/java/rmi/activation/ActivateFailedException/activateFails/ShutdownThread.java ! test/java/rmi/activation/ActivationGroup/downloadActivationGroup/DownloadActivationGroup.java ! test/java/rmi/activation/ActivationGroup/downloadActivationGroup/DownloadActivationGroup_Stub.java ! test/java/rmi/activation/ActivationGroup/downloadActivationGroup/MyActivationGroupImpl.java ! test/java/rmi/activation/ActivationGroupDesc/checkDefaultGroupName/CheckDefaultGroupName.java ! test/java/rmi/activation/ActivationSystem/activeGroup/IdempotentActiveGroup.java ! test/java/rmi/activation/ActivationSystem/modifyDescriptor/ActivateMe.java ! test/java/rmi/activation/ActivationSystem/modifyDescriptor/ModifyDescriptor.java ! test/java/rmi/activation/ActivationSystem/modifyDescriptor/ModifyDescriptor_Stub.java ! test/java/rmi/activation/ActivationSystem/stubClassesPermitted/CanCreateStubs.java ! test/java/rmi/activation/ActivationSystem/stubClassesPermitted/StubClassesPermitted.java ! test/java/rmi/activation/ActivationSystem/stubClassesPermitted/StubClassesPermitted_Stub.java ! test/java/rmi/activation/ActivationSystem/unregisterGroup/ActivateMe.java ! test/java/rmi/activation/ActivationSystem/unregisterGroup/CallbackInterface.java ! test/java/rmi/activation/ActivationSystem/unregisterGroup/Callback_Stub.java ! test/java/rmi/activation/ActivationSystem/unregisterGroup/UnregisterGroup.java ! test/java/rmi/activation/ActivationSystem/unregisterGroup/UnregisterGroup_Stub.java ! test/java/rmi/dgc/VMID/CheckVMID.java ! test/java/rmi/dgc/dgcAckFailure/DGCAckFailure.java ! test/java/rmi/dgc/dgcAckFailure/DGCAckFailure_Stub.java ! test/java/rmi/dgc/dgcImplInsulation/DGCImplInsulation.java ! test/java/rmi/dgc/dgcImplInsulation/DGCImplInsulation_Stub.java ! test/java/rmi/dgc/retryDirtyCalls/RetryDirtyCalls.java ! test/java/rmi/dgc/retryDirtyCalls/RetryDirtyCalls_Stub.java ! test/java/rmi/registry/altSecurityManager/AltSecurityManager.java ! test/java/rmi/registry/altSecurityManager/TestSecurityManager.java ! test/java/rmi/registry/checkusage/CheckUsage.java ! test/java/rmi/registry/classPathCodebase/ClassPathCodebase.java ! test/java/rmi/registry/classPathCodebase/Dummy.java ! test/java/rmi/registry/emptyName/EmptyName.java ! test/java/rmi/registry/interfaceHash/InterfaceHash.java ! test/java/rmi/registry/interfaceHash/ReferenceRegistryStub.java ! test/java/rmi/registry/multipleRegistries/MultipleRegistries.java ! test/java/rmi/registry/reexport/Reexport.java ! test/java/rmi/reliability/benchmark/bench/rmi/BenchServer.java ! test/java/rmi/reliability/benchmark/bench/rmi/BenchServerImpl.java ! test/java/rmi/reliability/benchmark/bench/rmi/BooleanArrayCalls.java ! test/java/rmi/reliability/benchmark/bench/rmi/BooleanCalls.java ! test/java/rmi/reliability/benchmark/bench/rmi/ByteArrayCalls.java ! test/java/rmi/reliability/benchmark/bench/rmi/ByteCalls.java ! test/java/rmi/reliability/benchmark/bench/rmi/CharArrayCalls.java ! test/java/rmi/reliability/benchmark/bench/rmi/CharCalls.java ! test/java/rmi/reliability/benchmark/bench/rmi/ClassLoading.java ! test/java/rmi/reliability/benchmark/bench/rmi/DoubleArrayCalls.java ! test/java/rmi/reliability/benchmark/bench/rmi/DoubleCalls.java ! test/java/rmi/reliability/benchmark/bench/rmi/ExceptionCalls.java ! test/java/rmi/reliability/benchmark/bench/rmi/ExportObjs.java ! test/java/rmi/reliability/benchmark/bench/rmi/FloatArrayCalls.java ! test/java/rmi/reliability/benchmark/bench/rmi/FloatCalls.java ! test/java/rmi/reliability/benchmark/bench/rmi/IntArrayCalls.java ! test/java/rmi/reliability/benchmark/bench/rmi/IntCalls.java ! test/java/rmi/reliability/benchmark/bench/rmi/LongArrayCalls.java ! test/java/rmi/reliability/benchmark/bench/rmi/LongCalls.java ! test/java/rmi/reliability/benchmark/bench/rmi/Main.java ! test/java/rmi/reliability/benchmark/bench/rmi/NullCalls.java ! test/java/rmi/reliability/benchmark/bench/rmi/ObjArrayCalls.java ! test/java/rmi/reliability/benchmark/bench/rmi/ObjTreeCalls.java ! test/java/rmi/reliability/benchmark/bench/rmi/ProxyArrayCalls.java ! test/java/rmi/reliability/benchmark/bench/rmi/RemoteObjArrayCalls.java ! test/java/rmi/reliability/benchmark/bench/rmi/ShortArrayCalls.java ! test/java/rmi/reliability/benchmark/bench/rmi/ShortCalls.java ! test/java/rmi/reliability/benchmark/bench/rmi/SmallObjTreeCalls.java ! test/java/rmi/reliability/benchmark/bench/serial/BooleanArrays.java ! test/java/rmi/reliability/benchmark/bench/serial/Booleans.java ! test/java/rmi/reliability/benchmark/bench/serial/ByteArrays.java ! test/java/rmi/reliability/benchmark/bench/serial/Bytes.java ! test/java/rmi/reliability/benchmark/bench/serial/CharArrays.java ! test/java/rmi/reliability/benchmark/bench/serial/Chars.java ! test/java/rmi/reliability/benchmark/bench/serial/ClassDesc.java ! test/java/rmi/reliability/benchmark/bench/serial/Cons.java ! test/java/rmi/reliability/benchmark/bench/serial/CustomDefaultObjTrees.java ! test/java/rmi/reliability/benchmark/bench/serial/CustomObjTrees.java ! test/java/rmi/reliability/benchmark/bench/serial/DoubleArrays.java ! test/java/rmi/reliability/benchmark/bench/serial/Doubles.java ! test/java/rmi/reliability/benchmark/bench/serial/ExternObjTrees.java ! test/java/rmi/reliability/benchmark/bench/serial/FloatArrays.java ! test/java/rmi/reliability/benchmark/bench/serial/Floats.java ! test/java/rmi/reliability/benchmark/bench/serial/GetPutFieldTrees.java ! test/java/rmi/reliability/benchmark/bench/serial/IntArrays.java ! test/java/rmi/reliability/benchmark/bench/serial/Ints.java ! test/java/rmi/reliability/benchmark/bench/serial/LongArrays.java ! test/java/rmi/reliability/benchmark/bench/serial/Longs.java ! test/java/rmi/reliability/benchmark/bench/serial/Main.java ! test/java/rmi/reliability/benchmark/bench/serial/ObjArrays.java ! test/java/rmi/reliability/benchmark/bench/serial/ObjTrees.java ! test/java/rmi/reliability/benchmark/bench/serial/ProxyArrays.java ! test/java/rmi/reliability/benchmark/bench/serial/ProxyClassDesc.java ! test/java/rmi/reliability/benchmark/bench/serial/RepeatObjs.java ! test/java/rmi/reliability/benchmark/bench/serial/ReplaceTrees.java ! test/java/rmi/reliability/benchmark/bench/serial/ShortArrays.java ! test/java/rmi/reliability/benchmark/bench/serial/Shorts.java ! test/java/rmi/reliability/benchmark/bench/serial/SmallObjTrees.java ! test/java/rmi/reliability/benchmark/bench/serial/StreamBuffer.java ! test/java/rmi/reliability/benchmark/bench/serial/Strings.java ! test/java/rmi/reliability/juicer/Apple.java ! test/java/rmi/reliability/juicer/AppleEvent.java ! test/java/rmi/reliability/juicer/AppleImpl.java ! test/java/rmi/reliability/juicer/AppleUser.java ! test/java/rmi/reliability/juicer/AppleUserImpl.java ! test/java/rmi/reliability/juicer/ApplicationServer.java ! test/java/rmi/reliability/juicer/Orange.java ! test/java/rmi/reliability/juicer/OrangeEcho.java ! test/java/rmi/reliability/juicer/OrangeEchoImpl.java ! test/java/rmi/reliability/juicer/OrangeImpl.java ! test/java/rmi/server/RMISocketFactory/useSocketFactory/activatable/CompressConstants.java ! test/java/rmi/server/RMISocketFactory/useSocketFactory/activatable/CompressInputStream.java ! test/java/rmi/server/RMISocketFactory/useSocketFactory/activatable/CompressOutputStream.java ! test/java/rmi/server/RMISocketFactory/useSocketFactory/activatable/Echo.java ! test/java/rmi/server/RMISocketFactory/useSocketFactory/activatable/EchoImpl.java ! test/java/rmi/server/RMISocketFactory/useSocketFactory/activatable/EchoImpl_Stub.java ! test/java/rmi/server/RMISocketFactory/useSocketFactory/activatable/MultiSocketFactory.java ! test/java/rmi/server/RMISocketFactory/useSocketFactory/activatable/UseCustomSocketFactory.java ! test/java/rmi/server/RMISocketFactory/useSocketFactory/registry/Compress.java ! test/java/rmi/server/RMISocketFactory/useSocketFactory/registry/Hello.java ! test/java/rmi/server/RMISocketFactory/useSocketFactory/registry/HelloImpl.java ! test/java/rmi/server/RMISocketFactory/useSocketFactory/registry/HelloImpl_Stub.java ! test/java/rmi/server/RMISocketFactory/useSocketFactory/registry/UseCustomSocketFactory.java ! test/java/rmi/server/RMISocketFactory/useSocketFactory/unicast/CompressConstants.java ! test/java/rmi/server/RMISocketFactory/useSocketFactory/unicast/CompressInputStream.java ! test/java/rmi/server/RMISocketFactory/useSocketFactory/unicast/CompressOutputStream.java ! test/java/rmi/server/RMISocketFactory/useSocketFactory/unicast/Echo.java ! test/java/rmi/server/RMISocketFactory/useSocketFactory/unicast/EchoImpl.java ! test/java/rmi/server/RMISocketFactory/useSocketFactory/unicast/EchoImpl_Stub.java ! test/java/rmi/server/RMISocketFactory/useSocketFactory/unicast/MultiSocketFactory.java ! test/java/rmi/server/RMISocketFactory/useSocketFactory/unicast/UseCustomSocketFactory.java ! test/java/rmi/server/RemoteServer/setLogPermission/SetLogPermission.java ! test/java/rmi/server/UnicastRemoteObject/changeHostName/ChangeHostName.java ! test/java/rmi/server/UnicastRemoteObject/changeHostName/ChangeHostName_Stub.java ! test/java/rmi/server/UnicastRemoteObject/keepAliveDuringCall/KeepAliveDuringCall.java ! test/java/rmi/server/UnicastRemoteObject/keepAliveDuringCall/KeepAliveDuringCall_Stub.java ! test/java/rmi/server/UnicastRemoteObject/keepAliveDuringCall/Shutdown.java ! test/java/rmi/server/UnicastRemoteObject/keepAliveDuringCall/ShutdownImpl.java ! test/java/rmi/server/UnicastRemoteObject/keepAliveDuringCall/ShutdownImpl_Stub.java ! test/java/rmi/server/UnicastRemoteObject/keepAliveDuringCall/ShutdownMonitor.java ! test/java/rmi/server/UnicastRemoteObject/marshalAfterUnexport/MarshalAfterUnexport.java ! test/java/rmi/server/UnicastRemoteObject/marshalAfterUnexport/MarshalAfterUnexport2.java ! test/java/rmi/server/UnicastRemoteObject/marshalAfterUnexport/MarshalAfterUnexport2_Stub.java ! test/java/rmi/server/UnicastRemoteObject/marshalAfterUnexport/MarshalAfterUnexport_Stub.java ! test/java/rmi/server/UnicastRemoteObject/unexportObject/Ping.java ! test/java/rmi/server/UnicastRemoteObject/unexportObject/UnexportLeak.java ! test/java/rmi/server/UnicastRemoteObject/unexportObject/UnexportLeak_Stub.java ! test/java/rmi/server/UnicastRemoteObject/useDynamicProxies/UseDynamicProxies.java ! test/java/rmi/server/UnicastRemoteObject/useDynamicProxies/UseDynamicProxies_Stub.java ! test/java/rmi/server/Unmarshal/checkUnmarshalOnStopThread/CheckUnmarshalOnStopThread.java ! test/java/rmi/server/Unmarshal/checkUnmarshalOnStopThread/CheckUnmarshalOnStopThread_Stub.java ! test/java/rmi/server/Unmarshal/checkUnmarshalOnStopThread/CheckUnmarshall.java ! test/java/rmi/server/Unmarshal/checkUnmarshalOnStopThread/PoisonPill.java ! test/java/rmi/server/Unmarshal/checkUnmarshalOnStopThread/RuntimeExceptionParameter.java ! test/java/rmi/server/Unreferenced/finiteGCLatency/FiniteGCLatency.java ! test/java/rmi/server/Unreferenced/finiteGCLatency/FiniteGCLatency_Stub.java ! test/java/rmi/server/Unreferenced/leaseCheckInterval/LeaseCheckInterval.java ! test/java/rmi/server/Unreferenced/leaseCheckInterval/LeaseCheckInterval_Stub.java ! test/java/rmi/server/Unreferenced/leaseCheckInterval/SelfTerminator.java ! test/java/rmi/server/Unreferenced/marshalledObjectGet/MarshalledObjectGet.java ! test/java/rmi/server/Unreferenced/marshalledObjectGet/MarshalledObjectGet_Stub.java ! test/java/rmi/server/Unreferenced/unreferencedContext/UnreferencedContext.java ! test/java/rmi/server/Unreferenced/unreferencedContext/UnreferencedContext_Stub.java ! test/java/rmi/transport/acceptLoop/CloseServerSocketOnTermination.java ! test/java/rmi/transport/checkFQDN/CheckFQDN.java ! test/java/rmi/transport/checkFQDN/CheckFQDNClient.java ! test/java/rmi/transport/checkFQDN/CheckFQDN_Stub.java ! test/java/rmi/transport/checkFQDN/TellServerName.java ! test/java/rmi/transport/checkLeaseInfoLeak/CheckLeaseLeak.java ! test/java/rmi/transport/checkLeaseInfoLeak/CheckLeaseLeak_Stub.java ! test/java/rmi/transport/checkLeaseInfoLeak/LeaseLeak.java ! test/java/rmi/transport/checkLeaseInfoLeak/LeaseLeakClient.java ! test/java/rmi/transport/closeServerSocket/CloseServerSocket.java ! test/java/rmi/transport/dgcDeadLock/DGCDeadLock.java ! test/java/rmi/transport/dgcDeadLock/Test.java ! test/java/rmi/transport/dgcDeadLock/TestImpl.java ! test/java/rmi/transport/dgcDeadLock/TestImpl_Stub.java ! test/java/rmi/transport/handshakeFailure/HandshakeFailure.java ! test/java/rmi/transport/handshakeTimeout/HandshakeTimeout.java ! test/java/rmi/transport/httpSocket/HttpSocketTest.java ! test/java/rmi/transport/httpSocket/HttpSocketTest_Stub.java ! test/java/rmi/transport/pinClientSocketFactory/PinClientSocketFactory.java ! test/java/rmi/transport/pinLastArguments/PinLastArguments.java ! test/java/rmi/transport/rapidExportUnexport/RapidExportUnexport.java ! test/java/rmi/transport/readTimeout/ReadTimeoutTest.java ! test/java/rmi/transport/readTimeout/TestIface.java ! test/java/rmi/transport/readTimeout/TestImpl.java ! test/java/rmi/transport/readTimeout/TestImpl_Stub.java ! test/java/rmi/transport/reuseDefaultPort/ReuseDefaultPort.java ! test/java/rmi/transport/runtimeThreadInheritanceLeak/RuntimeThreadInheritanceLeak.java ! test/java/rmi/transport/runtimeThreadInheritanceLeak/RuntimeThreadInheritanceLeak_Stub.java Changeset: 63e1f1ed9805 Author: xdono Date: 2008-04-07 17:38 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/63e1f1ed9805 Merge Changeset: 68b85ce111f2 Author: ohair Date: 2008-04-14 14:52 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/68b85ce111f2 6484686: The next directory looks like it is no longer part of the build (deploy makefiles) Summary: Getting rid of the _OUTPUTDIR settings. Using BUILD_PARENT_DIRECTORY instead. This solves problems with the "/build/windows-i586*" paths getting mangled on Windows builds (fastdebug builds in particular). Reviewed-by: tbell ! make/common/shared/Defs-control.gmk Changeset: eac50a34a8e0 Author: xdono Date: 2008-04-18 13:24 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/eac50a34a8e0 Merge ! make/common/shared/Defs.gmk Changeset: b1bbd90b0c4f Author: ohair Date: 2008-04-18 12:47 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/b1bbd90b0c4f 6641585: jdk/make/javax/Makefile should not have both SUBDIRS and AUTO_FILES_JAVA_DIRS Summary: Separated Makefile logic, subtree walk vs. javac compiles. Also fixed minor issue in Rules.gmk. Reviewed-by: tbell ! make/common/Rules.gmk ! make/javax/Makefile + make/javax/others/Makefile Changeset: fb57027902e0 Author: ohair Date: 2008-04-18 16:40 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/fb57027902e0 Merge Changeset: 256d28e3fd98 Author: xdono Date: 2008-04-24 12:12 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/256d28e3fd98 Added tag jdk7-b26 for changeset fb57027902e0 ! .hgtags Changeset: 2249879c6f22 Author: tbell Date: 2008-04-25 15:18 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/2249879c6f22 Merge ! make/tools/Makefile Changeset: 2bf15b903bec Author: tbell Date: 2008-05-12 18:06 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/2bf15b903bec Merge From tim.bell at sun.com Tue May 13 21:38:39 2008 From: tim.bell at sun.com (tim.bell at sun.com) Date: Tue, 13 May 2008 21:38:39 +0000 Subject: hg: jdk7/tl/langtools: 3 new changesets Message-ID: <20080513213845.D5FF027FCE@hg.openjdk.java.net> Changeset: 3c41acaad702 Author: xdono Date: 2008-04-24 12:12 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/langtools/rev/3c41acaad702 Added tag jdk7-b26 for changeset c46d25a2350a ! .hgtags Changeset: eb4c60ad2fa2 Author: tbell Date: 2008-04-25 15:22 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/langtools/rev/eb4c60ad2fa2 Merge Changeset: a17265993253 Author: tbell Date: 2008-05-12 18:07 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/langtools/rev/a17265993253 Merge From eamonn.mcmanus at sun.com Wed May 14 16:41:21 2008 From: eamonn.mcmanus at sun.com (eamonn.mcmanus at sun.com) Date: Wed, 14 May 2008 16:41:21 +0000 Subject: hg: jdk7/tl/jdk: 6701459: Synchronization bug pattern found in javax.management.relation.RelationService Message-ID: <20080514164133.AB3B028050@hg.openjdk.java.net> Changeset: 94ded5c8cfba Author: emcmanus Date: 2008-05-14 18:38 +0200 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/94ded5c8cfba 6701459: Synchronization bug pattern found in javax.management.relation.RelationService Summary: Fixed this and many other problems found by FindBugs. Reviewed-by: dfuchs ! src/share/classes/com/sun/jmx/interceptor/DefaultMBeanServerInterceptor.java ! src/share/classes/com/sun/jmx/mbeanserver/MBeanInstantiator.java ! src/share/classes/com/sun/jmx/mbeanserver/Repository.java ! src/share/classes/com/sun/jmx/remote/internal/ClientNotifForwarder.java ! src/share/classes/com/sun/jmx/remote/internal/ServerNotifForwarder.java ! src/share/classes/com/sun/jmx/remote/security/FileLoginModule.java ! src/share/classes/com/sun/jmx/remote/security/JMXPluggableAuthenticator.java ! src/share/classes/com/sun/jmx/remote/security/MBeanServerFileAccessController.java ! src/share/classes/javax/management/NumericValueExp.java ! src/share/classes/javax/management/ObjectName.java ! src/share/classes/javax/management/StandardMBean.java ! src/share/classes/javax/management/loading/MLet.java ! src/share/classes/javax/management/loading/MLetParser.java ! src/share/classes/javax/management/modelmbean/DescriptorSupport.java ! src/share/classes/javax/management/modelmbean/ModelMBeanAttributeInfo.java ! src/share/classes/javax/management/modelmbean/ModelMBeanConstructorInfo.java ! src/share/classes/javax/management/modelmbean/ModelMBeanInfoSupport.java ! src/share/classes/javax/management/modelmbean/ModelMBeanNotificationInfo.java ! src/share/classes/javax/management/modelmbean/ModelMBeanOperationInfo.java ! src/share/classes/javax/management/modelmbean/RequiredModelMBean.java ! src/share/classes/javax/management/monitor/CounterMonitor.java ! src/share/classes/javax/management/monitor/GaugeMonitor.java ! src/share/classes/javax/management/monitor/Monitor.java ! src/share/classes/javax/management/openmbean/ArrayType.java ! src/share/classes/javax/management/openmbean/CompositeType.java ! src/share/classes/javax/management/openmbean/OpenMBeanAttributeInfoSupport.java ! src/share/classes/javax/management/openmbean/OpenMBeanConstructorInfoSupport.java ! src/share/classes/javax/management/openmbean/OpenMBeanInfoSupport.java ! src/share/classes/javax/management/openmbean/SimpleType.java ! src/share/classes/javax/management/openmbean/TabularType.java ! src/share/classes/javax/management/relation/RelationNotification.java ! src/share/classes/javax/management/relation/RelationService.java ! src/share/classes/javax/management/relation/RelationSupport.java ! src/share/classes/javax/management/remote/JMXConnectorFactory.java ! src/share/classes/javax/management/remote/JMXConnectorServerFactory.java ! src/share/classes/javax/management/remote/JMXServiceURL.java ! src/share/classes/javax/management/remote/rmi/RMIConnector.java ! src/share/classes/javax/management/remote/rmi/RMIConnectorServer.java ! src/share/classes/javax/management/timer/Timer.java From java.net at freetocreate.org Wed May 14 18:34:15 2008 From: java.net at freetocreate.org (Rob Leland) Date: Wed, 14 May 2008 14:34:15 -0400 Subject: hg: jdk7/tl/jdk: 6701459: Synchronization bug pattern found in javax.management.relation.RelationService Message-ID: <482B30A7.1050500@freetocreate.org> Hi Eamonn, In the change sets some variable postfixes were renamed Nbr -> No Example: Long seqNbr = getNotificationSequenceNumber(); + Long seqNo = atomicSeqNo.incrementAndGet(); The abbreviation No could also could mean: No as in 'Yes'/'No' , No as in 'Notation', besides 'Number'. Generally avoiding unclear naming seems desirable. Comments ? -Rob Leland From Peter.Kessler at Sun.COM Tue May 13 04:47:58 2008 From: Peter.Kessler at Sun.COM (Peter B. Kessler) Date: Mon, 12 May 2008 21:47:58 -0700 Subject: Does Java do anything to prevent files from changing out from under it? Message-ID: <48291D7E.3000004@Sun.COM> Does the Java platform do anything to prevent files from changing out from under it? E.g., once one has opened a jar file for class loading, could a malicious (or oblivious) user write to the jar file and disturb the VM? Or is that all relegated to "the operating system", file system permissions, etc.? ... peter From Alan.Bateman at Sun.COM Wed May 14 20:35:13 2008 From: Alan.Bateman at Sun.COM (Alan Bateman) Date: Wed, 14 May 2008 21:35:13 +0100 Subject: Does Java do anything to prevent files from changing out from under it? In-Reply-To: <48291D7E.3000004@Sun.COM> References: <48291D7E.3000004@Sun.COM> Message-ID: <482B4D01.4030801@sun.com> Peter B. Kessler wrote: > Does the Java platform do anything to prevent files from changing > out from under it? E.g., once one has opened a jar file for class > loading, could a malicious (or oblivious) user write to the jar > file and disturb the VM? Or is that all relegated to "the operating > system", file system permissions, etc.? > > ... peter There isn't anything special so files that are open can be changed or replaced by an attacker or unintentionally assuming they have appropriate permissions. It's harder to replace files on Windows due to file locking. When a file is replaced then for regular I/O we will continue to access the original file until it is closed. As you mention JAR files then I wonder if you might be thinking about mmap'ed files? Are you looking at an error log with a SIGBUS by any chance :-) I believe we currently mmap the central directory of JAR/zip files. Dave or Martin may want to say more about this but periodically people try to replace JARs on the file system and wonder why the VM falls over soon afterwards. -Alan. From martinrb at google.com Wed May 14 20:43:06 2008 From: martinrb at google.com (Martin Buchholz) Date: Wed, 14 May 2008 13:43:06 -0700 Subject: Does Java do anything to prevent files from changing out from under it? In-Reply-To: <48291D7E.3000004@Sun.COM> References: <48291D7E.3000004@Sun.COM> Message-ID: <1ccfd1c10805141343n70be4c97md50c275c034fcda0@mail.gmail.com> Having users write to jar files that are in use by a JDK is one of the most common sources of JDK crashes. There's a long history of bugs open in the bug database. Windows doesn't have this problem -- they have the opposite problem of locking jar files in use so that they cannot be updated. Fixing this would require hooking into the OS file modification notification mechanism; not easy; how to abort a class load in progress? Martin On Mon, May 12, 2008 at 9:47 PM, Peter B. Kessler wrote: > Does the Java platform do anything to prevent files from changing > out from under it? E.g., once one has opened a jar file for class > loading, could a malicious (or oblivious) user write to the jar > file and disturb the VM? Or is that all relegated to "the operating > system", file system permissions, etc.? > > ... peter > From Pete.Soper at Sun.COM Wed May 14 20:48:00 2008 From: Pete.Soper at Sun.COM (Pete Soper) Date: Wed, 14 May 2008 16:48:00 -0400 Subject: Does Java do anything to prevent files from changing out from under it? In-Reply-To: <48291D7E.3000004@Sun.COM> References: <48291D7E.3000004@Sun.COM> Message-ID: <482B5000.8070202@sun.com> Peter B. Kessler wrote: > Does the Java platform do anything to prevent files from changing > out from under it? E.g., once one has opened a jar file for class > loading, could a malicious (or oblivious) user write to the jar > file and disturb the VM? Or is that all relegated to "the operating > system", file system permissions, etc.? > > ... peter No, yes, and yes for Sun Java SE on Solaris, Linux, and Windows. But somebody can just dd /dev/zero over the top of a raw disk device too if they "just have the permissions." Deletion of a file is prevented by another process having it open on Windows, but that doesn't keep it from being overwritten and for rt.jar the program will explode when it tries to load the next class (depending on where the damage is). -Pete From Xueming.Shen at Sun.COM Wed May 14 21:10:51 2008 From: Xueming.Shen at Sun.COM (Xueming Shen) Date: Wed, 14 May 2008 14:10:51 -0700 Subject: Does Java do anything to prevent files from changing out from under it? In-Reply-To: <482B5000.8070202@sun.com> References: <48291D7E.3000004@Sun.COM> <482B5000.8070202@sun.com> Message-ID: <482B555B.7050606@sun.com> Pete Soper wrote: > Peter B. Kessler wrote: >> Does the Java platform do anything to prevent files from changing >> out from under it? E.g., once one has opened a jar file for class >> loading, could a malicious (or oblivious) user write to the jar >> file and disturb the VM? Or is that all relegated to "the operating >> system", file system permissions, etc.? >> >> ... peter > No, yes, and yes for Sun Java SE on Solaris, Linux, and Windows. But > somebody can just dd /dev/zero over the top of a raw disk device too > if they "just have the permissions." > > Deletion of a file is prevented by another process having it open on > Windows, but that doesn't keep it from being overwritten and for > rt.jar the program will explode when it tries to load the next class > (depending on where the damage is). > > -Pete > If someone has the permission to touch your rt.jar and/or the access to the rest of the filesystem, your app, the jvm and the system are no longer secured anyway. From Peter.Kessler at Sun.COM Wed May 14 22:05:56 2008 From: Peter.Kessler at Sun.COM (Peter B. Kessler) Date: Wed, 14 May 2008 15:05:56 -0700 Subject: Does Java do anything to prevent files from changing out from under it? In-Reply-To: <482B4D01.4030801@sun.com> References: <48291D7E.3000004@Sun.COM> <482B4D01.4030801@sun.com> Message-ID: <482B6244.3060605@Sun.COM> Thanks all for the definitive responses. ... peter Alan Bateman wrote: > Peter B. Kessler wrote: >> Does the Java platform do anything to prevent files from changing >> out from under it? E.g., once one has opened a jar file for class >> loading, could a malicious (or oblivious) user write to the jar >> file and disturb the VM? Or is that all relegated to "the operating >> system", file system permissions, etc.? >> >> ... peter > There isn't anything special so files that are open can be changed or > replaced by an attacker or unintentionally assuming they have > appropriate permissions. It's harder to replace files on Windows due to > file locking. When a file is replaced then for regular I/O we will > continue to access the original file until it is closed. As you mention > JAR files then I wonder if you might be thinking about mmap'ed files? > Are you looking at an error log with a SIGBUS by any chance :-) I > believe we currently mmap the central directory of JAR/zip files. Dave > or Martin may want to say more about this but periodically people try to > replace JARs on the file system and wonder why the VM falls over soon > afterwards. > > -Alan. From Eamonn.McManus at Sun.COM Thu May 15 09:59:57 2008 From: Eamonn.McManus at Sun.COM (Eamonn McManus) Date: Thu, 15 May 2008 11:59:57 +0200 Subject: hg: jdk7/tl/jdk: 6701459: Synchronization bug pattern found in javax.management.relation.RelationService Message-ID: <482C099D.4010106@sun.com> An HTML attachment was scrubbed... URL: From program.spe at home.pl Thu May 15 10:18:56 2008 From: program.spe at home.pl (Krzysztof =?UTF-8?Q?=C5=BBelechowski?=) Date: Thu, 15 May 2008 12:18:56 +0200 Subject: hg: jdk7/tl/jdk: 6701459: Synchronization bug pattern found in javax.management.relation.RelationService In-Reply-To: <482B30A7.1050500@freetocreate.org> References: <482B30A7.1050500@freetocreate.org> Message-ID: <1210846736.7301.1.camel@a1dmin.vola.spe.com.pl> Dnia 2008-05-14, ?ro o godzinie 14:34 -0400, Rob Leland pisze: > Hi Eamonn, > > In the change sets some variable postfixes were renamed > Nbr -> No > > Example: > Long seqNbr = getNotificationSequenceNumber(); > + Long seqNo = atomicSeqNo.incrementAndGet(); > > > The abbreviation No could also could mean: > No as in 'Yes'/'No' , Not as a suffix. > No as in 'Notation', Contrived. > besides 'Number'. > Generally avoiding unclear naming seems desirable. > Comments ? > > -Rob Leland > From eamonn.mcmanus at sun.com Fri May 16 09:35:49 2008 From: eamonn.mcmanus at sun.com (eamonn.mcmanus at sun.com) Date: Fri, 16 May 2008 09:35:49 +0000 Subject: hg: jdk7/tl/jdk: 6703552: Missing files from changeset for 6701459 Message-ID: <20080516093601.A150A281C8@hg.openjdk.java.net> Changeset: 1483094a7c17 Author: emcmanus Date: 2008-05-16 11:34 +0200 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/1483094a7c17 6703552: Missing files from changeset for 6701459 Summary: Previous push missed a small number of files. Reviewed-by: dfuchs ! src/share/classes/javax/management/openmbean/OpenMBeanOperationInfoSupport.java ! src/share/classes/javax/management/relation/RelationService.java ! src/share/classes/javax/management/timer/Timer.java + test/javax/management/relation/RelationNotificationSeqNoTest.java From tim.bell at sun.com Sat May 17 04:52:22 2008 From: tim.bell at sun.com (tim.bell at sun.com) Date: Sat, 17 May 2008 04:52:22 +0000 Subject: hg: jdk7/tl: 2 new changesets Message-ID: <20080517045223.075B328251@hg.openjdk.java.net> Changeset: 0f440f3321f5 Author: ohair Date: 2008-04-30 19:35 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/rev/0f440f3321f5 6563616: Clarify instructions for unpacking openjdk binary "plug" 6611685: Incorrect link to CA certs info from build README 6682167: Add cygwin faq to README-builds.html Reviewed-by: xdono ! README-builds.html Changeset: 11b4dc9f2be3 Author: xdono Date: 2008-05-13 11:31 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/rev/11b4dc9f2be3 Merge From Ulf.Zibis at CoSoCo.de Sat May 17 17:08:50 2008 From: Ulf.Zibis at CoSoCo.de (Ulf Zibis) Date: Sat, 17 May 2008 19:08:50 +0200 Subject: Character decoding could be 3 times faster ! Message-ID: <482F1122.2020208@CoSoCo.de> Hi folks, I would like to encourage, that some often used charset decoders, loaded by java.nio.charset.Charset, are worth to overview. See my results up to now: https://java-nio-charset-enhanced.dev.java.net/ I would be glad, to read your comments here ... Ulf *** See also: http://forums.java.net/jive/thread.jspa?threadID=40641&tstart=0 From Ulf.Zibis at CoSoCo.de Sat May 17 17:50:54 2008 From: Ulf.Zibis at CoSoCo.de (Ulf Zibis) Date: Sat, 17 May 2008 19:50:54 +0200 Subject: Character decoding -> interesting performance results In-Reply-To: <482F1122.2020208@CoSoCo.de> References: <482F1122.2020208@CoSoCo.de> Message-ID: <482F1AFE.3060801@CoSoCo.de> *As you see in the following source snippet, I have discovered interesting performance results.* *public* *abstract* *class* SingleByteFastDecoder *extends* SingleByteDecoder { *private* *final* *char*[] byteToCharArray_00_7F = *new* *char*[0x80]; *private* *final* *char*[] byteToCharArray_80_FF = *new* *char*[0x100]; *protected* SingleByteFastDecoder(Charset cs, String byteToCharTable) { *super*(cs, byteToCharTable); byteToCharTable.getChars(0, 0x7F, byteToCharArray_00_7F, 0); byteToCharTable.getChars(0, 0x7F, byteToCharArray_80_FF, 0x80); } CoderResult decodeArrayLoop(ByteBuffer src, CharBuffer dst) { *byte*[] sa = src.array(); *int* sp = src.arrayOffset() + src.position(); *int* sl = src.arrayOffset() + src.limit(); *assert* (sp <= sl); sp = (sp <= sl ? sp : sl); *char*[] da = dst.array(); *int* dp = dst.arrayOffset() + dst.position(); *int* dl = dst.arrayOffset() + dst.limit(); *assert* (dp <= dl); dp = (dp <= dl ? dp : dl); *try* { *byte* b; *char* c; *int* i; *while* (sp < sl) *if* (dp < dl) /* * Different algorithms to calculate the matching with the code tables * and their performance results on a 2GHz 1-core Intel Centrino. * * The first value is the minimum for 100 loops over a 190 KB 7-bit-ASCII file. * The second value results from a 190 KB MS1252 coded file, containing * 10 % 8-bit german 'Umlaute'. (see test/SpeedTest.java) * Interesting, that there are different coding times for different extended * 8-bit processing, even if there are no extended characters in the test file ! * It's a pity, that compiler/hotspot don't inline method _decode(int). */ //// da[dp++] = _decode(sa[sp++]); // is slower; compiler and hotspot don't inline it // da[dp++] = (b = sa[sp++]) >= 0 ? (char)b // : byteToCharTable.charAt(b & 0x7F); // (125 / 172 ms) // best String speed! // : byteToCharTable.charAt(b + 0x80); // (125 / 172 ms) // : byteToCharArray_00_7F[b & 0x7F]; // (171 / 203 ms) // : byteToCharArray_00_7F[b + 0x80]; // (135 / 171 ms) // : byteToCharArray_80_FF[b & 0xFF]; // (140 / 172 ms) // : byteToCharArray_80_FF[b + 0x100]; // (140 / 171 ms) da[dp++] = (c = (*char*)sa[sp++]) < 0x80 ? c // : byteToCharTable.charAt(c & 0x7F); // (140 / 172 ms) // : byteToCharTable.charAt(c - 0xFF80); // (140 / 172 ms) // : byteToCharArray_00_7F[c & 0x7F]; // (140 / 172 ms) : byteToCharArray_00_7F[c - 0xFF80]; // (125 / 156 ms) // best char[] speed! // : byteToCharArray_80_FF[c & 0xFF]; // (125 / 171 ms) // : byteToCharArray_80_FF[c - 0xFF00]; // (125 / 156 ms) // da[dp++] = (c = (char)(sa[sp++] & 0xFF)) < 0x80 ? c // : byteToCharTable.charAt(c & 0x7F); // (140 / 171 ms) // : byteToCharTable.charAt(c - 0x80); // (140 / 171 ms) // : byteToCharArray_80_FF[c]; // (140 / 171 ms) // da[dp++] = (i = sa[sp++]) >= 0 ? (char)i // : byteToCharTable.charAt(i & 0x7F); // (125 / 172 ms) // : byteToCharTable.charAt(i + 0x80); // (125 / 171 ms) // : byteToCharArray_00_7F[i & 0x7F]; // (171 / 203 ms) // : byteToCharArray_00_7F[i + 0x80]; // (140 / 165 ms) // : byteToCharArray_80_FF[i & 0xFF]; // (135 / 172 ms) // : byteToCharArray_80_FF[i + 0x100]; // (140 / 171 ms) // da[dp++] = (i = sa[sp++] & 0xFF) < 0x80 ? (char)i // : byteToCharTable.charAt(i & 0x7F); // (140 / 171 ms) // : byteToCharTable.charAt(i - 0x80); // (135 / 171 ms) // : byteToCharArray_80_FF[i]; // (140 / 160 ms) *else* *return* CoderResult.OVERFLOW; *return* CoderResult.UNDERFLOW; } *finally* { src.position(sp - src.arrayOffset()); dst.position(dp - dst.arrayOffset()); } } ... *private* *final* *char* _decode(*int* inByte) { *return* inByte >= 0 ? (*char*)inByte : byteToCharTable.charAt(inByte + 0x80); } ... } > -------------- next part -------------- An HTML attachment was scrubbed... URL: From neal at gafter.com Sun May 18 23:18:31 2008 From: neal at gafter.com (Neal Gafter) Date: Sun, 18 May 2008 16:18:31 -0700 Subject: jdk build error Message-ID: <15e8b9d20805181618i60c06c3fhf8a2c0cb651b4b84@mail.gmail.com> I'm trying to prepare a patch for closures, but I still can't build openjdk even from the master on my Ubuntu system. Did I do something wrong? Is anybody working on this? Here's where the build fails: /home/gafter/jdk7/jdk7-image/bin/java -client -Xmx896m -Xms128m -XX:PermSize=32m -XX:MaxPermSize=160m -Xbootclasspath/p:/home/gafter/jdk7/tl0.hgf/build/linux-i586/langtools/dist/bootstrap/lib/javac.jar -jar /home/gafter/jdk7/tl0.hgf/build/linux-i586/langtools/dist/bootstrap/lib/javac.jar -source 1.5 -target 5 -encoding ascii -Xbootclasspath:/home/gafter/jdk7/tl0.hgf/build/linux-i586/classes -sourcepath /home/gafter/jdk7/tl0.hgf/build/linux-i586/gensrc:../../../src/solaris/classes:../../../src/share/classes -d /home/gafter/jdk7/tl0.hgf/build/linux-i586/classes @/home/gafter/jdk7/tl0.hgf/build/linux-i586/tmp/java/java.lang/java/.classes.list.filtered /home/gafter/jdk7/tl0.hgf/build/linux-i586/gensrc/java/nio/charset/CharsetEncoder.java:142: cannot find symbol symbol : class $replType$ location: class java.nio.charset.CharsetEncoder private $replType$ replacement; ^ /home/gafter/jdk7/tl0.hgf/build/linux-i586/gensrc/java/nio/charset/CharsetEncoder.java:185: cannot find symbol symbol : class $replType$ location: class java.nio.charset.CharsetEncoder $replType$ replacement) ^ /home/gafter/jdk7/tl0.hgf/build/linux-i586/gensrc/java/nio/charset/CharsetEncoder.java:246: cannot find symbol symbol : class $replType$ location: class java.nio.charset.CharsetEncoder public final $replType$ replacement() { ^ /home/gafter/jdk7/tl0.hgf/build/linux-i586/gensrc/java/nio/charset/CharsetEncoder.java:275: cannot find symbol symbol : class $replType$ location: class java.nio.charset.CharsetEncoder public final CharsetEncoder replaceWith($replType$ newReplacement) { ^ /home/gafter/jdk7/tl0.hgf/build/linux-i586/gensrc/java/nio/charset/CharsetEncoder.java:301: cannot find symbol symbol : class $replType$ location: class java.nio.charset.CharsetEncoder protected void implReplaceWith($replType$ newReplacement) { ^ Note: Some input files use or override a deprecated API. Note: Recompile with -Xlint:deprecation for details. Note: Some input files use unchecked or unsafe operations. Note: Recompile with -Xlint:unchecked for details. 5 errors make[3]: *** [.compile.classlist] Error 1 make[3]: Leaving directory `/home/gafter/jdk7/tl0.hgf/jdk/make/java/java' -------------- next part -------------- An HTML attachment was scrubbed... URL: From Tim.Bell at Sun.COM Mon May 19 01:24:22 2008 From: Tim.Bell at Sun.COM (Tim Bell) Date: Sun, 18 May 2008 18:24:22 -0700 Subject: jdk build error In-Reply-To: <15e8b9d20805181618i60c06c3fhf8a2c0cb651b4b84@mail.gmail.com> References: <15e8b9d20805181618i60c06c3fhf8a2c0cb651b4b84@mail.gmail.com> Message-ID: <4830D6C6.9040500@sun.com> Hi Neal: > /home/gafter/jdk7/tl0.hgf/build/linux-i586/gensrc/java/nio/charset/CharsetEncoder.java:185: > cannot find symbol > symbol : class $replType$ > location: class java.nio.charset.CharsetEncoder > $replType$ replacement) > I believe this is the /bin/bash versus /bin/dash issue on recent release(s) of Ubuntu. There are a couple of related bug IDs: http://bugs.sun.com/view_bug.do?bug_id=6681798 https://bugs.launchpad.net/ubuntu/+source/dash/+bug/61463 Also this thread on build-dev (at) openjdk.java.net: http://mail.openjdk.java.net/pipermail/build-dev/2008-May/001047.html The workaround (according to Martin) is 'sudo dpkg-reconfigure dash' and answer no HTH - Tim From neal at gafter.com Mon May 19 03:52:17 2008 From: neal at gafter.com (Neal Gafter) Date: Sun, 18 May 2008 20:52:17 -0700 Subject: jdk build error In-Reply-To: <4830D6C6.9040500@sun.com> References: <15e8b9d20805181618i60c06c3fhf8a2c0cb651b4b84@mail.gmail.com> <4830D6C6.9040500@sun.com> Message-ID: <15e8b9d20805182052t6ace8d37i49224d248ed7c039@mail.gmail.com> That did it. Thanks Tim and Martin! -Neal On Sun, May 18, 2008 at 6:24 PM, Tim Bell wrote: > Hi Neal: > > /home/gafter/jdk7/tl0.hgf/build/linux-i586/gensrc/java/nio/charset/CharsetEncoder.java:185: >> cannot find symbol >> symbol : class $replType$ >> location: class java.nio.charset.CharsetEncoder >> $replType$ replacement) >> >> > > I believe this is the /bin/bash versus /bin/dash issue on recent release(s) > of Ubuntu. > > There are a couple of related bug IDs: > > http://bugs.sun.com/view_bug.do?bug_id=6681798 > https://bugs.launchpad.net/ubuntu/+source/dash/+bug/61463 > > Also this thread on build-dev (at) openjdk.java.net: > > http://mail.openjdk.java.net/pipermail/build-dev/2008-May/001047.html > > The workaround (according to Martin) is 'sudo dpkg-reconfigure dash' and > answer no > > HTH - Tim > -------------- next part -------------- An HTML attachment was scrubbed... URL: From Alan.Bateman at Sun.COM Mon May 19 11:16:49 2008 From: Alan.Bateman at Sun.COM (Alan Bateman) Date: Mon, 19 May 2008 12:16:49 +0100 Subject: Character decoding could be 3 times faster ! In-Reply-To: <482F1122.2020208@CoSoCo.de> References: <482F1122.2020208@CoSoCo.de> Message-ID: <483161A1.2030306@sun.com> Ulf Zibis wrote: > Hi folks, > > I would like to encourage, that some often used charset decoders, > loaded by java.nio.charset.Charset, are worth to overview. > > See my results up to now: https://java-nio-charset-enhanced.dev.java.net/ > > I would be glad, to read your comments here ... > > Ulf > > *** See also: > http://forums.java.net/jive/thread.jspa?threadID=40641&tstart=0 > Your scripts are DOS batch files so I assume you are on Windows. As the scripts don't specify the -client or -server option then I assume you are testing only with the Client VM (is that right?). If you are only testing with the Client VM then switching to the Server VM should make a significant difference to this test. Another comment is that the input file is only 190k so you'll probably need to decode it several thousand times to get to a steady-state and get reasonable results. One other thing - it looks like you are using the jdk6 sources with the JRL license rather than OpenJDK sources. If you do improve the performance of the decode loop for this class of decoder then it would be best to post a patch against the OpenJDK sources. -Alan. From tovaren_mail at yahoo.com Fri May 16 00:12:53 2008 From: tovaren_mail at yahoo.com (zele zele) Date: Thu, 15 May 2008 17:12:53 -0700 (PDT) Subject: Looking for the source code for java.util.Stack implementation Message-ID: <765415.50101.qm@web56710.mail.re3.yahoo.com> Hello, I'm looking for the source code for java.util.Stack, preferably from Java 5 although I can settle with higher versions. I searched the web and couldn't find it.... Can you point me to the source code download location? Thanks in advance -- Franc From fw at deneb.enyo.de Tue May 20 07:24:29 2008 From: fw at deneb.enyo.de (Florian Weimer) Date: Tue, 20 May 2008 09:24:29 +0200 Subject: Does Java do anything to prevent files from changing out from under it? In-Reply-To: <1ccfd1c10805141343n70be4c97md50c275c034fcda0@mail.gmail.com> (Martin Buchholz's message of "Wed, 14 May 2008 13:43:06 -0700") References: <48291D7E.3000004@Sun.COM> <1ccfd1c10805141343n70be4c97md50c275c034fcda0@mail.gmail.com> Message-ID: <87hccth1zm.fsf@mid.deneb.enyo.de> * Martin Buchholz: > Fixing this would require hooking into the OS file modification > notification mechanism; not easy; how to abort a class load in > progress? Does the JVM ever reopen a JAR file to read more classes? If it this isn't the case, at least there's a clean way to replace JARs on UNIX platforms while a JVM is still referencing them. From Alan.Bateman at Sun.COM Tue May 20 10:58:37 2008 From: Alan.Bateman at Sun.COM (Alan Bateman) Date: Tue, 20 May 2008 11:58:37 +0100 Subject: Looking for the source code for java.util.Stack implementation In-Reply-To: <765415.50101.qm@web56710.mail.re3.yahoo.com> References: <765415.50101.qm@web56710.mail.re3.yahoo.com> Message-ID: <4832AEDD.9000905@sun.com> zele zele wrote: > Hello, > > I'm looking for the source code for java.util.Stack, > preferably from Java 5 although I can settle with > higher versions. I searched the web and couldn't find > it.... > > Can you point me to the source code download location? > > > > Thanks in advance > -- Franc > On the OpenJDK home page (http://openjdk.java.net/) you will see links to the source code for OpenJDK 6 and OpenJDK (7). If you really want the J2SE 5.0 source code then it is available from the SCSL site: http://www.sun.com/software/communitysource/j2se/java2/download.xml If you're only looking for j.u.Stack then you another place to look is the src.zip file in the JDK. -Alan. From martinrb at google.com Tue May 20 13:15:26 2008 From: martinrb at google.com (Martin Buchholz) Date: Tue, 20 May 2008 06:15:26 -0700 Subject: Does Java do anything to prevent files from changing out from under it? In-Reply-To: <87hccth1zm.fsf@mid.deneb.enyo.de> References: <48291D7E.3000004@Sun.COM> <1ccfd1c10805141343n70be4c97md50c275c034fcda0@mail.gmail.com> <87hccth1zm.fsf@mid.deneb.enyo.de> Message-ID: <1ccfd1c10805200615w3f6817ccr7218faad039e4317@mail.gmail.com> On Tue, May 20, 2008 at 12:24 AM, Florian Weimer wrote: > * Martin Buchholz: > >> Fixing this would require hooking into the OS file modification >> notification mechanism; not easy; how to abort a class load in >> progress? > > Does the JVM ever reopen a JAR file to read more classes? Hmmm...The jar/zip code keeps the file descriptor from the first open, then calls read() whenever the data for an entry needs to be read (e.g. class load is required). > If it this isn't the case, at least there's a clean way to replace JARs > on UNIX platforms while a JVM is still referencing them. Yes, I believe it is true that if you practice proper hygiene when replacing jars (rm first, then mv) then the running java process should continue to work fine. At least, none of the bug reports about crashes after replacing jars stated, "But....I WAS practicing proper file descriptor hygiene!" Martin Martin From Ulf.Zibis at CoSoCo.de Wed May 21 16:24:22 2008 From: Ulf.Zibis at CoSoCo.de (Ulf Zibis) Date: Wed, 21 May 2008 18:24:22 +0200 Subject: Character decoding could be 3 times faster ! In-Reply-To: <483161A1.2030306@sun.com> References: <482F1122.2020208@CoSoCo.de> <483161A1.2030306@sun.com> Message-ID: <48344CB6.80000@CoSoCo.de> Hi Alan, thanks for your interest, and your hints. - Yes, I'm on Windows. - I did my tests in default (-client) mode with 100 loops on 190k file. In my experience I didn't recognize any significant difference for 500 or 1000 loops, so IMO 100 loops should be enough. On the other hand I had significant differences (up to 3 times) on different runs of SpeedTest at different times, but regardless of 100 or 1000 loops. I assume, that other running windows tasks are the cause for this. So I did up to 40 runs, and then valued the minimum of those results. - Now I also tried some tests with the -server option. The improvement is ~10 % for 100 loops, but ~30 % for 1000 loops. -Ulf Am 19.05.2008 13:16, Alan Bateman schrieb: > > Your scripts are DOS batch files so I assume you are on Windows. As > the scripts don't specify the -client or -server option then I assume > you are testing only with the Client VM (is that right?). If you are > only testing with the Client VM then switching to the Server VM should > make a significant difference to this test. Another comment is that > the input file is only 190k so you'll probably need to decode it > several thousand times to get to a steady-state and get reasonable > results. > > One other thing - it looks like you are using the jdk6 sources with > the JRL license rather than OpenJDK sources. If you do improve the > performance of the decode loop for this class of decoder then it would > be best to post a patch against the OpenJDK sources. > > -Alan. > > > From Ulf.Zibis at CoSoCo.de Wed May 21 16:53:10 2008 From: Ulf.Zibis at CoSoCo.de (Ulf Zibis) Date: Wed, 21 May 2008 18:53:10 +0200 Subject: Character decoding could be 3 times faster ! In-Reply-To: <483161A1.2030306@sun.com> References: <482F1122.2020208@CoSoCo.de> <483161A1.2030306@sun.com> Message-ID: <48345376.9060308@CoSoCo.de> Am 19.05.2008 13:16, Alan Bateman schrieb: > One other thing - it looks like you are using the jdk6 sources with > the JRL license rather than OpenJDK sources. If you do improve the > performance of the decode loop for this class of decoder then it would > be best to post a patch against the OpenJDK sources. > > -Alan. Yes, this might be. I'm afraid, this would become a BIG THING for me, as I'm not familiar with the JDK7 contribution process, Mercurial, and how to create a suitable NetBeans project to serve this. I hesitate to install JDK7 on my system, as it is less than Beta. Also my goal is, to provide a jar, which users could use with JDK6 by -Xbootclasspath/p. Is there any sample NetBeans project regarding hacking the JDK7? How can I commit my steps of work against your Mercurial server? (At java.net I only have Subversion) What you think: - Can I simply use the the JDK7 sources of sun.nio.cs package, compile them against JDK6 for my development and test runs, and then create the patch from there? -Ulf From David.Bristor at Sun.COM Wed May 21 17:27:44 2008 From: David.Bristor at Sun.COM (Dave Bristor) Date: Wed, 21 May 2008 10:27:44 -0700 Subject: Character decoding could be 3 times faster ! In-Reply-To: <48345376.9060308@CoSoCo.de> References: <482F1122.2020208@CoSoCo.de> <483161A1.2030306@sun.com> <48345376.9060308@CoSoCo.de> Message-ID: <48345B90.103@sun.com> Ulf Zibis wrote: > > > Am 19.05.2008 13:16, Alan Bateman schrieb: >> One other thing - it looks like you are using the jdk6 sources with >> the JRL license rather than OpenJDK sources. If you do improve the >> performance of the decode loop for this class of decoder then it would >> be best to post a patch against the OpenJDK sources. >> >> -Alan. > > Yes, this might be. I'm afraid, this would become a BIG THING for me, as > I'm not familiar with the JDK7 contribution process, Mercurial, and how > to create a suitable NetBeans project to serve this. > I hesitate to install JDK7 on my system, as it is less than Beta. > Also my goal is, to provide a jar, which users could use with JDK6 by > -Xbootclasspath/p. > > Is there any sample NetBeans project regarding hacking the JDK7? > How can I commit my steps of work against your Mercurial server? (At > java.net I only have Subversion) Both the OpenJDK 6 and OpenJDK 7 source bases include NetBeans projects. Those for OpenJDK 6 are more up-to-date. In both cases look in jdk/make/netbeans. While there might not be a project specific to your needs, the README in that directory provides some guidance on using an existing project as a starting point which you can customize. Dave > > What you think: > - Can I simply use the the JDK7 sources of sun.nio.cs package, compile > them against JDK6 for my development and test runs, and then create the > patch from there? > > -Ulf > > From Xueming.Shen at Sun.COM Wed May 21 17:33:05 2008 From: Xueming.Shen at Sun.COM (Xueming Shen) Date: Wed, 21 May 2008 10:33:05 -0700 Subject: Character decoding could be 3 times faster ! In-Reply-To: <48345376.9060308@CoSoCo.de> References: <482F1122.2020208@CoSoCo.de> <483161A1.2030306@sun.com> <48345376.9060308@CoSoCo.de> Message-ID: <48345CD1.8090408@sun.com> It is a surprise to see that the String.charAt is way faster than the char[] index access...I had the assumption that the array access is faster when considering to move the mappable table from the String storage to a simple 256 length char[] for both singlebyte and doublebyte charsets. Ulf, Martin and I were (will continue to, hopely) working on a project to improve the performance of the charset implementation, your contribution will definitely appreciated. Sherman Ulf Zibis wrote: > > > Am 19.05.2008 13:16, Alan Bateman schrieb: >> One other thing - it looks like you are using the jdk6 sources with >> the JRL license rather than OpenJDK sources. If you do improve the >> performance of the decode loop for this class of decoder then it >> would be best to post a patch against the OpenJDK sources. >> >> -Alan. > > Yes, this might be. I'm afraid, this would become a BIG THING for me, > as I'm not familiar with the JDK7 contribution process, Mercurial, and > how to create a suitable NetBeans project to serve this. > I hesitate to install JDK7 on my system, as it is less than Beta. > Also my goal is, to provide a jar, which users could use with JDK6 by > -Xbootclasspath/p. > > Is there any sample NetBeans project regarding hacking the JDK7? > How can I commit my steps of work against your Mercurial server? (At > java.net I only have Subversion) > > What you think: > - Can I simply use the the JDK7 sources of sun.nio.cs package, compile > them against JDK6 for my development and test runs, and then create > the patch from there? > > -Ulf > > From Ulf.Zibis at CoSoCo.de Wed May 21 18:31:11 2008 From: Ulf.Zibis at CoSoCo.de (Ulf Zibis) Date: Wed, 21 May 2008 20:31:11 +0200 Subject: Character decoding could be 3 times faster ! In-Reply-To: <48345B90.103@sun.com> References: <482F1122.2020208@CoSoCo.de> <483161A1.2030306@sun.com> <48345376.9060308@CoSoCo.de> <48345B90.103@sun.com> Message-ID: <48346A6F.9060003@CoSoCo.de> Am 21.05.2008 19:27, Dave Bristor schrieb: > > Both the OpenJDK 6 and OpenJDK 7 source bases include NetBeans > projects. Those for OpenJDK 6 are more up-to-date. In both cases look > in jdk/make/netbeans. While there might not be a project specific to > your needs, the README in that directory provides some guidance on > using an existing project as a starting point which you can customize. > > Dave > - I've looked here: http://hg.openjdk.java.net/. Where to find jdk/make/netbeans? - Do you know where to find the current JDK 6 Update 6 sources? I'm claiming this since months. See: https://java-net.dev.java.net/issues/show_bug.cgi?id=418 - On http://download.java.net/openjdk/jdk6/ I find: Note: This source bundle is preliminary and without modification is not sufficient to create a compatible implementation of Java SE 6 Also there is no hint, how b09 from 11 April 2008 is related to current JDK 6 Update 6. -Ulf From Ulf.Zibis at CoSoCo.de Wed May 21 18:48:43 2008 From: Ulf.Zibis at CoSoCo.de (Ulf Zibis) Date: Wed, 21 May 2008 20:48:43 +0200 Subject: Character decoding could be 3 times faster ! In-Reply-To: <48345CD1.8090408@sun.com> References: <482F1122.2020208@CoSoCo.de> <483161A1.2030306@sun.com> <48345376.9060308@CoSoCo.de> <48345CD1.8090408@sun.com> Message-ID: <48346E8B.3080606@CoSoCo.de> Am 21.05.2008 19:33, Xueming Shen schrieb: > It is a surprise to see that the String.charAt is way faster than the > char[] index access...I had > the assumption that the array access is faster when considering to > move the mappable table > from the String storage to a simple 256 length char[] for both > singlebyte and doublebyte charsets. Yes, it's surprising. I assume that there are some native machine code bypasses in the VM for String processing, whereas char[] index access is treated by the standard hotspot optimisation. I'm also wondering how array initialization is compiled to byte code. Compile char[] chars = {'\u0000', '\u0001', '\u0002', ..., '\u00FF' }; ... and compare it with String charString = "\u0000+\u0001+\u0002+ ...+\u00FF"; by help of javap. > Ulf, Martin and I were (will continue to, hopely) working on a project > to improve the performance > of the charset implementation, your contribution will definitely > appreciated. Thanks very much. Where can I find your project? -Ulf From David.Bristor at Sun.COM Wed May 21 19:09:09 2008 From: David.Bristor at Sun.COM (Dave Bristor) Date: Wed, 21 May 2008 12:09:09 -0700 Subject: Character decoding could be 3 times faster ! In-Reply-To: <48346A6F.9060003@CoSoCo.de> References: <482F1122.2020208@CoSoCo.de> <483161A1.2030306@sun.com> <48345376.9060308@CoSoCo.de> <48345B90.103@sun.com> <48346A6F.9060003@CoSoCo.de> Message-ID: <48347355.1000409@sun.com> Ulf Zibis wrote: > Am 21.05.2008 19:27, Dave Bristor schrieb: >> >> Both the OpenJDK 6 and OpenJDK 7 source bases include NetBeans >> projects. Those for OpenJDK 6 are more up-to-date. In both cases look >> in jdk/make/netbeans. While there might not be a project specific to >> your needs, the README in that directory provides some guidance on >> using an existing project as a starting point which you can customize. >> >> Dave >> > - I've looked here: http://hg.openjdk.java.net/. Where to find > jdk/make/netbeans? OpenJDK 6: http://download.java.net/openjdk/jdk6/ You'd have to download the whole source bundle, since we don't have Mercurial access to this. As you noted, this is still marked preliminary, but the NetBeans project files here will likely work for other source bundles such as the JRL, though nobody's tested that as far as I know. OpenJDK 7: http://hg.openjdk.java.net/jdk7/jdk7/jdk If you want to see any of the individual files, choose the manifest link of a change, and follow to make/netbeans > - Do you know where to find the current JDK 6 Update 6 sources? I'm > claiming this since months. See: > https://java-net.dev.java.net/issues/show_bug.cgi?id=418 I scanned the comments therein: my impression is that sources for update releases are not available, as stated in the by Mathangi in the comments. I'll try to verify this. Thanks, Dave > - On http://download.java.net/openjdk/jdk6/ I find: > Note: This source bundle is preliminary and without modification is not > sufficient to create a compatible implementation of Java SE 6 > Also there is no hint, how b09 from 11 April 2008 is related to current > JDK 6 Update 6. > > -Ulf > > From jonathan.gibbons at sun.com Thu May 22 22:51:35 2008 From: jonathan.gibbons at sun.com (jonathan.gibbons at sun.com) Date: Thu, 22 May 2008 22:51:35 +0000 Subject: hg: jdk7/tl/langtools: 6705945: com.sun.tools.javac.zip files do not have valid copyright Message-ID: <20080522225138.74A6628583@hg.openjdk.java.net> Changeset: 58e352559a41 Author: jjg Date: 2008-05-22 15:51 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/langtools/rev/58e352559a41 6705945: com.sun.tools.javac.zip files do not have valid copyright Reviewed-by: mcimadamore ! src/share/classes/com/sun/tools/javac/zip/ZipFileIndex.java ! src/share/classes/com/sun/tools/javac/zip/ZipFileIndexEntry.java From jonathan.gibbons at sun.com Thu May 22 23:05:55 2008 From: jonathan.gibbons at sun.com (jonathan.gibbons at sun.com) Date: Thu, 22 May 2008 23:05:55 +0000 Subject: hg: jdk7/tl/langtools: 6657909: javap has unchecked compilation warnings Message-ID: <20080522230557.049BD28596@hg.openjdk.java.net> Changeset: b8c8259e0d2b Author: jjg Date: 2008-05-22 16:06 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/langtools/rev/b8c8259e0d2b 6657909: javap has unchecked compilation warnings Reviewed-by: mcimadamore ! src/share/classes/sun/tools/javap/ClassData.java ! src/share/classes/sun/tools/javap/FieldData.java ! src/share/classes/sun/tools/javap/InnerClassData.java ! src/share/classes/sun/tools/javap/JavapPrinter.java ! src/share/classes/sun/tools/javap/Main.java ! src/share/classes/sun/tools/javap/MethodData.java ! src/share/classes/sun/tools/javap/Tables.java ! src/share/classes/sun/tools/javap/TypeSignature.java From jonathan.gibbons at sun.com Fri May 23 00:40:48 2008 From: jonathan.gibbons at sun.com (jonathan.gibbons at sun.com) Date: Fri, 23 May 2008 00:40:48 +0000 Subject: hg: jdk7/tl/langtools: 6705935: javac reports path name of entry in ZipFileIndex incorectly Message-ID: <20080523004050.7C3FA285A2@hg.openjdk.java.net> Changeset: 65a447c75d4b Author: jjg Date: 2008-05-22 17:40 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/langtools/rev/65a447c75d4b 6705935: javac reports path name of entry in ZipFileIndex incorectly Reviewed-by: darcy ! src/share/classes/com/sun/tools/javac/util/JavacFileManager.java ! test/tools/javac/6589361/T6589361.java + test/tools/javac/T6705935.java From Ulf.Zibis at CoSoCo.de Fri May 23 16:29:28 2008 From: Ulf.Zibis at CoSoCo.de (Ulf Zibis) Date: Fri, 23 May 2008 18:29:28 +0200 Subject: Character decoding could be 3 times faster ! In-Reply-To: <482F1122.2020208@CoSoCo.de> References: <482F1122.2020208@CoSoCo.de> Message-ID: <4836F0E8.4030903@CoSoCo.de> *Now I've created the ultimate single-byte decoder loop. It's internal work is done by 1 line of code. It's fast, because all exceptional circumstances are processed outside in the catch blocks. The therein invoked subclassable decode method is customisable in any way. See the full code of the following snippet here: https://java-nio-charset-enhanced.dev.java.net/source/browse/java-nio-charset-enhanced/branches/milestone1/src/sun/nio/cs/SingleByteDecoder1.java?rev=93&view=markup * *package* sun.nio.cs; *import* java.nio.*; *import* java.nio.charset.*; *public* *abstract* *class* SingleByteDecoder1 *extends* CharsetDecoder { // cache it, because CoderResult.xxxForLength(int) invokes lame hash map access *private* *static* *final* CoderResult CODERRESULT_UNMAPPABLE = CoderResult.unmappableForLength(1); *private* *static* *final* CoderResult CODERRESULT_MALFORMED = CoderResult.malformedForLength(1); *protected* *static* *final* UnmappableCharacterException UNMAPPABLE_EXCEPTION = *new* UnmappableCharacterException(1); *protected* *static* *final* MalformedInputException MALFORMED_EXCEPTION = *new* MalformedInputException(1); *protected* *final* String byteToCharTable; ... *private* CoderResult decodeBuffersLoop(ByteBuffer src, CharBuffer dst) { *int* mark = src.position(); *try* { *for* (; ; mark++) dst.put(decode(src.get())); } *catch* (UnmappableCharacterException e) { *return* CODERRESULT_UNMAPPABLE; } *catch* (MalformedInputException e) { *return* CODERRESULT_MALFORMED; } *catch* (BufferUnderflowException e) { *return* CoderResult.UNDERFLOW; } *catch* (BufferOverflowException e) { *return* CoderResult.OVERFLOW; } *finally* { src.position(mark); } } *protected* *char* decode(*byte* inByte) *throws* UnmappableCharacterException, MalformedInputException { *char* c = byteToCharTable.charAt(inByte + 0x80); *if* (c == '\uFFFD') *throw* UNMAPPABLE_EXCEPTION; *return* c; } *public* *char* decode(*int* inByte) { // for legacy use *try* { *if* (inByte >= byteToCharTable.length() - 128 || inByte < -128) *throw* MALFORMED_EXCEPTION; *return* decode((*char*)inByte); } *catch* (CharacterCodingException cce) { *return* '\uFFFD'; } } } -------------- next part -------------- An HTML attachment was scrubbed... URL: From tim.bell at sun.com Fri May 23 18:23:52 2008 From: tim.bell at sun.com (tim.bell at sun.com) Date: Fri, 23 May 2008 18:23:52 +0000 Subject: hg: jdk7/tl: Added tag jdk7-b27 for changeset 11b4dc9f2be3 Message-ID: <20080523182352.72BE828660@hg.openjdk.java.net> Changeset: 56652b46f328 Author: xdono Date: 2008-05-22 09:37 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/rev/56652b46f328 Added tag jdk7-b27 for changeset 11b4dc9f2be3 ! .hgtags From tim.bell at sun.com Fri May 23 18:24:40 2008 From: tim.bell at sun.com (tim.bell at sun.com) Date: Fri, 23 May 2008 18:24:40 +0000 Subject: hg: jdk7/tl/corba: Added tag jdk7-b27 for changeset e84e9018bebb Message-ID: <20080523182442.48F5D28665@hg.openjdk.java.net> Changeset: 27509b7d21ed Author: xdono Date: 2008-05-22 09:37 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/corba/rev/27509b7d21ed Added tag jdk7-b27 for changeset e84e9018bebb ! .hgtags From tim.bell at sun.com Fri May 23 18:26:31 2008 From: tim.bell at sun.com (tim.bell at sun.com) Date: Fri, 23 May 2008 18:26:31 +0000 Subject: hg: jdk7/tl/hotspot: 62 new changesets Message-ID: <20080523182849.5D0CF2866A@hg.openjdk.java.net> Changeset: b97de546208e Author: xlu Date: 2008-04-03 12:21 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/b97de546208e 6671882: memory access after free in solaris/vm/os_solaris.cpp Summary: Corrected the wrong memory access problem and made some minor clean ups Reviewed-by: dholmes, jcoomes ! src/os/solaris/vm/os_solaris.cpp Changeset: cf4e16e9ca60 Author: kamg Date: 2008-04-04 10:48 -0400 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/cf4e16e9ca60 Merge Changeset: a294fd0c4b38 Author: kamg Date: 2008-04-09 14:22 -0400 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/a294fd0c4b38 6583644: Move all managed/SCCS files out of 'build' into 'make' directory Summary: Moved makefiles out of build and build/closed into make/ Reviewed-by: kvn, ohair ! .hgignore - build/hotspot_distro - build/linux/Makefile - build/linux/Queens.class - build/linux/README - build/linux/adlc_updater - build/linux/build.sh - build/linux/makefiles/adjust-mflags.sh - build/linux/makefiles/adlc.make - build/linux/makefiles/amd64.make - build/linux/makefiles/buildtree.make - build/linux/makefiles/compiler1.make - build/linux/makefiles/compiler2.make - build/linux/makefiles/core.make - build/linux/makefiles/cscope.make - build/linux/makefiles/debug.make - build/linux/makefiles/defs.make - build/linux/makefiles/dtrace.make - build/linux/makefiles/fastdebug.make - build/linux/makefiles/gcc.make - build/linux/makefiles/hp.make - build/linux/makefiles/hp1.make - build/linux/makefiles/i486.make - build/linux/makefiles/jsig.make - build/linux/makefiles/jvmg.make - build/linux/makefiles/jvmti.make - build/linux/makefiles/launcher.make - build/linux/makefiles/makedeps.make - build/linux/makefiles/mapfile-vers-debug - build/linux/makefiles/mapfile-vers-jsig - build/linux/makefiles/mapfile-vers-product - build/linux/makefiles/optimized.make - build/linux/makefiles/product.make - build/linux/makefiles/profiled.make - build/linux/makefiles/rules.make - build/linux/makefiles/sa.make - build/linux/makefiles/saproc.make - build/linux/makefiles/sparcWorks.make - build/linux/makefiles/tiered.make - build/linux/makefiles/top.make - build/linux/makefiles/vm.make - build/linux/platform_amd64 - build/linux/platform_amd64.suncc - build/linux/platform_i486 - build/linux/platform_i486.suncc - build/linux/platform_sparc - build/sa.files - build/solaris/Makefile - build/solaris/Queens.class - build/solaris/adlc_updater - build/solaris/build.sh - build/solaris/makefiles/adjust-mflags.sh - build/solaris/makefiles/adlc.make - build/solaris/makefiles/amd64.make - build/solaris/makefiles/buildtree.make - build/solaris/makefiles/compiler1.make - build/solaris/makefiles/compiler2.make - build/solaris/makefiles/core.make - build/solaris/makefiles/cscope.make - build/solaris/makefiles/debug.make - build/solaris/makefiles/defs.make - build/solaris/makefiles/dtrace.make - build/solaris/makefiles/fastdebug.make - build/solaris/makefiles/gcc.make - build/solaris/makefiles/hp.make - build/solaris/makefiles/hp1.make - build/solaris/makefiles/i486.make - build/solaris/makefiles/jsig.make - build/solaris/makefiles/jvmg.make - build/solaris/makefiles/jvmti.make - build/solaris/makefiles/kernel.make - build/solaris/makefiles/launcher.make - build/solaris/makefiles/makedeps.make - build/solaris/makefiles/mapfile-vers - build/solaris/makefiles/mapfile-vers-COMPILER1 - build/solaris/makefiles/mapfile-vers-COMPILER2 - build/solaris/makefiles/mapfile-vers-CORE - build/solaris/makefiles/mapfile-vers-TIERED - build/solaris/makefiles/mapfile-vers-debug - build/solaris/makefiles/mapfile-vers-jsig - build/solaris/makefiles/mapfile-vers-jvm_db - build/solaris/makefiles/mapfile-vers-jvm_dtrace - build/solaris/makefiles/mapfile-vers-nonproduct - build/solaris/makefiles/optimized.make - build/solaris/makefiles/product.make - build/solaris/makefiles/profiled.make - build/solaris/makefiles/reorder_COMPILER1_i486 - build/solaris/makefiles/reorder_COMPILER1_sparc - build/solaris/makefiles/reorder_COMPILER1_sparcv9 - build/solaris/makefiles/reorder_COMPILER2_amd64 - build/solaris/makefiles/reorder_COMPILER2_i486 - build/solaris/makefiles/reorder_COMPILER2_sparc - build/solaris/makefiles/reorder_COMPILER2_sparcv9 - build/solaris/makefiles/reorder_CORE_amd64 - build/solaris/makefiles/reorder_CORE_i486 - build/solaris/makefiles/reorder_CORE_sparc - build/solaris/makefiles/reorder_CORE_sparcv9 - build/solaris/makefiles/reorder_TIERED_amd64 - build/solaris/makefiles/reorder_TIERED_i486 - build/solaris/makefiles/reorder_TIERED_sparc - build/solaris/makefiles/rules.make - build/solaris/makefiles/sa.make - build/solaris/makefiles/saproc.make - build/solaris/makefiles/sparc.make - build/solaris/makefiles/sparcWorks.make - build/solaris/makefiles/sparcv9.make - build/solaris/makefiles/tiered.make - build/solaris/makefiles/top.make - build/solaris/makefiles/vm.make - build/solaris/platform_amd64 - build/solaris/platform_amd64.gcc - build/solaris/platform_i486 - build/solaris/platform_i486.gcc - build/solaris/platform_sparc - build/solaris/platform_sparc.gcc - build/solaris/platform_sparcv9 - build/solaris/platform_sparcv9.gcc - build/solaris/reorder.sh - build/test/Queens.java - build/windows/README - build/windows/build.bat - build/windows/build.make - build/windows/build_vm_def.sh - build/windows/create.bat - build/windows/cross_build.bat - build/windows/get_msc_ver.sh - build/windows/jvmexp.lcf - build/windows/jvmexp_g.lcf - build/windows/makefiles/adlc.make - build/windows/makefiles/compile.make - build/windows/makefiles/debug.make - build/windows/makefiles/defs.make - build/windows/makefiles/fastdebug.make - build/windows/makefiles/generated.make - build/windows/makefiles/jvmti.make - build/windows/makefiles/makedeps.make - build/windows/makefiles/product.make - build/windows/makefiles/rules.make - build/windows/makefiles/sa.make - build/windows/makefiles/sanity.make - build/windows/makefiles/shared.make - build/windows/makefiles/top.make - build/windows/makefiles/vm.make - build/windows/platform_amd64 - build/windows/platform_i486 - build/windows/projectfiles/common/Makefile - build/windows/projectfiles/compiler1/Makefile - build/windows/projectfiles/compiler1/vm.def - build/windows/projectfiles/compiler1/vm.dsw - build/windows/projectfiles/compiler2/ADLCompiler.dsp - build/windows/projectfiles/compiler2/ADLCompiler.dsw - build/windows/projectfiles/compiler2/Makefile - build/windows/projectfiles/compiler2/vm.def - build/windows/projectfiles/compiler2/vm.dsw - build/windows/projectfiles/core/Makefile - build/windows/projectfiles/core/vm.def - build/windows/projectfiles/core/vm.dsw - build/windows/projectfiles/kernel/Makefile - build/windows/projectfiles/kernel/vm.def - build/windows/projectfiles/kernel/vm.dsw - build/windows/projectfiles/tiered/ADLCompiler.dsp - build/windows/projectfiles/tiered/ADLCompiler.dsw - build/windows/projectfiles/tiered/Makefile - build/windows/projectfiles/tiered/vm.def - build/windows/projectfiles/tiered/vm.dsw ! make/defs.make + make/hotspot_distro ! make/jprt.properties + make/linux/Makefile + make/linux/Queens.class + make/linux/README + make/linux/adlc_updater + make/linux/build.sh + make/linux/makefiles/adjust-mflags.sh + make/linux/makefiles/adlc.make + make/linux/makefiles/amd64.make + make/linux/makefiles/buildtree.make + make/linux/makefiles/compiler1.make + make/linux/makefiles/compiler2.make + make/linux/makefiles/core.make + make/linux/makefiles/cscope.make + make/linux/makefiles/debug.make + make/linux/makefiles/defs.make + make/linux/makefiles/dtrace.make + make/linux/makefiles/fastdebug.make + make/linux/makefiles/gcc.make + make/linux/makefiles/hp.make + make/linux/makefiles/hp1.make + make/linux/makefiles/i486.make + make/linux/makefiles/ia64.make + make/linux/makefiles/jsig.make + make/linux/makefiles/jvmg.make + make/linux/makefiles/jvmti.make + make/linux/makefiles/launcher.make + make/linux/makefiles/makedeps.make + make/linux/makefiles/mapfile-vers-debug + make/linux/makefiles/mapfile-vers-jsig + make/linux/makefiles/mapfile-vers-product + make/linux/makefiles/optimized.make + make/linux/makefiles/product.make + make/linux/makefiles/profiled.make + make/linux/makefiles/rules.make + make/linux/makefiles/sa.make + make/linux/makefiles/saproc.make + make/linux/makefiles/sparc.make + make/linux/makefiles/sparcWorks.make + make/linux/makefiles/sparcv9.make + make/linux/makefiles/tiered.make + make/linux/makefiles/top.make + make/linux/makefiles/vm.make + make/linux/platform_amd64 + make/linux/platform_amd64.suncc + make/linux/platform_i486 + make/linux/platform_i486.suncc + make/linux/platform_ia64 + make/linux/platform_sparc + make/openjdk_distro + make/sa.files + make/solaris/Makefile + make/solaris/Queens.class + make/solaris/adlc_updater + make/solaris/build.sh + make/solaris/makefiles/adjust-mflags.sh + make/solaris/makefiles/adlc.make + make/solaris/makefiles/amd64.make + make/solaris/makefiles/buildtree.make + make/solaris/makefiles/compiler1.make + make/solaris/makefiles/compiler2.make + make/solaris/makefiles/core.make + make/solaris/makefiles/cscope.make + make/solaris/makefiles/debug.make + make/solaris/makefiles/defs.make + make/solaris/makefiles/dtrace.make + make/solaris/makefiles/fastdebug.make + make/solaris/makefiles/gcc.make + make/solaris/makefiles/hp.make + make/solaris/makefiles/hp1.make + make/solaris/makefiles/i486.make + make/solaris/makefiles/jsig.make + make/solaris/makefiles/jvmg.make + make/solaris/makefiles/jvmti.make + make/solaris/makefiles/kernel.make + make/solaris/makefiles/launcher.make + make/solaris/makefiles/makedeps.make + make/solaris/makefiles/mapfile-vers + make/solaris/makefiles/mapfile-vers-COMPILER1 + make/solaris/makefiles/mapfile-vers-COMPILER2 + make/solaris/makefiles/mapfile-vers-CORE + make/solaris/makefiles/mapfile-vers-TIERED + make/solaris/makefiles/mapfile-vers-debug + make/solaris/makefiles/mapfile-vers-jsig + make/solaris/makefiles/mapfile-vers-jvm_db + make/solaris/makefiles/mapfile-vers-jvm_dtrace + make/solaris/makefiles/mapfile-vers-nonproduct + make/solaris/makefiles/optimized.make + make/solaris/makefiles/product.make + make/solaris/makefiles/profiled.make + make/solaris/makefiles/reorder_COMPILER1_i486 + make/solaris/makefiles/reorder_COMPILER1_sparc + make/solaris/makefiles/reorder_COMPILER1_sparcv9 + make/solaris/makefiles/reorder_COMPILER2_amd64 + make/solaris/makefiles/reorder_COMPILER2_i486 + make/solaris/makefiles/reorder_COMPILER2_sparc + make/solaris/makefiles/reorder_COMPILER2_sparcv9 + make/solaris/makefiles/reorder_CORE_amd64 + make/solaris/makefiles/reorder_CORE_i486 + make/solaris/makefiles/reorder_CORE_sparc + make/solaris/makefiles/reorder_CORE_sparcv9 + make/solaris/makefiles/reorder_TIERED_amd64 + make/solaris/makefiles/reorder_TIERED_i486 + make/solaris/makefiles/reorder_TIERED_sparc + make/solaris/makefiles/rules.make + make/solaris/makefiles/sa.make + make/solaris/makefiles/saproc.make + make/solaris/makefiles/sparc.make + make/solaris/makefiles/sparcWorks.make + make/solaris/makefiles/sparcv9.make + make/solaris/makefiles/tiered.make + make/solaris/makefiles/top.make + make/solaris/makefiles/vm.make + make/solaris/platform_amd64 + make/solaris/platform_amd64.gcc + make/solaris/platform_i486 + make/solaris/platform_i486.gcc + make/solaris/platform_sparc + make/solaris/platform_sparc.gcc + make/solaris/platform_sparcv9 + make/solaris/platform_sparcv9.gcc + make/solaris/reorder.sh + make/test/Queens.java + make/windows/README + make/windows/build.bat + make/windows/build.make + make/windows/build_vm_def.sh + make/windows/create.bat + make/windows/cross_build.bat + make/windows/get_msc_ver.sh + make/windows/jvmexp.lcf + make/windows/jvmexp_g.lcf + make/windows/makefiles/adlc.make + make/windows/makefiles/compile.make + make/windows/makefiles/debug.make + make/windows/makefiles/defs.make + make/windows/makefiles/fastdebug.make + make/windows/makefiles/generated.make + make/windows/makefiles/jvmti.make + make/windows/makefiles/makedeps.make + make/windows/makefiles/product.make + make/windows/makefiles/rules.make + make/windows/makefiles/sa.make + make/windows/makefiles/sanity.make + make/windows/makefiles/shared.make + make/windows/makefiles/top.make + make/windows/makefiles/vm.make + make/windows/platform_amd64 + make/windows/platform_i486 + make/windows/platform_ia64 + make/windows/projectfiles/common/Makefile + make/windows/projectfiles/compiler1/Makefile + make/windows/projectfiles/compiler1/vm.def + make/windows/projectfiles/compiler1/vm.dsw + make/windows/projectfiles/compiler2/ADLCompiler.dsp + make/windows/projectfiles/compiler2/ADLCompiler.dsw + make/windows/projectfiles/compiler2/Makefile + make/windows/projectfiles/compiler2/vm.def + make/windows/projectfiles/compiler2/vm.dsw + make/windows/projectfiles/core/Makefile + make/windows/projectfiles/core/vm.def + make/windows/projectfiles/core/vm.dsw + make/windows/projectfiles/kernel/Makefile + make/windows/projectfiles/kernel/vm.def + make/windows/projectfiles/kernel/vm.dsw + make/windows/projectfiles/tiered/ADLCompiler.dsp + make/windows/projectfiles/tiered/ADLCompiler.dsw + make/windows/projectfiles/tiered/Makefile + make/windows/projectfiles/tiered/vm.def + make/windows/projectfiles/tiered/vm.dsw Changeset: ebec5b9731e2 Author: kamg Date: 2008-04-10 12:21 -0400 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/ebec5b9731e2 6615981: JVM class file parser incorrectly rejects class files with version < 45.2 Summary: A check on Code length did not take into account the old sizes of the max_stack, max_locals, and code_length. Reviewed-by: phh, sbohne ! src/share/vm/classfile/classFileParser.cpp Changeset: c6ff24ceec1c Author: sbohne Date: 2008-04-10 15:49 -0400 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/c6ff24ceec1c 6686407: Fix for 6666698 broke -XX:BiasedLockingStartupDelay=0 Summary: Stack allocated VM_EnableBiasedLocking op must be marked as such Reviewed-by: xlu, acorn, never, dholmes ! src/share/vm/runtime/biasedLocking.cpp Changeset: 0834225a7916 Author: ysr Date: 2008-03-16 21:57 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/0834225a7916 6634032: CMS: Need CMSInitiatingPermOccupancyFraction for perm, divorcing from CMSInitiatingOccupancyFraction Summary: The option CMSInitiatingPermOccupancyFraction now controls perm triggering threshold. Even though the actual value of the threshold has not yet been changed, so there is no change in policy, we now have the infrastructure in place for dynamically deciding when to collect the perm gen, an issue that will be addressed in the near future. Reviewed-by: jmasa ! src/share/vm/gc_implementation/concurrentMarkSweep/concurrentMarkSweepGeneration.cpp ! src/share/vm/gc_implementation/concurrentMarkSweep/concurrentMarkSweepGeneration.hpp ! src/share/vm/gc_implementation/concurrentMarkSweep/concurrentMarkSweepGeneration.inline.hpp ! src/share/vm/runtime/globals.hpp Changeset: d05ebaf00ed0 Author: tonyp Date: 2008-03-27 17:22 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/d05ebaf00ed0 Merge ! src/share/vm/runtime/globals.hpp Changeset: 2acabb781f53 Author: apetrusenko Date: 2008-04-07 09:32 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/2acabb781f53 Merge Changeset: f38a25e2458a Author: kamg Date: 2008-04-09 10:38 -0400 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/f38a25e2458a Merge Changeset: deb97b8ef02b Author: never Date: 2008-03-26 12:25 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/deb97b8ef02b 6679708: No_Safepoint_Verifier and BacktraceBuilder have uninitialized fields Summary: fix or remove uninitialized fields Reviewed-by: kvn, rasbold ! src/share/vm/classfile/javaClasses.cpp ! src/share/vm/memory/gcLocker.hpp Changeset: 8a4ef4e001d3 Author: never Date: 2008-03-28 09:00 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/8a4ef4e001d3 6680594: Load + Load isn't canonicalized leading to missed GVN opportunities Reviewed-by: kvn, jrose ! src/share/vm/opto/addnode.cpp Changeset: c7c777385a15 Author: jrose Date: 2008-04-02 12:09 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/c7c777385a15 6667042: PrintAssembly option does not work without special plugin Summary: remove old private plugin interface, simplify, rework old plugin to use unchanged Gnu sources Reviewed-by: kvn, rasbold ! .hgignore ! build/linux/makefiles/vm.make ! build/linux/platform_amd64 ! build/linux/platform_i486 ! build/linux/platform_sparc ! build/solaris/makefiles/vm.make ! build/solaris/platform_amd64 ! build/solaris/platform_amd64.gcc ! build/solaris/platform_i486 ! build/solaris/platform_i486.gcc ! build/solaris/platform_sparc ! build/solaris/platform_sparc.gcc ! build/solaris/platform_sparcv9 ! build/solaris/platform_sparcv9.gcc ! build/windows/makefiles/vm.make ! build/windows/platform_amd64 ! build/windows/platform_i486 - src/cpu/sparc/vm/disassembler_sparc.cpp ! src/cpu/sparc/vm/disassembler_sparc.hpp - src/cpu/x86/vm/disassembler_x86.cpp ! src/cpu/x86/vm/disassembler_x86.hpp + src/share/tools/hsdis/Makefile + src/share/tools/hsdis/README + src/share/tools/hsdis/hsdis-demo.c + src/share/tools/hsdis/hsdis.c + src/share/tools/hsdis/hsdis.h ! src/share/vm/asm/codeBuffer.cpp ! src/share/vm/code/nmethod.cpp ! src/share/vm/code/nmethod.hpp ! src/share/vm/code/vmreg.cpp ! src/share/vm/code/vmreg.hpp + src/share/vm/compiler/disassembler.cpp + src/share/vm/compiler/disassembler.hpp - src/share/vm/compiler/disassemblerEnv.hpp ! src/share/vm/compiler/oopMap.cpp ! src/share/vm/compiler/oopMap.hpp ! src/share/vm/includeDB_compiler1 ! src/share/vm/includeDB_core ! src/share/vm/opto/compile.cpp ! src/share/vm/runtime/globals.hpp ! src/share/vm/runtime/stubCodeGenerator.cpp ! src/share/vm/utilities/ostream.cpp ! src/share/vm/utilities/ostream.hpp Changeset: a6cb86dd209b Author: kvn Date: 2008-04-02 16:59 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/a6cb86dd209b 6681577: PIT: some VM tests fails with -XX:+AggressiveOpts in 6u5p b01 Summary: C2 spends > 60% in escape analysis code during test nsk/regression/b4675027. Reviewed-by: never ! src/share/vm/opto/escape.cpp ! src/share/vm/opto/escape.hpp Changeset: f96100ac3d12 Author: rasbold Date: 2008-04-03 06:41 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/f96100ac3d12 Merge - src/cpu/sparc/vm/disassembler_sparc.cpp - src/cpu/x86/vm/disassembler_x86.cpp - src/share/vm/compiler/disassemblerEnv.hpp ! src/share/vm/opto/escape.cpp ! src/share/vm/utilities/ostream.cpp Changeset: 38a50dd839cf Author: never Date: 2008-04-03 10:20 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/38a50dd839cf 6619271: The -Xprintflags causes the VM to segv Summary: add null checks Reviewed-by: jrose, kvn ! src/share/vm/runtime/globals.cpp Changeset: 541929da62d2 Author: rasbold Date: 2008-04-03 13:33 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/541929da62d2 6624474: Server compiler generates unexpected LinkageError Summary: Fix load_signature_classes to tolerate LinkageErrors Reviewed-by: kvn, never ! src/share/vm/oops/methodOop.cpp Changeset: a7d0f95410bd Author: never Date: 2008-04-03 21:26 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/a7d0f95410bd 6646020: assert(in_bb(n),"must be in block") in -Xcomp mode Reviewed-by: kvn, rasbold ! src/share/vm/opto/superword.cpp + test/compiler/6646020/Tester.java Changeset: c9314fa4f757 Author: rasbold Date: 2008-04-07 15:15 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/c9314fa4f757 6663908: NegativeArraySizeException is not thrown Summary: Don't optimize zero length array allocations at compile time. Reviewed-by: kvn, never ! src/share/vm/opto/parse3.cpp Changeset: 93b6525e3b82 Author: sgoldman Date: 2008-04-08 12:23 -0400 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/93b6525e3b82 6603919: Stackwalking crash on x86 -server with Sun Studio's collect -j on Summary: Rewrite frame::safe_for_sender and friends to be safe for collector/analyzer Reviewed-by: dcubed, kvn ! src/cpu/sparc/vm/frame_sparc.cpp ! src/cpu/x86/vm/frame_x86.cpp ! src/cpu/x86/vm/frame_x86.inline.hpp ! src/cpu/x86/vm/templateTable_x86_32.cpp ! src/os_cpu/solaris_sparc/vm/thread_solaris_sparc.cpp ! src/os_cpu/solaris_x86/vm/os_solaris_x86.cpp ! src/os_cpu/solaris_x86/vm/thread_solaris_x86.cpp ! src/share/vm/code/codeCache.hpp ! src/share/vm/prims/forte.cpp ! src/share/vm/runtime/fprofiler.cpp ! src/share/vm/runtime/fprofiler.hpp ! src/share/vm/runtime/frame.hpp ! src/share/vm/runtime/vframe.hpp Changeset: a761c2d3b76a Author: rasbold Date: 2008-04-09 09:25 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/a761c2d3b76a 6684385: Loop unswitching crashes without LoopNode Summary: Without LoopNode, exit early from loop unswitching and partial peeling Reviewed-by: kvn, never, sgoldman ! src/share/vm/opto/loopUnswitch.cpp ! src/share/vm/opto/loopopts.cpp Changeset: 9f4457a14b58 Author: rasbold Date: 2008-04-09 15:10 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/9f4457a14b58 Merge - src/cpu/sparc/vm/disassembler_sparc.cpp - src/cpu/x86/vm/disassembler_x86.cpp - src/share/vm/compiler/disassemblerEnv.hpp ! src/share/vm/runtime/globals.hpp Changeset: a49a647afe9a Author: kamg Date: 2008-04-11 09:56 -0400 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/a49a647afe9a Merge ! .hgignore ! make/linux/makefiles/vm.make ! make/linux/platform_amd64 ! make/linux/platform_i486 ! make/linux/platform_sparc ! make/solaris/makefiles/vm.make ! make/solaris/platform_amd64 ! make/solaris/platform_amd64.gcc ! make/solaris/platform_i486 ! make/solaris/platform_i486.gcc ! make/solaris/platform_sparc ! make/solaris/platform_sparc.gcc ! make/solaris/platform_sparcv9 ! make/solaris/platform_sparcv9.gcc ! make/windows/makefiles/vm.make ! make/windows/platform_amd64 ! make/windows/platform_i486 - src/cpu/sparc/vm/disassembler_sparc.cpp - src/cpu/x86/vm/disassembler_x86.cpp - src/share/vm/compiler/disassemblerEnv.hpp Changeset: 7747916a0945 Author: ysr Date: 2008-04-08 12:10 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/7747916a0945 6685160: fix cscope build with hg Summary: Use hg's fstatus instead of teamware's nametable to trigger cscope database rebuild Reviewed-by: jcoomes, kamg ! build/linux/makefiles/cscope.make ! build/solaris/makefiles/cscope.make Changeset: 7c5dac90daef Author: apetrusenko Date: 2008-04-14 08:29 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/7c5dac90daef Merge Changeset: ba764ed4b6f2 Author: coleenp Date: 2008-04-13 17:43 -0400 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/ba764ed4b6f2 6420645: Create a vm that uses compressed oops for up to 32gb heapsizes Summary: Compressed oops in instances, arrays, and headers. Code contributors are coleenp, phh, never, swamyv Reviewed-by: jmasa, kamg, acorn, tbell, kvn, rasbold ! agent/src/share/classes/sun/jvm/hotspot/CommandProcessor.java ! agent/src/share/classes/sun/jvm/hotspot/HSDB.java ! agent/src/share/classes/sun/jvm/hotspot/HotSpotTypeDataBase.java ! agent/src/share/classes/sun/jvm/hotspot/compiler/OopMapSet.java ! agent/src/share/classes/sun/jvm/hotspot/compiler/OopMapValue.java ! agent/src/share/classes/sun/jvm/hotspot/compiler/OopMapVisitor.java ! agent/src/share/classes/sun/jvm/hotspot/debugger/Address.java ! agent/src/share/classes/sun/jvm/hotspot/debugger/Debugger.java ! agent/src/share/classes/sun/jvm/hotspot/debugger/DebuggerBase.java ! agent/src/share/classes/sun/jvm/hotspot/debugger/JVMDebugger.java ! agent/src/share/classes/sun/jvm/hotspot/debugger/MachineDescription.java ! agent/src/share/classes/sun/jvm/hotspot/debugger/MachineDescriptionAMD64.java ! agent/src/share/classes/sun/jvm/hotspot/debugger/MachineDescriptionIA64.java ! agent/src/share/classes/sun/jvm/hotspot/debugger/MachineDescriptionIntelX86.java ! agent/src/share/classes/sun/jvm/hotspot/debugger/MachineDescriptionSPARC32Bit.java ! agent/src/share/classes/sun/jvm/hotspot/debugger/MachineDescriptionSPARC64Bit.java ! agent/src/share/classes/sun/jvm/hotspot/debugger/dbx/DbxAddress.java ! agent/src/share/classes/sun/jvm/hotspot/debugger/dbx/DbxDebugger.java ! agent/src/share/classes/sun/jvm/hotspot/debugger/dbx/DbxDebuggerLocal.java ! agent/src/share/classes/sun/jvm/hotspot/debugger/dummy/DummyAddress.java ! agent/src/share/classes/sun/jvm/hotspot/debugger/linux/LinuxAddress.java ! agent/src/share/classes/sun/jvm/hotspot/debugger/linux/LinuxDebugger.java ! agent/src/share/classes/sun/jvm/hotspot/debugger/linux/LinuxDebuggerLocal.java ! agent/src/share/classes/sun/jvm/hotspot/debugger/proc/ProcAddress.java ! agent/src/share/classes/sun/jvm/hotspot/debugger/proc/ProcDebugger.java ! agent/src/share/classes/sun/jvm/hotspot/debugger/proc/ProcDebuggerLocal.java ! agent/src/share/classes/sun/jvm/hotspot/debugger/remote/RemoteAddress.java ! agent/src/share/classes/sun/jvm/hotspot/debugger/remote/RemoteDebugger.java ! agent/src/share/classes/sun/jvm/hotspot/debugger/remote/RemoteDebuggerClient.java ! agent/src/share/classes/sun/jvm/hotspot/debugger/remote/RemoteDebuggerServer.java ! agent/src/share/classes/sun/jvm/hotspot/debugger/win32/Win32Address.java ! agent/src/share/classes/sun/jvm/hotspot/debugger/win32/Win32Debugger.java ! agent/src/share/classes/sun/jvm/hotspot/debugger/win32/Win32DebuggerLocal.java ! agent/src/share/classes/sun/jvm/hotspot/debugger/windbg/WindbgAddress.java ! agent/src/share/classes/sun/jvm/hotspot/debugger/windbg/WindbgDebugger.java ! agent/src/share/classes/sun/jvm/hotspot/debugger/windbg/WindbgDebuggerLocal.java ! agent/src/share/classes/sun/jvm/hotspot/memory/Universe.java ! agent/src/share/classes/sun/jvm/hotspot/oops/Array.java ! agent/src/share/classes/sun/jvm/hotspot/oops/ConstantPool.java ! agent/src/share/classes/sun/jvm/hotspot/oops/ConstantPoolCache.java ! agent/src/share/classes/sun/jvm/hotspot/oops/ConstantPoolCacheKlass.java ! agent/src/share/classes/sun/jvm/hotspot/oops/ConstantPoolKlass.java ! agent/src/share/classes/sun/jvm/hotspot/oops/DefaultOopVisitor.java ! agent/src/share/classes/sun/jvm/hotspot/oops/Instance.java ! agent/src/share/classes/sun/jvm/hotspot/oops/InstanceKlass.java ! agent/src/share/classes/sun/jvm/hotspot/oops/Klass.java + agent/src/share/classes/sun/jvm/hotspot/oops/NarrowOopField.java ! agent/src/share/classes/sun/jvm/hotspot/oops/ObjArray.java ! agent/src/share/classes/sun/jvm/hotspot/oops/ObjectHeap.java ! agent/src/share/classes/sun/jvm/hotspot/oops/ObjectHistogram.java ! agent/src/share/classes/sun/jvm/hotspot/oops/ObjectHistogramElement.java ! agent/src/share/classes/sun/jvm/hotspot/oops/Oop.java ! agent/src/share/classes/sun/jvm/hotspot/oops/OopPrinter.java ! agent/src/share/classes/sun/jvm/hotspot/oops/OopUtilities.java ! agent/src/share/classes/sun/jvm/hotspot/oops/OopVisitor.java ! agent/src/share/classes/sun/jvm/hotspot/runtime/AddressVisitor.java ! agent/src/share/classes/sun/jvm/hotspot/runtime/Frame.java ! agent/src/share/classes/sun/jvm/hotspot/runtime/VM.java ! agent/src/share/classes/sun/jvm/hotspot/types/Field.java + agent/src/share/classes/sun/jvm/hotspot/types/NarrowOopField.java ! agent/src/share/classes/sun/jvm/hotspot/types/Type.java ! agent/src/share/classes/sun/jvm/hotspot/types/basic/BasicField.java ! agent/src/share/classes/sun/jvm/hotspot/types/basic/BasicFieldWrapper.java + agent/src/share/classes/sun/jvm/hotspot/types/basic/BasicNarrowOopField.java ! agent/src/share/classes/sun/jvm/hotspot/types/basic/BasicOopField.java ! agent/src/share/classes/sun/jvm/hotspot/types/basic/BasicType.java ! agent/src/share/classes/sun/jvm/hotspot/types/basic/BasicTypeDataBase.java ! agent/src/share/classes/sun/jvm/hotspot/ui/FindInHeapPanel.java ! agent/src/share/classes/sun/jvm/hotspot/ui/classbrowser/HTMLGenerator.java ! agent/src/share/classes/sun/jvm/hotspot/utilities/AbstractHeapGraphWriter.java ! agent/src/share/classes/sun/jvm/hotspot/utilities/HeapHprofBinWriter.java ! agent/src/share/classes/sun/jvm/hotspot/utilities/ReversePtrsAnalysis.java ! agent/src/share/classes/sun/jvm/hotspot/utilities/RobustOopDeterminator.java ! make/Makefile ! make/solaris/makefiles/sparcWorks.make ! src/cpu/sparc/vm/assembler_sparc.cpp ! src/cpu/sparc/vm/assembler_sparc.hpp ! src/cpu/sparc/vm/c1_MacroAssembler_sparc.cpp ! src/cpu/sparc/vm/copy_sparc.hpp ! src/cpu/sparc/vm/interp_masm_sparc.cpp ! src/cpu/sparc/vm/register_definitions_sparc.cpp ! src/cpu/sparc/vm/sharedRuntime_sparc.cpp ! src/cpu/sparc/vm/sparc.ad ! src/cpu/sparc/vm/stubGenerator_sparc.cpp ! src/cpu/sparc/vm/templateInterpreter_sparc.cpp ! src/cpu/sparc/vm/templateTable_sparc.cpp ! src/cpu/sparc/vm/vm_version_sparc.cpp ! src/cpu/sparc/vm/vtableStubs_sparc.cpp ! src/cpu/x86/vm/assembler_x86_64.cpp ! src/cpu/x86/vm/assembler_x86_64.hpp ! src/cpu/x86/vm/c1_MacroAssembler_x86.cpp ! src/cpu/x86/vm/interp_masm_x86_64.cpp ! src/cpu/x86/vm/interpreter_x86_64.cpp ! src/cpu/x86/vm/register_definitions_x86.cpp ! src/cpu/x86/vm/sharedRuntime_x86_64.cpp ! src/cpu/x86/vm/stubGenerator_x86_64.cpp ! src/cpu/x86/vm/templateInterpreter_x86_64.cpp ! src/cpu/x86/vm/templateTable_x86_64.cpp ! src/cpu/x86/vm/vtableStubs_x86_64.cpp ! src/cpu/x86/vm/x86_32.ad ! src/cpu/x86/vm/x86_64.ad ! src/os/solaris/dtrace/generateJvmOffsets.cpp ! src/os/solaris/dtrace/jhelper.d ! src/os/solaris/dtrace/libjvm_db.c ! src/os/windows/vm/os_windows.cpp ! src/os_cpu/solaris_sparc/vm/solaris_sparc.s ! src/share/vm/adlc/archDesc.cpp ! src/share/vm/adlc/forms.cpp ! src/share/vm/adlc/forms.hpp ! src/share/vm/adlc/formssel.cpp ! src/share/vm/adlc/output_c.cpp ! src/share/vm/adlc/output_h.cpp ! src/share/vm/asm/codeBuffer.cpp ! src/share/vm/c1/c1_Runtime1.cpp ! src/share/vm/ci/ciInstanceKlass.cpp ! src/share/vm/ci/ciInstanceKlass.hpp ! src/share/vm/ci/ciObjectFactory.cpp ! src/share/vm/classfile/classFileParser.cpp ! src/share/vm/classfile/javaClasses.cpp ! src/share/vm/classfile/javaClasses.hpp ! src/share/vm/compiler/oopMap.cpp ! src/share/vm/compiler/oopMap.hpp ! src/share/vm/gc_implementation/concurrentMarkSweep/cmsOopClosures.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/includeDB_gc_parNew ! src/share/vm/gc_implementation/includeDB_gc_parallelScavenge ! src/share/vm/gc_implementation/parNew/parGCAllocBuffer.cpp ! src/share/vm/gc_implementation/parNew/parGCAllocBuffer.hpp ! src/share/vm/gc_implementation/parNew/parNewGeneration.cpp ! src/share/vm/gc_implementation/parNew/parNewGeneration.hpp ! src/share/vm/gc_implementation/parNew/parOopClosures.hpp ! src/share/vm/gc_implementation/parNew/parOopClosures.inline.hpp ! src/share/vm/gc_implementation/parallelScavenge/cardTableExtension.cpp ! src/share/vm/gc_implementation/parallelScavenge/cardTableExtension.hpp ! src/share/vm/gc_implementation/parallelScavenge/pcTasks.cpp ! src/share/vm/gc_implementation/parallelScavenge/prefetchQueue.hpp ! src/share/vm/gc_implementation/parallelScavenge/psMarkSweepDecorator.cpp ! src/share/vm/gc_implementation/parallelScavenge/psParallelCompact.cpp ! src/share/vm/gc_implementation/parallelScavenge/psParallelCompact.hpp ! src/share/vm/gc_implementation/parallelScavenge/psPromotionLAB.cpp ! src/share/vm/gc_implementation/parallelScavenge/psPromotionLAB.hpp ! src/share/vm/gc_implementation/parallelScavenge/psPromotionManager.cpp ! src/share/vm/gc_implementation/parallelScavenge/psPromotionManager.hpp ! src/share/vm/gc_implementation/parallelScavenge/psPromotionManager.inline.hpp ! src/share/vm/gc_implementation/parallelScavenge/psScavenge.cpp ! src/share/vm/gc_implementation/parallelScavenge/psScavenge.hpp ! src/share/vm/gc_implementation/parallelScavenge/psScavenge.inline.hpp ! src/share/vm/gc_implementation/parallelScavenge/psTasks.cpp ! src/share/vm/gc_implementation/shared/markSweep.cpp ! src/share/vm/gc_implementation/shared/markSweep.hpp ! src/share/vm/gc_implementation/shared/markSweep.inline.hpp ! src/share/vm/gc_interface/collectedHeap.cpp ! src/share/vm/gc_interface/collectedHeap.hpp ! src/share/vm/gc_interface/collectedHeap.inline.hpp ! src/share/vm/includeDB_core ! src/share/vm/interpreter/interpreterRuntime.hpp ! 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/compactingPermGenGen.cpp ! src/share/vm/memory/defNewGeneration.cpp ! src/share/vm/memory/defNewGeneration.hpp ! src/share/vm/memory/defNewGeneration.inline.hpp ! src/share/vm/memory/dump.cpp ! src/share/vm/memory/genCollectedHeap.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/genRemSet.inline.hpp ! src/share/vm/memory/generation.cpp ! src/share/vm/memory/generation.hpp ! 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/restore.cpp ! src/share/vm/memory/serialize.cpp ! 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/memory/universe.hpp ! src/share/vm/oops/arrayOop.hpp ! src/share/vm/oops/constantPoolKlass.cpp ! src/share/vm/oops/constantPoolKlass.hpp ! src/share/vm/oops/constantPoolOop.hpp ! src/share/vm/oops/cpCacheKlass.cpp ! src/share/vm/oops/cpCacheKlass.hpp ! src/share/vm/oops/cpCacheOop.cpp ! src/share/vm/oops/cpCacheOop.hpp ! src/share/vm/oops/instanceKlass.cpp ! src/share/vm/oops/instanceKlass.hpp ! src/share/vm/oops/instanceKlassKlass.cpp ! src/share/vm/oops/instanceOop.hpp ! src/share/vm/oops/instanceRefKlass.cpp ! src/share/vm/oops/klass.cpp ! src/share/vm/oops/klass.hpp ! src/share/vm/oops/klassVtable.cpp ! src/share/vm/oops/markOop.hpp ! src/share/vm/oops/methodDataKlass.cpp ! src/share/vm/oops/methodOop.cpp ! 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.cpp ! src/share/vm/oops/oop.hpp ! src/share/vm/oops/oop.inline.hpp ! src/share/vm/oops/oop.pcgc.inline.hpp ! src/share/vm/oops/oopsHierarchy.hpp ! src/share/vm/opto/buildOopMap.cpp ! src/share/vm/opto/callnode.hpp ! src/share/vm/opto/cfgnode.cpp ! src/share/vm/opto/chaitin.cpp ! src/share/vm/opto/classes.hpp ! src/share/vm/opto/compile.cpp ! src/share/vm/opto/connode.cpp ! src/share/vm/opto/connode.hpp ! src/share/vm/opto/escape.cpp ! src/share/vm/opto/graphKit.cpp ! src/share/vm/opto/idealKit.cpp ! src/share/vm/opto/lcm.cpp ! src/share/vm/opto/library_call.cpp ! src/share/vm/opto/loopTransform.cpp ! src/share/vm/opto/machnode.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/node.cpp ! src/share/vm/opto/node.hpp ! src/share/vm/opto/opcodes.cpp ! src/share/vm/opto/opcodes.hpp ! src/share/vm/opto/parse2.cpp ! src/share/vm/opto/parse3.cpp ! src/share/vm/opto/phaseX.cpp ! src/share/vm/opto/phaseX.hpp ! src/share/vm/opto/subnode.cpp ! src/share/vm/opto/subnode.hpp ! src/share/vm/opto/superword.cpp ! src/share/vm/opto/type.cpp ! src/share/vm/opto/type.hpp ! src/share/vm/prims/jni.cpp ! src/share/vm/prims/jvmtiTagMap.cpp ! src/share/vm/prims/unsafe.cpp ! src/share/vm/runtime/arguments.cpp ! src/share/vm/runtime/atomic.cpp ! src/share/vm/runtime/atomic.hpp ! src/share/vm/runtime/frame.cpp ! src/share/vm/runtime/frame.hpp ! src/share/vm/runtime/globals.cpp ! src/share/vm/runtime/globals.hpp ! src/share/vm/runtime/globals_extension.hpp ! src/share/vm/runtime/hpi.cpp ! src/share/vm/runtime/init.cpp ! src/share/vm/runtime/jniHandles.cpp ! src/share/vm/runtime/vmStructs.cpp ! src/share/vm/services/heapDumper.cpp ! src/share/vm/utilities/copy.hpp ! src/share/vm/utilities/debug.cpp ! src/share/vm/utilities/globalDefinitions.cpp ! src/share/vm/utilities/globalDefinitions.hpp ! src/share/vm/utilities/taskqueue.hpp ! src/share/vm/utilities/vmError.cpp Changeset: 34935c25a52d Author: kamg Date: 2008-04-15 18:11 -0400 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/34935c25a52d Merge ! make/linux/makefiles/cscope.make ! make/solaris/makefiles/cscope.make Changeset: e7a91a357527 Author: kamg Date: 2008-04-16 17:36 -0400 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/e7a91a357527 6622385: Accessing protected static methods Summary: Protected contraints should only be applied if member is not static Reviewed-by: acorn, coleenp ! src/share/vm/runtime/reflection.cpp Changeset: 018d5b58dd4f Author: kamg Date: 2008-04-17 22:18 -0400 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/018d5b58dd4f 6537506: Provide a mechanism for specifying Java-level USDT-like dtrace probes Summary: Initial checkin of JSDT code Reviewed-by: acorn, sbohne ! make/linux/makefiles/mapfile-vers-debug ! make/linux/makefiles/mapfile-vers-product ! make/solaris/makefiles/dtrace.make ! make/solaris/makefiles/mapfile-vers ! src/cpu/sparc/vm/nativeInst_sparc.cpp ! src/cpu/sparc/vm/nativeInst_sparc.hpp ! src/cpu/sparc/vm/sharedRuntime_sparc.cpp ! src/cpu/x86/vm/nativeInst_x86.cpp ! src/cpu/x86/vm/nativeInst_x86.hpp ! src/cpu/x86/vm/sharedRuntime_x86_32.cpp ! src/cpu/x86/vm/sharedRuntime_x86_64.cpp + src/os/linux/vm/dtraceJSDT_linux.cpp + src/os/solaris/vm/dtraceJSDT_solaris.cpp + src/os/windows/vm/dtraceJSDT_windows.cpp ! src/share/vm/asm/codeBuffer.hpp ! src/share/vm/code/nmethod.cpp ! src/share/vm/code/nmethod.hpp ! src/share/vm/includeDB_core ! src/share/vm/oops/methodOop.cpp ! src/share/vm/prims/jvm.cpp ! src/share/vm/prims/jvm.h + src/share/vm/runtime/dtraceJSDT.cpp + src/share/vm/runtime/dtraceJSDT.hpp ! src/share/vm/runtime/globals.hpp ! src/share/vm/runtime/sharedRuntime.cpp ! src/share/vm/runtime/sharedRuntime.hpp Changeset: deadee49286e Author: sgoldman Date: 2008-04-11 06:18 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/deadee49286e 6644928: Internal Error (src/share/vm/code/relocInfo.hpp:1089) Summary: Cardtable base can be zero, ExternalAddress can't take a NULL. ! src/cpu/x86/vm/assembler_x86_32.cpp ! src/cpu/x86/vm/assembler_x86_64.cpp Changeset: fb75a7673531 Author: rasbold Date: 2008-04-16 14:55 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/fb75a7673531 Merge ! src/cpu/x86/vm/assembler_x86_64.cpp Changeset: d1a5218d7eaf Author: kvn Date: 2008-04-16 19:19 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/d1a5218d7eaf 6686791: Side effect in NumberFormat tests with -server -Xcomp Summary: Optimization in CmpPNode::sub() removed the valid compare instruction because of false positive answer from detect_dominating_control(). Reviewed-by: jrose, sgoldman ! src/share/vm/opto/memnode.cpp ! src/share/vm/opto/memnode.hpp ! src/share/vm/opto/node.cpp ! src/share/vm/opto/node.hpp Changeset: aab136449123 Author: trims Date: 2008-04-17 16:29 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/aab136449123 6690518: Bump Version to 13 B01 Summary: Change Hotspot version and build number for 13b1 Reviewed-by: pbk ! make/hotspot_version Changeset: 86a689f680c5 Author: kamg Date: 2008-04-18 07:51 -0400 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/86a689f680c5 Merge Changeset: ec73d88d5b43 Author: kamg Date: 2008-04-23 06:35 -0400 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/ec73d88d5b43 Merge ! make/hotspot_version ! src/share/vm/opto/memnode.cpp ! src/share/vm/opto/memnode.hpp ! src/share/vm/opto/node.cpp ! src/share/vm/opto/node.hpp Changeset: 9e5a7340635e Author: sgoldman Date: 2008-04-17 07:16 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/9e5a7340635e 6688137: c++ interpreter fails on 64bit sparc Summary: Misc. 64bit and endian fixes for sparc Reviewed-by: never, kvn, rasbold Contributed-by: volker.simonis at gmail.com ! src/cpu/sparc/vm/bytecodeInterpreter_sparc.hpp ! src/cpu/sparc/vm/cppInterpreter_sparc.cpp ! src/share/vm/interpreter/bytecodeInterpreter.cpp Changeset: b130b98db9cf Author: kvn Date: 2008-04-23 11:20 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/b130b98db9cf 6689060: Escape Analysis does not work with Compressed Oops Summary: 64-bits VM crashes with -XX:+AggresiveOpts (Escape Analysis + Compressed Oops) Reviewed-by: never, sgoldman ! 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_64.cpp ! src/cpu/x86/vm/assembler_x86_64.hpp ! src/cpu/x86/vm/stubGenerator_x86_64.cpp ! src/cpu/x86/vm/x86_64.ad ! src/share/vm/opto/connode.cpp ! src/share/vm/opto/connode.hpp ! src/share/vm/opto/escape.cpp ! src/share/vm/opto/macro.cpp ! src/share/vm/opto/memnode.cpp ! src/share/vm/runtime/sharedRuntime.cpp Changeset: d942c7e64bd9 Author: never Date: 2008-04-23 13:57 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/d942c7e64bd9 6601321: Assert(j == 1 || b->_nodes[j-1]->is_Phi(),"CreateEx must be first instruction in block") Reviewed-by: kvn, rasbold, sgoldman, jrose ! src/share/vm/opto/lcm.cpp Changeset: 72f4a668df19 Author: kvn Date: 2008-04-23 19:09 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/72f4a668df19 6625997: CastPP, CheckCastPP and Proj nodes are not dead loop safe Summary: EA and initialization optimizations could bypass these nodes. Reviewed-by: rasbold, never ! src/share/vm/opto/cfgnode.cpp ! src/share/vm/opto/connode.hpp ! src/share/vm/opto/multnode.hpp ! src/share/vm/opto/node.hpp Changeset: e0bd2e08e3d0 Author: never Date: 2008-04-24 11:13 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/e0bd2e08e3d0 6663848: assert(i < Max(),"oob") in C2 with -Xcomp Summary: NeverBranchNodes aren't handled properly Reviewed-by: kvn, sgoldman, rasbold, jrose ! src/share/vm/opto/cfgnode.cpp ! src/share/vm/opto/cfgnode.hpp ! src/share/vm/opto/compile.cpp + test/compiler/6663848/Tester.java Changeset: a76240c8b133 Author: rasbold Date: 2008-04-28 08:08 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/a76240c8b133 Merge ! src/share/vm/opto/memnode.cpp ! src/share/vm/opto/node.hpp ! src/share/vm/runtime/sharedRuntime.cpp Changeset: c0939256690b Author: rasbold Date: 2008-04-24 14:02 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/c0939256690b 6646019: array subscript expressions become top() with -d64 Summary: stop compilation after negative array allocation Reviewed-by: never, jrose ! src/share/vm/opto/parse2.cpp + test/compiler/6646019/Test.java Changeset: 3e2d987e2e68 Author: rasbold Date: 2008-04-29 06:52 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/3e2d987e2e68 Merge Changeset: 6e825ad773c6 Author: jrose Date: 2008-04-29 19:40 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/6e825ad773c6 6695288: runThese tests expr30303 and drem00301m1 fail when compiled code executes without deopt Summary: rework Value method for ModD and ModF, to DTRT for infinities Reviewed-by: sgoldman, kvn, rasbold ! src/share/vm/opto/divnode.cpp Changeset: 60b728ec77c1 Author: jrose Date: 2008-04-29 19:45 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/60b728ec77c1 6652736: well known classes in system dictionary are inefficiently processed Summary: combine many scalar variables into a single enum-indexed array in SystemDictionary. Reviewed-by: kvn ! agent/src/share/classes/sun/jvm/hotspot/memory/SystemDictionary.java ! src/share/vm/classfile/javaClasses.cpp ! src/share/vm/classfile/javaClasses.hpp ! src/share/vm/classfile/systemDictionary.cpp ! src/share/vm/classfile/systemDictionary.hpp ! src/share/vm/runtime/globals.hpp ! src/share/vm/runtime/vmStructs.cpp ! src/share/vm/services/threadService.cpp Changeset: 435e64505015 Author: phh Date: 2008-04-24 15:07 -0400 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/435e64505015 6693457: Open-source hotspot linux-sparc support Summary: Move os_cpu/linux_sparc from closed to open Reviewed-by: kamg + make/linux/platform_sparcv9 + src/os_cpu/linux_sparc/vm/assembler_linux_sparc.cpp + src/os_cpu/linux_sparc/vm/atomic_linux_sparc.inline.hpp + src/os_cpu/linux_sparc/vm/globals_linux_sparc.hpp + src/os_cpu/linux_sparc/vm/linux_sparc.ad + src/os_cpu/linux_sparc/vm/linux_sparc.s + src/os_cpu/linux_sparc/vm/orderAccess_linux_sparc.inline.hpp + src/os_cpu/linux_sparc/vm/os_linux_sparc.cpp + src/os_cpu/linux_sparc/vm/os_linux_sparc.hpp + src/os_cpu/linux_sparc/vm/prefetch_linux_sparc.inline.hpp + src/os_cpu/linux_sparc/vm/threadLS_linux_sparc.cpp + src/os_cpu/linux_sparc/vm/threadLS_linux_sparc.hpp + src/os_cpu/linux_sparc/vm/thread_linux_sparc.cpp + src/os_cpu/linux_sparc/vm/thread_linux_sparc.hpp + src/os_cpu/linux_sparc/vm/vmStructs_linux_sparc.hpp + src/os_cpu/linux_sparc/vm/vm_version_linux_sparc.cpp ! src/share/vm/oops/oop.inline.hpp Changeset: 8a79f7ec8f5d Author: kamg Date: 2008-04-29 11:21 -0400 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/8a79f7ec8f5d 6692246: Regression : JDK 6u4 b01 fails two JCK tests when fallback is switched off Summary: Added a clause to allow null to be an operand to the arraylength bytecode Reviewed-by: sbohne, coleenp ! src/share/vm/classfile/verifier.cpp Changeset: b7268662a986 Author: coleenp Date: 2008-04-29 19:31 -0400 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/b7268662a986 6689523: max heap calculation for compressed oops is off by MaxPermSize Summary: Need to subtract MaxPermSize from the total heap size when determining whether compressed oops is turned on. Reviewed-by: jmasa, jcoomes, kvn ! src/share/vm/oops/oop.hpp ! src/share/vm/oops/oop.inline.hpp ! src/share/vm/runtime/arguments.cpp Changeset: 7f3a69574470 Author: kamg Date: 2008-04-30 10:58 -0400 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/7f3a69574470 6695506: JVM should accept classfiles with classfile version 51 Summary: increase class file parser's acceptable max to 51 Reviewed-by: sbohne, ikrylov ! src/share/vm/classfile/classFileParser.cpp Changeset: 53735b80b9f1 Author: sbohne Date: 2008-05-01 09:38 -0400 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/53735b80b9f1 Merge Changeset: bcdc68eb7e1f Author: sbohne Date: 2008-05-02 08:22 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/bcdc68eb7e1f Merge Changeset: c0492d52d55b Author: apetrusenko Date: 2008-04-01 15:13 +0400 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/c0492d52d55b 6539517: CR 6186200 should be extended to perm gen allocation to prevent spurious OOM's from perm gen Reviewed-by: ysr, jmasa ! src/share/vm/gc_implementation/concurrentMarkSweep/cmsPermGen.cpp ! src/share/vm/gc_implementation/concurrentMarkSweep/cmsPermGen.hpp ! src/share/vm/gc_implementation/parallelScavenge/parallelScavengeHeap.cpp ! src/share/vm/gc_implementation/parallelScavenge/psParallelCompact.cpp ! src/share/vm/gc_implementation/parallelScavenge/vmPSOperations.cpp ! src/share/vm/gc_implementation/shared/vmGCOperations.cpp ! src/share/vm/gc_implementation/shared/vmGCOperations.hpp ! src/share/vm/includeDB_core ! src/share/vm/memory/gcLocker.cpp ! src/share/vm/memory/genCollectedHeap.hpp ! src/share/vm/memory/permGen.cpp ! src/share/vm/memory/permGen.hpp ! src/share/vm/runtime/globals.hpp ! src/share/vm/runtime/vm_operations.hpp Changeset: 3febac328d82 Author: apetrusenko Date: 2008-04-16 12:58 +0400 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/3febac328d82 Merge - src/cpu/sparc/vm/disassembler_sparc.cpp - src/cpu/x86/vm/disassembler_x86.cpp - src/share/vm/compiler/disassemblerEnv.hpp ! src/share/vm/gc_implementation/parallelScavenge/psParallelCompact.cpp ! src/share/vm/includeDB_core ! src/share/vm/runtime/globals.hpp Changeset: fcbfc50865ab Author: iveresov Date: 2008-04-29 13:51 +0400 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/fcbfc50865ab 6684395: Port NUMA-aware allocator to linux Summary: NUMA-aware allocator port to Linux Reviewed-by: jmasa, apetrusenko ! build/linux/makefiles/mapfile-vers-debug ! build/linux/makefiles/mapfile-vers-product ! src/os/linux/vm/os_linux.cpp ! src/os/linux/vm/os_linux.hpp ! src/os/linux/vm/os_linux.inline.hpp ! src/os/solaris/vm/os_solaris.cpp ! src/os/solaris/vm/os_solaris.inline.hpp ! src/os/windows/vm/os_windows.cpp ! src/os/windows/vm/os_windows.inline.hpp ! src/share/vm/gc_implementation/parallelScavenge/parallelScavengeHeap.hpp ! src/share/vm/gc_implementation/shared/mutableNUMASpace.cpp ! src/share/vm/gc_implementation/shared/mutableNUMASpace.hpp ! src/share/vm/includeDB_core ! src/share/vm/runtime/os.hpp Changeset: 8bd1e4487c18 Author: iveresov Date: 2008-05-04 03:29 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/8bd1e4487c18 Merge ! make/linux/makefiles/mapfile-vers-debug ! make/linux/makefiles/mapfile-vers-product ! src/os/windows/vm/os_windows.cpp ! src/share/vm/gc_implementation/parallelScavenge/psParallelCompact.cpp ! src/share/vm/includeDB_core ! src/share/vm/memory/genCollectedHeap.hpp ! src/share/vm/runtime/globals.hpp Changeset: b5489bb705c9 Author: ysr Date: 2008-05-06 15:37 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/b5489bb705c9 6662086: 6u4+, 7b11+: CMS never clears referents when -XX:+ParallelRefProcEnabled Summary: Construct the relevant CMSIsAliveClosure used by CMS during parallel reference processing with the correct span. It had incorrectly been constructed with an empty span, a regression introduced in 6417901. Reviewed-by: jcoomes ! src/share/vm/gc_implementation/concurrentMarkSweep/cmsOopClosures.hpp ! src/share/vm/gc_implementation/concurrentMarkSweep/concurrentMarkSweepGeneration.cpp ! src/share/vm/gc_implementation/concurrentMarkSweep/concurrentMarkSweepGeneration.hpp Changeset: e3729351c946 Author: iveresov Date: 2008-05-09 16:34 +0400 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/e3729351c946 6697534: Premature GC and invalid lgrp selection with NUMA-aware allocator. Summary: Don't move tops of the chunks in ensure_parsibility(). Handle the situation with Solaris when a machine has a locality group with no memory. Reviewed-by: apetrusenko, jcoomes, ysr ! src/os/solaris/vm/os_solaris.cpp ! src/os/solaris/vm/os_solaris.hpp ! src/share/vm/gc_implementation/shared/mutableNUMASpace.cpp Changeset: f3de1255b035 Author: rasbold Date: 2008-05-07 08:06 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/f3de1255b035 6603011: RFE: Optimize long division Summary: Transform long division by constant into multiply Reviewed-by: never, kvn ! src/cpu/x86/vm/x86_64.ad ! src/share/vm/opto/classes.hpp ! src/share/vm/opto/divnode.cpp ! src/share/vm/opto/mulnode.cpp ! src/share/vm/opto/mulnode.hpp ! src/share/vm/opto/type.hpp ! src/share/vm/utilities/globalDefinitions.hpp Changeset: 7cce9e4e0f7c Author: rasbold Date: 2008-05-09 05:26 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/7cce9e4e0f7c Merge Changeset: 83c868b757c0 Author: jrose Date: 2008-05-14 00:41 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/83c868b757c0 6701024: SAJDI functionality is broken Summary: back out sa-related changes to 6652736, use concrete expressions for WKK names in the SA Reviewed-by: never, sundar ! agent/src/share/classes/sun/jvm/hotspot/memory/SystemDictionary.java ! src/share/vm/classfile/systemDictionary.hpp ! src/share/vm/runtime/vmStructs.cpp Changeset: 7a0a921a1a8c Author: rasbold Date: 2008-05-14 15:01 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/7a0a921a1a8c Merge Changeset: e3d2692f8442 Author: trims Date: 2008-05-20 19:50 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/e3d2692f8442 Merge Changeset: c14dab40ed9b Author: xdono Date: 2008-05-22 09:37 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/c14dab40ed9b Added tag jdk7-b27 for changeset e3d2692f8442 ! .hgtags From tim.bell at sun.com Fri May 23 18:30:54 2008 From: tim.bell at sun.com (tim.bell at sun.com) Date: Fri, 23 May 2008 18:30:54 +0000 Subject: hg: jdk7/tl/jaxp: Added tag jdk7-b27 for changeset bafed478d67c Message-ID: <20080523183057.575B82866F@hg.openjdk.java.net> Changeset: b996318955c0 Author: xdono Date: 2008-05-22 09:37 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/jaxp/rev/b996318955c0 Added tag jdk7-b27 for changeset bafed478d67c ! .hgtags From tim.bell at sun.com Fri May 23 18:31:46 2008 From: tim.bell at sun.com (tim.bell at sun.com) Date: Fri, 23 May 2008 18:31:46 +0000 Subject: hg: jdk7/tl/jaxws: Added tag jdk7-b27 for changeset 27d8f42862c1 Message-ID: <20080523183148.61AB128674@hg.openjdk.java.net> Changeset: eefcd5204500 Author: xdono Date: 2008-05-22 09:37 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/jaxws/rev/eefcd5204500 Added tag jdk7-b27 for changeset 27d8f42862c1 ! .hgtags From tim.bell at sun.com Fri May 23 18:35:17 2008 From: tim.bell at sun.com (tim.bell at sun.com) Date: Fri, 23 May 2008 18:35:17 +0000 Subject: hg: jdk7/tl/jdk: 66 new changesets Message-ID: <20080523185133.83B7C28679@hg.openjdk.java.net> Changeset: 94638b3696a6 Author: peterz Date: 2008-04-03 16:41 +0400 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/94638b3696a6 4714674: JEditorPane.setPage(url) blocks AWT thread when HTTP protocol is used Summary: Both POST and GET can now be processed asynchronously; PageLoader refactored Reviewed-by: gsm ! src/share/classes/javax/swing/JEditorPane.java + test/javax/swing/JEditorPane/bug4714674.java Changeset: 56646502accb Author: peterz Date: 2008-04-07 13:07 +0400 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/56646502accb 4765383: JTextArea.append(String) not thread safe Summary: Several swing.text methods are not marked thread-safe anymore. Reviewed-by: gsm ! src/share/classes/javax/swing/JEditorPane.java ! src/share/classes/javax/swing/JTextArea.java ! src/share/classes/javax/swing/JTextPane.java ! src/share/classes/javax/swing/text/JTextComponent.java Changeset: eecc88fb2430 Author: stayer Date: 2008-04-11 16:25 +0400 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/eecc88fb2430 6624717: Corrupted combo box, GTK L&F, Ubuntu 7.10 Reviewed-by: peterz ! src/solaris/native/sun/awt/gtk2_interface.c Changeset: 147803acf437 Author: mlapshin Date: 2008-04-14 16:41 +0400 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/147803acf437 6612531: api/javax_swing/ScrollPaneLayout/index.html#xxxLayoutSize (ScrollPaneLayout2024) throws NPE Summary: Added a check for the NPE Reviewed-by: alexp ! src/share/classes/javax/swing/ScrollPaneLayout.java + test/javax/swing/JScrollPane/6612531/bug6612531.java Changeset: dd66920b2d51 Author: mlapshin Date: 2008-04-18 18:21 +0400 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/dd66920b2d51 6675802: Regression: heavyweight popups cause SecurityExceptions in applets Summary: The problem code in Popup class is surrounded by AccessController.doPrivileged() Reviewed-by: alexp ! src/share/classes/javax/swing/Popup.java + test/javax/swing/JPopupMenu/6675802/bug6675802.java Changeset: 40414219305f Author: mlapshin Date: 2008-04-23 18:06 +0400 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/40414219305f 6691503: Malicious applet can show always-on-top popup menu which has whole screen size Summary: The fix for 6675802 is replaced by a try-catch clause that catches SequrityExceptions for applets. Reviewed-by: alexp ! src/share/classes/javax/swing/Popup.java + test/javax/swing/JPopupMenu/6691503/bug6691503.java Changeset: a15dae99414c Author: mlapshin Date: 2008-04-24 05:58 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/a15dae99414c Merge Changeset: a883bd215e94 Author: mlapshin Date: 2008-04-29 06:30 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/a883bd215e94 Merge Changeset: de9e902b1f24 Author: dav Date: 2008-03-24 18:24 +0300 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/de9e902b1f24 6638872: invalid links Summary: removed invalid links Reviewed-by: dcherepanov ! src/share/classes/java/awt/event/TextEvent.java ! src/share/classes/java/awt/event/TextListener.java Changeset: 58c90502785d Author: dav Date: 2008-03-25 15:16 +0300 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/58c90502785d 6610244: modal dialog closes with fatal error if -Xcheck:jni is set Summary: obtain WWindowPeer class every time it is required Reviewed-by: art ! src/windows/native/sun/windows/awt_Dialog.cpp ! src/windows/native/sun/windows/awt_Window.cpp ! src/windows/native/sun/windows/awt_Window.h + test/java/awt/Dialog/CrashXCheckJni/CrashXCheckJni.java Changeset: f72baf3b4419 Author: ant Date: 2008-03-24 15:51 +0300 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/f72baf3b4419 6637607: 1st char. is discarded after a modal dialogue shows up and disappears Summary: Reset consuming next KEY_TYPED on every subsequent KEY_PRESS. Reviewed-by: son ! src/share/classes/java/awt/DefaultKeyboardFocusManager.java ! src/windows/native/sun/windows/awt_Component.cpp + test/java/awt/Focus/ConsumeNextKeyTypedOnModalShowTest/ConsumeNextKeyTypedOnModalShowTest.java Changeset: 8b34e2cde06f Author: ant Date: 2008-03-25 18:08 +0300 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/8b34e2cde06f 6613426: two WM_TAKE_FOCUS messages on one mouse click in GNOME Metacity 2.16.0 Summary: A workaround to the metacity issue 485016. Reviewed-by: son ! src/solaris/classes/sun/awt/X11/XDecoratedPeer.java Changeset: 401d820d0b4a Author: ant Date: 2008-03-25 18:14 +0300 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/401d820d0b4a Merge Changeset: c58ca64469bb Author: anthony Date: 2008-03-27 11:08 +0300 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/c58ca64469bb 6603312: Segmentation fault running java -jar SwingSet2.jar in 256 color mode Summary: Force hiding the splashscreen if the code cannot allocate a reasonable number of color cells on PseudoColor displays Reviewed-by: son, art ! src/solaris/native/sun/awt/splashscreen/splashscreen_sys.c Changeset: 3b0cd0389985 Author: ant Date: 2008-03-26 16:20 +0300 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/3b0cd0389985 6680135: A number of test/closed/java/awt/Focus/* tests should be opened Summary: The tests moved from the closed repository. Reviewed-by: son + test/java/awt/Focus/ActualFocusedWindowTest/ActualFocusedWindowBlockingTest.java + test/java/awt/Focus/ActualFocusedWindowTest/ActualFocusedWindowRetaining.java + test/java/awt/Focus/AppletInitialFocusTest/AppletInitialFocusTest.html + test/java/awt/Focus/AppletInitialFocusTest/AppletInitialFocusTest.java + test/java/awt/Focus/AppletInitialFocusTest/AppletInitialFocusTest1.html + test/java/awt/Focus/AppletInitialFocusTest/AppletInitialFocusTest1.java + test/java/awt/Focus/FrameJumpingToMouse/FrameJumpingToMouse.java + test/java/awt/Focus/NonFocusableWindowTest/NonfocusableOwnerTest.java + test/java/awt/Focus/NonFocusableWindowTest/Test.java + test/java/awt/Focus/TypeAhead/TestFocusFreeze.java + test/java/awt/Focus/WrongKeyTypedConsumedTest/WrongKeyTypedConsumedTest.java Changeset: 72a4f94cd2f7 Author: ant Date: 2008-03-26 16:56 +0300 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/72a4f94cd2f7 6609607: test/closed/java/awt/Focus/AppletInitialFocusTest should be rewritten Summary: Using test.java.awt.regtesthelpers.Util. Refactoring. Reviewed-by: volk ! test/java/awt/Focus/AppletInitialFocusTest/AppletInitialFocusTest.html ! test/java/awt/Focus/AppletInitialFocusTest/AppletInitialFocusTest.java ! test/java/awt/Focus/AppletInitialFocusTest/AppletInitialFocusTest1.html ! test/java/awt/Focus/AppletInitialFocusTest/AppletInitialFocusTest1.java Changeset: 4a6dd11fe9fc Author: ant Date: 2008-03-26 17:38 +0300 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/4a6dd11fe9fc 6616792: five AWT focus regression tests should be fixed Summary: Fixed/refactored the tests. Reviewed-by: volk ! test/java/awt/Focus/ActualFocusedWindowTest/ActualFocusedWindowBlockingTest.java ! test/java/awt/Focus/ActualFocusedWindowTest/ActualFocusedWindowRetaining.java ! test/java/awt/Focus/FrameJumpingToMouse/FrameJumpingToMouse.java + test/java/awt/Focus/NonFocusableWindowTest/NoEventsTest.java ! test/java/awt/Focus/NonFocusableWindowTest/NonfocusableOwnerTest.java - test/java/awt/Focus/NonFocusableWindowTest/Test.java ! test/java/awt/Focus/TypeAhead/TestFocusFreeze.java ! test/java/awt/Focus/WrongKeyTypedConsumedTest/WrongKeyTypedConsumedTest.java Changeset: 5d98f1b8a6bb Author: ant Date: 2008-03-27 11:35 +0300 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/5d98f1b8a6bb Merge Changeset: c2252f113414 Author: dav Date: 2008-03-25 16:23 +0300 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/c2252f113414 6255653: REGRESSION: Override isLightweight() causes access violation in awt.dll Summary: verufy that the component to restack is a HW component by checking for instanceof WComponentPeer Reviewed-by: son, anthony ! src/windows/classes/sun/awt/windows/WPanelPeer.java + test/java/awt/Component/isLightweightCrash/IsLightweightCrash.java + test/java/awt/Component/isLightweightCrash/StubPeerCrash.java Changeset: 6e2a17c648a4 Author: dav Date: 2008-03-27 12:31 +0300 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/6e2a17c648a4 Merge Changeset: 4a06c0b6fdef Author: yan Date: 2008-03-28 03:06 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/4a06c0b6fdef Merge Changeset: ada64880c5d0 Author: dcherepanov Date: 2008-03-31 15:41 +0400 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/ada64880c5d0 6508505: JComboBox collapses immediately if it is placed to embedded frame Summary: XWindowPeer should translate absolute coordinates to local Reviewed-by: son ! src/solaris/classes/sun/awt/X11/XWindowPeer.java Changeset: b0bc376a5360 Author: dcherepanov Date: 2008-03-31 15:56 +0400 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/b0bc376a5360 6637204: TrayIcon.displayMessage fails to show icon twice Summary: the icon canvas should be validated to finalize its layout Reviewed-by: ant ! src/solaris/classes/sun/awt/X11/XTrayIconPeer.java Changeset: 908cab7b2f1c Author: anthony Date: 2008-04-01 17:38 +0400 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/908cab7b2f1c 6681889: JSN security test headline/noWarningApp failed with NPE exception Summary: The java.awt.Component.changeSupportLock field should be initialized in the readObject() method. Reviewed-by: son, art ! src/share/classes/java/awt/Component.java + test/java/awt/Window/PropertyChangeListenerLockSerialization/PropertyChangeListenerLockSerialization.java Changeset: 58b6b665424a Author: son Date: 2008-04-02 17:45 +0400 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/58b6b665424a 6677332: incorrect signatures for JNI methods in XWindow.c and XlibWrapper.c Summary: int replaced with jint in XWindow.c and WlibWrapper.c, and BOOL replaced with Bool in MouseInfo.c. Reviewed-by: anthony Contributed-by: roman.kennke at aicas.com ! src/solaris/native/sun/awt/MouseInfo.c ! src/solaris/native/sun/xawt/XWindow.c ! src/solaris/native/sun/xawt/XlibWrapper.c Changeset: a1bef1a012e0 Author: dcherepanov Date: 2008-04-03 15:00 +0400 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/a1bef1a012e0 6619458: testcase depends on a file with the name te{st.html Summary: using test.html instead of te{st.html in reg test Reviewed-by: son + test/java/awt/appletviewer/IOExceptionIfEncodedURLTest/IOExceptionIfEncodedURLTest.java + test/java/awt/appletviewer/IOExceptionIfEncodedURLTest/IOExceptionIfEncodedURLTest.sh + test/java/awt/appletviewer/IOExceptionIfEncodedURLTest/test.html Changeset: e80d1e36f553 Author: dcherepanov Date: 2008-04-03 15:48 +0400 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/e80d1e36f553 6615015: Typo in javadoc for Component.getTreeLock() Summary: fix for typo Reviewed-by: son ! src/share/classes/java/awt/Component.java Changeset: 9ca7032ada2b Author: dav Date: 2008-04-04 20:20 +0400 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/9ca7032ada2b 6573289: api/java_awt/Color/index.html#CreateContextTesttestCase4,5,6,7 fail since JDK 7 b14 Summary: specify current behavior - not caching the painting context Reviewed-by: flar, son ! src/share/classes/java/awt/Color.java ! src/share/classes/java/awt/GradientPaint.java ! src/share/classes/java/awt/LinearGradientPaint.java ! src/share/classes/java/awt/Paint.java ! src/share/classes/java/awt/RadialGradientPaint.java ! src/share/classes/java/awt/TexturePaint.java Changeset: 5c5a54b9d08d Author: dav Date: 2008-04-04 20:32 +0400 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/5c5a54b9d08d Merge Changeset: 664def01b886 Author: dav Date: 2008-04-07 14:53 +0400 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/664def01b886 6613529: Avoid duplicate object creation within JDK packages Summary: avoid using constructors when unique values are not necessary Reviewed-by: volk, igor, peterz ! src/share/classes/com/sun/imageio/plugins/gif/GIFImageReader.java ! src/share/classes/com/sun/imageio/plugins/gif/GIFWritableImageMetadata.java ! src/share/classes/com/sun/java/swing/plaf/gtk/GTKColorChooserPanel.java ! src/share/classes/com/sun/java/swing/plaf/gtk/GTKLookAndFeel.java ! src/share/classes/com/sun/java/swing/plaf/gtk/GTKStyle.java ! src/share/classes/com/sun/java/swing/plaf/gtk/Metacity.java ! src/share/classes/com/sun/java/swing/plaf/motif/MotifLookAndFeel.java ! src/share/classes/com/sun/java/swing/plaf/windows/WindowsLookAndFeel.java ! src/share/classes/java/awt/Button.java ! src/share/classes/java/awt/MenuItem.java ! src/share/classes/java/awt/datatransfer/SystemFlavorMap.java ! src/share/classes/java/awt/image/BufferedImage.java ! src/share/classes/java/text/DictionaryBasedBreakIterator.java ! src/share/classes/java/text/MessageFormat.java ! src/share/classes/javax/imageio/stream/ImageInputStreamImpl.java ! src/share/classes/javax/swing/AbstractButton.java ! src/share/classes/javax/swing/DebugGraphicsInfo.java ! src/share/classes/javax/swing/JInternalFrame.java ! src/share/classes/javax/swing/JOptionPane.java ! src/share/classes/javax/swing/JProgressBar.java ! src/share/classes/javax/swing/JScrollBar.java ! src/share/classes/javax/swing/JSlider.java ! src/share/classes/javax/swing/JSplitPane.java ! src/share/classes/javax/swing/JTabbedPane.java ! src/share/classes/javax/swing/JTable.java ! src/share/classes/javax/swing/JTextArea.java ! src/share/classes/javax/swing/SpinnerNumberModel.java ! src/share/classes/javax/swing/TablePrintable.java ! src/share/classes/javax/swing/plaf/basic/BasicButtonUI.java ! src/share/classes/javax/swing/plaf/basic/BasicLookAndFeel.java ! src/share/classes/javax/swing/plaf/basic/BasicMenuItemUI.java ! src/share/classes/javax/swing/plaf/basic/BasicOptionPaneUI.java ! src/share/classes/javax/swing/plaf/basic/BasicTabbedPaneUI.java ! src/share/classes/javax/swing/plaf/basic/BasicToolBarUI.java ! src/share/classes/javax/swing/plaf/metal/MetalLookAndFeel.java ! src/share/classes/javax/swing/plaf/synth/SynthArrowButton.java ! src/share/classes/javax/swing/plaf/synth/SynthDesktopPaneUI.java ! src/share/classes/javax/swing/plaf/synth/SynthSplitPaneUI.java ! src/share/classes/javax/swing/table/TableColumn.java ! src/share/classes/javax/swing/text/AbstractDocument.java ! src/share/classes/javax/swing/text/NumberFormatter.java ! src/share/classes/javax/swing/text/PlainDocument.java ! src/share/classes/javax/swing/text/Segment.java ! src/share/classes/javax/swing/text/StyleConstants.java ! src/share/classes/javax/swing/text/html/AccessibleHTML.java ! src/share/classes/javax/swing/text/html/CSS.java ! src/share/classes/javax/swing/text/html/HTMLEditorKit.java ! src/share/classes/javax/swing/text/html/parser/AttributeList.java ! src/share/classes/javax/swing/text/html/parser/DTD.java ! src/share/classes/javax/swing/text/html/parser/Element.java ! src/share/classes/javax/swing/text/html/parser/Entity.java ! src/share/classes/javax/swing/text/html/parser/Parser.java ! src/share/classes/javax/swing/text/rtf/RTFAttributes.java ! src/share/classes/javax/swing/text/rtf/RTFGenerator.java ! src/share/classes/javax/swing/tree/DefaultTreeSelectionModel.java ! src/share/classes/sun/applet/AppletPanel.java ! src/share/classes/sun/applet/AppletViewer.java ! src/share/classes/sun/awt/FontConfiguration.java ! src/share/classes/sun/awt/im/InputContext.java ! src/share/classes/sun/font/FileFontStrike.java ! src/share/classes/sun/font/FontManager.java ! src/share/classes/sun/font/FontResolver.java ! src/share/classes/sun/font/PhysicalStrike.java ! src/share/classes/sun/java2d/SunGraphics2D.java ! src/share/classes/sun/java2d/loops/SurfaceType.java ! src/share/classes/sun/print/PSPrinterJob.java ! src/share/classes/sun/print/RasterPrinterJob.java ! src/share/classes/sun/text/normalizer/VersionInfo.java ! src/solaris/classes/sun/awt/X11/XDropTargetProtocol.java ! src/solaris/classes/sun/awt/X11/XDropTargetRegistry.java ! src/solaris/classes/sun/awt/X11/XEmbedServerTester.java ! src/solaris/classes/sun/awt/X11/XFileDialogPeer.java ! src/solaris/classes/sun/awt/X11/XScrollbar.java ! src/solaris/classes/sun/awt/X11GraphicsConfig.java ! src/solaris/classes/sun/awt/X11GraphicsDevice.java ! src/solaris/classes/sun/print/UnixPrintJob.java ! src/windows/classes/sun/awt/windows/WDataTransferer.java ! src/windows/classes/sun/awt/windows/WInputMethod.java ! src/windows/classes/sun/awt/windows/WWindowPeer.java ! src/windows/classes/sun/print/Win32PrintService.java Changeset: 840f49e23a40 Author: dav Date: 2008-04-07 16:52 +0400 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/840f49e23a40 6623459: Get rid of XConstant, XProtocolConstants and XUtilConstants antipattern Summary: Access to interface's fiels via their name rather then implementation Reviewed-by: volk, son ! src/solaris/classes/sun/awt/X11/MWMConstants.java ! src/solaris/classes/sun/awt/X11/MotifDnDConstants.java ! src/solaris/classes/sun/awt/X11/MotifDnDDragSourceProtocol.java ! src/solaris/classes/sun/awt/X11/MotifDnDDropTargetProtocol.java ! src/solaris/classes/sun/awt/X11/WindowPropertyGetter.java ! src/solaris/classes/sun/awt/X11/XAWTXSettings.java ! src/solaris/classes/sun/awt/X11/XAtom.java ! src/solaris/classes/sun/awt/X11/XBaseMenuWindow.java ! src/solaris/classes/sun/awt/X11/XBaseWindow.java ! src/solaris/classes/sun/awt/X11/XClipboard.java ! src/solaris/classes/sun/awt/X11/XComponentPeer.java ! src/solaris/classes/sun/awt/X11/XConstants.java ! src/solaris/classes/sun/awt/X11/XContentWindow.java ! src/solaris/classes/sun/awt/X11/XCursorFontConstants.java ! src/solaris/classes/sun/awt/X11/XCustomCursor.java ! src/solaris/classes/sun/awt/X11/XDecoratedPeer.java ! src/solaris/classes/sun/awt/X11/XDialogPeer.java ! src/solaris/classes/sun/awt/X11/XDnDDragSourceProtocol.java ! src/solaris/classes/sun/awt/X11/XDnDDropTargetProtocol.java ! src/solaris/classes/sun/awt/X11/XDragSourceContextPeer.java ! src/solaris/classes/sun/awt/X11/XDragSourceProtocol.java ! src/solaris/classes/sun/awt/X11/XDropTargetEventProcessor.java ! src/solaris/classes/sun/awt/X11/XDropTargetProtocol.java ! src/solaris/classes/sun/awt/X11/XDropTargetRegistry.java ! src/solaris/classes/sun/awt/X11/XEmbedCanvasPeer.java ! src/solaris/classes/sun/awt/X11/XEmbedChildProxyPeer.java ! src/solaris/classes/sun/awt/X11/XEmbedClientHelper.java ! src/solaris/classes/sun/awt/X11/XEmbedHelper.java ! src/solaris/classes/sun/awt/X11/XEmbedServerTester.java ! src/solaris/classes/sun/awt/X11/XEmbeddedFramePeer.java ! src/solaris/classes/sun/awt/X11/XEmbeddingContainer.java ! src/solaris/classes/sun/awt/X11/XFocusProxyWindow.java ! src/solaris/classes/sun/awt/X11/XFramePeer.java ! src/solaris/classes/sun/awt/X11/XGlobalCursorManager.java ! src/solaris/classes/sun/awt/X11/XIconWindow.java ! src/solaris/classes/sun/awt/X11/XMSelection.java ! src/solaris/classes/sun/awt/X11/XNETProtocol.java ! src/solaris/classes/sun/awt/X11/XProtocol.java ! src/solaris/classes/sun/awt/X11/XProtocolConstants.java ! src/solaris/classes/sun/awt/X11/XSelection.java ! src/solaris/classes/sun/awt/X11/XSystemTrayPeer.java ! src/solaris/classes/sun/awt/X11/XToolkit.java ! src/solaris/classes/sun/awt/X11/XTrayIconPeer.java ! src/solaris/classes/sun/awt/X11/XUtilConstants.java ! src/solaris/classes/sun/awt/X11/XWINProtocol.java ! src/solaris/classes/sun/awt/X11/XWM.java ! src/solaris/classes/sun/awt/X11/XWindow.java ! src/solaris/classes/sun/awt/X11/XWindowPeer.java ! src/solaris/classes/sun/awt/X11/XlibUtil.java ! src/solaris/classes/sun/awt/X11/XlibWrapper.java Changeset: 0a053f373969 Author: dav Date: 2008-04-08 12:46 +0400 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/0a053f373969 6520716: event classes lack info about parameters Summary: clarify allowed values for event constructors Reviewed-by: son, denis ! src/share/classes/java/awt/dnd/DragGestureEvent.java ! src/share/classes/java/awt/dnd/DropTargetEvent.java ! src/share/classes/java/awt/event/ActionEvent.java ! src/share/classes/java/awt/event/AdjustmentEvent.java ! src/share/classes/java/awt/event/ComponentEvent.java ! src/share/classes/java/awt/event/ContainerEvent.java ! src/share/classes/java/awt/event/FocusEvent.java ! src/share/classes/java/awt/event/HierarchyEvent.java ! src/share/classes/java/awt/event/InputEvent.java ! src/share/classes/java/awt/event/InvocationEvent.java ! src/share/classes/java/awt/event/ItemEvent.java ! src/share/classes/java/awt/event/KeyEvent.java ! src/share/classes/java/awt/event/MouseEvent.java ! src/share/classes/java/awt/event/MouseWheelEvent.java ! src/share/classes/java/awt/event/PaintEvent.java ! src/share/classes/java/awt/event/TextEvent.java ! src/share/classes/java/awt/event/WindowEvent.java Changeset: dd05b5b0e7bd Author: ant Date: 2008-04-08 13:32 +0400 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/dd05b5b0e7bd 6607170: Focus not set by requestFocus Summary: fixing/refactoring focus auto-transfer mechanism. Reviewed-by: son ! src/share/classes/java/awt/Component.java ! src/share/classes/java/awt/Container.java ! src/share/classes/java/awt/DefaultKeyboardFocusManager.java ! src/share/classes/java/awt/KeyboardFocusManager.java ! src/solaris/classes/sun/awt/X11/XKeyboardFocusManagerPeer.java ! src/windows/native/sun/windows/awt_Component.cpp + test/java/awt/Focus/ContainerFocusAutoTransferTest/ContainerFocusAutoTransferTest.java Changeset: ddfd2acb2347 Author: ant Date: 2008-04-09 09:37 +0400 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/ddfd2acb2347 6522725: Component in a minimized Frame has focus and receives key events Summary: XAWT: a window natively focused may request focus in it only synthetically Reviewed-by: son ! src/solaris/classes/sun/awt/X11/XComponentPeer.java ! src/solaris/classes/sun/awt/X11/XDecoratedPeer.java ! src/solaris/classes/sun/awt/X11/XWindowPeer.java + test/java/awt/Focus/IconifiedFrameFocusChangeTest/IconifiedFrameFocusChangeTest.java Changeset: 61ea2d05afba Author: volk Date: 2008-04-13 23:41 +0400 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/61ea2d05afba 6686273: Some AWT reg. tests should be moved to open repository (for CRs 6444769, 6480547, and 6560348) Summary: Some AWT reg. tests are moved to open repository (for CRs 6444769, 6480547, and 6560348) Reviewed-by: ant + test/java/awt/Insets/WindowWithWarningTest/WindowWithWarningTest.html + test/java/awt/Insets/WindowWithWarningTest/WindowWithWarningTest.java + test/java/awt/TextField/ScrollSelectionTest/ScrollSelectionTest.html + test/java/awt/TextField/ScrollSelectionTest/ScrollSelectionTest.java + test/java/awt/xembed/server/JavaClient.java + test/java/awt/xembed/server/RunTestXEmbed.java + test/java/awt/xembed/server/TestXEmbedServer.java + test/java/awt/xembed/server/TestXEmbedServerJava.java + test/java/awt/xembed/server/TesterClient.java Changeset: 5a9dcfdf856d Author: volk Date: 2008-04-13 23:56 +0400 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/5a9dcfdf856d Merge Changeset: 863b81ff642c Author: dcherepanov Date: 2008-04-14 15:21 +0400 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/863b81ff642c 6471693: Moving the vertical scroll bar of List in FileDialog leads Flickering in solaris Summary: unite paint() calls in one call Reviewed-by: son ! src/solaris/classes/sun/awt/X11/XListPeer.java Changeset: 9d15a1989b84 Author: dcherepanov Date: 2008-04-14 15:53 +0400 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/9d15a1989b84 6688067: regression test for 6471693 is missed Summary: added regression test Reviewed-by: son + test/java/awt/List/ListFlickers/ListFlickers.java Changeset: adae10f1c14d Author: dav Date: 2008-04-15 14:00 +0400 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/adae10f1c14d 6430553: MouseClick event should not be fired if MouseRelease happened without MousePress Summary: verify that the there was a PRESS event before sending CLICK event Reviewed-by: son, dcherepanov ! src/solaris/classes/sun/awt/X11/XWindow.java ! src/windows/native/sun/windows/awt_Component.cpp ! src/windows/native/sun/windows/awt_Component.h ! src/windows/native/sun/windows/awt_TrayIcon.cpp ! src/windows/native/sun/windows/awt_TrayIcon.h Changeset: e2e1127aed7b Author: dav Date: 2008-04-15 14:14 +0400 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/e2e1127aed7b Merge Changeset: 29a4bb79a0fd Author: son Date: 2008-04-18 11:38 +0400 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/29a4bb79a0fd 6690036: some code cleanup for insets-related code Summary: all insets-related code from XWindowPeer, XFramePeer, and XDialogPeer has been moved to XDecoratedPeer. Reviewed-by: anthony ! src/solaris/classes/sun/awt/X11/XDecoratedPeer.java ! src/solaris/classes/sun/awt/X11/XDialogPeer.java ! src/solaris/classes/sun/awt/X11/XFramePeer.java ! src/solaris/classes/sun/awt/X11/XWindowPeer.java Changeset: a35e9e11d907 Author: yan Date: 2008-04-23 14:35 +0400 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/a35e9e11d907 6627324: Alt Graph doesnot generate any key event when pressing in German locale Summary: This Unix only problem solved by mapping XK_ISO_Level3_Shift keysym to Java keycode VK_ALT_GRAPH. Reviewed-by: son ! src/solaris/classes/sun/awt/X11/XKeysym.java ! src/solaris/classes/sun/awt/X11/genhash.awk ! src/solaris/classes/sun/awt/X11/keysym2ucs.h Changeset: 8da00cb83d01 Author: yan Date: 2008-05-04 07:05 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/8da00cb83d01 Merge Changeset: c1e547a4c0ef Author: yan Date: 2008-05-13 21:58 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/c1e547a4c0ef Merge ! src/share/classes/javax/swing/JTextArea.java Changeset: 97240b4b5074 Author: rupashka Date: 2008-04-28 17:17 +0400 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/97240b4b5074 4252173: Inability to reuse the HorizontalSliderThumbIcon Summary: Removed casting component to JSlider from MetalIconFactory Reviewed-by: alexp ! src/share/classes/javax/swing/plaf/metal/MetalIconFactory.java + test/javax/swing/JFileChooser/4252173/bug4252173.java Changeset: 0447f9c7aed7 Author: rupashka Date: 2008-04-29 13:49 +0400 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/0447f9c7aed7 6210674: FileChooser fails to load custom harddrive icon and gets NullPointerException Summary: WindowsPlacesBar should use default icon for folders that doesn't have own icon Reviewed-by: loneid ! src/share/classes/sun/swing/WindowsPlacesBar.java ! src/windows/classes/sun/awt/shell/Win32ShellFolder2.java ! src/windows/classes/sun/awt/shell/Win32ShellFolderManager2.java Changeset: 5b1734431fa5 Author: rupashka Date: 2008-04-29 15:47 +0400 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/5b1734431fa5 6693507: There are unnecessary compilation warnings in the com.sun.java.swing.plaf.motif package Summary: Removed unnecessary castings and other warnings Reviewed-by: peterz Contributed-by: Florian Brunner ! src/share/classes/com/sun/java/swing/plaf/motif/MotifGraphicsUtils.java ! src/share/classes/com/sun/java/swing/plaf/motif/MotifInternalFrameTitlePane.java ! src/share/classes/com/sun/java/swing/plaf/motif/MotifLookAndFeel.java Changeset: aaa771ded30b Author: rupashka Date: 2008-04-29 17:48 +0400 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/aaa771ded30b 6614972: JSlider value should not change on right-click Summary: WindowsSliderUI won't use the right mouse button for change slider position Reviewed-by: alexp ! src/share/classes/com/sun/java/swing/plaf/gtk/GTKLookAndFeel.java ! src/share/classes/javax/swing/plaf/basic/BasicLookAndFeel.java ! src/share/classes/javax/swing/plaf/basic/BasicSliderUI.java Changeset: eca2e5716b86 Author: rupashka Date: 2008-04-30 12:32 +0400 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/eca2e5716b86 6524424: JSlider Clicking In Tracks Behavior Inconsistent For Different Tick Spacings Summary: JSlider should use minimal tick space in SnapToTicks mode Reviewed-by: peterz ! src/share/classes/javax/swing/plaf/basic/BasicSliderUI.java + test/javax/swing/JFileChooser/6524424/bug6524424.html + test/javax/swing/JFileChooser/6524424/bug6524424.java Changeset: 9a322f3dccd8 Author: rupashka Date: 2008-04-30 13:01 +0400 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/9a322f3dccd8 6642612: JFileChooser approve buttons should use Open and Save text (GTK) Summary: In FileChooser under GTK LaF "Ok" and "Cancel" buttons were made with the same size Reviewed-by: peterz ! src/share/classes/com/sun/java/swing/plaf/gtk/GTKFileChooserUI.java Changeset: b49c01fd4b1c Author: mlapshin Date: 2008-04-30 13:19 +0400 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/b49c01fd4b1c 6690791: Even more ClassCasetException with TrayIcon Summary: event.getComponent() is used unstead of (Component)event.getSource() Reviewed-by: peterz ! src/share/classes/javax/swing/MenuSelectionManager.java + test/javax/swing/JPopupMenu/6690791/bug6690791.java Changeset: b5c38f2632d0 Author: mlapshin Date: 2008-04-30 07:03 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/b5c38f2632d0 Merge Changeset: 812b1e9aa7e5 Author: mlapshin Date: 2008-04-30 08:23 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/812b1e9aa7e5 Merge Changeset: 06916e21e10f Author: rupashka Date: 2008-05-01 14:47 +0400 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/06916e21e10f 6688203: Memory leak and performance problems in the method getFileSystemView of FileSystemView Summary: Removed from the "FileSystemView#getFileSystemView" method creation of a new listener and adding it to UIManager Reviewed-by: peterz ! src/share/classes/javax/swing/filechooser/FileSystemView.java + test/javax/swing/JFileChooser/6688203/bug6688203.java Changeset: c25ed95b96a8 Author: malenkov Date: 2008-05-07 16:08 +0400 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/c25ed95b96a8 6625450: javax.swing.border.TitledBorder.getBaseline() doesn't throw IAE when width is < 0 Summary: necessary check is added Reviewed-by: peterz, alexp ! src/share/classes/javax/swing/border/TitledBorder.java + test/javax/swing/border/Test6625450.java Changeset: 4cf10bc1973d Author: rupashka Date: 2008-05-07 20:26 +0400 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/4cf10bc1973d 6635277: Incorrect text seen when creating a new folder, when selection is on the image file in JFileChooser Summary: Corrected bounds of editor area Reviewed-by: loneid ! src/share/classes/sun/swing/FilePane.java Changeset: 56cae54e668c Author: malenkov Date: 2008-05-07 21:54 +0400 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/56cae54e668c 6348456: BasicColorChooserUI ignores JColorChooser selection model changes Summary: Some methods are moved from AbstractColorChooserPanel to BasicColorChooserUI Reviewed-by: peterz, alexp ! src/share/classes/javax/swing/colorchooser/AbstractColorChooserPanel.java ! src/share/classes/javax/swing/plaf/basic/BasicColorChooserUI.java + test/javax/swing/JColorChooser/Test6348456.html + test/javax/swing/JColorChooser/Test6348456.java Changeset: 5bcff22d837d Author: malenkov Date: 2008-05-07 23:20 +0400 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/5bcff22d837d 4935607: RFE: LTP: Should be possible to set the TRANSIENT attribute of propertiies to FALSE Summary: Add the Transient annotation and support it (JSR-273) Reviewed-by: peterz, loneid ! src/share/classes/java/awt/Component.java ! src/share/classes/java/awt/Dimension.java ! src/share/classes/java/awt/Point.java ! src/share/classes/java/awt/Rectangle.java ! src/share/classes/java/awt/ScrollPane.java ! src/share/classes/java/awt/geom/RectangularShape.java ! src/share/classes/java/awt/im/InputContext.java ! src/share/classes/java/beans/DefaultPersistenceDelegate.java ! src/share/classes/java/beans/EventSetDescriptor.java ! src/share/classes/java/beans/FeatureDescriptor.java ! src/share/classes/java/beans/IndexedPropertyDescriptor.java ! src/share/classes/java/beans/MetaData.java ! src/share/classes/java/beans/PropertyDescriptor.java + src/share/classes/java/beans/Transient.java ! src/share/classes/javax/swing/AbstractButton.java ! src/share/classes/javax/swing/DefaultListSelectionModel.java ! src/share/classes/javax/swing/ImageIcon.java ! src/share/classes/javax/swing/JComboBox.java ! src/share/classes/javax/swing/JComponent.java ! src/share/classes/javax/swing/JLabel.java ! src/share/classes/javax/swing/JList.java ! src/share/classes/javax/swing/JMenuBar.java ! src/share/classes/javax/swing/JScrollPane.java ! src/share/classes/javax/swing/JTabbedPane.java ! src/share/classes/javax/swing/JViewport.java ! src/share/classes/javax/swing/table/JTableHeader.java ! src/share/classes/javax/swing/text/JTextComponent.java ! test/java/beans/Introspector/BeanUtils.java ! test/java/beans/Introspector/Test4896879.java + test/java/beans/Introspector/Test4935607.java + test/java/beans/XMLEncoder/Test4935607.java Changeset: ec3bbc3f675a Author: mlapshin Date: 2008-05-14 07:53 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/ec3bbc3f675a Merge ! src/share/classes/com/sun/java/swing/plaf/gtk/GTKLookAndFeel.java ! src/share/classes/com/sun/java/swing/plaf/motif/MotifLookAndFeel.java ! src/share/classes/java/awt/Component.java ! src/share/classes/javax/swing/AbstractButton.java ! src/share/classes/javax/swing/JTabbedPane.java ! src/share/classes/javax/swing/plaf/basic/BasicLookAndFeel.java Changeset: d70a63c92b49 Author: ohair Date: 2008-04-30 17:34 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/d70a63c92b49 6695553: Cleanup GPLv2+SPL legal notices in hat sources Summary: Just correcting the legal notices on the HAT sources. Reviewed-by: alanb ! src/share/classes/com/sun/tools/hat/Main.java ! src/share/classes/com/sun/tools/hat/build.xml ! src/share/classes/com/sun/tools/hat/internal/model/AbstractJavaHeapObjectVisitor.java ! src/share/classes/com/sun/tools/hat/internal/model/ArrayTypeCodes.java ! src/share/classes/com/sun/tools/hat/internal/model/HackJavaValue.java ! src/share/classes/com/sun/tools/hat/internal/model/JavaBoolean.java ! src/share/classes/com/sun/tools/hat/internal/model/JavaByte.java ! src/share/classes/com/sun/tools/hat/internal/model/JavaChar.java ! src/share/classes/com/sun/tools/hat/internal/model/JavaClass.java ! src/share/classes/com/sun/tools/hat/internal/model/JavaDouble.java ! src/share/classes/com/sun/tools/hat/internal/model/JavaField.java ! src/share/classes/com/sun/tools/hat/internal/model/JavaFloat.java ! src/share/classes/com/sun/tools/hat/internal/model/JavaHeapObject.java ! src/share/classes/com/sun/tools/hat/internal/model/JavaHeapObjectVisitor.java ! src/share/classes/com/sun/tools/hat/internal/model/JavaInt.java ! src/share/classes/com/sun/tools/hat/internal/model/JavaLazyReadObject.java ! src/share/classes/com/sun/tools/hat/internal/model/JavaLong.java ! src/share/classes/com/sun/tools/hat/internal/model/JavaObject.java ! src/share/classes/com/sun/tools/hat/internal/model/JavaObjectArray.java ! src/share/classes/com/sun/tools/hat/internal/model/JavaObjectRef.java ! src/share/classes/com/sun/tools/hat/internal/model/JavaShort.java ! src/share/classes/com/sun/tools/hat/internal/model/JavaStatic.java ! src/share/classes/com/sun/tools/hat/internal/model/JavaThing.java ! src/share/classes/com/sun/tools/hat/internal/model/JavaValue.java ! src/share/classes/com/sun/tools/hat/internal/model/JavaValueArray.java ! src/share/classes/com/sun/tools/hat/internal/model/ReachableExcludes.java ! src/share/classes/com/sun/tools/hat/internal/model/ReachableExcludesImpl.java ! src/share/classes/com/sun/tools/hat/internal/model/ReachableObjects.java ! src/share/classes/com/sun/tools/hat/internal/model/ReferenceChain.java ! src/share/classes/com/sun/tools/hat/internal/model/Root.java ! src/share/classes/com/sun/tools/hat/internal/model/Snapshot.java ! src/share/classes/com/sun/tools/hat/internal/model/StackFrame.java ! src/share/classes/com/sun/tools/hat/internal/model/StackTrace.java ! src/share/classes/com/sun/tools/hat/internal/oql/OQLEngine.java ! src/share/classes/com/sun/tools/hat/internal/oql/OQLException.java ! src/share/classes/com/sun/tools/hat/internal/oql/OQLQuery.java ! src/share/classes/com/sun/tools/hat/internal/oql/ObjectVisitor.java ! src/share/classes/com/sun/tools/hat/internal/parser/FileReadBuffer.java ! src/share/classes/com/sun/tools/hat/internal/parser/HprofReader.java ! src/share/classes/com/sun/tools/hat/internal/parser/MappedReadBuffer.java ! src/share/classes/com/sun/tools/hat/internal/parser/PositionDataInputStream.java ! src/share/classes/com/sun/tools/hat/internal/parser/PositionInputStream.java ! src/share/classes/com/sun/tools/hat/internal/parser/ReadBuffer.java ! src/share/classes/com/sun/tools/hat/internal/parser/Reader.java ! src/share/classes/com/sun/tools/hat/internal/server/AllClassesQuery.java ! src/share/classes/com/sun/tools/hat/internal/server/AllRootsQuery.java ! src/share/classes/com/sun/tools/hat/internal/server/ClassQuery.java ! src/share/classes/com/sun/tools/hat/internal/server/FinalizerObjectsQuery.java ! src/share/classes/com/sun/tools/hat/internal/server/FinalizerSummaryQuery.java ! src/share/classes/com/sun/tools/hat/internal/server/HistogramQuery.java ! src/share/classes/com/sun/tools/hat/internal/server/HttpReader.java ! src/share/classes/com/sun/tools/hat/internal/server/InstancesCountQuery.java ! src/share/classes/com/sun/tools/hat/internal/server/InstancesQuery.java ! src/share/classes/com/sun/tools/hat/internal/server/OQLHelp.java ! src/share/classes/com/sun/tools/hat/internal/server/OQLQuery.java ! src/share/classes/com/sun/tools/hat/internal/server/ObjectQuery.java ! src/share/classes/com/sun/tools/hat/internal/server/PlatformClasses.java ! src/share/classes/com/sun/tools/hat/internal/server/QueryHandler.java ! src/share/classes/com/sun/tools/hat/internal/server/QueryListener.java ! src/share/classes/com/sun/tools/hat/internal/server/ReachableQuery.java ! src/share/classes/com/sun/tools/hat/internal/server/RefsByTypeQuery.java ! src/share/classes/com/sun/tools/hat/internal/server/RootStackQuery.java ! src/share/classes/com/sun/tools/hat/internal/server/RootsQuery.java ! src/share/classes/com/sun/tools/hat/internal/util/ArraySorter.java ! src/share/classes/com/sun/tools/hat/internal/util/Comparer.java ! src/share/classes/com/sun/tools/hat/internal/util/CompositeEnumeration.java ! src/share/classes/com/sun/tools/hat/internal/util/Misc.java ! src/share/classes/com/sun/tools/hat/internal/util/VectorSorter.java ! src/share/classes/com/sun/tools/hat/resources/hat.js Changeset: 5a0950c45a27 Author: xdono Date: 2008-05-13 11:33 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/5a0950c45a27 Merge Changeset: 8767ccc53b42 Author: xdono Date: 2008-05-14 14:06 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/8767ccc53b42 Merge Changeset: 3e599d98875d Author: tbell Date: 2008-05-16 12:25 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/3e599d98875d Merge Changeset: a36a7f0f11ec Author: tbell Date: 2008-05-22 15:58 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/a36a7f0f11ec Merge Changeset: da9a7ef8d34e Author: xdono Date: 2008-05-22 09:37 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/da9a7ef8d34e Added tag jdk7-b27 for changeset 3e599d98875d ! .hgtags Changeset: cbd182c404d8 Author: tbell Date: 2008-05-23 11:13 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/cbd182c404d8 Merge From charlie.hunt at sun.com Fri May 23 13:11:31 2008 From: charlie.hunt at sun.com (charlie hunt) Date: Fri, 23 May 2008 08:11:31 -0500 Subject: more TreeMap questions (descendingMap, headMap and tailMap) Message-ID: <4836C283.2090709@sun.com> I have run across a couple cases which may or may not be defects in TreeMap. Or, it's simply a case where I am not understanding the Java docs for TreeMap & NavigableMap correctly. When looking at the Java docs for TreeMap / NavigableMap tailMap() I read, "Returns a view of the portion of this map whose keys are greater than (or equal to, if |inclusive| is true) |fromKey|. The returned map is backed by this map, so changes in the returned map are reflected in this map, and vice-versa. The returned map supports all optional map operations that this map supports." More importantly, I read this method will throw an "||IllegalArgumentException if this map itself has a restricted range, and |fromKey| lies outside the bounds of the range". I interpret the latter here to mean if I create a subMap(), headMap() or tailMap() I have a map which has "a restricted range"? Assuming my interpretation is correct. I wrote a test program on a TreeMap containing Integer keys and String values. I populated the TreeMap with keys 5 - 5000 at every 5th integer, (i.e. 5,10,15,20,25, .... 4985,4990,4995,5000). And, for each key, I just created a string such as, "Value stored is -> ". I found if I do a subMap(Integer.valueOf(5),true,Integer.valueOf(5000),true) I get a NavigableMap back containing the same keys/values as the TreeMap. If I then do a tailMap(Integer.valueOf(4850),false), I get a NavigableMap back containing keys 4855 - 5000 and their corresponding values. All as expected to this point. If I now do a tailMap(Integer.valueOf(4850,false) on that last NavigableMap I got back which contains keys 4855 - 5000, according to the Java doc, I would expect an IllegalArgumentException to be thrown since 4850 is outside the bounds of 4855 - 5000. But, this is not what happens. I get the same NavigableMap back containing keys 4855 - 5000. I can produce a similar result by taking the same initial TreeMap, doing a descendingMap() on it. Then, doing a headMap(Integer.valueOf(4850)) followed by a headMap(Integer.valueOf(4850)). I am interpreting that a headMap(K key) on a descendingMap is essentially the same as a tailMap(K key, false) on an ascending map of the same underlying TreeMap. Am I interpreting some completely wrong? Or, is the not throwing of an IllegalArgumentException expected behavior? Or, is this indeed a defect? Attached is a simple program which illustrates what I have described. thanks, charlie ... -- Charlie Hunt Java Performance Engineer -------------- next part -------------- A non-text attachment was scrubbed... Name: TestTreeMap.java Type: text/x-java Size: 4055 bytes Desc: not available URL: From martinrb at google.com Sat May 24 01:10:04 2008 From: martinrb at google.com (Martin Buchholz) Date: Fri, 23 May 2008 18:10:04 -0700 Subject: more TreeMap questions (descendingMap, headMap and tailMap) In-Reply-To: <4836C283.2090709@sun.com> References: <4836C283.2090709@sun.com> Message-ID: <1ccfd1c10805231810s23fd335ao317f28d8afad0bdf@mail.gmail.com> The "restricted range" refers to the elements that the submap could possibly ever contain, not the elements that it currently contains. This may not be described in the clearest way in the doc, but I'm not motivated to work on clarifying it, partly because I've generally felt it was a design mistake to try to enforce these kinds of range restrictions, although I helped to implement the enforcing code. Martin On Fri, May 23, 2008 at 6:11 AM, charlie hunt wrote: > I have run across a couple cases which may or may not be defects in TreeMap. > Or, it's simply a case where I am not understanding the Java docs for > TreeMap & NavigableMap correctly. > > When looking at the Java docs for TreeMap / NavigableMap tailMap() I read, > "Returns a view of the portion of this map whose keys are greater than (or > equal to, if |inclusive| is true) |fromKey|. The returned map is backed by > this map, so changes in the returned map are reflected in this map, and > vice-versa. The returned map supports all optional map operations that this > map supports." More importantly, I read this method will throw an > "||IllegalArgumentException if this map itself has a restricted range, and > |fromKey| lies outside the bounds of the range". > > I interpret the latter here to mean if I create a subMap(), headMap() or > tailMap() I have a map which has "a restricted range"? > > Assuming my interpretation is correct. I wrote a test program on a TreeMap > containing Integer keys and String values. I populated the TreeMap with > keys 5 - 5000 at every 5th integer, (i.e. 5,10,15,20,25, .... > 4985,4990,4995,5000). And, for each key, I just created a string such as, > "Value stored is -> ". > > I found if I do a subMap(Integer.valueOf(5),true,Integer.valueOf(5000),true) > I get a NavigableMap back containing the same keys/values as the TreeMap. > If I then do a tailMap(Integer.valueOf(4850),false), I get a NavigableMap > back containing keys 4855 - 5000 and their corresponding values. All as > expected to this point. If I now do a tailMap(Integer.valueOf(4850,false) > on that last NavigableMap I got back which contains keys 4855 - 5000, > according to the Java doc, I would expect an IllegalArgumentException to be > thrown since 4850 is outside the bounds of 4855 - 5000. But, this is not > what happens. I get the same NavigableMap back containing keys 4855 - 5000. > > I can produce a similar result by taking the same initial TreeMap, doing a > descendingMap() on it. Then, doing a headMap(Integer.valueOf(4850)) > followed by a headMap(Integer.valueOf(4850)). I am interpreting that a > headMap(K key) on a descendingMap is essentially the same as a tailMap(K > key, false) on an ascending map of the same underlying TreeMap. > > Am I interpreting some completely wrong? Or, is the not throwing of an > IllegalArgumentException expected behavior? Or, is this indeed a defect? > > Attached is a simple program which illustrates what I have described. > > thanks, > > charlie ... > > > -- > > Charlie Hunt > Java Performance Engineer > > > > From martinrb at google.com Sat May 24 05:40:10 2008 From: martinrb at google.com (Martin Buchholz) Date: Fri, 23 May 2008 22:40:10 -0700 Subject: more TreeMap questions (descendingMap, headMap and tailMap) In-Reply-To: <4837710E.2070004@sun.com> References: <4836C283.2090709@sun.com> <1ccfd1c10805231810s23fd335ao317f28d8afad0bdf@mail.gmail.com> <4837710E.2070004@sun.com> Message-ID: <1ccfd1c10805232240w190c2d63o77002c5d1a43f005@mail.gmail.com> There was an attempt made to be more precise about when IllegalArgumentException would be thrown, consistent with this wording from subMap *

The returned map will throw an {@code IllegalArgumentException} * on an attempt to insert a key outside of its range, or to construct a * submap either of whose endpoints lie outside its range. In all cases, the range refers to the endpoints passed to the methods creating sub-maps; they cannot change once the sub-map has been created. Martin On Fri, May 23, 2008 at 6:36 PM, charlie hunt wrote: > If that's the definition given to "restricted range", I think there is some > inconsistencies in the behavior of TreeMap. > > If you play around with some of descendingMap(), subMap(), headMap() and > tailMap() variations such as those in the example program in my original > e-mail, I think you'll see there are some cases where > IllegalArgumentException is thrown. > > Are you suggesting that "could ever contain" to mean, for example, if I have > Integer keys, that all fromKey/toKey must be between Integer.MIN_VALUE and > Integer.MAX_VALUE? Or, is it "restricted" to the bounds of the "backing" > map? > > Perhaps I'm just being naive, but it seems "restricted range" is rather > ambigious. > > charlie ... > > Martin Buchholz wrote: >> >> The "restricted range" refers to the elements that the submap could >> possibly ever contain, >> not the elements that it currently contains. >> >> This may not be described in the clearest way in the doc, >> but I'm not motivated to work on clarifying it, >> partly because I've generally felt it was a design mistake >> to try to enforce these kinds of range restrictions, >> although I helped to implement the enforcing code. >> >> Martin >> >> On Fri, May 23, 2008 at 6:11 AM, charlie hunt >> wrote: >> >>> >>> I have run across a couple cases which may or may not be defects in >>> TreeMap. >>> Or, it's simply a case where I am not understanding the Java docs for >>> TreeMap & NavigableMap correctly. >>> >>> When looking at the Java docs for TreeMap / NavigableMap tailMap() I >>> read, >>> "Returns a view of the portion of this map whose keys are greater than >>> (or >>> equal to, if |inclusive| is true) |fromKey|. The returned map is backed >>> by >>> this map, so changes in the returned map are reflected in this map, and >>> vice-versa. The returned map supports all optional map operations that >>> this >>> map supports." More importantly, I read this method will throw an >>> "||IllegalArgumentException if this map itself has a restricted range, >>> and >>> |fromKey| lies outside the bounds of the range". >>> >>> I interpret the latter here to mean if I create a subMap(), headMap() or >>> tailMap() I have a map which has "a restricted range"? >>> >>> Assuming my interpretation is correct. I wrote a test program on a >>> TreeMap >>> containing Integer keys and String values. I populated the TreeMap with >>> keys 5 - 5000 at every 5th integer, (i.e. 5,10,15,20,25, .... >>> 4985,4990,4995,5000). And, for each key, I just created a string such >>> as, >>> "Value stored is -> ". >>> >>> I found if I do a >>> subMap(Integer.valueOf(5),true,Integer.valueOf(5000),true) >>> I get a NavigableMap back containing the same keys/values as the TreeMap. >>> If I then do a tailMap(Integer.valueOf(4850),false), I get a >>> NavigableMap >>> back containing keys 4855 - 5000 and their corresponding values. All as >>> expected to this point. If I now do a >>> tailMap(Integer.valueOf(4850,false) >>> on that last NavigableMap I got back which contains keys 4855 - 5000, >>> according to the Java doc, I would expect an IllegalArgumentException to >>> be >>> thrown since 4850 is outside the bounds of 4855 - 5000. But, this is >>> not >>> what happens. I get the same NavigableMap back containing keys 4855 - >>> 5000. >>> >>> I can produce a similar result by taking the same initial TreeMap, doing >>> a >>> descendingMap() on it. Then, doing a headMap(Integer.valueOf(4850)) >>> followed by a headMap(Integer.valueOf(4850)). I am interpreting that a >>> headMap(K key) on a descendingMap is essentially the same as a tailMap(K >>> key, false) on an ascending map of the same underlying TreeMap. >>> >>> Am I interpreting some completely wrong? Or, is the not throwing of an >>> IllegalArgumentException expected behavior? Or, is this indeed a defect? >>> >>> Attached is a simple program which illustrates what I have described. >>> >>> thanks, >>> >>> charlie ... >>> >>> >>> -- >>> >>> Charlie Hunt >>> Java Performance Engineer >>> >>> >>> >>> >>> > > From david.lloyd at redhat.com Tue May 27 17:03:43 2008 From: david.lloyd at redhat.com (David M. Lloyd) Date: Tue, 27 May 2008 12:03:43 -0500 Subject: Embedded HTTP server Message-ID: <483C3EEF.8050800@redhat.com> Is there an effort underway to produce a JSR for adding an embedded HTTP server (like the one currently in OpenJDK under the com.sun.net.httpserver) to the JDK (under e.g. javax.net.httpserver or similar)? If not... does anyone besides me think this is a good idea? - DML From charlie.hunt at sun.com Sat May 24 01:36:14 2008 From: charlie.hunt at sun.com (charlie hunt) Date: Fri, 23 May 2008 18:36:14 -0700 Subject: more TreeMap questions (descendingMap, headMap and tailMap) In-Reply-To: <1ccfd1c10805231810s23fd335ao317f28d8afad0bdf@mail.gmail.com> References: <4836C283.2090709@sun.com> <1ccfd1c10805231810s23fd335ao317f28d8afad0bdf@mail.gmail.com> Message-ID: <4837710E.2070004@sun.com> If that's the definition given to "restricted range", I think there is some inconsistencies in the behavior of TreeMap. If you play around with some of descendingMap(), subMap(), headMap() and tailMap() variations such as those in the example program in my original e-mail, I think you'll see there are some cases where IllegalArgumentException is thrown. Are you suggesting that "could ever contain" to mean, for example, if I have Integer keys, that all fromKey/toKey must be between Integer.MIN_VALUE and Integer.MAX_VALUE? Or, is it "restricted" to the bounds of the "backing" map? Perhaps I'm just being naive, but it seems "restricted range" is rather ambigious. charlie ... Martin Buchholz wrote: > The "restricted range" refers to the elements that the submap could > possibly ever contain, > not the elements that it currently contains. > > This may not be described in the clearest way in the doc, > but I'm not motivated to work on clarifying it, > partly because I've generally felt it was a design mistake > to try to enforce these kinds of range restrictions, > although I helped to implement the enforcing code. > > Martin > > On Fri, May 23, 2008 at 6:11 AM, charlie hunt wrote: > >> I have run across a couple cases which may or may not be defects in TreeMap. >> Or, it's simply a case where I am not understanding the Java docs for >> TreeMap & NavigableMap correctly. >> >> When looking at the Java docs for TreeMap / NavigableMap tailMap() I read, >> "Returns a view of the portion of this map whose keys are greater than (or >> equal to, if |inclusive| is true) |fromKey|. The returned map is backed by >> this map, so changes in the returned map are reflected in this map, and >> vice-versa. The returned map supports all optional map operations that this >> map supports." More importantly, I read this method will throw an >> "||IllegalArgumentException if this map itself has a restricted range, and >> |fromKey| lies outside the bounds of the range". >> >> I interpret the latter here to mean if I create a subMap(), headMap() or >> tailMap() I have a map which has "a restricted range"? >> >> Assuming my interpretation is correct. I wrote a test program on a TreeMap >> containing Integer keys and String values. I populated the TreeMap with >> keys 5 - 5000 at every 5th integer, (i.e. 5,10,15,20,25, .... >> 4985,4990,4995,5000). And, for each key, I just created a string such as, >> "Value stored is -> ". >> >> I found if I do a subMap(Integer.valueOf(5),true,Integer.valueOf(5000),true) >> I get a NavigableMap back containing the same keys/values as the TreeMap. >> If I then do a tailMap(Integer.valueOf(4850),false), I get a NavigableMap >> back containing keys 4855 - 5000 and their corresponding values. All as >> expected to this point. If I now do a tailMap(Integer.valueOf(4850,false) >> on that last NavigableMap I got back which contains keys 4855 - 5000, >> according to the Java doc, I would expect an IllegalArgumentException to be >> thrown since 4850 is outside the bounds of 4855 - 5000. But, this is not >> what happens. I get the same NavigableMap back containing keys 4855 - 5000. >> >> I can produce a similar result by taking the same initial TreeMap, doing a >> descendingMap() on it. Then, doing a headMap(Integer.valueOf(4850)) >> followed by a headMap(Integer.valueOf(4850)). I am interpreting that a >> headMap(K key) on a descendingMap is essentially the same as a tailMap(K >> key, false) on an ascending map of the same underlying TreeMap. >> >> Am I interpreting some completely wrong? Or, is the not throwing of an >> IllegalArgumentException expected behavior? Or, is this indeed a defect? >> >> Attached is a simple program which illustrates what I have described. >> >> thanks, >> >> charlie ... >> >> >> -- >> >> Charlie Hunt >> Java Performance Engineer >> >> >> >> >> From juha.lindfors at gmail.com Tue May 27 18:29:57 2008 From: juha.lindfors at gmail.com (Juha Lindfors) Date: Tue, 27 May 2008 20:29:57 +0200 Subject: Embedded HTTP server In-Reply-To: <483C3EEF.8050800@redhat.com> References: <483C3EEF.8050800@redhat.com> Message-ID: <869257980805271129k6ba8e22fqf4c9b0edb8f9063b@mail.gmail.com> On Tue, May 27, 2008 at 7:03 PM, David M. Lloyd wrote: > > If not... does anyone besides me think this is a good idea? > I think it would be a great idea... the only reason I've shied away from using the current embedded one is its unclear status in the com.sun.* package. -- Juha -- "A timid person is frightened before a danger, a coward during the time, and a courageous person afterward." -------------- next part -------------- An HTML attachment was scrubbed... URL: From david.lloyd at redhat.com Tue May 27 18:59:40 2008 From: david.lloyd at redhat.com (David M. Lloyd) Date: Tue, 27 May 2008 13:59:40 -0500 Subject: Embedded HTTP server In-Reply-To: <869257980805271129k6ba8e22fqf4c9b0edb8f9063b@mail.gmail.com> References: <483C3EEF.8050800@redhat.com> <869257980805271129k6ba8e22fqf4c9b0edb8f9063b@mail.gmail.com> Message-ID: <483C5A1C.5020300@redhat.com> On 05/27/2008 01:29 PM, Juha Lindfors wrote: > On Tue, May 27, 2008 at 7:03 PM, David M. Lloyd > wrote: > >> If not... does anyone besides me think this is a good idea? >> > > I think it would be a great idea... the only reason I've shied away from > using the current embedded one is its unclear status in the com.sun.* > package. In the source code, the header indicates that the HTTP server is available under the terms of GPLv2 plus the so-called "classpath exception". So even if it goes away, it could always be forked I guess. - DML From Alan.Bateman at Sun.COM Tue May 27 19:15:17 2008 From: Alan.Bateman at Sun.COM (Alan Bateman) Date: Tue, 27 May 2008 20:15:17 +0100 Subject: Embedded HTTP server In-Reply-To: <869257980805271129k6ba8e22fqf4c9b0edb8f9063b@mail.gmail.com> References: <483C3EEF.8050800@redhat.com> <869257980805271129k6ba8e22fqf4c9b0edb8f9063b@mail.gmail.com> Message-ID: <483C5DC5.5060704@sun.com> Juha Lindfors wrote: > > > On Tue, May 27, 2008 at 7:03 PM, David M. Lloyd > > wrote: > > > If not... does anyone besides me think this is a good idea? > > > I think it would be a great idea... the only reason I've shied away > from using the current embedded one is its unclear status in the > com.sun.* package. Michael explains the status of this API in this blog entry: http://blogs.sun.com/michaelmcm/entry/http_server_api_in_java From charlie.hunt at sun.com Wed May 28 13:29:43 2008 From: charlie.hunt at sun.com (charlie hunt) Date: Wed, 28 May 2008 08:29:43 -0500 Subject: more TreeMap questions (descendingMap, headMap and tailMap) In-Reply-To: <1ccfd1c10805232240w190c2d63o77002c5d1a43f005@mail.gmail.com> References: <4836C283.2090709@sun.com> <1ccfd1c10805231810s23fd335ao317f28d8afad0bdf@mail.gmail.com> <4837710E.2070004@sun.com> <1ccfd1c10805232240w190c2d63o77002c5d1a43f005@mail.gmail.com> Message-ID: <483D5E47.7060604@sun.com> Are headmaps, tailmaps and descending maps considered to be, or defined to be submaps? In the context of, "to construct a submap either of whose endpoints lie outside its range", the term "its" refers to what? The map from which a submap is created, or the farthest back backing map, the domain of possible keys, or something else? thanks, charlie ... Martin Buchholz wrote: > There was an attempt made to be more precise about > when IllegalArgumentException would be thrown, > consistent with this wording from subMap > > *

The returned map will throw an {@code IllegalArgumentException} > * on an attempt to insert a key outside of its range, or to construct a > * submap either of whose endpoints lie outside its range. > > In all cases, the range refers to the endpoints passed to the > methods creating sub-maps; they cannot change once the > sub-map has been created. > > Martin > > On Fri, May 23, 2008 at 6:36 PM, charlie hunt wrote: > >> If that's the definition given to "restricted range", I think there is some >> inconsistencies in the behavior of TreeMap. >> >> If you play around with some of descendingMap(), subMap(), headMap() and >> tailMap() variations such as those in the example program in my original >> e-mail, I think you'll see there are some cases where >> IllegalArgumentException is thrown. >> >> Are you suggesting that "could ever contain" to mean, for example, if I have >> Integer keys, that all fromKey/toKey must be between Integer.MIN_VALUE and >> Integer.MAX_VALUE? Or, is it "restricted" to the bounds of the "backing" >> map? >> >> Perhaps I'm just being naive, but it seems "restricted range" is rather >> ambigious. >> >> charlie ... >> >> Martin Buchholz wrote: >> >>> The "restricted range" refers to the elements that the submap could >>> possibly ever contain, >>> not the elements that it currently contains. >>> >>> This may not be described in the clearest way in the doc, >>> but I'm not motivated to work on clarifying it, >>> partly because I've generally felt it was a design mistake >>> to try to enforce these kinds of range restrictions, >>> although I helped to implement the enforcing code. >>> >>> Martin >>> >>> On Fri, May 23, 2008 at 6:11 AM, charlie hunt >>> wrote: >>> >>> >>>> I have run across a couple cases which may or may not be defects in >>>> TreeMap. >>>> Or, it's simply a case where I am not understanding the Java docs for >>>> TreeMap & NavigableMap correctly. >>>> >>>> When looking at the Java docs for TreeMap / NavigableMap tailMap() I >>>> read, >>>> "Returns a view of the portion of this map whose keys are greater than >>>> (or >>>> equal to, if |inclusive| is true) |fromKey|. The returned map is backed >>>> by >>>> this map, so changes in the returned map are reflected in this map, and >>>> vice-versa. The returned map supports all optional map operations that >>>> this >>>> map supports." More importantly, I read this method will throw an >>>> "||IllegalArgumentException if this map itself has a restricted range, >>>> and >>>> |fromKey| lies outside the bounds of the range". >>>> >>>> I interpret the latter here to mean if I create a subMap(), headMap() or >>>> tailMap() I have a map which has "a restricted range"? >>>> >>>> Assuming my interpretation is correct. I wrote a test program on a >>>> TreeMap >>>> containing Integer keys and String values. I populated the TreeMap with >>>> keys 5 - 5000 at every 5th integer, (i.e. 5,10,15,20,25, .... >>>> 4985,4990,4995,5000). And, for each key, I just created a string such >>>> as, >>>> "Value stored is -> ". >>>> >>>> I found if I do a >>>> subMap(Integer.valueOf(5),true,Integer.valueOf(5000),true) >>>> I get a NavigableMap back containing the same keys/values as the TreeMap. >>>> If I then do a tailMap(Integer.valueOf(4850),false), I get a >>>> NavigableMap >>>> back containing keys 4855 - 5000 and their corresponding values. All as >>>> expected to this point. If I now do a >>>> tailMap(Integer.valueOf(4850,false) >>>> on that last NavigableMap I got back which contains keys 4855 - 5000, >>>> according to the Java doc, I would expect an IllegalArgumentException to >>>> be >>>> thrown since 4850 is outside the bounds of 4855 - 5000. But, this is >>>> not >>>> what happens. I get the same NavigableMap back containing keys 4855 - >>>> 5000. >>>> >>>> I can produce a similar result by taking the same initial TreeMap, doing >>>> a >>>> descendingMap() on it. Then, doing a headMap(Integer.valueOf(4850)) >>>> followed by a headMap(Integer.valueOf(4850)). I am interpreting that a >>>> headMap(K key) on a descendingMap is essentially the same as a tailMap(K >>>> key, false) on an ascending map of the same underlying TreeMap. >>>> >>>> Am I interpreting some completely wrong? Or, is the not throwing of an >>>> IllegalArgumentException expected behavior? Or, is this indeed a defect? >>>> >>>> Attached is a simple program which illustrates what I have described. >>>> >>>> thanks, >>>> >>>> charlie ... >>>> >>>> >>>> -- >>>> >>>> Charlie Hunt >>>> Java Performance Engineer >>>> >>>> >>>> >>>> >>>> >>>> >> -- Charlie Hunt Java Performance Engineer From martinrb at google.com Wed May 28 23:20:47 2008 From: martinrb at google.com (Martin Buchholz) Date: Wed, 28 May 2008 16:20:47 -0700 Subject: more TreeMap questions (descendingMap, headMap and tailMap) In-Reply-To: <483D5E47.7060604@sun.com> References: <4836C283.2090709@sun.com> <1ccfd1c10805231810s23fd335ao317f28d8afad0bdf@mail.gmail.com> <4837710E.2070004@sun.com> <1ccfd1c10805232240w190c2d63o77002c5d1a43f005@mail.gmail.com> <483D5E47.7060604@sun.com> Message-ID: <1ccfd1c10805281620j6222290fw45e747d0e344dae0@mail.gmail.com> On Wed, May 28, 2008 at 6:29 AM, charlie hunt wrote: > Are headmaps, tailmaps and descending maps considered to be, or defined to > be submaps? headmaps and tailmaps are submaps, but descending maps are not, (except in the trivial sense that every map is a submap of itself) > In the context of, "to construct a submap either of whose endpoints lie > outside its range", the term "its" refers to what? The map from which a > submap is created, or the farthest back backing map, the domain of possible > keys, or something else? "its" refers to the returned map. Range checks only ever have to look at the "nearest" map. Martin > thanks, > > charlie ... > > Martin Buchholz wrote: >> >> There was an attempt made to be more precise about >> when IllegalArgumentException would be thrown, >> consistent with this wording from subMap >> >> *

The returned map will throw an {@code IllegalArgumentException} >> * on an attempt to insert a key outside of its range, or to construct >> a >> * submap either of whose endpoints lie outside its range. >> >> In all cases, the range refers to the endpoints passed to the >> methods creating sub-maps; they cannot change once the >> sub-map has been created. >> >> Martin >> >> On Fri, May 23, 2008 at 6:36 PM, charlie hunt >> wrote: >> >>> >>> If that's the definition given to "restricted range", I think there is >>> some >>> inconsistencies in the behavior of TreeMap. >>> >>> If you play around with some of descendingMap(), subMap(), headMap() and >>> tailMap() variations such as those in the example program in my original >>> e-mail, I think you'll see there are some cases where >>> IllegalArgumentException is thrown. >>> >>> Are you suggesting that "could ever contain" to mean, for example, if I >>> have >>> Integer keys, that all fromKey/toKey must be between Integer.MIN_VALUE >>> and >>> Integer.MAX_VALUE? Or, is it "restricted" to the bounds of the >>> "backing" >>> map? >>> >>> Perhaps I'm just being naive, but it seems "restricted range" is rather >>> ambigious. >>> >>> charlie ... >>> >>> Martin Buchholz wrote: >>> >>>> >>>> The "restricted range" refers to the elements that the submap could >>>> possibly ever contain, >>>> not the elements that it currently contains. >>>> >>>> This may not be described in the clearest way in the doc, >>>> but I'm not motivated to work on clarifying it, >>>> partly because I've generally felt it was a design mistake >>>> to try to enforce these kinds of range restrictions, >>>> although I helped to implement the enforcing code. >>>> >>>> Martin >>>> >>>> On Fri, May 23, 2008 at 6:11 AM, charlie hunt >>>> wrote: >>>> >>>> >>>>> >>>>> I have run across a couple cases which may or may not be defects in >>>>> TreeMap. >>>>> Or, it's simply a case where I am not understanding the Java docs for >>>>> TreeMap & NavigableMap correctly. >>>>> >>>>> When looking at the Java docs for TreeMap / NavigableMap tailMap() I >>>>> read, >>>>> "Returns a view of the portion of this map whose keys are greater than >>>>> (or >>>>> equal to, if |inclusive| is true) |fromKey|. The returned map is backed >>>>> by >>>>> this map, so changes in the returned map are reflected in this map, and >>>>> vice-versa. The returned map supports all optional map operations that >>>>> this >>>>> map supports." More importantly, I read this method will throw an >>>>> "||IllegalArgumentException if this map itself has a restricted range, >>>>> and >>>>> |fromKey| lies outside the bounds of the range". >>>>> >>>>> I interpret the latter here to mean if I create a subMap(), headMap() >>>>> or >>>>> tailMap() I have a map which has "a restricted range"? >>>>> >>>>> Assuming my interpretation is correct. I wrote a test program on a >>>>> TreeMap >>>>> containing Integer keys and String values. I populated the TreeMap >>>>> with >>>>> keys 5 - 5000 at every 5th integer, (i.e. 5,10,15,20,25, .... >>>>> 4985,4990,4995,5000). And, for each key, I just created a string such >>>>> as, >>>>> "Value stored is -> ". >>>>> >>>>> I found if I do a >>>>> subMap(Integer.valueOf(5),true,Integer.valueOf(5000),true) >>>>> I get a NavigableMap back containing the same keys/values as the >>>>> TreeMap. >>>>> If I then do a tailMap(Integer.valueOf(4850),false), I get a >>>>> NavigableMap >>>>> back containing keys 4855 - 5000 and their corresponding values. All >>>>> as >>>>> expected to this point. If I now do a >>>>> tailMap(Integer.valueOf(4850,false) >>>>> on that last NavigableMap I got back which contains keys 4855 - 5000, >>>>> according to the Java doc, I would expect an IllegalArgumentException >>>>> to >>>>> be >>>>> thrown since 4850 is outside the bounds of 4855 - 5000. But, this is >>>>> not >>>>> what happens. I get the same NavigableMap back containing keys 4855 - >>>>> 5000. >>>>> >>>>> I can produce a similar result by taking the same initial TreeMap, >>>>> doing >>>>> a >>>>> descendingMap() on it. Then, doing a headMap(Integer.valueOf(4850)) >>>>> followed by a headMap(Integer.valueOf(4850)). I am interpreting that a >>>>> headMap(K key) on a descendingMap is essentially the same as a >>>>> tailMap(K >>>>> key, false) on an ascending map of the same underlying TreeMap. >>>>> >>>>> Am I interpreting some completely wrong? Or, is the not throwing of an >>>>> IllegalArgumentException expected behavior? Or, is this indeed a >>>>> defect? >>>>> >>>>> Attached is a simple program which illustrates what I have described. >>>>> >>>>> thanks, >>>>> >>>>> charlie ... >>>>> >>>>> >>>>> -- >>>>> >>>>> Charlie Hunt >>>>> Java Performance Engineer >>>>> >>>>> >>>>> >>>>> >>>>> >>>>> >>> >>> > > -- > > Charlie Hunt > Java Performance Engineer > > > > From daniel.fuchs at sun.com Thu May 29 13:45:11 2008 From: daniel.fuchs at sun.com (daniel.fuchs at sun.com) Date: Thu, 29 May 2008 13:45:11 +0000 Subject: hg: jdk7/tl/jdk: 6673853: LegacyIntrospectorTest is testing an old deprecated com.sun API not present in OpenJDK. Message-ID: <20080529134537.00F6728CA0@hg.openjdk.java.net> Changeset: b64e68bf6b0b Author: dfuchs Date: 2008-05-29 15:33 +0200 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/b64e68bf6b0b 6673853: LegacyIntrospectorTest is testing an old deprecated com.sun API not present in OpenJDK. Summary: Removed test from open test suite - the corresponding deprecated legacy API is not in open source tree Reviewed-by: emcmanus - test/javax/management/Introspector/LegacyIntrospectorTest.java From charlie.hunt at sun.com Thu May 29 05:27:18 2008 From: charlie.hunt at sun.com (charlie hunt) Date: Thu, 29 May 2008 00:27:18 -0500 Subject: minor bug, TreeMap.NavigableSubMap.entrySetView usage Message-ID: <483E3EB6.7000602@sun.com> Looks like TreeMap.NavigableSubMap.entrySetView is initialized to null, but it is never updated when an "entry set view" is created by TreeMap.AscendingSubMap.entrySet() or by TreeMap.DescendingSubMap.entrySet(). I think those two methods were intended to be implemented as: For AscendingSubMap: public Set> entrySet() { EntrySetView es = entrySetView; return (es != null) ? es : (entrySetView = new AscendingEntrySetView()); } For DescendingSubMap: public Set> entrySet() { EntrySetView es = entrySetView; return (es != null) ? es : (entrySetView = new DescendingEntrySetView()); A related question: Is there a need to explicitly initialize; NavigableSubMap.descendingMapView, NavigableSubMap.entrySetView and NavigableSubMap.navigableKeySetView to null? Aren't they going to be initialized to null by default without requiring an explicit load & store of null? thanks, charlie ... -------------- next part -------------- A non-text attachment was scrubbed... Name: charlie.hunt.vcf Type: text/x-vcard Size: 156 bytes Desc: not available URL: From maurizio.cimadamore at sun.com Fri May 30 11:15:32 2008 From: maurizio.cimadamore at sun.com (maurizio.cimadamore at sun.com) Date: Fri, 30 May 2008 11:15:32 +0000 Subject: hg: jdk7/tl/langtools: 3 new changesets Message-ID: <20080530111538.16D4A28D74@hg.openjdk.java.net> Changeset: 8852d96b593b Author: mcimadamore Date: 2008-05-30 10:29 +0100 URL: http://hg.openjdk.java.net/jdk7/tl/langtools/rev/8852d96b593b 6665223: Static import of inherited protected method causes compiler exception Summary: Buggy accessibility check causes NPE during resolution of imported static methods Reviewed-by: jjg ! src/share/classes/com/sun/tools/javac/comp/Resolve.java + test/tools/javac/staticImport/6665223/T6665223.java + test/tools/javac/staticImport/6665223/pkg/A.java + test/tools/javac/staticImport/6665223/pkg/B.java Changeset: 6e9a43815df7 Author: mcimadamore Date: 2008-05-30 10:42 +0100 URL: http://hg.openjdk.java.net/jdk7/tl/langtools/rev/6e9a43815df7 6507024: casting an array to a generic type results in a 'capture#69 of ?' type error Summary: Types.isSubtypeUnchecked() should handle type-variables subtyping properly Reviewed-by: jjg ! src/share/classes/com/sun/tools/javac/code/Types.java + test/tools/javac/generics/T6507024.java Changeset: f7e64b33d5a4 Author: mcimadamore Date: 2008-05-30 11:08 +0100 URL: http://hg.openjdk.java.net/jdk7/tl/langtools/rev/f7e64b33d5a4 6677785: REGRESSION: StackOverFlowError with Cyclic Class level Type Parameters when used in constructors Summary: This regression has been caused by previous fix of 6660289 Reviewed-by: jjg ! src/share/classes/com/sun/tools/javac/comp/Attr.java ! src/share/classes/com/sun/tools/javac/comp/Check.java + test/tools/javac/generics/6677785/T6677785.java + test/tools/javac/generics/6677785/T6677785.out From daniel.fuchs at sun.com Fri May 30 12:37:54 2008 From: daniel.fuchs at sun.com (daniel.fuchs at sun.com) Date: Fri, 30 May 2008 12:37:54 +0000 Subject: hg: jdk7/tl/jdk: 6592586: RequiredModelMBean prints a WARNING message when calling getAttributes() for a non-existing attr Message-ID: <20080530123823.04AA528D7D@hg.openjdk.java.net> Changeset: 6ca4564520e7 Author: dfuchs Date: 2008-05-30 14:35 +0200 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/6ca4564520e7 6592586: RequiredModelMBean prints a WARNING message when calling getAttributes() for a non-existing attr Summary: Switched traces to FINER - except when logging fails - in which cases the traces are logged to FINE Reviewed-by: emcmanus ! src/share/classes/javax/management/modelmbean/RequiredModelMBean.java