From i30817 at gmail.com Wed Apr 1 00:06:22 2009 From: i30817 at gmail.com (Paulo Levi) Date: Wed, 1 Apr 2009 01:06:22 +0100 Subject: SystemColor.text seems wrong in Linux Message-ID: <212322090903311706q76d95eebseb260bc6c6d485bb@mail.gmail.com> Anyone else thinks that the SystemColor.text seems wrong in all linuxes? Check out the Jpg in this site: http://redcarton.com/view.php?id=systemcolor SystemColor.text is consistent with the background of all (native) Text components except on linux, where it is some kind of faded grey, more appropriate to a normal component. If i open a text editor in Ubuntu i get a white background. -------------- next part -------------- An HTML attachment was scrubbed... URL: From mandy.chung at sun.com Wed Apr 1 06:56:48 2009 From: mandy.chung at sun.com (mandy.chung at sun.com) Date: Wed, 01 Apr 2009 06:56:48 +0000 Subject: hg: jdk7/tl/jdk: 6819110: Lazily load Sun digest provider for jar verification Message-ID: <20090401065711.67E34EE21@hg.openjdk.java.net> Changeset: 85a91be56593 Author: mchung Date: 2009-03-31 23:52 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/85a91be56593 6819110: Lazily load Sun digest provider for jar verification Summary: Lazily call Providers.getSunProvider() instead of at static initializer Reviewed-by: mullan ! src/share/classes/sun/security/util/ManifestEntryVerifier.java From Ulf.Zibis at gmx.de Wed Apr 1 15:23:53 2009 From: Ulf.Zibis at gmx.de (Ulf Zibis) Date: Wed, 01 Apr 2009 17:23:53 +0200 Subject: java-nio-charset-enhanced -- Milestone 4 is released In-Reply-To: <20090331045108.3C73D2665C@callebaut.niobe.net> References: <20090331045108.3C73D2665C@callebaut.niobe.net> Message-ID: <49D38709.2060902@gmx.de> > Exactly what sort of legal doubts do you have in mind here? > > We already require the contributor of any nontrivial change to submit an > SCA prior to that change being integrated. Is that not sufficient? > > >> I guess one can abuse the Summary: field to squeeze in thank-yous, >> but it's pretty obvious that you are circumventing the process. >> > > Perhaps -- but if we need to fix the process, then we can do that. > > - Mark > That would be great ! :-) -Ulf From Ulf.Zibis at gmx.de Wed Apr 1 15:35:28 2009 From: Ulf.Zibis at gmx.de (Ulf Zibis) Date: Wed, 01 Apr 2009 17:35:28 +0200 Subject: covariant returns for CharBuffer.subSequence In-Reply-To: <20080803042851.78D042BF53@callebaut.niobe.net> References: <20080803042851.78D042BF53@callebaut.niobe.net> Message-ID: <49D389C0.50308@gmx.de> Am 03.08.2008 06:28, Mark Reinhold schrieb: > >> On 08/02/2008 04:54 AM, Ulf Zibis wrote: >> >>> Some time ago I've discussed this with Neal Gafter. My conclusion is, >>> that those problems could be solved by a "this" return type. >>> >> Or just by using covariant return types, which already exist in the >> language for this very purpose. Why is everyone so keen to tear up the >> language, in order to add solutions to problems that already have solutions? >> > > Excellent question! > > - Mark > > Now I have a much better 'conclusion': "Simply implicit method invocation chaining <%3Chttp://mail.openjdk.java.net/pipermail/coin-dev/2009-March/001180.html%3E>" -Ulf -------------- next part -------------- An HTML attachment was scrubbed... URL: From Ulf.Zibis at gmx.de Wed Apr 1 15:52:49 2009 From: Ulf.Zibis at gmx.de (Ulf Zibis) Date: Wed, 01 Apr 2009 17:52:49 +0200 Subject: covariant returns for CharBuffer.subSequence In-Reply-To: <20080803042851.78D042BF53@callebaut.niobe.net> References: <20080803042851.78D042BF53@callebaut.niobe.net> Message-ID: <49D38DD1.3030507@gmx.de> Correction: link was broken. Am 03.08.2008 06:28, Mark Reinhold schrieb: > >> On 08/02/2008 04:54 AM, Ulf Zibis wrote: >> >>> Some time ago I've discussed this with Neal Gafter. My conclusion is, >>> that those problems could be solved by a "this" return type. >>> >> Or just by using covariant return types, which already exist in the >> language for this very purpose. Why is everyone so keen to tear up the >> language, in order to add solutions to problems that already have solutions? >> > > Excellent question! > > - Mark > > Now I have a much better 'conclusion': "Simply implicit method invocation chaining " -Ulf -------------- next part -------------- An HTML attachment was scrubbed... URL: From Alan.Bateman at Sun.COM Wed Apr 1 16:29:12 2009 From: Alan.Bateman at Sun.COM (Alan Bateman) Date: Wed, 01 Apr 2009 17:29:12 +0100 Subject: Review request for 6824477 Message-ID: <49D39658.6060002@sun.com> 6824477: Selector.select fails with IOException: Invalid argument" if maximum file descriptors is low Sherman, you'll probably want to take this - it's another Solaris specific issue with the /dev/poll based Selector. The Glassfish folks have been seeing this one intermittently at a few places. In summary, the maximum number of pollfd structs that can be written to the driver in a single batch is limited by the maximum number of file descriptors (the hard limit). The Selector, on the other hand, may attempt to write up to 10000 updates in a single batch. Where the file descriptor limit is set to a value less than 10000 then it's possible (under load, when the interest ops of socket channels are updated many times, or the select method isn't invoked in a timely manner) that the number of pending updates exceeds the file descriptor limit causing the exception in the bug report. This bug has always existed but probably hasn't been noticed because the default limit is 64k. I've used the opportunity to eliminate an allocate/free from updateRegistrations. The webrev is here: http://cr.openjdk.java.net/~alanb/6824477/webrev.00/ Thanks, Alan From Alan.Bateman at Sun.COM Wed Apr 1 17:45:29 2009 From: Alan.Bateman at Sun.COM (Alan Bateman) Date: Wed, 01 Apr 2009 18:45:29 +0100 Subject: Review request for 6824135 Message-ID: <49D3A839.8050707@sun.com> 6824135: (ch) test/java/nio/channels/AsyncCloseAndInterrupt.java fails (lnx) test/java/nio/channels/AsyncCloseAndInterrupt.java has been failing since b50. The failure is a hang that arises when FileChannel methods are invoked with a pending interrupt. The pending interrupt causes the channel to be pre-closed and a wait until all other threads are finished with the file descriptor. I broke this in b50 with the nio2 bits so that the current thread is added to the thread list before the begin method, which marks the beginning of an I/O operation, is invoked. The test caught the bug but I'm surprised that I didn't spot the failure before pushing the changes. In any case, the fix is simple: http://cr.openjdk.java.net/~alanb/6824135/webrev.00/ (Sherman, if you cycles, I'd like to get this one into b54). Thanks, Alan. From Xueming.Shen at Sun.COM Wed Apr 1 19:56:46 2009 From: Xueming.Shen at Sun.COM (Xueming Shen) Date: Wed, 01 Apr 2009 12:56:46 -0700 Subject: Review request for 6824135 In-Reply-To: <49D3A839.8050707@sun.com> References: <49D3A839.8050707@sun.com> Message-ID: <49D3C6FE.6000906@sun.com> Alan Bateman wrote: > 6824135: (ch) test/java/nio/channels/AsyncCloseAndInterrupt.java fails > (lnx) > > test/java/nio/channels/AsyncCloseAndInterrupt.java has been failing > since b50. The failure is a hang that arises when FileChannel methods > are invoked with a pending interrupt. The pending interrupt causes the > channel to be pre-closed and a wait until all other threads are > finished with the file descriptor. I broke this in b50 with the nio2 > bits so that the current thread is added to the thread list before the > begin method, which marks the beginning of an I/O operation, is > invoked. The test caught the bug but I'm surprised that I didn't spot > the failure before pushing the changes. In any case, the fix is simple: > http://cr.openjdk.java.net/~alanb/6824135/webrev.00/ > > (Sherman, if you cycles, I'd like to get this one into b54). > > Thanks, > Alan. looks good; approved. Sherman From Ulf.Zibis at gmx.de Thu Apr 2 08:21:42 2009 From: Ulf.Zibis at gmx.de (Ulf Zibis) Date: Thu, 02 Apr 2009 10:21:42 +0200 Subject: New charset IBM1153 In-Reply-To: <4991D407.1020008@gmx.de> References: <4991D407.1020008@gmx.de> Message-ID: <49D47596.4040506@gmx.de> Hi Boris, I now have compiled a customised JAR including charset CP1153 for you: https://java-nio-charset-enhanced.dev.java.net/source/browse/java-nio-charset-enhanced/branches/customer_IBM1153_support/releases/nio_charset_M4_customer_IBM1153.jar?rev=&view=log Usage (be aware to run with Java 6): java -Xbootclasspath/p:nio_charset_M4_customer_IBM1153.jar [-cp YourProject.jar] YourMainClass The canonical name of the charset in question is "IBM01153". Anyway (I guess, you would more prefer it in standard Java library) I would be thankful, if you would give it a try, just for feedback on my efforts. -Ulf Am 10.02.2009 20:22, Ulf Zibis schrieb: > Hi Boris, > > I'm on the way, to include extended charsets in my project > https://java-nio-charset-enhanced.dev.java.net/ in footprint saving way. > Give me some more 2..3 weeks. > Then it would be easy for me to compile a special jar for you, which > you could preload via -Xbootclasspath/p:, if you are using Java > version 6. > > -Ulf > > > Am 10.02.2009 15:38, Boris.Just at wuestenrot.at schrieb: >> >> Hi everybody! >> >> Is there any possibility that a further charset (HOST IBM CP1153/1375 >> Latin 2 - EBCDIC Multilingual) will be part of >> a next JRE version or update? It is quite a new charset and is >> simular to IBM870, but has the EURO sign in addition. >> As more and more countries in eastern europe change their currency to >> euro or use it for payment, it is getting more >> and more important (in particular for mainframes). >> >> We have a problem just now with a DB2 java driver, which does not >> support this charset because it is at the moment not part of the >> standard JVM. >> >> Thanks for your reply in advance! >> >> >> Best regards >> >> Boris Just >> > > From Alan.Bateman at Sun.COM Thu Apr 2 13:40:20 2009 From: Alan.Bateman at Sun.COM (Alan Bateman) Date: Thu, 02 Apr 2009 14:40:20 +0100 Subject: Review request for 6823609 Message-ID: <49D4C044.9090505@sun.com> 6823609: (se) Selector.select hangs on Windows under load This is a hang in the Windows select-based Selector that has been haunting the woods since 1.4.1. This Selector employs a helper thread per 1023 registered channels. If the number of required helpers decreases and immediately increases then it possible, under load conditions, for a redundant helper to poll and finish a cycle instead of terminating. This can cause the main Selector thread to wakeup prematurely or to hang because the finished thread count goes negative. The fix marks redundant threads as zombies so that they terminate without interference. The webrev is here: http://cr.openjdk.java.net/~alanb/6823609/webrev.00/ Thanks, Alan. From Boris.Just at wuestenrot.at Thu Apr 2 09:22:27 2009 From: Boris.Just at wuestenrot.at (Boris.Just at wuestenrot.at) Date: Thu, 2 Apr 2009 11:22:27 +0200 Subject: Antwort: Re: New charset IBM1153 In-Reply-To: <49D47596.4040506@gmx.de> Message-ID: Hi Ulf, Thank you very much for your effort! In the meantime, our Database Management contacted IBM direct. According to IBM,it seems that there is actually a problem, when this codepage is not part of the official JRE release. So their DB2 driver cannot be adapted to this IBM1153 charset. We are just now in waiting queue. Besides I will try to test your customized JAR. But I dont't know rigth now, when this will happen (during the next 6 weeks, I hope so). Another problem also arised because we are just now limited to Java Runtime 1.5. minimum. So it can happen, that we cannot use your new version. Freundliche Gr??e Boris Ferdinand Just Tel.: +43 (0)57070 100-343 W?stenrot Datenservice GmbH Software-Entwicklung & Projekte 5033 Salzburg, Alpenstr. 70 Rechtsform: Gesellschaft m.b.H., Sitz: Salzburg FN: 56598 h, LG Salzburg, DVR:0664979 Besuchen Sie unsere Homepage: http://www.wuestenrot.at Der Austausch von Nachrichten mit der W?stenrot Datenservice GmbH via E-Mail dient ausschlie?lich Informationszwecken. Rechtsgesch?ftliche Erkl?rungen d?rfen ?ber dieses Medium nicht ausgetauscht werden. Diese E-Mail kann vertrauliche und geheime, nicht f?r die ?ffentlichkeit bestimmte Informationen enthalten. Bitte l?schen Sie diese E-Mail, wenn sie nicht f?r Sie bestimmt ist, und informieren Sie uns umgehend. Ulf Zibis 02.04.2009 10:21 An Boris.Just at wuestenrot.at Kopie core-libs-dev at openjdk.java.net, Xueming Shen Thema Re: New charset IBM1153 Hi Boris, I now have compiled a customised JAR including charset CP1153 for you: https://java-nio-charset-enhanced.dev.java.net/source/browse/java-nio-charset-enhanced/branches/customer_IBM1153_support/releases/nio_charset_M4_customer_IBM1153.jar?rev=&view=log Usage (be aware to run with Java 6): java -Xbootclasspath/p:nio_charset_M4_customer_IBM1153.jar [-cp YourProject.jar] YourMainClass The canonical name of the charset in question is "IBM01153". Anyway (I guess, you would more prefer it in standard Java library) I would be thankful, if you would give it a try, just for feedback on my efforts. -Ulf Am 10.02.2009 20:22, Ulf Zibis schrieb: > Hi Boris, > > I'm on the way, to include extended charsets in my project > https://java-nio-charset-enhanced.dev.java.net/ in footprint saving way. > Give me some more 2..3 weeks. > Then it would be easy for me to compile a special jar for you, which > you could preload via -Xbootclasspath/p:, if you are using Java > version 6. > > -Ulf > > > Am 10.02.2009 15:38, Boris.Just at wuestenrot.at schrieb: >> >> Hi everybody! >> >> Is there any possibility that a further charset (HOST IBM CP1153/1375 >> Latin 2 - EBCDIC Multilingual) will be part of >> a next JRE version or update? It is quite a new charset and is >> simular to IBM870, but has the EURO sign in addition. >> As more and more countries in eastern europe change their currency to >> euro or use it for payment, it is getting more >> and more important (in particular for mainframes). >> >> We have a problem just now with a DB2 java driver, which does not >> support this charset because it is at the moment not part of the >> standard JVM. >> >> Thanks for your reply in advance! >> >> >> Best regards >> >> Boris Just >> > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From Alan.Bateman at Sun.COM Thu Apr 2 15:10:20 2009 From: Alan.Bateman at Sun.COM (Alan Bateman) Date: Thu, 02 Apr 2009 16:10:20 +0100 Subject: Review request for 6824141 Message-ID: <49D4D55C.8000906@sun.com> 6824141: test/java/rmi/activation/rmidViaInheritedChannel tests fail Peter - two of RMI tests have been failing since we pushed the socket-channels update back in b36 (4640544). The socket-channel updates introduced a source compatibility issue for SelectorProvider implementations. The RMI tests for the inheritedChannel method have their own delegating SelectorProvider that doesn't compile because of this. The nio/nio/jdk repository has a fix to the source compatibility issue for some time but it's not in jdk7 yet. In the mean-time we need cleaner test runs so I'd like to update these tests to add the missing method. It's harmless and will continue to work if SelectorProvider has a default implementation of this method. Andrew Hughes has also created a bugzilla entry for this issue (https://bugs.openjdk.java.net/show_bug.cgi?id=100024). The webrev is here: http://cr.openjdk.java.net/~alanb/6824141/webrev.00/ Thanks, -Alan. From peter.jones at sun.com Thu Apr 2 15:29:20 2009 From: peter.jones at sun.com (Peter Jones) Date: Thu, 2 Apr 2009 11:29:20 -0400 Subject: Review request for 6824141 In-Reply-To: <49D4D55C.8000906@sun.com> References: <49D4D55C.8000906@sun.com> Message-ID: <20090402152920.GA11129@east> On Thu, Apr 02, 2009 at 04:10:20PM +0100, Alan Bateman wrote: > 6824141: test/java/rmi/activation/rmidViaInheritedChannel tests fail > > Peter - two of RMI tests have been failing since we pushed the > socket-channels update back in b36 (4640544). The socket-channel updates > introduced a source compatibility issue for SelectorProvider > implementations. The RMI tests for the inheritedChannel method have > their own delegating SelectorProvider that doesn't compile because of > this. The nio/nio/jdk repository has a fix to the source compatibility > issue for some time but it's not in jdk7 yet. In the mean-time we need > cleaner test runs so I'd like to update these tests to add the missing > method. It's harmless and will continue to work if SelectorProvider has > a default implementation of this method. Andrew Hughes has also created > a bugzilla entry for this issue > (https://bugs.openjdk.java.net/show_bug.cgi?id=100024). > > The webrev is here: > http://cr.openjdk.java.net/~alanb/6824141/webrev.00/ Looks good to me. -- Peter From Xueming.Shen at Sun.COM Thu Apr 2 17:52:21 2009 From: Xueming.Shen at Sun.COM (Xueming Shen) Date: Thu, 02 Apr 2009 09:52:21 -0800 Subject: Review request for 6824477 In-Reply-To: <49D39658.6060002@sun.com> References: <49D39658.6060002@sun.com> Message-ID: <49D4FB55.8080207@sun.com> Alan Bateman wrote: > 6824477: Selector.select fails with IOException: Invalid argument" if > maximum file descriptors is low > > Sherman, you'll probably want to take this - it's another Solaris > specific issue with the /dev/poll based Selector. The Glassfish folks > have been seeing this one intermittently at a few places. In summary, > the maximum number of pollfd structs that can be written to the driver > in a single batch is limited by the maximum number of file descriptors > (the hard limit). The Selector, on the other hand, may attempt to > write up to 10000 updates in a single batch. Where the file descriptor > limit is set to a value less than 10000 then it's possible (under > load, when the interest ops of socket channels are updated many times, > or the select method isn't invoked in a timely manner) that the number > of pending updates exceeds the file descriptor limit causing the > exception in the bug report. This bug has always existed but probably > hasn't been noticed because the default limit is 64k. I've used the > opportunity to eliminate an allocate/free from updateRegistrations. > > The webrev is here: > http://cr.openjdk.java.net/~alanb/6824477/webrev.00/ > > Thanks, > Alan looks good; approved. btw, just wonder if the #93-#97 "zero-fill" init code really necessary (and then those putXYX)? From Alan.Bateman at Sun.COM Thu Apr 2 18:27:52 2009 From: Alan.Bateman at Sun.COM (Alan Bateman) Date: Thu, 02 Apr 2009 19:27:52 +0100 Subject: Review request for 6824477 In-Reply-To: <49D4FB55.8080207@sun.com> References: <49D39658.6060002@sun.com> <49D4FB55.8080207@sun.com> Message-ID: <49D503A8.9070404@sun.com> Xueming Shen wrote: > : > btw, just wonder if the #93-#97 "zero-fill" init code really > necessary (and then those putXYX)? Good question! This zeroing has always been there but it isn't strictly needed as this the poll array that the driver populates. putReventOps is needed but not the others. I'll re-run the tests to be sure but it seems reasonable to remove unnecessary code. -Alan. From weijun.wang at sun.com Fri Apr 3 03:43:05 2009 From: weijun.wang at sun.com (weijun.wang at sun.com) Date: Fri, 03 Apr 2009 03:43:05 +0000 Subject: hg: jdk7/tl/jdk: 6825352: support self-issued certificate in keytool Message-ID: <20090403034340.129BFE157@hg.openjdk.java.net> Changeset: ee75d1fac0ca Author: weijun Date: 2009-04-03 11:36 +0800 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/ee75d1fac0ca 6825352: support self-issued certificate in keytool Reviewed-by: xuelei ! src/share/classes/sun/security/tools/KeyTool.java + test/sun/security/tools/keytool/selfissued.sh From xueming.shen at sun.com Fri Apr 3 17:04:00 2009 From: xueming.shen at sun.com (xueming.shen at sun.com) Date: Fri, 03 Apr 2009 17:04:00 +0000 Subject: hg: jdk7/tl/jdk: 2 new changesets Message-ID: <20090403170440.27441E2DA@hg.openjdk.java.net> Changeset: de80210c56a6 Author: sherman Date: 2009-04-02 15:35 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/de80210c56a6 4681995: Add support for large (> 4GB) zip/jar files Summary: The ZIP64 format support is added for > 4GB jar/zip files Reviewed-by: alanb, martin + src/share/classes/java/util/zip/ZipConstants64.java ! src/share/classes/java/util/zip/ZipEntry.java ! src/share/classes/java/util/zip/ZipInputStream.java ! src/share/classes/java/util/zip/ZipOutputStream.java ! src/share/classes/java/util/zip/package.html ! src/share/native/java/util/zip/zip_util.c ! src/share/native/java/util/zip/zip_util.h ! src/share/native/java/util/zip/zlib-1.1.3/zlib.h + test/java/util/zip/LargeZip.java ! test/java/util/zip/ZipFile/LargeZipFile.java Changeset: 030b29ccd0db Author: sherman Date: 2009-04-03 09:51 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/030b29ccd0db Merge From Xueming.Shen at Sun.COM Fri Apr 3 20:59:16 2009 From: Xueming.Shen at Sun.COM (Xueming Shen) Date: Fri, 03 Apr 2009 13:59:16 -0700 Subject: Review request for 6823609 In-Reply-To: <49D4C044.9090505@sun.com> References: <49D4C044.9090505@sun.com> Message-ID: <49D678A4.2070002@sun.com> looks good; approved. Alan Bateman wrote: > 6823609: (se) Selector.select hangs on Windows under load > > This is a hang in the Windows select-based Selector that has been > haunting the woods since 1.4.1. This Selector employs a helper thread > per 1023 registered channels. If the number of required helpers > decreases and immediately increases then it possible, under load > conditions, for a redundant helper to poll and finish a cycle instead > of terminating. This can cause the main Selector thread to wakeup > prematurely or to hang because the finished thread count goes > negative. The fix marks redundant threads as zombies so that they > terminate without interference. > > The webrev is here: > http://cr.openjdk.java.net/~alanb/6823609/webrev.00/ > > Thanks, > Alan. From Ulf.Zibis at gmx.de Sat Apr 4 16:25:11 2009 From: Ulf.Zibis at gmx.de (Ulf Zibis) Date: Sat, 04 Apr 2009 18:25:11 +0200 Subject: New charset IBM1153 In-Reply-To: References: Message-ID: <49D789E7.5030507@gmx.de> Hi Boris, thanks for your answer. I've tried to compile my sources against JDK 5. Unfortunately they didn't, because a few methods are used, which are only present in 1.6. So it would need some work, to make my sources compatible to JDK 5. -Ulf Am 02.04.2009 11:22, Boris.Just at wuestenrot.at schrieb: > > Hi Ulf, > > Thank you very much for your effort! > > In the meantime, our Database Management contacted IBM direct. > According to IBM,it seems that there is actually a problem, when this > codepage is not part of the official JRE release. So their DB2 driver > cannot > be adapted to this IBM1153 charset. > We are just now in waiting queue. > > Besides I will try to test your customized JAR. But I dont't know > rigth now, when this will happen (during the next 6 weeks, I hope so). > Another problem also arised because we are just now limited to Java > Runtime 1.5. minimum. So it can happen, that we cannot > use your new version. > > > Freundliche Gr??e > Boris Ferdinand Just > > Tel.: +43 (0)57070 100-343 > > W?stenrot Datenservice GmbH > Software-Entwicklung & Projekte > 5033 Salzburg, Alpenstr. 70 > > Rechtsform: Gesellschaft m.b.H., Sitz: Salzburg > FN: 56598 h, LG Salzburg, DVR:0664979 > > Besuchen Sie unsere Homepage: _http://www.wuestenrot.at_ > > > Der Austausch von Nachrichten mit der W?stenrot Datenservice GmbH via > E-Mail dient ausschlie?lich Informationszwecken. Rechtsgesch?ftliche > Erkl?rungen d?rfen ?ber dieses Medium nicht ausgetauscht werden. > > Diese E-Mail kann vertrauliche und geheime, nicht f?r die > ?ffentlichkeit bestimmte Informationen enthalten. Bitte l?schen Sie > diese E-Mail, wenn sie nicht f?r Sie bestimmt ist, und informieren Sie > uns umgehend. > > > > *Ulf Zibis * > > 02.04.2009 10:21 > > > An > Boris.Just at wuestenrot.at > Kopie > core-libs-dev at openjdk.java.net, Xueming Shen > Thema > Re: New charset IBM1153 > > > > > > > > > > Hi Boris, > > I now have compiled a customised JAR including charset CP1153 for you: > https://java-nio-charset-enhanced.dev.java.net/source/browse/java-nio-charset-enhanced/branches/customer_IBM1153_support/releases/nio_charset_M4_customer_IBM1153.jar?rev=&view=log > Usage (be aware to run with Java 6): > java -Xbootclasspath/p:nio_charset_M4_customer_IBM1153.jar [-cp > YourProject.jar] YourMainClass > > The canonical name of the charset in question is "IBM01153". > > Anyway (I guess, you would more prefer it in standard Java library) I > would be thankful, if you would give it a try, just for feedback on my > efforts. > > -Ulf > > > > Am 10.02.2009 20:22, Ulf Zibis schrieb: > > Hi Boris, > > > > I'm on the way, to include extended charsets in my project > > https://java-nio-charset-enhanced.dev.java.net/ in footprint saving way. > > Give me some more 2..3 weeks. > > Then it would be easy for me to compile a special jar for you, which > > you could preload via -Xbootclasspath/p:, if you are using Java > > version 6. > > > > -Ulf > > > > > > Am 10.02.2009 15:38, Boris.Just at wuestenrot.at schrieb: > >> > >> Hi everybody! > >> > >> Is there any possibility that a further charset (HOST IBM CP1153/1375 > >> Latin 2 - EBCDIC Multilingual) will be part of > >> a next JRE version or update? It is quite a new charset and is > >> simular to IBM870, but has the EURO sign in addition. > >> As more and more countries in eastern europe change their currency to > >> euro or use it for payment, it is getting more > >> and more important (in particular for mainframes). > >> > >> We have a problem just now with a DB2 java driver, which does not > >> support this charset because it is at the moment not part of the > >> standard JVM. > >> > >> Thanks for your reply in advance! > >> > >> > >> Best regards > >> > >> Boris Just > >> > > > > > > From tim.bell at sun.com Sun Apr 5 05:51:34 2009 From: tim.bell at sun.com (tim.bell at sun.com) Date: Sun, 05 Apr 2009 05:51:34 +0000 Subject: hg: jdk7/tl: 2 new changesets Message-ID: <20090405055135.3ACFAE3E6@hg.openjdk.java.net> Changeset: c235f4a8559d Author: xdono Date: 2009-03-27 14:11 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/rev/c235f4a8559d Added tag jdk7-b52 for changeset 4264c2fe6649 ! .hgtags Changeset: 2ef382b1bbd5 Author: xdono Date: 2009-04-02 16:51 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/rev/2ef382b1bbd5 Added tag jdk7-b53 for changeset c235f4a8559d ! .hgtags From tim.bell at sun.com Sun Apr 5 05:55:01 2009 From: tim.bell at sun.com (tim.bell at sun.com) Date: Sun, 05 Apr 2009 05:55:01 +0000 Subject: hg: jdk7/tl/corba: 3 new changesets Message-ID: <20090405055504.D65DAE3EB@hg.openjdk.java.net> Changeset: 2e02b4137dad Author: xdono Date: 2009-03-27 14:11 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/corba/rev/2e02b4137dad Added tag jdk7-b52 for changeset bec82237d694 ! .hgtags Changeset: 3c4d73194f6f Author: xdono Date: 2009-03-31 08:53 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/corba/rev/3c4d73194f6f Merge - src/share/classes/com/sun/tools/corba/se/logutil/lib/jscheme.jar - src/share/classes/com/sun/tools/corba/se/logutil/lib/jschemelogutil.jar - src/share/classes/com/sun/tools/corba/se/logutil/scripts/mc - src/share/classes/com/sun/tools/corba/se/logutil/scripts/mc.scm - src/share/classes/com/sun/tools/corba/se/logutil/scripts/run Changeset: 8130ac858d67 Author: xdono Date: 2009-04-02 16:51 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/corba/rev/8130ac858d67 Added tag jdk7-b53 for changeset 3c4d73194f6f ! .hgtags From tim.bell at sun.com Sun Apr 5 06:00:49 2009 From: tim.bell at sun.com (tim.bell at sun.com) Date: Sun, 05 Apr 2009 06:00:49 +0000 Subject: hg: jdk7/tl/hotspot: 34 new changesets Message-ID: <20090405060158.47906E3F0@hg.openjdk.java.net> Changeset: 6e56a851ccaa Author: xdono Date: 2009-03-27 14:11 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/6e56a851ccaa Added tag jdk7-b52 for changeset 1b1e8f1a4fe8 ! .hgtags Changeset: ec1a6dc46005 Author: iveresov Date: 2009-03-12 14:01 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/ec1a6dc46005 6816433: Test G1 and ParOld in JPRT Reviewed-by: jmasa, never, ysr ! make/jprt.properties Changeset: 4018e98c778a Author: tonyp Date: 2009-03-13 16:10 -0400 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/4018e98c778a Merge Changeset: 09f82af55c3e Author: ysr Date: 2009-03-13 13:56 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/09f82af55c3e 6808322: ParNew, CMS, G1: ParGCAllocBuffer overflow Summary: Correct the overflow check in ParGCAllocBuffer::allocate(); simplify ParGCAllocBuffer::undo_allocation(). Reviewed-by: apetrusenko, jcoomes, jmasa, minqi, phh, tonyp ! src/share/vm/gc_implementation/parNew/parGCAllocBuffer.hpp Changeset: fe2441500281 Author: ysr Date: 2009-03-13 17:06 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/fe2441500281 Merge Changeset: 6c4cea9bfa11 Author: tonyp Date: 2009-03-15 22:03 -0400 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/6c4cea9bfa11 6604422: G1: re-use half-promoted regions 6728271: G1: Cleanup G1CollectedHeap::get_gc_alloc_regions() Summary: It allows the last half-full region to be allocated to during a GC to be reused during the next GC. Reviewed-by: apetrusenko, jcoomes ! src/share/vm/gc_implementation/g1/g1CollectedHeap.cpp ! src/share/vm/gc_implementation/g1/g1CollectedHeap.hpp ! src/share/vm/gc_implementation/g1/g1CollectorPolicy.cpp Changeset: 25e146966e7c Author: iveresov Date: 2009-03-16 08:01 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/25e146966e7c 6817419: G1: Enable extensive verification for humongous regions Summary: Enabled full verification for humongous regions. Also made sure that the VerifyAfterGC works with deferred updates and G1HRRSFlushLogBuffersOnVerify. Reviewed-by: tonyp ! src/share/vm/gc_implementation/g1/concurrentG1Refine.cpp ! src/share/vm/gc_implementation/g1/g1CollectedHeap.cpp ! src/share/vm/gc_implementation/g1/g1RemSet.cpp Changeset: 2a5da27ccae9 Author: tonyp Date: 2009-03-16 10:52 -0400 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/2a5da27ccae9 6816154: G1: introduce flags to enable/disable RSet updating and scanning Summary: Introduces two flags, -XX:-/+G1EnableParallelRSetUpdating and -XX:-/+G1EnableParallelRSetScanning, to turn on/off the "band aid" fix that serializes RSet updating / scanning during GCs. Reviewed-by: iveresov ! src/share/vm/gc_implementation/g1/g1RemSet.cpp ! src/share/vm/gc_implementation/g1/g1_globals.hpp Changeset: 922c573ea67d Author: iveresov Date: 2009-03-16 17:48 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/922c573ea67d 6815683: G1: SEGV during marking Summary: We should mark the regions that continue humongous regions as live if the first region is live. Reviewed-by: tonyp ! src/share/vm/gc_implementation/g1/concurrentMark.cpp Changeset: ba50942c8138 Author: tonyp Date: 2009-03-18 11:37 -0400 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/ba50942c8138 Merge ! src/share/vm/gc_implementation/g1/g1CollectedHeap.cpp ! src/share/vm/gc_implementation/g1/g1CollectedHeap.hpp ! src/share/vm/gc_implementation/g1/g1CollectorPolicy.cpp ! src/share/vm/gc_implementation/g1/g1RemSet.cpp ! src/share/vm/gc_implementation/g1/g1_globals.hpp Changeset: 6af0a709d52b Author: twisti Date: 2009-03-11 14:16 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/6af0a709d52b 6812587: Use auxv to determine SPARC hardware features on Solaris Summary: A similar function to getisax(2) should be used to determine all possible instruction set extensions. Reviewed-by: never, kvn ! src/cpu/sparc/vm/vm_version_sparc.cpp ! src/cpu/sparc/vm/vm_version_sparc.hpp ! src/os/solaris/vm/os_solaris.cpp ! src/os/solaris/vm/os_solaris.hpp ! src/os_cpu/solaris_sparc/vm/vm_version_solaris_sparc.cpp ! src/share/vm/includeDB_core Changeset: 660978a2a31a Author: kvn Date: 2009-03-12 10:37 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/660978a2a31a 6791178: Specialize for zero as the compressed oop vm heap base Summary: Use zero based compressed oops if java heap is below 32gb and unscaled compressed oops if java heap is below 4gb. Reviewed-by: never, twisti, jcoomes, coleenp ! agent/src/share/classes/sun/jvm/hotspot/debugger/Debugger.java ! agent/src/share/classes/sun/jvm/hotspot/debugger/DebuggerBase.java ! agent/src/share/classes/sun/jvm/hotspot/debugger/JVMDebugger.java ! agent/src/share/classes/sun/jvm/hotspot/debugger/remote/RemoteDebugger.java ! agent/src/share/classes/sun/jvm/hotspot/debugger/remote/RemoteDebuggerClient.java ! agent/src/share/classes/sun/jvm/hotspot/debugger/remote/RemoteDebuggerServer.java ! agent/src/share/classes/sun/jvm/hotspot/memory/Universe.java ! agent/src/share/classes/sun/jvm/hotspot/runtime/VM.java ! src/cpu/sparc/vm/assembler_sparc.cpp ! src/cpu/sparc/vm/sparc.ad ! src/cpu/sparc/vm/stubGenerator_sparc.cpp ! src/cpu/sparc/vm/vm_version_sparc.cpp ! src/cpu/sparc/vm/vtableStubs_sparc.cpp ! src/cpu/x86/vm/assembler_x86.cpp ! src/cpu/x86/vm/assembler_x86.hpp ! src/cpu/x86/vm/x86_64.ad ! src/os/linux/vm/os_linux.cpp ! src/os/solaris/dtrace/generateJvmOffsets.cpp ! src/os/solaris/dtrace/jhelper.d ! src/os/solaris/dtrace/libjvm_db.c ! src/os/solaris/vm/os_solaris.cpp ! src/os/windows/vm/os_windows.cpp ! src/os_cpu/linux_sparc/vm/globals_linux_sparc.hpp ! src/os_cpu/linux_x86/vm/globals_linux_x86.hpp ! src/os_cpu/solaris_sparc/vm/globals_solaris_sparc.hpp ! src/os_cpu/solaris_x86/vm/globals_solaris_x86.hpp ! src/os_cpu/windows_x86/vm/globals_windows_x86.hpp ! src/share/vm/asm/assembler.cpp ! src/share/vm/gc_implementation/g1/g1CollectedHeap.cpp ! src/share/vm/gc_implementation/parallelScavenge/parallelScavengeHeap.cpp ! src/share/vm/memory/genCollectedHeap.cpp ! src/share/vm/memory/universe.cpp ! src/share/vm/memory/universe.hpp ! src/share/vm/oops/oop.inline.hpp ! src/share/vm/opto/addnode.cpp ! src/share/vm/opto/compile.cpp ! src/share/vm/opto/connode.cpp ! src/share/vm/opto/lcm.cpp ! src/share/vm/opto/matcher.cpp ! src/share/vm/runtime/arguments.cpp ! src/share/vm/runtime/globals.hpp ! src/share/vm/runtime/os.hpp ! src/share/vm/runtime/virtualspace.cpp ! src/share/vm/runtime/virtualspace.hpp ! src/share/vm/runtime/vmStructs.cpp Changeset: c771b7f43bbf Author: twisti Date: 2009-03-13 11:35 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/c771b7f43bbf 6378821: bitCount() should use POPC on SPARC processors and AMD+10h Summary: bitCount() should use POPC on SPARC processors where POPC is implemented directly in hardware. Reviewed-by: kvn, never ! src/cpu/sparc/vm/sparc.ad ! src/cpu/sparc/vm/vm_version_sparc.cpp ! src/cpu/sparc/vm/vm_version_sparc.hpp ! src/cpu/x86/vm/assembler_x86.cpp ! src/cpu/x86/vm/assembler_x86.hpp ! src/cpu/x86/vm/vm_version_x86.cpp ! src/cpu/x86/vm/vm_version_x86.hpp ! src/cpu/x86/vm/x86_32.ad ! src/cpu/x86/vm/x86_64.ad ! src/os_cpu/solaris_sparc/vm/vm_version_solaris_sparc.cpp ! src/share/vm/classfile/vmSymbols.hpp ! src/share/vm/opto/classes.hpp ! src/share/vm/opto/connode.hpp ! src/share/vm/opto/library_call.cpp ! src/share/vm/runtime/globals.hpp + test/compiler/6378821/Test6378821.java Changeset: c517646eef23 Author: jrose Date: 2009-03-13 18:39 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/c517646eef23 6813212: factor duplicated assembly code for general subclass check (for 6655638) Summary: Code in interp_masm, stubGenerator, c1_LIRAssembler, and AD files moved into MacroAssembler. Reviewed-by: kvn ! src/cpu/sparc/vm/assembler_sparc.cpp ! src/cpu/sparc/vm/assembler_sparc.hpp ! src/cpu/sparc/vm/c1_LIRAssembler_sparc.cpp ! src/cpu/sparc/vm/c1_Runtime1_sparc.cpp ! src/cpu/sparc/vm/interp_masm_sparc.cpp ! src/cpu/sparc/vm/stubGenerator_sparc.cpp ! src/cpu/x86/vm/assembler_x86.cpp ! src/cpu/x86/vm/assembler_x86.hpp ! src/cpu/x86/vm/c1_LIRAssembler_x86.cpp ! src/cpu/x86/vm/c1_Runtime1_x86.cpp ! src/cpu/x86/vm/interp_masm_x86_32.cpp ! src/cpu/x86/vm/interp_masm_x86_64.cpp ! src/cpu/x86/vm/stubGenerator_x86_32.cpp ! src/cpu/x86/vm/stubGenerator_x86_64.cpp ! src/cpu/x86/vm/x86_32.ad ! src/cpu/x86/vm/x86_64.ad ! src/share/vm/opto/graphKit.cpp Changeset: c3a720eefe82 Author: kvn Date: 2009-03-16 15:06 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/c3a720eefe82 6816308: Changes to allow builds with latest Windows SDK 6.1 on 64bit Windows 2003 Summary: Allow Hotspot builds with latest Windows SDK 6.1 on 64bit Windows 2003 Reviewed-by: ohair, tbell, jcoomes ! make/windows/get_msc_ver.sh ! make/windows/makefiles/compile.make ! make/windows/makefiles/sa.make ! make/windows/makefiles/sanity.make ! src/cpu/x86/vm/interpreterRT_x86_64.cpp ! src/os_cpu/windows_x86/vm/unwind_windows_x86.hpp ! src/share/vm/adlc/adlc.hpp ! src/share/vm/gc_implementation/g1/concurrentMark.cpp ! src/share/vm/gc_implementation/g1/heapRegionRemSet.cpp ! src/share/vm/memory/blockOffsetTable.hpp ! src/share/vm/runtime/vm_version.cpp ! src/share/vm/utilities/globalDefinitions_visCPP.hpp Changeset: 039a914095f4 Author: kvn Date: 2009-03-18 13:25 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/039a914095f4 6772368: REGRESSION:tomcat crashed twice with JDK 7 Summary: Call make_block_at() with the original handler limits. Reviewed-by: never ! src/share/vm/ci/ciMethodBlocks.cpp Changeset: bd441136a5ce Author: kvn Date: 2009-03-19 09:13 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/bd441136a5ce Merge ! src/cpu/sparc/vm/sparc.ad ! src/cpu/x86/vm/assembler_x86.cpp ! src/cpu/x86/vm/c1_LIRAssembler_x86.cpp ! src/cpu/x86/vm/c1_Runtime1_x86.cpp ! src/cpu/x86/vm/interp_masm_x86_32.cpp ! src/cpu/x86/vm/interp_masm_x86_64.cpp ! src/cpu/x86/vm/stubGenerator_x86_32.cpp ! src/cpu/x86/vm/stubGenerator_x86_64.cpp ! src/cpu/x86/vm/x86_32.ad ! src/cpu/x86/vm/x86_64.ad ! src/os/linux/vm/os_linux.cpp ! src/os/solaris/vm/os_solaris.cpp ! src/os/windows/vm/os_windows.cpp ! src/share/vm/classfile/vmSymbols.hpp ! src/share/vm/gc_implementation/g1/concurrentMark.cpp ! src/share/vm/gc_implementation/g1/g1CollectedHeap.cpp ! src/share/vm/gc_implementation/g1/heapRegionRemSet.cpp ! src/share/vm/includeDB_core ! src/share/vm/memory/genCollectedHeap.cpp ! src/share/vm/memory/universe.cpp ! src/share/vm/memory/universe.hpp ! src/share/vm/oops/oop.inline.hpp ! src/share/vm/opto/classes.hpp ! src/share/vm/opto/compile.cpp ! src/share/vm/opto/graphKit.cpp ! src/share/vm/opto/lcm.cpp ! src/share/vm/opto/matcher.cpp ! src/share/vm/runtime/arguments.cpp ! src/share/vm/runtime/globals.hpp ! src/share/vm/runtime/os.hpp Changeset: 2314b7336582 Author: tonyp Date: 2009-03-21 22:53 -0400 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/2314b7336582 6820321: G1: Error: guarantee(check_nums(total, n, parts), "all seq lengths should match") Summary: Small fixes to sort out some verbosegc-related incorrectness and a failure Reviewed-by: apetrusenko ! src/share/vm/gc_implementation/g1/g1CollectorPolicy.cpp ! src/share/vm/gc_implementation/g1/g1RemSet.cpp Changeset: 59f139e8a8d1 Author: tonyp Date: 2009-03-25 10:36 -0400 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/59f139e8a8d1 Merge Changeset: 54782a4cd321 Author: poonam Date: 2009-03-15 18:11 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/54782a4cd321 6812971: SA: re-attaching to process fails Summary: After attaching, de-attaching SA from a process, the second time attach() call fails. This happens because in VM.initialize(), Universe does not get re-initialized before it is accessed. Reviewed-by: swamyv ! agent/src/share/classes/sun/jvm/hotspot/runtime/VM.java Changeset: 8ce995316d10 Author: acorn Date: 2009-03-16 08:50 -0400 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/8ce995316d10 Merge Changeset: 4aaa9f5e02a8 Author: acorn Date: 2009-03-18 17:20 -0400 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/4aaa9f5e02a8 4766230: Hotspot vtable inconsistencies cause core dumps. 6579515. 6582242. Reviewed-by: kamg, coleenp ! src/share/vm/classfile/classFileParser.cpp ! src/share/vm/oops/instanceKlass.cpp ! src/share/vm/oops/instanceKlass.hpp ! src/share/vm/oops/klassVtable.cpp ! src/share/vm/oops/klassVtable.hpp Changeset: e55bcaf3a6a1 Author: acorn Date: 2009-03-20 11:23 -0400 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/e55bcaf3a6a1 6819853: VM does not detect JDK which supports parallel class loaders Reviewed-by: coleenp, pbk, xlu, alanb ! src/share/vm/classfile/vmSymbols.hpp Changeset: c664a0794f85 Author: coleenp Date: 2009-03-20 22:08 -0400 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/c664a0794f85 6805748: Assertion "don't reset to 0 -- could be mistaken for never-executed" in CompilationPolicy Summary: Resetting the invocation counter for a method invocation event was setting count to zero for CompileThreshold=1, making it look like a never executed method. Reviewed-by: phh, kamg, acorn, never ! src/share/vm/interpreter/invocationCounter.cpp Changeset: 60bfce711da4 Author: acorn Date: 2009-03-23 10:42 -0400 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/60bfce711da4 Merge ! agent/src/share/classes/sun/jvm/hotspot/runtime/VM.java ! src/share/vm/classfile/vmSymbols.hpp Changeset: 6bdd6923ba16 Author: coleenp Date: 2009-03-25 14:19 -0400 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/6bdd6923ba16 6541756: Reduce executable C-heap Summary: Add executable parameters to reserve_memory and commit_memory to reduce executable memory to only the Code Heap. Reviewed-by: xlu, kvn, acorn ! src/os/linux/vm/os_linux.cpp ! src/os/solaris/vm/os_solaris.cpp ! src/os/windows/vm/os_windows.cpp ! src/share/vm/memory/heap.cpp ! src/share/vm/runtime/os.hpp ! src/share/vm/runtime/virtualspace.cpp ! src/share/vm/runtime/virtualspace.hpp Changeset: 715dceaa89b7 Author: acorn Date: 2009-03-25 13:09 -0400 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/715dceaa89b7 6603316: Improve instrumentation for classes loaded at startup Reviewed-by: xlu, mchung ! src/share/vm/classfile/classFileParser.cpp ! src/share/vm/prims/jni.cpp ! src/share/vm/prims/jvm.cpp ! src/share/vm/prims/jvm_misc.hpp Changeset: fe62b51b93f4 Author: acorn Date: 2009-03-26 16:00 -0400 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/fe62b51b93f4 Merge Changeset: 520d43965b1f Author: ikrylov Date: 2009-03-27 01:35 -0500 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/520d43965b1f 6812297: update project creation for Visual Studio 2005-2008 Summary: Add 2 news classes to create VC8 and VC9 projects Reviewed-by: apetrusenko, xlu ! make/windows/build_vm_def.sh ! make/windows/create.bat ! make/windows/makefiles/adlc.make ! make/windows/makefiles/compile.make ! make/windows/makefiles/makedeps.make ! make/windows/makefiles/rules.make ! src/share/tools/MakeDeps/WinGammaPlatformVC7.java + src/share/tools/MakeDeps/WinGammaPlatformVC8.java + src/share/tools/MakeDeps/WinGammaPlatformVC9.java ! src/share/vm/utilities/globalDefinitions_visCPP.hpp Changeset: 0aeec7d15d30 Author: acorn Date: 2009-03-27 14:35 -0400 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/0aeec7d15d30 Merge Changeset: 00bcc4b01dde Author: trims Date: 2009-03-27 16:54 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/00bcc4b01dde Merge Changeset: 9ab385cb0c42 Author: trims Date: 2009-03-27 16:58 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/9ab385cb0c42 6823377: Bump HS15 build number to 04 Summary: Update the HS15 Build number to 04 Reviewed-by: jcoomes ! make/hotspot_version Changeset: 032c6af894da Author: trims Date: 2009-04-01 22:31 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/032c6af894da Merge Changeset: 5450320b9c27 Author: xdono Date: 2009-04-02 16:51 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/5450320b9c27 Added tag jdk7-b53 for changeset 032c6af894da ! .hgtags From tim.bell at sun.com Sun Apr 5 06:08:34 2009 From: tim.bell at sun.com (tim.bell at sun.com) Date: Sun, 05 Apr 2009 06:08:34 +0000 Subject: hg: jdk7/tl/jaxp: 4 new changesets Message-ID: <20090405060841.E182AE3F5@hg.openjdk.java.net> Changeset: 30e3f9614f07 Author: xdono Date: 2009-03-27 14:11 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/jaxp/rev/30e3f9614f07 Added tag jdk7-b52 for changeset 69ad87dc25cb ! .hgtags Changeset: 996284fd4afe Author: ohair Date: 2009-03-26 16:48 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/jaxp/rev/996284fd4afe 6822913: Consolidate make/jprt.config files, let JPRT manage this file make it optional in repos Reviewed-by: tbell - make/jprt.config Changeset: e8837366d3fd Author: xdono Date: 2009-04-01 08:58 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/jaxp/rev/e8837366d3fd Merge Changeset: 946a9f0c4932 Author: xdono Date: 2009-04-02 16:51 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/jaxp/rev/946a9f0c4932 Added tag jdk7-b53 for changeset e8837366d3fd ! .hgtags From tim.bell at sun.com Sun Apr 5 06:12:06 2009 From: tim.bell at sun.com (tim.bell at sun.com) Date: Sun, 05 Apr 2009 06:12:06 +0000 Subject: hg: jdk7/tl/jaxws: 4 new changesets Message-ID: <20090405061212.7C6A1E3FA@hg.openjdk.java.net> Changeset: 2c10f0cbb34e Author: xdono Date: 2009-03-27 14:11 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/jaxws/rev/2c10f0cbb34e Added tag jdk7-b52 for changeset e646890d18b7 ! .hgtags Changeset: 0814199b8ee7 Author: ohair Date: 2009-03-26 16:48 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/jaxws/rev/0814199b8ee7 6822913: Consolidate make/jprt.config files, let JPRT manage this file make it optional in repos Reviewed-by: tbell - make/jprt.config Changeset: b250218eb2e5 Author: xdono Date: 2009-04-01 08:58 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/jaxws/rev/b250218eb2e5 Merge Changeset: 50ea00dc5f14 Author: xdono Date: 2009-04-02 16:51 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/jaxws/rev/50ea00dc5f14 Added tag jdk7-b53 for changeset b250218eb2e5 ! .hgtags From tim.bell at sun.com Sun Apr 5 06:16:10 2009 From: tim.bell at sun.com (tim.bell at sun.com) Date: Sun, 05 Apr 2009 06:16:10 +0000 Subject: hg: jdk7/tl/jdk: 9 new changesets Message-ID: <20090405061917.EA3F2E3FF@hg.openjdk.java.net> Changeset: 3501cc282cd2 Author: xdono Date: 2009-03-27 14:11 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/3501cc282cd2 Added tag jdk7-b52 for changeset bcbeadb4a5d7 ! .hgtags Changeset: 1bbbd1bf9be3 Author: xdono Date: 2009-03-31 08:53 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/1bbbd1bf9be3 Merge - src/share/classes/sun/misc/JavaIODeleteOnExitAccess.java Changeset: 90873391a0e0 Author: ohair Date: 2009-03-26 16:52 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/90873391a0e0 6822374: Windows: detect X64 when PROCESSOR_IDENTIFIER contains EM64T or Intel64 6822913: Consolidate make/jprt.config files, let JPRT manage this file make it optional in repos Reviewed-by: tbell ! make/common/shared/Platform.gmk ! make/jdk_generic_profile.sh - make/jprt.config Changeset: 964cc8eb3232 Author: tbell Date: 2009-03-31 15:27 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/964cc8eb3232 6819847: build is broken for OpenJDK with plugs Reviewed-by: jjg, robilad, ohair ! make/Makefile ! make/common/Defs.gmk ! make/common/shared/Sanity-Settings.gmk ! make/java/redist/Makefile Changeset: ecb7723aaa7c Author: tbell Date: 2009-04-01 04:44 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/ecb7723aaa7c 6824595: OpenJDK fix breaks product build for jdk7 Reviewed-by: xdono, ohair ! make/Makefile Changeset: deced414c8e4 Author: xdono Date: 2009-04-01 08:58 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/deced414c8e4 Merge - src/share/classes/sun/misc/JavaIODeleteOnExitAccess.java Changeset: a2033addca67 Author: ohair Date: 2009-04-01 16:49 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/a2033addca67 6825175: Remove or disable sanity check on binary plugs Reviewed-by: xdono ! make/common/shared/Sanity.gmk Changeset: 8536cdffa32e Author: xdono Date: 2009-04-02 16:51 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/8536cdffa32e Added tag jdk7-b53 for changeset a2033addca67 ! .hgtags Changeset: 17f50ed5fcab Author: tbell Date: 2009-04-03 10:29 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/17f50ed5fcab Merge From tim.bell at sun.com Sun Apr 5 06:28:56 2009 From: tim.bell at sun.com (tim.bell at sun.com) Date: Sun, 05 Apr 2009 06:28:56 +0000 Subject: hg: jdk7/tl/langtools: 6 new changesets Message-ID: <20090405062909.3B19FE404@hg.openjdk.java.net> Changeset: 1ec9ff434ce2 Author: xdono Date: 2009-03-27 14:11 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/langtools/rev/1ec9ff434ce2 Added tag jdk7-b52 for changeset 29329051d483 ! .hgtags Changeset: 72c2df1a2b5a Author: xdono Date: 2009-03-31 08:54 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/langtools/rev/72c2df1a2b5a Merge Changeset: 39c674c60a36 Author: ohair Date: 2009-03-26 16:48 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/langtools/rev/39c674c60a36 6822913: Consolidate make/jprt.config files, let JPRT manage this file make it optional in repos Reviewed-by: tbell - make/jprt.config Changeset: dbdeb4a7581b Author: xdono Date: 2009-04-01 08:58 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/langtools/rev/dbdeb4a7581b Merge Changeset: 197a7f881937 Author: xdono Date: 2009-04-02 16:52 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/langtools/rev/197a7f881937 Added tag jdk7-b53 for changeset dbdeb4a7581b ! .hgtags Changeset: 3e4038edfcb7 Author: tbell Date: 2009-04-03 10:29 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/langtools/rev/3e4038edfcb7 Merge - src/share/classes/com/sun/tools/classfile/OpCodes.java From alan.bateman at sun.com Mon Apr 6 12:15:05 2009 From: alan.bateman at sun.com (alan.bateman at sun.com) Date: Mon, 06 Apr 2009 12:15:05 +0000 Subject: hg: jdk7/tl/jdk: 7 new changesets Message-ID: <20090406121724.2C9AFE46E@hg.openjdk.java.net> Changeset: 267d1f8aa82a Author: alanb Date: 2009-04-02 11:13 +0100 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/267d1f8aa82a 6824135: (ch) test/java/nio/channels/AsyncCloseAndInterrupt.java fails (lnx) Reviewed-by: sherman ! src/share/classes/sun/nio/ch/FileChannelImpl.java ! test/java/nio/channels/AsyncCloseAndInterrupt.java Changeset: 464727e3afb4 Author: alanb Date: 2009-04-02 11:19 +0100 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/464727e3afb4 6666739: (ref) ReferenceQueue.poll() doesn't scale well 6711667: (ref) Update SoftReference timestamp only if clock advances Summary: Forward port from 6u14; originally fixed by Tom Rodriguez in earlier update Reviewed-by: martin ! src/share/classes/java/lang/ref/ReferenceQueue.java ! src/share/classes/java/lang/ref/SoftReference.java Changeset: aed19719b1e9 Author: alanb Date: 2009-04-02 16:31 +0100 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/aed19719b1e9 6824141: test/java/rmi/activation/rmidViaInheritedChannel tests fail Reviewed-by: peterjones ! test/java/rmi/activation/rmidViaInheritedChannel/InheritedChannelNotServerSocket.java ! test/java/rmi/activation/rmidViaInheritedChannel/RmidViaInheritedChannel.java Changeset: 4befa480d3c8 Author: alanb Date: 2009-04-02 19:47 +0100 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/4befa480d3c8 6824477: (se) Selector.select fails with IOException: "Invalid argument" if maximum file descriptors is low Reviewed-by: sherman ! src/solaris/classes/sun/nio/ch/DevPollArrayWrapper.java + test/java/nio/channels/Selector/LotsOfUpdates.java + test/java/nio/channels/Selector/lots_of_updates.sh Changeset: e50a00095a53 Author: alanb Date: 2009-04-03 22:10 +0100 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/e50a00095a53 6823609: (se) Selector.select hangs on Windows under load Reviewed-by: sherman ! src/windows/classes/sun/nio/ch/WindowsSelectorImpl.java + test/java/nio/channels/Selector/HelperSlowToDie.java Changeset: 93d1fbe001b8 Author: alanb Date: 2009-04-06 08:59 +0100 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/93d1fbe001b8 4890703: Support SDP (sol) Reviewed-by: michaelm ! make/java/net/FILES_c.gmk ! make/java/net/Makefile ! make/java/net/mapfile-vers ! make/sun/net/FILES_java.gmk ! src/share/classes/java/net/AbstractPlainSocketImpl.java ! src/share/classes/sun/nio/ch/AsynchronousServerSocketChannelImpl.java ! src/share/classes/sun/nio/ch/AsynchronousSocketChannelImpl.java ! src/share/classes/sun/nio/ch/ServerSocketChannelImpl.java ! src/share/classes/sun/nio/ch/SocketChannelImpl.java + src/solaris/classes/sun/net/NetHooks.java + src/solaris/classes/sun/net/spi/SdpProvider.java ! src/solaris/classes/sun/nio/ch/UnixAsynchronousSocketChannelImpl.java + src/solaris/lib/sdp/sdp.conf.template + src/solaris/native/sun/net/spi/SdpProvider.c ! src/solaris/native/sun/nio/ch/FileChannelImpl.c + src/windows/classes/sun/net/NetHooks.java + test/sun/net/sdp/ProbeIB.java + test/sun/net/sdp/Sanity.java + test/sun/net/sdp/sanity.sh Changeset: d89688532509 Author: alanb Date: 2009-04-06 11:29 +0100 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/d89688532509 Merge - make/jprt.config From martinrb at google.com Tue Apr 7 00:27:41 2009 From: martinrb at google.com (Martin Buchholz) Date: Mon, 6 Apr 2009 17:27:41 -0700 Subject: java-nio-charset-enhanced -- Milestone 4 is released In-Reply-To: <20090331045108.3C73D2665C@callebaut.niobe.net> References: <1ccfd1c10903291127v198f35det56ac310d0bb8157b@mail.gmail.com> <20090331045108.3C73D2665C@callebaut.niobe.net> Message-ID: <1ccfd1c10904061727y1a6b7935g68514a250f9f385b@mail.gmail.com> Hi Mark, On Mon, Mar 30, 2009 at 21:51, Mark Reinhold wrote: >> Date: Sun, 29 Mar 2009 11:27:26 -0700 >> From: Martin Buchholz > >> On Fri, Mar 27, 2009 at 15:44, ulf.zibis at gmx.de wrote: >>> Am 27.03.2009 22:49, Martin Buchholz schrieb: >>>> It's too difficult to give credit to external contributors. >>>> One problem is that the Contributed-by: line is a red flag to >>>> lawyers and other folks that might cause the legality of the change >>>> to be questioned without end. ?Let's try to get Ulf a proper commit bit >>>> and make sure the legal questions come to an end. >>> >>> Aren't "Contributed-by" and "author" comments usual practice in open >>> source products? ?Even in Sun's JRL source author was mentioned. I >>> think, the lawyer guys and girls from Sun should rethink that subject. >>> Ok, we will see ... >> >> The problem is more human. ?One would like to give credit for good >> ideas or good analysis, but the only official way to give credit in a >> commit message is via a simple >> Contributed-by: email-address >> which raises legal doubts even when there is no copyrighted material. > > Exactly what sort of legal doubts do you have in mind here? > > We already require the contributor of any nontrivial change to submit an > SCA prior to that change being integrated. ?Is that not sufficient? I am worried about: - contributions that do not require a copyright assignment, e.g. an excellent bug report - contributions from a Google employee, because of repeated institutional amnesia that Google has a blanket SCA, which is not reflected in https://sca.dev.java.net/CA_signatories.htm >> I guess one can abuse the Summary: field to squeeze in thank-yous, >> but it's pretty obvious that you are circumventing the process. > > Perhaps -- but if we need to fix the process, then we can do that. It seems that for changes for which I have an external contributor, there is a large variety in the nature of the contribution; sometimes an off-hand remark will cause an avalanche of work on my part. The nature of the collaboration cannot be expressed in the commit comment. Perhaps we could have a Thank-you: with free-form content in addition to a Contributed-by: with the latter reflecting a legal copyright author to keep the lawyers happy. Speaking of which -- hopefully jcheck will soon be open-sourced?! Martin > - Mark > From martinrb at google.com Tue Apr 7 00:51:25 2009 From: martinrb at google.com (Martin Buchholz) Date: Mon, 6 Apr 2009 17:51:25 -0700 Subject: core lib typo fixes Message-ID: <1ccfd1c10904061751s212312c3q92c112f07642a248@mail.gmail.com> Hi Alan, Could you review the typo fixes below, and file a bug for me to use in my commit? Thanks, Martin # HG changeset patch # User martin # Date 1239065306 25200 # Node ID ad231fe99cf21cc042cd0cdfad632a59992cc730 # Parent d89688532509e8782bf7b61a3aa02dfcf073bda8 [mq]: typos diff --git a/src/share/classes/java/lang/NoSuchFieldError.java b/src/share/classes/java/lang/NoSuchFieldError.java --- a/src/share/classes/java/lang/NoSuchFieldError.java +++ b/src/share/classes/java/lang/NoSuchFieldError.java @@ -41,14 +41,14 @@ private static final long serialVersionUID = -3456430195886129035L; /** - * Constructs a NoSuchFieldException with no detail message. + * Constructs a NoSuchFieldError with no detail message. */ public NoSuchFieldError() { super(); } /** - * Constructs a NoSuchFieldException with the specified + * Constructs a NoSuchFieldError with the specified * detail message. * * @param s the detail message. diff --git a/src/share/classes/java/nio/channels/AsynchronousDatagramChannel.java b/src/share/classes/java/nio/channels/AsynchronousDatagramChannel.java --- a/src/share/classes/java/nio/channels/AsynchronousDatagramChannel.java +++ b/src/share/classes/java/nio/channels/AsynchronousDatagramChannel.java @@ -443,7 +443,7 @@ * at least care must be taken to ensure that the buffer is not accessed * while the channel remains open. * - *

If there is a security manager installed and the the channel is not + *

If there is a security manager installed and the channel is not * connected then this method verifies that the target address and port number * are permitted by the security manager's {@link SecurityManager#checkConnect * checkConnect} method. The overhead of this security check can be avoided diff --git a/src/share/classes/java/nio/file/Path.java b/src/share/classes/java/nio/file/Path.java --- a/src/share/classes/java/nio/file/Path.java +++ b/src/share/classes/java/nio/file/Path.java @@ -494,7 +494,7 @@ * @throws IOException * if an I/O error occurs * @throws SecurityException - * In the case of the the default provider, and a security manager + * In the case of the default provider, and a security manager * is installed, it denies {@link LinkPermission}("symbolic") * or its {@link SecurityManager#checkWrite(String) checkWrite} * method denies write access to the path of the symbolic link. @@ -531,7 +531,7 @@ * @throws IOException * if an I/O error occurs * @throws SecurityException - * In the case of the the default provider, and a security manager + * In the case of the default provider, and a security manager * is installed, it denies {@link LinkPermission}("hard") * or its {@link SecurityManager#checkWrite(String) checkWrite} * method denies write access to both this path and the path of the @@ -560,7 +560,7 @@ * @throws IOException * if an I/O error occurs * @throws SecurityException - * In the case of the the default provider, and a security manager + * In the case of the default provider, and a security manager * is installed, it checks that {@code FilePermission} has been * granted with the "{@code readlink}" action to read the link. */ @@ -615,7 +615,7 @@ * obtained * * @throws SecurityException - * In the case of the the default provider, and a security manager + * In the case of the default provider, and a security manager * is installed, the {@link #toAbsolutePath toAbsolutePath} method * throws a security exception. */ @@ -636,7 +636,7 @@ * @throws IOError * if an I/O error occurs * @throws SecurityException - * In the case of the the default provider, and a security manager + * In the case of the default provider, and a security manager * is installed, its {@link SecurityManager#checkPropertyAccess(String) * checkPropertyAccess} method is invoked to check access to the * system property {@code user.dir} @@ -677,7 +677,7 @@ * @throws IOException * if the file does not exist or an I/O error occurs * @throws SecurityException - * In the case of the the default provider, and a security manager + * In the case of the default provider, and a security manager * is installed, its {@link SecurityManager#checkRead(String) checkRead} * method is invoked to check read access to the file, and where * this path is not absolute, its {@link SecurityManager#checkPropertyAccess(String) diff --git a/src/share/classes/java/nio/file/SecureDirectoryStream.java b/src/share/classes/java/nio/file/SecureDirectoryStream.java --- a/src/share/classes/java/nio/file/SecureDirectoryStream.java +++ b/src/share/classes/java/nio/file/SecureDirectoryStream.java @@ -208,7 +208,7 @@ * @throws ClosedDirectoryStreamException * if the directory stream is closed * @throws NoSuchFileException - * if the the directory does not exist (optional specific exception) + * if the directory does not exist (optional specific exception) * @throws DirectoryNotEmptyException * if the directory could not otherwise be deleted because it is * not empty (optional specific exception) diff --git a/src/share/classes/java/security/AccessController.java b/src/share/classes/java/security/AccessController.java --- a/src/share/classes/java/security/AccessController.java +++ b/src/share/classes/java/security/AccessController.java @@ -425,7 +425,7 @@ * Performs the specified PrivilegedExceptionAction with * privileges enabled and restricted by the specified * AccessControlContext. The action is performed with the - * intersection of the the permissions possessed by the caller's + * intersection of the permissions possessed by the caller's * protection domain, and those possessed by the domains represented by the * specified AccessControlContext. *

diff --git a/src/share/classes/java/security/AlgorithmParametersSpi.java b/src/share/classes/java/security/AlgorithmParametersSpi.java --- a/src/share/classes/java/security/AlgorithmParametersSpi.java +++ b/src/share/classes/java/security/AlgorithmParametersSpi.java @@ -102,7 +102,7 @@ * parameters should be returned in an instance of the * DSAParameterSpec class. * - * @param paramSpec the the specification class in which + * @param paramSpec the specification class in which * the parameters should be returned. * * @return the parameter specification. diff --git a/src/share/classes/java/security/PrivilegedActionException.java b/src/share/classes/java/security/PrivilegedActionException.java --- a/src/share/classes/java/security/PrivilegedActionException.java +++ b/src/share/classes/java/security/PrivilegedActionException.java @@ -87,7 +87,7 @@ } /** - * Returns the the cause of this exception (the exception thrown by + * Returns the cause of this exception (the exception thrown by * the privileged computation that resulted in this * PrivilegedActionException). * diff --git a/src/share/classes/java/security/Security.java b/src/share/classes/java/security/Security.java --- a/src/share/classes/java/security/Security.java +++ b/src/share/classes/java/security/Security.java @@ -501,7 +501,7 @@ *

  • <crypto_service>.<algorithm_or_type> * <attribute_name>:< attribute_value> *

    The cryptographic service name must not contain any dots. There - * must be one or more space charaters between the the + * must be one or more space charaters between the * <algorithm_or_type> and the <attribute_name>. *

    A provider satisfies this selection criterion iff the * provider implements the specified algorithm or type for the specified diff --git a/src/share/classes/java/security/SecurityPermission.java b/src/share/classes/java/security/SecurityPermission.java --- a/src/share/classes/java/security/SecurityPermission.java +++ b/src/share/classes/java/security/SecurityPermission.java @@ -118,7 +118,7 @@ * setProperty.{key} * Setting of the security property with the specified key * This could include setting a security provider or defining - * the location of the the system-wide security policy. Malicious + * the location of the system-wide security policy. Malicious * code that has permission to set a new security provider may * set a rogue provider that steals confidential information such * as cryptographic private keys. In addition, malicious code with diff --git a/src/share/classes/java/security/SignatureSpi.java b/src/share/classes/java/security/SignatureSpi.java --- a/src/share/classes/java/security/SignatureSpi.java +++ b/src/share/classes/java/security/SignatureSpi.java @@ -316,7 +316,7 @@ * overridden by a provider * * @exception InvalidAlgorithmParameterException if this method is - * overridden by a provider and the the given parameters + * overridden by a provider and the given parameters * are inappropriate for this signature engine */ protected void engineSetParameter(AlgorithmParameterSpec params) diff --git a/src/share/classes/java/security/cert/CertificateFactory.java b/src/share/classes/java/security/cert/CertificateFactory.java --- a/src/share/classes/java/security/cert/CertificateFactory.java +++ b/src/share/classes/java/security/cert/CertificateFactory.java @@ -460,7 +460,7 @@ * {@link java.io.InputStream#reset() reset}, this method will * consume the entire input stream. Otherwise, each call to this * method consumes one CRL and the read position of the input stream - * is positioned to the next available byte after the the inherent + * is positioned to the next available byte after the inherent * end-of-CRL marker. If the data in the * input stream does not contain an inherent end-of-CRL marker (other * than EOF) and there is trailing data after the CRL is parsed, a diff --git a/src/share/classes/java/security/cert/CertificateFactorySpi.java b/src/share/classes/java/security/cert/CertificateFactorySpi.java --- a/src/share/classes/java/security/cert/CertificateFactorySpi.java +++ b/src/share/classes/java/security/cert/CertificateFactorySpi.java @@ -88,7 +88,7 @@ * {@link java.io.InputStream#reset() reset}, this method will * consume the entire input stream. Otherwise, each call to this * method consumes one certificate and the read position of the input stream - * is positioned to the next available byte after the the inherent + * is positioned to the next available byte after the inherent * end-of-certificate marker. If the data in the * input stream does not contain an inherent end-of-certificate marker (other * than EOF) and there is trailing data after the certificate is parsed, a @@ -261,7 +261,7 @@ * {@link java.io.InputStream#reset() reset}, this method will * consume the entire input stream. Otherwise, each call to this * method consumes one CRL and the read position of the input stream - * is positioned to the next available byte after the the inherent + * is positioned to the next available byte after the inherent * end-of-CRL marker. If the data in the * input stream does not contain an inherent end-of-CRL marker (other * than EOF) and there is trailing data after the CRL is parsed, a From irisg at alum.mit.edu Tue Apr 7 01:10:27 2009 From: irisg at alum.mit.edu (irisg at alum.mit.edu) Date: Mon, 6 Apr 2009 18:10:27 -0700 Subject: Review request for 6795561 In-Reply-To: <49C89E3E.2020700@sun.com> References: <49C89E3E.2020700@sun.com> Message-ID: <00bb01c9b71d$a3a6c500$eaf44f00$@mit.edu> Hi, Alan. Sorry it took me so long to get to this. I needed to carve out some time so that I could think about your changes and review a few things on bugs.sun.com. > From: Alan Bateman > Sent: Tuesday, March 24, 2009 1:48 AM > To: core-libs-dev > Subject: Review request for 6795561 > > 6795561: (bf) CharBuffer.subSequence() uses wrong capacity value for new > buffer > > Iris, you might want to review this one. > CharBuffer#subSequence(start,end) is specified to return a char buffer > that has a position of position() + start, a limit of position() + end, > and a capacity of capacity(). For buffers created via > CharBuffer#allocate or char buffer views we've always generated code > that return a CharBuffer with a position of 0 and a limit and capacity > that is the length of the subsequence. To my knowledge this hasn't been > noticed, probably because it required casting the result to a char > buffer. I think that this behavior was noticed. See this specification bug: 4511104 (bf spec) CharBuffer.subSequence() specification incorrect > The webrev is here: > http://cr.openjdk.java.net/~alanb/6795561/webrev.00/ Given the unfortunate bug history of this method, I think that your approach is the way to go. I also agree with your evaluation to let the change bake in jdk7 then backport to an appropriate 6uX release. I approve. Given that your update will address the problem described in 4511104, I suggest that you provide a minor update to that evaluation then close it as duplicate of 6795561. Fantastic bit of work! Let's hope CharBuffer.subSequence() is finally a happy method. iris From yu-ching.peng at sun.com Tue Apr 7 01:57:44 2009 From: yu-ching.peng at sun.com (yu-ching.peng at sun.com) Date: Tue, 07 Apr 2009 01:57:44 +0000 Subject: hg: jdk7/tl/jdk: 2 new changesets Message-ID: <20090407015826.C251CE4B7@hg.openjdk.java.net> Changeset: 45ff1a9d4edb Author: valeriep Date: 2009-04-06 18:46 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/45ff1a9d4edb 4735126: (cl) ClassLoader.loadClass locks all instances in chain when delegating Summary: Added support for parallel-capable class loaders Reviewed-by: alanb ! make/java/java/mapfile-vers ! src/share/classes/java/lang/Class.java ! src/share/classes/java/lang/ClassLoader.java ! src/share/classes/java/net/URLClassLoader.java ! src/share/classes/java/security/SecureClassLoader.java ! src/share/classes/sun/misc/Launcher.java ! src/share/native/java/lang/ClassLoader.c + test/java/lang/ClassLoader/deadlock/Alice.java + test/java/lang/ClassLoader/deadlock/Bob.java + test/java/lang/ClassLoader/deadlock/DelegatingLoader.java + test/java/lang/ClassLoader/deadlock/Starter.java + test/java/lang/ClassLoader/deadlock/SupAlice.java + test/java/lang/ClassLoader/deadlock/SupBob.java + test/java/lang/ClassLoader/deadlock/TestCrossDelegate.sh + test/java/lang/ClassLoader/deadlock/TestOneWayDelegate.sh Changeset: 22b6e09960c1 Author: valeriep Date: 2009-04-06 18:52 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/22b6e09960c1 6440846: (cl) Deadlock between AppClassLoader and ExtClassLoader Summary: Fixed a deadlock between the two class loaders Reviewed-by: alanb ! src/share/classes/sun/security/jca/ProviderConfig.java + test/java/security/Security/ClassLoaderDeadlock/CreateSerialized.java + test/java/security/Security/ClassLoaderDeadlock/Deadlock2.java + test/java/security/Security/ClassLoaderDeadlock/Deadlock2.sh From mr at sun.com Tue Apr 7 03:45:31 2009 From: mr at sun.com (Mark Reinhold) Date: Mon, 06 Apr 2009 20:45:31 -0700 Subject: java-nio-charset-enhanced -- Milestone 4 is released In-Reply-To: martinrb@google.com; Mon, 06 Apr 2009 17:27:41 PDT; <1ccfd1c10904061727y1a6b7935g68514a250f9f385b@mail.gmail.com> Message-ID: <20090407034531.DF413AC26@callebaut.niobe.net> > Date: Mon, 06 Apr 2009 17:27:41 -0700 > From: Martin Buchholz > On Mon, Mar 30, 2009 at 21:51, Mark Reinhold wrote: >>> Date: Sun, 29 Mar 2009 11:27:26 -0700 >>> From: Martin Buchholz >>> The problem is more human. ?One would like to give credit for good >>> ideas or good analysis, but the only official way to give credit in a >>> commit message is via a simple >>> Contributed-by: email-address >>> which raises legal doubts even when there is no copyrighted material. >> >> Exactly what sort of legal doubts do you have in mind here? >> >> We already require the contributor of any nontrivial change to submit an >> SCA prior to that change being integrated. ?Is that not sufficient? > > I am worried about: > - contributions that do not require a copyright assignment, > e.g. an excellent bug report Bug reports submitted to bugs.sun.com, to bugs.openjdk.java.net, or in e-mail to an openjdk.java.net list are covered by appropriate Terms of Use (ToU) statements. Are they not sufficient? > - contributions from a Google employee, because of repeated institutional > amnesia that Google has a blanket SCA, which is not reflected in > https://sca.dev.java.net/CA_signatories.htm I'm not sure why that is, but I'll look into it. >>> I guess one can abuse the Summary: field to squeeze in thank-yous, >>> but it's pretty obvious that you are circumventing the process. >> >> Perhaps -- but if we need to fix the process, then we can do that. > > It seems that for changes for which I have an external contributor, > there is a large variety in the nature of the contribution; > sometimes an off-hand remark will cause an avalanche of work on my part. > The nature of the collaboration cannot > be expressed in the commit comment. Perhaps we could have > a Thank-you: with free-form content in addition to a Contributed-by: > with the latter reflecting a legal copyright author to keep the lawyers happy. You seem to think that the Contributed-by line exists in order to keep Sun's lawyers happy. It doesn't. Sun's lawyers actually know nothing about it. We defined the Contributed-by line in order to give credit to non-author contributors in a visible and permanent way. We could equally well have called it the "Thank-you" line, but we didn't. As a changeset author you're free to list anyone whom you think worthy of credit in the Contributed-by line. Is the problem here that you assumed otherwise? If so then we just need to improve the documentation. > Speaking of which -- hopefully jcheck will soon be open-sourced?! Yes. - Mark From Ulf.Zibis at gmx.de Tue Apr 7 07:30:00 2009 From: Ulf.Zibis at gmx.de (Ulf Zibis) Date: Tue, 07 Apr 2009 09:30:00 +0200 Subject: java-nio-charset-enhanced -- Milestone 4 is released In-Reply-To: <20090407034531.DF413AC26@callebaut.niobe.net> References: <20090407034531.DF413AC26@callebaut.niobe.net> Message-ID: <49DB00F8.7090306@gmx.de> Am 07.04.2009 05:45, Mark Reinhold schrieb: > > You seem to think that the Contributed-by line exists in order to keep > Sun's lawyers happy. It doesn't. Sun's lawyers actually know nothing > about it. > > We defined the line in order to give credit to non-author > contributors in a visible and permanent way. We could equally well have > called it the "Thank-you" line, but we didn't. > > As a changeset author you're free to list anyone whom you think worthy of > credit in the Contributed-by line. Is the problem here that you assumed > otherwise? If so then we just need to improve the documentation. > > Mark, Martin, I'm happy, that there is some discussion about this subject. :-) I never have seen such a "Contributed-by" line. Do you think about something like? : /** * ... * @author Mark Reinold * @contributor Ulf Zibis */ -Ulf From Christian.Thalinger at Sun.COM Tue Apr 7 08:00:38 2009 From: Christian.Thalinger at Sun.COM (Christian Thalinger) Date: Tue, 07 Apr 2009 10:00:38 +0200 Subject: java-nio-charset-enhanced -- Milestone 4 is released In-Reply-To: <49DB00F8.7090306@gmx.de> References: <20090407034531.DF413AC26@callebaut.niobe.net> <49DB00F8.7090306@gmx.de> Message-ID: <1239091238.7249.3.camel@localhost.localdomain> On Tue, 2009-04-07 at 09:30 +0200, Ulf Zibis wrote: > I never have seen such a "Contributed-by" line. Contributed-by lines are in the commit message of the changeset, like: http://hg.openjdk.java.net/jdk7/hotspot-comp-gate/hotspot/rev/dbbe28fc66b5 -- Christian From Alan.Bateman at Sun.COM Tue Apr 7 11:07:03 2009 From: Alan.Bateman at Sun.COM (Alan Bateman) Date: Tue, 07 Apr 2009 12:07:03 +0100 Subject: core lib typo fixes In-Reply-To: <1ccfd1c10904061751s212312c3q92c112f07642a248@mail.gmail.com> References: <1ccfd1c10904061751s212312c3q92c112f07642a248@mail.gmail.com> Message-ID: <49DB33D7.8030503@sun.com> Martin Buchholz wrote: > Hi Alan, > > Could you review the typo fixes below, > and file a bug for me to use in my commit? > > Thanks, > > Martin > The corrections look good to me. I've created: 6827153: Miscellaneous typos in javadoc -Alan. From Alan.Bateman at Sun.COM Tue Apr 7 11:50:45 2009 From: Alan.Bateman at Sun.COM (Alan Bateman) Date: Tue, 07 Apr 2009 12:50:45 +0100 Subject: Review request for 6795561 In-Reply-To: <00bb01c9b71d$a3a6c500$eaf44f00$@mit.edu> References: <49C89E3E.2020700@sun.com> <00bb01c9b71d$a3a6c500$eaf44f00$@mit.edu> Message-ID: <49DB3E15.4080607@sun.com> irisg at alum.mit.edu wrote: > : > Given the unfortunate bug history of this method, I think that your > approach is the way to go. I also agree with your evaluation to let > the change bake in jdk7 then backport to an appropriate 6uX release. > > I approve. Given that your update will address the problem described > in 4511104, I suggest that you provide a minor update to that > evaluation then close it as duplicate of 6795561. > > Fantastic bit of work! Let's hope CharBuffer.subSequence() is finally > a happy method. > Thanks for spending time on this one; the history is indeed unfortunate. We should probably have caught this back in 1.4 with better test coverage. I initially didn't see 4511104 but I did toy with proposing a spec change to have subSequence work like slice. The downside with that is that it could cause breakage for code that obtains a subsequence of a wrapped String (as this case worked as expected, at least until recently). -Alan. From mr at sun.com Tue Apr 7 15:10:54 2009 From: mr at sun.com (Mark Reinhold) Date: Tue, 07 Apr 2009 08:10:54 -0700 Subject: java-nio-charset-enhanced -- Milestone 4 is released In-Reply-To: christian.thalinger@sun.com; Tue, 07 Apr 2009 10:00:38 +0200; <1239091238.7249.3.camel@localhost.localdomain> Message-ID: <20090407151054.327232917FE@eggemoggin.niobe.net> > Date: Tue, 07 Apr 2009 10:00:38 +0200 > From: christian.thalinger at sun.com > On Tue, 2009-04-07 at 09:30 +0200, Ulf Zibis wrote: >> I never have seen such a "Contributed-by" line. > > Contributed-by lines are in the commit message of the changeset, like: > > http://hg.openjdk.java.net/jdk7/hotspot-comp-gate/hotspot/rev/dbbe28fc66b5 Or, for reference, here's the full definition of the changeset-comment syntax: http://openjdk.java.net/guide/producingChangeset.html#changesetComment - Mark From weijun.wang at sun.com Wed Apr 8 06:00:40 2009 From: weijun.wang at sun.com (weijun.wang at sun.com) Date: Wed, 08 Apr 2009 06:00:40 +0000 Subject: hg: jdk7/tl/jdk: 4811968: ASN.1 (X509Certificate) implementations don't handle large OID components Message-ID: <20090408060115.E223BE5ED@hg.openjdk.java.net> Changeset: a31f5f824580 Author: weijun Date: 2009-04-08 13:54 +0800 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/a31f5f824580 4811968: ASN.1 (X509Certificate) implementations don't handle large OID components Reviewed-by: xuelei ! src/share/classes/sun/security/util/ObjectIdentifier.java ! test/sun/security/util/Oid/OidFormat.java + test/sun/security/util/Oid/S11N.sh + test/sun/security/util/Oid/SerialTest.java From Dalibor.Topic at Sun.COM Wed Apr 8 16:22:35 2009 From: Dalibor.Topic at Sun.COM (Dalibor Topic) Date: Wed, 08 Apr 2009 18:22:35 +0200 Subject: OpenJDK Forum: Core Libraries Round Table Message-ID: <49DCCF4B.20506@sun.com> Hi core libraries developers, I'd like to carry on doing these, as the last one we did for contributing into OpenJDK 6 was fun and productive, so per Alan Bateman's suggestion, it's time again tomorrow, on Thursday, for the OpenJDK Forum Date/Time: Thursday Apr. 9th, 8 AM Pacific, 1600 GMT, 5 PM Germany Subject: Core libraries round table Call Host: Dalibor Topic Expected Participants: * members of discuss at openjdk and core-libs-dev at openjdk mailing lists interested in hearing what everyone else is working on in the core libraries area. Synopsis: The agenda would be just go around the table and get everyone to speak on what they are working on in the core libraries area in OpenJDK. We will then switch to open discussion mode to hear people's questions, concerns, and suggestions on the subject matter. The call will be recorded, and the recording will be made available after the call - in a free format, of course! Dial in numbers: Passcode: 5817876 Speed dial extension for developers inside Sun: x44414 Country Toll Numbers Freephone/Toll Free Number ARGENTINA 0800-777-0463 AUSTRALIA ADELAIDE: 61-8-8121-4868 1-800-249-288 AUSTRALIA BRISBANE: 61-7-3102-0970 1-800-249-288 AUSTRALIA CANBERRA: 61-2-6100-1970 1-800-249-288 AUSTRALIA MELBOURNE: 61-3-9010-7739 1-800-249-288 AUSTRALIA PERTH: 61-8-9467-5249 1-800-249-288 AUSTRALIA SYDNEY: 61-2-8205-8125 1-800-249-288 AUSTRIA 43-1-92-86-506 0800-005-029 BELGIUM 32-1-150-0314 0800-4-8680 BRAZIL 0800-7610674 CHILE 1230-020-2867 CHINA* 86-400-810-4766 10800-712-1433 10800-120-1433 COLOMBIA 01800-9-156430 CZECH REPUBLIC 420-2-25-98-56-54 800-700-173 DENMARK 45-7014-0280 8088-6132 ESTONIA 800-011-1089 FINLAND Land Line: 106-33-146 0-800-1-10100 FINLAND Mobile: 09-106-33-146 0-800-1-10100 FRANCE LYON: 33-4-26-69-12-81 080-563-9647 FRANCE MARSEILLE: 33-4-86-06-00-81 080-563-9647 FRANCE PARIS: 33-1-70-70-74-20 080-563-9647 GERMANY 49-69-2222-2566 0800-000-3441 GREECE 30-80-1-100-0683 00800-12-6973 HONG KONG 852-2286-5731 800-930-705 HUNGARY 06-800-18013 INDIA 000-800-852-1266 INDONESIA 001-803-011-3787 IRELAND 353-1-247-5253 1800-932-145 ISRAEL 1-80-9214916 ITALY 39-02-3600-3642 800-986-570 JAPAN OSAKA: 81-6-7739-4769 0034-800-400828 JAPAN TOKYO: 81-3-5539-5189 0034-800-400828 LATVIA 8000-3025 LUXEMBOURG 352-27-000-1360 MALAYSIA 1-800-80-2812 MEXICO 001-866-627-0574 NETHERLANDS 31-20-718-8533 0800-020-1392 NEW ZEALAND 64-9-970-4769 0800-449-823 NORWAY 47-21-59-00-59 800-15414 PANAMA 011-001-800-5072129 PERU 0800-53733 PHILIPPINES 63-2-858-3715 POLAND 00-800-1212021 PORTUGAL 8008-14061 RUSSIA 8-10-8002-9683011 SINGAPORE 65-6883-9228 800-120-4662 SLOVAK REPUBLIC 421-2-322-422-21 SOUTH AFRICA 080-09-80416 SOUTH KOREA 82-2-6744-1081 00798-14800-6860 SPAIN 34-91-414-62-98 800-099-810 SWEDEN 46-8-505-78-524 0200-890-106 SWITZERLAND 41-44-580-4389 0800-001-523 TAIWAN 886-2-2795-7377 00801-137-766 THAILAND 001-800-1206-65656 UNITED KINGDOM BIRMINGHAM: 44-121-210-9021 0808-238-6025 UNITED KINGDOM GLASGOW: 44-141-202-3221 0808-238-6025 UNITED KINGDOM LEEDS: 44-113-301-2121 0808-238-6025 UNITED KINGDOM LONDON: 44-20-7075-3246 0808-238-6025 UNITED KINGDOM MANCHESTER: 44-161-601-1421 0808-238-6025 URUGUAY 000-413-598-3415 USA 1-203-418-3122 866-692-3163 VENEZUELA 0800-1-00-3733 cheers, dalibor topic -- ******************************************************************* Dalibor Topic Tel: (+49 40) 23 646 738 Java F/OSS Ambassador AIM: robiladonaim Sun Microsystems GmbH Mobile: (+49 177) 2664 192 Nagelsweg 55 http://openjdk.java.net D-20097 Hamburg mailto:Dalibor.Topic at sun.com Sitz der Gesellschaft: Sonnenallee 1, D-85551 Kirchheim-Heimstetten Amtsgericht M?nchen: HRB 161028 Gesch?ftsf?hrer: Thomas Schr?der, Wolfgang Engels, Dr. Roland B?mer Vorsitzender des Aufsichtsrates: Martin H?ring From xueming.shen at sun.com Wed Apr 8 16:35:36 2009 From: xueming.shen at sun.com (xueming.shen at sun.com) Date: Wed, 08 Apr 2009 16:35:36 +0000 Subject: hg: jdk7/tl/jdk: 6827871: Cleanup leftover code in CharToByteJohab.java Message-ID: <20090408163614.83C87E65D@hg.openjdk.java.net> Changeset: 74a3d8978eb0 Author: sherman Date: 2009-04-08 09:21 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/74a3d8978eb0 6827871: Cleanup leftover code in CharToByteJohab.java Summary: Removed the leftover data tables Reviewed-by: alanb ! src/share/classes/sun/io/CharToByteJohab.java From xueming.shen at sun.com Wed Apr 8 17:50:30 2009 From: xueming.shen at sun.com (xueming.shen at sun.com) Date: Wed, 08 Apr 2009 17:50:30 +0000 Subject: hg: jdk7/tl/jdk: 6827921: ByteToCharBig5.java should use nio data tables instead of its own copy Message-ID: <20090408175047.42EB6E686@hg.openjdk.java.net> Changeset: 6fe0aa207f5f Author: sherman Date: 2009-04-08 10:40 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/6fe0aa207f5f 6827921: ByteToCharBig5.java should use nio data tables instead of its own copy Summary: To use the data tables from sun.nio.cs.ext.Big5 Reviewed-by: alanb ! src/share/classes/sun/io/ByteToCharBig5.java From weijun.wang at sun.com Thu Apr 9 07:39:02 2009 From: weijun.wang at sun.com (weijun.wang at sun.com) Date: Thu, 09 Apr 2009 07:39:02 +0000 Subject: hg: jdk7/tl/jdk: 6714845: Quotes in Kerberos configuration file are included in the values Message-ID: <20090409073936.43E3BE6D1@hg.openjdk.java.net> Changeset: 8d37331265ae Author: weijun Date: 2009-04-09 15:32 +0800 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/8d37331265ae 6714845: Quotes in Kerberos configuration file are included in the values Reviewed-by: xuelei ! src/share/classes/sun/security/krb5/Config.java + test/sun/security/krb5/ConfigWithQuotations.java + test/sun/security/krb5/edu.mit.Kerberos From Dalibor.Topic at Sun.COM Thu Apr 9 14:05:33 2009 From: Dalibor.Topic at Sun.COM (Dalibor Topic) Date: Thu, 09 Apr 2009 16:05:33 +0200 Subject: Update: OpenJDK Forum: Core Libraries Round Table In-Reply-To: <49DCCF4B.20506@sun.com> References: <49DCCF4B.20506@sun.com> Message-ID: <49DE00AD.6070001@sun.com> Dalibor Topic wrote: > Hi core libraries developers, > > I'd like to carry on doing these, as the last one we did for > contributing into OpenJDK 6 was fun and productive, so per > Alan Bateman's suggestion, it's time again tomorrow, on > Thursday, for the > > OpenJDK Forum > > Date/Time: Thursday Apr. 9th, 8 AM Pacific, 1600 GMT, 5 PM Germany > > Subject: Core libraries round table Expected Participants: I hope that we'll also be able to have Michael McMahon, Chris Hegarty, Alan Bateman and Vincent Ryan join us for the call. Since conference calls may be a somewhat new experience to some of us, here are a couple ground rules: * Please identify yourself by name and location when speaking. At least in theory, we could have more then one Dalibor on the call, for example, and for those of us not familiar with each Dalibor's voice, having a way to pick them apart is useful. * Please address individuals by name when speaking. That helps keep the discussion flowing, without causing confusion who a particular question, remark or idea is addressed to. * Please speak clearly and avoid side conversations and background noise. We'll use the #openjdk IRC channel on irc.oftc.net for side conversations. If you are not familiar with IRC clients, you can run the corresponding web start application at http://openjdk.java.net/irc/ . * Keeping the noise down When you're not speaking, please mute your own line by pressing *6 on your telephone keypad. To unmute press *6 again. * On Sun campus in Dublin? Please join Alan Bateman in conference room "James Joyce" in building 03. * On Sun campus in Santa Clara? Please join Mark Reinhold in conference room "Firewall" in building 22. * On Sun campus in Hamburg? Please join Dalibor Topic in conference room "Dublin". See & hear you soon, dalibor topic -- ******************************************************************* Dalibor Topic Tel: (+49 40) 23 646 738 Java F/OSS Ambassador AIM: robiladonaim Sun Microsystems GmbH Mobile: (+49 177) 2664 192 Nagelsweg 55 http://openjdk.java.net D-20097 Hamburg mailto:Dalibor.Topic at sun.com Sitz der Gesellschaft: Sonnenallee 1, D-85551 Kirchheim-Heimstetten Amtsgericht M?nchen: HRB 161028 Gesch?ftsf?hrer: Thomas Schr?der, Wolfgang Engels, Dr. Roland B?mer Vorsitzender des Aufsichtsrates: Martin H?ring From Dalibor.Topic at Sun.COM Thu Apr 9 15:05:25 2009 From: Dalibor.Topic at Sun.COM (Dalibor Topic) Date: Thu, 09 Apr 2009 17:05:25 +0200 Subject: Update: OpenJDK Forum: Core Libraries Round Table In-Reply-To: <49DE00AD.6070001@sun.com> References: <49DCCF4B.20506@sun.com> <49DE00AD.6070001@sun.com> Message-ID: <49DE0EB5.1010606@sun.com> Dalibor Topic wrote: > > Please join Mark Reinhold in conference room "Firewall" in building 22. In Mars Bars, actually. cheers, dalibor topic -- ******************************************************************* Dalibor Topic Tel: (+49 40) 23 646 738 Java F/OSS Ambassador AIM: robiladonaim Sun Microsystems GmbH Mobile: (+49 177) 2664 192 Nagelsweg 55 http://openjdk.java.net D-20097 Hamburg mailto:Dalibor.Topic at sun.com Sitz der Gesellschaft: Sonnenallee 1, D-85551 Kirchheim-Heimstetten Amtsgericht M?nchen: HRB 161028 Gesch?ftsf?hrer: Thomas Schr?der, Wolfgang Engels, Dr. Roland B?mer Vorsitzender des Aufsichtsrates: Martin H?ring From Dalibor.Topic at Sun.COM Thu Apr 9 16:58:35 2009 From: Dalibor.Topic at Sun.COM (Dalibor Topic) Date: Thu, 09 Apr 2009 18:58:35 +0200 Subject: OpenJDK Forum: Core Libraries Round Table In-Reply-To: <49DCCF4B.20506@sun.com> References: <49DCCF4B.20506@sun.com> Message-ID: <49DE293B.50401@sun.com> Dalibor Topic wrote: > Hi core libraries developers, > > I'd like to carry on doing these, as the last one we did for > contributing into OpenJDK 6 was fun and productive, so per > Alan Bateman's suggestion, it's time again tomorrow, on > Thursday, for the > > OpenJDK Forum > > Date/Time: Thursday Apr. 9th, 8 AM Pacific, 1600 GMT, 5 PM Germany > > Subject: Core libraries round table A recording of the call is available on http://mediacast.sun.com/users/robilad/media/openjdk6-core-libs.ogg cheers, dalibor topic -- ******************************************************************* Dalibor Topic Tel: (+49 40) 23 646 738 Java F/OSS Ambassador AIM: robiladonaim Sun Microsystems GmbH Mobile: (+49 177) 2664 192 Nagelsweg 55 http://openjdk.java.net D-20097 Hamburg mailto:Dalibor.Topic at sun.com Sitz der Gesellschaft: Sonnenallee 1, D-85551 Kirchheim-Heimstetten Amtsgericht M?nchen: HRB 161028 Gesch?ftsf?hrer: Thomas Schr?der, Wolfgang Engels, Dr. Roland B?mer Vorsitzender des Aufsichtsrates: Martin H?ring From gnu_andrew at member.fsf.org Thu Apr 9 17:18:49 2009 From: gnu_andrew at member.fsf.org (Andrew John Hughes) Date: Thu, 9 Apr 2009 18:18:49 +0100 Subject: OpenJDK Forum: Core Libraries Round Table In-Reply-To: <49DE293B.50401@sun.com> References: <49DCCF4B.20506@sun.com> <49DE293B.50401@sun.com> Message-ID: <17c6771e0904091018s1445c03eycfad3634fa45e66b@mail.gmail.com> 2009/4/9 Dalibor Topic : > Dalibor Topic wrote: >> Hi core libraries developers, >> >> I'd like to carry on doing these, as the last one we did for >> contributing into OpenJDK 6 was fun and productive, so per >> Alan Bateman's suggestion, it's time again tomorrow, on >> Thursday, for the >> >> ? ? ? OpenJDK Forum >> >> Date/Time: Thursday Apr. 9th, 8 AM Pacific, 1600 GMT, 5 PM Germany >> >> Subject: Core libraries round table > > A recording of the call is available on > http://mediacast.sun.com/users/robilad/media/openjdk6-core-libs.ogg > > cheers, > dalibor topic > -- > ******************************************************************* > Dalibor Topic ? ? ? ? ? ? ? ? ? Tel: (+49 40) 23 646 738 > Java F/OSS Ambassador ? ? ? ? ? AIM: robiladonaim > Sun Microsystems GmbH ? ? ? ? ? Mobile: (+49 177) 2664 192 > Nagelsweg 55 ? ? ? ? ? ? ? ? ? ?http://openjdk.java.net > D-20097 Hamburg ? ? ? ? ? ? ? ? mailto:Dalibor.Topic at sun.com > Sitz der Gesellschaft: Sonnenallee 1, D-85551 Kirchheim-Heimstetten > Amtsgericht M?nchen: HRB 161028 > Gesch?ftsf?hrer: Thomas Schr?der, Wolfgang Engels, Dr. Roland B?mer > Vorsitzender des Aufsichtsrates: Martin H?ring > > > Thanks Alan and Dalibor for organising a great conference call. I picked up a lot of stuff I didn't even realise was happening for JDK7, like Josh's work on the new sorting algorithm which I'll be really happy to see go in. It's just a pity we don't see more of this on the mailing lists!!! Looking forward to the next one, -- Andrew :-) Free Java Software Engineer Red Hat, Inc. (http://www.redhat.com) Support Free Java! Contribute to GNU Classpath and the OpenJDK http://www.gnu.org/software/classpath http://openjdk.java.net PGP Key: 94EFD9D8 (http://subkeys.pgp.net) Fingerprint: F8EF F1EA 401E 2E60 15FA 7927 142C 2591 94EF D9D8 From Dalibor.Topic at Sun.COM Thu Apr 9 17:35:25 2009 From: Dalibor.Topic at Sun.COM (Dalibor Topic) Date: Thu, 09 Apr 2009 19:35:25 +0200 Subject: OpenJDK Forum: Core Libraries Round Table In-Reply-To: <17c6771e0904091018s1445c03eycfad3634fa45e66b@mail.gmail.com> References: <49DCCF4B.20506@sun.com> <49DE293B.50401@sun.com> <17c6771e0904091018s1445c03eycfad3634fa45e66b@mail.gmail.com> Message-ID: <49DE31DD.3010002@sun.com> Andrew John Hughes wrote: > Thanks Alan and Dalibor for organising a great conference call. I > picked up a lot of stuff I didn't even realise was happening for JDK7, > like Josh's work on the new sorting algorithm which I'll be really > happy to see go in. It's just a pity we don't see more of this on the > mailing lists!!! I first learned of Josh hacking on tim sort through twitter, thanks to the jython crew: http://twitter.com/fwierzbicki/status/1402775078 > Looking forward to the next one, I'll be at traveling to the JAX conference two weeks from now, so the week of April 27th or May 3rd would work best for me. So let's think about doing another one three, four weeks from now. Does that sound OK? cheers, dalibor topic -- ******************************************************************* Dalibor Topic Tel: (+49 40) 23 646 738 Java F/OSS Ambassador AIM: robiladonaim Sun Microsystems GmbH Mobile: (+49 177) 2664 192 Nagelsweg 55 http://openjdk.java.net D-20097 Hamburg mailto:Dalibor.Topic at sun.com Sitz der Gesellschaft: Sonnenallee 1, D-85551 Kirchheim-Heimstetten Amtsgericht M?nchen: HRB 161028 Gesch?ftsf?hrer: Thomas Schr?der, Wolfgang Engels, Dr. Roland B?mer Vorsitzender des Aufsichtsrates: Martin H?ring From Thomas.Hawtin at Sun.COM Thu Apr 9 17:45:45 2009 From: Thomas.Hawtin at Sun.COM (Tom Hawtin) Date: Thu, 09 Apr 2009 18:45:45 +0100 Subject: OpenJDK Forum: Core Libraries Round Table In-Reply-To: <49DE293B.50401@sun.com> References: <49DCCF4B.20506@sun.com> <49DE293B.50401@sun.com> Message-ID: <49DE3449.5090002@sun.com> Dalibor Topic wrote: > > A recording of the call is available on > http://mediacast.sun.com/users/robilad/media/openjdk6-core-libs.ogg Any chance of getting that in a mainstream format? Windows doesn't understand it. Rhythmbox under VirtualBox freezes. Tom Hawtin From gnu_andrew at member.fsf.org Thu Apr 9 18:02:32 2009 From: gnu_andrew at member.fsf.org (Andrew John Hughes) Date: Thu, 9 Apr 2009 19:02:32 +0100 Subject: OpenJDK Forum: Core Libraries Round Table In-Reply-To: <49DE3449.5090002@sun.com> References: <49DCCF4B.20506@sun.com> <49DE293B.50401@sun.com> <49DE3449.5090002@sun.com> Message-ID: <17c6771e0904091102p5cc3a062r90fa7083fd51877@mail.gmail.com> 2009/4/9 Tom Hawtin : > Dalibor Topic wrote: >> >> A recording of the call is available on >> http://mediacast.sun.com/users/robilad/media/openjdk6-core-libs.ogg > > Any chance of getting that in a mainstream format? Windows doesn't > understand it. Rhythmbox under VirtualBox freezes. > > Tom Hawtin > That is mainstream and Free: http://www.fsf.org/resources/formats/playogg -- Andrew :-) Free Java Software Engineer Red Hat, Inc. (http://www.redhat.com) Support Free Java! Contribute to GNU Classpath and the OpenJDK http://www.gnu.org/software/classpath http://openjdk.java.net PGP Key: 94EFD9D8 (http://subkeys.pgp.net) Fingerprint: F8EF F1EA 401E 2E60 15FA 7927 142C 2591 94EF D9D8 From Dalibor.Topic at Sun.COM Thu Apr 9 18:09:40 2009 From: Dalibor.Topic at Sun.COM (Dalibor Topic) Date: Thu, 09 Apr 2009 20:09:40 +0200 Subject: OpenJDK Forum: Core Libraries Round Table In-Reply-To: <49DE3449.5090002@sun.com> References: <49DCCF4B.20506@sun.com> <49DE293B.50401@sun.com> <49DE3449.5090002@sun.com> Message-ID: <49DE39E4.4070609@sun.com> Tom Hawtin wrote: > Dalibor Topic wrote: >> >> A recording of the call is available on >> http://mediacast.sun.com/users/robilad/media/openjdk6-core-libs.ogg > > Any chance of getting that in a mainstream format? Windows doesn't > understand it. Rhythmbox under VirtualBox freezes. I'll generate an mp3 in a few minutes, once I've figured out how to do it. Audacity has this great 'export to Ogg Vorbis' feature that just works. ;) cheers, dalibor topic -- ******************************************************************* Dalibor Topic Tel: (+49 40) 23 646 738 Java F/OSS Ambassador AIM: robiladonaim Sun Microsystems GmbH Mobile: (+49 177) 2664 192 Nagelsweg 55 http://openjdk.java.net D-20097 Hamburg mailto:Dalibor.Topic at sun.com Sitz der Gesellschaft: Sonnenallee 1, D-85551 Kirchheim-Heimstetten Amtsgericht M?nchen: HRB 161028 Gesch?ftsf?hrer: Thomas Schr?der, Wolfgang Engels, Dr. Roland B?mer Vorsitzender des Aufsichtsrates: Martin H?ring From gnu_andrew at member.fsf.org Thu Apr 9 18:48:19 2009 From: gnu_andrew at member.fsf.org (Andrew John Hughes) Date: Thu, 9 Apr 2009 19:48:19 +0100 Subject: OpenJDK Forum: Core Libraries Round Table In-Reply-To: <9989FAA3-081F-460A-9E22-0BC8382AEC70@sun.com> References: <49DCCF4B.20506@sun.com> <49DE293B.50401@sun.com> <49DE3449.5090002@sun.com> <49DE39E4.4070609@sun.com> <9989FAA3-081F-460A-9E22-0BC8382AEC70@sun.com> Message-ID: <17c6771e0904091148l6fa5747cu9c32eeca16467ec2@mail.gmail.com> 2009/4/9 Jeff Dinkins : > > VLC plays ogg. > > What? You don't have VLC? Well time to grab a copy! > > ?http://www.videolan.org/vlc > > jeff > > p.s. I vote to keep it ogg only to promote more people to use it :-) > +1 :) Personally, I think there was already a compromise by going with Ogg Vorbis over Speex ;) > > > On Apr 9, 2009, at 1:09 PM, Dalibor Topic wrote: > >> Tom Hawtin wrote: >>> >>> Dalibor Topic wrote: >>>> >>>> A recording of the call is available on >>>> http://mediacast.sun.com/users/robilad/media/openjdk6-core-libs.ogg >>> >>> Any chance of getting that in a mainstream format? Windows doesn't >>> understand it. Rhythmbox under VirtualBox freezes. >> >> I'll generate an mp3 in a few minutes, once I've figured out how to do it. >> >> Audacity has this great 'export to Ogg Vorbis' feature that just works. ;) >> >> cheers, >> dalibor topic >> -- >> ******************************************************************* >> Dalibor Topic ? ? ? ? ? ? ? ? ? Tel: (+49 40) 23 646 738 >> Java F/OSS Ambassador ? ? ? ? ? AIM: robiladonaim >> Sun Microsystems GmbH ? ? ? ? ? Mobile: (+49 177) 2664 192 >> Nagelsweg 55 ? ? ? ? ? ? ? ? ? ?http://openjdk.java.net >> D-20097 Hamburg ? ? ? ? ? ? ? ? mailto:Dalibor.Topic at sun.com >> Sitz der Gesellschaft: Sonnenallee 1, D-85551 Kirchheim-Heimstetten >> Amtsgericht M?nchen: HRB 161028 >> Gesch?ftsf?hrer: Thomas Schr?der, Wolfgang Engels, Dr. Roland B?mer >> Vorsitzender des Aufsichtsrates: Martin H?ring >> >> > > -- Andrew :-) Free Java Software Engineer Red Hat, Inc. (http://www.redhat.com) Support Free Java! Contribute to GNU Classpath and the OpenJDK http://www.gnu.org/software/classpath http://openjdk.java.net PGP Key: 94EFD9D8 (http://subkeys.pgp.net) Fingerprint: F8EF F1EA 401E 2E60 15FA 7927 142C 2591 94EF D9D8 From gnu_andrew at member.fsf.org Thu Apr 9 19:22:58 2009 From: gnu_andrew at member.fsf.org (Andrew John Hughes) Date: Thu, 9 Apr 2009 20:22:58 +0100 Subject: OpenJDK Forum: Core Libraries Round Table In-Reply-To: <49DE4733.50902@optrak.co.uk> References: <49DCCF4B.20506@sun.com> <49DE293B.50401@sun.com> <49DE3449.5090002@sun.com> <49DE39E4.4070609@sun.com> <9989FAA3-081F-460A-9E22-0BC8382AEC70@sun.com> <49DE4733.50902@optrak.co.uk> Message-ID: <17c6771e0904091222j1850a378r8ce209c314fd75e9@mail.gmail.com> 2009/4/9 Mark Thornton : > Jeff Dinkins wrote: >> >> VLC plays ogg. >> >> What? You don't have VLC? Well time to grab a copy! >> >> ?http://www.videolan.org/vlc >> >> jeff >> >> p.s. I vote to keep it ogg only to promote more people to use it :-) >> > Shouldn't you be using a format supported by Java ... > ;-) > > Mark Thornton > > Jogg/Jorbis: http://www.jcraft.com/jorbis/tutorial/Tutorial.html I don't think anyone wants to download this as a wav or au... ;) -- Andrew :-) Free Java Software Engineer Red Hat, Inc. (http://www.redhat.com) Support Free Java! Contribute to GNU Classpath and the OpenJDK http://www.gnu.org/software/classpath http://openjdk.java.net PGP Key: 94EFD9D8 (http://subkeys.pgp.net) Fingerprint: F8EF F1EA 401E 2E60 15FA 7927 142C 2591 94EF D9D8 From Thomas.Hawtin at Sun.COM Thu Apr 9 20:05:12 2009 From: Thomas.Hawtin at Sun.COM (Tom Hawtin) Date: Thu, 09 Apr 2009 21:05:12 +0100 Subject: OpenJDK Forum: Core Libraries Round Table In-Reply-To: <17c6771e0904091148l6fa5747cu9c32eeca16467ec2@mail.gmail.com> References: <49DCCF4B.20506@sun.com> <49DE293B.50401@sun.com> <49DE3449.5090002@sun.com> <49DE39E4.4070609@sun.com> <9989FAA3-081F-460A-9E22-0BC8382AEC70@sun.com> <17c6771e0904091148l6fa5747cu9c32eeca16467ec2@mail.gmail.com> Message-ID: <49DE54F8.4020506@sun.com> Andrew John Hughes wrote: > 2009/4/9 Jeff Dinkins : >> VLC plays ogg. >> >> What? You don't have VLC? Well time to grab a copy! The last time I installed a video player (Channel 4's) Windows Media Player stopped working. >> p.s. I vote to keep it ogg only to promote more people to use it :-) I think it needs a better story than that. > +1 :) > > Personally, I think there was already a compromise by going with Ogg > Vorbis over Speex ;) At least I've heard of Ogg Vorbis. Really it ought to be in FXM so JavaFX can play it. Tom Hawtin From Ulf.Zibis at gmx.de Thu Apr 9 20:16:47 2009 From: Ulf.Zibis at gmx.de (Ulf Zibis) Date: Thu, 09 Apr 2009 22:16:47 +0200 Subject: OpenJDK Forum: Core Libraries Round Table In-Reply-To: <49DE54F8.4020506@sun.com> References: <49DCCF4B.20506@sun.com> <49DE293B.50401@sun.com> <49DE3449.5090002@sun.com> <49DE39E4.4070609@sun.com> <9989FAA3-081F-460A-9E22-0BC8382AEC70@sun.com> <17c6771e0904091148l6fa5747cu9c32eeca16467ec2@mail.gmail.com> <49DE54F8.4020506@sun.com> Message-ID: <49DE57AF.7060207@gmx.de> Hi all, it was nice to me as a very external person listening your conversation. Thanks to Dalibor, inviting me. The project, I'm currently working in is: https://java-nio-charset-enhanced.dev.java.net/ Can somebody send me the correct email-address of Joshua Bloch to send him the question I was speaking about? Thanks, -Ulf Am 09.04.2009 22:05, Tom Hawtin schrieb: > Andrew John Hughes wrote: >> 2009/4/9 Jeff Dinkins : >>> VLC plays ogg. >>> >>> What? You don't have VLC? Well time to grab a copy! > > The last time I installed a video player (Channel 4's) Windows Media > Player stopped working. > >>> p.s. I vote to keep it ogg only to promote more people to use it :-) > > I think it needs a better story than that. > >> +1 :) >> >> Personally, I think there was already a compromise by going with Ogg >> Vorbis over Speex ;) > > At least I've heard of Ogg Vorbis. Really it ought to be in FXM so > JavaFX can play it. > > Tom Hawtin > > From Dalibor.Topic at Sun.COM Thu Apr 9 22:05:53 2009 From: Dalibor.Topic at Sun.COM (Dalibor Topic) Date: Fri, 10 Apr 2009 00:05:53 +0200 Subject: OpenJDK Forum: Core Libraries Round Table In-Reply-To: <49DE3449.5090002@sun.com> References: <49DCCF4B.20506@sun.com> <49DE293B.50401@sun.com> <49DE3449.5090002@sun.com> Message-ID: <49DE7141.7040100@sun.com> Tom Hawtin wrote: > Dalibor Topic wrote: >> >> A recording of the call is available on >> http://mediacast.sun.com/users/robilad/media/openjdk6-core-libs.ogg > > Any chance of getting that in a mainstream format? Windows doesn't > understand it. Rhythmbox under VirtualBox freezes. http://mediacast.sun.com/users/robilad/media/openjdk-core-libraries-roundup.mp3 cheers, dalibor topic -- ******************************************************************* Dalibor Topic Tel: (+49 40) 23 646 738 Java F/OSS Ambassador AIM: robiladonaim Sun Microsystems GmbH Mobile: (+49 177) 2664 192 Nagelsweg 55 http://openjdk.java.net D-20097 Hamburg mailto:Dalibor.Topic at sun.com Sitz der Gesellschaft: Sonnenallee 1, D-85551 Kirchheim-Heimstetten Amtsgericht M?nchen: HRB 161028 Gesch?ftsf?hrer: Thomas Schr?der, Wolfgang Engels, Dr. Roland B?mer Vorsitzender des Aufsichtsrates: Martin H?ring From Thomas.Hawtin at Sun.COM Thu Apr 9 23:23:22 2009 From: Thomas.Hawtin at Sun.COM (Tom Hawtin) Date: Fri, 10 Apr 2009 00:23:22 +0100 Subject: OpenJDK Forum: Core Libraries Round Table In-Reply-To: <49DE7141.7040100@sun.com> References: <49DCCF4B.20506@sun.com> <49DE293B.50401@sun.com> <49DE3449.5090002@sun.com> <49DE7141.7040100@sun.com> Message-ID: <49DE836A.3020204@sun.com> Dalibor Topic wrote: > Tom Hawtin wrote: >> Dalibor Topic wrote: >>> A recording of the call is available on >>> http://mediacast.sun.com/users/robilad/media/openjdk6-core-libs.ogg >> Any chance of getting that in a mainstream format? Windows doesn't >> understand it. Rhythmbox under VirtualBox freezes. > > http://mediacast.sun.com/users/robilad/media/openjdk-core-libraries-roundup.mp3 Thanks for that, Dalibor. (I'm no fan of software patents, but it's nice when things just work.) Tom From weijun.wang at sun.com Fri Apr 10 03:27:37 2009 From: weijun.wang at sun.com (weijun.wang at sun.com) Date: Fri, 10 Apr 2009 03:27:37 +0000 Subject: hg: jdk7/tl/jdk: 6587676: Krb5LoginModule failure if useTicketCache=true on Vista Message-ID: <20090410032812.4DC23E7BB@hg.openjdk.java.net> Changeset: 897b2d42995a Author: weijun Date: 2009-04-10 11:21 +0800 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/897b2d42995a 6587676: Krb5LoginModule failure if useTicketCache=true on Vista Reviewed-by: valeriep ! src/windows/native/sun/security/krb5/NativeCreds.c From kevinb at google.com Fri Apr 10 18:24:31 2009 From: kevinb at google.com (Kevin Bourrillion) Date: Fri, 10 Apr 2009 11:24:31 -0700 Subject: OpenJDK Forum: Core Libraries Round Table In-Reply-To: <49DE836A.3020204@sun.com> References: <49DCCF4B.20506@sun.com> <49DE293B.50401@sun.com> <49DE3449.5090002@sun.com> <49DE7141.7040100@sun.com> <49DE836A.3020204@sun.com> Message-ID: <108fcdeb0904101124r37d49da8jf36b6b4cfe56aa8d@mail.gmail.com> Curious if anyone is transcribing the call into text yet? Word-for-word not necessary, but understandable? If no one says they've already done that or at least started, I could volunteer. On Thu, Apr 9, 2009 at 4:23 PM, Tom Hawtin wrote: > Dalibor Topic wrote: > >> Tom Hawtin wrote: >> >>> Dalibor Topic wrote: >>> >>>> A recording of the call is available on >>>> http://mediacast.sun.com/users/robilad/media/openjdk6-core-libs.ogg >>>> >>> Any chance of getting that in a mainstream format? Windows doesn't >>> understand it. Rhythmbox under VirtualBox freezes. >>> >> >> >> http://mediacast.sun.com/users/robilad/media/openjdk-core-libraries-roundup.mp3 >> > > Thanks for that, Dalibor. (I'm no fan of software patents, but it's nice > when things just work.) > > Tom > -- Kevin Bourrillion @ Google internal: http://go/javalibraries google-collections.googlecode.com google-guice.googlecode.com -------------- next part -------------- An HTML attachment was scrubbed... URL: From Ulf.Zibis at gmx.de Fri Apr 10 18:38:01 2009 From: Ulf.Zibis at gmx.de (Ulf Zibis) Date: Fri, 10 Apr 2009 20:38:01 +0200 Subject: OpenJDK Forum: Core Libraries Round Table In-Reply-To: <108fcdeb0904101124r37d49da8jf36b6b4cfe56aa8d@mail.gmail.com> References: <49DCCF4B.20506@sun.com> <49DE293B.50401@sun.com> <49DE3449.5090002@sun.com> <49DE7141.7040100@sun.com> <49DE836A.3020204@sun.com> <108fcdeb0904101124r37d49da8jf36b6b4cfe56aa8d@mail.gmail.com> Message-ID: <49DF9209.9050704@gmx.de> Oh, that would be great, because I didn't understand all. Maybe the speakers could review it, for making details clearer, or adding some links. -Ulf Am 10.04.2009 20:24, Kevin Bourrillion schrieb: > Curious if anyone is transcribing the call into text yet? > Word-for-word not necessary, but understandable? If no one says > they've already done that or at least started, I could volunteer. > > > On Thu, Apr 9, 2009 at 4:23 PM, Tom Hawtin > wrote: > > Dalibor Topic wrote: > > Tom Hawtin wrote: > > Dalibor Topic wrote: > > A recording of the call is available on > http://mediacast.sun.com/users/robilad/media/openjdk6-core-libs.ogg > > Any chance of getting that in a mainstream format? Windows > doesn't > understand it. Rhythmbox under VirtualBox freezes. > > > http://mediacast.sun.com/users/robilad/media/openjdk-core-libraries-roundup.mp3 > > > Thanks for that, Dalibor. (I'm no fan of software patents, but > it's nice when things just work.) > > Tom > > > > > -- > Kevin Bourrillion @ Google > internal: http://go/javalibraries > google-collections.googlecode.com > > google-guice.googlecode.com > From Ulf.Zibis at gmx.de Fri Apr 10 18:40:52 2009 From: Ulf.Zibis at gmx.de (Ulf Zibis) Date: Fri, 10 Apr 2009 20:40:52 +0200 Subject: Speed tuning for HashMap - Was: {Re: OpenJDK Forum: Core Libraries Round Table} In-Reply-To: <17b2302a0904091352y591a4edfh49519c59bae33ea4@mail.gmail.com> References: <49DCCF4B.20506@sun.com> <49DE293B.50401@sun.com> <49DE3449.5090002@sun.com> <49DE39E4.4070609@sun.com> <9989FAA3-081F-460A-9E22-0BC8382AEC70@sun.com> <17c6771e0904091148l6fa5747cu9c32eeca16467ec2@mail.gmail.com> <49DE54F8.4020506@sun.com> <49DE57AF.7060207@gmx.de> <17b2302a0904091352y591a4edfh49519c59bae33ea4@mail.gmail.com> Message-ID: <49DF92B4.4000004@gmx.de> ( CC'd the list addresses ) Hi Josh, thanks for the e-mail addresses. The subject, I like to discuss, is an RFE I've recently filed: http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6812862 [provide customizable hash() algorithm in HashMap for speed tuning] The RFE was rejected from Sun engineers, and a workaround was given. Looking closer to this, I came to the opinion, that the given workaround wouldn't fulfil the need of my request, and added my comments accordingly. Now I'm afraid, I will never get an answer on my comments, nor the RFE would be reopened if overthought my arguments. Maybe YOU can give me additional explanation, why the RFE was rejected, or why my arguments are invalid. ... or perhaps you can force it to be reopened. Thanks in advance, -Ulf, Cologne, Germany Am 09.04.2009 22:52, Joshua Bloch schrieb: > Ulf, > > Hi. This is my e-mail address. You should probably CC Doug Lea > (dl at cs.oswego.edu ) as he's written more hash > table code than I have at this point. > > Josh > From Alan.Bateman at Sun.COM Fri Apr 10 19:23:16 2009 From: Alan.Bateman at Sun.COM (Alan Bateman) Date: Fri, 10 Apr 2009 20:23:16 +0100 Subject: OpenJDK Forum: Core Libraries Round Table In-Reply-To: <108fcdeb0904101124r37d49da8jf36b6b4cfe56aa8d@mail.gmail.com> References: <49DCCF4B.20506@sun.com> <49DE293B.50401@sun.com> <49DE3449.5090002@sun.com> <49DE7141.7040100@sun.com> <49DE836A.3020204@sun.com> <108fcdeb0904101124r37d49da8jf36b6b4cfe56aa8d@mail.gmail.com> Message-ID: <49DF9CA4.60501@sun.com> Kevin Bourrillion wrote: > Curious if anyone is transcribing the call into text yet? > Word-for-word not necessary, but understandable? If no one says > they've already done that or at least started, I could volunteer. I was going to write up minutes but I haven't started yet. You are very welcome to take it - thanks! I'll send you the names of the people that spoke. -Alan. From Xueming.Shen at Sun.COM Sat Apr 11 01:12:24 2009 From: Xueming.Shen at Sun.COM (Xueming Shen) Date: Fri, 10 Apr 2009 18:12:24 -0700 Subject: Review request 6543863, 6429910, 6814948, 6822643 In-Reply-To: <49CCE439.3050603@sun.com> References: <49CCE439.3050603@sun.com> Message-ID: <49DFEE78.9020704@sun.com> approved. Alan Bateman wrote: > Sherman, this is your locky day :-) > > 6543863: (fc) FileLock.release can deadlock with FileChannel.close > > This is a long-standing deadlock (since 1.4) that can happen when > closing a FileChannel and releasing a FileLock (obtained from the > channel) at around the same time. Closing locks the FileLock while > synchronized on the list of file locks; Release locks the list while > holding the FileLock. The cycle is broken by changing the removeAll > method to remove and return the list of the channel's file locks. > > > 6429910: (fc) FileChannel.lock() IOException: Bad file number, not > AsynchronousCloseException > > If the FileChannel#lock method is blocked waiting to acquire a lock on > the channel's file and the FileChannel is closed then the lock method > fails with IOException "Bad file number" whereas it is should throw > AsynchronousCloseException. The end method, marking the end of the I/O > operation was being invoked with true instead of false and so wasn't > suppressing the I/O operation. > > > 6814948: (fc) test/java/nio/channels/AsynchronousFileChannel/Lock.java > failed intermittently > > The asynchronous close sub-test fails intermittently (about 1 per 1000 > runs on the machines I tried). It's a timing issue that arises if the > preclose is done before the lock attempt, in which case it will appear > the file has been acquired (but the channel is closed). The lock and > tryLock methods were missing an isOpen check. > > > 6822643: (fc) AsynchronousFileChannel.close does not invalidate FileLocks > > This is an embarrassing one. The close method attempts to release and > invalidate all locks but the "shared" FileLockTable removeAll > implementation checked the lock's channel using lock.channel() instead > of lock.acquiredBy() (and hence only worked for FileChannel). > > > The webrev is here: > > http://cr.openjdk.java.net/~alanb/6543863%2b6429910%2b6814948%2b6822643/webrev.00/ > > > Thanks, > Alan. > > > > > > > > > > From Ulf.Zibis at gmx.de Sat Apr 11 14:26:14 2009 From: Ulf.Zibis at gmx.de (Ulf Zibis) Date: Sat, 11 Apr 2009 16:26:14 +0200 Subject: Source of sun.nio.cs.StandardCharsets.java - Please help! In-Reply-To: <49DC8FA0.3050608@gmx.de> References: <49DB65AC.9040108@gmx.de> <49DB9686.3000902@sun.com> <49DBAC4D.4090703@Sun.COM> <49DBD874.2070608@gmx.de> <49DC8FA0.3050608@gmx.de> Message-ID: <49E0A886.9080200@gmx.de> Hi all, as I'm working on Windows and I don't have Microsoft Visual Studio C++ 2008 (VS2008) Standard Edition compiler, I can't run makefiles. So I ask you, if somebody can run OpenJDK7\jdk\make\java\nio\Makefile for me, to generate source of sun.nio.cs.StandardCharsets.java (output of > \jdk\make\java\nio\genCharsetProvider.sh). Additionally I have modified (see attachment): OpenJDK7\jdk\make\java\nio\genCharsetProvider.sh OpenJDK7\jdk\src\share\classes\sun\nio\cs\standard-charsets Please too run the makefile with my modifications, and send me the resulting output sun.nio.cs.StandardCharsets.java. If there are some syntax errors (I'm not familiar with make syntax) in my modified genCharsetProvider.sh, please try to correct them. Thanks in advance for your investigation, -Ulf P.S.: please send your answer via the mailing list, so nobody would do the work twice. -------------- next part -------------- An embedded and charset-unspecified text was scrubbed... Name: genCharsetProvider.sh URL: -------------- next part -------------- An embedded and charset-unspecified text was scrubbed... Name: standard-charsets URL: From Xueming.Shen at Sun.COM Sun Apr 12 07:43:02 2009 From: Xueming.Shen at Sun.COM (Xueming Shen) Date: Sun, 12 Apr 2009 00:43:02 -0700 Subject: Source of sun.nio.cs.StandardCharsets.java - Please help! In-Reply-To: <49E0A886.9080200@gmx.de> References: <49DB65AC.9040108@gmx.de> <49DB9686.3000902@sun.com> <49DBAC4D.4090703@Sun.COM> <49DBD874.2070608@gmx.de> <49DC8FA0.3050608@gmx.de> <49E0A886.9080200@gmx.de> Message-ID: <49E19B86.2030701@sun.com> Ulf, While I am kind of able to guess what you want to achieve I'm not sure I understand what your modified "awk script" is supposed to do. genCharsetProvider.sh is a shell scrip + awk, it should be easy to experiment in any popular shell tool (cygwin) without a C/C++ compiler installed. I have to admit that I am not aware that awk supports the syntax you are using, so I can't help more on them. Just took a quick look at the original awk script, it looks like there might be some "old" leftover code, it should be simplified to something like below (let me know if I'm wrong on this one) Sherman ------------------------------------ 72c72,73 < BEGIN { n = 1; } --- > BEGIN { n = 1; m = 1; } > 74c75,79 < n++; --- > csn = $2; cln = $3; > lcsn = tolower(csn); > lcsns[n++] = lcsn; > csns[lcsn] = csn; > classMap[lcsn] = cln; 77c82 < printf " static final String[] aliases_%s = new String[] {\n", $3; --- > printf " static final String[] aliases_%s = new String[] {\n", cln; 80a86,87 > acsns[m++] = tolower($2); > aliasMap[tolower($2)] = lcsn; 88a96 > Ulf Zibis wrote: > Hi all, > > as I'm working on Windows and I don't have Microsoft Visual Studio C++ > 2008 (VS2008) Standard Edition compiler, I can't run makefiles. > > So I ask you, if somebody can run OpenJDK7\jdk\make\java\nio\Makefile > for me, to generate source of sun.nio.cs.StandardCharsets.java (output > of > \jdk\make\java\nio\genCharsetProvider.sh). > > Additionally I have modified (see attachment): > OpenJDK7\jdk\make\java\nio\genCharsetProvider.sh > OpenJDK7\jdk\src\share\classes\sun\nio\cs\standard-charsets > > Please too run the makefile with my modifications, and send me the > resulting output sun.nio.cs.StandardCharsets.java. > If there are some syntax errors (I'm not familiar with make syntax) in > my modified genCharsetProvider.sh, please try to correct them. > > Thanks in advance for your investigation, > > -Ulf > > P.S.: please send your answer via the mailing list, so nobody would do > the work twice. From martinrb at google.com Sun Apr 12 20:48:56 2009 From: martinrb at google.com (Martin Buchholz) Date: Sun, 12 Apr 2009 13:48:56 -0700 Subject: PATCH: ShutdownHooks and LoggingDeadlock2 Message-ID: <1ccfd1c10904121348i634d2302y31e5722ecc27c710@mail.gmail.com> Hi ShutdownHooks/Logging maintainers (especially Mandy), This is a bug report for *two* bugs, with fix. Bug 1: Synopsis: test/java/util/logging/LoggingDeadlock2.java is flaky Description: The reg test java/util/logging/LoggingDeadlock2.java has been failing intermittently for quite a while, at least since jdk7-b44. It calls System.exit, which a jtreg test is not allowed to do (at least not directly; it must run the test in a subprocess). jtreg notices this if the timing is just right. Evaluation: Yup. It's tedious to create a java subprocess, but we've done it before and we know how. Bug 2: Synopsis: addShutdownHook fails if called after shutdown has commenced. Description: If you call addShutdownHook after shutdown has already started, you should get IllegalStateException, as specified. If the call to addShutdownHook is the first one in this JDK, you will get an ExceptionInInitializerError instead, as below Exception in thread "main" java.lang.ExceptionInInitializerError at java.lang.Runtime.addShutdownHook(Runtime.java:209) at java.util.logging.LogManager.(LogManager.java:246) at java.util.logging.LogManager$1.run(LogManager.java:194) at java.security.AccessController.doPrivileged(Native Method) at java.util.logging.LogManager.(LogManager.java:175) at LoggingDeadlock2$JavaChild.main(LoggingDeadlock2.java:106) Caused by: java.lang.IllegalStateException: Shutdown in progress at java.lang.Shutdown.add(Shutdown.java:77) at java.lang.ApplicationShutdownHooks.(ApplicationShutdownHooks.java:39) This appears to be due to changes in # HG changeset patch # User mchung # Date 1236878842 25200 # Node ID e1064300e0f6948e3ba820fab7a4040beeed930c # Parent aa48deaf9af44bffce04a80ea1ea6a61901fd286 6810254: Lazily instantiate the shared secret access objects Summary: Register the shutdown hooks only when needed and remove JavaIODeleteOnExitAccess Reviewed-by: alanb --- a/src/share/classes/java/lang/ApplicationShutdownHooks.java +++ b/src/share/classes/java/lang/ApplicationShutdownHooks.java @@ -34,18 +34,18 @@ * @see java.lang.Runtime#removeShutdownHook */ -class ApplicationShutdownHooks implements Runnable { - private static ApplicationShutdownHooks instance = null; +class ApplicationShutdownHooks { + static { + Shutdown.add(1 /* shutdown hook invocation order */, + new Runnable() { + public void run() { + runHooks(); + } + }); + } Evaluation: ApplicationShutdownHooks. needs to handle ISE from Shutdown.add PATCH: (The rewritten test is a regtest for bug 2) # HG changeset patch # User martin # Date 1239567519 25200 # Node ID 8603336c1cfcb914cbb41deb6a2c8e141e96a803 # Parent 22b6e09960c153788717121f24ede64d845e8095 [mq]: LoggingDeadlock2 diff --git a/src/share/classes/java/lang/ApplicationShutdownHooks.java b/src/share/classes/java/lang/ApplicationShutdownHooks.java --- a/src/share/classes/java/lang/ApplicationShutdownHooks.java +++ b/src/share/classes/java/lang/ApplicationShutdownHooks.java @@ -26,34 +26,38 @@ import java.util.*; -/* +/** * Class to track and run user level shutdown hooks registered through * {@link Runtime#addShutdownHook Runtime.addShutdownHook}. * * @see java.lang.Runtime#addShutdownHook * @see java.lang.Runtime#removeShutdownHook */ - class ApplicationShutdownHooks { static { - Shutdown.add(1 /* shutdown hook invocation order */, - new Runnable() { - public void run() { - runHooks(); - } - }); + try { + Shutdown.add(1 /* shutdown hook invocation order */, + new Runnable() { + public void run() { + runHooks(); + } + }); + } catch (IllegalStateException e) { + // shutdown already in progress + } } - /* The set of registered hooks */ + /** The set of registered hooks */ private static IdentityHashMap hooks = new IdentityHashMap(); private ApplicationShutdownHooks() {} - /* Add a new shutdown hook. Checks the shutdown state and the hook itself, + /** + * Adds a new shutdown hook. Checks the shutdown state and the hook itself, * but does not do any security checks. */ static synchronized void add(Thread hook) { - if(hooks == null) + if (hooks == null) throw new IllegalStateException("Shutdown in progress"); if (hook.isAlive()) @@ -65,11 +69,12 @@ hooks.put(hook, hook); } - /* Remove a previously-registered hook. Like the add method, this method + /** + * Removes a previously-registered hook. Like the add method, this method * does not do any security checks. */ static synchronized boolean remove(Thread hook) { - if(hooks == null) + if (hooks == null) throw new IllegalStateException("Shutdown in progress"); if (hook == null) @@ -78,7 +83,8 @@ return hooks.remove(hook) != null; } - /* Iterates over all application hooks creating a new thread for each + /** + * Iterates over all application hooks creating a new thread for each * to run in. Hooks are run concurrently and this method waits for * them to finish. */ diff --git a/test/java/util/logging/LoggingDeadlock2.java b/test/java/util/logging/LoggingDeadlock2.java --- a/test/java/util/logging/LoggingDeadlock2.java +++ b/test/java/util/logging/LoggingDeadlock2.java @@ -26,7 +26,7 @@ * @bug 6467152 * * @summary deadlock occurs in LogManager initialization and JVM termination - * @author Serguei Spitsyn / Hittachi + * @author Serguei Spitsyn / Hitachi * * @build LoggingDeadlock2 * @run main/timeout=15 LoggingDeadlock2 @@ -47,43 +47,195 @@ * This is a regression test for this bug. */ +import java.util.Arrays; +import java.util.List; +import java.util.Random; +import java.util.concurrent.CyclicBarrier; +import java.util.concurrent.atomic.AtomicInteger; import java.util.logging.LogManager; +import java.io.File; +import java.io.InputStream; +import java.io.InputStreamReader; +import java.io.Reader; -public class LoggingDeadlock2 implements Runnable { - static final java.io.PrintStream out = System.out; - static Object lock = new Object(); - static int c = 0; - public static void main(String arg[]) { - out.println("\nThis test checks that there is no deadlock."); - out.println("If not crashed or timed-out then it is passed."); +public class LoggingDeadlock2 { + + public static void realMain(String arg[]) throws Throwable { try { - new Thread(new LoggingDeadlock2()).start(); - synchronized(lock) { - c++; - if (c == 2) lock.notify(); - else lock.wait(); + System.out.println(javaChildArgs); + ProcessBuilder pb = new ProcessBuilder(javaChildArgs); + ProcessResults r = run(pb.start()); + equal(r.exitValue(), 99); + equal(r.out(), ""); + equal(r.err(), ""); + } catch (Throwable t) { unexpected(t); } + } + + public static class JavaChild { + public static void main(String args[]) throws Throwable { + final CyclicBarrier startingGate = new CyclicBarrier(2); + final Throwable[] thrown = new Throwable[1]; + + // Some random variation, to help tickle races. + final Random rnd = new Random(); + final boolean dojoin = rnd.nextBoolean(); + final int JITTER = 1024; + final int iters1 = rnd.nextInt(JITTER); + final int iters2 = JITTER - iters1; + final AtomicInteger counter = new AtomicInteger(0); + + Thread exiter = new Thread() { + public void run() { + try { + startingGate.await(); + for (int i = 0; i < iters1; i++) + counter.getAndIncrement(); + System.exit(99); + } catch (Throwable t) { + t.printStackTrace(); + System.exit(86); + } + }}; + exiter.start(); + + startingGate.await(); + for (int i = 0; i < iters2; i++) + counter.getAndIncrement(); + // This may or may not result in a first call to + // Runtime.addShutdownHook after shutdown has already + // commenced. + LogManager log = LogManager.getLogManager(); + + if (dojoin) { + exiter.join(); + if (thrown[0] != null) + throw new Error(thrown[0]); + check(counter.get() == JITTER); } - LogManager log = LogManager.getLogManager(); - out.println("Test passed"); - } - catch(Exception e) { - e.printStackTrace(); - out.println("Test FAILED"); // Not expected } } - public void run() { - try { - synchronized(lock) { - c++; - if (c == 2) lock.notify(); - else lock.wait(); - } - System.exit(1); + //---------------------------------------------------------------- + // The rest of this test is copied from ProcessBuilder/Basic.java + //---------------------------------------------------------------- + private static final String javaExe = + System.getProperty("java.home") + + File.separator + "bin" + File.separator + "java"; + + private static final String classpath = + System.getProperty("java.class.path"); + + private static final List javaChildArgs = + Arrays.asList(new String[] + { javaExe, "-classpath", classpath, + "LoggingDeadlock2$JavaChild"}); + + private static class ProcessResults { + private final String out; + private final String err; + private final int exitValue; + private final Throwable throwable; + + public ProcessResults(String out, + String err, + int exitValue, + Throwable throwable) { + this.out = out; + this.err = err; + this.exitValue = exitValue; + this.throwable = throwable; } - catch(Exception e) { - e.printStackTrace(); - out.println("Test FAILED"); // Not expected + + public String out() { return out; } + public String err() { return err; } + public int exitValue() { return exitValue; } + public Throwable throwable() { return throwable; } + + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("\n" + out() + "\n") + .append("\n" + err() + "\n") + .append("exitValue = " + exitValue + "\n"); + if (throwable != null) + sb.append(throwable.getStackTrace()); + return sb.toString(); } } + + private static class StreamAccumulator extends Thread { + private final InputStream is; + private final StringBuilder sb = new StringBuilder(); + private Throwable throwable = null; + + public String result () throws Throwable { + if (throwable != null) + throw throwable; + return sb.toString(); + } + + StreamAccumulator (InputStream is) { + this.is = is; + } + + public void run() { + try { + Reader r = new InputStreamReader(is); + char[] buf = new char[4096]; + int n; + while ((n = r.read(buf)) > 0) { + sb.append(buf,0,n); + } + } catch (Throwable t) { + throwable = t; + } finally { + try { is.close(); } + catch (Throwable t) { throwable = t; } + } + } + } + + private static ProcessResults run(Process p) { + Throwable throwable = null; + int exitValue = -1; + String out = ""; + String err = ""; + + StreamAccumulator outAccumulator = + new StreamAccumulator(p.getInputStream()); + StreamAccumulator errAccumulator = + new StreamAccumulator(p.getErrorStream()); + + try { + outAccumulator.start(); + errAccumulator.start(); + + exitValue = p.waitFor(); + + outAccumulator.join(); + errAccumulator.join(); + + out = outAccumulator.result(); + err = errAccumulator.result(); + } catch (Throwable t) { + throwable = t; + } + + return new ProcessResults(out, err, exitValue, throwable); + } + + //--------------------- Infrastructure --------------------------- + static volatile int passed = 0, failed = 0; + static void pass() {passed++;} + static void fail() {failed++; Thread.dumpStack();} + static void fail(String msg) {System.out.println(msg); fail();} + static void unexpected(Throwable t) {failed++; t.printStackTrace();} + static void check(boolean cond) {if (cond) pass(); else fail();} + static void check(boolean cond, String m) {if (cond) pass(); else fail(m);} + static void equal(Object x, Object y) { + if (x == null ? y == null : x.equals(y)) pass(); + else fail(x + " not equal to " + y);} + public static void main(String[] args) throws Throwable { + try {realMain(args);} catch (Throwable t) {unexpected(t);} + System.out.printf("%nPassed = %d, failed = %d%n%n", passed, failed); + if (failed > 0) throw new AssertionError("Some tests failed");} } From martinrb at google.com Mon Apr 13 03:29:10 2009 From: martinrb at google.com (martinrb at google.com) Date: Mon, 13 Apr 2009 03:29:10 +0000 Subject: hg: jdk7/tl/jdk: 6827153: Miscellaneous typos in javadoc Message-ID: <20090413032945.0809BE927@hg.openjdk.java.net> Changeset: 572d3f36c8a9 Author: martin Date: 2009-04-12 20:21 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/572d3f36c8a9 6827153: Miscellaneous typos in javadoc Reviewed-by: alanb ! src/share/classes/java/lang/NoSuchFieldError.java ! src/share/classes/java/nio/channels/AsynchronousDatagramChannel.java ! src/share/classes/java/nio/file/Path.java ! src/share/classes/java/nio/file/SecureDirectoryStream.java ! src/share/classes/java/security/AccessController.java ! src/share/classes/java/security/AlgorithmParametersSpi.java ! src/share/classes/java/security/PrivilegedActionException.java ! src/share/classes/java/security/Security.java ! src/share/classes/java/security/SecurityPermission.java ! src/share/classes/java/security/SignatureSpi.java ! src/share/classes/java/security/cert/CertificateFactory.java ! src/share/classes/java/security/cert/CertificateFactorySpi.java From Mandy.Chung at Sun.COM Mon Apr 13 17:56:56 2009 From: Mandy.Chung at Sun.COM (Mandy Chung) Date: Mon, 13 Apr 2009 10:56:56 -0700 Subject: PATCH: ShutdownHooks and LoggingDeadlock2 In-Reply-To: <1ccfd1c10904121348i634d2302y31e5722ecc27c710@mail.gmail.com> References: <1ccfd1c10904121348i634d2302y31e5722ecc27c710@mail.gmail.com> Message-ID: <49E37CE8.2090506@sun.com> Hi Martin, Thanks for catching the regression. I created a Sun bug # 6829503 for bug 2. With the fix for 6829503, ApplicationShutdownHook and DeleteOnExitHook are both lazily initialized. Since it is possible that a file could be added to the list for DeletedOnExit during shutdown, perhaps we also need to change the Shutdown.add method to allow DeleteOnExitHook to be added during shutdown. I should pick up this bug since my fix caused this regression. Or do you want to revise the patch? Thanks Mandy Martin Buchholz wrote: > Hi ShutdownHooks/Logging maintainers (especially Mandy), > > This is a bug report for *two* bugs, with fix. > > Bug 1: > Synopsis: test/java/util/logging/LoggingDeadlock2.java is flaky > Description: > The reg test java/util/logging/LoggingDeadlock2.java > has been failing intermittently for quite a while, at least since jdk7-b44. > It calls System.exit, which a jtreg test is not allowed to do (at > least not directly; > it must run the test in a subprocess). jtreg notices this if the > timing is just right. > > Evaluation: > Yup. It's tedious to create a java subprocess, but we've done it > before and we know how. > > Bug 2: > Synopsis: addShutdownHook fails if called after shutdown has commenced. > Description: > If you call addShutdownHook after shutdown has already started, > you should get IllegalStateException, as specified. > If the call to addShutdownHook is the first one in this JDK, > you will get an ExceptionInInitializerError instead, as below > > Exception in thread "main" java.lang.ExceptionInInitializerError > at java.lang.Runtime.addShutdownHook(Runtime.java:209) > at java.util.logging.LogManager.(LogManager.java:246) > at java.util.logging.LogManager$1.run(LogManager.java:194) > at java.security.AccessController.doPrivileged(Native Method) > at java.util.logging.LogManager.(LogManager.java:175) > at LoggingDeadlock2$JavaChild.main(LoggingDeadlock2.java:106) > Caused by: java.lang.IllegalStateException: Shutdown in progress > at java.lang.Shutdown.add(Shutdown.java:77) > at java.lang.ApplicationShutdownHooks.(ApplicationShutdownHooks.java:39) > > This appears to be due to changes in > > # HG changeset patch > # User mchung > # Date 1236878842 25200 > # Node ID e1064300e0f6948e3ba820fab7a4040beeed930c > # Parent aa48deaf9af44bffce04a80ea1ea6a61901fd286 > 6810254: Lazily instantiate the shared secret access objects > Summary: Register the shutdown hooks only when needed and remove > JavaIODeleteOnExitAccess > Reviewed-by: alanb > > --- a/src/share/classes/java/lang/ApplicationShutdownHooks.java > +++ b/src/share/classes/java/lang/ApplicationShutdownHooks.java > @@ -34,18 +34,18 @@ > * @see java.lang.Runtime#removeShutdownHook > */ > > -class ApplicationShutdownHooks implements Runnable { > - private static ApplicationShutdownHooks instance = null; > +class ApplicationShutdownHooks { > + static { > + Shutdown.add(1 /* shutdown hook invocation order */, > + new Runnable() { > + public void run() { > + runHooks(); > + } > + }); > + } > > Evaluation: > ApplicationShutdownHooks. needs to handle ISE from > Shutdown.add > > PATCH: (The rewritten test is a regtest for bug 2) > > # HG changeset patch > # User martin > # Date 1239567519 25200 > # Node ID 8603336c1cfcb914cbb41deb6a2c8e141e96a803 > # Parent 22b6e09960c153788717121f24ede64d845e8095 > [mq]: LoggingDeadlock2 > > diff --git a/src/share/classes/java/lang/ApplicationShutdownHooks.java > b/src/share/classes/java/lang/ApplicationShutdownHooks.java > --- a/src/share/classes/java/lang/ApplicationShutdownHooks.java > +++ b/src/share/classes/java/lang/ApplicationShutdownHooks.java > @@ -26,34 +26,38 @@ > > import java.util.*; > > -/* > +/** > * Class to track and run user level shutdown hooks registered through > * {@link Runtime#addShutdownHook Runtime.addShutdownHook}. > * > * @see java.lang.Runtime#addShutdownHook > * @see java.lang.Runtime#removeShutdownHook > */ > - > class ApplicationShutdownHooks { > static { > - Shutdown.add(1 /* shutdown hook invocation order */, > - new Runnable() { > - public void run() { > - runHooks(); > - } > - }); > + try { > + Shutdown.add(1 /* shutdown hook invocation order */, > + new Runnable() { > + public void run() { > + runHooks(); > + } > + }); > + } catch (IllegalStateException e) { > + // shutdown already in progress > + } > } > > - /* The set of registered hooks */ > + /** The set of registered hooks */ > private static IdentityHashMap hooks = new > IdentityHashMap(); > > private ApplicationShutdownHooks() {} > > - /* Add a new shutdown hook. Checks the shutdown state and the hook itself, > + /** > + * Adds a new shutdown hook. Checks the shutdown state and the > hook itself, > * but does not do any security checks. > */ > static synchronized void add(Thread hook) { > - if(hooks == null) > + if (hooks == null) > throw new IllegalStateException("Shutdown in progress"); > > if (hook.isAlive()) > @@ -65,11 +69,12 @@ > hooks.put(hook, hook); > } > > - /* Remove a previously-registered hook. Like the add method, this method > + /** > + * Removes a previously-registered hook. Like the add method, this method > * does not do any security checks. > */ > static synchronized boolean remove(Thread hook) { > - if(hooks == null) > + if (hooks == null) > throw new IllegalStateException("Shutdown in progress"); > > if (hook == null) > @@ -78,7 +83,8 @@ > return hooks.remove(hook) != null; > } > > - /* Iterates over all application hooks creating a new thread for each > + /** > + * Iterates over all application hooks creating a new thread for each > * to run in. Hooks are run concurrently and this method waits for > * them to finish. > */ > diff --git a/test/java/util/logging/LoggingDeadlock2.java > b/test/java/util/logging/LoggingDeadlock2.java > --- a/test/java/util/logging/LoggingDeadlock2.java > +++ b/test/java/util/logging/LoggingDeadlock2.java > @@ -26,7 +26,7 @@ > * @bug 6467152 > * > * @summary deadlock occurs in LogManager initialization and JVM termination > - * @author Serguei Spitsyn / Hittachi > + * @author Serguei Spitsyn / Hitachi > * > * @build LoggingDeadlock2 > * @run main/timeout=15 LoggingDeadlock2 > @@ -47,43 +47,195 @@ > * This is a regression test for this bug. > */ > > +import java.util.Arrays; > +import java.util.List; > +import java.util.Random; > +import java.util.concurrent.CyclicBarrier; > +import java.util.concurrent.atomic.AtomicInteger; > import java.util.logging.LogManager; > +import java.io.File; > +import java.io.InputStream; > +import java.io.InputStreamReader; > +import java.io.Reader; > > -public class LoggingDeadlock2 implements Runnable { > - static final java.io.PrintStream out = System.out; > - static Object lock = new Object(); > - static int c = 0; > - public static void main(String arg[]) { > - out.println("\nThis test checks that there is no deadlock."); > - out.println("If not crashed or timed-out then it is passed."); > +public class LoggingDeadlock2 { > + > + public static void realMain(String arg[]) throws Throwable { > try { > - new Thread(new LoggingDeadlock2()).start(); > - synchronized(lock) { > - c++; > - if (c == 2) lock.notify(); > - else lock.wait(); > + System.out.println(javaChildArgs); > + ProcessBuilder pb = new ProcessBuilder(javaChildArgs); > + ProcessResults r = run(pb.start()); > + equal(r.exitValue(), 99); > + equal(r.out(), ""); > + equal(r.err(), ""); > + } catch (Throwable t) { unexpected(t); } > + } > + > + public static class JavaChild { > + public static void main(String args[]) throws Throwable { > + final CyclicBarrier startingGate = new CyclicBarrier(2); > + final Throwable[] thrown = new Throwable[1]; > + > + // Some random variation, to help tickle races. > + final Random rnd = new Random(); > + final boolean dojoin = rnd.nextBoolean(); > + final int JITTER = 1024; > + final int iters1 = rnd.nextInt(JITTER); > + final int iters2 = JITTER - iters1; > + final AtomicInteger counter = new AtomicInteger(0); > + > + Thread exiter = new Thread() { > + public void run() { > + try { > + startingGate.await(); > + for (int i = 0; i < iters1; i++) > + counter.getAndIncrement(); > + System.exit(99); > + } catch (Throwable t) { > + t.printStackTrace(); > + System.exit(86); > + } > + }}; > + exiter.start(); > + > + startingGate.await(); > + for (int i = 0; i < iters2; i++) > + counter.getAndIncrement(); > + // This may or may not result in a first call to > + // Runtime.addShutdownHook after shutdown has already > + // commenced. > + LogManager log = LogManager.getLogManager(); > + > + if (dojoin) { > + exiter.join(); > + if (thrown[0] != null) > + throw new Error(thrown[0]); > + check(counter.get() == JITTER); > } > - LogManager log = LogManager.getLogManager(); > - out.println("Test passed"); > - } > - catch(Exception e) { > - e.printStackTrace(); > - out.println("Test FAILED"); // Not expected > } > } > > - public void run() { > - try { > - synchronized(lock) { > - c++; > - if (c == 2) lock.notify(); > - else lock.wait(); > - } > - System.exit(1); > + //---------------------------------------------------------------- > + // The rest of this test is copied from ProcessBuilder/Basic.java > + //---------------------------------------------------------------- > + private static final String javaExe = > + System.getProperty("java.home") + > + File.separator + "bin" + File.separator + "java"; > + > + private static final String classpath = > + System.getProperty("java.class.path"); > + > + private static final List javaChildArgs = > + Arrays.asList(new String[] > + { javaExe, "-classpath", classpath, > + "LoggingDeadlock2$JavaChild"}); > + > + private static class ProcessResults { > + private final String out; > + private final String err; > + private final int exitValue; > + private final Throwable throwable; > + > + public ProcessResults(String out, > + String err, > + int exitValue, > + Throwable throwable) { > + this.out = out; > + this.err = err; > + this.exitValue = exitValue; > + this.throwable = throwable; > } > - catch(Exception e) { > - e.printStackTrace(); > - out.println("Test FAILED"); // Not expected > + > + public String out() { return out; } > + public String err() { return err; } > + public int exitValue() { return exitValue; } > + public Throwable throwable() { return throwable; } > + > + public String toString() { > + StringBuilder sb = new StringBuilder(); > + sb.append("\n" + out() + "\n") > + .append("\n" + err() + "\n") > + .append("exitValue = " + exitValue + "\n"); > + if (throwable != null) > + sb.append(throwable.getStackTrace()); > + return sb.toString(); > } > } > + > + private static class StreamAccumulator extends Thread { > + private final InputStream is; > + private final StringBuilder sb = new StringBuilder(); > + private Throwable throwable = null; > + > + public String result () throws Throwable { > + if (throwable != null) > + throw throwable; > + return sb.toString(); > + } > + > + StreamAccumulator (InputStream is) { > + this.is = is; > + } > + > + public void run() { > + try { > + Reader r = new InputStreamReader(is); > + char[] buf = new char[4096]; > + int n; > + while ((n = r.read(buf)) > 0) { > + sb.append(buf,0,n); > + } > + } catch (Throwable t) { > + throwable = t; > + } finally { > + try { is.close(); } > + catch (Throwable t) { throwable = t; } > + } > + } > + } > + > + private static ProcessResults run(Process p) { > + Throwable throwable = null; > + int exitValue = -1; > + String out = ""; > + String err = ""; > + > + StreamAccumulator outAccumulator = > + new StreamAccumulator(p.getInputStream()); > + StreamAccumulator errAccumulator = > + new StreamAccumulator(p.getErrorStream()); > + > + try { > + outAccumulator.start(); > + errAccumulator.start(); > + > + exitValue = p.waitFor(); > + > + outAccumulator.join(); > + errAccumulator.join(); > + > + out = outAccumulator.result(); > + err = errAccumulator.result(); > + } catch (Throwable t) { > + throwable = t; > + } > + > + return new ProcessResults(out, err, exitValue, throwable); > + } > + > + //--------------------- Infrastructure --------------------------- > + static volatile int passed = 0, failed = 0; > + static void pass() {passed++;} > + static void fail() {failed++; Thread.dumpStack();} > + static void fail(String msg) {System.out.println(msg); fail();} > + static void unexpected(Throwable t) {failed++; t.printStackTrace();} > + static void check(boolean cond) {if (cond) pass(); else fail();} > + static void check(boolean cond, String m) {if (cond) pass(); else fail(m);} > + static void equal(Object x, Object y) { > + if (x == null ? y == null : x.equals(y)) pass(); > + else fail(x + " not equal to " + y);} > + public static void main(String[] args) throws Throwable { > + try {realMain(args);} catch (Throwable t) {unexpected(t);} > + System.out.printf("%nPassed = %d, failed = %d%n%n", passed, failed); > + if (failed > 0) throw new AssertionError("Some tests failed");} > } > From martinrb at google.com Mon Apr 13 20:28:50 2009 From: martinrb at google.com (Martin Buchholz) Date: Mon, 13 Apr 2009 13:28:50 -0700 Subject: PATCH: ShutdownHooks and LoggingDeadlock2 In-Reply-To: <49E37CE8.2090506@sun.com> References: <1ccfd1c10904121348i634d2302y31e5722ecc27c710@mail.gmail.com> <49E37CE8.2090506@sun.com> Message-ID: <1ccfd1c10904131328t44ed907fycc8fd73535a28374@mail.gmail.com> I've put the patch up on http://cr.openjdk.java.net/~martin/LoggingDeadlock2 (my first use (or abuse? I didn't use webrev) of cr.openjdk.java.net) I am not a shutdown hook expert - everything I know about shutdown hooks I learned while tracking down LoggingDeadlock2 failures. So I agree it would be good for you (Mandy) to pick this up. One way to separate the work would be for you to file a bug for bug #1, I check in only the fix for the test case for bug #1, intentionally leaving it still flaky, but serving as a regression test for your followon fix for bug #2. You just need to add the @bug for bug #2 to my test. Deal? Martin On Mon, Apr 13, 2009 at 10:56, Mandy Chung wrote: > Hi Martin, > > Thanks for catching the regression. ?I created a Sun bug # 6829503 for bug > 2. > > With the fix for 6829503, ApplicationShutdownHook and DeleteOnExitHook are > both lazily initialized. ?Since it is possible that a file could be added to > the list for DeletedOnExit during shutdown, perhaps we also need to change > the Shutdown.add method to allow DeleteOnExitHook to be added during > shutdown. > I should pick up this bug since my fix caused this regression. ?Or do you > want to revise the patch? > > Thanks > Mandy > > Martin Buchholz wrote: >> >> Hi ShutdownHooks/Logging maintainers (especially Mandy), >> >> This is a bug report for *two* bugs, with fix. >> >> Bug 1: >> Synopsis: test/java/util/logging/LoggingDeadlock2.java is flaky >> Description: >> The reg test java/util/logging/LoggingDeadlock2.java >> has been failing intermittently for quite a while, at least since >> jdk7-b44. >> It calls System.exit, which a jtreg test is not allowed to do (at >> least not directly; >> it must run the test in a subprocess). ?jtreg notices this if the >> timing is just right. >> >> Evaluation: >> Yup. ?It's tedious to create a java subprocess, but we've done it >> before and we know how. >> >> Bug 2: >> Synopsis: addShutdownHook fails if called after shutdown has commenced. >> Description: >> If you call addShutdownHook after shutdown has already started, >> you should get IllegalStateException, as specified. >> If the call to addShutdownHook is the first one in this JDK, >> you will get an ExceptionInInitializerError instead, as below >> >> Exception in thread "main" java.lang.ExceptionInInitializerError >> ? ? ? ?at java.lang.Runtime.addShutdownHook(Runtime.java:209) >> ? ? ? ?at java.util.logging.LogManager.(LogManager.java:246) >> ? ? ? ?at java.util.logging.LogManager$1.run(LogManager.java:194) >> ? ? ? ?at java.security.AccessController.doPrivileged(Native Method) >> ? ? ? ?at java.util.logging.LogManager.(LogManager.java:175) >> ? ? ? ?at LoggingDeadlock2$JavaChild.main(LoggingDeadlock2.java:106) >> Caused by: java.lang.IllegalStateException: Shutdown in progress >> ? ? ? ?at java.lang.Shutdown.add(Shutdown.java:77) >> ? ? ? ?at >> java.lang.ApplicationShutdownHooks.(ApplicationShutdownHooks.java:39) >> >> This appears to be due to changes in >> >> # HG changeset patch >> # User mchung >> # Date 1236878842 25200 >> # Node ID e1064300e0f6948e3ba820fab7a4040beeed930c >> # Parent ?aa48deaf9af44bffce04a80ea1ea6a61901fd286 >> 6810254: Lazily instantiate the shared secret access objects >> Summary: Register the shutdown hooks only when needed and remove >> JavaIODeleteOnExitAccess >> Reviewed-by: alanb >> >> --- a/src/share/classes/java/lang/ApplicationShutdownHooks.java >> +++ b/src/share/classes/java/lang/ApplicationShutdownHooks.java >> @@ -34,18 +34,18 @@ >> ?* @see java.lang.Runtime#removeShutdownHook >> ?*/ >> >> -class ApplicationShutdownHooks implements Runnable { >> - ? ?private static ApplicationShutdownHooks instance = null; >> +class ApplicationShutdownHooks { >> + ? ?static { >> + ? ? ? ?Shutdown.add(1 /* shutdown hook invocation order */, >> + ? ? ? ? ? ?new Runnable() { >> + ? ? ? ? ? ? ? ?public void run() { >> + ? ? ? ? ? ? ? ? ? ?runHooks(); >> + ? ? ? ? ? ? ? ?} >> + ? ? ? ? ? ?}); >> + ? ?} >> >> Evaluation: >> ApplicationShutdownHooks. needs to handle ISE from >> Shutdown.add >> >> PATCH: (The rewritten test is a regtest for bug 2) >> >> # HG changeset patch >> # User martin >> # Date 1239567519 25200 >> # Node ID 8603336c1cfcb914cbb41deb6a2c8e141e96a803 >> # Parent ?22b6e09960c153788717121f24ede64d845e8095 >> [mq]: LoggingDeadlock2 >> >> diff --git a/src/share/classes/java/lang/ApplicationShutdownHooks.java >> b/src/share/classes/java/lang/ApplicationShutdownHooks.java >> --- a/src/share/classes/java/lang/ApplicationShutdownHooks.java >> +++ b/src/share/classes/java/lang/ApplicationShutdownHooks.java >> @@ -26,34 +26,38 @@ >> >> ?import java.util.*; >> >> -/* >> +/** >> ?* Class to track and run user level shutdown hooks registered through >> ?* {@link Runtime#addShutdownHook Runtime.addShutdownHook}. >> ?* >> ?* @see java.lang.Runtime#addShutdownHook >> ?* @see java.lang.Runtime#removeShutdownHook >> ?*/ >> - >> ?class ApplicationShutdownHooks { >> ? ? static { >> - ? ? ? ?Shutdown.add(1 /* shutdown hook invocation order */, >> - ? ? ? ? ? ?new Runnable() { >> - ? ? ? ? ? ? ? ?public void run() { >> - ? ? ? ? ? ? ? ? ? ?runHooks(); >> - ? ? ? ? ? ? ? ?} >> - ? ? ? ? ? ?}); >> + ? ? ? ?try { >> + ? ? ? ? ? ?Shutdown.add(1 /* shutdown hook invocation order */, >> + ? ? ? ? ? ? ? ? ? ? ? ? new Runnable() { >> + ? ? ? ? ? ? ? ? ? ? ? ? ? ? public void run() { >> + ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? runHooks(); >> + ? ? ? ? ? ? ? ? ? ? ? ? ? ? } >> + ? ? ? ? ? ? ? ? ? ? ? ? }); >> + ? ? ? ?} catch (IllegalStateException e) { >> + ? ? ? ? ? ?// shutdown already in progress >> + ? ? ? ?} >> ? ? } >> >> - ? ?/* The set of registered hooks */ >> + ? ?/** The set of registered hooks */ >> ? ? private static IdentityHashMap hooks = new >> IdentityHashMap(); >> >> ? ? private ApplicationShutdownHooks() {} >> >> - ? ?/* Add a new shutdown hook. ?Checks the shutdown state and the hook >> itself, >> + ? ?/** >> + ? ? * Adds a new shutdown hook. ?Checks the shutdown state and the >> hook itself, >> ? ? ?* but does not do any security checks. >> ? ? ?*/ >> ? ? static synchronized void add(Thread hook) { >> - ? ? ? ?if(hooks == null) >> + ? ? ? ?if (hooks == null) >> ? ? ? ? ? ? throw new IllegalStateException("Shutdown in progress"); >> >> ? ? ? ? if (hook.isAlive()) >> @@ -65,11 +69,12 @@ >> ? ? ? ? hooks.put(hook, hook); >> ? ? } >> >> - ? ?/* Remove a previously-registered hook. ?Like the add method, this >> method >> + ? ?/** >> + ? ? * Removes a previously-registered hook. ?Like the add method, this >> method >> ? ? ?* does not do any security checks. >> ? ? ?*/ >> ? ? static synchronized boolean remove(Thread hook) { >> - ? ? ? ?if(hooks == null) >> + ? ? ? ?if (hooks == null) >> ? ? ? ? ? ? throw new IllegalStateException("Shutdown in progress"); >> >> ? ? ? ? if (hook == null) >> @@ -78,7 +83,8 @@ >> ? ? ? ? return hooks.remove(hook) != null; >> ? ? } >> >> - ? ?/* Iterates over all application hooks creating a new thread for each >> + ? ?/** >> + ? ? * Iterates over all application hooks creating a new thread for each >> ? ? ?* to run in. Hooks are run concurrently and this method waits for >> ? ? ?* them to finish. >> ? ? ?*/ >> diff --git a/test/java/util/logging/LoggingDeadlock2.java >> b/test/java/util/logging/LoggingDeadlock2.java >> --- a/test/java/util/logging/LoggingDeadlock2.java >> +++ b/test/java/util/logging/LoggingDeadlock2.java >> @@ -26,7 +26,7 @@ >> ?* @bug ? ? 6467152 >> ?* >> ?* @summary deadlock occurs in LogManager initialization and JVM >> termination >> - * @author ?Serguei Spitsyn / Hittachi >> + * @author ?Serguei Spitsyn / Hitachi >> ?* >> ?* @build ? ?LoggingDeadlock2 >> ?* @run ?main/timeout=15 LoggingDeadlock2 >> @@ -47,43 +47,195 @@ >> ?* This is a regression test for this bug. >> ?*/ >> >> +import java.util.Arrays; >> +import java.util.List; >> +import java.util.Random; >> +import java.util.concurrent.CyclicBarrier; >> +import java.util.concurrent.atomic.AtomicInteger; >> ?import java.util.logging.LogManager; >> +import java.io.File; >> +import java.io.InputStream; >> +import java.io.InputStreamReader; >> +import java.io.Reader; >> >> -public class LoggingDeadlock2 implements Runnable { >> - ? ?static final java.io.PrintStream out = System.out; >> - ? ?static Object lock = new Object(); >> - ? ?static int c = 0; >> - ? ?public static void main(String arg[]) { >> - ? ? ? ?out.println("\nThis test checks that there is no deadlock."); >> - ? ? ? ?out.println("If not crashed or timed-out then it is passed."); >> +public class LoggingDeadlock2 { >> + >> + ? ?public static void realMain(String arg[]) throws Throwable { >> ? ? ? ? try { >> - ? ? ? ? ? ?new Thread(new LoggingDeadlock2()).start(); >> - ? ? ? ? ? ?synchronized(lock) { >> - ? ? ? ? ? ? ? ?c++; >> - ? ? ? ? ? ? ? ?if (c == 2) lock.notify(); >> - ? ? ? ? ? ? ? ?else lock.wait(); >> + ? ? ? ? ? ?System.out.println(javaChildArgs); >> + ? ? ? ? ? ?ProcessBuilder pb = new ProcessBuilder(javaChildArgs); >> + ? ? ? ? ? ?ProcessResults r = run(pb.start()); >> + ? ? ? ? ? ?equal(r.exitValue(), 99); >> + ? ? ? ? ? ?equal(r.out(), ""); >> + ? ? ? ? ? ?equal(r.err(), ""); >> + ? ? ? ?} catch (Throwable t) { unexpected(t); } >> + ? ?} >> + >> + ? ?public static class JavaChild { >> + ? ? ? ?public static void main(String args[]) throws Throwable { >> + ? ? ? ? ? ?final CyclicBarrier startingGate = new CyclicBarrier(2); >> + ? ? ? ? ? ?final Throwable[] thrown = new Throwable[1]; >> + >> + ? ? ? ? ? ?// Some random variation, to help tickle races. >> + ? ? ? ? ? ?final Random rnd = new Random(); >> + ? ? ? ? ? ?final boolean dojoin = rnd.nextBoolean(); >> + ? ? ? ? ? ?final int JITTER = 1024; >> + ? ? ? ? ? ?final int iters1 = rnd.nextInt(JITTER); >> + ? ? ? ? ? ?final int iters2 = JITTER - iters1; >> + ? ? ? ? ? ?final AtomicInteger counter = new AtomicInteger(0); >> + >> + ? ? ? ? ? ?Thread exiter = new Thread() { >> + ? ? ? ? ? ? ? ?public void run() { >> + ? ? ? ? ? ? ? ? ? ?try { >> + ? ? ? ? ? ? ? ? ? ? ? ?startingGate.await(); >> + ? ? ? ? ? ? ? ? ? ? ? ?for (int i = 0; i < iters1; i++) >> + ? ? ? ? ? ? ? ? ? ? ? ? ? ?counter.getAndIncrement(); >> + ? ? ? ? ? ? ? ? ? ? ? ?System.exit(99); >> + ? ? ? ? ? ? ? ? ? ?} catch (Throwable t) { >> + ? ? ? ? ? ? ? ? ? ? ? ?t.printStackTrace(); >> + ? ? ? ? ? ? ? ? ? ? ? ?System.exit(86); >> + ? ? ? ? ? ? ? ? ? ?} >> + ? ? ? ? ? ? ? ?}}; >> + ? ? ? ? ? ?exiter.start(); >> + >> + ? ? ? ? ? ?startingGate.await(); >> + ? ? ? ? ? ?for (int i = 0; i < iters2; i++) >> + ? ? ? ? ? ? ? ?counter.getAndIncrement(); >> + ? ? ? ? ? ?// This may or may not result in a first call to >> + ? ? ? ? ? ?// Runtime.addShutdownHook after shutdown has already >> + ? ? ? ? ? ?// commenced. >> + ? ? ? ? ? ?LogManager log = LogManager.getLogManager(); >> + >> + ? ? ? ? ? ?if (dojoin) { >> + ? ? ? ? ? ? ? ?exiter.join(); >> + ? ? ? ? ? ? ? ?if (thrown[0] != null) >> + ? ? ? ? ? ? ? ? ? ?throw new Error(thrown[0]); >> + ? ? ? ? ? ? ? ?check(counter.get() == JITTER); >> ? ? ? ? ? ? } >> - ? ? ? ? ? ?LogManager log = LogManager.getLogManager(); >> - ? ? ? ? ? ?out.println("Test passed"); >> - ? ? ? ?} >> - ? ? ? ?catch(Exception e) { >> - ? ? ? ? ? ?e.printStackTrace(); >> - ? ? ? ? ? ?out.println("Test FAILED"); // Not expected >> ? ? ? ? } >> ? ? } >> >> - ? ?public void run() { >> - ? ? ? ?try { >> - ? ? ? ? ? ?synchronized(lock) { >> - ? ? ? ? ? ? ? ?c++; >> - ? ? ? ? ? ? ? ?if (c == 2) lock.notify(); >> - ? ? ? ? ? ? ? ?else lock.wait(); >> - ? ? ? ? ? ?} >> - ? ? ? ? ? ?System.exit(1); >> + ? ?//---------------------------------------------------------------- >> + ? ?// The rest of this test is copied from ProcessBuilder/Basic.java >> + ? ?//---------------------------------------------------------------- >> + ? ?private static final String javaExe = >> + ? ? ? ?System.getProperty("java.home") + >> + ? ? ? ?File.separator + "bin" + File.separator + "java"; >> + >> + ? ?private static final String classpath = >> + ? ? ? ?System.getProperty("java.class.path"); >> + >> + ? ?private static final List javaChildArgs = >> + ? ? ? ?Arrays.asList(new String[] >> + ? ? ? ? ? ?{ javaExe, "-classpath", classpath, >> + ? ? ? ? ? ? ?"LoggingDeadlock2$JavaChild"}); >> + >> + ? ?private static class ProcessResults { >> + ? ? ? ?private final String out; >> + ? ? ? ?private final String err; >> + ? ? ? ?private final int exitValue; >> + ? ? ? ?private final Throwable throwable; >> + >> + ? ? ? ?public ProcessResults(String out, >> + ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?String err, >> + ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?int exitValue, >> + ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?Throwable throwable) { >> + ? ? ? ? ? ?this.out = out; >> + ? ? ? ? ? ?this.err = err; >> + ? ? ? ? ? ?this.exitValue = exitValue; >> + ? ? ? ? ? ?this.throwable = throwable; >> ? ? ? ? } >> - ? ? ? ?catch(Exception e) { >> - ? ? ? ? ? ?e.printStackTrace(); >> - ? ? ? ? ? ?out.println("Test FAILED"); // Not expected >> + >> + ? ? ? ?public String out() ? ? ? ? ?{ return out; } >> + ? ? ? ?public String err() ? ? ? ? ?{ return err; } >> + ? ? ? ?public int exitValue() ? ? ? { return exitValue; } >> + ? ? ? ?public Throwable throwable() { return throwable; } >> + >> + ? ? ? ?public String toString() { >> + ? ? ? ? ? ?StringBuilder sb = new StringBuilder(); >> + ? ? ? ? ? ?sb.append("\n" + out() + "\n") >> + ? ? ? ? ? ? ? ?.append("\n" + err() + "\n") >> + ? ? ? ? ? ? ? ?.append("exitValue = " + exitValue + "\n"); >> + ? ? ? ? ? ?if (throwable != null) >> + ? ? ? ? ? ? ? ?sb.append(throwable.getStackTrace()); >> + ? ? ? ? ? ?return sb.toString(); >> ? ? ? ? } >> ? ? } >> + >> + ? ?private static class StreamAccumulator extends Thread { >> + ? ? ? ?private final InputStream is; >> + ? ? ? ?private final StringBuilder sb = new StringBuilder(); >> + ? ? ? ?private Throwable throwable = null; >> + >> + ? ? ? ?public String result () throws Throwable { >> + ? ? ? ? ? ?if (throwable != null) >> + ? ? ? ? ? ? ? ?throw throwable; >> + ? ? ? ? ? ?return sb.toString(); >> + ? ? ? ?} >> + >> + ? ? ? ?StreamAccumulator (InputStream is) { >> + ? ? ? ? ? ?this.is = is; >> + ? ? ? ?} >> + >> + ? ? ? ?public void run() { >> + ? ? ? ? ? ?try { >> + ? ? ? ? ? ? ? ?Reader r = new InputStreamReader(is); >> + ? ? ? ? ? ? ? ?char[] buf = new char[4096]; >> + ? ? ? ? ? ? ? ?int n; >> + ? ? ? ? ? ? ? ?while ((n = r.read(buf)) > 0) { >> + ? ? ? ? ? ? ? ? ? ?sb.append(buf,0,n); >> + ? ? ? ? ? ? ? ?} >> + ? ? ? ? ? ?} catch (Throwable t) { >> + ? ? ? ? ? ? ? ?throwable = t; >> + ? ? ? ? ? ?} finally { >> + ? ? ? ? ? ? ? ?try { is.close(); } >> + ? ? ? ? ? ? ? ?catch (Throwable t) { throwable = t; } >> + ? ? ? ? ? ?} >> + ? ? ? ?} >> + ? ?} >> + >> + ? ?private static ProcessResults run(Process p) { >> + ? ? ? ?Throwable throwable = null; >> + ? ? ? ?int exitValue = -1; >> + ? ? ? ?String out = ""; >> + ? ? ? ?String err = ""; >> + >> + ? ? ? ?StreamAccumulator outAccumulator = >> + ? ? ? ? ? ?new StreamAccumulator(p.getInputStream()); >> + ? ? ? ?StreamAccumulator errAccumulator = >> + ? ? ? ? ? ?new StreamAccumulator(p.getErrorStream()); >> + >> + ? ? ? ?try { >> + ? ? ? ? ? ?outAccumulator.start(); >> + ? ? ? ? ? ?errAccumulator.start(); >> + >> + ? ? ? ? ? ?exitValue = p.waitFor(); >> + >> + ? ? ? ? ? ?outAccumulator.join(); >> + ? ? ? ? ? ?errAccumulator.join(); >> + >> + ? ? ? ? ? ?out = outAccumulator.result(); >> + ? ? ? ? ? ?err = errAccumulator.result(); >> + ? ? ? ?} catch (Throwable t) { >> + ? ? ? ? ? ?throwable = t; >> + ? ? ? ?} >> + >> + ? ? ? ?return new ProcessResults(out, err, exitValue, throwable); >> + ? ?} >> + >> + ? ?//--------------------- Infrastructure --------------------------- >> + ? ?static volatile int passed = 0, failed = 0; >> + ? ?static void pass() {passed++;} >> + ? ?static void fail() {failed++; Thread.dumpStack();} >> + ? ?static void fail(String msg) {System.out.println(msg); fail();} >> + ? ?static void unexpected(Throwable t) {failed++; t.printStackTrace();} >> + ? ?static void check(boolean cond) {if (cond) pass(); else fail();} >> + ? ?static void check(boolean cond, String m) {if (cond) pass(); else >> fail(m);} >> + ? ?static void equal(Object x, Object y) { >> + ? ? ? ?if (x == null ? y == null : x.equals(y)) pass(); >> + ? ? ? ?else fail(x + " not equal to " + y);} >> + ? ?public static void main(String[] args) throws Throwable { >> + ? ? ? ?try {realMain(args);} catch (Throwable t) {unexpected(t);} >> + ? ? ? ?System.out.printf("%nPassed = %d, failed = %d%n%n", passed, >> failed); >> + ? ? ? ?if (failed > 0) throw new AssertionError("Some tests failed");} >> ?} >> > > From Mandy.Chung at Sun.COM Mon Apr 13 20:54:28 2009 From: Mandy.Chung at Sun.COM (Mandy Chung) Date: Mon, 13 Apr 2009 13:54:28 -0700 Subject: PATCH: ShutdownHooks and LoggingDeadlock2 In-Reply-To: <1ccfd1c10904131328t44ed907fycc8fd73535a28374@mail.gmail.com> References: <1ccfd1c10904121348i634d2302y31e5722ecc27c710@mail.gmail.com> <49E37CE8.2090506@sun.com> <1ccfd1c10904131328t44ed907fycc8fd73535a28374@mail.gmail.com> Message-ID: <49E3A684.7090802@Sun.com> Sounds good. The CR for bug #1 is 6829636. I'll let Swamy to review the test fix. Mandy On 04/13/09 13:28, Martin Buchholz wrote: > I've put the patch up on > > http://cr.openjdk.java.net/~martin/LoggingDeadlock2 > > (my first use (or abuse? I didn't use webrev) of cr.openjdk.java.net) > > I am not a shutdown hook expert - everything I know about shutdown hooks > I learned while tracking down LoggingDeadlock2 failures. > So I agree it would be good for you (Mandy) to pick this up. > > One way to separate the work would be for you to file a bug for bug #1, > I check in only the fix for the test case for bug #1, > intentionally leaving it still flaky, > but serving as a regression test for your followon fix for bug #2. > You just need to add the @bug for bug #2 to my test. > > Deal? > > Martin > > On Mon, Apr 13, 2009 at 10:56, Mandy Chung wrote: >> Hi Martin, >> >> Thanks for catching the regression. I created a Sun bug # 6829503 for bug >> 2. >> >> With the fix for 6829503, ApplicationShutdownHook and DeleteOnExitHook are >> both lazily initialized. Since it is possible that a file could be added to >> the list for DeletedOnExit during shutdown, perhaps we also need to change >> the Shutdown.add method to allow DeleteOnExitHook to be added during >> shutdown. >> I should pick up this bug since my fix caused this regression. Or do you >> want to revise the patch? >> >> Thanks >> Mandy >> >> Martin Buchholz wrote: >>> Hi ShutdownHooks/Logging maintainers (especially Mandy), >>> >>> This is a bug report for *two* bugs, with fix. >>> >>> Bug 1: >>> Synopsis: test/java/util/logging/LoggingDeadlock2.java is flaky >>> Description: >>> The reg test java/util/logging/LoggingDeadlock2.java >>> has been failing intermittently for quite a while, at least since >>> jdk7-b44. >>> It calls System.exit, which a jtreg test is not allowed to do (at >>> least not directly; >>> it must run the test in a subprocess). jtreg notices this if the >>> timing is just right. >>> >>> Evaluation: >>> Yup. It's tedious to create a java subprocess, but we've done it >>> before and we know how. >>> >>> Bug 2: >>> Synopsis: addShutdownHook fails if called after shutdown has commenced. >>> Description: >>> If you call addShutdownHook after shutdown has already started, >>> you should get IllegalStateException, as specified. >>> If the call to addShutdownHook is the first one in this JDK, >>> you will get an ExceptionInInitializerError instead, as below >>> >>> Exception in thread "main" java.lang.ExceptionInInitializerError >>> at java.lang.Runtime.addShutdownHook(Runtime.java:209) >>> at java.util.logging.LogManager.(LogManager.java:246) >>> at java.util.logging.LogManager$1.run(LogManager.java:194) >>> at java.security.AccessController.doPrivileged(Native Method) >>> at java.util.logging.LogManager.(LogManager.java:175) >>> at LoggingDeadlock2$JavaChild.main(LoggingDeadlock2.java:106) >>> Caused by: java.lang.IllegalStateException: Shutdown in progress >>> at java.lang.Shutdown.add(Shutdown.java:77) >>> at >>> java.lang.ApplicationShutdownHooks.(ApplicationShutdownHooks.java:39) >>> >>> This appears to be due to changes in >>> >>> # HG changeset patch >>> # User mchung >>> # Date 1236878842 25200 >>> # Node ID e1064300e0f6948e3ba820fab7a4040beeed930c >>> # Parent aa48deaf9af44bffce04a80ea1ea6a61901fd286 >>> 6810254: Lazily instantiate the shared secret access objects >>> Summary: Register the shutdown hooks only when needed and remove >>> JavaIODeleteOnExitAccess >>> Reviewed-by: alanb >>> >>> --- a/src/share/classes/java/lang/ApplicationShutdownHooks.java >>> +++ b/src/share/classes/java/lang/ApplicationShutdownHooks.java >>> @@ -34,18 +34,18 @@ >>> * @see java.lang.Runtime#removeShutdownHook >>> */ >>> >>> -class ApplicationShutdownHooks implements Runnable { >>> - private static ApplicationShutdownHooks instance = null; >>> +class ApplicationShutdownHooks { >>> + static { >>> + Shutdown.add(1 /* shutdown hook invocation order */, >>> + new Runnable() { >>> + public void run() { >>> + runHooks(); >>> + } >>> + }); >>> + } >>> >>> Evaluation: >>> ApplicationShutdownHooks. needs to handle ISE from >>> Shutdown.add >>> >>> PATCH: (The rewritten test is a regtest for bug 2) >>> >>> # HG changeset patch >>> # User martin >>> # Date 1239567519 25200 >>> # Node ID 8603336c1cfcb914cbb41deb6a2c8e141e96a803 >>> # Parent 22b6e09960c153788717121f24ede64d845e8095 >>> [mq]: LoggingDeadlock2 >>> >>> diff --git a/src/share/classes/java/lang/ApplicationShutdownHooks.java >>> b/src/share/classes/java/lang/ApplicationShutdownHooks.java >>> --- a/src/share/classes/java/lang/ApplicationShutdownHooks.java >>> +++ b/src/share/classes/java/lang/ApplicationShutdownHooks.java >>> @@ -26,34 +26,38 @@ >>> >>> import java.util.*; >>> >>> -/* >>> +/** >>> * Class to track and run user level shutdown hooks registered through >>> * {@link Runtime#addShutdownHook Runtime.addShutdownHook}. >>> * >>> * @see java.lang.Runtime#addShutdownHook >>> * @see java.lang.Runtime#removeShutdownHook >>> */ >>> - >>> class ApplicationShutdownHooks { >>> static { >>> - Shutdown.add(1 /* shutdown hook invocation order */, >>> - new Runnable() { >>> - public void run() { >>> - runHooks(); >>> - } >>> - }); >>> + try { >>> + Shutdown.add(1 /* shutdown hook invocation order */, >>> + new Runnable() { >>> + public void run() { >>> + runHooks(); >>> + } >>> + }); >>> + } catch (IllegalStateException e) { >>> + // shutdown already in progress >>> + } >>> } >>> >>> - /* The set of registered hooks */ >>> + /** The set of registered hooks */ >>> private static IdentityHashMap hooks = new >>> IdentityHashMap(); >>> >>> private ApplicationShutdownHooks() {} >>> >>> - /* Add a new shutdown hook. Checks the shutdown state and the hook >>> itself, >>> + /** >>> + * Adds a new shutdown hook. Checks the shutdown state and the >>> hook itself, >>> * but does not do any security checks. >>> */ >>> static synchronized void add(Thread hook) { >>> - if(hooks == null) >>> + if (hooks == null) >>> throw new IllegalStateException("Shutdown in progress"); >>> >>> if (hook.isAlive()) >>> @@ -65,11 +69,12 @@ >>> hooks.put(hook, hook); >>> } >>> >>> - /* Remove a previously-registered hook. Like the add method, this >>> method >>> + /** >>> + * Removes a previously-registered hook. Like the add method, this >>> method >>> * does not do any security checks. >>> */ >>> static synchronized boolean remove(Thread hook) { >>> - if(hooks == null) >>> + if (hooks == null) >>> throw new IllegalStateException("Shutdown in progress"); >>> >>> if (hook == null) >>> @@ -78,7 +83,8 @@ >>> return hooks.remove(hook) != null; >>> } >>> >>> - /* Iterates over all application hooks creating a new thread for each >>> + /** >>> + * Iterates over all application hooks creating a new thread for each >>> * to run in. Hooks are run concurrently and this method waits for >>> * them to finish. >>> */ >>> diff --git a/test/java/util/logging/LoggingDeadlock2.java >>> b/test/java/util/logging/LoggingDeadlock2.java >>> --- a/test/java/util/logging/LoggingDeadlock2.java >>> +++ b/test/java/util/logging/LoggingDeadlock2.java >>> @@ -26,7 +26,7 @@ >>> * @bug 6467152 >>> * >>> * @summary deadlock occurs in LogManager initialization and JVM >>> termination >>> - * @author Serguei Spitsyn / Hittachi >>> + * @author Serguei Spitsyn / Hitachi >>> * >>> * @build LoggingDeadlock2 >>> * @run main/timeout=15 LoggingDeadlock2 >>> @@ -47,43 +47,195 @@ >>> * This is a regression test for this bug. >>> */ >>> >>> +import java.util.Arrays; >>> +import java.util.List; >>> +import java.util.Random; >>> +import java.util.concurrent.CyclicBarrier; >>> +import java.util.concurrent.atomic.AtomicInteger; >>> import java.util.logging.LogManager; >>> +import java.io.File; >>> +import java.io.InputStream; >>> +import java.io.InputStreamReader; >>> +import java.io.Reader; >>> >>> -public class LoggingDeadlock2 implements Runnable { >>> - static final java.io.PrintStream out = System.out; >>> - static Object lock = new Object(); >>> - static int c = 0; >>> - public static void main(String arg[]) { >>> - out.println("\nThis test checks that there is no deadlock."); >>> - out.println("If not crashed or timed-out then it is passed."); >>> +public class LoggingDeadlock2 { >>> + >>> + public static void realMain(String arg[]) throws Throwable { >>> try { >>> - new Thread(new LoggingDeadlock2()).start(); >>> - synchronized(lock) { >>> - c++; >>> - if (c == 2) lock.notify(); >>> - else lock.wait(); >>> + System.out.println(javaChildArgs); >>> + ProcessBuilder pb = new ProcessBuilder(javaChildArgs); >>> + ProcessResults r = run(pb.start()); >>> + equal(r.exitValue(), 99); >>> + equal(r.out(), ""); >>> + equal(r.err(), ""); >>> + } catch (Throwable t) { unexpected(t); } >>> + } >>> + >>> + public static class JavaChild { >>> + public static void main(String args[]) throws Throwable { >>> + final CyclicBarrier startingGate = new CyclicBarrier(2); >>> + final Throwable[] thrown = new Throwable[1]; >>> + >>> + // Some random variation, to help tickle races. >>> + final Random rnd = new Random(); >>> + final boolean dojoin = rnd.nextBoolean(); >>> + final int JITTER = 1024; >>> + final int iters1 = rnd.nextInt(JITTER); >>> + final int iters2 = JITTER - iters1; >>> + final AtomicInteger counter = new AtomicInteger(0); >>> + >>> + Thread exiter = new Thread() { >>> + public void run() { >>> + try { >>> + startingGate.await(); >>> + for (int i = 0; i < iters1; i++) >>> + counter.getAndIncrement(); >>> + System.exit(99); >>> + } catch (Throwable t) { >>> + t.printStackTrace(); >>> + System.exit(86); >>> + } >>> + }}; >>> + exiter.start(); >>> + >>> + startingGate.await(); >>> + for (int i = 0; i < iters2; i++) >>> + counter.getAndIncrement(); >>> + // This may or may not result in a first call to >>> + // Runtime.addShutdownHook after shutdown has already >>> + // commenced. >>> + LogManager log = LogManager.getLogManager(); >>> + >>> + if (dojoin) { >>> + exiter.join(); >>> + if (thrown[0] != null) >>> + throw new Error(thrown[0]); >>> + check(counter.get() == JITTER); >>> } >>> - LogManager log = LogManager.getLogManager(); >>> - out.println("Test passed"); >>> - } >>> - catch(Exception e) { >>> - e.printStackTrace(); >>> - out.println("Test FAILED"); // Not expected >>> } >>> } >>> >>> - public void run() { >>> - try { >>> - synchronized(lock) { >>> - c++; >>> - if (c == 2) lock.notify(); >>> - else lock.wait(); >>> - } >>> - System.exit(1); >>> + //---------------------------------------------------------------- >>> + // The rest of this test is copied from ProcessBuilder/Basic.java >>> + //---------------------------------------------------------------- >>> + private static final String javaExe = >>> + System.getProperty("java.home") + >>> + File.separator + "bin" + File.separator + "java"; >>> + >>> + private static final String classpath = >>> + System.getProperty("java.class.path"); >>> + >>> + private static final List javaChildArgs = >>> + Arrays.asList(new String[] >>> + { javaExe, "-classpath", classpath, >>> + "LoggingDeadlock2$JavaChild"}); >>> + >>> + private static class ProcessResults { >>> + private final String out; >>> + private final String err; >>> + private final int exitValue; >>> + private final Throwable throwable; >>> + >>> + public ProcessResults(String out, >>> + String err, >>> + int exitValue, >>> + Throwable throwable) { >>> + this.out = out; >>> + this.err = err; >>> + this.exitValue = exitValue; >>> + this.throwable = throwable; >>> } >>> - catch(Exception e) { >>> - e.printStackTrace(); >>> - out.println("Test FAILED"); // Not expected >>> + >>> + public String out() { return out; } >>> + public String err() { return err; } >>> + public int exitValue() { return exitValue; } >>> + public Throwable throwable() { return throwable; } >>> + >>> + public String toString() { >>> + StringBuilder sb = new StringBuilder(); >>> + sb.append("\n" + out() + "\n") >>> + .append("\n" + err() + "\n") >>> + .append("exitValue = " + exitValue + "\n"); >>> + if (throwable != null) >>> + sb.append(throwable.getStackTrace()); >>> + return sb.toString(); >>> } >>> } >>> + >>> + private static class StreamAccumulator extends Thread { >>> + private final InputStream is; >>> + private final StringBuilder sb = new StringBuilder(); >>> + private Throwable throwable = null; >>> + >>> + public String result () throws Throwable { >>> + if (throwable != null) >>> + throw throwable; >>> + return sb.toString(); >>> + } >>> + >>> + StreamAccumulator (InputStream is) { >>> + this.is = is; >>> + } >>> + >>> + public void run() { >>> + try { >>> + Reader r = new InputStreamReader(is); >>> + char[] buf = new char[4096]; >>> + int n; >>> + while ((n = r.read(buf)) > 0) { >>> + sb.append(buf,0,n); >>> + } >>> + } catch (Throwable t) { >>> + throwable = t; >>> + } finally { >>> + try { is.close(); } >>> + catch (Throwable t) { throwable = t; } >>> + } >>> + } >>> + } >>> + >>> + private static ProcessResults run(Process p) { >>> + Throwable throwable = null; >>> + int exitValue = -1; >>> + String out = ""; >>> + String err = ""; >>> + >>> + StreamAccumulator outAccumulator = >>> + new StreamAccumulator(p.getInputStream()); >>> + StreamAccumulator errAccumulator = >>> + new StreamAccumulator(p.getErrorStream()); >>> + >>> + try { >>> + outAccumulator.start(); >>> + errAccumulator.start(); >>> + >>> + exitValue = p.waitFor(); >>> + >>> + outAccumulator.join(); >>> + errAccumulator.join(); >>> + >>> + out = outAccumulator.result(); >>> + err = errAccumulator.result(); >>> + } catch (Throwable t) { >>> + throwable = t; >>> + } >>> + >>> + return new ProcessResults(out, err, exitValue, throwable); >>> + } >>> + >>> + //--------------------- Infrastructure --------------------------- >>> + static volatile int passed = 0, failed = 0; >>> + static void pass() {passed++;} >>> + static void fail() {failed++; Thread.dumpStack();} >>> + static void fail(String msg) {System.out.println(msg); fail();} >>> + static void unexpected(Throwable t) {failed++; t.printStackTrace();} >>> + static void check(boolean cond) {if (cond) pass(); else fail();} >>> + static void check(boolean cond, String m) {if (cond) pass(); else >>> fail(m);} >>> + static void equal(Object x, Object y) { >>> + if (x == null ? y == null : x.equals(y)) pass(); >>> + else fail(x + " not equal to " + y);} >>> + public static void main(String[] args) throws Throwable { >>> + try {realMain(args);} catch (Throwable t) {unexpected(t);} >>> + System.out.printf("%nPassed = %d, failed = %d%n%n", passed, >>> failed); >>> + if (failed > 0) throw new AssertionError("Some tests failed");} >>> } >>> >> From martinrb at google.com Mon Apr 13 20:57:38 2009 From: martinrb at google.com (Martin Buchholz) Date: Mon, 13 Apr 2009 13:57:38 -0700 Subject: PATCH: ShutdownHooks and LoggingDeadlock2 In-Reply-To: <49E37CE8.2090506@sun.com> References: <1ccfd1c10904121348i634d2302y31e5722ecc27c710@mail.gmail.com> <49E37CE8.2090506@sun.com> Message-ID: <1ccfd1c10904131357x4463aacfo6e40f72065477f33@mail.gmail.com> On Mon, Apr 13, 2009 at 10:56, Mandy Chung wrote: > With the fix for 6829503, ApplicationShutdownHook and DeleteOnExitHook are > both lazily initialized. ?Since it is possible that a file could be added to > the list for DeletedOnExit during shutdown, perhaps we also need to change > the Shutdown.add method to allow DeleteOnExitHook to be added during > shutdown. Shutdown is very tricky, and it seems like a big change to allow shutdown hooks to be registered after shutdown has commenced. That's not a no vote, but please be very careful fixing this. I don't have a high degree of confidence that my own fix is correct, but it is conservative and it fixes the test failure. Martin From Ulf.Zibis at gmx.de Mon Apr 13 21:12:01 2009 From: Ulf.Zibis at gmx.de (Ulf Zibis) Date: Mon, 13 Apr 2009 23:12:01 +0200 Subject: Source of sun.nio.cs.StandardCharsets.java - Please help! In-Reply-To: <49E19B86.2030701@sun.com> References: <49DB65AC.9040108@gmx.de> <49DB9686.3000902@sun.com> <49DBAC4D.4090703@Sun.COM> <49DBD874.2070608@gmx.de> <49DC8FA0.3050608@gmx.de> <49E0A886.9080200@gmx.de> <49E19B86.2030701@sun.com> Message-ID: <49E3AAA1.3020908@gmx.de> Sherman, thanks for catching my request. > Just took a quick look at the original awk script, it looks like there might be some "old" leftover code, > it should be simplified to something like below (let me know if I'm wrong on this one) I'm not sure, if I'm the right person to "review" your "un-garbadging" of the original script, as I don't know anything about awk scripts. However, I was wondering about the syntax of this script, as it looks like java code, but I'm missing the java-conform declaration of the used variables. "Un-garbadging" the script from those lines will make it much clearer to me, how it works, so I guess, you are not wrong with your "simplification". If it outputs sun.nio.cs.StandardCharsets.java as identical to the "old" leftover code, it should be correct. But again, can you please run the script (original or your correction) for me, to see, how generated source of sun.nio.cs.StandardCharsets.java looks like. You said, I could run the awk script myself from cygwin. As I'm also not familiar to cygwin till this day, can you please give me an example, what I should type in at cygwin shell to run the genCharsetProvider.sh script, for my first attempt at walking. My modified "awk script" is supposed to do following: (1) If variable $3, the charset class name, starts with "%", creation of the static String[] aliases should be omitted. (2) If variable $3 equals "%S", it should be replaced by constant SINGLE_BYTE_CLN. SINGLE_BYTE_CLN should be defined in FastCharsetProvider.java, from which StandardCharsets.java is subclassed from, as following: static final String SINGLE_BYTE_CLN = "SingleByteCharset"; For running the script first, maybe it should be inlined directly as "SingleByteCharset" to make it simpler. (3) invokation of constructor should be shortened to: super("$PKG", new Aliases(), new Classes()); (for details, why saving 1 HashMap in constructor, see: http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6790402) In awaiting your additional answer, -Ulf Am 12.04.2009 09:43, Xueming Shen schrieb: > Ulf, > > While I am kind of able to guess what you want to achieve I'm not sure > I understand what > your modified "awk script" is supposed to do. genCharsetProvider.sh is > a shell scrip + awk, > it should be easy to experiment in any popular shell tool (cygwin) > without a C/C++ compiler > installed. I have to admit that I am not aware that awk supports the > syntax you are using, so I > can't help more on them. > > Just took a quick look at the original awk script, it looks like there > might be some "old" leftover code, > it should be simplified to something like below (let me know if I'm > wrong on this one) > > Sherman > > ------------------------------------ > 72c72,73 > < BEGIN { n = 1; } > --- > > BEGIN { n = 1; m = 1; } > > > 74c75,79 > < n++; > --- > > csn = $2; cln = $3; > > lcsn = tolower(csn); > > lcsns[n++] = lcsn; > > csns[lcsn] = csn; > > classMap[lcsn] = cln; > 77c82 > < printf " static final String[] aliases_%s = new String[] > {\n", $3; > --- > > printf " static final String[] aliases_%s = new String[] > {\n", cln; > 80a86,87 > > acsns[m++] = tolower($2); > > aliasMap[tolower($2)] = lcsn; > 88a96 > > > > > Ulf Zibis wrote: >> Hi all, >> >> as I'm working on Windows and I don't have Microsoft Visual Studio >> C++ 2008 (VS2008) Standard Edition compiler, I can't run makefiles. >> >> So I ask you, if somebody can run OpenJDK7\jdk\make\java\nio\Makefile >> for me, to generate source of sun.nio.cs.StandardCharsets.java >> (output of > \jdk\make\java\nio\genCharsetProvider.sh). >> >> Additionally I have modified (see attachment): >> OpenJDK7\jdk\make\java\nio\genCharsetProvider.sh >> OpenJDK7\jdk\src\share\classes\sun\nio\cs\standard-charsets >> >> Please too run the makefile with my modifications, and send me the >> resulting output sun.nio.cs.StandardCharsets.java. >> If there are some syntax errors (I'm not familiar with make syntax) >> in my modified genCharsetProvider.sh, please try to correct them. >> >> Thanks in advance for your investigation, >> >> -Ulf >> >> P.S.: please send your answer via the mailing list, so nobody would >> do the work twice. > > From Xueming.Shen at Sun.COM Mon Apr 13 22:16:21 2009 From: Xueming.Shen at Sun.COM (Xueming Shen) Date: Mon, 13 Apr 2009 15:16:21 -0700 Subject: Source of sun.nio.cs.StandardCharsets.java - Please help! In-Reply-To: <49E3AAA1.3020908@gmx.de> References: <49DB65AC.9040108@gmx.de> <49DB9686.3000902@sun.com> <49DBAC4D.4090703@Sun.COM> <49DBD874.2070608@gmx.de> <49DC8FA0.3050608@gmx.de> <49E0A886.9080200@gmx.de> <49E19B86.2030701@sun.com> <49E3AAA1.3020908@gmx.de> Message-ID: <49E3B9B5.3020405@sun.com> Ulf Zibis wrote: > > > it should be simplified to something like below (let me know if I'm > wrong on this one) > > I'm not sure, if I'm the right person to "review" your My apology for the confusion. "that" is not for you, the author of that script is still here:-) so I asked just in case, but I believe he is just too busy to look back. > > You said, I could run the awk script myself from cygwin. As I'm also > not familiar to cygwin till this day, can you please give me an > example, what I should type in at cygwin shell to run the > genCharsetProvider.sh script, for my first attempt at walking. I'm still using MKS ksh, but it should not matter. For that particular script, you can copy/paste the command from the the makefile, so it should look like sh -e genCharsetprovider.sh {TheDirOf}/standard-charsets {DestinateDir} before that you should also (1)copy Mark's Hasher to current dir and compile it (2)do something to the addNotices.sh script, it would be easy to simply remove it from the script for now (3)add "HASHER='java Hasher' at the beginning of the script (4)add "NAWK=awk" at the beginning. Then start your awk hack. I would be happy to do the following for you, but I'm still not quite sure about (2), it might be easy if you just send me the result you would like to see. OK, I have not written any awk script for 12 years, so don't count on me:-) If you are really not familiar with it, I would suggest you simply write a small java tool (use Scanner, for example) to generate whatever you like. > > My modified "awk script" is supposed to do following: > (1) If variable $3, the charset class name, starts with "%", creation > of the static String[] aliases should be omitted. > (2) If variable $3 equals "%S", it should be replaced by constant > SINGLE_BYTE_CLN. SINGLE_BYTE_CLN should be defined in > FastCharsetProvider.java, from which StandardCharsets.java is > subclassed from, as following: > static final String SINGLE_BYTE_CLN = "SingleByteCharset"; > For running the script first, maybe it should be inlined directly > as "SingleByteCharset" to make it simpler. > (3) invokation of constructor should be shortened to: > super("$PKG", new Aliases(), new Classes()); > (for details, why saving 1 HashMap in constructor, see: > http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6790402) > > In awaiting your additional answer, > > -Ulf > > > > Am 12.04.2009 09:43, Xueming Shen schrieb: >> Ulf, >> >> While I am kind of able to guess what you want to achieve I'm not >> sure I understand what >> your modified "awk script" is supposed to do. genCharsetProvider.sh >> is a shell scrip + awk, >> it should be easy to experiment in any popular shell tool (cygwin) >> without a C/C++ compiler >> installed. I have to admit that I am not aware that awk supports the >> syntax you are using, so I >> can't help more on them. >> >> Just took a quick look at the original awk script, it looks like >> there might be some "old" leftover code, >> it should be simplified to something like below (let me know if I'm >> wrong on this one) >> >> Sherman >> >> ------------------------------------ >> 72c72,73 >> < BEGIN { n = 1; } >> --- >> > BEGIN { n = 1; m = 1; } >> > >> 74c75,79 >> < n++; >> --- >> > csn = $2; cln = $3; >> > lcsn = tolower(csn); >> > lcsns[n++] = lcsn; >> > csns[lcsn] = csn; >> > classMap[lcsn] = cln; >> 77c82 >> < printf " static final String[] aliases_%s = new String[] >> {\n", $3; >> --- >> > printf " static final String[] aliases_%s = new String[] >> {\n", cln; >> 80a86,87 >> > acsns[m++] = tolower($2); >> > aliasMap[tolower($2)] = lcsn; >> 88a96 >> > >> >> >> Ulf Zibis wrote: >>> Hi all, >>> >>> as I'm working on Windows and I don't have Microsoft Visual Studio >>> C++ 2008 (VS2008) Standard Edition compiler, I can't run makefiles. >>> >>> So I ask you, if somebody can run >>> OpenJDK7\jdk\make\java\nio\Makefile for me, to generate source of >>> sun.nio.cs.StandardCharsets.java (output of > >>> \jdk\make\java\nio\genCharsetProvider.sh). >>> >>> Additionally I have modified (see attachment): >>> OpenJDK7\jdk\make\java\nio\genCharsetProvider.sh >>> OpenJDK7\jdk\src\share\classes\sun\nio\cs\standard-charsets >>> >>> Please too run the makefile with my modifications, and send me the >>> resulting output sun.nio.cs.StandardCharsets.java. >>> If there are some syntax errors (I'm not familiar with make syntax) >>> in my modified genCharsetProvider.sh, please try to correct them. >>> >>> Thanks in advance for your investigation, >>> >>> -Ulf >>> >>> P.S.: please send your answer via the mailing list, so nobody would >>> do the work twice. >> >> > From David.Holmes at Sun.COM Mon Apr 13 22:58:58 2009 From: David.Holmes at Sun.COM (David Holmes - Sun Microsystems) Date: Tue, 14 Apr 2009 08:58:58 +1000 Subject: PATCH: ShutdownHooks and LoggingDeadlock2 In-Reply-To: <1ccfd1c10904131357x4463aacfo6e40f72065477f33@mail.gmail.com> References: <1ccfd1c10904121348i634d2302y31e5722ecc27c710@mail.gmail.com> <49E37CE8.2090506@sun.com> <1ccfd1c10904131357x4463aacfo6e40f72065477f33@mail.gmail.com> Message-ID: <49E3C3B2.7000204@sun.com> I concur with the caution here. When looking at the lazy initialization change, it never occurred to me that first-use could actually occur after shutdown had commenced. David Martin Buchholz said the following on 04/14/09 06:57: > On Mon, Apr 13, 2009 at 10:56, Mandy Chung wrote: > >> With the fix for 6829503, ApplicationShutdownHook and DeleteOnExitHook are >> both lazily initialized. Since it is possible that a file could be added to >> the list for DeletedOnExit during shutdown, perhaps we also need to change >> the Shutdown.add method to allow DeleteOnExitHook to be added during >> shutdown. > > Shutdown is very tricky, and it seems like a big change to allow > shutdown hooks to be registered after shutdown has commenced. > > That's not a no vote, but please be very careful fixing this. > > I don't have a high degree of confidence that my own fix is correct, > but it is conservative and it fixes the test failure. > > Martin From yu-ching.peng at sun.com Tue Apr 14 01:27:45 2009 From: yu-ching.peng at sun.com (yu-ching.peng at sun.com) Date: Tue, 14 Apr 2009 01:27:45 +0000 Subject: hg: jdk7/tl/jdk: 6829098: Regression test java/security/Security/ClassLoaderDeadlock/Deadlock2.java error - missing "; " Message-ID: <20090414012758.317F2E9DA@hg.openjdk.java.net> Changeset: 6f99dbd58123 Author: valeriep Date: 2009-04-13 18:20 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/6f99dbd58123 6829098: Regression test java/security/Security/ClassLoaderDeadlock/Deadlock2.java error - missing ";" Summary: Added back the missing ";" Reviewed-by: weijun ! test/java/security/Security/ClassLoaderDeadlock/Deadlock2.java From martinrb at google.com Tue Apr 14 02:15:06 2009 From: martinrb at google.com (Martin Buchholz) Date: Mon, 13 Apr 2009 19:15:06 -0700 Subject: Logger.log should call getHandlers Message-ID: <1ccfd1c10904131915l4ea4774bl4499dd2806a5f739@mail.gmail.com> Hi Swamy Our recent change changeset: 810:6eac3829cb41 user: martin date: Tue Jan 27 15:04:30 2009 -0800 summary: 6797480: Remove synchronization bottleneck in logger unfortunately introduced a serious bug. Logger.log should call Logger.getHandlers(), not Logger.handlers, because getHandlers may be overriden in a subclass. Notably, the root logger is such a subclass with a non-trivial getHandlers method. Here's the obvious fix, with a regression test that includes "penance" for our having broken j.u.l. by adding some much-needed tests for never-before-exercised code. Please review and file a bug. PATCH is here: http://cr.openjdk.java.net/~martin/getHandlers Martin From Tim.Bell at Sun.COM Tue Apr 14 03:04:11 2009 From: Tim.Bell at Sun.COM (Tim Bell) Date: Mon, 13 Apr 2009 20:04:11 -0700 Subject: PATCH: ShutdownHooks and LoggingDeadlock2 In-Reply-To: <1ccfd1c10904131328t44ed907fycc8fd73535a28374@mail.gmail.com> References: <1ccfd1c10904121348i634d2302y31e5722ecc27c710@mail.gmail.com> <49E37CE8.2090506@sun.com> <1ccfd1c10904131328t44ed907fycc8fd73535a28374@mail.gmail.com> Message-ID: <49E3FD2B.1010606@sun.com> Martin Buchholz wrote: > I've put the patch up on > > http://cr.openjdk.java.net/~martin/LoggingDeadlock2 > > (my first use (or abuse? I didn't use webrev) of cr.openjdk.java.net) Perfectly OK. cr.ojn is mostly used for webrevs, but it is fine to use it for anything you want to share with the community at large. Patch files, build logs, review documents - crash dumps or error logs - anything related to OpenJDK. Tim From Dalibor.Topic at Sun.COM Tue Apr 14 11:44:12 2009 From: Dalibor.Topic at Sun.COM (Dalibor Topic) Date: Tue, 14 Apr 2009 13:44:12 +0200 Subject: OpenJDK Forum: Core Libraries Round Table In-Reply-To: <108fcdeb0904101124r37d49da8jf36b6b4cfe56aa8d@mail.gmail.com> References: <49DCCF4B.20506@sun.com> <49DE293B.50401@sun.com> <49DE3449.5090002@sun.com> <49DE7141.7040100@sun.com> <49DE836A.3020204@sun.com> <108fcdeb0904101124r37d49da8jf36b6b4cfe56aa8d@mail.gmail.com> Message-ID: <49E4770C.8020209@sun.com> Kevin Bourrillion wrote: > Curious if anyone is transcribing the call into text yet? Word-for-word > not necessary, but understandable? If no one says they've already done > that or at least started, I could volunteer. That would be great, Kevin - the list of speakers in order of first appearance is: Alan Bateman Chris Hegarty Vincent Ryan Michael McMahon Xueming (Sherman) Shen Ulf Ziebis Doug Lea Andrew Haley Josh Bloch Dalibor Topic Mark Reinhold cheers, dalibor topic > > > On Thu, Apr 9, 2009 at 4:23 PM, Tom Hawtin > wrote: > > Dalibor Topic wrote: > > Tom Hawtin wrote: > > Dalibor Topic wrote: > > A recording of the call is available on > http://mediacast.sun.com/users/robilad/media/openjdk6-core-libs.ogg > > Any chance of getting that in a mainstream format? Windows > doesn't > understand it. Rhythmbox under VirtualBox freezes. > > > http://mediacast.sun.com/users/robilad/media/openjdk-core-libraries-roundup.mp3 > > > Thanks for that, Dalibor. (I'm no fan of software patents, but it's > nice when things just work.) > > Tom > > > > > -- > Kevin Bourrillion @ Google > internal: http://go/javalibraries > google-collections.googlecode.com > google-guice.googlecode.com > -- ******************************************************************* Dalibor Topic Tel: (+49 40) 23 646 738 Java F/OSS Ambassador AIM: robiladonaim Sun Microsystems GmbH Mobile: (+49 177) 2664 192 Nagelsweg 55 http://openjdk.java.net D-20097 Hamburg mailto:Dalibor.Topic at sun.com Sitz der Gesellschaft: Sonnenallee 1, D-85551 Kirchheim-Heimstetten Amtsgericht M?nchen: HRB 161028 Gesch?ftsf?hrer: Thomas Schr?der, Wolfgang Engels, Dr. Roland B?mer Vorsitzender des Aufsichtsrates: Martin H?ring From Weijun.Wang at Sun.COM Tue Apr 14 11:52:37 2009 From: Weijun.Wang at Sun.COM (Max (Weijun) Wang) Date: Tue, 14 Apr 2009 19:52:37 +0800 Subject: OpenJDK Forum: Core Libraries Round Table In-Reply-To: <49E4770C.8020209@sun.com> References: <49DCCF4B.20506@sun.com> <49DE293B.50401@sun.com> <49DE3449.5090002@sun.com> <49DE7141.7040100@sun.com> <49DE836A.3020204@sun.com> <108fcdeb0904101124r37d49da8jf36b6b4cfe56aa8d@mail.gmail.com> <49E4770C.8020209@sun.com> Message-ID: On Apr 14, 2009, at 7:44 PM, Dalibor Topic wrote: > Kevin Bourrillion wrote: >> Curious if anyone is transcribing the call into text yet? Word-for- >> word >> not necessary, but understandable? If no one says they've already >> done >> that or at least started, I could volunteer. > > That would be great, Kevin - the list of speakers in order of first > appearance is: > To ease your acquaintance with them, comments are added: > Alan Bateman: the NIO2 guy > Chris Hegarty: the SCTP guy > Vincent Ryan: the ECC guy > Michael McMahon: the HTTP server guy > Xueming (Sherman) Shen: the corelib guy (sorry I forget what he said > in the conf) > Ulf Ziebis: I don't know who this is. Sorry. > Doug Lea: the concurrency guy > Andrew Haley: the RedHat guy > Josh Bloch: the sort guy > Dalibor Topic: the ambassador > Mark Reinhold: the chief Hope this helps. Max > > cheers, > dalibor topic > >> >> >> On Thu, Apr 9, 2009 at 4:23 PM, Tom Hawtin > > wrote: >> >> Dalibor Topic wrote: >> >> Tom Hawtin wrote: >> >> Dalibor Topic wrote: >> >> A recording of the call is available on >> http://mediacast.sun.com/users/robilad/media/openjdk6-core-libs.ogg >> >> Any chance of getting that in a mainstream format? Windows >> doesn't >> understand it. Rhythmbox under VirtualBox freezes. >> >> >> http://mediacast.sun.com/users/robilad/media/openjdk-core-libraries-roundup.mp3 >> >> >> Thanks for that, Dalibor. (I'm no fan of software patents, but >> it's >> nice when things just work.) >> >> Tom >> >> >> >> >> -- >> Kevin Bourrillion @ Google >> internal: http://go/javalibraries >> google-collections.googlecode.com > > >> google-guice.googlecode.com >> > > > -- > ******************************************************************* > Dalibor Topic Tel: (+49 40) 23 646 738 > Java F/OSS Ambassador AIM: robiladonaim > Sun Microsystems GmbH Mobile: (+49 177) 2664 192 > Nagelsweg 55 http://openjdk.java.net > D-20097 Hamburg mailto:Dalibor.Topic at sun.com > Sitz der Gesellschaft: Sonnenallee 1, D-85551 Kirchheim-Heimstetten > Amtsgericht M?nchen: HRB 161028 > Gesch?ftsf?hrer: Thomas Schr?der, Wolfgang Engels, Dr. Roland B?mer > Vorsitzender des Aufsichtsrates: Martin H?ring > > From gnu_andrew at member.fsf.org Tue Apr 14 12:21:34 2009 From: gnu_andrew at member.fsf.org (Andrew John Hughes) Date: Tue, 14 Apr 2009 13:21:34 +0100 Subject: OpenJDK Forum: Core Libraries Round Table In-Reply-To: References: <49DCCF4B.20506@sun.com> <49DE293B.50401@sun.com> <49DE3449.5090002@sun.com> <49DE7141.7040100@sun.com> <49DE836A.3020204@sun.com> <108fcdeb0904101124r37d49da8jf36b6b4cfe56aa8d@mail.gmail.com> <49E4770C.8020209@sun.com> Message-ID: <17c6771e0904140521t7b598327v1274e056c73283aa@mail.gmail.com> 2009/4/14 Max (Weijun) Wang : > > On Apr 14, 2009, at 7:44 PM, Dalibor Topic wrote: > >> Kevin Bourrillion wrote: >>> >>> Curious if anyone is transcribing the call into text yet? ?Word-for-word >>> not necessary, but understandable? ?If no one says they've already done >>> that or at least started, I could volunteer. >> >> That would be great, Kevin - the list of speakers in order of first >> appearance is: >> > > To ease your acquaintance with them, comments are added: > >> Alan Bateman: the NIO2 guy http://blogs.sun.com/alanb/ >> Chris Hegarty: the SCTP guy >> Vincent Ryan: the ECC guy >> Michael McMahon: the HTTP server guy http://blogs.sun.com/michaelmcm/ >> Xueming (Sherman) Shen: the corelib guy (sorry I forget what he said in >> the conf) >> Ulf Ziebis: I don't know who this is. Sorry. >> Doug Lea: the concurrency guy http://en.wikipedia.org/wiki/Doug_Lea >> Andrew Haley: the RedHat guy Red Hat http://www.advogato.org/person/aph/ >> Josh Bloch: the sort guy http://en.wikipedia.org/wiki/Joshua_Bloch >> Dalibor Topic: the ambassador I thought Dalibor opened the call... was that not recorded? >> Mark Reinhold: the chief http://blogs.sun.com/mr/ > > Hope this helps. > > Max > >> >> cheers, >> dalibor topic >> >>> >>> >>> On Thu, Apr 9, 2009 at 4:23 PM, Tom Hawtin >> > wrote: >>> >>> ? Dalibor Topic wrote: >>> >>> ? ? ? Tom Hawtin wrote: >>> >>> ? ? ? ? ? Dalibor Topic wrote: >>> >>> ? ? ? ? ? ? ? A recording of the call is available on >>> >>> http://mediacast.sun.com/users/robilad/media/openjdk6-core-libs.ogg >>> >>> ? ? ? ? ? Any chance of getting that in a mainstream format? Windows >>> ? ? ? ? ? doesn't >>> ? ? ? ? ? understand it. Rhythmbox under VirtualBox freezes. >>> >>> >>> >>> http://mediacast.sun.com/users/robilad/media/openjdk-core-libraries-roundup.mp3 >>> >>> >>> ? Thanks for that, Dalibor. (I'm no fan of software patents, but it's >>> ? nice when things just work.) >>> >>> ? Tom >>> >>> >>> >>> >>> -- >>> Kevin Bourrillion @ Google >>> internal: ?http://go/javalibraries >>> google-collections.googlecode.com >>> >>> google-guice.googlecode.com >>> >> >> >> -- >> ******************************************************************* >> Dalibor Topic ? ? ? ? ? ? ? ? ? Tel: (+49 40) 23 646 738 >> Java F/OSS Ambassador ? ? ? ? ? AIM: robiladonaim >> Sun Microsystems GmbH ? ? ? ? ? Mobile: (+49 177) 2664 192 >> Nagelsweg 55 ? ? ? ? ? ? ? ? ? ?http://openjdk.java.net >> D-20097 Hamburg ? ? ? ? ? ? ? ? mailto:Dalibor.Topic at sun.com >> Sitz der Gesellschaft: Sonnenallee 1, D-85551 Kirchheim-Heimstetten >> Amtsgericht M?nchen: HRB 161028 >> Gesch?ftsf?hrer: Thomas Schr?der, Wolfgang Engels, Dr. Roland B?mer >> Vorsitzender des Aufsichtsrates: Martin H?ring >> >> > > -- Andrew :-) Free Java Software Engineer Red Hat, Inc. (http://www.redhat.com) Support Free Java! Contribute to GNU Classpath and the OpenJDK http://www.gnu.org/software/classpath http://openjdk.java.net PGP Key: 94EFD9D8 (http://subkeys.pgp.net) Fingerprint: F8EF F1EA 401E 2E60 15FA 7927 142C 2591 94EF D9D8 From Alan.Bateman at Sun.COM Tue Apr 14 12:33:16 2009 From: Alan.Bateman at Sun.COM (Alan Bateman) Date: Tue, 14 Apr 2009 13:33:16 +0100 Subject: PATCH: ShutdownHooks and LoggingDeadlock2 In-Reply-To: <49E37CE8.2090506@sun.com> References: <1ccfd1c10904121348i634d2302y31e5722ecc27c710@mail.gmail.com> <49E37CE8.2090506@sun.com> Message-ID: <49E4828C.8010709@sun.com> Mandy Chung wrote: > Hi Martin, > > Thanks for catching the regression. I created a Sun bug # 6829503 for > bug 2. > > With the fix for 6829503, ApplicationShutdownHook and DeleteOnExitHook > are both lazily initialized. Since it is possible that a file could > be added to the list for DeletedOnExit during shutdown, perhaps we > also need to change the Shutdown.add method to allow DeleteOnExitHook > to be added during shutdown. > I should pick up this bug since my fix caused this regression. Or do > you want to revise the patch? > I also missed this case when reviewing the changes (sorry) but at least it has been caught in good time I think you will need to allow hooks be added during the shutdown, if only to allow deleteOnExit to register a first file for deletion when invoked from a shutdown hook (I realize this isn't the issue that Martin ran into but I see we've got this issue also). One idea is for Shutdown#add to not check the state but instead return a boolean to indicate if shutdown is in progress. ApplicationShutdownHooks. could use this to determine if its hooks map should be initialized or not. That way, addShutdownHook will behave as expected and throw IllegalStateException during shutdown. If addShutdownHook is first invoked during shutdown it will be harmless because its runHooks will simply process an empty map. As you said, deleteOnExit also has a problem in that DeleteOnExitHook. can fail to register its hook. You'll actually be fixing a second (and I think unreported) bug that has existed for some time. That bug is that deleteOnExit is throwing IllegalStateException during shutdown when it shouldn't. That bug has been there for a while but has been masked by 6526376 (fixed early in jdk7). -Alan. From Ulf.Zibis at gmx.de Tue Apr 14 12:34:17 2009 From: Ulf.Zibis at gmx.de (Ulf Zibis) Date: Tue, 14 Apr 2009 14:34:17 +0200 Subject: OpenJDK Forum: Core Libraries Round Table In-Reply-To: References: <49DCCF4B.20506@sun.com> <49DE293B.50401@sun.com> <49DE3449.5090002@sun.com> <49DE7141.7040100@sun.com> <49DE836A.3020204@sun.com> <108fcdeb0904101124r37d49da8jf36b6b4cfe56aa8d@mail.gmail.com> <49E4770C.8020209@sun.com> Message-ID: <49E482C9.3050108@gmx.de> Am 14.04.2009 13:52, Max (Weijun) Wang schrieb: > > > To ease your acquaintance with them, comments are added: > >> Alan Bateman: the NIO2 guy >> Chris Hegarty: the SCTP guy >> Vincent Ryan: the ECC guy >> Michael McMahon: the HTTP server guy >> Xueming (Sherman) Shen: the corelib guy (sorry I forget what he said >> in the conf) >> Ulf Ziebis: I don't know who this is. Sorry. Correction: Ulf Zibis: the charset-enhanced guy https://java-nio-charset-enhanced.dev.java.net/ >> Doug Lea: the concurrency guy >> Andrew Haley: the RedHat guy >> Josh Bloch: the sort guy >> Dalibor Topic: the ambassador >> Mark Reinhold: the chief > From Christopher.Hegarty at Sun.COM Tue Apr 14 12:40:37 2009 From: Christopher.Hegarty at Sun.COM (Christopher Hegarty - Sun Microsystems Ireland) Date: Tue, 14 Apr 2009 13:40:37 +0100 Subject: OpenJDK Forum: Core Libraries Round Table In-Reply-To: <17c6771e0904140521t7b598327v1274e056c73283aa@mail.gmail.com> References: <49DCCF4B.20506@sun.com> <49DE293B.50401@sun.com> <49DE3449.5090002@sun.com> <49DE7141.7040100@sun.com> <49DE836A.3020204@sun.com> <108fcdeb0904101124r37d49da8jf36b6b4cfe56aa8d@mail.gmail.com> <49E4770C.8020209@sun.com> <17c6771e0904140521t7b598327v1274e056c73283aa@mail.gmail.com> Message-ID: <49E48445.3000007@Sun.COM> On 04/14/09 13:21, Andrew John Hughes wrote: > 2009/4/14 Max (Weijun) Wang : >> On Apr 14, 2009, at 7:44 PM, Dalibor Topic wrote: >> >>> Kevin Bourrillion wrote: >>>> Curious if anyone is transcribing the call into text yet? Word-for-word >>>> not necessary, but understandable? If no one says they've already done >>>> that or at least started, I could volunteer. >>> That would be great, Kevin - the list of speakers in order of first >>> appearance is: >>> >> To ease your acquaintance with them, comments are added: >> >>> Alan Bateman: the NIO2 guy > > http://blogs.sun.com/alanb/ > >>> Chris Hegarty: the SCTP guy http://openjdk.java.net/projects/sctp/ -Chris. >>> Vincent Ryan: the ECC guy >>> Michael McMahon: the HTTP server guy > > http://blogs.sun.com/michaelmcm/ > >>> Xueming (Sherman) Shen: the corelib guy (sorry I forget what he said in >>> the conf) >>> Ulf Ziebis: I don't know who this is. Sorry. >>> Doug Lea: the concurrency guy > > http://en.wikipedia.org/wiki/Doug_Lea > >>> Andrew Haley: the RedHat guy > > Red Hat > http://www.advogato.org/person/aph/ > >>> Josh Bloch: the sort guy > > http://en.wikipedia.org/wiki/Joshua_Bloch > >>> Dalibor Topic: the ambassador > > I thought Dalibor opened the call... was that not recorded? > >>> Mark Reinhold: the chief > > http://blogs.sun.com/mr/ > >> Hope this helps. >> >> Max >> >>> cheers, >>> dalibor topic >>> >>>> >>>> On Thu, Apr 9, 2009 at 4:23 PM, Tom Hawtin >>> > wrote: >>>> >>>> Dalibor Topic wrote: >>>> >>>> Tom Hawtin wrote: >>>> >>>> Dalibor Topic wrote: >>>> >>>> A recording of the call is available on >>>> >>>> http://mediacast.sun.com/users/robilad/media/openjdk6-core-libs.ogg >>>> >>>> Any chance of getting that in a mainstream format? Windows >>>> doesn't >>>> understand it. Rhythmbox under VirtualBox freezes. >>>> >>>> >>>> >>>> http://mediacast.sun.com/users/robilad/media/openjdk-core-libraries-roundup.mp3 >>>> >>>> >>>> Thanks for that, Dalibor. (I'm no fan of software patents, but it's >>>> nice when things just work.) >>>> >>>> Tom >>>> >>>> >>>> >>>> >>>> -- >>>> Kevin Bourrillion @ Google >>>> internal: http://go/javalibraries >>>> google-collections.googlecode.com >>>> >>>> google-guice.googlecode.com >>>> >>> >>> -- >>> ******************************************************************* >>> Dalibor Topic Tel: (+49 40) 23 646 738 >>> Java F/OSS Ambassador AIM: robiladonaim >>> Sun Microsystems GmbH Mobile: (+49 177) 2664 192 >>> Nagelsweg 55 http://openjdk.java.net >>> D-20097 Hamburg mailto:Dalibor.Topic at sun.com >>> Sitz der Gesellschaft: Sonnenallee 1, D-85551 Kirchheim-Heimstetten >>> Amtsgericht M?nchen: HRB 161028 >>> Gesch?ftsf?hrer: Thomas Schr?der, Wolfgang Engels, Dr. Roland B?mer >>> Vorsitzender des Aufsichtsrates: Martin H?ring >>> >>> >> > > > From Dalibor.Topic at Sun.COM Tue Apr 14 12:44:26 2009 From: Dalibor.Topic at Sun.COM (Dalibor Topic) Date: Tue, 14 Apr 2009 14:44:26 +0200 Subject: OpenJDK Forum: Core Libraries Round Table In-Reply-To: <49E482C9.3050108@gmx.de> References: <49DCCF4B.20506@sun.com> <49DE293B.50401@sun.com> <49DE3449.5090002@sun.com> <49DE7141.7040100@sun.com> <49DE836A.3020204@sun.com> <108fcdeb0904101124r37d49da8jf36b6b4cfe56aa8d@mail.gmail.com> <49E4770C.8020209@sun.com> <49E482C9.3050108@gmx.de> Message-ID: <49E4852A.2020306@sun.com> Ulf Zibis wrote: > > > Am 14.04.2009 13:52, Max (Weijun) Wang schrieb: >> >> >> To ease your acquaintance with them, comments are added: >> >>> Alan Bateman: the NIO2 guy >>> Chris Hegarty: the SCTP guy >>> Vincent Ryan: the ECC guy >>> Michael McMahon: the HTTP server guy >>> Xueming (Sherman) Shen: the corelib guy (sorry I forget what he said >>> in the conf) >>> Ulf Ziebis: I don't know who this is. Sorry. > > Correction: > Ulf Zibis: the charset-enhanced guy > https://java-nio-charset-enhanced.dev.java.net/ > >>> Doug Lea: the concurrency guy >>> Andrew Haley: the RedHat guy >>> Josh Bloch: the sort guy >>> Dalibor Topic: the ambassador >>> Mark Reinhold: the chief >> > Thanks, everyone, I added most of the links to http://robilad.livejournal.com/46797.html , and I'll add a pointer to the minutes, once they are available. cheers, dalibor topic -- ******************************************************************* Dalibor Topic Tel: (+49 40) 23 646 738 Java F/OSS Ambassador AIM: robiladonaim Sun Microsystems GmbH Mobile: (+49 177) 2664 192 Nagelsweg 55 http://openjdk.java.net D-20097 Hamburg mailto:Dalibor.Topic at sun.com Sitz der Gesellschaft: Sonnenallee 1, D-85551 Kirchheim-Heimstetten Amtsgericht M?nchen: HRB 161028 Gesch?ftsf?hrer: Thomas Schr?der, Wolfgang Engels, Dr. Roland B?mer Vorsitzender des Aufsichtsrates: Martin H?ring From franzprog at gmail.com Tue Apr 14 13:38:07 2009 From: franzprog at gmail.com (Franz Wong) Date: Tue, 14 Apr 2009 21:38:07 +0800 Subject: PATCH: ShutdownHooks and LoggingDeadlock2 In-Reply-To: <49E4828C.8010709@sun.com> References: <1ccfd1c10904121348i634d2302y31e5722ecc27c710@mail.gmail.com> <49E37CE8.2090506@sun.com> <49E4828C.8010709@sun.com> Message-ID: Dear all, Seem you guy are fixing the bug about shutdown of logger, can you please also take a look at the bug I filed in Sun database (#6774110) Thanks. -------------- next part -------------- An HTML attachment was scrubbed... URL: From Ulf.Zibis at gmx.de Tue Apr 14 13:57:29 2009 From: Ulf.Zibis at gmx.de (Ulf Zibis) Date: Tue, 14 Apr 2009 15:57:29 +0200 Subject: Source of sun.nio.cs.StandardCharsets.java - Please help! In-Reply-To: <49E3B9B5.3020405@sun.com> References: <49DB65AC.9040108@gmx.de> <49DB9686.3000902@sun.com> <49DBAC4D.4090703@Sun.COM> <49DBD874.2070608@gmx.de> <49DC8FA0.3050608@gmx.de> <49E0A886.9080200@gmx.de> <49E19B86.2030701@sun.com> <49E3AAA1.3020908@gmx.de> <49E3B9B5.3020405@sun.com> Message-ID: <49E49649.6010808@gmx.de> Am 14.04.2009 00:16, Xueming Shen schrieb: > I'm still using MKS ksh, but it should not matter. For that particular > script, you can copy/paste the command from the the > makefile, so it should look like > > sh -e genCharsetprovider.sh {TheDirOf}/standard-charsets {DestinateDir} > > before that you should also > (1)copy Mark's Hasher to current dir and compile it > (2)do something to the addNotices.sh script, it would be easy to > simply remove it from the script for now > (3)add "HASHER='java Hasher' at the beginning of the script > (4)add "NAWK=awk" at the beginning. > > Then start your awk hack. Much thanks, I will try to get this running. > > I would be happy to do the following for you, but I'm still not quite > sure about (2), it might be easy if you just send me the > result you would like to see. This would be much easier for me, if I would have the current source for StandardCharsets class. I only can find the class file in rt.jar. So I asked you, if you can send it to me, but it seems to be difficult for you !? Having this, I could easily edit it, to show, you what I want to change. -Ulf From Ulf.Zibis at gmx.de Tue Apr 14 16:54:58 2009 From: Ulf.Zibis at gmx.de (Ulf Zibis) Date: Tue, 14 Apr 2009 18:54:58 +0200 Subject: Source of sun.nio.cs.StandardCharsets.java - Please help! In-Reply-To: <49E3B9B5.3020405@sun.com> References: <49DB65AC.9040108@gmx.de> <49DB9686.3000902@sun.com> <49DBAC4D.4090703@Sun.COM> <49DBD874.2070608@gmx.de> <49DC8FA0.3050608@gmx.de> <49E0A886.9080200@gmx.de> <49E19B86.2030701@sun.com> <49E3AAA1.3020908@gmx.de> <49E3B9B5.3020405@sun.com> Message-ID: <49E4BFE2.9090508@gmx.de> Am 14.04.2009 00:16, Xueming Shen schrieb: > I'm still using MKS ksh, but it should not matter. For that particular > script, you can copy/paste the command from the the > makefile, so it should look like > > sh -e genCharsetprovider.sh {TheDirOf}/standard-charsets {DestinateDir} > > before that you should also > (1)copy Mark's Hasher to current dir and compile it > (2)do something to the addNotices.sh script, it would be easy to > simply remove it from the script for now > (3)add "HASHER='java Hasher' at the beginning of the script > (4)add "NAWK=awk" at the beginning. > > Then start your awk hack. Now I have it (see attachment). It took me 4 hours to find out reason of following: - variable PKG was not recognized proper. - running my .bat file, I got following error: C:\Projects\OpenJDK7\jdk\make\java\nio\charset>sh -e genCharsetprovider_simple.sh ../../../../src/share/classes/sun/nio/cs/standard-charsets ../../../../build/temp --> ../../../../build/temp/StandardCharsets.java genCharsetprovider_simple.sh: line 112: "java: command not found Solution: set HASHER=java -cp .;..\..\..\..\build build.tools.hasher.Hasher set PKG=sun.nio.cs instead of: set HASHER="java -cp .;..\..\..\..\build build.tools.hasher.Hasher" set PKG="sun.nio.cs" Should I be ashamed ? :-( > > I would be happy to do the following for you, but I'm still not quite > sure about (2), it might be easy if you just send me the > result you would like to see. See "customized" version from attachment. It's just omitting the aliases for the classes, which class name, read from standard-charsets, start with '%'. -Ulf -------------- next part -------------- An embedded and charset-unspecified text was scrubbed... Name: genCharsetProvider_simple.sh URL: -------------- next part -------------- An embedded and charset-unspecified text was scrubbed... Name: genCharsetProvider.bat URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: StandardCharsets.java Type: java/* Size: 26615 bytes Desc: not available URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: StandardCharsets_customized.java Type: java/* Size: 18584 bytes Desc: not available URL: From Mandy.Chung at Sun.COM Tue Apr 14 19:33:00 2009 From: Mandy.Chung at Sun.COM (Mandy Chung) Date: Tue, 14 Apr 2009 12:33:00 -0700 Subject: PATCH: ShutdownHooks and LoggingDeadlock2 In-Reply-To: <49E4828C.8010709@sun.com> References: <1ccfd1c10904121348i634d2302y31e5722ecc27c710@mail.gmail.com> <49E37CE8.2090506@sun.com> <49E4828C.8010709@sun.com> Message-ID: <49E4E4EC.8060204@sun.com> Alan Bateman wrote: > That bug is that deleteOnExit is throwing IllegalStateException during > shutdown when it shouldn't. That bug has been there for a while but > has been masked by 6526376 (fixed early in jdk7). Before the fix for 6829503 (after 6526376 was fixed), DeleteOnExitHook#add never throws IllegalStateException since the files field is never null as it is initialized in the static initializer. I'll fix this bug. Mandy Alan Bateman wrote: > Mandy Chung wrote: >> Hi Martin, >> >> Thanks for catching the regression. I created a Sun bug # 6829503 >> for bug 2. >> >> With the fix for 6829503, ApplicationShutdownHook and >> DeleteOnExitHook are both lazily initialized. Since it is possible >> that a file could be added to the list for DeletedOnExit during >> shutdown, perhaps we also need to change the Shutdown.add method to >> allow DeleteOnExitHook to be added during shutdown. >> I should pick up this bug since my fix caused this regression. Or do >> you want to revise the patch? >> > I also missed this case when reviewing the changes (sorry) but at > least it has been caught in good time I think you will need to allow > hooks be added during the shutdown, if only to allow deleteOnExit to > register a first file for deletion when invoked from a shutdown hook > (I realize this isn't the issue that Martin ran into but I see we've > got this issue also). > > One idea is for Shutdown#add to not check the state but instead return > a boolean to indicate if shutdown is in progress. > ApplicationShutdownHooks. could use this to determine if its > hooks map should be initialized or not. That way, addShutdownHook will > behave as expected and throw IllegalStateException during shutdown. If > addShutdownHook is first invoked during shutdown it will be harmless > because its runHooks will simply process an empty map. As you said, > deleteOnExit also has a problem in that DeleteOnExitHook. can > fail to register its hook. You'll actually be fixing a second (and I > think unreported) bug that has existed for some time. That bug is that > deleteOnExit is throwing IllegalStateException during shutdown when it > shouldn't. That bug has been there for a while but has been masked by > 6526376 (fixed early in jdk7). > > -Alan. From martinrb at google.com Tue Apr 14 21:37:56 2009 From: martinrb at google.com (Martin Buchholz) Date: Tue, 14 Apr 2009 14:37:56 -0700 Subject: Logger.log should call getHandlers In-Reply-To: <1ccfd1c10904131915l4ea4774bl4499dd2806a5f739@mail.gmail.com> References: <1ccfd1c10904131915l4ea4774bl4499dd2806a5f739@mail.gmail.com> Message-ID: <1ccfd1c10904141437u5c633c0fp613b996f1569eaeb@mail.gmail.com> I've updated my PATCH with more self-flagellation penance tests, but which also have an ulterior motive, as will be revealed in a followon msg. PATCH to my patch http://cr.openjdk.java.net/~martin/getHandlers follows: diff --git a/test/java/util/logging/LoggerSubclass.java b/test/java/util/logging/LoggerSubclass.java --- a/test/java/util/logging/LoggerSubclass.java +++ b/test/java/util/logging/LoggerSubclass.java @@ -32,12 +32,15 @@ import java.util.logging.Logger; import java.util.logging.LogRecord; import java.util.concurrent.atomic.AtomicInteger; +import java.util.concurrent.atomic.AtomicLong; public class LoggerSubclass { void test(String[] args) { final String name = "myLogger"; final String message = "myMessage"; final AtomicInteger getHandlerCount = new AtomicInteger(0); + final AtomicLong lastSequenceNumber = new AtomicLong(-1L); + final AtomicInteger lastThreadID = new AtomicInteger(-1); final Logger logger = new Logger(name, null) { public Handler[] getHandlers() { getHandlerCount.getAndIncrement(); @@ -59,6 +62,15 @@ equal(l.getSourceMethodName(), "test"); equal(l.getThrown(), null); equal(l.getLevel(), Level.WARNING); + + if (lastSequenceNumber.get() != -1) { + equal(lastSequenceNumber.get() + 1, + l.getSequenceNumber()); + equal(lastThreadID.get(), + l.getThreadID()); + } + lastSequenceNumber.set(l.getSequenceNumber()); + lastThreadID.set(l.getThreadID()); }}); for (int i = 1; i < 4; i++) { logger.warning(message); // Should invoke getHandlers() Martin On Mon, Apr 13, 2009 at 19:15, Martin Buchholz wrote: > Hi Swamy > > Our recent change > > changeset: ? 810:6eac3829cb41 > user: ? ? ? ?martin > date: ? ? ? ?Tue Jan 27 15:04:30 2009 -0800 > summary: ? ? 6797480: Remove synchronization bottleneck in logger > > unfortunately introduced a serious bug. > > Logger.log should call Logger.getHandlers(), not Logger.handlers, > because getHandlers may be overriden in a subclass. > Notably, the root logger is such a subclass with a > non-trivial getHandlers method. > > Here's the obvious fix, with a regression test that > includes "penance" for our having broken j.u.l. > by adding some much-needed ?tests for never-before-exercised code. > > Please review and file a bug. > > PATCH is here: > http://cr.openjdk.java.net/~martin/getHandlers > > Martin > From martinrb at google.com Tue Apr 14 21:45:26 2009 From: martinrb at google.com (Martin Buchholz) Date: Tue, 14 Apr 2009 14:45:26 -0700 Subject: Correlating LogRecord ThreadIDs with run-of-the-mill Thread ids Message-ID: <1ccfd1c10904141445h79097715y601ad09233ef2033@mail.gmail.com> Synopsis: Correlating LogRecord ThreadIDs with run-of-the-mill Thread ids Description: java.util.logging introduced the idea of a thread id, and the same idea was later introduced into java.lang.Thread itself. Unfortunately, these are not correlated, and the j.u.l. flavor is an int, while the other is a long. Evaluation: We should try hard to make the j.u.l. thread id a copy of the java.lang thread id, as long as the latter is not outrageously large. Fix: (requires the fix for http://cr.openjdk.java.net/~martin/getHandlers as a prereq) # HG changeset patch # User martin # Date 1239744603 25200 # Node ID ef4dfb22df0ee19b070438d984d0c95f0bf070c8 # Parent 74c670b6ca1a400d3368a1b668fede43b2871fdc [mq]: LogRecord diff --git a/src/share/classes/java/util/logging/LogRecord.java b/src/share/classes/java/util/logging/LogRecord.java --- a/src/share/classes/java/util/logging/LogRecord.java +++ b/src/share/classes/java/util/logging/LogRecord.java @@ -25,6 +25,8 @@ package java.util.logging; import java.util.*; +import java.util.concurrent.atomic.AtomicInteger; +import java.util.concurrent.atomic.AtomicLong; import java.io.*; /** @@ -64,9 +66,24 @@ */ public class LogRecord implements java.io.Serializable { - private static long globalSequenceNumber; - private static int nextThreadId=10; - private static ThreadLocal threadIds = new ThreadLocal(); + private static final AtomicLong globalSequenceNumber + = new AtomicLong(0); + + /** + * The default value of threadID will be the current thread's + * thread id, for ease of correlation, unless it is greater than + * MIN_SEQUENTIAL_THREAD_ID, in which case we try harder to keep + * our promise to keep threadIDs unique by avoiding collisions due + * to 32-bit wraparound. Unfortunately, LogRecord.getThreadID() + * returns int, while Thread.getId() returns long. + */ + private static final int MIN_SEQUENTIAL_THREAD_ID = Integer.MAX_VALUE / 2; + + private static final AtomicInteger nextThreadId + = new AtomicInteger(MIN_SEQUENTIAL_THREAD_ID); + + private static final ThreadLocal threadIds + = new ThreadLocal(); /** * @serial Logging message level @@ -123,6 +140,23 @@ private transient ResourceBundle resourceBundle; /** + * Returns the default value for a new LogRecord's threadID. + */ + private int defaultThreadID() { + long tid = Thread.currentThread().getId(); + if (tid < MIN_SEQUENTIAL_THREAD_ID) { + return (int) tid; + } else { + Integer id = threadIds.get(); + if (id == null) { + id = nextThreadId.getAndIncrement(); + threadIds.set(id); + } + return id; + } + } + + /** * Construct a LogRecord with the given level and message values. *

    * The sequence property will be initialized with a new unique value. @@ -144,15 +178,8 @@ this.level = level; message = msg; // Assign a thread ID and a unique sequence number. - synchronized (LogRecord.class) { - sequenceNumber = globalSequenceNumber++; - Integer id = threadIds.get(); - if (id == null) { - id = new Integer(nextThreadId++); - threadIds.set(id); - } - threadID = id.intValue(); - } + sequenceNumber = globalSequenceNumber.getAndIncrement(); + threadID = defaultThreadID(); millis = System.currentTimeMillis(); needToInferCaller = true; } diff --git a/test/java/util/logging/LoggerSubclass.java b/test/java/util/logging/LoggerSubclass.java --- a/test/java/util/logging/LoggerSubclass.java +++ b/test/java/util/logging/LoggerSubclass.java @@ -68,6 +68,8 @@ l.getSequenceNumber()); equal(lastThreadID.get(), l.getThreadID()); + equal((int) Thread.currentThread().getId(), + l.getThreadID()); } lastSequenceNumber.set(l.getSequenceNumber()); lastThreadID.set(l.getThreadID()); From martinrb at google.com Tue Apr 14 21:51:47 2009 From: martinrb at google.com (Martin Buchholz) Date: Tue, 14 Apr 2009 14:51:47 -0700 Subject: PATCH: ShutdownHooks and LoggingDeadlock2 In-Reply-To: References: <1ccfd1c10904121348i634d2302y31e5722ecc27c710@mail.gmail.com> <49E37CE8.2090506@sun.com> <49E4828C.8010709@sun.com> Message-ID: <1ccfd1c10904141451y33e315cdpdbe81e7b5f9a66c9@mail.gmail.com> It does look like we're taking over maintainership of java.util.logging, and there is a current flurry of activity, but probably no one here is thinking along those lines. Martin On Tue, Apr 14, 2009 at 06:38, Franz Wong wrote: > Dear all, > > Seem you guy are fixing the bug about shutdown of logger, can you please > also take a look at the bug I filed in Sun database (#6774110) > > Thanks. > From martinrb at google.com Tue Apr 14 22:34:15 2009 From: martinrb at google.com (Martin Buchholz) Date: Tue, 14 Apr 2009 15:34:15 -0700 Subject: Correlating LogRecord ThreadIDs with run-of-the-mill Thread ids In-Reply-To: <1ccfd1c10904141445h79097715y601ad09233ef2033@mail.gmail.com> References: <1ccfd1c10904141445h79097715y601ad09233ef2033@mail.gmail.com> Message-ID: <1ccfd1c10904141534q3b4f64abw83a08a3454212079@mail.gmail.com> Jeremy pointed out that a bug for this already exists. Synopsis java.util.logging.LogRecord.getThreadID() should provide real thread id http://bugs.sun.com/view_bug.do?bug_id=6278014 Martin On Tue, Apr 14, 2009 at 14:45, Martin Buchholz wrote: > Synopsis: > Correlating LogRecord ThreadIDs with run-of-the-mill Thread ids From Swamy.Venkataramanappa at Sun.COM Tue Apr 14 22:43:26 2009 From: Swamy.Venkataramanappa at Sun.COM (swamy) Date: Tue, 14 Apr 2009 17:43:26 -0500 Subject: Logger.log should call getHandlers In-Reply-To: <1ccfd1c10904131915l4ea4774bl4499dd2806a5f739@mail.gmail.com> References: <1ccfd1c10904131915l4ea4774bl4499dd2806a5f739@mail.gmail.com> Message-ID: <49E5118E.4030805@sun.com> Martin, Good catch! Your fix looks good to me. Bug id for this issue is:6830220). -Swamy Martin Buchholz wrote: > Hi Swamy > > Our recent change > > changeset: 810:6eac3829cb41 > user: martin > date: Tue Jan 27 15:04:30 2009 -0800 > summary: 6797480: Remove synchronization bottleneck in logger > > unfortunately introduced a serious bug. > > Logger.log should call Logger.getHandlers(), not Logger.handlers, > because getHandlers may be overriden in a subclass. > Notably, the root logger is such a subclass with a > non-trivial getHandlers method. > > Here's the obvious fix, with a regression test that > includes "penance" for our having broken j.u.l. > by adding some much-needed tests for never-before-exercised code. > > Please review and file a bug. > > PATCH is here: > http://cr.openjdk.java.net/~martin/getHandlers > > Martin > From martinrb at google.com Wed Apr 15 01:01:25 2009 From: martinrb at google.com (Martin Buchholz) Date: Tue, 14 Apr 2009 18:01:25 -0700 Subject: java-nio-charset-enhanced -- Milestone 4 is released In-Reply-To: <20090407034531.DF413AC26@callebaut.niobe.net> References: <1ccfd1c10904061727y1a6b7935g68514a250f9f385b@mail.gmail.com> <20090407034531.DF413AC26@callebaut.niobe.net> Message-ID: <1ccfd1c10904141801t6de4bbc9q928d930173b1b143@mail.gmail.com> (Sorry for my continuing extreme communications lag) On Mon, Apr 6, 2009 at 20:45, Mark Reinhold wrote: >> Date: Mon, 06 Apr 2009 17:27:41 -0700 >> From: Martin Buchholz > >> On Mon, Mar 30, 2009 at 21:51, Mark Reinhold wrote: >>>> Date: Sun, 29 Mar 2009 11:27:26 -0700 >>>> From: Martin Buchholz >>>> The problem is more human. ?One would like to give credit for good >>>> ideas or good analysis, but the only official way to give credit in a >>>> commit message is via a simple >>>> Contributed-by: email-address >>>> which raises legal doubts even when there is no copyrighted material. >>> >>> Exactly what sort of legal doubts do you have in mind here? >>> >>> We already require the contributor of any nontrivial change to submit an >>> SCA prior to that change being integrated. ?Is that not sufficient? >> >> I am worried about: >> - contributions that do not require a copyright assignment, >> ? e.g. an excellent bug report > > Bug reports submitted to bugs.sun.com, to bugs.openjdk.java.net, or in > e-mail to an openjdk.java.net list are covered by appropriate Terms of > Use (ToU) statements. ?Are they not sufficient? The problem is not that *I* have any legal doubts about whether a contribution is legally acceptable, but that I worry that *others* will have doubts if I put anyone's name in a Contributed-by: when that name cannot be found in the SCA signers list. The phrase "Contributed-by:" *sounds* like it has legal meaning. I understand why the Guide imposes draconian restrictions on the format of a changeset comment, but I'd like to see some loosening of those restrictions. I would like the ability to add free form text to the commit messages, even with the risk of teams adopting local conventions about their use. But if we're going to allow just one loosening, it would be to allow *multiple* *free-form* Thank-you: free....form....text....here.... lines. Thanks, Martin >> - contributions from a Google employee, because of repeated institutional >> ? amnesia that Google has a blanket SCA, which is not reflected in >> ? https://sca.dev.java.net/CA_signatories.htm > > I'm not sure why that is, but I'll look into it. > >>>> I guess one can abuse the Summary: field to squeeze in thank-yous, >>>> but it's pretty obvious that you are circumventing the process. >>> >>> Perhaps -- but if we need to fix the process, then we can do that. >> >> It seems that for changes for which I have an external contributor, >> there is a large variety in the nature of the contribution; >> sometimes an off-hand remark will cause an avalanche of work on my part. >> The nature of the collaboration cannot >> be expressed in the commit comment. ?Perhaps we could have >> a Thank-you: with free-form content in addition to a Contributed-by: >> with the latter reflecting a legal copyright author to keep the lawyers happy. > > You seem to think that the Contributed-by line exists in order to keep > Sun's lawyers happy. ?It doesn't. ?Sun's lawyers actually know nothing > about it. > > We defined the Contributed-by line in order to give credit to non-author > contributors in a visible and permanent way. ?We could equally well have > called it the "Thank-you" line, but we didn't. > > As a changeset author you're free to list anyone whom you think worthy of > credit in the Contributed-by line. ?Is the problem here that you assumed > otherwise? ?If so then we just need to improve the documentation. > >> Speaking of which -- hopefully jcheck will soon be open-sourced?! > > Yes. > > - Mark > From i30817 at gmail.com Wed Apr 15 16:54:44 2009 From: i30817 at gmail.com (Paulo Levi) Date: Wed, 15 Apr 2009 17:54:44 +0100 Subject: Adding a fixate method to StringBuilder and StringBuffer. Message-ID: <212322090904150954g78a37db6t87abe9c6996b8004@mail.gmail.com> Since CharSequence is obviously flawed in that it doesn't allow efficient read-only views because of a missing method, there are various methods in the jdk where a stringbuilder/buffer is built, populated and then toString()-ed and left to be garbage collected. I'm seeing places, especially in the Document classes, where this originates a OutOfMemory exception, because the second buffers can't be created concurrently. I'm asking for a public final String fixate() method for both stringbuffer and builder that reuses the internal char array on a private String constructor (that takes the array), and sets a flag to never allow the buffer to be modified again. But what i would really like is that the CharSequence interface would altered. CharSequence2. -------------- next part -------------- An HTML attachment was scrubbed... URL: From Thomas.Hawtin at Sun.COM Wed Apr 15 20:46:16 2009 From: Thomas.Hawtin at Sun.COM (Tom Hawtin) Date: Wed, 15 Apr 2009 21:46:16 +0100 Subject: Adding a fixate method to StringBuilder and StringBuffer. In-Reply-To: <212322090904150954g78a37db6t87abe9c6996b8004@mail.gmail.com> References: <212322090904150954g78a37db6t87abe9c6996b8004@mail.gmail.com> Message-ID: <49E64798.2060504@sun.com> Paulo Levi wrote: > Since CharSequence is obviously flawed in that it doesn't allow > efficient read-only views because of a missing method, there are various > methods in the jdk where a stringbuilder/buffer is built, populated and > then toString()-ed and left to be garbage collected. I'm seeing places, > especially in the Document classes, where this originates a OutOfMemory > exception, because the second buffers can't be created concurrently. > I'm asking for a > public final String fixate() > method for both stringbuffer and builder that reuses the internal char > array on a private String constructor (that takes the array), and sets a > flag to never allow the buffer to be modified again. > > But what i would really like is that the CharSequence interface would > altered. CharSequence2. This is the way StringBuffer worked prior to 1.5. That produced so many problems. It is widely known that 1.4 still suffers from unsafe publication issues (not that 1.4 *spec* has a sensible memory model at all). Obviously for StringBuilder, without synchronisation, it is way out. Swing text classes, used reasonably, should not result in OutOfMemoryErrors. If you require to have lots of Strings sharing the same backing buffer, in Sun's current implementation you can use toString once followed by many String.substrings. Other performance-optimised implementations have different behaviour. If exact behaviour is important to you, then you will need to use your own immutable char[] wrapper class. Tom Hawtin From weijun.wang at sun.com Thu Apr 16 03:22:51 2009 From: weijun.wang at sun.com (weijun.wang at sun.com) Date: Thu, 16 Apr 2009 03:22:51 +0000 Subject: hg: jdk7/tl/jdk: 6830658: Changeset 897b2d42995a breaks the fastdebug build in NativeCreds.c Message-ID: <20090416032338.B8A9EECAC@hg.openjdk.java.net> Changeset: 33e06332c9d4 Author: weijun Date: 2009-04-16 11:16 +0800 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/33e06332c9d4 6830658: Changeset 897b2d42995a breaks the fastdebug build in NativeCreds.c Reviewed-by: tbell ! src/windows/native/sun/security/krb5/NativeCreds.c From serverperformance at gmail.com Thu Apr 16 08:26:21 2009 From: serverperformance at gmail.com (=?iso-8859-1?Q?Jes=FAs_Vi=F1uales?=) Date: Thu, 16 Apr 2009 10:26:21 +0200 Subject: Adding a fixate method to StringBuilder and StringBuffer. In-Reply-To: <49E64798.2060504@sun.com> References: <212322090904150954g78a37db6t87abe9c6996b8004@mail.gmail.com> <49E64798.2060504@sun.com> Message-ID: <00d001c9be6d$08b174d0$1a145e70$@com> Paolo, Look at this bug evaluation http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6219959 to get further information about what Tom told you yesterday. I'm afraid that there is nothing to do here... because an optimization based on buffer-sharing + copy-on-write has several problems (although I'm sure that with the "new" memory model, a redesign based on a volatile flag would solve the concurrency problems) and *surprisingly* seems not to give any performance gain at all!! (surely because of the overload for the GC). Last autumn I tried (for fun) several solutions (even tried a completely internal redesign of StringBuilder based on appending in a String list instead of arraycopying to a char buffer) but had no luck. It would be great that some brilliant brain would be able to optimize, it but seems difficult/impossible or at least I think that this has no priority :-( Regards, Jes?s > Tom Hawtin wrote: > > Paulo Levi wrote: > > Since CharSequence is obviously flawed in that it doesn't allow > > efficient read-only views because of a missing method, there are > various > > methods in the jdk where a stringbuilder/buffer is built, populated > and > > then toString()-ed and left to be garbage collected. I'm seeing > places, > > especially in the Document classes, where this originates a > OutOfMemory > > exception, because the second buffers can't be created concurrently. > > I'm asking for a > > public final String fixate() > > method for both stringbuffer and builder that reuses the internal > char > > array on a private String constructor (that takes the array), and > sets a > > flag to never allow the buffer to be modified again. > > > > But what i would really like is that the CharSequence interface would > > altered. CharSequence2. > > This is the way StringBuffer worked prior to 1.5. That produced so many > problems. It is widely known that 1.4 still suffers from unsafe > publication issues (not that 1.4 *spec* has a sensible memory model at > all). Obviously for StringBuilder, without synchronisation, it is way > out. > > Swing text classes, used reasonably, should not result in > OutOfMemoryErrors. If you require to have lots of Strings sharing the > same backing buffer, in Sun's current implementation you can use > toString once followed by many String.substrings. Other > performance-optimised implementations have different behaviour. If > exact > behaviour is important to you, then you will need to use your own > immutable char[] wrapper class. > > Tom Hawtin From Alan.Bateman at Sun.COM Thu Apr 16 14:54:41 2009 From: Alan.Bateman at Sun.COM (Alan Bateman) Date: Thu, 16 Apr 2009 15:54:41 +0100 Subject: Review request 6830721 Message-ID: <49E746B1.7020809@sun.com> 6830721: (fc) test/java/nio/channels/AsynchronousFileChannel/Basic.java intermittent failure Sherman - this is another intermittent failure of this test. The cancel sub-test isn't correctly handling the case that the write completes before it is cancelled. It's hard to duplicate but when the write completes successfully the test fails. Trivial update to the test; webrev is here: http://cr.openjdk.java.net/~alanb/6830721/webrev.00/ Thanks, Alan. From i30817 at gmail.com Thu Apr 16 17:44:47 2009 From: i30817 at gmail.com (Paulo Levi) Date: Thu, 16 Apr 2009 18:44:47 +0100 Subject: Adding a fixate method to StringBuilder and StringBuffer. In-Reply-To: <212322090904161043i196a10efxae13f31eff1ffe46@mail.gmail.com> References: <212322090904150954g78a37db6t87abe9c6996b8004@mail.gmail.com> <49E64798.2060504@sun.com> <00d001c9be6d$08b174d0$1a145e70$@com> <212322090904161043i196a10efxae13f31eff1ffe46@mail.gmail.com> Message-ID: <212322090904161044l45492d32kd9b5871d852f82a8@mail.gmail.com> ---------- Forwarded message ---------- From: Paulo Levi Date: Thu, Apr 16, 2009 at 6:43 PM Subject: Re: Adding a fixate method to StringBuilder and StringBuffer. To: Jes?s Vi?uales How about the charsequence2 interface for readonly views? It would not resolve the problem of a third party modifying the chars from under the methods, but frankly that problem exists today now, since the only performant methods of insertion are all based on char[] and not Strings (that i will remind you, need at least 2 char array allocations to be used in a api (making the array, copying the chars, (sometimes - making the string buffer, copying the arrays,), toCharArray(), copying the chars, Vs 1 allocation in a more sane api, making the string array and copying the char array at source and destination. The char[] methods methods are also badly implemented in that they just use new StringBuffer (not even builder) and toString(), effectively doubling or tripling the memory requirements - for buffered insertions, that logically take a large amount of chars. For instance, I call you attention to the method: protected void insert(int offset, ElementSpec[] data) throws BadLocationException { in defaultStyledDocument, that aquires an internal writelock, uses a StringBuffer to append each array into a gigantic string and calls insertString(offset, string); on the GapContent, that then uses toCharArray instead getChars to make another unnecessary allocation. Is it any wonder that methods throw OOM? -------------- next part -------------- An HTML attachment was scrubbed... URL: From xueming.shen at sun.com Fri Apr 17 04:06:57 2009 From: xueming.shen at sun.com (xueming.shen at sun.com) Date: Fri, 17 Apr 2009 04:06:57 +0000 Subject: hg: jdk7/tl/jdk: 4244499: ZipEntry() does not convert filenames from Unicode to platform; ... Message-ID: <20090417040728.420ADEE0E@hg.openjdk.java.net> Changeset: 1aaeb8fbe705 Author: sherman Date: 2009-04-16 21:00 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/1aaeb8fbe705 4244499: ZipEntry() does not convert filenames from Unicode to platform 4532049: IllegalArgumentException in ZipInputStream while reading unicode file 5030283: Incorrect implementation of UTF-8 in zip package 4700978: ZipFile can't treat Japanese name in a zipfile properly 4980042: Cannot use Surrogates in zip file metadata like filenames 4820807: java.util.zip.ZipInputStream cannot extract files with Chinese chars in name Summary: Add new constructors for zip classes to support non-UTF-8 encoded names/comments in ZIP file Reviewed-by: alanb, martin ! make/java/zip/FILES_c.gmk ! make/java/zip/mapfile-vers ! make/java/zip/reorder-i586 ! make/java/zip/reorder-sparc ! make/java/zip/reorder-sparcv9 + src/share/classes/java/util/zip/ZipCoder.java ! src/share/classes/java/util/zip/ZipConstants64.java ! src/share/classes/java/util/zip/ZipEntry.java ! src/share/classes/java/util/zip/ZipFile.java ! src/share/classes/java/util/zip/ZipInputStream.java ! src/share/classes/java/util/zip/ZipOutputStream.java ! src/share/classes/java/util/zip/package.html - src/share/native/java/util/zip/ZipEntry.c ! src/share/native/java/util/zip/ZipFile.c ! src/share/native/java/util/zip/zip_util.c ! src/share/native/java/util/zip/zip_util.h + test/java/util/zip/ZipCoding.java + test/java/util/zip/zip.java From alan.bateman at sun.com Fri Apr 17 09:17:18 2009 From: alan.bateman at sun.com (alan.bateman at sun.com) Date: Fri, 17 Apr 2009 09:17:18 +0000 Subject: hg: jdk7/tl/jdk: 3 new changesets Message-ID: <20090417091815.EDB46EEE7@hg.openjdk.java.net> Changeset: 0b3660c68262 Author: alanb Date: 2009-04-15 14:53 +0100 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/0b3660c68262 6795561: (bf) CharBuffer.subSequence() uses wrong capacity value for new buffer Reviewed-by: sherman, iris ! 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 ! src/share/classes/java/nio/StringCharBuffer.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 Changeset: 44b6b2a4dd04 Author: alanb Date: 2009-04-15 16:16 +0100 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/44b6b2a4dd04 6543863: (fc) FileLock.release can deadlock with FileChannel.close 6429910: (fc) FileChannel.lock() IOException: Bad file number, not AsynchronousCloseException 6814948: (fc) test/java/nio/channels/AsynchronousFileChannel/Lock.java failed intermittently 6822643: (fc) AsynchronousFileChannel.close does not invalidate FileLocks Reviewed-by: sherman ! src/share/classes/sun/nio/ch/AsynchronousFileChannelImpl.java ! src/share/classes/sun/nio/ch/FileChannelImpl.java ! src/share/classes/sun/nio/ch/FileLockImpl.java ! src/share/classes/sun/nio/ch/FileLockTable.java ! src/share/classes/sun/nio/ch/SimpleAsynchronousFileChannelImpl.java ! src/windows/classes/sun/nio/ch/WindowsAsynchronousFileChannelImpl.java ! src/windows/native/sun/nio/ch/FileDispatcherImpl.c ! test/java/nio/channels/AsynchronousFileChannel/Basic.java ! test/java/nio/channels/AsynchronousFileChannel/Lock.java + test/java/nio/channels/FileChannel/ReleaseOnCloseDeadlock.java Changeset: ca94dcd8c4fb Author: alanb Date: 2009-04-17 09:38 +0100 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/ca94dcd8c4fb Merge - src/share/native/java/util/zip/ZipEntry.c From abhijit.saha at sun.com Fri Apr 17 10:42:58 2009 From: abhijit.saha at sun.com (abhijit.saha at sun.com) Date: Fri, 17 Apr 2009 10:42:58 +0000 Subject: hg: jdk7/tl/jaxws: 2 new changesets Message-ID: <20090417104301.C5CA4EF0D@hg.openjdk.java.net> Changeset: 99fc62f032a7 Author: ramap Date: 2009-03-09 15:32 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/jaxws/rev/99fc62f032a7 6536193: Fix the flaw in UTF8XmlOutput Reviewed-by: tbell ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/output/UTF8XmlOutput.java Changeset: f89f252678be Author: asaha Date: 2009-04-10 13:05 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/jaxws/rev/f89f252678be Merge From Alan.Bateman at Sun.COM Fri Apr 17 14:52:41 2009 From: Alan.Bateman at Sun.COM (Alan Bateman) Date: Fri, 17 Apr 2009 15:52:41 +0100 Subject: Review request 6831461 Message-ID: <49E897B9.9060508@sun.com> 6831461: (sample) Copy -r fails with IllegalArgumentexception: 'maxDepth' is negative Sherman - this is bug in the Copy sample code that one of the tech writers ran into. For the -r option the sample code is calling walkFileTree with a max depth of -1 instead of Integer.MAX_VALUE. Not sure how I missed this but a reminder that we probably need to include a sanity check that runs the samples. The fix is trivial (and some other minor corrections to a comment and error messages): http://cr.openjdk.java.net/~alanb/6831461/webrev.00/ Thanks, Alan. From abhijit.saha at sun.com Fri Apr 17 16:26:22 2009 From: abhijit.saha at sun.com (abhijit.saha at sun.com) Date: Fri, 17 Apr 2009 16:26:22 +0000 Subject: hg: jdk7/tl/jdk: 31 new changesets Message-ID: <20090417163311.B5340E09A@hg.openjdk.java.net> Changeset: fb2ccb7c50c7 Author: wetmore Date: 2008-08-22 18:48 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/fb2ccb7c50c7 6497740: Limit the size of RSA public keys Reviewed-by: andreas, valeriep, vinnie ! src/share/classes/sun/security/pkcs11/P11KeyPairGenerator.java ! src/share/classes/sun/security/pkcs11/P11KeyStore.java ! src/share/classes/sun/security/pkcs11/P11RSAKeyFactory.java ! src/share/classes/sun/security/pkcs11/SunPKCS11.java ! src/share/classes/sun/security/rsa/RSAKeyFactory.java ! src/share/classes/sun/security/rsa/RSAKeyPairGenerator.java ! src/share/classes/sun/security/rsa/RSAPrivateCrtKeyImpl.java ! src/share/classes/sun/security/rsa/RSAPrivateKeyImpl.java ! src/share/classes/sun/security/rsa/RSAPublicKeyImpl.java ! src/windows/classes/sun/security/mscapi/RSAKeyPairGenerator.java ! src/windows/classes/sun/security/mscapi/RSASignature.java Changeset: 8e51a219fc3b Author: weijun Date: 2008-10-01 10:01 +0800 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/8e51a219fc3b 6588160: jaas krb5 client leaks OS-level UDP sockets (all platforms) Reviewed-by: jccollet, chegar ! src/share/classes/sun/security/krb5/KrbKdcReq.java ! src/share/classes/sun/security/krb5/internal/UDPClient.java Changeset: 150a441a305d Author: ksrini Date: 2008-09-04 09:43 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/150a441a305d 6733959: Insufficient checks for "Main-Class" manifest entry in JAR files Summary: Fixes a buffer overrun problem with a very long Main-Class attribute. Reviewed-by: darcy ! src/share/bin/emessages.h ! src/share/bin/java.c ! test/tools/launcher/MultipleJRE.sh + test/tools/launcher/ZipMeUp.java Changeset: ec336f0e23f4 Author: okutsu Date: 2008-10-02 16:49 +0900 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/ec336f0e23f4 6734167: Calendar.readObject allows elevation of privileges Reviewed-by: peytoia ! src/share/classes/java/util/Calendar.java Changeset: 135c5fe2ee42 Author: bae Date: 2008-10-02 20:37 +0400 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/135c5fe2ee42 6726779: ConvolveOp on USHORT raster can cause the JVM crash. Reviewed-by: igor, prr ! src/share/native/sun/awt/medialib/awt_ImagingLib.c + test/java/awt/image/ConvolveOp/EdgeNoOpCrash.java Changeset: 9d1033f65e4b Author: alanb Date: 2008-10-09 21:12 +0100 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/9d1033f65e4b 6721753: File.createTempFile produces guessable file names Reviewed-by: sherman ! src/share/classes/java/io/File.java Changeset: 3c567ab34788 Author: ksrini Date: 2008-10-17 09:43 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/3c567ab34788 6755943: Java JAR Pack200 Decompression should enforce stricter header checks Summary: Fixes a core dump when fed with a faulty pack file and related malicious take over Reviewed-by: jrose ! make/common/shared/Defs-windows.gmk ! src/share/native/com/sun/java/util/jar/pack/bytes.cpp ! src/share/native/com/sun/java/util/jar/pack/defines.h ! src/share/native/com/sun/java/util/jar/pack/main.cpp ! src/share/native/com/sun/java/util/jar/pack/unpack.cpp ! src/share/native/com/sun/java/util/jar/pack/unpack.h ! src/share/native/com/sun/java/util/jar/pack/utils.cpp ! src/share/native/com/sun/java/util/jar/pack/utils.h + test/tools/pack200/MemoryAllocatorTest.java Changeset: 0291de857e51 Author: bae Date: 2008-12-03 13:34 +0300 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/0291de857e51 6766136: corrupted gif image may cause crash in java splashscreen library. Reviewed-by: prr, art ! src/share/native/sun/awt/splashscreen/splashscreen_gfx_impl.h ! src/share/native/sun/awt/splashscreen/splashscreen_gif.c Changeset: dfb09d805b2d Author: prr Date: 2008-12-24 15:48 -0800 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/dfb09d805b2d 6652463: MediaSize constructors allow to redefine the mapping of standard MediaSizeName values Reviewed-by: igor, jgodinez ! src/share/classes/javax/print/attribute/standard/MediaSize.java + test/javax/print/attribute/MediaMappingsTest.java Changeset: a8ec0998704e Author: weijun Date: 2008-12-30 10:42 +0800 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/a8ec0998704e 6717680: LdapCtx does not close the connection if initialization fails Reviewed-by: vinnie, xuelei ! src/share/classes/com/sun/jndi/ldap/LdapCtx.java Changeset: 6a4e03cc03bb Author: prr Date: 2009-01-05 11:28 -0800 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/6a4e03cc03bb 6632886: Font.createFont can be persuaded to leak temporary files 6522586: Enforce limits on Font creation 6652929: Font.createFont(int,File) trusts File.getPath Reviewed-by: igor ! src/share/classes/java/awt/Font.java + src/share/classes/sun/font/CreatedFontTracker.java ! src/share/classes/sun/font/FileFont.java ! src/share/classes/sun/font/FontManager.java + test/java/awt/FontClass/CreateFont/A.ttf + test/java/awt/FontClass/CreateFont/BigFont.java + test/java/awt/FontClass/CreateFont/DeleteFont.java + test/java/awt/FontClass/CreateFont/DeleteFont.sh + test/java/awt/FontClass/CreateFont/bigfont.html + test/java/awt/FontClass/CreateFont/fileaccess/FontFile.java Changeset: 392c4225d636 Author: ksrini Date: 2009-02-18 14:14 -0800 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/392c4225d636 6792554: Java JAR Pack200 header checks are insufficent Summary: Added several checks to ensure that the values read from the headers are consistent Reviewed-by: jrose ! src/share/native/com/sun/java/util/jar/pack/bands.cpp ! src/share/native/com/sun/java/util/jar/pack/coding.cpp ! src/share/native/com/sun/java/util/jar/pack/defines.h ! src/share/native/com/sun/java/util/jar/pack/unpack.cpp - test/tools/pack200/MemoryAllocatorTest.java Changeset: 7f4cf1eb7586 Author: bae Date: 2009-02-20 13:48 +0300 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/7f4cf1eb7586 6804996: JWS PNG Decoding Integer Overflow [V-flrhat2ln8] Reviewed-by: prr ! src/share/native/sun/awt/splashscreen/splashscreen_gif.c ! src/share/native/sun/awt/splashscreen/splashscreen_impl.h ! src/share/native/sun/awt/splashscreen/splashscreen_png.c Changeset: dedf9366f289 Author: prr Date: 2009-03-03 16:10 -0800 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/dedf9366f289 2163516: Font.createFont can be persuaded to leak temporary files Reviewed-by: igor ! src/share/classes/sun/font/FontManager.java ! src/share/classes/sun/font/TrueTypeFont.java ! src/share/classes/sun/font/Type1Font.java ! test/java/awt/FontClass/CreateFont/DeleteFont.java Changeset: 7f6c1ce75629 Author: bae Date: 2009-03-05 19:36 +0300 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/7f6c1ce75629 6804998: JRE GIF Decoding Heap Corruption [V-y6g5jlm8e1] Reviewed-by: prr ! src/share/classes/sun/awt/image/GifImageDecoder.java ! src/share/native/sun/awt/image/gif/gifdecoder.c Changeset: 51f13571014c Author: bae Date: 2009-03-06 12:40 +0300 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/51f13571014c 6804997: JWS GIF Decoding Heap Corruption [V-r687oxuocp] Reviewed-by: prr ! src/share/native/sun/awt/giflib/dgif_lib.c Changeset: 2e34ef54a93a Author: michaelm Date: 2009-03-10 03:18 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/2e34ef54a93a 6630639: lightweight HttpServer leaks file descriptors on no-data connections Summary: not cleaning up no-data connections properly Reviewed-by: chegar ! src/share/classes/sun/net/httpserver/Request.java ! src/share/classes/sun/net/httpserver/ServerImpl.java Changeset: 21e38c573956 Author: dfuchs Date: 2009-03-09 21:49 +0100 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/21e38c573956 6656633: getNotificationInfo methods static mutable Reviewed-by: emcmanus, jfdenise ! src/share/classes/javax/management/monitor/CounterMonitor.java ! src/share/classes/javax/management/monitor/GaugeMonitor.java ! src/share/classes/javax/management/monitor/StringMonitor.java Changeset: ea88236be621 Author: dfuchs Date: 2009-03-10 12:28 +0100 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/ea88236be621 Merge Changeset: 8cdfcdea53cb Author: dfuchs Date: 2009-03-09 22:17 +0100 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/8cdfcdea53cb 6691246: Thread context class loader can be set using JMX remote ClientNotifForwarded Reviewed-by: emcmanus ! src/share/classes/com/sun/jmx/remote/internal/ClientNotifForwarder.java Changeset: 09b17f679cbd Author: dfuchs Date: 2009-03-10 12:36 +0100 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/09b17f679cbd Merge Changeset: 13dfb2c46091 Author: dfuchs Date: 2009-03-09 22:34 +0100 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/13dfb2c46091 6610888: Potential use of cleared of incorrect acc in JMX Monitor Reviewed-by: emcmanus ! src/share/classes/javax/management/monitor/Monitor.java Changeset: de520a184ddb Author: dfuchs Date: 2009-03-10 12:47 +0100 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/de520a184ddb Merge Changeset: 8062f8c51a88 Author: dfuchs Date: 2009-03-09 22:49 +0100 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/8062f8c51a88 6610896: JMX Monitor handles thread groups incorrectly Reviewed-by: emcmanus ! src/share/classes/javax/management/monitor/Monitor.java Changeset: e1d79edaf7a0 Author: dfuchs Date: 2009-03-10 12:55 +0100 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/e1d79edaf7a0 Merge ! src/share/classes/javax/management/monitor/Monitor.java Changeset: 3265fb461090 Author: dfuchs Date: 2009-03-09 23:50 +0100 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/3265fb461090 6721651: Security problem with out-of-the-box management Reviewed-by: emcmanus, lmalvent ! src/share/classes/com/sun/jmx/remote/security/MBeanServerAccessController.java ! src/share/classes/com/sun/jmx/remote/security/MBeanServerFileAccessController.java ! src/share/lib/management/jmxremote.access Changeset: 6ed878e5a5d4 Author: dfuchs Date: 2009-03-10 14:29 +0100 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/6ed878e5a5d4 Merge Changeset: 255dcd4f19b6 Author: vinnie Date: 2009-03-10 18:43 +0000 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/255dcd4f19b6 6737315: LDAP serialized data vulnerability Reviewed-by: alanb ! src/share/classes/com/sun/jndi/ldap/VersionHelper12.java Changeset: e51956c74e5c Author: asaha Date: 2009-04-16 21:08 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/e51956c74e5c Merge ! make/common/shared/Defs-windows.gmk ! src/share/bin/emessages.h ! src/share/bin/java.c ! src/share/classes/com/sun/jmx/remote/internal/ClientNotifForwarder.java ! src/share/classes/com/sun/jmx/remote/security/MBeanServerFileAccessController.java ! src/share/classes/java/awt/Font.java ! src/share/classes/java/io/File.java ! src/share/classes/java/util/Calendar.java ! src/share/classes/javax/management/monitor/CounterMonitor.java ! src/share/classes/javax/management/monitor/GaugeMonitor.java ! src/share/classes/javax/management/monitor/Monitor.java ! src/share/classes/sun/font/FontManager.java ! src/share/classes/sun/font/TrueTypeFont.java ! src/share/classes/sun/font/Type1Font.java ! src/share/classes/sun/net/httpserver/Request.java ! src/share/classes/sun/net/httpserver/ServerImpl.java ! src/share/native/com/sun/java/util/jar/pack/bands.cpp ! src/share/native/com/sun/java/util/jar/pack/bytes.cpp ! src/share/native/com/sun/java/util/jar/pack/coding.cpp ! src/share/native/com/sun/java/util/jar/pack/defines.h ! src/share/native/com/sun/java/util/jar/pack/main.cpp ! src/share/native/com/sun/java/util/jar/pack/unpack.cpp ! src/share/native/com/sun/java/util/jar/pack/unpack.h ! src/share/native/com/sun/java/util/jar/pack/utils.cpp ! src/share/native/com/sun/java/util/jar/pack/utils.h Changeset: 16c5e63f32d2 Author: asaha Date: 2009-04-16 22:47 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/16c5e63f32d2 Merge - src/share/native/java/util/zip/ZipEntry.c Changeset: a498d2817bef Author: asaha Date: 2009-04-17 09:21 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/a498d2817bef Merge From Mandy.Chung at Sun.COM Fri Apr 17 22:05:27 2009 From: Mandy.Chung at Sun.COM (Mandy Chung) Date: Fri, 17 Apr 2009 15:05:27 -0700 Subject: Review request for 6829503 Message-ID: <49E8FD27.9080000@sun.com> 6829503: addShutdownHook fails if called after shutdown has commenced. Webrev at: http://cr.openjdk.java.net/~mchung/6829503/webrev.00/ I change the Shutdown#add method to take the registerShutdownInProgress parameter. If set to true, the specified shutdown hook is allowed to be registered while shutdown is in progress. The method will throw IllegalStateException if the shutdown process already passes this slot. DeleteOnExitHook is the last shutdown hook to be invoked and it will not be invoked until all application shutdown hooks finish (see ApplicationShutdownHooks.runHooks()). So any file added to the delete on exit list by the application shutdown hooks will be handled by the DeleteOnExitHook. The LoggingDeadlock2.java test passes with this fix. I also add a new jtreg test to exercise the Console and DeleteOnExitHook being initialized during application shutdown. Alan, I considered your suggestion to make Shutdown#add method to return a boolean instead of checking the state. I am concerned that if the caller didn't check the return value and handle properly, it would be harder to catch the problem. So I keep it to check the state and throw IllegalStateException. Thanks Mandy From martinrb at google.com Sat Apr 18 00:07:47 2009 From: martinrb at google.com (Martin Buchholz) Date: Fri, 17 Apr 2009 17:07:47 -0700 Subject: Review request for 6829503 In-Reply-To: <49E8FD27.9080000@sun.com> References: <49E8FD27.9080000@sun.com> Message-ID: <1ccfd1c10904171707m327f97b8yaeb92c0d3f2f3d81@mail.gmail.com> Thanks for your quick response on this. A quick review says: looks good to me. Someone should give it a more thorough review. ----- The solution of allowing shutdown hooks of a particular type to be added during shutdown before that slot is reached is clever. I'm sure there are use cases for users to be able to do the same thing with their own shutdown hooks, but it would be tricky to provide such a facility in a clean way. How do you manage the order of independently developed shutdown hooks? Probably still a research problem. ----- the last shutdown hook to invoke. => the last shutdown hook to be invoked. Martin On Fri, Apr 17, 2009 at 15:05, Mandy Chung wrote: > 6829503: addShutdownHook fails if called after shutdown has commenced. > > Webrev at: > ?http://cr.openjdk.java.net/~mchung/6829503/webrev.00/ > > I change the Shutdown#add method to take the registerShutdownInProgress > parameter. ?If set to true, the specified shutdown hook is allowed to be > registered while shutdown is in progress. ?The method will throw > IllegalStateException if the shutdown process already passes this slot. > DeleteOnExitHook is the last shutdown hook to be invoked and it will not be > invoked until all application shutdown hooks finish (see > ApplicationShutdownHooks.runHooks()). ?So any file added to the delete on > exit list by the application shutdown hooks will be handled by the > DeleteOnExitHook. > > The LoggingDeadlock2.java test passes with this fix. ?I also add a new jtreg > test to exercise the Console and DeleteOnExitHook being initialized during > application shutdown. > > Alan, > ?I considered your suggestion to make Shutdown#add method to return a > boolean instead of checking the state. ?I am concerned that if the caller > didn't check the return value and handle properly, it would be harder to > catch the problem. ?So I keep it to check the state and throw > IllegalStateException. > > Thanks > Mandy > From David.Holmes at Sun.COM Sat Apr 18 01:14:44 2009 From: David.Holmes at Sun.COM (David Holmes - Sun Microsystems) Date: Sat, 18 Apr 2009 11:14:44 +1000 Subject: Review request for 6829503 In-Reply-To: <49E8FD27.9080000@sun.com> References: <49E8FD27.9080000@sun.com> Message-ID: <49E92984.8040406@sun.com> Hi Mandy, Looks good but I have one query. At the top-level there are 3 shutdown hooks: - console hook - application hooks - deleteOnExit hook and they run in this order. The deleteOnExit hook can be added when shutdown is in progress, so this allows first-use of deleteOnExit during an application shutdown hook. Okay - that's fine and solves current problem very neatly. But the Console hook that restores the echo state runs first, so if the first use of the console is by an application shutdown hook, or by some other thread when shutdown has commenced, then we won't restore the state of the console. I guess that's how it currently works anyway, but it seems strange. I'm not familiar with the Console but I would have expected (naively perhaps) the application shutdown hooks to run first and then any "internal hooks". That way we would always restore the state (though I guess there is potentially a race with active threads still using the console). David Mandy Chung said the following on 04/18/09 08:05: > 6829503: addShutdownHook fails if called after shutdown has commenced. > > Webrev at: > http://cr.openjdk.java.net/~mchung/6829503/webrev.00/ > > I change the Shutdown#add method to take the registerShutdownInProgress > parameter. If set to true, the specified shutdown hook is allowed to be > registered while shutdown is in progress. The method will throw > IllegalStateException if the shutdown process already passes this > slot. DeleteOnExitHook is the last shutdown hook to be invoked and it > will not be invoked until all application shutdown hooks finish (see > ApplicationShutdownHooks.runHooks()). So any file added to the delete > on exit list by the application shutdown hooks will be handled by the > DeleteOnExitHook. > > The LoggingDeadlock2.java test passes with this fix. I also add a new > jtreg test to exercise the Console and DeleteOnExitHook being > initialized during application shutdown. > > Alan, > I considered your suggestion to make Shutdown#add method to return a > boolean instead of checking the state. I am concerned that if the > caller didn't check the return value and handle properly, it would be > harder to catch the problem. So I keep it to check the state and throw > IllegalStateException. > > Thanks > Mandy From Mandy.Chung at Sun.COM Sat Apr 18 05:53:43 2009 From: Mandy.Chung at Sun.COM (Mandy Chung) Date: Fri, 17 Apr 2009 22:53:43 -0700 Subject: Review request for 6829503 In-Reply-To: <1ccfd1c10904171707m327f97b8yaeb92c0d3f2f3d81@mail.gmail.com> References: <49E8FD27.9080000@sun.com> <1ccfd1c10904171707m327f97b8yaeb92c0d3f2f3d81@mail.gmail.com> Message-ID: <49E96AE7.9010904@sun.com> Hi Martin, Thanks for the quick review. Users should only add their shutdown hooks via the System.addShutdownHook() method. java.lang.Shutdown is an implementation class for registering internal hooks besides application shutdown hooks - including the shutdown hook for Console and DeleteOnExitHook. Applications should not use the Shutdown#add method. > How do you manage the order of independently developed shutdown hooks? I assume you're concerned with application shutdown hooks. The order will be managed by ApplicationShutdownHooks (in the order when a hook is added). Are you concerned with other use of Shutdown#add? Mandy Martin Buchholz wrote: > Thanks for your quick response on this. > > A quick review says: looks good to me. > Someone should give it a more thorough review. > ----- > The solution of allowing shutdown hooks of a particular type to be added > during shutdown before that slot is reached is clever. > > I'm sure there are use cases for users to be able to do the same thing > with their own shutdown hooks, but it would be tricky to provide such > a facility in a clean way. How do you manage the order of independently > developed shutdown hooks? Probably still a research problem. > > ----- > > the last shutdown hook to invoke. > => > the last shutdown hook to be invoked. > > Martin > > On Fri, Apr 17, 2009 at 15:05, Mandy Chung wrote: > >> 6829503: addShutdownHook fails if called after shutdown has commenced. >> >> Webrev at: >> http://cr.openjdk.java.net/~mchung/6829503/webrev.00/ >> >> I change the Shutdown#add method to take the registerShutdownInProgress >> parameter. If set to true, the specified shutdown hook is allowed to be >> registered while shutdown is in progress. The method will throw >> IllegalStateException if the shutdown process already passes this slot. >> DeleteOnExitHook is the last shutdown hook to be invoked and it will not be >> invoked until all application shutdown hooks finish (see >> ApplicationShutdownHooks.runHooks()). So any file added to the delete on >> exit list by the application shutdown hooks will be handled by the >> DeleteOnExitHook. >> >> The LoggingDeadlock2.java test passes with this fix. I also add a new jtreg >> test to exercise the Console and DeleteOnExitHook being initialized during >> application shutdown. >> >> Alan, >> I considered your suggestion to make Shutdown#add method to return a >> boolean instead of checking the state. I am concerned that if the caller >> didn't check the return value and handle properly, it would be harder to >> catch the problem. So I keep it to check the state and throw >> IllegalStateException. >> >> Thanks >> Mandy >> >> From Mandy.Chung at Sun.COM Sat Apr 18 06:06:59 2009 From: Mandy.Chung at Sun.COM (Mandy Chung) Date: Fri, 17 Apr 2009 23:06:59 -0700 Subject: Review request for 6829503 In-Reply-To: <49E92984.8040406@sun.com> References: <49E8FD27.9080000@sun.com> <49E92984.8040406@sun.com> Message-ID: <49E96E03.3000208@sun.com> David, Thanks for the review. Whether the application shutdown hooks should always be invoked first is a good question. The Console shutdown hook is added to restore the console after prompting for a password to fix: 6363043 Console will not return to original state when the process is killed with Ctrl+C (sol) I consulted with Sherman some time back about the shutdown hook ordering. The Console restores the state before the application shutdown hook is to enable the application shutdown hooks that use Console to work properly. While working on this fix, I also observed the issue you point out - we won't restore the state of the console if the first use of the console is by an application shutdown or by some other thread when shutdown has commenced. It is only an issue when it gets terminated in the middle of reading the password. Normal return of the Console.readPassword method will restore the state. I consulted with Alan. He points out that it would go against all recommendations to prompt for a password in a shutdown hook. He suggests to leave the existing behavior as it is. Alan, Sherman, Do you have any comments on the order of Console shutdown hook and application shutdown hooks? It seems sensible that the application shutdown hooks should run first and then other "internal hooks" as David said. Thanks Mandy David Holmes - Sun Microsystems wrote: > Hi Mandy, > > Looks good but I have one query. > > At the top-level there are 3 shutdown hooks: > > - console hook > - application hooks > - deleteOnExit hook > > and they run in this order. The deleteOnExit hook can be added when > shutdown is in progress, so this allows first-use of deleteOnExit > during an application shutdown hook. Okay - that's fine and solves > current problem very neatly. > > But the Console hook that restores the echo state runs first, so if > the first use of the console is by an application shutdown hook, or by > some other thread when shutdown has commenced, then we won't restore > the state of the console. I guess that's how it currently works > anyway, but it seems strange. I'm not familiar with the Console but I > would have expected (naively perhaps) the application shutdown hooks > to run first and then any "internal hooks". That way we would always > restore the state (though I guess there is potentially a race with > active threads still using the console). > > David > > Mandy Chung said the following on 04/18/09 08:05: >> 6829503: addShutdownHook fails if called after shutdown has commenced. >> >> Webrev at: >> http://cr.openjdk.java.net/~mchung/6829503/webrev.00/ >> >> I change the Shutdown#add method to take the >> registerShutdownInProgress parameter. If set to true, the specified >> shutdown hook is allowed to be registered while shutdown is in >> progress. The method will throw IllegalStateException if the >> shutdown process already passes this slot. DeleteOnExitHook is the >> last shutdown hook to be invoked and it will not be invoked until all >> application shutdown hooks finish (see >> ApplicationShutdownHooks.runHooks()). So any file added to the >> delete on exit list by the application shutdown hooks will be handled >> by the DeleteOnExitHook. >> >> The LoggingDeadlock2.java test passes with this fix. I also add a >> new jtreg test to exercise the Console and DeleteOnExitHook being >> initialized during application shutdown. >> >> Alan, >> I considered your suggestion to make Shutdown#add method to return >> a boolean instead of checking the state. I am concerned that if the >> caller didn't check the return value and handle properly, it would be >> harder to catch the problem. So I keep it to check the state and >> throw IllegalStateException. >> >> Thanks >> Mandy From Xueming.Shen at Sun.COM Sat Apr 18 06:51:59 2009 From: Xueming.Shen at Sun.COM (Xueming Shen) Date: Fri, 17 Apr 2009 23:51:59 -0700 Subject: Review request for 6829503 In-Reply-To: <49E96E03.3000208@sun.com> References: <49E8FD27.9080000@sun.com> <49E92984.8040406@sun.com> <49E96E03.3000208@sun.com> Message-ID: <49E9788F.7080702@sun.com> Mandy Chung wrote: > David, > > Thanks for the review. > > Whether the application shutdown hooks should always be invoked first > is a good question. > The Console shutdown hook is added to restore the console after > prompting for a password to fix: > 6363043 Console will not return to original state when the process is > killed with Ctrl+C (sol) > > I consulted with Sherman some time back about the shutdown hook > ordering. The Console restores the state before the application > shutdown hook is to enable the application shutdown hooks that use > Console to work properly. > > While working on this fix, I also observed the issue you point out - > we won't restore the state of the console if the first use of the > console is by an application shutdown or by some other thread when > shutdown has commenced. It is only an issue when it gets terminated > in the middle of reading the password. Normal return of the > Console.readPassword method will restore the state. > > I consulted with Alan. He points out that it would go against all > recommendations to prompt for a password in a shutdown hook. He > suggests to leave the existing behavior as it is. > > Alan, Sherman, > Do you have any comments on the order of Console shutdown hook and > application shutdown hooks? It seems sensible that the application > shutdown hooks should run first and then other "internal hooks" as > David said. Two use scenarios (1) jvm is being terminated "abnormally" during a password reading operation (during "normal" application operation), in which the echo is in "off" mode when these shutdown hooks start to be invoked. Without the "console restore first", application hooks probably can do nothing with the stdin/console (2)Application hooks use Console.readPassword() and then be terminated "abnormally" during the reading, in which the echo mode is kept in "off" mode and will not be restored after app exits. The reason the console hook was/is added to run first is we weighed the first scenario as a more likely scenario in real world application. Note, the Console echo mode is not required to be "restored" if the reading operation finishes normally. Maybe we can consider to run the console hook again (if the hook is set) after the application hooks? Sherman > > Thanks > Mandy > > David Holmes - Sun Microsystems wrote: >> Hi Mandy, >> >> Looks good but I have one query. >> >> At the top-level there are 3 shutdown hooks: >> >> - console hook >> - application hooks >> - deleteOnExit hook >> >> and they run in this order. The deleteOnExit hook can be added when >> shutdown is in progress, so this allows first-use of deleteOnExit >> during an application shutdown hook. Okay - that's fine and solves >> current problem very neatly. >> >> But the Console hook that restores the echo state runs first, so if >> the first use of the console is by an application shutdown hook, or >> by some other thread when shutdown has commenced, then we won't >> restore the state of the console. I guess that's how it currently >> works anyway, but it seems strange. I'm not familiar with the Console >> but I would have expected (naively perhaps) the application shutdown >> hooks to run first and then any "internal hooks". That way we would >> always restore the state (though I guess there is potentially a race >> with active threads still using the console). >> >> David >> >> Mandy Chung said the following on 04/18/09 08:05: >>> 6829503: addShutdownHook fails if called after shutdown has commenced. >>> >>> Webrev at: >>> http://cr.openjdk.java.net/~mchung/6829503/webrev.00/ >>> >>> I change the Shutdown#add method to take the >>> registerShutdownInProgress parameter. If set to true, the specified >>> shutdown hook is allowed to be registered while shutdown is in >>> progress. The method will throw IllegalStateException if the >>> shutdown process already passes this slot. DeleteOnExitHook is the >>> last shutdown hook to be invoked and it will not be invoked until >>> all application shutdown hooks finish (see >>> ApplicationShutdownHooks.runHooks()). So any file added to the >>> delete on exit list by the application shutdown hooks will be >>> handled by the DeleteOnExitHook. >>> >>> The LoggingDeadlock2.java test passes with this fix. I also add a >>> new jtreg test to exercise the Console and DeleteOnExitHook being >>> initialized during application shutdown. >>> >>> Alan, >>> I considered your suggestion to make Shutdown#add method to return >>> a boolean instead of checking the state. I am concerned that if the >>> caller didn't check the return value and handle properly, it would >>> be harder to catch the problem. So I keep it to check the state and >>> throw IllegalStateException. >>> >>> Thanks >>> Mandy > From David.Holmes at Sun.COM Sat Apr 18 08:09:55 2009 From: David.Holmes at Sun.COM (David Holmes - Sun Microsystems) Date: Sat, 18 Apr 2009 18:09:55 +1000 Subject: Review request for 6829503 In-Reply-To: <49E9788F.7080702@sun.com> References: <49E8FD27.9080000@sun.com> <49E92984.8040406@sun.com> <49E96E03.3000208@sun.com> <49E9788F.7080702@sun.com> Message-ID: <49E98AD3.5080807@sun.com> Now that I understand what this is for I see the predicament. Basically there's no single correct action because it all depends on what the application was doing, and will do, during shutdown. The current behaviour handles the most likely case of hitting ctrl-c while the password is being prompted for. Running the console hook before and after the application hook, would be slightly "safer" but I don't think it's really worth the effort. Seems to me the fundamental problem here is the semantics for concurrent use of the Console ... but that's a different issue. So I have no issue with the fix as-is. Thanks, David Xueming Shen said the following on 04/18/09 16:51: > Mandy Chung wrote: >> David, >> >> Thanks for the review. >> >> Whether the application shutdown hooks should always be invoked first >> is a good question. The Console shutdown hook is added to restore the >> console after prompting for a password to fix: >> 6363043 Console will not return to original state when the process is >> killed with Ctrl+C (sol) >> >> I consulted with Sherman some time back about the shutdown hook >> ordering. The Console restores the state before the application >> shutdown hook is to enable the application shutdown hooks that use >> Console to work properly. >> >> While working on this fix, I also observed the issue you point out - >> we won't restore the state of the console if the first use of the >> console is by an application shutdown or by some other thread when >> shutdown has commenced. It is only an issue when it gets terminated >> in the middle of reading the password. Normal return of the >> Console.readPassword method will restore the state. >> >> I consulted with Alan. He points out that it would go against all >> recommendations to prompt for a password in a shutdown hook. He >> suggests to leave the existing behavior as it is. >> >> Alan, Sherman, >> Do you have any comments on the order of Console shutdown hook and >> application shutdown hooks? It seems sensible that the application >> shutdown hooks should run first and then other "internal hooks" as >> David said. > Two use scenarios > > (1) jvm is being terminated "abnormally" during a password reading > operation (during "normal" application > operation), in which the echo is in "off" mode when these shutdown hooks > start to be invoked. Without > the "console restore first", application hooks probably can do nothing > with the stdin/console > > (2)Application hooks use Console.readPassword() and then be terminated > "abnormally" during the reading, > in which the echo mode is kept in "off" mode and will not be restored > after app exits. > > The reason the console hook was/is added to run first is we weighed the > first scenario as a more likely > scenario in real world application. Note, the Console echo mode is not > required to be "restored" if the > reading operation finishes normally. > > Maybe we can consider to run the console hook again (if the hook is set) > after the application hooks? > > Sherman > > >> >> Thanks >> Mandy >> >> David Holmes - Sun Microsystems wrote: >>> Hi Mandy, >>> >>> Looks good but I have one query. >>> >>> At the top-level there are 3 shutdown hooks: >>> >>> - console hook >>> - application hooks >>> - deleteOnExit hook >>> >>> and they run in this order. The deleteOnExit hook can be added when >>> shutdown is in progress, so this allows first-use of deleteOnExit >>> during an application shutdown hook. Okay - that's fine and solves >>> current problem very neatly. >>> >>> But the Console hook that restores the echo state runs first, so if >>> the first use of the console is by an application shutdown hook, or >>> by some other thread when shutdown has commenced, then we won't >>> restore the state of the console. I guess that's how it currently >>> works anyway, but it seems strange. I'm not familiar with the Console >>> but I would have expected (naively perhaps) the application shutdown >>> hooks to run first and then any "internal hooks". That way we would >>> always restore the state (though I guess there is potentially a race >>> with active threads still using the console). >>> >>> David >>> >>> Mandy Chung said the following on 04/18/09 08:05: >>>> 6829503: addShutdownHook fails if called after shutdown has commenced. >>>> >>>> Webrev at: >>>> http://cr.openjdk.java.net/~mchung/6829503/webrev.00/ >>>> >>>> I change the Shutdown#add method to take the >>>> registerShutdownInProgress parameter. If set to true, the specified >>>> shutdown hook is allowed to be registered while shutdown is in >>>> progress. The method will throw IllegalStateException if the >>>> shutdown process already passes this slot. DeleteOnExitHook is the >>>> last shutdown hook to be invoked and it will not be invoked until >>>> all application shutdown hooks finish (see >>>> ApplicationShutdownHooks.runHooks()). So any file added to the >>>> delete on exit list by the application shutdown hooks will be >>>> handled by the DeleteOnExitHook. >>>> >>>> The LoggingDeadlock2.java test passes with this fix. I also add a >>>> new jtreg test to exercise the Console and DeleteOnExitHook being >>>> initialized during application shutdown. >>>> >>>> Alan, >>>> I considered your suggestion to make Shutdown#add method to return >>>> a boolean instead of checking the state. I am concerned that if the >>>> caller didn't check the return value and handle properly, it would >>>> be harder to catch the problem. So I keep it to check the state and >>>> throw IllegalStateException. >>>> >>>> Thanks >>>> Mandy >> > From forax at univ-mlv.fr Sat Apr 18 13:20:29 2009 From: forax at univ-mlv.fr (=?ISO-8859-1?Q?R=E9mi_Forax?=) Date: Sat, 18 Apr 2009 15:20:29 +0200 Subject: Review request for 6829503 In-Reply-To: <49E9788F.7080702@sun.com> References: <49E8FD27.9080000@sun.com> <49E92984.8040406@sun.com> <49E96E03.3000208@sun.com> <49E9788F.7080702@sun.com> Message-ID: <49E9D39D.7070709@univ-mlv.fr> Xueming Shen a ?crit : [...] > Two use scenarios > > (1) jvm is being terminated "abnormally" during a password reading > operation (during "normal" application > operation), in which the echo is in "off" mode when these shutdown > hooks start to be invoked. Without > the "console restore first", application hooks probably can do nothing > with the stdin/console > > (2)Application hooks use Console.readPassword() and then be terminated > "abnormally" during the reading, > in which the echo mode is kept in "off" mode and will not be restored > after app exits. > > The reason the console hook was/is added to run first is we weighed > the first scenario as a more likely > scenario in real world application. Note, the Console echo mode is not > required to be "restored" if the > reading operation finishes normally. > > Maybe we can consider to run the console hook again (if the hook is > set) after the application hooks? > > Sherman The other solution is to provide a way in the API to test if shutdown hooks have been started or not. In that case, all application codes that start a shutdown hook like Console.readPassword() can check if shudown hooks run or not and throw a runtime exception if shutdown hook run. R?mi From Alan.Bateman at Sun.COM Sat Apr 18 16:48:57 2009 From: Alan.Bateman at Sun.COM (Alan Bateman) Date: Sat, 18 Apr 2009 17:48:57 +0100 Subject: Review request for 6829503 In-Reply-To: <49E8FD27.9080000@sun.com> References: <49E8FD27.9080000@sun.com> Message-ID: <49EA0479.7020305@sun.com> Mandy Chung wrote: > 6829503: addShutdownHook fails if called after shutdown has commenced. > > Webrev at: > http://cr.openjdk.java.net/~mchung/6829503/webrev.00/ > > I change the Shutdown#add method to take the > registerShutdownInProgress parameter. If set to true, the specified > shutdown hook is allowed to be registered while shutdown is in > progress. The method will throw IllegalStateException if the shutdown > process already passes this slot. DeleteOnExitHook is the last > shutdown hook to be invoked and it will not be invoked until all > application shutdown hooks finish (see > ApplicationShutdownHooks.runHooks()). So any file added to the delete > on exit list by the application shutdown hooks will be handled by the > DeleteOnExitHook. > > The LoggingDeadlock2.java test passes with this fix. I also add a new > jtreg test to exercise the Console and DeleteOnExitHook being > initialized during application shutdown. > > Alan, > I considered your suggestion to make Shutdown#add method to return a > boolean instead of checking the state. I am concerned that if the > caller didn't check the return value and handle properly, it would be > harder to catch the problem. So I keep it to check the state and > throw IllegalStateException. > > Thanks > Mandy Good work! It mostly looks good to me and I've only a few comments: 1. I see that registerShutdownHook now throws IAE if the slot is already used but if that happens it would be our bug. It can't happen with the current code of course but I wonder if an Error might be better (the original changes threw an InternalError). 2. File#deleteOnExit doesn't allow IllegalStateException to be thrown so maybe we should change DeleteOnExit#add to be a no-op if its shutdown hook is running. If an application is attempting to register files to be deleted during shutdown it will always be a timing issue if the file is deleted or not. 3. In ApplicationShutdownHooks I wonder if it would be cleaner to eliminate the static initializer and move the registration attempt into the add method. That would avoid needing to catch IllegalStateException ie: add becomes: if (hooks == null) { Shutdown.add(...); hooks = new ... }. It amounts to the same as what you have now but avoid exception catching. 4. The synchronization and checking between Shutdown#add and runHooks looks right. A minor comment is that the name "curShutdownHookSlot" is a bit inconsistent with the other fields. s/curr/current/ or perhaps a different name? 5. I usually prefer to have Runnables be the last parameter, in particular for cases like this where anonymous inner classes are used. An alternative to introducing the boolean parameter is rename one of the register methods, say, registerShutdownHookBeforeShutdown or something better. -Alan. From martinrb at google.com Sat Apr 18 21:20:59 2009 From: martinrb at google.com (Martin Buchholz) Date: Sat, 18 Apr 2009 14:20:59 -0700 Subject: Review request for 6829503 In-Reply-To: <49E96AE7.9010904@sun.com> References: <49E8FD27.9080000@sun.com> <1ccfd1c10904171707m327f97b8yaeb92c0d3f2f3d81@mail.gmail.com> <49E96AE7.9010904@sun.com> Message-ID: <1ccfd1c10904181420gbaba6b4k435d6ed26bfd1367@mail.gmail.com> On Fri, Apr 17, 2009 at 22:53, Mandy Chung wrote: > Hi Martin, > > Thanks for the quick review. > > Users should only add their shutdown hooks via the System.addShutdownHook() > method. ? java.lang.Shutdown is an implementation class for registering > internal hooks besides application shutdown hooks - including the shutdown > hook for Console and DeleteOnExitHook. ? Applications should not use the > Shutdown#add method. I think you misunderstood me. I was musing about how, in the future, we could allow applications to also manipulate hooks during shutdown, using some kind of similar mechanism as done with "internal" hooks. Almost off-topic on my part. Martin From martinrb at google.com Sat Apr 18 21:26:53 2009 From: martinrb at google.com (Martin Buchholz) Date: Sat, 18 Apr 2009 14:26:53 -0700 Subject: Review request for 6829503 In-Reply-To: <49E9D39D.7070709@univ-mlv.fr> References: <49E8FD27.9080000@sun.com> <49E92984.8040406@sun.com> <49E96E03.3000208@sun.com> <49E9788F.7080702@sun.com> <49E9D39D.7070709@univ-mlv.fr> Message-ID: <1ccfd1c10904181426p39ae96f9p54dfdfa7c8017c3@mail.gmail.com> On Sat, Apr 18, 2009 at 06:20, R?mi Forax wrote: > The other solution is to provide a way in the API to test if shutdown hooks > have been started or not. > In that case, all application codes that start a shutdown hook like > Console.readPassword() > can check if shudown hooks run or not and throw a runtime exception > if shutdown hook run. It seems to me there is an inherent race condition with such a check-then-act sequence, unless there is a mechanism for the application to hold some kind of shutdown hook lock. Martin From martinrb at google.com Sat Apr 18 23:12:08 2009 From: martinrb at google.com (Martin Buchholz) Date: Sat, 18 Apr 2009 16:12:08 -0700 Subject: Correlating LogRecord ThreadIDs with run-of-the-mill Thread ids In-Reply-To: <1ccfd1c10904141534q3b4f64abw83a08a3454212079@mail.gmail.com> References: <1ccfd1c10904141445h79097715y601ad09233ef2033@mail.gmail.com> <1ccfd1c10904141534q3b4f64abw83a08a3454212079@mail.gmail.com> Message-ID: <1ccfd1c10904181612m5b3c9335j52dd199f6a50e43e@mail.gmail.com> The current state of this change follows. Swamy, please review. # HG changeset patch # User martin # Date 1240096219 25200 # Node ID 8b326aebb981265a99ed96355efe28f8c1b0a0c0 # Parent 536bac6e2774d9ff8a319d5276dddc87b7994650 6278014:java.util.logging.LogRecord.getThreadID() should provide real thread id Reviewed-by: swamyv Summary: Make j.u.l. thread id a copy of Thread's id, for small values of thread id. diff --git a/src/share/classes/java/util/logging/LogRecord.java b/src/share/classes/java/util/logging/LogRecord.java --- a/src/share/classes/java/util/logging/LogRecord.java +++ b/src/share/classes/java/util/logging/LogRecord.java @@ -25,6 +25,8 @@ package java.util.logging; import java.util.*; +import java.util.concurrent.atomic.AtomicInteger; +import java.util.concurrent.atomic.AtomicLong; import java.io.*; /** @@ -64,9 +66,24 @@ */ public class LogRecord implements java.io.Serializable { - private static long globalSequenceNumber; - private static int nextThreadId=10; - private static ThreadLocal threadIds = new ThreadLocal(); + private static final AtomicLong globalSequenceNumber + = new AtomicLong(0); + + /** + * The default value of threadID will be the current thread's + * thread id, for ease of correlation, unless it is greater than + * MIN_SEQUENTIAL_THREAD_ID, in which case we try harder to keep + * our promise to keep threadIDs unique by avoiding collisions due + * to 32-bit wraparound. Unfortunately, LogRecord.getThreadID() + * returns int, while Thread.getId() returns long. + */ + private static final int MIN_SEQUENTIAL_THREAD_ID = Integer.MAX_VALUE / 2; + + private static final AtomicInteger nextThreadId + = new AtomicInteger(MIN_SEQUENTIAL_THREAD_ID); + + private static final ThreadLocal threadIds + = new ThreadLocal(); /** * @serial Logging message level @@ -123,6 +140,23 @@ private transient ResourceBundle resourceBundle; /** + * Returns the default value for a new LogRecord's threadID. + */ + private int defaultThreadID() { + long tid = Thread.currentThread().getId(); + if (tid < MIN_SEQUENTIAL_THREAD_ID) { + return (int) tid; + } else { + Integer id = threadIds.get(); + if (id == null) { + id = nextThreadId.getAndIncrement(); + threadIds.set(id); + } + return id; + } + } + + /** * Construct a LogRecord with the given level and message values. *

    * The sequence property will be initialized with a new unique value. @@ -144,15 +178,8 @@ this.level = level; message = msg; // Assign a thread ID and a unique sequence number. - synchronized (LogRecord.class) { - sequenceNumber = globalSequenceNumber++; - Integer id = threadIds.get(); - if (id == null) { - id = new Integer(nextThreadId++); - threadIds.set(id); - } - threadID = id.intValue(); - } + sequenceNumber = globalSequenceNumber.getAndIncrement(); + threadID = defaultThreadID(); millis = System.currentTimeMillis(); needToInferCaller = true; } diff --git a/test/java/util/logging/LoggerSubclass.java b/test/java/util/logging/LoggerSubclass.java --- a/test/java/util/logging/LoggerSubclass.java +++ b/test/java/util/logging/LoggerSubclass.java @@ -23,7 +23,7 @@ /* * @test - * @bug 6830220 + * @bug 6830220 6278014 * @summary Test Logger subclasses */ @@ -68,6 +68,8 @@ l.getSequenceNumber()); equal(lastThreadID.get(), l.getThreadID()); + equal((int) Thread.currentThread().getId(), + l.getThreadID()); } lastSequenceNumber.set(l.getSequenceNumber()); lastThreadID.set(l.getThreadID()); Martin On Tue, Apr 14, 2009 at 15:34, Martin Buchholz wrote: > Jeremy pointed out that a bug for this already exists. > > Synopsis ? ? ? ? java.util.logging.LogRecord.getThreadID() should provide > real thread id > http://bugs.sun.com/view_bug.do?bug_id=6278014 > > Martin > > > On Tue, Apr 14, 2009 at 14:45, Martin Buchholz wrote: >> Synopsis: >> Correlating LogRecord ThreadIDs with run-of-the-mill Thread ids > From David.Holmes at Sun.COM Sun Apr 19 12:01:51 2009 From: David.Holmes at Sun.COM (David Holmes - Sun Microsystems) Date: Sun, 19 Apr 2009 22:01:51 +1000 Subject: Review request for 6829503 In-Reply-To: <49EA0479.7020305@sun.com> References: <49E8FD27.9080000@sun.com> <49EA0479.7020305@sun.com> Message-ID: <49EB12AF.7080301@sun.com> Alan, > 2. File#deleteOnExit doesn't allow IllegalStateException to be thrown so > maybe we should change DeleteOnExit#add to be a no-op if its shutdown > hook is running. If an application is attempting to register files to be > deleted during shutdown it will always be a timing issue if the file is > deleted or not. But a runtime exception is better than silent failure when the file will not be deleted. And the exception here is not new. Is this a flaw in the File#deleteOnExit API - because it gives the illusion that it can always succeed when in fact the code requesting this can be running concurrently with the code responsible for making it happen? Maybe that is a deficiency of the whole mechanism - really we should be using a native deletion mechanism that is only done once the VM arrives at the termination safepoint - as that is the only time we know for sure that no more Java code can be executed. But that would be a RFE on the deleteOnExit mechanism. Cheers, David From Alan.Bateman at Sun.COM Sun Apr 19 14:00:39 2009 From: Alan.Bateman at Sun.COM (Alan Bateman) Date: Sun, 19 Apr 2009 15:00:39 +0100 Subject: Review request for 6829503 In-Reply-To: <49EB12AF.7080301@sun.com> References: <49E8FD27.9080000@sun.com> <49EA0479.7020305@sun.com> <49EB12AF.7080301@sun.com> Message-ID: <49EB2E87.3000503@sun.com> David Holmes - Sun Microsystems wrote: > : > But a runtime exception is better than silent failure when the file > will not be deleted. And the exception here is not new. > > Is this a flaw in the File#deleteOnExit API - because it gives the > illusion that it can always succeed when in fact the code requesting > this can be running concurrently with the code responsible for making > it happen? Maybe that is a deficiency of the whole mechanism - really > we should be using a native deletion mechanism that is only done once > the VM arrives at the termination safepoint - as that is the only time > we know for sure that no more Java code can be executed. But that > would be a RFE on the deleteOnExit mechanism. I agree that a runtime exception is better than silently not registering but it really needs to be specified or as you suggest, delete the files once we have reached the termination safepoint. As creating a file and registering it for delete via deleteOnExit is not an atomic operation then there will always be a window where the VM may exit before the application registers the delete. An IllegalStateException gives some opportunity to explicitly delete the file but there is no guarantee that such a recovery action will execute. It is somewhat helpful in that it may prevent code from writing sensitive information to a file that it expects to be deleted. Anyway, the history is that this mechanism used to be completely in native code and the files deleted via a VM exit hook. I haven't looked at this code in a while but my memory is that these exit hooks are executed by before_exit after the shutdown hooks but before the cancellation safepoint. The IllegalStateException came with the re-write in jdk6 to keep the list in the java heap to make it easier to diagnose resource issues caused by applications that registered tens of thousands of files to be deleted. At that point the spec should have been looked at. As it happens, there was a bug in that code (6526376) that caused NPE to be thrown so jdk7 b10 is the first build where IllegalStateException is possible. I don't think we want to force Mandy into fixing issues that aren't of her doing so submitting a bug and letting her move on is probably the best thing to do. -Alan. From forax at univ-mlv.fr Sun Apr 19 20:51:23 2009 From: forax at univ-mlv.fr (=?ISO-8859-1?Q?R=E9mi_Forax?=) Date: Sun, 19 Apr 2009 22:51:23 +0200 Subject: Review request for 6829503 In-Reply-To: <1ccfd1c10904181426p39ae96f9p54dfdfa7c8017c3@mail.gmail.com> References: <49E8FD27.9080000@sun.com> <49E92984.8040406@sun.com> <49E96E03.3000208@sun.com> <49E9788F.7080702@sun.com> <49E9D39D.7070709@univ-mlv.fr> <1ccfd1c10904181426p39ae96f9p54dfdfa7c8017c3@mail.gmail.com> Message-ID: <49EB8ECB.7040209@univ-mlv.fr> Martin Buchholz a ?crit : ... > It seems to me there is an inherent race condition with such > a check-then-act sequence, unless there is a mechanism for > the application to hold some kind of shutdown hook lock. > > Martin > I don't think so. The idea is just to prevent users to use some methods in a shutdown hook when the VM terminates. It's rather a chek-then-don't act. R?mi From David.Holmes at Sun.COM Sun Apr 19 22:50:20 2009 From: David.Holmes at Sun.COM (David Holmes - Sun Microsystems) Date: Mon, 20 Apr 2009 08:50:20 +1000 Subject: Review request for 6829503 In-Reply-To: <49EB2E87.3000503@sun.com> References: <49E8FD27.9080000@sun.com> <49EA0479.7020305@sun.com> <49EB12AF.7080301@sun.com> <49EB2E87.3000503@sun.com> Message-ID: <49EBAAAC.2000707@sun.com> Hi Alan, Alan Bateman said the following on 04/20/09 00:00: > As it happens, there was a bug in that code (6526376) that caused > NPE to be thrown so jdk7 b10 is the first build where > IllegalStateException is possible. Ah I see. Seems to me that 6526376 took the easy fix and ignored the underlying issue of whether this should be an exceptional circumstance or not. :( > I don't think we want to force Mandy into fixing issues that aren't of > her doing so submitting a bug and letting her move on is probably the > best thing to do. Agreed. I think there's probably a way to keep the list in java code (for resource management) and also add the fd to list used by the VM. Adding a new "VM shutdown hook" to be executed by the VMThread at the termination safepoint would probably be the best place to deal with this. Cheers, David From tim.bell at sun.com Mon Apr 20 04:06:35 2009 From: tim.bell at sun.com (tim.bell at sun.com) Date: Mon, 20 Apr 2009 04:06:35 +0000 Subject: hg: jdk7/tl: 2 new changesets Message-ID: <20090420040635.A870CE1CE@hg.openjdk.java.net> Changeset: aea0ace7a1e4 Author: xdono Date: 2009-04-09 10:37 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/rev/aea0ace7a1e4 Added tag jdk7-b54 for changeset 2ef382b1bbd5 ! .hgtags Changeset: ba12117a5e6c Author: xdono Date: 2009-04-16 11:22 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/rev/ba12117a5e6c Added tag jdk7-b55 for changeset aea0ace7a1e4 ! .hgtags From tim.bell at sun.com Mon Apr 20 04:10:13 2009 From: tim.bell at sun.com (tim.bell at sun.com) Date: Mon, 20 Apr 2009 04:10:13 +0000 Subject: hg: jdk7/tl/corba: 2 new changesets Message-ID: <20090420041015.AA17AE1D3@hg.openjdk.java.net> Changeset: 7a869f16ba83 Author: xdono Date: 2009-04-09 10:37 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/corba/rev/7a869f16ba83 Added tag jdk7-b54 for changeset 8130ac858d67 ! .hgtags Changeset: 553a664b807b Author: xdono Date: 2009-04-16 11:22 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/corba/rev/553a664b807b Added tag jdk7-b55 for changeset 7a869f16ba83 ! .hgtags From tim.bell at sun.com Mon Apr 20 04:16:33 2009 From: tim.bell at sun.com (tim.bell at sun.com) Date: Mon, 20 Apr 2009 04:16:33 +0000 Subject: hg: jdk7/tl/hotspot: 36 new changesets Message-ID: <20090420041743.830DDE1D8@hg.openjdk.java.net> Changeset: c89f86385056 Author: jrose Date: 2009-03-20 23:19 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/c89f86385056 6814659: separable cleanups and subroutines for 6655638 Summary: preparatory but separable changes for method handles Reviewed-by: kvn, never ! src/cpu/sparc/vm/assembler_sparc.cpp ! src/cpu/sparc/vm/assembler_sparc.hpp ! src/cpu/sparc/vm/assembler_sparc.inline.hpp ! src/cpu/sparc/vm/c1_LIRAssembler_sparc.cpp ! src/cpu/x86/vm/assembler_x86.cpp ! src/cpu/x86/vm/assembler_x86.hpp ! src/share/vm/asm/assembler.hpp ! src/share/vm/classfile/javaClasses.cpp ! src/share/vm/classfile/javaClasses.hpp ! src/share/vm/classfile/loaderConstraints.hpp ! src/share/vm/classfile/symbolTable.cpp ! src/share/vm/classfile/symbolTable.hpp ! src/share/vm/classfile/systemDictionary.cpp ! src/share/vm/classfile/systemDictionary.hpp ! src/share/vm/gc_implementation/parallelScavenge/parallelScavengeHeap.cpp ! src/share/vm/oops/instanceKlass.cpp ! src/share/vm/oops/instanceKlass.hpp ! src/share/vm/oops/instanceKlassKlass.cpp ! src/share/vm/oops/klassVtable.cpp ! src/share/vm/oops/klassVtable.hpp ! src/share/vm/oops/methodKlass.cpp ! src/share/vm/oops/objArrayKlass.cpp ! src/share/vm/oops/oop.cpp ! src/share/vm/prims/jvm.cpp ! src/share/vm/runtime/fieldDescriptor.cpp ! src/share/vm/runtime/handles.hpp ! src/share/vm/runtime/reflection.cpp ! src/share/vm/runtime/reflection.hpp ! src/share/vm/runtime/sharedRuntime.cpp ! src/share/vm/runtime/sharedRuntime.hpp Changeset: ebebd376f657 Author: never Date: 2009-03-23 13:58 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/ebebd376f657 6805522: Server VM fails with assertion (block1->start() != block2->start(),"successors have unique bcis") Reviewed-by: kvn ! src/share/vm/ci/ciTypeFlow.cpp Changeset: 78af5ae8e731 Author: cfang Date: 2009-03-24 12:19 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/78af5ae8e731 6636138: UseSuperWord enabled failure Summary: Fixed SuperWord scheduling of memory operations. Reviewed-by: kvn, never ! src/share/vm/opto/superword.cpp ! src/share/vm/opto/superword.hpp + test/compiler/6636138/Test1.java + test/compiler/6636138/Test2.java Changeset: 90a66aa50514 Author: never Date: 2009-03-24 15:09 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/90a66aa50514 6820510: assertion failure with unloaded class in subnode.cpp Reviewed-by: kvn ! src/share/vm/opto/subnode.cpp Changeset: eca19a8425b5 Author: phh Date: 2009-03-24 21:56 -0400 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/eca19a8425b5 6810653: Change String cache class used by Hotspot from String to StringValue Summary: Change create_vm() to load and initialize StringValue rather than String. Reviewed-by: kvn ! src/share/vm/classfile/vmSymbols.hpp ! src/share/vm/runtime/thread.cpp Changeset: c7bbabdcadfb Author: phh Date: 2009-03-24 19:05 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/c7bbabdcadfb Merge Changeset: d0994e5bebce Author: never Date: 2009-03-26 14:31 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/d0994e5bebce 6822204: volatile fences should prefer lock:addl to actual mfence instructions Reviewed-by: kvn, phh ! src/cpu/sparc/vm/stubGenerator_sparc.cpp ! src/cpu/x86/vm/assembler_x86.cpp ! src/cpu/x86/vm/assembler_x86.hpp ! src/cpu/x86/vm/stubGenerator_x86_64.cpp ! src/cpu/x86/vm/x86_32.ad ! src/cpu/x86/vm/x86_64.ad ! src/os_cpu/linux_sparc/vm/os_linux_sparc.hpp ! src/os_cpu/linux_x86/vm/orderAccess_linux_x86.inline.hpp ! src/os_cpu/solaris_sparc/vm/orderAccess_solaris_sparc.inline.hpp ! src/os_cpu/solaris_sparc/vm/os_solaris_sparc.cpp ! src/os_cpu/solaris_sparc/vm/os_solaris_sparc.hpp ! src/os_cpu/solaris_x86/vm/orderAccess_solaris_x86.inline.hpp ! src/os_cpu/solaris_x86/vm/os_solaris_x86.cpp ! src/os_cpu/solaris_x86/vm/os_solaris_x86.hpp ! src/os_cpu/windows_x86/vm/orderAccess_windows_x86.inline.hpp ! src/os_cpu/windows_x86/vm/os_windows_x86.cpp ! src/os_cpu/windows_x86/vm/os_windows_x86.hpp ! src/share/vm/includeDB_core ! src/share/vm/runtime/orderAccess.cpp ! src/share/vm/runtime/orderAccess.hpp Changeset: afd8dfb5c2a6 Author: never Date: 2009-03-26 14:39 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/afd8dfb5c2a6 Merge Changeset: fbc12e71c476 Author: kvn Date: 2009-03-26 15:04 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/fbc12e71c476 6810845: Performance regression in mpegaudio on x64 Summary: Used the outer loop frequency in frequencies checks in RA. Reviewed-by: never, twisti ! src/share/vm/opto/block.hpp ! src/share/vm/opto/c2_globals.hpp ! src/share/vm/opto/chaitin.cpp ! src/share/vm/opto/chaitin.hpp ! src/share/vm/opto/coalesce.cpp ! src/share/vm/opto/gcm.cpp ! src/share/vm/opto/machnode.cpp Changeset: 4948e7dd28dc Author: never Date: 2009-03-27 14:37 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/4948e7dd28dc 6822333: _call_stub_compiled_return address handling in SA is broken causing jstack to hang occasionally Reviewed-by: kvn, twisti ! agent/src/share/classes/sun/jvm/hotspot/runtime/StubRoutines.java Changeset: f6da6f0174ac Author: kvn Date: 2009-03-30 18:19 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/f6da6f0174ac 6821700: tune VM flags for peak performance Summary: Tune C2 flags default values for performance. Reviewed-by: never, phh, iveresov, jmasa, ysr ! src/cpu/sparc/vm/globals_sparc.hpp ! src/cpu/sparc/vm/vm_version_sparc.cpp ! src/cpu/x86/vm/globals_x86.hpp ! src/share/vm/classfile/vmSymbols.hpp ! src/share/vm/opto/bytecodeInfo.cpp ! src/share/vm/runtime/globals.hpp Changeset: d3676b4cb78c Author: kvn Date: 2009-03-31 10:02 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/d3676b4cb78c Merge ! src/share/vm/classfile/vmSymbols.hpp ! src/share/vm/oops/instanceKlass.cpp ! src/share/vm/oops/instanceKlass.hpp ! src/share/vm/oops/klassVtable.cpp ! src/share/vm/oops/klassVtable.hpp ! src/share/vm/prims/jvm.cpp Changeset: 96b229c54d1e Author: apetrusenko Date: 2009-03-25 13:10 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/96b229c54d1e 6543938: G1: remove the concept of popularity Reviewed-by: iveresov, tonyp ! src/cpu/sparc/vm/assembler_sparc.cpp ! src/share/vm/gc_implementation/g1/collectionSetChooser.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/g1CollectorPolicy.hpp ! src/share/vm/gc_implementation/g1/g1MarkSweep.cpp ! src/share/vm/gc_implementation/g1/g1RemSet.cpp ! src/share/vm/gc_implementation/g1/g1RemSet.inline.hpp ! src/share/vm/gc_implementation/g1/g1_globals.hpp ! src/share/vm/gc_implementation/g1/heapRegion.cpp ! src/share/vm/gc_implementation/g1/heapRegion.hpp ! src/share/vm/gc_implementation/g1/heapRegionRemSet.hpp ! src/share/vm/gc_implementation/g1/heapRegionSeq.cpp ! src/share/vm/gc_implementation/g1/heapRegionSeq.hpp ! src/share/vm/gc_implementation/g1/vm_operations_g1.cpp ! src/share/vm/gc_implementation/g1/vm_operations_g1.hpp ! src/share/vm/gc_interface/gcCause.hpp ! src/share/vm/runtime/vm_operations.hpp Changeset: 4ac7d97e6101 Author: iveresov Date: 2009-03-26 08:51 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/4ac7d97e6101 6822263: G1: JVMTI heap iteration fails Summary: Make object_iterate() traverse the perm gen Reviewed-by: apetrusenko, tonyp ! src/share/vm/gc_implementation/g1/g1CollectedHeap.cpp ! src/share/vm/gc_implementation/g1/g1CollectedHeap.hpp Changeset: cea947c8a988 Author: ysr Date: 2009-03-28 15:47 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/cea947c8a988 6819891: ParNew: Fix work queue overflow code to deal correctly with +UseCompressedOops Summary: When using compressed oops, rather than chaining the overflowed grey objects' pre-images through their klass words, we use GC-worker thread-local overflow stacks. Reviewed-by: jcoomes, jmasa ! src/share/vm/gc_implementation/concurrentMarkSweep/concurrentMarkSweepGeneration.cpp ! src/share/vm/gc_implementation/parNew/parNewGeneration.cpp ! src/share/vm/gc_implementation/parNew/parNewGeneration.hpp ! src/share/vm/runtime/globals.hpp Changeset: a80d48f6fde1 Author: apetrusenko Date: 2009-04-02 05:22 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/a80d48f6fde1 Merge ! src/cpu/sparc/vm/assembler_sparc.cpp ! src/share/vm/runtime/globals.hpp Changeset: fbde8ec322d0 Author: cfang Date: 2009-03-31 14:07 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/fbde8ec322d0 6761600: Use sse 4.2 in intrinsics Summary: Use SSE 4.2 in intrinsics for String.{compareTo/equals/indexOf} and Arrays.equals. Reviewed-by: kvn, never, jrose ! src/cpu/sparc/vm/sparc.ad ! src/cpu/x86/vm/assembler_x86.cpp ! src/cpu/x86/vm/assembler_x86.hpp ! src/cpu/x86/vm/vm_version_x86.cpp ! src/cpu/x86/vm/x86_32.ad ! src/cpu/x86/vm/x86_64.ad ! src/share/vm/adlc/formssel.cpp ! src/share/vm/classfile/vmSymbols.hpp ! src/share/vm/opto/classes.hpp ! src/share/vm/opto/gcm.cpp ! src/share/vm/opto/lcm.cpp ! src/share/vm/opto/library_call.cpp ! src/share/vm/opto/loopnode.cpp ! src/share/vm/opto/matcher.cpp ! src/share/vm/opto/memnode.cpp ! src/share/vm/opto/memnode.hpp ! src/share/vm/runtime/arguments.cpp ! src/share/vm/runtime/globals.hpp Changeset: 69aefafe69c1 Author: never Date: 2009-03-31 15:09 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/69aefafe69c1 6824463: deopt blob is testing wrong register on 64-bit x86 Reviewed-by: jrose, phh, kvn ! src/cpu/x86/vm/sharedRuntime_x86_64.cpp Changeset: 90e3155a713d Author: never Date: 2009-03-31 19:20 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/90e3155a713d Merge Changeset: 7230de7c4610 Author: never Date: 2009-04-01 11:45 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/7230de7c4610 6823454: Oop-typed loadP yields invalid pointer (0x1) on SPECjbb2005 at OSRed method entry Reviewed-by: kvn, jrose ! src/share/vm/opto/parse1.cpp Changeset: 4e35bfab60a5 Author: never Date: 2009-04-02 10:49 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/4e35bfab60a5 Merge ! src/share/vm/runtime/globals.hpp Changeset: a9d9d7e06593 Author: trims Date: 2009-04-02 17:01 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/a9d9d7e06593 Merge Changeset: aa3a6f3eaa43 Author: trims Date: 2009-04-02 17:37 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/aa3a6f3eaa43 6825815: Bump HS15 build number to 05 and update copyright date of HOTSPOT_VM_COPYRIGHT Summary: Update the HS15 Build number to 05 and fix copyright date of HOTSPOT_VM_COPYRIGHT Reviewed-by: jcoomes ! make/hotspot_version Changeset: 5373f8d7025b Author: trims Date: 2009-04-02 17:37 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/5373f8d7025b Merge Changeset: f30ba3b36599 Author: poonam Date: 2009-03-27 10:29 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/f30ba3b36599 6822407: heapOopSize lookup is incorrect in Serviceability Agent. Summary: heapOopSize symbol should be declared as constant in vmStructs and should not be looked up in readVMIntConstants(). Reviewed-by: never, swamyv, coleenp ! agent/src/share/classes/sun/jvm/hotspot/HotSpotTypeDataBase.java ! agent/src/share/classes/sun/jvm/hotspot/runtime/VM.java ! src/share/vm/runtime/vmStructs.cpp Changeset: d142f1feeed5 Author: acorn Date: 2009-03-29 18:19 -0400 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/d142f1feeed5 Merge Changeset: 956304450e80 Author: phh Date: 2009-04-01 16:38 -0400 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/956304450e80 6819213: revive sun.boot.library.path Summary: Support multiplex and mutable sun.boot.library.path Reviewed-by: acorn, dcubed, xlu ! src/os/linux/vm/os_linux.cpp ! src/os/solaris/vm/os_solaris.cpp ! src/os/windows/vm/os_windows.cpp ! src/share/vm/runtime/arguments.cpp ! src/share/vm/runtime/arguments.hpp ! src/share/vm/runtime/hpi.hpp ! src/share/vm/runtime/os.cpp ! src/share/vm/runtime/os.hpp + test/runtime/6819213/TestBootNativeLibraryPath.java Changeset: 23276f80d930 Author: acorn Date: 2009-04-02 14:26 -0400 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/23276f80d930 6825642: nsk sajdi tests fail with NullPointerException Reviewed-by: xlu, coleenp, kamg, swamyv ! agent/src/share/classes/sun/jvm/hotspot/HotSpotTypeDataBase.java ! agent/src/share/classes/sun/jvm/hotspot/runtime/VM.java ! src/share/vm/runtime/vmStructs.cpp Changeset: 2c1dbb844832 Author: acorn Date: 2009-04-02 18:17 -0400 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/2c1dbb844832 Merge ! src/share/vm/runtime/arguments.cpp Changeset: eae95c5579a4 Author: trims Date: 2009-04-03 19:54 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/eae95c5579a4 Merge Changeset: becb17ad5e51 Author: ysr Date: 2009-04-02 15:57 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/becb17ad5e51 6824570: ParNew: Fix memory leak introduced in 6819891 Summary: Allocate worker-local overflow stacks, introduced in 6819891, along with ParNewGeneration, rather than with the per-scavenge ParScanThreadState. Reviewed-by: jmasa ! src/share/vm/gc_implementation/parNew/parNewGeneration.cpp ! src/share/vm/gc_implementation/parNew/parNewGeneration.hpp ! src/share/vm/runtime/arguments.cpp ! src/share/vm/runtime/globals.hpp Changeset: f18338cf04b0 Author: jcoomes Date: 2009-03-03 14:23 -0800 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/f18338cf04b0 6810474: par compact - crash in summary_phase with very full heap Reviewed-by: tonyp ! src/share/vm/gc_implementation/parallelScavenge/psParallelCompact.cpp Changeset: 922aedc96ef5 Author: ysr Date: 2009-04-03 15:59 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/922aedc96ef5 Merge ! src/share/vm/runtime/arguments.cpp ! src/share/vm/runtime/globals.hpp Changeset: fafab5d5349c Author: trims Date: 2009-04-03 20:12 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/fafab5d5349c Merge Changeset: f8e839c08615 Author: xdono Date: 2009-04-09 10:37 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/f8e839c08615 Added tag jdk7-b54 for changeset fafab5d5349c ! .hgtags Changeset: bcbec53c367d Author: xdono Date: 2009-04-16 11:22 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/hotspot/rev/bcbec53c367d Added tag jdk7-b55 for changeset f8e839c08615 ! .hgtags From tim.bell at sun.com Mon Apr 20 04:23:15 2009 From: tim.bell at sun.com (tim.bell at sun.com) Date: Mon, 20 Apr 2009 04:23:15 +0000 Subject: hg: jdk7/tl/jaxp: 2 new changesets Message-ID: <20090420042319.BD2C6E1DD@hg.openjdk.java.net> Changeset: 039945fba683 Author: xdono Date: 2009-04-09 10:37 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/jaxp/rev/039945fba683 Added tag jdk7-b54 for changeset 946a9f0c4932 ! .hgtags Changeset: c197c6801271 Author: xdono Date: 2009-04-16 11:22 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/jaxp/rev/c197c6801271 Added tag jdk7-b55 for changeset 039945fba683 ! .hgtags From tim.bell at sun.com Mon Apr 20 04:26:50 2009 From: tim.bell at sun.com (tim.bell at sun.com) Date: Mon, 20 Apr 2009 04:26:50 +0000 Subject: hg: jdk7/tl/jaxws: 3 new changesets Message-ID: <20090420042655.B2DE4E1E2@hg.openjdk.java.net> Changeset: e0eebd978b83 Author: xdono Date: 2009-04-09 10:37 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/jaxws/rev/e0eebd978b83 Added tag jdk7-b54 for changeset 50ea00dc5f14 ! .hgtags Changeset: 0f7fbf85f7a1 Author: xdono Date: 2009-04-16 11:22 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/jaxws/rev/0f7fbf85f7a1 Added tag jdk7-b55 for changeset e0eebd978b83 ! .hgtags Changeset: fa6a4207cae8 Author: tbell Date: 2009-04-18 14:09 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/jaxws/rev/fa6a4207cae8 Merge From tim.bell at sun.com Mon Apr 20 04:36:26 2009 From: tim.bell at sun.com (tim.bell at sun.com) Date: Mon, 20 Apr 2009 04:36:26 +0000 Subject: hg: jdk7/tl/jdk: 95 new changesets Message-ID: <20090420045524.568F2E1E9@hg.openjdk.java.net> Changeset: 9d14b0582e1a Author: bae Date: 2008-12-12 17:38 +0300 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/9d14b0582e1a 5106550: PNG writer merge standard metadata fails for TextEntry sans #IMPLIED attributes Reviewed-by: igor, prr Contributed-by: Martin von Gagern ! src/share/classes/com/sun/imageio/plugins/png/PNGMetadata.java + test/javax/imageio/plugins/png/MergeStdCommentTest.java Changeset: 11d333de082f Author: igor Date: 2008-12-17 22:00 +0300 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/11d333de082f 6761791: Crash in the FontManager code due to use of JNIEnv saved by another thread Reviewed-by: bae, prr ! src/share/native/sun/font/freetypeScaler.c Changeset: feee56c07a8a Author: prr Date: 2008-12-18 11:25 -0800 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/feee56c07a8a 6708137: Remove obsolete fontconfig.98.properties from JDK 7 Reviewed-by: jgodinez, naoto ! make/sun/awt/Makefile ! src/windows/classes/sun/awt/windows/WFontConfiguration.java - src/windows/classes/sun/awt/windows/fontconfig.98.properties - src/windows/classes/sun/awt/windows/fontconfig.Me.properties Changeset: f68864fe53d3 Author: prr Date: 2008-12-24 09:53 -0800 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/f68864fe53d3 6728838: Native memory leak in StrikeCache.java Reviewed-by: bae, igor ! src/share/classes/sun/font/StrikeCache.java Changeset: 40ec164889bd Author: prr Date: 2008-12-24 09:57 -0800 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/40ec164889bd 6752638: java.awt.GraphicsEnvironment.preferLocaleFonts() throws NPE on Linux 6755034: Legal notice repair: jdk/src/solaris/classes/sun/font/FcFontConfiguration.java Reviewed-by: bae, igor ! src/share/classes/java/awt/GraphicsEnvironment.java ! src/share/classes/sun/awt/FontConfiguration.java ! src/solaris/classes/sun/font/FcFontConfiguration.java + test/java/awt/GraphicsEnvironment/PreferLocaleFonts.java Changeset: eaeaacda1c56 Author: prr Date: 2009-01-06 13:52 -0800 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/eaeaacda1c56 6785424: SecurityException locating physical fonts on Windows Terminal Server Reviewed-by: campbell, jgodinez ! src/share/classes/sun/font/FontManager.java + test/java/awt/FontClass/FontAccess.java Changeset: 91bc016862c4 Author: prr Date: 2009-01-12 16:02 -0800 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/91bc016862c4 6752622: java.awt.Font.getPeer throws "java.lang.InternalError: Not implemented" on Linux Reviewed-by: igor, yan ! src/solaris/classes/sun/awt/X11/XFontPeer.java ! src/solaris/classes/sun/font/FcFontConfiguration.java Changeset: 80fb12052ae4 Author: bae Date: 2009-01-13 16:55 +0300 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/80fb12052ae4 5082756: Image I/O plug-ins set metadata boolean attributes to "true" or "false" Reviewed-by: igor, prr Contributed-by: Martin von Gagern ! src/share/classes/com/sun/imageio/plugins/gif/GIFImageMetadata.java ! src/share/classes/com/sun/imageio/plugins/gif/GIFMetadata.java ! src/share/classes/com/sun/imageio/plugins/gif/GIFStreamMetadata.java ! src/share/classes/com/sun/imageio/plugins/jpeg/JPEGMetadata.java ! src/share/classes/com/sun/imageio/plugins/png/PNGMetadata.java ! src/share/classes/javax/imageio/metadata/IIOMetadataFormat.java + test/javax/imageio/metadata/BooleanAttributes.java ! test/javax/imageio/plugins/png/ITXtTest.java Changeset: 62d33a33f9e0 Author: bae Date: 2009-01-13 18:38 +0300 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/62d33a33f9e0 6782079: PNG: reading metadata may cause OOM on truncated images. Reviewed-by: igor, prr Contributed-by: Martin von Gagern ! src/share/classes/com/sun/imageio/plugins/png/PNGImageReader.java ! src/share/classes/com/sun/imageio/plugins/png/PNGImageWriter.java ! src/share/classes/com/sun/imageio/plugins/png/PNGMetadata.java + test/javax/imageio/plugins/png/ItxtUtf8Test.java Changeset: 774083387e81 Author: bae Date: 2009-01-15 13:55 +0300 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/774083387e81 6788096: ImageIO SreamCloser causes memory leak in FX applets Reviewed-by: igor, prr ! src/share/classes/com/sun/imageio/stream/StreamCloser.java + test/javax/imageio/stream/StreamCloserLeak/run_test.sh + test/javax/imageio/stream/StreamCloserLeak/test/Main.java + test/javax/imageio/stream/StreamCloserLeak/testapp/Main.java Changeset: 828d4d5e7bf8 Author: bae Date: 2009-01-23 17:43 +0300 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/828d4d5e7bf8 6795544: GIFImageWriter does not write the subImage of BufferedImage to a file correctly. Reviewed-by: igor, prr ! src/share/classes/com/sun/imageio/plugins/gif/GIFImageWriter.java + test/javax/imageio/plugins/gif/EncodeSubImageTest.java Changeset: 6d343a2795ca Author: bae Date: 2009-01-23 21:14 +0300 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/6d343a2795ca 6793818: JpegImageReader is too greedy creating color profiles Reviewed-by: igor, prr ! src/share/classes/java/awt/color/ICC_Profile.java ! src/share/classes/sun/java2d/cmm/ProfileActivator.java ! src/share/classes/sun/java2d/cmm/ProfileDeferralMgr.java Changeset: 65cada5a8497 Author: jgodinez Date: 2009-01-28 09:38 -0800 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/65cada5a8497 6793344: BasicStroke's first element dash pattern is not a dash Reviewed-by: igor, flar Contributed-by: Red Hat ! src/share/classes/sun/java2d/pisces/Dasher.java + test/sun/pisces/DashStrokeTest.java Changeset: 36da64dc6545 Author: bae Date: 2009-01-29 13:19 +0300 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/36da64dc6545 6631559: Registration of ImageIO plugins should not cause loading of jpeg.dlli and cmm.dll Reviewed-by: igor, prr ! src/share/classes/com/sun/imageio/plugins/jpeg/JFIFMarkerSegment.java ! src/share/classes/com/sun/imageio/plugins/jpeg/JPEG.java ! src/share/classes/com/sun/imageio/plugins/jpeg/JPEGImageReader.java ! src/share/classes/com/sun/imageio/plugins/jpeg/JPEGImageReaderSpi.java ! src/share/classes/com/sun/imageio/plugins/jpeg/JPEGImageWriter.java ! src/share/classes/com/sun/imageio/plugins/jpeg/JPEGImageWriterSpi.java ! src/share/classes/com/sun/imageio/plugins/jpeg/JPEGMetadata.java ! src/share/classes/javax/imageio/ImageTypeSpecifier.java Changeset: a7836e00ad6b Author: lana Date: 2009-01-29 18:33 -0800 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/a7836e00ad6b Merge - src/share/classes/com/sun/jmx/namespace/JMXNamespaceUtils.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/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: f0978a1137fe Author: bae Date: 2009-01-30 22:30 +0300 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/f0978a1137fe 6791502: IIOException "Invalid icc profile" on jpeg after update from JDK5 to JDK6 Reviewed-by: igor, prr ! src/share/native/sun/awt/image/jpeg/imageioJPEG.c Changeset: e0a9038939ee Author: bae Date: 2009-02-04 14:06 +0300 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/e0a9038939ee 6799583: LogManager shutdown hook may cause a memory leak. Reviewed-by: igor, swamyv ! src/share/classes/java/util/logging/LogManager.java + test/java/util/logging/ClassLoaderLeakTest.java Changeset: b02162077f24 Author: bae Date: 2009-02-06 20:49 +0300 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/b02162077f24 6800846: REGRESSION: Printing quality degraded with Java 6 compared to 5.0 Reviewed-by: igor, prr ! src/share/native/sun/awt/image/dither.c + test/sun/awt/image/DrawByteBinary.java Changeset: ff2afd0551c9 Author: jgodinez Date: 2009-02-24 14:32 -0800 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/ff2afd0551c9 6750383: 2D_PrintingTiger\PrintDocOrientationTest fails, wrong orientated images are printed Reviewed-by: campbell, prr ! src/solaris/classes/sun/print/IPPPrintService.java ! src/solaris/classes/sun/print/UnixPrintJob.java Changeset: 0c856354b669 Author: tdv Date: 2009-02-26 13:38 -0800 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/0c856354b669 6791612: OGLBat tests are failed in jdk 7 b42 Reviewed-by: tdv Contributed-by: ceisserer ! make/sun/xawt/mapfile-vers Changeset: c32ec45b582d Author: lana Date: 2009-03-04 10:57 -0800 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/c32ec45b582d Merge - make/javax/sound/jsoundhs/FILES.gmk - make/javax/sound/jsoundhs/Makefile - make/javax/sound/jsoundhs/mapfile-vers ! make/sun/awt/Makefile ! make/sun/xawt/mapfile-vers - src/share/classes/com/sun/beans/ObjectHandler.java - src/share/lib/audio/soundbank.gm - src/solaris/classes/sun/nio/ch/FileDispatcher.java - src/solaris/native/sun/nio/ch/FileDispatcher.c - src/windows/classes/sun/nio/ch/FileDispatcher.java - src/windows/native/sun/nio/ch/FileDispatcher.c - src/windows/native/sun/windows/UnicowsLoader.cpp - src/windows/native/sun/windows/UnicowsLoader.h - src/windows/native/sun/windows/awt_MMStub.cpp - src/windows/native/sun/windows/awt_MMStub.h - src/windows/native/sun/windows/awt_Multimon.h - src/windows/native/sun/windows/awt_Unicode.cpp - src/windows/native/sun/windows/awt_Unicode.h - src/windows/native/sun/windows/awt_dlls.cpp - src/windows/native/sun/windows/awt_dlls.h Changeset: 8d5144dfc642 Author: jgodinez Date: 2009-03-05 10:56 -0800 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/8d5144dfc642 6735296: Regression: Common print dialog does not show the correct page orientation Reviewed-by: tdv, prr ! src/share/classes/sun/print/ServiceDialog.java Changeset: 59696dfd5455 Author: prr Date: 2009-03-12 12:01 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/59696dfd5455 6727719: Performance of TextLayout.getBounds() Reviewed-by: jgodinez, dougfelt ! src/share/classes/sun/font/FileFontStrike.java Changeset: 9318628e8eee Author: jgodinez Date: 2009-03-16 11:46 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/9318628e8eee 6812600: The miter line join decoration isn't rendered properly Reviewed-by: avu, flar Contributed-by: Google ! src/share/classes/sun/java2d/pisces/PiscesRenderingEngine.java + test/sun/pisces/JoinMiterTest.java Changeset: 467e4f25965c Author: avu Date: 2009-03-20 20:05 +0300 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/467e4f25965c 6733501: Apply IcedTea little cms patches Reviewed-by: bae, prr ! src/share/native/sun/java2d/cmm/lcms/LCMS.c ! src/share/native/sun/java2d/cmm/lcms/cmsio0.c ! src/share/native/sun/java2d/cmm/lcms/lcms.h + test/sun/java2d/cmm/ProfileOp/ReadWriteProfileTest.java Changeset: e43ea83ca696 Author: prr Date: 2009-03-23 10:40 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/e43ea83ca696 6745225: Memory leak while drawing Attributed String Reviewed-by: jgodinez, dougfelt ! src/share/classes/sun/font/FileFontStrike.java ! src/share/classes/sun/font/GlyphLayout.java + test/java/awt/font/LineBreakMeasurer/FRCTest.java Changeset: e2cc7ffbb355 Author: prr Date: 2009-03-24 09:14 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/e2cc7ffbb355 6821031: Upgrade OpenJDK's LittleCMS version to 1.18 Reviewed-by: bae, igor ! src/share/native/sun/java2d/cmm/lcms/LCMS.c ! src/share/native/sun/java2d/cmm/lcms/cmscam02.c ! src/share/native/sun/java2d/cmm/lcms/cmscam97.c ! src/share/native/sun/java2d/cmm/lcms/cmscgats.c ! src/share/native/sun/java2d/cmm/lcms/cmscnvrt.c ! src/share/native/sun/java2d/cmm/lcms/cmserr.c ! src/share/native/sun/java2d/cmm/lcms/cmsgamma.c ! src/share/native/sun/java2d/cmm/lcms/cmsgmt.c ! src/share/native/sun/java2d/cmm/lcms/cmsintrp.c ! src/share/native/sun/java2d/cmm/lcms/cmsio0.c ! src/share/native/sun/java2d/cmm/lcms/cmsio1.c ! src/share/native/sun/java2d/cmm/lcms/cmslut.c ! src/share/native/sun/java2d/cmm/lcms/cmsmatsh.c ! src/share/native/sun/java2d/cmm/lcms/cmsmtrx.c ! src/share/native/sun/java2d/cmm/lcms/cmsnamed.c ! src/share/native/sun/java2d/cmm/lcms/cmspack.c ! src/share/native/sun/java2d/cmm/lcms/cmspcs.c ! src/share/native/sun/java2d/cmm/lcms/cmsps2.c ! src/share/native/sun/java2d/cmm/lcms/cmssamp.c ! src/share/native/sun/java2d/cmm/lcms/cmsvirt.c ! src/share/native/sun/java2d/cmm/lcms/cmswtpnt.c ! src/share/native/sun/java2d/cmm/lcms/cmsxform.c ! src/share/native/sun/java2d/cmm/lcms/icc34.h ! src/share/native/sun/java2d/cmm/lcms/lcms.h Changeset: 0c69e3ba15f4 Author: prr Date: 2009-03-24 10:53 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/0c69e3ba15f4 6821504: typo in lcmsio.c Reviewed-by: jgodinez ! src/share/native/sun/java2d/cmm/lcms/cmsio0.c Changeset: 8e36b37745d4 Author: lana Date: 2009-03-24 19:12 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/8e36b37745d4 Merge - src/windows/classes/sun/awt/windows/fontconfig.98.properties - src/windows/classes/sun/awt/windows/fontconfig.Me.properties Changeset: 6ee1e2a1a833 Author: lana Date: 2009-04-07 10:04 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/6ee1e2a1a833 Merge - src/windows/classes/sun/awt/windows/fontconfig.98.properties - src/windows/classes/sun/awt/windows/fontconfig.Me.properties Changeset: 6d74c3f22c74 Author: ohair Date: 2009-03-31 16:10 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/6d74c3f22c74 6604458: linux_x64-fastdebug-c2 fails on hyperbolic trig tests Reviewed-by: tbell ! make/common/Defs-linux.gmk ! make/common/Defs-solaris.gmk ! make/common/Defs-windows.gmk ! make/java/fdlibm/Makefile Changeset: 90d1a828b6d1 Author: ohair Date: 2009-03-31 16:11 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/90d1a828b6d1 6745361: Add -XX options to prevent stdout/stderr pollution using fastdebug/debug bootjdk Reviewed-by: tbell ! make/common/shared/Defs-java.gmk Changeset: 43124654f2aa Author: ohair Date: 2009-03-31 16:12 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/43124654f2aa 6502548: test/Makefile needs to be setup to allow for JPRT testrules (NSK and JCK testing too?) Summary: A work in progress on testing additions for JPRT system. Reviewed-by: tbell ! test/Makefile Changeset: b2530d839ecb Author: ohair Date: 2009-03-31 16:14 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/b2530d839ecb 6824012: Add jdk regression tests to default jprt jobs Summary: A work in progress on adding to the jprt testing. Reviewed-by: tbell ! make/jprt.properties ! test/java/io/File/GetXSpace.java ! test/java/lang/Thread/StartOOMTest.java ! test/java/util/logging/LoggingDeadlock2.java Changeset: 70c53bc9a49d Author: ohair Date: 2009-04-01 09:08 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/70c53bc9a49d 6824583: regtest TimeUnit/Basic.java fails intermittently on Windows - again Reviewed-by: dholmes ! test/java/util/concurrent/TimeUnit/Basic.java Changeset: 817bb60fbc26 Author: ohair Date: 2009-04-01 09:10 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/817bb60fbc26 Merge Changeset: f7ca3dad31a2 Author: ohair Date: 2009-04-01 09:44 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/f7ca3dad31a2 Merge - src/share/classes/sun/misc/JavaIODeleteOnExitAccess.java Changeset: ce73dcf13656 Author: ohair Date: 2009-04-01 18:45 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/ce73dcf13656 Merge Changeset: 78fbc0dad111 Author: ohair Date: 2009-04-02 15:04 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/78fbc0dad111 6825765: Further adjustments to regression tests run by jprt Reviewed-by: tbell ! test/java/lang/reflect/Method/InheritedMethods.java Changeset: f3381dd0f7cd Author: xdono Date: 2009-04-07 11:43 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/f3381dd0f7cd Merge Changeset: d1c43d1f5676 Author: xdono Date: 2009-04-07 14:02 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/d1c43d1f5676 Merge - src/windows/classes/sun/awt/windows/fontconfig.98.properties - src/windows/classes/sun/awt/windows/fontconfig.Me.properties Changeset: a43b2c9dad6f Author: xdono Date: 2009-04-09 10:37 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/a43b2c9dad6f Added tag jdk7-b54 for changeset d1c43d1f5676 ! .hgtags Changeset: 63e460d29580 Author: tbell Date: 2009-04-10 15:30 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/63e460d29580 Merge - src/windows/classes/sun/awt/windows/fontconfig.98.properties - src/windows/classes/sun/awt/windows/fontconfig.Me.properties Changeset: d0b6e69791c8 Author: art Date: 2009-02-11 17:07 +0300 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/d0b6e69791c8 6633275: Need to support shaped/translucent windows Summary: forward-port from 6u14, no public API is introduced Reviewed-by: anthony, dcherepanov ! make/sun/awt/FILES_c_windows.gmk ! make/sun/awt/Makefile ! make/sun/awt/make.depend ! make/sun/awt/mapfile-mawt-vers ! make/sun/awt/mapfile-vers-linux ! make/sun/xawt/mapfile-vers ! src/share/classes/com/sun/awt/AWTUtilities.java ! src/share/classes/java/awt/Component.java ! src/share/classes/java/awt/Container.java ! src/share/classes/java/awt/DefaultKeyboardFocusManager.java ! src/share/classes/java/awt/GraphicsConfiguration.java ! src/share/classes/java/awt/GraphicsDevice.java ! src/share/classes/java/awt/KeyboardFocusManager.java ! src/share/classes/java/awt/Window.java ! src/share/classes/java/awt/peer/WindowPeer.java ! src/share/classes/javax/swing/RepaintManager.java ! src/share/classes/sun/awt/AWTAccessor.java ! src/share/classes/sun/awt/EmbeddedFrame.java ! src/share/classes/sun/awt/SunToolkit.java + src/share/native/sun/awt/utility/rect.c ! src/solaris/classes/sun/awt/X11/XNETProtocol.java ! src/solaris/classes/sun/awt/X11/XToolkit.java ! src/solaris/classes/sun/awt/X11/XWindowPeer.java ! src/solaris/classes/sun/awt/X11/generator/WrapperGenerator.java ! src/solaris/classes/sun/awt/X11/generator/xlibtypes.txt ! src/solaris/classes/sun/awt/X11GraphicsConfig.java ! src/solaris/native/sun/awt/awt_GraphicsEnv.c ! src/solaris/native/sun/awt/awt_p.h ! src/windows/classes/sun/awt/Win32GraphicsConfig.java ! src/windows/classes/sun/awt/Win32GraphicsEnvironment.java + src/windows/classes/sun/awt/windows/TranslucentWindowPainter.java ! src/windows/classes/sun/awt/windows/WCanvasPeer.java ! src/windows/classes/sun/awt/windows/WComponentPeer.java ! src/windows/classes/sun/awt/windows/WFileDialogPeer.java ! src/windows/classes/sun/awt/windows/WPrintDialogPeer.java ! src/windows/classes/sun/awt/windows/WToolkit.java ! src/windows/classes/sun/awt/windows/WWindowPeer.java ! src/windows/classes/sun/java2d/opengl/WGLSurfaceData.java ! src/windows/native/sun/awt/utility/rect.h ! src/windows/native/sun/java2d/d3d/D3DSurfaceData.cpp ! src/windows/native/sun/java2d/opengl/WGLSurfaceData.c ! src/windows/native/sun/windows/awt_BitmapUtil.cpp ! src/windows/native/sun/windows/awt_BitmapUtil.h ! src/windows/native/sun/windows/awt_Component.cpp ! src/windows/native/sun/windows/awt_Component.h ! src/windows/native/sun/windows/awt_Window.cpp ! src/windows/native/sun/windows/awt_Window.h + test/com/sun/awt/Translucency/TranslucentJAppletTest/TranslucentJAppletTest.java + test/com/sun/awt/Translucency/TranslucentShapedFrameTest/TSFrame.java + test/com/sun/awt/Translucency/TranslucentShapedFrameTest/TranslucentShapedFrameTest.form + test/com/sun/awt/Translucency/TranslucentShapedFrameTest/TranslucentShapedFrameTest.java + test/com/sun/awt/Translucency/WindowOpacity.java + test/sun/java2d/pipe/RegionOps.java Changeset: d78988dd5659 Author: art Date: 2009-02-12 17:27 +0300 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/d78988dd5659 6804680: Solaris AMD64 build fails after the fix for 6633275/7 Summary: addition to the fix for 6633275 Reviewed-by: yan ! src/solaris/classes/sun/awt/X11/generator/sizes.64-solaris-i386 Changeset: 0d01d1f0954d Author: dcherepanov Date: 2009-02-12 18:24 +0300 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/0d01d1f0954d 6724890: Deadlock between AWT-EventQueue-1 and AWT-XAWT threads during IDE start Reviewed-by: art, ant ! src/share/classes/java/awt/Frame.java ! src/share/classes/sun/awt/AWTAccessor.java ! src/solaris/classes/sun/awt/X11/XFramePeer.java ! src/windows/classes/sun/awt/windows/WFramePeer.java ! src/windows/native/sun/windows/awt_Frame.cpp ! src/windows/native/sun/windows/awt_Frame.h Changeset: 03276203c39c Author: art Date: 2009-02-17 10:42 +0300 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/03276203c39c 6806035: Fix for 6804680 is incomplete Reviewed-by: yan ! src/solaris/classes/sun/awt/X11/generator/sizes.64-solaris-i386 Changeset: 5453a374c1d5 Author: dcherepanov Date: 2009-02-17 14:27 +0300 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/5453a374c1d5 6769607: PIT : Modal frame hangs for a while for few seconds in 6u12 b01 pit build Reviewed-by: art, anthony ! src/share/classes/java/awt/Window.java ! src/windows/native/sun/windows/awt_Dialog.cpp ! src/windows/native/sun/windows/awt_Dialog.h Changeset: 9cdba92883bf Author: dcherepanov Date: 2009-02-17 14:30 +0300 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/9cdba92883bf 6792023: Print suspends on Windows 2000 Pro since 6u12 b01 Reviewed-by: art, anthony ! src/windows/native/sun/windows/awt_FileDialog.cpp ! src/windows/native/sun/windows/awt_PrintDialog.cpp ! src/windows/native/sun/windows/awt_PrintJob.cpp ! src/windows/native/sun/windows/awt_Window.h Changeset: e03aa9d6b8d5 Author: dcherepanov Date: 2009-02-17 14:44 +0300 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/e03aa9d6b8d5 6723941: Crash in sun.awt.windows.WToolkit.eventLoop() Reviewed-by: art, ant ! src/windows/native/sun/windows/awt_Frame.cpp Changeset: 2083f9461cea Author: dcherepanov Date: 2009-02-19 14:10 +0300 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/2083f9461cea 6806224: PIT : Getting java.lang.NullPointerException while opening Filedialog Reviewed-by: art, dav ! src/solaris/classes/sun/awt/X11/XComponentPeer.java ! src/solaris/classes/sun/awt/X11/XFileDialogPeer.java Changeset: 66d6db0a1de6 Author: anthony Date: 2009-02-20 17:34 +0300 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/66d6db0a1de6 6804747: Ensure consistent graphicsConfig member across components hierarchy Reviewed-by: art, dcherepanov ! src/share/classes/java/awt/Canvas.java ! src/share/classes/java/awt/Component.java ! src/share/classes/java/awt/Container.java ! src/share/classes/java/awt/Window.java ! src/share/classes/java/awt/peer/CanvasPeer.java ! src/share/classes/java/awt/peer/ComponentPeer.java ! src/share/classes/sun/awt/AWTAccessor.java ! src/share/classes/sun/awt/ComponentAccessor.java ! src/share/classes/sun/awt/NullComponentPeer.java ! src/solaris/classes/sun/awt/X11/XCanvasPeer.java ! src/solaris/classes/sun/awt/X11/XComponentPeer.java ! src/solaris/classes/sun/awt/X11/XEmbedChildProxyPeer.java ! src/solaris/classes/sun/awt/X11/XPanelPeer.java ! src/solaris/classes/sun/awt/X11/XWindowPeer.java ! src/solaris/native/sun/awt/awt_Component.h ! src/solaris/native/sun/awt/awt_Window.h ! src/solaris/native/sun/xawt/XToolkit.c ! src/windows/classes/sun/awt/Win32GraphicsDevice.java ! src/windows/classes/sun/awt/windows/WCanvasPeer.java ! src/windows/classes/sun/awt/windows/WComponentPeer.java ! src/windows/classes/sun/awt/windows/WPanelPeer.java ! src/windows/classes/sun/awt/windows/WWindowPeer.java Changeset: b22974c82ca8 Author: lana Date: 2009-02-22 12:26 -0800 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/b22974c82ca8 Merge - make/javax/sound/jsoundhs/FILES.gmk - make/javax/sound/jsoundhs/Makefile - make/javax/sound/jsoundhs/mapfile-vers ! make/sun/awt/mapfile-mawt-vers ! make/sun/xawt/mapfile-vers - src/share/classes/com/sun/beans/ObjectHandler.java - src/share/classes/com/sun/jmx/namespace/JMXNamespaceUtils.java ! src/share/classes/javax/swing/RepaintManager.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/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 - src/share/lib/audio/soundbank.gm ! src/windows/classes/sun/awt/Win32GraphicsEnvironment.java Changeset: a2082e850247 Author: anthony Date: 2009-03-03 13:54 +0300 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/a2082e850247 6811674: Container.setComponentZOrder throws NPE Reviewed-by: art, dcherepanov ! src/share/classes/java/awt/Container.java Changeset: ae27b7949714 Author: dcherepanov Date: 2009-03-04 13:05 +0300 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/ae27b7949714 6809227: poor performance on Panel.Add() method in jdk6 Reviewed-by: art, anthony ! make/sun/xawt/mapfile-vers ! src/share/classes/java/awt/Component.java ! src/share/classes/java/awt/Container.java ! src/share/classes/java/awt/peer/ComponentPeer.java ! src/share/classes/java/awt/peer/ContainerPeer.java ! src/share/classes/sun/awt/NullComponentPeer.java ! src/solaris/classes/sun/awt/X11/XComponentPeer.java ! src/solaris/classes/sun/awt/X11/XEmbedChildProxyPeer.java ! src/solaris/classes/sun/awt/X11/XlibWrapper.java ! src/solaris/native/sun/xawt/XlibWrapper.c ! src/windows/classes/sun/awt/windows/WComponentPeer.java ! src/windows/classes/sun/awt/windows/WFileDialogPeer.java ! src/windows/classes/sun/awt/windows/WPrintDialogPeer.java ! src/windows/classes/sun/awt/windows/WScrollPanePeer.java ! src/windows/native/sun/windows/awt_Component.cpp ! src/windows/native/sun/windows/awt_Component.h ! src/windows/native/sun/windows/awt_Panel.cpp ! src/windows/native/sun/windows/awt_Panel.h Changeset: e7205c5dd3b7 Author: art Date: 2009-03-04 18:10 +0300 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/e7205c5dd3b7 6784816: Remove AWT tree lock from Container methods: getComponent, getComponents, getComponentCount Reviewed-by: anthony, dav ! src/share/classes/java/awt/Container.java Changeset: 4dc625187820 Author: ant Date: 2009-03-10 18:33 +0300 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/4dc625187820 6806217: implement synthetic focus model for MS Windows Reviewed-by: art, dcherepanov ! make/sun/awt/make.depend ! src/share/classes/java/awt/Component.java ! src/share/classes/java/awt/KeyboardFocusManager.java ! src/share/classes/sun/awt/AWTAccessor.java ! src/share/classes/sun/awt/HeadlessToolkit.java ! src/share/classes/sun/awt/KeyboardFocusManagerPeerImpl.java ! src/share/classes/sun/awt/SunToolkit.java ! src/solaris/classes/sun/awt/X11/XComponentPeer.java ! src/solaris/classes/sun/awt/X11/XEmbedChildProxyPeer.java ! src/solaris/classes/sun/awt/X11/XKeyboardFocusManagerPeer.java ! src/windows/classes/sun/awt/windows/WChoicePeer.java ! src/windows/classes/sun/awt/windows/WComponentPeer.java + src/windows/classes/sun/awt/windows/WKeyboardFocusManagerPeer.java ! src/windows/classes/sun/awt/windows/WToolkit.java ! src/windows/classes/sun/awt/windows/WWindowPeer.java ! src/windows/native/sun/windows/awt_Button.cpp ! src/windows/native/sun/windows/awt_Button.h ! src/windows/native/sun/windows/awt_Canvas.cpp ! src/windows/native/sun/windows/awt_Checkbox.cpp ! src/windows/native/sun/windows/awt_Checkbox.h ! src/windows/native/sun/windows/awt_Choice.cpp ! src/windows/native/sun/windows/awt_Choice.h ! src/windows/native/sun/windows/awt_Component.cpp ! src/windows/native/sun/windows/awt_Component.h ! src/windows/native/sun/windows/awt_Frame.cpp ! src/windows/native/sun/windows/awt_Frame.h ! src/windows/native/sun/windows/awt_KeyboardFocusManager.cpp - src/windows/native/sun/windows/awt_KeyboardFocusManager.h ! src/windows/native/sun/windows/awt_List.cpp ! src/windows/native/sun/windows/awt_List.h ! src/windows/native/sun/windows/awt_PrintDialog.cpp ! src/windows/native/sun/windows/awt_ScrollPane.cpp ! src/windows/native/sun/windows/awt_ScrollPane.h ! src/windows/native/sun/windows/awt_Scrollbar.cpp ! src/windows/native/sun/windows/awt_Scrollbar.h ! src/windows/native/sun/windows/awt_TextArea.cpp ! src/windows/native/sun/windows/awt_TextComponent.cpp ! src/windows/native/sun/windows/awt_TextComponent.h ! src/windows/native/sun/windows/awt_TextField.cpp ! src/windows/native/sun/windows/awt_Window.cpp ! src/windows/native/sun/windows/awt_Window.h ! src/windows/native/sun/windows/awtmsg.h + test/java/awt/Focus/ClearGlobalFocusOwnerTest/ClearGlobalFocusOwnerTest.java ! test/java/awt/Focus/IconifiedFrameFocusChangeTest/IconifiedFrameFocusChangeTest.java + test/java/awt/Focus/RemoveAfterRequest/RemoveAfterRequest.java Changeset: 04b368454df3 Author: ant Date: 2009-03-11 16:11 +0300 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/04b368454df3 6815946: regression: failed to build MToolkit Reviewed-by: anthony ! src/share/classes/sun/awt/AWTAccessor.java ! src/solaris/classes/sun/awt/motif/MToolkit.java Changeset: 6df5f5fb5174 Author: dcherepanov Date: 2009-03-13 18:07 +0300 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/6df5f5fb5174 6805897: Gap present between the choice and its drop down list in Jdk 7 build for a non resizable frame. Reviewed-by: art, anthony ! src/solaris/classes/sun/awt/X11/XDecoratedPeer.java Changeset: c58f41b4bfbd Author: dcherepanov Date: 2009-03-20 08:41 -0400 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/c58f41b4bfbd 6774258: api/java_awt/Component/index.html#PaintUpdate fails randomly Reviewed-by: art ! src/windows/classes/sun/awt/windows/WComponentPeer.java ! src/windows/classes/sun/java2d/d3d/D3DScreenUpdateManager.java + test/java/awt/Component/NoUpdateUponShow/NoUpdateUponShow.java Changeset: 55f02057dc37 Author: dcherepanov Date: 2009-03-23 11:59 +0300 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/55f02057dc37 6516404: regression: Choice vertical scrollbar is not seen when the item in the choice is increased more than Reviewed-by: art, dav ! src/windows/native/sun/windows/awt_Choice.cpp Changeset: adaee9531504 Author: dcherepanov Date: 2009-03-23 09:47 -0400 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/adaee9531504 6730447: Support for high resolution mouse wheel is still incomplete. AWT panel needs to be supported Reviewed-by: art, dav ! src/windows/native/sun/windows/awt_Component.cpp ! src/windows/native/sun/windows/awt_Component.h + test/java/awt/event/MouseEvent/AWTPanelSmoothWheel/AWTPanelSmoothWheel.html + test/java/awt/event/MouseEvent/AWTPanelSmoothWheel/AWTPanelSmoothWheel.java Changeset: f3ed90be28fc Author: rkennke Date: 2009-03-24 21:57 +0100 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/f3ed90be28fc 6809233: Modal dialog blocks calling thread after it is hidden and disposed Summary: Send WakingRunnable to toolkit to prevent early cleanup. Reviewed-by: art, son ! src/share/classes/java/awt/Dialog.java Changeset: a702e8ff83bd Author: anthony Date: 2009-03-25 13:37 +0300 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/a702e8ff83bd 6714678: IDE (Netbeans, Eclipse, JDeveloper) Debugger hangs process on Linux Summary: Added the system property sun.awt.disablegrab Reviewed-by: art, dcherepanov ! src/solaris/classes/sun/awt/X11/XBaseWindow.java ! src/solaris/classes/sun/awt/X11/XToolkit.java Changeset: 0cbcc4bdf95a Author: anthony Date: 2009-03-26 14:38 +0300 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/0cbcc4bdf95a 6693253: Security Warning appearance requires enhancements 6779717: A Window does not show applet security warning icon on X platforms 6785058: Parent dn't get the focus after dialog is closed if security warning is applied Summary: Forward-port from 6u10-6u14 Reviewed-by: art, dcherepanov ! make/sun/awt/Depend.mak ! make/sun/awt/FILES_c_windows.gmk ! make/sun/awt/README ! make/sun/awt/make.depend ! make/sun/xawt/FILES_c_unix.gmk ! make/sun/xawt/Makefile ! make/sun/xawt/mapfile-vers + src/share/classes/com/sun/awt/SecurityWarning.java ! src/share/classes/java/awt/Component.java ! src/share/classes/java/awt/Window.java ! src/share/classes/java/awt/peer/WindowPeer.java ! src/share/classes/sun/awt/AWTAccessor.java ! src/share/classes/sun/awt/EmbeddedFrame.java + src/solaris/classes/sun/awt/X11/InfoWindow.java ! src/solaris/classes/sun/awt/X11/XDecoratedPeer.java ! src/solaris/classes/sun/awt/X11/XKeyboardFocusManagerPeer.java ! src/solaris/classes/sun/awt/X11/XNETProtocol.java ! src/solaris/classes/sun/awt/X11/XTrayIconPeer.java ! src/solaris/classes/sun/awt/X11/XWM.java ! src/solaris/classes/sun/awt/X11/XWarningWindow.java ! src/solaris/classes/sun/awt/X11/XWindow.java ! src/solaris/classes/sun/awt/X11/XWindowPeer.java ! src/solaris/classes/sun/awt/X11/XlibWrapper.java + src/solaris/classes/sun/awt/X11/security-icon-bw16.png + src/solaris/classes/sun/awt/X11/security-icon-bw24.png + src/solaris/classes/sun/awt/X11/security-icon-bw32.png + src/solaris/classes/sun/awt/X11/security-icon-bw48.png + src/solaris/classes/sun/awt/X11/security-icon-interim16.png + src/solaris/classes/sun/awt/X11/security-icon-interim24.png + src/solaris/classes/sun/awt/X11/security-icon-interim32.png + src/solaris/classes/sun/awt/X11/security-icon-interim48.png + src/solaris/classes/sun/awt/X11/security-icon-yellow16.png + src/solaris/classes/sun/awt/X11/security-icon-yellow24.png + src/solaris/classes/sun/awt/X11/security-icon-yellow32.png + src/solaris/classes/sun/awt/X11/security-icon-yellow48.png ! src/solaris/native/sun/awt/utility/rect.h ! src/solaris/native/sun/xawt/XlibWrapper.c ! src/windows/classes/sun/awt/windows/WWindowPeer.java ! src/windows/native/sun/windows/ComCtl32Util.cpp ! src/windows/native/sun/windows/ComCtl32Util.h + src/windows/native/sun/windows/DllUtil.cpp + src/windows/native/sun/windows/DllUtil.h ! src/windows/native/sun/windows/awt.rc ! src/windows/native/sun/windows/awt_Component.cpp ! src/windows/native/sun/windows/awt_Component.h ! src/windows/native/sun/windows/awt_Dialog.cpp ! src/windows/native/sun/windows/awt_Dialog.h ! src/windows/native/sun/windows/awt_Frame.cpp ! src/windows/native/sun/windows/awt_Frame.h ! src/windows/native/sun/windows/awt_Toolkit.cpp ! src/windows/native/sun/windows/awt_Toolkit.h ! src/windows/native/sun/windows/awt_Win32GraphicsEnv.cpp ! src/windows/native/sun/windows/awt_Window.cpp ! src/windows/native/sun/windows/awt_Window.h + src/windows/native/sun/windows/security_warning.ico + src/windows/native/sun/windows/security_warning_bw.ico + src/windows/native/sun/windows/security_warning_int.ico + test/java/awt/Focus/CloseDialogActivateOwnerTest/CloseDialogActivateOwnerTest.java + test/java/awt/Focus/CloseDialogActivateOwnerTest/java.policy + test/java/awt/Focus/OwnedWindowFocusIMECrashTest/OwnedWindowFocusIMECrashTest.java Changeset: abf3b2ecfa06 Author: yan Date: 2009-03-27 12:01 +0300 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/abf3b2ecfa06 6680988: KeyEvent is still missing VK values for many keyboards Summary: 2 new methods and some fields added to KeyEvent, plus hash of constants introduced Reviewed-by: art ! make/sun/awt/FILES_export_unix.gmk ! make/sun/awt/FILES_export_windows.gmk ! make/sun/xawt/mapfile-vers ! src/share/classes/java/awt/AWTKeyStroke.java ! src/share/classes/java/awt/MenuItem.java ! src/share/classes/java/awt/MenuShortcut.java ! src/share/classes/java/awt/event/KeyEvent.java ! src/share/classes/javax/swing/AbstractButton.java ! src/share/classes/javax/swing/Action.java ! src/share/classes/javax/swing/JComponent.java ! src/share/classes/javax/swing/JLabel.java ! src/share/classes/javax/swing/JTabbedPane.java ! src/share/classes/javax/swing/KeyStroke.java ! src/share/classes/javax/swing/KeyboardManager.java ! src/share/classes/javax/swing/SwingUtilities.java + src/share/classes/sun/awt/ExtendedKeyCodes.java ! src/solaris/classes/sun/awt/X11/XConstants.java ! src/solaris/classes/sun/awt/X11/XKeysym.java ! src/solaris/classes/sun/awt/X11/XToolkit.java ! src/solaris/classes/sun/awt/X11/XWindow.java ! src/solaris/classes/sun/awt/X11/XlibWrapper.java ! src/solaris/classes/sun/awt/X11/generator/WrapperGenerator.java ! src/solaris/classes/sun/awt/X11/generator/xlibtypes.txt ! src/solaris/classes/sun/awt/X11/keysym2ucs.h ! src/solaris/native/sun/xawt/XlibWrapper.c ! src/windows/native/sun/windows/awt_Component.cpp ! src/windows/native/sun/windows/awt_Component.h ! src/windows/native/sun/windows/awt_InputMethod.cpp ! src/windows/native/sun/windows/awt_KeyEvent.cpp ! src/windows/native/sun/windows/awt_KeyEvent.h + test/java/awt/event/KeyEvent/AcceleratorTest/AcceleratorTest.html + test/java/awt/event/KeyEvent/AcceleratorTest/AcceleratorTest.java Changeset: 9d26016be6fa Author: yan Date: 2009-03-30 16:33 +0400 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/9d26016be6fa 6823589: Remake sizes.64-solaris-i386 with newly added fields 6782746: Keyboard hotkeys don't work in locales where non latin characters are used 6299348: Zero keycode returned in keyPressed and keyReleased for some keys in non-english layout - Win32 6316369: Provide a method to convert a character to VK_* Java keycode, if possible. 6446568: KeyEvent lacks 3 virtual keys of Danish keyboards 6559449: Support for converting from char to KeyEvent VK_ keycode 6182651: Need to identify any key pressed/released with a unique code Summary: Various by-products of 6680988 fix. Reviewed-by: art ! src/solaris/classes/sun/awt/X11/generator/sizes.64-solaris-i386 Changeset: 3a9ae1117c12 Author: anthony Date: 2009-03-31 18:47 +0400 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/3a9ae1117c12 6819601: Fix AWT JTReg tests which fail to compile Summary: Fix compilation of tests. Reviewed-by: anthony, son Contributed-by: Andrew John Hughes ! test/java/awt/Component/isLightweightCrash/StubPeerCrash.java ! test/java/awt/EventQueue/6638195/bug6638195.java Changeset: 1cb2e3e0631f Author: anthony Date: 2009-04-01 19:05 +0400 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/1cb2e3e0631f 6818312: com.sun.awt.SecurityWarning.getSize() always reports (0, 0) on X11 Summary: The fix got pushed with 6693253. However the test was omitted. Here it comes. Reviewed-by: dcherepanov, art + test/com/sun/awt/SecurityWarning/GetSizeShouldNotReturnZero.java Changeset: c5f1721eebb2 Author: lana Date: 2009-04-09 13:12 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/c5f1721eebb2 Merge ! make/sun/awt/Makefile ! make/sun/xawt/mapfile-vers ! src/windows/native/sun/windows/awt.rc - src/windows/native/sun/windows/awt_KeyboardFocusManager.h Changeset: 73f0e751b669 Author: dcherepanov Date: 2009-04-13 15:22 +0400 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/73f0e751b669 6829326: Getting java.lang.NullPointerException: null pData while opening a File,Print,Page Dialog in Win Reviewed-by: art, yan ! src/windows/classes/sun/awt/windows/WFileDialogPeer.java ! src/windows/classes/sun/awt/windows/WPrintDialogPeer.java Changeset: 6a789813407d Author: lana Date: 2009-04-13 15:33 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/6a789813407d Merge Changeset: a5746eca3686 Author: lana Date: 2009-04-13 22:34 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/a5746eca3686 Merge - src/windows/native/sun/windows/awt_KeyboardFocusManager.h Changeset: 442b563e57c6 Author: peterz Date: 2009-02-04 18:48 +0300 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/442b563e57c6 6588003: LayoutQueue shares mutable implementation across AppContexts Summary: DefaultQueue property is made per-AppContext Reviewed-by: alexp ! src/share/classes/javax/swing/text/LayoutQueue.java + test/javax/swing/text/LayoutQueue/Test6588003.java Changeset: 62a84e564a8c Author: malenkov Date: 2009-02-05 14:48 +0300 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/62a84e564a8c 4769844: classes in java.beans that are serializable but don't define serialVersionUID Reviewed-by: peterz, rupashka ! src/share/classes/java/beans/IndexedPropertyChangeEvent.java ! src/share/classes/java/beans/IntrospectionException.java ! src/share/classes/java/beans/PropertyChangeEvent.java ! src/share/classes/java/beans/PropertyVetoException.java ! src/share/classes/java/beans/beancontext/BeanContextEvent.java ! src/share/classes/java/beans/beancontext/BeanContextMembershipEvent.java ! src/share/classes/java/beans/beancontext/BeanContextServiceAvailableEvent.java ! src/share/classes/java/beans/beancontext/BeanContextServiceRevokedEvent.java ! src/share/classes/java/beans/beancontext/BeanContextServicesSupport.java ! src/share/classes/sun/beans/editors/ColorEditor.java ! src/share/classes/sun/beans/editors/FontEditor.java Changeset: 27dabbdfdcac Author: malenkov Date: 2009-02-05 17:00 +0300 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/27dabbdfdcac 6669869: Beans.isDesignTime() and other queries should be per-AppContext Reviewed-by: peterz, rupashka ! src/share/classes/java/beans/Beans.java + test/java/beans/Beans/6669869/TestDesignTime.java + test/java/beans/Beans/6669869/TestGuiAvailable.java Changeset: 0960e96d0de8 Author: peterz Date: 2009-02-05 19:16 +0300 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/0960e96d0de8 6801769: 6588003 should be backed out from jdk7 Reviewed-by: alexp ! src/share/classes/javax/swing/text/LayoutQueue.java Changeset: 794e786306c1 Author: art Date: 2009-02-12 14:19 +0300 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/794e786306c1 6799345: JFC demos threw exception in the Java Console when applets are closed Reviewed-by: alexp, peterz ! src/share/classes/javax/swing/SwingWorker.java ! src/share/classes/javax/swing/TimerQueue.java + test/javax/swing/system/6799345/TestShutdown.java Changeset: 6b77fbb7e33e Author: lana Date: 2009-02-23 11:16 -0800 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/6b77fbb7e33e Merge - src/share/classes/com/sun/jmx/namespace/JMXNamespaceUtils.java ! src/share/classes/javax/swing/TimerQueue.java ! src/share/classes/javax/swing/text/LayoutQueue.java - src/share/classes/org/jcp/xml/dsig/internal/package.html - src/share/classes/sun/launcher/LauncherHelp.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/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 - src/windows/native/sun/windows/UnicowsLoader.cpp - src/windows/native/sun/windows/UnicowsLoader.h - src/windows/native/sun/windows/awt_MMStub.cpp - src/windows/native/sun/windows/awt_MMStub.h - src/windows/native/sun/windows/awt_Multimon.h - src/windows/native/sun/windows/awt_Unicode.cpp - src/windows/native/sun/windows/awt_Unicode.h - src/windows/native/sun/windows/awt_dlls.cpp - src/windows/native/sun/windows/awt_dlls.h - test/sun/net/www/http/ChunkedInputStream/test.txt - test/tools/launcher/Arrrghs.sh Changeset: c466ef3f1ea0 Author: peterz Date: 2009-02-24 19:17 +0300 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/c466ef3f1ea0 6804221: Three tests for JTabbedPane produce VM crash on rhel3 Reviewed-by: stayer, campbell ! src/solaris/native/sun/awt/gtk2_interface.c Changeset: 02b64d5fad60 Author: rupashka Date: 2009-02-26 11:44 +0300 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/02b64d5fad60 6794831: Infinite loop while painting ticks on Slider with maximum=MAX_INT Reviewed-by: malenkov ! src/share/classes/javax/swing/plaf/basic/BasicSliderUI.java + test/javax/swing/JSlider/6794831/bug6794831.java Changeset: 51148b9aed43 Author: rupashka Date: 2009-03-12 14:00 +0300 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/51148b9aed43 6491795: COM should be initialized for Shell API calls in ShellFolder2.cpp Reviewed-by: peterz, loneid ! src/share/classes/javax/swing/plaf/basic/BasicDirectoryModel.java ! src/share/classes/sun/awt/shell/ShellFolder.java ! src/share/classes/sun/awt/shell/ShellFolderManager.java ! src/share/classes/sun/swing/FilePane.java ! src/windows/classes/sun/awt/shell/Win32ShellFolder2.java ! src/windows/classes/sun/awt/shell/Win32ShellFolderManager2.java ! src/windows/native/sun/windows/ShellFolder2.cpp + test/javax/swing/JFileChooser/6570445/bug6570445.java Changeset: 4f7dd74de2e3 Author: peterz Date: 2009-03-13 19:25 +0300 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/4f7dd74de2e3 6815767: Bad parameter when calling another method in the class SynthTabbedPaneUI Reviewed-by: alexp, rupashka ! src/share/classes/javax/swing/plaf/synth/SynthTabbedPaneUI.java Changeset: 540c7f47aadf Author: rupashka Date: 2009-03-17 16:06 +0300 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/540c7f47aadf 6738668: JFileChooser cannot be created under SecurityManager Reviewed-by: peterz ! src/share/classes/com/sun/java/swing/plaf/windows/WindowsFileChooserUI.java ! src/share/classes/javax/swing/plaf/metal/MetalFileChooserUI.java ! src/share/classes/sun/swing/plaf/synth/SynthFileChooserUIImpl.java + test/javax/swing/JFileChooser/6738668/bug6738668.java + test/javax/swing/JFileChooser/6738668/security.policy Changeset: 4bf886c9df34 Author: peterz Date: 2009-03-23 14:09 +0300 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/4bf886c9df34 6653395: Default LAF is set to CrossPlatformLookAndFeel not SystemLookAndFeel Summary: Swing now checks AppContext properties to determine default LAF name. This is needed for plugin to be able to set default LAF w/o loading Swing classes. Reviewed-by: alexp, loneid ! src/share/classes/javax/swing/UIManager.java Changeset: 652e05578a7e Author: peterz Date: 2009-03-23 16:41 +0300 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/652e05578a7e 4783068: Components with HTML text should gray out the text when disabled Summary: Views fixed to use different colors when container is disabled Reviewed-by: gsm, rupashka ! src/share/classes/javax/swing/text/GlyphView.java ! src/share/classes/javax/swing/text/html/ImageView.java ! src/share/classes/javax/swing/text/html/StyleSheet.java + test/javax/swing/text/html/Test4783068.java Changeset: b8d8ec2dac68 Author: rupashka Date: 2009-03-26 11:04 +0300 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/b8d8ec2dac68 6798062: Memory Leak on using getFiles of FileSystemView Reviewed-by: peterz, malenkov ! src/windows/native/sun/windows/ShellFolder2.cpp + test/javax/swing/JFileChooser/6798062/bug6798062.html + test/javax/swing/JFileChooser/6798062/bug6798062.java Changeset: ce3262ac93fa Author: peterz Date: 2009-04-06 13:06 +0400 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/ce3262ac93fa 6635110: GTK problem when testing Sun Studio IDE on snv_77 with jdk1.6 using Gnome window manager Summary: GTKIconFactory icons should protect against null context passed in Reviewed-by: rupashka ! src/share/classes/com/sun/java/swing/plaf/gtk/GTKIconFactory.java + test/com/sun/java/swing/plaf/gtk/Test6635110.java Changeset: be3afc0e5775 Author: peterz Date: 2009-04-07 12:40 +0400 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/be3afc0e5775 6740974: api/javax_swing/PopupFactory/index.html#Ctor[PopupFactory2002] fails with NPE Reviewed-by: malenkov ! src/share/classes/javax/swing/PopupFactory.java Changeset: 1729e34a0287 Author: peytoia Date: 2009-04-10 11:51 +0900 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/1729e34a0287 6404304: RFE: Unicode 5.1 support Reviewed-by: okutsu, naoto ! make/java/text/FILES_java.gmk ! make/java/text/Makefile ! make/tools/GenerateCharacter/CharacterData00.java.template ! make/tools/GenerateCharacter/CharacterData01.java.template ! make/tools/UnicodeData/SpecialCasing.txt ! make/tools/UnicodeData/UnicodeData.txt + make/tools/UnicodeData/VERSION ! src/share/classes/java/lang/Character.java ! src/share/classes/java/lang/ConditionalSpecialCasing.java ! src/share/classes/java/lang/String.java ! src/share/classes/sun/text/normalizer/CharTrie.java ! src/share/classes/sun/text/normalizer/NormalizerBase.java ! src/share/classes/sun/text/normalizer/NormalizerDataReader.java ! src/share/classes/sun/text/normalizer/NormalizerImpl.java ! src/share/classes/sun/text/normalizer/Trie.java ! src/share/classes/sun/text/normalizer/TrieIterator.java + src/share/classes/sun/text/normalizer/UBiDiProps.java ! src/share/classes/sun/text/normalizer/UCharacter.java ! src/share/classes/sun/text/normalizer/UCharacterProperty.java ! src/share/classes/sun/text/normalizer/UCharacterPropertyReader.java - src/share/classes/sun/text/normalizer/UProperty.java ! src/share/classes/sun/text/normalizer/UTF16.java ! src/share/classes/sun/text/normalizer/UnicodeSet.java ! src/share/classes/sun/text/normalizer/UnicodeSetIterator.java ! src/share/classes/sun/text/normalizer/Utility.java ! src/share/classes/sun/text/normalizer/VersionInfo.java + src/share/classes/sun/text/resources/ubidi.icu ! src/share/classes/sun/text/resources/unorm.icu ! src/share/classes/sun/text/resources/uprops.icu ! test/java/lang/String/ToLowerCase.java Changeset: a54c407c4da3 Author: lana Date: 2009-04-09 20:34 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/a54c407c4da3 Merge - src/share/classes/sun/text/normalizer/UProperty.java Changeset: 2cdf54e6e74c Author: lana Date: 2009-04-14 00:05 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/2cdf54e6e74c Merge - src/share/classes/sun/text/normalizer/UProperty.java Changeset: 522bb5aa17e0 Author: lana Date: 2009-04-14 04:21 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/522bb5aa17e0 Merge - src/windows/native/sun/windows/awt_KeyboardFocusManager.h Changeset: 65095f13b7c4 Author: xdono Date: 2009-04-16 11:22 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/65095f13b7c4 Added tag jdk7-b55 for changeset 522bb5aa17e0 ! .hgtags Changeset: f1c76fb74e57 Author: tbell Date: 2009-04-18 14:10 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/f1c76fb74e57 Merge ! src/share/classes/sun/font/FontManager.java - src/share/native/java/util/zip/ZipEntry.c From tim.bell at sun.com Mon Apr 20 05:09:26 2009 From: tim.bell at sun.com (tim.bell at sun.com) Date: Mon, 20 Apr 2009 05:09:26 +0000 Subject: hg: jdk7/tl/langtools: 6 new changesets Message-ID: <20090420050938.35EE7E1F1@hg.openjdk.java.net> Changeset: 2734c6a91b8b Author: xdono Date: 2009-04-09 10:37 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/langtools/rev/2734c6a91b8b Added tag jdk7-b54 for changeset 197a7f881937 ! .hgtags Changeset: 143956db282e Author: tbell Date: 2009-04-10 15:31 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/langtools/rev/143956db282e Merge Changeset: 247468a1454b Author: dcherepanov Date: 2009-04-07 10:27 +0400 URL: http://hg.openjdk.java.net/jdk7/tl/langtools/rev/247468a1454b 6663040: Using com.sun.awt.AWTUtilities do not give warning while compilation Reviewed-by: yan, anthony ! src/share/classes/com/sun/tools/javac/resources/legacy.properties Changeset: 45be79d8d317 Author: lana Date: 2009-04-09 13:13 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/langtools/rev/45be79d8d317 Merge Changeset: 7394a8694ced Author: lana Date: 2009-04-13 22:35 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/langtools/rev/7394a8694ced Merge Changeset: 825f23a4f262 Author: xdono Date: 2009-04-16 11:23 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/langtools/rev/825f23a4f262 Added tag jdk7-b55 for changeset 7394a8694ced ! .hgtags From Xueming.Shen at Sun.COM Mon Apr 20 05:16:48 2009 From: Xueming.Shen at Sun.COM (Xueming Shen) Date: Sun, 19 Apr 2009 22:16:48 -0700 Subject: Review request 6830721 In-Reply-To: <49E746B1.7020809@sun.com> References: <49E746B1.7020809@sun.com> Message-ID: <49EC0540.9080605@sun.com> looks fine. Alan Bateman wrote: > 6830721: (fc) > test/java/nio/channels/AsynchronousFileChannel/Basic.java intermittent > failure > > Sherman - this is another intermittent failure of this test. The > cancel sub-test isn't correctly handling the case that the write > completes before it is cancelled. It's hard to duplicate but when the > write completes successfully the test fails. Trivial update to the > test; webrev is here: > http://cr.openjdk.java.net/~alanb/6830721/webrev.00/ > > Thanks, > Alan. From tim.bell at sun.com Mon Apr 20 07:18:08 2009 From: tim.bell at sun.com (tim.bell at sun.com) Date: Mon, 20 Apr 2009 07:18:08 +0000 Subject: hg: jdk7/tl/corba: 6372405: Server thread hangs when fragments don't complete because of connection abort; ... Message-ID: <20090420071810.52A34E1F8@hg.openjdk.java.net> Changeset: 4906dae0c5fa Author: tbell Date: 2009-04-20 00:12 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/corba/rev/4906dae0c5fa 6372405: Server thread hangs when fragments don't complete because of connection abort 5104239: Java: thread deadlock 6191561: JCK15: api/org_omg/PortableInterceptor/ClientRequestInfo/index.html#RIMethods sometime hang 6486322: org.omg.CORBA.ORB.init() thread safety issue 6420980: Security issue with the com.sun.corba.se.impl.orbutil.ORBUtility class 6465377: NullPointerException for RMI ORB in 1.5.0_08 6553303: Corba application fails w/ org.omg.CORBA.COMM_FAILURE: vmcid: SUN minor code: 203 completed: No 6438259: Wrong repository ID generated by IDLJ Reviewed-by: darcy ! src/share/classes/com/sun/corba/se/impl/encoding/BufferManagerReadStream.java ! src/share/classes/com/sun/corba/se/impl/io/ObjectStreamClass.java ! src/share/classes/com/sun/corba/se/impl/oa/poa/POAFactory.java ! src/share/classes/com/sun/corba/se/impl/orb/ORBImpl.java ! src/share/classes/com/sun/corba/se/impl/orb/ORBSingleton.java ! src/share/classes/com/sun/corba/se/impl/orbutil/ORBUtility.java ! src/share/classes/com/sun/corba/se/impl/resolver/INSURLOperationImpl.java ! src/share/classes/com/sun/corba/se/impl/transport/SocketOrChannelConnectionImpl.java ! src/share/classes/com/sun/corba/se/spi/logging/data/ORBUtil.mc ! src/share/classes/com/sun/tools/corba/se/idl/Parser.java ! src/share/classes/com/sun/tools/corba/se/logutil/InputException.java ! src/share/classes/org/omg/CORBA/ORB.java From alan.bateman at sun.com Mon Apr 20 08:35:56 2009 From: alan.bateman at sun.com (alan.bateman at sun.com) Date: Mon, 20 Apr 2009 08:35:56 +0000 Subject: hg: jdk7/tl/jdk: 6830721: (fc) test/java/nio/channels/AsynchronousFileChannel/Basic.java intermittent failure Message-ID: <20090420083624.E7D99E1FF@hg.openjdk.java.net> Changeset: ccd08d4b19cf Author: alanb Date: 2009-04-20 09:30 +0100 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/ccd08d4b19cf 6830721: (fc) test/java/nio/channels/AsynchronousFileChannel/Basic.java intermittent failure Reviewed-by: sherman ! test/java/nio/channels/AsynchronousFileChannel/Basic.java From Alan.Bateman at Sun.COM Mon Apr 20 09:02:41 2009 From: Alan.Bateman at Sun.COM (Alan Bateman) Date: Mon, 20 Apr 2009 10:02:41 +0100 Subject: Review request for 6829503 In-Reply-To: <49EBAAAC.2000707@sun.com> References: <49E8FD27.9080000@sun.com> <49EA0479.7020305@sun.com> <49EB12AF.7080301@sun.com> <49EB2E87.3000503@sun.com> <49EBAAAC.2000707@sun.com> Message-ID: <49EC3A31.9010904@sun.com> David Holmes - Sun Microsystems wrote: > Hi Alan, > > Alan Bateman said the following on 04/20/09 00:00: >> As it happens, there was a bug in that code (6526376) that caused NPE >> to be thrown so jdk7 b10 is the first build where >> IllegalStateException is possible. > > Ah I see. Seems to me that 6526376 took the easy fix and ignored the > underlying issue of whether this should be an exceptional circumstance > or not. :( or probably earlier in 4809375 when there was code introduced to explicitly handle this case. > : > > I think there's probably a way to keep the list in java code (for > resource management) and also add the fd to list used by the VM. > Adding a new "VM shutdown hook" to be executed by the VMThread at the > termination safepoint would probably be the best place to deal with this. That would work but does mean another dependency in the VM code. I'll create a bug with a link to this discussion so that this issue doesn't get forgotten. -Alan. From Christopher.Hegarty at Sun.COM Mon Apr 20 10:36:43 2009 From: Christopher.Hegarty at Sun.COM (Christopher Hegarty - Sun Microsystems Ireland) Date: Mon, 20 Apr 2009 11:36:43 +0100 Subject: Review request 6831461 In-Reply-To: <49E897B9.9060508@sun.com> References: <49E897B9.9060508@sun.com> Message-ID: <49EC503B.209@Sun.COM> Looks fine. -Chris. On 04/17/09 15:52, Alan Bateman wrote: > 6831461: (sample) Copy -r fails with IllegalArgumentexception: > 'maxDepth' is negative > > Sherman - this is bug in the Copy sample code that one of the tech > writers ran into. For the -r option the sample code is calling > walkFileTree with a max depth of -1 instead of Integer.MAX_VALUE. Not > sure how I missed this but a reminder that we probably need to include a > sanity check that runs the samples. The fix is trivial (and some other > minor corrections to a comment and error messages): > http://cr.openjdk.java.net/~alanb/6831461/webrev.00/ > > Thanks, > Alan. From alan.bateman at sun.com Mon Apr 20 12:36:45 2009 From: alan.bateman at sun.com (alan.bateman at sun.com) Date: Mon, 20 Apr 2009 12:36:45 +0000 Subject: hg: jdk7/tl/jdk: 6831461: (sample) Copy -r fails with IllegalArgumentexception: 'maxDepth' is negative Message-ID: <20090420123715.EF290E252@hg.openjdk.java.net> Changeset: e281812be4ce Author: alanb Date: 2009-04-20 13:27 +0100 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/e281812be4ce 6831461: (sample) Copy -r fails with IllegalArgumentexception: 'maxDepth' is negative Reviewed-by: chegar ! src/share/sample/nio/file/Copy.java From Christian.Thalinger at Sun.COM Mon Apr 20 14:38:04 2009 From: Christian.Thalinger at Sun.COM (Christian Thalinger) Date: Mon, 20 Apr 2009 16:38:04 +0200 Subject: BigInteger and MutableBigInteger should use Integer bit-twiddling methods Message-ID: <1240238284.1291.52.camel@localhost.localdomain> Hi! Could someone take care about CR 6832035? -- Christian From Mandy.Chung at Sun.COM Mon Apr 20 23:17:31 2009 From: Mandy.Chung at Sun.COM (Mandy Chung) Date: Mon, 20 Apr 2009 16:17:31 -0700 Subject: Review request for 6829503 In-Reply-To: <49EA0479.7020305@sun.com> References: <49E8FD27.9080000@sun.com> <49EA0479.7020305@sun.com> Message-ID: <49ED028B.1050906@sun.com> Alan, Thanks for the review and comments. Here is the revised webrev incorporating your comments. See below for my inlined reply. http://cr.openjdk.java.net/~mchung/6829503/webrev.01/ Alan Bateman wrote: > Good work! It mostly looks good to me and I've only a few comments: > > 1. I see that registerShutdownHook now throws IAE if the slot is > already used but if that happens it would be our bug. It can't happen > with the current code of course but I wonder if an Error might be > better (the original changes threw an InternalError). > I changed it to throw an InternalError. Since it's an implementation error, Error is appropriate. > 2. File#deleteOnExit doesn't allow IllegalStateException to be thrown > so maybe we should change DeleteOnExit#add to be a no-op if its > shutdown hook is running. If an application is attempting to register > files to be deleted during shutdown it will always be a timing issue > if the file is deleted or not. > Thanks for filing the RFE. No change is needed for this fix. > 3. In ApplicationShutdownHooks I wonder if it would be cleaner to > eliminate the static initializer and move the registration attempt > into the add method. That would avoid needing to catch > IllegalStateException ie: add becomes: if (hooks == null) { > Shutdown.add(...); hooks = new ... }. It amounts to the same as what > you have now but avoid exception catching. > I prefer to leave it as it is. We could move the registration to the add and remove method. We would have to add another state to indicate if the shutdown hook is running vs the shutdown hook is not registered. So we can't just do if (hooks == null) { Shutdown.add(...); ... }? When the application shutdown hooks are running, hooks is set to null. When a shutdown hook attempts to call Runtime.addShutdownHook that will end up getting an InternalError() since the hook at slot 1 has been registered. > 4. The synchronization and checking between Shutdown#add and runHooks > looks right. A minor comment is that the name "curShutdownHookSlot" is > a bit inconsistent with the other fields. s/curr/current/ or perhaps a > different name? > How about currentRunningHook? > 5. I usually prefer to have Runnables be the last parameter, in > particular for cases like this where anonymous inner classes are used. > An alternative to introducing the boolean parameter is rename one of > the register methods, say, registerShutdownHookBeforeShutdown or > something better. > I moved the Runnable parameter to the last parameter. I also remove the JavaLangAccess.registerShutdownHook(int, Runnable) method which I don't think it's highly necessary. So Console and DeleteOnExitHook both will need to specify the boolean parameter. Thanks Mandy > -Alan. > > > > From martinrb at google.com Mon Apr 20 23:25:41 2009 From: martinrb at google.com (Martin Buchholz) Date: Mon, 20 Apr 2009 16:25:41 -0700 Subject: REVIEW 6511515: poor performance of LogRecord.inferCaller depending on java.lang.Throwable.getStackTraceElement Message-ID: <1ccfd1c10904201625o25d351a6k2c13bb129390e86@mail.gmail.com> Hi java.util.logging maintainers, Here is a patch to improve the performance of LogRecord.inferCaller. This improves the performance of the microbenchmark in 6511515 by 5x. Swamy, please review. Contributed by Jeremy Manson. http://cr.openjdk.java.net/~martin/inferCaller As a followon, it makes sense to allow full random access to elements of a stack trace. If that is done, this change would be simplified by not requiring SharedSecrets. # HG changeset patch # User martin # Date 1240268799 25200 # Node ID ba9c54ffcac48493a46ee902dae6809cf4678e8d # Parent 8b326aebb981265a99ed96355efe28f8c1b0a0c0 6511515: poor performance of LogRecord.inferCaller depending on java.lang.Throwable.getStackTraceElement Reviewed-by: swamyv Contributed-by: jeremymanson Summary: Allow random access to stack trace elements; retrieve only needed ones diff --git a/src/share/classes/java/lang/System.java b/src/share/classes/java/lang/System.java --- a/src/share/classes/java/lang/System.java +++ b/src/share/classes/java/lang/System.java @@ -1174,6 +1174,12 @@ public void registerShutdownHook(int slot, Runnable r) { Shutdown.add(slot, r); } + public int getStackTraceDepth(Throwable t) { + return t.getStackTraceDepth(); + } + public StackTraceElement getStackTraceElement(Throwable t, int i) { + return t.getStackTraceElement(i); + } }); } diff --git a/src/share/classes/java/lang/Throwable.java b/src/share/classes/java/lang/Throwable.java --- a/src/share/classes/java/lang/Throwable.java +++ b/src/share/classes/java/lang/Throwable.java @@ -645,17 +645,21 @@ /** * Returns the number of elements in the stack trace (or 0 if the stack * trace is unavailable). + * + * package-protection for use by SharedSecrets. */ - private native int getStackTraceDepth(); + native int getStackTraceDepth(); /** * Returns the specified element of the stack trace. + * + * package-protection for use by SharedSecrets. * * @param index index of the element to return. * @throws IndexOutOfBoundsException if index < 0 || * index >= getStackTraceDepth() */ - private native StackTraceElement getStackTraceElement(int index); + native StackTraceElement getStackTraceElement(int index); private synchronized void writeObject(java.io.ObjectOutputStream s) throws IOException diff --git a/src/share/classes/java/util/logging/LogRecord.java b/src/share/classes/java/util/logging/LogRecord.java --- a/src/share/classes/java/util/logging/LogRecord.java +++ b/src/share/classes/java/util/logging/LogRecord.java @@ -28,6 +28,9 @@ import java.util.concurrent.atomic.AtomicInteger; import java.util.concurrent.atomic.AtomicLong; import java.io.*; + +import sun.misc.JavaLangAccess; +import sun.misc.SharedSecrets; /** * LogRecord objects are used to pass logging requests between @@ -522,29 +525,31 @@ // Private method to infer the caller's class and method names private void inferCaller() { needToInferCaller = false; - // Get the stack trace. - StackTraceElement stack[] = (new Throwable()).getStackTrace(); - // First, search back to a method in the Logger class. - int ix = 0; - while (ix < stack.length) { - StackTraceElement frame = stack[ix]; + JavaLangAccess access = SharedSecrets.getJavaLangAccess(); + Throwable throwable = new Throwable(); + int depth = access.getStackTraceDepth(throwable); + + String logClassName = "java.util.logging.Logger"; + boolean lookingForLogger = true; + for (int ix = 0; ix < depth; ix++) { + // Calling getStackTraceElement directly prevents the VM + // from paying the cost of building the entire stack frame. + StackTraceElement frame = + access.getStackTraceElement(throwable, ix); String cname = frame.getClassName(); - if (cname.equals("java.util.logging.Logger")) { - break; + if (lookingForLogger) { + // Skip all frames until we have found the first logger frame. + if (cname.equals(logClassName)) { + lookingForLogger = false; + } + } else { + if (!cname.equals(logClassName)) { + // We've found the relevant frame. + setSourceClassName(cname); + setSourceMethodName(frame.getMethodName()); + return; + } } - ix++; - } - // Now search for the first frame before the "Logger" class. - while (ix < stack.length) { - StackTraceElement frame = stack[ix]; - String cname = frame.getClassName(); - if (!cname.equals("java.util.logging.Logger")) { - // We've found the relevant frame. - setSourceClassName(cname); - setSourceMethodName(frame.getMethodName()); - return; - } - ix++; } // We haven't found a suitable frame, so just punt. This is // OK as we are only committed to making a "best effort" here. diff --git a/src/share/classes/sun/misc/JavaLangAccess.java b/src/share/classes/sun/misc/JavaLangAccess.java --- a/src/share/classes/sun/misc/JavaLangAccess.java +++ b/src/share/classes/sun/misc/JavaLangAccess.java @@ -57,4 +57,14 @@ /** register shutdown hook */ void registerShutdownHook(int slot, Runnable r); + + /** + * Returns the number of stack frames represented by the given throwable. + */ + int getStackTraceDepth(Throwable t); + + /** + * Returns the ith StackTraceElement for the given throwable. + */ + StackTraceElement getStackTraceElement(Throwable t, int i); } From David.Holmes at Sun.COM Tue Apr 21 01:39:05 2009 From: David.Holmes at Sun.COM (David Holmes - Sun Microsystems) Date: Tue, 21 Apr 2009 11:39:05 +1000 Subject: REVIEW 6511515: poor performance of LogRecord.inferCaller depending on java.lang.Throwable.getStackTraceElement In-Reply-To: <1ccfd1c10904201625o25d351a6k2c13bb129390e86@mail.gmail.com> References: <1ccfd1c10904201625o25d351a6k2c13bb129390e86@mail.gmail.com> Message-ID: <49ED23B9.90700@sun.com> Hi Martin, Jeremy, I'm assuming inferCaller always expects to find a caller, or at least that would be the common case - yes? If so then this might be a case where it is quicker to forego the getStackTraceDepth() call and simply catch the potential exception if we reach the end. Aside: we really must get webrev or something like it available. These simple diffs are really hard to evaluate in isolation. Cheers, David Martin Buchholz said the following on 04/21/09 09:25: > Hi java.util.logging maintainers, > > Here is a patch to improve the performance of > LogRecord.inferCaller. This improves the performance > of the microbenchmark in 6511515 by 5x. > Swamy, please review. > Contributed by Jeremy Manson. > http://cr.openjdk.java.net/~martin/inferCaller > > As a followon, it makes sense to allow full random > access to elements of a stack trace. If that is done, > this change would be simplified by not requiring > SharedSecrets. > > # HG changeset patch > # User martin > # Date 1240268799 25200 > # Node ID ba9c54ffcac48493a46ee902dae6809cf4678e8d > # Parent 8b326aebb981265a99ed96355efe28f8c1b0a0c0 > 6511515: poor performance of LogRecord.inferCaller depending on > java.lang.Throwable.getStackTraceElement > Reviewed-by: swamyv > Contributed-by: jeremymanson > Summary: Allow random access to stack trace elements; retrieve only needed ones > > diff --git a/src/share/classes/java/lang/System.java > b/src/share/classes/java/lang/System.java > --- a/src/share/classes/java/lang/System.java > +++ b/src/share/classes/java/lang/System.java > @@ -1174,6 +1174,12 @@ > public void registerShutdownHook(int slot, Runnable r) { > Shutdown.add(slot, r); > } > + public int getStackTraceDepth(Throwable t) { > + return t.getStackTraceDepth(); > + } > + public StackTraceElement getStackTraceElement(Throwable t, int i) { > + return t.getStackTraceElement(i); > + } > }); > } > > diff --git a/src/share/classes/java/lang/Throwable.java > b/src/share/classes/java/lang/Throwable.java > --- a/src/share/classes/java/lang/Throwable.java > +++ b/src/share/classes/java/lang/Throwable.java > @@ -645,17 +645,21 @@ > /** > * Returns the number of elements in the stack trace (or 0 if the stack > * trace is unavailable). > + * > + * package-protection for use by SharedSecrets. > */ > - private native int getStackTraceDepth(); > + native int getStackTraceDepth(); > > /** > * Returns the specified element of the stack trace. > + * > + * package-protection for use by SharedSecrets. > * > * @param index index of the element to return. > * @throws IndexOutOfBoundsException if index < 0 || > * index >= getStackTraceDepth() > */ > - private native StackTraceElement getStackTraceElement(int index); > + native StackTraceElement getStackTraceElement(int index); > > private synchronized void writeObject(java.io.ObjectOutputStream s) > throws IOException > diff --git a/src/share/classes/java/util/logging/LogRecord.java > b/src/share/classes/java/util/logging/LogRecord.java > --- a/src/share/classes/java/util/logging/LogRecord.java > +++ b/src/share/classes/java/util/logging/LogRecord.java > @@ -28,6 +28,9 @@ > import java.util.concurrent.atomic.AtomicInteger; > import java.util.concurrent.atomic.AtomicLong; > import java.io.*; > + > +import sun.misc.JavaLangAccess; > +import sun.misc.SharedSecrets; > > /** > * LogRecord objects are used to pass logging requests between > @@ -522,29 +525,31 @@ > // Private method to infer the caller's class and method names > private void inferCaller() { > needToInferCaller = false; > - // Get the stack trace. > - StackTraceElement stack[] = (new Throwable()).getStackTrace(); > - // First, search back to a method in the Logger class. > - int ix = 0; > - while (ix < stack.length) { > - StackTraceElement frame = stack[ix]; > + JavaLangAccess access = SharedSecrets.getJavaLangAccess(); > + Throwable throwable = new Throwable(); > + int depth = access.getStackTraceDepth(throwable); > + > + String logClassName = "java.util.logging.Logger"; > + boolean lookingForLogger = true; > + for (int ix = 0; ix < depth; ix++) { > + // Calling getStackTraceElement directly prevents the VM > + // from paying the cost of building the entire stack frame. > + StackTraceElement frame = > + access.getStackTraceElement(throwable, ix); > String cname = frame.getClassName(); > - if (cname.equals("java.util.logging.Logger")) { > - break; > + if (lookingForLogger) { > + // Skip all frames until we have found the first logger frame. > + if (cname.equals(logClassName)) { > + lookingForLogger = false; > + } > + } else { > + if (!cname.equals(logClassName)) { > + // We've found the relevant frame. > + setSourceClassName(cname); > + setSourceMethodName(frame.getMethodName()); > + return; > + } > } > - ix++; > - } > - // Now search for the first frame before the "Logger" class. > - while (ix < stack.length) { > - StackTraceElement frame = stack[ix]; > - String cname = frame.getClassName(); > - if (!cname.equals("java.util.logging.Logger")) { > - // We've found the relevant frame. > - setSourceClassName(cname); > - setSourceMethodName(frame.getMethodName()); > - return; > - } > - ix++; > } > // We haven't found a suitable frame, so just punt. This is > // OK as we are only committed to making a "best effort" here. > diff --git a/src/share/classes/sun/misc/JavaLangAccess.java > b/src/share/classes/sun/misc/JavaLangAccess.java > --- a/src/share/classes/sun/misc/JavaLangAccess.java > +++ b/src/share/classes/sun/misc/JavaLangAccess.java > @@ -57,4 +57,14 @@ > > /** register shutdown hook */ > void registerShutdownHook(int slot, Runnable r); > + > + /** > + * Returns the number of stack frames represented by the given throwable. > + */ > + int getStackTraceDepth(Throwable t); > + > + /** > + * Returns the ith StackTraceElement for the given throwable. > + */ > + StackTraceElement getStackTraceElement(Throwable t, int i); > } From Tim.Bell at Sun.COM Tue Apr 21 01:57:22 2009 From: Tim.Bell at Sun.COM (Tim Bell) Date: Mon, 20 Apr 2009 18:57:22 -0700 Subject: webrev Re: REVIEW 6511515: poor performance of LogRecord.inferCaller depending on java.lang.Throwable.getStackTraceElement In-Reply-To: <49ED23B9.90700@sun.com> References: <1ccfd1c10904201625o25d351a6k2c13bb129390e86@mail.gmail.com> <49ED23B9.90700@sun.com> Message-ID: <49ED2802.9050106@sun.com> David wrote: > Aside: we really must get webrev or something like it available. These > simple diffs are really hard to evaluate in isolation. The webrev script we are using for OpenJDK is available to anyone here: http://blogs.sun.com/jcc/resource/webrev I understand that it is easy to send a diff or a patch, and of course doing that will preserve it in the email record. On the other hand, the webrev script will create a patch file for you, and also create web pages showing the proposed changes in ways that many folks prefer to read. HTH- Tim > Cheers, > David > > Martin Buchholz said the following on 04/21/09 09:25: >> Hi java.util.logging maintainers, >> >> Here is a patch to improve the performance of >> LogRecord.inferCaller. This improves the performance >> of the microbenchmark in 6511515 by 5x. >> Swamy, please review. >> Contributed by Jeremy Manson. >> http://cr.openjdk.java.net/~martin/inferCaller >> >> As a followon, it makes sense to allow full random >> access to elements of a stack trace. If that is done, >> this change would be simplified by not requiring >> SharedSecrets. >> >> # HG changeset patch >> # User martin >> # Date 1240268799 25200 >> # Node ID ba9c54ffcac48493a46ee902dae6809cf4678e8d >> # Parent 8b326aebb981265a99ed96355efe28f8c1b0a0c0 >> 6511515: poor performance of LogRecord.inferCaller depending on >> java.lang.Throwable.getStackTraceElement >> Reviewed-by: swamyv >> Contributed-by: jeremymanson >> Summary: Allow random access to stack trace elements; retrieve only >> needed ones >> >> diff --git a/src/share/classes/java/lang/System.java >> b/src/share/classes/java/lang/System.java >> --- a/src/share/classes/java/lang/System.java >> +++ b/src/share/classes/java/lang/System.java >> @@ -1174,6 +1174,12 @@ >> public void registerShutdownHook(int slot, Runnable r) { >> Shutdown.add(slot, r); >> } >> + public int getStackTraceDepth(Throwable t) { >> + return t.getStackTraceDepth(); >> + } >> + public StackTraceElement getStackTraceElement(Throwable >> t, int i) { >> + return t.getStackTraceElement(i); >> + } >> }); >> } >> >> diff --git a/src/share/classes/java/lang/Throwable.java >> b/src/share/classes/java/lang/Throwable.java >> --- a/src/share/classes/java/lang/Throwable.java >> +++ b/src/share/classes/java/lang/Throwable.java >> @@ -645,17 +645,21 @@ >> /** >> * Returns the number of elements in the stack trace (or 0 if the >> stack >> * trace is unavailable). >> + * >> + * package-protection for use by SharedSecrets. >> */ >> - private native int getStackTraceDepth(); >> + native int getStackTraceDepth(); >> >> /** >> * Returns the specified element of the stack trace. >> + * >> + * package-protection for use by SharedSecrets. >> * >> * @param index index of the element to return. >> * @throws IndexOutOfBoundsException if index < 0 || >> * index >= getStackTraceDepth() >> */ >> - private native StackTraceElement getStackTraceElement(int index); >> + native StackTraceElement getStackTraceElement(int index); >> >> private synchronized void writeObject(java.io.ObjectOutputStream s) >> throws IOException >> diff --git a/src/share/classes/java/util/logging/LogRecord.java >> b/src/share/classes/java/util/logging/LogRecord.java >> --- a/src/share/classes/java/util/logging/LogRecord.java >> +++ b/src/share/classes/java/util/logging/LogRecord.java >> @@ -28,6 +28,9 @@ >> import java.util.concurrent.atomic.AtomicInteger; >> import java.util.concurrent.atomic.AtomicLong; >> import java.io.*; >> + >> +import sun.misc.JavaLangAccess; >> +import sun.misc.SharedSecrets; >> >> /** >> * LogRecord objects are used to pass logging requests between >> @@ -522,29 +525,31 @@ >> // Private method to infer the caller's class and method names >> private void inferCaller() { >> needToInferCaller = false; >> - // Get the stack trace. >> - StackTraceElement stack[] = (new Throwable()).getStackTrace(); >> - // First, search back to a method in the Logger class. >> - int ix = 0; >> - while (ix < stack.length) { >> - StackTraceElement frame = stack[ix]; >> + JavaLangAccess access = SharedSecrets.getJavaLangAccess(); >> + Throwable throwable = new Throwable(); >> + int depth = access.getStackTraceDepth(throwable); >> + >> + String logClassName = "java.util.logging.Logger"; >> + boolean lookingForLogger = true; >> + for (int ix = 0; ix < depth; ix++) { >> + // Calling getStackTraceElement directly prevents the VM >> + // from paying the cost of building the entire stack frame. >> + StackTraceElement frame = >> + access.getStackTraceElement(throwable, ix); >> String cname = frame.getClassName(); >> - if (cname.equals("java.util.logging.Logger")) { >> - break; >> + if (lookingForLogger) { >> + // Skip all frames until we have found the first >> logger frame. >> + if (cname.equals(logClassName)) { >> + lookingForLogger = false; >> + } >> + } else { >> + if (!cname.equals(logClassName)) { >> + // We've found the relevant frame. >> + setSourceClassName(cname); >> + setSourceMethodName(frame.getMethodName()); >> + return; >> + } >> } >> - ix++; >> - } >> - // Now search for the first frame before the "Logger" class. >> - while (ix < stack.length) { >> - StackTraceElement frame = stack[ix]; >> - String cname = frame.getClassName(); >> - if (!cname.equals("java.util.logging.Logger")) { >> - // We've found the relevant frame. >> - setSourceClassName(cname); >> - setSourceMethodName(frame.getMethodName()); >> - return; >> - } >> - ix++; >> } >> // We haven't found a suitable frame, so just punt. This is >> // OK as we are only committed to making a "best effort" here. >> diff --git a/src/share/classes/sun/misc/JavaLangAccess.java >> b/src/share/classes/sun/misc/JavaLangAccess.java >> --- a/src/share/classes/sun/misc/JavaLangAccess.java >> +++ b/src/share/classes/sun/misc/JavaLangAccess.java >> @@ -57,4 +57,14 @@ >> >> /** register shutdown hook */ >> void registerShutdownHook(int slot, Runnable r); >> + >> + /** >> + * Returns the number of stack frames represented by the given >> throwable. >> + */ >> + int getStackTraceDepth(Throwable t); >> + >> + /** >> + * Returns the ith StackTraceElement for the given throwable. >> + */ >> + StackTraceElement getStackTraceElement(Throwable t, int i); >> } From martinrb at google.com Tue Apr 21 05:06:44 2009 From: martinrb at google.com (martinrb at google.com) Date: Tue, 21 Apr 2009 05:06:44 +0000 Subject: hg: jdk7/tl/jdk: 3 new changesets Message-ID: <20090421050742.BDAA3E39A@hg.openjdk.java.net> Changeset: 697bf0cf039b Author: martin Date: 2009-04-20 21:23 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/697bf0cf039b 6830220: Logging issues due to regression from bug fix 6797480 Reviewed-by: swamyv Contributed-by: jeremymanson at google.com ! src/share/classes/java/util/logging/Logger.java + test/java/util/logging/LoggerSubclass.java Changeset: 079985c9965b Author: martin Date: 2009-04-20 21:53 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/079985c9965b 6716076: test UTIL_REGRESSION/test/java/util/logging/LoggingDeadlock2.java failed with exit code 1 Reviewed-by: swamyv, mchung ! test/java/util/logging/LoggingDeadlock2.java Changeset: 0fd45dba3cc8 Author: martin Date: 2009-04-20 21:57 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/0fd45dba3cc8 6278014: java.util.logging.LogRecord.getThreadID() should provide real thread id Summary: Make j.u.l. thread id a copy of Thread's id, for small values of thread id. Reviewed-by: alanb ! src/share/classes/java/util/logging/LogRecord.java ! test/java/util/logging/LoggerSubclass.java From tim.bell at sun.com Tue Apr 21 05:57:53 2009 From: tim.bell at sun.com (tim.bell at sun.com) Date: Tue, 21 Apr 2009 05:57:53 +0000 Subject: hg: jdk7/tl/jaxp: 2 new changesets Message-ID: <20090421055757.BCAD1E3A6@hg.openjdk.java.net> Changeset: b56d870cb5c8 Author: tbell Date: 2009-04-20 22:50 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/jaxp/rev/b56d870cb5c8 6738894: Merge jaxp fixes from 6 update train into OpenJDK 6 and 7 6573268: Four JCK-devtools-6a tests report OOM: Java Heap space since JDK7 b14 Reviewed-by: darcy ! .hgignore ! THIRD_PARTY_README + TRADEMARK ! src/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/Import.java ! src/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/Include.java ! src/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/util/Type.java ! src/share/classes/com/sun/org/apache/xalan/internal/xsltc/trax/SAX2DOM.java ! src/share/classes/com/sun/org/apache/xalan/internal/xsltc/trax/TemplatesImpl.java ! src/share/classes/com/sun/org/apache/xalan/internal/xsltc/trax/TransformerFactoryImpl.java ! src/share/classes/com/sun/org/apache/xalan/internal/xsltc/trax/TransformerImpl.java ! src/share/classes/com/sun/org/apache/xerces/internal/dom/EntityImpl.java ! src/share/classes/com/sun/org/apache/xerces/internal/impl/PropertyManager.java ! src/share/classes/com/sun/org/apache/xerces/internal/impl/XMLDocumentFragmentScannerImpl.java ! src/share/classes/com/sun/org/apache/xerces/internal/impl/XMLDocumentScannerImpl.java ! src/share/classes/com/sun/org/apache/xerces/internal/impl/XMLStreamFilterImpl.java ! src/share/classes/com/sun/org/apache/xerces/internal/impl/msg/XIncludeMessages.properties ! src/share/classes/com/sun/org/apache/xerces/internal/impl/xs/traversers/XSAttributeChecker.java ! src/share/classes/com/sun/org/apache/xerces/internal/impl/xs/traversers/XSDHandler.java ! src/share/classes/com/sun/org/apache/xerces/internal/jaxp/validation/XMLSchemaFactory.java ! src/share/classes/com/sun/org/apache/xerces/internal/xinclude/XIncludeHandler.java ! src/share/classes/com/sun/org/apache/xml/internal/utils/ThreadControllerWrapper.java ! src/share/classes/com/sun/org/apache/xpath/internal/axes/NodeSequence.java ! src/share/classes/com/sun/xml/internal/stream/events/XMLEventAllocatorImpl.java Changeset: ee3d2d2bec61 Author: tbell Date: 2009-04-20 22:51 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/jaxp/rev/ee3d2d2bec61 Merge - make/jprt.config From martinrb at google.com Tue Apr 21 06:04:44 2009 From: martinrb at google.com (Martin Buchholz) Date: Mon, 20 Apr 2009 23:04:44 -0700 Subject: REVIEW 6511515: poor performance of LogRecord.inferCaller depending on java.lang.Throwable.getStackTraceElement In-Reply-To: <49ED23B9.90700@sun.com> References: <1ccfd1c10904201625o25d351a6k2c13bb129390e86@mail.gmail.com> <49ED23B9.90700@sun.com> Message-ID: <1ccfd1c10904202304k58b90e94t4d13018124ba6ab0@mail.gmail.com> On Mon, Apr 20, 2009 at 18:39, David Holmes - Sun Microsystems wrote: > Hi Martin, Jeremy, > > I'm assuming inferCaller always expects to find a caller, or at least that > would be the common case - yes? When I was looking at this, I wondered when a caller could not be found. I think it can happen if a subclass overrides the log methods. If so then this might be a case where it is > quicker to forego the getStackTraceDepth() call and simply catch the > potential exception if we reach the end. > > Aside: we really must get webrev or something like it available. These > simple diffs are really hard to evaluate in isolation. It would be good for me to generate webrevs. But the webrev tools should support mq out of the box. I want a single supported command that will turn a mq patch into a webrev on cr.openjdk.java.net. Martin > Cheers, > David > > Martin Buchholz said the following on 04/21/09 09:25: >> >> Hi java.util.logging maintainers, >> >> Here is a patch to improve the performance of >> LogRecord.inferCaller. ?This improves the performance >> of the microbenchmark in 6511515 by 5x. >> Swamy, please review. >> Contributed by Jeremy Manson. >> http://cr.openjdk.java.net/~martin/inferCaller >> >> As a followon, it makes sense to allow full random >> access to elements of a stack trace. ?If that is done, >> this change would be simplified by not requiring >> SharedSecrets. >> >> # HG changeset patch >> # User martin >> # Date 1240268799 25200 >> # Node ID ba9c54ffcac48493a46ee902dae6809cf4678e8d >> # Parent ?8b326aebb981265a99ed96355efe28f8c1b0a0c0 >> 6511515: poor performance of LogRecord.inferCaller depending on >> java.lang.Throwable.getStackTraceElement >> Reviewed-by: swamyv >> Contributed-by: jeremymanson >> Summary: Allow random access to stack trace elements; retrieve only needed >> ones >> >> diff --git a/src/share/classes/java/lang/System.java >> b/src/share/classes/java/lang/System.java >> --- a/src/share/classes/java/lang/System.java >> +++ b/src/share/classes/java/lang/System.java >> @@ -1174,6 +1174,12 @@ >> ? ? ? ? ? ? public void registerShutdownHook(int slot, Runnable r) { >> ? ? ? ? ? ? ? ? Shutdown.add(slot, r); >> ? ? ? ? ? ? } >> + ? ? ? ? ? ?public int getStackTraceDepth(Throwable t) { >> + ? ? ? ? ? ? ? ?return t.getStackTraceDepth(); >> + ? ? ? ? ? ?} >> + ? ? ? ? ? ?public StackTraceElement getStackTraceElement(Throwable t, >> int i) { >> + ? ? ? ? ? ? ? ?return t.getStackTraceElement(i); >> + ? ? ? ? ? ?} >> ? ? ? ? }); >> ? ? } >> >> diff --git a/src/share/classes/java/lang/Throwable.java >> b/src/share/classes/java/lang/Throwable.java >> --- a/src/share/classes/java/lang/Throwable.java >> +++ b/src/share/classes/java/lang/Throwable.java >> @@ -645,17 +645,21 @@ >> ? ? /** >> ? ? ?* Returns the number of elements in the stack trace (or 0 if the >> stack >> ? ? ?* trace is unavailable). >> + ? ? * >> + ? ? * package-protection for use by SharedSecrets. >> ? ? ?*/ >> - ? ?private native int getStackTraceDepth(); >> + ? ?native int getStackTraceDepth(); >> >> ? ? /** >> ? ? ?* Returns the specified element of the stack trace. >> + ? ? * >> + ? ? * package-protection for use by SharedSecrets. >> ? ? ?* >> ? ? ?* @param index index of the element to return. >> ? ? ?* @throws IndexOutOfBoundsException if index < 0 || >> ? ? ?* ? ? ? ? index >= getStackTraceDepth() >> ? ? ?*/ >> - ? ?private native StackTraceElement getStackTraceElement(int index); >> + ? ?native StackTraceElement getStackTraceElement(int index); >> >> ? ? private synchronized void writeObject(java.io.ObjectOutputStream s) >> ? ? ? ? throws IOException >> diff --git a/src/share/classes/java/util/logging/LogRecord.java >> b/src/share/classes/java/util/logging/LogRecord.java >> --- a/src/share/classes/java/util/logging/LogRecord.java >> +++ b/src/share/classes/java/util/logging/LogRecord.java >> @@ -28,6 +28,9 @@ >> ?import java.util.concurrent.atomic.AtomicInteger; >> ?import java.util.concurrent.atomic.AtomicLong; >> ?import java.io.*; >> + >> +import sun.misc.JavaLangAccess; >> +import sun.misc.SharedSecrets; >> >> ?/** >> ?* LogRecord objects are used to pass logging requests between >> @@ -522,29 +525,31 @@ >> ? ? // Private method to infer the caller's class and method names >> ? ? private void inferCaller() { >> ? ? ? ? needToInferCaller = false; >> - ? ? ? ?// Get the stack trace. >> - ? ? ? ?StackTraceElement stack[] = (new Throwable()).getStackTrace(); >> - ? ? ? ?// First, search back to a method in the Logger class. >> - ? ? ? ?int ix = 0; >> - ? ? ? ?while (ix < stack.length) { >> - ? ? ? ? ? ?StackTraceElement frame = stack[ix]; >> + ? ? ? ?JavaLangAccess access = SharedSecrets.getJavaLangAccess(); >> + ? ? ? ?Throwable throwable = new Throwable(); >> + ? ? ? ?int depth = access.getStackTraceDepth(throwable); >> + >> + ? ? ? ?String logClassName = "java.util.logging.Logger"; >> + ? ? ? ?boolean lookingForLogger = true; >> + ? ? ? ?for (int ix = 0; ix < depth; ix++) { >> + ? ? ? ? ? ?// Calling getStackTraceElement directly prevents the VM >> + ? ? ? ? ? ?// from paying the cost of building the entire stack frame. >> + ? ? ? ? ? ?StackTraceElement frame = >> + ? ? ? ? ? ? ? ?access.getStackTraceElement(throwable, ix); >> ? ? ? ? ? ? String cname = frame.getClassName(); >> - ? ? ? ? ? ?if (cname.equals("java.util.logging.Logger")) { >> - ? ? ? ? ? ? ? ?break; >> + ? ? ? ? ? ?if (lookingForLogger) { >> + ? ? ? ? ? ? ? ?// Skip all frames until we have found the first logger >> frame. >> + ? ? ? ? ? ? ? ?if (cname.equals(logClassName)) { >> + ? ? ? ? ? ? ? ? ? ?lookingForLogger = false; >> + ? ? ? ? ? ? ? ?} >> + ? ? ? ? ? ?} else { >> + ? ? ? ? ? ? ? ?if (!cname.equals(logClassName)) { >> + ? ? ? ? ? ? ? ? ? ?// We've found the relevant frame. >> + ? ? ? ? ? ? ? ? ? ?setSourceClassName(cname); >> + ? ? ? ? ? ? ? ? ? ?setSourceMethodName(frame.getMethodName()); >> + ? ? ? ? ? ? ? ? ? ?return; >> + ? ? ? ? ? ? ? ?} >> ? ? ? ? ? ? } >> - ? ? ? ? ? ?ix++; >> - ? ? ? ?} >> - ? ? ? ?// Now search for the first frame before the "Logger" class. >> - ? ? ? ?while (ix < stack.length) { >> - ? ? ? ? ? ?StackTraceElement frame = stack[ix]; >> - ? ? ? ? ? ?String cname = frame.getClassName(); >> - ? ? ? ? ? ?if (!cname.equals("java.util.logging.Logger")) { >> - ? ? ? ? ? ? ? ?// We've found the relevant frame. >> - ? ? ? ? ? ? ? ?setSourceClassName(cname); >> - ? ? ? ? ? ? ? ?setSourceMethodName(frame.getMethodName()); >> - ? ? ? ? ? ? ? ?return; >> - ? ? ? ? ? ?} >> - ? ? ? ? ? ?ix++; >> ? ? ? ? } >> ? ? ? ? // We haven't found a suitable frame, so just punt. ?This is >> ? ? ? ? // OK as we are only committed to making a "best effort" here. >> diff --git a/src/share/classes/sun/misc/JavaLangAccess.java >> b/src/share/classes/sun/misc/JavaLangAccess.java >> --- a/src/share/classes/sun/misc/JavaLangAccess.java >> +++ b/src/share/classes/sun/misc/JavaLangAccess.java >> @@ -57,4 +57,14 @@ >> >> ? ? /** register shutdown hook */ >> ? ? void registerShutdownHook(int slot, Runnable r); >> + >> + ? ?/** >> + ? ? * Returns the number of stack frames represented by the given >> throwable. >> + ? ? */ >> + ? ?int getStackTraceDepth(Throwable t); >> + >> + ? ?/** >> + ? ? * Returns the ith StackTraceElement for the given throwable. >> + ? ? */ >> + ? ?StackTraceElement getStackTraceElement(Throwable t, int i); >> ?} > From Tim.Bell at Sun.COM Tue Apr 21 06:16:19 2009 From: Tim.Bell at Sun.COM (Tim Bell) Date: Mon, 20 Apr 2009 23:16:19 -0700 Subject: REVIEW 6511515: poor performance of LogRecord.inferCaller depending on java.lang.Throwable.getStackTraceElement In-Reply-To: <1ccfd1c10904202304k58b90e94t4d13018124ba6ab0@mail.gmail.com> References: <1ccfd1c10904201625o25d351a6k2c13bb129390e86@mail.gmail.com> <49ED23B9.90700@sun.com> <1ccfd1c10904202304k58b90e94t4d13018124ba6ab0@mail.gmail.com> Message-ID: <49ED64B3.2000809@sun.com> Hi Martin: > It would be good for me to generate webrevs. > But the webrev tools should support mq out of the box. > I want a single supported command that will turn a mq patch into > a webrev on cr.openjdk.java.net. Thanks, I am always looking for feedback on the cr.ojn server. That is a worthy goal. Please check out this script posted recently by Max (Weijun) Wang : "webrev wrapper for mq users" http://mail.openjdk.java.net/pipermail/web-discuss/2009-April/000074.html Hope this helps- Tim From Alan.Bateman at Sun.COM Tue Apr 21 15:24:44 2009 From: Alan.Bateman at Sun.COM (Alan Bateman) Date: Tue, 21 Apr 2009 16:24:44 +0100 Subject: Review request for 6829503 In-Reply-To: <49ED028B.1050906@sun.com> References: <49E8FD27.9080000@sun.com> <49EA0479.7020305@sun.com> <49ED028B.1050906@sun.com> Message-ID: <49EDE53C.4090609@sun.com> Mandy Chung wrote: > Alan, > > Thanks for the review and comments. Here is the revised webrev > incorporating your comments. See below for my inlined reply. > > http://cr.openjdk.java.net/~mchung/6829503/webrev.01/ > > Alan Bateman wrote: >> Good work! It mostly looks good to me and I've only a few comments: >> >> 1. I see that registerShutdownHook now throws IAE if the slot is >> already used but if that happens it would be our bug. It can't happen >> with the current code of course but I wonder if an Error might be >> better (the original changes threw an InternalError). >> > I changed it to throw an InternalError. Since it's an implementation > error, Error is appropriate. Yes, this is better. >> 2. File#deleteOnExit doesn't allow IllegalStateException to be thrown >> so maybe we should change DeleteOnExit#add to be a no-op if its >> shutdown hook is running. If an application is attempting to register >> files to be deleted during shutdown it will always be a timing issue >> if the file is deleted or not. >> > Thanks for filing the RFE. No change is needed for this fix. Sorry, this tangent delayed the push. Hopefully you will be able to get it approved for one of the remaining builds for M3. >> 3. In ApplicationShutdownHooks I wonder if it would be cleaner to >> eliminate the static initializer and move the registration attempt >> into the add method. That would avoid needing to catch >> IllegalStateException ie: add becomes: if (hooks == null) { >> Shutdown.add(...); hooks = new ... }. It amounts to the same as what >> you have now but avoid exception catching. >> > I prefer to leave it as it is. > > We could move the registration to the add and remove method. We > would have to add another state to indicate if the shutdown hook is > running vs the shutdown hook is not registered. So we can't just do > if (hooks == null) { Shutdown.add(...); ... }? When the application > shutdown hooks are running, hooks is set to null. When a shutdown > hook attempts to call Runtime.addShutdownHook that will end up getting > an InternalError() since the hook at slot 1 has been registered. Ah yes, it would be an InternalError rather than the IllegalStateException. In that case leave it as is. >> 4. The synchronization and checking between Shutdown#add and runHooks >> looks right. A minor comment is that the name "curShutdownHookSlot" >> is a bit inconsistent with the other fields. s/curr/current/ or >> perhaps a different name? >> > How about currentRunningHook? Yes, looks better. >> 5. I usually prefer to have Runnables be the last parameter, in >> particular for cases like this where anonymous inner classes are >> used. An alternative to introducing the boolean parameter is rename >> one of the register methods, say, registerShutdownHookBeforeShutdown >> or something better. >> > I moved the Runnable parameter to the last parameter. I also remove > the JavaLangAccess.registerShutdownHook(int, Runnable) method which I > don't think it's highly necessary. So Console and DeleteOnExitHook > both will need to specify the boolean parameter. If there are other changes in the future that add further complexity that it might be good to have different register names. For now it's all looks okay to me. -Alan. From tim.bell at sun.com Tue Apr 21 15:17:34 2009 From: tim.bell at sun.com (tim.bell at sun.com) Date: Tue, 21 Apr 2009 15:17:34 +0000 Subject: hg: jdk7/tl/jaxws: 2 new changesets Message-ID: <20090421151737.C57C7E3EE@hg.openjdk.java.net> Changeset: 31822b475baa Author: tbell Date: 2009-04-20 15:14 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/jaxws/rev/31822b475baa 6831313: update jaxws in OpenJDK7 to 2.1 plus bug fixes from OpenJDK 6 6672868: Package javax.xml.ws.wsaddressing not included in make/docs/CORE_PKGS.gmk Reviewed-by: darcy ! THIRD_PARTY_README + TRADEMARK ! make/Makefile ! make/build.xml ! make/jprt.properties ! src/share/classes/com/sun/activation/registries/MailcapFile.java ! src/share/classes/com/sun/codemodel/internal/ClassType.java ! src/share/classes/com/sun/codemodel/internal/CodeWriter.java ! src/share/classes/com/sun/codemodel/internal/JAnnotatable.java ! src/share/classes/com/sun/codemodel/internal/JAnnotationArrayMember.java ! src/share/classes/com/sun/codemodel/internal/JAnnotationStringValue.java ! src/share/classes/com/sun/codemodel/internal/JAnnotationUse.java ! src/share/classes/com/sun/codemodel/internal/JAnnotationValue.java ! src/share/classes/com/sun/codemodel/internal/JAnnotationWriter.java ! src/share/classes/com/sun/codemodel/internal/JAnonymousClass.java ! src/share/classes/com/sun/codemodel/internal/JArray.java ! src/share/classes/com/sun/codemodel/internal/JArrayClass.java ! src/share/classes/com/sun/codemodel/internal/JArrayCompRef.java ! src/share/classes/com/sun/codemodel/internal/JAssignment.java ! src/share/classes/com/sun/codemodel/internal/JAssignmentTarget.java ! src/share/classes/com/sun/codemodel/internal/JAtom.java ! src/share/classes/com/sun/codemodel/internal/JBlock.java ! src/share/classes/com/sun/codemodel/internal/JBreak.java ! src/share/classes/com/sun/codemodel/internal/JCase.java ! src/share/classes/com/sun/codemodel/internal/JCast.java ! src/share/classes/com/sun/codemodel/internal/JCatchBlock.java ! src/share/classes/com/sun/codemodel/internal/JClass.java ! src/share/classes/com/sun/codemodel/internal/JClassAlreadyExistsException.java ! src/share/classes/com/sun/codemodel/internal/JClassContainer.java ! src/share/classes/com/sun/codemodel/internal/JCodeModel.java ! src/share/classes/com/sun/codemodel/internal/JCommentPart.java ! src/share/classes/com/sun/codemodel/internal/JConditional.java ! src/share/classes/com/sun/codemodel/internal/JContinue.java ! src/share/classes/com/sun/codemodel/internal/JDeclaration.java ! src/share/classes/com/sun/codemodel/internal/JDefinedClass.java ! src/share/classes/com/sun/codemodel/internal/JDirectClass.java ! src/share/classes/com/sun/codemodel/internal/JDoLoop.java ! src/share/classes/com/sun/codemodel/internal/JDocComment.java ! src/share/classes/com/sun/codemodel/internal/JEnumConstant.java ! src/share/classes/com/sun/codemodel/internal/JExpr.java ! src/share/classes/com/sun/codemodel/internal/JExpression.java ! src/share/classes/com/sun/codemodel/internal/JExpressionImpl.java ! src/share/classes/com/sun/codemodel/internal/JFieldRef.java ! src/share/classes/com/sun/codemodel/internal/JFieldVar.java ! src/share/classes/com/sun/codemodel/internal/JForEach.java ! src/share/classes/com/sun/codemodel/internal/JForLoop.java ! src/share/classes/com/sun/codemodel/internal/JFormatter.java ! src/share/classes/com/sun/codemodel/internal/JGenerable.java ! src/share/classes/com/sun/codemodel/internal/JGenerifiable.java ! src/share/classes/com/sun/codemodel/internal/JGenerifiableImpl.java ! src/share/classes/com/sun/codemodel/internal/JInvocation.java ! src/share/classes/com/sun/codemodel/internal/JJavaName.java ! src/share/classes/com/sun/codemodel/internal/JLabel.java ! src/share/classes/com/sun/codemodel/internal/JMethod.java ! src/share/classes/com/sun/codemodel/internal/JMod.java ! src/share/classes/com/sun/codemodel/internal/JMods.java ! src/share/classes/com/sun/codemodel/internal/JNarrowedClass.java ! src/share/classes/com/sun/codemodel/internal/JNullType.java ! src/share/classes/com/sun/codemodel/internal/JOp.java ! src/share/classes/com/sun/codemodel/internal/JPackage.java ! src/share/classes/com/sun/codemodel/internal/JPrimitiveType.java ! src/share/classes/com/sun/codemodel/internal/JResourceFile.java ! src/share/classes/com/sun/codemodel/internal/JReturn.java ! src/share/classes/com/sun/codemodel/internal/JStatement.java ! src/share/classes/com/sun/codemodel/internal/JStringLiteral.java ! src/share/classes/com/sun/codemodel/internal/JSwitch.java ! src/share/classes/com/sun/codemodel/internal/JThrow.java ! src/share/classes/com/sun/codemodel/internal/JTryBlock.java ! src/share/classes/com/sun/codemodel/internal/JType.java ! src/share/classes/com/sun/codemodel/internal/JTypeVar.java ! src/share/classes/com/sun/codemodel/internal/JTypeWildcard.java ! src/share/classes/com/sun/codemodel/internal/JVar.java ! src/share/classes/com/sun/codemodel/internal/JWhileLoop.java ! src/share/classes/com/sun/codemodel/internal/TypedAnnotationWriter.java ! src/share/classes/com/sun/codemodel/internal/fmt/JBinaryFile.java ! src/share/classes/com/sun/codemodel/internal/fmt/JPropertyFile.java ! src/share/classes/com/sun/codemodel/internal/fmt/JSerializedObject.java ! src/share/classes/com/sun/codemodel/internal/fmt/JStaticFile.java ! src/share/classes/com/sun/codemodel/internal/fmt/JStaticJavaFile.java ! src/share/classes/com/sun/codemodel/internal/fmt/JTextFile.java ! src/share/classes/com/sun/codemodel/internal/fmt/package.html ! src/share/classes/com/sun/codemodel/internal/package-info.java ! src/share/classes/com/sun/codemodel/internal/util/ClassNameComparator.java ! src/share/classes/com/sun/codemodel/internal/util/EncoderFactory.java ! src/share/classes/com/sun/codemodel/internal/util/JavadocEscapeWriter.java ! src/share/classes/com/sun/codemodel/internal/util/MS1252Encoder.java ! src/share/classes/com/sun/codemodel/internal/util/SingleByteEncoder.java ! src/share/classes/com/sun/codemodel/internal/util/Surrogate.java ! src/share/classes/com/sun/codemodel/internal/util/UnicodeEscapeWriter.java ! src/share/classes/com/sun/codemodel/internal/writer/FileCodeWriter.java ! src/share/classes/com/sun/codemodel/internal/writer/FilterCodeWriter.java ! src/share/classes/com/sun/codemodel/internal/writer/ProgressCodeWriter.java ! src/share/classes/com/sun/codemodel/internal/writer/PrologCodeWriter.java ! src/share/classes/com/sun/codemodel/internal/writer/SingleStreamCodeWriter.java ! src/share/classes/com/sun/codemodel/internal/writer/ZipCodeWriter.java ! src/share/classes/com/sun/istack/internal/ByteArrayDataSource.java ! src/share/classes/com/sun/istack/internal/FinalArrayList.java ! src/share/classes/com/sun/istack/internal/FragmentContentHandler.java ! src/share/classes/com/sun/istack/internal/Interned.java ! src/share/classes/com/sun/istack/internal/NotNull.java ! src/share/classes/com/sun/istack/internal/Nullable.java ! src/share/classes/com/sun/istack/internal/Pool.java ! src/share/classes/com/sun/istack/internal/SAXException2.java ! src/share/classes/com/sun/istack/internal/SAXParseException2.java + src/share/classes/com/sun/istack/internal/XMLStreamException2.java + src/share/classes/com/sun/istack/internal/XMLStreamReaderToContentHandler.java ! src/share/classes/com/sun/istack/internal/package-info.java ! src/share/classes/com/sun/istack/internal/tools/APTTypeVisitor.java + src/share/classes/com/sun/istack/internal/tools/MaskingClassLoader.java + src/share/classes/com/sun/istack/internal/tools/ParallelWorldClassLoader.java ! src/share/classes/com/sun/istack/internal/tools/package-info.java ! src/share/classes/com/sun/istack/internal/ws/AnnotationProcessorFactoryImpl.java ! src/share/classes/com/sun/istack/internal/ws/package-info.java + src/share/classes/com/sun/tools/etc/META-INF/services/com.sun.tools.internal.xjc.Plugin ! src/share/classes/com/sun/tools/internal/jxc/ConfigReader.java ! src/share/classes/com/sun/tools/internal/jxc/MessageBundle.properties ! src/share/classes/com/sun/tools/internal/jxc/Messages.java ! src/share/classes/com/sun/tools/internal/jxc/NGCCRuntimeEx.java ! src/share/classes/com/sun/tools/internal/jxc/SchemaGenerator.java ! src/share/classes/com/sun/tools/internal/jxc/apt/AnnotationParser.java ! src/share/classes/com/sun/tools/internal/jxc/apt/AnnotationProcessorFactoryImpl.java ! src/share/classes/com/sun/tools/internal/jxc/apt/Const.java ! src/share/classes/com/sun/tools/internal/jxc/apt/ErrorReceiverImpl.java ! src/share/classes/com/sun/tools/internal/jxc/apt/InlineAnnotationReaderImpl.java ! src/share/classes/com/sun/tools/internal/jxc/apt/MessageBundle.properties ! src/share/classes/com/sun/tools/internal/jxc/apt/Messages.java ! src/share/classes/com/sun/tools/internal/jxc/apt/Options.java ! src/share/classes/com/sun/tools/internal/jxc/apt/SchemaGenerator.java ! src/share/classes/com/sun/tools/internal/jxc/apt/package.html ! src/share/classes/com/sun/tools/internal/jxc/gen/config/AttributesImpl.java ! src/share/classes/com/sun/tools/internal/jxc/gen/config/Classes.java ! src/share/classes/com/sun/tools/internal/jxc/gen/config/Config.java ! src/share/classes/com/sun/tools/internal/jxc/gen/config/NGCCEventReceiver.java ! src/share/classes/com/sun/tools/internal/jxc/gen/config/NGCCEventSource.java ! src/share/classes/com/sun/tools/internal/jxc/gen/config/NGCCHandler.java ! src/share/classes/com/sun/tools/internal/jxc/gen/config/NGCCInterleaveFilter.java ! src/share/classes/com/sun/tools/internal/jxc/gen/config/NGCCRuntime.java ! src/share/classes/com/sun/tools/internal/jxc/gen/config/Schema.java ! src/share/classes/com/sun/tools/internal/jxc/gen/config/config.rng ! src/share/classes/com/sun/tools/internal/jxc/gen/config/config.xsd ! src/share/classes/com/sun/tools/internal/jxc/model/nav/APTNavigator.java - src/share/classes/com/sun/tools/internal/txw2/AntErrorListener.java - src/share/classes/com/sun/tools/internal/txw2/ConsoleErrorReporter.java - src/share/classes/com/sun/tools/internal/txw2/ErrorListener.java - src/share/classes/com/sun/tools/internal/txw2/Main.java - src/share/classes/com/sun/tools/internal/txw2/NameUtil.java - src/share/classes/com/sun/tools/internal/txw2/RELAXNGLoader.java - src/share/classes/com/sun/tools/internal/txw2/SchemaBuilder.java - src/share/classes/com/sun/tools/internal/txw2/TxwOptions.java - src/share/classes/com/sun/tools/internal/txw2/TxwTask.java - src/share/classes/com/sun/tools/internal/txw2/XmlSchemaLoader.java - src/share/classes/com/sun/tools/internal/txw2/builder/relaxng/AnnotationsImpl.java - src/share/classes/com/sun/tools/internal/txw2/builder/relaxng/CommentListImpl.java - src/share/classes/com/sun/tools/internal/txw2/builder/relaxng/DataPatternBuilderImpl.java - src/share/classes/com/sun/tools/internal/txw2/builder/relaxng/DatatypeFactory.java - src/share/classes/com/sun/tools/internal/txw2/builder/relaxng/DivImpl.java - src/share/classes/com/sun/tools/internal/txw2/builder/relaxng/ElementAnnotationBuilderImpl.java - src/share/classes/com/sun/tools/internal/txw2/builder/relaxng/GrammarImpl.java - src/share/classes/com/sun/tools/internal/txw2/builder/relaxng/GrammarSectionImpl.java - src/share/classes/com/sun/tools/internal/txw2/builder/relaxng/SchemaBuilderImpl.java - src/share/classes/com/sun/tools/internal/txw2/builder/relaxng/package.html - src/share/classes/com/sun/tools/internal/txw2/builder/xsd/XmlSchemaBuilder.java - src/share/classes/com/sun/tools/internal/txw2/builder/xsd/package.html - src/share/classes/com/sun/tools/internal/txw2/model/Attribute.java - src/share/classes/com/sun/tools/internal/txw2/model/CycleIterator.java - src/share/classes/com/sun/tools/internal/txw2/model/Data.java - src/share/classes/com/sun/tools/internal/txw2/model/Define.java - src/share/classes/com/sun/tools/internal/txw2/model/Element.java - src/share/classes/com/sun/tools/internal/txw2/model/Empty.java - src/share/classes/com/sun/tools/internal/txw2/model/Grammar.java - src/share/classes/com/sun/tools/internal/txw2/model/Leaf.java - src/share/classes/com/sun/tools/internal/txw2/model/List.java - src/share/classes/com/sun/tools/internal/txw2/model/Node.java - src/share/classes/com/sun/tools/internal/txw2/model/NodeSet.java - src/share/classes/com/sun/tools/internal/txw2/model/Ref.java - src/share/classes/com/sun/tools/internal/txw2/model/Text.java - src/share/classes/com/sun/tools/internal/txw2/model/Value.java - src/share/classes/com/sun/tools/internal/txw2/model/WriterNode.java - src/share/classes/com/sun/tools/internal/txw2/model/XmlNode.java - src/share/classes/com/sun/tools/internal/txw2/model/prop/AttributeProp.java - src/share/classes/com/sun/tools/internal/txw2/model/prop/ElementProp.java - src/share/classes/com/sun/tools/internal/txw2/model/prop/LeafElementProp.java - src/share/classes/com/sun/tools/internal/txw2/model/prop/Prop.java - src/share/classes/com/sun/tools/internal/txw2/model/prop/ValueProp.java - src/share/classes/com/sun/tools/internal/txw2/model/prop/XmlItemProp.java ! src/share/classes/com/sun/tools/internal/ws/Invoker.java ! src/share/classes/com/sun/tools/internal/ws/ToolVersion.java ! src/share/classes/com/sun/tools/internal/ws/WsGen.java ! src/share/classes/com/sun/tools/internal/ws/WsImport.java + src/share/classes/com/sun/tools/internal/ws/api/TJavaGeneratorExtension.java + src/share/classes/com/sun/tools/internal/ws/api/wsdl/TWSDLExtensible.java + src/share/classes/com/sun/tools/internal/ws/api/wsdl/TWSDLExtension.java + src/share/classes/com/sun/tools/internal/ws/api/wsdl/TWSDLExtensionHandler.java + src/share/classes/com/sun/tools/internal/ws/api/wsdl/TWSDLOperation.java + src/share/classes/com/sun/tools/internal/ws/api/wsdl/TWSDLParserContext.java ! src/share/classes/com/sun/tools/internal/ws/package-info.java - src/share/classes/com/sun/tools/internal/ws/processor/Processor.java - src/share/classes/com/sun/tools/internal/ws/processor/ProcessorAction.java - src/share/classes/com/sun/tools/internal/ws/processor/ProcessorActionVersion.java - src/share/classes/com/sun/tools/internal/ws/processor/ProcessorConstants.java ! src/share/classes/com/sun/tools/internal/ws/processor/ProcessorException.java - src/share/classes/com/sun/tools/internal/ws/processor/ProcessorNotificationListener.java - src/share/classes/com/sun/tools/internal/ws/processor/ProcessorOptions.java - src/share/classes/com/sun/tools/internal/ws/processor/config/ClassModelInfo.java - src/share/classes/com/sun/tools/internal/ws/processor/config/Configuration.java - src/share/classes/com/sun/tools/internal/ws/processor/config/ConfigurationException.java - src/share/classes/com/sun/tools/internal/ws/processor/config/HandlerChainInfo.java - src/share/classes/com/sun/tools/internal/ws/processor/config/HandlerInfo.java - src/share/classes/com/sun/tools/internal/ws/processor/config/ModelInfo.java - src/share/classes/com/sun/tools/internal/ws/processor/config/WSDLModelInfo.java - src/share/classes/com/sun/tools/internal/ws/processor/config/parser/ClassModelParser.java - src/share/classes/com/sun/tools/internal/ws/processor/config/parser/CustomizationParser.java - src/share/classes/com/sun/tools/internal/ws/processor/config/parser/InputParser.java - src/share/classes/com/sun/tools/internal/ws/processor/config/parser/JAXWSBindingInfoParser.java - src/share/classes/com/sun/tools/internal/ws/processor/config/parser/ParserUtil.java - src/share/classes/com/sun/tools/internal/ws/processor/config/parser/Reader.java ! src/share/classes/com/sun/tools/internal/ws/processor/generator/CustomExceptionGenerator.java ! src/share/classes/com/sun/tools/internal/ws/processor/generator/GeneratorBase.java ! src/share/classes/com/sun/tools/internal/ws/processor/generator/GeneratorConstants.java ! src/share/classes/com/sun/tools/internal/ws/processor/generator/GeneratorException.java ! src/share/classes/com/sun/tools/internal/ws/processor/generator/GeneratorUtil.java - src/share/classes/com/sun/tools/internal/ws/processor/generator/JAXBTypeGenerator.java + src/share/classes/com/sun/tools/internal/ws/processor/generator/JavaGeneratorExtensionFacade.java ! src/share/classes/com/sun/tools/internal/ws/processor/generator/Names.java ! src/share/classes/com/sun/tools/internal/ws/processor/generator/SeiGenerator.java ! src/share/classes/com/sun/tools/internal/ws/processor/generator/ServiceGenerator.java - src/share/classes/com/sun/tools/internal/ws/processor/generator/SimpleToBoxedUtil.java + src/share/classes/com/sun/tools/internal/ws/processor/generator/W3CAddressingJavaGeneratorExtension.java ! src/share/classes/com/sun/tools/internal/ws/processor/model/AbstractType.java ! src/share/classes/com/sun/tools/internal/ws/processor/model/AsyncOperation.java ! src/share/classes/com/sun/tools/internal/ws/processor/model/AsyncOperationType.java ! src/share/classes/com/sun/tools/internal/ws/processor/model/Block.java ! src/share/classes/com/sun/tools/internal/ws/processor/model/ExtendedModelVisitor.java ! src/share/classes/com/sun/tools/internal/ws/processor/model/Fault.java ! src/share/classes/com/sun/tools/internal/ws/processor/model/HeaderFault.java ! src/share/classes/com/sun/tools/internal/ws/processor/model/Message.java ! src/share/classes/com/sun/tools/internal/ws/processor/model/Model.java ! src/share/classes/com/sun/tools/internal/ws/processor/model/ModelException.java ! src/share/classes/com/sun/tools/internal/ws/processor/model/ModelObject.java ! src/share/classes/com/sun/tools/internal/ws/processor/model/ModelProperties.java ! src/share/classes/com/sun/tools/internal/ws/processor/model/ModelVisitor.java ! src/share/classes/com/sun/tools/internal/ws/processor/model/Operation.java ! src/share/classes/com/sun/tools/internal/ws/processor/model/Parameter.java ! src/share/classes/com/sun/tools/internal/ws/processor/model/Port.java ! src/share/classes/com/sun/tools/internal/ws/processor/model/Request.java ! src/share/classes/com/sun/tools/internal/ws/processor/model/Response.java ! src/share/classes/com/sun/tools/internal/ws/processor/model/Service.java ! src/share/classes/com/sun/tools/internal/ws/processor/model/exporter/ExternalObject.java ! src/share/classes/com/sun/tools/internal/ws/processor/model/java/JavaArrayType.java ! src/share/classes/com/sun/tools/internal/ws/processor/model/java/JavaException.java ! src/share/classes/com/sun/tools/internal/ws/processor/model/java/JavaInterface.java ! src/share/classes/com/sun/tools/internal/ws/processor/model/java/JavaMethod.java ! src/share/classes/com/sun/tools/internal/ws/processor/model/java/JavaParameter.java ! src/share/classes/com/sun/tools/internal/ws/processor/model/java/JavaSimpleType.java ! src/share/classes/com/sun/tools/internal/ws/processor/model/java/JavaStructureMember.java ! src/share/classes/com/sun/tools/internal/ws/processor/model/java/JavaStructureType.java ! src/share/classes/com/sun/tools/internal/ws/processor/model/java/JavaType.java ! src/share/classes/com/sun/tools/internal/ws/processor/model/jaxb/JAXBElementMember.java ! src/share/classes/com/sun/tools/internal/ws/processor/model/jaxb/JAXBMapping.java ! src/share/classes/com/sun/tools/internal/ws/processor/model/jaxb/JAXBModel.java ! src/share/classes/com/sun/tools/internal/ws/processor/model/jaxb/JAXBProperty.java ! src/share/classes/com/sun/tools/internal/ws/processor/model/jaxb/JAXBStructuredType.java ! src/share/classes/com/sun/tools/internal/ws/processor/model/jaxb/JAXBType.java ! src/share/classes/com/sun/tools/internal/ws/processor/model/jaxb/JAXBTypeAndAnnotation.java ! src/share/classes/com/sun/tools/internal/ws/processor/model/jaxb/JAXBTypeVisitor.java ! src/share/classes/com/sun/tools/internal/ws/processor/model/jaxb/RpcLitMember.java ! src/share/classes/com/sun/tools/internal/ws/processor/model/jaxb/RpcLitStructure.java ! src/share/classes/com/sun/tools/internal/ws/processor/model/jaxb/Util.java ! src/share/classes/com/sun/tools/internal/ws/processor/modeler/JavaSimpleTypeCreator.java ! src/share/classes/com/sun/tools/internal/ws/processor/modeler/Modeler.java ! src/share/classes/com/sun/tools/internal/ws/processor/modeler/ModelerConstants.java ! src/share/classes/com/sun/tools/internal/ws/processor/modeler/ModelerException.java - src/share/classes/com/sun/tools/internal/ws/processor/modeler/ModelerUtils.java ! src/share/classes/com/sun/tools/internal/ws/processor/modeler/annotation/AnnotationProcessorContext.java ! src/share/classes/com/sun/tools/internal/ws/processor/modeler/annotation/FaultInfo.java ! src/share/classes/com/sun/tools/internal/ws/processor/modeler/annotation/MakeSafeTypeVisitor.java ! src/share/classes/com/sun/tools/internal/ws/processor/modeler/annotation/MemberInfo.java ! src/share/classes/com/sun/tools/internal/ws/processor/modeler/annotation/ModelBuilder.java ! src/share/classes/com/sun/tools/internal/ws/processor/modeler/annotation/TypeModeler.java ! src/share/classes/com/sun/tools/internal/ws/processor/modeler/annotation/TypeMoniker.java ! src/share/classes/com/sun/tools/internal/ws/processor/modeler/annotation/TypeMonikerFactory.java ! src/share/classes/com/sun/tools/internal/ws/processor/modeler/annotation/WebServiceAP.java ! src/share/classes/com/sun/tools/internal/ws/processor/modeler/annotation/WebServiceConstants.java - src/share/classes/com/sun/tools/internal/ws/processor/modeler/annotation/WebServiceReferenceCollector.java ! src/share/classes/com/sun/tools/internal/ws/processor/modeler/annotation/WebServiceVisitor.java ! src/share/classes/com/sun/tools/internal/ws/processor/modeler/annotation/WebServiceWrapperGenerator.java ! src/share/classes/com/sun/tools/internal/ws/processor/modeler/annotation/WrapperInfo.java ! src/share/classes/com/sun/tools/internal/ws/processor/modeler/wsdl/AccessorElement.java ! src/share/classes/com/sun/tools/internal/ws/processor/modeler/wsdl/ClassNameAllocatorImpl.java ! src/share/classes/com/sun/tools/internal/ws/processor/modeler/wsdl/ConsoleErrorReporter.java ! src/share/classes/com/sun/tools/internal/ws/processor/modeler/wsdl/JAXBModelBuilder.java ! src/share/classes/com/sun/tools/internal/ws/processor/modeler/wsdl/MimeHelper.java + src/share/classes/com/sun/tools/internal/ws/processor/modeler/wsdl/ModelerUtils.java ! src/share/classes/com/sun/tools/internal/ws/processor/modeler/wsdl/PseudoSchemaBuilder.java ! src/share/classes/com/sun/tools/internal/ws/processor/modeler/wsdl/WSDLModeler.java ! src/share/classes/com/sun/tools/internal/ws/processor/modeler/wsdl/WSDLModelerBase.java ! src/share/classes/com/sun/tools/internal/ws/processor/util/ClassNameCollector.java - src/share/classes/com/sun/tools/internal/ws/processor/util/ClientProcessorEnvironment.java ! src/share/classes/com/sun/tools/internal/ws/processor/util/DirectoryUtil.java - src/share/classes/com/sun/tools/internal/ws/processor/util/GeneratedFileInfo.java ! src/share/classes/com/sun/tools/internal/ws/processor/util/IndentingWriter.java - src/share/classes/com/sun/tools/internal/ws/processor/util/ProcessorEnvironment.java - src/share/classes/com/sun/tools/internal/ws/processor/util/ProcessorEnvironmentBase.java + src/share/classes/com/sun/tools/internal/ws/resources/ConfigurationMessages.java + src/share/classes/com/sun/tools/internal/ws/resources/GeneratorMessages.java + src/share/classes/com/sun/tools/internal/ws/resources/JavacompilerMessages.java + src/share/classes/com/sun/tools/internal/ws/resources/ModelMessages.java + src/share/classes/com/sun/tools/internal/ws/resources/ModelerMessages.java + src/share/classes/com/sun/tools/internal/ws/resources/ProcessorMessages.java + src/share/classes/com/sun/tools/internal/ws/resources/UtilMessages.java + src/share/classes/com/sun/tools/internal/ws/resources/WebserviceapMessages.java + src/share/classes/com/sun/tools/internal/ws/resources/WscompileMessages.java + src/share/classes/com/sun/tools/internal/ws/resources/WsdlMessages.java ! src/share/classes/com/sun/tools/internal/ws/resources/configuration.properties ! src/share/classes/com/sun/tools/internal/ws/resources/generator.properties ! src/share/classes/com/sun/tools/internal/ws/resources/javacompiler.properties ! src/share/classes/com/sun/tools/internal/ws/resources/model.properties ! src/share/classes/com/sun/tools/internal/ws/resources/modeler.properties ! src/share/classes/com/sun/tools/internal/ws/resources/processor.properties ! src/share/classes/com/sun/tools/internal/ws/resources/util.properties ! src/share/classes/com/sun/tools/internal/ws/resources/webserviceap.properties ! src/share/classes/com/sun/tools/internal/ws/resources/wscompile.properties ! src/share/classes/com/sun/tools/internal/ws/resources/wsdl.properties ! src/share/classes/com/sun/tools/internal/ws/spi/WSToolsObjectFactory.java ! src/share/classes/com/sun/tools/internal/ws/spi/package-info.java ! src/share/classes/com/sun/tools/internal/ws/util/ClassNameInfo.java ! src/share/classes/com/sun/tools/internal/ws/util/ForkEntityResolver.java - src/share/classes/com/sun/tools/internal/ws/util/JAXWSClassFactory.java - src/share/classes/com/sun/tools/internal/ws/util/JavaCompilerHelper.java - src/share/classes/com/sun/tools/internal/ws/util/MapBase.java - src/share/classes/com/sun/tools/internal/ws/util/ToolBase.java ! src/share/classes/com/sun/tools/internal/ws/util/WSDLParseException.java ! src/share/classes/com/sun/tools/internal/ws/util/WSToolsObjectFactoryImpl.java - src/share/classes/com/sun/tools/internal/ws/util/xml/NodeListIterator.java - src/share/classes/com/sun/tools/internal/ws/util/xml/NullEntityResolver.java - src/share/classes/com/sun/tools/internal/ws/util/xml/PrettyPrintingXmlWriter.java ! src/share/classes/com/sun/tools/internal/ws/util/xml/XmlUtil.java - src/share/classes/com/sun/tools/internal/ws/util/xml/XmlWriter.java ! src/share/classes/com/sun/tools/internal/ws/version.properties + src/share/classes/com/sun/tools/internal/ws/wscompile/AbortException.java - src/share/classes/com/sun/tools/internal/ws/wscompile/ActionConstants.java + src/share/classes/com/sun/tools/internal/ws/wscompile/BadCommandLineException.java - src/share/classes/com/sun/tools/internal/ws/wscompile/CompileTool.java + src/share/classes/com/sun/tools/internal/ws/wscompile/ErrorReceiver.java + src/share/classes/com/sun/tools/internal/ws/wscompile/ErrorReceiverFilter.java ! src/share/classes/com/sun/tools/internal/ws/wscompile/FilerCodeWriter.java + src/share/classes/com/sun/tools/internal/ws/wscompile/JavaCompilerHelper.java + src/share/classes/com/sun/tools/internal/ws/wscompile/Options.java ! src/share/classes/com/sun/tools/internal/ws/wscompile/WSCodeWriter.java + src/share/classes/com/sun/tools/internal/ws/wscompile/WsgenOptions.java + src/share/classes/com/sun/tools/internal/ws/wscompile/WsgenTool.java + src/share/classes/com/sun/tools/internal/ws/wscompile/WsimportListener.java + src/share/classes/com/sun/tools/internal/ws/wscompile/WsimportOptions.java + src/share/classes/com/sun/tools/internal/ws/wscompile/WsimportTool.java ! src/share/classes/com/sun/tools/internal/ws/wsdl/document/Binding.java ! src/share/classes/com/sun/tools/internal/ws/wsdl/document/BindingFault.java ! src/share/classes/com/sun/tools/internal/ws/wsdl/document/BindingInput.java ! src/share/classes/com/sun/tools/internal/ws/wsdl/document/BindingOperation.java ! src/share/classes/com/sun/tools/internal/ws/wsdl/document/BindingOutput.java ! src/share/classes/com/sun/tools/internal/ws/wsdl/document/Definitions.java ! src/share/classes/com/sun/tools/internal/ws/wsdl/document/Documentation.java ! src/share/classes/com/sun/tools/internal/ws/wsdl/document/Fault.java ! src/share/classes/com/sun/tools/internal/ws/wsdl/document/Import.java ! src/share/classes/com/sun/tools/internal/ws/wsdl/document/Input.java ! src/share/classes/com/sun/tools/internal/ws/wsdl/document/Kinds.java ! src/share/classes/com/sun/tools/internal/ws/wsdl/document/Message.java ! src/share/classes/com/sun/tools/internal/ws/wsdl/document/MessagePart.java ! src/share/classes/com/sun/tools/internal/ws/wsdl/document/Operation.java ! src/share/classes/com/sun/tools/internal/ws/wsdl/document/OperationStyle.java ! src/share/classes/com/sun/tools/internal/ws/wsdl/document/Output.java ! src/share/classes/com/sun/tools/internal/ws/wsdl/document/Port.java ! src/share/classes/com/sun/tools/internal/ws/wsdl/document/PortType.java ! src/share/classes/com/sun/tools/internal/ws/wsdl/document/Service.java ! src/share/classes/com/sun/tools/internal/ws/wsdl/document/Types.java ! src/share/classes/com/sun/tools/internal/ws/wsdl/document/WSDLConstants.java ! src/share/classes/com/sun/tools/internal/ws/wsdl/document/WSDLDocument.java ! src/share/classes/com/sun/tools/internal/ws/wsdl/document/WSDLDocumentVisitor.java ! src/share/classes/com/sun/tools/internal/ws/wsdl/document/WSDLDocumentVisitorBase.java ! src/share/classes/com/sun/tools/internal/ws/wsdl/document/http/HTTPAddress.java ! src/share/classes/com/sun/tools/internal/ws/wsdl/document/http/HTTPBinding.java ! src/share/classes/com/sun/tools/internal/ws/wsdl/document/http/HTTPConstants.java ! src/share/classes/com/sun/tools/internal/ws/wsdl/document/http/HTTPOperation.java ! src/share/classes/com/sun/tools/internal/ws/wsdl/document/http/HTTPUrlEncoded.java ! src/share/classes/com/sun/tools/internal/ws/wsdl/document/http/HTTPUrlReplacement.java ! src/share/classes/com/sun/tools/internal/ws/wsdl/document/jaxws/CustomName.java ! src/share/classes/com/sun/tools/internal/ws/wsdl/document/jaxws/Exception.java ! src/share/classes/com/sun/tools/internal/ws/wsdl/document/jaxws/JAXWSBinding.java ! src/share/classes/com/sun/tools/internal/ws/wsdl/document/jaxws/JAXWSBindingsConstants.java ! src/share/classes/com/sun/tools/internal/ws/wsdl/document/jaxws/Parameter.java ! src/share/classes/com/sun/tools/internal/ws/wsdl/document/mime/MIMEConstants.java ! src/share/classes/com/sun/tools/internal/ws/wsdl/document/mime/MIMEContent.java ! src/share/classes/com/sun/tools/internal/ws/wsdl/document/mime/MIMEMultipartRelated.java ! src/share/classes/com/sun/tools/internal/ws/wsdl/document/mime/MIMEPart.java ! src/share/classes/com/sun/tools/internal/ws/wsdl/document/mime/MIMEXml.java - src/share/classes/com/sun/tools/internal/ws/wsdl/document/schema/BuiltInTypes.java - src/share/classes/com/sun/tools/internal/ws/wsdl/document/schema/Schema.java - src/share/classes/com/sun/tools/internal/ws/wsdl/document/schema/SchemaAttribute.java ! src/share/classes/com/sun/tools/internal/ws/wsdl/document/schema/SchemaConstants.java - src/share/classes/com/sun/tools/internal/ws/wsdl/document/schema/SchemaDocument.java - src/share/classes/com/sun/tools/internal/ws/wsdl/document/schema/SchemaElement.java - src/share/classes/com/sun/tools/internal/ws/wsdl/document/schema/SchemaEntity.java ! src/share/classes/com/sun/tools/internal/ws/wsdl/document/schema/SchemaKinds.java ! src/share/classes/com/sun/tools/internal/ws/wsdl/document/soap/SOAP12Binding.java ! src/share/classes/com/sun/tools/internal/ws/wsdl/document/soap/SOAP12Constants.java ! src/share/classes/com/sun/tools/internal/ws/wsdl/document/soap/SOAPAddress.java ! src/share/classes/com/sun/tools/internal/ws/wsdl/document/soap/SOAPBinding.java ! src/share/classes/com/sun/tools/internal/ws/wsdl/document/soap/SOAPBody.java ! src/share/classes/com/sun/tools/internal/ws/wsdl/document/soap/SOAPConstants.java ! src/share/classes/com/sun/tools/internal/ws/wsdl/document/soap/SOAPFault.java ! src/share/classes/com/sun/tools/internal/ws/wsdl/document/soap/SOAPHeader.java ! src/share/classes/com/sun/tools/internal/ws/wsdl/document/soap/SOAPHeaderFault.java ! src/share/classes/com/sun/tools/internal/ws/wsdl/document/soap/SOAPOperation.java ! src/share/classes/com/sun/tools/internal/ws/wsdl/document/soap/SOAPStyle.java ! src/share/classes/com/sun/tools/internal/ws/wsdl/document/soap/SOAPUse.java ! src/share/classes/com/sun/tools/internal/ws/wsdl/framework/AbstractDocument.java ! src/share/classes/com/sun/tools/internal/ws/wsdl/framework/Defining.java ! src/share/classes/com/sun/tools/internal/ws/wsdl/framework/DuplicateEntityException.java ! src/share/classes/com/sun/tools/internal/ws/wsdl/framework/Elemental.java ! src/share/classes/com/sun/tools/internal/ws/wsdl/framework/Entity.java ! src/share/classes/com/sun/tools/internal/ws/wsdl/framework/EntityAction.java ! src/share/classes/com/sun/tools/internal/ws/wsdl/framework/EntityReferenceAction.java ! src/share/classes/com/sun/tools/internal/ws/wsdl/framework/EntityReferenceValidator.java ! src/share/classes/com/sun/tools/internal/ws/wsdl/framework/ExtensibilityHelper.java - src/share/classes/com/sun/tools/internal/ws/wsdl/framework/Extensible.java - src/share/classes/com/sun/tools/internal/ws/wsdl/framework/Extension.java + src/share/classes/com/sun/tools/internal/ws/wsdl/framework/ExtensionImpl.java ! src/share/classes/com/sun/tools/internal/ws/wsdl/framework/ExtensionVisitor.java ! src/share/classes/com/sun/tools/internal/ws/wsdl/framework/ExtensionVisitorBase.java ! src/share/classes/com/sun/tools/internal/ws/wsdl/framework/ExternalEntityReference.java ! src/share/classes/com/sun/tools/internal/ws/wsdl/framework/GlobalEntity.java ! src/share/classes/com/sun/tools/internal/ws/wsdl/framework/GloballyKnown.java ! src/share/classes/com/sun/tools/internal/ws/wsdl/framework/Identifiable.java ! src/share/classes/com/sun/tools/internal/ws/wsdl/framework/Kind.java ! src/share/classes/com/sun/tools/internal/ws/wsdl/framework/NoSuchEntityException.java ! src/share/classes/com/sun/tools/internal/ws/wsdl/framework/ParseException.java - src/share/classes/com/sun/tools/internal/ws/wsdl/framework/ParserContext.java ! src/share/classes/com/sun/tools/internal/ws/wsdl/framework/ParserListener.java ! src/share/classes/com/sun/tools/internal/ws/wsdl/framework/QNameAction.java + src/share/classes/com/sun/tools/internal/ws/wsdl/framework/TWSDLParserContextImpl.java ! src/share/classes/com/sun/tools/internal/ws/wsdl/framework/ValidationException.java ! src/share/classes/com/sun/tools/internal/ws/wsdl/framework/WSDLLocation.java - src/share/classes/com/sun/tools/internal/ws/wsdl/framework/WriterContext.java + src/share/classes/com/sun/tools/internal/ws/wsdl/parser/AbstractExtensionHandler.java + src/share/classes/com/sun/tools/internal/ws/wsdl/parser/AbstractReferenceFinderImpl.java ! src/share/classes/com/sun/tools/internal/ws/wsdl/parser/Constants.java + src/share/classes/com/sun/tools/internal/ws/wsdl/parser/DOMBuilder.java + src/share/classes/com/sun/tools/internal/ws/wsdl/parser/DOMForest.java + src/share/classes/com/sun/tools/internal/ws/wsdl/parser/DOMForestScanner.java - src/share/classes/com/sun/tools/internal/ws/wsdl/parser/ExtensionHandler.java - src/share/classes/com/sun/tools/internal/ws/wsdl/parser/ExtensionHandlerBase.java ! src/share/classes/com/sun/tools/internal/ws/wsdl/parser/HTTPExtensionHandler.java + src/share/classes/com/sun/tools/internal/ws/wsdl/parser/InternalizationLogic.java ! src/share/classes/com/sun/tools/internal/ws/wsdl/parser/Internalizer.java ! src/share/classes/com/sun/tools/internal/ws/wsdl/parser/JAXWSBindingExtensionHandler.java ! src/share/classes/com/sun/tools/internal/ws/wsdl/parser/MIMEExtensionHandler.java + src/share/classes/com/sun/tools/internal/ws/wsdl/parser/MemberSubmissionAddressingExtensionHandler.java + src/share/classes/com/sun/tools/internal/ws/wsdl/parser/MetadataFinder.java ! src/share/classes/com/sun/tools/internal/ws/wsdl/parser/NamespaceContextImpl.java ! src/share/classes/com/sun/tools/internal/ws/wsdl/parser/SOAP12ExtensionHandler.java ! src/share/classes/com/sun/tools/internal/ws/wsdl/parser/SOAPEntityReferenceValidator.java ! src/share/classes/com/sun/tools/internal/ws/wsdl/parser/SOAPExtensionHandler.java - src/share/classes/com/sun/tools/internal/ws/wsdl/parser/SchemaExtensionHandler.java - src/share/classes/com/sun/tools/internal/ws/wsdl/parser/SchemaParser.java - src/share/classes/com/sun/tools/internal/ws/wsdl/parser/SchemaWriter.java ! src/share/classes/com/sun/tools/internal/ws/wsdl/parser/Util.java + src/share/classes/com/sun/tools/internal/ws/wsdl/parser/VersionChecker.java + src/share/classes/com/sun/tools/internal/ws/wsdl/parser/W3CAddressingExtensionHandler.java + src/share/classes/com/sun/tools/internal/ws/wsdl/parser/WSDLInternalizationLogic.java ! src/share/classes/com/sun/tools/internal/ws/wsdl/parser/WSDLParser.java - src/share/classes/com/sun/tools/internal/ws/wsdl/parser/WSDLWriter.java + src/share/classes/com/sun/tools/internal/ws/wsdl/parser/WhitespaceStripper.java ! src/share/classes/com/sun/tools/internal/xjc/AbortException.java ! src/share/classes/com/sun/tools/internal/xjc/BadCommandLineException.java ! src/share/classes/com/sun/tools/internal/xjc/ConsoleErrorReporter.java ! src/share/classes/com/sun/tools/internal/xjc/Driver.java ! src/share/classes/com/sun/tools/internal/xjc/ErrorReceiver.java ! src/share/classes/com/sun/tools/internal/xjc/Language.java ! src/share/classes/com/sun/tools/internal/xjc/MessageBundle.properties ! src/share/classes/com/sun/tools/internal/xjc/Messages.java ! src/share/classes/com/sun/tools/internal/xjc/ModelLoader.java ! src/share/classes/com/sun/tools/internal/xjc/Options.java ! src/share/classes/com/sun/tools/internal/xjc/Plugin.java ! src/share/classes/com/sun/tools/internal/xjc/ProgressCodeWriter.java ! src/share/classes/com/sun/tools/internal/xjc/SchemaCache.java ! src/share/classes/com/sun/tools/internal/xjc/XJCListener.java ! src/share/classes/com/sun/tools/internal/xjc/addon/at_generated/PluginImpl.java ! src/share/classes/com/sun/tools/internal/xjc/addon/code_injector/Const.java ! src/share/classes/com/sun/tools/internal/xjc/addon/code_injector/PluginImpl.java + src/share/classes/com/sun/tools/internal/xjc/addon/episode/PluginImpl.java + src/share/classes/com/sun/tools/internal/xjc/addon/episode/package-info.java ! src/share/classes/com/sun/tools/internal/xjc/addon/locator/SourceLocationAddOn.java ! src/share/classes/com/sun/tools/internal/xjc/addon/sync/SynchronizedMethodAddOn.java ! src/share/classes/com/sun/tools/internal/xjc/api/ClassNameAllocator.java ! src/share/classes/com/sun/tools/internal/xjc/api/ErrorListener.java ! src/share/classes/com/sun/tools/internal/xjc/api/J2SJAXBModel.java ! src/share/classes/com/sun/tools/internal/xjc/api/JAXBModel.java ! src/share/classes/com/sun/tools/internal/xjc/api/JavaCompiler.java ! src/share/classes/com/sun/tools/internal/xjc/api/Mapping.java ! src/share/classes/com/sun/tools/internal/xjc/api/Property.java ! src/share/classes/com/sun/tools/internal/xjc/api/Reference.java ! src/share/classes/com/sun/tools/internal/xjc/api/S2JJAXBModel.java ! src/share/classes/com/sun/tools/internal/xjc/api/SchemaCompiler.java + src/share/classes/com/sun/tools/internal/xjc/api/SpecVersion.java ! src/share/classes/com/sun/tools/internal/xjc/api/TypeAndAnnotation.java ! src/share/classes/com/sun/tools/internal/xjc/api/XJC.java ! src/share/classes/com/sun/tools/internal/xjc/api/impl/j2s/JAXBModelImpl.java ! src/share/classes/com/sun/tools/internal/xjc/api/impl/j2s/JavaCompilerImpl.java ! src/share/classes/com/sun/tools/internal/xjc/api/impl/j2s/Messages.java ! src/share/classes/com/sun/tools/internal/xjc/api/impl/j2s/Messages.properties ! src/share/classes/com/sun/tools/internal/xjc/api/impl/s2j/AbstractMappingImpl.java ! src/share/classes/com/sun/tools/internal/xjc/api/impl/s2j/BeanMappingImpl.java ! src/share/classes/com/sun/tools/internal/xjc/api/impl/s2j/DowngradingErrorHandler.java ! src/share/classes/com/sun/tools/internal/xjc/api/impl/s2j/ElementAdapter.java ! src/share/classes/com/sun/tools/internal/xjc/api/impl/s2j/ElementCollectionAdapter.java ! src/share/classes/com/sun/tools/internal/xjc/api/impl/s2j/ElementMappingImpl.java ! src/share/classes/com/sun/tools/internal/xjc/api/impl/s2j/ElementSingleAdapter.java ! src/share/classes/com/sun/tools/internal/xjc/api/impl/s2j/JAXBModelImpl.java ! src/share/classes/com/sun/tools/internal/xjc/api/impl/s2j/PropertyImpl.java ! src/share/classes/com/sun/tools/internal/xjc/api/impl/s2j/SchemaCompilerImpl.java ! src/share/classes/com/sun/tools/internal/xjc/api/impl/s2j/TypeAndAnnotationImpl.java ! src/share/classes/com/sun/tools/internal/xjc/api/impl/s2j/package.html ! src/share/classes/com/sun/tools/internal/xjc/api/package.html ! src/share/classes/com/sun/tools/internal/xjc/api/util/APTClassLoader.java ! src/share/classes/com/sun/tools/internal/xjc/api/util/FilerCodeWriter.java ! src/share/classes/com/sun/tools/internal/xjc/api/util/Messages.java ! src/share/classes/com/sun/tools/internal/xjc/api/util/Messages.properties ! src/share/classes/com/sun/tools/internal/xjc/api/util/ToolsJarNotFoundException.java ! src/share/classes/com/sun/tools/internal/xjc/api/util/package.html ! src/share/classes/com/sun/tools/internal/xjc/generator/annotation/ri/XmlIsSetWriter.java ! src/share/classes/com/sun/tools/internal/xjc/generator/annotation/ri/XmlLocationWriter.java ! src/share/classes/com/sun/tools/internal/xjc/generator/annotation/spec/XmlAccessorOrderWriter.java ! src/share/classes/com/sun/tools/internal/xjc/generator/annotation/spec/XmlAccessorTypeWriter.java ! src/share/classes/com/sun/tools/internal/xjc/generator/annotation/spec/XmlAnyAttributeWriter.java ! src/share/classes/com/sun/tools/internal/xjc/generator/annotation/spec/XmlAnyElementWriter.java ! src/share/classes/com/sun/tools/internal/xjc/generator/annotation/spec/XmlAttachmentRefWriter.java ! src/share/classes/com/sun/tools/internal/xjc/generator/annotation/spec/XmlAttributeWriter.java ! src/share/classes/com/sun/tools/internal/xjc/generator/annotation/spec/XmlElementDeclWriter.java ! src/share/classes/com/sun/tools/internal/xjc/generator/annotation/spec/XmlElementRefWriter.java ! src/share/classes/com/sun/tools/internal/xjc/generator/annotation/spec/XmlElementRefsWriter.java ! src/share/classes/com/sun/tools/internal/xjc/generator/annotation/spec/XmlElementWrapperWriter.java ! src/share/classes/com/sun/tools/internal/xjc/generator/annotation/spec/XmlElementWriter.java ! src/share/classes/com/sun/tools/internal/xjc/generator/annotation/spec/XmlElementsWriter.java ! src/share/classes/com/sun/tools/internal/xjc/generator/annotation/spec/XmlEnumValueWriter.java ! src/share/classes/com/sun/tools/internal/xjc/generator/annotation/spec/XmlEnumWriter.java ! src/share/classes/com/sun/tools/internal/xjc/generator/annotation/spec/XmlIDREFWriter.java ! src/share/classes/com/sun/tools/internal/xjc/generator/annotation/spec/XmlIDWriter.java ! src/share/classes/com/sun/tools/internal/xjc/generator/annotation/spec/XmlInlineBinaryDataWriter.java ! src/share/classes/com/sun/tools/internal/xjc/generator/annotation/spec/XmlJavaTypeAdapterWriter.java ! src/share/classes/com/sun/tools/internal/xjc/generator/annotation/spec/XmlListWriter.java ! src/share/classes/com/sun/tools/internal/xjc/generator/annotation/spec/XmlMimeTypeWriter.java ! src/share/classes/com/sun/tools/internal/xjc/generator/annotation/spec/XmlMixedWriter.java ! src/share/classes/com/sun/tools/internal/xjc/generator/annotation/spec/XmlNsWriter.java ! src/share/classes/com/sun/tools/internal/xjc/generator/annotation/spec/XmlRegistryWriter.java ! src/share/classes/com/sun/tools/internal/xjc/generator/annotation/spec/XmlRootElementWriter.java ! src/share/classes/com/sun/tools/internal/xjc/generator/annotation/spec/XmlSchemaTypeWriter.java ! src/share/classes/com/sun/tools/internal/xjc/generator/annotation/spec/XmlSchemaTypesWriter.java ! src/share/classes/com/sun/tools/internal/xjc/generator/annotation/spec/XmlSchemaWriter.java + src/share/classes/com/sun/tools/internal/xjc/generator/annotation/spec/XmlSeeAlsoWriter.java ! src/share/classes/com/sun/tools/internal/xjc/generator/annotation/spec/XmlTransientWriter.java ! src/share/classes/com/sun/tools/internal/xjc/generator/annotation/spec/XmlTypeWriter.java ! src/share/classes/com/sun/tools/internal/xjc/generator/annotation/spec/XmlValueWriter.java ! src/share/classes/com/sun/tools/internal/xjc/generator/bean/BeanGenerator.java ! src/share/classes/com/sun/tools/internal/xjc/generator/bean/ClassOutlineImpl.java ! src/share/classes/com/sun/tools/internal/xjc/generator/bean/DualObjectFactoryGenerator.java ! src/share/classes/com/sun/tools/internal/xjc/generator/bean/ElementOutlineImpl.java ! src/share/classes/com/sun/tools/internal/xjc/generator/bean/ImplStructureStrategy.java ! src/share/classes/com/sun/tools/internal/xjc/generator/bean/MessageBundle.properties ! src/share/classes/com/sun/tools/internal/xjc/generator/bean/Messages.java ! src/share/classes/com/sun/tools/internal/xjc/generator/bean/MethodWriter.java ! src/share/classes/com/sun/tools/internal/xjc/generator/bean/ObjectFactoryGenerator.java ! src/share/classes/com/sun/tools/internal/xjc/generator/bean/ObjectFactoryGeneratorImpl.java ! src/share/classes/com/sun/tools/internal/xjc/generator/bean/PackageOutlineImpl.java ! src/share/classes/com/sun/tools/internal/xjc/generator/bean/PrivateObjectFactoryGenerator.java ! src/share/classes/com/sun/tools/internal/xjc/generator/bean/PublicObjectFactoryGenerator.java ! src/share/classes/com/sun/tools/internal/xjc/generator/bean/field/AbstractField.java ! src/share/classes/com/sun/tools/internal/xjc/generator/bean/field/AbstractFieldWithVar.java ! src/share/classes/com/sun/tools/internal/xjc/generator/bean/field/AbstractListField.java ! src/share/classes/com/sun/tools/internal/xjc/generator/bean/field/ArrayField.java ! src/share/classes/com/sun/tools/internal/xjc/generator/bean/field/ConstField.java ! src/share/classes/com/sun/tools/internal/xjc/generator/bean/field/ConstFieldRenderer.java ! src/share/classes/com/sun/tools/internal/xjc/generator/bean/field/DefaultFieldRenderer.java ! src/share/classes/com/sun/tools/internal/xjc/generator/bean/field/FieldRenderer.java ! src/share/classes/com/sun/tools/internal/xjc/generator/bean/field/FieldRendererFactory.java ! src/share/classes/com/sun/tools/internal/xjc/generator/bean/field/GenericFieldRenderer.java ! src/share/classes/com/sun/tools/internal/xjc/generator/bean/field/IsSetField.java ! src/share/classes/com/sun/tools/internal/xjc/generator/bean/field/IsSetFieldRenderer.java ! src/share/classes/com/sun/tools/internal/xjc/generator/bean/field/MessageBundle.properties ! src/share/classes/com/sun/tools/internal/xjc/generator/bean/field/Messages.java ! src/share/classes/com/sun/tools/internal/xjc/generator/bean/field/SingleField.java ! src/share/classes/com/sun/tools/internal/xjc/generator/bean/field/SinglePrimitiveAccessField.java ! src/share/classes/com/sun/tools/internal/xjc/generator/bean/field/UnboxedField.java ! src/share/classes/com/sun/tools/internal/xjc/generator/bean/field/UntypedListField.java ! src/share/classes/com/sun/tools/internal/xjc/generator/bean/field/UntypedListFieldRenderer.java ! src/share/classes/com/sun/tools/internal/xjc/generator/bean/field/package.html ! src/share/classes/com/sun/tools/internal/xjc/generator/package-info.java ! src/share/classes/com/sun/tools/internal/xjc/generator/util/BlockReference.java ! src/share/classes/com/sun/tools/internal/xjc/generator/util/ExistingBlockReference.java ! src/share/classes/com/sun/tools/internal/xjc/generator/util/LazyBlockReference.java ! src/share/classes/com/sun/tools/internal/xjc/generator/util/WhitespaceNormalizer.java + src/share/classes/com/sun/tools/internal/xjc/model/AbstractCElement.java ! src/share/classes/com/sun/tools/internal/xjc/model/AbstractCTypeInfoImpl.java + src/share/classes/com/sun/tools/internal/xjc/model/AutoClassNameAllocator.java ! src/share/classes/com/sun/tools/internal/xjc/model/CAdapter.java ! src/share/classes/com/sun/tools/internal/xjc/model/CArrayInfo.java ! src/share/classes/com/sun/tools/internal/xjc/model/CAttributePropertyInfo.java ! src/share/classes/com/sun/tools/internal/xjc/model/CBuiltinLeafInfo.java + src/share/classes/com/sun/tools/internal/xjc/model/CClass.java ! src/share/classes/com/sun/tools/internal/xjc/model/CClassInfo.java ! src/share/classes/com/sun/tools/internal/xjc/model/CClassInfoParent.java + src/share/classes/com/sun/tools/internal/xjc/model/CClassRef.java ! src/share/classes/com/sun/tools/internal/xjc/model/CCustomizable.java ! src/share/classes/com/sun/tools/internal/xjc/model/CCustomizations.java ! src/share/classes/com/sun/tools/internal/xjc/model/CDefaultValue.java ! src/share/classes/com/sun/tools/internal/xjc/model/CElement.java ! src/share/classes/com/sun/tools/internal/xjc/model/CElementInfo.java ! src/share/classes/com/sun/tools/internal/xjc/model/CElementPropertyInfo.java ! src/share/classes/com/sun/tools/internal/xjc/model/CEnumConstant.java ! src/share/classes/com/sun/tools/internal/xjc/model/CEnumLeafInfo.java ! src/share/classes/com/sun/tools/internal/xjc/model/CNonElement.java ! src/share/classes/com/sun/tools/internal/xjc/model/CPluginCustomization.java ! src/share/classes/com/sun/tools/internal/xjc/model/CPropertyInfo.java ! src/share/classes/com/sun/tools/internal/xjc/model/CPropertyVisitor.java ! src/share/classes/com/sun/tools/internal/xjc/model/CReferencePropertyInfo.java ! src/share/classes/com/sun/tools/internal/xjc/model/CSingleTypePropertyInfo.java ! src/share/classes/com/sun/tools/internal/xjc/model/CTypeInfo.java ! src/share/classes/com/sun/tools/internal/xjc/model/CTypeRef.java ! src/share/classes/com/sun/tools/internal/xjc/model/CValuePropertyInfo.java ! src/share/classes/com/sun/tools/internal/xjc/model/CWildcardTypeInfo.java ! src/share/classes/com/sun/tools/internal/xjc/model/ClassNameAllocatorWrapper.java ! src/share/classes/com/sun/tools/internal/xjc/model/Constructor.java ! src/share/classes/com/sun/tools/internal/xjc/model/Model.java ! src/share/classes/com/sun/tools/internal/xjc/model/Multiplicity.java ! src/share/classes/com/sun/tools/internal/xjc/model/Populatable.java ! src/share/classes/com/sun/tools/internal/xjc/model/SymbolSpace.java ! src/share/classes/com/sun/tools/internal/xjc/model/TypeUse.java ! src/share/classes/com/sun/tools/internal/xjc/model/TypeUseFactory.java ! src/share/classes/com/sun/tools/internal/xjc/model/TypeUseImpl.java ! src/share/classes/com/sun/tools/internal/xjc/model/nav/EagerNClass.java ! src/share/classes/com/sun/tools/internal/xjc/model/nav/EagerNType.java ! src/share/classes/com/sun/tools/internal/xjc/model/nav/NClass.java ! src/share/classes/com/sun/tools/internal/xjc/model/nav/NClassByJClass.java ! src/share/classes/com/sun/tools/internal/xjc/model/nav/NParameterizedType.java ! src/share/classes/com/sun/tools/internal/xjc/model/nav/NType.java ! src/share/classes/com/sun/tools/internal/xjc/model/nav/NavigatorImpl.java ! src/share/classes/com/sun/tools/internal/xjc/model/nav/package.html ! src/share/classes/com/sun/tools/internal/xjc/model/package-info.java ! src/share/classes/com/sun/tools/internal/xjc/outline/Aspect.java ! src/share/classes/com/sun/tools/internal/xjc/outline/ClassOutline.java ! src/share/classes/com/sun/tools/internal/xjc/outline/ElementOutline.java ! src/share/classes/com/sun/tools/internal/xjc/outline/EnumConstantOutline.java ! src/share/classes/com/sun/tools/internal/xjc/outline/EnumOutline.java ! src/share/classes/com/sun/tools/internal/xjc/outline/FieldAccessor.java ! src/share/classes/com/sun/tools/internal/xjc/outline/FieldOutline.java ! src/share/classes/com/sun/tools/internal/xjc/outline/Outline.java ! src/share/classes/com/sun/tools/internal/xjc/outline/PackageOutline.java ! src/share/classes/com/sun/tools/internal/xjc/outline/package.html ! src/share/classes/com/sun/tools/internal/xjc/package-info.java + src/share/classes/com/sun/tools/internal/xjc/reader/AbstractExtensionBindingChecker.java ! src/share/classes/com/sun/tools/internal/xjc/reader/Const.java ! src/share/classes/com/sun/tools/internal/xjc/reader/ExtensionBindingChecker.java ! src/share/classes/com/sun/tools/internal/xjc/reader/MessageBundle.properties ! src/share/classes/com/sun/tools/internal/xjc/reader/Messages.java ! src/share/classes/com/sun/tools/internal/xjc/reader/ModelChecker.java ! src/share/classes/com/sun/tools/internal/xjc/reader/RawTypeSet.java ! src/share/classes/com/sun/tools/internal/xjc/reader/Ring.java ! src/share/classes/com/sun/tools/internal/xjc/reader/TypeUtil.java ! src/share/classes/com/sun/tools/internal/xjc/reader/Util.java ! src/share/classes/com/sun/tools/internal/xjc/reader/dtd/Block.java ! src/share/classes/com/sun/tools/internal/xjc/reader/dtd/Element.java ! src/share/classes/com/sun/tools/internal/xjc/reader/dtd/MessageBundle.properties ! src/share/classes/com/sun/tools/internal/xjc/reader/dtd/Messages.java ! src/share/classes/com/sun/tools/internal/xjc/reader/dtd/ModelGroup.java ! src/share/classes/com/sun/tools/internal/xjc/reader/dtd/Occurence.java ! src/share/classes/com/sun/tools/internal/xjc/reader/dtd/TDTDReader.java ! src/share/classes/com/sun/tools/internal/xjc/reader/dtd/Term.java ! src/share/classes/com/sun/tools/internal/xjc/reader/dtd/bindinfo/BIAttribute.java ! src/share/classes/com/sun/tools/internal/xjc/reader/dtd/bindinfo/BIConstructor.java ! src/share/classes/com/sun/tools/internal/xjc/reader/dtd/bindinfo/BIContent.java ! src/share/classes/com/sun/tools/internal/xjc/reader/dtd/bindinfo/BIConversion.java ! src/share/classes/com/sun/tools/internal/xjc/reader/dtd/bindinfo/BIElement.java ! src/share/classes/com/sun/tools/internal/xjc/reader/dtd/bindinfo/BIEnumeration.java ! src/share/classes/com/sun/tools/internal/xjc/reader/dtd/bindinfo/BIInterface.java ! src/share/classes/com/sun/tools/internal/xjc/reader/dtd/bindinfo/BIUserConversion.java ! src/share/classes/com/sun/tools/internal/xjc/reader/dtd/bindinfo/BindInfo.java - src/share/classes/com/sun/tools/internal/xjc/reader/dtd/bindinfo/DOM4JLocator.java ! src/share/classes/com/sun/tools/internal/xjc/reader/dtd/bindinfo/DOMBuilder.java + src/share/classes/com/sun/tools/internal/xjc/reader/dtd/bindinfo/DOMLocator.java ! src/share/classes/com/sun/tools/internal/xjc/reader/dtd/bindinfo/DOMUtil.java + src/share/classes/com/sun/tools/internal/xjc/reader/dtd/bindinfo/DTDExtensionBindingChecker.java ! src/share/classes/com/sun/tools/internal/xjc/reader/dtd/bindinfo/MessageBundle.properties ! src/share/classes/com/sun/tools/internal/xjc/reader/dtd/bindinfo/Messages.java ! src/share/classes/com/sun/tools/internal/xjc/reader/dtd/bindinfo/bindingfile.rng ! src/share/classes/com/sun/tools/internal/xjc/reader/dtd/bindinfo/bindingfile.xsd ! src/share/classes/com/sun/tools/internal/xjc/reader/dtd/bindinfo/package.html ! src/share/classes/com/sun/tools/internal/xjc/reader/dtd/bindinfo/xjc.xsd ! src/share/classes/com/sun/tools/internal/xjc/reader/gbind/Choice.java ! src/share/classes/com/sun/tools/internal/xjc/reader/gbind/ConnectedComponent.java ! src/share/classes/com/sun/tools/internal/xjc/reader/gbind/Element.java ! src/share/classes/com/sun/tools/internal/xjc/reader/gbind/ElementSet.java ! src/share/classes/com/sun/tools/internal/xjc/reader/gbind/ElementSets.java ! src/share/classes/com/sun/tools/internal/xjc/reader/gbind/Expression.java ! src/share/classes/com/sun/tools/internal/xjc/reader/gbind/Graph.java ! src/share/classes/com/sun/tools/internal/xjc/reader/gbind/OneOrMore.java ! src/share/classes/com/sun/tools/internal/xjc/reader/gbind/Sequence.java ! src/share/classes/com/sun/tools/internal/xjc/reader/gbind/SinkNode.java ! src/share/classes/com/sun/tools/internal/xjc/reader/gbind/SourceNode.java ! src/share/classes/com/sun/tools/internal/xjc/reader/gbind/package.html ! src/share/classes/com/sun/tools/internal/xjc/reader/internalizer/AbstractReferenceFinderImpl.java ! src/share/classes/com/sun/tools/internal/xjc/reader/internalizer/ContentHandlerNamespacePrefixAdapter.java ! src/share/classes/com/sun/tools/internal/xjc/reader/internalizer/DOMBuilder.java ! src/share/classes/com/sun/tools/internal/xjc/reader/internalizer/DOMForest.java ! src/share/classes/com/sun/tools/internal/xjc/reader/internalizer/DOMForestParser.java ! src/share/classes/com/sun/tools/internal/xjc/reader/internalizer/DOMForestScanner.java ! src/share/classes/com/sun/tools/internal/xjc/reader/internalizer/InternalizationLogic.java ! src/share/classes/com/sun/tools/internal/xjc/reader/internalizer/Internalizer.java ! src/share/classes/com/sun/tools/internal/xjc/reader/internalizer/LocatorTable.java ! src/share/classes/com/sun/tools/internal/xjc/reader/internalizer/MessageBundle.properties ! src/share/classes/com/sun/tools/internal/xjc/reader/internalizer/Messages.java ! src/share/classes/com/sun/tools/internal/xjc/reader/internalizer/NamespaceContextImpl.java + src/share/classes/com/sun/tools/internal/xjc/reader/internalizer/SCDBasedBindingSet.java ! src/share/classes/com/sun/tools/internal/xjc/reader/internalizer/VersionChecker.java ! src/share/classes/com/sun/tools/internal/xjc/reader/internalizer/WhitespaceStripper.java ! src/share/classes/com/sun/tools/internal/xjc/reader/internalizer/package.html ! src/share/classes/com/sun/tools/internal/xjc/reader/package.html ! src/share/classes/com/sun/tools/internal/xjc/reader/relaxng/BindStyle.java ! src/share/classes/com/sun/tools/internal/xjc/reader/relaxng/ContentModelBinder.java ! src/share/classes/com/sun/tools/internal/xjc/reader/relaxng/DatatypeLib.java ! src/share/classes/com/sun/tools/internal/xjc/reader/relaxng/DefineFinder.java ! src/share/classes/com/sun/tools/internal/xjc/reader/relaxng/NameCalculator.java ! src/share/classes/com/sun/tools/internal/xjc/reader/relaxng/RELAXNGCompiler.java ! src/share/classes/com/sun/tools/internal/xjc/reader/relaxng/RELAXNGInternalizationLogic.java ! src/share/classes/com/sun/tools/internal/xjc/reader/relaxng/RawTypeSetBuilder.java ! src/share/classes/com/sun/tools/internal/xjc/reader/relaxng/TypePatternBinder.java ! src/share/classes/com/sun/tools/internal/xjc/reader/relaxng/TypeUseBinder.java ! src/share/classes/com/sun/tools/internal/xjc/reader/xmlschema/Abstractifier.java ! src/share/classes/com/sun/tools/internal/xjc/reader/xmlschema/BGMBuilder.java ! src/share/classes/com/sun/tools/internal/xjc/reader/xmlschema/BindBlue.java ! src/share/classes/com/sun/tools/internal/xjc/reader/xmlschema/BindGreen.java ! src/share/classes/com/sun/tools/internal/xjc/reader/xmlschema/BindPurple.java ! src/share/classes/com/sun/tools/internal/xjc/reader/xmlschema/BindRed.java ! src/share/classes/com/sun/tools/internal/xjc/reader/xmlschema/BindYellow.java ! src/share/classes/com/sun/tools/internal/xjc/reader/xmlschema/BindingComponent.java ! src/share/classes/com/sun/tools/internal/xjc/reader/xmlschema/ClassBinder.java ! src/share/classes/com/sun/tools/internal/xjc/reader/xmlschema/ClassBinderFilter.java ! src/share/classes/com/sun/tools/internal/xjc/reader/xmlschema/ClassSelector.java ! src/share/classes/com/sun/tools/internal/xjc/reader/xmlschema/CollisionInfo.java ! src/share/classes/com/sun/tools/internal/xjc/reader/xmlschema/ColorBinder.java ! src/share/classes/com/sun/tools/internal/xjc/reader/xmlschema/DefaultClassBinder.java ! src/share/classes/com/sun/tools/internal/xjc/reader/xmlschema/DefaultParticleBinder.java ! src/share/classes/com/sun/tools/internal/xjc/reader/xmlschema/ErrorReporter.java ! src/share/classes/com/sun/tools/internal/xjc/reader/xmlschema/ExpressionBuilder.java ! src/share/classes/com/sun/tools/internal/xjc/reader/xmlschema/ExpressionParticleBinder.java ! src/share/classes/com/sun/tools/internal/xjc/reader/xmlschema/GElement.java ! src/share/classes/com/sun/tools/internal/xjc/reader/xmlschema/GElementImpl.java ! src/share/classes/com/sun/tools/internal/xjc/reader/xmlschema/GWildcardElement.java ! src/share/classes/com/sun/tools/internal/xjc/reader/xmlschema/MessageBundle.properties ! src/share/classes/com/sun/tools/internal/xjc/reader/xmlschema/Messages.java ! src/share/classes/com/sun/tools/internal/xjc/reader/xmlschema/MultiplicityCounter.java ! src/share/classes/com/sun/tools/internal/xjc/reader/xmlschema/ParticleBinder.java ! src/share/classes/com/sun/tools/internal/xjc/reader/xmlschema/RawTypeSetBuilder.java ! src/share/classes/com/sun/tools/internal/xjc/reader/xmlschema/RefererFinder.java ! src/share/classes/com/sun/tools/internal/xjc/reader/xmlschema/SimpleTypeBuilder.java ! src/share/classes/com/sun/tools/internal/xjc/reader/xmlschema/UnusedCustomizationChecker.java ! src/share/classes/com/sun/tools/internal/xjc/reader/xmlschema/WildcardNameClassBuilder.java ! src/share/classes/com/sun/tools/internal/xjc/reader/xmlschema/bindinfo/AbstractDeclarationImpl.java ! src/share/classes/com/sun/tools/internal/xjc/reader/xmlschema/bindinfo/AnnotationParserFactoryImpl.java ! src/share/classes/com/sun/tools/internal/xjc/reader/xmlschema/bindinfo/BIClass.java ! src/share/classes/com/sun/tools/internal/xjc/reader/xmlschema/bindinfo/BIConversion.java ! src/share/classes/com/sun/tools/internal/xjc/reader/xmlschema/bindinfo/BIDeclaration.java ! src/share/classes/com/sun/tools/internal/xjc/reader/xmlschema/bindinfo/BIDom.java ! src/share/classes/com/sun/tools/internal/xjc/reader/xmlschema/bindinfo/BIEnum.java ! src/share/classes/com/sun/tools/internal/xjc/reader/xmlschema/bindinfo/BIEnumMember.java ! src/share/classes/com/sun/tools/internal/xjc/reader/xmlschema/bindinfo/BIGlobalBinding.java ! src/share/classes/com/sun/tools/internal/xjc/reader/xmlschema/bindinfo/BIProperty.java ! src/share/classes/com/sun/tools/internal/xjc/reader/xmlschema/bindinfo/BISchemaBinding.java ! src/share/classes/com/sun/tools/internal/xjc/reader/xmlschema/bindinfo/BISerializable.java ! src/share/classes/com/sun/tools/internal/xjc/reader/xmlschema/bindinfo/BIXDom.java ! src/share/classes/com/sun/tools/internal/xjc/reader/xmlschema/bindinfo/BIXPluginCustomization.java + src/share/classes/com/sun/tools/internal/xjc/reader/xmlschema/bindinfo/BIXSubstitutable.java ! src/share/classes/com/sun/tools/internal/xjc/reader/xmlschema/bindinfo/BindInfo.java ! src/share/classes/com/sun/tools/internal/xjc/reader/xmlschema/bindinfo/CollectionTypeAttribute.java ! src/share/classes/com/sun/tools/internal/xjc/reader/xmlschema/bindinfo/DomHandlerEx.java ! src/share/classes/com/sun/tools/internal/xjc/reader/xmlschema/bindinfo/EnumMemberMode.java ! src/share/classes/com/sun/tools/internal/xjc/reader/xmlschema/bindinfo/ForkingFilter.java ! src/share/classes/com/sun/tools/internal/xjc/reader/xmlschema/bindinfo/LocalScoping.java ! src/share/classes/com/sun/tools/internal/xjc/reader/xmlschema/bindinfo/MessageBundle.properties ! src/share/classes/com/sun/tools/internal/xjc/reader/xmlschema/bindinfo/Messages.java ! src/share/classes/com/sun/tools/internal/xjc/reader/xmlschema/bindinfo/OptionalPropertyMode.java ! src/share/classes/com/sun/tools/internal/xjc/reader/xmlschema/bindinfo/binding.rng ! src/share/classes/com/sun/tools/internal/xjc/reader/xmlschema/bindinfo/binding.xsd ! src/share/classes/com/sun/tools/internal/xjc/reader/xmlschema/bindinfo/package-info.java ! src/share/classes/com/sun/tools/internal/xjc/reader/xmlschema/bindinfo/package.html ! src/share/classes/com/sun/tools/internal/xjc/reader/xmlschema/bindinfo/xjc.xsd ! src/share/classes/com/sun/tools/internal/xjc/reader/xmlschema/bindinfo/xs.xsd ! src/share/classes/com/sun/tools/internal/xjc/reader/xmlschema/ct/CTBuilder.java ! src/share/classes/com/sun/tools/internal/xjc/reader/xmlschema/ct/ChoiceContentComplexTypeBuilder.java ! src/share/classes/com/sun/tools/internal/xjc/reader/xmlschema/ct/ComplexTypeBindingMode.java ! src/share/classes/com/sun/tools/internal/xjc/reader/xmlschema/ct/ComplexTypeFieldBuilder.java ! src/share/classes/com/sun/tools/internal/xjc/reader/xmlschema/ct/ExtendedComplexTypeBuilder.java ! src/share/classes/com/sun/tools/internal/xjc/reader/xmlschema/ct/FreshComplexTypeBuilder.java ! src/share/classes/com/sun/tools/internal/xjc/reader/xmlschema/ct/MessageBundle.properties ! src/share/classes/com/sun/tools/internal/xjc/reader/xmlschema/ct/Messages.java ! src/share/classes/com/sun/tools/internal/xjc/reader/xmlschema/ct/MixedComplexTypeBuilder.java ! src/share/classes/com/sun/tools/internal/xjc/reader/xmlschema/ct/RestrictedComplexTypeBuilder.java ! src/share/classes/com/sun/tools/internal/xjc/reader/xmlschema/ct/STDerivedComplexTypeBuilder.java ! src/share/classes/com/sun/tools/internal/xjc/reader/xmlschema/parser/CustomizationContextChecker.java ! src/share/classes/com/sun/tools/internal/xjc/reader/xmlschema/parser/IncorrectNamespaceURIChecker.java ! src/share/classes/com/sun/tools/internal/xjc/reader/xmlschema/parser/LSInputSAXWrapper.java ! src/share/classes/com/sun/tools/internal/xjc/reader/xmlschema/parser/MessageBundle.properties ! src/share/classes/com/sun/tools/internal/xjc/reader/xmlschema/parser/Messages.java ! src/share/classes/com/sun/tools/internal/xjc/reader/xmlschema/parser/SchemaConstraintChecker.java ! src/share/classes/com/sun/tools/internal/xjc/reader/xmlschema/parser/XMLSchemaInternalizationLogic.java ! src/share/classes/com/sun/tools/internal/xjc/runtime/JAXBContextFactory.java ! src/share/classes/com/sun/tools/internal/xjc/runtime/ZeroOneBooleanAdapter.java ! src/share/classes/com/sun/tools/internal/xjc/runtime/package.html ! src/share/classes/com/sun/tools/internal/xjc/util/CodeModelClassFactory.java ! src/share/classes/com/sun/tools/internal/xjc/util/DOMUtils.java ! src/share/classes/com/sun/tools/internal/xjc/util/ErrorReceiverFilter.java ! src/share/classes/com/sun/tools/internal/xjc/util/ForkContentHandler.java ! src/share/classes/com/sun/tools/internal/xjc/util/ForkEntityResolver.java ! src/share/classes/com/sun/tools/internal/xjc/util/MessageBundle.properties ! src/share/classes/com/sun/tools/internal/xjc/util/Messages.java ! src/share/classes/com/sun/tools/internal/xjc/util/MimeTypeRange.java ! src/share/classes/com/sun/tools/internal/xjc/util/NamespaceContextAdapter.java ! src/share/classes/com/sun/tools/internal/xjc/util/NullStream.java ! src/share/classes/com/sun/tools/internal/xjc/util/ReadOnlyAdapter.java ! src/share/classes/com/sun/tools/internal/xjc/util/StringCutter.java + src/share/classes/com/sun/tools/internal/xjc/util/SubtreeCutter.java ! src/share/classes/com/sun/tools/internal/xjc/util/Util.java - src/share/classes/com/sun/tools/internal/xjc/util/XMLStreamReaderToContentHandler.java ! src/share/classes/com/sun/tools/internal/xjc/writer/SignatureWriter.java + src/share/classes/com/sun/xml/internal/bind/AccessorFactory.java + src/share/classes/com/sun/xml/internal/bind/AccessorFactoryImpl.java + src/share/classes/com/sun/xml/internal/bind/AnyTypeAdapter.java + src/share/classes/com/sun/xml/internal/bind/CycleRecoverable.java ! src/share/classes/com/sun/xml/internal/bind/DatatypeConverterImpl.java ! src/share/classes/com/sun/xml/internal/bind/IDResolver.java ! src/share/classes/com/sun/xml/internal/bind/Locatable.java ! src/share/classes/com/sun/xml/internal/bind/Util.java ! src/share/classes/com/sun/xml/internal/bind/ValidationEventLocatorEx.java ! src/share/classes/com/sun/xml/internal/bind/WhiteSpaceProcessor.java + src/share/classes/com/sun/xml/internal/bind/XmlAccessorFactory.java ! src/share/classes/com/sun/xml/internal/bind/annotation/XmlIsSet.java ! src/share/classes/com/sun/xml/internal/bind/annotation/XmlLocation.java ! src/share/classes/com/sun/xml/internal/bind/api/AccessorException.java ! src/share/classes/com/sun/xml/internal/bind/api/Bridge.java ! src/share/classes/com/sun/xml/internal/bind/api/BridgeContext.java + src/share/classes/com/sun/xml/internal/bind/api/ClassResolver.java ! src/share/classes/com/sun/xml/internal/bind/api/CompositeStructure.java + src/share/classes/com/sun/xml/internal/bind/api/ErrorListener.java ! src/share/classes/com/sun/xml/internal/bind/api/JAXBRIContext.java ! src/share/classes/com/sun/xml/internal/bind/api/RawAccessor.java ! src/share/classes/com/sun/xml/internal/bind/api/TypeReference.java ! src/share/classes/com/sun/xml/internal/bind/api/impl/NameConverter.java ! src/share/classes/com/sun/xml/internal/bind/api/impl/NameUtil.java ! src/share/classes/com/sun/xml/internal/bind/api/package-info.java ! src/share/classes/com/sun/xml/internal/bind/marshaller/CharacterEscapeHandler.java ! src/share/classes/com/sun/xml/internal/bind/marshaller/DataWriter.java ! src/share/classes/com/sun/xml/internal/bind/marshaller/DumbEscapeHandler.java ! src/share/classes/com/sun/xml/internal/bind/marshaller/Messages.java ! src/share/classes/com/sun/xml/internal/bind/marshaller/Messages.properties ! src/share/classes/com/sun/xml/internal/bind/marshaller/MinimumEscapeHandler.java ! src/share/classes/com/sun/xml/internal/bind/marshaller/NamespacePrefixMapper.java ! src/share/classes/com/sun/xml/internal/bind/marshaller/NioEscapeHandler.java ! src/share/classes/com/sun/xml/internal/bind/marshaller/SAX2DOMEx.java ! src/share/classes/com/sun/xml/internal/bind/marshaller/XMLWriter.java ! src/share/classes/com/sun/xml/internal/bind/unmarshaller/DOMScanner.java ! src/share/classes/com/sun/xml/internal/bind/unmarshaller/InfosetScanner.java ! src/share/classes/com/sun/xml/internal/bind/unmarshaller/Messages.java ! src/share/classes/com/sun/xml/internal/bind/unmarshaller/Messages.properties ! src/share/classes/com/sun/xml/internal/bind/unmarshaller/Patcher.java ! src/share/classes/com/sun/xml/internal/bind/util/AttributesImpl.java ! src/share/classes/com/sun/xml/internal/bind/util/ValidationEventLocatorExImpl.java ! src/share/classes/com/sun/xml/internal/bind/util/Which.java ! src/share/classes/com/sun/xml/internal/bind/v2/ClassFactory.java ! src/share/classes/com/sun/xml/internal/bind/v2/ContextFactory.java ! src/share/classes/com/sun/xml/internal/bind/v2/Messages.java ! src/share/classes/com/sun/xml/internal/bind/v2/Messages.properties ! src/share/classes/com/sun/xml/internal/bind/v2/TODO.java ! src/share/classes/com/sun/xml/internal/bind/v2/WellKnownNamespace.java ! src/share/classes/com/sun/xml/internal/bind/v2/bytecode/ClassTailor.java ! src/share/classes/com/sun/xml/internal/bind/v2/bytecode/package.html - src/share/classes/com/sun/xml/internal/bind/v2/doc-files/packages.png - src/share/classes/com/sun/xml/internal/bind/v2/doc-files/packages.vsd - src/share/classes/com/sun/xml/internal/bind/v2/doc-files/readme.txt ! src/share/classes/com/sun/xml/internal/bind/v2/model/annotation/AbstractInlineAnnotationReaderImpl.java ! src/share/classes/com/sun/xml/internal/bind/v2/model/annotation/AnnotationReader.java ! src/share/classes/com/sun/xml/internal/bind/v2/model/annotation/AnnotationSource.java ! src/share/classes/com/sun/xml/internal/bind/v2/model/annotation/ClassLocatable.java ! src/share/classes/com/sun/xml/internal/bind/v2/model/annotation/FieldLocatable.java ! src/share/classes/com/sun/xml/internal/bind/v2/model/annotation/Init.java ! src/share/classes/com/sun/xml/internal/bind/v2/model/annotation/Locatable.java ! src/share/classes/com/sun/xml/internal/bind/v2/model/annotation/LocatableAnnotation.java ! src/share/classes/com/sun/xml/internal/bind/v2/model/annotation/Messages.java ! src/share/classes/com/sun/xml/internal/bind/v2/model/annotation/Messages.properties ! src/share/classes/com/sun/xml/internal/bind/v2/model/annotation/MethodLocatable.java ! src/share/classes/com/sun/xml/internal/bind/v2/model/annotation/Quick.java ! src/share/classes/com/sun/xml/internal/bind/v2/model/annotation/RuntimeAnnotationReader.java ! src/share/classes/com/sun/xml/internal/bind/v2/model/annotation/RuntimeInlineAnnotationReader.java ! src/share/classes/com/sun/xml/internal/bind/v2/model/annotation/XmlAttributeQuick.java ! src/share/classes/com/sun/xml/internal/bind/v2/model/annotation/XmlElementDeclQuick.java ! src/share/classes/com/sun/xml/internal/bind/v2/model/annotation/XmlElementQuick.java ! src/share/classes/com/sun/xml/internal/bind/v2/model/annotation/XmlElementRefQuick.java ! src/share/classes/com/sun/xml/internal/bind/v2/model/annotation/XmlElementRefsQuick.java ! src/share/classes/com/sun/xml/internal/bind/v2/model/annotation/XmlEnumQuick.java ! src/share/classes/com/sun/xml/internal/bind/v2/model/annotation/XmlRootElementQuick.java ! src/share/classes/com/sun/xml/internal/bind/v2/model/annotation/XmlSchemaQuick.java ! src/share/classes/com/sun/xml/internal/bind/v2/model/annotation/XmlTransientQuick.java ! src/share/classes/com/sun/xml/internal/bind/v2/model/annotation/XmlTypeQuick.java ! src/share/classes/com/sun/xml/internal/bind/v2/model/annotation/XmlValueQuick.java ! src/share/classes/com/sun/xml/internal/bind/v2/model/annotation/package.html ! src/share/classes/com/sun/xml/internal/bind/v2/model/core/Adapter.java ! src/share/classes/com/sun/xml/internal/bind/v2/model/core/ArrayInfo.java ! src/share/classes/com/sun/xml/internal/bind/v2/model/core/AttributePropertyInfo.java ! src/share/classes/com/sun/xml/internal/bind/v2/model/core/BuiltinLeafInfo.java ! src/share/classes/com/sun/xml/internal/bind/v2/model/core/ClassInfo.java ! src/share/classes/com/sun/xml/internal/bind/v2/model/core/Element.java ! src/share/classes/com/sun/xml/internal/bind/v2/model/core/ElementInfo.java ! src/share/classes/com/sun/xml/internal/bind/v2/model/core/ElementPropertyInfo.java ! src/share/classes/com/sun/xml/internal/bind/v2/model/core/EnumConstant.java ! src/share/classes/com/sun/xml/internal/bind/v2/model/core/EnumLeafInfo.java ! src/share/classes/com/sun/xml/internal/bind/v2/model/core/ErrorHandler.java ! src/share/classes/com/sun/xml/internal/bind/v2/model/core/ID.java ! src/share/classes/com/sun/xml/internal/bind/v2/model/core/LeafInfo.java ! src/share/classes/com/sun/xml/internal/bind/v2/model/core/MapPropertyInfo.java ! src/share/classes/com/sun/xml/internal/bind/v2/model/core/MaybeElement.java ! src/share/classes/com/sun/xml/internal/bind/v2/model/core/NonElement.java ! src/share/classes/com/sun/xml/internal/bind/v2/model/core/NonElementRef.java ! src/share/classes/com/sun/xml/internal/bind/v2/model/core/PropertyInfo.java ! src/share/classes/com/sun/xml/internal/bind/v2/model/core/PropertyKind.java ! src/share/classes/com/sun/xml/internal/bind/v2/model/core/Ref.java ! src/share/classes/com/sun/xml/internal/bind/v2/model/core/ReferencePropertyInfo.java ! src/share/classes/com/sun/xml/internal/bind/v2/model/core/RegistryInfo.java ! src/share/classes/com/sun/xml/internal/bind/v2/model/core/TypeInfo.java ! src/share/classes/com/sun/xml/internal/bind/v2/model/core/TypeInfoSet.java ! src/share/classes/com/sun/xml/internal/bind/v2/model/core/TypeRef.java ! src/share/classes/com/sun/xml/internal/bind/v2/model/core/ValuePropertyInfo.java ! src/share/classes/com/sun/xml/internal/bind/v2/model/core/WildcardMode.java ! src/share/classes/com/sun/xml/internal/bind/v2/model/core/WildcardTypeInfo.java ! src/share/classes/com/sun/xml/internal/bind/v2/model/core/package-info.java ! src/share/classes/com/sun/xml/internal/bind/v2/model/impl/AnyTypeImpl.java ! src/share/classes/com/sun/xml/internal/bind/v2/model/impl/ArrayInfoImpl.java ! src/share/classes/com/sun/xml/internal/bind/v2/model/impl/AttributePropertyInfoImpl.java ! src/share/classes/com/sun/xml/internal/bind/v2/model/impl/BuiltinLeafInfoImpl.java ! src/share/classes/com/sun/xml/internal/bind/v2/model/impl/ClassInfoImpl.java ! src/share/classes/com/sun/xml/internal/bind/v2/model/impl/ERPropertyInfoImpl.java ! src/share/classes/com/sun/xml/internal/bind/v2/model/impl/ElementInfoImpl.java ! src/share/classes/com/sun/xml/internal/bind/v2/model/impl/ElementPropertyInfoImpl.java ! src/share/classes/com/sun/xml/internal/bind/v2/model/impl/EnumConstantImpl.java ! src/share/classes/com/sun/xml/internal/bind/v2/model/impl/EnumLeafInfoImpl.java ! src/share/classes/com/sun/xml/internal/bind/v2/model/impl/FieldPropertySeed.java ! src/share/classes/com/sun/xml/internal/bind/v2/model/impl/GetterSetterPropertySeed.java ! src/share/classes/com/sun/xml/internal/bind/v2/model/impl/LeafInfoImpl.java ! src/share/classes/com/sun/xml/internal/bind/v2/model/impl/MapPropertyInfoImpl.java ! src/share/classes/com/sun/xml/internal/bind/v2/model/impl/Messages.java ! src/share/classes/com/sun/xml/internal/bind/v2/model/impl/Messages.properties ! src/share/classes/com/sun/xml/internal/bind/v2/model/impl/ModelBuilder.java ! src/share/classes/com/sun/xml/internal/bind/v2/model/impl/PropertyInfoImpl.java ! src/share/classes/com/sun/xml/internal/bind/v2/model/impl/PropertySeed.java ! src/share/classes/com/sun/xml/internal/bind/v2/model/impl/ReferencePropertyInfoImpl.java ! src/share/classes/com/sun/xml/internal/bind/v2/model/impl/RegistryInfoImpl.java ! src/share/classes/com/sun/xml/internal/bind/v2/model/impl/RuntimeAnyTypeImpl.java ! src/share/classes/com/sun/xml/internal/bind/v2/model/impl/RuntimeArrayInfoImpl.java ! src/share/classes/com/sun/xml/internal/bind/v2/model/impl/RuntimeAttributePropertyInfoImpl.java ! src/share/classes/com/sun/xml/internal/bind/v2/model/impl/RuntimeBuiltinLeafInfoImpl.java ! src/share/classes/com/sun/xml/internal/bind/v2/model/impl/RuntimeClassInfoImpl.java ! src/share/classes/com/sun/xml/internal/bind/v2/model/impl/RuntimeElementInfoImpl.java ! src/share/classes/com/sun/xml/internal/bind/v2/model/impl/RuntimeElementPropertyInfoImpl.java ! src/share/classes/com/sun/xml/internal/bind/v2/model/impl/RuntimeEnumConstantImpl.java ! src/share/classes/com/sun/xml/internal/bind/v2/model/impl/RuntimeEnumLeafInfoImpl.java ! src/share/classes/com/sun/xml/internal/bind/v2/model/impl/RuntimeMapPropertyInfoImpl.java ! src/share/classes/com/sun/xml/internal/bind/v2/model/impl/RuntimeModelBuilder.java ! src/share/classes/com/sun/xml/internal/bind/v2/model/impl/RuntimeReferencePropertyInfoImpl.java ! src/share/classes/com/sun/xml/internal/bind/v2/model/impl/RuntimeTypeInfoSetImpl.java ! src/share/classes/com/sun/xml/internal/bind/v2/model/impl/RuntimeTypeRefImpl.java ! src/share/classes/com/sun/xml/internal/bind/v2/model/impl/RuntimeValuePropertyInfoImpl.java ! src/share/classes/com/sun/xml/internal/bind/v2/model/impl/SingleTypePropertyInfoImpl.java ! src/share/classes/com/sun/xml/internal/bind/v2/model/impl/TypeInfoImpl.java ! src/share/classes/com/sun/xml/internal/bind/v2/model/impl/TypeInfoSetImpl.java ! src/share/classes/com/sun/xml/internal/bind/v2/model/impl/TypeRefImpl.java ! src/share/classes/com/sun/xml/internal/bind/v2/model/impl/Util.java ! src/share/classes/com/sun/xml/internal/bind/v2/model/impl/ValuePropertyInfoImpl.java ! src/share/classes/com/sun/xml/internal/bind/v2/model/impl/package.html ! src/share/classes/com/sun/xml/internal/bind/v2/model/nav/GenericArrayTypeImpl.java ! src/share/classes/com/sun/xml/internal/bind/v2/model/nav/Navigator.java ! src/share/classes/com/sun/xml/internal/bind/v2/model/nav/ParameterizedTypeImpl.java ! src/share/classes/com/sun/xml/internal/bind/v2/model/nav/ReflectionNavigator.java ! src/share/classes/com/sun/xml/internal/bind/v2/model/nav/TypeVisitor.java ! src/share/classes/com/sun/xml/internal/bind/v2/model/nav/WildcardTypeImpl.java ! src/share/classes/com/sun/xml/internal/bind/v2/model/nav/package.html ! src/share/classes/com/sun/xml/internal/bind/v2/model/runtime/RuntimeArrayInfo.java ! src/share/classes/com/sun/xml/internal/bind/v2/model/runtime/RuntimeAttributePropertyInfo.java ! src/share/classes/com/sun/xml/internal/bind/v2/model/runtime/RuntimeBuiltinLeafInfo.java ! src/share/classes/com/sun/xml/internal/bind/v2/model/runtime/RuntimeClassInfo.java ! src/share/classes/com/sun/xml/internal/bind/v2/model/runtime/RuntimeElement.java ! src/share/classes/com/sun/xml/internal/bind/v2/model/runtime/RuntimeElementInfo.java ! src/share/classes/com/sun/xml/internal/bind/v2/model/runtime/RuntimeElementPropertyInfo.java ! src/share/classes/com/sun/xml/internal/bind/v2/model/runtime/RuntimeEnumLeafInfo.java ! src/share/classes/com/sun/xml/internal/bind/v2/model/runtime/RuntimeLeafInfo.java ! src/share/classes/com/sun/xml/internal/bind/v2/model/runtime/RuntimeMapPropertyInfo.java ! src/share/classes/com/sun/xml/internal/bind/v2/model/runtime/RuntimeNonElement.java ! src/share/classes/com/sun/xml/internal/bind/v2/model/runtime/RuntimeNonElementRef.java ! src/share/classes/com/sun/xml/internal/bind/v2/model/runtime/RuntimePropertyInfo.java ! src/share/classes/com/sun/xml/internal/bind/v2/model/runtime/RuntimeReferencePropertyInfo.java ! src/share/classes/com/sun/xml/internal/bind/v2/model/runtime/RuntimeTypeInfo.java ! src/share/classes/com/sun/xml/internal/bind/v2/model/runtime/RuntimeTypeInfoSet.java ! src/share/classes/com/sun/xml/internal/bind/v2/model/runtime/RuntimeTypeRef.java ! src/share/classes/com/sun/xml/internal/bind/v2/model/runtime/RuntimeValuePropertyInfo.java ! src/share/classes/com/sun/xml/internal/bind/v2/model/runtime/package-info.java ! src/share/classes/com/sun/xml/internal/bind/v2/package-info.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/AnyTypeBeanInfo.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/ArrayBeanInfoImpl.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/AssociationMap.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/BinderImpl.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/BridgeAdapter.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/BridgeContextImpl.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/BridgeImpl.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/ClassBeanInfoImpl.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/CompositeStructureBeanInfo.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/ContentHandlerAdaptor.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/Coordinator.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/DomPostInitAction.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/ElementBeanInfoImpl.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/FilterTransducer.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/IllegalAnnotationException.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/IllegalAnnotationsException.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/InlineBinaryTransducer.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/InternalBridge.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/JAXBContextImpl.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/JaxBeanInfo.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/LeafBeanInfoImpl.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/LifecycleMethods.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/Location.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/MarshallerImpl.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/Messages.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/Messages.properties ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/MimeTypedTransducer.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/Name.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/NameBuilder.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/NameList.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/NamespaceContext2.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/RuntimeUtil.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/SchemaTypeTransducer.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/StAXPostInitAction.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/SwaRefAdapter.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/Transducer.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/ValueListBeanInfoImpl.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/XMLSerializer.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/output/C14nXmlOutput.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/output/DOMOutput.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/output/Encoded.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/output/FastInfosetStreamWriterOutput.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/output/ForkXmlOutput.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/output/InPlaceDOMOutput.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/output/IndentingUTF8XmlOutput.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/output/MTOMXmlOutput.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/output/NamespaceContextImpl.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/output/Pcdata.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/output/SAXOutput.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/output/UTF8XmlOutput.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/output/XMLEventWriterOutput.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/output/XMLStreamWriterOutput.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/output/XmlOutput.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/output/XmlOutputAbstractImpl.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/output/package-info.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/package.html ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/property/ArrayERProperty.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/property/ArrayElementLeafProperty.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/property/ArrayElementNodeProperty.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/property/ArrayElementProperty.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/property/ArrayProperty.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/property/ArrayReferenceNodeProperty.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/property/AttributeProperty.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/property/ListElementProperty.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/property/Messages.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/property/Messages.properties ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/property/Property.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/property/PropertyFactory.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/property/PropertyImpl.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/property/SingleElementLeafProperty.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/property/SingleElementNodeProperty.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/property/SingleMapNodeProperty.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/property/SingleReferenceNodeProperty.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/property/StructureLoaderBuilder.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/property/TagAndType.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/property/UnmarshallerChain.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/property/ValueProperty.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/reflect/Accessor.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/reflect/AdaptedAccessor.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/reflect/AdaptedLister.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/reflect/DefaultTransducedAccessor.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/reflect/ListIterator.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/reflect/ListTransducedAccessorImpl.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/reflect/Lister.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/reflect/Messages.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/reflect/Messages.properties ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/reflect/NullSafeAccessor.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/reflect/PrimitiveArrayListerBoolean.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/reflect/PrimitiveArrayListerByte.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/reflect/PrimitiveArrayListerCharacter.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/reflect/PrimitiveArrayListerDouble.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/reflect/PrimitiveArrayListerFloat.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/reflect/PrimitiveArrayListerInteger.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/reflect/PrimitiveArrayListerLong.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/reflect/PrimitiveArrayListerShort.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/reflect/TransducedAccessor.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/reflect/opt/AccessorInjector.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/reflect/opt/Bean.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/reflect/opt/Const.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/reflect/opt/FieldAccessor_Boolean.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/reflect/opt/FieldAccessor_Byte.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/reflect/opt/FieldAccessor_Character.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/reflect/opt/FieldAccessor_Double.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/reflect/opt/FieldAccessor_Float.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/reflect/opt/FieldAccessor_Integer.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/reflect/opt/FieldAccessor_Long.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/reflect/opt/FieldAccessor_Ref.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/reflect/opt/FieldAccessor_Short.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/reflect/opt/Injector.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/reflect/opt/MethodAccessor_Boolean.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/reflect/opt/MethodAccessor_Byte.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/reflect/opt/MethodAccessor_Character.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/reflect/opt/MethodAccessor_Double.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/reflect/opt/MethodAccessor_Float.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/reflect/opt/MethodAccessor_Integer.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/reflect/opt/MethodAccessor_Long.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/reflect/opt/MethodAccessor_Ref.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/reflect/opt/MethodAccessor_Short.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/reflect/opt/OptimizedAccessorFactory.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/reflect/opt/OptimizedTransducedAccessorFactory.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/reflect/opt/Ref.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/reflect/opt/TransducedAccessor_field_Boolean.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/reflect/opt/TransducedAccessor_field_Byte.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/reflect/opt/TransducedAccessor_field_Double.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/reflect/opt/TransducedAccessor_field_Float.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/reflect/opt/TransducedAccessor_field_Integer.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/reflect/opt/TransducedAccessor_field_Long.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/reflect/opt/TransducedAccessor_field_Short.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/reflect/opt/TransducedAccessor_method_Boolean.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/reflect/opt/TransducedAccessor_method_Byte.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/reflect/opt/TransducedAccessor_method_Double.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/reflect/opt/TransducedAccessor_method_Float.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/reflect/opt/TransducedAccessor_method_Integer.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/reflect/opt/TransducedAccessor_method_Long.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/reflect/opt/TransducedAccessor_method_Short.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/reflect/opt/package.html ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/reflect/package.html ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/unmarshaller/AttributesEx.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/unmarshaller/AttributesExImpl.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/unmarshaller/Base64Data.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/unmarshaller/ChildLoader.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/unmarshaller/DefaultIDResolver.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/unmarshaller/DefaultValueLoaderDecorator.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/unmarshaller/Discarder.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/unmarshaller/DomLoader.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/unmarshaller/FastInfosetConnector.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/unmarshaller/IntArrayData.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/unmarshaller/IntData.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/unmarshaller/Intercepter.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/unmarshaller/InterningXmlVisitor.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/unmarshaller/LeafPropertyLoader.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/unmarshaller/Loader.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/unmarshaller/LocatorEx.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/unmarshaller/LocatorExWrapper.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/unmarshaller/MTOMDecorator.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/unmarshaller/Messages.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/unmarshaller/Messages.properties ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/unmarshaller/Patcher.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/unmarshaller/ProxyLoader.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/unmarshaller/Receiver.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/unmarshaller/SAXConnector.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/unmarshaller/Scope.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/unmarshaller/StAXConnector.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/unmarshaller/StAXEventConnector.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/unmarshaller/StAXStreamConnector.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/unmarshaller/StructureLoader.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/unmarshaller/TagName.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/unmarshaller/TextLoader.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/unmarshaller/UnmarshallerImpl.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/unmarshaller/UnmarshallingContext.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/unmarshaller/ValidatingUnmarshaller.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/unmarshaller/ValuePropertyLoader.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/unmarshaller/WildcardLoader.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/unmarshaller/XmlVisitor.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/unmarshaller/XsiNilLoader.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/unmarshaller/XsiTypeLoader.java ! src/share/classes/com/sun/xml/internal/bind/v2/schemagen/FoolProofResolver.java ! src/share/classes/com/sun/xml/internal/bind/v2/schemagen/Form.java + src/share/classes/com/sun/xml/internal/bind/v2/schemagen/GroupKind.java + src/share/classes/com/sun/xml/internal/bind/v2/schemagen/Messages.java + src/share/classes/com/sun/xml/internal/bind/v2/schemagen/Messages.properties ! src/share/classes/com/sun/xml/internal/bind/v2/schemagen/MultiMap.java + src/share/classes/com/sun/xml/internal/bind/v2/schemagen/Tree.java ! src/share/classes/com/sun/xml/internal/bind/v2/schemagen/Util.java ! src/share/classes/com/sun/xml/internal/bind/v2/schemagen/XmlSchemaGenerator.java + src/share/classes/com/sun/xml/internal/bind/v2/schemagen/episode/Bindings.java + src/share/classes/com/sun/xml/internal/bind/v2/schemagen/episode/Klass.java + src/share/classes/com/sun/xml/internal/bind/v2/schemagen/episode/SchemaBindings.java + src/share/classes/com/sun/xml/internal/bind/v2/schemagen/episode/package-info.java ! src/share/classes/com/sun/xml/internal/bind/v2/schemagen/package-info.java ! src/share/classes/com/sun/xml/internal/bind/v2/schemagen/xmlschema/Annotated.java ! src/share/classes/com/sun/xml/internal/bind/v2/schemagen/xmlschema/Annotation.java ! src/share/classes/com/sun/xml/internal/bind/v2/schemagen/xmlschema/Any.java ! src/share/classes/com/sun/xml/internal/bind/v2/schemagen/xmlschema/Appinfo.java ! src/share/classes/com/sun/xml/internal/bind/v2/schemagen/xmlschema/AttrDecls.java ! src/share/classes/com/sun/xml/internal/bind/v2/schemagen/xmlschema/AttributeType.java ! src/share/classes/com/sun/xml/internal/bind/v2/schemagen/xmlschema/ComplexContent.java ! src/share/classes/com/sun/xml/internal/bind/v2/schemagen/xmlschema/ComplexExtension.java ! src/share/classes/com/sun/xml/internal/bind/v2/schemagen/xmlschema/ComplexRestriction.java ! src/share/classes/com/sun/xml/internal/bind/v2/schemagen/xmlschema/ComplexType.java ! src/share/classes/com/sun/xml/internal/bind/v2/schemagen/xmlschema/ComplexTypeHost.java ! src/share/classes/com/sun/xml/internal/bind/v2/schemagen/xmlschema/ComplexTypeModel.java + src/share/classes/com/sun/xml/internal/bind/v2/schemagen/xmlschema/ContentModelContainer.java ! src/share/classes/com/sun/xml/internal/bind/v2/schemagen/xmlschema/Documentation.java ! src/share/classes/com/sun/xml/internal/bind/v2/schemagen/xmlschema/Element.java ! src/share/classes/com/sun/xml/internal/bind/v2/schemagen/xmlschema/ExplicitGroup.java ! src/share/classes/com/sun/xml/internal/bind/v2/schemagen/xmlschema/ExtensionType.java ! src/share/classes/com/sun/xml/internal/bind/v2/schemagen/xmlschema/FixedOrDefault.java ! src/share/classes/com/sun/xml/internal/bind/v2/schemagen/xmlschema/Import.java ! src/share/classes/com/sun/xml/internal/bind/v2/schemagen/xmlschema/List.java ! src/share/classes/com/sun/xml/internal/bind/v2/schemagen/xmlschema/LocalAttribute.java ! src/share/classes/com/sun/xml/internal/bind/v2/schemagen/xmlschema/LocalElement.java ! src/share/classes/com/sun/xml/internal/bind/v2/schemagen/xmlschema/NestedParticle.java ! src/share/classes/com/sun/xml/internal/bind/v2/schemagen/xmlschema/NoFixedFacet.java ! src/share/classes/com/sun/xml/internal/bind/v2/schemagen/xmlschema/Occurs.java + src/share/classes/com/sun/xml/internal/bind/v2/schemagen/xmlschema/Particle.java ! src/share/classes/com/sun/xml/internal/bind/v2/schemagen/xmlschema/Redefinable.java ! src/share/classes/com/sun/xml/internal/bind/v2/schemagen/xmlschema/Schema.java ! src/share/classes/com/sun/xml/internal/bind/v2/schemagen/xmlschema/SchemaTop.java ! src/share/classes/com/sun/xml/internal/bind/v2/schemagen/xmlschema/SimpleContent.java ! src/share/classes/com/sun/xml/internal/bind/v2/schemagen/xmlschema/SimpleDerivation.java ! src/share/classes/com/sun/xml/internal/bind/v2/schemagen/xmlschema/SimpleExtension.java ! src/share/classes/com/sun/xml/internal/bind/v2/schemagen/xmlschema/SimpleRestriction.java ! src/share/classes/com/sun/xml/internal/bind/v2/schemagen/xmlschema/SimpleRestrictionModel.java ! src/share/classes/com/sun/xml/internal/bind/v2/schemagen/xmlschema/SimpleType.java ! src/share/classes/com/sun/xml/internal/bind/v2/schemagen/xmlschema/SimpleTypeHost.java ! src/share/classes/com/sun/xml/internal/bind/v2/schemagen/xmlschema/TopLevelAttribute.java ! src/share/classes/com/sun/xml/internal/bind/v2/schemagen/xmlschema/TopLevelElement.java ! src/share/classes/com/sun/xml/internal/bind/v2/schemagen/xmlschema/TypeDefParticle.java ! src/share/classes/com/sun/xml/internal/bind/v2/schemagen/xmlschema/TypeHost.java ! src/share/classes/com/sun/xml/internal/bind/v2/schemagen/xmlschema/Union.java ! src/share/classes/com/sun/xml/internal/bind/v2/schemagen/xmlschema/Wildcard.java ! src/share/classes/com/sun/xml/internal/bind/v2/schemagen/xmlschema/package-info.java ! src/share/classes/com/sun/xml/internal/bind/v2/schemagen/xmlschema/package.html ! src/share/classes/com/sun/xml/internal/bind/v2/schemagen/xmlschema/xmlschema-for-jaxb.rng ! src/share/classes/com/sun/xml/internal/bind/v2/util/ByteArrayOutputStreamEx.java ! src/share/classes/com/sun/xml/internal/bind/v2/util/CollisionCheckStack.java ! src/share/classes/com/sun/xml/internal/bind/v2/util/DataSourceSource.java ! src/share/classes/com/sun/xml/internal/bind/v2/util/EditDistance.java ! src/share/classes/com/sun/xml/internal/bind/v2/util/FatalAdapter.java ! src/share/classes/com/sun/xml/internal/bind/v2/util/FlattenIterator.java ! src/share/classes/com/sun/xml/internal/bind/v2/util/QNameMap.java + src/share/classes/com/sun/xml/internal/bind/v2/util/TypeCast.java ! src/share/classes/com/sun/xml/internal/dtdparser/DTDEventListener.java ! src/share/classes/com/sun/xml/internal/dtdparser/DTDHandlerBase.java ! src/share/classes/com/sun/xml/internal/dtdparser/DTDParser.java ! src/share/classes/com/sun/xml/internal/dtdparser/EndOfInputException.java ! src/share/classes/com/sun/xml/internal/dtdparser/EntityDecl.java ! src/share/classes/com/sun/xml/internal/dtdparser/ExternalEntity.java ! src/share/classes/com/sun/xml/internal/dtdparser/InputEntity.java ! src/share/classes/com/sun/xml/internal/dtdparser/InternalEntity.java ! src/share/classes/com/sun/xml/internal/dtdparser/MessageCatalog.java ! src/share/classes/com/sun/xml/internal/dtdparser/Resolver.java ! src/share/classes/com/sun/xml/internal/dtdparser/SimpleHashtable.java ! src/share/classes/com/sun/xml/internal/dtdparser/XmlChars.java ! src/share/classes/com/sun/xml/internal/dtdparser/XmlNames.java ! src/share/classes/com/sun/xml/internal/dtdparser/XmlReader.java ! src/share/classes/com/sun/xml/internal/dtdparser/package.html ! src/share/classes/com/sun/xml/internal/dtdparser/resources/Messages.properties ! src/share/classes/com/sun/xml/internal/fastinfoset/AbstractResourceBundle.java ! src/share/classes/com/sun/xml/internal/fastinfoset/CommonResourceBundle.java ! src/share/classes/com/sun/xml/internal/fastinfoset/Decoder.java ! src/share/classes/com/sun/xml/internal/fastinfoset/DecoderStateTables.java ! src/share/classes/com/sun/xml/internal/fastinfoset/Encoder.java ! src/share/classes/com/sun/xml/internal/fastinfoset/EncodingConstants.java ! src/share/classes/com/sun/xml/internal/fastinfoset/Notation.java + src/share/classes/com/sun/xml/internal/fastinfoset/OctetBufferListener.java ! src/share/classes/com/sun/xml/internal/fastinfoset/QualifiedName.java ! src/share/classes/com/sun/xml/internal/fastinfoset/UnparsedEntity.java ! src/share/classes/com/sun/xml/internal/fastinfoset/algorithm/BASE64EncodingAlgorithm.java ! src/share/classes/com/sun/xml/internal/fastinfoset/algorithm/BooleanEncodingAlgorithm.java ! src/share/classes/com/sun/xml/internal/fastinfoset/algorithm/BuiltInEncodingAlgorithm.java ! src/share/classes/com/sun/xml/internal/fastinfoset/algorithm/BuiltInEncodingAlgorithmFactory.java ! src/share/classes/com/sun/xml/internal/fastinfoset/algorithm/BuiltInEncodingAlgorithmState.java ! src/share/classes/com/sun/xml/internal/fastinfoset/algorithm/DoubleEncodingAlgorithm.java ! src/share/classes/com/sun/xml/internal/fastinfoset/algorithm/FloatEncodingAlgorithm.java ! src/share/classes/com/sun/xml/internal/fastinfoset/algorithm/HexadecimalEncodingAlgorithm.java ! src/share/classes/com/sun/xml/internal/fastinfoset/algorithm/IEEE754FloatingPointEncodingAlgorithm.java ! src/share/classes/com/sun/xml/internal/fastinfoset/algorithm/IntEncodingAlgorithm.java ! src/share/classes/com/sun/xml/internal/fastinfoset/algorithm/IntegerEncodingAlgorithm.java ! src/share/classes/com/sun/xml/internal/fastinfoset/algorithm/LongEncodingAlgorithm.java ! src/share/classes/com/sun/xml/internal/fastinfoset/algorithm/ShortEncodingAlgorithm.java ! src/share/classes/com/sun/xml/internal/fastinfoset/algorithm/UUIDEncodingAlgorithm.java ! src/share/classes/com/sun/xml/internal/fastinfoset/alphabet/BuiltInRestrictedAlphabets.java ! src/share/classes/com/sun/xml/internal/fastinfoset/dom/DOMDocumentParser.java ! src/share/classes/com/sun/xml/internal/fastinfoset/dom/DOMDocumentSerializer.java ! src/share/classes/com/sun/xml/internal/fastinfoset/org/apache/xerces/util/XMLChar.java ! src/share/classes/com/sun/xml/internal/fastinfoset/resources/ResourceBundle.properties ! src/share/classes/com/sun/xml/internal/fastinfoset/sax/AttributesHolder.java ! src/share/classes/com/sun/xml/internal/fastinfoset/sax/Features.java ! src/share/classes/com/sun/xml/internal/fastinfoset/sax/Properties.java ! src/share/classes/com/sun/xml/internal/fastinfoset/sax/SAXDocumentParser.java ! src/share/classes/com/sun/xml/internal/fastinfoset/sax/SAXDocumentSerializer.java + src/share/classes/com/sun/xml/internal/fastinfoset/sax/SAXDocumentSerializerWithPrefixMapping.java ! src/share/classes/com/sun/xml/internal/fastinfoset/sax/SystemIdResolver.java ! src/share/classes/com/sun/xml/internal/fastinfoset/stax/EventLocation.java ! src/share/classes/com/sun/xml/internal/fastinfoset/stax/StAXDocumentParser.java ! src/share/classes/com/sun/xml/internal/fastinfoset/stax/StAXDocumentSerializer.java ! src/share/classes/com/sun/xml/internal/fastinfoset/stax/StAXManager.java ! src/share/classes/com/sun/xml/internal/fastinfoset/stax/events/AttributeBase.java ! src/share/classes/com/sun/xml/internal/fastinfoset/stax/events/CharactersEvent.java ! src/share/classes/com/sun/xml/internal/fastinfoset/stax/events/CommentEvent.java ! src/share/classes/com/sun/xml/internal/fastinfoset/stax/events/DTDEvent.java ! src/share/classes/com/sun/xml/internal/fastinfoset/stax/events/EmptyIterator.java ! src/share/classes/com/sun/xml/internal/fastinfoset/stax/events/EndDocumentEvent.java ! src/share/classes/com/sun/xml/internal/fastinfoset/stax/events/EndElementEvent.java ! src/share/classes/com/sun/xml/internal/fastinfoset/stax/events/EntityDeclarationImpl.java ! src/share/classes/com/sun/xml/internal/fastinfoset/stax/events/EntityReferenceEvent.java ! src/share/classes/com/sun/xml/internal/fastinfoset/stax/events/EventBase.java ! src/share/classes/com/sun/xml/internal/fastinfoset/stax/events/NamespaceBase.java ! src/share/classes/com/sun/xml/internal/fastinfoset/stax/events/ProcessingInstructionEvent.java ! src/share/classes/com/sun/xml/internal/fastinfoset/stax/events/ReadIterator.java ! src/share/classes/com/sun/xml/internal/fastinfoset/stax/events/StAXEventAllocator.java ! src/share/classes/com/sun/xml/internal/fastinfoset/stax/events/StAXEventAllocatorBase.java ! src/share/classes/com/sun/xml/internal/fastinfoset/stax/events/StAXEventReader.java ! src/share/classes/com/sun/xml/internal/fastinfoset/stax/events/StAXEventWriter.java ! src/share/classes/com/sun/xml/internal/fastinfoset/stax/events/StAXFilteredEvent.java ! src/share/classes/com/sun/xml/internal/fastinfoset/stax/events/StartDocumentEvent.java ! src/share/classes/com/sun/xml/internal/fastinfoset/stax/events/StartElementEvent.java ! src/share/classes/com/sun/xml/internal/fastinfoset/stax/events/Util.java ! src/share/classes/com/sun/xml/internal/fastinfoset/stax/events/XMLConstants.java ! src/share/classes/com/sun/xml/internal/fastinfoset/stax/factory/StAXEventFactory.java ! src/share/classes/com/sun/xml/internal/fastinfoset/stax/factory/StAXInputFactory.java ! src/share/classes/com/sun/xml/internal/fastinfoset/stax/factory/StAXOutputFactory.java ! src/share/classes/com/sun/xml/internal/fastinfoset/stax/util/StAXFilteredParser.java ! src/share/classes/com/sun/xml/internal/fastinfoset/stax/util/StAXParserWrapper.java ! src/share/classes/com/sun/xml/internal/fastinfoset/tools/FI_DOM_Or_XML_DOM_SAX_SAXEvent.java ! src/share/classes/com/sun/xml/internal/fastinfoset/tools/FI_SAX_Or_XML_SAX_DOM_SAX_SAXEvent.java ! src/share/classes/com/sun/xml/internal/fastinfoset/tools/FI_SAX_Or_XML_SAX_SAXEvent.java ! src/share/classes/com/sun/xml/internal/fastinfoset/tools/FI_SAX_XML.java ! src/share/classes/com/sun/xml/internal/fastinfoset/tools/FI_StAX_SAX_Or_XML_SAX_SAXEvent.java ! src/share/classes/com/sun/xml/internal/fastinfoset/tools/PrintTable.java ! src/share/classes/com/sun/xml/internal/fastinfoset/tools/SAX2StAXWriter.java ! src/share/classes/com/sun/xml/internal/fastinfoset/tools/SAXEventSerializer.java ! src/share/classes/com/sun/xml/internal/fastinfoset/tools/StAX2SAXReader.java ! src/share/classes/com/sun/xml/internal/fastinfoset/tools/TransformInputOutput.java ! src/share/classes/com/sun/xml/internal/fastinfoset/tools/VocabularyGenerator.java ! src/share/classes/com/sun/xml/internal/fastinfoset/tools/XML_DOM_FI.java ! src/share/classes/com/sun/xml/internal/fastinfoset/tools/XML_DOM_SAX_FI.java ! src/share/classes/com/sun/xml/internal/fastinfoset/tools/XML_SAX_FI.java ! src/share/classes/com/sun/xml/internal/fastinfoset/tools/XML_SAX_StAX_FI.java ! src/share/classes/com/sun/xml/internal/fastinfoset/util/CharArray.java ! src/share/classes/com/sun/xml/internal/fastinfoset/util/CharArrayArray.java ! src/share/classes/com/sun/xml/internal/fastinfoset/util/CharArrayIntMap.java ! src/share/classes/com/sun/xml/internal/fastinfoset/util/CharArrayString.java ! src/share/classes/com/sun/xml/internal/fastinfoset/util/ContiguousCharArrayArray.java ! src/share/classes/com/sun/xml/internal/fastinfoset/util/DuplicateAttributeVerifier.java ! src/share/classes/com/sun/xml/internal/fastinfoset/util/FixedEntryStringIntMap.java ! src/share/classes/com/sun/xml/internal/fastinfoset/util/KeyIntMap.java ! src/share/classes/com/sun/xml/internal/fastinfoset/util/LocalNameQualifiedNamesMap.java + src/share/classes/com/sun/xml/internal/fastinfoset/util/NamespaceContextImplementation.java ! src/share/classes/com/sun/xml/internal/fastinfoset/util/PrefixArray.java ! src/share/classes/com/sun/xml/internal/fastinfoset/util/QualifiedNameArray.java ! src/share/classes/com/sun/xml/internal/fastinfoset/util/StringArray.java ! src/share/classes/com/sun/xml/internal/fastinfoset/util/StringIntMap.java ! src/share/classes/com/sun/xml/internal/fastinfoset/util/ValueArray.java ! src/share/classes/com/sun/xml/internal/fastinfoset/util/ValueArrayResourceException.java ! src/share/classes/com/sun/xml/internal/fastinfoset/vocab/ParserVocabulary.java ! src/share/classes/com/sun/xml/internal/fastinfoset/vocab/SerializerVocabulary.java ! src/share/classes/com/sun/xml/internal/fastinfoset/vocab/Vocabulary.java ! src/share/classes/com/sun/xml/internal/messaging/saaj/SOAPExceptionImpl.java ! src/share/classes/com/sun/xml/internal/messaging/saaj/client/p2p/HttpSOAPConnection.java ! src/share/classes/com/sun/xml/internal/messaging/saaj/client/p2p/HttpSOAPConnectionFactory.java ! src/share/classes/com/sun/xml/internal/messaging/saaj/client/p2p/LocalStrings.properties ! src/share/classes/com/sun/xml/internal/messaging/saaj/packaging/mime/Header.java ! src/share/classes/com/sun/xml/internal/messaging/saaj/packaging/mime/MessagingException.java ! src/share/classes/com/sun/xml/internal/messaging/saaj/packaging/mime/MultipartDataSource.java ! src/share/classes/com/sun/xml/internal/messaging/saaj/packaging/mime/internet/BMMimeMultipart.java ! src/share/classes/com/sun/xml/internal/messaging/saaj/packaging/mime/internet/ContentDisposition.java ! src/share/classes/com/sun/xml/internal/messaging/saaj/packaging/mime/internet/ContentType.java ! src/share/classes/com/sun/xml/internal/messaging/saaj/packaging/mime/internet/HeaderTokenizer.java ! src/share/classes/com/sun/xml/internal/messaging/saaj/packaging/mime/internet/InternetHeaders.java ! src/share/classes/com/sun/xml/internal/messaging/saaj/packaging/mime/internet/MimeBodyPart.java ! src/share/classes/com/sun/xml/internal/messaging/saaj/packaging/mime/internet/MimeMultipart.java ! src/share/classes/com/sun/xml/internal/messaging/saaj/packaging/mime/internet/MimePartDataSource.java ! src/share/classes/com/sun/xml/internal/messaging/saaj/packaging/mime/internet/MimeUtility.java ! src/share/classes/com/sun/xml/internal/messaging/saaj/packaging/mime/internet/ParameterList.java ! src/share/classes/com/sun/xml/internal/messaging/saaj/packaging/mime/internet/ParseException.java ! src/share/classes/com/sun/xml/internal/messaging/saaj/packaging/mime/internet/SharedInputStream.java ! src/share/classes/com/sun/xml/internal/messaging/saaj/packaging/mime/internet/UniqueValue.java ! src/share/classes/com/sun/xml/internal/messaging/saaj/packaging/mime/util/ASCIIUtility.java ! src/share/classes/com/sun/xml/internal/messaging/saaj/packaging/mime/util/BASE64DecoderStream.java ! src/share/classes/com/sun/xml/internal/messaging/saaj/packaging/mime/util/BASE64EncoderStream.java ! src/share/classes/com/sun/xml/internal/messaging/saaj/packaging/mime/util/BEncoderStream.java ! src/share/classes/com/sun/xml/internal/messaging/saaj/packaging/mime/util/LineInputStream.java ! src/share/classes/com/sun/xml/internal/messaging/saaj/packaging/mime/util/OutputUtil.java ! src/share/classes/com/sun/xml/internal/messaging/saaj/packaging/mime/util/QDecoderStream.java ! src/share/classes/com/sun/xml/internal/messaging/saaj/packaging/mime/util/QEncoderStream.java ! src/share/classes/com/sun/xml/internal/messaging/saaj/packaging/mime/util/QPDecoderStream.java ! src/share/classes/com/sun/xml/internal/messaging/saaj/packaging/mime/util/QPEncoderStream.java ! src/share/classes/com/sun/xml/internal/messaging/saaj/packaging/mime/util/UUDecoderStream.java ! src/share/classes/com/sun/xml/internal/messaging/saaj/packaging/mime/util/UUEncoderStream.java ! src/share/classes/com/sun/xml/internal/messaging/saaj/soap/AttachmentPartImpl.java ! src/share/classes/com/sun/xml/internal/messaging/saaj/soap/Envelope.java ! src/share/classes/com/sun/xml/internal/messaging/saaj/soap/EnvelopeFactory.java ! src/share/classes/com/sun/xml/internal/messaging/saaj/soap/FastInfosetDataContentHandler.java ! src/share/classes/com/sun/xml/internal/messaging/saaj/soap/GifDataContentHandler.java ! src/share/classes/com/sun/xml/internal/messaging/saaj/soap/ImageDataContentHandler.java ! src/share/classes/com/sun/xml/internal/messaging/saaj/soap/JpegDataContentHandler.java ! src/share/classes/com/sun/xml/internal/messaging/saaj/soap/LocalStrings.properties ! src/share/classes/com/sun/xml/internal/messaging/saaj/soap/MessageFactoryImpl.java ! src/share/classes/com/sun/xml/internal/messaging/saaj/soap/MessageImpl.java ! src/share/classes/com/sun/xml/internal/messaging/saaj/soap/MultipartDataContentHandler.java ! src/share/classes/com/sun/xml/internal/messaging/saaj/soap/SAAJMetaFactoryImpl.java ! src/share/classes/com/sun/xml/internal/messaging/saaj/soap/SOAPDocument.java ! src/share/classes/com/sun/xml/internal/messaging/saaj/soap/SOAPDocumentFragment.java ! src/share/classes/com/sun/xml/internal/messaging/saaj/soap/SOAPDocumentImpl.java ! src/share/classes/com/sun/xml/internal/messaging/saaj/soap/SOAPFactoryImpl.java ! src/share/classes/com/sun/xml/internal/messaging/saaj/soap/SOAPIOException.java ! src/share/classes/com/sun/xml/internal/messaging/saaj/soap/SOAPPartImpl.java ! src/share/classes/com/sun/xml/internal/messaging/saaj/soap/SOAPVersionMismatchException.java ! src/share/classes/com/sun/xml/internal/messaging/saaj/soap/StringDataContentHandler.java ! src/share/classes/com/sun/xml/internal/messaging/saaj/soap/XmlDataContentHandler.java ! src/share/classes/com/sun/xml/internal/messaging/saaj/soap/dynamic/SOAPFactoryDynamicImpl.java ! src/share/classes/com/sun/xml/internal/messaging/saaj/soap/dynamic/SOAPMessageFactoryDynamicImpl.java ! src/share/classes/com/sun/xml/internal/messaging/saaj/soap/impl/BodyElementImpl.java ! src/share/classes/com/sun/xml/internal/messaging/saaj/soap/impl/BodyImpl.java ! src/share/classes/com/sun/xml/internal/messaging/saaj/soap/impl/CDATAImpl.java ! src/share/classes/com/sun/xml/internal/messaging/saaj/soap/impl/CommentImpl.java ! src/share/classes/com/sun/xml/internal/messaging/saaj/soap/impl/DetailEntryImpl.java ! src/share/classes/com/sun/xml/internal/messaging/saaj/soap/impl/DetailImpl.java ! src/share/classes/com/sun/xml/internal/messaging/saaj/soap/impl/ElementFactory.java ! src/share/classes/com/sun/xml/internal/messaging/saaj/soap/impl/ElementImpl.java ! src/share/classes/com/sun/xml/internal/messaging/saaj/soap/impl/EnvelopeImpl.java ! src/share/classes/com/sun/xml/internal/messaging/saaj/soap/impl/FaultElementImpl.java ! src/share/classes/com/sun/xml/internal/messaging/saaj/soap/impl/FaultImpl.java ! src/share/classes/com/sun/xml/internal/messaging/saaj/soap/impl/HeaderElementImpl.java ! src/share/classes/com/sun/xml/internal/messaging/saaj/soap/impl/HeaderImpl.java ! src/share/classes/com/sun/xml/internal/messaging/saaj/soap/impl/LocalStrings.properties ! src/share/classes/com/sun/xml/internal/messaging/saaj/soap/impl/TextImpl.java ! src/share/classes/com/sun/xml/internal/messaging/saaj/soap/impl/TreeException.java ! src/share/classes/com/sun/xml/internal/messaging/saaj/soap/name/LocalStrings.properties ! src/share/classes/com/sun/xml/internal/messaging/saaj/soap/name/NameImpl.java ! src/share/classes/com/sun/xml/internal/messaging/saaj/soap/ver1_1/Body1_1Impl.java ! src/share/classes/com/sun/xml/internal/messaging/saaj/soap/ver1_1/BodyElement1_1Impl.java ! src/share/classes/com/sun/xml/internal/messaging/saaj/soap/ver1_1/Detail1_1Impl.java ! src/share/classes/com/sun/xml/internal/messaging/saaj/soap/ver1_1/DetailEntry1_1Impl.java ! src/share/classes/com/sun/xml/internal/messaging/saaj/soap/ver1_1/Envelope1_1Impl.java ! src/share/classes/com/sun/xml/internal/messaging/saaj/soap/ver1_1/Fault1_1Impl.java ! src/share/classes/com/sun/xml/internal/messaging/saaj/soap/ver1_1/FaultElement1_1Impl.java ! src/share/classes/com/sun/xml/internal/messaging/saaj/soap/ver1_1/Header1_1Impl.java ! src/share/classes/com/sun/xml/internal/messaging/saaj/soap/ver1_1/HeaderElement1_1Impl.java ! src/share/classes/com/sun/xml/internal/messaging/saaj/soap/ver1_1/LocalStrings.properties ! src/share/classes/com/sun/xml/internal/messaging/saaj/soap/ver1_1/Message1_1Impl.java ! src/share/classes/com/sun/xml/internal/messaging/saaj/soap/ver1_1/SOAPFactory1_1Impl.java ! src/share/classes/com/sun/xml/internal/messaging/saaj/soap/ver1_1/SOAPMessageFactory1_1Impl.java ! src/share/classes/com/sun/xml/internal/messaging/saaj/soap/ver1_1/SOAPPart1_1Impl.java ! src/share/classes/com/sun/xml/internal/messaging/saaj/soap/ver1_2/Body1_2Impl.java ! src/share/classes/com/sun/xml/internal/messaging/saaj/soap/ver1_2/BodyElement1_2Impl.java ! src/share/classes/com/sun/xml/internal/messaging/saaj/soap/ver1_2/Detail1_2Impl.java ! src/share/classes/com/sun/xml/internal/messaging/saaj/soap/ver1_2/DetailEntry1_2Impl.java ! src/share/classes/com/sun/xml/internal/messaging/saaj/soap/ver1_2/Envelope1_2Impl.java ! src/share/classes/com/sun/xml/internal/messaging/saaj/soap/ver1_2/Fault1_2Impl.java ! src/share/classes/com/sun/xml/internal/messaging/saaj/soap/ver1_2/FaultElement1_2Impl.java ! src/share/classes/com/sun/xml/internal/messaging/saaj/soap/ver1_2/Header1_2Impl.java ! src/share/classes/com/sun/xml/internal/messaging/saaj/soap/ver1_2/HeaderElement1_2Impl.java ! src/share/classes/com/sun/xml/internal/messaging/saaj/soap/ver1_2/LocalStrings.properties ! src/share/classes/com/sun/xml/internal/messaging/saaj/soap/ver1_2/Message1_2Impl.java ! src/share/classes/com/sun/xml/internal/messaging/saaj/soap/ver1_2/SOAPFactory1_2Impl.java ! src/share/classes/com/sun/xml/internal/messaging/saaj/soap/ver1_2/SOAPMessageFactory1_2Impl.java ! src/share/classes/com/sun/xml/internal/messaging/saaj/soap/ver1_2/SOAPPart1_2Impl.java ! src/share/classes/com/sun/xml/internal/messaging/saaj/util/Base64.java ! src/share/classes/com/sun/xml/internal/messaging/saaj/util/ByteInputStream.java ! src/share/classes/com/sun/xml/internal/messaging/saaj/util/ByteOutputStream.java ! src/share/classes/com/sun/xml/internal/messaging/saaj/util/CharReader.java ! src/share/classes/com/sun/xml/internal/messaging/saaj/util/CharWriter.java ! src/share/classes/com/sun/xml/internal/messaging/saaj/util/FastInfosetReflection.java ! src/share/classes/com/sun/xml/internal/messaging/saaj/util/FinalArrayList.java ! src/share/classes/com/sun/xml/internal/messaging/saaj/util/JAXMStreamSource.java ! src/share/classes/com/sun/xml/internal/messaging/saaj/util/JaxmURI.java ! src/share/classes/com/sun/xml/internal/messaging/saaj/util/LocalStrings.properties ! src/share/classes/com/sun/xml/internal/messaging/saaj/util/LogDomainConstants.java ! src/share/classes/com/sun/xml/internal/messaging/saaj/util/MimeHeadersUtil.java ! src/share/classes/com/sun/xml/internal/messaging/saaj/util/NamespaceContextIterator.java ! src/share/classes/com/sun/xml/internal/messaging/saaj/util/ParseUtil.java ! src/share/classes/com/sun/xml/internal/messaging/saaj/util/ParserPool.java ! src/share/classes/com/sun/xml/internal/messaging/saaj/util/RejectDoctypeSaxFilter.java ! src/share/classes/com/sun/xml/internal/messaging/saaj/util/TeeInputStream.java ! src/share/classes/com/sun/xml/internal/messaging/saaj/util/XMLDeclarationParser.java ! src/share/classes/com/sun/xml/internal/messaging/saaj/util/transform/EfficientStreamingTransformer.java ! src/share/classes/com/sun/xml/internal/org/jvnet/fastinfoset/EncodingAlgorithm.java ! src/share/classes/com/sun/xml/internal/org/jvnet/fastinfoset/EncodingAlgorithmException.java ! src/share/classes/com/sun/xml/internal/org/jvnet/fastinfoset/EncodingAlgorithmIndexes.java ! src/share/classes/com/sun/xml/internal/org/jvnet/fastinfoset/ExternalVocabulary.java ! src/share/classes/com/sun/xml/internal/org/jvnet/fastinfoset/FastInfosetException.java ! src/share/classes/com/sun/xml/internal/org/jvnet/fastinfoset/FastInfosetParser.java ! src/share/classes/com/sun/xml/internal/org/jvnet/fastinfoset/FastInfosetResult.java ! src/share/classes/com/sun/xml/internal/org/jvnet/fastinfoset/FastInfosetSerializer.java ! src/share/classes/com/sun/xml/internal/org/jvnet/fastinfoset/FastInfosetSource.java ! src/share/classes/com/sun/xml/internal/org/jvnet/fastinfoset/RestrictedAlphabet.java ! src/share/classes/com/sun/xml/internal/org/jvnet/fastinfoset/Vocabulary.java + src/share/classes/com/sun/xml/internal/org/jvnet/fastinfoset/VocabularyApplicationData.java ! src/share/classes/com/sun/xml/internal/org/jvnet/fastinfoset/sax/EncodingAlgorithmAttributes.java ! src/share/classes/com/sun/xml/internal/org/jvnet/fastinfoset/sax/EncodingAlgorithmContentHandler.java + src/share/classes/com/sun/xml/internal/org/jvnet/fastinfoset/sax/ExtendedContentHandler.java ! src/share/classes/com/sun/xml/internal/org/jvnet/fastinfoset/sax/FastInfosetReader.java ! src/share/classes/com/sun/xml/internal/org/jvnet/fastinfoset/sax/FastInfosetWriter.java ! src/share/classes/com/sun/xml/internal/org/jvnet/fastinfoset/sax/PrimitiveTypeContentHandler.java ! src/share/classes/com/sun/xml/internal/org/jvnet/fastinfoset/sax/RestrictedAlphabetContentHandler.java ! src/share/classes/com/sun/xml/internal/org/jvnet/fastinfoset/sax/helpers/EncodingAlgorithmAttributesImpl.java ! src/share/classes/com/sun/xml/internal/org/jvnet/fastinfoset/sax/helpers/FastInfosetDefaultHandler.java + src/share/classes/com/sun/xml/internal/org/jvnet/fastinfoset/stax/FastInfosetStreamReader.java + src/share/classes/com/sun/xml/internal/org/jvnet/fastinfoset/stax/LowLevelFastInfosetStreamWriter.java + src/share/classes/com/sun/xml/internal/org/jvnet/staxex/Base64Data.java + src/share/classes/com/sun/xml/internal/org/jvnet/staxex/Base64Encoder.java + src/share/classes/com/sun/xml/internal/org/jvnet/staxex/ByteArrayOutputStreamEx.java + src/share/classes/com/sun/xml/internal/org/jvnet/staxex/NamespaceContextEx.java + src/share/classes/com/sun/xml/internal/org/jvnet/staxex/XMLStreamReaderEx.java + src/share/classes/com/sun/xml/internal/org/jvnet/staxex/XMLStreamWriterEx.java ! src/share/classes/com/sun/xml/internal/rngom/ast/builder/Annotations.java ! src/share/classes/com/sun/xml/internal/rngom/ast/builder/BuildException.java ! src/share/classes/com/sun/xml/internal/rngom/ast/builder/CommentList.java ! src/share/classes/com/sun/xml/internal/rngom/ast/builder/DataPatternBuilder.java ! src/share/classes/com/sun/xml/internal/rngom/ast/builder/Div.java ! src/share/classes/com/sun/xml/internal/rngom/ast/builder/ElementAnnotationBuilder.java ! src/share/classes/com/sun/xml/internal/rngom/ast/builder/Grammar.java ! src/share/classes/com/sun/xml/internal/rngom/ast/builder/GrammarSection.java ! src/share/classes/com/sun/xml/internal/rngom/ast/builder/Include.java ! src/share/classes/com/sun/xml/internal/rngom/ast/builder/IncludedGrammar.java ! src/share/classes/com/sun/xml/internal/rngom/ast/builder/NameClassBuilder.java ! src/share/classes/com/sun/xml/internal/rngom/ast/builder/SchemaBuilder.java ! src/share/classes/com/sun/xml/internal/rngom/ast/builder/Scope.java ! src/share/classes/com/sun/xml/internal/rngom/ast/om/Location.java ! src/share/classes/com/sun/xml/internal/rngom/ast/om/ParsedElementAnnotation.java ! src/share/classes/com/sun/xml/internal/rngom/ast/om/ParsedNameClass.java ! src/share/classes/com/sun/xml/internal/rngom/ast/om/ParsedPattern.java ! src/share/classes/com/sun/xml/internal/rngom/ast/util/CheckingSchemaBuilder.java ! src/share/classes/com/sun/xml/internal/rngom/ast/util/LocatorImpl.java ! src/share/classes/com/sun/xml/internal/rngom/ast/util/package.html ! src/share/classes/com/sun/xml/internal/rngom/binary/AfterPattern.java ! src/share/classes/com/sun/xml/internal/rngom/binary/Alphabet.java ! src/share/classes/com/sun/xml/internal/rngom/binary/AttributePattern.java ! src/share/classes/com/sun/xml/internal/rngom/binary/BinaryPattern.java ! src/share/classes/com/sun/xml/internal/rngom/binary/ChoicePattern.java ! src/share/classes/com/sun/xml/internal/rngom/binary/DataExceptPattern.java ! src/share/classes/com/sun/xml/internal/rngom/binary/DataPattern.java ! src/share/classes/com/sun/xml/internal/rngom/binary/DuplicateAttributeDetector.java ! src/share/classes/com/sun/xml/internal/rngom/binary/ElementPattern.java ! src/share/classes/com/sun/xml/internal/rngom/binary/EmptyPattern.java ! src/share/classes/com/sun/xml/internal/rngom/binary/ErrorPattern.java ! src/share/classes/com/sun/xml/internal/rngom/binary/GroupPattern.java ! src/share/classes/com/sun/xml/internal/rngom/binary/InterleavePattern.java ! src/share/classes/com/sun/xml/internal/rngom/binary/ListPattern.java ! src/share/classes/com/sun/xml/internal/rngom/binary/Messages.properties ! src/share/classes/com/sun/xml/internal/rngom/binary/NotAllowedPattern.java ! src/share/classes/com/sun/xml/internal/rngom/binary/OneOrMorePattern.java ! src/share/classes/com/sun/xml/internal/rngom/binary/Pattern.java ! src/share/classes/com/sun/xml/internal/rngom/binary/PatternBuilder.java ! src/share/classes/com/sun/xml/internal/rngom/binary/PatternInterner.java ! src/share/classes/com/sun/xml/internal/rngom/binary/RefPattern.java ! src/share/classes/com/sun/xml/internal/rngom/binary/RestrictionViolationException.java ! src/share/classes/com/sun/xml/internal/rngom/binary/SchemaBuilderImpl.java ! src/share/classes/com/sun/xml/internal/rngom/binary/SchemaPatternBuilder.java ! src/share/classes/com/sun/xml/internal/rngom/binary/StringPattern.java ! src/share/classes/com/sun/xml/internal/rngom/binary/TextPattern.java ! src/share/classes/com/sun/xml/internal/rngom/binary/ValuePattern.java ! src/share/classes/com/sun/xml/internal/rngom/binary/package.html ! src/share/classes/com/sun/xml/internal/rngom/binary/visitor/ChildElementFinder.java ! src/share/classes/com/sun/xml/internal/rngom/binary/visitor/PatternFunction.java ! src/share/classes/com/sun/xml/internal/rngom/binary/visitor/PatternVisitor.java ! src/share/classes/com/sun/xml/internal/rngom/binary/visitor/PatternWalker.java ! src/share/classes/com/sun/xml/internal/rngom/digested/Annotation.java ! src/share/classes/com/sun/xml/internal/rngom/digested/CommentListImpl.java ! src/share/classes/com/sun/xml/internal/rngom/digested/DAnnotation.java ! src/share/classes/com/sun/xml/internal/rngom/digested/DAttributePattern.java ! src/share/classes/com/sun/xml/internal/rngom/digested/DChoicePattern.java ! src/share/classes/com/sun/xml/internal/rngom/digested/DContainerPattern.java ! src/share/classes/com/sun/xml/internal/rngom/digested/DDataPattern.java ! src/share/classes/com/sun/xml/internal/rngom/digested/DDefine.java ! src/share/classes/com/sun/xml/internal/rngom/digested/DElementPattern.java ! src/share/classes/com/sun/xml/internal/rngom/digested/DEmptyPattern.java ! src/share/classes/com/sun/xml/internal/rngom/digested/DGrammarPattern.java ! src/share/classes/com/sun/xml/internal/rngom/digested/DGroupPattern.java ! src/share/classes/com/sun/xml/internal/rngom/digested/DInterleavePattern.java ! src/share/classes/com/sun/xml/internal/rngom/digested/DListPattern.java ! src/share/classes/com/sun/xml/internal/rngom/digested/DMixedPattern.java ! src/share/classes/com/sun/xml/internal/rngom/digested/DNotAllowedPattern.java ! src/share/classes/com/sun/xml/internal/rngom/digested/DOMPrinter.java ! src/share/classes/com/sun/xml/internal/rngom/digested/DOneOrMorePattern.java ! src/share/classes/com/sun/xml/internal/rngom/digested/DOptionalPattern.java ! src/share/classes/com/sun/xml/internal/rngom/digested/DPattern.java ! src/share/classes/com/sun/xml/internal/rngom/digested/DPatternVisitor.java ! src/share/classes/com/sun/xml/internal/rngom/digested/DPatternWalker.java ! src/share/classes/com/sun/xml/internal/rngom/digested/DRefPattern.java ! src/share/classes/com/sun/xml/internal/rngom/digested/DSchemaBuilderImpl.java ! src/share/classes/com/sun/xml/internal/rngom/digested/DTextPattern.java ! src/share/classes/com/sun/xml/internal/rngom/digested/DUnaryPattern.java ! src/share/classes/com/sun/xml/internal/rngom/digested/DValuePattern.java ! src/share/classes/com/sun/xml/internal/rngom/digested/DXMLPrinter.java ! src/share/classes/com/sun/xml/internal/rngom/digested/DXmlTokenPattern.java ! src/share/classes/com/sun/xml/internal/rngom/digested/DZeroOrMorePattern.java ! src/share/classes/com/sun/xml/internal/rngom/digested/DataPatternBuilderImpl.java ! src/share/classes/com/sun/xml/internal/rngom/digested/ElementAnnotationBuilderImpl.java ! src/share/classes/com/sun/xml/internal/rngom/digested/ElementWrapper.java ! src/share/classes/com/sun/xml/internal/rngom/digested/GrammarBuilderImpl.java ! src/share/classes/com/sun/xml/internal/rngom/digested/IncludeImpl.java ! src/share/classes/com/sun/xml/internal/rngom/digested/Main.java ! src/share/classes/com/sun/xml/internal/rngom/digested/PatternParseable.java ! src/share/classes/com/sun/xml/internal/rngom/digested/package.html ! src/share/classes/com/sun/xml/internal/rngom/dt/CachedDatatypeLibraryFactory.java ! src/share/classes/com/sun/xml/internal/rngom/dt/CascadingDatatypeLibraryFactory.java ! src/share/classes/com/sun/xml/internal/rngom/dt/DoNothingDatatypeLibraryFactoryImpl.java ! src/share/classes/com/sun/xml/internal/rngom/dt/builtin/BuiltinDatatypeBuilder.java ! src/share/classes/com/sun/xml/internal/rngom/dt/builtin/BuiltinDatatypeLibrary.java ! src/share/classes/com/sun/xml/internal/rngom/dt/builtin/BuiltinDatatypeLibraryFactory.java ! src/share/classes/com/sun/xml/internal/rngom/dt/builtin/CompatibilityDatatypeLibrary.java ! src/share/classes/com/sun/xml/internal/rngom/dt/builtin/Messages.properties ! src/share/classes/com/sun/xml/internal/rngom/dt/builtin/package.html ! src/share/classes/com/sun/xml/internal/rngom/nc/AnyNameClass.java ! src/share/classes/com/sun/xml/internal/rngom/nc/AnyNameExceptNameClass.java ! src/share/classes/com/sun/xml/internal/rngom/nc/ChoiceNameClass.java ! src/share/classes/com/sun/xml/internal/rngom/nc/NameClass.java ! src/share/classes/com/sun/xml/internal/rngom/nc/NameClassBuilderImpl.java ! src/share/classes/com/sun/xml/internal/rngom/nc/NameClassVisitor.java ! src/share/classes/com/sun/xml/internal/rngom/nc/NameClassWalker.java ! src/share/classes/com/sun/xml/internal/rngom/nc/NsNameClass.java ! src/share/classes/com/sun/xml/internal/rngom/nc/NsNameExceptNameClass.java ! src/share/classes/com/sun/xml/internal/rngom/nc/NullNameClass.java ! src/share/classes/com/sun/xml/internal/rngom/nc/OverlapDetector.java ! src/share/classes/com/sun/xml/internal/rngom/nc/SimpleNameClass.java ! src/share/classes/com/sun/xml/internal/rngom/nc/package.html ! src/share/classes/com/sun/xml/internal/rngom/parse/Context.java ! src/share/classes/com/sun/xml/internal/rngom/parse/IllegalSchemaException.java ! src/share/classes/com/sun/xml/internal/rngom/parse/Messages.properties ! src/share/classes/com/sun/xml/internal/rngom/parse/Parseable.java ! src/share/classes/com/sun/xml/internal/rngom/parse/compact/CompactParseable.java ! src/share/classes/com/sun/xml/internal/rngom/parse/compact/CompactSyntax.java ! src/share/classes/com/sun/xml/internal/rngom/parse/compact/CompactSyntaxConstants.java ! src/share/classes/com/sun/xml/internal/rngom/parse/compact/CompactSyntaxTokenManager.java ! src/share/classes/com/sun/xml/internal/rngom/parse/compact/EOFException.java ! src/share/classes/com/sun/xml/internal/rngom/parse/compact/EscapeSyntaxException.java ! src/share/classes/com/sun/xml/internal/rngom/parse/compact/JavaCharStream.java ! src/share/classes/com/sun/xml/internal/rngom/parse/compact/Messages.properties ! src/share/classes/com/sun/xml/internal/rngom/parse/compact/ParseException.java ! src/share/classes/com/sun/xml/internal/rngom/parse/compact/Token.java ! src/share/classes/com/sun/xml/internal/rngom/parse/compact/TokenMgrError.java ! src/share/classes/com/sun/xml/internal/rngom/parse/compact/UCode_UCodeESC_CharStream.java ! src/share/classes/com/sun/xml/internal/rngom/parse/host/AnnotationsHost.java ! src/share/classes/com/sun/xml/internal/rngom/parse/host/Base.java ! src/share/classes/com/sun/xml/internal/rngom/parse/host/CommentListHost.java ! src/share/classes/com/sun/xml/internal/rngom/parse/host/DataPatternBuilderHost.java ! src/share/classes/com/sun/xml/internal/rngom/parse/host/DivHost.java ! src/share/classes/com/sun/xml/internal/rngom/parse/host/ElementAnnotationBuilderHost.java ! src/share/classes/com/sun/xml/internal/rngom/parse/host/GrammarHost.java ! src/share/classes/com/sun/xml/internal/rngom/parse/host/GrammarSectionHost.java ! src/share/classes/com/sun/xml/internal/rngom/parse/host/IncludeHost.java ! src/share/classes/com/sun/xml/internal/rngom/parse/host/LocationHost.java ! src/share/classes/com/sun/xml/internal/rngom/parse/host/NameClassBuilderHost.java ! src/share/classes/com/sun/xml/internal/rngom/parse/host/ParsedElementAnnotationHost.java ! src/share/classes/com/sun/xml/internal/rngom/parse/host/ParsedNameClassHost.java ! src/share/classes/com/sun/xml/internal/rngom/parse/host/ParsedPatternHost.java ! src/share/classes/com/sun/xml/internal/rngom/parse/host/SchemaBuilderHost.java ! src/share/classes/com/sun/xml/internal/rngom/parse/host/ScopeHost.java ! src/share/classes/com/sun/xml/internal/rngom/parse/host/package.html ! src/share/classes/com/sun/xml/internal/rngom/parse/xml/DtdContext.java ! src/share/classes/com/sun/xml/internal/rngom/parse/xml/Messages.properties ! src/share/classes/com/sun/xml/internal/rngom/parse/xml/SAXParseable.java ! src/share/classes/com/sun/xml/internal/rngom/parse/xml/SchemaParser.java ! src/share/classes/com/sun/xml/internal/rngom/util/Localizer.java ! src/share/classes/com/sun/xml/internal/rngom/util/Uri.java ! src/share/classes/com/sun/xml/internal/rngom/util/Utf16.java ! src/share/classes/com/sun/xml/internal/rngom/xml/sax/AbstractLexicalHandler.java ! src/share/classes/com/sun/xml/internal/rngom/xml/sax/JAXPXMLReaderCreator.java ! src/share/classes/com/sun/xml/internal/rngom/xml/sax/XMLReaderCreator.java ! src/share/classes/com/sun/xml/internal/rngom/xml/sax/XmlBaseHandler.java ! src/share/classes/com/sun/xml/internal/rngom/xml/util/EncodingMap.java ! src/share/classes/com/sun/xml/internal/rngom/xml/util/Naming.java ! src/share/classes/com/sun/xml/internal/rngom/xml/util/WellKnownNamespaces.java + src/share/classes/com/sun/xml/internal/stream/buffer/AbstractCreator.java + src/share/classes/com/sun/xml/internal/stream/buffer/AbstractCreatorProcessor.java + src/share/classes/com/sun/xml/internal/stream/buffer/AbstractProcessor.java + src/share/classes/com/sun/xml/internal/stream/buffer/AttributesHolder.java + src/share/classes/com/sun/xml/internal/stream/buffer/FragmentedArray.java + src/share/classes/com/sun/xml/internal/stream/buffer/MutableXMLStreamBuffer.java + src/share/classes/com/sun/xml/internal/stream/buffer/XMLStreamBuffer.java + src/share/classes/com/sun/xml/internal/stream/buffer/XMLStreamBufferException.java + src/share/classes/com/sun/xml/internal/stream/buffer/XMLStreamBufferMark.java + src/share/classes/com/sun/xml/internal/stream/buffer/XMLStreamBufferResult.java + src/share/classes/com/sun/xml/internal/stream/buffer/XMLStreamBufferSource.java + src/share/classes/com/sun/xml/internal/stream/buffer/sax/DefaultWithLexicalHandler.java + src/share/classes/com/sun/xml/internal/stream/buffer/sax/Features.java + src/share/classes/com/sun/xml/internal/stream/buffer/sax/Properties.java + src/share/classes/com/sun/xml/internal/stream/buffer/sax/SAXBufferCreator.java + src/share/classes/com/sun/xml/internal/stream/buffer/sax/SAXBufferProcessor.java + src/share/classes/com/sun/xml/internal/stream/buffer/stax/NamespaceContexHelper.java + src/share/classes/com/sun/xml/internal/stream/buffer/stax/StreamBufferCreator.java + src/share/classes/com/sun/xml/internal/stream/buffer/stax/StreamReaderBufferCreator.java + src/share/classes/com/sun/xml/internal/stream/buffer/stax/StreamReaderBufferProcessor.java + src/share/classes/com/sun/xml/internal/stream/buffer/stax/StreamWriterBufferCreator.java + src/share/classes/com/sun/xml/internal/stream/buffer/stax/StreamWriterBufferProcessor.java ! src/share/classes/com/sun/xml/internal/txw2/Attribute.java ! src/share/classes/com/sun/xml/internal/txw2/Cdata.java ! src/share/classes/com/sun/xml/internal/txw2/Comment.java ! src/share/classes/com/sun/xml/internal/txw2/ContainerElement.java ! src/share/classes/com/sun/xml/internal/txw2/Content.java ! src/share/classes/com/sun/xml/internal/txw2/ContentVisitor.java ! src/share/classes/com/sun/xml/internal/txw2/DatatypeWriter.java ! src/share/classes/com/sun/xml/internal/txw2/Document.java ! src/share/classes/com/sun/xml/internal/txw2/EndDocument.java ! src/share/classes/com/sun/xml/internal/txw2/EndTag.java ! src/share/classes/com/sun/xml/internal/txw2/IllegalAnnotationException.java ! src/share/classes/com/sun/xml/internal/txw2/IllegalSignatureException.java ! src/share/classes/com/sun/xml/internal/txw2/NamespaceDecl.java ! src/share/classes/com/sun/xml/internal/txw2/NamespaceResolver.java ! src/share/classes/com/sun/xml/internal/txw2/NamespaceSupport.java ! src/share/classes/com/sun/xml/internal/txw2/Pcdata.java ! src/share/classes/com/sun/xml/internal/txw2/StartDocument.java ! src/share/classes/com/sun/xml/internal/txw2/StartTag.java ! src/share/classes/com/sun/xml/internal/txw2/TXW.java ! src/share/classes/com/sun/xml/internal/txw2/Text.java ! src/share/classes/com/sun/xml/internal/txw2/TxwException.java ! src/share/classes/com/sun/xml/internal/txw2/TypedXmlWriter.java ! src/share/classes/com/sun/xml/internal/txw2/annotation/XmlAttribute.java ! src/share/classes/com/sun/xml/internal/txw2/annotation/XmlCDATA.java ! src/share/classes/com/sun/xml/internal/txw2/annotation/XmlElement.java ! src/share/classes/com/sun/xml/internal/txw2/annotation/XmlNamespace.java ! src/share/classes/com/sun/xml/internal/txw2/annotation/XmlValue.java ! src/share/classes/com/sun/xml/internal/txw2/annotation/package.html ! src/share/classes/com/sun/xml/internal/txw2/output/CharacterEscapeHandler.java ! src/share/classes/com/sun/xml/internal/txw2/output/DataWriter.java + src/share/classes/com/sun/xml/internal/txw2/output/DelegatingXMLStreamWriter.java ! src/share/classes/com/sun/xml/internal/txw2/output/DomSerializer.java ! src/share/classes/com/sun/xml/internal/txw2/output/DumbEscapeHandler.java ! src/share/classes/com/sun/xml/internal/txw2/output/DumpSerializer.java + src/share/classes/com/sun/xml/internal/txw2/output/IndentingXMLFilter.java + src/share/classes/com/sun/xml/internal/txw2/output/IndentingXMLStreamWriter.java ! src/share/classes/com/sun/xml/internal/txw2/output/ResultFactory.java ! src/share/classes/com/sun/xml/internal/txw2/output/SaxSerializer.java ! src/share/classes/com/sun/xml/internal/txw2/output/StaxSerializer.java ! src/share/classes/com/sun/xml/internal/txw2/output/StreamSerializer.java ! src/share/classes/com/sun/xml/internal/txw2/output/XMLWriter.java ! src/share/classes/com/sun/xml/internal/txw2/output/XmlSerializer.java ! src/share/classes/com/sun/xml/internal/txw2/output/package.html ! src/share/classes/com/sun/xml/internal/txw2/package.html + src/share/classes/com/sun/xml/internal/ws/Closeable.java + src/share/classes/com/sun/xml/internal/ws/addressing/EndpointReferenceUtil.java + src/share/classes/com/sun/xml/internal/ws/addressing/ProblemAction.java + src/share/classes/com/sun/xml/internal/ws/addressing/ProblemHeaderQName.java + src/share/classes/com/sun/xml/internal/ws/addressing/W3CAddressingConstants.java + src/share/classes/com/sun/xml/internal/ws/addressing/WsaClientTube.java + src/share/classes/com/sun/xml/internal/ws/addressing/WsaServerTube.java + src/share/classes/com/sun/xml/internal/ws/addressing/WsaTube.java + src/share/classes/com/sun/xml/internal/ws/addressing/WsaTubeHelper.java + src/share/classes/com/sun/xml/internal/ws/addressing/WsaTubeHelperImpl.java + src/share/classes/com/sun/xml/internal/ws/addressing/model/ActionNotSupportedException.java + src/share/classes/com/sun/xml/internal/ws/addressing/model/InvalidMapException.java + src/share/classes/com/sun/xml/internal/ws/addressing/model/MapRequiredException.java + src/share/classes/com/sun/xml/internal/ws/addressing/v200408/MemberSubmissionAddressingConstants.java + src/share/classes/com/sun/xml/internal/ws/addressing/v200408/ProblemAction.java + src/share/classes/com/sun/xml/internal/ws/addressing/v200408/ProblemHeaderQName.java + src/share/classes/com/sun/xml/internal/ws/addressing/v200408/WsaTubeHelperImpl.java + src/share/classes/com/sun/xml/internal/ws/api/BindingID.java + src/share/classes/com/sun/xml/internal/ws/api/BindingIDFactory.java + src/share/classes/com/sun/xml/internal/ws/api/DistributedPropertySet.java + src/share/classes/com/sun/xml/internal/ws/api/EndpointAddress.java + src/share/classes/com/sun/xml/internal/ws/api/FeatureConstructor.java + src/share/classes/com/sun/xml/internal/ws/api/PropertySet.java + src/share/classes/com/sun/xml/internal/ws/api/SOAPVersion.java + src/share/classes/com/sun/xml/internal/ws/api/WSBinding.java + src/share/classes/com/sun/xml/internal/ws/api/WSFeatureList.java + src/share/classes/com/sun/xml/internal/ws/api/WSService.java + src/share/classes/com/sun/xml/internal/ws/api/addressing/AddressingVersion.java + src/share/classes/com/sun/xml/internal/ws/api/addressing/EPRHeader.java + src/share/classes/com/sun/xml/internal/ws/api/addressing/OneWayFeature.java + src/share/classes/com/sun/xml/internal/ws/api/addressing/OutboundReferenceParameterHeader.java + src/share/classes/com/sun/xml/internal/ws/api/addressing/WSEndpointReference.java + src/share/classes/com/sun/xml/internal/ws/api/addressing/package-info.java + src/share/classes/com/sun/xml/internal/ws/api/client/ClientPipelineHook.java + src/share/classes/com/sun/xml/internal/ws/api/client/SelectOptimalEncodingFeature.java + src/share/classes/com/sun/xml/internal/ws/api/client/ServiceInterceptor.java + src/share/classes/com/sun/xml/internal/ws/api/client/ServiceInterceptorFactory.java + src/share/classes/com/sun/xml/internal/ws/api/client/WSPortInfo.java + src/share/classes/com/sun/xml/internal/ws/api/fastinfoset/FastInfosetFeature.java + src/share/classes/com/sun/xml/internal/ws/api/message/Attachment.java + src/share/classes/com/sun/xml/internal/ws/api/message/AttachmentSet.java + src/share/classes/com/sun/xml/internal/ws/api/message/ExceptionHasMessage.java + src/share/classes/com/sun/xml/internal/ws/api/message/Header.java + src/share/classes/com/sun/xml/internal/ws/api/message/HeaderList.java + src/share/classes/com/sun/xml/internal/ws/api/message/Headers.java + src/share/classes/com/sun/xml/internal/ws/api/message/Message.java + src/share/classes/com/sun/xml/internal/ws/api/message/Messages.java + src/share/classes/com/sun/xml/internal/ws/api/message/Packet.java + src/share/classes/com/sun/xml/internal/ws/api/message/package-info.java + src/share/classes/com/sun/xml/internal/ws/api/message/stream/InputStreamMessage.java + src/share/classes/com/sun/xml/internal/ws/api/message/stream/StreamBasedMessage.java + src/share/classes/com/sun/xml/internal/ws/api/message/stream/XMLStreamReaderMessage.java + src/share/classes/com/sun/xml/internal/ws/api/model/CheckedException.java + src/share/classes/com/sun/xml/internal/ws/api/model/ExceptionType.java + src/share/classes/com/sun/xml/internal/ws/api/model/JavaMethod.java + src/share/classes/com/sun/xml/internal/ws/api/model/MEP.java + src/share/classes/com/sun/xml/internal/ws/api/model/Parameter.java + src/share/classes/com/sun/xml/internal/ws/api/model/ParameterBinding.java + src/share/classes/com/sun/xml/internal/ws/api/model/SEIModel.java + src/share/classes/com/sun/xml/internal/ws/api/model/soap/SOAPBinding.java + src/share/classes/com/sun/xml/internal/ws/api/model/wsdl/WSDLBoundOperation.java + src/share/classes/com/sun/xml/internal/ws/api/model/wsdl/WSDLBoundPortType.java + src/share/classes/com/sun/xml/internal/ws/api/model/wsdl/WSDLDescriptorKind.java + src/share/classes/com/sun/xml/internal/ws/api/model/wsdl/WSDLExtensible.java + src/share/classes/com/sun/xml/internal/ws/api/model/wsdl/WSDLExtension.java + src/share/classes/com/sun/xml/internal/ws/api/model/wsdl/WSDLFault.java + src/share/classes/com/sun/xml/internal/ws/api/model/wsdl/WSDLFeaturedObject.java + src/share/classes/com/sun/xml/internal/ws/api/model/wsdl/WSDLInput.java + src/share/classes/com/sun/xml/internal/ws/api/model/wsdl/WSDLMessage.java + src/share/classes/com/sun/xml/internal/ws/api/model/wsdl/WSDLModel.java + src/share/classes/com/sun/xml/internal/ws/api/model/wsdl/WSDLObject.java + src/share/classes/com/sun/xml/internal/ws/api/model/wsdl/WSDLOperation.java + src/share/classes/com/sun/xml/internal/ws/api/model/wsdl/WSDLOutput.java + src/share/classes/com/sun/xml/internal/ws/api/model/wsdl/WSDLPart.java + src/share/classes/com/sun/xml/internal/ws/api/model/wsdl/WSDLPartDescriptor.java + src/share/classes/com/sun/xml/internal/ws/api/model/wsdl/WSDLPort.java + src/share/classes/com/sun/xml/internal/ws/api/model/wsdl/WSDLPortType.java + src/share/classes/com/sun/xml/internal/ws/api/model/wsdl/WSDLService.java + src/share/classes/com/sun/xml/internal/ws/api/package-info.java + src/share/classes/com/sun/xml/internal/ws/api/pipe/ClientPipeAssemblerContext.java + src/share/classes/com/sun/xml/internal/ws/api/pipe/ClientTubeAssemblerContext.java + src/share/classes/com/sun/xml/internal/ws/api/pipe/Codec.java + src/share/classes/com/sun/xml/internal/ws/api/pipe/Codecs.java + src/share/classes/com/sun/xml/internal/ws/api/pipe/ContentType.java + src/share/classes/com/sun/xml/internal/ws/api/pipe/Engine.java + src/share/classes/com/sun/xml/internal/ws/api/pipe/Fiber.java + src/share/classes/com/sun/xml/internal/ws/api/pipe/FiberContextSwitchInterceptor.java + src/share/classes/com/sun/xml/internal/ws/api/pipe/NextAction.java + src/share/classes/com/sun/xml/internal/ws/api/pipe/Pipe.java + src/share/classes/com/sun/xml/internal/ws/api/pipe/PipeCloner.java + src/share/classes/com/sun/xml/internal/ws/api/pipe/PipelineAssembler.java + src/share/classes/com/sun/xml/internal/ws/api/pipe/PipelineAssemblerFactory.java + src/share/classes/com/sun/xml/internal/ws/api/pipe/SOAPBindingCodec.java + src/share/classes/com/sun/xml/internal/ws/api/pipe/ServerPipeAssemblerContext.java + src/share/classes/com/sun/xml/internal/ws/api/pipe/ServerTubeAssemblerContext.java + src/share/classes/com/sun/xml/internal/ws/api/pipe/StreamSOAPCodec.java + src/share/classes/com/sun/xml/internal/ws/api/pipe/Stubs.java + src/share/classes/com/sun/xml/internal/ws/api/pipe/TransportPipeFactory.java + src/share/classes/com/sun/xml/internal/ws/api/pipe/TransportTubeFactory.java + src/share/classes/com/sun/xml/internal/ws/api/pipe/Tube.java + src/share/classes/com/sun/xml/internal/ws/api/pipe/TubeCloner.java + src/share/classes/com/sun/xml/internal/ws/api/pipe/TubelineAssembler.java + src/share/classes/com/sun/xml/internal/ws/api/pipe/TubelineAssemblerFactory.java + src/share/classes/com/sun/xml/internal/ws/api/pipe/helper/AbstractFilterPipeImpl.java + src/share/classes/com/sun/xml/internal/ws/api/pipe/helper/AbstractFilterTubeImpl.java + src/share/classes/com/sun/xml/internal/ws/api/pipe/helper/AbstractPipeImpl.java + src/share/classes/com/sun/xml/internal/ws/api/pipe/helper/AbstractTubeImpl.java + src/share/classes/com/sun/xml/internal/ws/api/pipe/helper/PipeAdapter.java + src/share/classes/com/sun/xml/internal/ws/api/pipe/helper/package-info.java + src/share/classes/com/sun/xml/internal/ws/api/pipe/package-info.java + src/share/classes/com/sun/xml/internal/ws/api/server/AbstractServerAsyncTransport.java + src/share/classes/com/sun/xml/internal/ws/api/server/Adapter.java + src/share/classes/com/sun/xml/internal/ws/api/server/AsyncProvider.java + src/share/classes/com/sun/xml/internal/ws/api/server/AsyncProviderCallback.java + src/share/classes/com/sun/xml/internal/ws/api/server/BoundEndpoint.java + src/share/classes/com/sun/xml/internal/ws/api/server/Container.java + src/share/classes/com/sun/xml/internal/ws/api/server/ContainerResolver.java + src/share/classes/com/sun/xml/internal/ws/api/server/DocumentAddressResolver.java + src/share/classes/com/sun/xml/internal/ws/api/server/EndpointAwareCodec.java + src/share/classes/com/sun/xml/internal/ws/api/server/InstanceResolver.java + src/share/classes/com/sun/xml/internal/ws/api/server/InstanceResolverAnnotation.java + src/share/classes/com/sun/xml/internal/ws/api/server/Invoker.java + src/share/classes/com/sun/xml/internal/ws/api/server/Module.java + src/share/classes/com/sun/xml/internal/ws/api/server/PortAddressResolver.java + src/share/classes/com/sun/xml/internal/ws/api/server/ResourceInjector.java + src/share/classes/com/sun/xml/internal/ws/api/server/SDDocument.java + src/share/classes/com/sun/xml/internal/ws/api/server/SDDocumentFilter.java + src/share/classes/com/sun/xml/internal/ws/api/server/SDDocumentSource.java + src/share/classes/com/sun/xml/internal/ws/api/server/ServerPipelineHook.java + src/share/classes/com/sun/xml/internal/ws/api/server/ServiceDefinition.java + src/share/classes/com/sun/xml/internal/ws/api/server/TransportBackChannel.java + src/share/classes/com/sun/xml/internal/ws/api/server/WSEndpoint.java + src/share/classes/com/sun/xml/internal/ws/api/server/WSWebServiceContext.java + src/share/classes/com/sun/xml/internal/ws/api/server/WebModule.java + src/share/classes/com/sun/xml/internal/ws/api/server/WebServiceContextDelegate.java + src/share/classes/com/sun/xml/internal/ws/api/server/package-info.java + src/share/classes/com/sun/xml/internal/ws/api/streaming/XMLStreamReaderFactory.java + src/share/classes/com/sun/xml/internal/ws/api/streaming/XMLStreamWriterFactory.java + src/share/classes/com/sun/xml/internal/ws/api/wsdl/parser/MetaDataResolver.java + src/share/classes/com/sun/xml/internal/ws/api/wsdl/parser/MetadataResolverFactory.java + src/share/classes/com/sun/xml/internal/ws/api/wsdl/parser/ServiceDescriptor.java + src/share/classes/com/sun/xml/internal/ws/api/wsdl/parser/WSDLParserExtension.java + src/share/classes/com/sun/xml/internal/ws/api/wsdl/parser/WSDLParserExtensionContext.java + src/share/classes/com/sun/xml/internal/ws/api/wsdl/parser/XMLEntityResolver.java + src/share/classes/com/sun/xml/internal/ws/api/wsdl/parser/package-info.java + src/share/classes/com/sun/xml/internal/ws/api/wsdl/writer/WSDLGenExtnContext.java + src/share/classes/com/sun/xml/internal/ws/api/wsdl/writer/WSDLGeneratorExtension.java ! src/share/classes/com/sun/xml/internal/ws/binding/BindingImpl.java + src/share/classes/com/sun/xml/internal/ws/binding/HTTPBindingImpl.java + src/share/classes/com/sun/xml/internal/ws/binding/SOAPBindingImpl.java + src/share/classes/com/sun/xml/internal/ws/binding/WebServiceFeatureList.java - src/share/classes/com/sun/xml/internal/ws/binding/http/HTTPBindingImpl.java - src/share/classes/com/sun/xml/internal/ws/binding/soap/SOAPBindingImpl.java - src/share/classes/com/sun/xml/internal/ws/client/AsyncHandlerService.java + src/share/classes/com/sun/xml/internal/ws/client/AsyncInvoker.java + src/share/classes/com/sun/xml/internal/ws/client/AsyncResponseImpl.java ! src/share/classes/com/sun/xml/internal/ws/client/BindingProviderProperties.java - src/share/classes/com/sun/xml/internal/ws/client/ClientConfigurationException.java ! src/share/classes/com/sun/xml/internal/ws/client/ClientTransportException.java - src/share/classes/com/sun/xml/internal/ws/client/ContactInfoBase.java - src/share/classes/com/sun/xml/internal/ws/client/ContactInfoListImpl.java - src/share/classes/com/sun/xml/internal/ws/client/ContactInfoListIteratorBase.java ! src/share/classes/com/sun/xml/internal/ws/client/ContentNegotiation.java - src/share/classes/com/sun/xml/internal/ws/client/ContextMap.java - src/share/classes/com/sun/xml/internal/ws/client/EndpointIFBase.java - src/share/classes/com/sun/xml/internal/ws/client/EndpointIFContext.java - src/share/classes/com/sun/xml/internal/ws/client/EndpointIFInvocationHandler.java + src/share/classes/com/sun/xml/internal/ws/client/HandlerConfiguration.java + src/share/classes/com/sun/xml/internal/ws/client/HandlerConfigurator.java - src/share/classes/com/sun/xml/internal/ws/client/InternalBindingProvider.java + src/share/classes/com/sun/xml/internal/ws/client/PortInfo.java - src/share/classes/com/sun/xml/internal/ws/client/PortInfoBase.java ! src/share/classes/com/sun/xml/internal/ws/client/RequestContext.java ! src/share/classes/com/sun/xml/internal/ws/client/ResponseContext.java + src/share/classes/com/sun/xml/internal/ws/client/ResponseContextReceiver.java + src/share/classes/com/sun/xml/internal/ws/client/ResponseImpl.java + src/share/classes/com/sun/xml/internal/ws/client/SCAnnotations.java + src/share/classes/com/sun/xml/internal/ws/client/SEIPortInfo.java ! src/share/classes/com/sun/xml/internal/ws/client/SenderException.java - src/share/classes/com/sun/xml/internal/ws/client/ServiceContext.java - src/share/classes/com/sun/xml/internal/ws/client/ServiceContextBuilder.java + src/share/classes/com/sun/xml/internal/ws/client/Stub.java - src/share/classes/com/sun/xml/internal/ws/client/WSFuture.java ! src/share/classes/com/sun/xml/internal/ws/client/WSServiceDelegate.java + src/share/classes/com/sun/xml/internal/ws/client/dispatch/DataSourceDispatch.java - src/share/classes/com/sun/xml/internal/ws/client/dispatch/DispatchBase.java - src/share/classes/com/sun/xml/internal/ws/client/dispatch/DispatchContext.java + src/share/classes/com/sun/xml/internal/ws/client/dispatch/DispatchImpl.java + src/share/classes/com/sun/xml/internal/ws/client/dispatch/JAXBDispatch.java + src/share/classes/com/sun/xml/internal/ws/client/dispatch/MessageDispatch.java + src/share/classes/com/sun/xml/internal/ws/client/dispatch/RESTSourceDispatch.java - src/share/classes/com/sun/xml/internal/ws/client/dispatch/ResponseImpl.java + src/share/classes/com/sun/xml/internal/ws/client/dispatch/SOAPMessageDispatch.java + src/share/classes/com/sun/xml/internal/ws/client/dispatch/SOAPSourceDispatch.java - src/share/classes/com/sun/xml/internal/ws/client/dispatch/impl/DispatchContactInfoList.java - src/share/classes/com/sun/xml/internal/ws/client/dispatch/impl/DispatchDelegate.java - src/share/classes/com/sun/xml/internal/ws/client/dispatch/impl/encoding/DispatchSerializer.java - src/share/classes/com/sun/xml/internal/ws/client/dispatch/impl/encoding/DispatchUtil.java - src/share/classes/com/sun/xml/internal/ws/client/dispatch/impl/protocol/MessageDispatcherHelper.java ! src/share/classes/com/sun/xml/internal/ws/client/package-info.java + src/share/classes/com/sun/xml/internal/ws/client/sei/AsyncBuilder.java + src/share/classes/com/sun/xml/internal/ws/client/sei/AsyncMethodHandler.java + src/share/classes/com/sun/xml/internal/ws/client/sei/BodyBuilder.java + src/share/classes/com/sun/xml/internal/ws/client/sei/CallbackMethodHandler.java + src/share/classes/com/sun/xml/internal/ws/client/sei/MessageFiller.java + src/share/classes/com/sun/xml/internal/ws/client/sei/MethodHandler.java + src/share/classes/com/sun/xml/internal/ws/client/sei/PollingMethodHandler.java + src/share/classes/com/sun/xml/internal/ws/client/sei/ResponseBuilder.java + src/share/classes/com/sun/xml/internal/ws/client/sei/SEIStub.java + src/share/classes/com/sun/xml/internal/ws/client/sei/SyncMethodHandler.java + src/share/classes/com/sun/xml/internal/ws/client/sei/ValueGetter.java + src/share/classes/com/sun/xml/internal/ws/client/sei/ValueSetter.java + src/share/classes/com/sun/xml/internal/ws/client/sei/package-info.java + src/share/classes/com/sun/xml/internal/ws/developer/EPRRecipe.java ! src/share/classes/com/sun/xml/internal/ws/developer/JAXWSProperties.java + src/share/classes/com/sun/xml/internal/ws/developer/MemberSubmissionAddressing.java + src/share/classes/com/sun/xml/internal/ws/developer/MemberSubmissionAddressingFeature.java + src/share/classes/com/sun/xml/internal/ws/developer/MemberSubmissionEndpointReference.java + src/share/classes/com/sun/xml/internal/ws/developer/ServerSideException.java + src/share/classes/com/sun/xml/internal/ws/developer/Stateful.java + src/share/classes/com/sun/xml/internal/ws/developer/StatefulFeature.java + src/share/classes/com/sun/xml/internal/ws/developer/StatefulWebServiceManager.java + src/share/classes/com/sun/xml/internal/ws/developer/WSBindingProvider.java + src/share/classes/com/sun/xml/internal/ws/developer/package-info.java + src/share/classes/com/sun/xml/internal/ws/encoding/AbstractXMLStreamWriterExImpl.java + src/share/classes/com/sun/xml/internal/ws/encoding/ContentTypeImpl.java - src/share/classes/com/sun/xml/internal/ws/encoding/EncoderDecoderBase.java - src/share/classes/com/sun/xml/internal/ws/encoding/JAXWSAttachmentMarshaller.java - src/share/classes/com/sun/xml/internal/ws/encoding/JAXWSAttachmentUnmarshaller.java + src/share/classes/com/sun/xml/internal/ws/encoding/MimeCodec.java + src/share/classes/com/sun/xml/internal/ws/encoding/MimeMultipartParser.java + src/share/classes/com/sun/xml/internal/ws/encoding/MtomCodec.java + src/share/classes/com/sun/xml/internal/ws/encoding/SOAPBindingCodec.java + src/share/classes/com/sun/xml/internal/ws/encoding/StreamSOAP11Codec.java + src/share/classes/com/sun/xml/internal/ws/encoding/StreamSOAP12Codec.java + src/share/classes/com/sun/xml/internal/ws/encoding/StreamSOAPCodec.java + src/share/classes/com/sun/xml/internal/ws/encoding/SwACodec.java + src/share/classes/com/sun/xml/internal/ws/encoding/TagInfoset.java + src/share/classes/com/sun/xml/internal/ws/encoding/XMLHTTPBindingCodec.java + src/share/classes/com/sun/xml/internal/ws/encoding/fastinfoset/FastInfosetCodec.java + src/share/classes/com/sun/xml/internal/ws/encoding/fastinfoset/FastInfosetMIMETypes.java + src/share/classes/com/sun/xml/internal/ws/encoding/fastinfoset/FastInfosetStreamReaderFactory.java + src/share/classes/com/sun/xml/internal/ws/encoding/fastinfoset/FastInfosetStreamReaderRecyclable.java + src/share/classes/com/sun/xml/internal/ws/encoding/fastinfoset/FastInfosetStreamSOAP11Codec.java + src/share/classes/com/sun/xml/internal/ws/encoding/fastinfoset/FastInfosetStreamSOAP12Codec.java + src/share/classes/com/sun/xml/internal/ws/encoding/fastinfoset/FastInfosetStreamSOAPCodec.java - src/share/classes/com/sun/xml/internal/ws/encoding/internal/InternalEncoder.java - src/share/classes/com/sun/xml/internal/ws/encoding/jaxb/JAXBBeanInfo.java - src/share/classes/com/sun/xml/internal/ws/encoding/jaxb/JAXBBridgeInfo.java - src/share/classes/com/sun/xml/internal/ws/encoding/jaxb/JAXBTypeSerializer.java - src/share/classes/com/sun/xml/internal/ws/encoding/jaxb/RpcLitPayload.java - src/share/classes/com/sun/xml/internal/ws/encoding/jaxb/RpcLitPayloadSerializer.java - src/share/classes/com/sun/xml/internal/ws/encoding/simpletype/EncoderUtils.java - src/share/classes/com/sun/xml/internal/ws/encoding/simpletype/SimpleTypeConstants.java - src/share/classes/com/sun/xml/internal/ws/encoding/soap/ClientEncoderDecoder.java ! src/share/classes/com/sun/xml/internal/ws/encoding/soap/DeserializationException.java - src/share/classes/com/sun/xml/internal/ws/encoding/soap/EncoderDecoder.java ! src/share/classes/com/sun/xml/internal/ws/encoding/soap/SOAP12Constants.java ! src/share/classes/com/sun/xml/internal/ws/encoding/soap/SOAPConstants.java - src/share/classes/com/sun/xml/internal/ws/encoding/soap/SOAPDecoder.java - src/share/classes/com/sun/xml/internal/ws/encoding/soap/SOAPEPTFactory.java - src/share/classes/com/sun/xml/internal/ws/encoding/soap/SOAPEncoder.java - src/share/classes/com/sun/xml/internal/ws/encoding/soap/SOAPVersion.java ! src/share/classes/com/sun/xml/internal/ws/encoding/soap/SerializationException.java ! src/share/classes/com/sun/xml/internal/ws/encoding/soap/SerializerConstants.java - src/share/classes/com/sun/xml/internal/ws/encoding/soap/ServerEncoderDecoder.java - src/share/classes/com/sun/xml/internal/ws/encoding/soap/client/SOAP12XMLDecoder.java - src/share/classes/com/sun/xml/internal/ws/encoding/soap/client/SOAP12XMLEncoder.java - src/share/classes/com/sun/xml/internal/ws/encoding/soap/client/SOAPXMLDecoder.java - src/share/classes/com/sun/xml/internal/ws/encoding/soap/client/SOAPXMLEncoder.java - src/share/classes/com/sun/xml/internal/ws/encoding/soap/internal/AttachmentBlock.java - src/share/classes/com/sun/xml/internal/ws/encoding/soap/internal/BodyBlock.java - src/share/classes/com/sun/xml/internal/ws/encoding/soap/internal/DelegateBase.java - src/share/classes/com/sun/xml/internal/ws/encoding/soap/internal/HeaderBlock.java - src/share/classes/com/sun/xml/internal/ws/encoding/soap/internal/InternalMessage.java - src/share/classes/com/sun/xml/internal/ws/encoding/soap/internal/MessageBlock.java - src/share/classes/com/sun/xml/internal/ws/encoding/soap/internal/MessageInfoBase.java - src/share/classes/com/sun/xml/internal/ws/encoding/soap/internal/SOAP12NotUnderstoodHeaderBlock.java - src/share/classes/com/sun/xml/internal/ws/encoding/soap/message/FaultCode.java - src/share/classes/com/sun/xml/internal/ws/encoding/soap/message/FaultCodeEnum.java - src/share/classes/com/sun/xml/internal/ws/encoding/soap/message/FaultReason.java - src/share/classes/com/sun/xml/internal/ws/encoding/soap/message/FaultReasonText.java - src/share/classes/com/sun/xml/internal/ws/encoding/soap/message/FaultSubcode.java - src/share/classes/com/sun/xml/internal/ws/encoding/soap/message/SOAP12FaultInfo.java - src/share/classes/com/sun/xml/internal/ws/encoding/soap/message/SOAPFaultInfo.java - src/share/classes/com/sun/xml/internal/ws/encoding/soap/message/SOAPMsgCreateException.java - src/share/classes/com/sun/xml/internal/ws/encoding/soap/message/SOAPMsgFactoryCreateException.java - src/share/classes/com/sun/xml/internal/ws/encoding/soap/server/ProviderSED.java - src/share/classes/com/sun/xml/internal/ws/encoding/soap/server/SOAP12XMLDecoder.java - src/share/classes/com/sun/xml/internal/ws/encoding/soap/server/SOAP12XMLEncoder.java - src/share/classes/com/sun/xml/internal/ws/encoding/soap/server/SOAPXMLDecoder.java - src/share/classes/com/sun/xml/internal/ws/encoding/soap/server/SOAPXMLEncoder.java ! src/share/classes/com/sun/xml/internal/ws/encoding/soap/streaming/SOAP12NamespaceConstants.java ! src/share/classes/com/sun/xml/internal/ws/encoding/soap/streaming/SOAPNamespaceConstants.java + src/share/classes/com/sun/xml/internal/ws/encoding/xml/XMLCodec.java - src/share/classes/com/sun/xml/internal/ws/encoding/xml/XMLDecoder.java - src/share/classes/com/sun/xml/internal/ws/encoding/xml/XMLEPTFactory.java - src/share/classes/com/sun/xml/internal/ws/encoding/xml/XMLEncoder.java ! src/share/classes/com/sun/xml/internal/ws/encoding/xml/XMLMessage.java + src/share/classes/com/sun/xml/internal/ws/fault/CodeType.java + src/share/classes/com/sun/xml/internal/ws/fault/DetailType.java + src/share/classes/com/sun/xml/internal/ws/fault/ExceptionBean.java + src/share/classes/com/sun/xml/internal/ws/fault/ReasonType.java + src/share/classes/com/sun/xml/internal/ws/fault/SOAP11Fault.java + src/share/classes/com/sun/xml/internal/ws/fault/SOAP12Fault.java + src/share/classes/com/sun/xml/internal/ws/fault/SOAPFaultBuilder.java + src/share/classes/com/sun/xml/internal/ws/fault/SubcodeType.java + src/share/classes/com/sun/xml/internal/ws/fault/TextType.java + src/share/classes/com/sun/xml/internal/ws/handler/ClientLogicalHandlerTube.java + src/share/classes/com/sun/xml/internal/ws/handler/ClientSOAPHandlerTube.java - src/share/classes/com/sun/xml/internal/ws/handler/HandlerChainCaller.java ! src/share/classes/com/sun/xml/internal/ws/handler/HandlerChainsModel.java - src/share/classes/com/sun/xml/internal/ws/handler/HandlerContext.java ! src/share/classes/com/sun/xml/internal/ws/handler/HandlerException.java + src/share/classes/com/sun/xml/internal/ws/handler/HandlerProcessor.java - src/share/classes/com/sun/xml/internal/ws/handler/HandlerResolverImpl.java + src/share/classes/com/sun/xml/internal/ws/handler/HandlerTube.java ! src/share/classes/com/sun/xml/internal/ws/handler/LogicalMessageContextImpl.java ! src/share/classes/com/sun/xml/internal/ws/handler/LogicalMessageImpl.java ! src/share/classes/com/sun/xml/internal/ws/handler/MessageContextImpl.java - src/share/classes/com/sun/xml/internal/ws/handler/MessageContextUtil.java + src/share/classes/com/sun/xml/internal/ws/handler/MessageUpdatableContext.java ! src/share/classes/com/sun/xml/internal/ws/handler/PortInfoImpl.java - src/share/classes/com/sun/xml/internal/ws/handler/SHDSOAPMessageContext.java - src/share/classes/com/sun/xml/internal/ws/handler/SOAPHandlerContext.java + src/share/classes/com/sun/xml/internal/ws/handler/SOAPHandlerProcessor.java ! src/share/classes/com/sun/xml/internal/ws/handler/SOAPMessageContextImpl.java + src/share/classes/com/sun/xml/internal/ws/handler/ServerLogicalHandlerTube.java + src/share/classes/com/sun/xml/internal/ws/handler/ServerSOAPHandlerTube.java - src/share/classes/com/sun/xml/internal/ws/handler/XMLHandlerContext.java + src/share/classes/com/sun/xml/internal/ws/handler/XMLHandlerProcessor.java - src/share/classes/com/sun/xml/internal/ws/handler/XMLLogicalMessageContextImpl.java - src/share/classes/com/sun/xml/internal/ws/handler/XMLLogicalMessageImpl.java - src/share/classes/com/sun/xml/internal/ws/handler/package-info.java + src/share/classes/com/sun/xml/internal/ws/message/AbstractHeaderImpl.java + src/share/classes/com/sun/xml/internal/ws/message/AbstractMessageImpl.java + src/share/classes/com/sun/xml/internal/ws/message/AttachmentSetImpl.java + src/share/classes/com/sun/xml/internal/ws/message/AttachmentUnmarshallerImpl.java + src/share/classes/com/sun/xml/internal/ws/message/ByteArrayAttachment.java + src/share/classes/com/sun/xml/internal/ws/message/DOMHeader.java + src/share/classes/com/sun/xml/internal/ws/message/DOMMessage.java + src/share/classes/com/sun/xml/internal/ws/message/DataHandlerAttachment.java + src/share/classes/com/sun/xml/internal/ws/message/EmptyMessageImpl.java + src/share/classes/com/sun/xml/internal/ws/message/FaultDetailHeader.java + src/share/classes/com/sun/xml/internal/ws/message/JAXBAttachment.java + src/share/classes/com/sun/xml/internal/ws/message/MimeAttachmentSet.java + src/share/classes/com/sun/xml/internal/ws/message/ProblemActionHeader.java + src/share/classes/com/sun/xml/internal/ws/message/RelatesToHeader.java + src/share/classes/com/sun/xml/internal/ws/message/RootElementSniffer.java + src/share/classes/com/sun/xml/internal/ws/message/StringHeader.java + src/share/classes/com/sun/xml/internal/ws/message/Util.java + src/share/classes/com/sun/xml/internal/ws/message/XMLReaderImpl.java + src/share/classes/com/sun/xml/internal/ws/message/jaxb/AttachmentMarshallerImpl.java + src/share/classes/com/sun/xml/internal/ws/message/jaxb/JAXBBridgeSource.java + src/share/classes/com/sun/xml/internal/ws/message/jaxb/JAXBHeader.java + src/share/classes/com/sun/xml/internal/ws/message/jaxb/JAXBMessage.java + src/share/classes/com/sun/xml/internal/ws/message/jaxb/MarshallerBridge.java + src/share/classes/com/sun/xml/internal/ws/message/jaxb/package-info.java + src/share/classes/com/sun/xml/internal/ws/message/package-info.java + src/share/classes/com/sun/xml/internal/ws/message/saaj/SAAJHeader.java + src/share/classes/com/sun/xml/internal/ws/message/saaj/SAAJMessage.java + src/share/classes/com/sun/xml/internal/ws/message/source/PayloadSourceMessage.java + src/share/classes/com/sun/xml/internal/ws/message/source/ProtocolSourceMessage.java + src/share/classes/com/sun/xml/internal/ws/message/source/SourceUtils.java + src/share/classes/com/sun/xml/internal/ws/message/stream/OutboundStreamHeader.java + src/share/classes/com/sun/xml/internal/ws/message/stream/PayloadStreamReaderMessage.java + src/share/classes/com/sun/xml/internal/ws/message/stream/StreamAttachment.java + src/share/classes/com/sun/xml/internal/ws/message/stream/StreamHeader.java + src/share/classes/com/sun/xml/internal/ws/message/stream/StreamHeader11.java + src/share/classes/com/sun/xml/internal/ws/message/stream/StreamHeader12.java + src/share/classes/com/sun/xml/internal/ws/message/stream/StreamMessage.java + src/share/classes/com/sun/xml/internal/ws/model/AbstractSEIModelImpl.java - src/share/classes/com/sun/xml/internal/ws/model/CheckedException.java + src/share/classes/com/sun/xml/internal/ws/model/CheckedExceptionImpl.java - src/share/classes/com/sun/xml/internal/ws/model/ExceptionType.java - src/share/classes/com/sun/xml/internal/ws/model/JavaMethod.java + src/share/classes/com/sun/xml/internal/ws/model/JavaMethodImpl.java - src/share/classes/com/sun/xml/internal/ws/model/Mode.java - src/share/classes/com/sun/xml/internal/ws/model/Parameter.java - src/share/classes/com/sun/xml/internal/ws/model/ParameterBinding.java + src/share/classes/com/sun/xml/internal/ws/model/ParameterImpl.java - src/share/classes/com/sun/xml/internal/ws/model/RuntimeModel.java + src/share/classes/com/sun/xml/internal/ws/model/RuntimeModeler.java + src/share/classes/com/sun/xml/internal/ws/model/RuntimeModelerException.java + src/share/classes/com/sun/xml/internal/ws/model/SOAPSEIModel.java ! src/share/classes/com/sun/xml/internal/ws/model/WrapperParameter.java - src/share/classes/com/sun/xml/internal/ws/model/soap/SOAPBinding.java + src/share/classes/com/sun/xml/internal/ws/model/soap/SOAPBindingImpl.java - src/share/classes/com/sun/xml/internal/ws/model/soap/SOAPRuntimeModel.java - src/share/classes/com/sun/xml/internal/ws/model/soap/Style.java - src/share/classes/com/sun/xml/internal/ws/model/soap/Use.java + src/share/classes/com/sun/xml/internal/ws/model/wsdl/AbstractExtensibleImpl.java + src/share/classes/com/sun/xml/internal/ws/model/wsdl/AbstractFeaturedObjectImpl.java + src/share/classes/com/sun/xml/internal/ws/model/wsdl/AbstractObjectImpl.java + src/share/classes/com/sun/xml/internal/ws/model/wsdl/WSDLBoundOperationImpl.java + src/share/classes/com/sun/xml/internal/ws/model/wsdl/WSDLBoundPortTypeImpl.java + src/share/classes/com/sun/xml/internal/ws/model/wsdl/WSDLFaultImpl.java + src/share/classes/com/sun/xml/internal/ws/model/wsdl/WSDLInputImpl.java + src/share/classes/com/sun/xml/internal/ws/model/wsdl/WSDLMessageImpl.java + src/share/classes/com/sun/xml/internal/ws/model/wsdl/WSDLModelImpl.java + src/share/classes/com/sun/xml/internal/ws/model/wsdl/WSDLOperationImpl.java + src/share/classes/com/sun/xml/internal/ws/model/wsdl/WSDLOutputImpl.java + src/share/classes/com/sun/xml/internal/ws/model/wsdl/WSDLPartDescriptorImpl.java + src/share/classes/com/sun/xml/internal/ws/model/wsdl/WSDLPartImpl.java + src/share/classes/com/sun/xml/internal/ws/model/wsdl/WSDLPortImpl.java + src/share/classes/com/sun/xml/internal/ws/model/wsdl/WSDLPortTypeImpl.java + src/share/classes/com/sun/xml/internal/ws/model/wsdl/WSDLProperties.java + src/share/classes/com/sun/xml/internal/ws/model/wsdl/WSDLServiceImpl.java - src/share/classes/com/sun/xml/internal/ws/modeler/RuntimeModeler.java - src/share/classes/com/sun/xml/internal/ws/modeler/RuntimeModelerException.java ! src/share/classes/com/sun/xml/internal/ws/package-info.java - src/share/classes/com/sun/xml/internal/ws/pept/Delegate.java - src/share/classes/com/sun/xml/internal/ws/pept/encoding/Decoder.java - src/share/classes/com/sun/xml/internal/ws/pept/encoding/Encoder.java - src/share/classes/com/sun/xml/internal/ws/pept/ept/Acceptor.java - src/share/classes/com/sun/xml/internal/ws/pept/ept/ContactInfo.java - src/share/classes/com/sun/xml/internal/ws/pept/ept/ContactInfoList.java - src/share/classes/com/sun/xml/internal/ws/pept/ept/ContactInfoListIterator.java - src/share/classes/com/sun/xml/internal/ws/pept/ept/EPTFactory.java - src/share/classes/com/sun/xml/internal/ws/pept/ept/MessageInfo.java - src/share/classes/com/sun/xml/internal/ws/pept/presentation/MessageStruct.java - src/share/classes/com/sun/xml/internal/ws/pept/presentation/Stub.java - src/share/classes/com/sun/xml/internal/ws/pept/presentation/TargetFinder.java - src/share/classes/com/sun/xml/internal/ws/pept/presentation/Tie.java - src/share/classes/com/sun/xml/internal/ws/pept/protocol/Interceptors.java - src/share/classes/com/sun/xml/internal/ws/pept/protocol/MessageDispatcher.java + src/share/classes/com/sun/xml/internal/ws/protocol/soap/ClientMUTube.java + src/share/classes/com/sun/xml/internal/ws/protocol/soap/MUTube.java + src/share/classes/com/sun/xml/internal/ws/protocol/soap/ServerMUTube.java + src/share/classes/com/sun/xml/internal/ws/protocol/soap/VersionMismatchException.java - src/share/classes/com/sun/xml/internal/ws/protocol/soap/client/SOAPMessageDispatcher.java - src/share/classes/com/sun/xml/internal/ws/protocol/soap/server/ProviderSOAPMD.java - src/share/classes/com/sun/xml/internal/ws/protocol/soap/server/SOAPMessageDispatcher.java ! src/share/classes/com/sun/xml/internal/ws/protocol/xml/XMLMessageException.java - src/share/classes/com/sun/xml/internal/ws/protocol/xml/client/XMLMessageDispatcher.java - src/share/classes/com/sun/xml/internal/ws/protocol/xml/server/ProviderXMLMD.java - src/share/classes/com/sun/xml/internal/ws/protocol/xml/server/XMLMessageDispatcher.java + src/share/classes/com/sun/xml/internal/ws/resources/AddressingMessages.java + src/share/classes/com/sun/xml/internal/ws/resources/ClientMessages.java + src/share/classes/com/sun/xml/internal/ws/resources/DispatchMessages.java + src/share/classes/com/sun/xml/internal/ws/resources/EncodingMessages.java + src/share/classes/com/sun/xml/internal/ws/resources/HandlerMessages.java + src/share/classes/com/sun/xml/internal/ws/resources/HttpserverMessages.java + src/share/classes/com/sun/xml/internal/ws/resources/ModelerMessages.java + src/share/classes/com/sun/xml/internal/ws/resources/ProviderApiMessages.java + src/share/classes/com/sun/xml/internal/ws/resources/SenderMessages.java + src/share/classes/com/sun/xml/internal/ws/resources/ServerMessages.java + src/share/classes/com/sun/xml/internal/ws/resources/SoapMessages.java + src/share/classes/com/sun/xml/internal/ws/resources/StreamingMessages.java + src/share/classes/com/sun/xml/internal/ws/resources/UtilMessages.java + src/share/classes/com/sun/xml/internal/ws/resources/WsdlmodelMessages.java + src/share/classes/com/sun/xml/internal/ws/resources/WsservletMessages.java + src/share/classes/com/sun/xml/internal/ws/resources/XmlmessageMessages.java + src/share/classes/com/sun/xml/internal/ws/resources/addressing.properties ! src/share/classes/com/sun/xml/internal/ws/resources/client.properties ! src/share/classes/com/sun/xml/internal/ws/resources/dispatch.properties ! src/share/classes/com/sun/xml/internal/ws/resources/encoding.properties ! src/share/classes/com/sun/xml/internal/ws/resources/handler.properties ! src/share/classes/com/sun/xml/internal/ws/resources/httpserver.properties ! src/share/classes/com/sun/xml/internal/ws/resources/modeler.properties + src/share/classes/com/sun/xml/internal/ws/resources/providerApi.properties ! src/share/classes/com/sun/xml/internal/ws/resources/sender.properties ! src/share/classes/com/sun/xml/internal/ws/resources/server.properties ! src/share/classes/com/sun/xml/internal/ws/resources/soap.properties ! src/share/classes/com/sun/xml/internal/ws/resources/streaming.properties ! src/share/classes/com/sun/xml/internal/ws/resources/util.properties + src/share/classes/com/sun/xml/internal/ws/resources/wsdlmodel.properties ! src/share/classes/com/sun/xml/internal/ws/resources/wsservlet.properties ! src/share/classes/com/sun/xml/internal/ws/resources/xmlmessage.properties + src/share/classes/com/sun/xml/internal/ws/server/AbstractInstanceResolver.java + src/share/classes/com/sun/xml/internal/ws/server/AbstractMultiInstanceResolver.java + src/share/classes/com/sun/xml/internal/ws/server/AbstractWebServiceContext.java - src/share/classes/com/sun/xml/internal/ws/server/AppMsgContextImpl.java + src/share/classes/com/sun/xml/internal/ws/server/DefaultResourceInjector.java - src/share/classes/com/sun/xml/internal/ws/server/DocInfo.java - src/share/classes/com/sun/xml/internal/ws/server/EPTFactoryBase.java - src/share/classes/com/sun/xml/internal/ws/server/EPTFactoryFactoryBase.java + src/share/classes/com/sun/xml/internal/ws/server/EndpointFactory.java + src/share/classes/com/sun/xml/internal/ws/server/EndpointMessageContextImpl.java + src/share/classes/com/sun/xml/internal/ws/server/InvokerTube.java - src/share/classes/com/sun/xml/internal/ws/server/PeptTie.java - src/share/classes/com/sun/xml/internal/ws/server/RuntimeContext.java - src/share/classes/com/sun/xml/internal/ws/server/RuntimeEndpointInfo.java + src/share/classes/com/sun/xml/internal/ws/server/SDDocumentImpl.java ! src/share/classes/com/sun/xml/internal/ws/server/ServerPropertyConstants.java ! src/share/classes/com/sun/xml/internal/ws/server/ServerRtException.java + src/share/classes/com/sun/xml/internal/ws/server/ServiceDefinitionImpl.java + src/share/classes/com/sun/xml/internal/ws/server/SingletonResolver.java + src/share/classes/com/sun/xml/internal/ws/server/StatefulInstanceResolver.java - src/share/classes/com/sun/xml/internal/ws/server/TargetFinderImpl.java - src/share/classes/com/sun/xml/internal/ws/server/Tie.java + src/share/classes/com/sun/xml/internal/ws/server/UnsupportedMediaException.java ! src/share/classes/com/sun/xml/internal/ws/server/WSDLGenResolver.java ! src/share/classes/com/sun/xml/internal/ws/server/WSDLPatcher.java + src/share/classes/com/sun/xml/internal/ws/server/WSEndpointImpl.java - src/share/classes/com/sun/xml/internal/ws/server/XMLEPTFactoryImpl.java ! src/share/classes/com/sun/xml/internal/ws/server/package-info.java + src/share/classes/com/sun/xml/internal/ws/server/provider/AsyncProviderInvokerTube.java + src/share/classes/com/sun/xml/internal/ws/server/provider/MessageProviderArgumentBuilder.java + src/share/classes/com/sun/xml/internal/ws/server/provider/ProviderArgumentsBuilder.java + src/share/classes/com/sun/xml/internal/ws/server/provider/ProviderEndpointModel.java + src/share/classes/com/sun/xml/internal/ws/server/provider/ProviderInvokerTube.java - src/share/classes/com/sun/xml/internal/ws/server/provider/ProviderModel.java - src/share/classes/com/sun/xml/internal/ws/server/provider/ProviderPeptTie.java + src/share/classes/com/sun/xml/internal/ws/server/provider/SOAPProviderArgumentBuilder.java + src/share/classes/com/sun/xml/internal/ws/server/provider/SyncProviderInvokerTube.java + src/share/classes/com/sun/xml/internal/ws/server/provider/XMLProviderArgumentBuilder.java + src/share/classes/com/sun/xml/internal/ws/server/sei/ActionBasedDispatcher.java + src/share/classes/com/sun/xml/internal/ws/server/sei/DispatchException.java + src/share/classes/com/sun/xml/internal/ws/server/sei/EndpointArgumentsBuilder.java + src/share/classes/com/sun/xml/internal/ws/server/sei/EndpointMethodDispatcher.java + src/share/classes/com/sun/xml/internal/ws/server/sei/EndpointMethodDispatcherGetter.java + src/share/classes/com/sun/xml/internal/ws/server/sei/EndpointMethodHandler.java + src/share/classes/com/sun/xml/internal/ws/server/sei/EndpointResponseMessageBuilder.java + src/share/classes/com/sun/xml/internal/ws/server/sei/EndpointValueSetter.java + src/share/classes/com/sun/xml/internal/ws/server/sei/MessageFiller.java + src/share/classes/com/sun/xml/internal/ws/server/sei/PayloadQNameBasedDispatcher.java + src/share/classes/com/sun/xml/internal/ws/server/sei/SEIInvokerTube.java + src/share/classes/com/sun/xml/internal/ws/server/sei/ValueGetter.java ! src/share/classes/com/sun/xml/internal/ws/spi/ProviderImpl.java - src/share/classes/com/sun/xml/internal/ws/spi/runtime/Binding.java - src/share/classes/com/sun/xml/internal/ws/spi/runtime/ClientTransportFactory.java - src/share/classes/com/sun/xml/internal/ws/spi/runtime/ClientTransportFactoryTypes.java - src/share/classes/com/sun/xml/internal/ws/spi/runtime/InternalSoapEncoder.java - src/share/classes/com/sun/xml/internal/ws/spi/runtime/Invoker.java - src/share/classes/com/sun/xml/internal/ws/spi/runtime/MessageContext.java - src/share/classes/com/sun/xml/internal/ws/spi/runtime/MtomCallback.java - src/share/classes/com/sun/xml/internal/ws/spi/runtime/RuntimeEndpointInfo.java - src/share/classes/com/sun/xml/internal/ws/spi/runtime/SOAPMessageContext.java - src/share/classes/com/sun/xml/internal/ws/spi/runtime/StubBase.java - src/share/classes/com/sun/xml/internal/ws/spi/runtime/SystemHandlerDelegate.java - src/share/classes/com/sun/xml/internal/ws/spi/runtime/SystemHandlerDelegateFactory.java - src/share/classes/com/sun/xml/internal/ws/spi/runtime/Tie.java - src/share/classes/com/sun/xml/internal/ws/spi/runtime/WSConnection.java - src/share/classes/com/sun/xml/internal/ws/spi/runtime/WebServiceContext.java - src/share/classes/com/sun/xml/internal/ws/spi/runtime/package-info.java ! src/share/classes/com/sun/xml/internal/ws/streaming/Attributes.java ! src/share/classes/com/sun/xml/internal/ws/streaming/DOMStreamReader.java ! src/share/classes/com/sun/xml/internal/ws/streaming/PrefixFactory.java ! src/share/classes/com/sun/xml/internal/ws/streaming/PrefixFactoryImpl.java ! src/share/classes/com/sun/xml/internal/ws/streaming/SourceReaderFactory.java ! src/share/classes/com/sun/xml/internal/ws/streaming/TidyXMLStreamReader.java ! src/share/classes/com/sun/xml/internal/ws/streaming/XMLReader.java ! src/share/classes/com/sun/xml/internal/ws/streaming/XMLReaderException.java ! src/share/classes/com/sun/xml/internal/ws/streaming/XMLStreamReaderException.java - src/share/classes/com/sun/xml/internal/ws/streaming/XMLStreamReaderFactory.java ! src/share/classes/com/sun/xml/internal/ws/streaming/XMLStreamReaderUtil.java ! src/share/classes/com/sun/xml/internal/ws/streaming/XMLStreamWriterException.java - src/share/classes/com/sun/xml/internal/ws/streaming/XMLStreamWriterFactory.java ! src/share/classes/com/sun/xml/internal/ws/streaming/XMLStreamWriterUtil.java + src/share/classes/com/sun/xml/internal/ws/transport/DeferredTransportPipe.java ! src/share/classes/com/sun/xml/internal/ws/transport/Headers.java - src/share/classes/com/sun/xml/internal/ws/transport/WSConnectionImpl.java + src/share/classes/com/sun/xml/internal/ws/transport/http/DeploymentDescriptorParser.java + src/share/classes/com/sun/xml/internal/ws/transport/http/HttpAdapter.java + src/share/classes/com/sun/xml/internal/ws/transport/http/HttpAdapterList.java + src/share/classes/com/sun/xml/internal/ws/transport/http/ResourceLoader.java + src/share/classes/com/sun/xml/internal/ws/transport/http/WSHTTPConnection.java ! src/share/classes/com/sun/xml/internal/ws/transport/http/client/CookieJar.java ! src/share/classes/com/sun/xml/internal/ws/transport/http/client/HttpClientTransport.java - src/share/classes/com/sun/xml/internal/ws/transport/http/client/HttpClientTransportFactory.java ! src/share/classes/com/sun/xml/internal/ws/transport/http/client/HttpCookie.java + src/share/classes/com/sun/xml/internal/ws/transport/http/client/HttpResponseProperties.java + src/share/classes/com/sun/xml/internal/ws/transport/http/client/HttpTransportPipe.java ! src/share/classes/com/sun/xml/internal/ws/transport/http/client/RfcDateParser.java - src/share/classes/com/sun/xml/internal/ws/transport/http/server/EndpointDocInfo.java - src/share/classes/com/sun/xml/internal/ws/transport/http/server/EndpointEntityResolver.java ! src/share/classes/com/sun/xml/internal/ws/transport/http/server/EndpointImpl.java ! src/share/classes/com/sun/xml/internal/ws/transport/http/server/HttpEndpoint.java ! src/share/classes/com/sun/xml/internal/ws/transport/http/server/ServerConnectionImpl.java ! src/share/classes/com/sun/xml/internal/ws/transport/http/server/ServerMgr.java ! src/share/classes/com/sun/xml/internal/ws/transport/http/server/WSHttpHandler.java - src/share/classes/com/sun/xml/internal/ws/transport/http/server/WebServiceContextImpl.java - src/share/classes/com/sun/xml/internal/ws/transport/local/LocalMessage.java - src/share/classes/com/sun/xml/internal/ws/transport/local/client/LocalClientTransport.java - src/share/classes/com/sun/xml/internal/ws/transport/local/client/LocalClientTransportFactory.java - src/share/classes/com/sun/xml/internal/ws/transport/local/server/LocalConnectionImpl.java - src/share/classes/com/sun/xml/internal/ws/transport/local/server/LocalWSContextImpl.java ! src/share/classes/com/sun/xml/internal/ws/util/ASCIIUtility.java - src/share/classes/com/sun/xml/internal/ws/util/Base64Util.java ! src/share/classes/com/sun/xml/internal/ws/util/ByteArrayBuffer.java ! src/share/classes/com/sun/xml/internal/ws/util/ByteArrayDataSource.java + src/share/classes/com/sun/xml/internal/ws/util/CompletedFuture.java ! src/share/classes/com/sun/xml/internal/ws/util/Constants.java ! src/share/classes/com/sun/xml/internal/ws/util/DOMUtil.java ! src/share/classes/com/sun/xml/internal/ws/util/FastInfosetReflection.java ! src/share/classes/com/sun/xml/internal/ws/util/FastInfosetUtil.java ! src/share/classes/com/sun/xml/internal/ws/util/HandlerAnnotationInfo.java ! src/share/classes/com/sun/xml/internal/ws/util/HandlerAnnotationProcessor.java ! src/share/classes/com/sun/xml/internal/ws/util/JAXWSUtils.java - src/share/classes/com/sun/xml/internal/ws/util/MessageInfoUtil.java ! src/share/classes/com/sun/xml/internal/ws/util/NamespaceSupport.java + src/share/classes/com/sun/xml/internal/ws/util/NoCloseInputStream.java + src/share/classes/com/sun/xml/internal/ws/util/NoCloseOutputStream.java - src/share/classes/com/sun/xml/internal/ws/util/NullIterator.java + src/share/classes/com/sun/xml/internal/ws/util/Pool.java + src/share/classes/com/sun/xml/internal/ws/util/QNameMap.java + src/share/classes/com/sun/xml/internal/ws/util/ReadOnlyPropertyException.java ! src/share/classes/com/sun/xml/internal/ws/util/RuntimeVersion.java - src/share/classes/com/sun/xml/internal/ws/util/SOAPConnectionUtil.java - src/share/classes/com/sun/xml/internal/ws/util/SOAPUtil.java + src/share/classes/com/sun/xml/internal/ws/util/ServiceConfigurationError.java + src/share/classes/com/sun/xml/internal/ws/util/ServiceFinder.java ! src/share/classes/com/sun/xml/internal/ws/util/StringUtils.java - src/share/classes/com/sun/xml/internal/ws/util/SunStAXReflection.java ! src/share/classes/com/sun/xml/internal/ws/util/UtilException.java ! src/share/classes/com/sun/xml/internal/ws/util/Version.java ! src/share/classes/com/sun/xml/internal/ws/util/VersionUtil.java - src/share/classes/com/sun/xml/internal/ws/util/XMLConnectionUtil.java ! src/share/classes/com/sun/xml/internal/ws/util/exception/JAXWSExceptionBase.java + src/share/classes/com/sun/xml/internal/ws/util/exception/LocatableWebServiceException.java ! src/share/classes/com/sun/xml/internal/ws/util/localization/Localizable.java + src/share/classes/com/sun/xml/internal/ws/util/localization/LocalizableImpl.java ! src/share/classes/com/sun/xml/internal/ws/util/localization/LocalizableMessage.java ! src/share/classes/com/sun/xml/internal/ws/util/localization/LocalizableMessageFactory.java ! src/share/classes/com/sun/xml/internal/ws/util/localization/Localizer.java ! src/share/classes/com/sun/xml/internal/ws/util/localization/NullLocalizable.java + src/share/classes/com/sun/xml/internal/ws/util/pipe/DumpTube.java + src/share/classes/com/sun/xml/internal/ws/util/pipe/StandalonePipeAssembler.java + src/share/classes/com/sun/xml/internal/ws/util/pipe/StandaloneTubeAssembler.java ! src/share/classes/com/sun/xml/internal/ws/util/resources/Messages_en.properties ! src/share/classes/com/sun/xml/internal/ws/util/version.properties ! src/share/classes/com/sun/xml/internal/ws/util/xml/CDATA.java + src/share/classes/com/sun/xml/internal/ws/util/xml/ContentHandlerToXMLStreamWriter.java + src/share/classes/com/sun/xml/internal/ws/util/xml/DummyLocation.java ! src/share/classes/com/sun/xml/internal/ws/util/xml/NamedNodeMapIterator.java ! src/share/classes/com/sun/xml/internal/ws/util/xml/NodeListIterator.java + src/share/classes/com/sun/xml/internal/ws/util/xml/StAXResult.java ! src/share/classes/com/sun/xml/internal/ws/util/xml/StAXSource.java + src/share/classes/com/sun/xml/internal/ws/util/xml/XMLStreamReaderFilter.java - src/share/classes/com/sun/xml/internal/ws/util/xml/XMLStreamReaderToContentHandler.java + src/share/classes/com/sun/xml/internal/ws/util/xml/XMLStreamReaderToXMLStreamWriter.java + src/share/classes/com/sun/xml/internal/ws/util/xml/XMLStreamWriterFilter.java ! src/share/classes/com/sun/xml/internal/ws/util/xml/XmlUtil.java - src/share/classes/com/sun/xml/internal/ws/wsdl/WSDLContext.java - src/share/classes/com/sun/xml/internal/ws/wsdl/parser/Binding.java - src/share/classes/com/sun/xml/internal/ws/wsdl/parser/BindingOperation.java + src/share/classes/com/sun/xml/internal/ws/wsdl/parser/DelegatingParserExtension.java + src/share/classes/com/sun/xml/internal/ws/wsdl/parser/EntityResolverWrapper.java + src/share/classes/com/sun/xml/internal/ws/wsdl/parser/ErrorHandler.java + src/share/classes/com/sun/xml/internal/ws/wsdl/parser/FoolProofParserExtension.java + src/share/classes/com/sun/xml/internal/ws/wsdl/parser/InaccessibleWSDLException.java ! src/share/classes/com/sun/xml/internal/ws/wsdl/parser/MIMEConstants.java + src/share/classes/com/sun/xml/internal/ws/wsdl/parser/MemberSubmissionAddressingWSDLParserExtension.java - src/share/classes/com/sun/xml/internal/ws/wsdl/parser/Message.java + src/share/classes/com/sun/xml/internal/ws/wsdl/parser/MexEntityResolver.java ! src/share/classes/com/sun/xml/internal/ws/wsdl/parser/ParserUtil.java - src/share/classes/com/sun/xml/internal/ws/wsdl/parser/Part.java - src/share/classes/com/sun/xml/internal/ws/wsdl/parser/Port.java - src/share/classes/com/sun/xml/internal/ws/wsdl/parser/PortType.java - src/share/classes/com/sun/xml/internal/ws/wsdl/parser/PortTypeOperation.java ! src/share/classes/com/sun/xml/internal/ws/wsdl/parser/RuntimeWSDLParser.java ! src/share/classes/com/sun/xml/internal/ws/wsdl/parser/SOAPConstants.java - src/share/classes/com/sun/xml/internal/ws/wsdl/parser/Service.java + src/share/classes/com/sun/xml/internal/ws/wsdl/parser/W3CAddressingWSDLParserExtension.java ! src/share/classes/com/sun/xml/internal/ws/wsdl/parser/WSDLConstants.java - src/share/classes/com/sun/xml/internal/ws/wsdl/parser/WSDLDocument.java + src/share/classes/com/sun/xml/internal/ws/wsdl/parser/WSDLParserExtensionContextImpl.java + src/share/classes/com/sun/xml/internal/ws/wsdl/parser/WSDLParserExtensionFacade.java + src/share/classes/com/sun/xml/internal/ws/wsdl/writer/UsingAddressing.java + src/share/classes/com/sun/xml/internal/ws/wsdl/writer/W3CAddressingWSDLGeneratorExtension.java ! src/share/classes/com/sun/xml/internal/ws/wsdl/writer/WSDLGenerator.java + src/share/classes/com/sun/xml/internal/ws/wsdl/writer/WSDLGeneratorExtensionFacade.java - src/share/classes/com/sun/xml/internal/ws/wsdl/writer/WSDLOutputResolver.java + src/share/classes/com/sun/xml/internal/ws/wsdl/writer/WSDLResolver.java ! src/share/classes/com/sun/xml/internal/ws/wsdl/writer/document/Binding.java ! src/share/classes/com/sun/xml/internal/ws/wsdl/writer/document/BindingOperationType.java ! src/share/classes/com/sun/xml/internal/ws/wsdl/writer/document/Definitions.java ! src/share/classes/com/sun/xml/internal/ws/wsdl/writer/document/Documented.java ! src/share/classes/com/sun/xml/internal/ws/wsdl/writer/document/Fault.java ! src/share/classes/com/sun/xml/internal/ws/wsdl/writer/document/FaultType.java ! src/share/classes/com/sun/xml/internal/ws/wsdl/writer/document/Import.java ! src/share/classes/com/sun/xml/internal/ws/wsdl/writer/document/Message.java ! src/share/classes/com/sun/xml/internal/ws/wsdl/writer/document/OpenAtts.java ! src/share/classes/com/sun/xml/internal/ws/wsdl/writer/document/Operation.java ! src/share/classes/com/sun/xml/internal/ws/wsdl/writer/document/ParamType.java ! src/share/classes/com/sun/xml/internal/ws/wsdl/writer/document/Part.java ! src/share/classes/com/sun/xml/internal/ws/wsdl/writer/document/Port.java ! src/share/classes/com/sun/xml/internal/ws/wsdl/writer/document/PortType.java ! src/share/classes/com/sun/xml/internal/ws/wsdl/writer/document/Service.java ! src/share/classes/com/sun/xml/internal/ws/wsdl/writer/document/StartWithExtensionsType.java ! src/share/classes/com/sun/xml/internal/ws/wsdl/writer/document/Types.java ! src/share/classes/com/sun/xml/internal/ws/wsdl/writer/document/http/Address.java ! src/share/classes/com/sun/xml/internal/ws/wsdl/writer/document/http/Binding.java ! src/share/classes/com/sun/xml/internal/ws/wsdl/writer/document/http/Operation.java ! src/share/classes/com/sun/xml/internal/ws/wsdl/writer/document/http/package-info.java ! src/share/classes/com/sun/xml/internal/ws/wsdl/writer/document/package-info.java ! src/share/classes/com/sun/xml/internal/ws/wsdl/writer/document/soap/Body.java ! src/share/classes/com/sun/xml/internal/ws/wsdl/writer/document/soap/BodyType.java ! src/share/classes/com/sun/xml/internal/ws/wsdl/writer/document/soap/Header.java ! src/share/classes/com/sun/xml/internal/ws/wsdl/writer/document/soap/HeaderFault.java ! src/share/classes/com/sun/xml/internal/ws/wsdl/writer/document/soap/SOAPAddress.java ! src/share/classes/com/sun/xml/internal/ws/wsdl/writer/document/soap/SOAPBinding.java ! src/share/classes/com/sun/xml/internal/ws/wsdl/writer/document/soap/SOAPFault.java ! src/share/classes/com/sun/xml/internal/ws/wsdl/writer/document/soap/SOAPOperation.java ! src/share/classes/com/sun/xml/internal/ws/wsdl/writer/document/soap/package-info.java ! src/share/classes/com/sun/xml/internal/ws/wsdl/writer/document/soap12/Body.java ! src/share/classes/com/sun/xml/internal/ws/wsdl/writer/document/soap12/BodyType.java ! src/share/classes/com/sun/xml/internal/ws/wsdl/writer/document/soap12/Header.java ! src/share/classes/com/sun/xml/internal/ws/wsdl/writer/document/soap12/HeaderFault.java ! src/share/classes/com/sun/xml/internal/ws/wsdl/writer/document/soap12/SOAPAddress.java ! src/share/classes/com/sun/xml/internal/ws/wsdl/writer/document/soap12/SOAPBinding.java ! src/share/classes/com/sun/xml/internal/ws/wsdl/writer/document/soap12/SOAPFault.java ! src/share/classes/com/sun/xml/internal/ws/wsdl/writer/document/soap12/SOAPOperation.java ! src/share/classes/com/sun/xml/internal/ws/wsdl/writer/document/soap12/package-info.java ! src/share/classes/com/sun/xml/internal/ws/wsdl/writer/document/xsd/Import.java ! src/share/classes/com/sun/xml/internal/ws/wsdl/writer/document/xsd/Schema.java ! src/share/classes/com/sun/xml/internal/ws/wsdl/writer/document/xsd/package-info.java ! src/share/classes/com/sun/xml/internal/xsom/ForeignAttributes.java + src/share/classes/com/sun/xml/internal/xsom/SCD.java ! src/share/classes/com/sun/xml/internal/xsom/XSAnnotation.java ! src/share/classes/com/sun/xml/internal/xsom/XSAttContainer.java ! src/share/classes/com/sun/xml/internal/xsom/XSAttGroupDecl.java ! src/share/classes/com/sun/xml/internal/xsom/XSAttributeDecl.java ! src/share/classes/com/sun/xml/internal/xsom/XSAttributeUse.java ! src/share/classes/com/sun/xml/internal/xsom/XSComplexType.java ! src/share/classes/com/sun/xml/internal/xsom/XSComponent.java ! src/share/classes/com/sun/xml/internal/xsom/XSContentType.java ! src/share/classes/com/sun/xml/internal/xsom/XSDeclaration.java ! src/share/classes/com/sun/xml/internal/xsom/XSElementDecl.java ! src/share/classes/com/sun/xml/internal/xsom/XSFacet.java ! src/share/classes/com/sun/xml/internal/xsom/XSIdentityConstraint.java ! src/share/classes/com/sun/xml/internal/xsom/XSListSimpleType.java ! src/share/classes/com/sun/xml/internal/xsom/XSModelGroup.java ! src/share/classes/com/sun/xml/internal/xsom/XSModelGroupDecl.java ! src/share/classes/com/sun/xml/internal/xsom/XSNotation.java ! src/share/classes/com/sun/xml/internal/xsom/XSParticle.java ! src/share/classes/com/sun/xml/internal/xsom/XSRestrictionSimpleType.java ! src/share/classes/com/sun/xml/internal/xsom/XSSchema.java ! src/share/classes/com/sun/xml/internal/xsom/XSSchemaSet.java ! src/share/classes/com/sun/xml/internal/xsom/XSSimpleType.java ! src/share/classes/com/sun/xml/internal/xsom/XSTerm.java ! src/share/classes/com/sun/xml/internal/xsom/XSType.java ! src/share/classes/com/sun/xml/internal/xsom/XSUnionSimpleType.java ! src/share/classes/com/sun/xml/internal/xsom/XSVariety.java ! src/share/classes/com/sun/xml/internal/xsom/XSWildcard.java ! src/share/classes/com/sun/xml/internal/xsom/XSXPath.java ! src/share/classes/com/sun/xml/internal/xsom/XmlString.java ! src/share/classes/com/sun/xml/internal/xsom/impl/AnnotationImpl.java ! src/share/classes/com/sun/xml/internal/xsom/impl/AttGroupDeclImpl.java ! src/share/classes/com/sun/xml/internal/xsom/impl/AttributeDeclImpl.java ! src/share/classes/com/sun/xml/internal/xsom/impl/AttributeUseImpl.java ! src/share/classes/com/sun/xml/internal/xsom/impl/AttributesHolder.java ! src/share/classes/com/sun/xml/internal/xsom/impl/ComplexTypeImpl.java ! src/share/classes/com/sun/xml/internal/xsom/impl/ComponentImpl.java ! src/share/classes/com/sun/xml/internal/xsom/impl/Const.java ! src/share/classes/com/sun/xml/internal/xsom/impl/ContentTypeImpl.java ! src/share/classes/com/sun/xml/internal/xsom/impl/DeclarationImpl.java ! src/share/classes/com/sun/xml/internal/xsom/impl/ElementDecl.java ! src/share/classes/com/sun/xml/internal/xsom/impl/EmptyImpl.java ! src/share/classes/com/sun/xml/internal/xsom/impl/FacetImpl.java ! src/share/classes/com/sun/xml/internal/xsom/impl/ForeignAttributesImpl.java ! src/share/classes/com/sun/xml/internal/xsom/impl/IdentityConstraintImpl.java ! src/share/classes/com/sun/xml/internal/xsom/impl/ListSimpleTypeImpl.java ! src/share/classes/com/sun/xml/internal/xsom/impl/ModelGroupDeclImpl.java ! src/share/classes/com/sun/xml/internal/xsom/impl/ModelGroupImpl.java ! src/share/classes/com/sun/xml/internal/xsom/impl/NotationImpl.java ! src/share/classes/com/sun/xml/internal/xsom/impl/ParticleImpl.java ! src/share/classes/com/sun/xml/internal/xsom/impl/Ref.java ! src/share/classes/com/sun/xml/internal/xsom/impl/RestrictionSimpleTypeImpl.java ! src/share/classes/com/sun/xml/internal/xsom/impl/SchemaImpl.java ! src/share/classes/com/sun/xml/internal/xsom/impl/SchemaSetImpl.java ! src/share/classes/com/sun/xml/internal/xsom/impl/SimpleTypeImpl.java ! src/share/classes/com/sun/xml/internal/xsom/impl/UName.java ! src/share/classes/com/sun/xml/internal/xsom/impl/UnionSimpleTypeImpl.java ! src/share/classes/com/sun/xml/internal/xsom/impl/Util.java ! src/share/classes/com/sun/xml/internal/xsom/impl/WildcardImpl.java ! src/share/classes/com/sun/xml/internal/xsom/impl/XPathImpl.java ! src/share/classes/com/sun/xml/internal/xsom/impl/package.html + src/share/classes/com/sun/xml/internal/xsom/impl/parser/BaseContentRef.java ! src/share/classes/com/sun/xml/internal/xsom/impl/parser/DefaultAnnotationParser.java ! src/share/classes/com/sun/xml/internal/xsom/impl/parser/DelayedRef.java ! src/share/classes/com/sun/xml/internal/xsom/impl/parser/Messages.java ! src/share/classes/com/sun/xml/internal/xsom/impl/parser/Messages.properties ! src/share/classes/com/sun/xml/internal/xsom/impl/parser/Messages_ja.properties ! src/share/classes/com/sun/xml/internal/xsom/impl/parser/NGCCRuntimeEx.java ! src/share/classes/com/sun/xml/internal/xsom/impl/parser/ParserContext.java ! src/share/classes/com/sun/xml/internal/xsom/impl/parser/Patch.java ! src/share/classes/com/sun/xml/internal/xsom/impl/parser/PatcherManager.java ! src/share/classes/com/sun/xml/internal/xsom/impl/parser/SAXParserFactoryAdaptor.java ! src/share/classes/com/sun/xml/internal/xsom/impl/parser/SchemaDocumentImpl.java ! src/share/classes/com/sun/xml/internal/xsom/impl/parser/SubstGroupBaseTypeRef.java ! src/share/classes/com/sun/xml/internal/xsom/impl/parser/datatypes.xsd ! src/share/classes/com/sun/xml/internal/xsom/impl/parser/package.html ! src/share/classes/com/sun/xml/internal/xsom/impl/parser/state/AttributesImpl.java ! src/share/classes/com/sun/xml/internal/xsom/impl/parser/state/NGCCEventReceiver.java ! src/share/classes/com/sun/xml/internal/xsom/impl/parser/state/NGCCEventSource.java ! src/share/classes/com/sun/xml/internal/xsom/impl/parser/state/NGCCHandler.java ! src/share/classes/com/sun/xml/internal/xsom/impl/parser/state/NGCCInterleaveFilter.java ! src/share/classes/com/sun/xml/internal/xsom/impl/parser/state/NGCCRuntime.java ! src/share/classes/com/sun/xml/internal/xsom/impl/parser/state/Schema.java ! src/share/classes/com/sun/xml/internal/xsom/impl/parser/state/SimpleType_List.java ! src/share/classes/com/sun/xml/internal/xsom/impl/parser/state/SimpleType_Restriction.java ! src/share/classes/com/sun/xml/internal/xsom/impl/parser/state/SimpleType_Union.java ! src/share/classes/com/sun/xml/internal/xsom/impl/parser/state/annotation.java ! src/share/classes/com/sun/xml/internal/xsom/impl/parser/state/attributeDeclBody.java ! src/share/classes/com/sun/xml/internal/xsom/impl/parser/state/attributeGroupDecl.java ! src/share/classes/com/sun/xml/internal/xsom/impl/parser/state/attributeUses.java ! src/share/classes/com/sun/xml/internal/xsom/impl/parser/state/complexType.java ! src/share/classes/com/sun/xml/internal/xsom/impl/parser/state/complexType_complexContent_body.java ! src/share/classes/com/sun/xml/internal/xsom/impl/parser/state/elementDeclBody.java ! src/share/classes/com/sun/xml/internal/xsom/impl/parser/state/erSet.java ! src/share/classes/com/sun/xml/internal/xsom/impl/parser/state/ersSet.java ! src/share/classes/com/sun/xml/internal/xsom/impl/parser/state/facet.java ! src/share/classes/com/sun/xml/internal/xsom/impl/parser/state/foreignAttributes.java ! src/share/classes/com/sun/xml/internal/xsom/impl/parser/state/group.java ! src/share/classes/com/sun/xml/internal/xsom/impl/parser/state/identityConstraint.java ! src/share/classes/com/sun/xml/internal/xsom/impl/parser/state/importDecl.java ! src/share/classes/com/sun/xml/internal/xsom/impl/parser/state/includeDecl.java ! src/share/classes/com/sun/xml/internal/xsom/impl/parser/state/modelGroupBody.java ! src/share/classes/com/sun/xml/internal/xsom/impl/parser/state/notation.java ! src/share/classes/com/sun/xml/internal/xsom/impl/parser/state/occurs.java ! src/share/classes/com/sun/xml/internal/xsom/impl/parser/state/particle.java ! src/share/classes/com/sun/xml/internal/xsom/impl/parser/state/qname.java ! src/share/classes/com/sun/xml/internal/xsom/impl/parser/state/qualification.java ! src/share/classes/com/sun/xml/internal/xsom/impl/parser/state/redefine.java ! src/share/classes/com/sun/xml/internal/xsom/impl/parser/state/simpleType.java ! src/share/classes/com/sun/xml/internal/xsom/impl/parser/state/wildcardBody.java ! src/share/classes/com/sun/xml/internal/xsom/impl/parser/state/xpath.java + src/share/classes/com/sun/xml/internal/xsom/impl/scd/AbstractAxisImpl.java + src/share/classes/com/sun/xml/internal/xsom/impl/scd/Axis.java + src/share/classes/com/sun/xml/internal/xsom/impl/scd/Iterators.java + src/share/classes/com/sun/xml/internal/xsom/impl/scd/ParseException.java + src/share/classes/com/sun/xml/internal/xsom/impl/scd/SCDImpl.java + src/share/classes/com/sun/xml/internal/xsom/impl/scd/SCDParser.java + src/share/classes/com/sun/xml/internal/xsom/impl/scd/SCDParserConstants.java + src/share/classes/com/sun/xml/internal/xsom/impl/scd/SCDParserTokenManager.java + src/share/classes/com/sun/xml/internal/xsom/impl/scd/SimpleCharStream.java + src/share/classes/com/sun/xml/internal/xsom/impl/scd/Step.java + src/share/classes/com/sun/xml/internal/xsom/impl/scd/Token.java + src/share/classes/com/sun/xml/internal/xsom/impl/scd/TokenMgrError.java - src/share/classes/com/sun/xml/internal/xsom/impl/util/ConcatIterator.java ! src/share/classes/com/sun/xml/internal/xsom/impl/util/DraconianErrorHandler.java - src/share/classes/com/sun/xml/internal/xsom/impl/util/FilterIterator.java ! src/share/classes/com/sun/xml/internal/xsom/impl/util/ResourceEntityResolver.java ! src/share/classes/com/sun/xml/internal/xsom/impl/util/SchemaTreeTraverser.java ! src/share/classes/com/sun/xml/internal/xsom/impl/util/SchemaWriter.java ! src/share/classes/com/sun/xml/internal/xsom/impl/util/Uri.java ! src/share/classes/com/sun/xml/internal/xsom/package.html ! src/share/classes/com/sun/xml/internal/xsom/parser/AnnotationContext.java ! src/share/classes/com/sun/xml/internal/xsom/parser/AnnotationParser.java ! src/share/classes/com/sun/xml/internal/xsom/parser/AnnotationParserFactory.java ! src/share/classes/com/sun/xml/internal/xsom/parser/JAXPParser.java ! src/share/classes/com/sun/xml/internal/xsom/parser/SchemaDocument.java ! src/share/classes/com/sun/xml/internal/xsom/parser/XMLParser.java ! src/share/classes/com/sun/xml/internal/xsom/parser/XSOMParser.java ! src/share/classes/com/sun/xml/internal/xsom/parser/package.html ! src/share/classes/com/sun/xml/internal/xsom/util/ComponentNameFunction.java + src/share/classes/com/sun/xml/internal/xsom/util/DeferedCollection.java ! src/share/classes/com/sun/xml/internal/xsom/util/DomAnnotationParserFactory.java ! src/share/classes/com/sun/xml/internal/xsom/util/NameGetter.java ! src/share/classes/com/sun/xml/internal/xsom/util/NameGetter.properties ! src/share/classes/com/sun/xml/internal/xsom/util/SimpleTypeSet.java ! src/share/classes/com/sun/xml/internal/xsom/util/TypeClosure.java ! src/share/classes/com/sun/xml/internal/xsom/util/TypeSet.java ! src/share/classes/com/sun/xml/internal/xsom/util/XSFinder.java ! src/share/classes/com/sun/xml/internal/xsom/util/XSFunctionFilter.java ! src/share/classes/com/sun/xml/internal/xsom/visitor/XSContentTypeFunction.java ! src/share/classes/com/sun/xml/internal/xsom/visitor/XSContentTypeVisitor.java ! src/share/classes/com/sun/xml/internal/xsom/visitor/XSFunction.java ! src/share/classes/com/sun/xml/internal/xsom/visitor/XSSimpleTypeFunction.java ! src/share/classes/com/sun/xml/internal/xsom/visitor/XSSimpleTypeVisitor.java ! src/share/classes/com/sun/xml/internal/xsom/visitor/XSTermFunction.java ! src/share/classes/com/sun/xml/internal/xsom/visitor/XSTermFunctionWithParam.java ! src/share/classes/com/sun/xml/internal/xsom/visitor/XSTermVisitor.java ! src/share/classes/com/sun/xml/internal/xsom/visitor/XSVisitor.java ! src/share/classes/com/sun/xml/internal/xsom/visitor/XSWildcardFunction.java ! src/share/classes/com/sun/xml/internal/xsom/visitor/XSWildcardVisitor.java ! src/share/classes/com/sun/xml/internal/xsom/visitor/package.html ! src/share/classes/javax/activation/ActivationDataFlavor.java ! src/share/classes/javax/activation/MailcapCommandMap.java ! src/share/classes/javax/activation/MimeType.java ! src/share/classes/javax/activation/MimeTypeParameterList.java ! src/share/classes/javax/xml/bind/ContextFinder.java + src/share/classes/javax/xml/bind/DataBindingException.java ! src/share/classes/javax/xml/bind/DatatypeConverter.java + src/share/classes/javax/xml/bind/DatatypeConverterImpl.java ! src/share/classes/javax/xml/bind/DatatypeConverterInterface.java ! src/share/classes/javax/xml/bind/Element.java + src/share/classes/javax/xml/bind/GetPropertyAction.java + src/share/classes/javax/xml/bind/JAXB.java ! src/share/classes/javax/xml/bind/JAXBContext.java ! src/share/classes/javax/xml/bind/JAXBElement.java ! src/share/classes/javax/xml/bind/JAXBException.java ! src/share/classes/javax/xml/bind/MarshalException.java ! src/share/classes/javax/xml/bind/Marshaller.java ! src/share/classes/javax/xml/bind/Messages.properties ! src/share/classes/javax/xml/bind/NotIdentifiableEvent.java ! src/share/classes/javax/xml/bind/ParseConversionEvent.java ! src/share/classes/javax/xml/bind/PrintConversionEvent.java ! src/share/classes/javax/xml/bind/PropertyException.java ! src/share/classes/javax/xml/bind/SchemaOutputResolver.java ! src/share/classes/javax/xml/bind/TypeConstraintException.java ! src/share/classes/javax/xml/bind/UnmarshalException.java ! src/share/classes/javax/xml/bind/Unmarshaller.java ! src/share/classes/javax/xml/bind/UnmarshallerHandler.java ! src/share/classes/javax/xml/bind/ValidationEvent.java ! src/share/classes/javax/xml/bind/ValidationEventHandler.java ! src/share/classes/javax/xml/bind/ValidationEventLocator.java ! src/share/classes/javax/xml/bind/ValidationException.java ! src/share/classes/javax/xml/bind/Validator.java + src/share/classes/javax/xml/bind/WhiteSpaceProcessor.java ! src/share/classes/javax/xml/bind/annotation/XmlAccessOrder.java ! src/share/classes/javax/xml/bind/annotation/XmlAccessType.java ! src/share/classes/javax/xml/bind/annotation/XmlAccessorOrder.java ! src/share/classes/javax/xml/bind/annotation/XmlAccessorType.java ! src/share/classes/javax/xml/bind/annotation/XmlAttribute.java ! src/share/classes/javax/xml/bind/annotation/XmlElement.java ! src/share/classes/javax/xml/bind/annotation/XmlElementRef.java ! src/share/classes/javax/xml/bind/annotation/XmlElementWrapper.java ! src/share/classes/javax/xml/bind/annotation/XmlID.java ! src/share/classes/javax/xml/bind/annotation/XmlIDREF.java ! src/share/classes/javax/xml/bind/annotation/XmlList.java ! src/share/classes/javax/xml/bind/annotation/XmlNs.java ! src/share/classes/javax/xml/bind/annotation/XmlNsForm.java ! src/share/classes/javax/xml/bind/annotation/XmlSchema.java + src/share/classes/javax/xml/bind/annotation/XmlSeeAlso.java ! src/share/classes/javax/xml/bind/annotation/XmlTransient.java ! src/share/classes/javax/xml/bind/annotation/XmlType.java ! src/share/classes/javax/xml/bind/annotation/XmlValue.java ! src/share/classes/javax/xml/bind/annotation/adapters/HexBinaryAdapter.java ! src/share/classes/javax/xml/bind/annotation/adapters/NormalizedStringAdapter.java ! src/share/classes/javax/xml/bind/annotation/adapters/XmlAdapter.java ! src/share/classes/javax/xml/bind/annotation/adapters/XmlJavaTypeAdapter.java ! src/share/classes/javax/xml/bind/annotation/adapters/package.html ! src/share/classes/javax/xml/bind/annotation/package.html ! src/share/classes/javax/xml/bind/attachment/AttachmentMarshaller.java ! src/share/classes/javax/xml/bind/attachment/AttachmentUnmarshaller.java ! src/share/classes/javax/xml/bind/attachment/package.html ! src/share/classes/javax/xml/bind/helpers/AbstractMarshallerImpl.java ! src/share/classes/javax/xml/bind/helpers/AbstractUnmarshallerImpl.java ! src/share/classes/javax/xml/bind/helpers/DefaultValidationEventHandler.java ! src/share/classes/javax/xml/bind/helpers/Messages.properties ! src/share/classes/javax/xml/bind/helpers/NotIdentifiableEventImpl.java ! src/share/classes/javax/xml/bind/helpers/ParseConversionEventImpl.java ! src/share/classes/javax/xml/bind/helpers/PrintConversionEventImpl.java ! src/share/classes/javax/xml/bind/helpers/ValidationEventImpl.java ! src/share/classes/javax/xml/bind/helpers/ValidationEventLocatorImpl.java ! src/share/classes/javax/xml/bind/helpers/package.html ! src/share/classes/javax/xml/bind/package.html ! src/share/classes/javax/xml/bind/util/Messages.properties ! src/share/classes/javax/xml/bind/util/ValidationEventCollector.java ! src/share/classes/javax/xml/bind/util/package.html ! src/share/classes/javax/xml/soap/AttachmentPart.java ! src/share/classes/javax/xml/soap/Detail.java ! src/share/classes/javax/xml/soap/DetailEntry.java ! src/share/classes/javax/xml/soap/FactoryFinder.java ! src/share/classes/javax/xml/soap/MessageFactory.java ! src/share/classes/javax/xml/soap/MimeHeader.java ! src/share/classes/javax/xml/soap/MimeHeaders.java ! src/share/classes/javax/xml/soap/Name.java ! src/share/classes/javax/xml/soap/Node.java ! src/share/classes/javax/xml/soap/SAAJMetaFactory.java ! src/share/classes/javax/xml/soap/SAAJResult.java ! src/share/classes/javax/xml/soap/SOAPBody.java ! src/share/classes/javax/xml/soap/SOAPBodyElement.java ! src/share/classes/javax/xml/soap/SOAPConnection.java ! src/share/classes/javax/xml/soap/SOAPConnectionFactory.java ! src/share/classes/javax/xml/soap/SOAPConstants.java ! src/share/classes/javax/xml/soap/SOAPElement.java ! src/share/classes/javax/xml/soap/SOAPElementFactory.java ! src/share/classes/javax/xml/soap/SOAPEnvelope.java ! src/share/classes/javax/xml/soap/SOAPException.java ! src/share/classes/javax/xml/soap/SOAPFactory.java ! src/share/classes/javax/xml/soap/SOAPFault.java ! src/share/classes/javax/xml/soap/SOAPFaultElement.java ! src/share/classes/javax/xml/soap/SOAPHeader.java ! src/share/classes/javax/xml/soap/SOAPHeaderElement.java ! src/share/classes/javax/xml/soap/SOAPMessage.java ! src/share/classes/javax/xml/soap/SOAPPart.java ! src/share/classes/javax/xml/soap/Text.java ! src/share/classes/javax/xml/soap/package.html + src/share/classes/javax/xml/ws/Action.java ! src/share/classes/javax/xml/ws/AsyncHandler.java ! src/share/classes/javax/xml/ws/Binding.java ! src/share/classes/javax/xml/ws/BindingProvider.java ! src/share/classes/javax/xml/ws/BindingType.java ! src/share/classes/javax/xml/ws/Dispatch.java ! src/share/classes/javax/xml/ws/Endpoint.java + src/share/classes/javax/xml/ws/EndpointReference.java + src/share/classes/javax/xml/ws/FaultAction.java ! src/share/classes/javax/xml/ws/Holder.java ! src/share/classes/javax/xml/ws/LogicalMessage.java ! src/share/classes/javax/xml/ws/ProtocolException.java ! src/share/classes/javax/xml/ws/Provider.java ! src/share/classes/javax/xml/ws/RequestWrapper.java + src/share/classes/javax/xml/ws/RespectBinding.java + src/share/classes/javax/xml/ws/RespectBindingFeature.java ! src/share/classes/javax/xml/ws/Response.java ! src/share/classes/javax/xml/ws/ResponseWrapper.java ! src/share/classes/javax/xml/ws/Service.java ! src/share/classes/javax/xml/ws/ServiceMode.java ! src/share/classes/javax/xml/ws/WebEndpoint.java ! src/share/classes/javax/xml/ws/WebFault.java ! src/share/classes/javax/xml/ws/WebServiceClient.java ! src/share/classes/javax/xml/ws/WebServiceContext.java ! src/share/classes/javax/xml/ws/WebServiceException.java + src/share/classes/javax/xml/ws/WebServiceFeature.java ! src/share/classes/javax/xml/ws/WebServicePermission.java ! src/share/classes/javax/xml/ws/WebServiceRef.java ! src/share/classes/javax/xml/ws/WebServiceRefs.java ! src/share/classes/javax/xml/ws/handler/HandlerResolver.java ! src/share/classes/javax/xml/ws/handler/LogicalMessageContext.java ! src/share/classes/javax/xml/ws/handler/MessageContext.java ! src/share/classes/javax/xml/ws/handler/PortInfo.java ! src/share/classes/javax/xml/ws/handler/package.html ! src/share/classes/javax/xml/ws/handler/soap/SOAPHandler.java ! src/share/classes/javax/xml/ws/handler/soap/SOAPMessageContext.java ! src/share/classes/javax/xml/ws/handler/soap/package.html ! src/share/classes/javax/xml/ws/http/package.html ! src/share/classes/javax/xml/ws/package.html + src/share/classes/javax/xml/ws/soap/Addressing.java + src/share/classes/javax/xml/ws/soap/AddressingFeature.java + src/share/classes/javax/xml/ws/soap/MTOM.java + src/share/classes/javax/xml/ws/soap/MTOMFeature.java ! src/share/classes/javax/xml/ws/soap/SOAPBinding.java ! src/share/classes/javax/xml/ws/soap/SOAPFaultException.java ! src/share/classes/javax/xml/ws/soap/package.html ! src/share/classes/javax/xml/ws/spi/FactoryFinder.java ! src/share/classes/javax/xml/ws/spi/Provider.java ! src/share/classes/javax/xml/ws/spi/ServiceDelegate.java + src/share/classes/javax/xml/ws/spi/WebServiceFeatureAnnotation.java ! src/share/classes/javax/xml/ws/spi/package.html + src/share/classes/javax/xml/ws/wsaddressing/W3CEndpointReference.java + src/share/classes/javax/xml/ws/wsaddressing/W3CEndpointReferenceBuilder.java + src/share/classes/javax/xml/ws/wsaddressing/package-info.java + src/share/classes/javax/xml/ws/wsaddressing/package.html + src/share/classes/org/relaxng/datatype/Datatype.java + src/share/classes/org/relaxng/datatype/DatatypeBuilder.java + src/share/classes/org/relaxng/datatype/DatatypeException.java + src/share/classes/org/relaxng/datatype/DatatypeLibrary.java + src/share/classes/org/relaxng/datatype/DatatypeLibraryFactory.java + src/share/classes/org/relaxng/datatype/DatatypeStreamingValidator.java + src/share/classes/org/relaxng/datatype/ValidationContext.java + src/share/classes/org/relaxng/datatype/helpers/DatatypeLibraryLoader.java + src/share/classes/org/relaxng/datatype/helpers/ParameterlessDatatypeBuilder.java + src/share/classes/org/relaxng/datatype/helpers/StreamingValidatorImpl.java Changeset: a88ad84027a0 Author: tbell Date: 2009-04-20 15:25 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/jaxws/rev/a88ad84027a0 Merge - make/jprt.config ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/output/UTF8XmlOutput.java From Mandy.Chung at Sun.COM Tue Apr 21 15:55:58 2009 From: Mandy.Chung at Sun.COM (Mandy Chung) Date: Tue, 21 Apr 2009 08:55:58 -0700 Subject: Review request for 6829503 In-Reply-To: <49EDE53C.4090609@sun.com> References: <49E8FD27.9080000@sun.com> <49EA0479.7020305@sun.com> <49ED028B.1050906@sun.com> <49EDE53C.4090609@sun.com> Message-ID: <49EDEC8E.2090207@sun.com> Thanks Alan. Mandy Alan Bateman wrote: > Mandy Chung wrote: >> Alan, >> >> Thanks for the review and comments. Here is the revised webrev >> incorporating your comments. See below for my inlined reply. >> >> http://cr.openjdk.java.net/~mchung/6829503/webrev.01/ >> >> Alan Bateman wrote: >>> Good work! It mostly looks good to me and I've only a few comments: >>> >>> 1. I see that registerShutdownHook now throws IAE if the slot is >>> already used but if that happens it would be our bug. It can't >>> happen with the current code of course but I wonder if an Error >>> might be better (the original changes threw an InternalError). >>> >> I changed it to throw an InternalError. Since it's an implementation >> error, Error is appropriate. > Yes, this is better. > >>> 2. File#deleteOnExit doesn't allow IllegalStateException to be >>> thrown so maybe we should change DeleteOnExit#add to be a no-op if >>> its shutdown hook is running. If an application is attempting to >>> register files to be deleted during shutdown it will always be a >>> timing issue if the file is deleted or not. >>> >> Thanks for filing the RFE. No change is needed for this fix. > Sorry, this tangent delayed the push. Hopefully you will be able to > get it approved for one of the remaining builds for M3. > > >>> 3. In ApplicationShutdownHooks I wonder if it would be cleaner to >>> eliminate the static initializer and move the registration attempt >>> into the add method. That would avoid needing to catch >>> IllegalStateException ie: add becomes: if (hooks == null) { >>> Shutdown.add(...); hooks = new ... }. It amounts to the same as what >>> you have now but avoid exception catching. >>> >> I prefer to leave it as it is. >> >> We could move the registration to the add and remove method. We >> would have to add another state to indicate if the shutdown hook is >> running vs the shutdown hook is not registered. So we can't just do >> if (hooks == null) { Shutdown.add(...); ... }? When the application >> shutdown hooks are running, hooks is set to null. When a shutdown >> hook attempts to call Runtime.addShutdownHook that will end up >> getting an InternalError() since the hook at slot 1 has been registered. > Ah yes, it would be an InternalError rather than the > IllegalStateException. In that case leave it as is. > >>> 4. The synchronization and checking between Shutdown#add and >>> runHooks looks right. A minor comment is that the name >>> "curShutdownHookSlot" is a bit inconsistent with the other fields. >>> s/curr/current/ or perhaps a different name? >>> >> How about currentRunningHook? > Yes, looks better. > >>> 5. I usually prefer to have Runnables be the last parameter, in >>> particular for cases like this where anonymous inner classes are >>> used. An alternative to introducing the boolean parameter is rename >>> one of the register methods, say, registerShutdownHookBeforeShutdown >>> or something better. >>> >> I moved the Runnable parameter to the last parameter. I also remove >> the JavaLangAccess.registerShutdownHook(int, Runnable) method which I >> don't think it's highly necessary. So Console and DeleteOnExitHook >> both will need to specify the boolean parameter. > If there are other changes in the future that add further complexity > that it might be good to have different register names. For now it's > all looks okay to me. > > -Alan. From tim.bell at sun.com Tue Apr 21 16:11:42 2009 From: tim.bell at sun.com (tim.bell at sun.com) Date: Tue, 21 Apr 2009 16:11:42 +0000 Subject: hg: jdk7/tl/jdk: 2 new changesets Message-ID: <20090421161220.83DEEE3FD@hg.openjdk.java.net> Changeset: c35a027468f2 Author: tbell Date: 2009-04-21 08:46 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/c35a027468f2 6831313: update jaxws in OpenJDK7 to 2.1 plus bug fixes from OpenJDK 6 6672868: Package javax.xml.ws.wsaddressing not included in make/docs/CORE_PKGS.gmk Reviewed-by: darcy ! make/docs/CORE_PKGS.gmk Changeset: cc5db1a62f70 Author: tbell Date: 2009-04-21 09:03 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/cc5db1a62f70 Merge - make/common/shared/Compiler.gmk - make/jprt.config - src/share/classes/sun/text/normalizer/UProperty.java - src/share/native/java/util/zip/ZipEntry.c - src/windows/classes/sun/awt/windows/fontconfig.98.properties - src/windows/classes/sun/awt/windows/fontconfig.Me.properties - src/windows/native/sun/windows/awt_KeyboardFocusManager.h From David.Holmes at Sun.COM Wed Apr 22 04:00:58 2009 From: David.Holmes at Sun.COM (David Holmes - Sun Microsystems) Date: Wed, 22 Apr 2009 14:00:58 +1000 Subject: REVIEW 6511515: poor performance of LogRecord.inferCaller depending on java.lang.Throwable.getStackTraceElement In-Reply-To: References: <1ccfd1c10904201625o25d351a6k2c13bb129390e86@mail.gmail.com> <49ED23B9.90700@sun.com> Message-ID: <49EE967A.4010901@sun.com> Hi Jeremy, In the case where the exception is thrown this would be definitely slower :) But I would have expected some improvement otherwise as this is a native call with all the ensuing checks and transitions. C'est la vie. It was just a thought. :) Cheers, David Jeremy Manson said the following on 04/22/09 13:55: > Hi David. > > The change to eliminate the call to getStackTraceDepth and catch the > potential exception instead either makes no difference or makes the > benchmark slightly slower (I can't quite tell which without a lot more > testing). The getStackTraceDepth call doesn't really do much - it > just iterates over the array - so I don't think it adds much to the > runtime. > > In the interests of not writing code that looks like that (i.e., > "yuck!"), I recommend leaving it as-is. > > Jeremy > > On Mon, Apr 20, 2009 at 6:39 PM, David Holmes - Sun Microsystems > wrote: >> Hi Martin, Jeremy, >> >> I'm assuming inferCaller always expects to find a caller, or at least that >> would be the common case - yes? If so then this might be a case where it is >> quicker to forego the getStackTraceDepth() call and simply catch the >> potential exception if we reach the end. >> >> Aside: we really must get webrev or something like it available. These >> simple diffs are really hard to evaluate in isolation. >> >> Cheers, >> David >> >> Martin Buchholz said the following on 04/21/09 09:25: >>> Hi java.util.logging maintainers, >>> >>> Here is a patch to improve the performance of >>> LogRecord.inferCaller. This improves the performance >>> of the microbenchmark in 6511515 by 5x. >>> Swamy, please review. >>> Contributed by Jeremy Manson. >>> http://cr.openjdk.java.net/~martin/inferCaller >>> >>> As a followon, it makes sense to allow full random >>> access to elements of a stack trace. If that is done, >>> this change would be simplified by not requiring >>> SharedSecrets. >>> >>> # HG changeset patch >>> # User martin >>> # Date 1240268799 25200 >>> # Node ID ba9c54ffcac48493a46ee902dae6809cf4678e8d >>> # Parent 8b326aebb981265a99ed96355efe28f8c1b0a0c0 >>> 6511515: poor performance of LogRecord.inferCaller depending on >>> java.lang.Throwable.getStackTraceElement >>> Reviewed-by: swamyv >>> Contributed-by: jeremymanson >>> Summary: Allow random access to stack trace elements; retrieve only needed >>> ones >>> >>> diff --git a/src/share/classes/java/lang/System.java >>> b/src/share/classes/java/lang/System.java >>> --- a/src/share/classes/java/lang/System.java >>> +++ b/src/share/classes/java/lang/System.java >>> @@ -1174,6 +1174,12 @@ >>> public void registerShutdownHook(int slot, Runnable r) { >>> Shutdown.add(slot, r); >>> } >>> + public int getStackTraceDepth(Throwable t) { >>> + return t.getStackTraceDepth(); >>> + } >>> + public StackTraceElement getStackTraceElement(Throwable t, >>> int i) { >>> + return t.getStackTraceElement(i); >>> + } >>> }); >>> } >>> >>> diff --git a/src/share/classes/java/lang/Throwable.java >>> b/src/share/classes/java/lang/Throwable.java >>> --- a/src/share/classes/java/lang/Throwable.java >>> +++ b/src/share/classes/java/lang/Throwable.java >>> @@ -645,17 +645,21 @@ >>> /** >>> * Returns the number of elements in the stack trace (or 0 if the >>> stack >>> * trace is unavailable). >>> + * >>> + * package-protection for use by SharedSecrets. >>> */ >>> - private native int getStackTraceDepth(); >>> + native int getStackTraceDepth(); >>> >>> /** >>> * Returns the specified element of the stack trace. >>> + * >>> + * package-protection for use by SharedSecrets. >>> * >>> * @param index index of the element to return. >>> * @throws IndexOutOfBoundsException if index < 0 || >>> * index >= getStackTraceDepth() >>> */ >>> - private native StackTraceElement getStackTraceElement(int index); >>> + native StackTraceElement getStackTraceElement(int index); >>> >>> private synchronized void writeObject(java.io.ObjectOutputStream s) >>> throws IOException >>> diff --git a/src/share/classes/java/util/logging/LogRecord.java >>> b/src/share/classes/java/util/logging/LogRecord.java >>> --- a/src/share/classes/java/util/logging/LogRecord.java >>> +++ b/src/share/classes/java/util/logging/LogRecord.java >>> @@ -28,6 +28,9 @@ >>> import java.util.concurrent.atomic.AtomicInteger; >>> import java.util.concurrent.atomic.AtomicLong; >>> import java.io.*; >>> + >>> +import sun.misc.JavaLangAccess; >>> +import sun.misc.SharedSecrets; >>> >>> /** >>> * LogRecord objects are used to pass logging requests between >>> @@ -522,29 +525,31 @@ >>> // Private method to infer the caller's class and method names >>> private void inferCaller() { >>> needToInferCaller = false; >>> - // Get the stack trace. >>> - StackTraceElement stack[] = (new Throwable()).getStackTrace(); >>> - // First, search back to a method in the Logger class. >>> - int ix = 0; >>> - while (ix < stack.length) { >>> - StackTraceElement frame = stack[ix]; >>> + JavaLangAccess access = SharedSecrets.getJavaLangAccess(); >>> + Throwable throwable = new Throwable(); >>> + int depth = access.getStackTraceDepth(throwable); >>> + >>> + String logClassName = "java.util.logging.Logger"; >>> + boolean lookingForLogger = true; >>> + for (int ix = 0; ix < depth; ix++) { >>> + // Calling getStackTraceElement directly prevents the VM >>> + // from paying the cost of building the entire stack frame. >>> + StackTraceElement frame = >>> + access.getStackTraceElement(throwable, ix); >>> String cname = frame.getClassName(); >>> - if (cname.equals("java.util.logging.Logger")) { >>> - break; >>> + if (lookingForLogger) { >>> + // Skip all frames until we have found the first logger >>> frame. >>> + if (cname.equals(logClassName)) { >>> + lookingForLogger = false; >>> + } >>> + } else { >>> + if (!cname.equals(logClassName)) { >>> + // We've found the relevant frame. >>> + setSourceClassName(cname); >>> + setSourceMethodName(frame.getMethodName()); >>> + return; >>> + } >>> } >>> - ix++; >>> - } >>> - // Now search for the first frame before the "Logger" class. >>> - while (ix < stack.length) { >>> - StackTraceElement frame = stack[ix]; >>> - String cname = frame.getClassName(); >>> - if (!cname.equals("java.util.logging.Logger")) { >>> - // We've found the relevant frame. >>> - setSourceClassName(cname); >>> - setSourceMethodName(frame.getMethodName()); >>> - return; >>> - } >>> - ix++; >>> } >>> // We haven't found a suitable frame, so just punt. This is >>> // OK as we are only committed to making a "best effort" here. >>> diff --git a/src/share/classes/sun/misc/JavaLangAccess.java >>> b/src/share/classes/sun/misc/JavaLangAccess.java >>> --- a/src/share/classes/sun/misc/JavaLangAccess.java >>> +++ b/src/share/classes/sun/misc/JavaLangAccess.java >>> @@ -57,4 +57,14 @@ >>> >>> /** register shutdown hook */ >>> void registerShutdownHook(int slot, Runnable r); >>> + >>> + /** >>> + * Returns the number of stack frames represented by the given >>> throwable. >>> + */ >>> + int getStackTraceDepth(Throwable t); >>> + >>> + /** >>> + * Returns the ith StackTraceElement for the given throwable. >>> + */ >>> + StackTraceElement getStackTraceElement(Throwable t, int i); >>> } From jeremymanson at google.com Wed Apr 22 03:55:28 2009 From: jeremymanson at google.com (Jeremy Manson) Date: Tue, 21 Apr 2009 20:55:28 -0700 Subject: REVIEW 6511515: poor performance of LogRecord.inferCaller depending on java.lang.Throwable.getStackTraceElement In-Reply-To: <49ED23B9.90700@sun.com> References: <1ccfd1c10904201625o25d351a6k2c13bb129390e86@mail.gmail.com> <49ED23B9.90700@sun.com> Message-ID: Hi David. The change to eliminate the call to getStackTraceDepth and catch the potential exception instead either makes no difference or makes the benchmark slightly slower (I can't quite tell which without a lot more testing). The getStackTraceDepth call doesn't really do much - it just iterates over the array - so I don't think it adds much to the runtime. In the interests of not writing code that looks like that (i.e., "yuck!"), I recommend leaving it as-is. Jeremy On Mon, Apr 20, 2009 at 6:39 PM, David Holmes - Sun Microsystems wrote: > Hi Martin, Jeremy, > > I'm assuming inferCaller always expects to find a caller, or at least that > would be the common case - yes? If so then this might be a case where it is > quicker to forego the getStackTraceDepth() call and simply catch the > potential exception if we reach the end. > > Aside: we really must get webrev or something like it available. These > simple diffs are really hard to evaluate in isolation. > > Cheers, > David > > Martin Buchholz said the following on 04/21/09 09:25: >> >> Hi java.util.logging maintainers, >> >> Here is a patch to improve the performance of >> LogRecord.inferCaller. ?This improves the performance >> of the microbenchmark in 6511515 by 5x. >> Swamy, please review. >> Contributed by Jeremy Manson. >> http://cr.openjdk.java.net/~martin/inferCaller >> >> As a followon, it makes sense to allow full random >> access to elements of a stack trace. ?If that is done, >> this change would be simplified by not requiring >> SharedSecrets. >> >> # HG changeset patch >> # User martin >> # Date 1240268799 25200 >> # Node ID ba9c54ffcac48493a46ee902dae6809cf4678e8d >> # Parent ?8b326aebb981265a99ed96355efe28f8c1b0a0c0 >> 6511515: poor performance of LogRecord.inferCaller depending on >> java.lang.Throwable.getStackTraceElement >> Reviewed-by: swamyv >> Contributed-by: jeremymanson >> Summary: Allow random access to stack trace elements; retrieve only needed >> ones >> >> diff --git a/src/share/classes/java/lang/System.java >> b/src/share/classes/java/lang/System.java >> --- a/src/share/classes/java/lang/System.java >> +++ b/src/share/classes/java/lang/System.java >> @@ -1174,6 +1174,12 @@ >> ? ? ? ? ? ? public void registerShutdownHook(int slot, Runnable r) { >> ? ? ? ? ? ? ? ? Shutdown.add(slot, r); >> ? ? ? ? ? ? } >> + ? ? ? ? ? ?public int getStackTraceDepth(Throwable t) { >> + ? ? ? ? ? ? ? ?return t.getStackTraceDepth(); >> + ? ? ? ? ? ?} >> + ? ? ? ? ? ?public StackTraceElement getStackTraceElement(Throwable t, >> int i) { >> + ? ? ? ? ? ? ? ?return t.getStackTraceElement(i); >> + ? ? ? ? ? ?} >> ? ? ? ? }); >> ? ? } >> >> diff --git a/src/share/classes/java/lang/Throwable.java >> b/src/share/classes/java/lang/Throwable.java >> --- a/src/share/classes/java/lang/Throwable.java >> +++ b/src/share/classes/java/lang/Throwable.java >> @@ -645,17 +645,21 @@ >> ? ? /** >> ? ? ?* Returns the number of elements in the stack trace (or 0 if the >> stack >> ? ? ?* trace is unavailable). >> + ? ? * >> + ? ? * package-protection for use by SharedSecrets. >> ? ? ?*/ >> - ? ?private native int getStackTraceDepth(); >> + ? ?native int getStackTraceDepth(); >> >> ? ? /** >> ? ? ?* Returns the specified element of the stack trace. >> + ? ? * >> + ? ? * package-protection for use by SharedSecrets. >> ? ? ?* >> ? ? ?* @param index index of the element to return. >> ? ? ?* @throws IndexOutOfBoundsException if index < 0 || >> ? ? ?* ? ? ? ? index >= getStackTraceDepth() >> ? ? ?*/ >> - ? ?private native StackTraceElement getStackTraceElement(int index); >> + ? ?native StackTraceElement getStackTraceElement(int index); >> >> ? ? private synchronized void writeObject(java.io.ObjectOutputStream s) >> ? ? ? ? throws IOException >> diff --git a/src/share/classes/java/util/logging/LogRecord.java >> b/src/share/classes/java/util/logging/LogRecord.java >> --- a/src/share/classes/java/util/logging/LogRecord.java >> +++ b/src/share/classes/java/util/logging/LogRecord.java >> @@ -28,6 +28,9 @@ >> ?import java.util.concurrent.atomic.AtomicInteger; >> ?import java.util.concurrent.atomic.AtomicLong; >> ?import java.io.*; >> + >> +import sun.misc.JavaLangAccess; >> +import sun.misc.SharedSecrets; >> >> ?/** >> ?* LogRecord objects are used to pass logging requests between >> @@ -522,29 +525,31 @@ >> ? ? // Private method to infer the caller's class and method names >> ? ? private void inferCaller() { >> ? ? ? ? needToInferCaller = false; >> - ? ? ? ?// Get the stack trace. >> - ? ? ? ?StackTraceElement stack[] = (new Throwable()).getStackTrace(); >> - ? ? ? ?// First, search back to a method in the Logger class. >> - ? ? ? ?int ix = 0; >> - ? ? ? ?while (ix < stack.length) { >> - ? ? ? ? ? ?StackTraceElement frame = stack[ix]; >> + ? ? ? ?JavaLangAccess access = SharedSecrets.getJavaLangAccess(); >> + ? ? ? ?Throwable throwable = new Throwable(); >> + ? ? ? ?int depth = access.getStackTraceDepth(throwable); >> + >> + ? ? ? ?String logClassName = "java.util.logging.Logger"; >> + ? ? ? ?boolean lookingForLogger = true; >> + ? ? ? ?for (int ix = 0; ix < depth; ix++) { >> + ? ? ? ? ? ?// Calling getStackTraceElement directly prevents the VM >> + ? ? ? ? ? ?// from paying the cost of building the entire stack frame. >> + ? ? ? ? ? ?StackTraceElement frame = >> + ? ? ? ? ? ? ? ?access.getStackTraceElement(throwable, ix); >> ? ? ? ? ? ? String cname = frame.getClassName(); >> - ? ? ? ? ? ?if (cname.equals("java.util.logging.Logger")) { >> - ? ? ? ? ? ? ? ?break; >> + ? ? ? ? ? ?if (lookingForLogger) { >> + ? ? ? ? ? ? ? ?// Skip all frames until we have found the first logger >> frame. >> + ? ? ? ? ? ? ? ?if (cname.equals(logClassName)) { >> + ? ? ? ? ? ? ? ? ? ?lookingForLogger = false; >> + ? ? ? ? ? ? ? ?} >> + ? ? ? ? ? ?} else { >> + ? ? ? ? ? ? ? ?if (!cname.equals(logClassName)) { >> + ? ? ? ? ? ? ? ? ? ?// We've found the relevant frame. >> + ? ? ? ? ? ? ? ? ? ?setSourceClassName(cname); >> + ? ? ? ? ? ? ? ? ? ?setSourceMethodName(frame.getMethodName()); >> + ? ? ? ? ? ? ? ? ? ?return; >> + ? ? ? ? ? ? ? ?} >> ? ? ? ? ? ? } >> - ? ? ? ? ? ?ix++; >> - ? ? ? ?} >> - ? ? ? ?// Now search for the first frame before the "Logger" class. >> - ? ? ? ?while (ix < stack.length) { >> - ? ? ? ? ? ?StackTraceElement frame = stack[ix]; >> - ? ? ? ? ? ?String cname = frame.getClassName(); >> - ? ? ? ? ? ?if (!cname.equals("java.util.logging.Logger")) { >> - ? ? ? ? ? ? ? ?// We've found the relevant frame. >> - ? ? ? ? ? ? ? ?setSourceClassName(cname); >> - ? ? ? ? ? ? ? ?setSourceMethodName(frame.getMethodName()); >> - ? ? ? ? ? ? ? ?return; >> - ? ? ? ? ? ?} >> - ? ? ? ? ? ?ix++; >> ? ? ? ? } >> ? ? ? ? // We haven't found a suitable frame, so just punt. ?This is >> ? ? ? ? // OK as we are only committed to making a "best effort" here. >> diff --git a/src/share/classes/sun/misc/JavaLangAccess.java >> b/src/share/classes/sun/misc/JavaLangAccess.java >> --- a/src/share/classes/sun/misc/JavaLangAccess.java >> +++ b/src/share/classes/sun/misc/JavaLangAccess.java >> @@ -57,4 +57,14 @@ >> >> ? ? /** register shutdown hook */ >> ? ? void registerShutdownHook(int slot, Runnable r); >> + >> + ? ?/** >> + ? ? * Returns the number of stack frames represented by the given >> throwable. >> + ? ? */ >> + ? ?int getStackTraceDepth(Throwable t); >> + >> + ? ?/** >> + ? ? * Returns the ith StackTraceElement for the given throwable. >> + ? ? */ >> + ? ?StackTraceElement getStackTraceElement(Throwable t, int i); >> ?} > From alan.bateman at sun.com Thu Apr 23 18:49:45 2009 From: alan.bateman at sun.com (alan.bateman at sun.com) Date: Thu, 23 Apr 2009 18:49:45 +0000 Subject: hg: jdk7/tl/jdk: 6832557: TEST_BUG: java/lang/Class/getEnclosingConstructor/EnclosingConstructorTests.java fails to compile Message-ID: <20090423185023.54AF1E5D5@hg.openjdk.java.net> Changeset: 057e4afcf978 Author: alanb Date: 2009-04-23 19:44 +0100 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/057e4afcf978 6832557: TEST_BUG: java/lang/Class/getEnclosingConstructor/EnclosingConstructorTests.java fails to compile Reviewed-by: darcy, mcimadamore ! test/java/lang/Class/getEnclosingConstructor/EnclosingConstructorTests.java From kevinb at google.com Mon Apr 27 14:47:10 2009 From: kevinb at google.com (Kevin Bourrillion) Date: Mon, 27 Apr 2009 07:47:10 -0700 Subject: OpenJDK Forum: Core Libraries Round Table In-Reply-To: <108fcdeb0904101124r37d49da8jf36b6b4cfe56aa8d@mail.gmail.com> References: <49DCCF4B.20506@sun.com> <49DE293B.50401@sun.com> <49DE3449.5090002@sun.com> <49DE7141.7040100@sun.com> <49DE836A.3020204@sun.com> <108fcdeb0904101124r37d49da8jf36b6b4cfe56aa8d@mail.gmail.com> Message-ID: <108fcdeb0904270747m11976661g959c090da2d63d54@mail.gmail.com> Everyone, I'm terribly sorry. I got extremely busy, buying a house and all, and completely forgot about this, and I don't think I will have time. I should have said so long ago. On Fri, Apr 10, 2009 at 11:24 AM, Kevin Bourrillion wrote: > Curious if anyone is transcribing the call into text yet? Word-for-word > not necessary, but understandable? If no one says they've already done that > or at least started, I could volunteer. > > > > On Thu, Apr 9, 2009 at 4:23 PM, Tom Hawtin wrote: > >> Dalibor Topic wrote: >> >>> Tom Hawtin wrote: >>> >>>> Dalibor Topic wrote: >>>> >>>>> A recording of the call is available on >>>>> http://mediacast.sun.com/users/robilad/media/openjdk6-core-libs.ogg >>>>> >>>> Any chance of getting that in a mainstream format? Windows doesn't >>>> understand it. Rhythmbox under VirtualBox freezes. >>>> >>> >>> >>> http://mediacast.sun.com/users/robilad/media/openjdk-core-libraries-roundup.mp3 >>> >> >> Thanks for that, Dalibor. (I'm no fan of software patents, but it's nice >> when things just work.) >> >> Tom >> > > > > -- > Kevin Bourrillion @ Google > internal: http://go/javalibraries > google-collections.googlecode.com > google-guice.googlecode.com > > -- Kevin Bourrillion @ Google internal: http://go/javalibraries google-collections.googlecode.com google-guice.googlecode.com -------------- next part -------------- An HTML attachment was scrubbed... URL: From Ulf.Zibis at gmx.de Mon Apr 27 17:10:56 2009 From: Ulf.Zibis at gmx.de (Ulf Zibis) Date: Mon, 27 Apr 2009 19:10:56 +0200 Subject: Get rid of lousy "Method-Invocation-Chaining"-trick Message-ID: <49F5E720.6050002@gmx.de> Hi all, IMHO, implementing "Method-Invocation-Chaining" by simply returning "this" from regarding methods in Java-API was bad idea, because it doesn't really work, if a class is subclassed. For example see XxxBuffer classes, subclassed from java.nio.Buffer. So I think, it's time for a simple enhancement in Java syntax, and get rid of those "return this"-methods: http://mail.openjdk.java.net/pipermail/coin-dev/2009-March/001180.html What do you think here from core-libs side ? Regards, -Ulf From david.lloyd at redhat.com Mon Apr 27 17:21:38 2009 From: david.lloyd at redhat.com (David M. Lloyd) Date: Mon, 27 Apr 2009 12:21:38 -0500 Subject: Get rid of lousy "Method-Invocation-Chaining"-trick In-Reply-To: <49F5E720.6050002@gmx.de> References: <49F5E720.6050002@gmx.de> Message-ID: <49F5E9A2.2030103@redhat.com> On 04/27/2009 12:10 PM, Ulf Zibis wrote: > Hi all, > > IMHO, implementing "Method-Invocation-Chaining" by simply returning > "this" from regarding methods in Java-API was bad idea, because it > doesn't really work, if a class is subclassed. For example see XxxBuffer > classes, subclassed from java.nio.Buffer. That's not exactly accurate. Return types may be covariant (and in the case of Buffer, they should have been - I think it was just an oversight that may be addressed in NIO.2 if I recall correctly). And in fact this usage has worked out just fine for me. Don't fix what isn't broken IMO - DML From mandy.chung at sun.com Mon Apr 27 20:57:29 2009 From: mandy.chung at sun.com (mandy.chung at sun.com) Date: Mon, 27 Apr 2009 20:57:29 +0000 Subject: hg: jdk7/tl/jdk: 6829503: addShutdownHook fails if called after shutdown has commenced. Message-ID: <20090427205800.C6247E924@hg.openjdk.java.net> Changeset: 164ce9ff8b58 Author: mchung Date: 2009-04-27 12:08 -0700 URL: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/164ce9ff8b58 6829503: addShutdownHook fails if called after shutdown has commenced. Summary: allow shutdown hook to be added during shutdown and handle properly if it fails to add Reviewed-by: alanb, dholmes, martin ! src/share/classes/java/io/Console.java ! src/share/classes/java/io/DeleteOnExitHook.java ! src/share/classes/java/lang/ApplicationShutdownHooks.java ! src/share/classes/java/lang/Shutdown.java ! src/share/classes/java/lang/System.java ! src/share/classes/sun/misc/JavaLangAccess.java + test/java/lang/Runtime/shutdown/ShutdownHooks.java + test/java/lang/Runtime/shutdown/ShutdownHooks.sh From martinrb at google.com Tue Apr 28 00:54:54 2009 From: martinrb at google.com (Martin Buchholz) Date: Mon, 27 Apr 2009 17:54:54 -0700 Subject: PATCH: Tired of waiting for rt.jar to build? Message-ID: <1ccfd1c10904271754s6f56feafub82c97c80109f023@mail.gmail.com> Greetings, jar team! Recent changes by Xueming have made building rt.jar an order of magnitude faster. But it's still too slow for our taste. Here's another order of magnitude... In our tests, this reduces rt.jar build time to 2 sec (!) diff --git a/src/share/classes/sun/tools/jar/Main.java b/src/share/classes/sun/tools/jar/Main.java --- a/src/share/classes/sun/tools/jar/Main.java +++ b/src/share/classes/sun/tools/jar/Main.java @@ -56,7 +56,7 @@ Set entries = new LinkedHashSet(); // Directories specified by "-C" operation. - List paths = new ArrayList(); + Set paths = new HashSet(); CRC32 crc32 = new CRC32(); /* contributed by Jeremy Manson, who writes: """Basically, rt.jar seems to be built by taking a huge long list of directories: jar -C dir class -C dir class -C dir class All of these directories are *exactly the same place*. However, the jar command gives each a separate entry in the big list of directories. For each class, it iterates through all 16000 identical entries to find the right directory. Using HashSet reduces the size of this set to 1.""" Now, this is a behavior-preserving change, but the current code that uses paths in Main.java is extremely suspect. I believe the better fix would be to eviscerate the code that handles the "-C" flag and do it right, but the change above is much lower risk, and users have been living with the current misbehavior of "jar" for a very long time indeed. So, reviewers, the choice is yours - optimize the buggy behavior, or replace it with correct code, that will likely be even faster. Also, please file a bug. Someone who cares about the Makefiles can also try to remove the 16000 gratuitous -C flags that makes jar's life "jar hell". Martin From Xueming.Shen at Sun.COM Tue Apr 28 06:25:32 2009 From: Xueming.Shen at Sun.COM (Xueming Shen) Date: Mon, 27 Apr 2009 23:25:32 -0700 Subject: PATCH: Tired of waiting for rt.jar to build? In-Reply-To: <1ccfd1c10904271754s6f56feafub82c97c80109f023@mail.gmail.com> References: <1ccfd1c10904271754s6f56feafub82c97c80109f023@mail.gmail.com> Message-ID: <49F6A15C.9090400@sun.com> Martin, thanks for the patch, #6834805 has been filed for this issue. Will take a look. Martin Buchholz wrote: > Greetings, jar team! > > Recent changes by Xueming have made building rt.jar an order of > magnitude faster. > But it's still too slow for our taste. > Here's another order of magnitude... > > In our tests, this reduces rt.jar build time to 2 sec (!) > > diff --git a/src/share/classes/sun/tools/jar/Main.java > b/src/share/classes/sun/tools/jar/Main.java > --- a/src/share/classes/sun/tools/jar/Main.java > +++ b/src/share/classes/sun/tools/jar/Main.java > @@ -56,7 +56,7 @@ > Set entries = new LinkedHashSet(); > > // Directories specified by "-C" operation. > - List paths = new ArrayList(); > + Set paths = new HashSet(); > > CRC32 crc32 = new CRC32(); > /* > > > contributed by Jeremy Manson, who writes: > > """Basically, rt.jar seems to be built by taking a huge long list of > directories: > jar -C dir class -C dir class -C dir class > All of these directories are *exactly the same place*. However, the jar command > gives each a separate entry in the big list of directories. > For each class, it iterates through all 16000 identical entries to find the > right directory. Using HashSet reduces the size of this set to 1.""" > > Now, this is a behavior-preserving change, but the current code that uses > paths in Main.java is extremely suspect. I believe the better fix would be > to eviscerate the code that handles the "-C" flag and do it right, > but the change above is much lower risk, and users have been living > with the current misbehavior of "jar" for a very long time indeed. > > So, reviewers, the choice is yours - optimize the buggy behavior, > or replace it with correct code, that will likely be even faster. > Also, please file a bug. > > Someone who cares about the Makefiles can also try to remove the > 16000 gratuitous -C flags that makes jar's life "jar hell". > > Martin > From jim.andreou at gmail.com Tue Apr 28 10:50:14 2009 From: jim.andreou at gmail.com (Jim Andreou) Date: Tue, 28 Apr 2009 13:50:14 +0300 Subject: Question on String#indexOf(String) Message-ID: <7d7138c10904280350v457cfd00m63b332709572c4c4@mail.gmail.com> Hi, I wonder why String#indexOf(String) is implemented as it is. Apparently, when a character mismatch with the searched pattern is found, the pattern is only shifted by one character, but there are faster algorithms, for example see http://www.cs.utexas.edu/users/moore/best-ideas/string-searching/index.html. Was anything smarter tried out but had significant disadvantages for general use? What advantages does the current implementation have? It looks very pessimistic. Regards, Dimitris Andreou -------------- next part -------------- An HTML attachment was scrubbed... URL: From jim.andreou at gmail.com Tue Apr 28 10:59:20 2009 From: jim.andreou at gmail.com (Jim Andreou) Date: Tue, 28 Apr 2009 13:59:20 +0300 Subject: Question on String#indexOf(String) In-Reply-To: <7d7138c10904280350v457cfd00m63b332709572c4c4@mail.gmail.com> References: <7d7138c10904280350v457cfd00m63b332709572c4c4@mail.gmail.com> Message-ID: <7d7138c10904280359m3fb6e618v7dc6d6a6ec7e2354@mail.gmail.com> Answering my own question, probably most (all?) faster algorithms seem to need memory proportional to the size of the alphabet, which is kind of huge for Unicode, so that could be the reason. 2009/4/28 Jim Andreou > Hi, > I wonder why String#indexOf(String) is implemented as it is. Apparently, > when a character mismatch with the searched pattern is found, the pattern is > only shifted by one character, but there are faster algorithms, for example > see > http://www.cs.utexas.edu/users/moore/best-ideas/string-searching/index.html. > Was anything smarter tried out but had significant disadvantages for general > use? What advantages does the current implementation have? It looks very > pessimistic. > > Regards, > Dimitris Andreou > -------------- next part -------------- An HTML attachment was scrubbed... URL: From forax at univ-mlv.fr Tue Apr 28 12:38:24 2009 From: forax at univ-mlv.fr (=?ISO-8859-1?Q?R=E9mi_Forax?=) Date: Tue, 28 Apr 2009 14:38:24 +0200 Subject: Question on String#indexOf(String) In-Reply-To: <7d7138c10904280359m3fb6e618v7dc6d6a6ec7e2354@mail.gmail.com> References: <7d7138c10904280350v457cfd00m63b332709572c4c4@mail.gmail.com> <7d7138c10904280359m3fb6e618v7dc6d6a6ec7e2354@mail.gmail.com> Message-ID: <49F6F8C0.1040900@univ-mlv.fr> Jim Andreou a ?crit : > Answering my own question, probably most (all?) faster algorithms seem > to need memory proportional to the size of the alphabet, which is kind > of huge for Unicode, so that could be the reason. No see: http://en.wikipedia.org/wiki/Boyer%E2%80%93Moore_string_search_algorithm And this algorithmm is currently implemented by the regex package java.util.regex. R?mi > > 2009/4/28 Jim Andreou > > > Hi, > > I wonder why String#indexOf(String) is implemented as it is. > Apparently, when a character mismatch with the searched pattern is > found, the pattern is only shifted by one character, but there are > faster algorithms, for example > see http://www.cs.utexas.edu/users/moore/best-ideas/string-searching/index.html. > Was anything smarter tried out but had significant disadvantages > for general use? What advantages does the current implementation > have? It looks very pessimistic. > > Regards, > Dimitris Andreou > > From jim.andreou at gmail.com Tue Apr 28 13:09:12 2009 From: jim.andreou at gmail.com (Jim Andreou) Date: Tue, 28 Apr 2009 16:09:12 +0300 Subject: Question on String#indexOf(String) In-Reply-To: <49F6F8C0.1040900@univ-mlv.fr> References: <7d7138c10904280350v457cfd00m63b332709572c4c4@mail.gmail.com> <7d7138c10904280359m3fb6e618v7dc6d6a6ec7e2354@mail.gmail.com> <49F6F8C0.1040900@univ-mlv.fr> Message-ID: <7d7138c10904280609j56d5d2b2r21a9af6376612246@mail.gmail.com> 2009/4/28 R?mi Forax > Jim Andreou a ?crit : > >> Answering my own question, probably most (all?) faster algorithms seem to >> need memory proportional to the size of the alphabet, which is kind of huge >> for Unicode, so that could be the reason. >> > No see: > http://en.wikipedia.org/wiki/Boyer%E2%80%93Moore_string_search_algorithm > > And this algorithmm is currently implemented by the regex package > java.util.regex. > > R?mi Thanks. I have been trying to verify whether repeated pattern searching would be more performant with regex, but I only manage regex to outperform indexOf in very pathological cases (where the pattern contains very many prefixes of it). I'm not sure whether this is due to overhead imposed by java.util.regex or its really a characteristic of that algorithm; if it is, then having it as a general indexOf implementation would more likely cause a slowdown than speed-up. Regards, Dimitris > > >> 2009/4/28 Jim Andreou > jim.andreou at gmail.com>> >> >> Hi, >> >> I wonder why String#indexOf(String) is implemented as it is. >> Apparently, when a character mismatch with the searched pattern is >> found, the pattern is only shifted by one character, but there are >> faster algorithms, for example >> see >> http://www.cs.utexas.edu/users/moore/best-ideas/string-searching/index.html >> . >> Was anything smarter tried out but had significant disadvantages >> for general use? What advantages does the current implementation >> have? It looks very pessimistic. >> >> Regards, >> Dimitris Andreou >> >> >> > -------------- next part -------------- An HTML attachment was scrubbed... URL: From jjb at google.com Tue Apr 28 15:53:42 2009 From: jjb at google.com (Joshua Bloch) Date: Tue, 28 Apr 2009 08:53:42 -0700 Subject: Question on String#indexOf(String) In-Reply-To: <7d7138c10904280350v457cfd00m63b332709572c4c4@mail.gmail.com> References: <7d7138c10904280350v457cfd00m63b332709572c4c4@mail.gmail.com> Message-ID: <17b2302a0904280853p55cc9cc7xc570ada27389ad05@mail.gmail.com> I vaguely recall that madbot (Mike McCloskey) did some performance work on this method, and came to the conclusion that more sophisticated algorithms didn't actually pay for themselves in the common cases. I'm copying him so he can confirm or deny. Josh On Tue, Apr 28, 2009 at 3:50 AM, Jim Andreou wrote: > Hi, > I wonder why String#indexOf(String) is implemented as it is. Apparently, > when a character mismatch with the searched pattern is found, the pattern is > only shifted by one character, but there are faster algorithms, for example > see > http://www.cs.utexas.edu/users/moore/best-ideas/string-searching/index.html. > Was anything smarter tried out but had significant disadvantages for general > use? What advantages does the current implementation have? It looks very > pessimistic. > > Regards, > Dimitris Andreou > -------------- next part -------------- An HTML attachment was scrubbed... URL: From madbot at gmail.com Tue Apr 28 16:46:41 2009 From: madbot at gmail.com (madbot) Date: Tue, 28 Apr 2009 09:46:41 -0700 Subject: Question on String#indexOf(String) In-Reply-To: <17b2302a0904280853p55cc9cc7xc570ada27389ad05@mail.gmail.com> References: <7d7138c10904280350v457cfd00m63b332709572c4c4@mail.gmail.com> <17b2302a0904280853p55cc9cc7xc570ada27389ad05@mail.gmail.com> Message-ID: <26e85ba80904280946j3c06ecdfw1ca84fa81a44f380@mail.gmail.com> The overhead of setting up one of the faster algorithms was only worth it when the skip ahead is large and/or the data to search is large. So you need heuristics to determine when the overhead is worth it. Those heuristics would also have to be fast. Of course you could also leave that decision to the client invoking the search. They may know, for instance, if they will be repeatedly invoking the search. If you're searching for a string with a good jump ahead in a lot of data and/or you will be doing it repeatedly, it's a good idea to use java.util.regex where you can get the boyer moore speed. Remember, also, that once a large number of programmers get used to certain performance tradeoffs it is painful to pull the rug out from underneath them and change those tradeoffs. Anyway, all that said, I don't think there's anything inherently wrong with trying to apply some smarter algorithms. Just be prepared for a lot of backlash because you made searching for fred in fredrick take longer. madbot On Tue, Apr 28, 2009 at 8:53 AM, Joshua Bloch wrote: > I vaguely recall that madbot (Mike McCloskey) did some performance work on > this method, and came to the conclusion that more sophisticated algorithms > didn't actually pay for themselves in the common cases. I'm copying him so > he can confirm or deny. > Josh > > On Tue, Apr 28, 2009 at 3:50 AM, Jim Andreou wrote: > >> Hi, >> I wonder why String#indexOf(String) is implemented as it is. Apparently, >> when a character mismatch with the searched pattern is found, the pattern is >> only shifted by one character, but there are faster algorithms, for example >> see >> http://www.cs.utexas.edu/users/moore/best-ideas/string-searching/index.html. >> Was anything smarter tried out but had significant disadvantages for general >> use? What advantages does the current implementation have? It looks very >> pessimistic. >> >> Regards, >> Dimitris Andreou >> > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From jim.andreou at gmail.com Tue Apr 28 18:41:54 2009 From: jim.andreou at gmail.com (Jim Andreou) Date: Tue, 28 Apr 2009 21:41:54 +0300 Subject: Question on String#indexOf(String) In-Reply-To: <26e85ba80904280946j3c06ecdfw1ca84fa81a44f380@mail.gmail.com> References: <7d7138c10904280350v457cfd00m63b332709572c4c4@mail.gmail.com> <17b2302a0904280853p55cc9cc7xc570ada27389ad05@mail.gmail.com> <26e85ba80904280946j3c06ecdfw1ca84fa81a44f380@mail.gmail.com> Message-ID: <7d7138c10904281141v28063120m4263610eeb755e8c@mail.gmail.com> Many thanks Mike! All this information is very interesting. Yes, I'm sure that even a small degradation in performance in such a common method would be considered a performance bug (I wouldn't like it either), at least it's good to know that the alternatives have been analyzed. For some people out there it must be surprising that substring search can sometimes be more fast via java.util.regex. That's a point to take home, to also keep life sufficiently complicated. Indeed, as you say, the cases I made regex win were when it could jump 15-20 chars at a time, while indexOf was trying to match (unsuccessfully down the road) quite more characters of the pattern than just the first. Although the latter should be quite good in search strings with few repeated characters. In specific cases though with small alphabets (i.e. aligning genes in DNA), I think both would be bad. But perhaps such rare needs are better left to be developed in user space (and this looks promising: http://www.cs.utexas.edu/users/moore/publications/sustik-moore.pdf ) . Regards, Dimitris 2009/4/28 madbot > The overhead of setting up one of the faster algorithms was only worth it > when the skip ahead is large and/or the data to search is large. So you need > heuristics to determine when the overhead is worth it. Those heuristics > would also have to be fast. > > Of course you could also leave that decision to the client invoking the > search. They may know, for instance, if they will be repeatedly invoking the > search. If you're searching for a string with a good jump ahead in a lot of > data and/or you will be doing it repeatedly, it's a good idea to use > java.util.regex where you can get the boyer moore speed. > > Remember, also, that once a large number of programmers get used to certain > performance tradeoffs it is painful to pull the rug out from underneath them > and change those tradeoffs. > > Anyway, all that said, I don't think there's anything inherently wrong with > trying to apply some smarter algorithms. Just be prepared for a lot of > backlash because you made searching for fred in fredrick take longer. > > madbot > > > > On Tue, Apr 28, 2009 at 8:53 AM, Joshua Bloch wrote: > >> I vaguely recall that madbot (Mike McCloskey) did some performance work on >> this method, and came to the conclusion that more sophisticated algorithms >> didn't actually pay for themselves in the common cases. I'm copying him so >> he can confirm or deny. >> Josh >> >> On Tue, Apr 28, 2009 at 3:50 AM, Jim Andreou wrote: >> >>> Hi, >>> I wonder why String#indexOf(String) is implemented as it is. Apparently, >>> when a character mismatch with the searched pattern is found, the pattern is >>> only shifted by one character, but there are faster algorithms, for example >>> see >>> http://www.cs.utexas.edu/users/moore/best-ideas/string-searching/index.html. >>> Was anything smarter tried out but had significant disadvantages for general >>> use? What advantages does the current implementation have? It looks very >>> pessimistic. >>> >>> Regards, >>> Dimitris Andreou >>> >> >> > -------------- next part -------------- An HTML attachment was scrubbed... URL: From martinrb at google.com Tue Apr 28 23:27:01 2009 From: martinrb at google.com (Martin Buchholz) Date: Tue, 28 Apr 2009 16:27:01 -0700 Subject: PATCH: Tired of waiting for rt.jar to build? In-Reply-To: <1ccfd1c10904271754s6f56feafub82c97c80109f023@mail.gmail.com> References: <1ccfd1c10904271754s6f56feafub82c97c80109f023@mail.gmail.com> Message-ID: <1ccfd1c10904281627s7aa853a8l630c642054958bf9@mail.gmail.com> On Mon, Apr 27, 2009 at 17:54, Martin Buchholz wrote: > Someone who cares about the Makefiles can also try to remove the > 16000 gratuitous -C flags that makes jar's life "jar hell". Hmmm.... Apparently I care enough. Kelly (or Tim?), please review. diff --git a/make/common/Release.gmk b/make/common/Release.gmk --- a/make/common/Release.gmk +++ b/make/common/Release.gmk @@ -644,7 +644,7 @@ @$(java-vm-cleanup) # Create the manifest file. -JAR_MANIFEST_FILE=$(TEMPDIR)/manifest.tmp +JAR_MANIFEST_FILE=$(ABS_TEMPDIR)/manifest.tmp $(JAR_MANIFEST_FILE): $(MAINMANIFEST) $(BEANMANIFEST) $(prep-target) $(SED) -e "s/@@RELEASE@@/$(RELEASE)/" $(MAINMANIFEST) >> $@ @@ -652,25 +652,22 @@ $(CAT) $(BEANMANIFEST) >> $@ # Create resources.jar containing non-class files -RESOURCES_JAR=$(TEMPDIR)/resources-orig.jar -RES_JAR_ARGLIST=$(RES_JAR_FILELIST)_args -$(RES_JAR_ARGLIST): $(RES_JAR_FILELIST) +RESOURCES_JAR=$(ABS_TEMPDIR)/resources-orig.jar +$(RESOURCES_JAR): $(RES_JAR_FILELIST) $(JAR_MANIFEST_FILE) $(prep-target) - $(SED) -e "s@^@-C $(CLASSBINDIR) @" $< > $@ -$(RESOURCES_JAR): $(RES_JAR_ARGLIST) $(JAR_MANIFEST_FILE) - $(prep-target) - $(BOOT_JAR_CMD) c0mf $(JAR_MANIFEST_FILE) $@ \ - @$(RES_JAR_ARGLIST) $(BOOT_JAR_JFLAGS) - @$(java-vm-cleanup) + $(CD) $(CLASSBINDIR) && \ + $(BOOT_JAR_CMD) c0mf $(JAR_MANIFEST_FILE) $@ \ + @$(RES_JAR_FILELIST) $(BOOT_JAR_JFLAGS) + @$(CD) $(CLASSBINDIR) && $(java-vm-cleanup) # Create jsse.jar containing SunJSSE implementation classes -JSSE_JAR=$(TEMPDIR)/jsse-orig.jar +JSSE_JAR=$(ABS_TEMPDIR)/jsse-orig.jar $(JSSE_JAR): $(JAR_MANIFEST_FILE) $(prep-target) - $(BOOT_JAR_CMD) c0mf $(JAR_MANIFEST_FILE) $@ \ - $(JSSE_CLASSES_DIRS:%=-C $(CLASSBINDIR) %) \ - $(BOOT_JAR_JFLAGS) - @$(java-vm-cleanup) + $(CD) $(CLASSBINDIR) && \ + $(BOOT_JAR_CMD) c0mf $(JAR_MANIFEST_FILE) $@ \ + $(JSSE_CLASSES_DIRS) $(BOOT_JAR_JFLAGS) + @$(CD) $(CLASSBINDIR) && $(java-vm-cleanup) # Create sec-bin.zip SEC_FILES_ZIP=$(ABS_TEMPDIR)/sec-bin.zip @@ -712,15 +709,12 @@ # Create rt.jar RT_JAR=$(ABS_TEMPDIR)/rt-orig.jar -RT_JAR_ARGLIST=$(RT_JAR_FILELIST)_args -$(RT_JAR_ARGLIST): $(RT_JAR_FILELIST) +$(RT_JAR): $(RT_JAR_FILELIST) $(JAR_MANIFEST_FILE) $(prep-target) - $(SED) -e "s@^@-C $(CLASSBINDIR) @" $< > $@ -$(RT_JAR): $(RT_JAR_ARGLIST) $(JAR_MANIFEST_FILE) - $(prep-target) - $(BOOT_JAR_CMD) c0mf $(JAR_MANIFEST_FILE) $@ \ - @$(RT_JAR_ARGLIST) $(BOOT_JAR_JFLAGS) - @$(java-vm-cleanup) + $(CD) $(CLASSBINDIR) && \ + $(BOOT_JAR_CMD) c0mf $(JAR_MANIFEST_FILE) $@ \ + @$(RT_JAR_FILELIST) $(BOOT_JAR_JFLAGS) + @$(CD) $(CLASSBINDIR) && $(java-vm-cleanup) # Meta-index construction to make core class loaders lazier @@ -943,10 +937,10 @@ @# @# lib/tools.jar @# - $(BOOT_JAR_CMD) c0f $(LIBDIR)/tools.jar $(addprefix \ - -C $(CLASSBINDIR) , $(TOOLS)) \ - $(BOOT_JAR_JFLAGS) - @$(java-vm-cleanup) + $(CD) $(CLASSBINDIR) && \ + $(BOOT_JAR_CMD) c0f $(ABS_LIBDIR)/tools.jar \ + $(TOOLS) $(BOOT_JAR_JFLAGS) + @$(CD) $(CLASSBINDIR) && $(java-vm-cleanup) $(CP) $(LIBDIR)/tools.jar $(JDK_IMAGE_DIR)/lib/tools.jar @# @# lib/ct.sym (martinrb at suttles) ~/ws/logging $ cat .hg/patches/dashJ diff --git a/make/common/Release.gmk b/make/common/Release.gmk --- a/make/common/Release.gmk +++ b/make/common/Release.gmk @@ -94,7 +94,7 @@ ifeq ($(PLATFORM), windows) LICENSE_DOCLIST_JDK = $(subst $(LICENSE_VERSION),,\ $(shell $(CD) $(SHARE_JDK_DOC_SRC) && \ - $(LS) *LICENSE*$(LICENSE_VERSION))) + $(LS) *LICENSE*$(LICENSE_VERSION))) LICENSE_DOCLIST_JRE = $(subst $(LICENSE_VERSION),,\ $(shell $(CD) $(SHARE_JRE_DOC_SRC) && \ $(LS) *LICENSE*$(LICENSE_VERSION))) @@ -399,7 +399,7 @@ sun/tools/jstack \ sun/tools/jinfo \ sun/tools/jmap - + # classes that go into jsse.jar JSSE_CLASSES_DIRS = \ sun/security/provider/Sun.class \ @@ -644,7 +644,7 @@ @$(java-vm-cleanup) # Create the manifest file. -JAR_MANIFEST_FILE=$(TEMPDIR)/manifest.tmp +JAR_MANIFEST_FILE=$(ABS_TEMPDIR)/manifest.tmp $(JAR_MANIFEST_FILE): $(MAINMANIFEST) $(BEANMANIFEST) $(prep-target) $(SED) -e "s/@@RELEASE@@/$(RELEASE)/" $(MAINMANIFEST) >> $@ @@ -652,25 +652,22 @@ $(CAT) $(BEANMANIFEST) >> $@ # Create resources.jar containing non-class files -RESOURCES_JAR=$(TEMPDIR)/resources-orig.jar -RES_JAR_ARGLIST=$(RES_JAR_FILELIST)_args -$(RES_JAR_ARGLIST): $(RES_JAR_FILELIST) +RESOURCES_JAR=$(ABS_TEMPDIR)/resources-orig.jar +$(RESOURCES_JAR): $(RES_JAR_FILELIST) $(JAR_MANIFEST_FILE) $(prep-target) - $(SED) -e "s@^@-C $(CLASSBINDIR) @" $< > $@ -$(RESOURCES_JAR): $(RES_JAR_ARGLIST) $(JAR_MANIFEST_FILE) - $(prep-target) - $(BOOT_JAR_CMD) c0mf $(JAR_MANIFEST_FILE) $@ \ - @$(RES_JAR_ARGLIST) $(BOOT_JAR_JFLAGS) - @$(java-vm-cleanup) + $(CD) $(CLASSBINDIR) && \ + $(BOOT_JAR_CMD) c0mf $(JAR_MANIFEST_FILE) $@ \ + @$(RES_JAR_FILELIST) $(BOOT_JAR_JFLAGS) + @$(CD) $(CLASSBINDIR) && $(java-vm-cleanup) # Create jsse.jar containing SunJSSE implementation classes -JSSE_JAR=$(TEMPDIR)/jsse-orig.jar +JSSE_JAR=$(ABS_TEMPDIR)/jsse-orig.jar $(JSSE_JAR): $(JAR_MANIFEST_FILE) $(prep-target) - $(BOOT_JAR_CMD) c0mf $(JAR_MANIFEST_FILE) $@ \ - $(JSSE_CLASSES_DIRS:%=-C $(CLASSBINDIR) %) \ - $(BOOT_JAR_JFLAGS) - @$(java-vm-cleanup) + $(CD) $(CLASSBINDIR) && \ + $(BOOT_JAR_CMD) c0mf $(JAR_MANIFEST_FILE) $@ \ + $(JSSE_CLASSES_DIRS) $(BOOT_JAR_JFLAGS) + @$(CD) $(CLASSBINDIR) && $(java-vm-cleanup) # Create sec-bin.zip SEC_FILES_ZIP=$(ABS_TEMPDIR)/sec-bin.zip @@ -712,15 +709,12 @@ # Create rt.jar RT_JAR=$(ABS_TEMPDIR)/rt-orig.jar -RT_JAR_ARGLIST=$(RT_JAR_FILELIST)_args -$(RT_JAR_ARGLIST): $(RT_JAR_FILELIST) +$(RT_JAR): $(RT_JAR_FILELIST) $(JAR_MANIFEST_FILE) $(prep-target) - $(SED) -e "s@^@-C $(CLASSBINDIR) @" $< > $@ -$(RT_JAR): $(RT_JAR_ARGLIST) $(JAR_MANIFEST_FILE) - $(prep-target) - $(BOOT_JAR_CMD) c0mf $(JAR_MANIFEST_FILE) $@ \ - @$(RT_JAR_ARGLIST) $(BOOT_JAR_JFLAGS) - @$(java-vm-cleanup) + $(CD) $(CLASSBINDIR) && \ + $(BOOT_JAR_CMD) c0mf $(JAR_MANIFEST_FILE) $@ \ + @$(RT_JAR_FILELIST) $(BOOT_JAR_JFLAGS) + @$(CD) $(CLASSBINDIR) && $(java-vm-cleanup) # Meta-index construction to make core class loaders lazier @@ -943,10 +937,10 @@ @# @# lib/tools.jar @# - $(BOOT_JAR_CMD) c0f $(LIBDIR)/tools.jar $(addprefix \ - -C $(CLASSBINDIR) , $(TOOLS)) \ - $(BOOT_JAR_JFLAGS) - @$(java-vm-cleanup) + $(CD) $(CLASSBINDIR) && \ + $(BOOT_JAR_CMD) c0f $(ABS_LIBDIR)/tools.jar \ + $(TOOLS) $(BOOT_JAR_JFLAGS) + @$(CD) $(CLASSBINDIR) && $(java-vm-cleanup) $(CP) $(LIBDIR)/tools.jar $(JDK_IMAGE_DIR)/lib/tools.jar @# @# lib/ct.sym From martinrb at google.com Tue Apr 28 23:30:09 2009 From: martinrb at google.com (Martin Buchholz) Date: Tue, 28 Apr 2009 16:30:09 -0700 Subject: PATCH: Tired of waiting for rt.jar to build? In-Reply-To: <1ccfd1c10904281627s7aa853a8l630c642054958bf9@mail.gmail.com> References: <1ccfd1c10904271754s6f56feafub82c97c80109f023@mail.gmail.com> <1ccfd1c10904281627s7aa853a8l630c642054958bf9@mail.gmail.com> Message-ID: <1ccfd1c10904281630r765086a4u8e9d880e7881bd5b@mail.gmail.com> On Tue, Apr 28, 2009 at 16:27, Martin Buchholz wrote: > On Mon, Apr 27, 2009 at 17:54, Martin Buchholz wrote: >> Someone who cares about the Makefiles can also try to remove the >> 16000 gratuitous -C flags that makes jar's life "jar hell". > > Hmmm.... Apparently I care enough. > > Kelly (or Tim?), please review. Let's try that again. http://cr.openjdk.java.net/~martin/dashJ diff --git a/make/common/Release.gmk b/make/common/Release.gmk --- a/make/common/Release.gmk +++ b/make/common/Release.gmk @@ -94,7 +94,7 @@ ifeq ($(PLATFORM), windows) LICENSE_DOCLIST_JDK = $(subst $(LICENSE_VERSION),,\ $(shell $(CD) $(SHARE_JDK_DOC_SRC) && \ - $(LS) *LICENSE*$(LICENSE_VERSION))) + $(LS) *LICENSE*$(LICENSE_VERSION))) LICENSE_DOCLIST_JRE = $(subst $(LICENSE_VERSION),,\ $(shell $(CD) $(SHARE_JRE_DOC_SRC) && \ $(LS) *LICENSE*$(LICENSE_VERSION))) @@ -399,7 +399,7 @@ sun/tools/jstack \ sun/tools/jinfo \ sun/tools/jmap - + # classes that go into jsse.jar JSSE_CLASSES_DIRS = \ sun/security/provider/Sun.class \ @@ -644,7 +644,7 @@ @$(java-vm-cleanup) # Create the manifest file. -JAR_MANIFEST_FILE=$(TEMPDIR)/manifest.tmp +JAR_MANIFEST_FILE=$(ABS_TEMPDIR)/manifest.tmp $(JAR_MANIFEST_FILE): $(MAINMANIFEST) $(BEANMANIFEST) $(prep-target) $(SED) -e "s/@@RELEASE@@/$(RELEASE)/" $(MAINMANIFEST) >> $@ @@ -652,25 +652,22 @@ $(CAT) $(BEANMANIFEST) >> $@ # Create resources.jar containing non-class files -RESOURCES_JAR=$(TEMPDIR)/resources-orig.jar -RES_JAR_ARGLIST=$(RES_JAR_FILELIST)_args -$(RES_JAR_ARGLIST): $(RES_JAR_FILELIST) +RESOURCES_JAR=$(ABS_TEMPDIR)/resources-orig.jar +$(RESOURCES_JAR): $(RES_JAR_FILELIST) $(JAR_MANIFEST_FILE) $(prep-target) - $(SED) -e "s@^@-C $(CLASSBINDIR) @" $< > $@ -$(RESOURCES_JAR): $(RES_JAR_ARGLIST) $(JAR_MANIFEST_FILE) - $(prep-target) - $(BOOT_JAR_CMD) c0mf $(JAR_MANIFEST_FILE) $@ \ - @$(RES_JAR_ARGLIST) $(BOOT_JAR_JFLAGS) - @$(java-vm-cleanup) + $(CD) $(CLASSBINDIR) && \ + $(BOOT_JAR_CMD) c0mf $(JAR_MANIFEST_FILE) $@ \ + @$(RES_JAR_FILELIST) $(BOOT_JAR_JFLAGS) + @$(CD) $(CLASSBINDIR) && $(java-vm-cleanup) # Create jsse.jar containing SunJSSE implementation classes -JSSE_JAR=$(TEMPDIR)/jsse-orig.jar +JSSE_JAR=$(ABS_TEMPDIR)/jsse-orig.jar $(JSSE_JAR): $(JAR_MANIFEST_FILE) $(prep-target) - $(BOOT_JAR_CMD) c0mf $(JAR_MANIFEST_FILE) $@ \ - $(JSSE_CLASSES_DIRS:%=-C $(CLASSBINDIR) %) \ - $(BOOT_JAR_JFLAGS) - @$(java-vm-cleanup) + $(CD) $(CLASSBINDIR) && \ + $(BOOT_JAR_CMD) c0mf $(JAR_MANIFEST_FILE) $@ \ + $(JSSE_CLASSES_DIRS) $(BOOT_JAR_JFLAGS) + @$(CD) $(CLASSBINDIR) && $(java-vm-cleanup) # Create sec-bin.zip SEC_FILES_ZIP=$(ABS_TEMPDIR)/sec-bin.zip @@ -712,15 +709,12 @@ # Create rt.jar RT_JAR=$(ABS_TEMPDIR)/rt-orig.jar -RT_JAR_ARGLIST=$(RT_JAR_FILELIST)_args -$(RT_JAR_ARGLIST): $(RT_JAR_FILELIST) +$(RT_JAR): $(RT_JAR_FILELIST) $(JAR_MANIFEST_FILE) $(prep-target) - $(SED) -e "s@^@-C $(CLASSBINDIR) @" $< > $@ -$(RT_JAR): $(RT_JAR_ARGLIST) $(JAR_MANIFEST_FILE) - $(prep-target) - $(BOOT_JAR_CMD) c0mf $(JAR_MANIFEST_FILE) $@ \ - @$(RT_JAR_ARGLIST) $(BOOT_JAR_JFLAGS) - @$(java-vm-cleanup) + $(CD) $(CLASSBINDIR) && \ + $(BOOT_JAR_CMD) c0mf $(JAR_MANIFEST_FILE) $@ \ + @$(RT_JAR_FILELIST) $(BOOT_JAR_JFLAGS) + @$(CD) $(CLASSBINDIR) && $(java-vm-cleanup) # Meta-index construction to make core class loaders lazier @@ -943,10 +937,10 @@ @# @# lib/tools.jar @# - $(BOOT_JAR_CMD) c0f $(LIBDIR)/tools.jar $(addprefix \ - -C $(CLASSBINDIR) , $(TOOLS)) \ - $(BOOT_JAR_JFLAGS) - @$(java-vm-cleanup) + $(CD) $(CLASSBINDIR) && \ + $(BOOT_JAR_CMD) c0f $(ABS_LIBDIR)/tools.jar \ + $(TOOLS) $(BOOT_JAR_JFLAGS) + @$(CD) $(CLASSBINDIR) && $(java-vm-cleanup) $(CP) $(LIBDIR)/tools.jar $(JDK_IMAGE_DIR)/lib/tools.jar @# @# lib/ct.sym From martinrb at google.com Wed Apr 29 20:25:13 2009 From: martinrb at google.com (Martin Buchholz) Date: Wed, 29 Apr 2009 13:25:13 -0700 Subject: PATCH: Tired of waiting for rt.jar to build? In-Reply-To: <1ccfd1c10904271754s6f56feafub82c97c80109f023@mail.gmail.com> References: <1ccfd1c10904271754s6f56feafub82c97c80109f023@mail.gmail.com> Message-ID: <1ccfd1c10904291325p5f3b40e8y36e214e54f82a1a9@mail.gmail.com> Since writing this, I have learned, to my horror, that the behavior of the -C flag differs from the behavior in tar in that - -C is not sticky - it applies only to the one following argument - the path is relative to the JDK's current directory, not the previous -C directory. despite assurances from jar(1) -C dir Temporarily changes directories (cd dir) during execution of the jar command while processing the following inputfiles argument. Its operation is intended to be similar to the -C option of the UNIX tar utility. If you squint, you can see that it says "argument", not "arguments". Martin On Mon, Apr 27, 2009 at 17:54, Martin Buchholz wrote: > ?I believe the better fix would be > to eviscerate the code that handles the "-C" flag and do it right, > Someone who cares about the Makefiles can also try to remove the > 16000 gratuitous -C flags that makes jar's life "jar hell". > > Martin >