From matthias at mernst.org Wed Dec 3 23:55:25 2008 From: matthias at mernst.org (Matthias Ernst) Date: Thu, 4 Dec 2008 08:55:25 +0100 Subject: Erroneous JavaDoc for Path#register Message-ID: <22ec15240812032355q3a35aa60re6b5ad5eff2bdeeb@mail.gmail.com> http://openjdk.java.net/projects/nio/javadoc/java/nio/file/Path.html#register(java.nio.file.WatchService,%20java.nio.file.WatchEvent.Kind[],%20java.nio.file.WatchEvent.Modifier...) Barring any language changes I missed, the example code does not compile. It requires an explicit array creation, not? WatchKey key = dir.register(watcher, new WatchEvent.Kind[] { ENTRY_CREATE, ENTRY_DELETE, ENTRY_MODIFY }); Given that there are no modifiers defined as of today and I would expect them to be empty most of the time (that's why they're called modifiers), wouldn't it be nicer if the two parameters were switched? Matthias From ernst.matthias at gmail.com Thu Dec 4 00:45:17 2008 From: ernst.matthias at gmail.com (Matthias Ernst) Date: Thu, 4 Dec 2008 09:45:17 +0100 Subject: Erroneous JavaDoc for Path#register Message-ID: <22ec15240812040045k4ebfc205k9ddc355bb0d00364@mail.gmail.com> http://openjdk.java.net/projects/nio/javadoc/java/nio/file/Path.html#register(java.nio.file.WatchService,%20java.nio.file.WatchEvent.Kind[],%20java.nio.file.WatchEvent.Modifier...) Barring any language changes I missed, the example code does not compile. It requires an explicit array creation, not? WatchKey key = dir.register(watcher, new WatchEvent.Kind[] { ENTRY_CREATE, ENTRY_DELETE, ENTRY_MODIFY }); Given that there are no modifiers defined as of today and I would expect them to be empty most of the time (that's why they're called modifiers), wouldn't it be nicer if the two parameters were switched? Matthias From Alan.Bateman at Sun.COM Thu Dec 4 00:45:48 2008 From: Alan.Bateman at Sun.COM (Alan Bateman) Date: Thu, 04 Dec 2008 08:45:48 +0000 Subject: Erroneous JavaDoc for Path#register In-Reply-To: <22ec15240812032355q3a35aa60re6b5ad5eff2bdeeb@mail.gmail.com> References: <22ec15240812032355q3a35aa60re6b5ad5eff2bdeeb@mail.gmail.com> Message-ID: <493798BC.4060301@sun.com> Matthias Ernst wrote: > http://openjdk.java.net/projects/nio/javadoc/java/nio/file/Path.html#register(java.nio.file.WatchService,%20java.nio.file.WatchEvent.Kind[],%20java.nio.file.WatchEvent.Modifier...) > > Barring any language changes I missed, the example code does not > compile. It requires an explicit array creation, not? > > WatchKey key = dir.register(watcher, new WatchEvent.Kind[] { > ENTRY_CREATE, ENTRY_DELETE, ENTRY_MODIFY }); > > > Given that there are no modifiers defined as of today and I would > expect them to be empty most of the time (that's why they're called > modifiers), wouldn't it be nicer if the two parameters were switched? > > Matthias > Long time no hear! The code in the usage example does compile. It's using the 2-parameter form of the register method: http://openjdk.java.net/projects/nio/javadoc/java/nio/file/Watchable.html Looking at this now, it is confusing to show an example using the 2-parameter register method in the overloading of the 3-parameter method. As you said, it will not be common to use modifiers since we aren't define any in the spec yet (we have a few implementation specific modifiers but these are part of the spec). If you want a more complete example then look in $JDK_HOME/sample/nio/file/WatchDir.java. Good to hear from you again. -Alan. From ernst.matthias at gmail.com Thu Dec 4 04:50:51 2008 From: ernst.matthias at gmail.com (Matthias Ernst) Date: Thu, 4 Dec 2008 13:50:51 +0100 Subject: Erroneous JavaDoc for Path#register In-Reply-To: <493798BC.4060301@sun.com> References: <22ec15240812032355q3a35aa60re6b5ad5eff2bdeeb@mail.gmail.com> <493798BC.4060301@sun.com> Message-ID: <22ec15240812040450n29a75425sdac8db9a3044f84e@mail.gmail.com> On Thu, Dec 4, 2008 at 9:45 AM, Alan Bateman wrote: > Matthias Ernst wrote: >> >> >> http://openjdk.java.net/projects/nio/javadoc/java/nio/file/Path.html#register(java.nio.file.WatchService,%20java.nio.file.WatchEvent.Kind[],%20java.nio.file.WatchEvent.Modifier...) >> >> Barring any language changes I missed, the example code does not >> compile. It requires an explicit array creation, not? >> >> WatchKey key = dir.register(watcher, new WatchEvent.Kind[] { >> ENTRY_CREATE, ENTRY_DELETE, ENTRY_MODIFY }); >> >> >> Given that there are no modifiers defined as of today and I would >> expect them to be empty most of the time (that's why they're called >> modifiers), wouldn't it be nicer if the two parameters were switched? >> >> Matthias >> > > Long time no hear! Yeah! work work. Haven't had a lot of time for other engagements lately :-( > > The code in the usage example does compile. It's using the 2-parameter form > of the register method: > http://openjdk.java.net/projects/nio/javadoc/java/nio/file/Watchable.html Aww snap. That is indeed misleading. Especially given that only one of the overloads is re-specified in Path.java . To be consequent, both should be present in Path or none. > Looking at this now, it is confusing to show an example using the > 2-parameter register method in the overloading of the 3-parameter method. As > you said, it will not be common to use modifiers since we aren't define any > in the spec yet (we have a few implementation specific modifiers but these > are part of the spec). > > If you want a more complete example then look in > $JDK_HOME/sample/nio/file/WatchDir.java. > > Good to hear from you again. Good to hear from you! Matthias PS: sorry for double-posting. I was unsure which email address I'm subscribed with. I've been posting to /dev/null instead of concurrency-interest for months. > > -Alan. > > > > From david.lloyd at redhat.com Thu Dec 4 07:23:16 2008 From: david.lloyd at redhat.com (David M. Lloyd) Date: Thu, 04 Dec 2008 09:23:16 -0600 Subject: Erroneous JavaDoc for Path#register In-Reply-To: <22ec15240812040045k4ebfc205k9ddc355bb0d00364@mail.gmail.com> References: <22ec15240812040045k4ebfc205k9ddc355bb0d00364@mail.gmail.com> Message-ID: <4937F5E4.6050503@redhat.com> On 12/04/2008 02:45 AM, Matthias Ernst wrote: > http://openjdk.java.net/projects/nio/javadoc/java/nio/file/Path.html#register(java.nio.file.WatchService,%20java.nio.file.WatchEvent.Kind[],%20java.nio.file.WatchEvent.Modifier...) > > Barring any language changes I missed, the example code does not > compile. It requires an explicit array creation, not? > > WatchKey key = dir.register(watcher, new WatchEvent.Kind[] { > ENTRY_CREATE, ENTRY_DELETE, ENTRY_MODIFY > }); > > > Given that there are no modifiers defined as of today and I would > expect them to be empty most of the time (that's why they're called > modifiers), wouldn't it be nicer if the two parameters were switched? Unfortunately, if you have a varargs method parameter which is of a generic type, you'll generally get an annoying compile-time warning stating that you're implicitly creating an array of generic type. On the other hand, the second parameter actually is an *explicit* generic array creation, so...? Perhaps it would be better if both of these parameters were Set<> types like this: public abstract WatchKey register(WatchService watcher, Set> events, Set modifiers) throws IOException; This way, one could take advantage of EnumSet by creating enums to implement each interface for a particular provider. E.g. the standard events class "StandardWatchEventKind" could become: /** Typed in an email client, forgive egregious errors */ public class StandardWatchEventKind { enum PathKind implements WatchEvent.Kind { // I have no idea if these are the proper names. Just for illustration... ENTRY_CREATE("create", Path.class), ENTRY_DELETE("delete", Path.class), ENTRY_MODIFY("modify", Path.class), ; private final String name; private PathKind(String name) { this.name = name; } public String getName() { return name; } public Class getType() { return Path.class; } } enum VoidKind implements WatchEvent.Kind { OVERFLOW("overflow"), ; private final String name; private VoidKind(String name) { this.name = name; } public String getName() { return name; } public Class getType() { return Void.class; } } // Not strictly necessary but maybe desirable? public static PathKind ENTRY_CREATE = PathKind.ENTRY_CREATE; ... } Then one could use EnumSets for watch event kind sets that are all of a type (which seems like it would be a common situation, no?), and a plain HashSet otherwise. - DML From ernst.matthias at gmail.com Thu Dec 4 07:45:18 2008 From: ernst.matthias at gmail.com (Matthias Ernst) Date: Thu, 4 Dec 2008 16:45:18 +0100 Subject: Erroneous JavaDoc for Path#register In-Reply-To: <22ec15240812032355q3a35aa60re6b5ad5eff2bdeeb@mail.gmail.com> References: <22ec15240812032355q3a35aa60re6b5ad5eff2bdeeb@mail.gmail.com> Message-ID: <22ec15240812040745q4d5ff25cje051dd082085dd87@mail.gmail.com> [moved from my duplicate thread] When you have good Set creation methods, i.e. EnumSet, then that would be a good option IMHO. Or nio could offer these if java.util doesn't get it done. Arrays should go away. new HashSet(Arrays.asList(a, b, c)) is however not an option. Regarding the generic array problem: if I'm not mistaken, you're safe with . It is trivially always typesafe and the compiler shouldn't warn. Matthias On Thu, Dec 4, 2008 at 4:23 PM, David M. Lloyd wrote: > On 12/04/2008 02:45 AM, Matthias Ernst wrote: >> >> >> http://openjdk.java.net/projects/nio/javadoc/java/nio/file/Path.html#register(java.nio.file.WatchService,%20java.nio.file.WatchEvent.Kind[],%20java.nio.file.WatchEvent.Modifier...) >> >> Barring any language changes I missed, the example code does not >> compile. It requires an explicit array creation, not? >> >> WatchKey key = dir.register(watcher, new WatchEvent.Kind[] { >> ENTRY_CREATE, ENTRY_DELETE, ENTRY_MODIFY >> }); >> >> >> Given that there are no modifiers defined as of today and I would >> expect them to be empty most of the time (that's why they're called >> modifiers), wouldn't it be nicer if the two parameters were switched? > > Unfortunately, if you have a varargs method parameter which is of a generic > type, you'll generally get an annoying compile-time warning stating that > you're implicitly creating an array of generic type. On the other hand, the > second parameter actually is an *explicit* generic array creation, so...? > > Perhaps it would be better if both of these parameters were Set<> types like > this: > > public abstract WatchKey register(WatchService watcher, > Set> events, > Set modifiers) > throws IOException; > > This way, one could take advantage of EnumSet by creating enums to implement > each interface for a particular provider. E.g. the standard events class > "StandardWatchEventKind" could become: > > /** Typed in an email client, forgive egregious errors */ > public class StandardWatchEventKind { > enum PathKind implements WatchEvent.Kind { > // I have no idea if these are the proper names. Just for > illustration... > ENTRY_CREATE("create", Path.class), > ENTRY_DELETE("delete", Path.class), > ENTRY_MODIFY("modify", Path.class), > ; > private final String name; > private PathKind(String name) { > this.name = name; > } > > public String getName() { > return name; > } > > public Class getType() { > return Path.class; > } > } > > enum VoidKind implements WatchEvent.Kind { > OVERFLOW("overflow"), > ; > private final String name; > private VoidKind(String name) { > this.name = name; > } > > public String getName() { > return name; > } > > public Class getType() { > return Void.class; > } > } > > // Not strictly necessary but maybe desirable? > public static PathKind ENTRY_CREATE = PathKind.ENTRY_CREATE; > ... > } > > Then one could use EnumSets for watch event kind sets that are all of a type > (which seems like it would be a common situation, no?), and a plain HashSet > otherwise. > > - DML > From david.lloyd at redhat.com Thu Dec 4 08:14:47 2008 From: david.lloyd at redhat.com (David M. Lloyd) Date: Thu, 04 Dec 2008 10:14:47 -0600 Subject: Erroneous JavaDoc for Path#register In-Reply-To: <22ec15240812040745q4d5ff25cje051dd082085dd87@mail.gmail.com> References: <22ec15240812032355q3a35aa60re6b5ad5eff2bdeeb@mail.gmail.com> <22ec15240812040745q4d5ff25cje051dd082085dd87@mail.gmail.com> Message-ID: <493801F7.1000005@redhat.com> I didn't know about the thing with generic varargs. I've always just avoided it. Yeah, I see what you're saying about set creation. But I think the common usage would be more like: register(myWatcher, EnumSet.of(ENTRY_CREATE, ENTRY_DELETE, ENTRY_MODIFY), emptySet()); (some implied static imports there) Yeah, a new set creation method would be helpful for the heterogeneous enum type case - maybe something like one of the following: // use type to locate the right nested enum set - identity comparison on the Class works because of the // nature of enums Set aggregate(EnumSet one, EnumSet two); Set aggregate(EnumSet one, EnumSet two, EnumSet three); // ..how many sets before it becomes slower than HashSet? maybe zero. :-) // Surely doing a simple linear if/else scan of one to perhaps five arguments will be faster than building a // whole hashset? One notes that Collections.singletonSet() already accommodates the first case Set set(T one); Set set(T one, T two); Set set(T one, T two, T three); Set set(T one, T two, T three, T four); Set set(T one, T two, T three, T four, T five); Though I guess I'm going off in a different direction now... :-) - DML On 12/04/2008 09:45 AM, Matthias Ernst wrote: > [moved from my duplicate thread] > > When you have good Set creation methods, i.e. EnumSet, then that would > be a good option IMHO. Or nio could offer these if java.util doesn't > get it done. Arrays should go away. > > new HashSet(Arrays.asList(a, b, c)) is however not an option. > > Regarding the generic array problem: if I'm not mistaken, you're safe > with . It is trivially always typesafe and the compiler shouldn't > warn. > > Matthias > > > On Thu, Dec 4, 2008 at 4:23 PM, David M. Lloyd wrote: >> On 12/04/2008 02:45 AM, Matthias Ernst wrote: >>> >>> http://openjdk.java.net/projects/nio/javadoc/java/nio/file/Path.html#register(java.nio.file.WatchService,%20java.nio.file.WatchEvent.Kind[],%20java.nio.file.WatchEvent.Modifier...) >>> >>> Barring any language changes I missed, the example code does not >>> compile. It requires an explicit array creation, not? >>> >>> WatchKey key = dir.register(watcher, new WatchEvent.Kind[] { >>> ENTRY_CREATE, ENTRY_DELETE, ENTRY_MODIFY >>> }); >>> >>> >>> Given that there are no modifiers defined as of today and I would >>> expect them to be empty most of the time (that's why they're called >>> modifiers), wouldn't it be nicer if the two parameters were switched? >> Unfortunately, if you have a varargs method parameter which is of a generic >> type, you'll generally get an annoying compile-time warning stating that >> you're implicitly creating an array of generic type. On the other hand, the >> second parameter actually is an *explicit* generic array creation, so...? >> >> Perhaps it would be better if both of these parameters were Set<> types like >> this: >> >> public abstract WatchKey register(WatchService watcher, >> Set> events, >> Set modifiers) >> throws IOException; >> >> This way, one could take advantage of EnumSet by creating enums to implement >> each interface for a particular provider. E.g. the standard events class >> "StandardWatchEventKind" could become: >> >> /** Typed in an email client, forgive egregious errors */ >> public class StandardWatchEventKind { >> enum PathKind implements WatchEvent.Kind { >> // I have no idea if these are the proper names. Just for >> illustration... >> ENTRY_CREATE("create", Path.class), >> ENTRY_DELETE("delete", Path.class), >> ENTRY_MODIFY("modify", Path.class), >> ; >> private final String name; >> private PathKind(String name) { >> this.name = name; >> } >> >> public String getName() { >> return name; >> } >> >> public Class getType() { >> return Path.class; >> } >> } >> >> enum VoidKind implements WatchEvent.Kind { >> OVERFLOW("overflow"), >> ; >> private final String name; >> private VoidKind(String name) { >> this.name = name; >> } >> >> public String getName() { >> return name; >> } >> >> public Class getType() { >> return Void.class; >> } >> } >> >> // Not strictly necessary but maybe desirable? >> public static PathKind ENTRY_CREATE = PathKind.ENTRY_CREATE; >> ... >> } >> >> Then one could use EnumSets for watch event kind sets that are all of a type >> (which seems like it would be a common situation, no?), and a plain HashSet >> otherwise. >> >> - DML >> From david.lloyd at redhat.com Thu Dec 4 08:30:08 2008 From: david.lloyd at redhat.com (David M. Lloyd) Date: Thu, 04 Dec 2008 10:30:08 -0600 Subject: Erroneous JavaDoc for Path#register In-Reply-To: <493801F7.1000005@redhat.com> References: <22ec15240812032355q3a35aa60re6b5ad5eff2bdeeb@mail.gmail.com> <22ec15240812040745q4d5ff25cje051dd082085dd87@mail.gmail.com> <493801F7.1000005@redhat.com> Message-ID: <49380590.4020204@redhat.com> Actually, I'm wrong, identity comparison does *not* always work on enum types because the JDK might make anonymous subtypes for enum constants that override a method differently. And the sad thing is, I've made the same mistaken assumption several times. Will I ever learn? :-) - DML On 12/04/2008 10:14 AM, David M. Lloyd wrote: > I didn't know about the thing with generic varargs. I've always > just avoided it. > > Yeah, I see what you're saying about set creation. But I think the > common usage would be more like: > > register(myWatcher, EnumSet.of(ENTRY_CREATE, ENTRY_DELETE, > ENTRY_MODIFY), emptySet()); > > (some implied static imports there) > > Yeah, a new set creation method would be helpful for the heterogeneous > enum type case - maybe something like one of the following: > > // use type to locate the right nested enum set - identity comparison > on the Class works because of the > // nature of enums > Set aggregate(EnumSet one, EnumSet Enum> two); > Set aggregate(EnumSet one, EnumSet Enum> two, EnumSet three); > // ..how many sets before it becomes slower than HashSet? maybe > zero. :-) > > // Surely doing a simple linear if/else scan of one to perhaps five > arguments will be faster than building a > // whole hashset? One notes that Collections.singletonSet() already > accommodates the first case > Set set(T one); > Set set(T one, T two); > Set set(T one, T two, T three); > Set set(T one, T two, T three, T four); > Set set(T one, T two, T three, T four, T five); > > Though I guess I'm going off in a different direction now... :-) > > - DML > > On 12/04/2008 09:45 AM, Matthias Ernst wrote: >> [moved from my duplicate thread] >> >> When you have good Set creation methods, i.e. EnumSet, then that would >> be a good option IMHO. Or nio could offer these if java.util doesn't >> get it done. Arrays should go away. >> >> new HashSet(Arrays.asList(a, b, c)) is however not an option. >> >> Regarding the generic array problem: if I'm not mistaken, you're safe >> with . It is trivially always typesafe and the compiler shouldn't >> warn. >> >> Matthias >> >> >> On Thu, Dec 4, 2008 at 4:23 PM, David M. Lloyd >> wrote: >>> On 12/04/2008 02:45 AM, Matthias Ernst wrote: >>>> >>>> http://openjdk.java.net/projects/nio/javadoc/java/nio/file/Path.html#register(java.nio.file.WatchService,%20java.nio.file.WatchEvent.Kind[],%20java.nio.file.WatchEvent.Modifier...) >>>> >>>> >>>> Barring any language changes I missed, the example code does not >>>> compile. It requires an explicit array creation, not? >>>> >>>> WatchKey key = dir.register(watcher, new WatchEvent.Kind[] { >>>> ENTRY_CREATE, ENTRY_DELETE, ENTRY_MODIFY >>>> }); >>>> >>>> >>>> Given that there are no modifiers defined as of today and I would >>>> expect them to be empty most of the time (that's why they're called >>>> modifiers), wouldn't it be nicer if the two parameters were switched? >>> Unfortunately, if you have a varargs method parameter which is of a >>> generic >>> type, you'll generally get an annoying compile-time warning stating that >>> you're implicitly creating an array of generic type. On the other >>> hand, the >>> second parameter actually is an *explicit* generic array creation, >>> so...? >>> >>> Perhaps it would be better if both of these parameters were Set<> >>> types like >>> this: >>> >>> public abstract WatchKey register(WatchService watcher, >>> Set> events, >>> Set modifiers) >>> throws IOException; >>> >>> This way, one could take advantage of EnumSet by creating enums to >>> implement >>> each interface for a particular provider. E.g. the standard events >>> class >>> "StandardWatchEventKind" could become: >>> >>> /** Typed in an email client, forgive egregious errors */ >>> public class StandardWatchEventKind { >>> enum PathKind implements WatchEvent.Kind { >>> // I have no idea if these are the proper names. Just for >>> illustration... >>> ENTRY_CREATE("create", Path.class), >>> ENTRY_DELETE("delete", Path.class), >>> ENTRY_MODIFY("modify", Path.class), >>> ; >>> private final String name; >>> private PathKind(String name) { >>> this.name = name; >>> } >>> >>> public String getName() { >>> return name; >>> } >>> >>> public Class getType() { >>> return Path.class; >>> } >>> } >>> >>> enum VoidKind implements WatchEvent.Kind { >>> OVERFLOW("overflow"), >>> ; >>> private final String name; >>> private VoidKind(String name) { >>> this.name = name; >>> } >>> >>> public String getName() { >>> return name; >>> } >>> >>> public Class getType() { >>> return Void.class; >>> } >>> } >>> >>> // Not strictly necessary but maybe desirable? >>> public static PathKind ENTRY_CREATE = PathKind.ENTRY_CREATE; >>> ... >>> } >>> >>> Then one could use EnumSets for watch event kind sets that are all of >>> a type >>> (which seems like it would be a common situation, no?), and a plain >>> HashSet >>> otherwise. >>> >>> - DML >>> > From Alan.Bateman at Sun.COM Thu Dec 4 08:34:57 2008 From: Alan.Bateman at Sun.COM (Alan Bateman) Date: Thu, 04 Dec 2008 16:34:57 +0000 Subject: Erroneous JavaDoc for Path#register In-Reply-To: <22ec15240812040450n29a75425sdac8db9a3044f84e@mail.gmail.com> References: <22ec15240812032355q3a35aa60re6b5ad5eff2bdeeb@mail.gmail.com> <493798BC.4060301@sun.com> <22ec15240812040450n29a75425sdac8db9a3044f84e@mail.gmail.com> Message-ID: <493806B1.2010603@sun.com> Matthias Ernst wrote: > : > Yeah! work work. Haven't had a lot of time for other engagements lately :-( > Too bad! > : > Aww snap. That is indeed misleading. Especially given that only one of > the overloads is re-specified in Path.java . To be consequent, both > should be present in Path or none. > You are right. Since we need to overload the description in Path then we re-specify both methods (and move the usage example to the other method). I'll do that shortly. Thanks for finding this. -Alan. From Alan.Bateman at Sun.COM Thu Dec 4 08:35:54 2008 From: Alan.Bateman at Sun.COM (Alan Bateman) Date: Thu, 04 Dec 2008 16:35:54 +0000 Subject: Erroneous JavaDoc for Path#register In-Reply-To: <4937F5E4.6050503@redhat.com> References: <22ec15240812040045k4ebfc205k9ddc355bb0d00364@mail.gmail.com> <4937F5E4.6050503@redhat.com> Message-ID: <493806EA.9040200@sun.com> David M. Lloyd wrote: > : > Unfortunately, if you have a varargs method parameter which is of a > generic type, you'll generally get an annoying compile-time warning > stating that you're implicitly creating an array of generic type. On > the other hand, the second parameter actually is an *explicit* generic > array creation, so...? As Matthias said, we are using a wildcard type here so there shouldn't be a problem. > > Perhaps it would be better if both of these parameters were Set<> > types like this: > > public abstract WatchKey register(WatchService watcher, > Set> events, > Set modifiers) > throws IOException; > > This way, one could take advantage of EnumSet by creating enums to > implement each interface for a particular provider. E.g. the standard > events class "StandardWatchEventKind" could become: > The java.nio.file package uses varargs a lot because it works nicely for the many cases where we don't need to specify any options/flags. The createFile/createDirectory/copyTo/moveTo/etc. methods are good examples of that. If we used a Set then we could use an EnumSet but we would need to pass in an empty set when there are no options or overload the method with a form that doesn't have any options. For the register method it comes down to: key = dir.register(watcher, ENTRY_CREATE, ENTRY_DELETE); -vs- key = dir.register(watcher, EnumSet.of(ENTRY_CREATE,ENTRY_DELETE)); Not a lot of difference except that watch events have a type parameter and so to use enum sets requires defining an enum per context type (as you found). This, and because varargs are used extensively in this package, I'm happy with the varargs form of this method. -Alan. From Alan.Bateman at Sun.COM Thu Dec 4 08:53:14 2008 From: Alan.Bateman at Sun.COM (Alan Bateman) Date: Thu, 04 Dec 2008 16:53:14 +0000 Subject: java.nio.channels.MembershipKey API In-Reply-To: <49311E60.1010307@sun.com> References: <48EE62C5.9040204@sun.com> <48FDECF9.8070309@univ-mlv.fr> <48FDF91F.3090502@sun.com> <48FE2E6C.7040208@univ-mlv.fr> <48FF7DF2.2050603@sun.com> <48FF88F0.5080503@redhat.com> <492DE48C.2010704@redhat.com> <492E6332.2030704@sun.com> <492EEA0B.3050600@redhat.com> <492F02FD.5030208@sun.com> <49306DCB.7070801@redhat.com> <49311E60.1010307@sun.com> Message-ID: <49380AFA.1090908@sun.com> Alan Bateman wrote: > I'll think more about it. It may be that the right thing is that the > drop method should not throw IOException. Looking at this further, there isn't any real need for drop to throw a checked exception (same for unblock). We can remove the IOException and make life a bit easier (although I don't expect they will be used frequently). -Alan. From alan.bateman at sun.com Sat Dec 6 07:05:23 2008 From: alan.bateman at sun.com (alan.bateman at sun.com) Date: Sat, 06 Dec 2008 15:05:23 +0000 Subject: hg: nio/nio/jdk: 18 new changesets Message-ID: <20081206150908.E6891D2B1@hg.openjdk.java.net> Changeset: 31cb1c17f524 Author: mullan Date: 2008-11-25 10:17 -0500 URL: http://hg.openjdk.java.net/nio/nio/jdk/rev/31cb1c17f524 6728890: Add SwissSign root certificates to the JDK 6732157: Add VeriSign TSA Root Cert to the JDK 6754779: Add Camerfirma root certificates to the JDK 6768559: Add t-systems root CA certificate (Deutsche Telekom Root CA 2) to the JRE Reviewed-by: vinnie ! test/lib/security/cacerts/VerifyCACerts.java Changeset: b1620482689a Author: sherman Date: 2008-11-25 10:09 -0800 URL: http://hg.openjdk.java.net/nio/nio/jdk/rev/b1620482689a 6774710: spp.sh used by genBasic.sh/genCopyDirectMemory.sh Summary: update the scripts to use java version of spp Reviewed-by: alanb ! test/java/nio/Buffer/genBasic.sh ! test/java/nio/Buffer/genCopyDirectMemory.sh Changeset: b7c47f49a53d Author: alanb Date: 2008-11-25 19:26 +0000 URL: http://hg.openjdk.java.net/nio/nio/jdk/rev/b7c47f49a53d 6593946: (bf) X-Buffer.compact() does not discard mark as specified Summary: InvalidMarkException now correctly thrown. Thanks to keiths at redhat.com for the bug report and initial fix. Reviewed-by: sherman, darcy ! src/share/classes/java/nio/Buffer.java ! src/share/classes/java/nio/ByteBufferAs-X-Buffer.java ! src/share/classes/java/nio/Direct-X-Buffer.java ! src/share/classes/java/nio/Heap-X-Buffer.java ! test/java/nio/Buffer/Basic-X.java ! test/java/nio/Buffer/Basic.java ! test/java/nio/Buffer/BasicByte.java ! test/java/nio/Buffer/BasicChar.java ! test/java/nio/Buffer/BasicDouble.java ! test/java/nio/Buffer/BasicFloat.java ! test/java/nio/Buffer/BasicInt.java ! test/java/nio/Buffer/BasicLong.java ! test/java/nio/Buffer/BasicShort.java ! test/java/nio/Buffer/genBasic.sh Changeset: a0709a172b6d Author: chegar Date: 2008-11-26 15:37 +0000 URL: http://hg.openjdk.java.net/nio/nio/jdk/rev/a0709a172b6d 6720866: Slow performance using HttpURLConnection for upload Reviewed-by: michaelm ! src/share/classes/sun/net/www/http/ChunkedOutputStream.java Changeset: 24a31530683d Author: emcmanus Date: 2008-11-27 15:44 +0100 URL: http://hg.openjdk.java.net/nio/nio/jdk/rev/24a31530683d 6776225: JMX.isNotificationSource wrong when DynamicWrapperMBean + SendNotification injection Reviewed-by: dfuchs, jfdenise ! src/share/classes/com/sun/jmx/mbeanserver/MBeanIntrospector.java ! src/share/classes/javax/management/JMX.java ! src/share/classes/javax/management/StandardEmitterMBean.java ! src/share/classes/javax/management/StandardMBean.java ! test/javax/management/MBeanServer/DynamicWrapperMBeanTest.java Changeset: 3d110bb4dc19 Author: sherman Date: 2008-11-29 20:55 -0800 URL: http://hg.openjdk.java.net/nio/nio/jdk/rev/3d110bb4dc19 6725399: (ch) Channels.newInputStream should check for null Summary: update to check null arg for all Channels methods Reviewed-by: alanb ! src/share/classes/java/nio/channels/Channels.java ! test/java/nio/channels/Channels/Basic.java Changeset: 4e0e690373fc Author: wetmore Date: 2008-12-02 14:53 -0800 URL: http://hg.openjdk.java.net/nio/nio/jdk/rev/4e0e690373fc 6778613: Update javax.crypto.Cipher.getMaxAllowedKeyLength to point to proper Appendix after doc reorg Reviewed-by: mullan ! src/share/classes/javax/crypto/Cipher.java Changeset: 228e54926ab1 Author: alanb Date: 2008-12-03 16:55 +0000 URL: http://hg.openjdk.java.net/nio/nio/jdk/rev/228e54926ab1 Merge ! src/share/classes/java/nio/channels/Channels.java Changeset: edc22afa1fd7 Author: alanb Date: 2008-12-03 18:21 +0000 URL: http://hg.openjdk.java.net/nio/nio/jdk/rev/edc22afa1fd7 Inputs/Outputs update: - write bounds check incorrect - example in javadoc incorrect - improve test coverage ! src/share/classes/java/io/Inputs.java ! src/share/classes/java/io/Outputs.java + test/java/io/Outputs/Basic.java Changeset: 991f0bd1bb68 Author: alanb Date: 2008-12-03 18:57 +0000 URL: http://hg.openjdk.java.net/nio/nio/jdk/rev/991f0bd1bb68 Multicast spec improvements - MulticastChannel#close should make it clear that keys are invalidated - MembershipKey#drop/unblock do not need to throw IOException ! src/share/classes/java/nio/channels/MembershipKey.java ! src/share/classes/java/nio/channels/MulticastChannel.java ! src/share/classes/sun/nio/ch/DatagramChannelImpl.java ! src/share/classes/sun/nio/ch/MembershipKeyImpl.java ! src/share/classes/sun/nio/ch/SimpleAsynchronousDatagramChannelImpl.java Changeset: e213c2231eef Author: alanb Date: 2008-12-04 14:14 +0000 URL: http://hg.openjdk.java.net/nio/nio/jdk/rev/e213c2231eef Misc. small clean-ups and fixes - AbstractPath under-specified - AsynchronousDatagramChannel missing wording to allow several I/O operations to be outstanding - Add AsynchronousChannelGroup.withThreadPool to that other thread pools can be used - Improve polling WatchService implementation used in older kernels - Channels missing a few null checks - Files.walkFileTree ignores max depth - Improve FileTypeDetector permission check - FILES_java.gmk missing a few classes - Improve parsing of OpenOptions on Windows - Filter.accept should not be invoked by newDirectoryStream or iterator methods - Drop ability to build on Solaris 8/9 ! make/java/nio/FILES_java.gmk + src/share/classes/com/sun/nio/file/SensitivityWatchEventModifier.java ! src/share/classes/java/nio/channels/AsynchronousChannelGroup.java ! src/share/classes/java/nio/channels/AsynchronousDatagramChannel.java ! src/share/classes/java/nio/channels/Channels.java ! src/share/classes/java/nio/channels/spi/AsynchronousChannelProvider.java ! src/share/classes/java/nio/file/FileSystems.java ! src/share/classes/java/nio/file/Files.java ! src/share/classes/java/nio/file/Path.java ! src/share/classes/java/nio/file/Paths.java ! src/share/classes/java/nio/file/attribute/PosixFileAttributeView.java ! src/share/classes/java/nio/file/spi/AbstractPath.java ! src/share/classes/java/nio/file/spi/FileTypeDetector.java ! src/share/classes/sun/nio/ch/AsynchronousChannelGroupImpl.java ! src/share/classes/sun/nio/ch/AsynchronousServerSocketChannelImpl.java ! src/share/classes/sun/nio/ch/AsynchronousSocketChannelImpl.java ! src/share/classes/sun/nio/ch/Invoker.java ! src/share/classes/sun/nio/ch/ServerSocketChannelImpl.java ! src/share/classes/sun/nio/ch/SimpleAsynchronousDatagramChannelImpl.java ! src/share/classes/sun/nio/ch/SimpleAsynchronousFileChannelImpl.java ! src/share/classes/sun/nio/ch/SocketChannelImpl.java ! src/share/classes/sun/nio/ch/ThreadPool.java ! src/share/classes/sun/nio/fs/PollingWatchService.java ! src/solaris/classes/sun/nio/ch/LinuxAsynchronousChannelProvider.java ! src/solaris/classes/sun/nio/ch/SolarisAsynchronousChannelProvider.java ! src/solaris/classes/sun/nio/ch/UnixAsynchronousServerSocketChannelImpl.java ! src/solaris/classes/sun/nio/ch/UnixAsynchronousSocketChannelImpl.java ! src/solaris/classes/sun/nio/fs/LinuxDosFileAttributeView.java ! src/solaris/classes/sun/nio/fs/LinuxFileSystem.java ! src/solaris/classes/sun/nio/fs/LinuxWatchService.java ! src/solaris/classes/sun/nio/fs/SolarisFileStore.java ! src/solaris/classes/sun/nio/fs/SolarisFileSystem.java ! src/solaris/classes/sun/nio/fs/SolarisWatchService.java ! src/solaris/classes/sun/nio/fs/UnixChannelFactory.java ! src/solaris/classes/sun/nio/fs/UnixFileSystem.java ! src/solaris/classes/sun/nio/fs/UnixFileSystemProvider.java ! src/solaris/native/sun/nio/ch/SolarisEventPort.c ! src/solaris/native/sun/nio/fs/SolarisWatchService.c ! src/windows/classes/sun/nio/ch/WindowsAsynchronousChannelProvider.java ! src/windows/classes/sun/nio/ch/WindowsAsynchronousFileChannelImpl.java ! src/windows/classes/sun/nio/fs/WindowsChannelFactory.java ! src/windows/classes/sun/nio/fs/WindowsConstants.java ! src/windows/classes/sun/nio/fs/WindowsDirectoryStream.java ! src/windows/classes/sun/nio/fs/WindowsFileAttributeViews.java ! src/windows/classes/sun/nio/fs/WindowsFileSystemProvider.java ! src/windows/classes/sun/nio/fs/WindowsWatchService.java ! test/java/nio/channels/AsynchronousChannelGroup/AsExecutor.java + test/java/nio/channels/AsynchronousChannelGroup/BadProperties.java ! test/java/nio/channels/AsynchronousChannelGroup/Basic.java ! test/java/nio/channels/AsynchronousChannelGroup/GroupOfOne.java ! test/java/nio/channels/AsynchronousChannelGroup/Identity.java ! test/java/nio/channels/AsynchronousChannelGroup/Restart.java ! test/java/nio/channels/spi/AsynchronousChannelProvider/Provider1.java ! test/java/nio/channels/spi/AsynchronousChannelProvider/Provider2.java + test/java/nio/file/WatchService/SensitivityModifier.java Changeset: d659b857c41a Author: alanb Date: 2008-12-04 20:21 +0000 URL: http://hg.openjdk.java.net/nio/nio/jdk/rev/d659b857c41a Improvements to path matching - Extend to full path matching - Rename getNameMatcher to getPathMatcher (one argument for now; will re-visit in future) - Add support for ** token to cross directory boundaries ! src/share/classes/java/nio/file/FileSystem.java ! src/share/classes/java/nio/file/Files.java ! src/share/classes/java/nio/file/Path.java ! src/share/classes/java/nio/file/PathMatcher.java ! src/share/classes/java/nio/file/spi/AbstractPath.java ! src/share/classes/sun/nio/fs/Globs.java ! src/share/demo/nio/ZipFileSystem/com/sun/nio/zipfs/ZipFileSystem.java ! src/solaris/classes/sun/nio/fs/UnixFileSystem.java ! src/windows/classes/sun/nio/fs/WindowsFileSystem.java ! test/java/nio/file/DirectoryStream/Basic.java ! test/java/nio/file/DirectoryStream/Filters.java ! test/java/nio/file/PathMatcher/Basic.java ! test/java/nio/file/spi/TestProvider.java Changeset: d72631c01607 Author: alanb Date: 2008-12-06 09:56 +0000 URL: http://hg.openjdk.java.net/nio/nio/jdk/rev/d72631c01607 Example usage in Path#register confusing (thanks to Matthias Ernst for finding this) ! src/share/classes/java/nio/file/Path.java Changeset: c7991d8c2b7e Author: alanb Date: 2008-12-06 10:01 +0000 URL: http://hg.openjdk.java.net/nio/nio/jdk/rev/c7991d8c2b7e Typos/re-phrase statements (Thanks to Sherman for finding these) ! src/share/classes/java/nio/channels/AsynchronousByteChannel.java ! src/share/classes/java/nio/channels/AsynchronousChannelGroup.java ! src/share/classes/java/nio/channels/AsynchronousDatagramChannel.java ! src/share/classes/java/nio/channels/CompletionHandler.java ! src/share/classes/java/nio/file/WatchKey.java ! src/share/classes/java/nio/file/WatchService.java Changeset: a99a2d2f3249 Author: dfuchs Date: 2008-12-04 17:58 +0100 URL: http://hg.openjdk.java.net/nio/nio/jdk/rev/a99a2d2f3249 6319823: new mbean register/unregister notification for groups of mbeans 6779698: Merge error caused duplicate example code in MBeanServerNotification Reviewed-by: emcmanus ! src/share/classes/javax/management/MBeanServerNotification.java Changeset: 87170fc5a587 Author: mchung Date: 2008-12-05 10:28 -0800 URL: http://hg.openjdk.java.net/nio/nio/jdk/rev/87170fc5a587 6764062: Revise usage of java.io.*.close Summary: Handle closing multiple open I/O streams in case close() throws IOException Reviewed-by: ksrini ! src/share/classes/com/sun/servicetag/Installer.java ! src/share/classes/com/sun/servicetag/SunConnection.java ! src/share/classes/com/sun/servicetag/Util.java ! src/share/classes/com/sun/servicetag/WindowsSystemEnvironment.java Changeset: baa10242c544 Author: mchung Date: 2008-12-05 10:30 -0800 URL: http://hg.openjdk.java.net/nio/nio/jdk/rev/baa10242c544 6750389: The cpuManufactorer does not correctly recognized for Solaris 10 Summary: Fix the correct SMBIOS type (4) to obtain CPU manufacturer Reviewed-by: ksrini ! src/share/classes/com/sun/servicetag/SolarisSystemEnvironment.java Changeset: 11abb109aca2 Author: alanb Date: 2008-12-06 10:03 +0000 URL: http://hg.openjdk.java.net/nio/nio/jdk/rev/11abb109aca2 Merge From alan.bateman at sun.com Sat Dec 6 07:10:51 2008 From: alan.bateman at sun.com (alan.bateman at sun.com) Date: Sat, 06 Dec 2008 15:10:51 +0000 Subject: hg: nio/nio/langtools: 3 new changesets Message-ID: <20081206151058.F020FD2B6@hg.openjdk.java.net> Changeset: 1d1f34b36535 Author: mcimadamore Date: 2008-11-26 11:07 +0000 URL: http://hg.openjdk.java.net/nio/nio/langtools/rev/1d1f34b36535 6776289: Regression: javac7 doesnt resolve method calls properly Summary: Superclass' private methods shouldn't be considered during method resolution Reviewed-by: jjg ! src/share/classes/com/sun/tools/javac/comp/Resolve.java ! test/tools/javac/generics/6711619/T6711619a.out + test/tools/javac/overload/T6776289.java Changeset: 6210fb7e7544 Author: jjg Date: 2008-12-01 12:15 -0800 URL: http://hg.openjdk.java.net/nio/nio/langtools/rev/6210fb7e7544 6778493: Fix (langtools) ant build to honor fcs MILESTONE setting Reviewed-by: ohair Contributed-by: mjw at redhat.com ! make/Makefile Changeset: 8db0c5fd6e99 Author: jjg Date: 2008-12-02 14:35 -0800 URL: http://hg.openjdk.java.net/nio/nio/langtools/rev/8db0c5fd6e99 6778638: javadoc regression tests require tabs Reviewed-by: darcy ! test/com/sun/javadoc/testSourceTab/DoubleTab/C.java ! test/com/sun/javadoc/testSourceTab/SingleTab/C.java ! test/com/sun/javadoc/testSourceTab/TestSourceTab.java From Alan.Bateman at Sun.COM Thu Dec 18 06:23:37 2008 From: Alan.Bateman at Sun.COM (Alan Bateman) Date: Thu, 18 Dec 2008 14:23:37 +0000 Subject: Browsable source repo? In-Reply-To: References: Message-ID: <494A5CE9.4040003@sun.com> (moving to nio-dev) Nord, James wrote: > Hi all, > > Is there a browsable source repo that give me a view of the "trunk". > Similar to viewVC or ViewSVN etc... > > Or is there something I can do on > http://hg.openjdk.java.net/nio/nio to give me a browsable directory > structure and downloadable source files? I don't think there is but the raw files can be accessed. Assuming you want to browse the tip of the jdk repository then this is the top-most directory: http://hg.openjdk.java.net/nio/nio/jdk/raw-file/tip It may be easier to just "hg clone" this repository and examine it offline. -Alan. From Yuri.Gaevsky at Sun.COM Thu Dec 18 06:33:17 2008 From: Yuri.Gaevsky at Sun.COM (Yuri Gaevsky) Date: Thu, 18 Dec 2008 17:33:17 +0300 Subject: Browsable source repo? In-Reply-To: <494A5CE9.4040003@sun.com> References: <494A5CE9.4040003@sun.com> Message-ID: <494A5F2D.8050302@Sun.com> This may be helpful: http://hg.openjdk.java.net/nio/nio/jdk/file/ -Yuri Alan Bateman wrote: > (moving to nio-dev) > > Nord, James wrote: >> Hi all, >> >> Is there a browsable source repo that give me a view of the "trunk". >> Similar to viewVC or ViewSVN etc... >> >> Or is there something I can do on http://hg.openjdk.java.net/nio/nio >> to give me a browsable directory structure and downloadable source files? > I don't think there is but the raw files can be accessed. Assuming you > want to browse the tip of the jdk repository then this is the top-most > directory: > http://hg.openjdk.java.net/nio/nio/jdk/raw-file/tip > It may be easier to just "hg clone" this repository and examine it offline. > > -Alan. > From Alan.Bateman at Sun.COM Thu Dec 18 06:35:26 2008 From: Alan.Bateman at Sun.COM (Alan Bateman) Date: Thu, 18 Dec 2008 14:35:26 +0000 Subject: Browsable source repo? In-Reply-To: <494A5F2D.8050302@Sun.com> References: <494A5CE9.4040003@sun.com> <494A5F2D.8050302@Sun.com> Message-ID: <494A5FAE.3020700@sun.com> Yuri Gaevsky wrote: > This may be helpful: > http://hg.openjdk.java.net/nio/nio/jdk/file/ > > -Yuri Thanks Yuri - very useful! From JNord at nds.com Thu Dec 18 06:37:02 2008 From: JNord at nds.com (Nord, James) Date: Thu, 18 Dec 2008 14:37:02 -0000 Subject: Browsable source repo? In-Reply-To: <494A5F2D.8050302@Sun.com> References: <494A5CE9.4040003@sun.com> <494A5F2D.8050302@Sun.com> Message-ID: That's just the ticket. Thanks! /James > -----Original Message----- > From: Yuri.Gaevsky at Sun.COM [mailto:Yuri.Gaevsky at Sun.COM] > Sent: 18 December 2008 14:33 > To: Alan Bateman; Nord, James > Cc: nio-dev > Subject: Re: Browsable source repo? > > This may be helpful: > http://hg.openjdk.java.net/nio/nio/jdk/file/ > > -Yuri > > Alan Bateman wrote: > > (moving to nio-dev) > > > > Nord, James wrote: > >> Hi all, > >> > >> Is there a browsable source repo that give me a view of > the "trunk". > >> Similar to viewVC or ViewSVN etc... > >> > >> Or is there something I can do on > http://hg.openjdk.java.net/nio/nio > >> to give me a browsable directory structure and > downloadable source files? > > I don't think there is but the raw files can be accessed. > Assuming you > > want to browse the tip of the jdk repository then this is > the top-most > > directory: > > http://hg.openjdk.java.net/nio/nio/jdk/raw-file/tip > > It may be easier to just "hg clone" this repository and > examine it offline. > > > > -Alan. > > > ********************************************************************************************************* This e-mail is confidential, the property of NDS Ltd and intended for the addressee only. Any dissemination, copying or distribution of this message or any attachments by anyone other than the intended recipient is strictly prohibited. If you have received this message in error, please immediately notify the postmaster at nds.com and destroy the original message. Messages sent to and from NDS may be monitored. NDS cannot guarantee any message delivery method is secure or error-free. Information could be intercepted, corrupted, lost, destroyed, arrive late or incomplete, or contain viruses. We do not accept responsibility for any errors or omissions in this message and/or attachment that arise as a result of transmission. You should carry out your own virus checks before opening any attachment. Any views or opinions presented are solely those of the author and do not necessarily represent those of NDS. To protect the environment please do not print this e-mail unless necessary. NDS Limited Registered office: One Heathrow Boulevard, 286 Bath Road, West Drayton, Middlesex, UB7 0DQ, United Kingdom. A company registered in England and Wales Registered no. 3080780 VAT no. GB 603 8808 40-00 ********************************************************************************************************** From dmitriev at google.com Fri Dec 19 16:19:22 2008 From: dmitriev at google.com (=?KOI8-R?B?TWlzaGEgRG1pdHJpZXYgKO3J28Ep?=) Date: Fri, 19 Dec 2008 16:19:22 -0800 Subject: Any reason why select() uses only level-triggered notification mode? Message-ID: <7f4b90700812191619l178c7158w1f2aa79ca6fbec7d@mail.gmail.com> Hi nio-dev, I've just recently started to work with NIO, and soon discovered that Selector.select(), when it uses Unix epoll() call, is hardcoded to use it in level-triggered mode only. This creates a difficulty if for better parallelization I want to call select() in one thread, but handle the received event in other thread, while the first thread calls select() again. In that case, if additional measures aren't taken, select() will keep returning the same event for the same channel until it's actually processed. If select() called epoll in edge-triggered mode, that won't happen. I wonder if there are any fundamental reasons for not giving an option to use edge-triggered mode in Selector.select(). Or, if there are no such reasons, if there is any chance that this will be implemented in some future JDK version. Please reply directly to me, as I am not yet subscribed to this list. Regards, Misha From Alan.Bateman at Sun.COM Mon Dec 22 05:31:22 2008 From: Alan.Bateman at Sun.COM (Alan Bateman) Date: Mon, 22 Dec 2008 13:31:22 +0000 Subject: Any reason why select() uses only level-triggered notification mode? In-Reply-To: <7f4b90700812191619l178c7158w1f2aa79ca6fbec7d@mail.gmail.com> References: <7f4b90700812191619l178c7158w1f2aa79ca6fbec7d@mail.gmail.com> Message-ID: <494F96AA.8050506@sun.com> Misha Dmitriev (????) wrote: > Hi nio-dev, > > I've just recently started to work with NIO, and soon discovered that > Selector.select(), when it uses Unix epoll() call, is hardcoded to use > it in level-triggered mode only. This creates a difficulty if for > better parallelization I want to call select() in one thread, but > handle the received event in other thread, while the first thread > calls select() again. In that case, if additional measures aren't > taken, select() will keep returning the same event for the same > channel until it's actually processed. If select() called epoll in > edge-triggered mode, that won't happen. > > I wonder if there are any fundamental reasons for not giving an option > to use edge-triggered mode in Selector.select(). Or, if there are no > such reasons, if there is any chance that this will be implemented in > some future JDK version. > > > Hey Misha, I still have some questions about hotswap for you :-) The Selector API requires a level-triggered polling mechanism. Edge-triggered interfaces require a much tighter coupling with the I/O methods. A paper from a group in University of Waterloo [1] touched on this topic and may be useful. I'm curious to know if you have tried different strategies for hand-off? For example, using interestOps to set the interest set to 0 while you process the events in the other thread for example. -Alan. [1] http://www.cs.uwaterloo.ca/~brecht/papers/getpaper.php?file=ols-2004.pdf From alan.bateman at sun.com Tue Dec 23 09:43:27 2008 From: alan.bateman at sun.com (alan.bateman at sun.com) Date: Tue, 23 Dec 2008 17:43:27 +0000 Subject: hg: nio/nio: 5 new changesets Message-ID: <20081223174327.300E8DDFA@hg.openjdk.java.net> Changeset: 541bdc5ad32f Author: ohair Date: 2008-12-01 15:28 -0800 URL: http://hg.openjdk.java.net/nio/nio/rev/541bdc5ad32f 6750229: Upgrade Recommended Linux and Windows Build OS Reviewed-by: xdono ! README-builds.html Changeset: a20db75d7f33 Author: xdono Date: 2008-12-04 11:10 -0800 URL: http://hg.openjdk.java.net/nio/nio/rev/a20db75d7f33 Added tag jdk7-b41 for changeset 541bdc5ad32f ! .hgtags Changeset: 60aab86966e9 Author: ohair Date: 2008-12-05 17:18 -0800 URL: http://hg.openjdk.java.net/nio/nio/rev/60aab86966e9 6781784: Fix ant link in build readme Reviewed-by: michaelm ! README-builds.html Changeset: 94052b872873 Author: xdono Date: 2008-12-15 10:24 -0800 URL: http://hg.openjdk.java.net/nio/nio/rev/94052b872873 Merge Changeset: 848e684279d2 Author: xdono Date: 2008-12-18 21:33 -0800 URL: http://hg.openjdk.java.net/nio/nio/rev/848e684279d2 Added tag jdk7-b42 for changeset 94052b872873 ! .hgtags From alan.bateman at sun.com Tue Dec 23 09:44:30 2008 From: alan.bateman at sun.com (alan.bateman at sun.com) Date: Tue, 23 Dec 2008 17:44:30 +0000 Subject: hg: nio/nio/corba: 3 new changesets Message-ID: <20081223174433.F071FDE01@hg.openjdk.java.net> Changeset: d9a0ca94dcf8 Author: xdono Date: 2008-12-04 11:10 -0800 URL: http://hg.openjdk.java.net/nio/nio/corba/rev/d9a0ca94dcf8 Added tag jdk7-b41 for changeset c90eeda9594e ! .hgtags Changeset: ccd6a16502e0 Author: xdono Date: 2008-12-15 16:55 -0800 URL: http://hg.openjdk.java.net/nio/nio/corba/rev/ccd6a16502e0 6785258: Update copyright year Summary: Update copyright for files that have been modified starting July 2008 to Dec 2008 Reviewed-by: katleman, ohair, tbell ! make/common/Defs-windows.gmk ! make/common/shared/Compiler-msvc.gmk Changeset: 9cd740d48a48 Author: xdono Date: 2008-12-18 21:34 -0800 URL: http://hg.openjdk.java.net/nio/nio/corba/rev/9cd740d48a48 Added tag jdk7-b42 for changeset ccd6a16502e0 ! .hgtags From alan.bateman at sun.com Tue Dec 23 09:45:46 2008 From: alan.bateman at sun.com (alan.bateman at sun.com) Date: Tue, 23 Dec 2008 17:45:46 +0000 Subject: hg: nio/nio/hotspot: 45 new changesets Message-ID: <20081223174714.60A62DE06@hg.openjdk.java.net> Changeset: 3c07cda72b7d Author: tbell Date: 2008-11-11 22:01 -0800 URL: http://hg.openjdk.java.net/nio/nio/hotspot/rev/3c07cda72b7d 6764892: VS2008 changes required to compile hotspot sources Summary: Minor changes required to build using the Visual Studio 2008 compiler Reviewed-by: kvn, ohair ! 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/product.make ! make/windows/makefiles/sa.make ! src/cpu/x86/vm/register_definitions_x86.cpp Changeset: 334969144810 Author: never Date: 2008-11-11 23:03 -0800 URL: http://hg.openjdk.java.net/nio/nio/hotspot/rev/334969144810 6758445: loop heads that are exception entry points can crash during count_edges/mark_loops Reviewed-by: kvn, jrose ! src/share/vm/c1/c1_IR.cpp Changeset: 364141474b40 Author: never Date: 2008-11-12 05:42 -0800 URL: http://hg.openjdk.java.net/nio/nio/hotspot/rev/364141474b40 Merge Changeset: 4d20a3aaf1ab Author: kvn Date: 2008-11-12 11:01 -0800 URL: http://hg.openjdk.java.net/nio/nio/hotspot/rev/4d20a3aaf1ab 6769748: Fix solaris makefiles for the case when "CC -V" produces several lines Summary: Fix solaris makefiles for 5.10 compilers Reviewed-by: jcoomes ! make/solaris/makefiles/debug.make ! make/solaris/makefiles/fastdebug.make ! make/solaris/makefiles/i486.make ! make/solaris/makefiles/jvmg.make ! make/solaris/makefiles/optimized.make ! make/solaris/makefiles/product.make ! make/solaris/makefiles/sparc.make ! make/solaris/makefiles/sparcWorks.make ! make/solaris/makefiles/sparcv9.make ! make/solaris/makefiles/vm.make Changeset: a45484ea312d Author: jrose Date: 2008-11-12 22:33 -0800 URL: http://hg.openjdk.java.net/nio/nio/hotspot/rev/a45484ea312d 6653858: dynamic languages need to be able to load anonymous classes Summary: low-level privileged sun.misc.Unsafe.defineAnonymousClass Reviewed-by: kvn ! src/share/vm/ci/ciEnv.cpp ! src/share/vm/classfile/classFileParser.cpp ! src/share/vm/classfile/classFileParser.hpp ! src/share/vm/classfile/systemDictionary.cpp ! src/share/vm/classfile/systemDictionary.hpp ! src/share/vm/classfile/verifier.cpp ! src/share/vm/includeDB_gc_parallel ! src/share/vm/oops/constantPoolKlass.cpp ! src/share/vm/oops/constantPoolOop.cpp ! src/share/vm/oops/constantPoolOop.hpp ! src/share/vm/oops/instanceKlass.hpp ! src/share/vm/oops/instanceKlassKlass.cpp ! src/share/vm/oops/klass.cpp ! src/share/vm/prims/jvm.cpp ! src/share/vm/prims/jvm.h ! src/share/vm/prims/unsafe.cpp ! src/share/vm/runtime/globals.hpp ! src/share/vm/runtime/reflection.cpp ! src/share/vm/utilities/constantTag.hpp Changeset: 275a3b7ff0d6 Author: jrose Date: 2008-11-12 23:26 -0800 URL: http://hg.openjdk.java.net/nio/nio/hotspot/rev/275a3b7ff0d6 6770949: minor tweaks before 6655638 Summary: minor cleanups & tuning of array.hpp, debug.cpp, growableArray.hpp, hashtable.cpp Reviewed-by: kvn ! src/share/vm/utilities/array.hpp ! src/share/vm/utilities/debug.cpp ! src/share/vm/utilities/growableArray.hpp ! src/share/vm/utilities/hashtable.cpp Changeset: c1345e85f901 Author: kvn Date: 2008-11-13 14:50 -0800 URL: http://hg.openjdk.java.net/nio/nio/hotspot/rev/c1345e85f901 6767659: Conversion from i486 to x86 missed some entries in makefiles Summary: Fixed missed entries. Reviewed-by: never ! make/linux/makefiles/top.make ! make/solaris/makefiles/amd64.make ! make/solaris/makefiles/dtrace.make ! make/solaris/makefiles/fastdebug.make ! make/solaris/makefiles/i486.make ! make/solaris/makefiles/sparc.make ! make/solaris/makefiles/top.make ! src/share/vm/adlc/archDesc.cpp Changeset: de78b80cedec Author: kvn Date: 2008-11-18 12:31 -0800 URL: http://hg.openjdk.java.net/nio/nio/hotspot/rev/de78b80cedec 6772413: code cleanup Summary: Removed lines in adm64.make with interpret.o and moved few constant strings from header files. Reviewed-by: never ! make/solaris/makefiles/amd64.make ! src/share/vm/opto/c2_globals.hpp ! src/share/vm/runtime/globals.hpp ! src/share/vm/runtime/perfMemory.cpp ! src/share/vm/runtime/perfMemory.hpp Changeset: b1d6a3e95810 Author: kvn Date: 2008-11-18 12:40 -0800 URL: http://hg.openjdk.java.net/nio/nio/hotspot/rev/b1d6a3e95810 6766316: assert(!nocreate,"Cannot build a phi for a block already parsed.") Summary: Don't use the invariant local information if there are irreducible loops. Reviewed-by: never ! src/share/vm/opto/parse.hpp Changeset: 87559db65269 Author: kvn Date: 2008-11-18 14:47 -0800 URL: http://hg.openjdk.java.net/nio/nio/hotspot/rev/87559db65269 6773078: UseCompressedOops: assert(kid == 0L || s->_leaf->in(0) == 0L,"internal operands have no control") Summary: Don't set the control edge of a klass load node. Reviewed-by: never ! src/share/vm/opto/macro.cpp Changeset: 491a904952f2 Author: kvn Date: 2008-11-19 09:09 -0800 URL: http://hg.openjdk.java.net/nio/nio/hotspot/rev/491a904952f2 Merge Changeset: 122d10c82f3f Author: jcoomes Date: 2008-10-29 06:30 -0700 URL: http://hg.openjdk.java.net/nio/nio/hotspot/rev/122d10c82f3f 6765804: GC "dead ratios" should be unsigned Reviewed-by: ysr, tonyp ! src/share/vm/gc_implementation/parallelScavenge/psMarkSweepDecorator.cpp ! src/share/vm/gc_implementation/parallelScavenge/psMarkSweepDecorator.hpp ! src/share/vm/memory/space.cpp ! src/share/vm/memory/space.hpp ! src/share/vm/memory/tenuredGeneration.hpp ! src/share/vm/runtime/globals.hpp Changeset: 03f4fdd1b6af Author: jcoomes Date: 2008-11-11 22:21 -0800 URL: http://hg.openjdk.java.net/nio/nio/hotspot/rev/03f4fdd1b6af 6718879: cannot build on solaris nevada Reviewed-by: xlu ! src/os/solaris/vm/os_solaris.cpp Changeset: 96c6da8f095c Author: jcoomes Date: 2008-11-07 12:52 -0800 URL: http://hg.openjdk.java.net/nio/nio/hotspot/rev/96c6da8f095c 6769128: failure to run generateJvmOffsets is ignored Reviewed-by: xlu ! make/solaris/makefiles/dtrace.make Changeset: da9cb4e97a5f Author: iveresov Date: 2008-11-14 14:23 -0800 URL: http://hg.openjdk.java.net/nio/nio/hotspot/rev/da9cb4e97a5f 6770608: G1: Mutator thread can flush barrier and satb queues during safepoint 6660573: G1: BigApps Failure : guarantee(satb_mq_set.completed_buffers_num() == 0,"invariant") Summary: When exiting a mutator thread is removed from the thread list before it has a chance to flush its SATB and barrier queues. If GC happens at this moment the objects that are refererred from these queues can be moved, which will case a crash. The fix is simply to flush the buffers before removing a thread from the list. Reviewed-by: jcoomes, tonyp ! src/share/vm/gc_implementation/g1/ptrQueue.cpp ! src/share/vm/gc_implementation/g1/ptrQueue.hpp ! src/share/vm/runtime/thread.cpp ! src/share/vm/runtime/thread.hpp Changeset: 8fa025608ec6 Author: jmasa Date: 2008-11-18 14:52 -0800 URL: http://hg.openjdk.java.net/nio/nio/hotspot/rev/8fa025608ec6 6771742: Remove duplicate files from G1 merge Summary: Remove duplicate files and add includeDB_gc_g1 file in windows Makefile Reviewed-by: jcoomes, ysr ! make/windows/projectfiles/common/Makefile - src/share/vm/gc_implementation/concurrentMarkSweep/concurrentGCThread.cpp - src/share/vm/gc_implementation/concurrentMarkSweep/concurrentGCThread.hpp Changeset: b5e603f2e024 Author: iveresov Date: 2008-11-19 14:20 -0800 URL: http://hg.openjdk.java.net/nio/nio/hotspot/rev/b5e603f2e024 Merge ! make/solaris/makefiles/dtrace.make - src/share/vm/gc_implementation/concurrentMarkSweep/concurrentGCThread.cpp - src/share/vm/gc_implementation/concurrentMarkSweep/concurrentGCThread.hpp ! src/share/vm/runtime/globals.hpp Changeset: ab42bab113e0 Author: trims Date: 2008-11-21 16:11 -0800 URL: http://hg.openjdk.java.net/nio/nio/hotspot/rev/ab42bab113e0 Merge - src/share/vm/gc_implementation/concurrentMarkSweep/concurrentGCThread.cpp - src/share/vm/gc_implementation/concurrentMarkSweep/concurrentGCThread.hpp Changeset: f9d938ede196 Author: trims Date: 2008-11-21 16:11 -0800 URL: http://hg.openjdk.java.net/nio/nio/hotspot/rev/f9d938ede196 6775176: Bump HS14 build number to 08 Summary: Update the Hotspot build number to 08 Reviewed-by: jcoomes ! make/hotspot_version Changeset: 2e4f74ff86a1 Author: xdono Date: 2008-12-04 11:10 -0800 URL: http://hg.openjdk.java.net/nio/nio/hotspot/rev/2e4f74ff86a1 Added tag jdk7-b41 for changeset f9d938ede196 ! .hgtags Changeset: 2b42b31e7928 Author: coleenp Date: 2008-11-21 08:09 -0800 URL: http://hg.openjdk.java.net/nio/nio/hotspot/rev/2b42b31e7928 6676175: BigApps crash JVM Client VM (build 10.0-b22, mixed mode, sharing) with SIGSEGV (0xb) Summary: Add test for biased locking epoch before walking own thread stack in case of rare race Reviewed-by: phh, never ! src/share/vm/runtime/biasedLocking.cpp Changeset: ba7f9d894282 Author: kamg Date: 2008-11-21 15:10 -0500 URL: http://hg.openjdk.java.net/nio/nio/hotspot/rev/ba7f9d894282 Merge - src/share/vm/gc_implementation/concurrentMarkSweep/concurrentGCThread.cpp - src/share/vm/gc_implementation/concurrentMarkSweep/concurrentGCThread.hpp Changeset: 171e581e8161 Author: xlu Date: 2008-11-22 00:16 -0800 URL: http://hg.openjdk.java.net/nio/nio/hotspot/rev/171e581e8161 6554406: Change switch UseVMInterruptibleIO default to false (sol) Summary: The default value of UseVMInterruptibleIO is changed to false for JDK 7, but the default isn't changed for JDK 6 and earlier. Reviewed-by: never, acorn, dholmes, kamg, alanb ! src/share/vm/runtime/arguments.cpp ! src/share/vm/runtime/globals.hpp Changeset: b22701a8b88f Author: coleenp Date: 2008-11-24 14:45 -0500 URL: http://hg.openjdk.java.net/nio/nio/hotspot/rev/b22701a8b88f 6474243: suspicious jvmti code that uses oop unsafely across GC point Summary: oop stored in unsafely in Lscratch noticed by visual inspection will not be updated by GC. Reviewed-by: kamg, never, kvn ! src/cpu/sparc/vm/templateTable_sparc.cpp Changeset: a60eabc24e2c Author: kamg Date: 2008-11-25 15:59 -0500 URL: http://hg.openjdk.java.net/nio/nio/hotspot/rev/a60eabc24e2c Merge Changeset: 00b023ae2d78 Author: ysr Date: 2008-11-20 12:27 -0800 URL: http://hg.openjdk.java.net/nio/nio/hotspot/rev/00b023ae2d78 6722113: CMS: Incorrect overflow handling during precleaning of Reference lists Summary: When we encounter marking stack overflow during precleaning of Reference lists, we were using the overflow list mechanism, which can cause problems on account of mutating the mark word of the header because of conflicts with mutator accesses and updates of that field. Instead we should use the usual mechanism for overflow handling in concurrent phases, namely dirtying of the card on which the overflowed object lies. Since precleaning effectively does a form of discovered list processing, albeit with discovery enabled, we needed to adjust some code to be correct in the face of interleaved processing and discovery. Reviewed-by: apetrusenko, 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 ! src/share/vm/memory/referenceProcessor.cpp ! src/share/vm/runtime/globals.hpp Changeset: c96030fff130 Author: ysr Date: 2008-11-20 16:56 -0800 URL: http://hg.openjdk.java.net/nio/nio/hotspot/rev/c96030fff130 6684579: SoftReference processing can be made more efficient Summary: For current soft-ref clearing policies, we can decide at marking time if a soft-reference will definitely not be cleared, postponing the decision of whether it will definitely be cleared to the final reference processing phase. This can be especially beneficial in the case of concurrent collectors where the marking is usually concurrent but reference processing is usually not. Reviewed-by: jmasa ! src/share/vm/gc_implementation/concurrentMarkSweep/concurrentMarkSweepGeneration.cpp ! src/share/vm/gc_implementation/g1/concurrentMark.cpp ! src/share/vm/gc_implementation/g1/g1CollectedHeap.cpp ! src/share/vm/gc_implementation/g1/g1MarkSweep.cpp ! src/share/vm/gc_implementation/parNew/parNewGeneration.cpp ! src/share/vm/gc_implementation/parallelScavenge/psMarkSweep.cpp ! src/share/vm/gc_implementation/parallelScavenge/psParallelCompact.cpp ! src/share/vm/gc_implementation/parallelScavenge/psScavenge.cpp ! src/share/vm/includeDB_core ! src/share/vm/memory/defNewGeneration.cpp ! src/share/vm/memory/genCollectedHeap.cpp ! src/share/vm/memory/genMarkSweep.cpp ! src/share/vm/memory/referencePolicy.cpp ! src/share/vm/memory/referencePolicy.hpp ! src/share/vm/memory/referenceProcessor.cpp ! src/share/vm/memory/referenceProcessor.hpp ! src/share/vm/memory/universe.cpp ! src/share/vm/utilities/macros.hpp Changeset: df4305d4c1a1 Author: ysr Date: 2008-11-24 09:53 -0800 URL: http://hg.openjdk.java.net/nio/nio/hotspot/rev/df4305d4c1a1 6774607: SIGSEGV or (!is_null(v),"oop value can never be zero") assertion when running with CMS and COOPs Summary: Use the more permissive set_klass_or_null() and klass_or_null() interfaces in ParNew's workqueue overflow code that manipulates the klass-word. Reviewed-by: coleenp ! src/share/vm/gc_implementation/parNew/parNewGeneration.cpp ! src/share/vm/oops/oop.inline.hpp Changeset: 434912c745cf Author: iveresov Date: 2008-11-26 09:24 -0800 URL: http://hg.openjdk.java.net/nio/nio/hotspot/rev/434912c745cf Merge ! src/share/vm/runtime/globals.hpp Changeset: b6272ef4a18f Author: poonam Date: 2008-11-27 18:19 -0800 URL: http://hg.openjdk.java.net/nio/nio/hotspot/rev/b6272ef4a18f 6743339: Enable building sa-jdi.jar and sawindbg.dll on Windows with hotspot build Summary: These changes enable the SA binaries build with hotspot build on Windows Reviewed-by: swamyv ! make/windows/build.make ! make/windows/makefiles/defs.make ! make/windows/makefiles/sa.make Changeset: 27a80744a83b Author: ysr Date: 2008-12-01 23:25 -0800 URL: http://hg.openjdk.java.net/nio/nio/hotspot/rev/27a80744a83b 6778647: snap(), snap_policy() should be renamed setup(), setup_policy() Summary: Renamed Reference{Policy,Pocessor} methods from snap{,_policy}() to setup{,_policy}() Reviewed-by: apetrusenko ! src/share/vm/gc_implementation/concurrentMarkSweep/concurrentMarkSweepGeneration.cpp ! src/share/vm/gc_implementation/g1/concurrentMark.cpp ! src/share/vm/gc_implementation/g1/g1CollectedHeap.cpp ! src/share/vm/gc_implementation/g1/g1MarkSweep.cpp ! src/share/vm/gc_implementation/parNew/parNewGeneration.cpp ! src/share/vm/gc_implementation/parallelScavenge/psMarkSweep.cpp ! src/share/vm/gc_implementation/parallelScavenge/psParallelCompact.cpp ! src/share/vm/gc_implementation/parallelScavenge/psScavenge.cpp ! src/share/vm/memory/defNewGeneration.cpp ! src/share/vm/memory/genCollectedHeap.cpp ! src/share/vm/memory/genMarkSweep.cpp ! src/share/vm/memory/referencePolicy.cpp ! src/share/vm/memory/referencePolicy.hpp ! src/share/vm/memory/referenceProcessor.cpp ! src/share/vm/memory/referenceProcessor.hpp Changeset: 95cad1ab2510 Author: jmasa Date: 2008-12-03 14:44 -0800 URL: http://hg.openjdk.java.net/nio/nio/hotspot/rev/95cad1ab2510 Merge Changeset: 3a86a8dcf27c Author: never Date: 2008-11-25 13:14 -0800 URL: http://hg.openjdk.java.net/nio/nio/hotspot/rev/3a86a8dcf27c 6756768: C1 generates invalid code Reviewed-by: kvn, jrose ! src/share/vm/c1/c1_GraphBuilder.cpp ! src/share/vm/c1/c1_GraphBuilder.hpp ! src/share/vm/c1/c1_ValueMap.hpp + test/compiler/6756768/Test6756768.java + test/compiler/6756768/Test6756768_2.java Changeset: 424f9bfe6b96 Author: kvn Date: 2008-12-03 13:41 -0800 URL: http://hg.openjdk.java.net/nio/nio/hotspot/rev/424f9bfe6b96 6775880: EA +DeoptimizeALot: assert(mon_info->owner()->is_locked(),"object must be locked now") Summary: Create new "eliminated" BoxLock node for monitor debug info when corresponding locks are eliminated. Reviewed-by: never ! src/share/vm/opto/callnode.cpp ! src/share/vm/opto/callnode.hpp ! src/share/vm/opto/compile.cpp ! src/share/vm/opto/escape.cpp ! src/share/vm/opto/locknode.cpp ! src/share/vm/opto/locknode.hpp ! src/share/vm/opto/macro.cpp ! src/share/vm/opto/output.cpp + test/compiler/6775880/Test.java Changeset: 1f54ed41d6ae Author: kvn Date: 2008-12-04 08:55 -0800 URL: http://hg.openjdk.java.net/nio/nio/hotspot/rev/1f54ed41d6ae Merge Changeset: 85f1b9537f70 Author: iveresov Date: 2008-12-03 14:18 -0800 URL: http://hg.openjdk.java.net/nio/nio/hotspot/rev/85f1b9537f70 6779436: NUMA allocator: libnuma expects certain size of the buffer in numa_node_to_cpus() Summary: In os::Linux::rebuild_cpu_to_node_map() fix the size of the CPU bitmap. Fixed arithmetic in MutableNUMASpace::adaptive_chunk_size() that could cause overflows and underflows of the chunk_size variable. Reviewed-by: apetrusenko ! src/os/linux/vm/os_linux.cpp ! src/os/linux/vm/os_linux.hpp ! src/os/solaris/vm/os_solaris.cpp ! src/os/solaris/vm/os_solaris.hpp ! src/os/windows/vm/os_windows.cpp ! src/share/vm/gc_implementation/shared/mutableNUMASpace.cpp ! src/share/vm/runtime/globals.hpp Changeset: ab25f609be4a Author: jmasa Date: 2008-12-04 09:04 -0800 URL: http://hg.openjdk.java.net/nio/nio/hotspot/rev/ab25f609be4a Merge Changeset: 8a0c882e46d6 Author: jmasa Date: 2008-12-04 13:21 -0800 URL: http://hg.openjdk.java.net/nio/nio/hotspot/rev/8a0c882e46d6 Merge Changeset: dc16daa0329d Author: poonam Date: 2008-12-04 17:29 -0800 URL: http://hg.openjdk.java.net/nio/nio/hotspot/rev/dc16daa0329d 6739363: Xcheck jni doesn't check native function arguments Summary: Fix adds support for verifying arguments with -Xcheck:jni. Reviewed-by: coleenp ! src/os/windows/vm/os_windows.cpp ! src/share/vm/includeDB_core ! src/share/vm/includeDB_features ! src/share/vm/prims/jniCheck.cpp ! src/share/vm/prims/jniCheck.hpp ! src/share/vm/runtime/javaCalls.cpp ! src/share/vm/runtime/javaCalls.hpp ! src/share/vm/runtime/sharedRuntime.cpp Changeset: 63d1bf926938 Author: poonam Date: 2008-12-04 17:48 -0800 URL: http://hg.openjdk.java.net/nio/nio/hotspot/rev/63d1bf926938 Merge - src/share/vm/gc_implementation/concurrentMarkSweep/concurrentGCThread.cpp - src/share/vm/gc_implementation/concurrentMarkSweep/concurrentGCThread.hpp Changeset: 8724fb00c422 Author: blacklion Date: 2008-12-05 15:06 -0500 URL: http://hg.openjdk.java.net/nio/nio/hotspot/rev/8724fb00c422 Merge ! src/os/windows/vm/os_windows.cpp ! src/share/vm/includeDB_core Changeset: 7cee1a61ffd7 Author: trims Date: 2008-12-05 15:32 -0800 URL: http://hg.openjdk.java.net/nio/nio/hotspot/rev/7cee1a61ffd7 Merge Changeset: 3c4d36b4a7ac Author: trims Date: 2008-12-05 15:45 -0800 URL: http://hg.openjdk.java.net/nio/nio/hotspot/rev/3c4d36b4a7ac 6781742: Bump HS14 build number to 09 Summary: Update Hotspot 14 build number to b09 Reviewed-by: jcoomes ! make/hotspot_version Changeset: ad8c8ca4ab0f Author: xdono Date: 2008-12-15 16:55 -0800 URL: http://hg.openjdk.java.net/nio/nio/hotspot/rev/ad8c8ca4ab0f 6785258: Update copyright year Summary: Update copyright for files that have been modified starting July 2008 to Dec 2008 Reviewed-by: katleman, ohair, tbell ! src/cpu/x86/vm/vm_version_x86_32.hpp ! src/cpu/x86/vm/vm_version_x86_64.hpp ! src/os/linux/launcher/java.c ! src/os/linux/launcher/java.h ! src/os/linux/launcher/java_md.c ! src/os/linux/vm/globals_linux.hpp ! src/os/solaris/launcher/java.c ! src/os/solaris/launcher/java.h ! src/os/solaris/launcher/java_md.c ! src/os/solaris/vm/globals_solaris.hpp ! src/os/windows/vm/globals_windows.hpp ! src/os/windows/vm/os_windows.hpp ! src/os_cpu/linux_x86/vm/linux_x86_32.ad ! src/share/tools/IdealGraphVisualizer/Data/src/com/sun/hotspot/igv/data/serialization/XMLWriter.java ! src/share/tools/IdealGraphVisualizer/Difference/src/com/sun/hotspot/igv/difference/Difference.java ! src/share/tools/IdealGraphVisualizer/Filter/src/com/sun/hotspot/igv/filter/CustomFilter.java ! src/share/tools/IdealGraphVisualizer/Util/src/com/sun/hotspot/igv/util/PropertiesSheet.java ! src/share/tools/IdealGraphVisualizer/Util/src/com/sun/hotspot/igv/util/RangeSliderModel.java ! src/share/tools/IdealGraphVisualizer/View/src/com/sun/hotspot/igv/view/DiagramViewModel.java ! src/share/vm/adlc/adlparse.cpp ! src/share/vm/adlc/adlparse.hpp ! src/share/vm/adlc/filebuff.cpp ! src/share/vm/adlc/filebuff.hpp ! src/share/vm/adlc/formssel.hpp ! src/share/vm/c1/c1_GraphBuilder.cpp ! src/share/vm/c1/c1_GraphBuilder.hpp ! src/share/vm/c1/c1_IR.cpp ! src/share/vm/c1/c1_ValueMap.hpp ! src/share/vm/ci/ciEnv.cpp ! src/share/vm/ci/ciTypeFlow.cpp ! src/share/vm/classfile/classFileParser.hpp ! src/share/vm/gc_implementation/g1/concurrentMark.cpp ! src/share/vm/gc_implementation/g1/dirtyCardQueue.cpp ! src/share/vm/gc_implementation/g1/g1BlockOffsetTable.cpp ! src/share/vm/gc_implementation/g1/g1CollectedHeap.cpp ! src/share/vm/gc_implementation/g1/g1CollectedHeap.hpp ! src/share/vm/gc_implementation/g1/g1CollectorPolicy.cpp ! src/share/vm/gc_implementation/g1/g1MarkSweep.cpp ! src/share/vm/gc_implementation/g1/heapRegion.cpp ! src/share/vm/gc_implementation/g1/heapRegion.hpp ! src/share/vm/gc_implementation/g1/heapRegionSeq.cpp ! src/share/vm/gc_implementation/g1/heapRegionSeq.hpp ! src/share/vm/gc_implementation/g1/ptrQueue.cpp ! src/share/vm/gc_implementation/g1/ptrQueue.hpp ! src/share/vm/gc_implementation/includeDB_gc_g1 ! src/share/vm/gc_implementation/parallelScavenge/pcTasks.hpp ! src/share/vm/gc_implementation/parallelScavenge/psCompactionManager.cpp ! src/share/vm/gc_implementation/parallelScavenge/psCompactionManager.hpp ! src/share/vm/gc_implementation/parallelScavenge/psMarkSweepDecorator.hpp ! src/share/vm/gc_implementation/parallelScavenge/psPermGen.cpp ! src/share/vm/interpreter/bytecodeStream.cpp ! src/share/vm/interpreter/bytecodes.cpp ! src/share/vm/interpreter/bytecodes.hpp ! src/share/vm/memory/referencePolicy.cpp ! src/share/vm/memory/referencePolicy.hpp ! src/share/vm/memory/tenuredGeneration.hpp ! src/share/vm/oops/constantPoolOop.cpp ! src/share/vm/opto/block.hpp ! src/share/vm/opto/phase.cpp ! src/share/vm/opto/phase.hpp ! src/share/vm/prims/jniCheck.cpp ! src/share/vm/prims/jniCheck.hpp ! src/share/vm/prims/jvmtiEnvBase.cpp ! src/share/vm/prims/jvmtiTrace.cpp ! src/share/vm/runtime/javaCalls.cpp ! src/share/vm/runtime/javaCalls.hpp ! src/share/vm/runtime/perfMemory.cpp ! src/share/vm/runtime/perfMemory.hpp ! src/share/vm/runtime/thread.hpp ! src/share/vm/services/threadService.hpp ! src/share/vm/utilities/array.hpp ! src/share/vm/utilities/constantTag.hpp ! src/share/vm/utilities/growableArray.hpp ! src/share/vm/utilities/hashtable.cpp ! src/share/vm/utilities/taskqueue.cpp Changeset: 5e5faba1ac11 Author: xdono Date: 2008-12-18 21:34 -0800 URL: http://hg.openjdk.java.net/nio/nio/hotspot/rev/5e5faba1ac11 Added tag jdk7-b42 for changeset ad8c8ca4ab0f ! .hgtags From alan.bateman at sun.com Tue Dec 23 09:48:35 2008 From: alan.bateman at sun.com (alan.bateman at sun.com) Date: Tue, 23 Dec 2008 17:48:35 +0000 Subject: hg: nio/nio/jaxp: 2 new changesets Message-ID: <20081223174839.95291DE0B@hg.openjdk.java.net> Changeset: 036e0dca841a Author: xdono Date: 2008-12-04 11:10 -0800 URL: http://hg.openjdk.java.net/nio/nio/jaxp/rev/036e0dca841a Added tag jdk7-b41 for changeset 0758bd3e2852 ! .hgtags Changeset: 96fe28d4a913 Author: xdono Date: 2008-12-18 21:34 -0800 URL: http://hg.openjdk.java.net/nio/nio/jaxp/rev/96fe28d4a913 Added tag jdk7-b42 for changeset 036e0dca841a ! .hgtags From alan.bateman at sun.com Tue Dec 23 09:49:43 2008 From: alan.bateman at sun.com (alan.bateman at sun.com) Date: Tue, 23 Dec 2008 17:49:43 +0000 Subject: hg: nio/nio/jaxws: 2 new changesets Message-ID: <20081223174947.308F4DE10@hg.openjdk.java.net> Changeset: 621c02d83abc Author: xdono Date: 2008-12-04 11:10 -0800 URL: http://hg.openjdk.java.net/nio/nio/jaxws/rev/621c02d83abc Added tag jdk7-b41 for changeset a8379d24aa03 ! .hgtags Changeset: 1ad2f51564db Author: xdono Date: 2008-12-18 21:34 -0800 URL: http://hg.openjdk.java.net/nio/nio/jaxws/rev/1ad2f51564db Added tag jdk7-b42 for changeset 621c02d83abc ! .hgtags From alan.bateman at sun.com Tue Dec 23 09:50:57 2008 From: alan.bateman at sun.com (alan.bateman at sun.com) Date: Tue, 23 Dec 2008 17:50:57 +0000 Subject: hg: nio/nio/jdk: 32 new changesets Message-ID: <20081223175713.05375DE15@hg.openjdk.java.net> Changeset: b213ea31bcb3 Author: xdono Date: 2008-12-04 11:10 -0800 URL: http://hg.openjdk.java.net/nio/nio/jdk/rev/b213ea31bcb3 Added tag jdk7-b41 for changeset 44941f893cea ! .hgtags Changeset: d782143219d6 Author: tbell Date: 2008-12-05 09:51 -0800 URL: http://hg.openjdk.java.net/nio/nio/jdk/rev/d782143219d6 Merge Changeset: ea43ec07a878 Author: tbell Date: 2008-12-05 21:59 -0800 URL: http://hg.openjdk.java.net/nio/nio/jdk/rev/ea43ec07a878 Merge Changeset: b4bf1806ee66 Author: emcmanus Date: 2008-12-09 12:01 +0100 URL: http://hg.openjdk.java.net/nio/nio/jdk/rev/b4bf1806ee66 6774918: @NotificationInfo is ineffective on MBeans that cannot send notifications Reviewed-by: jfdenise ! src/share/classes/com/sun/jmx/mbeanserver/MBeanInjector.java ! src/share/classes/com/sun/jmx/mbeanserver/MBeanIntrospector.java ! src/share/classes/javax/management/NotificationInfo.java ! test/javax/management/Introspector/AnnotatedNotificationInfoTest.java Changeset: 95f828533592 Author: jfdenise Date: 2008-12-09 14:44 +0100 URL: http://hg.openjdk.java.net/nio/nio/jdk/rev/95f828533592 6501362: DescriptorSupport(String) could recognize "name=value" as well as XML format Reviewed-by: emcmanus ! src/share/classes/javax/management/modelmbean/DescriptorSupport.java + test/javax/management/descriptor/DescriptorConstructorTest.java Changeset: 8d7117d71fc7 Author: jfdenise Date: 2008-12-09 15:36 +0100 URL: http://hg.openjdk.java.net/nio/nio/jdk/rev/8d7117d71fc7 6250014: MBeanOperationInfo Descriptor field for exceptions Reviewed-by: emcmanus ! src/share/classes/com/sun/jmx/mbeanserver/ConvertingMethod.java ! src/share/classes/com/sun/jmx/mbeanserver/Introspector.java ! src/share/classes/com/sun/jmx/mbeanserver/MBeanIntrospector.java ! src/share/classes/com/sun/jmx/mbeanserver/MXBeanIntrospector.java ! src/share/classes/javax/management/Descriptor.java ! src/share/classes/javax/management/JMX.java ! src/share/classes/javax/management/MBeanAttributeInfo.java ! src/share/classes/javax/management/MBeanConstructorInfo.java ! src/share/classes/javax/management/MBeanOperationInfo.java + test/javax/management/Introspector/ExceptionsDescriptorTest.java Changeset: f8c2f3b5c0ff Author: jfdenise Date: 2008-12-09 15:57 +0100 URL: http://hg.openjdk.java.net/nio/nio/jdk/rev/f8c2f3b5c0ff 6675526: Define an Annotation to name registered MBeans Reviewed-by: emcmanus ! src/share/classes/com/sun/jmx/interceptor/DefaultMBeanServerInterceptor.java ! src/share/classes/com/sun/jmx/mbeanserver/Introspector.java ! src/share/classes/javax/management/Descriptor.java ! src/share/classes/javax/management/JMX.java ! src/share/classes/javax/management/MBeanServer.java ! src/share/classes/javax/management/MBeanServerConnection.java + src/share/classes/javax/management/ObjectNameTemplate.java + test/javax/management/Introspector/ObjectNameTemplateTest.java Changeset: ab4d12886aaf Author: jfdenise Date: 2008-12-09 16:14 +0100 URL: http://hg.openjdk.java.net/nio/nio/jdk/rev/ab4d12886aaf 6450834: RFE: allow StandardMBean to call MBeanRegistration methods on its wrapped resource 6373143: MonitorNotification should have a public constructor Reviewed-by: emcmanus ! src/share/classes/javax/management/StandardMBean.java ! src/share/classes/javax/management/monitor/MonitorNotification.java + test/javax/management/monitor/InstantiateMonitorNotificationTest.java + test/javax/management/standardmbean/RegistrationTest.java Changeset: 3d822c99e3ab Author: jfdenise Date: 2008-12-09 16:26 +0100 URL: http://hg.openjdk.java.net/nio/nio/jdk/rev/3d822c99e3ab 6287328: Add methods to StandardMBean to retrieve a method based on MBean{Attribute|Operation}Info Reviewed-by: emcmanus ! src/share/classes/com/sun/jmx/mbeanserver/MBeanInstantiator.java ! src/share/classes/com/sun/jmx/mbeanserver/MBeanIntrospector.java ! src/share/classes/javax/management/StandardMBean.java + test/javax/management/standardmbean/FindMethodTest.java Changeset: 6eec8be80bfe Author: sjiang Date: 2008-12-09 17:41 +0100 URL: http://hg.openjdk.java.net/nio/nio/jdk/rev/6eec8be80bfe 6405891: MLet: could be improved to load a native lib Reviewed-by: emcmanus ! src/share/classes/javax/management/loading/MLet.java Changeset: 30239cf868b0 Author: sjiang Date: 2008-12-09 17:41 +0100 URL: http://hg.openjdk.java.net/nio/nio/jdk/rev/30239cf868b0 Merge Changeset: 0b1c7f982cc0 Author: emcmanus Date: 2008-12-09 18:30 +0100 URL: http://hg.openjdk.java.net/nio/nio/jdk/rev/0b1c7f982cc0 6780803: Wrong parameter name in description of EventClient::addListeners() 6470295: Misleading exception message says context classloader when it isn't 6714954: Description of MBeanPermission checking in MBeanServer javadoc is inaccurate 6732037: Event Service spec needs more detail about Executor use 6740900: Specify that listeners invoked via SendNotification should not block 6778436: Typo in @NotificationInfos spec Reviewed-by: dfuchs ! src/share/classes/com/sun/jmx/mbeanserver/MBeanInstantiator.java ! src/share/classes/javax/management/MBeanRegistration.java ! src/share/classes/javax/management/MBeanServer.java ! src/share/classes/javax/management/event/EventClient.java ! src/share/classes/javax/management/event/FetchingEventRelay.java Changeset: 23738109351f Author: sjiang Date: 2008-12-09 18:42 +0100 URL: http://hg.openjdk.java.net/nio/nio/jdk/rev/23738109351f 6760712: Provide a connector server option that causes it not to prevent the VM from exiting Reviewed-by: emcmanus ! src/share/classes/com/sun/jmx/remote/util/EnvHelp.java ! src/share/classes/javax/management/remote/rmi/RMIJRMPServerImpl.java + test/javax/management/remote/mandatory/connection/DaemonRMIExporterTest.java Changeset: 0dc9fc01e5d6 Author: sjiang Date: 2008-12-09 18:45 +0100 URL: http://hg.openjdk.java.net/nio/nio/jdk/rev/0dc9fc01e5d6 Merge Changeset: 4951fee90769 Author: sjiang Date: 2008-12-09 19:44 +0100 URL: http://hg.openjdk.java.net/nio/nio/jdk/rev/4951fee90769 6332907: Add ability for connector server to close individual connections Reviewed-by: emcmanus ! src/share/classes/com/sun/jmx/remote/util/EnvHelp.java ! src/share/classes/javax/management/remote/JMXConnectorServer.java ! src/share/classes/javax/management/remote/rmi/RMIConnectorServer.java ! src/share/classes/javax/management/remote/rmi/RMIServerImpl.java + test/javax/management/remote/mandatory/connectorServer/CloseConnectionTest.java Changeset: 61e73bc43e72 Author: dfuchs Date: 2008-12-09 20:20 +0100 URL: http://hg.openjdk.java.net/nio/nio/jdk/rev/61e73bc43e72 6768935: Clarify the behaviour of ObjectName pattern matching with regards to namespaces Reviewed-by: emcmanus ! src/share/classes/com/sun/jmx/interceptor/DispatchInterceptor.java ! src/share/classes/com/sun/jmx/interceptor/DomainDispatchInterceptor.java ! src/share/classes/com/sun/jmx/interceptor/NamespaceDispatchInterceptor.java ! src/share/classes/com/sun/jmx/mbeanserver/MXBeanLookup.java ! src/share/classes/com/sun/jmx/mbeanserver/Util.java ! src/share/classes/com/sun/jmx/namespace/DomainInterceptor.java ! src/share/classes/com/sun/jmx/namespace/NamespaceInterceptor.java ! src/share/classes/com/sun/jmx/namespace/ObjectNameRouter.java ! src/share/classes/com/sun/jmx/namespace/RoutingMBeanServerConnection.java ! src/share/classes/com/sun/jmx/namespace/RoutingProxy.java ! src/share/classes/javax/management/MBeanServer.java ! src/share/classes/javax/management/MBeanServerConnection.java ! src/share/classes/javax/management/ObjectName.java ! src/share/classes/javax/management/namespace/JMXDomain.java ! src/share/classes/javax/management/namespace/JMXNamespacePermission.java ! src/share/classes/javax/management/namespace/JMXNamespaces.java ! src/share/classes/javax/management/namespace/package-info.java ! test/javax/management/namespace/LeadingSeparatorsTest.java ! test/javax/management/namespace/NullDomainObjectNameTest.java ! test/javax/management/namespace/NullObjectNameTest.java ! test/javax/management/namespace/QueryNamesTest.java Changeset: 7aa035fdd97d Author: sjiang Date: 2008-12-09 20:50 +0100 URL: http://hg.openjdk.java.net/nio/nio/jdk/rev/7aa035fdd97d 6336980: NotificationBroadcasterSupport: to tell whether there are listeners and to do clear Reviewed-by: emcmanus ! src/share/classes/javax/management/NotificationBroadcasterSupport.java + test/javax/management/notification/SupportClearTest.java Changeset: 3f226f477d56 Author: sjiang Date: 2008-12-09 20:51 +0100 URL: http://hg.openjdk.java.net/nio/nio/jdk/rev/3f226f477d56 Merge Changeset: c8db1ddbdba4 Author: emcmanus Date: 2008-12-10 11:59 +0100 URL: http://hg.openjdk.java.net/nio/nio/jdk/rev/c8db1ddbdba4 6456269: Add a GenericMBeanException so clients don't have to have server's exception classes present Reviewed-by: jfdenise, dfuchs ! src/share/classes/javax/management/Descriptor.java + src/share/classes/javax/management/GenericMBeanException.java ! src/share/classes/javax/management/MBeanException.java + test/javax/management/interop/MBeanExceptionInteropTest.java + test/javax/management/openmbean/GenericMBeanExceptionTest.java Changeset: b89ba9a6d9a6 Author: sherman Date: 2008-12-10 14:03 -0800 URL: http://hg.openjdk.java.net/nio/nio/jdk/rev/b89ba9a6d9a6 6642323: Speeding up Single Byte Decoders 6642328: Speeding up Single Byte Encoders Summary: re-implementation of mapping based sbcs charts Reviewed-by: alanb ! make/java/nio/FILES_java.gmk ! make/java/nio/Makefile ! make/sun/nio/FILES_java.gmk ! make/sun/nio/Makefile + make/tools/CharsetMapping/IBM037.c2b + make/tools/CharsetMapping/IBM037.map + make/tools/CharsetMapping/IBM037.nr + make/tools/CharsetMapping/IBM1006.map + make/tools/CharsetMapping/IBM1025.c2b + make/tools/CharsetMapping/IBM1025.map + make/tools/CharsetMapping/IBM1025.nr + make/tools/CharsetMapping/IBM1026.c2b + make/tools/CharsetMapping/IBM1026.map + make/tools/CharsetMapping/IBM1026.nr + make/tools/CharsetMapping/IBM1046.map + make/tools/CharsetMapping/IBM1047.map + make/tools/CharsetMapping/IBM1097.map + make/tools/CharsetMapping/IBM1098.map + make/tools/CharsetMapping/IBM1112.c2b + make/tools/CharsetMapping/IBM1112.map + make/tools/CharsetMapping/IBM1112.nr + make/tools/CharsetMapping/IBM1122.c2b + make/tools/CharsetMapping/IBM1122.map + make/tools/CharsetMapping/IBM1122.nr + make/tools/CharsetMapping/IBM1123.c2b + make/tools/CharsetMapping/IBM1123.map + make/tools/CharsetMapping/IBM1123.nr + make/tools/CharsetMapping/IBM1124.map + make/tools/CharsetMapping/IBM1140.c2b + make/tools/CharsetMapping/IBM1140.map + make/tools/CharsetMapping/IBM1141.c2b + make/tools/CharsetMapping/IBM1141.map + make/tools/CharsetMapping/IBM1142.c2b + make/tools/CharsetMapping/IBM1142.map + make/tools/CharsetMapping/IBM1143.c2b + make/tools/CharsetMapping/IBM1143.map + make/tools/CharsetMapping/IBM1144.c2b + make/tools/CharsetMapping/IBM1144.map + make/tools/CharsetMapping/IBM1145.c2b + make/tools/CharsetMapping/IBM1145.map + make/tools/CharsetMapping/IBM1146.c2b + make/tools/CharsetMapping/IBM1146.map + make/tools/CharsetMapping/IBM1147.c2b + make/tools/CharsetMapping/IBM1147.map + make/tools/CharsetMapping/IBM1148.c2b + make/tools/CharsetMapping/IBM1148.map + make/tools/CharsetMapping/IBM1149.c2b + make/tools/CharsetMapping/IBM1149.map + make/tools/CharsetMapping/IBM273.c2b + make/tools/CharsetMapping/IBM273.map + make/tools/CharsetMapping/IBM273.nr + make/tools/CharsetMapping/IBM277.c2b + make/tools/CharsetMapping/IBM277.map + make/tools/CharsetMapping/IBM277.nr + make/tools/CharsetMapping/IBM278.c2b + make/tools/CharsetMapping/IBM278.map + make/tools/CharsetMapping/IBM278.nr + make/tools/CharsetMapping/IBM280.c2b + make/tools/CharsetMapping/IBM280.map + make/tools/CharsetMapping/IBM280.nr + make/tools/CharsetMapping/IBM284.c2b + make/tools/CharsetMapping/IBM284.map + make/tools/CharsetMapping/IBM284.nr + make/tools/CharsetMapping/IBM285.c2b + make/tools/CharsetMapping/IBM285.map + make/tools/CharsetMapping/IBM285.nr + make/tools/CharsetMapping/IBM297.c2b + make/tools/CharsetMapping/IBM297.map + make/tools/CharsetMapping/IBM297.nr + make/tools/CharsetMapping/IBM420.c2b + make/tools/CharsetMapping/IBM420.map + make/tools/CharsetMapping/IBM420.nr + make/tools/CharsetMapping/IBM424.c2b + make/tools/CharsetMapping/IBM424.map + make/tools/CharsetMapping/IBM424.nr + make/tools/CharsetMapping/IBM437.map + make/tools/CharsetMapping/IBM500.c2b + make/tools/CharsetMapping/IBM500.map + make/tools/CharsetMapping/IBM500.nr + make/tools/CharsetMapping/IBM737.map + make/tools/CharsetMapping/IBM775.map + make/tools/CharsetMapping/IBM838.c2b + make/tools/CharsetMapping/IBM838.map + make/tools/CharsetMapping/IBM838.nr + make/tools/CharsetMapping/IBM850.map + make/tools/CharsetMapping/IBM852.map + make/tools/CharsetMapping/IBM855.map + make/tools/CharsetMapping/IBM856.map + make/tools/CharsetMapping/IBM857.map + make/tools/CharsetMapping/IBM858.map + make/tools/CharsetMapping/IBM860.map + make/tools/CharsetMapping/IBM861.map + make/tools/CharsetMapping/IBM862.map + make/tools/CharsetMapping/IBM863.map + make/tools/CharsetMapping/IBM864.map + make/tools/CharsetMapping/IBM865.map + make/tools/CharsetMapping/IBM866.map + make/tools/CharsetMapping/IBM868.map + make/tools/CharsetMapping/IBM869.map + make/tools/CharsetMapping/IBM870.c2b + make/tools/CharsetMapping/IBM870.map + make/tools/CharsetMapping/IBM870.nr + make/tools/CharsetMapping/IBM871.c2b + make/tools/CharsetMapping/IBM871.map + make/tools/CharsetMapping/IBM871.nr + make/tools/CharsetMapping/IBM874.map + make/tools/CharsetMapping/IBM874.nr + make/tools/CharsetMapping/IBM875.c2b + make/tools/CharsetMapping/IBM875.map + make/tools/CharsetMapping/IBM875.nr + make/tools/CharsetMapping/IBM918.c2b + make/tools/CharsetMapping/IBM918.map + make/tools/CharsetMapping/IBM918.nr + make/tools/CharsetMapping/IBM921.map + make/tools/CharsetMapping/IBM922.map + make/tools/CharsetMapping/ISO_8859_11.map + make/tools/CharsetMapping/ISO_8859_13.map + make/tools/CharsetMapping/ISO_8859_15.map + make/tools/CharsetMapping/ISO_8859_2.map + make/tools/CharsetMapping/ISO_8859_3.map + make/tools/CharsetMapping/ISO_8859_4.map + make/tools/CharsetMapping/ISO_8859_5.map + make/tools/CharsetMapping/ISO_8859_6.map + make/tools/CharsetMapping/ISO_8859_7.map + make/tools/CharsetMapping/ISO_8859_8.map + make/tools/CharsetMapping/ISO_8859_9.map + make/tools/CharsetMapping/JIS_X_0201.map + make/tools/CharsetMapping/KOI8_R.map + make/tools/CharsetMapping/KOI8_U.map + make/tools/CharsetMapping/MS1250.map + make/tools/CharsetMapping/MS1251.map + make/tools/CharsetMapping/MS1252.map + make/tools/CharsetMapping/MS1253.map + make/tools/CharsetMapping/MS1254.map + make/tools/CharsetMapping/MS1255.map + make/tools/CharsetMapping/MS1256.map + make/tools/CharsetMapping/MS1257.map + make/tools/CharsetMapping/MS1258.map + make/tools/CharsetMapping/MS874.map + make/tools/CharsetMapping/MacArabic.map + make/tools/CharsetMapping/MacCentralEurope.map + make/tools/CharsetMapping/MacCroatian.map + make/tools/CharsetMapping/MacCyrillic.map + make/tools/CharsetMapping/MacDingbat.map + make/tools/CharsetMapping/MacGreek.map + make/tools/CharsetMapping/MacHebrew.map + make/tools/CharsetMapping/MacIceland.map + make/tools/CharsetMapping/MacRoman.map + make/tools/CharsetMapping/MacRomania.map + make/tools/CharsetMapping/MacSymbol.map + make/tools/CharsetMapping/MacThai.map + make/tools/CharsetMapping/MacTurkish.map + make/tools/CharsetMapping/MacUkraine.map + make/tools/CharsetMapping/SingleByte-X.java + make/tools/CharsetMapping/TIS_620.map + make/tools/CharsetMapping/extsbcs + make/tools/CharsetMapping/sbcs ! make/tools/src/build/tools/charsetmapping/GenerateMapping.java + make/tools/src/build/tools/charsetmapping/GenerateSBCS.java ! src/share/classes/sun/io/ByteToCharCp850.java ! src/share/classes/sun/io/CharToByteJIS0201.java ! src/share/classes/sun/io/CharToByteSingleByte.java - src/share/classes/sun/nio/cs/IBM437.java - src/share/classes/sun/nio/cs/IBM737.java - src/share/classes/sun/nio/cs/IBM775.java - src/share/classes/sun/nio/cs/IBM850.java - src/share/classes/sun/nio/cs/IBM852.java - src/share/classes/sun/nio/cs/IBM855.java - src/share/classes/sun/nio/cs/IBM857.java - src/share/classes/sun/nio/cs/IBM858.java - src/share/classes/sun/nio/cs/IBM862.java - src/share/classes/sun/nio/cs/IBM866.java - src/share/classes/sun/nio/cs/IBM874.java - src/share/classes/sun/nio/cs/ISO_8859_13.java - src/share/classes/sun/nio/cs/ISO_8859_15.java - src/share/classes/sun/nio/cs/ISO_8859_2.java - src/share/classes/sun/nio/cs/ISO_8859_4.java - src/share/classes/sun/nio/cs/ISO_8859_5.java - src/share/classes/sun/nio/cs/ISO_8859_7.java - src/share/classes/sun/nio/cs/ISO_8859_9.java - src/share/classes/sun/nio/cs/KOI8_R.java - src/share/classes/sun/nio/cs/KOI8_U.java - src/share/classes/sun/nio/cs/MS1250.java - src/share/classes/sun/nio/cs/MS1251.java - src/share/classes/sun/nio/cs/MS1252.java - src/share/classes/sun/nio/cs/MS1253.java - src/share/classes/sun/nio/cs/MS1254.java - src/share/classes/sun/nio/cs/MS1257.java + src/share/classes/sun/nio/cs/SingleByte.java - src/share/classes/sun/nio/cs/ext/IBM037.java - src/share/classes/sun/nio/cs/ext/IBM1006.java - src/share/classes/sun/nio/cs/ext/IBM1025.java - src/share/classes/sun/nio/cs/ext/IBM1026.java - src/share/classes/sun/nio/cs/ext/IBM1046.java - src/share/classes/sun/nio/cs/ext/IBM1047.java - src/share/classes/sun/nio/cs/ext/IBM1097.java - src/share/classes/sun/nio/cs/ext/IBM1098.java - src/share/classes/sun/nio/cs/ext/IBM1112.java - src/share/classes/sun/nio/cs/ext/IBM1122.java - src/share/classes/sun/nio/cs/ext/IBM1123.java - src/share/classes/sun/nio/cs/ext/IBM1124.java - src/share/classes/sun/nio/cs/ext/IBM1140.java - src/share/classes/sun/nio/cs/ext/IBM1141.java - src/share/classes/sun/nio/cs/ext/IBM1142.java - src/share/classes/sun/nio/cs/ext/IBM1143.java - src/share/classes/sun/nio/cs/ext/IBM1144.java - src/share/classes/sun/nio/cs/ext/IBM1145.java - src/share/classes/sun/nio/cs/ext/IBM1146.java - src/share/classes/sun/nio/cs/ext/IBM1147.java - src/share/classes/sun/nio/cs/ext/IBM1148.java - src/share/classes/sun/nio/cs/ext/IBM1149.java - src/share/classes/sun/nio/cs/ext/IBM273.java - src/share/classes/sun/nio/cs/ext/IBM277.java - src/share/classes/sun/nio/cs/ext/IBM278.java - src/share/classes/sun/nio/cs/ext/IBM280.java - src/share/classes/sun/nio/cs/ext/IBM284.java - src/share/classes/sun/nio/cs/ext/IBM285.java - src/share/classes/sun/nio/cs/ext/IBM297.java - src/share/classes/sun/nio/cs/ext/IBM420.java - src/share/classes/sun/nio/cs/ext/IBM424.java - src/share/classes/sun/nio/cs/ext/IBM500.java - src/share/classes/sun/nio/cs/ext/IBM838.java - src/share/classes/sun/nio/cs/ext/IBM856.java - src/share/classes/sun/nio/cs/ext/IBM860.java - src/share/classes/sun/nio/cs/ext/IBM861.java - src/share/classes/sun/nio/cs/ext/IBM863.java - src/share/classes/sun/nio/cs/ext/IBM864.java - src/share/classes/sun/nio/cs/ext/IBM865.java - src/share/classes/sun/nio/cs/ext/IBM868.java - src/share/classes/sun/nio/cs/ext/IBM869.java - src/share/classes/sun/nio/cs/ext/IBM870.java - src/share/classes/sun/nio/cs/ext/IBM871.java - src/share/classes/sun/nio/cs/ext/IBM875.java - src/share/classes/sun/nio/cs/ext/IBM918.java - src/share/classes/sun/nio/cs/ext/IBM921.java - src/share/classes/sun/nio/cs/ext/IBM922.java - src/share/classes/sun/nio/cs/ext/ISO_8859_11.java - src/share/classes/sun/nio/cs/ext/ISO_8859_3.java - src/share/classes/sun/nio/cs/ext/ISO_8859_6.java - src/share/classes/sun/nio/cs/ext/ISO_8859_8.java - src/share/classes/sun/nio/cs/ext/MS1255.java - src/share/classes/sun/nio/cs/ext/MS1256.java - src/share/classes/sun/nio/cs/ext/MS1258.java - src/share/classes/sun/nio/cs/ext/MS874.java - src/share/classes/sun/nio/cs/ext/MacArabic.java - src/share/classes/sun/nio/cs/ext/MacCentralEurope.java - src/share/classes/sun/nio/cs/ext/MacCroatian.java - src/share/classes/sun/nio/cs/ext/MacCyrillic.java - src/share/classes/sun/nio/cs/ext/MacDingbat.java - src/share/classes/sun/nio/cs/ext/MacGreek.java - src/share/classes/sun/nio/cs/ext/MacHebrew.java - src/share/classes/sun/nio/cs/ext/MacIceland.java - src/share/classes/sun/nio/cs/ext/MacRoman.java - src/share/classes/sun/nio/cs/ext/MacRomania.java - src/share/classes/sun/nio/cs/ext/MacSymbol.java - src/share/classes/sun/nio/cs/ext/MacThai.java - src/share/classes/sun/nio/cs/ext/MacTurkish.java - src/share/classes/sun/nio/cs/ext/MacUkraine.java - src/share/classes/sun/nio/cs/ext/TIS_620.java Changeset: 03ff213fccf9 Author: alanb Date: 2008-12-12 19:41 +0000 URL: http://hg.openjdk.java.net/nio/nio/jdk/rev/03ff213fccf9 Merge ! .hgtags ! make/java/nio/FILES_java.gmk ! make/java/nio/Makefile - src/share/classes/sun/nio/cs/IBM437.java - src/share/classes/sun/nio/cs/IBM737.java - src/share/classes/sun/nio/cs/IBM775.java - src/share/classes/sun/nio/cs/IBM850.java - src/share/classes/sun/nio/cs/IBM852.java - src/share/classes/sun/nio/cs/IBM855.java - src/share/classes/sun/nio/cs/IBM857.java - src/share/classes/sun/nio/cs/IBM858.java - src/share/classes/sun/nio/cs/IBM862.java - src/share/classes/sun/nio/cs/IBM866.java - src/share/classes/sun/nio/cs/IBM874.java - src/share/classes/sun/nio/cs/ISO_8859_13.java - src/share/classes/sun/nio/cs/ISO_8859_15.java - src/share/classes/sun/nio/cs/ISO_8859_2.java - src/share/classes/sun/nio/cs/ISO_8859_4.java - src/share/classes/sun/nio/cs/ISO_8859_5.java - src/share/classes/sun/nio/cs/ISO_8859_7.java - src/share/classes/sun/nio/cs/ISO_8859_9.java - src/share/classes/sun/nio/cs/KOI8_R.java - src/share/classes/sun/nio/cs/KOI8_U.java - src/share/classes/sun/nio/cs/MS1250.java - src/share/classes/sun/nio/cs/MS1251.java - src/share/classes/sun/nio/cs/MS1252.java - src/share/classes/sun/nio/cs/MS1253.java - src/share/classes/sun/nio/cs/MS1254.java - src/share/classes/sun/nio/cs/MS1257.java - src/share/classes/sun/nio/cs/ext/IBM037.java - src/share/classes/sun/nio/cs/ext/IBM1006.java - src/share/classes/sun/nio/cs/ext/IBM1025.java - src/share/classes/sun/nio/cs/ext/IBM1026.java - src/share/classes/sun/nio/cs/ext/IBM1046.java - src/share/classes/sun/nio/cs/ext/IBM1047.java - src/share/classes/sun/nio/cs/ext/IBM1097.java - src/share/classes/sun/nio/cs/ext/IBM1098.java - src/share/classes/sun/nio/cs/ext/IBM1112.java - src/share/classes/sun/nio/cs/ext/IBM1122.java - src/share/classes/sun/nio/cs/ext/IBM1123.java - src/share/classes/sun/nio/cs/ext/IBM1124.java - src/share/classes/sun/nio/cs/ext/IBM1140.java - src/share/classes/sun/nio/cs/ext/IBM1141.java - src/share/classes/sun/nio/cs/ext/IBM1142.java - src/share/classes/sun/nio/cs/ext/IBM1143.java - src/share/classes/sun/nio/cs/ext/IBM1144.java - src/share/classes/sun/nio/cs/ext/IBM1145.java - src/share/classes/sun/nio/cs/ext/IBM1146.java - src/share/classes/sun/nio/cs/ext/IBM1147.java - src/share/classes/sun/nio/cs/ext/IBM1148.java - src/share/classes/sun/nio/cs/ext/IBM1149.java - src/share/classes/sun/nio/cs/ext/IBM273.java - src/share/classes/sun/nio/cs/ext/IBM277.java - src/share/classes/sun/nio/cs/ext/IBM278.java - src/share/classes/sun/nio/cs/ext/IBM280.java - src/share/classes/sun/nio/cs/ext/IBM284.java - src/share/classes/sun/nio/cs/ext/IBM285.java - src/share/classes/sun/nio/cs/ext/IBM297.java - src/share/classes/sun/nio/cs/ext/IBM420.java - src/share/classes/sun/nio/cs/ext/IBM424.java - src/share/classes/sun/nio/cs/ext/IBM500.java - src/share/classes/sun/nio/cs/ext/IBM838.java - src/share/classes/sun/nio/cs/ext/IBM856.java - src/share/classes/sun/nio/cs/ext/IBM860.java - src/share/classes/sun/nio/cs/ext/IBM861.java - src/share/classes/sun/nio/cs/ext/IBM863.java - src/share/classes/sun/nio/cs/ext/IBM864.java - src/share/classes/sun/nio/cs/ext/IBM865.java - src/share/classes/sun/nio/cs/ext/IBM868.java - src/share/classes/sun/nio/cs/ext/IBM869.java - src/share/classes/sun/nio/cs/ext/IBM870.java - src/share/classes/sun/nio/cs/ext/IBM871.java - src/share/classes/sun/nio/cs/ext/IBM875.java - src/share/classes/sun/nio/cs/ext/IBM918.java - src/share/classes/sun/nio/cs/ext/IBM921.java - src/share/classes/sun/nio/cs/ext/IBM922.java - src/share/classes/sun/nio/cs/ext/ISO_8859_11.java - src/share/classes/sun/nio/cs/ext/ISO_8859_3.java - src/share/classes/sun/nio/cs/ext/ISO_8859_6.java - src/share/classes/sun/nio/cs/ext/ISO_8859_8.java - src/share/classes/sun/nio/cs/ext/MS1255.java - src/share/classes/sun/nio/cs/ext/MS1256.java - src/share/classes/sun/nio/cs/ext/MS1258.java - src/share/classes/sun/nio/cs/ext/MS874.java - src/share/classes/sun/nio/cs/ext/MacArabic.java - src/share/classes/sun/nio/cs/ext/MacCentralEurope.java - src/share/classes/sun/nio/cs/ext/MacCroatian.java - src/share/classes/sun/nio/cs/ext/MacCyrillic.java - src/share/classes/sun/nio/cs/ext/MacDingbat.java - src/share/classes/sun/nio/cs/ext/MacGreek.java - src/share/classes/sun/nio/cs/ext/MacHebrew.java - src/share/classes/sun/nio/cs/ext/MacIceland.java - src/share/classes/sun/nio/cs/ext/MacRoman.java - src/share/classes/sun/nio/cs/ext/MacRomania.java - src/share/classes/sun/nio/cs/ext/MacSymbol.java - src/share/classes/sun/nio/cs/ext/MacThai.java - src/share/classes/sun/nio/cs/ext/MacTurkish.java - src/share/classes/sun/nio/cs/ext/MacUkraine.java - src/share/classes/sun/nio/cs/ext/TIS_620.java Changeset: 39cac5fdd8c7 Author: alanb Date: 2008-12-12 19:45 +0000 URL: http://hg.openjdk.java.net/nio/nio/jdk/rev/39cac5fdd8c7 Typos/re-phrase statements ! src/share/classes/java/nio/file/FileRef.java ! src/share/classes/java/nio/file/FileStore.java ! src/share/classes/java/nio/file/FileSystemAlreadyExistsException.java ! src/share/classes/java/nio/file/Path.java ! src/share/classes/java/nio/file/ProviderNotFoundException.java ! src/share/classes/java/nio/file/ReadOnlyFileSystemException.java ! src/share/classes/java/nio/file/attribute/BasicFileAttributeView.java ! src/share/classes/java/nio/file/attribute/BasicFileAttributes.java ! src/share/classes/java/nio/file/attribute/UserPrincipal.java Changeset: 185d38d7002f Author: alanb Date: 2008-12-22 15:11 +0000 URL: http://hg.openjdk.java.net/nio/nio/jdk/rev/185d38d7002f Rename NamedAttributeView -> UserDefinedFileAttributeView (no method/spec changes) ! make/java/nio/FILES_java.gmk ! make/java/nio/Makefile - src/share/classes/java/nio/file/attribute/NamedAttributeView.java + src/share/classes/java/nio/file/attribute/UserDefinedFileAttributeView.java ! src/share/classes/java/nio/file/attribute/package-info.java - src/share/classes/sun/nio/fs/AbstractNamedAttributeView.java + src/share/classes/sun/nio/fs/AbstractUserDefinedFileAttributeView.java ! src/share/sample/nio/file/Xdd.java ! src/solaris/classes/sun/nio/fs/LinuxFileSystem.java - src/solaris/classes/sun/nio/fs/LinuxNamedAttributeView.java + src/solaris/classes/sun/nio/fs/LinuxUserDefinedFileAttributeView.java ! src/solaris/classes/sun/nio/fs/SolarisFileSystem.java - src/solaris/classes/sun/nio/fs/SolarisNamedAttributeView.java + src/solaris/classes/sun/nio/fs/SolarisUserDefinedFileAttributeView.java ! src/windows/classes/sun/nio/fs/WindowsFileStore.java - src/windows/classes/sun/nio/fs/WindowsNamedAttributeView.java ! src/windows/classes/sun/nio/fs/WindowsPath.java + src/windows/classes/sun/nio/fs/WindowsUserDefinedFileAttributeView.java ! test/java/nio/file/Path/CopyAndMove.java - test/java/nio/file/attribute/NamedAttributeView/Basic.java + test/java/nio/file/attribute/UserDefinedFileAttributeView/Basic.java Changeset: c05a5092be1d Author: alanb Date: 2008-12-23 10:33 +0000 URL: http://hg.openjdk.java.net/nio/nio/jdk/rev/c05a5092be1d Small implementation improvements: - Avoid pulling wakeup socket when inotify has events - Use blocking I/O in "simple" AsynchronousDatagramChannel impl to avoid select cost on Windows; also can some basic cancel tests - AsynchronousChannelProvider clean-up ! src/share/classes/java/nio/channels/spi/AsynchronousChannelProvider.java ! src/share/classes/sun/nio/ch/SimpleAsynchronousDatagramChannelImpl.java ! src/solaris/classes/sun/nio/fs/LinuxWatchService.java ! test/java/nio/channels/AsynchronousDatagramChannel/Basic.java Changeset: 57dc40ece164 Author: sherman Date: 2008-12-17 22:50 -0800 URL: http://hg.openjdk.java.net/nio/nio/jdk/rev/57dc40ece164 6496274: jar seems to use more CPU than it should Summary: boost jar creating performance especially for the large jar file Reviewed-by: martin ! src/share/classes/sun/tools/jar/Main.java Changeset: 85fe3cd9d6f9 Author: wetmore Date: 2008-12-19 10:35 +0800 URL: http://hg.openjdk.java.net/nio/nio/jdk/rev/85fe3cd9d6f9 6750401: SSL stress test with GF leads to 32 bit max process size in less than 5 minutes,with PCKS11 provider Summary: This is the JSSE portion of the fix. Main part is in PKCS11. Reviewed-by: valeriep, xuelei ! src/share/classes/sun/security/ssl/CipherBox.java ! src/share/classes/sun/security/ssl/SSLEngineImpl.java ! src/share/classes/sun/security/ssl/SSLSocketImpl.java Changeset: 3ef0bdfa7609 Author: xdono Date: 2008-12-15 16:55 -0800 URL: http://hg.openjdk.java.net/nio/nio/jdk/rev/3ef0bdfa7609 6785258: Update copyright year Summary: Update copyright for files that have been modified starting July 2008 to Dec 2008 Reviewed-by: katleman, ohair, tbell ! make/javax/swing/Makefile ! make/netbeans/jmx/build.xml ! make/sun/net/spi/Makefile ! make/sun/net/spi/nameservice/Makefile ! src/share/classes/com/sun/java/swing/SwingUtilities3.java ! src/share/classes/com/sun/java/swing/plaf/windows/DesktopProperty.java ! src/share/classes/com/sun/java/swing/plaf/windows/WindowsDesktopManager.java ! src/share/classes/com/sun/java/swing/plaf/windows/WindowsFileChooserUI.java ! src/share/classes/com/sun/java/swing/plaf/windows/WindowsInternalFrameTitlePane.java ! src/share/classes/com/sun/java/swing/plaf/windows/WindowsScrollBarUI.java ! src/share/classes/com/sun/java/swing/plaf/windows/WindowsTabbedPaneUI.java ! src/share/classes/com/sun/java/swing/plaf/windows/WindowsTableHeaderUI.java ! src/share/classes/com/sun/jmx/defaults/ServiceName.java ! src/share/classes/com/sun/jmx/mbeanserver/ClassLoaderRepositorySupport.java ! src/share/classes/com/sun/jmx/mbeanserver/ObjectInputStreamWithLoader.java ! src/share/classes/com/sun/jmx/mbeanserver/SecureClassLoaderRepository.java ! src/share/classes/com/sun/jmx/mbeanserver/WeakIdentityHashMap.java ! src/share/classes/com/sun/jmx/remote/internal/ArrayNotificationBuffer.java ! src/share/classes/com/sun/jmx/remote/internal/Unmarshal.java ! src/share/classes/com/sun/jmx/remote/util/ClassLoaderWithRepository.java ! src/share/classes/com/sun/jmx/remote/util/ClassLogger.java ! src/share/classes/com/sun/jmx/remote/util/OrderClassLoaders.java ! src/share/classes/com/sun/net/ssl/internal/www/protocol/https/HttpsURLConnectionOldImpl.java ! src/share/classes/java/awt/EventDispatchThread.java ! src/share/classes/java/net/HttpURLConnection.java ! src/share/classes/java/nio/Buffer.java ! src/share/classes/java/nio/channels/SelectableChannel.java ! src/share/classes/java/nio/channels/spi/AbstractSelectableChannel.java ! src/share/classes/java/text/SimpleDateFormat.java ! src/share/classes/javax/management/ClientContext.java ! src/share/classes/javax/management/DefaultLoaderRepository.java ! src/share/classes/javax/management/JMRuntimeException.java ! src/share/classes/javax/management/MBeanAttributeInfo.java ! src/share/classes/javax/management/MBeanConstructorInfo.java ! src/share/classes/javax/management/MBeanInfo.java ! src/share/classes/javax/management/Notification.java ! src/share/classes/javax/management/NotificationListener.java ! src/share/classes/javax/management/loading/DefaultLoaderRepository.java ! src/share/classes/javax/management/loading/MLetObjectInputStream.java ! src/share/classes/javax/management/modelmbean/ModelMBeanInfo.java ! src/share/classes/javax/management/openmbean/OpenMBeanParameterInfoSupport.java ! src/share/classes/javax/management/relation/MBeanServerNotificationFilter.java ! src/share/classes/javax/management/relation/Role.java ! src/share/classes/javax/management/relation/RoleList.java ! src/share/classes/javax/management/relation/RoleResult.java ! src/share/classes/javax/management/relation/RoleUnresolved.java ! src/share/classes/javax/management/relation/RoleUnresolvedList.java ! src/share/classes/javax/management/remote/rmi/NoCallStackClassLoader.java ! src/share/classes/javax/management/remote/rmi/RMIConnection.java ! src/share/classes/javax/management/remote/rmi/RMIServerImpl.java ! src/share/classes/javax/swing/AbstractCellEditor.java ! src/share/classes/javax/swing/AbstractListModel.java ! src/share/classes/javax/swing/AbstractSpinnerModel.java ! src/share/classes/javax/swing/ActionMap.java ! src/share/classes/javax/swing/AncestorNotifier.java ! src/share/classes/javax/swing/ArrayTable.java ! src/share/classes/javax/swing/ButtonGroup.java ! src/share/classes/javax/swing/DefaultBoundedRangeModel.java ! src/share/classes/javax/swing/DefaultButtonModel.java ! src/share/classes/javax/swing/DefaultFocusManager.java ! src/share/classes/javax/swing/DefaultSingleSelectionModel.java ! src/share/classes/javax/swing/GroupLayout.java ! src/share/classes/javax/swing/InputMap.java ! src/share/classes/javax/swing/JDesktopPane.java ! src/share/classes/javax/swing/JDialog.java ! src/share/classes/javax/swing/JLayeredPane.java ! src/share/classes/javax/swing/JMenu.java ! src/share/classes/javax/swing/JMenuItem.java ! src/share/classes/javax/swing/JSpinner.java ! src/share/classes/javax/swing/JTextField.java ! src/share/classes/javax/swing/JTree.java ! src/share/classes/javax/swing/JWindow.java ! src/share/classes/javax/swing/KeyboardManager.java ! src/share/classes/javax/swing/LayoutComparator.java ! src/share/classes/javax/swing/LayoutFocusTraversalPolicy.java ! src/share/classes/javax/swing/LegacyGlueFocusTraversalPolicy.java ! src/share/classes/javax/swing/MultiUIDefaults.java ! src/share/classes/javax/swing/RepaintManager.java ! src/share/classes/javax/swing/SortingFocusTraversalPolicy.java ! src/share/classes/javax/swing/SpringLayout.java ! src/share/classes/javax/swing/Timer.java ! src/share/classes/javax/swing/TimerQueue.java ! src/share/classes/javax/swing/UIDefaults.java ! src/share/classes/javax/swing/UIManager.java ! src/share/classes/javax/swing/border/CompoundBorder.java ! src/share/classes/javax/swing/plaf/basic/BasicButtonListener.java ! src/share/classes/javax/swing/plaf/basic/BasicComboBoxEditor.java ! src/share/classes/javax/swing/plaf/basic/BasicComboBoxUI.java ! src/share/classes/javax/swing/plaf/basic/BasicGraphicsUtils.java ! src/share/classes/javax/swing/plaf/basic/BasicInternalFrameTitlePane.java ! src/share/classes/javax/swing/plaf/basic/BasicLabelUI.java ! src/share/classes/javax/swing/plaf/basic/BasicMenuUI.java ! src/share/classes/javax/swing/plaf/basic/BasicPopupMenuUI.java ! src/share/classes/javax/swing/plaf/basic/BasicRadioButtonUI.java ! src/share/classes/javax/swing/plaf/basic/BasicSplitPaneUI.java ! src/share/classes/javax/swing/plaf/basic/BasicTextUI.java ! src/share/classes/javax/swing/plaf/basic/BasicToggleButtonUI.java ! src/share/classes/javax/swing/plaf/basic/BasicTreeUI.java ! src/share/classes/javax/swing/plaf/basic/DragRecognitionSupport.java ! src/share/classes/javax/swing/plaf/basic/LazyActionMap.java ! src/share/classes/javax/swing/plaf/metal/DefaultMetalTheme.java ! src/share/classes/javax/swing/plaf/metal/MetalBumps.java ! src/share/classes/javax/swing/plaf/metal/MetalFileChooserUI.java ! src/share/classes/javax/swing/plaf/metal/MetalInternalFrameTitlePane.java ! src/share/classes/javax/swing/plaf/metal/MetalRadioButtonUI.java ! src/share/classes/javax/swing/plaf/metal/MetalSliderUI.java ! src/share/classes/javax/swing/plaf/metal/MetalToolBarUI.java ! src/share/classes/javax/swing/plaf/synth/DefaultSynthStyleFactory.java ! src/share/classes/javax/swing/plaf/synth/ImagePainter.java ! src/share/classes/javax/swing/plaf/synth/Region.java ! src/share/classes/javax/swing/plaf/synth/SynthButtonUI.java ! src/share/classes/javax/swing/plaf/synth/SynthComboBoxUI.java ! src/share/classes/javax/swing/plaf/synth/SynthContext.java ! src/share/classes/javax/swing/plaf/synth/SynthEditorPaneUI.java ! src/share/classes/javax/swing/plaf/synth/SynthInternalFrameTitlePane.java ! src/share/classes/javax/swing/plaf/synth/SynthLookAndFeel.java ! src/share/classes/javax/swing/plaf/synth/SynthParser.java ! src/share/classes/javax/swing/plaf/synth/SynthStyle.java ! src/share/classes/javax/swing/plaf/synth/SynthTextAreaUI.java ! src/share/classes/javax/swing/plaf/synth/SynthTextFieldUI.java ! src/share/classes/javax/swing/plaf/synth/SynthTreeUI.java ! src/share/classes/javax/swing/table/AbstractTableModel.java ! src/share/classes/javax/swing/table/DefaultTableModel.java ! src/share/classes/javax/swing/text/AsyncBoxView.java ! src/share/classes/javax/swing/text/ComponentView.java ! src/share/classes/javax/swing/text/DefaultCaret.java ! src/share/classes/javax/swing/text/DefaultFormatter.java ! src/share/classes/javax/swing/text/DefaultHighlighter.java ! src/share/classes/javax/swing/text/DefaultStyledDocument.java ! src/share/classes/javax/swing/text/ElementIterator.java ! src/share/classes/javax/swing/text/GapContent.java ! src/share/classes/javax/swing/text/InternationalFormatter.java ! src/share/classes/javax/swing/text/LayoutQueue.java ! src/share/classes/javax/swing/text/MaskFormatter.java ! src/share/classes/javax/swing/text/SegmentCache.java ! src/share/classes/javax/swing/text/SimpleAttributeSet.java ! src/share/classes/javax/swing/text/StringContent.java ! src/share/classes/javax/swing/text/StyleContext.java ! src/share/classes/javax/swing/text/TableView.java ! src/share/classes/javax/swing/text/TextAction.java ! src/share/classes/javax/swing/text/TextLayoutStrategy.java ! src/share/classes/javax/swing/text/ZoneView.java ! src/share/classes/javax/swing/text/html/HRuleView.java ! src/share/classes/javax/swing/text/html/HTML.java ! src/share/classes/javax/swing/text/html/HTMLDocument.java ! src/share/classes/javax/swing/text/html/HTMLWriter.java ! src/share/classes/javax/swing/text/html/Map.java ! src/share/classes/javax/swing/text/html/MinimalHTMLWriter.java ! src/share/classes/javax/swing/text/html/OptionListModel.java ! src/share/classes/javax/swing/text/html/StyleSheet.java ! src/share/classes/javax/swing/text/html/TableView.java ! src/share/classes/javax/swing/text/html/parser/TagStack.java ! src/share/classes/javax/swing/text/rtf/MockAttributeSet.java ! src/share/classes/javax/swing/text/rtf/RTFParser.java ! src/share/classes/javax/swing/text/rtf/RTFReader.java ! src/share/classes/javax/swing/tree/DefaultTreeCellEditor.java ! src/share/classes/javax/swing/tree/DefaultTreeModel.java ! src/share/classes/javax/swing/tree/FixedHeightLayoutCache.java ! src/share/classes/javax/swing/tree/VariableHeightLayoutCache.java ! src/share/classes/javax/swing/undo/StateEdit.java ! src/share/classes/javax/swing/undo/UndoManager.java ! src/share/classes/javax/swing/undo/UndoableEditSupport.java ! src/share/classes/org/jcp/xml/dsig/internal/DigesterOutputStream.java ! src/share/classes/org/jcp/xml/dsig/internal/SignerOutputStream.java ! src/share/classes/org/jcp/xml/dsig/internal/dom/ApacheCanonicalizer.java ! src/share/classes/org/jcp/xml/dsig/internal/dom/ApacheData.java ! src/share/classes/org/jcp/xml/dsig/internal/dom/ApacheNodeSetData.java ! src/share/classes/org/jcp/xml/dsig/internal/dom/ApacheOctetStreamData.java ! src/share/classes/org/jcp/xml/dsig/internal/dom/ApacheTransform.java ! src/share/classes/org/jcp/xml/dsig/internal/dom/DOMBase64Transform.java ! src/share/classes/org/jcp/xml/dsig/internal/dom/DOMCanonicalXMLC14NMethod.java ! src/share/classes/org/jcp/xml/dsig/internal/dom/DOMCanonicalizationMethod.java ! src/share/classes/org/jcp/xml/dsig/internal/dom/DOMCryptoBinary.java ! src/share/classes/org/jcp/xml/dsig/internal/dom/DOMDigestMethod.java ! src/share/classes/org/jcp/xml/dsig/internal/dom/DOMEnvelopedTransform.java ! src/share/classes/org/jcp/xml/dsig/internal/dom/DOMExcC14NMethod.java ! src/share/classes/org/jcp/xml/dsig/internal/dom/DOMHMACSignatureMethod.java ! src/share/classes/org/jcp/xml/dsig/internal/dom/DOMKeyInfo.java ! src/share/classes/org/jcp/xml/dsig/internal/dom/DOMKeyInfoFactory.java ! src/share/classes/org/jcp/xml/dsig/internal/dom/DOMKeyName.java ! src/share/classes/org/jcp/xml/dsig/internal/dom/DOMKeyValue.java ! src/share/classes/org/jcp/xml/dsig/internal/dom/DOMManifest.java ! src/share/classes/org/jcp/xml/dsig/internal/dom/DOMPGPData.java ! src/share/classes/org/jcp/xml/dsig/internal/dom/DOMSignatureMethod.java ! src/share/classes/org/jcp/xml/dsig/internal/dom/DOMSignatureProperties.java ! src/share/classes/org/jcp/xml/dsig/internal/dom/DOMSignatureProperty.java ! src/share/classes/org/jcp/xml/dsig/internal/dom/DOMSignedInfo.java ! src/share/classes/org/jcp/xml/dsig/internal/dom/DOMStructure.java ! src/share/classes/org/jcp/xml/dsig/internal/dom/DOMSubTreeData.java ! src/share/classes/org/jcp/xml/dsig/internal/dom/DOMTransform.java ! src/share/classes/org/jcp/xml/dsig/internal/dom/DOMURIDereferencer.java ! src/share/classes/org/jcp/xml/dsig/internal/dom/DOMUtils.java ! src/share/classes/org/jcp/xml/dsig/internal/dom/DOMX509Data.java ! src/share/classes/org/jcp/xml/dsig/internal/dom/DOMX509IssuerSerial.java ! src/share/classes/org/jcp/xml/dsig/internal/dom/DOMXMLObject.java ! src/share/classes/org/jcp/xml/dsig/internal/dom/DOMXMLSignatureFactory.java ! src/share/classes/org/jcp/xml/dsig/internal/dom/DOMXPathTransform.java ! src/share/classes/org/jcp/xml/dsig/internal/dom/DOMXSLTTransform.java ! src/share/classes/org/jcp/xml/dsig/internal/dom/Utils.java ! src/share/classes/sun/awt/im/CompositionArea.java ! src/share/classes/sun/management/jmxremote/LocalRMIServerSocketFactory.java ! src/share/classes/sun/net/ProgressEvent.java ! src/share/classes/sun/net/httpserver/ExchangeImpl.java ! src/share/classes/sun/net/httpserver/FixedLengthInputStream.java ! src/share/classes/sun/net/httpserver/Request.java ! src/share/classes/sun/net/www/protocol/https/HttpsURLConnectionImpl.java ! src/share/classes/sun/nio/ch/AbstractPollSelectorImpl.java ! src/share/classes/sun/security/provider/certpath/OCSPResponse.java ! src/share/classes/sun/swing/AccessibleMethod.java ! src/share/classes/sun/swing/SwingLazyValue.java ! src/share/classes/sun/swing/SwingUtilities2.java ! src/share/classes/sun/swing/plaf/synth/DefaultSynthStyle.java ! src/share/classes/sun/swing/plaf/synth/SynthFileChooserUIImpl.java ! src/share/classes/sun/util/calendar/ZoneInfo.java ! src/share/classes/sun/util/resources/TimeZoneNames.java ! src/share/classes/sun/util/resources/TimeZoneNames_de.java ! src/share/classes/sun/util/resources/TimeZoneNames_es.java ! src/share/classes/sun/util/resources/TimeZoneNames_fr.java ! src/share/classes/sun/util/resources/TimeZoneNames_it.java ! src/share/classes/sun/util/resources/TimeZoneNames_ja.java ! src/share/classes/sun/util/resources/TimeZoneNames_ko.java ! src/share/classes/sun/util/resources/TimeZoneNames_sv.java ! src/share/classes/sun/util/resources/TimeZoneNames_zh_CN.java ! src/share/classes/sun/util/resources/TimeZoneNames_zh_TW.java ! src/share/native/sun/font/bidi/ubidi.c ! src/solaris/classes/sun/net/www/protocol/http/NTLMAuthentication.java ! src/solaris/classes/sun/nio/ch/EPollSelectorImpl.java ! src/windows/classes/sun/nio/ch/WindowsSelectorImpl.java ! test/java/net/DatagramSocket/SetDatagramSocketImplFactory/ADatagramSocket.sh ! test/java/nio/Buffer/Basic-X.java ! test/java/nio/Buffer/Basic.java ! test/java/nio/Buffer/BasicByte.java ! test/java/nio/Buffer/BasicChar.java ! test/java/nio/Buffer/BasicDouble.java ! test/java/nio/Buffer/BasicFloat.java ! test/java/nio/Buffer/BasicInt.java ! test/java/nio/Buffer/BasicLong.java ! test/java/nio/Buffer/BasicShort.java ! test/java/nio/Buffer/genBasic.sh ! test/java/nio/Buffer/genCopyDirectMemory.sh ! test/java/nio/channels/Channels/Basic.java ! test/java/util/TimeZone/OldIDMappingTest.sh ! test/javax/management/Introspector/AnnotationTest.java ! test/javax/management/MBeanServer/MBeanExceptionTest.java ! test/javax/management/context/ContextTest.java ! test/javax/management/context/LocaleTest.java ! test/javax/management/context/LocalizableTest.java ! test/javax/management/context/localizable/MBeanDescriptions_fr.java ! test/javax/management/context/localizable/Whatsit.java ! test/javax/management/context/localizable/WhatsitMBean.java ! test/javax/management/remote/mandatory/provider/ProviderTest.java ! test/javax/management/remote/mandatory/subjectDelegation/SimpleStandard.java ! test/javax/swing/RepaintManager/6608456/bug6608456.java ! test/javax/swing/text/html/HRuleView/Test5062055.java ! test/javax/xml/crypto/dsig/GenerationTests.java Changeset: 51a20a7ee9c8 Author: xdono Date: 2008-12-18 21:34 -0800 URL: http://hg.openjdk.java.net/nio/nio/jdk/rev/51a20a7ee9c8 Added tag jdk7-b42 for changeset 3ef0bdfa7609 ! .hgtags Changeset: 18ab3173fcec Author: tbell Date: 2008-12-19 10:37 -0800 URL: http://hg.openjdk.java.net/nio/nio/jdk/rev/18ab3173fcec Merge ! src/share/classes/javax/management/MBeanAttributeInfo.java ! src/share/classes/javax/management/MBeanConstructorInfo.java ! src/share/classes/javax/management/remote/rmi/RMIServerImpl.java Changeset: 850d381fa9aa Author: tbell Date: 2008-12-19 22:07 -0800 URL: http://hg.openjdk.java.net/nio/nio/jdk/rev/850d381fa9aa Merge Changeset: c61dfd04b9f7 Author: alanb Date: 2008-12-23 10:43 +0000 URL: http://hg.openjdk.java.net/nio/nio/jdk/rev/c61dfd04b9f7 Merge ! .hgtags ! src/solaris/classes/sun/nio/ch/EPollSelectorImpl.java Changeset: d5e2831c01c4 Author: alanb Date: 2008-12-23 12:51 +0000 URL: http://hg.openjdk.java.net/nio/nio/jdk/rev/d5e2831c01c4 test/java/nio/channels/AsynchronousDatagramChannel/Basic.java fails intermittently ! src/share/classes/sun/nio/ch/SimpleAsynchronousDatagramChannelImpl.java From alan.bateman at sun.com Tue Dec 23 09:58:30 2008 From: alan.bateman at sun.com (alan.bateman at sun.com) Date: Tue, 23 Dec 2008 17:58:30 +0000 Subject: hg: nio/nio/langtools: 7 new changesets Message-ID: <20081223175843.21652DE1A@hg.openjdk.java.net> Changeset: 1d4f01925bd0 Author: xdono Date: 2008-12-04 11:10 -0800 URL: http://hg.openjdk.java.net/nio/nio/langtools/rev/1d4f01925bd0 Added tag jdk7-b41 for changeset ded6b40f558e ! .hgtags Changeset: 4674298aaf3b Author: tbell Date: 2008-12-05 09:52 -0800 URL: http://hg.openjdk.java.net/nio/nio/langtools/rev/4674298aaf3b Merge Changeset: 4efd44aa85ff Author: tbell Date: 2008-12-05 21:59 -0800 URL: http://hg.openjdk.java.net/nio/nio/langtools/rev/4efd44aa85ff Merge Changeset: fdfed22db054 Author: xdono Date: 2008-12-15 16:55 -0800 URL: http://hg.openjdk.java.net/nio/nio/langtools/rev/fdfed22db054 6785258: Update copyright year Summary: Update copyright for files that have been modified starting July 2008 to Dec 2008 Reviewed-by: katleman, ohair, tbell ! src/share/classes/com/sun/tools/doclets/formats/html/HtmlDoclet.java ! src/share/classes/com/sun/tools/doclets/formats/html/WriterFactoryImpl.java ! src/share/classes/com/sun/tools/doclets/internal/toolkit/AbstractDoclet.java ! src/share/classes/com/sun/tools/javac/comp/Todo.java ! src/share/classes/com/sun/tools/javac/util/JavacMessages.java ! src/share/classes/com/sun/tools/javac/util/LayoutCharacters.java ! src/share/classes/com/sun/tools/javac/util/MandatoryWarningHandler.java ! src/share/classes/com/sun/tools/javadoc/JavadocTodo.java ! src/share/classes/com/sun/tools/javadoc/Main.java ! src/share/classes/com/sun/tools/javadoc/Start.java ! src/share/classes/javax/tools/FileObject.java ! test/com/sun/javadoc/AuthorDD/AuthorDD.java ! test/com/sun/javadoc/lib/JavadocTester.java ! test/com/sun/javadoc/testSupplementary/TestSupplementary.java ! test/tools/apt/Basics/print.sh ! test/tools/apt/Compile/compile.sh ! test/tools/apt/Discovery/discovery.sh ! test/tools/apt/mirror/declaration/AnnoMirror.java ! test/tools/apt/mirror/declaration/AnnoTypeDecl.java ! test/tools/apt/mirror/declaration/AnnoTypeElemDecl.java ! test/tools/apt/mirror/declaration/AnnoVal.java ! test/tools/apt/mirror/declaration/ClassDecl.java ! test/tools/apt/mirror/declaration/ConstExpr.java ! test/tools/apt/mirror/declaration/ConstructorDecl.java ! test/tools/apt/mirror/declaration/EnumDecl.java ! test/tools/apt/mirror/declaration/FieldDecl.java ! test/tools/apt/mirror/declaration/GetAnno.java ! test/tools/apt/mirror/declaration/InterfaceDecl.java ! test/tools/apt/mirror/declaration/MethodDecl.java ! test/tools/apt/mirror/declaration/PackageDecl.java ! test/tools/apt/mirror/declaration/ParameterDecl.java ! test/tools/apt/mirror/type/AnnoTyp.java ! test/tools/apt/mirror/type/ArrayTyp.java ! test/tools/apt/mirror/type/ClassTyp.java ! test/tools/apt/mirror/type/EnumTyp.java ! test/tools/apt/mirror/type/InterfaceTyp.java ! test/tools/apt/mirror/type/PrimitiveTyp.java ! test/tools/apt/mirror/type/TypeVar.java ! test/tools/apt/mirror/type/WildcardTyp.java ! test/tools/apt/mirror/util/Overrides.java ! test/tools/apt/mirror/util/TypeCreation.java ! test/tools/javac/6457284/T6457284.java ! test/tools/javac/links/T.java ! test/tools/javac/links/links.sh ! test/tools/javac/policy/test1/A.java ! test/tools/javac/policy/test1/D.java ! test/tools/javac/policy/test1/Test1a.java ! test/tools/javac/processing/6348193/T6348193.java ! test/tools/javadoc/BooleanConst.java ! test/tools/javadoc/BreakIteratorWarning.java ! test/tools/javadoc/FlagsTooEarly.java ! test/tools/javadoc/InlineTagsWithBraces.java ! test/tools/javadoc/LangVers.java ! test/tools/javadoc/MethodLinks.java ! test/tools/javadoc/NoStar.java ! test/tools/javadoc/T4994049/T4994049.java ! test/tools/javadoc/XWerror.java ! test/tools/javadoc/completionFailure/CompletionFailure.java ! test/tools/javadoc/dupOk/DupOk.java ! test/tools/javadoc/imports/MissingImport.java ! test/tools/javadoc/lib/Tester.java ! test/tools/javadoc/nestedClass/NestedClass.java ! test/tools/javadoc/sourceOnly/p/SourceOnly.java ! test/tools/javadoc/sourceOption/SourceOption.java ! test/tools/javadoc/subpackageIgnore/SubpackageIgnore.java Changeset: 5e5567c2db56 Author: xdono Date: 2008-12-15 17:13 -0800 URL: http://hg.openjdk.java.net/nio/nio/langtools/rev/5e5567c2db56 Merge Changeset: b044af4939c9 Author: xdono Date: 2008-12-18 21:34 -0800 URL: http://hg.openjdk.java.net/nio/nio/langtools/rev/b044af4939c9 Added tag jdk7-b42 for changeset 5e5567c2db56 ! .hgtags Changeset: e2f8f6daee9d Author: tbell Date: 2008-12-19 10:39 -0800 URL: http://hg.openjdk.java.net/nio/nio/langtools/rev/e2f8f6daee9d Merge