From Artem.Ananiev at Sun.COM Thu Oct 1 01:24:27 2009 From: Artem.Ananiev at Sun.COM (Artem Ananiev) Date: Thu, 01 Oct 2009 12:24:27 +0400 Subject: Review request #4: 6852592 (invalidate() must be smarter) In-Reply-To: <4ABCD0A9.2040807@sun.com> References: <4ABCD0A9.2040807@sun.com> Message-ID: <4AC4673B.5020201@sun.com> Hi, Anthony, I've quickly looked through the changes, the fix looks fine with the exception of using double-check idiom in Container.validate() - I told you about that the other day. Thanks, Artem Anthony Petrov wrote: > It's been a long time since we discussed the issue. Now is the time for > revival. > > Last time we came across a failing test [1] that had a JApplet embedded > in a JFrame. The frame was expected to be validated upon showing. > However, the components in the JApplet were not validated, since the > JApplet itself was marked valid, but the invalidate() requests from the > children of the applet stopped on the RootPane of the JApplet because it > was a validate root. > > Later we found out a possible solution for that problem [2]: the show() > (as well as the pack()) should validate the whole component hierarchy > unconditionally. > > So, here's the fix with this solution implemented. Please review: > > http://cr.openjdk.java.net/~anthony/7-23-invalidate-6852592.3/ > > The fix has been tested quite thoroughly: all sort of related automatic > tests for both Swing and AWT areas have been run (including > layout-related tests, bare (J)Component and Container-related tests, and > some other.) All manual layout-related tests from AWT and Swing have > also been run and passed. Mixing-related regression tests pass as well. > > Please note that I've also changed the synopsis of the change request by > replacing revalidate() with invalidate() because the fix actually > affects the invalidate() method only. > > [1] http://mail.openjdk.java.net/pipermail/awt-dev/2009-August/000831.html > > [2] http://mail.openjdk.java.net/pipermail/awt-dev/2009-August/000835.html > > -- > best regards, > Anthony From Anthony.Petrov at Sun.COM Thu Oct 1 03:19:11 2009 From: Anthony.Petrov at Sun.COM (Anthony Petrov) Date: Thu, 01 Oct 2009 14:19:11 +0400 Subject: Review request #4: 6852592 (invalidate() must be smarter) In-Reply-To: <4AC4673B.5020201@sun.com> References: <4ABCD0A9.2040807@sun.com> <4AC4673B.5020201@sun.com> Message-ID: <4AC4821F.7000504@sun.com> Hi Artem, On 10/01/2009 12:24 PM, Artem Ananiev wrote: > I've quickly looked through the changes, the fix looks fine with the > exception of using double-check idiom in Container.validate() - I told > you about that the other day. To make sure we don't get messed up when discovering potential regressions, I've just filed a separate CR 6887249 (Get rid of double-check for isValid() idiom in validate() methods) to fix the issue later. Thanks for the suggestion. -- best regards, Anthony > > Thanks, > > Artem > > Anthony Petrov wrote: >> It's been a long time since we discussed the issue. Now is the time >> for revival. >> >> Last time we came across a failing test [1] that had a JApplet >> embedded in a JFrame. The frame was expected to be validated upon >> showing. However, the components in the JApplet were not validated, >> since the JApplet itself was marked valid, but the invalidate() >> requests from the children of the applet stopped on the RootPane of >> the JApplet because it was a validate root. >> >> Later we found out a possible solution for that problem [2]: the >> show() (as well as the pack()) should validate the whole component >> hierarchy unconditionally. >> >> So, here's the fix with this solution implemented. Please review: >> >> http://cr.openjdk.java.net/~anthony/7-23-invalidate-6852592.3/ >> >> The fix has been tested quite thoroughly: all sort of related >> automatic tests for both Swing and AWT areas have been run (including >> layout-related tests, bare (J)Component and Container-related tests, >> and some other.) All manual layout-related tests from AWT and Swing >> have also been run and passed. Mixing-related regression tests pass as >> well. >> >> Please note that I've also changed the synopsis of the change request >> by replacing revalidate() with invalidate() because the fix actually >> affects the invalidate() method only. >> >> [1] >> http://mail.openjdk.java.net/pipermail/awt-dev/2009-August/000831.html >> >> [2] >> http://mail.openjdk.java.net/pipermail/awt-dev/2009-August/000835.html >> >> -- >> best regards, >> Anthony From anthony.petrov at sun.com Thu Oct 1 03:49:56 2009 From: anthony.petrov at sun.com (anthony.petrov at sun.com) Date: Thu, 01 Oct 2009 10:49:56 +0000 Subject: hg: jdk7/awt/jdk: 6886868: giflib has a memory leak in the MakeMapObject() function Message-ID: <20091001105104.A45F8416FE@hg.openjdk.java.net> Changeset: cf3f9c09ba1d Author: anthony Date: 2009-10-01 14:48 +0400 URL: http://hg.openjdk.java.net/jdk7/awt/jdk/rev/cf3f9c09ba1d 6886868: giflib has a memory leak in the MakeMapObject() function Summary: free() the object before returning NULL Reviewed-by: art, dcherepanov ! src/share/native/sun/awt/giflib/gifalloc.c From anthony.petrov at sun.com Thu Oct 1 04:06:45 2009 From: anthony.petrov at sun.com (anthony.petrov at sun.com) Date: Thu, 01 Oct 2009 11:06:45 +0000 Subject: hg: jdk7/awt/jdk: 6862611: Reg testcase closed/java/awt/Component/NativeInLightShow/NativeInLightShow.html fails Message-ID: <20091001110721.D55F241704@hg.openjdk.java.net> Changeset: 80db944866a9 Author: anthony Date: 2009-10-01 15:06 +0400 URL: http://hg.openjdk.java.net/jdk7/awt/jdk/rev/80db944866a9 6862611: Reg testcase closed/java/awt/Component/NativeInLightShow/NativeInLightShow.html fails Summary: The recursiveShowHeavyweightChildren() must be invoked unconditionally in mixOnShowing() Reviewed-by: art, dcherepanov ! src/share/classes/java/awt/Container.java From ptisnovs at redhat.com Thu Oct 1 08:09:32 2009 From: ptisnovs at redhat.com (Pavel Tisnovsky) Date: Thu, 01 Oct 2009 17:09:32 +0200 Subject: Patch for JTreg test java/awt/Mixing/LWPopupMenu.java Message-ID: <4AC4C62C.7090403@redhat.com> Hi, can you please review patch for JTreg test java/awt/Mixing/LWPopupMenu.java (http://cr.openjdk.java.net/~ptisnovs/LWPopupMenu/)? This test opens two frames - test dialog (used for printing messages and so on) [Window1] and the frame with menu and button [Window2]. Sometimes (probability is about 10% on my machine) the [Window2] is displayed UNDER [Window1], not on the top. This causes test failure, because [Window2] does not receive events when it is covered by another window. Calling frame.toFront() after waiting for robot seems to solve this issue. Thanks in advance, Pavel Tisnovsky From Anthony.Petrov at Sun.COM Thu Oct 1 08:33:33 2009 From: Anthony.Petrov at Sun.COM (Anthony Petrov) Date: Thu, 01 Oct 2009 19:33:33 +0400 Subject: Patch for JTreg test java/awt/Mixing/LWPopupMenu.java In-Reply-To: <4AC4C62C.7090403@redhat.com> References: <4AC4C62C.7090403@redhat.com> Message-ID: <4AC4CBCD.40705@sun.com> Hi Pavel, Thanks for the patch. I'm just curious on which platforms/software versions do you experience such behavior? Also, I think we need another waitForIdle() call just after calling the toFront() to make sure it gets correctly processed. -- best regards, Anthony On 10/01/2009 07:09 PM, Pavel Tisnovsky wrote: > Hi, > > can you please review patch for JTreg test > java/awt/Mixing/LWPopupMenu.java > (http://cr.openjdk.java.net/~ptisnovs/LWPopupMenu/)? > > This test opens two frames - test dialog (used for printing messages and > so on) [Window1] and the frame with menu and button [Window2]. Sometimes > (probability is about 10% on my machine) the [Window2] is displayed > UNDER [Window1], not on the top. This causes test failure, because > [Window2] does not receive events when it is covered by another window. > > Calling frame.toFront() after waiting for robot seems to solve this issue. > > Thanks in advance, > Pavel Tisnovsky From ptisnovs at redhat.com Thu Oct 1 08:59:06 2009 From: ptisnovs at redhat.com (Pavel Tisnovsky) Date: Thu, 01 Oct 2009 17:59:06 +0200 Subject: Patch for JTreg test java/awt/Mixing/LWPopupMenu.java In-Reply-To: <4AC4CBCD.40705@sun.com> References: <4AC4C62C.7090403@redhat.com> <4AC4CBCD.40705@sun.com> Message-ID: <4AC4D1CA.3040805@redhat.com> Hi Anthony, sorry, I forget to mention system configuration: RHEL 5.3 for x86_64, Fluxbox as window manager (it's NOT configured to automa[t|g]ically change window order according to mouse position, so it's behaviour is similar to MS Win...) java version "1.6.0_0" OpenJDK Runtime Environment (IcedTea6 1.5.3) (build 1.6.0_0-b16) OpenJDK 64-Bit Server VM (build 14.0-b16, mixed mode) and java version "1.6.0_0" OpenJDK Runtime Environment (IcedTea6 1.6.1-r7c131a5e1ccf) (build 1.6.0_0-b16) OpenJDK 64-Bit Server VM (build 14.0-b16, mixed mode) on the same platform Pavel Anthony Petrov wrote: > Hi Pavel, > > Thanks for the patch. I'm just curious on which platforms/software > versions do you experience such behavior? > > Also, I think we need another waitForIdle() call just after calling the > toFront() to make sure it gets correctly processed. > From Anthony.Petrov at Sun.COM Thu Oct 1 11:22:55 2009 From: Anthony.Petrov at Sun.COM (Anthony Petrov) Date: Thu, 01 Oct 2009 22:22:55 +0400 Subject: Patch for JTreg test java/awt/Mixing/LWPopupMenu.java In-Reply-To: <4AC4D1CA.3040805@redhat.com> References: <4AC4C62C.7090403@redhat.com> <4AC4CBCD.40705@sun.com> <4AC4D1CA.3040805@redhat.com> Message-ID: <4AC4F37F.907@sun.com> Hmmm... Thanks for providing the info. On the second thought, I see that that isn't a problem in the test. AWT (and I presume, Swing) has many tests that work that way: display both a test frame and the dialog with the instructions/test output. Which means that hypothetically they all can fail. Do we want to add this toFront() call in the majority of our automated tests? I think the answer is negative. What we observe here is an awkward behavior of a particular window manager - the Fluxbox. Note that XToolkit officially supports the Metacity window manager only (in 6, the CDE/dtwm is supported as well). Of course, sometimes we do indeed add some workarounds for rather popular window managers, e.g. for KDE, or Compiz. This, however, is not a general practice/requirement. The list of officially supported window managers enables us to develop regression tests that pass when a fix works, and fail when it doesn't. And our tests are designed to work correctly on officially supported window managers only, because other WMs may bring some side-effects that, at least, should not be work-around'ed in the code of the tests themselves. So, this issue looks like an AWT bug, rather than a test problem. Moreover, that isn't even a bug, but an RFE to add better support for the Fluxbox in XToolkit. -- best regards, Anthony On 10/1/2009 7:59 PM Pavel Tisnovsky wrote: > Hi Anthony, > > sorry, I forget to mention system configuration: > > RHEL 5.3 for x86_64, Fluxbox as window manager (it's NOT configured to > automa[t|g]ically change window order according to mouse position, so > it's behaviour is similar to MS Win...) > > java version "1.6.0_0" > OpenJDK Runtime Environment (IcedTea6 1.5.3) (build 1.6.0_0-b16) > OpenJDK 64-Bit Server VM (build 14.0-b16, mixed mode) > > and > > java version "1.6.0_0" > OpenJDK Runtime Environment (IcedTea6 1.6.1-r7c131a5e1ccf) (build > 1.6.0_0-b16) > OpenJDK 64-Bit Server VM (build 14.0-b16, mixed mode) > on the same platform > > Pavel > > > Anthony Petrov wrote: >> Hi Pavel, >> >> Thanks for the patch. I'm just curious on which platforms/software >> versions do you experience such behavior? >> >> Also, I think we need another waitForIdle() call just after calling >> the toFront() to make sure it gets correctly processed. >> > From ptisnovs at redhat.com Fri Oct 2 00:19:23 2009 From: ptisnovs at redhat.com (Pavel Tisnovsky) Date: Fri, 02 Oct 2009 09:19:23 +0200 Subject: Patch for JTreg test java/awt/Mixing/LWPopupMenu.java In-Reply-To: <4AC4F37F.907@sun.com> References: <4AC4C62C.7090403@redhat.com> <4AC4CBCD.40705@sun.com> <4AC4D1CA.3040805@redhat.com> <4AC4F37F.907@sun.com> Message-ID: <4AC5A97B.3070005@redhat.com> Hi Anthony, thank you for your comments, I'll try Gnome instead of Fluxbox for regression testing. Pavel Anthony Petrov wrote: > Hmmm... Thanks for providing the info. > > On the second thought, I see that that isn't a problem in the test. AWT > (and I presume, Swing) has many tests that work that way: display both a > test frame and the dialog with the instructions/test output. Which means > that hypothetically they all can fail. Do we want to add this toFront() > call in the majority of our automated tests? I think the answer is > negative. > > What we observe here is an awkward behavior of a particular window > manager - the Fluxbox. Note that XToolkit officially supports the > Metacity window manager only (in 6, the CDE/dtwm is supported as well). > Of course, sometimes we do indeed add some workarounds for rather > popular window managers, e.g. for KDE, or Compiz. This, however, is not > a general practice/requirement. > > The list of officially supported window managers enables us to develop > regression tests that pass when a fix works, and fail when it doesn't. > And our tests are designed to work correctly on officially supported > window managers only, because other WMs may bring some side-effects > that, at least, should not be work-around'ed in the code of the tests > themselves. > > So, this issue looks like an AWT bug, rather than a test problem. > Moreover, that isn't even a bug, but an RFE to add better support for > the Fluxbox in XToolkit. > > -- From Alexander.Potochkin at Sun.COM Tue Oct 6 09:23:39 2009 From: Alexander.Potochkin at Sun.COM (Alexander Potochkin) Date: Tue, 06 Oct 2009 20:23:39 +0400 Subject: Review request #4: 6852592 (invalidate() must be smarter) - approved In-Reply-To: <4AC4821F.7000504@sun.com> References: <4ABCD0A9.2040807@sun.com> <4AC4673B.5020201@sun.com> <4AC4821F.7000504@sun.com> Message-ID: <4ACB6F0B.2070503@sun.com> Hello Anthony I looked through the Swing code and didn't find any problems, if all relevant tests passed I approve Thanks alexp P.S. Container.descendUnconditionallyWhenValidating looks fishy indeed, it's better to get rig of it indeed > Hi Artem, > > On 10/01/2009 12:24 PM, Artem Ananiev wrote: >> I've quickly looked through the changes, the fix looks fine with the >> exception of using double-check idiom in Container.validate() - I told >> you about that the other day. > > To make sure we don't get messed up when discovering potential > regressions, I've just filed a separate CR 6887249 (Get rid of > double-check for isValid() idiom in validate() methods) to fix the issue > later. Thanks for the suggestion. > > -- > best regards, > Anthony > >> >> Thanks, >> >> Artem >> >> Anthony Petrov wrote: >>> It's been a long time since we discussed the issue. Now is the time >>> for revival. >>> >>> Last time we came across a failing test [1] that had a JApplet >>> embedded in a JFrame. The frame was expected to be validated upon >>> showing. However, the components in the JApplet were not validated, >>> since the JApplet itself was marked valid, but the invalidate() >>> requests from the children of the applet stopped on the RootPane of >>> the JApplet because it was a validate root. >>> >>> Later we found out a possible solution for that problem [2]: the >>> show() (as well as the pack()) should validate the whole component >>> hierarchy unconditionally. >>> >>> So, here's the fix with this solution implemented. Please review: >>> >>> http://cr.openjdk.java.net/~anthony/7-23-invalidate-6852592.3/ >>> >>> The fix has been tested quite thoroughly: all sort of related >>> automatic tests for both Swing and AWT areas have been run (including >>> layout-related tests, bare (J)Component and Container-related tests, >>> and some other.) All manual layout-related tests from AWT and Swing >>> have also been run and passed. Mixing-related regression tests pass >>> as well. >>> >>> Please note that I've also changed the synopsis of the change request >>> by replacing revalidate() with invalidate() because the fix actually >>> affects the invalidate() method only. >>> >>> [1] >>> http://mail.openjdk.java.net/pipermail/awt-dev/2009-August/000831.html >>> >>> [2] >>> http://mail.openjdk.java.net/pipermail/awt-dev/2009-August/000835.html >>> >>> -- >>> best regards, >>> Anthony From Anthony.Petrov at Sun.COM Tue Oct 6 10:30:53 2009 From: Anthony.Petrov at Sun.COM (Anthony Petrov) Date: Tue, 06 Oct 2009 21:30:53 +0400 Subject: Review request #4: 6852592 (invalidate() must be smarter) - approved In-Reply-To: <4ACB6F0B.2070503@sun.com> References: <4ABCD0A9.2040807@sun.com> <4AC4673B.5020201@sun.com> <4AC4821F.7000504@sun.com> <4ACB6F0B.2070503@sun.com> Message-ID: <4ACB7ECD.9040104@sun.com> Hi Alex, Thank you for the approval. On 10/6/2009 8:23 PM Alexander Potochkin wrote: > Container.descendUnconditionallyWhenValidating looks fishy indeed, > it's better to get rig of it indeed Could you elaborate please? -- best regards, Anthony >> On 10/01/2009 12:24 PM, Artem Ananiev wrote: >>> I've quickly looked through the changes, the fix looks fine with the >>> exception of using double-check idiom in Container.validate() - I >>> told you about that the other day. >> >> To make sure we don't get messed up when discovering potential >> regressions, I've just filed a separate CR 6887249 (Get rid of >> double-check for isValid() idiom in validate() methods) to fix the >> issue later. Thanks for the suggestion. >> >> -- >> best regards, >> Anthony >> >>> >>> Thanks, >>> >>> Artem >>> >>> Anthony Petrov wrote: >>>> It's been a long time since we discussed the issue. Now is the time >>>> for revival. >>>> >>>> Last time we came across a failing test [1] that had a JApplet >>>> embedded in a JFrame. The frame was expected to be validated upon >>>> showing. However, the components in the JApplet were not validated, >>>> since the JApplet itself was marked valid, but the invalidate() >>>> requests from the children of the applet stopped on the RootPane of >>>> the JApplet because it was a validate root. >>>> >>>> Later we found out a possible solution for that problem [2]: the >>>> show() (as well as the pack()) should validate the whole component >>>> hierarchy unconditionally. >>>> >>>> So, here's the fix with this solution implemented. Please review: >>>> >>>> http://cr.openjdk.java.net/~anthony/7-23-invalidate-6852592.3/ >>>> >>>> The fix has been tested quite thoroughly: all sort of related >>>> automatic tests for both Swing and AWT areas have been run >>>> (including layout-related tests, bare (J)Component and >>>> Container-related tests, and some other.) All manual layout-related >>>> tests from AWT and Swing have also been run and passed. >>>> Mixing-related regression tests pass as well. >>>> >>>> Please note that I've also changed the synopsis of the change >>>> request by replacing revalidate() with invalidate() because the fix >>>> actually affects the invalidate() method only. >>>> >>>> [1] >>>> http://mail.openjdk.java.net/pipermail/awt-dev/2009-August/000831.html >>>> >>>> [2] >>>> http://mail.openjdk.java.net/pipermail/awt-dev/2009-August/000835.html >>>> >>>> -- >>>> best regards, >>>> Anthony > From Dmitry.Cherepanov at Sun.COM Wed Oct 7 03:08:43 2009 From: Dmitry.Cherepanov at Sun.COM (Dmitry Cherepanov) Date: Wed, 07 Oct 2009 14:08:43 +0400 Subject: Review request #4: 6852592 (invalidate() must be smarter) In-Reply-To: <4ABCD0A9.2040807@sun.com> References: <4ABCD0A9.2040807@sun.com> Message-ID: <4ACC68AB.2030707@sun.com> Hi Anthony, The fix looks good to me. Thanks, Dmitry Anthony Petrov wrote: > It's been a long time since we discussed the issue. Now is the time > for revival. > > Last time we came across a failing test [1] that had a JApplet > embedded in a JFrame. The frame was expected to be validated upon > showing. However, the components in the JApplet were not validated, > since the JApplet itself was marked valid, but the invalidate() > requests from the children of the applet stopped on the RootPane of > the JApplet because it was a validate root. > > Later we found out a possible solution for that problem [2]: the > show() (as well as the pack()) should validate the whole component > hierarchy unconditionally. > > So, here's the fix with this solution implemented. Please review: > > http://cr.openjdk.java.net/~anthony/7-23-invalidate-6852592.3/ > > The fix has been tested quite thoroughly: all sort of related > automatic tests for both Swing and AWT areas have been run (including > layout-related tests, bare (J)Component and Container-related tests, > and some other.) All manual layout-related tests from AWT and Swing > have also been run and passed. Mixing-related regression tests pass as > well. > > Please note that I've also changed the synopsis of the change request > by replacing revalidate() with invalidate() because the fix actually > affects the invalidate() method only. > > [1] > http://mail.openjdk.java.net/pipermail/awt-dev/2009-August/000831.html > > [2] > http://mail.openjdk.java.net/pipermail/awt-dev/2009-August/000835.html > > -- > best regards, > Anthony > From Anthony.Petrov at Sun.COM Wed Oct 7 04:18:55 2009 From: Anthony.Petrov at Sun.COM (Anthony Petrov) Date: Wed, 07 Oct 2009 15:18:55 +0400 Subject: Review request #4: 6852592 (invalidate() must be smarter) In-Reply-To: <4ACC68AB.2030707@sun.com> References: <4ABCD0A9.2040807@sun.com> <4ACC68AB.2030707@sun.com> Message-ID: <4ACC791F.3070009@sun.com> Thanks, Dmitry. I'm going to push the fix as soon as the specification changes get approved. -- best regards, Anthony On 10/07/2009 02:08 PM, Dmitry Cherepanov wrote: > Hi Anthony, > > The fix looks good to me. > > Thanks, > Dmitry > > Anthony Petrov wrote: >> It's been a long time since we discussed the issue. Now is the time >> for revival. >> >> Last time we came across a failing test [1] that had a JApplet >> embedded in a JFrame. The frame was expected to be validated upon >> showing. However, the components in the JApplet were not validated, >> since the JApplet itself was marked valid, but the invalidate() >> requests from the children of the applet stopped on the RootPane of >> the JApplet because it was a validate root. >> >> Later we found out a possible solution for that problem [2]: the >> show() (as well as the pack()) should validate the whole component >> hierarchy unconditionally. >> >> So, here's the fix with this solution implemented. Please review: >> >> http://cr.openjdk.java.net/~anthony/7-23-invalidate-6852592.3/ >> >> The fix has been tested quite thoroughly: all sort of related >> automatic tests for both Swing and AWT areas have been run (including >> layout-related tests, bare (J)Component and Container-related tests, >> and some other.) All manual layout-related tests from AWT and Swing >> have also been run and passed. Mixing-related regression tests pass as >> well. >> >> Please note that I've also changed the synopsis of the change request >> by replacing revalidate() with invalidate() because the fix actually >> affects the invalidate() method only. >> >> [1] >> http://mail.openjdk.java.net/pipermail/awt-dev/2009-August/000831.html >> >> [2] >> http://mail.openjdk.java.net/pipermail/awt-dev/2009-August/000835.html >> >> -- >> best regards, >> Anthony >> > From Alexander.Potochkin at Sun.COM Wed Oct 7 06:36:18 2009 From: Alexander.Potochkin at Sun.COM (Alexander Potochkin) Date: Wed, 07 Oct 2009 17:36:18 +0400 Subject: Review request #4: 6852592 (invalidate() must be smarter) - approved In-Reply-To: <4ACB7ECD.9040104@sun.com> References: <4ABCD0A9.2040807@sun.com> <4AC4673B.5020201@sun.com> <4AC4821F.7000504@sun.com> <4ACB6F0B.2070503@sun.com> <4ACB7ECD.9040104@sun.com> Message-ID: <4ACC9952.50900@sun.com> Hello Anthony >> Container.descendUnconditionallyWhenValidating looks fishy indeed, >> it's better to get rig of it indeed > > Could you elaborate please? Sure By the way, I meant "the extra if statements containing Container.descendUnconditionallyWhenValidating look fishy" now it should be a bit more clear :-) I guess the following thoughts were already expressed by Artem, anyway: first of all it is a sort of infamous Double-checked locking antipattern http://en.wikipedia.org/wiki/Double-checked_locking There are enough serious reasons why not to use it, I have read them in a "Java Concurrency" book which is alway on my table Moreover your variant is even more risky: any field that is going to be accessed via different threads must always be used under the lock, otherwise it is possible that one thread will see the field in an invalid state However in your fix the descendUnconditionallyWhenValidating field is mutated under the treeLock and then accessed in the validate() method outside the synchronization block which is unsafe The following comment: /* Avoid grabbing lock unless really necessary.*/ is obsolete, the modern JVM do a great job to optimize synchronization so there is no need to invent tricky patterns to avoid synchronization I see two options here: 1) Refactor Container.validate to alway get the treeLock and do everything inside it. This is the most preferable choice. 2) Define descendUnconditionallyWhenValidating as volatile, this is better than nothing but less safe than #1 Thanks alexp > > -- > best regards, > Anthony > >>> On 10/01/2009 12:24 PM, Artem Ananiev wrote: >>>> I've quickly looked through the changes, the fix looks fine with the >>>> exception of using double-check idiom in Container.validate() - I >>>> told you about that the other day. >>> >>> To make sure we don't get messed up when discovering potential >>> regressions, I've just filed a separate CR 6887249 (Get rid of >>> double-check for isValid() idiom in validate() methods) to fix the >>> issue later. Thanks for the suggestion. >>> >>> -- >>> best regards, >>> Anthony >>> >>>> >>>> Thanks, >>>> >>>> Artem >>>> >>>> Anthony Petrov wrote: >>>>> It's been a long time since we discussed the issue. Now is the time >>>>> for revival. >>>>> >>>>> Last time we came across a failing test [1] that had a JApplet >>>>> embedded in a JFrame. The frame was expected to be validated upon >>>>> showing. However, the components in the JApplet were not validated, >>>>> since the JApplet itself was marked valid, but the invalidate() >>>>> requests from the children of the applet stopped on the RootPane of >>>>> the JApplet because it was a validate root. >>>>> >>>>> Later we found out a possible solution for that problem [2]: the >>>>> show() (as well as the pack()) should validate the whole component >>>>> hierarchy unconditionally. >>>>> >>>>> So, here's the fix with this solution implemented. Please review: >>>>> >>>>> http://cr.openjdk.java.net/~anthony/7-23-invalidate-6852592.3/ >>>>> >>>>> The fix has been tested quite thoroughly: all sort of related >>>>> automatic tests for both Swing and AWT areas have been run >>>>> (including layout-related tests, bare (J)Component and >>>>> Container-related tests, and some other.) All manual layout-related >>>>> tests from AWT and Swing have also been run and passed. >>>>> Mixing-related regression tests pass as well. >>>>> >>>>> Please note that I've also changed the synopsis of the change >>>>> request by replacing revalidate() with invalidate() because the fix >>>>> actually affects the invalidate() method only. >>>>> >>>>> [1] >>>>> http://mail.openjdk.java.net/pipermail/awt-dev/2009-August/000831.html >>>>> >>>>> [2] >>>>> http://mail.openjdk.java.net/pipermail/awt-dev/2009-August/000835.html >>>>> >>>>> -- >>>>> best regards, >>>>> Anthony >> From Anthony.Petrov at Sun.COM Wed Oct 7 07:01:32 2009 From: Anthony.Petrov at Sun.COM (Anthony Petrov) Date: Wed, 07 Oct 2009 18:01:32 +0400 Subject: Review request #4: 6852592 (invalidate() must be smarter) - approved In-Reply-To: <4ACC9952.50900@sun.com> References: <4ABCD0A9.2040807@sun.com> <4AC4673B.5020201@sun.com> <4AC4821F.7000504@sun.com> <4ACB6F0B.2070503@sun.com> <4ACB7ECD.9040104@sun.com> <4ACC9952.50900@sun.com> Message-ID: <4ACC9F3C.60005@sun.com> Hi Alex, On 10/07/2009 05:36 PM, Alexander Potochkin wrote: >>> Container.descendUnconditionallyWhenValidating looks fishy indeed, >>> it's better to get rig of it indeed >> >> Could you elaborate please? > > Sure > > By the way, I meant "the extra if statements containing > Container.descendUnconditionallyWhenValidating look fishy" > > now it should be a bit more clear :-) > > I guess the following thoughts were already expressed by Artem, anyway: > > first of all it is a sort of infamous Double-checked locking antipattern > http://en.wikipedia.org/wiki/Double-checked_locking > > There are enough serious reasons why not to use it, > I have read them in a "Java Concurrency" book > which is alway on my table That's really surprising to hear from a developer of a single-threaded GUI-toolkit! We, AWT people, should have this book instead! ;) Now back to serious matters, at first I thought you were talking about the presence of the descendUnconditionallyWhenValidating variable itself, that's why I asked for elaboration. Now I see that basically you're speaking about the double-checked locking issue only. Thanks for clarifying that. Indeed, Artem noticed this anti-pattern long-long time ago. Even before the new variable is introduced, the idiom involving the bare isValid() check has existed in our code for ages. And I agree that we need to get rid of that idiom. However, the current fix for 6852592 does not seem to make things worse: it just adds one more check that is basically equal (in possible side-effects) to the existing check for isValid(). On the other hand, making that change may theoretically bring some regressions if some code relies on that behavior. That's why I decided to separate the issues. Now we have the following CR: http://bugs.sun.com/view_bug.do?bug_id=6887249 The fix is actually in progress, and apparently going to hit the repository prior to the fix for 6852592 (due to a bit lagging specification changes approval process). So I don't have any concern regarding the issue in terms of the fix that we're currently reviewing: at least the regression testing indicates nothing extremely terrible. I hope this explanation calms down your worries. If not, please speak up. -- best regards, Anthony > > Moreover your variant is even more risky: > any field that is going to be accessed via different threads > must always be used under the lock, > otherwise it is possible that one thread > will see the field in an invalid state > > However in your fix the descendUnconditionallyWhenValidating field > is mutated under the treeLock and then accessed in the validate() method > outside the synchronization block which is unsafe > > The following comment: /* Avoid grabbing lock unless really necessary.*/ > > is obsolete, the modern JVM do a great job to optimize synchronization > so there is no need to invent tricky patterns to avoid synchronization > > I see two options here: > > 1) Refactor Container.validate to alway get the treeLock and > do everything inside it. This is the most preferable choice. > > 2) Define descendUnconditionallyWhenValidating as volatile, > this is better than nothing but less safe than #1 > > Thanks > alexp > >> >> -- >> best regards, >> Anthony >> >>>> On 10/01/2009 12:24 PM, Artem Ananiev wrote: >>>>> I've quickly looked through the changes, the fix looks fine with >>>>> the exception of using double-check idiom in Container.validate() - >>>>> I told you about that the other day. >>>> >>>> To make sure we don't get messed up when discovering potential >>>> regressions, I've just filed a separate CR 6887249 (Get rid of >>>> double-check for isValid() idiom in validate() methods) to fix the >>>> issue later. Thanks for the suggestion. >>>> >>>> -- >>>> best regards, >>>> Anthony >>>> >>>>> >>>>> Thanks, >>>>> >>>>> Artem >>>>> >>>>> Anthony Petrov wrote: >>>>>> It's been a long time since we discussed the issue. Now is the >>>>>> time for revival. >>>>>> >>>>>> Last time we came across a failing test [1] that had a JApplet >>>>>> embedded in a JFrame. The frame was expected to be validated upon >>>>>> showing. However, the components in the JApplet were not >>>>>> validated, since the JApplet itself was marked valid, but the >>>>>> invalidate() requests from the children of the applet stopped on >>>>>> the RootPane of the JApplet because it was a validate root. >>>>>> >>>>>> Later we found out a possible solution for that problem [2]: the >>>>>> show() (as well as the pack()) should validate the whole component >>>>>> hierarchy unconditionally. >>>>>> >>>>>> So, here's the fix with this solution implemented. Please review: >>>>>> >>>>>> http://cr.openjdk.java.net/~anthony/7-23-invalidate-6852592.3/ >>>>>> >>>>>> The fix has been tested quite thoroughly: all sort of related >>>>>> automatic tests for both Swing and AWT areas have been run >>>>>> (including layout-related tests, bare (J)Component and >>>>>> Container-related tests, and some other.) All manual >>>>>> layout-related tests from AWT and Swing have also been run and >>>>>> passed. Mixing-related regression tests pass as well. >>>>>> >>>>>> Please note that I've also changed the synopsis of the change >>>>>> request by replacing revalidate() with invalidate() because the >>>>>> fix actually affects the invalidate() method only. >>>>>> >>>>>> [1] >>>>>> http://mail.openjdk.java.net/pipermail/awt-dev/2009-August/000831.html >>>>>> >>>>>> >>>>>> [2] >>>>>> http://mail.openjdk.java.net/pipermail/awt-dev/2009-August/000835.html >>>>>> >>>>>> >>>>>> -- >>>>>> best regards, >>>>>> Anthony >>> > From Alexander.Potochkin at Sun.COM Wed Oct 7 07:24:20 2009 From: Alexander.Potochkin at Sun.COM (Alexander Potochkin) Date: Wed, 07 Oct 2009 18:24:20 +0400 Subject: Review request #4: 6852592 (invalidate() must be smarter) - approved In-Reply-To: <4ACC9F3C.60005@sun.com> References: <4ABCD0A9.2040807@sun.com> <4AC4673B.5020201@sun.com> <4AC4821F.7000504@sun.com> <4ACB6F0B.2070503@sun.com> <4ACB7ECD.9040104@sun.com> <4ACC9952.50900@sun.com> <4ACC9F3C.60005@sun.com> Message-ID: <4ACCA494.8010307@sun.com> Hello Anthony >> There are enough serious reasons why not to use it, >> I have read them in a "Java Concurrency" book >> which is alway on my table > > That's really surprising to hear from a developer of a single-threaded > GUI-toolkit! We, AWT people, should have this book instead! ;) :-) > > Now back to serious matters, at first I thought you were talking about > the presence of the descendUnconditionallyWhenValidating variable > itself, that's why I asked for elaboration. Now I see that basically > you're speaking about the double-checked locking issue only. Thanks for > clarifying that. > > Indeed, Artem noticed this anti-pattern long-long time ago. Even before > the new variable is introduced, the idiom involving the bare isValid() > check has existed in our code for ages. And I agree that we need to get > rid of that idiom. I'd recommend to get rid of the bare isValid() outside the synchronized block as well > > However, the current fix for 6852592 does not seem to make things worse: > it just adds one more check that is basically equal (in possible > side-effects) to the existing check for isValid(). On the other hand, > making that change may theoretically bring some regressions if some code > relies on that behavior. That's why I decided to separate the issues. > Now we have the following CR: > > http://bugs.sun.com/view_bug.do?bug_id=6887249 Yep, I see that you propose exactly the same in this CR > > The fix is actually in progress, and apparently going to hit the > repository prior to the fix for 6852592 (due to a bit lagging > specification changes approval process). So I don't have any concern > regarding the issue in terms of the fix that we're currently reviewing: > at least the regression testing indicates nothing extremely terrible. I > hope this explanation calms down your worries. If not, please speak up. I am just not comfortable with having a kind of a half-done fix in JDK, however I see that there are several more instance of that antipattern in the Container class, see preferredSize(), minimumSize() getMaximumSize() are you going to fix them as well in #6887249? If so I'll approve this one ;-) Thanks alexp > > -- > best regards, > Anthony > >> >> Moreover your variant is even more risky: >> any field that is going to be accessed via different threads >> must always be used under the lock, >> otherwise it is possible that one thread >> will see the field in an invalid state >> >> However in your fix the descendUnconditionallyWhenValidating field >> is mutated under the treeLock and then accessed in the validate() method >> outside the synchronization block which is unsafe >> >> The following comment: /* Avoid grabbing lock unless really necessary.*/ >> >> is obsolete, the modern JVM do a great job to optimize synchronization >> so there is no need to invent tricky patterns to avoid synchronization >> >> I see two options here: >> >> 1) Refactor Container.validate to alway get the treeLock and >> do everything inside it. This is the most preferable choice. >> >> 2) Define descendUnconditionallyWhenValidating as volatile, >> this is better than nothing but less safe than #1 >> >> Thanks >> alexp >> >>> >>> -- >>> best regards, >>> Anthony >>> >>>>> On 10/01/2009 12:24 PM, Artem Ananiev wrote: >>>>>> I've quickly looked through the changes, the fix looks fine with >>>>>> the exception of using double-check idiom in Container.validate() >>>>>> - I told you about that the other day. >>>>> >>>>> To make sure we don't get messed up when discovering potential >>>>> regressions, I've just filed a separate CR 6887249 (Get rid of >>>>> double-check for isValid() idiom in validate() methods) to fix the >>>>> issue later. Thanks for the suggestion. >>>>> >>>>> -- >>>>> best regards, >>>>> Anthony >>>>> >>>>>> >>>>>> Thanks, >>>>>> >>>>>> Artem >>>>>> >>>>>> Anthony Petrov wrote: >>>>>>> It's been a long time since we discussed the issue. Now is the >>>>>>> time for revival. >>>>>>> >>>>>>> Last time we came across a failing test [1] that had a JApplet >>>>>>> embedded in a JFrame. The frame was expected to be validated upon >>>>>>> showing. However, the components in the JApplet were not >>>>>>> validated, since the JApplet itself was marked valid, but the >>>>>>> invalidate() requests from the children of the applet stopped on >>>>>>> the RootPane of the JApplet because it was a validate root. >>>>>>> >>>>>>> Later we found out a possible solution for that problem [2]: the >>>>>>> show() (as well as the pack()) should validate the whole >>>>>>> component hierarchy unconditionally. >>>>>>> >>>>>>> So, here's the fix with this solution implemented. Please review: >>>>>>> >>>>>>> http://cr.openjdk.java.net/~anthony/7-23-invalidate-6852592.3/ >>>>>>> >>>>>>> The fix has been tested quite thoroughly: all sort of related >>>>>>> automatic tests for both Swing and AWT areas have been run >>>>>>> (including layout-related tests, bare (J)Component and >>>>>>> Container-related tests, and some other.) All manual >>>>>>> layout-related tests from AWT and Swing have also been run and >>>>>>> passed. Mixing-related regression tests pass as well. >>>>>>> >>>>>>> Please note that I've also changed the synopsis of the change >>>>>>> request by replacing revalidate() with invalidate() because the >>>>>>> fix actually affects the invalidate() method only. >>>>>>> >>>>>>> [1] >>>>>>> http://mail.openjdk.java.net/pipermail/awt-dev/2009-August/000831.html >>>>>>> >>>>>>> >>>>>>> [2] >>>>>>> http://mail.openjdk.java.net/pipermail/awt-dev/2009-August/000835.html >>>>>>> >>>>>>> >>>>>>> -- >>>>>>> best regards, >>>>>>> Anthony >>>> >> From Anthony.Petrov at Sun.COM Wed Oct 7 07:31:50 2009 From: Anthony.Petrov at Sun.COM (Anthony Petrov) Date: Wed, 07 Oct 2009 18:31:50 +0400 Subject: Review request #4: 6852592 (invalidate() must be smarter) - approved In-Reply-To: <4ACCA494.8010307@sun.com> References: <4ABCD0A9.2040807@sun.com> <4AC4673B.5020201@sun.com> <4AC4821F.7000504@sun.com> <4ACB6F0B.2070503@sun.com> <4ACB7ECD.9040104@sun.com> <4ACC9952.50900@sun.com> <4ACC9F3C.60005@sun.com> <4ACCA494.8010307@sun.com> Message-ID: <4ACCA656.7050701@sun.com> On 10/07/2009 06:24 PM, Alexander Potochkin wrote: > I am just not comfortable with having a kind of a half-done fix in JDK, > however I see that there are several more instance of that antipattern > in the Container class, see preferredSize(), minimumSize() getMaximumSize() > > are you going to fix them as well in #6887249? That's being currently discussed. Artem, would you agree on placing all calls to the isValid() under the TreeLock? > If so I'll approve this one > ;-) I already got your approval in your message on 10/06/2009 08:23 PM. The only "if" was about whether the tests pass, and they do! ;) -- best regards, Anthony > > Thanks > alexp > >> >> -- >> best regards, >> Anthony >> >>> >>> Moreover your variant is even more risky: >>> any field that is going to be accessed via different threads >>> must always be used under the lock, >>> otherwise it is possible that one thread >>> will see the field in an invalid state >>> >>> However in your fix the descendUnconditionallyWhenValidating field >>> is mutated under the treeLock and then accessed in the validate() method >>> outside the synchronization block which is unsafe >>> >>> The following comment: /* Avoid grabbing lock unless really necessary.*/ >>> >>> is obsolete, the modern JVM do a great job to optimize synchronization >>> so there is no need to invent tricky patterns to avoid synchronization >>> >>> I see two options here: >>> >>> 1) Refactor Container.validate to alway get the treeLock and >>> do everything inside it. This is the most preferable choice. >>> >>> 2) Define descendUnconditionallyWhenValidating as volatile, >>> this is better than nothing but less safe than #1 >>> >>> Thanks >>> alexp >>> >>>> >>>> -- >>>> best regards, >>>> Anthony >>>> >>>>>> On 10/01/2009 12:24 PM, Artem Ananiev wrote: >>>>>>> I've quickly looked through the changes, the fix looks fine with >>>>>>> the exception of using double-check idiom in Container.validate() >>>>>>> - I told you about that the other day. >>>>>> >>>>>> To make sure we don't get messed up when discovering potential >>>>>> regressions, I've just filed a separate CR 6887249 (Get rid of >>>>>> double-check for isValid() idiom in validate() methods) to fix the >>>>>> issue later. Thanks for the suggestion. >>>>>> >>>>>> -- >>>>>> best regards, >>>>>> Anthony >>>>>> >>>>>>> >>>>>>> Thanks, >>>>>>> >>>>>>> Artem >>>>>>> >>>>>>> Anthony Petrov wrote: >>>>>>>> It's been a long time since we discussed the issue. Now is the >>>>>>>> time for revival. >>>>>>>> >>>>>>>> Last time we came across a failing test [1] that had a JApplet >>>>>>>> embedded in a JFrame. The frame was expected to be validated >>>>>>>> upon showing. However, the components in the JApplet were not >>>>>>>> validated, since the JApplet itself was marked valid, but the >>>>>>>> invalidate() requests from the children of the applet stopped on >>>>>>>> the RootPane of the JApplet because it was a validate root. >>>>>>>> >>>>>>>> Later we found out a possible solution for that problem [2]: the >>>>>>>> show() (as well as the pack()) should validate the whole >>>>>>>> component hierarchy unconditionally. >>>>>>>> >>>>>>>> So, here's the fix with this solution implemented. Please review: >>>>>>>> >>>>>>>> http://cr.openjdk.java.net/~anthony/7-23-invalidate-6852592.3/ >>>>>>>> >>>>>>>> The fix has been tested quite thoroughly: all sort of related >>>>>>>> automatic tests for both Swing and AWT areas have been run >>>>>>>> (including layout-related tests, bare (J)Component and >>>>>>>> Container-related tests, and some other.) All manual >>>>>>>> layout-related tests from AWT and Swing have also been run and >>>>>>>> passed. Mixing-related regression tests pass as well. >>>>>>>> >>>>>>>> Please note that I've also changed the synopsis of the change >>>>>>>> request by replacing revalidate() with invalidate() because the >>>>>>>> fix actually affects the invalidate() method only. >>>>>>>> >>>>>>>> [1] >>>>>>>> http://mail.openjdk.java.net/pipermail/awt-dev/2009-August/000831.html >>>>>>>> >>>>>>>> >>>>>>>> [2] >>>>>>>> http://mail.openjdk.java.net/pipermail/awt-dev/2009-August/000835.html >>>>>>>> >>>>>>>> >>>>>>>> -- >>>>>>>> best regards, >>>>>>>> Anthony >>>>> >>> > From Alexander.Potochkin at Sun.COM Wed Oct 7 07:52:01 2009 From: Alexander.Potochkin at Sun.COM (Alexander Potochkin) Date: Wed, 07 Oct 2009 18:52:01 +0400 Subject: Review request #4: 6852592 (invalidate() must be smarter) - approved In-Reply-To: <4ACCA656.7050701@sun.com> References: <4ABCD0A9.2040807@sun.com> <4AC4673B.5020201@sun.com> <4AC4821F.7000504@sun.com> <4ACB6F0B.2070503@sun.com> <4ACB7ECD.9040104@sun.com> <4ACC9952.50900@sun.com> <4ACC9F3C.60005@sun.com> <4ACCA494.8010307@sun.com> <4ACCA656.7050701@sun.com> Message-ID: <4ACCAB11.3060308@sun.com> Hello Anthony >> If so I'll approve this one >> ;-) > > I already got your approval in your message on 10/06/2009 08:23 PM. The > only "if" was about whether the tests pass, and they do! ;) What?! already approved... Okay, you got this time :-) Thanks alexp > > -- > best regards, > Anthony > >> >> Thanks >> alexp >> >>> >>> -- >>> best regards, >>> Anthony >>> >>>> >>>> Moreover your variant is even more risky: >>>> any field that is going to be accessed via different threads >>>> must always be used under the lock, >>>> otherwise it is possible that one thread >>>> will see the field in an invalid state >>>> >>>> However in your fix the descendUnconditionallyWhenValidating field >>>> is mutated under the treeLock and then accessed in the validate() >>>> method >>>> outside the synchronization block which is unsafe >>>> >>>> The following comment: /* Avoid grabbing lock unless really >>>> necessary.*/ >>>> >>>> is obsolete, the modern JVM do a great job to optimize synchronization >>>> so there is no need to invent tricky patterns to avoid synchronization >>>> >>>> I see two options here: >>>> >>>> 1) Refactor Container.validate to alway get the treeLock and >>>> do everything inside it. This is the most preferable choice. >>>> >>>> 2) Define descendUnconditionallyWhenValidating as volatile, >>>> this is better than nothing but less safe than #1 >>>> >>>> Thanks >>>> alexp >>>> >>>>> >>>>> -- >>>>> best regards, >>>>> Anthony >>>>> >>>>>>> On 10/01/2009 12:24 PM, Artem Ananiev wrote: >>>>>>>> I've quickly looked through the changes, the fix looks fine with >>>>>>>> the exception of using double-check idiom in >>>>>>>> Container.validate() - I told you about that the other day. >>>>>>> >>>>>>> To make sure we don't get messed up when discovering potential >>>>>>> regressions, I've just filed a separate CR 6887249 (Get rid of >>>>>>> double-check for isValid() idiom in validate() methods) to fix >>>>>>> the issue later. Thanks for the suggestion. >>>>>>> >>>>>>> -- >>>>>>> best regards, >>>>>>> Anthony >>>>>>> >>>>>>>> >>>>>>>> Thanks, >>>>>>>> >>>>>>>> Artem >>>>>>>> >>>>>>>> Anthony Petrov wrote: >>>>>>>>> It's been a long time since we discussed the issue. Now is the >>>>>>>>> time for revival. >>>>>>>>> >>>>>>>>> Last time we came across a failing test [1] that had a JApplet >>>>>>>>> embedded in a JFrame. The frame was expected to be validated >>>>>>>>> upon showing. However, the components in the JApplet were not >>>>>>>>> validated, since the JApplet itself was marked valid, but the >>>>>>>>> invalidate() requests from the children of the applet stopped >>>>>>>>> on the RootPane of the JApplet because it was a validate root. >>>>>>>>> >>>>>>>>> Later we found out a possible solution for that problem [2]: >>>>>>>>> the show() (as well as the pack()) should validate the whole >>>>>>>>> component hierarchy unconditionally. >>>>>>>>> >>>>>>>>> So, here's the fix with this solution implemented. Please review: >>>>>>>>> >>>>>>>>> http://cr.openjdk.java.net/~anthony/7-23-invalidate-6852592.3/ >>>>>>>>> >>>>>>>>> The fix has been tested quite thoroughly: all sort of related >>>>>>>>> automatic tests for both Swing and AWT areas have been run >>>>>>>>> (including layout-related tests, bare (J)Component and >>>>>>>>> Container-related tests, and some other.) All manual >>>>>>>>> layout-related tests from AWT and Swing have also been run and >>>>>>>>> passed. Mixing-related regression tests pass as well. >>>>>>>>> >>>>>>>>> Please note that I've also changed the synopsis of the change >>>>>>>>> request by replacing revalidate() with invalidate() because the >>>>>>>>> fix actually affects the invalidate() method only. >>>>>>>>> >>>>>>>>> [1] >>>>>>>>> http://mail.openjdk.java.net/pipermail/awt-dev/2009-August/000831.html >>>>>>>>> >>>>>>>>> >>>>>>>>> [2] >>>>>>>>> http://mail.openjdk.java.net/pipermail/awt-dev/2009-August/000835.html >>>>>>>>> >>>>>>>>> >>>>>>>>> -- >>>>>>>>> best regards, >>>>>>>>> Anthony >>>>>> >>>> >> From Artem.Ananiev at Sun.COM Wed Oct 7 07:57:19 2009 From: Artem.Ananiev at Sun.COM (Artem Ananiev) Date: Wed, 07 Oct 2009 18:57:19 +0400 Subject: Review request #4: 6852592 (invalidate() must be smarter) - approved In-Reply-To: <4ACCA656.7050701@sun.com> References: <4ABCD0A9.2040807@sun.com> <4AC4673B.5020201@sun.com> <4AC4821F.7000504@sun.com> <4ACB6F0B.2070503@sun.com> <4ACB7ECD.9040104@sun.com> <4ACC9952.50900@sun.com> <4ACC9F3C.60005@sun.com> <4ACCA494.8010307@sun.com> <4ACCA656.7050701@sun.com> Message-ID: <4ACCAC4F.3000703@sun.com> Anthony Petrov wrote: > On 10/07/2009 06:24 PM, Alexander Potochkin wrote: >> I am just not comfortable with having a kind of a half-done fix in JDK, >> however I see that there are several more instance of that antipattern >> in the Container class, see preferredSize(), minimumSize() >> getMaximumSize() >> >> are you going to fix them as well in #6887249? > > That's being currently discussed. > > Artem, would you agree on placing all calls to the isValid() under the > TreeLock? Yes, that would be fine. Have we already introduced a warning about all the layout/validation methods (including the calls to isValid()) to be called by users under the tree lock into JDK7? I guess, we have, so it would be strange if we don't follow our own guidelines. Thanks, Artem >> If so I'll approve this one >> ;-) > > I already got your approval in your message on 10/06/2009 08:23 PM. The > only "if" was about whether the tests pass, and they do! ;) > > -- > best regards, > Anthony > >> >> Thanks >> alexp >> >>> >>> -- >>> best regards, >>> Anthony >>> >>>> >>>> Moreover your variant is even more risky: >>>> any field that is going to be accessed via different threads >>>> must always be used under the lock, >>>> otherwise it is possible that one thread >>>> will see the field in an invalid state >>>> >>>> However in your fix the descendUnconditionallyWhenValidating field >>>> is mutated under the treeLock and then accessed in the validate() >>>> method >>>> outside the synchronization block which is unsafe >>>> >>>> The following comment: /* Avoid grabbing lock unless really >>>> necessary.*/ >>>> >>>> is obsolete, the modern JVM do a great job to optimize synchronization >>>> so there is no need to invent tricky patterns to avoid synchronization >>>> >>>> I see two options here: >>>> >>>> 1) Refactor Container.validate to alway get the treeLock and >>>> do everything inside it. This is the most preferable choice. >>>> >>>> 2) Define descendUnconditionallyWhenValidating as volatile, >>>> this is better than nothing but less safe than #1 >>>> >>>> Thanks >>>> alexp >>>> >>>>> >>>>> -- >>>>> best regards, >>>>> Anthony >>>>> >>>>>>> On 10/01/2009 12:24 PM, Artem Ananiev wrote: >>>>>>>> I've quickly looked through the changes, the fix looks fine with >>>>>>>> the exception of using double-check idiom in >>>>>>>> Container.validate() - I told you about that the other day. >>>>>>> >>>>>>> To make sure we don't get messed up when discovering potential >>>>>>> regressions, I've just filed a separate CR 6887249 (Get rid of >>>>>>> double-check for isValid() idiom in validate() methods) to fix >>>>>>> the issue later. Thanks for the suggestion. >>>>>>> >>>>>>> -- >>>>>>> best regards, >>>>>>> Anthony >>>>>>> >>>>>>>> >>>>>>>> Thanks, >>>>>>>> >>>>>>>> Artem >>>>>>>> >>>>>>>> Anthony Petrov wrote: >>>>>>>>> It's been a long time since we discussed the issue. Now is the >>>>>>>>> time for revival. >>>>>>>>> >>>>>>>>> Last time we came across a failing test [1] that had a JApplet >>>>>>>>> embedded in a JFrame. The frame was expected to be validated >>>>>>>>> upon showing. However, the components in the JApplet were not >>>>>>>>> validated, since the JApplet itself was marked valid, but the >>>>>>>>> invalidate() requests from the children of the applet stopped >>>>>>>>> on the RootPane of the JApplet because it was a validate root. >>>>>>>>> >>>>>>>>> Later we found out a possible solution for that problem [2]: >>>>>>>>> the show() (as well as the pack()) should validate the whole >>>>>>>>> component hierarchy unconditionally. >>>>>>>>> >>>>>>>>> So, here's the fix with this solution implemented. Please review: >>>>>>>>> >>>>>>>>> http://cr.openjdk.java.net/~anthony/7-23-invalidate-6852592.3/ >>>>>>>>> >>>>>>>>> The fix has been tested quite thoroughly: all sort of related >>>>>>>>> automatic tests for both Swing and AWT areas have been run >>>>>>>>> (including layout-related tests, bare (J)Component and >>>>>>>>> Container-related tests, and some other.) All manual >>>>>>>>> layout-related tests from AWT and Swing have also been run and >>>>>>>>> passed. Mixing-related regression tests pass as well. >>>>>>>>> >>>>>>>>> Please note that I've also changed the synopsis of the change >>>>>>>>> request by replacing revalidate() with invalidate() because the >>>>>>>>> fix actually affects the invalidate() method only. >>>>>>>>> >>>>>>>>> [1] >>>>>>>>> http://mail.openjdk.java.net/pipermail/awt-dev/2009-August/000831.html >>>>>>>>> >>>>>>>>> >>>>>>>>> [2] >>>>>>>>> http://mail.openjdk.java.net/pipermail/awt-dev/2009-August/000835.html >>>>>>>>> >>>>>>>>> >>>>>>>>> -- >>>>>>>>> best regards, >>>>>>>>> Anthony >>>>>> >>>> >> From Anthony.Petrov at Sun.COM Wed Oct 7 08:05:40 2009 From: Anthony.Petrov at Sun.COM (Anthony Petrov) Date: Wed, 07 Oct 2009 19:05:40 +0400 Subject: Review request #4: 6852592 (invalidate() must be smarter) - approved In-Reply-To: <4ACCAC4F.3000703@sun.com> References: <4ABCD0A9.2040807@sun.com> <4AC4673B.5020201@sun.com> <4AC4821F.7000504@sun.com> <4ACB6F0B.2070503@sun.com> <4ACB7ECD.9040104@sun.com> <4ACC9952.50900@sun.com> <4ACC9F3C.60005@sun.com> <4ACCA494.8010307@sun.com> <4ACCA656.7050701@sun.com> <4ACCAC4F.3000703@sun.com> Message-ID: <4ACCAE44.6080206@sun.com> On 10/07/2009 06:57 PM, Artem Ananiev wrote: >> Artem, would you agree on placing all calls to the isValid() under the >> TreeLock? > > Yes, that would be fine. Have we already introduced a warning about all OK, I'll modify the fix for 6887249 accordingly. > the layout/validation methods (including the calls to isValid()) to be > called by users under the tree lock into JDK7? I guess, we have, so it > would be strange if we don't follow our own guidelines. Hmm... AFAIR, there isn't such a requirement expressed explicitly in the specification now. I recall we planned to do that in 7, but I'm not sure if we submitted any CR for that purpose. Should I file one? -- best regards, Anthony > > Thanks, > > Artem > >>> If so I'll approve this one >>> ;-) >> >> I already got your approval in your message on 10/06/2009 08:23 PM. >> The only "if" was about whether the tests pass, and they do! ;) >> >> -- >> best regards, >> Anthony >> >>> >>> Thanks >>> alexp >>> >>>> >>>> -- >>>> best regards, >>>> Anthony >>>> >>>>> >>>>> Moreover your variant is even more risky: >>>>> any field that is going to be accessed via different threads >>>>> must always be used under the lock, >>>>> otherwise it is possible that one thread >>>>> will see the field in an invalid state >>>>> >>>>> However in your fix the descendUnconditionallyWhenValidating field >>>>> is mutated under the treeLock and then accessed in the validate() >>>>> method >>>>> outside the synchronization block which is unsafe >>>>> >>>>> The following comment: /* Avoid grabbing lock unless really >>>>> necessary.*/ >>>>> >>>>> is obsolete, the modern JVM do a great job to optimize synchronization >>>>> so there is no need to invent tricky patterns to avoid synchronization >>>>> >>>>> I see two options here: >>>>> >>>>> 1) Refactor Container.validate to alway get the treeLock and >>>>> do everything inside it. This is the most preferable choice. >>>>> >>>>> 2) Define descendUnconditionallyWhenValidating as volatile, >>>>> this is better than nothing but less safe than #1 >>>>> >>>>> Thanks >>>>> alexp >>>>> >>>>>> >>>>>> -- >>>>>> best regards, >>>>>> Anthony >>>>>> >>>>>>>> On 10/01/2009 12:24 PM, Artem Ananiev wrote: >>>>>>>>> I've quickly looked through the changes, the fix looks fine >>>>>>>>> with the exception of using double-check idiom in >>>>>>>>> Container.validate() - I told you about that the other day. >>>>>>>> >>>>>>>> To make sure we don't get messed up when discovering potential >>>>>>>> regressions, I've just filed a separate CR 6887249 (Get rid of >>>>>>>> double-check for isValid() idiom in validate() methods) to fix >>>>>>>> the issue later. Thanks for the suggestion. >>>>>>>> >>>>>>>> -- >>>>>>>> best regards, >>>>>>>> Anthony >>>>>>>> >>>>>>>>> >>>>>>>>> Thanks, >>>>>>>>> >>>>>>>>> Artem >>>>>>>>> >>>>>>>>> Anthony Petrov wrote: >>>>>>>>>> It's been a long time since we discussed the issue. Now is the >>>>>>>>>> time for revival. >>>>>>>>>> >>>>>>>>>> Last time we came across a failing test [1] that had a JApplet >>>>>>>>>> embedded in a JFrame. The frame was expected to be validated >>>>>>>>>> upon showing. However, the components in the JApplet were not >>>>>>>>>> validated, since the JApplet itself was marked valid, but the >>>>>>>>>> invalidate() requests from the children of the applet stopped >>>>>>>>>> on the RootPane of the JApplet because it was a validate root. >>>>>>>>>> >>>>>>>>>> Later we found out a possible solution for that problem [2]: >>>>>>>>>> the show() (as well as the pack()) should validate the whole >>>>>>>>>> component hierarchy unconditionally. >>>>>>>>>> >>>>>>>>>> So, here's the fix with this solution implemented. Please review: >>>>>>>>>> >>>>>>>>>> http://cr.openjdk.java.net/~anthony/7-23-invalidate-6852592.3/ >>>>>>>>>> >>>>>>>>>> The fix has been tested quite thoroughly: all sort of related >>>>>>>>>> automatic tests for both Swing and AWT areas have been run >>>>>>>>>> (including layout-related tests, bare (J)Component and >>>>>>>>>> Container-related tests, and some other.) All manual >>>>>>>>>> layout-related tests from AWT and Swing have also been run and >>>>>>>>>> passed. Mixing-related regression tests pass as well. >>>>>>>>>> >>>>>>>>>> Please note that I've also changed the synopsis of the change >>>>>>>>>> request by replacing revalidate() with invalidate() because >>>>>>>>>> the fix actually affects the invalidate() method only. >>>>>>>>>> >>>>>>>>>> [1] >>>>>>>>>> http://mail.openjdk.java.net/pipermail/awt-dev/2009-August/000831.html >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> [2] >>>>>>>>>> http://mail.openjdk.java.net/pipermail/awt-dev/2009-August/000835.html >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> -- >>>>>>>>>> best regards, >>>>>>>>>> Anthony >>>>>>> >>>>> >>> From Anthony.Petrov at Sun.COM Thu Oct 8 00:38:28 2009 From: Anthony.Petrov at Sun.COM (Anthony Petrov) Date: Thu, 08 Oct 2009 11:38:28 +0400 Subject: Review request #4: 6852592 (invalidate() must be smarter) - approved In-Reply-To: <4ACCAE44.6080206@sun.com> References: <4ABCD0A9.2040807@sun.com> <4AC4673B.5020201@sun.com> <4AC4821F.7000504@sun.com> <4ACB6F0B.2070503@sun.com> <4ACB7ECD.9040104@sun.com> <4ACC9952.50900@sun.com> <4ACC9F3C.60005@sun.com> <4ACCA494.8010307@sun.com> <4ACCA656.7050701@sun.com> <4ACCAC4F.3000703@sun.com> <4ACCAE44.6080206@sun.com> Message-ID: <4ACD96F4.2020501@sun.com> On 10/7/2009 7:05 PM Anthony Petrov wrote: > On 10/07/2009 06:57 PM, Artem Ananiev wrote: >>> Artem, would you agree on placing all calls to the isValid() under >>> the TreeLock? >> >> Yes, that would be fine. Have we already introduced a warning about all > > OK, I'll modify the fix for 6887249 accordingly. Well, I revised the code, and it appears that the 'valid' boolean field is declared volatile. Which basically means that we should only acquire a lock when we need an atomic "read-then-update" sort of operation (like validate() or invalidate() do.) When we need to read the value of this field only w/o subsequent updating it, we don't actually need any locking at all. So I tend to think that the fix for 6887249 should modify the Container.validate() method only. What do you think? -- best regards, Anthony From Artem.Ananiev at Sun.COM Thu Oct 8 01:34:00 2009 From: Artem.Ananiev at Sun.COM (Artem Ananiev) Date: Thu, 08 Oct 2009 12:34:00 +0400 Subject: Review request #4: 6852592 (invalidate() must be smarter) - approved In-Reply-To: <4ACD96F4.2020501@sun.com> References: <4ABCD0A9.2040807@sun.com> <4AC4673B.5020201@sun.com> <4AC4821F.7000504@sun.com> <4ACB6F0B.2070503@sun.com> <4ACB7ECD.9040104@sun.com> <4ACC9952.50900@sun.com> <4ACC9F3C.60005@sun.com> <4ACCA494.8010307@sun.com> <4ACCA656.7050701@sun.com> <4ACCAC4F.3000703@sun.com> <4ACCAE44.6080206@sun.com> <4ACD96F4.2020501@sun.com> Message-ID: <4ACDA3F8.1020300@sun.com> Anthony Petrov wrote: > On 10/7/2009 7:05 PM Anthony Petrov wrote: >> On 10/07/2009 06:57 PM, Artem Ananiev wrote: >>>> Artem, would you agree on placing all calls to the isValid() under >>>> the TreeLock? >>> >>> Yes, that would be fine. Have we already introduced a warning about all >> >> OK, I'll modify the fix for 6887249 accordingly. > > Well, I revised the code, and it appears that the 'valid' boolean field > is declared volatile. Which basically means that we should only acquire > a lock when we need an atomic "read-then-update" sort of operation (like > validate() or invalidate() do.) When we need to read the value of this > field only w/o subsequent updating it, we don't actually need any > locking at all. So I tend to think that the fix for 6887249 should > modify the Container.validate() method only. What do you think? If isValid() were a final method that just returns a value of 'isValid' field, then yes, we wouldn't have to provide any external synchronization. However, users might want to override isValid(), so I'd better place all the calls to isValid() under the tree lock. Thanks, Artem > -- > best regards, > Anthony From Anthony.Petrov at Sun.COM Thu Oct 8 02:04:46 2009 From: Anthony.Petrov at Sun.COM (Anthony Petrov) Date: Thu, 08 Oct 2009 13:04:46 +0400 Subject: Review request #4: 6852592 (invalidate() must be smarter) - approved In-Reply-To: <4ACDA3F8.1020300@sun.com> References: <4ABCD0A9.2040807@sun.com> <4AC4673B.5020201@sun.com> <4AC4821F.7000504@sun.com> <4ACB6F0B.2070503@sun.com> <4ACB7ECD.9040104@sun.com> <4ACC9952.50900@sun.com> <4ACC9F3C.60005@sun.com> <4ACCA494.8010307@sun.com> <4ACCA656.7050701@sun.com> <4ACCAC4F.3000703@sun.com> <4ACCAE44.6080206@sun.com> <4ACD96F4.2020501@sun.com> <4ACDA3F8.1020300@sun.com> Message-ID: <4ACDAB2E.6000206@sun.com> On 10/8/2009 12:34 PM Artem Ananiev wrote: >>>>> Artem, would you agree on placing all calls to the isValid() under >>>>> the TreeLock? >>>> >>>> Yes, that would be fine. Have we already introduced a warning about all >>> >>> OK, I'll modify the fix for 6887249 accordingly. >> >> Well, I revised the code, and it appears that the 'valid' boolean >> field is declared volatile. Which basically means that we should only >> acquire a lock when we need an atomic "read-then-update" sort of >> operation (like validate() or invalidate() do.) When we need to read >> the value of this field only w/o subsequent updating it, we don't >> actually need any locking at all. So I tend to think that the fix for >> 6887249 should modify the Container.validate() method only. What do >> you think? > > If isValid() were a final method that just returns a value of 'isValid' > field, then yes, we wouldn't have to provide any external > synchronization. However, users might want to override isValid(), so I'd > better place all the calls to isValid() under the tree lock. What about the Component.paramString() method then? Couldn't it produce some dead-locks while debugging is in progress? Also, there's a number of isValid() calls in the Swing code (e.g., JViewport, BasicTabbedPaneUI, and possibly some more.) Should these be modified as well? Alex, what's your opinion? -- best regards, Anthony From dmitry.cherepanov at sun.com Mon Oct 12 08:13:42 2009 From: dmitry.cherepanov at sun.com (dmitry.cherepanov at sun.com) Date: Mon, 12 Oct 2009 15:13:42 +0000 Subject: hg: jdk7/awt/jdk: 6796915: Deadlock in XAWT when switching virtual desktops Message-ID: <20091012151436.6BA6941405@hg.openjdk.java.net> Changeset: 49c198e30d5e Author: dcherepanov Date: 2009-10-12 19:07 +0400 URL: http://hg.openjdk.java.net/jdk7/awt/jdk/rev/49c198e30d5e 6796915: Deadlock in XAWT when switching virtual desktops Reviewed-by: art, anthony ! src/solaris/classes/sun/awt/X11/XDropTargetRegistry.java ! src/solaris/classes/sun/awt/X11/XWindowPeer.java From gnu_andrew at member.fsf.org Mon Oct 12 10:27:24 2009 From: gnu_andrew at member.fsf.org (Andrew John Hughes) Date: Mon, 12 Oct 2009 18:27:24 +0100 Subject: Patch for review: TestDialogTypeAhead In-Reply-To: <1523174107.489001253728448422.JavaMail.root@zmail04.collab.prod.int.phx2.redhat.com> References: <1038136880.488901253728315944.JavaMail.root@zmail04.collab.prod.int.phx2.redhat.com> <1523174107.489001253728448422.JavaMail.root@zmail04.collab.prod.int.phx2.redhat.com> Message-ID: <17c6771e0910121027p2f1983e4od54bb8ef638ed01@mail.gmail.com> 2009/9/23 Man Wong : > Hi, > > Webrev: http://icedtea.classpath.org/~mwong/webrevs/index.html > > Summary: This is about jtreg bug in openjdk7, TestDialogTypeAhead ({openjdkdir}/jdk/test/java/awt/KeyboardFocusManager/TypeAhead > ? ? ? ? /TestDialogTypeAhead.java). It relates to bug ID 6446952, which in the test itself includes a workaround and that causes it to fail in fedora > ? ? ? ? 10/11. After removing the work around, as in my webrev, the test passes. Does the fix look ok to push to the awt forest? Any comments? > ? ? ? ? Thanks. > > Man Lung Wong > Ping! Can someone from the AWT team please respond on this? The patch removes a hack used to workaround bug 6446952, which (apparently) occurs sporadically on some Windows platforms. According to the bug report (http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6446952), the bug itself has been fixed in 'mustang b93', whatever that is, which implies the hack is probably no longer needed even where 6446952 was evidenced. What we do know from our testing is that this hack causes the test to fail consistently on GNU/Linux platforms, and removing it causes it to succeed. Does this patch look ok to push to the AWT forest? -- 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 Andrey.Pikalev at Sun.COM Wed Oct 14 01:41:27 2009 From: Andrey.Pikalev at Sun.COM (Andrey Pikalev) Date: Wed, 14 Oct 2009 12:41:27 +0400 Subject: Patch for review: TestDialogTypeAhead In-Reply-To: <17c6771e0910121027p2f1983e4od54bb8ef638ed01@mail.gmail.com> References: <1038136880.488901253728315944.JavaMail.root@zmail04.collab.prod.int.phx2.redhat.com> <1523174107.489001253728448422.JavaMail.root@zmail04.collab.prod.int.phx2.redhat.com> <17c6771e0910121027p2f1983e4od54bb8ef638ed01@mail.gmail.com> Message-ID: <4AD58EB7.3020702@sun.com> Andrew, Man, Sorry about silence. The right person to review this change is on vacation till the end of this week. He will review it early next week. Thanks, Andrey. Andrew John Hughes wrote: > 2009/9/23 Man Wong : >> Hi, >> >> Webrev: http://icedtea.classpath.org/~mwong/webrevs/index.html >> >> Summary: This is about jtreg bug in openjdk7, TestDialogTypeAhead ({openjdkdir}/jdk/test/java/awt/KeyboardFocusManager/TypeAhead >> /TestDialogTypeAhead.java). It relates to bug ID 6446952, which in the test itself includes a workaround and that causes it to fail in fedora >> 10/11. After removing the work around, as in my webrev, the test passes. Does the fix look ok to push to the awt forest? Any comments? >> Thanks. >> >> Man Lung Wong >> > > Ping! > > Can someone from the AWT team please respond on this? > > The patch removes a hack used to workaround bug 6446952, which > (apparently) occurs sporadically on some Windows platforms. According > to the bug report > (http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6446952), the bug > itself has been fixed in 'mustang b93', whatever that is, which > implies the hack is probably no longer needed even where 6446952 was > evidenced. What we do know from our testing is that this hack causes > the test to fail consistently on GNU/Linux platforms, and removing it > causes it to succeed. > > Does this patch look ok to push to the AWT forest? From Anthony.Petrov at Sun.COM Wed Oct 14 04:11:29 2009 From: Anthony.Petrov at Sun.COM (Anthony Petrov) Date: Wed, 14 Oct 2009 15:11:29 +0400 Subject: Review request #4: 6852592 (invalidate() must be smarter) - approved In-Reply-To: <4ACDAB2E.6000206@sun.com> References: <4ABCD0A9.2040807@sun.com> <4AC4673B.5020201@sun.com> <4AC4821F.7000504@sun.com> <4ACB6F0B.2070503@sun.com> <4ACB7ECD.9040104@sun.com> <4ACC9952.50900@sun.com> <4ACC9F3C.60005@sun.com> <4ACCA494.8010307@sun.com> <4ACCA656.7050701@sun.com> <4ACCAC4F.3000703@sun.com> <4ACCAE44.6080206@sun.com> <4ACD96F4.2020501@sun.com> <4ACDA3F8.1020300@sun.com> <4ACDAB2E.6000206@sun.com> Message-ID: <4AD5B1E1.9050705@sun.com> While I'm still waiting for some answers to the questions outlined below, I also just recalled another issue. About a year ago or so we developed a fix to replace the components array with a collection in the Container class. The initial version of the fix included synchronized (getTreeLock()) sections in such methods like countComponent(), getComponent(int), and some other. I recall we indeed faced dead-locks back then, and decided that a developer must hold the lock when calling these methods, so that we could avoid acquiring the lock ourselves. How does that decision correspond to the current proposal of forcibly getting the lock in the preferredSize(), paramString(), some Swing methods, and others? Wouldn't that be safer to shift the responsibility of holding the lock to the user's code instead (as just assumed currently, in fact)? -- best regards, Anthony On 10/08/2009 01:04 PM, Anthony Petrov wrote: > On 10/8/2009 12:34 PM Artem Ananiev wrote: >>>>>> Artem, would you agree on placing all calls to the isValid() under >>>>>> the TreeLock? >>>>> >>>>> Yes, that would be fine. Have we already introduced a warning about >>>>> all >>>> >>>> OK, I'll modify the fix for 6887249 accordingly. >>> >>> Well, I revised the code, and it appears that the 'valid' boolean >>> field is declared volatile. Which basically means that we should only >>> acquire a lock when we need an atomic "read-then-update" sort of >>> operation (like validate() or invalidate() do.) When we need to read >>> the value of this field only w/o subsequent updating it, we don't >>> actually need any locking at all. So I tend to think that the fix for >>> 6887249 should modify the Container.validate() method only. What do >>> you think? >> >> If isValid() were a final method that just returns a value of >> 'isValid' field, then yes, we wouldn't have to provide any external >> synchronization. However, users might want to override isValid(), so >> I'd better place all the calls to isValid() under the tree lock. > > What about the Component.paramString() method then? Couldn't it produce > some dead-locks while debugging is in progress? > > Also, there's a number of isValid() calls in the Swing code (e.g., > JViewport, BasicTabbedPaneUI, and possibly some more.) Should these be > modified as well? Alex, what's your opinion? > > -- > best regards, > Anthony > From anthony.petrov at sun.com Wed Oct 14 04:52:35 2009 From: anthony.petrov at sun.com (anthony.petrov at sun.com) Date: Wed, 14 Oct 2009 11:52:35 +0000 Subject: hg: jdk7/awt/jdk: 6684916: jframe.setMaximizedBounds() has no effect in linux Message-ID: <20091014115302.5818B41537@hg.openjdk.java.net> Changeset: 893a9122ae1b Author: anthony Date: 2009-10-14 15:46 +0400 URL: http://hg.openjdk.java.net/jdk7/awt/jdk/rev/893a9122ae1b 6684916: jframe.setMaximizedBounds() has no effect in linux Summary: Specification should indicate that the feature may be unsupported on some platforms. Reviewed-by: art, dcherepanov ! src/share/classes/java/awt/Frame.java From anthony.petrov at sun.com Wed Oct 14 05:21:12 2009 From: anthony.petrov at sun.com (anthony.petrov at sun.com) Date: Wed, 14 Oct 2009 12:21:12 +0000 Subject: hg: jdk7/awt/jdk: 6711717: PIT: Security Icon is hidden for FullScreen apps, WinXP Message-ID: <20091014122128.524FC4153E@hg.openjdk.java.net> Changeset: 9e98fd8daa1d Author: anthony Date: 2009-10-14 16:19 +0400 URL: http://hg.openjdk.java.net/jdk7/awt/jdk/rev/9e98fd8daa1d 6711717: PIT: Security Icon is hidden for FullScreen apps, WinXP Summary: Force hiding the security warning in FS exclusive mode. Reviewed-by: art, tdv ! src/share/classes/java/awt/AWTPermission.java ! src/solaris/classes/sun/awt/X11/XWindow.java ! src/solaris/classes/sun/awt/X11/XWindowPeer.java ! src/solaris/classes/sun/awt/X11ComponentPeer.java ! src/solaris/classes/sun/awt/X11GraphicsDevice.java ! src/windows/classes/sun/awt/Win32GraphicsDevice.java ! src/windows/classes/sun/awt/windows/WWindowPeer.java ! src/windows/native/sun/windows/awt_Window.cpp ! src/windows/native/sun/windows/awt_Window.h From anthony.petrov at sun.com Wed Oct 14 05:36:48 2009 From: anthony.petrov at sun.com (anthony.petrov at sun.com) Date: Wed, 14 Oct 2009 12:36:48 +0000 Subject: hg: jdk7/awt/jdk: 6885735: closed/java/awt/Component/DisablingLWDisabledHW/DisablingLWDisabledHW.html fails Message-ID: <20091014123703.966FC41544@hg.openjdk.java.net> Changeset: d4f59e963efa Author: anthony Date: 2009-10-14 16:32 +0400 URL: http://hg.openjdk.java.net/jdk7/awt/jdk/rev/d4f59e963efa 6885735: closed/java/awt/Component/DisablingLWDisabledHW/DisablingLWDisabledHW.html fails Summary: Use isRecursivelyVisibleUpToHeavyweightContainer() instead of isRecursivelyVisible() to determine if the peer needs to be hidden. Reviewed-by: art, dcherepanov ! src/share/classes/java/awt/Component.java ! src/share/classes/java/awt/Container.java From Anthony.Petrov at Sun.COM Wed Oct 14 07:02:24 2009 From: Anthony.Petrov at Sun.COM (Anthony Petrov) Date: Wed, 14 Oct 2009 18:02:24 +0400 Subject: Review request #1: 6863566 (Java should support the freedesktop.org startup notification specification) Message-ID: <4AD5D9F0.3000801@sun.com> Hello, Please review the next version of the fix contributed by Damjan Jovanovic: RFE: https://bugs.openjdk.java.net/show_bug.cgi?id=100094 There you can also find some latest comments regarding the fix. webrev: http://cr.openjdk.java.net/~anthony/7-24-startupNotify-6863566.1/ Since the patch includes changes to the src/solaris/classes/java/lang/ProcessEnvironment.java, I'm CC'ing the Core Libs alias to review the changes in that file. From AWT perspective, the changes look good to me. -- best regards, Anthony From forax at univ-mlv.fr Wed Oct 14 07:51:32 2009 From: forax at univ-mlv.fr (=?ISO-8859-1?Q?R=E9mi_Forax?=) Date: Wed, 14 Oct 2009 16:51:32 +0200 Subject: Review request #4: 6852592 (invalidate() must be smarter) - approved In-Reply-To: <4AD5B1E1.9050705@sun.com> References: <4ABCD0A9.2040807@sun.com> <4AC4673B.5020201@sun.com> <4AC4821F.7000504@sun.com> <4ACB6F0B.2070503@sun.com> <4ACB7ECD.9040104@sun.com> <4ACC9952.50900@sun.com> <4ACC9F3C.60005@sun.com> <4ACCA494.8010307@sun.com> <4ACCA656.7050701@sun.com> <4ACCAC4F.3000703@sun.com> <4ACCAE44.6080206@sun.com> <4ACD96F4.2020501@sun.com> <4ACDA3F8.1020300@sun.com> <4ACDAB2E.6000206@sun.com> <4AD5B1E1.9050705@sun.com> Message-ID: <4AD5E574.60304@univ-mlv.fr> Le 14/10/2009 13:11, Anthony Petrov a ?crit : > While I'm still waiting for some answers to the questions outlined > below, I also just recalled another issue. > > About a year ago or so we developed a fix to replace the components > array with a collection in the Container class. The initial version of > the fix included synchronized (getTreeLock()) sections in such methods > like countComponent(), getComponent(int), and some other. I recall we > indeed faced dead-locks back then, and decided that a developer must > hold the lock when calling these methods, so that we could avoid > acquiring the lock ourselves. > > How does that decision correspond to the current proposal of forcibly > getting the lock in the preferredSize(), paramString(), some Swing > methods, and others? Wouldn't that be safer to shift the > responsibility of holding the lock to the user's code instead (as just > assumed currently, in fact)? > Anthony, did you try top use a CopyOnWriteArrayList as Collection ? It's a thread safe collection which duplicate the array at each mutation. my two cents. > -- > best regards, > Anthony R?mi From Anthony.Petrov at Sun.COM Wed Oct 14 08:21:34 2009 From: Anthony.Petrov at Sun.COM (Anthony Petrov) Date: Wed, 14 Oct 2009 19:21:34 +0400 Subject: Review request #4: 6852592 (invalidate() must be smarter) - approved In-Reply-To: <4AD5E574.60304@univ-mlv.fr> References: <4ABCD0A9.2040807@sun.com> <4AC4673B.5020201@sun.com> <4AC4821F.7000504@sun.com> <4ACB6F0B.2070503@sun.com> <4ACB7ECD.9040104@sun.com> <4ACC9952.50900@sun.com> <4ACC9F3C.60005@sun.com> <4ACCA494.8010307@sun.com> <4ACCA656.7050701@sun.com> <4ACCAC4F.3000703@sun.com> <4ACCAE44.6080206@sun.com> <4ACD96F4.2020501@sun.com> <4ACDA3F8.1020300@sun.com> <4ACDAB2E.6000206@sun.com> <4AD5B1E1.9050705@sun.com> <4AD5E574.60304@univ-mlv.fr> Message-ID: <4AD5EC7E.1090108@sun.com> Hi R?mi. On 10/14/2009 06:51 PM, R?mi Forax wrote: >> About a year ago or so we developed a fix to replace the components >> array with a collection in the Container class. The initial version of > did you try top use a CopyOnWriteArrayList as Collection ? > It's a thread safe collection which duplicate the array at each mutation. The purpose of that fix was increasing the performance (see [1].) Tests has shown that the ArrayList best suits our needs. [1] http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6616323 -- best regards, Anthony From anthony.petrov at sun.com Wed Oct 14 08:25:33 2009 From: anthony.petrov at sun.com (anthony.petrov at sun.com) Date: Wed, 14 Oct 2009 15:25:33 +0000 Subject: hg: jdk7/awt/jdk: 6884960: java/awt/Window/TranslucentJAppletTest/TranslucentJAppletTest.java fails Message-ID: <20091014152548.63D3F41596@hg.openjdk.java.net> Changeset: 1767a030b66a Author: anthony Date: 2009-10-14 19:23 +0400 URL: http://hg.openjdk.java.net/jdk7/awt/jdk/rev/1767a030b66a 6884960: java/awt/Window/TranslucentJAppletTest/TranslucentJAppletTest.java fails Summary: Support painting heavyweight components in transparent windows. Reviewed-by: art, alexp ! src/share/classes/javax/swing/JComponent.java ! src/windows/classes/sun/awt/windows/WComponentPeer.java ! src/windows/classes/sun/awt/windows/WWindowPeer.java From lana.steuck at sun.com Thu Oct 15 19:25:46 2009 From: lana.steuck at sun.com (lana.steuck at sun.com) Date: Fri, 16 Oct 2009 02:25:46 +0000 Subject: hg: jdk7/awt: 6 new changesets Message-ID: <20091016022547.054EF41812@hg.openjdk.java.net> Changeset: e76b72562a98 Author: ohair Date: 2009-09-03 17:44 -0700 URL: http://hg.openjdk.java.net/jdk7/awt/rev/e76b72562a98 6855174: Improve log output when builds transition from one workspace to another Reviewed-by: jjg ! make/Defs-internal.gmk ! make/corba-rules.gmk ! make/deploy-rules.gmk ! make/hotspot-rules.gmk ! make/install-rules.gmk ! make/jaxp-rules.gmk ! make/jaxws-rules.gmk ! make/jdk-rules.gmk ! make/langtools-rules.gmk ! make/sponsors-rules.gmk Changeset: 931f7f7501da Author: ohair Date: 2009-09-17 13:17 -0700 URL: http://hg.openjdk.java.net/jdk7/awt/rev/931f7f7501da Merge Changeset: 76f6380ac0b4 Author: xdono Date: 2009-09-18 09:39 -0700 URL: http://hg.openjdk.java.net/jdk7/awt/rev/76f6380ac0b4 Merge Changeset: d70b157f6407 Author: xdono Date: 2009-09-22 14:06 -0700 URL: http://hg.openjdk.java.net/jdk7/awt/rev/d70b157f6407 6884624: Update copyright year Summary: Update copyright for files that have been modified in 2009 through Septermber Reviewed-by: tbell, ohair ! make/corba-rules.gmk ! make/hotspot-rules.gmk ! make/install-rules.gmk ! make/jaxp-rules.gmk ! make/jaxws-rules.gmk ! make/langtools-rules.gmk ! make/sponsors-rules.gmk Changeset: 3ac6dcf78232 Author: robilad Date: 2009-09-23 20:06 +0200 URL: http://hg.openjdk.java.net/jdk7/awt/rev/3ac6dcf78232 6872735: Further update build readme for new platforms 6641691: Bring build readme's up-to-date Summary: Added build instructions for Debian, Ubuntu 8.04, 8.10, 9.04, Fedora 10, 11, OpenSolaris 2009.06, OpenSUSE and Mandriva Reviewed-by: ohair, andrew ! README-builds.html Changeset: 2c88089b6e1c Author: xdono Date: 2009-10-02 11:26 -0700 URL: http://hg.openjdk.java.net/jdk7/awt/rev/2c88089b6e1c Added tag jdk7-b73 for changeset 3ac6dcf78232 ! .hgtags From lana.steuck at sun.com Thu Oct 15 19:25:51 2009 From: lana.steuck at sun.com (lana.steuck at sun.com) Date: Fri, 16 Oct 2009 02:25:51 +0000 Subject: hg: jdk7/awt/corba: 7 new changesets Message-ID: <20091016022557.A81DF41813@hg.openjdk.java.net> Changeset: 1c130e7b7a2e Author: ohair Date: 2009-09-02 09:20 -0700 URL: http://hg.openjdk.java.net/jdk7/awt/corba/rev/1c130e7b7a2e 6875240: Reduce Makefile build time by limiting repeated exec's (mostly for cygwin building) Reviewed-by: jjg, iris ! make/Makefile ! make/common/BuildToolJar.gmk ! make/common/CancelImplicits.gmk ! make/common/Defs.gmk ! make/common/Rules.gmk ! make/common/shared/Compiler-msvc.gmk ! make/common/shared/Defs-utils.gmk ! make/common/shared/Defs-windows.gmk ! make/common/shared/Defs.gmk ! make/common/shared/Platform.gmk ! make/jprt.properties Changeset: 085333867e39 Author: xdono Date: 2009-09-14 10:57 -0700 URL: http://hg.openjdk.java.net/jdk7/awt/corba/rev/085333867e39 Merge Changeset: 546970b224ca Author: xdono Date: 2009-09-18 09:39 -0700 URL: http://hg.openjdk.java.net/jdk7/awt/corba/rev/546970b224ca Merge Changeset: 31ce3cac3cc1 Author: ohair Date: 2009-09-18 16:26 -0700 URL: http://hg.openjdk.java.net/jdk7/awt/corba/rev/31ce3cac3cc1 6883790: corba build problem related to wildcard and vpath, regression Reviewed-by: tbell ! make/common/Rules.gmk Changeset: 2aa5665d86a5 Author: ohair Date: 2009-09-18 17:10 -0700 URL: http://hg.openjdk.java.net/jdk7/awt/corba/rev/2aa5665d86a5 6883816: corba fix for missing javax/transaction/xa classes (the real fix) Reviewed-by: tbell ! make/common/Rules.gmk Changeset: b751c528c555 Author: xdono Date: 2009-09-22 14:06 -0700 URL: http://hg.openjdk.java.net/jdk7/awt/corba/rev/b751c528c555 6884624: Update copyright year Summary: Update copyright for files that have been modified in 2009 through Septermber Reviewed-by: tbell, ohair ! make/common/CancelImplicits.gmk Changeset: 5d0cf59a3203 Author: xdono Date: 2009-10-02 11:26 -0700 URL: http://hg.openjdk.java.net/jdk7/awt/corba/rev/5d0cf59a3203 Added tag jdk7-b73 for changeset b751c528c555 ! .hgtags From lana.steuck at sun.com Thu Oct 15 19:27:29 2009 From: lana.steuck at sun.com (lana.steuck at sun.com) Date: Fri, 16 Oct 2009 02:27:29 +0000 Subject: hg: jdk7/awt/hotspot: 54 new changesets Message-ID: <20091016022919.9F62E41816@hg.openjdk.java.net> Changeset: 89e0543e1737 Author: xdono Date: 2009-09-22 14:06 -0700 URL: http://hg.openjdk.java.net/jdk7/awt/hotspot/rev/89e0543e1737 6884624: Update copyright year Summary: Update copyright for files that have been modified in 2009 through Septermber Reviewed-by: tbell, ohair ! agent/make/saenv.sh ! agent/make/saenv64.sh ! agent/src/os/solaris/proc/Makefile ! agent/src/os/solaris/proc/mapfile ! agent/src/share/classes/sun/jvm/hotspot/memory/CompactibleFreeListSpace.java ! agent/src/share/classes/sun/jvm/hotspot/memory/FreeChunk.java ! src/cpu/x86/vm/c1_LIRGenerator_x86.cpp ! src/os_cpu/solaris_sparc/vm/atomic_solaris_sparc.inline.hpp ! src/os_cpu/solaris_x86/vm/atomic_solaris_x86.inline.hpp ! src/share/vm/c1/c1_IR.cpp ! src/share/vm/c1/c1_IR.hpp ! src/share/vm/c1/c1_LIRAssembler.cpp ! src/share/vm/ci/ciObjectFactory.cpp ! src/share/vm/classfile/classLoader.hpp ! src/share/vm/code/debugInfoRec.hpp ! src/share/vm/code/nmethod.hpp ! src/share/vm/compiler/oopMap.cpp ! src/share/vm/compiler/oopMap.hpp ! src/share/vm/gc_implementation/g1/concurrentZFThread.cpp ! src/share/vm/gc_implementation/g1/g1MMUTracker.cpp ! src/share/vm/gc_implementation/parallelScavenge/pcTasks.cpp ! src/share/vm/gc_implementation/parallelScavenge/psCompactionManager.cpp ! src/share/vm/gc_implementation/parallelScavenge/psCompactionManager.hpp ! src/share/vm/gc_implementation/shared/markSweep.cpp ! src/share/vm/gc_implementation/shared/markSweep.hpp ! src/share/vm/memory/genMarkSweep.cpp ! src/share/vm/memory/iterator.cpp ! src/share/vm/memory/iterator.hpp ! src/share/vm/memory/serialize.cpp ! src/share/vm/oops/arrayKlass.cpp ! src/share/vm/oops/instanceKlassKlass.hpp ! src/share/vm/oops/instanceRefKlass.cpp ! src/share/vm/oops/methodDataOop.hpp ! src/share/vm/oops/objArrayOop.hpp ! src/share/vm/opto/compile.hpp ! src/share/vm/opto/idealKit.cpp ! src/share/vm/opto/idealKit.hpp ! src/share/vm/opto/ifnode.cpp ! src/share/vm/opto/phaseX.cpp ! src/share/vm/opto/phaseX.hpp ! src/share/vm/opto/postaloc.cpp ! src/share/vm/prims/jvm.h ! src/share/vm/runtime/atomic.hpp ! src/share/vm/runtime/perfData.hpp ! src/share/vm/runtime/sweeper.cpp ! src/share/vm/runtime/vframeArray.hpp ! src/share/vm/runtime/vframe_hp.hpp ! src/share/vm/services/threadService.cpp ! src/share/vm/services/threadService.hpp Changeset: 489a4f8dcd0f Author: twisti Date: 2009-08-27 06:17 -0700 URL: http://hg.openjdk.java.net/jdk7/awt/hotspot/rev/489a4f8dcd0f 6865583: Verbose CIPrintMethodCodes asserts when ldc an empty String Summary: ldc seems to load an empty String and that leads to an assert on offset < length, which are both zero. Reviewed-by: kvn, never ! src/share/vm/classfile/javaClasses.cpp Changeset: 8fe1963e3964 Author: kvn Date: 2009-08-28 11:19 -0700 URL: http://hg.openjdk.java.net/jdk7/awt/hotspot/rev/8fe1963e3964 6875577: CTW fails with /hotspot/src/share/vm/opto/memnode.cpp Summary: Fix do_null_check to check for unloaded klass for all oop pointers. Reviewed-by: never, cfang ! src/share/vm/opto/graphKit.cpp ! src/share/vm/opto/library_call.cpp Changeset: 1fbd5d696bf4 Author: twisti Date: 2009-08-31 02:24 -0700 URL: http://hg.openjdk.java.net/jdk7/awt/hotspot/rev/1fbd5d696bf4 6875967: CTW fails with./generated/adfiles/ad_sparc.cpp:6711 Reviewed-by: cfang, never ! src/cpu/sparc/vm/sparc.ad Changeset: ace8397c8563 Author: cfang Date: 2009-08-31 08:31 -0700 URL: http://hg.openjdk.java.net/jdk7/awt/hotspot/rev/ace8397c8563 6876276: assert(!is_visited,"visit only once") Summary: schedule the superword loads based on dependence constraints Reviewed-by: kvn, never ! src/share/vm/opto/superword.cpp ! test/compiler/6636138/Test1.java ! test/compiler/6636138/Test2.java Changeset: ff1a29907b6c Author: never Date: 2009-08-31 17:07 -0700 URL: http://hg.openjdk.java.net/jdk7/awt/hotspot/rev/ff1a29907b6c 6855215: Calculation error (NaN) after about 1500 calculations Reviewed-by: kvn ! src/cpu/x86/vm/c1_LIRGenerator_x86.cpp ! src/cpu/x86/vm/c1_LinearScan_x86.cpp ! src/share/vm/c1/c1_LIR.cpp ! src/share/vm/c1/c1_LIR.hpp + test/compiler/6855215/Test6855215.java Changeset: 0f1c19b7a52d Author: kvn Date: 2009-09-08 10:42 -0700 URL: http://hg.openjdk.java.net/jdk7/awt/hotspot/rev/0f1c19b7a52d 6875619: CTW fails with /hotspot/src/share/vm/opto/type.hpp Summary: In load_array_length() cast array's type to TypeOopPtr when calling make_ideal_length() method. Reviewed-by: never ! src/share/vm/opto/graphKit.cpp Changeset: 26fbe81d30cf Author: kvn Date: 2009-09-08 16:56 -0700 URL: http://hg.openjdk.java.net/jdk7/awt/hotspot/rev/26fbe81d30cf 6880052: SIGSEGV in GraphKit::null_check_common() Summary: Check that a klass is not NULL before the is_loaded() call. Reviewed-by: never ! src/share/vm/opto/graphKit.cpp Changeset: 9a4e87ba1a90 Author: kvn Date: 2009-09-09 16:28 -0700 URL: http://hg.openjdk.java.net/jdk7/awt/hotspot/rev/9a4e87ba1a90 6880533: test/compiler/6865031/Test.java miss -XX:+IgnoreUnrecognizedVMOptions Summary: Add missing test option -XX:+IgnoreUnrecognizedVMOptions. Reviewed-by: never ! test/compiler/6865031/Test.java Changeset: 159d56b94894 Author: kvn Date: 2009-09-10 10:36 -0700 URL: http://hg.openjdk.java.net/jdk7/awt/hotspot/rev/159d56b94894 6880574: C2 assert in escape.cpp:445 on linux-amd64 Summary: Look through chained AddP nodes in get_addp_base(). Reviewed-by: jrose ! src/share/vm/opto/escape.cpp Changeset: c7e94e8fff43 Author: kvn Date: 2009-09-10 18:18 -0700 URL: http://hg.openjdk.java.net/jdk7/awt/hotspot/rev/c7e94e8fff43 6880053: assert(alloc_obj->as_CheckCastPP()->type() != TypeInstPtr::NOTNULL) Summary: Removed second CheckCastPP and use MembarCPUOrder after arraycopy to cloned object. Reviewed-by: never ! src/share/vm/opto/library_call.cpp ! src/share/vm/opto/type.cpp ! src/share/vm/opto/type.hpp Changeset: a6f533fc33e0 Author: kvn Date: 2009-09-14 11:45 -0700 URL: http://hg.openjdk.java.net/jdk7/awt/hotspot/rev/a6f533fc33e0 Merge Changeset: eb058abd0562 Author: ysr Date: 2009-09-15 16:50 -0700 URL: http://hg.openjdk.java.net/jdk7/awt/hotspot/rev/eb058abd0562 6861557: G1: assert(top() == bottom() || zfs == Allocated,"Region must be empty, or ...") Summary: Druing heap shrinking, check for emptiness of a region before modifying its ZF status. Reviewed-by: tonyp ! src/share/vm/gc_implementation/g1/heapRegionSeq.cpp Changeset: d7c9544cc141 Author: apetrusenko Date: 2009-09-18 06:02 -0700 URL: http://hg.openjdk.java.net/jdk7/awt/hotspot/rev/d7c9544cc141 Merge Changeset: aafa4232dfd7 Author: asaha Date: 2009-08-28 08:54 -0700 URL: http://hg.openjdk.java.net/jdk7/awt/hotspot/rev/aafa4232dfd7 6821003: Update hotspot windows os_win32 for windows 7 Reviewed-by: xlu ! src/os/windows/vm/os_windows.cpp Changeset: 9601152ccfc1 Author: dcubed Date: 2009-08-28 12:25 -0600 URL: http://hg.openjdk.java.net/jdk7/awt/hotspot/rev/9601152ccfc1 6875393: 2/3 JNI itable index cache is broken Summary: Add missing initialization of cache size. Reviewed-by: tbell ! src/share/vm/oops/instanceKlass.cpp Changeset: 75e30968ebe1 Author: dcubed Date: 2009-08-28 12:32 -0600 URL: http://hg.openjdk.java.net/jdk7/awt/hotspot/rev/75e30968ebe1 Merge ! src/share/vm/oops/instanceKlass.cpp Changeset: df97b1cf46d8 Author: dcubed Date: 2009-08-28 15:03 -0700 URL: http://hg.openjdk.java.net/jdk7/awt/hotspot/rev/df97b1cf46d8 Merge Changeset: bb287c042e99 Author: apangin Date: 2009-08-30 15:33 -0700 URL: http://hg.openjdk.java.net/jdk7/awt/hotspot/rev/bb287c042e99 Merge Changeset: 6918603297f7 Author: poonam Date: 2009-09-01 23:34 -0700 URL: http://hg.openjdk.java.net/jdk7/awt/hotspot/rev/6918603297f7 6858208: jvm crash when specifying TypeProfileWidth=0 on jdk 6.0 Summary: Add an explicit check for TypeProfileWidth == 0 in record_klass_in_profile_helper() functions. Reviewed-by: never, coleenp ! src/cpu/sparc/vm/interp_masm_sparc.cpp ! src/cpu/x86/vm/interp_masm_x86_32.cpp ! src/cpu/x86/vm/interp_masm_x86_64.cpp Changeset: 5fdbe2cdf565 Author: andrew Date: 2009-09-08 09:01 +0100 URL: http://hg.openjdk.java.net/jdk7/awt/hotspot/rev/5fdbe2cdf565 6879689: Fix warning about ignored return value when compiling with -O2 Summary: Store the return value of fwrite and check it matches the size of the array. Reviewed-by: twisti, dholmes ! src/share/vm/adlc/archDesc.cpp Changeset: 0804a88ed4f5 Author: andrew Date: 2009-09-08 09:02 +0100 URL: http://hg.openjdk.java.net/jdk7/awt/hotspot/rev/0804a88ed4f5 Merge Changeset: 682194ca1d8d Author: acorn Date: 2009-09-10 09:04 -0400 URL: http://hg.openjdk.java.net/jdk7/awt/hotspot/rev/682194ca1d8d Merge - src/share/vm/gc_implementation/shared/coTracker.cpp - src/share/vm/gc_implementation/shared/coTracker.hpp - src/share/vm/gc_implementation/shared/gcOverheadReporter.cpp - src/share/vm/gc_implementation/shared/gcOverheadReporter.hpp ! src/share/vm/oops/instanceKlass.cpp Changeset: 0fc81f0a8ca8 Author: andrew Date: 2009-09-12 12:50 +0100 URL: http://hg.openjdk.java.net/jdk7/awt/hotspot/rev/0fc81f0a8ca8 6873059: Explicitly use -source 6 -target 6 when compiling with the boot jdk Summary: The build fails if the bootstrap JDK defaults to <1.5 Reviewed-by: jcoomes ! make/linux/makefiles/jvmti.make ! make/linux/makefiles/rules.make ! make/linux/makefiles/sa.make ! make/linux/makefiles/top.make ! make/solaris/makefiles/jvmti.make ! make/solaris/makefiles/rules.make ! make/solaris/makefiles/sa.make ! make/solaris/makefiles/top.make ! make/windows/makefiles/generated.make ! make/windows/makefiles/jvmti.make ! make/windows/makefiles/rules.make ! make/windows/makefiles/sa.make ! make/windows/projectfiles/common/Makefile Changeset: e5b31fd85b72 Author: acorn Date: 2009-09-15 16:28 -0400 URL: http://hg.openjdk.java.net/jdk7/awt/hotspot/rev/e5b31fd85b72 Merge Changeset: ad6585fd4087 Author: acorn Date: 2009-09-04 12:53 -0400 URL: http://hg.openjdk.java.net/jdk7/awt/hotspot/rev/ad6585fd4087 6830542: Performance: JVM_DefineClass already verified. Reviewed-by: kamg, phh ! make/linux/makefiles/mapfile-vers-debug ! make/linux/makefiles/mapfile-vers-product ! make/solaris/makefiles/mapfile-vers ! src/share/vm/classfile/classFileParser.cpp ! src/share/vm/classfile/classFileParser.hpp ! src/share/vm/classfile/classLoader.cpp ! src/share/vm/classfile/systemDictionary.cpp ! src/share/vm/classfile/systemDictionary.hpp ! src/share/vm/classfile/verifier.cpp ! src/share/vm/classfile/verifier.hpp ! src/share/vm/code/dependencies.cpp ! src/share/vm/oops/instanceKlass.cpp ! src/share/vm/oops/instanceKlass.hpp ! src/share/vm/oops/instanceKlassKlass.cpp ! src/share/vm/prims/jni.cpp ! src/share/vm/prims/jvm.cpp ! src/share/vm/prims/jvm.h ! src/share/vm/prims/jvmtiRedefineClasses.cpp ! src/share/vm/runtime/vmStructs.cpp Changeset: 26b774d693aa Author: acorn Date: 2009-09-16 09:10 -0400 URL: http://hg.openjdk.java.net/jdk7/awt/hotspot/rev/26b774d693aa Merge ! src/share/vm/classfile/classFileParser.cpp ! src/share/vm/classfile/classFileParser.hpp - src/share/vm/gc_implementation/shared/coTracker.cpp - src/share/vm/gc_implementation/shared/coTracker.hpp - src/share/vm/gc_implementation/shared/gcOverheadReporter.cpp - src/share/vm/gc_implementation/shared/gcOverheadReporter.hpp ! src/share/vm/oops/instanceKlass.cpp ! src/share/vm/oops/instanceKlass.hpp ! src/share/vm/oops/instanceKlassKlass.cpp Changeset: 83c29a26f67c Author: acorn Date: 2009-09-16 15:42 -0400 URL: http://hg.openjdk.java.net/jdk7/awt/hotspot/rev/83c29a26f67c 6879572: SA fails _is_marked_dependent not found Reviewed-by: kamg, dcubed ! src/share/vm/classfile/classFileParser.cpp ! src/share/vm/code/dependencies.cpp ! src/share/vm/oops/instanceKlass.hpp ! src/share/vm/oops/instanceKlassKlass.cpp ! src/share/vm/runtime/vmStructs.cpp Changeset: 723131383de6 Author: acorn Date: 2009-09-18 15:14 -0400 URL: http://hg.openjdk.java.net/jdk7/awt/hotspot/rev/723131383de6 Merge Changeset: 74a5db69c1fe Author: dcubed Date: 2009-09-21 09:30 -0600 URL: http://hg.openjdk.java.net/jdk7/awt/hotspot/rev/74a5db69c1fe 6419370: 4/4 new jmethodID code has tiny holes in synchronization Summary: Fix races in jmethodID cache and JNI itable index cache. Reviewed-by: ikrylov, acorn ! src/share/vm/classfile/classFileParser.cpp ! src/share/vm/oops/instanceKlass.cpp ! src/share/vm/oops/instanceKlass.hpp ! src/share/vm/oops/methodOop.hpp Changeset: d72ba3205918 Author: acorn Date: 2009-09-21 18:10 -0400 URL: http://hg.openjdk.java.net/jdk7/awt/hotspot/rev/d72ba3205918 Merge Changeset: 87770dcf831b Author: dcubed Date: 2009-09-22 21:12 -0600 URL: http://hg.openjdk.java.net/jdk7/awt/hotspot/rev/87770dcf831b 6876794: 4/4 sp07t002 hangs very intermittently Summary: remove over locking by VMThread on "is thread suspended?" check Reviewed-by: dholmes, acorn, andrew ! src/share/vm/runtime/safepoint.cpp ! src/share/vm/runtime/thread.cpp ! src/share/vm/runtime/thread.hpp Changeset: c3c4a1d3801a Author: andrew Date: 2009-09-23 11:36 -0700 URL: http://hg.openjdk.java.net/jdk7/awt/hotspot/rev/c3c4a1d3801a 6884552: remove some unnecessary #ifdef's introduced in the fix for 4957990 Summary: Removed the unnecessary #ifdef's which were interfering with the build of the Zero-assembler port Reviewed-by: ysr, jcoomes ! src/share/vm/gc_implementation/parallelScavenge/psParallelCompact.cpp ! src/share/vm/gc_implementation/shared/markSweep.cpp Changeset: 1af62b6ca0f9 Author: apetrusenko Date: 2009-09-25 04:39 -0700 URL: http://hg.openjdk.java.net/jdk7/awt/hotspot/rev/1af62b6ca0f9 Merge Changeset: 7a102acc9f17 Author: trims Date: 2009-09-25 12:17 -0700 URL: http://hg.openjdk.java.net/jdk7/awt/hotspot/rev/7a102acc9f17 Merge ! src/cpu/x86/vm/c1_LIRGenerator_x86.cpp ! src/share/vm/gc_implementation/shared/markSweep.cpp ! src/share/vm/prims/jvm.h Changeset: faf94d94786b Author: trims Date: 2009-09-25 12:19 -0700 URL: http://hg.openjdk.java.net/jdk7/awt/hotspot/rev/faf94d94786b 6885900: Bump the HS17 build number to 02 Summary: Update the HS17 build number to 02 Reviewed-by: jcoomes ! make/hotspot_version Changeset: 6ddec5389232 Author: xdono Date: 2009-10-02 11:26 -0700 URL: http://hg.openjdk.java.net/jdk7/awt/hotspot/rev/6ddec5389232 Added tag jdk7-b73 for changeset faf94d94786b ! .hgtags Changeset: 685e959d09ea Author: cfang Date: 2009-09-14 09:49 -0700 URL: http://hg.openjdk.java.net/jdk7/awt/hotspot/rev/685e959d09ea 6877254: Server vm crashes with no branches off of store slice" when run with CMS and UseSuperWord(default) Summary: design StoreCMNode::Ideal to promote its oopStore input if the input is a MergeMem node Reviewed-by: kvn, never ! src/share/vm/opto/graphKit.cpp ! src/share/vm/opto/graphKit.hpp ! src/share/vm/opto/idealKit.cpp ! src/share/vm/opto/idealKit.hpp ! src/share/vm/opto/memnode.cpp ! src/share/vm/opto/memnode.hpp ! src/share/vm/opto/superword.cpp + test/compiler/6877254/Test.java Changeset: 62001a362ce9 Author: kvn Date: 2009-09-14 12:14 -0700 URL: http://hg.openjdk.java.net/jdk7/awt/hotspot/rev/62001a362ce9 6827605: new String intrinsics may prevent EA scalar replacement 6875866: Intrinsic for String.indexOf() is broken on x86 with SSE4.2 Summary: Modify String intrinsic methods to pass char[] pointers instead of string oops. Reviewed-by: never ! src/cpu/sparc/vm/assembler_sparc.cpp ! src/cpu/sparc/vm/assembler_sparc.hpp ! src/cpu/sparc/vm/sparc.ad ! src/cpu/x86/vm/assembler_x86.cpp ! src/cpu/x86/vm/assembler_x86.hpp ! src/cpu/x86/vm/x86_32.ad ! src/cpu/x86/vm/x86_64.ad ! src/share/vm/adlc/formssel.cpp ! src/share/vm/opto/library_call.cpp ! src/share/vm/opto/matcher.cpp ! src/share/vm/opto/memnode.cpp ! src/share/vm/opto/memnode.hpp + test/compiler/6875866/Test.java Changeset: 00977607da34 Author: cfang Date: 2009-09-15 11:09 -0700 URL: http://hg.openjdk.java.net/jdk7/awt/hotspot/rev/00977607da34 6879921: CTW failure jdk6_18/hotspot/src/share/vm/utilities/globalDefinitions.cpp:268 Summary: filter out non-primitives before deciding whether two ops can be packed Reviewed-by: kvn, never ! src/share/vm/opto/superword.cpp Changeset: 7e309ecb83ce Author: kvn Date: 2009-09-15 19:03 -0700 URL: http://hg.openjdk.java.net/jdk7/awt/hotspot/rev/7e309ecb83ce 6879362: assert(!klass_is_exact(),"only non-exact klass") Summary: Do nothing for AddP node which has type not related to the type of allocated object. Reviewed-by: never ! src/share/vm/opto/escape.cpp Changeset: 148e5441d916 Author: jrose Date: 2009-09-15 21:53 -0700 URL: http://hg.openjdk.java.net/jdk7/awt/hotspot/rev/148e5441d916 6863023: need non-perm oops in code cache for JSR 292 Summary: Make a special root-list for those few nmethods which might contain non-perm oops. Reviewed-by: twisti, kvn, never, jmasa, ysr ! agent/src/share/classes/sun/jvm/hotspot/code/CodeCache.java ! agent/src/share/classes/sun/jvm/hotspot/code/NMethod.java ! src/cpu/sparc/vm/c1_LIRAssembler_sparc.cpp ! src/cpu/sparc/vm/c1_LIRGenerator_sparc.cpp ! src/cpu/x86/vm/c1_LIRAssembler_x86.cpp ! src/cpu/x86/vm/c1_LIRGenerator_x86.cpp ! src/cpu/x86/vm/x86_32.ad ! src/cpu/x86/vm/x86_64.ad ! src/share/vm/c1/c1_GraphBuilder.cpp ! src/share/vm/c1/c1_InstructionPrinter.cpp ! src/share/vm/c1/c1_LIRGenerator.cpp ! src/share/vm/c1/c1_ValueType.cpp ! src/share/vm/ci/ciEnv.cpp ! src/share/vm/ci/ciEnv.hpp ! src/share/vm/ci/ciObject.cpp ! src/share/vm/ci/ciObject.hpp ! src/share/vm/ci/ciObjectFactory.cpp ! src/share/vm/classfile/systemDictionary.cpp ! src/share/vm/code/codeBlob.hpp ! src/share/vm/code/codeCache.cpp ! src/share/vm/code/codeCache.hpp ! src/share/vm/code/debugInfoRec.cpp ! src/share/vm/code/dependencies.cpp ! src/share/vm/code/nmethod.cpp ! src/share/vm/code/nmethod.hpp ! src/share/vm/gc_implementation/concurrentMarkSweep/cmsOopClosures.hpp ! src/share/vm/gc_implementation/concurrentMarkSweep/concurrentMarkSweepGeneration.cpp ! src/share/vm/gc_implementation/g1/concurrentMark.cpp ! src/share/vm/gc_implementation/g1/g1CollectedHeap.cpp ! src/share/vm/gc_implementation/g1/g1MarkSweep.cpp ! src/share/vm/gc_implementation/includeDB_gc_parallelScavenge ! src/share/vm/gc_implementation/parNew/parNewGeneration.cpp ! src/share/vm/gc_implementation/parallelScavenge/parallelScavengeHeap.cpp ! src/share/vm/gc_implementation/parallelScavenge/parallelScavengeHeap.hpp ! src/share/vm/gc_implementation/parallelScavenge/pcTasks.cpp ! src/share/vm/gc_implementation/parallelScavenge/pcTasks.hpp ! src/share/vm/gc_implementation/parallelScavenge/psMarkSweep.cpp ! src/share/vm/gc_implementation/parallelScavenge/psParallelCompact.cpp ! src/share/vm/gc_implementation/parallelScavenge/psParallelCompact.hpp ! src/share/vm/gc_implementation/parallelScavenge/psScavenge.cpp ! src/share/vm/gc_implementation/parallelScavenge/psTasks.cpp ! src/share/vm/gc_implementation/parallelScavenge/psTasks.hpp ! src/share/vm/gc_implementation/shared/markSweep.cpp ! src/share/vm/gc_implementation/shared/markSweep.hpp ! src/share/vm/gc_interface/collectedHeap.hpp ! src/share/vm/memory/defNewGeneration.cpp ! src/share/vm/memory/genCollectedHeap.cpp ! src/share/vm/memory/genCollectedHeap.hpp ! src/share/vm/memory/genMarkSweep.cpp ! src/share/vm/memory/iterator.cpp ! src/share/vm/memory/iterator.hpp ! src/share/vm/memory/sharedHeap.cpp ! src/share/vm/memory/sharedHeap.hpp ! src/share/vm/oops/instanceKlass.cpp ! src/share/vm/oops/oop.hpp ! src/share/vm/oops/oop.inline2.hpp ! src/share/vm/opto/output.cpp ! src/share/vm/opto/parse.hpp ! src/share/vm/opto/parse2.cpp ! src/share/vm/opto/parse3.cpp ! src/share/vm/opto/type.cpp ! src/share/vm/opto/type.hpp ! src/share/vm/prims/jvmtiTagMap.cpp ! src/share/vm/runtime/arguments.cpp ! src/share/vm/runtime/frame.cpp ! src/share/vm/runtime/frame.hpp ! src/share/vm/runtime/globals.hpp ! src/share/vm/runtime/sweeper.cpp ! src/share/vm/runtime/thread.cpp ! src/share/vm/runtime/thread.hpp ! src/share/vm/runtime/vmStructs.cpp ! src/share/vm/runtime/vmThread.cpp ! src/share/vm/runtime/vmThread.hpp ! src/share/vm/utilities/debug.cpp Changeset: be094e0c089a Author: jrose Date: 2009-09-15 22:50 -0700 URL: http://hg.openjdk.java.net/jdk7/awt/hotspot/rev/be094e0c089a Merge Changeset: 3a2aa26bdc58 Author: never Date: 2009-09-16 11:06 -0700 URL: http://hg.openjdk.java.net/jdk7/awt/hotspot/rev/3a2aa26bdc58 6854812: 6.0_14-b08 crashes with a SIGSEGV Reviewed-by: kvn, twisti ! src/share/vm/ci/ciMethod.cpp ! src/share/vm/ci/ciMethod.hpp ! src/share/vm/ci/ciTypeFlow.cpp ! src/share/vm/opto/parse1.cpp Changeset: 6a8ccac44f41 Author: kvn Date: 2009-09-18 09:57 -0700 URL: http://hg.openjdk.java.net/jdk7/awt/hotspot/rev/6a8ccac44f41 6820514: meet not symmetric failure in ctw Summary: Add missing instance_id meet. Reviewed-by: never ! src/share/vm/opto/type.cpp ! src/share/vm/opto/type.hpp Changeset: 54b3b351d6f9 Author: jrose Date: 2009-09-23 23:56 -0700 URL: http://hg.openjdk.java.net/jdk7/awt/hotspot/rev/54b3b351d6f9 Merge ! src/share/vm/classfile/systemDictionary.cpp ! src/share/vm/code/dependencies.cpp ! src/share/vm/code/nmethod.cpp ! src/share/vm/code/nmethod.hpp ! src/share/vm/gc_implementation/concurrentMarkSweep/cmsOopClosures.hpp ! src/share/vm/gc_implementation/concurrentMarkSweep/concurrentMarkSweepGeneration.cpp ! src/share/vm/gc_implementation/g1/concurrentMark.cpp ! src/share/vm/gc_implementation/g1/g1CollectedHeap.cpp ! src/share/vm/gc_implementation/g1/g1MarkSweep.cpp ! src/share/vm/gc_implementation/includeDB_gc_parallelScavenge ! src/share/vm/gc_implementation/parallelScavenge/pcTasks.cpp ! src/share/vm/gc_implementation/parallelScavenge/psMarkSweep.cpp ! src/share/vm/gc_implementation/parallelScavenge/psParallelCompact.cpp ! src/share/vm/gc_implementation/parallelScavenge/psParallelCompact.hpp - src/share/vm/gc_implementation/shared/coTracker.cpp - src/share/vm/gc_implementation/shared/coTracker.hpp - src/share/vm/gc_implementation/shared/gcOverheadReporter.cpp - src/share/vm/gc_implementation/shared/gcOverheadReporter.hpp ! src/share/vm/gc_implementation/shared/markSweep.cpp ! src/share/vm/gc_implementation/shared/markSweep.hpp ! src/share/vm/gc_interface/collectedHeap.hpp ! src/share/vm/memory/genMarkSweep.cpp ! src/share/vm/memory/iterator.cpp ! src/share/vm/memory/iterator.hpp ! src/share/vm/oops/instanceKlass.cpp ! src/share/vm/runtime/arguments.cpp ! src/share/vm/runtime/globals.hpp ! src/share/vm/runtime/sweeper.cpp ! src/share/vm/runtime/vmStructs.cpp Changeset: 753cf9794df9 Author: jrose Date: 2009-09-23 23:57 -0700 URL: http://hg.openjdk.java.net/jdk7/awt/hotspot/rev/753cf9794df9 6885169: merge of 4957990 and 6863023 causes conflict on do_nmethods Summary: After mechanically merging changes, some by-hand adjustments are needed. Reviewed-by: ysr ! src/share/vm/code/nmethod.cpp ! src/share/vm/code/nmethod.hpp ! src/share/vm/gc_implementation/concurrentMarkSweep/cmsOopClosures.hpp ! src/share/vm/gc_implementation/concurrentMarkSweep/concurrentMarkSweepGeneration.cpp ! src/share/vm/gc_implementation/shared/markSweep.hpp ! src/share/vm/memory/iterator.cpp ! src/share/vm/memory/iterator.hpp Changeset: ddd6f1182ae3 Author: kvn Date: 2009-09-25 13:26 -0700 URL: http://hg.openjdk.java.net/jdk7/awt/hotspot/rev/ddd6f1182ae3 6883468: C2 compiler enters infinite loop in PhaseIterGVN::transform Summary: Avoid ideal transformation ping-pong between AddPNode::Ideal() and CastX2PNode::Ideal(). Reviewed-by: cfang ! src/share/vm/opto/connode.cpp Changeset: d6b9fd78f389 Author: cfang Date: 2009-09-28 17:14 -0700 URL: http://hg.openjdk.java.net/jdk7/awt/hotspot/rev/d6b9fd78f389 6886353: For DeoptimizeALot, JTreg tests should "IgnoreUnrecognizedVMOptions on a product build Summary: Add IgnoreUnrecognizedVMOptions for JTreg tests (on a product build) to pass with DeoptimizeALot Reviewed-by: kvn ! test/compiler/6823453/Test.java ! test/compiler/6833129/Test.java Changeset: 46b819ba120b Author: jrose Date: 2009-09-30 13:25 -0700 URL: http://hg.openjdk.java.net/jdk7/awt/hotspot/rev/46b819ba120b Merge ! src/share/vm/gc_implementation/parallelScavenge/psParallelCompact.cpp ! src/share/vm/gc_implementation/shared/markSweep.cpp ! src/share/vm/oops/instanceKlass.cpp ! src/share/vm/runtime/thread.cpp ! src/share/vm/runtime/thread.hpp Changeset: a0107ba3bc53 Author: johnc Date: 2009-10-01 15:56 -0700 URL: http://hg.openjdk.java.net/jdk7/awt/hotspot/rev/a0107ba3bc53 6887186: G1: Incorrect code generated for G1 pre-barrier by C1 on SPARC Summary: Modify operand passed to C1 pre-barrier to be the operand representing the address of the object field that is being stored. Reviewed-by: never ! src/cpu/sparc/vm/c1_LIRGenerator_sparc.cpp Changeset: 708275a44e4a Author: tonyp Date: 2009-10-03 10:53 -0400 URL: http://hg.openjdk.java.net/jdk7/awt/hotspot/rev/708275a44e4a Merge ! src/cpu/sparc/vm/c1_LIRGenerator_sparc.cpp Changeset: a1423fe86a18 Author: trims Date: 2009-10-09 15:18 -0700 URL: http://hg.openjdk.java.net/jdk7/awt/hotspot/rev/a1423fe86a18 Merge ! src/cpu/x86/vm/c1_LIRGenerator_x86.cpp ! src/share/vm/ci/ciObjectFactory.cpp ! src/share/vm/code/nmethod.hpp ! src/share/vm/gc_implementation/parallelScavenge/pcTasks.cpp ! src/share/vm/gc_implementation/shared/markSweep.cpp ! src/share/vm/gc_implementation/shared/markSweep.hpp ! src/share/vm/memory/genMarkSweep.cpp ! src/share/vm/memory/iterator.cpp ! src/share/vm/memory/iterator.hpp ! src/share/vm/opto/idealKit.cpp ! src/share/vm/opto/idealKit.hpp ! src/share/vm/runtime/sweeper.cpp Changeset: f4b900403d6e Author: trims Date: 2009-10-09 15:21 -0700 URL: http://hg.openjdk.java.net/jdk7/awt/hotspot/rev/f4b900403d6e 6890293: Bump the HS17 build number to 03 Summary: Update the HS17 build number to 03 Reviewed-by: jcoomes ! make/hotspot_version From lana.steuck at sun.com Thu Oct 15 19:34:37 2009 From: lana.steuck at sun.com (lana.steuck at sun.com) Date: Fri, 16 Oct 2009 02:34:37 +0000 Subject: hg: jdk7/awt/jaxp: 5 new changesets Message-ID: <20091016023445.3C3EC41818@hg.openjdk.java.net> Changeset: 534e23823a1b Author: ohair Date: 2009-09-21 13:54 -0700 URL: http://hg.openjdk.java.net/jdk7/awt/jaxp/rev/534e23823a1b 6856630: Restructure jaxp/jaxws repositories Reviewed-by: darcy, tbell ! .hgignore ! README + build-defs.xml + build-drop-template.xml + build.properties + build.xml + jaxp.properties ! make/Makefile - make/build.properties - make/build.xml ! make/jprt.properties - make/tools/StripProperties/StripProperties.java - make/tools/StripProperties/StripPropertiesTask.java + nbproject/findbugs.settings + nbproject/project.xml + nbproject/sqe.properties + patches/jaxp_src/README Changeset: 0748962aa825 Author: ohair Date: 2009-09-21 17:21 -0700 URL: http://hg.openjdk.java.net/jdk7/awt/jaxp/rev/0748962aa825 6884220: Have drop sources ignore the output.dir property Reviewed-by: xdono ! build.properties Changeset: ee9c7578aca5 Author: xdono Date: 2009-09-22 14:06 -0700 URL: http://hg.openjdk.java.net/jdk7/awt/jaxp/rev/ee9c7578aca5 6884624: Update copyright year Summary: Update copyright for files that have been modified in 2009 through Septermber Reviewed-by: tbell, ohair ! src/share/classes/com/sun/org/apache/xerces/internal/impl/XMLScanner.java Changeset: feb05980f9f2 Author: ohair Date: 2009-09-28 19:39 -0700 URL: http://hg.openjdk.java.net/jdk7/awt/jaxp/rev/feb05980f9f2 6886359: Missing jaxws property files and missing changes in jaxp/jaxws drop bundles Reviewed-by: jjg, tbell ! build-defs.xml ! jaxp.properties Changeset: ea7b88c676dd Author: xdono Date: 2009-10-02 11:26 -0700 URL: http://hg.openjdk.java.net/jdk7/awt/jaxp/rev/ea7b88c676dd Added tag jdk7-b73 for changeset feb05980f9f2 ! .hgtags From lana.steuck at sun.com Thu Oct 15 19:34:50 2009 From: lana.steuck at sun.com (lana.steuck at sun.com) Date: Fri, 16 Oct 2009 02:34:50 +0000 Subject: hg: jdk7/awt/jaxws: 4 new changesets Message-ID: <20091016023455.9EE4E41819@hg.openjdk.java.net> Changeset: ae2bec597586 Author: ohair Date: 2009-09-21 13:57 -0700 URL: http://hg.openjdk.java.net/jdk7/awt/jaxws/rev/ae2bec597586 6856630: Restructure jaxp/jaxws repositories Reviewed-by: darcy, tbell ! .hgignore ! README + build-defs.xml + build-drop-template.xml + build.properties + build.xml + jaxws.properties ! make/Makefile - make/build.properties - make/build.xml ! make/jprt.properties - make/tools/StripProperties/StripProperties.java - make/tools/StripProperties/StripPropertiesTask.java + nbproject/findbugs.settings + nbproject/project.xml + nbproject/sqe.properties + patches/jaxws_src/README Changeset: 77708e68db52 Author: ohair Date: 2009-09-21 17:21 -0700 URL: http://hg.openjdk.java.net/jdk7/awt/jaxws/rev/77708e68db52 6884220: Have drop sources ignore the output.dir property Reviewed-by: xdono ! build.properties Changeset: 558985e26fe1 Author: ohair Date: 2009-09-28 19:38 -0700 URL: http://hg.openjdk.java.net/jdk7/awt/jaxws/rev/558985e26fe1 6886359: Missing jaxws property files and missing changes in jaxp/jaxws drop bundles Reviewed-by: jjg, tbell ! build-defs.xml ! jaxws.properties Changeset: f4466e1b6080 Author: xdono Date: 2009-10-02 11:26 -0700 URL: http://hg.openjdk.java.net/jdk7/awt/jaxws/rev/f4466e1b6080 Added tag jdk7-b73 for changeset 558985e26fe1 ! .hgtags From lana.steuck at sun.com Thu Oct 15 19:39:16 2009 From: lana.steuck at sun.com (lana.steuck at sun.com) Date: Fri, 16 Oct 2009 02:39:16 +0000 Subject: hg: jdk7/awt/jdk: 95 new changesets Message-ID: <20091016025933.36C4541821@hg.openjdk.java.net> Changeset: fdf11ce72e8e Author: mchung Date: 2009-08-06 11:25 -0700 URL: http://hg.openjdk.java.net/jdk7/awt/jdk/rev/fdf11ce72e8e 4917309: (cl) Reduce internal usage of ClassNotFoundExceptions during class-loading Summary: Change findBootstrapClass to return null instead of throwing CNFE if class not found Reviewed-by: alanb, dholmes, iris ! src/share/classes/java/lang/ClassLoader.java ! src/share/javavm/export/jvm.h ! src/share/native/java/lang/ClassLoader.c Changeset: 3323e6c925f9 Author: mchung Date: 2009-08-06 16:35 -0700 URL: http://hg.openjdk.java.net/jdk7/awt/jdk/rev/3323e6c925f9 6864028: Update the java launcher to use the new entry point JVM_FindClassFromBootLoader Summary: Update the java launcher to use the new entry point JVM_FindClassFromBootLoader Reviewed-by: ksrini ! src/share/bin/java.h ! src/solaris/bin/java_md.c ! src/windows/bin/java_md.c Changeset: 1f1c824e6244 Author: mchung Date: 2009-08-24 10:33 -0700 URL: http://hg.openjdk.java.net/jdk7/awt/jdk/rev/1f1c824e6244 Merge - src/share/classes/com/sun/crypto/provider/JarVerifier.java - src/share/classes/javax/swing/plaf/basic/DesktopIconMover.java - src/share/classes/sun/nio/ch/AbstractFuture.java - src/share/classes/sun/security/pkcs11/JarVerifier.java - src/windows/classes/sun/security/mscapi/JarVerifier.java Changeset: 799731b1cd03 Author: mchung Date: 2009-08-27 12:58 -0700 URL: http://hg.openjdk.java.net/jdk7/awt/jdk/rev/799731b1cd03 Merge - src/share/native/java/util/zip/zlib-1.1.3/ChangeLog - src/share/native/java/util/zip/zlib-1.1.3/README - src/share/native/java/util/zip/zlib-1.1.3/compress.c - src/share/native/java/util/zip/zlib-1.1.3/deflate.c - src/share/native/java/util/zip/zlib-1.1.3/deflate.h - src/share/native/java/util/zip/zlib-1.1.3/doc/algorithm.doc - src/share/native/java/util/zip/zlib-1.1.3/example.c - src/share/native/java/util/zip/zlib-1.1.3/gzio.c - src/share/native/java/util/zip/zlib-1.1.3/infblock.c - src/share/native/java/util/zip/zlib-1.1.3/infblock.h - src/share/native/java/util/zip/zlib-1.1.3/infcodes.c - src/share/native/java/util/zip/zlib-1.1.3/infcodes.h - src/share/native/java/util/zip/zlib-1.1.3/inffast.c - src/share/native/java/util/zip/zlib-1.1.3/inffast.h - src/share/native/java/util/zip/zlib-1.1.3/inffixed.h - src/share/native/java/util/zip/zlib-1.1.3/inflate.c - src/share/native/java/util/zip/zlib-1.1.3/inftrees.c - src/share/native/java/util/zip/zlib-1.1.3/inftrees.h - src/share/native/java/util/zip/zlib-1.1.3/infutil.c - src/share/native/java/util/zip/zlib-1.1.3/infutil.h - src/share/native/java/util/zip/zlib-1.1.3/minigzip.c - src/share/native/java/util/zip/zlib-1.1.3/trees.c - src/share/native/java/util/zip/zlib-1.1.3/trees.h - src/share/native/java/util/zip/zlib-1.1.3/uncompr.c - src/share/native/java/util/zip/zlib-1.1.3/zadler32.c - src/share/native/java/util/zip/zlib-1.1.3/zconf.h - src/share/native/java/util/zip/zlib-1.1.3/zcrc32.c - src/share/native/java/util/zip/zlib-1.1.3/zlib.h - src/share/native/java/util/zip/zlib-1.1.3/zutil.c - src/share/native/java/util/zip/zlib-1.1.3/zutil.h - test/java/util/concurrent/LinkedBlockingQueue/LastElement.java - test/java/util/concurrent/LinkedBlockingQueue/OfferRemoveLoops.java Changeset: dfb5cf81d8cd Author: mchung Date: 2009-09-03 16:09 -0700 URL: http://hg.openjdk.java.net/jdk7/awt/jdk/rev/dfb5cf81d8cd Merge Changeset: b9b7f56bdfa3 Author: mchung Date: 2009-09-04 15:44 -0700 URL: http://hg.openjdk.java.net/jdk7/awt/jdk/rev/b9b7f56bdfa3 Merge Changeset: 466915134131 Author: mchung Date: 2009-09-08 12:59 -0700 URL: http://hg.openjdk.java.net/jdk7/awt/jdk/rev/466915134131 Merge Changeset: 0d50d40a4a39 Author: martin Date: 2009-09-08 14:33 -0700 URL: http://hg.openjdk.java.net/jdk7/awt/jdk/rev/0d50d40a4a39 6850958: Honor -XX:OnOutOfMemoryError when array size exceeds VM limit Summary: Test hotspot/jvmti fix 6850957 using ProcessBuilder test infrastructure Reviewed-by: tbell, dholmes, alanb, ysr ! test/java/lang/ProcessBuilder/Basic.java Changeset: 8252729d51a3 Author: mullan Date: 2009-09-09 09:54 -0400 URL: http://hg.openjdk.java.net/jdk7/awt/jdk/rev/8252729d51a3 6745437: Add option to only check revocation of end-entity certificate in a chain of certificates 6869739: Cannot check revocation of single certificate without validating the entire chain Reviewed-by: xuelei + src/share/classes/sun/security/action/GetBooleanSecurityPropertyAction.java ! src/share/classes/sun/security/provider/certpath/Builder.java ! src/share/classes/sun/security/provider/certpath/CertId.java ! src/share/classes/sun/security/provider/certpath/CrlRevocationChecker.java ! src/share/classes/sun/security/provider/certpath/DistributionPointFetcher.java ! src/share/classes/sun/security/provider/certpath/ForwardBuilder.java + src/share/classes/sun/security/provider/certpath/OCSP.java ! src/share/classes/sun/security/provider/certpath/OCSPChecker.java ! src/share/classes/sun/security/provider/certpath/OCSPRequest.java ! src/share/classes/sun/security/provider/certpath/OCSPResponse.java ! src/share/classes/sun/security/provider/certpath/PKIXCertPathValidator.java ! src/share/classes/sun/security/provider/certpath/SunCertPathBuilder.java ! src/share/classes/sun/security/x509/AccessDescription.java Changeset: 7b85ef3d752e Author: mullan Date: 2009-09-09 09:59 -0400 URL: http://hg.openjdk.java.net/jdk7/awt/jdk/rev/7b85ef3d752e Merge Changeset: f1eb4c28b313 Author: lancea Date: 2009-09-09 20:15 -0400 URL: http://hg.openjdk.java.net/jdk7/awt/jdk/rev/f1eb4c28b313 6737212: Fixed javadoc warning messages in RowSet classes Reviewed-by: darcy ! src/share/classes/com/sun/rowset/JdbcRowSetResourceBundle.java ! src/share/classes/com/sun/rowset/JoinRowSetImpl.java ! src/share/classes/com/sun/rowset/internal/WebRowSetXmlReader.java ! src/share/classes/javax/sql/rowset/BaseRowSet.java Changeset: 46406871599c Author: sherman Date: 2009-09-11 16:36 -0700 URL: http://hg.openjdk.java.net/jdk7/awt/jdk/rev/46406871599c 6881337: ZipEntry.setComment() was accidentally changed back to old spec/impl in jdk7-b64 Summary: restored the correct spec and implementation of setComment Reviewed-by: martin ! src/share/classes/java/util/zip/ZipEntry.java Changeset: 020a0fed38c9 Author: martin Date: 2009-09-12 15:30 -0700 URL: http://hg.openjdk.java.net/jdk7/awt/jdk/rev/020a0fed38c9 6881442: (reflect) Race condition in Class.getName() Summary: only read "name" field racily once Reviewed-by: darcy ! src/share/classes/java/lang/Class.java Changeset: 060c4c7082ef Author: alanb Date: 2009-09-14 15:29 +0100 URL: http://hg.openjdk.java.net/jdk7/awt/jdk/rev/060c4c7082ef 6529758: JVMTI Waiters demo crashes. Double free. Reviewed-by: ohair, tbell ! src/share/demo/jvmti/waiters/Agent.cpp ! src/share/demo/jvmti/waiters/Agent.hpp ! src/share/demo/jvmti/waiters/Monitor.cpp ! src/share/demo/jvmti/waiters/Monitor.hpp Changeset: aac01ec2cec4 Author: alanb Date: 2009-09-14 17:47 +0100 URL: http://hg.openjdk.java.net/jdk7/awt/jdk/rev/aac01ec2cec4 6876541: (file) Files.walkFileTree(...): no SecurityException if read access to the starting file is denied Reviewed-by: chegar ! src/share/classes/java/nio/file/FileTreeWalker.java ! src/share/classes/java/nio/file/Files.java + test/java/nio/file/Files/WalkWithSecurity.java + test/java/nio/file/Files/denyAll.policy + test/java/nio/file/Files/grantAll.policy + test/java/nio/file/Files/grantTopOnly.policy Changeset: eb19c5dc52bf Author: kevinw Date: 2009-09-14 20:55 +0100 URL: http://hg.openjdk.java.net/jdk7/awt/jdk/rev/eb19c5dc52bf 6842838: 64-bit failure in handling invalid manifest in launcher. Summary: Don't compare with hard-coded 32-bit -1 when checking zip fields. Reviewed-by: ksrini ! src/share/bin/parse_manifest.c + test/tools/launcher/6842838/CreateBadJar.java + test/tools/launcher/6842838/Test6842838.sh Changeset: c7e469ae3edb Author: mchung Date: 2009-09-14 13:37 -0700 URL: http://hg.openjdk.java.net/jdk7/awt/jdk/rev/c7e469ae3edb 6878481: Add performance counters in the JDK Summary: Added new performance counters in the JDK to track performance metrics Reviewed-by: alanb, dholmes, iris, forax, andrew ! make/java/java/FILES_java.gmk ! src/share/classes/java/lang/ClassLoader.java ! src/share/classes/java/net/URLClassLoader.java ! src/share/classes/java/util/zip/ZipFile.java + src/share/classes/sun/misc/PerfCounter.java ! src/windows/classes/sun/java2d/d3d/D3DGraphicsDevice.java Changeset: 0a3244fe7142 Author: mchung Date: 2009-09-14 13:38 -0700 URL: http://hg.openjdk.java.net/jdk7/awt/jdk/rev/0a3244fe7142 Merge Changeset: f0182203084a Author: dcubed Date: 2009-09-14 18:45 -0600 URL: http://hg.openjdk.java.net/jdk7/awt/jdk/rev/f0182203084a 6862295: JDWP threadid changes during debugging session (leading to ingored breakpoints) Summary: New test for the above fix. Reviewed-by: tbell + test/com/sun/jdi/BreakpointWithFullGC.sh Changeset: f78b7d9973b7 Author: dcubed Date: 2009-09-14 18:54 -0600 URL: http://hg.openjdk.java.net/jdk7/awt/jdk/rev/f78b7d9973b7 Merge Changeset: e8c2dd4b8bac Author: dcubed Date: 2009-09-15 22:11 -0600 URL: http://hg.openjdk.java.net/jdk7/awt/jdk/rev/e8c2dd4b8bac 6882363: 4/4 typos in java.util.logging javadocs Summary: Fix typos, some grammar and some inconsistencies in phrasing. Reviewed-by: tbell ! src/share/classes/java/util/logging/ErrorManager.java ! src/share/classes/java/util/logging/FileHandler.java ! src/share/classes/java/util/logging/Formatter.java ! src/share/classes/java/util/logging/Handler.java ! src/share/classes/java/util/logging/Level.java ! src/share/classes/java/util/logging/LogRecord.java ! src/share/classes/java/util/logging/Logger.java ! src/share/classes/java/util/logging/LoggingMXBean.java ! src/share/classes/java/util/logging/MemoryHandler.java ! src/share/classes/java/util/logging/StreamHandler.java Changeset: 81b85ea694f8 Author: tbell Date: 2009-09-16 09:23 -0700 URL: http://hg.openjdk.java.net/jdk7/awt/jdk/rev/81b85ea694f8 Merge Changeset: ee68feef41d2 Author: jccollet Date: 2009-09-18 10:51 +0200 URL: http://hg.openjdk.java.net/jdk7/awt/jdk/rev/ee68feef41d2 6737819: sun.misc.net.DefaultProxySelector doesn't use proxy setting to localhost Summary: Move default nonProxyHosts from hardcoded to property default value Reviewed-by: chegar ! src/share/classes/java/net/doc-files/net-properties.html ! src/share/classes/sun/net/spi/DefaultProxySelector.java ! src/share/lib/net.properties + test/java/net/ProxySelector/B6737819.java Changeset: 39c15c0a71f7 Author: andrew Date: 2009-09-10 19:04 +0100 URL: http://hg.openjdk.java.net/jdk7/awt/jdk/rev/39c15c0a71f7 6882745: Add DISABLE_INTREE_EC option to make new EC provider optional. Summary: Don't build the ec subdirectory when DISABLE_INTREE_EC is defined. Reviewed-by: vinnie ! make/sun/security/Makefile Changeset: f119e21c0ca7 Author: tbell Date: 2009-09-18 08:47 -0700 URL: http://hg.openjdk.java.net/jdk7/awt/jdk/rev/f119e21c0ca7 Merge Changeset: c9cbd2a09fd4 Author: chegar Date: 2009-09-18 16:24 +0100 URL: http://hg.openjdk.java.net/jdk7/awt/jdk/rev/c9cbd2a09fd4 6882609: Move default InMemoryCookieStore to java.net Summary: remove static dependency on sun.net.www.protocol.http Reviewed-by: alanb, jccollet ! make/sun/net/FILES_java.gmk ! src/share/classes/java/net/CookieManager.java + src/share/classes/java/net/InMemoryCookieStore.java - src/share/classes/sun/net/www/protocol/http/InMemoryCookieStore.java Changeset: 9cd7133ea287 Author: chegar Date: 2009-09-18 22:18 +0100 URL: http://hg.openjdk.java.net/jdk7/awt/jdk/rev/9cd7133ea287 6882594: Remove static dependancy on NTLM authentication Reviewed-by: alanb, weijun ! make/sun/net/FILES_java.gmk ! src/share/classes/sun/net/www/protocol/http/AuthCache.java ! src/share/classes/sun/net/www/protocol/http/AuthCacheValue.java + src/share/classes/sun/net/www/protocol/http/AuthScheme.java ! src/share/classes/sun/net/www/protocol/http/AuthenticationInfo.java ! src/share/classes/sun/net/www/protocol/http/BasicAuthentication.java ! src/share/classes/sun/net/www/protocol/http/DigestAuthentication.java ! src/share/classes/sun/net/www/protocol/http/HttpURLConnection.java + src/share/classes/sun/net/www/protocol/http/NTLMAuthenticationProxy.java ! src/share/classes/sun/net/www/protocol/http/NegotiateAuthentication.java ! src/solaris/classes/sun/net/www/protocol/http/NTLMAuthentication.java ! src/windows/classes/sun/net/www/protocol/http/NTLMAuthentication.java Changeset: 45a343706f73 Author: chegar Date: 2009-09-18 22:19 +0100 URL: http://hg.openjdk.java.net/jdk7/awt/jdk/rev/45a343706f73 Merge Changeset: d3281fa8e46c Author: mchung Date: 2009-09-17 14:24 -0700 URL: http://hg.openjdk.java.net/jdk7/awt/jdk/rev/d3281fa8e46c 6882376: Add internal support for JRE implementation to eliminate the dependency on logging Summary: Added sun.util.logging.PlatformLogger for JRE implementation to log messages. Reviewed-by: alanb, naoto ! make/java/logging/Makefile ! src/share/classes/java/util/Currency.java ! src/share/classes/java/util/jar/Attributes.java ! src/share/classes/java/util/logging/LogManager.java ! src/share/classes/java/util/logging/LogRecord.java ! src/share/classes/sun/util/LocaleServiceProviderPool.java + src/share/classes/sun/util/logging/PlatformLogger.java ! src/windows/classes/java/util/prefs/WindowsPreferences.java + test/sun/util/logging/PlatformLoggerTest.java Changeset: 7b4e73ca6fd7 Author: mchung Date: 2009-09-18 17:27 -0700 URL: http://hg.openjdk.java.net/jdk7/awt/jdk/rev/7b4e73ca6fd7 Merge Changeset: 845fefff00a4 Author: vinnie Date: 2009-09-21 23:01 +0100 URL: http://hg.openjdk.java.net/jdk7/awt/jdk/rev/845fefff00a4 6884175: CR cleanup for 6840752: Provide out-of-the-box support for ECC algorithms Reviewed-by: wetmore ! make/sun/security/ec/Makefile ! make/sun/security/other/Makefile ! src/share/classes/sun/security/ec/ECDHKeyAgreement.java ! src/share/classes/sun/security/ec/ECDSASignature.java ! src/share/classes/sun/security/ec/ECKeyPairGenerator.java ! src/share/classes/sun/security/ec/SunEC.java ! src/share/classes/sun/security/ec/SunECEntries.java ! src/share/native/sun/security/ec/ECC_JNI.cpp - src/share/native/sun/security/ec/ec.c + src/share/native/sun/security/ec/impl/ec.c + src/share/native/sun/security/ec/impl/ec.h + src/share/native/sun/security/ec/impl/ec2.h + src/share/native/sun/security/ec/impl/ec2_163.c + src/share/native/sun/security/ec/impl/ec2_193.c + src/share/native/sun/security/ec/impl/ec2_233.c + src/share/native/sun/security/ec/impl/ec2_aff.c + src/share/native/sun/security/ec/impl/ec2_mont.c + src/share/native/sun/security/ec/impl/ec_naf.c + src/share/native/sun/security/ec/impl/ecc_impl.h + src/share/native/sun/security/ec/impl/ecdecode.c + src/share/native/sun/security/ec/impl/ecl-curve.h + src/share/native/sun/security/ec/impl/ecl-exp.h + src/share/native/sun/security/ec/impl/ecl-priv.h + src/share/native/sun/security/ec/impl/ecl.c + src/share/native/sun/security/ec/impl/ecl.h + src/share/native/sun/security/ec/impl/ecl_curve.c + src/share/native/sun/security/ec/impl/ecl_gf.c + src/share/native/sun/security/ec/impl/ecl_mult.c + src/share/native/sun/security/ec/impl/ecp.h + src/share/native/sun/security/ec/impl/ecp_192.c + src/share/native/sun/security/ec/impl/ecp_224.c + src/share/native/sun/security/ec/impl/ecp_256.c + src/share/native/sun/security/ec/impl/ecp_384.c + src/share/native/sun/security/ec/impl/ecp_521.c + src/share/native/sun/security/ec/impl/ecp_aff.c + src/share/native/sun/security/ec/impl/ecp_jac.c + src/share/native/sun/security/ec/impl/ecp_jm.c + src/share/native/sun/security/ec/impl/ecp_mont.c + src/share/native/sun/security/ec/impl/logtab.h + src/share/native/sun/security/ec/impl/mp_gf2m-priv.h + src/share/native/sun/security/ec/impl/mp_gf2m.c + src/share/native/sun/security/ec/impl/mp_gf2m.h + src/share/native/sun/security/ec/impl/mpi-config.h + src/share/native/sun/security/ec/impl/mpi-priv.h + src/share/native/sun/security/ec/impl/mpi.c + src/share/native/sun/security/ec/impl/mpi.h + src/share/native/sun/security/ec/impl/mplogic.c + src/share/native/sun/security/ec/impl/mplogic.h + src/share/native/sun/security/ec/impl/mpmontg.c + src/share/native/sun/security/ec/impl/mpprime.h + src/share/native/sun/security/ec/impl/oid.c + src/share/native/sun/security/ec/impl/secitem.c + src/share/native/sun/security/ec/impl/secoidt.h ! test/sun/security/ec/TestEC.java + test/sun/security/ec/certs/sunlabscerts.pem + test/sun/security/ec/keystore + test/sun/security/ec/truststore ! test/sun/security/pkcs11/ec/ReadCertificates.java ! test/sun/security/pkcs11/sslecc/CipherTest.java Changeset: 81dffe63c913 Author: weijun Date: 2009-09-22 10:01 +0800 URL: http://hg.openjdk.java.net/jdk7/awt/jdk/rev/81dffe63c913 6877357: IPv6 address does not work Reviewed-by: xuelei, alanb ! src/share/classes/sun/security/krb5/KrbKdcReq.java + test/sun/security/krb5/IPv6.java Changeset: 023063a403ed Author: chegar Date: 2009-09-22 14:42 +0100 URL: http://hg.openjdk.java.net/jdk7/awt/jdk/rev/023063a403ed 6882654: Remove dependency on java.util.concurrent from KeepAlive implementaion Reviewed-by: michaelm ! src/share/classes/sun/net/www/http/KeepAliveCache.java ! src/share/classes/sun/net/www/http/KeepAliveStream.java ! src/share/classes/sun/net/www/http/KeepAliveStreamCleaner.java Changeset: 44ccaa4bb8a0 Author: chegar Date: 2009-09-22 14:49 +0100 URL: http://hg.openjdk.java.net/jdk7/awt/jdk/rev/44ccaa4bb8a0 6882384: Update http protocol handler to use PlatformLogger Reviewed-by: jccollet, alanb ! src/share/classes/sun/net/www/http/HttpCapture.java ! src/share/classes/sun/net/www/http/HttpClient.java ! src/share/classes/sun/net/www/protocol/http/HttpLogFormatter.java ! src/share/classes/sun/net/www/protocol/http/HttpURLConnection.java ! src/share/classes/sun/net/www/protocol/http/NTLMAuthenticationProxy.java ! src/share/classes/sun/net/www/protocol/http/NegotiateAuthentication.java ! src/share/classes/sun/util/logging/PlatformLogger.java Changeset: b8004f6f4812 Author: kevinw Date: 2009-09-22 17:01 +0100 URL: http://hg.openjdk.java.net/jdk7/awt/jdk/rev/b8004f6f4812 6882768: (launcher) test for 6842838 is broken Summary: Testcase correction. Reviewed-by: ksrini ! test/tools/launcher/6842838/Test6842838.sh Changeset: f708138c9aca Author: kevinw Date: 2009-09-22 17:16 +0100 URL: http://hg.openjdk.java.net/jdk7/awt/jdk/rev/f708138c9aca Merge Changeset: 59b45d636384 Author: xdono Date: 2009-10-02 11:26 -0700 URL: http://hg.openjdk.java.net/jdk7/awt/jdk/rev/59b45d636384 Added tag jdk7-b73 for changeset f708138c9aca ! .hgtags Changeset: 8e5d45fc8d1e Author: jgodinez Date: 2009-07-01 12:07 -0700 URL: http://hg.openjdk.java.net/jdk7/awt/jdk/rev/8e5d45fc8d1e 6848799: Reg-test java/awt/print/PageFormat/PageFormatFromAttributes.java fails on Rhel_5 Reviewed-by: tdv, prr ! src/solaris/classes/sun/print/IPPPrintService.java + test/java/awt/print/PageFormat/PageFormatFromAttributes.java Changeset: 837bb8760bad Author: yan Date: 2009-07-13 09:37 -0700 URL: http://hg.openjdk.java.net/jdk7/awt/jdk/rev/837bb8760bad Merge - src/share/classes/java/nio/file/DirectoryStreamFilters.java - src/share/classes/java/nio/file/FileAction.java - src/share/classes/java/nio/file/spi/AbstractPath.java - src/share/classes/sun/io/ByteToCharMS932DB.java - src/share/classes/sun/io/CharToByteMS932DB.java - src/share/classes/sun/nio/cs/ext/EUC_CN.java - src/share/classes/sun/nio/cs/ext/EUC_KR.java - src/share/classes/sun/nio/cs/ext/GBK.java - src/share/classes/sun/nio/cs/ext/Johab.java - src/share/classes/sun/nio/cs/ext/MS932.java - src/share/classes/sun/nio/cs/ext/MS932DB.java - src/share/classes/sun/nio/cs/ext/MS936.java - src/share/classes/sun/nio/cs/ext/MS949.java - src/share/classes/sun/nio/cs/ext/MS950.java - src/share/classes/sun/nio/fs/AbstractFileStoreSpaceAttributeView.java - src/share/classes/sun/nio/fs/MimeType.java - src/share/classes/sun/swing/AccessibleMethod.java - test/java/nio/file/DirectoryStream/Filters.java - test/java/nio/file/Files/content_type.sh - test/java/nio/file/Path/temporary_files.sh - test/java/nio/file/attribute/Attributes/Basic.java Changeset: a0b315ecdc78 Author: rkennke Date: 2009-07-22 15:52 +0200 URL: http://hg.openjdk.java.net/jdk7/awt/jdk/rev/a0b315ecdc78 6857358: Two testcases are failing in jdk7 b64 pit build with java.security.AccessControlException Summary: Try to load GraphicsEnvironment with bootclassloader first, only then try app classloader. Reviewed-by: prr, tdv, igor ! src/share/classes/java/awt/GraphicsEnvironment.java Changeset: 9fa696ed1f38 Author: jgodinez Date: 2009-07-30 12:25 -0700 URL: http://hg.openjdk.java.net/jdk7/awt/jdk/rev/9fa696ed1f38 Merge Changeset: 7fe0497ee5b5 Author: jgodinez Date: 2009-08-04 17:25 -0700 URL: http://hg.openjdk.java.net/jdk7/awt/jdk/rev/7fe0497ee5b5 6829673: ThinLineTest: A line < 1 pixel disappears. Reviewed-by: igor, prr Contributed-by: rkennke ! src/share/classes/sun/java2d/pisces/PiscesRenderingEngine.java + test/sun/pisces/ThinLineTest.java Changeset: 64b0c953635d Author: rkennke Date: 2009-08-07 18:31 +0200 URL: http://hg.openjdk.java.net/jdk7/awt/jdk/rev/64b0c953635d 6795908: Refactor FontManager Reviewed-by: prr, igor ! make/sun/awt/FILES_export_windows.gmk ! make/sun/awt/make.depend ! make/sun/awt/mapfile-mawt-vers ! make/sun/awt/mapfile-vers-linux ! make/sun/font/mapfile-vers ! make/sun/font/mapfile-vers.openjdk ! make/sun/headless/mapfile-vers ! make/sun/xawt/mapfile-vers ! src/share/classes/com/sun/java/swing/plaf/gtk/PangoFonts.java ! src/share/classes/com/sun/java/swing/plaf/windows/WindowsLookAndFeel.java ! src/share/classes/java/awt/Component.java ! src/share/classes/java/awt/Font.java ! src/share/classes/java/awt/GraphicsEnvironment.java ! src/share/classes/javax/swing/plaf/nimbus/Defaults.template ! src/share/classes/javax/swing/text/StyleContext.java ! src/share/classes/sun/awt/FontConfiguration.java ! src/share/classes/sun/font/CMap.java ! src/share/classes/sun/font/CompositeFont.java ! src/share/classes/sun/font/CompositeGlyphMapper.java ! src/share/classes/sun/font/FileFont.java ! src/share/classes/sun/font/FileFontStrike.java ! src/share/classes/sun/font/FontDesignMetrics.java ! src/share/classes/sun/font/FontFamily.java ! src/share/classes/sun/font/FontManager.java ! src/share/classes/sun/font/FontManagerNativeLibrary.java ! src/share/classes/sun/font/FontResolver.java ! src/share/classes/sun/font/FontScaler.java ! src/share/classes/sun/font/FreetypeFontScaler.java ! src/share/classes/sun/font/GlyphLayout.java ! src/share/classes/sun/font/PhysicalStrike.java ! src/share/classes/sun/font/StandardGlyphVector.java ! src/share/classes/sun/font/StrikeCache.java ! src/share/classes/sun/font/TrueTypeFont.java ! src/share/classes/sun/font/TrueTypeGlyphMapper.java ! src/share/classes/sun/font/Type1Font.java ! src/share/classes/sun/font/Type1GlyphMapper.java ! src/share/classes/sun/java2d/SunGraphics2D.java ! src/share/classes/sun/java2d/SunGraphicsEnvironment.java ! src/share/classes/sun/print/PSPrinterJob.java ! src/share/classes/sun/print/PathGraphics.java ! src/share/classes/sun/swing/SwingUtilities2.java ! src/share/native/sun/font/sunFont.c ! src/share/native/sun/font/sunfontids.h ! src/solaris/classes/sun/awt/X11/XToolkit.java ! src/solaris/classes/sun/awt/X11GraphicsEnvironment.java ! src/solaris/classes/sun/awt/motif/MFontConfiguration.java ! src/solaris/classes/sun/awt/motif/MToolkit.java ! src/solaris/classes/sun/font/FcFontConfiguration.java ! src/solaris/classes/sun/font/NativeFont.java ! src/solaris/classes/sun/font/NativeStrike.java ! src/solaris/native/sun/awt/fontpath.c ! src/windows/classes/sun/awt/Win32GraphicsEnvironment.java ! src/windows/classes/sun/awt/windows/WFontConfiguration.java ! src/windows/classes/sun/awt/windows/WPathGraphics.java ! src/windows/classes/sun/awt/windows/WPrinterJob.java ! src/windows/classes/sun/awt/windows/WToolkit.java ! src/windows/native/sun/font/fontpath.c ! src/windows/native/sun/windows/awt_Win32GraphicsEnv.cpp Changeset: 92607d652d7a Author: rkennke Date: 2009-08-07 19:36 +0200 URL: http://hg.openjdk.java.net/jdk7/awt/jdk/rev/92607d652d7a 6869705: Missing files of CR6795908, FontManager refactoring Reviewed-by: prr, igor + src/share/classes/sun/font/FontAccess.java + src/share/classes/sun/font/FontManagerFactory.java + src/share/classes/sun/font/FontManagerForSGE.java + src/share/classes/sun/font/FontUtilities.java + src/share/classes/sun/font/SunFontManager.java + src/solaris/classes/sun/awt/X11FontManager.java + src/solaris/classes/sun/font/FontConfigManager.java + src/windows/classes/sun/awt/Win32FontManager.java Changeset: 11b38980893c Author: rkennke Date: 2009-08-12 17:21 +0200 URL: http://hg.openjdk.java.net/jdk7/awt/jdk/rev/11b38980893c 6870238: Font2DTest fails on Debian after FontManager refactoring Summary: Use fontManager field instead of querying the FontManagerFactory Reviewed-by: igor, prr ! src/solaris/classes/sun/font/FcFontConfiguration.java Changeset: a389af17df10 Author: prr Date: 2009-08-14 14:25 -0700 URL: http://hg.openjdk.java.net/jdk7/awt/jdk/rev/a389af17df10 6867603: sun.font.FontManager.getDefaultPlatformFont throws NPE in OpenJDK on Solaris 10 10/08 Reviewed-by: igor, jgodinez ! src/solaris/classes/sun/font/FontConfigManager.java ! src/solaris/native/sun/awt/fontpath.c Changeset: e90f58148115 Author: jgodinez Date: 2009-09-16 19:36 -0700 URL: http://hg.openjdk.java.net/jdk7/awt/jdk/rev/e90f58148115 Merge - make/javax/swing/plaf/nimbus/Makefile - make/tools/swing-nimbus/Makefile - make/tools/swing-nimbus/classes/org/jdesktop/beans/AbstractBean.java - make/tools/swing-nimbus/classes/org/jdesktop/swingx/designer/BezierControlPoint.java - make/tools/swing-nimbus/classes/org/jdesktop/swingx/designer/BlendingMode.java - make/tools/swing-nimbus/classes/org/jdesktop/swingx/designer/Canvas.java - make/tools/swing-nimbus/classes/org/jdesktop/swingx/designer/ControlPoint.java - make/tools/swing-nimbus/classes/org/jdesktop/swingx/designer/Designer.jibx.xml - make/tools/swing-nimbus/classes/org/jdesktop/swingx/designer/DoubleBean.java - make/tools/swing-nimbus/classes/org/jdesktop/swingx/designer/EllipseShape.java - make/tools/swing-nimbus/classes/org/jdesktop/swingx/designer/GraphicsHelper.java - make/tools/swing-nimbus/classes/org/jdesktop/swingx/designer/Layer.java - make/tools/swing-nimbus/classes/org/jdesktop/swingx/designer/LayerContainer.java - make/tools/swing-nimbus/classes/org/jdesktop/swingx/designer/PaintedShape.java - make/tools/swing-nimbus/classes/org/jdesktop/swingx/designer/PathShape.java - make/tools/swing-nimbus/classes/org/jdesktop/swingx/designer/RectangleShape.java - make/tools/swing-nimbus/classes/org/jdesktop/swingx/designer/SimpleShape.java - make/tools/swing-nimbus/classes/org/jdesktop/swingx/designer/TemplateLayer.java - make/tools/swing-nimbus/classes/org/jdesktop/swingx/designer/effects/DropShadowEffect.java - make/tools/swing-nimbus/classes/org/jdesktop/swingx/designer/effects/Effect.java - make/tools/swing-nimbus/classes/org/jdesktop/swingx/designer/effects/EffectUtils.java - make/tools/swing-nimbus/classes/org/jdesktop/swingx/designer/effects/EffectUtilsTemp.java - make/tools/swing-nimbus/classes/org/jdesktop/swingx/designer/effects/InnerGlowEffect.java - make/tools/swing-nimbus/classes/org/jdesktop/swingx/designer/effects/InnerShadowEffect.java - make/tools/swing-nimbus/classes/org/jdesktop/swingx/designer/effects/OuterGlowEffect.java - make/tools/swing-nimbus/classes/org/jdesktop/swingx/designer/effects/ShadowEffect.java - make/tools/swing-nimbus/classes/org/jdesktop/swingx/designer/font/Typeface.java - make/tools/swing-nimbus/classes/org/jdesktop/swingx/designer/jibxhelpers/CanvasMapper.java - make/tools/swing-nimbus/classes/org/jdesktop/swingx/designer/jibxhelpers/ColorMapper.java - make/tools/swing-nimbus/classes/org/jdesktop/swingx/designer/jibxhelpers/DimensionMapper.java - make/tools/swing-nimbus/classes/org/jdesktop/swingx/designer/jibxhelpers/InsetsMapper.java - make/tools/swing-nimbus/classes/org/jdesktop/swingx/designer/paint/AbstractGradient.java - make/tools/swing-nimbus/classes/org/jdesktop/swingx/designer/paint/Gradient.java - make/tools/swing-nimbus/classes/org/jdesktop/swingx/designer/paint/GradientStop.java - make/tools/swing-nimbus/classes/org/jdesktop/swingx/designer/paint/Matte.java - make/tools/swing-nimbus/classes/org/jdesktop/swingx/designer/paint/PaintModel.java - make/tools/swing-nimbus/classes/org/jdesktop/swingx/designer/paint/RadialGradient.java - make/tools/swing-nimbus/classes/org/jdesktop/swingx/designer/paint/Texture.java - make/tools/swing-nimbus/classes/org/jdesktop/swingx/designer/utils/HasPath.java - make/tools/swing-nimbus/classes/org/jdesktop/swingx/designer/utils/HasResources.java - make/tools/swing-nimbus/classes/org/jdesktop/swingx/designer/utils/HasUIDefaults.java - make/tools/swing-nimbus/classes/org/jdesktop/synthdesigner/generator/DefaultsGenerator.java - make/tools/swing-nimbus/classes/org/jdesktop/synthdesigner/generator/Generator.java - make/tools/swing-nimbus/classes/org/jdesktop/synthdesigner/generator/GeneratorUtils.java - make/tools/swing-nimbus/classes/org/jdesktop/synthdesigner/generator/ObjectCodeConvertors.java - make/tools/swing-nimbus/classes/org/jdesktop/synthdesigner/generator/PainterGenerator.java - make/tools/swing-nimbus/classes/org/jdesktop/synthdesigner/generator/TemplateWriter.java - make/tools/swing-nimbus/classes/org/jdesktop/synthdesigner/synthmodel/CustomUIDefault.java - make/tools/swing-nimbus/classes/org/jdesktop/synthdesigner/synthmodel/HasUIStyle.java - make/tools/swing-nimbus/classes/org/jdesktop/synthdesigner/synthmodel/PainterBorder.java - make/tools/swing-nimbus/classes/org/jdesktop/synthdesigner/synthmodel/SynthModel.java - make/tools/swing-nimbus/classes/org/jdesktop/synthdesigner/synthmodel/SynthModel.jibx.xml - make/tools/swing-nimbus/classes/org/jdesktop/synthdesigner/synthmodel/UIBorder.java - make/tools/swing-nimbus/classes/org/jdesktop/synthdesigner/synthmodel/UIColor.java - make/tools/swing-nimbus/classes/org/jdesktop/synthdesigner/synthmodel/UIComponent.java - make/tools/swing-nimbus/classes/org/jdesktop/synthdesigner/synthmodel/UIDefault.java - make/tools/swing-nimbus/classes/org/jdesktop/synthdesigner/synthmodel/UIDimension.java - make/tools/swing-nimbus/classes/org/jdesktop/synthdesigner/synthmodel/UIFont.java - make/tools/swing-nimbus/classes/org/jdesktop/synthdesigner/synthmodel/UIIcon.java - make/tools/swing-nimbus/classes/org/jdesktop/synthdesigner/synthmodel/UIIconRegion.java - make/tools/swing-nimbus/classes/org/jdesktop/synthdesigner/synthmodel/UIInsets.java - make/tools/swing-nimbus/classes/org/jdesktop/synthdesigner/synthmodel/UIPaint.java - make/tools/swing-nimbus/classes/org/jdesktop/synthdesigner/synthmodel/UIProperty.java - make/tools/swing-nimbus/classes/org/jdesktop/synthdesigner/synthmodel/UIRegion.java - make/tools/swing-nimbus/classes/org/jdesktop/synthdesigner/synthmodel/UIState.java - make/tools/swing-nimbus/classes/org/jdesktop/synthdesigner/synthmodel/UIStateType.java - make/tools/swing-nimbus/classes/org/jdesktop/synthdesigner/synthmodel/UIStyle.java - make/tools/swing-nimbus/classes/org/jdesktop/synthdesigner/synthmodel/jibxhelpers/BorderMapper.java - make/tools/swing-nimbus/classes/org/jdesktop/synthdesigner/synthmodel/jibxhelpers/ClassConverter.java - make/tools/swing-nimbus/classes/org/jdesktop/synthdesigner/synthmodel/jibxhelpers/ClassMapper.java - make/tools/swing-nimbus/classes/org/jdesktop/synthdesigner/synthmodel/jibxhelpers/FontMapper.java - make/tools/swing-nimbus/classes/org/jdesktop/synthdesigner/synthmodel/jibxhelpers/UIPropertyMapper.java - src/share/classes/com/sun/crypto/provider/JarVerifier.java ! src/share/classes/com/sun/java/swing/plaf/windows/WindowsLookAndFeel.java ! src/share/classes/java/awt/Component.java - src/share/classes/javax/swing/plaf/basic/DesktopIconMover.java ! src/share/classes/javax/swing/plaf/nimbus/Defaults.template - src/share/classes/sun/nio/ch/AbstractFuture.java - src/share/classes/sun/security/pkcs11/JarVerifier.java ! src/share/classes/sun/swing/SwingUtilities2.java - src/share/native/java/util/zip/zlib-1.1.3/ChangeLog - src/share/native/java/util/zip/zlib-1.1.3/README - src/share/native/java/util/zip/zlib-1.1.3/compress.c - src/share/native/java/util/zip/zlib-1.1.3/deflate.c - src/share/native/java/util/zip/zlib-1.1.3/deflate.h - src/share/native/java/util/zip/zlib-1.1.3/doc/algorithm.doc - src/share/native/java/util/zip/zlib-1.1.3/example.c - src/share/native/java/util/zip/zlib-1.1.3/gzio.c - src/share/native/java/util/zip/zlib-1.1.3/infblock.c - src/share/native/java/util/zip/zlib-1.1.3/infblock.h - src/share/native/java/util/zip/zlib-1.1.3/infcodes.c - src/share/native/java/util/zip/zlib-1.1.3/infcodes.h - src/share/native/java/util/zip/zlib-1.1.3/inffast.c - src/share/native/java/util/zip/zlib-1.1.3/inffast.h - src/share/native/java/util/zip/zlib-1.1.3/inffixed.h - src/share/native/java/util/zip/zlib-1.1.3/inflate.c - src/share/native/java/util/zip/zlib-1.1.3/inftrees.c - src/share/native/java/util/zip/zlib-1.1.3/inftrees.h - src/share/native/java/util/zip/zlib-1.1.3/infutil.c - src/share/native/java/util/zip/zlib-1.1.3/infutil.h - src/share/native/java/util/zip/zlib-1.1.3/minigzip.c - src/share/native/java/util/zip/zlib-1.1.3/trees.c - src/share/native/java/util/zip/zlib-1.1.3/trees.h - src/share/native/java/util/zip/zlib-1.1.3/uncompr.c - src/share/native/java/util/zip/zlib-1.1.3/zadler32.c - src/share/native/java/util/zip/zlib-1.1.3/zconf.h - src/share/native/java/util/zip/zlib-1.1.3/zcrc32.c - src/share/native/java/util/zip/zlib-1.1.3/zlib.h - src/share/native/java/util/zip/zlib-1.1.3/zutil.c - src/share/native/java/util/zip/zlib-1.1.3/zutil.h ! src/solaris/classes/sun/awt/X11/XToolkit.java - src/windows/classes/sun/security/mscapi/JarVerifier.java - test/java/util/concurrent/ConcurrentLinkedQueue/ConcurrentQueueLoops.java - test/java/util/concurrent/ConcurrentLinkedQueue/LoopHelpers.java - test/java/util/concurrent/LinkedBlockingQueue/LastElement.java - test/java/util/concurrent/LinkedBlockingQueue/OfferRemoveLoops.java Changeset: 27d58a02bb9d Author: srl Date: 2009-09-28 11:52 -0700 URL: http://hg.openjdk.java.net/jdk7/awt/jdk/rev/27d58a02bb9d 6795060: VM crash on Linux in ICU layout library when processing \u0DDD (Sinhalese) Reviewed-by: igor, prr ! src/share/native/sun/font/layout/IndicClassTables.cpp + test/java/awt/font/TextLayout/TestSinhalaChar.java Changeset: e6ced7714609 Author: jgodinez Date: 2009-09-29 09:02 -0700 URL: http://hg.openjdk.java.net/jdk7/awt/jdk/rev/e6ced7714609 Merge - src/share/classes/sun/net/www/protocol/http/InMemoryCookieStore.java - src/share/native/sun/security/ec/ec.c Changeset: c74d38ef118c Author: srl Date: 2009-09-29 14:06 -0700 URL: http://hg.openjdk.java.net/jdk7/awt/jdk/rev/c74d38ef118c 6501644: sync LayoutEngine *code* structure to match ICU Reviewed-by: prr ! make/sun/font/Makefile ! src/share/native/sun/font/layout/AlternateSubstSubtables.cpp ! src/share/native/sun/font/layout/AlternateSubstSubtables.h ! src/share/native/sun/font/layout/AnchorTables.cpp ! src/share/native/sun/font/layout/AnchorTables.h ! src/share/native/sun/font/layout/ArabicLayoutEngine.cpp ! src/share/native/sun/font/layout/ArabicLayoutEngine.h ! src/share/native/sun/font/layout/ArabicShaping.cpp ! src/share/native/sun/font/layout/ArabicShaping.h ! src/share/native/sun/font/layout/AttachmentPosnSubtables.h ! src/share/native/sun/font/layout/CanonData.cpp ! src/share/native/sun/font/layout/CanonShaping.cpp ! src/share/native/sun/font/layout/CanonShaping.h ! src/share/native/sun/font/layout/CharSubstitutionFilter.h ! src/share/native/sun/font/layout/ClassDefinitionTables.cpp ! src/share/native/sun/font/layout/ClassDefinitionTables.h ! src/share/native/sun/font/layout/ContextualGlyphInsertion.h ! src/share/native/sun/font/layout/ContextualGlyphSubstProc.cpp ! src/share/native/sun/font/layout/ContextualGlyphSubstProc.h ! src/share/native/sun/font/layout/ContextualGlyphSubstitution.h ! src/share/native/sun/font/layout/ContextualSubstSubtables.cpp ! src/share/native/sun/font/layout/ContextualSubstSubtables.h ! src/share/native/sun/font/layout/CoverageTables.cpp ! src/share/native/sun/font/layout/CoverageTables.h ! src/share/native/sun/font/layout/CursiveAttachmentSubtables.cpp ! src/share/native/sun/font/layout/CursiveAttachmentSubtables.h ! src/share/native/sun/font/layout/DefaultCharMapper.h ! src/share/native/sun/font/layout/DeviceTables.cpp ! src/share/native/sun/font/layout/DeviceTables.h ! src/share/native/sun/font/layout/ExtensionSubtables.cpp ! src/share/native/sun/font/layout/ExtensionSubtables.h ! src/share/native/sun/font/layout/Features.cpp ! src/share/native/sun/font/layout/Features.h ! src/share/native/sun/font/layout/GDEFMarkFilter.cpp ! src/share/native/sun/font/layout/GDEFMarkFilter.h ! src/share/native/sun/font/layout/GXLayoutEngine.cpp ! src/share/native/sun/font/layout/GXLayoutEngine.h ! src/share/native/sun/font/layout/GlyphDefinitionTables.cpp ! src/share/native/sun/font/layout/GlyphDefinitionTables.h ! src/share/native/sun/font/layout/GlyphIterator.cpp ! src/share/native/sun/font/layout/GlyphIterator.h ! src/share/native/sun/font/layout/GlyphLookupTables.cpp ! src/share/native/sun/font/layout/GlyphLookupTables.h ! src/share/native/sun/font/layout/GlyphPositionAdjustments.cpp ! src/share/native/sun/font/layout/GlyphPositionAdjustments.h ! src/share/native/sun/font/layout/GlyphPositioningTables.cpp ! src/share/native/sun/font/layout/GlyphPositioningTables.h ! src/share/native/sun/font/layout/GlyphPosnLookupProc.cpp ! src/share/native/sun/font/layout/GlyphPosnLookupProc.h ! src/share/native/sun/font/layout/GlyphSubstLookupProc.cpp ! src/share/native/sun/font/layout/GlyphSubstLookupProc.h ! src/share/native/sun/font/layout/GlyphSubstitutionTables.cpp ! src/share/native/sun/font/layout/GlyphSubstitutionTables.h ! src/share/native/sun/font/layout/HanLayoutEngine.cpp ! src/share/native/sun/font/layout/HanLayoutEngine.h ! src/share/native/sun/font/layout/IndicClassTables.cpp ! src/share/native/sun/font/layout/IndicLayoutEngine.cpp ! src/share/native/sun/font/layout/IndicLayoutEngine.h ! src/share/native/sun/font/layout/IndicRearrangement.h ! src/share/native/sun/font/layout/IndicRearrangementProcessor.cpp ! src/share/native/sun/font/layout/IndicRearrangementProcessor.h ! src/share/native/sun/font/layout/IndicReordering.cpp ! src/share/native/sun/font/layout/IndicReordering.h ! src/share/native/sun/font/layout/KernTable.cpp ! src/share/native/sun/font/layout/KernTable.h ! src/share/native/sun/font/layout/KhmerLayoutEngine.cpp ! src/share/native/sun/font/layout/KhmerLayoutEngine.h ! src/share/native/sun/font/layout/KhmerReordering.cpp ! src/share/native/sun/font/layout/KhmerReordering.h ! src/share/native/sun/font/layout/LEFontInstance.cpp ! src/share/native/sun/font/layout/LEFontInstance.h ! src/share/native/sun/font/layout/LEGlyphFilter.h ! src/share/native/sun/font/layout/LEGlyphStorage.cpp ! src/share/native/sun/font/layout/LEGlyphStorage.h ! src/share/native/sun/font/layout/LEInsertionList.cpp ! src/share/native/sun/font/layout/LEInsertionList.h ! src/share/native/sun/font/layout/LELanguages.h ! src/share/native/sun/font/layout/LEScripts.h + src/share/native/sun/font/layout/LEStandalone.h ! src/share/native/sun/font/layout/LESwaps.h ! src/share/native/sun/font/layout/LETypes.h ! src/share/native/sun/font/layout/LayoutEngine.cpp ! src/share/native/sun/font/layout/LayoutEngine.h ! src/share/native/sun/font/layout/LayoutTables.h ! src/share/native/sun/font/layout/LigatureSubstProc.cpp ! src/share/native/sun/font/layout/LigatureSubstProc.h ! src/share/native/sun/font/layout/LigatureSubstSubtables.cpp ! src/share/native/sun/font/layout/LigatureSubstSubtables.h ! src/share/native/sun/font/layout/LigatureSubstitution.h ! src/share/native/sun/font/layout/LookupProcessor.cpp ! src/share/native/sun/font/layout/LookupProcessor.h ! src/share/native/sun/font/layout/LookupTables.cpp ! src/share/native/sun/font/layout/LookupTables.h ! src/share/native/sun/font/layout/Lookups.cpp ! src/share/native/sun/font/layout/Lookups.h ! src/share/native/sun/font/layout/MPreFixups.cpp ! src/share/native/sun/font/layout/MPreFixups.h ! src/share/native/sun/font/layout/MarkArrays.cpp ! src/share/native/sun/font/layout/MarkArrays.h ! src/share/native/sun/font/layout/MarkToBasePosnSubtables.cpp ! src/share/native/sun/font/layout/MarkToBasePosnSubtables.h ! src/share/native/sun/font/layout/MarkToLigaturePosnSubtables.cpp ! src/share/native/sun/font/layout/MarkToLigaturePosnSubtables.h ! src/share/native/sun/font/layout/MarkToMarkPosnSubtables.cpp ! src/share/native/sun/font/layout/MarkToMarkPosnSubtables.h ! src/share/native/sun/font/layout/MirroredCharData.cpp ! src/share/native/sun/font/layout/MorphStateTables.h ! src/share/native/sun/font/layout/MorphTables.cpp ! src/share/native/sun/font/layout/MorphTables.h ! src/share/native/sun/font/layout/MultipleSubstSubtables.cpp ! src/share/native/sun/font/layout/MultipleSubstSubtables.h ! src/share/native/sun/font/layout/NonContextualGlyphSubst.h ! src/share/native/sun/font/layout/NonContextualGlyphSubstProc.cpp ! src/share/native/sun/font/layout/NonContextualGlyphSubstProc.h ! src/share/native/sun/font/layout/OpenTypeLayoutEngine.cpp ! src/share/native/sun/font/layout/OpenTypeLayoutEngine.h ! src/share/native/sun/font/layout/OpenTypeTables.h ! src/share/native/sun/font/layout/OpenTypeUtilities.cpp ! src/share/native/sun/font/layout/OpenTypeUtilities.h ! src/share/native/sun/font/layout/PairPositioningSubtables.cpp ! src/share/native/sun/font/layout/PairPositioningSubtables.h ! src/share/native/sun/font/layout/ScriptAndLanguage.cpp ! src/share/native/sun/font/layout/ScriptAndLanguage.h ! src/share/native/sun/font/layout/ScriptAndLanguageTags.cpp ! src/share/native/sun/font/layout/ScriptAndLanguageTags.h ! src/share/native/sun/font/layout/SegmentArrayProcessor.cpp ! src/share/native/sun/font/layout/SegmentArrayProcessor.h ! src/share/native/sun/font/layout/SegmentSingleProcessor.cpp ! src/share/native/sun/font/layout/SegmentSingleProcessor.h ! src/share/native/sun/font/layout/ShapingTypeData.cpp ! src/share/native/sun/font/layout/SimpleArrayProcessor.cpp ! src/share/native/sun/font/layout/SimpleArrayProcessor.h ! src/share/native/sun/font/layout/SinglePositioningSubtables.cpp ! src/share/native/sun/font/layout/SinglePositioningSubtables.h ! src/share/native/sun/font/layout/SingleSubstitutionSubtables.cpp ! src/share/native/sun/font/layout/SingleSubstitutionSubtables.h ! src/share/native/sun/font/layout/SingleTableProcessor.cpp ! src/share/native/sun/font/layout/SingleTableProcessor.h ! src/share/native/sun/font/layout/StateTableProcessor.cpp ! src/share/native/sun/font/layout/StateTableProcessor.h ! src/share/native/sun/font/layout/StateTables.h ! src/share/native/sun/font/layout/SubstitutionLookups.cpp ! src/share/native/sun/font/layout/SubstitutionLookups.h ! src/share/native/sun/font/layout/SubtableProcessor.cpp ! src/share/native/sun/font/layout/SubtableProcessor.h ! src/share/native/sun/font/layout/ThaiLayoutEngine.cpp ! src/share/native/sun/font/layout/ThaiLayoutEngine.h ! src/share/native/sun/font/layout/ThaiShaping.cpp ! src/share/native/sun/font/layout/ThaiShaping.h ! src/share/native/sun/font/layout/ThaiStateTables.cpp ! src/share/native/sun/font/layout/TrimmedArrayProcessor.cpp ! src/share/native/sun/font/layout/TrimmedArrayProcessor.h ! src/share/native/sun/font/layout/ValueRecords.cpp ! src/share/native/sun/font/layout/ValueRecords.h Changeset: e8a764450aa7 Author: srl Date: 2009-09-29 15:31 -0700 URL: http://hg.openjdk.java.net/jdk7/awt/jdk/rev/e8a764450aa7 Merge - src/share/classes/sun/net/www/protocol/http/InMemoryCookieStore.java - src/share/native/sun/security/ec/ec.c Changeset: e8b1b4c00e8a Author: srl Date: 2009-09-29 16:32 -0700 URL: http://hg.openjdk.java.net/jdk7/awt/jdk/rev/e8b1b4c00e8a 6886718: missing license info Reviewed-by: igor, prr ! test/java/awt/font/TextLayout/TestSinhalaChar.java Changeset: ec67b240b727 Author: mchung Date: 2009-09-29 16:03 -0700 URL: http://hg.openjdk.java.net/jdk7/awt/jdk/rev/ec67b240b727 6879044: Eliminate the dependency on logging from the AWT/2D/Swing classes Summary: Replace calls to Logger with sun.util.logging.PlatformLogger Reviewed-by: prr, art, alexp, dcherepanov, igor, dav, anthony ! src/share/classes/java/awt/AWTEvent.java ! src/share/classes/java/awt/AttributeValue.java ! src/share/classes/java/awt/Component.java ! src/share/classes/java/awt/Container.java ! src/share/classes/java/awt/ContainerOrderFocusTraversalPolicy.java ! src/share/classes/java/awt/Cursor.java ! src/share/classes/java/awt/DefaultKeyboardFocusManager.java ! src/share/classes/java/awt/EventDispatchThread.java ! src/share/classes/java/awt/EventQueue.java ! src/share/classes/java/awt/KeyboardFocusManager.java ! src/share/classes/java/awt/SplashScreen.java ! src/share/classes/java/awt/Toolkit.java ! src/share/classes/java/awt/Window.java ! src/share/classes/java/awt/event/InputEvent.java ! src/share/classes/javax/swing/BufferStrategyPaintManager.java ! src/share/classes/javax/swing/SortingFocusTraversalPolicy.java ! src/share/classes/sun/awt/AWTAutoShutdown.java ! src/share/classes/sun/awt/AppContext.java ! src/share/classes/sun/awt/ComponentAccessor.java ! src/share/classes/sun/awt/DebugSettings.java ! src/share/classes/sun/awt/FontConfiguration.java ! src/share/classes/sun/awt/KeyboardFocusManagerPeerImpl.java ! src/share/classes/sun/awt/ScrollPaneWheelScroller.java ! src/share/classes/sun/awt/SunDisplayChanger.java ! src/share/classes/sun/awt/SunGraphicsCallback.java ! src/share/classes/sun/awt/SunToolkit.java ! src/share/classes/sun/awt/WindowAccessor.java ! src/share/classes/sun/awt/datatransfer/DataTransferer.java ! src/share/classes/sun/awt/dnd/SunDropTargetContextPeer.java ! src/share/classes/sun/awt/im/InputContext.java ! src/share/classes/sun/font/FontUtilities.java ! src/share/classes/sun/font/SunFontManager.java ! src/share/classes/sun/font/TrueTypeFont.java ! src/share/classes/sun/java2d/SunGraphicsEnvironment.java ! src/solaris/classes/sun/awt/X11/InfoWindow.java ! src/solaris/classes/sun/awt/X11/ListHelper.java ! src/solaris/classes/sun/awt/X11/UnsafeXDisposerRecord.java ! src/solaris/classes/sun/awt/X11/XAWTXSettings.java ! src/solaris/classes/sun/awt/X11/XBaseMenuWindow.java ! src/solaris/classes/sun/awt/X11/XBaseWindow.java ! src/solaris/classes/sun/awt/X11/XCheckboxMenuItemPeer.java ! src/solaris/classes/sun/awt/X11/XCheckboxPeer.java ! src/solaris/classes/sun/awt/X11/XChoicePeer.java ! src/solaris/classes/sun/awt/X11/XComponentPeer.java ! src/solaris/classes/sun/awt/X11/XContentWindow.java ! src/solaris/classes/sun/awt/X11/XDecoratedPeer.java ! src/solaris/classes/sun/awt/X11/XDnDDragSourceProtocol.java ! src/solaris/classes/sun/awt/X11/XDnDDropTargetProtocol.java ! src/solaris/classes/sun/awt/X11/XDragSourceContextPeer.java ! src/solaris/classes/sun/awt/X11/XDropTargetContextPeer.java ! src/solaris/classes/sun/awt/X11/XDropTargetProtocol.java ! src/solaris/classes/sun/awt/X11/XDropTargetRegistry.java ! src/solaris/classes/sun/awt/X11/XEmbedCanvasPeer.java ! src/solaris/classes/sun/awt/X11/XEmbedClientHelper.java ! src/solaris/classes/sun/awt/X11/XEmbedHelper.java ! src/solaris/classes/sun/awt/X11/XEmbedServerTester.java ! src/solaris/classes/sun/awt/X11/XEmbeddedFramePeer.java ! src/solaris/classes/sun/awt/X11/XFileDialogPeer.java ! src/solaris/classes/sun/awt/X11/XFocusProxyWindow.java ! src/solaris/classes/sun/awt/X11/XFramePeer.java ! src/solaris/classes/sun/awt/X11/XIconWindow.java ! src/solaris/classes/sun/awt/X11/XInputMethod.java ! src/solaris/classes/sun/awt/X11/XKeyboardFocusManagerPeer.java ! src/solaris/classes/sun/awt/X11/XKeysym.java ! src/solaris/classes/sun/awt/X11/XListPeer.java ! src/solaris/classes/sun/awt/X11/XMSelection.java ! src/solaris/classes/sun/awt/X11/XMenuBarPeer.java ! src/solaris/classes/sun/awt/X11/XMenuItemPeer.java ! src/solaris/classes/sun/awt/X11/XMenuPeer.java ! src/solaris/classes/sun/awt/X11/XMenuWindow.java ! src/solaris/classes/sun/awt/X11/XNETProtocol.java ! src/solaris/classes/sun/awt/X11/XPopupMenuPeer.java ! src/solaris/classes/sun/awt/X11/XProtocol.java ! src/solaris/classes/sun/awt/X11/XQueryTree.java ! src/solaris/classes/sun/awt/X11/XScrollbar.java ! src/solaris/classes/sun/awt/X11/XScrollbarPeer.java ! src/solaris/classes/sun/awt/X11/XSystemTrayPeer.java ! src/solaris/classes/sun/awt/X11/XTextFieldPeer.java ! src/solaris/classes/sun/awt/X11/XToolkit.java ! src/solaris/classes/sun/awt/X11/XTrayIconPeer.java ! src/solaris/classes/sun/awt/X11/XWINProtocol.java ! src/solaris/classes/sun/awt/X11/XWM.java ! src/solaris/classes/sun/awt/X11/XWindow.java ! src/solaris/classes/sun/awt/X11/XWindowPeer.java ! src/solaris/classes/sun/awt/X11/XWrapperBase.java ! src/solaris/classes/sun/awt/X11/generator/WrapperGenerator.java ! src/solaris/classes/sun/awt/X11/keysym2ucs.h ! src/solaris/classes/sun/awt/X11FontManager.java ! src/solaris/classes/sun/awt/X11GraphicsEnvironment.java ! src/solaris/classes/sun/awt/X11InputMethod.java ! src/solaris/classes/sun/awt/motif/MFontConfiguration.java ! src/solaris/classes/sun/awt/motif/MToolkit.java ! src/solaris/classes/sun/font/FcFontConfiguration.java ! src/solaris/classes/sun/font/FontConfigManager.java ! src/windows/classes/sun/awt/windows/WComponentPeer.java ! src/windows/classes/sun/awt/windows/WDesktopProperties.java ! src/windows/classes/sun/awt/windows/WMenuItemPeer.java ! src/windows/classes/sun/awt/windows/WPanelPeer.java ! src/windows/classes/sun/awt/windows/WScrollPanePeer.java ! src/windows/classes/sun/awt/windows/WToolkit.java ! src/windows/classes/sun/awt/windows/WWindowPeer.java Changeset: 5b52851b0927 Author: mchung Date: 2009-09-29 22:49 -0700 URL: http://hg.openjdk.java.net/jdk7/awt/jdk/rev/5b52851b0927 Merge Changeset: 633806cdab51 Author: jgodinez Date: 2009-10-05 18:22 -0700 URL: http://hg.openjdk.java.net/jdk7/awt/jdk/rev/633806cdab51 Merge Changeset: c715b68cdcaf Author: darcy Date: 2009-09-22 16:11 -0700 URL: http://hg.openjdk.java.net/jdk7/awt/jdk/rev/c715b68cdcaf 6468534: (reflect) Exception types cannot be parameterized, rephrase getGenericExceptionTypes. Reviewed-by: alanb ! src/share/classes/java/lang/reflect/Constructor.java ! src/share/classes/java/lang/reflect/Method.java Changeset: bbb543254c63 Author: martin Date: 2009-09-22 18:30 -0700 URL: http://hg.openjdk.java.net/jdk7/awt/jdk/rev/bbb543254c63 4245470: algorithm of java.lang.Byte.hashCode() is not specified Summary: Specify some hashCode methods are equivalent to intValue Reviewed-by: darcy ! src/share/classes/java/lang/Byte.java ! src/share/classes/java/lang/Character.java ! src/share/classes/java/lang/Short.java + test/java/lang/HashCode.java Changeset: eb92c939b8a7 Author: martin Date: 2009-09-22 18:30 -0700 URL: http://hg.openjdk.java.net/jdk7/awt/jdk/rev/eb92c939b8a7 6582946: Add suite of compare(T, T) methods for ints, longs etc Reviewed-by: darcy Contributed-by: kevinb at google.com ! src/share/classes/java/lang/Boolean.java ! src/share/classes/java/lang/Byte.java ! src/share/classes/java/lang/Character.java ! src/share/classes/java/lang/Integer.java ! src/share/classes/java/lang/Long.java ! src/share/classes/java/lang/Short.java + test/java/lang/Compare.java Changeset: bd928aefe692 Author: weijun Date: 2009-09-24 21:35 +0800 URL: http://hg.openjdk.java.net/jdk7/awt/jdk/rev/bd928aefe692 6885166: regression test for 6877357 (IPv6 address does not work) error (timed out) Reviewed-by: xuelei ! test/sun/security/krb5/IPv6.java Changeset: 5b1aaf2d7504 Author: ptisnovs Date: 2009-09-30 11:49 +0200 URL: http://hg.openjdk.java.net/jdk7/awt/jdk/rev/5b1aaf2d7504 6884837: JTReg test SetOutgoingIf is not correct Summary: Added check of network interfaces status Reviewed-by: alanb, chegar ! test/java/net/MulticastSocket/SetOutgoingIf.java Changeset: dd724911c90a Author: michaelm Date: 2009-09-29 10:00 +0100 URL: http://hg.openjdk.java.net/jdk7/awt/jdk/rev/dd724911c90a 6886108: Test case B4933582 binding to fixed port number Reviewed-by: chegar ! test/java/net/Authenticator/B4933582.java ! test/sun/net/www/httptest/HttpTransaction.java ! test/sun/security/ssl/sun/net/www/httpstest/HttpTransaction.java Changeset: 896cbd9c91f4 Author: michaelm Date: 2009-10-01 11:25 +0100 URL: http://hg.openjdk.java.net/jdk7/awt/jdk/rev/896cbd9c91f4 Merge Changeset: 527ad9cbc9cf Author: weijun Date: 2009-10-02 18:44 +0800 URL: http://hg.openjdk.java.net/jdk7/awt/jdk/rev/527ad9cbc9cf 6324292: keytool -help is unhelpful Reviewed-by: xuelei, mullan ! src/share/classes/sun/security/tools/KeyTool.java ! src/share/classes/sun/security/util/Resources.java + test/sun/security/tools/keytool/newhelp.sh Changeset: 56bad48e2810 Author: weijun Date: 2009-10-02 18:47 +0800 URL: http://hg.openjdk.java.net/jdk7/awt/jdk/rev/56bad48e2810 6862679: ESC: AD Authentication with user with umlauts fails Reviewed-by: valeriep, mullan ! src/share/classes/sun/security/krb5/Credentials.java ! src/share/classes/sun/security/krb5/KrbAsReq.java ! src/share/classes/sun/security/krb5/PrincipalName.java ! src/share/classes/sun/security/krb5/Realm.java ! src/share/classes/sun/security/krb5/internal/ETypeInfo.java ! src/share/classes/sun/security/krb5/internal/ETypeInfo2.java ! src/share/classes/sun/security/krb5/internal/KRBError.java ! src/share/classes/sun/security/krb5/internal/crypto/Des.java + src/share/classes/sun/security/krb5/internal/util/KerberosString.java ! src/windows/classes/sun/security/krb5/internal/tools/Kinit.java + test/sun/security/krb5/RFC396xTest.java Changeset: a2d24418be6c Author: weijun Date: 2009-10-02 18:49 +0800 URL: http://hg.openjdk.java.net/jdk7/awt/jdk/rev/a2d24418be6c 6874472: display address lists for tickets in klist tool Reviewed-by: valeriep ! src/windows/classes/sun/security/krb5/internal/tools/Klist.java Changeset: a6046f6e720e Author: weijun Date: 2009-10-02 18:49 +0800 URL: http://hg.openjdk.java.net/jdk7/awt/jdk/rev/a6046f6e720e 6868579: RFE: jarsigner to support reading password from environment variable Reviewed-by: xuelei, wetmore ! src/share/classes/sun/security/tools/JarSigner.java ! src/share/classes/sun/security/tools/KeyTool.java ! src/share/classes/sun/security/util/Resources.java + test/sun/security/tools/jarsigner/passtype.sh Changeset: f0fdc4dd97d5 Author: michaelm Date: 2009-10-02 13:57 +0100 URL: http://hg.openjdk.java.net/jdk7/awt/jdk/rev/f0fdc4dd97d5 6870935: DIGEST proxy authentication fails to connect to URLs with no trailing slash Reviewed-by: chegar ! src/share/classes/sun/net/www/protocol/http/AuthenticationInfo.java ! src/share/classes/sun/net/www/protocol/http/BasicAuthentication.java ! src/share/classes/sun/net/www/protocol/http/DigestAuthentication.java ! src/share/classes/sun/net/www/protocol/http/HttpURLConnection.java ! src/share/classes/sun/net/www/protocol/http/NegotiateAuthentication.java ! src/solaris/classes/sun/net/www/protocol/http/NTLMAuthentication.java ! src/windows/classes/sun/net/www/protocol/http/NTLMAuthentication.java + test/java/net/Authenticator/B6870935.java Changeset: e782a9564eae Author: michaelm Date: 2009-10-02 13:59 +0100 URL: http://hg.openjdk.java.net/jdk7/awt/jdk/rev/e782a9564eae Merge Changeset: 9fcca0aae3da Author: tbell Date: 2009-10-02 08:49 -0700 URL: http://hg.openjdk.java.net/jdk7/awt/jdk/rev/9fcca0aae3da 6787605: OpenSolaris doesn't have /usr/ucb/ps so ShellScaffold fails Reviewed-by: dcubed ! test/com/sun/jdi/ShellScaffold.sh Changeset: 97f17e6d0560 Author: alanb Date: 2009-10-04 15:42 +0100 URL: http://hg.openjdk.java.net/jdk7/awt/jdk/rev/97f17e6d0560 6884800: (file) Path.newInputStream does not usefully implement available() Reviewed-by: martin, chegar ! src/share/classes/sun/nio/ch/ChannelInputStream.java ! test/java/nio/channels/Channels/Basic.java Changeset: a4f31836660a Author: alanb Date: 2009-10-05 16:45 +0100 URL: http://hg.openjdk.java.net/jdk7/awt/jdk/rev/a4f31836660a 6854954: Eliminate static dependency on java.awt.AWTPermission Reviewed-by: mullan, mchung, anthony ! src/share/classes/java/awt/Dialog.java ! src/share/classes/java/awt/MouseInfo.java ! src/share/classes/java/awt/Robot.java ! src/share/classes/java/awt/SystemTray.java ! src/share/classes/java/awt/Toolkit.java ! src/share/classes/java/awt/Window.java ! src/share/classes/java/lang/SecurityManager.java ! src/share/classes/javax/swing/JPopupMenu.java + src/share/classes/sun/awt/AWTPermissionFactory.java ! src/share/classes/sun/security/provider/PolicyFile.java + src/share/classes/sun/security/util/PermissionFactory.java ! src/share/classes/sun/security/util/SecurityConstants.java Changeset: 54118c8e0ebe Author: vinnie Date: 2009-10-05 23:42 +0100 URL: http://hg.openjdk.java.net/jdk7/awt/jdk/rev/54118c8e0ebe 6885204: JSSE should not require Kerberos to be present Reviewed-by: wetmore, alanb ! src/share/classes/com/sun/net/ssl/internal/www/protocol/https/DelegateHttpsURLConnection.java ! src/share/classes/sun/net/www/protocol/https/HttpsClient.java ! src/share/classes/sun/security/ssl/CipherSuite.java ! src/share/classes/sun/security/ssl/JsseJce.java Changeset: c499401bc138 Author: mchung Date: 2009-10-05 18:15 -0700 URL: http://hg.openjdk.java.net/jdk7/awt/jdk/rev/c499401bc138 6612680: Remove classloader dependency on jkernel Summary: Add a new sun.misc.BootClassLoaderHook that DownloadManager will implement Reviewed-by: alanb, forax, igor ! make/sun/jkernel/Makefile ! src/share/classes/java/awt/color/ICC_Profile.java ! src/share/classes/java/lang/ClassLoader.java ! src/share/classes/java/util/zip/ZipEntry.java ! src/share/classes/sun/jkernel/DownloadManager.java + src/share/classes/sun/misc/BootClassLoaderHook.java ! src/share/classes/sun/misc/Launcher.java ! src/share/classes/sun/misc/VM.java ! src/share/native/sun/misc/VM.c Changeset: 572791538be5 Author: darcy Date: 2009-10-06 13:31 -0700 URL: http://hg.openjdk.java.net/jdk7/awt/jdk/rev/572791538be5 5062288: (reflect) Core reflection uses raw types when it could be using wildcards Reviewed-by: alanb ! src/share/classes/java/lang/Class.java ! src/share/classes/java/lang/Package.java ! src/share/classes/java/lang/reflect/AccessibleObject.java ! src/share/classes/java/lang/reflect/Constructor.java ! src/share/classes/java/lang/reflect/Field.java ! src/share/classes/java/lang/reflect/Method.java ! src/share/classes/java/lang/reflect/Proxy.java ! src/share/classes/java/lang/reflect/ReflectAccess.java ! src/share/classes/sun/reflect/LangReflectAccess.java ! src/share/classes/sun/reflect/annotation/AnnotationInvocationHandler.java ! src/share/classes/sun/reflect/annotation/AnnotationParser.java ! src/share/classes/sun/reflect/annotation/AnnotationType.java Changeset: 1b81fc851b20 Author: mchung Date: 2009-10-06 15:14 -0700 URL: http://hg.openjdk.java.net/jdk7/awt/jdk/rev/1b81fc851b20 6888802: sun.misc.BootClassLoaderHook.getBootstrapPaths stack overflow Summary: Fixed sun.misc.BootClassLoaderHook.getBootstrapPaths calls hook.getAdditionalBootstrapPaths Reviewed-by: alanb, tbell ! src/share/classes/sun/misc/BootClassLoaderHook.java + test/sun/misc/BootClassLoaderHook/TestHook.java Changeset: f69b40e43bff Author: kamg Date: 2009-10-06 22:01 -0400 URL: http://hg.openjdk.java.net/jdk7/awt/jdk/rev/f69b40e43bff 6885916: Memory leak in inferencing verifier (libverify.so) Summary: Use the memory management already present to track allocated memory Reviewed-by: coleenp, acorn ! src/share/native/common/check_code.c Changeset: f864c15f6779 Author: chegar Date: 2009-10-07 17:23 +0100 URL: http://hg.openjdk.java.net/jdk7/awt/jdk/rev/f864c15f6779 6887364: SetOutgoingIf.java fails if run on multihomed machine without PIv6 on all interfaces Reviewed-by: alanb ! test/java/net/MulticastSocket/SetOutgoingIf.java Changeset: 777714bd992a Author: tbell Date: 2009-10-07 13:53 -0700 URL: http://hg.openjdk.java.net/jdk7/awt/jdk/rev/777714bd992a 6888888: new javah throws NullPointerException when building in jdk/make/java/nio Summary: Use the bootstrap javah during the build until bug-ID 6889255 is fixed Reviewed-by: jjg ! make/common/shared/Defs-java.gmk Changeset: e7ad502130ba Author: darcy Date: 2009-10-07 14:04 -0700 URL: http://hg.openjdk.java.net/jdk7/awt/jdk/rev/e7ad502130ba 6480728: Byte.valueOf(byte) returns a cached value but Byte.valueOf(String) 6655735: Integer.toString() and String.valueOf(int) contain slow delegations Reviewed-by: lancea ! src/share/classes/java/lang/Byte.java ! src/share/classes/java/lang/Double.java ! src/share/classes/java/lang/Float.java ! src/share/classes/java/lang/Integer.java ! src/share/classes/java/lang/Long.java ! src/share/classes/java/lang/Short.java ! src/share/classes/java/lang/String.java Changeset: 405fd587f13f Author: tbell Date: 2009-10-07 14:15 -0700 URL: http://hg.openjdk.java.net/jdk7/awt/jdk/rev/405fd587f13f Merge ! src/share/classes/java/awt/Toolkit.java ! src/share/classes/java/awt/Window.java Changeset: 4358934555bc Author: yan Date: 2009-10-06 23:40 -0700 URL: http://hg.openjdk.java.net/jdk7/awt/jdk/rev/4358934555bc Merge ! src/share/classes/java/awt/Component.java ! src/share/classes/java/awt/Container.java ! src/share/classes/java/awt/EventQueue.java ! src/share/classes/sun/awt/AWTAutoShutdown.java ! src/solaris/classes/sun/awt/X11/XToolkit.java Changeset: 6216604c05e2 Author: alexp Date: 2009-09-09 17:32 +0400 URL: http://hg.openjdk.java.net/jdk7/awt/jdk/rev/6216604c05e2 6878792: Sample provided in javax.swing.JLayer class description is not usable Reviewed-by: rupashka ! src/share/classes/javax/swing/JLayer.java Changeset: afd85f72784b Author: peterz Date: 2009-09-10 12:30 +0400 URL: http://hg.openjdk.java.net/jdk7/awt/jdk/rev/afd85f72784b 6827786: Mnemonic cycling for multiple equal mnemonic armed menu items stops when encountering a submenu Reviewed-by: alexp ! src/share/classes/javax/swing/plaf/basic/BasicMenuUI.java ! src/share/classes/javax/swing/plaf/basic/BasicPopupMenuUI.java Changeset: 51ccbb892a1f Author: alexp Date: 2009-09-15 16:26 +0400 URL: http://hg.openjdk.java.net/jdk7/awt/jdk/rev/51ccbb892a1f 6875716: JLayer.remove((Component)null) should behave consistently in (not) throwing NPE Reviewed-by: rupashka ! src/share/classes/javax/swing/JLayer.java + test/javax/swing/JLayer/6875716/bug6875716.java Changeset: a64dbe61a984 Author: gsm Date: 2009-09-16 16:15 +0400 URL: http://hg.openjdk.java.net/jdk7/awt/jdk/rev/a64dbe61a984 4337267: Arabic Numeral Shaping Reviewed-by: peterz ! src/share/classes/javax/swing/text/TextLayoutStrategy.java ! src/share/classes/sun/swing/SwingUtilities2.java + test/javax/swing/JComponent/4337267/bug4337267.java Changeset: 481c01572c62 Author: alexp Date: 2009-09-17 19:08 +0400 URL: http://hg.openjdk.java.net/jdk7/awt/jdk/rev/481c01572c62 4833524: BasicTreeUI.isToggleSelectionEvent() does not properly handle popup triggers Reviewed-by: rupashka ! src/share/classes/javax/swing/plaf/basic/BasicComboBoxUI.java ! src/share/classes/javax/swing/plaf/basic/BasicComboPopup.java ! src/share/classes/javax/swing/plaf/basic/BasicFileChooserUI.java ! src/share/classes/javax/swing/plaf/basic/BasicGraphicsUtils.java ! src/share/classes/javax/swing/plaf/basic/BasicListUI.java ! src/share/classes/javax/swing/plaf/basic/BasicTableUI.java ! src/share/classes/javax/swing/plaf/basic/BasicTreeUI.java ! src/share/classes/javax/swing/text/DefaultCaret.java Changeset: 1c7abc800502 Author: rupashka Date: 2009-09-18 15:11 +0400 URL: http://hg.openjdk.java.net/jdk7/awt/jdk/rev/1c7abc800502 6840086: JFileChooser lacks icons on top right when running on Windows 7 Reviewed-by: peterz, uta ! src/share/classes/sun/awt/shell/ShellFolderManager.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/6840086/bug6840086.java Changeset: fa71ca7a3655 Author: yan Date: 2009-09-21 01:26 -0700 URL: http://hg.openjdk.java.net/jdk7/awt/jdk/rev/fa71ca7a3655 Merge - src/share/classes/sun/nio/ch/AbstractFuture.java - src/share/native/java/util/zip/zlib-1.1.3/ChangeLog - src/share/native/java/util/zip/zlib-1.1.3/README - src/share/native/java/util/zip/zlib-1.1.3/compress.c - src/share/native/java/util/zip/zlib-1.1.3/deflate.c - src/share/native/java/util/zip/zlib-1.1.3/deflate.h - src/share/native/java/util/zip/zlib-1.1.3/doc/algorithm.doc - src/share/native/java/util/zip/zlib-1.1.3/example.c - src/share/native/java/util/zip/zlib-1.1.3/gzio.c - src/share/native/java/util/zip/zlib-1.1.3/infblock.c - src/share/native/java/util/zip/zlib-1.1.3/infblock.h - src/share/native/java/util/zip/zlib-1.1.3/infcodes.c - src/share/native/java/util/zip/zlib-1.1.3/infcodes.h - src/share/native/java/util/zip/zlib-1.1.3/inffast.c - src/share/native/java/util/zip/zlib-1.1.3/inffast.h - src/share/native/java/util/zip/zlib-1.1.3/inffixed.h - src/share/native/java/util/zip/zlib-1.1.3/inflate.c - src/share/native/java/util/zip/zlib-1.1.3/inftrees.c - src/share/native/java/util/zip/zlib-1.1.3/inftrees.h - src/share/native/java/util/zip/zlib-1.1.3/infutil.c - src/share/native/java/util/zip/zlib-1.1.3/infutil.h - src/share/native/java/util/zip/zlib-1.1.3/minigzip.c - src/share/native/java/util/zip/zlib-1.1.3/trees.c - src/share/native/java/util/zip/zlib-1.1.3/trees.h - src/share/native/java/util/zip/zlib-1.1.3/uncompr.c - src/share/native/java/util/zip/zlib-1.1.3/zadler32.c - src/share/native/java/util/zip/zlib-1.1.3/zconf.h - src/share/native/java/util/zip/zlib-1.1.3/zcrc32.c - src/share/native/java/util/zip/zlib-1.1.3/zlib.h - src/share/native/java/util/zip/zlib-1.1.3/zutil.c - src/share/native/java/util/zip/zlib-1.1.3/zutil.h - test/java/util/concurrent/LinkedBlockingQueue/LastElement.java - test/java/util/concurrent/LinkedBlockingQueue/OfferRemoveLoops.java Changeset: 9d78c3d9def2 Author: alexp Date: 2009-09-21 17:58 +0400 URL: http://hg.openjdk.java.net/jdk7/awt/jdk/rev/9d78c3d9def2 6883341: SWAT: jdk7-b72 swat build(2009-09-17) threw exceptions when running Java2D demo by clicking Paint ta Reviewed-by: peterz ! src/share/classes/sun/swing/SwingUtilities2.java + test/javax/swing/JMenuItem/6883341/bug6883341.java Changeset: 6115613a3386 Author: peterz Date: 2009-09-23 21:14 +0400 URL: http://hg.openjdk.java.net/jdk7/awt/jdk/rev/6115613a3386 6857888: closed/javax/swing/JMenuItem/6458123/bug6458123.java fails with InvocationTargetException. Reviewed-by: alexp ! src/share/classes/javax/swing/plaf/nimbus/skin.laf ! src/share/classes/javax/swing/plaf/synth/SynthGraphicsUtils.java Changeset: d5045dd60c29 Author: rupashka Date: 2009-10-06 17:01 +0400 URL: http://hg.openjdk.java.net/jdk7/awt/jdk/rev/d5045dd60c29 6489130: FileChooserDemo hung by keeping pressing Enter key Reviewed-by: alexp ! src/share/classes/javax/swing/JFileChooser.java + test/javax/swing/JFileChooser/6489130/bug6489130.java Changeset: dca0ab1a1ac3 Author: yan Date: 2009-10-06 23:44 -0700 URL: http://hg.openjdk.java.net/jdk7/awt/jdk/rev/dca0ab1a1ac3 Merge ! src/share/classes/sun/swing/SwingUtilities2.java Changeset: 77f213891ce3 Author: lana Date: 2009-10-13 15:25 -0700 URL: http://hg.openjdk.java.net/jdk7/awt/jdk/rev/77f213891ce3 Merge Changeset: eacb36e30327 Author: vinnie Date: 2009-10-14 23:41 +0100 URL: http://hg.openjdk.java.net/jdk7/awt/jdk/rev/eacb36e30327 6891632: Remove duplicate ECC source files Reviewed-by: wetmore - src/share/native/sun/security/ec/ec.h - src/share/native/sun/security/ec/ec2.h - src/share/native/sun/security/ec/ec2_163.c - src/share/native/sun/security/ec/ec2_193.c - src/share/native/sun/security/ec/ec2_233.c - src/share/native/sun/security/ec/ec2_aff.c - src/share/native/sun/security/ec/ec2_mont.c - src/share/native/sun/security/ec/ec_naf.c - src/share/native/sun/security/ec/ecc_impl.h - src/share/native/sun/security/ec/ecdecode.c - src/share/native/sun/security/ec/ecl-curve.h - src/share/native/sun/security/ec/ecl-exp.h - src/share/native/sun/security/ec/ecl-priv.h - src/share/native/sun/security/ec/ecl.c - src/share/native/sun/security/ec/ecl.h - src/share/native/sun/security/ec/ecl_curve.c - src/share/native/sun/security/ec/ecl_gf.c - src/share/native/sun/security/ec/ecl_mult.c - src/share/native/sun/security/ec/ecp.h - src/share/native/sun/security/ec/ecp_192.c - src/share/native/sun/security/ec/ecp_224.c - src/share/native/sun/security/ec/ecp_256.c - src/share/native/sun/security/ec/ecp_384.c - src/share/native/sun/security/ec/ecp_521.c - src/share/native/sun/security/ec/ecp_aff.c - src/share/native/sun/security/ec/ecp_jac.c - src/share/native/sun/security/ec/ecp_jm.c - src/share/native/sun/security/ec/ecp_mont.c - src/share/native/sun/security/ec/logtab.h - src/share/native/sun/security/ec/mp_gf2m-priv.h - src/share/native/sun/security/ec/mp_gf2m.c - src/share/native/sun/security/ec/mp_gf2m.h - src/share/native/sun/security/ec/mpi-config.h - src/share/native/sun/security/ec/mpi-priv.h - src/share/native/sun/security/ec/mpi.c - src/share/native/sun/security/ec/mpi.h - src/share/native/sun/security/ec/mplogic.c - src/share/native/sun/security/ec/mplogic.h - src/share/native/sun/security/ec/mpmontg.c - src/share/native/sun/security/ec/mpprime.h - src/share/native/sun/security/ec/oid.c - src/share/native/sun/security/ec/secitem.c - src/share/native/sun/security/ec/secoidt.h Changeset: 8e566a3daa5c Author: lana Date: 2009-10-15 16:37 -0700 URL: http://hg.openjdk.java.net/jdk7/awt/jdk/rev/8e566a3daa5c Merge ! src/share/classes/java/awt/Component.java ! src/share/classes/java/awt/Container.java - src/share/classes/sun/net/www/protocol/http/InMemoryCookieStore.java - src/share/native/sun/security/ec/ec.c - src/share/native/sun/security/ec/ec.h - src/share/native/sun/security/ec/ec2.h - src/share/native/sun/security/ec/ec2_163.c - src/share/native/sun/security/ec/ec2_193.c - src/share/native/sun/security/ec/ec2_233.c - src/share/native/sun/security/ec/ec2_aff.c - src/share/native/sun/security/ec/ec2_mont.c - src/share/native/sun/security/ec/ec_naf.c - src/share/native/sun/security/ec/ecc_impl.h - src/share/native/sun/security/ec/ecdecode.c - src/share/native/sun/security/ec/ecl-curve.h - src/share/native/sun/security/ec/ecl-exp.h - src/share/native/sun/security/ec/ecl-priv.h - src/share/native/sun/security/ec/ecl.c - src/share/native/sun/security/ec/ecl.h - src/share/native/sun/security/ec/ecl_curve.c - src/share/native/sun/security/ec/ecl_gf.c - src/share/native/sun/security/ec/ecl_mult.c - src/share/native/sun/security/ec/ecp.h - src/share/native/sun/security/ec/ecp_192.c - src/share/native/sun/security/ec/ecp_224.c - src/share/native/sun/security/ec/ecp_256.c - src/share/native/sun/security/ec/ecp_384.c - src/share/native/sun/security/ec/ecp_521.c - src/share/native/sun/security/ec/ecp_aff.c - src/share/native/sun/security/ec/ecp_jac.c - src/share/native/sun/security/ec/ecp_jm.c - src/share/native/sun/security/ec/ecp_mont.c - src/share/native/sun/security/ec/logtab.h - src/share/native/sun/security/ec/mp_gf2m-priv.h - src/share/native/sun/security/ec/mp_gf2m.c - src/share/native/sun/security/ec/mp_gf2m.h - src/share/native/sun/security/ec/mpi-config.h - src/share/native/sun/security/ec/mpi-priv.h - src/share/native/sun/security/ec/mpi.c - src/share/native/sun/security/ec/mpi.h - src/share/native/sun/security/ec/mplogic.c - src/share/native/sun/security/ec/mplogic.h - src/share/native/sun/security/ec/mpmontg.c - src/share/native/sun/security/ec/mpprime.h - src/share/native/sun/security/ec/oid.c - src/share/native/sun/security/ec/secitem.c - src/share/native/sun/security/ec/secoidt.h ! src/solaris/classes/sun/awt/X11/XDropTargetRegistry.java ! src/solaris/classes/sun/awt/X11/XWindow.java ! src/solaris/classes/sun/awt/X11/XWindowPeer.java ! src/windows/classes/sun/awt/windows/WComponentPeer.java ! src/windows/classes/sun/awt/windows/WWindowPeer.java From lana.steuck at sun.com Thu Oct 15 20:08:36 2009 From: lana.steuck at sun.com (lana.steuck at sun.com) Date: Fri, 16 Oct 2009 03:08:36 +0000 Subject: hg: jdk7/awt/langtools: 17 new changesets Message-ID: <20091016030906.6CC8941824@hg.openjdk.java.net> Changeset: 14735c7932d7 Author: xdono Date: 2009-09-22 14:06 -0700 URL: http://hg.openjdk.java.net/jdk7/awt/langtools/rev/14735c7932d7 6884624: Update copyright year Summary: Update copyright for files that have been modified in 2009 through Septermber Reviewed-by: tbell, ohair ! src/share/classes/com/sun/tools/javac/code/Type.java ! src/share/classes/com/sun/tools/javac/file/BaseFileObject.java ! src/share/classes/com/sun/tools/javac/file/JavacFileManager.java ! src/share/classes/com/sun/tools/javac/file/RegularFileObject.java ! src/share/classes/com/sun/tools/javac/file/SymbolArchive.java ! src/share/classes/com/sun/tools/javac/file/ZipArchive.java ! src/share/classes/com/sun/tools/javac/file/ZipFileIndexArchive.java ! src/share/classes/com/sun/tools/javac/jvm/ClassReader.java ! src/share/classes/com/sun/tools/javap/JavapTask.java ! test/com/sun/javadoc/lib/JavadocTester.java ! test/com/sun/javadoc/testCRLineSeparator/TestCRLineSeparator.java ! test/com/sun/javadoc/testCRLineSeparator/pkg/MyClass.java ! test/com/sun/javadoc/testNoPackagesFile/TestNoPackagesFile.java ! test/com/sun/javadoc/testOverridenMethods/TestMultiInheritence.java ! test/com/sun/javadoc/testTaglets/TestTaglets.java ! test/tools/apt/Basics/apt.sh ! test/tools/apt/Basics/print.sh ! test/tools/apt/Compile/compile.sh ! test/tools/javac/4846262/Test.sh ! test/tools/javac/6302184/T6302184.sh ! test/tools/javac/6627362/T6627362.java ! test/tools/javac/ClassPathTest/ClassPathTest.sh ! test/tools/javac/ExtDirs/ExtDirs.sh ! test/tools/javac/MissingInclude.sh ! test/tools/javac/ProtectedInnerClass/ProtectedInnerClass.sh ! test/tools/javac/T5090006/compiler.sh ! test/tools/javac/api/6440333/T6440333.java ! test/tools/javac/api/Sibling.java ! test/tools/javac/code/ArrayClone.java ! test/tools/javac/constDebug/ConstDebug.sh ! test/tools/javac/fatalErrors/NoJavaLang.sh ! test/tools/javac/generics/inference/6302954/T6476073.java ! test/tools/javac/innerClassFile/Driver.sh ! test/tools/javac/javazip/Test.sh ! test/tools/javac/meth/MakeNegTests.sh ! test/tools/javac/newlines/Newlines.sh ! test/tools/javac/quid/MakeNegTests.sh ! test/tools/javac/quid/QuotedIdent.java ! test/tools/javac/quid/QuotedIdent2.java ! test/tools/javac/stackmap/T4955930.sh ! test/tools/javac/unicode/SupplementaryJavaID6.sh ! test/tools/javah/6257087/foo.sh ! test/tools/javah/ConstMacroTest.sh ! test/tools/javah/MissingParamClassTest.sh ! test/tools/javah/ReadOldClass.sh ! test/tools/javap/T4975569.java ! test/tools/javap/pathsep.sh ! test/tools/javap/stackmap/T6271292.sh Changeset: ebb6ad5a95bb Author: jjg Date: 2009-09-08 13:53 -0700 URL: http://hg.openjdk.java.net/jdk7/awt/langtools/rev/ebb6ad5a95bb 5093723: REGRESSION: ClassCastException in SingleIndexWriter Reviewed-by: jjg Contributed-by: ahe at google.com ! src/share/classes/com/sun/tools/doclets/formats/html/HtmlDocletWriter.java ! src/share/classes/com/sun/tools/doclets/formats/html/resources/standard.properties + test/com/sun/javadoc/5093723/DocumentedClass.java + test/com/sun/javadoc/5093723/T5093723.java + test/com/sun/javadoc/5093723/UndocumentedClass.java Changeset: 071a4e36cd87 Author: jjg Date: 2009-09-08 14:08 -0700 URL: http://hg.openjdk.java.net/jdk7/awt/langtools/rev/071a4e36cd87 6709246: ClassCastException in javadoc Reviewed-by: jjg Contributed-by: ahe at google.com ! src/share/classes/com/sun/tools/javadoc/AnnotationDescImpl.java + test/tools/javadoc/annotations/missing/Main.java + test/tools/javadoc/annotations/missing/somepackage/MissingAnnotationClass.java Changeset: f8be8bf150c3 Author: jjg Date: 2009-09-14 17:13 -0700 URL: http://hg.openjdk.java.net/jdk7/awt/langtools/rev/f8be8bf150c3 6881317: regression: NPE in CloseableURLClassLoader Reviewed-by: darcy ! src/share/classes/com/sun/tools/javac/file/CloseableURLClassLoader.java Changeset: 9dd34ed62341 Author: jjg Date: 2009-09-15 12:20 -0700 URL: http://hg.openjdk.java.net/jdk7/awt/langtools/rev/9dd34ed62341 6882235: invalid exponent causes silent javac crash Reviewed-by: darcy ! src/share/classes/com/sun/tools/javac/parser/JavacParser.java + test/tools/javac/T6882235.java + test/tools/javac/T6882235.out Changeset: 69eaccd3ea85 Author: jjg Date: 2009-09-15 18:36 -0700 URL: http://hg.openjdk.java.net/jdk7/awt/langtools/rev/69eaccd3ea85 6860965: Project Coin: binary literals 6860973: Project Coin: Underscores in literals Summary: [Portions contributed by Bruce Chapman] Reviewed-by: darcy ! src/share/classes/com/sun/tools/javac/code/Source.java ! src/share/classes/com/sun/tools/javac/parser/Scanner.java ! src/share/classes/com/sun/tools/javac/resources/compiler.properties ! test/tools/javac/enum/6384542/T6384542.out + test/tools/javac/literals/BadBinaryLiterals.6.out + test/tools/javac/literals/BadBinaryLiterals.7.out + test/tools/javac/literals/BadBinaryLiterals.java + test/tools/javac/literals/BadUnderscoreLiterals.6.out + test/tools/javac/literals/BadUnderscoreLiterals.7.out + test/tools/javac/literals/BadUnderscoreLiterals.java + test/tools/javac/literals/BinaryLiterals.java + test/tools/javac/literals/UnderscoreLiterals.java Changeset: 5dd400fd62d9 Author: tbell Date: 2009-09-18 08:48 -0700 URL: http://hg.openjdk.java.net/jdk7/awt/langtools/rev/5dd400fd62d9 Merge Changeset: 789ee1acf107 Author: darcy Date: 2009-09-21 21:08 -0700 URL: http://hg.openjdk.java.net/jdk7/awt/langtools/rev/789ee1acf107 6884227: Clarify ordering requirements of javax.lang.model.TypeElement.getEnclosedElements Reviewed-by: ahe ! src/share/classes/javax/lang/model/element/TypeElement.java Changeset: 9596dff46093 Author: tbell Date: 2009-09-25 14:24 -0700 URL: http://hg.openjdk.java.net/jdk7/awt/langtools/rev/9596dff46093 Merge Changeset: d498d6ef9c6c Author: xdono Date: 2009-10-02 11:26 -0700 URL: http://hg.openjdk.java.net/jdk7/awt/langtools/rev/d498d6ef9c6c Added tag jdk7-b73 for changeset 9596dff46093 ! .hgtags Changeset: e992e602788e Author: darcy Date: 2009-09-23 18:29 -0700 URL: http://hg.openjdk.java.net/jdk7/awt/langtools/rev/e992e602788e 6517779: javax.lang.model.util.Elements.getConstantExpression() doesn't throw any exception 6517907: javax.lang.model.util.Elements.getConstantExpression() with negative byte value fails Summary: Fix various problems with Elements.getConstantExpression() Reviewed-by: jjg ! src/share/classes/com/sun/tools/javac/util/Constants.java ! src/share/classes/com/sun/tools/javac/util/Convert.java + test/tools/javac/processing/model/util/elements/Foo.java + test/tools/javac/processing/model/util/elements/TestGetConstantExpression.java Changeset: 49359d0e6a9c Author: jjg Date: 2009-09-23 18:48 -0700 URL: http://hg.openjdk.java.net/jdk7/awt/langtools/rev/49359d0e6a9c 6410637: Make decision on deprecated methods in DefaultFileManager and BaseFileObject. 6747645: ZipFileObject.getName is incorrectly deprecated 6885123: JavaFileObject getName issues Reviewed-by: mcimadamore ! src/share/classes/com/sun/tools/apt/mirror/util/SourcePositionImpl.java ! src/share/classes/com/sun/tools/javac/file/BaseFileObject.java ! src/share/classes/com/sun/tools/javac/file/JavacFileManager.java - src/share/classes/com/sun/tools/javac/file/Old199.java ! src/share/classes/com/sun/tools/javac/file/RegularFileObject.java ! src/share/classes/com/sun/tools/javac/file/SymbolArchive.java ! src/share/classes/com/sun/tools/javac/file/ZipArchive.java ! src/share/classes/com/sun/tools/javac/file/ZipFileIndexArchive.java ! src/share/classes/com/sun/tools/javac/jvm/ClassReader.java ! src/share/classes/com/sun/tools/javac/jvm/ClassWriter.java ! src/share/classes/com/sun/tools/javac/util/AbstractDiagnosticFormatter.java ! src/share/classes/com/sun/tools/javac/util/DiagnosticSource.java ! src/share/classes/com/sun/tools/javac/util/JCDiagnostic.java ! src/share/classes/com/sun/tools/javac/util/Log.java ! src/share/classes/com/sun/tools/javac/util/RawDiagnosticFormatter.java ! src/share/classes/com/sun/tools/javadoc/SourcePositionImpl.java ! src/share/classes/javax/tools/SimpleJavaFileObject.java + test/tools/javac/4241573/T4241573.java ! test/tools/javac/6589361/T6589361.java ! test/tools/javac/Diagnostics/6769027/T6769027.java ! test/tools/javac/T6705935.java ! test/tools/javac/api/6411310/T6411310.java + test/tools/javac/api/6411310/Test.java ! test/tools/javac/api/6733837/T6733837.java Changeset: c287d51c57da Author: jjg Date: 2009-09-23 19:15 -0700 URL: http://hg.openjdk.java.net/jdk7/awt/langtools/rev/c287d51c57da 6572945: javah should be written as an annotation processor, not a doclet Reviewed-by: darcy ! make/build.xml ! src/share/classes/com/sun/tools/javah/Gen.java + src/share/classes/com/sun/tools/javah/InternalError.java ! src/share/classes/com/sun/tools/javah/JNI.java + src/share/classes/com/sun/tools/javah/JavahFileManager.java + src/share/classes/com/sun/tools/javah/JavahTask.java + src/share/classes/com/sun/tools/javah/JavahTool.java ! src/share/classes/com/sun/tools/javah/LLNI.java ! src/share/classes/com/sun/tools/javah/Main.java - src/share/classes/com/sun/tools/javah/MainDoclet.java ! src/share/classes/com/sun/tools/javah/Mangle.java + src/share/classes/com/sun/tools/javah/NativeHeaderTool.java ! src/share/classes/com/sun/tools/javah/TypeSignature.java ! src/share/classes/com/sun/tools/javah/Util.java - src/share/classes/com/sun/tools/javah/resources/Linux_ppc.properties - src/share/classes/com/sun/tools/javah/resources/Linux_sparc.properties - src/share/classes/com/sun/tools/javah/resources/SunOS_sparc.properties - src/share/classes/com/sun/tools/javah/resources/SunOS_sparcv9.properties ! src/share/classes/com/sun/tools/javah/resources/l10n.properties - src/share/classes/com/sun/tools/javah/resources/win32_x86.properties ! src/share/classes/com/sun/tools/javap/DisassemblerTool.java + test/tools/javah/6572945/T6572945.java + test/tools/javah/6572945/TestClass1.java + test/tools/javah/6572945/TestClass2.java + test/tools/javah/6572945/TestClass3.java + test/tools/javah/6572945/gold/jni.dir.1/TestClass1.h + test/tools/javah/6572945/gold/jni.dir.1/TestClass1_Inner1.h + test/tools/javah/6572945/gold/jni.dir.1/TestClass1_Inner2.h + test/tools/javah/6572945/gold/jni.dir.1/TestClass2.h + test/tools/javah/6572945/gold/jni.file.1 + test/tools/javah/6572945/gold/jni.file.2 + test/tools/javah/6572945/gold/jni.file.3 ! test/tools/javah/MissingParamClassTest.sh + test/tools/javah/compareTest/CompareTest.java + test/tools/javah/compareTest/CompareTest.sh + test/tools/javah/compareTest/FindNativeFiles.java + test/tools/javah/compareTest/README Changeset: d0f541480556 Author: darcy Date: 2009-09-24 16:00 -0700 URL: http://hg.openjdk.java.net/jdk7/awt/langtools/rev/d0f541480556 6337964: should ignore last comma in annotation array Reviewed-by: jjg ! src/share/classes/com/sun/tools/javac/parser/JavacParser.java + test/tools/javac/annotations/pos/TrailingComma.java Changeset: 4776a869fdfa Author: tbell Date: 2009-09-25 22:04 -0700 URL: http://hg.openjdk.java.net/jdk7/awt/langtools/rev/4776a869fdfa Merge ! src/share/classes/com/sun/tools/javac/file/BaseFileObject.java ! src/share/classes/com/sun/tools/javac/file/JavacFileManager.java - src/share/classes/com/sun/tools/javac/file/Old199.java ! src/share/classes/com/sun/tools/javac/file/RegularFileObject.java ! src/share/classes/com/sun/tools/javac/file/SymbolArchive.java ! src/share/classes/com/sun/tools/javac/file/ZipArchive.java ! src/share/classes/com/sun/tools/javac/file/ZipFileIndexArchive.java ! src/share/classes/com/sun/tools/javac/jvm/ClassReader.java - src/share/classes/com/sun/tools/javah/MainDoclet.java - src/share/classes/com/sun/tools/javah/resources/Linux_ppc.properties - src/share/classes/com/sun/tools/javah/resources/Linux_sparc.properties - src/share/classes/com/sun/tools/javah/resources/SunOS_sparc.properties - src/share/classes/com/sun/tools/javah/resources/SunOS_sparcv9.properties - src/share/classes/com/sun/tools/javah/resources/win32_x86.properties ! test/tools/javah/MissingParamClassTest.sh Changeset: c6d0c55b1aba Author: jjg Date: 2009-09-28 16:48 -0700 URL: http://hg.openjdk.java.net/jdk7/awt/langtools/rev/c6d0c55b1aba 6886348: apt incorrectly uses Scope.table Reviewed-by: darcy ! src/share/classes/com/sun/tools/apt/comp/Apt.java Changeset: 1a66b08deed0 Author: tbell Date: 2009-10-07 14:14 -0700 URL: http://hg.openjdk.java.net/jdk7/awt/langtools/rev/1a66b08deed0 Merge - src/share/classes/com/sun/tools/javac/file/Old199.java - src/share/classes/com/sun/tools/javah/MainDoclet.java - src/share/classes/com/sun/tools/javah/resources/Linux_ppc.properties - src/share/classes/com/sun/tools/javah/resources/Linux_sparc.properties - src/share/classes/com/sun/tools/javah/resources/SunOS_sparc.properties - src/share/classes/com/sun/tools/javah/resources/SunOS_sparcv9.properties - src/share/classes/com/sun/tools/javah/resources/win32_x86.properties From anthony.petrov at sun.com Mon Oct 19 05:06:57 2009 From: anthony.petrov at sun.com (anthony.petrov at sun.com) Date: Mon, 19 Oct 2009 12:06:57 +0000 Subject: hg: jdk7/awt/jdk: 6891483: XToolkit.getEnv() checks for NULL on a wrong symbol Message-ID: <20091019120729.8B59841D4B@hg.openjdk.java.net> Changeset: 1c2a70329868 Author: anthony Date: 2009-10-19 16:06 +0400 URL: http://hg.openjdk.java.net/jdk7/awt/jdk/rev/1c2a70329868 6891483: XToolkit.getEnv() checks for NULL on a wrong symbol Reviewed-by: dcherepanov ! src/solaris/native/sun/xawt/XToolkit.c From Anthony.Petrov at Sun.COM Mon Oct 19 06:22:50 2009 From: Anthony.Petrov at Sun.COM (Anthony Petrov) Date: Mon, 19 Oct 2009 17:22:50 +0400 Subject: Review request #2: 6863566 (Java should support the freedesktop.org startup notification specification) Message-ID: <4ADC682A.3080703@sun.com> Hello, Please review the latest version of the fix contributed by Damjan Jovanovic: RFE: https://bugs.openjdk.java.net/show_bug.cgi?id=100094 There you can also find some latest comments regarding the fix. webrev: http://cr.openjdk.java.net/~anthony/7-24-startupNotify-6863566.2/ The patch no longer unsets the environment variable, and hence does not need core-libs review. -- best regards, Anthony From ptisnovs at redhat.com Mon Oct 19 07:05:33 2009 From: ptisnovs at redhat.com (Pavel Tisnovsky) Date: Mon, 19 Oct 2009 16:05:33 +0200 Subject: Regression test jawa/awt/Window/AlwaysOnTopEvenOfWindow failures on OpenJDK6 & Gnome Message-ID: <4ADC722D.1070204@redhat.com> Hi, regression test jawa/awt/Window/AlwaysOnTopEvenOfWindow regularly fails on these platforms: Fedora 10/11, RHEL 5.3 i386, x86_64 OpenJDK6 * Gnome as desktop environment * It looks like that AWT Window constructed by calling new Window(null) is always shown on top (at least on Gnome), regardless of other settings. For example frame.setAlwaysOnTop(true) does not change order of top level containers. I'm not sure about Window constructed by new Window(null) correct behaviour. That probably means that this Window does not have parent container, but JavaDoc (only) says: "A window must have either a frame, dialog, or another window defined as its owner when it's constructed." When I change line 49 to Frame win = new Frame(); (Frame is constructed instead of Window), test passes. My question is: is this regression test written incorrectly or has OpenJDK6 & Gnome bug in top level containers handling? Thank you for your answers, Pavel Tisnovsky From Anton.Tarasov at Sun.COM Mon Oct 19 07:56:12 2009 From: Anton.Tarasov at Sun.COM (Anton V. Tarasov) Date: Mon, 19 Oct 2009 18:56:12 +0400 Subject: Patch for review: TestDialogTypeAhead In-Reply-To: <17c6771e0910121027p2f1983e4od54bb8ef638ed01@mail.gmail.com> References: <1038136880.488901253728315944.JavaMail.root@zmail04.collab.prod.int.phx2.redhat.com> <1523174107.489001253728448422.JavaMail.root@zmail04.collab.prod.int.phx2.redhat.com> <17c6771e0910121027p2f1983e4od54bb8ef638ed01@mail.gmail.com> Message-ID: <4ADC7E0C.1010006@sun.com> Hi Andrew, Man, Sorry for the delay, I was on vacation. Andrew John Hughes wrote: > 2009/9/23 Man Wong : >> Hi, >> >> Webrev: http://icedtea.classpath.org/~mwong/webrevs/index.html >> >> Summary: This is about jtreg bug in openjdk7, TestDialogTypeAhead ({openjdkdir}/jdk/test/java/awt/KeyboardFocusManager/TypeAhead >> /TestDialogTypeAhead.java). It relates to bug ID 6446952, which in the test itself includes a workaround and that causes it to fail in fedora >> 10/11. After removing the work around, as in my webrev, the test passes. Does the fix look ok to push to the awt forest? Any comments? >> Thanks. >> >> Man Lung Wong >> > > Ping! > > Can someone from the AWT team please respond on this? > > The patch removes a hack used to workaround bug 6446952, which > (apparently) occurs sporadically on some Windows platforms. According > to the bug report > (http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6446952), the bug > itself has been fixed in 'mustang b93', whatever that is, which > implies the hack is probably no longer needed even where 6446952 was > evidenced. What we do know from our testing is that this hack causes > the test to fail consistently on GNU/Linux platforms, and removing it > causes it to succeed. > > Does this patch look ok to push to the AWT forest? The patch is not Ok. It was meant to roll back the fix for 6446952, however the patch just eliminates the test condition, that's why the test passes. The idea of the test is to check that a character (SPACE, in the test) typed ahead is properly delivered to the dialog's "Ok" button after it gets focused. "Typed ahead" means that the key event is posted to the event queue in the process of showing a dialog, before focus is set on the "Ok" button. The fix for 6446952 aimed at recreating such a scenario in order to make the key event "typed head". Without the fix there was no guarantee the test followed the scenario because of timings. If you look carefully at the changes for 6446952, you would notice that the main point of the fix was to move the robotSema.raise() call from the frame's "b" button action listener (line 98) to the dialog peer proxy (line 296). With your changes robotSeam.raise() is not called at all. So, robotSema just waits for 1000 ms and only then the type-ahead event is generated: 166 robot.keyPress(KeyEvent.VK_SPACE); <-- pressing the "b" button 167 robot.keyRelease(KeyEvent.VK_SPACE); 168 try { 169 robotSema.doWait(1000); 170 } catch (InterruptedException ie) { 171 throw new RuntimeException("Interrupted!"); 172 } 173 robot.keyPress(KeyEvent.VK_SPACE); <-- the type-ahead event 174 robot.keyRelease(KeyEvent.VK_SPACE); During that period of time the dialog is rather already shown and focused. In that case the event is not a type-ahead event and the test doesn't do its job. Well, I reproduced the failure on Linux. This is ClassCastException caused by changes in AWT made after the fix for 6446952. Below is a fix that recreates the test scenario without using a proxy. The idea is as follows. A custom KeyboardFocusManager is set right before the dialog is shown. It overrides enqueueKeyEvents(long, Component) method in order to raise the robotSema semaphore that triggers typing ahead. This method must be called in the process of showing a dialog (see Dialog.conditionalShow(..) for details), it initiates queuing key events until the target Component gets focused (the "Ok" button in our case). We tie to this method in order to catch the moment. Well, this is a tricky test condition that can not be recreated straight forward... You may file an OpenJDK bugzilla bug (if it's not yet filed) and then test & submit the changes below. (Please feel free to ask questions.) Thanks, Anton. diff --git a/test/java/awt/KeyboardFocusmanager/TypeAhead/TestDialogTypeAhead.java b/test/java/awt/KeyboardFocusmanager/TypeAhead/TestDialogTypeAhead.java --- a/test/java/awt/KeyboardFocusmanager/TypeAhead/TestDialogTypeAhead.java +++ b/test/java/awt/KeyboardFocusmanager/TypeAhead/TestDialogTypeAhead.java @@ -52,8 +52,6 @@ import java.awt.*; import java.awt.*; import java.lang.reflect.InvocationTargetException; import java.awt.event.*; -import java.awt.peer.DialogPeer; -import java.awt.peer.ComponentPeer; import java.lang.reflect.Method; import java.lang.reflect.Proxy; import java.lang.reflect.InvocationHandler; @@ -98,7 +96,7 @@ public class TestDialogTypeAhead extends f = new Frame("frame"); b = new Button("press"); - d = new TestDialog(f, "dialog", true, robotSema); + d = new Dialog(f, "dialog", true); ok = new Button("ok"); d.add(ok); d.pack(); @@ -126,6 +124,9 @@ public class TestDialogTypeAhead extends b.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { System.err.println("B pressed"); + + KeyboardFocusManager.setCurrentKeyboardFocusManager( + new TestKFM(robotSema)); EventQueue.invokeLater(new Runnable() { public void run() { @@ -170,6 +171,11 @@ public class TestDialogTypeAhead extends } catch (InterruptedException ie) { throw new RuntimeException("Interrupted!"); } + if (!robotSema.getState()) { + throw new RuntimeException("robotSema hasn't been triggered"); + } + + System.err.println("typing ahead"); robot.keyPress(KeyEvent.VK_SPACE); robot.keyRelease(KeyEvent.VK_SPACE); waitForIdle(); @@ -278,66 +284,18 @@ public class TestDialogTypeAhead extends } } - // Fix for 6446952. - // In the process of showing the dialog we have to catch peer.show() call - // so that to trigger key events just before it gets invoked. - // We base on the fact that a modal dialog sets type-ahead markers - // before it calls 'show' on the peer. - // Posting the key events before dialog.setVisible(true) would be actually not - // good because it would be Ok to dispatch them to the current focus owner, - // not to the dialog. - class TestDialog extends Dialog { - ComponentPeer origDialogPeer; - ComponentPeer proxyInstPeer; + static class TestKFM extends DefaultKeyboardFocusManager { Semaphore trigger; - TestDialog(Frame owner, String title, boolean modal, Semaphore trigger) { - super(owner, title, modal); + public TestKFM(Semaphore trigger) { this.trigger = trigger; } - public ComponentPeer getPeer() { - ComponentPeer ret = super.getPeer(); - if (ret == proxyInstPeer) { - return origDialogPeer; - } else { - return ret; - } - } - public void addNotify() { - super.addNotify(); - replacePeer(); - } - - void replacePeer() { - origDialogPeer = getPeer(); - - InvocationHandler handler = new InvocationHandler() { - public Object invoke(Object proxy, Method method, Object[] args) { - if (method.getName() == "show") { - trigger.raise(); - } - - Object ret = null; - try { - ret = method.invoke(origDialogPeer, args); - } catch (IllegalAccessException iae) { - throw new Error("Test error.", iae); - } catch (InvocationTargetException ita) { - throw new Error("Test error.", ita); - } - return ret; - } - }; - - proxyInstPeer = (DialogPeer)Proxy.newProxyInstance( - DialogPeer.class.getClassLoader(), new Class[] {DialogPeer.class}, handler); - - try { - Util.getField(Component.class, "peer").set(d, proxyInstPeer); - } catch (IllegalAccessException iae) { - throw new Error("Test error.", iae); - } + protected synchronized void enqueueKeyEvents(long after, + Component untilFocused) + { + super.enqueueKeyEvents(after, untilFocused); + trigger.raise(); } } }// class TestDialogTypeAhead From Anthony.Petrov at Sun.COM Mon Oct 19 07:58:39 2009 From: Anthony.Petrov at Sun.COM (Anthony Petrov) Date: Mon, 19 Oct 2009 18:58:39 +0400 Subject: Regression test jawa/awt/Window/AlwaysOnTopEvenOfWindow failures on OpenJDK6 & Gnome In-Reply-To: <4ADC722D.1070204@redhat.com> References: <4ADC722D.1070204@redhat.com> Message-ID: <4ADC7E9F.2040900@sun.com> Hi Pavel, Thank you for your testing efforts! It looks like the test does not actually belong in JDK 6, and should fail there - please refer to the comment section in the very beginning of the test source. [1] shows that the fix for which the test is written, has been available since 7b03, and isn't present in 6 at all. Since 7b20 included all the tests present in 7b03, the test got to OpenJDK 6 as well [2]. Weird, I agree. I doubt if we want to back-port [3] though (which is the actual fix for [1]). Therefore, I think the test had better be removed from OpenJDK 6. [1] http://bugs.sun.com/view_bug.do?bug_id=5028924 [2] http://openjdk.java.net/projects/jdk6/ [3] http://bugs.sun.com/view_bug.do?bug_id=6380835 -- best regards, Anthony On 10/19/2009 6:05 PM Pavel Tisnovsky wrote: > Hi, > > regression test jawa/awt/Window/AlwaysOnTopEvenOfWindow regularly fails > on these platforms: > > Fedora 10/11, RHEL 5.3 > i386, x86_64 > OpenJDK6 > * Gnome as desktop environment * > > It looks like that AWT Window constructed by calling new Window(null) is > always shown on top (at least on Gnome), regardless of other settings. > For example frame.setAlwaysOnTop(true) does not change order of top > level containers. > > I'm not sure about Window constructed by new Window(null) correct > behaviour. That probably means that this Window does not have parent > container, but JavaDoc (only) says: "A window must have either a frame, > dialog, or another window defined as its owner when it's constructed." > > When I change line 49 to Frame win = new Frame(); (Frame is constructed > instead of Window), test passes. > > My question is: is this regression test written incorrectly or has > OpenJDK6 & Gnome bug in top level containers handling? > > Thank you for your answers, > Pavel Tisnovsky From ptisnovs at redhat.com Tue Oct 20 02:51:33 2009 From: ptisnovs at redhat.com (Pavel Tisnovsky) Date: Tue, 20 Oct 2009 11:51:33 +0200 Subject: Please review patch for JTreg test AlwaysOnTopEvenOfWindow Message-ID: <4ADD8825.2040206@redhat.com> Hi, can you please review patch for JTreg test test/java/awt/Window/AlwaysOnTop/AlwaysOnTopEvenOfWindow.java? Webrev: http://cr.openjdk.java.net/~ptisnovs/AlwaysOnTopEvenOfWindow/ This test does not (as Anthony Petrov told me) actually belong in JDK 6, and should fail there, so it should be removed from OpenJDK6 repository. Pavel Tisnovsky From Anthony.Petrov at Sun.COM Tue Oct 20 03:25:38 2009 From: Anthony.Petrov at Sun.COM (Anthony Petrov) Date: Tue, 20 Oct 2009 14:25:38 +0400 Subject: Please review patch for JTreg test AlwaysOnTopEvenOfWindow In-Reply-To: <4ADD8825.2040206@redhat.com> References: <4ADD8825.2040206@redhat.com> Message-ID: <4ADD9022.9080005@sun.com> Hi Pavel, The fix looks fine. Here's the CR number and the synopsis of the bug for your changeset comment: 6893222: test/java/awt/Window/AlwaysOnTop/AlwaysOnTopEvenOfWindow.java doesn't belong in OpenJDK6 The bug should become visible on the bugs.sun.com site in a day or two. Please inform the mailing list upon pushing the fix so that we could update the status of the change request accordingly. Thank you for the fix. -- best regards, Anthony On 10/20/2009 01:51 PM, Pavel Tisnovsky wrote: > can you please review patch for JTreg test > test/java/awt/Window/AlwaysOnTop/AlwaysOnTopEvenOfWindow.java? > > Webrev: http://cr.openjdk.java.net/~ptisnovs/AlwaysOnTopEvenOfWindow/ > > This test does not (as Anthony Petrov told me) actually belong in JDK 6, > and should fail there, so it should be removed from OpenJDK6 repository. From Anthony.Petrov at Sun.COM Tue Oct 20 09:02:38 2009 From: Anthony.Petrov at Sun.COM (Anthony Petrov) Date: Tue, 20 Oct 2009 20:02:38 +0400 Subject: Review request #0: 6402325 (Swing toolbars vs native toolbars on Windows) Message-ID: <4ADDDF1E.1020906@sun.com> Hello AWT team, Please review a preliminary version of the fix for RFE: 6402325 (Swing toolbars vs native toolbars on Windows) http://bugs.sun.com/view_bug.do?bug_id=6402325 The webrev: http://cr.openjdk.java.net/~anthony/7-33-utilityWindows-6402325.0/ Notes regarding implementation: 1. As suggested by Mike Swingler, setting the type is only possible while the window has not been made displayable. 2. To reduce the complexity of the implementation, I decided we do not need to deal with the focusability of utility windows. If a developer needs an unfocusable utility window, they can use existing Java API to achieve that. 3. The title-bar of an utility window is not made persistently active: the focused state depends on whether the window has focus or not. Implementing that feature on Windows would require hacking the WM_NCACTIVATE/WM_NCPAINT message handlers which, actually, can easily be broken when running with DWM enabled on Vista, and is a hack anyway. On X11 I've no idea if that is even possible at all: there's no tips in the EWMH specification, and besides that, everything depends on the theme of a window manager. So I don't think we're able to implement this consistently. -- best regards, Anthony From Anton.Tarasov at Sun.COM Tue Oct 20 23:25:51 2009 From: Anton.Tarasov at Sun.COM (Anton V. Tarasov) Date: Wed, 21 Oct 2009 10:25:51 +0400 Subject: Review request #0: 6402325 (Swing toolbars vs native toolbars on Windows) In-Reply-To: <4ADDDF1E.1020906@sun.com> References: <4ADDDF1E.1020906@sun.com> Message-ID: <4ADEA96F.6030309@sun.com> Hi Anthony, Just a little concern. In awt_Window.h you define: 369 Type windowType; Could you please follow the tradition of using "m" prefix for non-static fields in AWT? This would be consistent with the rest of the code, and would allow to quickly distinguish class fields from locally defined variables when you're investigating the code. Please! =) Thanks, Anton. Anthony Petrov wrote: > Hello AWT team, > > Please review a preliminary version of the fix for RFE: > > 6402325 (Swing toolbars vs native toolbars on Windows) > http://bugs.sun.com/view_bug.do?bug_id=6402325 > > The webrev: > http://cr.openjdk.java.net/~anthony/7-33-utilityWindows-6402325.0/ > > Notes regarding implementation: > > 1. As suggested by Mike Swingler, setting the type is only possible > while the window has not been made displayable. > > 2. To reduce the complexity of the implementation, I decided we do not > need to deal with the focusability of utility windows. If a developer > needs an unfocusable utility window, they can use existing Java API to > achieve that. > > 3. The title-bar of an utility window is not made persistently active: > the focused state depends on whether the window has focus or not. > Implementing that feature on Windows would require hacking the > WM_NCACTIVATE/WM_NCPAINT message handlers which, actually, can easily be > broken when running with DWM enabled on Vista, and is a hack anyway. On > X11 I've no idea if that is even possible at all: there's no tips in the > EWMH specification, and besides that, everything depends on the theme of > a window manager. So I don't think we're able to implement this > consistently. > > -- > best regards, > Anthony > From anthony.petrov at sun.com Wed Oct 21 06:07:02 2009 From: anthony.petrov at sun.com (anthony.petrov at sun.com) Date: Wed, 21 Oct 2009 13:07:02 +0000 Subject: hg: jdk7/awt/jdk: 6852592: invalidate() must be smarter Message-ID: <20091021130735.C47104140B@hg.openjdk.java.net> Changeset: 98e1d504dc9b Author: anthony Date: 2009-10-21 17:06 +0400 URL: http://hg.openjdk.java.net/jdk7/awt/jdk/rev/98e1d504dc9b 6852592: invalidate() must be smarter Summary: Introduce validate roots in AWT Reviewed-by: alexp, art, dcherepanov ! src/share/classes/java/applet/Applet.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/javax/swing/JComponent.java ! src/share/classes/javax/swing/JRootPane.java ! src/share/classes/javax/swing/JScrollPane.java ! src/share/classes/javax/swing/JSplitPane.java ! src/share/classes/javax/swing/JTextField.java ! src/share/classes/javax/swing/JViewport.java ! src/share/classes/javax/swing/RepaintManager.java ! src/share/classes/javax/swing/SwingUtilities.java + test/java/awt/Container/ValidateRoot/InvalidateMustRespectValidateRoots.java From Anthony.Petrov at Sun.COM Wed Oct 21 06:40:51 2009 From: Anthony.Petrov at Sun.COM (Anthony Petrov) Date: Wed, 21 Oct 2009 17:40:51 +0400 Subject: Review request #0: 6402325 (Swing toolbars vs native toolbars on Windows) In-Reply-To: <4ADEA96F.6030309@sun.com> References: <4ADDDF1E.1020906@sun.com> <4ADEA96F.6030309@sun.com> Message-ID: <4ADF0F63.6080608@sun.com> Hi Anton, On 10/21/2009 10:25 AM, Anton V. Tarasov wrote: > 369 Type windowType; > > Could you please follow the tradition of using "m" prefix for non-static > fields in AWT? > This would be consistent with the rest of the code, and would allow to > quickly distinguish > class fields from locally defined variables when you're investigating > the code. > Please! =) Sure! :) Thanks for reviewing. -- best regards, Anthony From dmitry.cherepanov at sun.com Thu Oct 22 02:30:34 2009 From: dmitry.cherepanov at sun.com (dmitry.cherepanov at sun.com) Date: Thu, 22 Oct 2009 09:30:34 +0000 Subject: hg: jdk7/awt/jdk: 6707273: TrayIcon does not support 8-bit alpha channel in Windows XP Message-ID: <20091022093105.9A76241529@hg.openjdk.java.net> Changeset: a773e88249a3 Author: dcherepanov Date: 2009-10-22 13:27 +0400 URL: http://hg.openjdk.java.net/jdk7/awt/jdk/rev/a773e88249a3 6707273: TrayIcon does not support 8-bit alpha channel in Windows XP Reviewed-by: uta, ant ! src/windows/native/sun/windows/awt_TrayIcon.cpp From anthony.petrov at sun.com Fri Oct 23 03:53:33 2009 From: anthony.petrov at sun.com (anthony.petrov at sun.com) Date: Fri, 23 Oct 2009 10:53:33 +0000 Subject: hg: jdk7/awt/jdk: 6887249: Get rid of double-check for isValid() idiom in validate() methods Message-ID: <20091023105409.2E0A3416FE@hg.openjdk.java.net> Changeset: 4ed8bce48963 Author: anthony Date: 2009-10-23 14:52 +0400 URL: http://hg.openjdk.java.net/jdk7/awt/jdk/rev/4ed8bce48963 6887249: Get rid of double-check for isValid() idiom in validate() methods Reviewed-by: art, dcherepanov ! src/share/classes/java/awt/Container.java From Anthony.Petrov at Sun.COM Fri Oct 23 06:54:51 2009 From: Anthony.Petrov at Sun.COM (Anthony Petrov) Date: Fri, 23 Oct 2009 17:54:51 +0400 Subject: Review request #1: 6402325 (Swing toolbars vs native toolbars on Windows) Message-ID: <4AE1B5AB.3060801@sun.com> Hello AWT team, The next version of the fix for 6402325 (Swing toolbars vs native toolbars on Windows) http://bugs.sun.com/view_bug.do?bug_id=6402325 Please review at: http://cr.openjdk.java.net/~anthony/7-33-utilityWindows-6402325.1/ This version introduces three window types: NORMAL - for regular windows. UTILITY - for toolboxes (either a WS_EX_TOOLWINDOW on Windows, or _NET_WM_WINDOW_TYPE_UTILITY on X11) POPUP - for menus and tooltips (WS_POPUP on Windows, or _NET_WM_WINDOW_TYPE_POPUP_MENU on X11) I ran related Swing and AWT automatic regression tests. They all passed on MS Windows and Gnome. -- best regards, Anthony From Artem.Ananiev at Sun.COM Tue Oct 27 04:55:50 2009 From: Artem.Ananiev at Sun.COM (Artem Ananiev) Date: Tue, 27 Oct 2009 14:55:50 +0300 Subject: Review request #1: 6402325 (Swing toolbars vs native toolbars on Windows) In-Reply-To: <4AE1B5AB.3060801@sun.com> References: <4AE1B5AB.3060801@sun.com> Message-ID: <4AE6DFC6.7050102@sun.com> Hi, Anthony, here are some comments from my side: 1. Window.Type seems not to be a perfect name for the enum, it's too generic. What about Window.WindowType? 2. Could you move the declaration of the enum to the top of Window.java, so it can be easily located, please? 3. I don't see a strong reason to use the proposed approach, when we store the window type at java.awt level and then use AWTAccessor to get its value at the peers level. Why don't you want to add a method to WindowPeer interface which is called when Window.setType() is invoked? It would eliminate AWTAccessor and getType_NoClientCode(). Thanks, Artem Anthony Petrov wrote: > Hello AWT team, > > The next version of the fix for > > 6402325 (Swing toolbars vs native toolbars on Windows) > http://bugs.sun.com/view_bug.do?bug_id=6402325 > > Please review at: > > http://cr.openjdk.java.net/~anthony/7-33-utilityWindows-6402325.1/ > > This version introduces three window types: > > NORMAL - for regular windows. > > UTILITY - for toolboxes (either a WS_EX_TOOLWINDOW on Windows, or > _NET_WM_WINDOW_TYPE_UTILITY on X11) > > POPUP - for menus and tooltips (WS_POPUP on Windows, or > _NET_WM_WINDOW_TYPE_POPUP_MENU on X11) > > I ran related Swing and AWT automatic regression tests. They all passed > on MS Windows and Gnome. > > -- > best regards, > Anthony > > From Artem.Ananiev at Sun.COM Tue Oct 27 05:15:58 2009 From: Artem.Ananiev at Sun.COM (Artem Ananiev) Date: Tue, 27 Oct 2009 15:15:58 +0300 Subject: Review request #2: 6863566 (Java should support the freedesktop.org startup notification specification) In-Reply-To: <4ADC682A.3080703@sun.com> References: <4ADC682A.3080703@sun.com> Message-ID: <4AE6E47E.5080308@sun.com> Hi, Anthony, Damjan, here are a couple of comments from my side: 1. _NET_STARTUP_INFO atom looks redundant. Check the example from http://www.freedesktop.org/wiki/Specifications/startup-notification-spec for details. 2. I see the client message is currently send to the root window, while the same example from freedesktop.org sends it to some "target window". Is the fix tested, say, for different virtual desktops? 3. Here is a code from removeStartupNotification(): 1240 final int msglen = Math.min(message.length - pos, 20); 1241 int i = 0; 1242 for (; i < msglen; i++) { 1243 XlibWrapper.unsafe.putByte(req.get_data() + i, message[pos + i]); 1244 } 1245 for (; i < 20; i++) { 1246 XlibWrapper.unsafe.putByte(req.get_data() + i, (byte)0); 1247 } We first set "msglen" bytes from message array and then 20 zero bytes. It seems that 20 should be replaced with (20-message.length % 20) % 20, otherwise we'll get out of XClientMessageEvent bounds. Thanks, Artem Anthony Petrov wrote: > Hello, > > Please review the latest version of the fix contributed by Damjan > Jovanovic: > > RFE: https://bugs.openjdk.java.net/show_bug.cgi?id=100094 > There you can also find some latest comments regarding the fix. > > webrev: > http://cr.openjdk.java.net/~anthony/7-24-startupNotify-6863566.2/ > > The patch no longer unsets the environment variable, and hence does not > need core-libs review. > > -- > best regards, > Anthony From Anthony.Petrov at Sun.COM Wed Oct 28 09:13:15 2009 From: Anthony.Petrov at Sun.COM (Anthony Petrov) Date: Wed, 28 Oct 2009 19:13:15 +0300 Subject: Review request #2: 6402325 (Swing toolbars vs native toolbars on Windows) In-Reply-To: <4AE6DFC6.7050102@sun.com> References: <4AE1B5AB.3060801@sun.com> <4AE6DFC6.7050102@sun.com> Message-ID: <4AE86D9B.2080702@sun.com> Thanks for your review, Artem! Here's the next version of the fix. Some comments follow. On 10/27/2009 02:55 PM, Artem Ananiev wrote: > 1. Window.Type seems not to be a perfect name for the enum, it's too > generic. What about Window.WindowType? That's exactly what I want to avoid: having it read as Window.WindowType - too many "window" words, imo. Besides, take a look at the Thread.State, for instance. The concept of a "state" is quite common also, however, since this is an inner enum, that does not bring any problems. > 2. Could you move the declaration of the enum to the top of Window.java, > so it can be easily located, please? Sure. > 3. I don't see a strong reason to use the proposed approach, when we > store the window type at java.awt level and then use AWTAccessor to get > its value at the peers level. Why don't you want to add a method to > WindowPeer interface which is called when Window.setType() is invoked? > It would eliminate AWTAccessor and getType_NoClientCode(). Indeed, I got rid of the AWTAccessor and reworked the X-side peers to avoid its usage in that case. However, we can't just introduce a peer's level method because: a) Calling Window.setType() is prohibited after the peer goes live. b) MS Window restricts tweaking some window styles after the window has been created. And the WS_POPUP is exactly that kind of style. Therefore, we need the window type information before we create the hwnd. But the hwnd is created at the time of creation of the native part (the AwtWindow class instance). Since we don't want to directly access the Window.windowType field via JNI, we just don't have any other option but to cache the value of the type in the WWindowPeer. So, the updated version is available at: http://cr.openjdk.java.net/~anthony/7-33-utilityWindows-6402325.2/ Also, last time I forgot to mention that the POPUP window type on X11 also means the override-redirect sort of window. -- best regards, Anthony From damjan.jov at gmail.com Wed Oct 28 10:57:21 2009 From: damjan.jov at gmail.com (Damjan Jovanovic) Date: Wed, 28 Oct 2009 19:57:21 +0200 Subject: Review request #2: 6863566 (Java should support the freedesktop.org startup notification specification) In-Reply-To: <4AE6E47E.5080308@sun.com> References: <4ADC682A.3080703@sun.com> <4AE6E47E.5080308@sun.com> Message-ID: <9e89675b0910281057p5206964wdf33deadb50fb82f@mail.gmail.com> On Tue, Oct 27, 2009 at 2:15 PM, Artem Ananiev wrote: > Hi, Anthony, Damjan, Hello Artem, Anthony > here are a couple of comments from my side: You'll find they're followed by my counterarguments :-) > 1. _NET_STARTUP_INFO atom looks redundant. Check the example from > http://www.freedesktop.org/wiki/Specifications/startup-notification-spec for > details. That example has at least 2 problems, the wrong atom name being one of them. I've complained to freedesktop.org some time ago (http://lists.freedesktop.org/archives/xdg/2008-December/010106.html), but things are a bit nebulous that side :-). If it makes you feel any better, the equivalent patch I sent to the Wine project works the same way as this one (http://www.winehq.org/pipermail/wine-cvs/2009-January/051514.html). It's been working fine since it got committed on 7 January 2009. > 2. I see the client message is currently send to the root window, while the > same example from freedesktop.org sends it to some "target window". Is the > fix tested, say, for different virtual desktops? The spec says "In multihead setups, the messages should go to the root window of the X screen where the launchee application is being launched." I think that's what my patch does: + XlibWrapper.XSendEvent(XToolkit.getDisplay(), + XlibWrapper.RootWindow(XToolkit.getDisplay(), getScreenNumber()), Now as for different virtual desktops, my tests show that both patched Java and native applications have the startup notification follow you and continue, with the window opening on the new desktop, if you switch virtual desktops during startup. > 3. Here is a code from removeStartupNotification(): > > 1240 final int msglen = Math.min(message.length - pos, 20); > 1241 int i = 0; > 1242 for (; i < msglen; i++) { > 1243 ? XlibWrapper.unsafe.putByte(req.get_data() + i, message[pos + i]); > 1244 } > 1245 for (; i < 20; i++) { > 1246 ? XlibWrapper.unsafe.putByte(req.get_data() + i, (byte)0); > 1247 } > > We first set "msglen" bytes from message array and then 20 zero bytes. It > seems that 20 should be replaced with (20-message.length % 20) % 20, > otherwise we'll get out of XClientMessageEvent bounds. No, we don't reset the variable i to 0, it starts where it left off and run up to 20. There can't be an overrun. > Thanks, > > Artem Thank you Damjan > Anthony Petrov wrote: >> >> Hello, >> >> Please review the latest version of the fix contributed by Damjan >> Jovanovic: >> >> RFE: https://bugs.openjdk.java.net/show_bug.cgi?id=100094 >> There you can also find some latest comments regarding the fix. >> >> webrev: >> http://cr.openjdk.java.net/~anthony/7-24-startupNotify-6863566.2/ >> >> The patch no longer unsets the environment variable, and hence does not >> need core-libs review. >> >> -- >> best regards, >> Anthony >