From jon.masamitsu at sun.com Mon Aug 3 05:31:24 2009 From: jon.masamitsu at sun.com (jon.masamitsu at sun.com) Date: Mon, 03 Aug 2009 05:31:24 +0000 Subject: hg: jdk7/hotspot-gc/hotspot: 6862534: -XX:NewRatio completely ignored when combined with -XX:+UseConcMarkSweepG Message-ID: <20090803053134.67505EF2B@hg.openjdk.java.net> Changeset: 061cd4d965fc Author: jmasa Date: 2009-08-02 18:44 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/hotspot/rev/061cd4d965fc 6862534: -XX:NewRatio completely ignored when combined with -XX:+UseConcMarkSweepG Summary: Use NewRatio if it is explicitly set. Reviewed-by: ysr, jcoomes ! src/share/vm/runtime/arguments.cpp From jon.masamitsu at sun.com Mon Aug 3 09:14:56 2009 From: jon.masamitsu at sun.com (jon.masamitsu at sun.com) Date: Mon, 03 Aug 2009 09:14:56 +0000 Subject: hg: jdk7/hotspot-gc/hotspot: 2 new changesets Message-ID: <20090803091507.C121BEF63@hg.openjdk.java.net> Changeset: ff004bcd2596 Author: jmasa Date: 2009-08-02 19:10 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/hotspot/rev/ff004bcd2596 6843292: "Expect to be beyond new region unless impacting another region" assertion too strong Summary: In the assertion allow for collision with the guard page. Reviewed-by: tonyp, ysr, jcoomes ! src/share/vm/memory/cardTableModRefBS.cpp Changeset: 59726d16b30d Author: jmasa Date: 2009-08-02 22:33 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/hotspot/rev/59726d16b30d Merge From Sujit.Das at cognizant.com Mon Aug 3 17:18:39 2009 From: Sujit.Das at cognizant.com (Sujit.Das at cognizant.com) Date: Mon, 3 Aug 2009 22:48:39 +0530 Subject: Direct promotion to old gen Message-ID: <19B27FD5AF2EAA49A66F787911CF519596D00C@CTSINCHNSXUU.cts.com> Hi All, I am trying to capture statistics to denote direct promotion from young gen to old gen. As per my understanding, minor collection will empty eden space and put surviving objects into 'To' survivor space. Objects that have survived more than Max Tenuring Threshold value will get promoted. Example: If max Tenuring Threshold is 4, then in age 4 size that gets printed in verbose GC output will be the size that should get promoted in old gen as part of next minor collection. Anything more than previous age4 size is result of direct promotion from eden space to old gen. Please confirm my understanding / approach. If above understanding is correct, I plan to get plot of (Promo from current minor collection - Age4 from previous minor collection) The values will help me to determine whether I need to tune my eden and survivor spaces. Your help much appreciated. Thanks, Sujit This e-mail and any files transmitted with it are for the sole use of the intended recipient(s) and may contain confidential and privileged information. If you are not the intended recipient, please contact the sender by reply e-mail and destroy all copies of the original message. Any unauthorized review, use, disclosure, dissemination, forwarding, printing or copying of this email or any action taken in reliance on this e-mail is strictly prohibited and may be unlawful. -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- _______________________________________________ hotspot-gc-use mailing list hotspot-gc-use at openjdk.java.net http://mail.openjdk.java.net/mailman/listinfo/hotspot-gc-use From Y.S.Ramakrishna at Sun.COM Mon Aug 3 17:49:36 2009 From: Y.S.Ramakrishna at Sun.COM (Y.S.Ramakrishna at Sun.COM) Date: Mon, 03 Aug 2009 10:49:36 -0700 Subject: Direct promotion to old gen In-Reply-To: <19B27FD5AF2EAA49A66F787911CF519596D00C@CTSINCHNSXUU.cts.com> References: <19B27FD5AF2EAA49A66F787911CF519596D00C@CTSINCHNSXUU.cts.com> Message-ID: <4A772330.8020509@Sun.COM> Hi Sujit -- On 08/ 3/09 10:18 AM, Sujit.Das at cognizant.com wrote: > Hi All, > > I am trying to capture statistics to denote direct promotion from young > gen to old gen. > > As per my understanding, minor collection will empty eden space and put > surviving objects into 'To' survivor space. Objects that have survived > more than Max Tenuring Threshold value will get promoted. Example: If > max Tenuring Threshold is 4, then in age 4 size that gets printed in > verbose GC output will be the size that should get promoted in old gen > as part of next minor collection. Anything more than previous age4 size > is result of direct promotion from eden space to old gen. Your description is partially correct, in that you cannot have _more_ than the # in the previous age=4 cohort promoting into the old gen unless survivor spaces overflowed for some reason. But you may have fewer because some of them died before this GC. Thus, you cannot accurately get the "direct promotion size" (i.e. those below tenuring threshold age that got prematurely promoted to old gen) by simply subtracting the previous age=4 cohort from the total promoted size, for the simple reason that it is possible that only a small subset of the previous age=4 cohort survive a fifth GC (in fact for a well-tuned heap, you would expect that to be usually the case). Thus, more often than not, total promoted - (age=4 cohort) in yr example will be a negative number, in other words, there is a good chance you will be underestimating or at least measuring somewhat incorrectly what you were trying to measure. (I am wondering if heap profilers which know about the generational nature of the heap might be able to provide you with more accurate information on this, albeit at higher cost. Perhaps someone on the list would know?) PS: By the way, remember that there may also be direct allocation into the old generation (for example of very large objects) between 2 scavenges, so do not assume that the occupancy of the old generation before a scavenge is the same as that after the preceding scavenge (if you know what i mean). This is a mistake that people often make the first time they are looking at our GC logs. -- ramki > > Please confirm my understanding / approach. If above understanding is > correct, I plan to get plot of > (Promo from current minor collection - Age4 from previous minor collection) > > The values will help me to determine whether I need to tune my eden and > survivor spaces. > > Your help much appreciated. > > Thanks, > Sujit > This e-mail and any files transmitted with it are for the sole use of > the intended recipient(s) and may contain confidential and privileged > information. > If you are not the intended recipient, please contact the sender by > reply e-mail and destroy all copies of the original message. > Any unauthorized review, use, disclosure, dissemination, forwarding, > printing or copying of this email or any action taken in reliance on > this e-mail is strictly prohibited and may be unlawful. > > > ------------------------------------------------------------------------ > > _______________________________________________ > hotspot-gc-use mailing list > hotspot-gc-use at openjdk.java.net > http://mail.openjdk.java.net/mailman/listinfo/hotspot-gc-use _______________________________________________ hotspot-gc-use mailing list hotspot-gc-use at openjdk.java.net http://mail.openjdk.java.net/mailman/listinfo/hotspot-gc-use From Antonios.Printezis at sun.com Mon Aug 3 17:50:59 2009 From: Antonios.Printezis at sun.com (Tony Printezis) Date: Mon, 03 Aug 2009 13:50:59 -0400 Subject: Direct promotion to old gen In-Reply-To: <19B27FD5AF2EAA49A66F787911CF519596D00C@CTSINCHNSXUU.cts.com> References: <19B27FD5AF2EAA49A66F787911CF519596D00C@CTSINCHNSXUU.cts.com> Message-ID: <4A772383.20206@sun.com> Sujit, Sujit.Das at cognizant.com wrote: > Hi All, > > I am trying to capture statistics to denote direct promotion from > young gen to old gen. > > As per my understanding, minor collection will empty eden space and > put surviving objects into 'To' survivor space. Objects that have > survived more than Max Tenuring Threshold value will get promoted. That's correct. > Example: If max Tenuring Threshold is 4, then in age 4 size that gets > printed in verbose GC output will be the size that should get promoted > in old gen as part of next minor collection. I'm not quite sure what you're saying here. If MTT is 4, when objects reach age 4 they get promoted. You can print the per-age information with -XX:+PrintTenuringDistribution. > Anything more than previous age4 size is result of direct promotion > from eden space to old gen. It is possible that objects with a younger age than MTT (4, in this case, to be promoted). If, during GC, the survivor space overflows then we have to promote everything else (not only objects from the eden, but also objects from the from survivor space with younger ages). BTW, in our terminology, "direct" allocation is actually allocations that directly into the old gen and bypass the young gen alltogether (large objects typically). > Please confirm my understanding / approach. If above understanding is > correct, I plan to get plot of > (Promo from current minor collection - Age4 from previous minor > collection) > > The values will help me to determine whether I need to tune my eden > and survivor spaces. Please, also look at this talk I gave with Charlie Hunt at this year's JavaOne on how to tune the young gen: http://developers.sun.com/learning/javaoneonline/j1sessn.jsp?sessn=TS-4887&yr=2009&track=javase Tony > Your help much appreciated. > > Thanks, > Sujit > This e-mail and any files transmitted with it are for the sole use of > the intended recipient(s) and may contain confidential and privileged > information. > If you are not the intended recipient, please contact the sender by > reply e-mail and destroy all copies of the original message. > Any unauthorized review, use, disclosure, dissemination, forwarding, > printing or copying of this email or any action taken in reliance on > this e-mail is strictly prohibited and may be unlawful. > > ------------------------------------------------------------------------ > > _______________________________________________ > hotspot-gc-use mailing list > hotspot-gc-use at openjdk.java.net > http://mail.openjdk.java.net/mailman/listinfo/hotspot-gc-use > -- --------------------------------------------------------------------- | Tony Printezis, Staff Engineer | Sun Microsystems Inc. | | | MS UBUR02-311 | | e-mail: tony.printezis at sun.com | 35 Network Drive | | office: +1 781 442 0998 (x20998) | Burlington, MA 01803-2756, USA | --------------------------------------------------------------------- e-mail client: Thunderbird (Linux) _______________________________________________ hotspot-gc-use mailing list hotspot-gc-use at openjdk.java.net http://mail.openjdk.java.net/mailman/listinfo/hotspot-gc-use From Peter.Kessler at Sun.COM Mon Aug 3 18:38:32 2009 From: Peter.Kessler at Sun.COM (Peter B. Kessler) Date: Mon, 03 Aug 2009 11:38:32 -0700 Subject: Direct promotion to old gen In-Reply-To: <4A772383.20206@sun.com> References: <19B27FD5AF2EAA49A66F787911CF519596D00C@CTSINCHNSXUU.cts.com> <4A772383.20206@sun.com> Message-ID: <4A772EA8.5020609@Sun.COM> Tony Printezis wrote: > Sujit, > > Sujit.Das at cognizant.com wrote: >> Hi All, >> >> I am trying to capture statistics to denote direct promotion from >> young gen to old gen. >> >> .... >> Anything more than previous age4 size is result of direct promotion >> from eden space to old gen. > It is possible that objects with a younger age than MTT (4, in this > case, to be promoted). If, during GC, the survivor space overflows then > we have to promote everything else (not only objects from the eden, but > also objects from the from survivor space with younger ages). > .... A minor correction: I'm pretty sure that one object failing to fit in to-space doesn't imply that all further attempts will result in promotion. E.g., if you have one big object that fails to fit in the to-space, then it will be put in the old-space, but after that smaller objects may well fit in the to-space so we will put them there. That is, each object is considered individually: if the policy says we should put it in the old generation then we do, but otherwise we try to put it in the to-space. If it fits, we're happy, if it doesn't fit we put it in the old generation. The point of the age bits and the tenuring threshold policy is to advise us which relatively older objects should be promoted so that there's room for the relatively younger objects to fit in the to-space. We need a policy like that because we don't consider the objects in age order. ... peter _______________________________________________ hotspot-gc-use mailing list hotspot-gc-use at openjdk.java.net http://mail.openjdk.java.net/mailman/listinfo/hotspot-gc-use From Antonios.Printezis at sun.com Mon Aug 3 18:41:05 2009 From: Antonios.Printezis at sun.com (Tony Printezis) Date: Mon, 03 Aug 2009 14:41:05 -0400 Subject: Direct promotion to old gen In-Reply-To: <4A772EA8.5020609@Sun.COM> References: <19B27FD5AF2EAA49A66F787911CF519596D00C@CTSINCHNSXUU.cts.com> <4A772383.20206@sun.com> <4A772EA8.5020609@Sun.COM> Message-ID: <4A772F41.7000904@sun.com> Peter B. Kessler wrote: > Tony Printezis wrote: >> Sujit, >> >> Sujit.Das at cognizant.com wrote: >>> Hi All, >>> >>> I am trying to capture statistics to denote direct promotion from >>> young gen to old gen. >>> >>> .... >>> Anything more than previous age4 size is result of direct promotion >>> from eden space to old gen. >> It is possible that objects with a younger age than MTT (4, in this >> case, to be promoted). If, during GC, the survivor space overflows >> then we have to promote everything else (not only objects from the >> eden, but also objects from the from survivor space with younger ages). >> .... > > A minor correction: I'm pretty sure that one object failing to fit in > to-space doesn't imply that all further attempts will result in > promotion. E.g., if you have one big object that fails to fit in the > to-space, then it will be put in the old-space, but after that smaller > objects may well fit in the to-space so we will put them there. That > is, each object is considered individually: if the policy says we > should put it in the old generation then we do, but otherwise we try > to put it in the to-space. If it fits, we're happy, if it doesn't fit > we put it in the old generation. Yes, this is absolutely correct Peter. Thanks. Tony > The point of the age bits and the tenuring threshold policy is to > advise us which relatively older objects should be promoted so that > there's room for the relatively younger objects to fit in the > to-space. We need a policy like that because we don't consider the > objects in age order. > > ... peter -- --------------------------------------------------------------------- | Tony Printezis, Staff Engineer | Sun Microsystems Inc. | | | MS UBUR02-311 | | e-mail: tony.printezis at sun.com | 35 Network Drive | | office: +1 781 442 0998 (x20998) | Burlington, MA 01803-2756, USA | --------------------------------------------------------------------- e-mail client: Thunderbird (Linux) _______________________________________________ hotspot-gc-use mailing list hotspot-gc-use at openjdk.java.net http://mail.openjdk.java.net/mailman/listinfo/hotspot-gc-use From Sujit.Das at cognizant.com Mon Aug 3 19:01:51 2009 From: Sujit.Das at cognizant.com (Sujit.Das at cognizant.com) Date: Tue, 4 Aug 2009 00:31:51 +0530 Subject: Tenuring distribution Message-ID: <19B27FD5AF2EAA49A66F787911CF519596D00E@CTSINCHNSXUU.cts.com> Hi All, I am trying to look whether there is any scope in improving tenuring distribution by changing survivor space or Max Tenuring Threshold. I have read some Tenuring distribution examples. But following tenuring distribution output of my application confuses me and not sure whether the young generation is well-tuned or not. The following tenuring distribution O/P is result of consecutive minor collections. It increases from age 1 to 3 (sometimes upto age 4) and then drops to age 1. It then again increases with each minor collection. Please do let me know your thoughts. Desired survivor size 14188544 bytes, new threshold 4 (max 4) - age 1: 7040008 bytes, 7040008 total : 305088K->13787K(305088K), 0.0395292 secs] 906769K->626948K(3044288K)After GC: ... Desired survivor size 14188544 bytes, new threshold 4 (max 4) - age 1: 6448424 bytes, 6448424 total - age 2: 4461088 bytes, 10909512 total : 291163K->12426K(305088K), 0.0191044 secs] 904324K->625588K(3044288K)After GC: ... Desired survivor size 14188544 bytes, new threshold 3 (max 4) - age 1: 7150744 bytes, 7150744 total - age 2: 4394936 bytes, 11545680 total - age 3: 3582184 bytes, 15127864 total : 289802K->19070K(305088K), 0.0191912 secs] 902964K->632232K(3044288K)After GC: ... Desired survivor size 14188544 bytes, new threshold 1 (max 4) - age 1: 18196472 bytes, 18196472 total - age 2: 3800224 bytes, 21996696 total - age 3: 3340344 bytes, 25337040 total : 296446K->27712K(305088K), 0.0282980 secs] 909608K->648613K(3044288K)After GC: ... Desired survivor size 14188544 bytes, new threshold 4 (max 4) - age 1: 5757968 bytes, 5757968 total : 305088K->13117K(305088K), 0.0403760 secs] 925989K->645051K(3044288K)After GC: ... Desired survivor size 14188544 bytes, new threshold 4 (max 4) - age 1: 5984000 bytes, 5984000 total - age 2: 4197480 bytes, 10181480 total : 290493K->13133K(305088K), 0.0251218 secs] 922427K->645067K(3044288K)After GC: ... Desired survivor size 14188544 bytes, new threshold 3 (max 4) - age 1: 6765056 bytes, 6765056 total - age 2: 4159752 bytes, 10924808 total - age 3: 3534520 bytes, 14459328 total : 290509K->17608K(305088K), 0.0258073 secs] 922443K->649542K(3044288K)After GC: ... Desired survivor size 14188544 bytes, new threshold 1 (max 4) - age 1: 17919056 bytes, 17919056 total - age 2: 4852200 bytes, 22771256 total - age 3: 3152768 bytes, 25924024 total : 294984K->27712K(305088K), 0.0303612 secs] 926918K->667692K(3044288K)After GC: ... Desired survivor size 14188544 bytes, new threshold 4 (max 4) - age 1: 6579448 bytes, 6579448 total : 305088K->13396K(305088K), 0.0386087 secs] 945068K->664582K(3044288K)After GC: Thanks, Sujit This e-mail and any files transmitted with it are for the sole use of the intended recipient(s) and may contain confidential and privileged information. If you are not the intended recipient, please contact the sender by reply e-mail and destroy all copies of the original message. Any unauthorized review, use, disclosure, dissemination, forwarding, printing or copying of this email or any action taken in reliance on this e-mail is strictly prohibited and may be unlawful. -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- _______________________________________________ hotspot-gc-use mailing list hotspot-gc-use at openjdk.java.net http://mail.openjdk.java.net/mailman/listinfo/hotspot-gc-use From Y.S.Ramakrishna at Sun.COM Mon Aug 3 19:27:25 2009 From: Y.S.Ramakrishna at Sun.COM (Y.S.Ramakrishna at Sun.COM) Date: Mon, 03 Aug 2009 12:27:25 -0700 Subject: Tenuring distribution In-Reply-To: <19B27FD5AF2EAA49A66F787911CF519596D00E@CTSINCHNSXUU.cts.com> References: <19B27FD5AF2EAA49A66F787911CF519596D00E@CTSINCHNSXUU.cts.com> Message-ID: <4A773A1D.3020500@Sun.COM> On 08/ 3/09 12:01 PM, Sujit.Das at cognizant.com wrote: > Hi All, > > I am trying to look whether there is any scope in improving tenuring > distribution by changing survivor space or Max Tenuring Threshold. I > have read some Tenuring distribution examples. But following tenuring > distribution output of my application confuses me and not sure whether > the young generation is well-tuned or not. The following tenuring > distribution O/P is result of consecutive minor collections. It > increases from age 1 to 3 (sometimes upto age 4) and then drops to age > 1. It then again increases with each minor collection. Yes, as you can see, the TT drops to 3 and then to 1, and this happens because there is periodically a large number of young survivors (i.e. age 1) in the survivor space, so we pro-actively promote at the next scavenge to avoid the possibility of premature overflow. You could increase your survivor space size. (There is clearly some kind of periodic generation of a large volume of data in your application. You can see whether that correlates to any kind of load-pulsing, or convoying effects. Are you using a production load (which can be bursty) or a bursty test load or a uniform test load for these figures?) Once again, I think Tony & Charlie's talk slides will help in this kind of tuning. -- ramki > > Please do let me know your thoughts. > > Desired survivor size 14188544 bytes, new threshold 4 (max 4) > - age 1: 7040008 bytes, 7040008 total > : 305088K->13787K(305088K), 0.0395292 secs] > 906769K->626948K(3044288K)After GC: > ... > Desired survivor size 14188544 bytes, new threshold 4 (max 4) > - age 1: 6448424 bytes, 6448424 total > - age 2: 4461088 bytes, 10909512 total > : 291163K->12426K(305088K), 0.0191044 secs] > 904324K->625588K(3044288K)After GC: > ... > Desired survivor size 14188544 bytes, new threshold 3 (max 4) > - age 1: 7150744 bytes, 7150744 total > - age 2: 4394936 bytes, 11545680 total > - age 3: 3582184 bytes, 15127864 total > : 289802K->19070K(305088K), 0.0191912 secs] > 902964K->632232K(3044288K)After GC: > ... > Desired survivor size 14188544 bytes, new threshold 1 (max 4) > - age 1: 18196472 bytes, 18196472 total > - age 2: 3800224 bytes, 21996696 total > - age 3: 3340344 bytes, 25337040 total > : 296446K->27712K(305088K), 0.0282980 secs] > 909608K->648613K(3044288K)After GC: > ... > Desired survivor size 14188544 bytes, new threshold 4 (max 4) > - age 1: 5757968 bytes, 5757968 total > : 305088K->13117K(305088K), 0.0403760 secs] > 925989K->645051K(3044288K)After GC: > ... > Desired survivor size 14188544 bytes, new threshold 4 (max 4) > - age 1: 5984000 bytes, 5984000 total > - age 2: 4197480 bytes, 10181480 total > : 290493K->13133K(305088K), 0.0251218 secs] > 922427K->645067K(3044288K)After GC: > ... > Desired survivor size 14188544 bytes, new threshold 3 (max 4) > - age 1: 6765056 bytes, 6765056 total > - age 2: 4159752 bytes, 10924808 total > - age 3: 3534520 bytes, 14459328 total > : 290509K->17608K(305088K), 0.0258073 secs] > 922443K->649542K(3044288K)After GC: > ... > Desired survivor size 14188544 bytes, new threshold 1 (max 4) > - age 1: 17919056 bytes, 17919056 total > - age 2: 4852200 bytes, 22771256 total > - age 3: 3152768 bytes, 25924024 total > : 294984K->27712K(305088K), 0.0303612 secs] > 926918K->667692K(3044288K)After GC: > ... > Desired survivor size 14188544 bytes, new threshold 4 (max 4) > - age 1: 6579448 bytes, 6579448 total > : 305088K->13396K(305088K), 0.0386087 secs] > 945068K->664582K(3044288K)After GC: > > Thanks, > Sujit > This e-mail and any files transmitted with it are for the sole use of > the intended recipient(s) and may contain confidential and privileged > information. > If you are not the intended recipient, please contact the sender by > reply e-mail and destroy all copies of the original message. > Any unauthorized review, use, disclosure, dissemination, forwarding, > printing or copying of this email or any action taken in reliance on > this e-mail is strictly prohibited and may be unlawful. > > > ------------------------------------------------------------------------ > > _______________________________________________ > hotspot-gc-use mailing list > hotspot-gc-use at openjdk.java.net > http://mail.openjdk.java.net/mailman/listinfo/hotspot-gc-use _______________________________________________ hotspot-gc-use mailing list hotspot-gc-use at openjdk.java.net http://mail.openjdk.java.net/mailman/listinfo/hotspot-gc-use From Y.S.Ramakrishna at Sun.COM Mon Aug 3 19:36:46 2009 From: Y.S.Ramakrishna at Sun.COM (Y.S.Ramakrishna at Sun.COM) Date: Mon, 03 Aug 2009 12:36:46 -0700 Subject: Direct promotion to old gen In-Reply-To: <4A772EA8.5020609@Sun.COM> References: <19B27FD5AF2EAA49A66F787911CF519596D00C@CTSINCHNSXUU.cts.com> <4A772383.20206@sun.com> <4A772EA8.5020609@Sun.COM> Message-ID: <4A773C4E.9060701@Sun.COM> On 08/ 3/09 11:38 AM, Peter B. Kessler wrote: ... > > A minor correction: I'm pretty sure that one object failing to fit in to-space doesn't imply that all further attempts will result in promotion. E.g., if you have one big object that fails to fit in the to-space, then it will be put in the old-space, but after that smaller objects may well fit in the to-space so we will put them there. That is, each object is considered individually: if the policy says we should put it in the old generation then we do, but otherwise we try to put it in the to-space. If it fits, we're happy, if it doesn't fit we put it in the old generation. > > The point of the age bits and the tenuring threshold policy is to advise us which relatively older objects should be promoted so that there's room for the relatively younger objects to fit in the to-space. We need a policy like that because we don't consider the objects in age order. Exactly; and furthermore, the "Survivor PLABs" used by our parallel scavengers can exacerbate that effect, especially in the presence of object size distributions with longer/fatter tails, where we can make the error of keeping an old large object (which might typically live a long time) in a survivor space at the expense of many smaller younger objects that will die soon. Such survivor space overflow is, as many of our users know, the bane of non-moving old gen collectors such as CMS, where they exacerbate fragmentation. -- ramki _______________________________________________ hotspot-gc-use mailing list hotspot-gc-use at openjdk.java.net http://mail.openjdk.java.net/mailman/listinfo/hotspot-gc-use From Sujit.Das at cognizant.com Mon Aug 3 19:32:28 2009 From: Sujit.Das at cognizant.com (Sujit.Das at cognizant.com) Date: Tue, 4 Aug 2009 01:02:28 +0530 Subject: Tenuring distribution References: <19B27FD5AF2EAA49A66F787911CF519596D00E@CTSINCHNSXUU.cts.com> <4A773A1D.3020500@Sun.COM> Message-ID: <19B27FD5AF2EAA49A66F787911CF519596D00F@CTSINCHNSXUU.cts.com> The snippet below is for uniform test load in staging environment. Thanks, Sujit ________________________________ From: Y.S.Ramakrishna at Sun.COM [mailto:Y.S.Ramakrishna at Sun.COM] Sent: Mon 8/3/2009 2:27 PM To: Das, Sujit (Cognizant) Cc: hotspot-gc-use at openjdk.java.net Subject: Re: Tenuring distribution On 08/ 3/09 12:01 PM, Sujit.Das at cognizant.com wrote: > Hi All, > > I am trying to look whether there is any scope in improving tenuring > distribution by changing survivor space or Max Tenuring Threshold. I > have read some Tenuring distribution examples. But following tenuring > distribution output of my application confuses me and not sure whether > the young generation is well-tuned or not. The following tenuring > distribution O/P is result of consecutive minor collections. It > increases from age 1 to 3 (sometimes upto age 4) and then drops to age > 1. It then again increases with each minor collection. Yes, as you can see, the TT drops to 3 and then to 1, and this happens because there is periodically a large number of young survivors (i.e. age 1) in the survivor space, so we pro-actively promote at the next scavenge to avoid the possibility of premature overflow. You could increase your survivor space size. (There is clearly some kind of periodic generation of a large volume of data in your application. You can see whether that correlates to any kind of load-pulsing, or convoying effects. Are you using a production load (which can be bursty) or a bursty test load or a uniform test load for these figures?) Once again, I think Tony & Charlie's talk slides will help in this kind of tuning. -- ramki > > Please do let me know your thoughts. > > Desired survivor size 14188544 bytes, new threshold 4 (max 4) > - age 1: 7040008 bytes, 7040008 total > : 305088K->13787K(305088K), 0.0395292 secs] > 906769K->626948K(3044288K)After GC: > ... > Desired survivor size 14188544 bytes, new threshold 4 (max 4) > - age 1: 6448424 bytes, 6448424 total > - age 2: 4461088 bytes, 10909512 total > : 291163K->12426K(305088K), 0.0191044 secs] > 904324K->625588K(3044288K)After GC: > ... > Desired survivor size 14188544 bytes, new threshold 3 (max 4) > - age 1: 7150744 bytes, 7150744 total > - age 2: 4394936 bytes, 11545680 total > - age 3: 3582184 bytes, 15127864 total > : 289802K->19070K(305088K), 0.0191912 secs] > 902964K->632232K(3044288K)After GC: > ... > Desired survivor size 14188544 bytes, new threshold 1 (max 4) > - age 1: 18196472 bytes, 18196472 total > - age 2: 3800224 bytes, 21996696 total > - age 3: 3340344 bytes, 25337040 total > : 296446K->27712K(305088K), 0.0282980 secs] > 909608K->648613K(3044288K)After GC: > ... > Desired survivor size 14188544 bytes, new threshold 4 (max 4) > - age 1: 5757968 bytes, 5757968 total > : 305088K->13117K(305088K), 0.0403760 secs] > 925989K->645051K(3044288K)After GC: > ... > Desired survivor size 14188544 bytes, new threshold 4 (max 4) > - age 1: 5984000 bytes, 5984000 total > - age 2: 4197480 bytes, 10181480 total > : 290493K->13133K(305088K), 0.0251218 secs] > 922427K->645067K(3044288K)After GC: > ... > Desired survivor size 14188544 bytes, new threshold 3 (max 4) > - age 1: 6765056 bytes, 6765056 total > - age 2: 4159752 bytes, 10924808 total > - age 3: 3534520 bytes, 14459328 total > : 290509K->17608K(305088K), 0.0258073 secs] > 922443K->649542K(3044288K)After GC: > ... > Desired survivor size 14188544 bytes, new threshold 1 (max 4) > - age 1: 17919056 bytes, 17919056 total > - age 2: 4852200 bytes, 22771256 total > - age 3: 3152768 bytes, 25924024 total > : 294984K->27712K(305088K), 0.0303612 secs] > 926918K->667692K(3044288K)After GC: > ... > Desired survivor size 14188544 bytes, new threshold 4 (max 4) > - age 1: 6579448 bytes, 6579448 total > : 305088K->13396K(305088K), 0.0386087 secs] > 945068K->664582K(3044288K)After GC: > > Thanks, > Sujit > This e-mail and any files transmitted with it are for the sole use of > the intended recipient(s) and may contain confidential and privileged > information. > If you are not the intended recipient, please contact the sender by > reply e-mail and destroy all copies of the original message. > Any unauthorized review, use, disclosure, dissemination, forwarding, > printing or copying of this email or any action taken in reliance on > this e-mail is strictly prohibited and may be unlawful. > > > ------------------------------------------------------------------------ > > _______________________________________________ > hotspot-gc-use mailing list > hotspot-gc-use at openjdk.java.net > http://mail.openjdk.java.net/mailman/listinfo/hotspot-gc-use This e-mail and any files transmitted with it are for the sole use of the intended recipient(s) and may contain confidential and privileged information. If you are not the intended recipient, please contact the sender by reply e-mail and destroy all copies of the original message. Any unauthorized review, use, disclosure, dissemination, forwarding, printing or copying of this email or any action taken in reliance on this e-mail is strictly prohibited and may be unlawful. -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- _______________________________________________ hotspot-gc-use mailing list hotspot-gc-use at openjdk.java.net http://mail.openjdk.java.net/mailman/listinfo/hotspot-gc-use From John.Coomes at sun.com Mon Aug 3 19:49:50 2009 From: John.Coomes at sun.com (John Coomes) Date: Mon, 3 Aug 2009 12:49:50 -0700 Subject: review request (Mx2) 4396719 & 6867958 mark sweep stack overflow Message-ID: <19063.16222.844738.785660@sun.com> This is two requests in one, which may be :-) or :-( depending on your viewpoint. The first is for work done by Peter Kessler before he moved to another group: http://cr.openjdk.java.net/~jcoomes/4396719-fat-stack/ I've simply kept this work up to date and done some additional testing. I reviewed his original changes, so one additional reviewer would be nice. The second is a follow-on change, which reduces the performance impact of 4396719 slightly: http://cr.openjdk.java.net/~jcoomes/6867958-fat-stack/ It's medium only because it touches many files; the change is very simple. -John From Y.S.Ramakrishna at Sun.COM Mon Aug 3 20:00:42 2009 From: Y.S.Ramakrishna at Sun.COM (Y.S.Ramakrishna at Sun.COM) Date: Mon, 03 Aug 2009 13:00:42 -0700 Subject: Tenuring distribution In-Reply-To: <19B27FD5AF2EAA49A66F787911CF519596D00F@CTSINCHNSXUU.cts.com> References: <19B27FD5AF2EAA49A66F787911CF519596D00E@CTSINCHNSXUU.cts.com> <4A773A1D.3020500@Sun.COM> <19B27FD5AF2EAA49A66F787911CF519596D00F@CTSINCHNSXUU.cts.com> Message-ID: <4A7741EA.8010307@Sun.COM> On 08/ 3/09 12:32 PM, Sujit.Das at cognizant.com wrote: > The snippet below is for uniform test load in staging environment. If you want to age objects the full 4 scavenges before promotion, you will need to increase the survivor size to the sum of the maximum historical panel populations of objects of age 1 through 4.* (You will need to do this iteratively, until you reach a fixed point. Since we do not allow survivor space size to exceed that of Eden, there is a class of applications whose object lifetimes will never have a feasible solution to this objective of aging all objects for at least N scavenges before promoting.) [*} for the snippet below, the indicated survivor size would be maxpop(age1)+maxpop(age2)+maxpop(age3)+maxpop(age4) = = 18196472 + 4852200 + 3582184 + ... = at least 26630856 The iteration to a fixed point is needed because each increase will allow space for the "baby boom" to move through the survivor space. A rough (probably very loose) upper bound above might be 4*maxpop(age1) = 4*18196472 = 72785888. The optimal value would be something in between. But of course this loose upper bound assumes that all age 1 objects will live at least 4 scavenges, in which case it does _not_ make sense to uselessly copy them back-and-forth between the survivor spaces (especially if you expect them to survive the fifth scavenge and promote anyway). Typical survivor space sizing decisions might be made based on the relative costs of copying versus promotion (either in the short term, i.e. pause times, for low-pause collectors, or in the long term, i.e. end-to-end GC overhead, for throughput oriented collectors. Of course the long term effects of premature promotion in the case of concurrent collectors cannot be ignored, both for fragmentation effects in the case of non-moving old gen collectors, and for overwhelming concurrent GC threads with potentially more work than they have the capacity to handle.) As you can see there are multiple factors and costs, and you will need to iteratively tune to balance these according to your cost/utility function. As I write this, I realize that, if we do not do so already, pro-actively promoting objects that are very large (on the assumption, or perhaps based on profiling) might be a reasonable generational tenuring strategy. (I am sure someone must have written about this already elsewhere, and perhaps HotSpot already has support for it, i'd need to check our code.) -- ramki > > Desired survivor size 14188544 bytes, new threshold 4 (max 4) > > - age 1: 7040008 bytes, 7040008 total > > : 305088K->13787K(305088K), 0.0395292 secs] > > 906769K->626948K(3044288K)After GC: > > ... > > Desired survivor size 14188544 bytes, new threshold 4 (max 4) > > - age 1: 6448424 bytes, 6448424 total > > - age 2: 4461088 bytes, 10909512 total > > : 291163K->12426K(305088K), 0.0191044 secs] > > 904324K->625588K(3044288K)After GC: > > ... > > Desired survivor size 14188544 bytes, new threshold 3 (max 4) > > - age 1: 7150744 bytes, 7150744 total > > - age 2: 4394936 bytes, 11545680 total > > - age 3: 3582184 bytes, 15127864 total > > : 289802K->19070K(305088K), 0.0191912 secs] > > 902964K->632232K(3044288K)After GC: > > ... > > Desired survivor size 14188544 bytes, new threshold 1 (max 4) > > - age 1: 18196472 bytes, 18196472 total > > - age 2: 3800224 bytes, 21996696 total > > - age 3: 3340344 bytes, 25337040 total > > : 296446K->27712K(305088K), 0.0282980 secs] > > 909608K->648613K(3044288K)After GC: > > ... > > Desired survivor size 14188544 bytes, new threshold 4 (max 4) > > - age 1: 5757968 bytes, 5757968 total > > : 305088K->13117K(305088K), 0.0403760 secs] > > 925989K->645051K(3044288K)After GC: > > ... > > Desired survivor size 14188544 bytes, new threshold 4 (max 4) > > - age 1: 5984000 bytes, 5984000 total > > - age 2: 4197480 bytes, 10181480 total > > : 290493K->13133K(305088K), 0.0251218 secs] > > 922427K->645067K(3044288K)After GC: > > ... > > Desired survivor size 14188544 bytes, new threshold 3 (max 4) > > - age 1: 6765056 bytes, 6765056 total > > - age 2: 4159752 bytes, 10924808 total > > - age 3: 3534520 bytes, 14459328 total > > : 290509K->17608K(305088K), 0.0258073 secs] > > 922443K->649542K(3044288K)After GC: > > ... > > Desired survivor size 14188544 bytes, new threshold 1 (max 4) > > - age 1: 17919056 bytes, 17919056 total > > - age 2: 4852200 bytes, 22771256 total > > - age 3: 3152768 bytes, 25924024 total > > : 294984K->27712K(305088K), 0.0303612 secs] > > 926918K->667692K(3044288K)After GC: > > ... > > Desired survivor size 14188544 bytes, new threshold 4 (max 4) > > - age 1: 6579448 bytes, 6579448 total > > : 305088K->13396K(305088K), 0.0386087 secs] > > 945068K->664582K(3044288K)After GC: _______________________________________________ hotspot-gc-use mailing list hotspot-gc-use at openjdk.java.net http://mail.openjdk.java.net/mailman/listinfo/hotspot-gc-use From John.Coomes at sun.com Tue Aug 4 00:52:57 2009 From: John.Coomes at sun.com (John Coomes) Date: Mon, 3 Aug 2009 17:52:57 -0700 Subject: review request (S) - 6821693: TaskQueue capacity In-Reply-To: <19054.38874.928893.897457@sun.com> References: <19054.38874.928893.897457@sun.com> Message-ID: <19063.34409.57903.925078@sun.com> I (John.Coomes at sun.com) wrote: > I'd appreciate some reviews of > > http://cr.openjdk.java.net/~jcoomes/6821693-taskqueue64/ > > 6821693 64-bit TaskQueue capacity still too small > 6821507 Alignment problem in GC taskqueue > > Those w/good memories may recall an earlier review request, but enough > code has changed and time has passed to require new reviews. > > A micro-test that pushes/pops items on/off the queue is ~10% faster > w/the new code on intel, but there's no noticeable effect on > real-world apps. I've updated the webrev (at the location above) based on review comments from Tony Printezis and Andrey Petrusenko (thanks). Changes: - use upper case for constant names - fix two comment typos - declare the TaskQueueSuper::_age field volatile and make all the necessary accessor methods volatile. This eliminates the need for separate top() and top_volatile() methods. It costs a tiny bit (~1%) in performance on the micro test, but is cleaner and the result is still measurably faster than the reference VM. The prior webrev is now at http://cr.openjdk.java.net/~jcoomes/6821693-taskqueue64.old.02 -John From john.cuthbertson at sun.com Tue Aug 4 09:45:00 2009 From: john.cuthbertson at sun.com (john.cuthbertson at sun.com) Date: Tue, 04 Aug 2009 09:45:00 +0000 Subject: hg: jdk7/hotspot-gc/hotspot: 6865703: G1: Parallelize hot card cache cleanup Message-ID: <20090804094507.EDD59E081@hg.openjdk.java.net> Changeset: 15c5903cf9e1 Author: johnc Date: 2009-08-03 12:59 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/hotspot/rev/15c5903cf9e1 6865703: G1: Parallelize hot card cache cleanup Summary: Have the GC worker threads clear the hot card cache in parallel by having each worker thread claim a chunk of the card cache and process the cards in that chunk. The size of the chunks that each thread will claim is determined at VM initialization from the size of the card cache and the number of worker threads. Reviewed-by: jmasa, tonyp ! src/share/vm/gc_implementation/g1/concurrentG1Refine.cpp ! src/share/vm/gc_implementation/g1/concurrentG1Refine.hpp ! src/share/vm/gc_implementation/g1/g1CollectedHeap.cpp From John.Coomes at sun.com Tue Aug 4 19:01:36 2009 From: John.Coomes at sun.com (John Coomes) Date: Tue, 4 Aug 2009 12:01:36 -0700 Subject: review request (Mx2) 4396719 & 6867958 mark sweep stack overflow In-Reply-To: <19063.16222.844738.785660@sun.com> References: <19063.16222.844738.785660@sun.com> Message-ID: <19064.34192.283070.340815@sun.com> I (John.Coomes at sun.com) wrote: > This is two requests in one, which may be :-) or :-( depending on your > viewpoint. > > The first is for work done by Peter Kessler before he moved to another > group: > > http://cr.openjdk.java.net/~jcoomes/4396719-fat-stack/ > > I've simply kept this work up to date and done some additional > testing. I reviewed his original changes, so one additional reviewer > would be nice. > > The second is a follow-on change, which reduces the performance impact > of 4396719 slightly: > > http://cr.openjdk.java.net/~jcoomes/6867958-fat-stack/ > ... After discussions with several other engineers, I'm withdrawing this review request. There are some alternative solutions to explore before we commit to this approach. -John From Jon.Masamitsu at Sun.COM Tue Aug 4 21:08:04 2009 From: Jon.Masamitsu at Sun.COM (Jon Masamitsu) Date: Tue, 04 Aug 2009 14:08:04 -0700 Subject: Code Review Request: 6819085 G1: use larger and/or user settable region size In-Reply-To: <4A720EE2.90404@sun.com> References: <4A720EE2.90404@sun.com> Message-ID: <4A78A334.5060303@Sun.COM> g1CollectedHeap.hpp Does this deserve a comment on what it is or what it is used for? 173 static size_t _very_large_in_words; Ok, having read down a little further, how about just changing the variable to _humungous_region_threshold. arguments.cpp 1281 // Maximum region size; we don't go higher than that 1282 #define MAX_REGION_SIZE ( 32 * 1024 * 1024 ) A comment on why there is a max would be nice. heapRegion.hpp Just because set_heap_region_size() looks like an accessor function, a comment that it is doing more than just setting a field would be helpful. 306 static void set_heap_region_size(uintx heap_region_size_bytes, 307 uintx heap_region_size_log); Otherwise, looks good. On 07/30/09 14:21, Tony Printezis wrote: > http://cr.openjdk.java.net/~tonyp/6819085/webrev.0/ > > The idea is to allow the user to set the region size with a parameter > (-XX:G1HeapRegionSize=N). > > Tony > From john.cuthbertson at sun.com Wed Aug 5 02:47:46 2009 From: john.cuthbertson at sun.com (john.cuthbertson at sun.com) Date: Wed, 05 Aug 2009 02:47:46 +0000 Subject: hg: jdk7/hotspot-gc/hotspot: 6819077: G1: first GC thread coming late into the GC. Message-ID: <20090805024757.34BC9E132@hg.openjdk.java.net> Changeset: 6cb8e9df7174 Author: johnc Date: 2009-08-04 16:00 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/hotspot/rev/6cb8e9df7174 6819077: G1: first GC thread coming late into the GC. Summary: The first worker thread is delayed when entering the GC because it clears the card count table that is used in identifying hot cards. Replace the card count table with a dynamically sized evicting hash table that includes an epoch based counter. Reviewed-by: iveresov, tonyp ! src/share/vm/gc_implementation/g1/concurrentG1Refine.cpp ! src/share/vm/gc_implementation/g1/concurrentG1Refine.hpp ! src/share/vm/gc_implementation/g1/g1CollectedHeap.cpp ! src/share/vm/gc_implementation/g1/g1CollectorPolicy.cpp ! src/share/vm/gc_implementation/g1/g1CollectorPolicy.hpp ! src/share/vm/gc_implementation/g1/g1RemSet.cpp ! src/share/vm/gc_implementation/g1/g1RemSet.hpp ! src/share/vm/gc_implementation/g1/g1_globals.hpp ! src/share/vm/gc_implementation/includeDB_gc_g1 From Antonios.Printezis at sun.com Wed Aug 5 16:28:39 2009 From: Antonios.Printezis at sun.com (Tony Printezis) Date: Wed, 05 Aug 2009 12:28:39 -0400 Subject: Code Review Request: 6819085 G1: use larger and/or user settable region size In-Reply-To: <4A78A334.5060303@Sun.COM> References: <4A720EE2.90404@sun.com> <4A78A334.5060303@Sun.COM> Message-ID: <4A79B337.8070709@sun.com> Jon, Thanks for the review! See inline. Jon Masamitsu wrote: > g1CollectedHeap.hpp > > Does this deserve a comment on what it is or > what it is used for? > > 173 static size_t _very_large_in_words; > > Ok, having read down a little further, how about > just changing the variable to _humungous_region_threshold. That's a good point. I tried to stay close to the existing name but I agree, the one you propose is more appropriate. I actually changed it to _humongous_object_threshold_in_words (yes, a bit verbose; but it's only used in a handful of places and it's more descriptive). > arguments.cpp > > 1281 // Maximum region size; we don't go higher than that > 1282 #define MAX_REGION_SIZE ( 32 * 1024 * 1024 ) > > A comment on why there is a max would be nice. // Maximum region size; we don't go higher than that. There are a // couple of reasons for having an upper bound. We don't want // regions to get too large, otherwise cleanup's effectiveness would // decrease as there will be fewer opportunities to find totally empty // regions after marking. > heapRegion.hpp > > Just because set_heap_region_size() looks like an > accessor function, a comment that it is doing more > than just setting a field would be helpful. > > 306 static void set_heap_region_size(uintx heap_region_size_bytes, > 307 uintx heap_region_size_log); Done. I included a comment and I also enamed it to setup_heap_region_size() // It sets up the heap region size (GrainBytes / GrainWords), as // well as other related fields that are based on the heap region // size (LogOfHRGrainBytes / LogOfHRGrainWords / // CardsPerRegion). All those fields are considered constant // throughout the JVM's execution, therefore they should only be set // up once during initialization time. static void setup_heap_region_size(uintx heap_region_size_bytes, uintx heap_region_size_log); The new webrev is here: http://cr.openjdk.java.net/~tonyp/6819085/webrev.1/ Apart from the changes Jon suggested, I also added a couple of casts to keep gcc happy. > Otherwise, looks good. Thanks! Tony > On 07/30/09 14:21, Tony Printezis wrote: >> http://cr.openjdk.java.net/~tonyp/6819085/webrev.0/ >> >> The idea is to allow the user to set the region size with a parameter >> (-XX:G1HeapRegionSize=N). >> >> Tony >> -- ---------------------------------------------------------------------- | Tony Printezis, Staff Engineer | Sun Microsystems Inc. | | | MS BUR02-311 | | e-mail: tony.printezis at sun.com | 35 Network Drive | | office: +1 781 442 0998 (x20998) | Burlington, MA01803-0902, USA | ---------------------------------------------------------------------- e-mail client: Thunderbird (Solaris) From MASLOWSC at cboe.com Wed Aug 5 19:53:10 2009 From: MASLOWSC at cboe.com (Maslowski, Chuck) Date: Wed, 5 Aug 2009 14:53:10 -0500 Subject: Binary Tree listing question Message-ID: <4BD174404CF4A34C98322DC926CF862B11FECE78@MSMAIL.cboent.cboe.com> Using JDK 1.6.0_14 (perf 1 rel) Can you please explain why we get 2 of these listings every time and the 2nd one always has only zeroes ? Thanks Chuck Maslowski / CBOE Statistics for BinaryTreeDictionary: ------------------------------------ Total Free Space: 638634712 Max Chunk Size: 638634712 Number of Blocks: 1 Av. Block Size: 638634712 Tree Height: 1 Before GC: Statistics for BinaryTreeDictionary: ------------------------------------ Total Free Space: 0 Max Chunk Size: 0 Number of Blocks: 0 Tree Height: 0 -------------- next part -------------- An HTML attachment was scrubbed... URL: From Y.S.Ramakrishna at Sun.COM Wed Aug 5 21:03:38 2009 From: Y.S.Ramakrishna at Sun.COM (Y.S.Ramakrishna at Sun.COM) Date: Wed, 05 Aug 2009 14:03:38 -0700 Subject: Binary Tree listing question In-Reply-To: <4BD174404CF4A34C98322DC926CF862B11FECE78@MSMAIL.cboent.cboe.com> References: <4BD174404CF4A34C98322DC926CF862B11FECE78@MSMAIL.cboent.cboe.com> Message-ID: <4A79F3AA.5070403@Sun.COM> The first is for the CMS Old Gen and the second for the CMS Perm Gen space, where all of the space is allocated linearly out of a single contiguous block, leaving nothing in the tree (effectively, the perm gen allocator uses a linear allocator with nothing in the size-keyed binary tree initially, although i think that eventually you will end up populating this tree when you collect the perm gen; compaction will revert it back to a linear allocator. This choice of allocator is buried in history.) -- ramki On 08/05/09 12:53, Maslowski, Chuck wrote: > Using JDK 1.6.0_14 (perf 1 rel) > > Can you please explain why we get 2 of these listings every time and the > 2^nd one always has only zeroes ? > > Thanks > > Chuck Maslowski / CBOE > > > > > > Statistics for BinaryTreeDictionary: > > ------------------------------------ > > Total Free Space: 638634712 > > Max Chunk Size: 638634712 > > Number of Blocks: 1 > > Av. Block Size: 638634712 > > Tree Height: 1 > > Before GC: > > Statistics for BinaryTreeDictionary: > > ------------------------------------ > > Total Free Space: 0 > > Max Chunk Size: 0 > > Number of Blocks: 0 > > Tree Height: 0 > > > From John.Rose at Sun.COM Wed Aug 5 23:53:16 2009 From: John.Rose at Sun.COM (John Rose) Date: Wed, 05 Aug 2009 16:53:16 -0700 Subject: for review (M): 6863023: need non-perm oops in code cache for JSR 292 In-Reply-To: <4A73229F.9090903@sun.com> References: <01A90166-7F50-4218-B38A-345C7CA7ABF7@sun.com> <4A6D8B3D.6060704@Sun.COM> <4A73229F.9090903@sun.com> Message-ID: <94936B17-12A8-4C14-AF17-448A9AB33A2F@Sun.COM> On Jul 31, 2009, at 9:58 AM, Vladimir Kozlov wrote: > Could you rename non_perm_state_clean() to non_perm_not_marked() > or something otherwise the next code looks strange since > the non_perm_state is also used to flag "on list" state: > > + debug_only(cur->clear_non_perm_marked()); > + assert(cur->non_perm_state_clean(), ""); > + assert(cur->on_non_perm_list(), "else shouldn't be on this > list"); Done. Added a brief comment explaining the "not_" variation. + // N.B. there is no positive marked query, and we only use the not_marked query for asserts. > In nmethod.hpp could you move enum above its usage and use it in > on_non_perm_list()? Thanks; done. > Can you change the comment in parse3.cpp to next?: > > // cases: > // should_be_constant = (oop == null || oop in perm space || > NonPermCodeRefs >= 2) > // has_encoding = (should_be_constant || NonPermCodeRefs > == 1) > // Yes, done. (Except that I prefer NonPermCodeRefs >= 1 for the second equation.) > In globals.hpp it would be better to have "1: allow" on a separate > line. Fixed. Thanks! -- John From Y.S.Ramakrishna at Sun.COM Wed Aug 5 23:57:53 2009 From: Y.S.Ramakrishna at Sun.COM (Y.S.Ramakrishna at Sun.COM) Date: Wed, 05 Aug 2009 16:57:53 -0700 Subject: request for review (m): 4957990: Perm heap bloat in JVM In-Reply-To: <4A7A17FB.20606@Sun.COM> References: <4A789E4C.20109@Sun.COM> <4A78A5DB.3040901@Sun.COM> <4A78E69C.4030604@sun.com> <4A78EDE3.1090703@sun.com> <4A7920B1.7010301@sun.com> <0AA576C1-BA1B-40EF-8ABA-B088C47E3D7B@sun.com> <4A79DBCF.6060506@Sun.COM> <4A79FF45.8060101@sun.com> <4A7A0D33.8030700@Sun.COM> <4A7A1232.7080802@Sun.COM> <287E57C2-5D3D-45C7-87C0-BBB1F5F6212D@Sun.COM> <4A7A17FB.20606@Sun.COM> Message-ID: <4A7A1C81.3020508@Sun.COM> Can there be a situation where an osr nmethod associated with a method oop gets unloaded while the method and its class are still alive? I see that happening with my workspace with the changes for 4957990 (yet to figure out why the osr nmethod was unloaded). Shortly after said unload, the sweeper flushes the nmethod, but the nmethod is still left linked off of the klass's _osr_nmethod_head list, and a subsequent invocation counter overflow at a bci does an osr nmethod lookup and falls foul of the flushed nmethod left in the instanceKlass's osr nmethod head. So I have two questions: (a) can an osr nmethod be unloaded while its klass is still alive ? (b) if the answer to (a) is yes, then we need to take special steps (not present in current code) to unlink said nmethod from the list of osr nmethods in its klass. Am I making sense? Otherwise i can provide more direct detail. (I am still digging to find out why we decided to unload the nmethod and will have more follow-up info in a subsequent email.) thanks. -- ramki From John.Cuthbertson at Sun.COM Thu Aug 6 00:15:24 2009 From: John.Cuthbertson at Sun.COM (john cuthbertson - Sun Microsystems) Date: Wed, 05 Aug 2009 17:15:24 -0700 Subject: Code Review Request: 6819085 G1: use larger and/or user settable region size In-Reply-To: <4A79B337.8070709@sun.com> References: <4A720EE2.90404@sun.com> <4A78A334.5060303@Sun.COM> <4A79B337.8070709@sun.com> Message-ID: <4A7A209C.5080809@sun.com> Hi Tony, The changes look good to me. I do have one question: should we change the line "const size_t cards_per_region = HeapRegion::GrainBytes >> CardTableModRefBS::card_shift;" in g1CollectedHeap.cpp (it's around line 1551) to use HeapRegion::CardsPerRegion for the sake of consistency? Regards, JohnC On 08/05/09 09:28, Tony Printezis wrote: > Jon, > > Thanks for the review! See inline. > > Jon Masamitsu wrote: >> g1CollectedHeap.hpp >> >> Does this deserve a comment on what it is or >> what it is used for? >> >> 173 static size_t _very_large_in_words; >> >> Ok, having read down a little further, how about >> just changing the variable to _humungous_region_threshold. > That's a good point. I tried to stay close to the existing name but I > agree, the one you propose is more appropriate. I actually changed it > to _humongous_object_threshold_in_words (yes, a bit verbose; but it's > only used in a handful of places and it's more descriptive). >> arguments.cpp >> >> 1281 // Maximum region size; we don't go higher than that >> 1282 #define MAX_REGION_SIZE ( 32 * 1024 * 1024 ) >> >> A comment on why there is a max would be nice. > // Maximum region size; we don't go higher than that. There are a > // couple of reasons for having an upper bound. We don't want > // regions to get too large, otherwise cleanup's effectiveness would > // decrease as there will be fewer opportunities to find totally empty > // regions after marking. >> heapRegion.hpp >> >> Just because set_heap_region_size() looks like an >> accessor function, a comment that it is doing more >> than just setting a field would be helpful. >> >> 306 static void set_heap_region_size(uintx heap_region_size_bytes, >> 307 uintx heap_region_size_log); > Done. I included a comment and I also enamed it to > setup_heap_region_size() > > // It sets up the heap region size (GrainBytes / GrainWords), as > // well as other related fields that are based on the heap region > // size (LogOfHRGrainBytes / LogOfHRGrainWords / > // CardsPerRegion). All those fields are considered constant > // throughout the JVM's execution, therefore they should only be set > // up once during initialization time. > static void setup_heap_region_size(uintx heap_region_size_bytes, > uintx heap_region_size_log); > > > The new webrev is here: > > http://cr.openjdk.java.net/~tonyp/6819085/webrev.1/ > > Apart from the changes Jon suggested, I also added a couple of casts > to keep gcc happy. >> Otherwise, looks good. > Thanks! > > Tony >> On 07/30/09 14:21, Tony Printezis wrote: >>> http://cr.openjdk.java.net/~tonyp/6819085/webrev.0/ >>> >>> The idea is to allow the user to set the region size with a >>> parameter (-XX:G1HeapRegionSize=N). >>> >>> Tony >>> > From Antonios.Printezis at sun.com Thu Aug 6 00:54:35 2009 From: Antonios.Printezis at sun.com (Tony Printezis) Date: Wed, 05 Aug 2009 20:54:35 -0400 Subject: Code Review Request: 6819085 G1: use larger and/or user settable region size In-Reply-To: <4A7A209C.5080809@sun.com> References: <4A720EE2.90404@sun.com> <4A78A334.5060303@Sun.COM> <4A79B337.8070709@sun.com> <4A7A209C.5080809@sun.com> Message-ID: <4A7A29CB.8020204@sun.com> John, Thanks for the review! Yes, I will make the change you're recommending; it's an excellent suggestion. Tony john cuthbertson - Sun Microsystems wrote: > Hi Tony, > > The changes look good to me. I do have one question: should we change > the line > "const size_t cards_per_region = HeapRegion::GrainBytes >> > CardTableModRefBS::card_shift;" in g1CollectedHeap.cpp (it's around > line 1551) to use HeapRegion::CardsPerRegion for the sake of consistency? > > Regards, > > JohnC > > On 08/05/09 09:28, Tony Printezis wrote: >> Jon, >> >> Thanks for the review! See inline. >> >> Jon Masamitsu wrote: >>> g1CollectedHeap.hpp >>> >>> Does this deserve a comment on what it is or >>> what it is used for? >>> >>> 173 static size_t _very_large_in_words; >>> >>> Ok, having read down a little further, how about >>> just changing the variable to _humungous_region_threshold. >> That's a good point. I tried to stay close to the existing name but I >> agree, the one you propose is more appropriate. I actually changed it >> to _humongous_object_threshold_in_words (yes, a bit verbose; but it's >> only used in a handful of places and it's more descriptive). >>> arguments.cpp >>> >>> 1281 // Maximum region size; we don't go higher than that >>> 1282 #define MAX_REGION_SIZE ( 32 * 1024 * 1024 ) >>> >>> A comment on why there is a max would be nice. >> // Maximum region size; we don't go higher than that. There are a >> // couple of reasons for having an upper bound. We don't want >> // regions to get too large, otherwise cleanup's effectiveness would >> // decrease as there will be fewer opportunities to find totally empty >> // regions after marking. >>> heapRegion.hpp >>> >>> Just because set_heap_region_size() looks like an >>> accessor function, a comment that it is doing more >>> than just setting a field would be helpful. >>> >>> 306 static void set_heap_region_size(uintx heap_region_size_bytes, >>> 307 uintx heap_region_size_log); >> Done. I included a comment and I also enamed it to >> setup_heap_region_size() >> >> // It sets up the heap region size (GrainBytes / GrainWords), as >> // well as other related fields that are based on the heap region >> // size (LogOfHRGrainBytes / LogOfHRGrainWords / >> // CardsPerRegion). All those fields are considered constant >> // throughout the JVM's execution, therefore they should only be set >> // up once during initialization time. >> static void setup_heap_region_size(uintx heap_region_size_bytes, >> uintx heap_region_size_log); >> >> >> The new webrev is here: >> >> http://cr.openjdk.java.net/~tonyp/6819085/webrev.1/ >> >> Apart from the changes Jon suggested, I also added a couple of casts >> to keep gcc happy. >>> Otherwise, looks good. >> Thanks! >> >> Tony >>> On 07/30/09 14:21, Tony Printezis wrote: >>>> http://cr.openjdk.java.net/~tonyp/6819085/webrev.0/ >>>> >>>> The idea is to allow the user to set the region size with a >>>> parameter (-XX:G1HeapRegionSize=N). >>>> >>>> Tony >>>> >> > From Thomas.Rodriguez at Sun.COM Thu Aug 6 01:15:09 2009 From: Thomas.Rodriguez at Sun.COM (Tom Rodriguez) Date: Wed, 05 Aug 2009 18:15:09 -0700 Subject: request for review (m): 4957990: Perm heap bloat in JVM In-Reply-To: <4A7A1C81.3020508@Sun.COM> References: <4A789E4C.20109@Sun.COM> <4A78A5DB.3040901@Sun.COM> <4A78E69C.4030604@sun.com> <4A78EDE3.1090703@sun.com> <4A7920B1.7010301@sun.com> <0AA576C1-BA1B-40EF-8ABA-B088C47E3D7B@sun.com> <4A79DBCF.6060506@Sun.COM> <4A79FF45.8060101@sun.com> <4A7A0D33.8030700@Sun.COM> <4A7A1232.7080802@Sun.COM> <287E57C2-5D3D-45C7-87C0-BBB1F5F6212D@Sun.COM> <4A7A17FB.20606@Sun.COM> <4A7A1C81.3020508@Sun.COM> Message-ID: My understanding was that OSR nmethods could/should only be reclaimed once the klass of their holder was unloaded. The reason for this is that the normal not_entrant sweeping logic isn't implemented safely for OSR methods so the sweeper can't safely reclaim them. If the klass itself is being reclaimed then it should be safe to reclaim the OSR nmethods. It's possible that we have a hole in the logic which doesn't account for dealing with unloaded OSR methods properly and you changes just make it more likely to happen. We either need to close the not_entrant hole for OSR nmethods, which isn't that hard, and then correct nmethod::make_unloaded to unlink the OSR nmethod or we have to make do_unloading disallow unloading for OSR nmethods is the methodOop is strongly reachable. tom On Aug 5, 2009, at 4:57 PM, Y.S.Ramakrishna at Sun.COM wrote: > > Can there be a situation where an osr nmethod associated > with a method oop gets unloaded while the method and its > class are still alive? I see that happening with my workspace > with the changes for 4957990 (yet to figure out why the osr > nmethod was unloaded). > > Shortly after said unload, the sweeper flushes the nmethod, > but the nmethod is still left linked off of the klass's > _osr_nmethod_head > list, and a subsequent invocation counter overflow at a bci does > an osr nmethod lookup and falls foul of the flushed nmethod left > in the instanceKlass's osr nmethod head. > > So I have two questions: > > (a) can an osr nmethod be unloaded while its klass is still alive ? > (b) if the answer to (a) is yes, then we need to take special steps > (not present in current code) to unlink said nmethod from the > list of osr nmethods in its klass. > > Am I making sense? Otherwise i can provide more direct detail. > (I am still digging to find out why we decided to unload the > nmethod and will have more follow-up info in a subsequent email.) > > thanks. > -- ramki From Y.S.Ramakrishna at Sun.COM Thu Aug 6 02:40:34 2009 From: Y.S.Ramakrishna at Sun.COM (Y.S.Ramakrishna at Sun.COM) Date: Wed, 05 Aug 2009 19:40:34 -0700 Subject: request for review (m): 4957990: Perm heap bloat in JVM In-Reply-To: References: <4A789E4C.20109@Sun.COM> <4A78A5DB.3040901@Sun.COM> <4A78E69C.4030604@sun.com> <4A78EDE3.1090703@sun.com> <4A7920B1.7010301@sun.com> <0AA576C1-BA1B-40EF-8ABA-B088C47E3D7B@sun.com> <4A79DBCF.6060506@Sun.COM> <4A79FF45.8060101@sun.com> <4A7A0D33.8030700@Sun.COM> <4A7A1232.7080802@Sun.COM> <287E57C2-5D3D-45C7-87C0-BBB1F5F6212D@Sun.COM> <4A7A17FB.20606@Sun.COM> <4A7A1C81.3020508@Sun.COM> Message-ID: <4A7A42A2.70603@Sun.COM> Hi Tom -- Thanks for the explanation. I looked at the code some more (since the problem is difficult to reproduce at will). On 08/05/09 18:15, Tom Rodriguez wrote: > My understanding was that OSR nmethods could/should only be reclaimed > once the klass of their holder was unloaded. The reason for this is > that the normal not_entrant sweeping logic isn't implemented safely for > OSR methods so the sweeper can't safely reclaim them. If the klass > itself is being reclaimed then it should be safe to reclaim the OSR > nmethods. It's possible that we have a hole in the logic which doesn't > account for dealing with unloaded OSR methods properly and you changes > just make it more likely to happen. We either need to close the > not_entrant hole for OSR nmethods, which isn't that hard, and then > correct nmethod::make_unloaded to unlink the OSR nmethod or we have to > make do_unloading disallow unloading for OSR nmethods is the methodOop > is strongly reachable. Well, here's how the code currently looks to me: ... roughly speaking, if an nmethod (in the weak roots scan) is found to contain an unmarked oop, it seems to become immediately eligible for unloading (the reachability of its _method notwithstanding):- // This is called at the end of the strong tracing/marking phase of a // GC to unload an nmethod if it contains otherwise unreachable // oops. void nmethod::do_unloading(BoolObjectClosure* is_alive, OopClosure* keep_alive, bool unloading_occurred) { // Make sure the oop's ready to receive visitors assert(!is_zombie() && !is_unloaded(), "should not call follow on zombie or unloaded nmethod"); ... // Follow methodOop if (can_unload(is_alive, keep_alive, (oop*)&_method, unloading_occurred)) { return; } ... // Compiled code RelocIterator iter(this, low_boundary); while (iter.next()) { if (iter.type() == relocInfo::oop_type) { oop_Relocation* r = iter.oop_reloc(); // In this loop, we must only traverse those oops directly embedded in // the code. Other oops (oop_index>0) are seen as part of scopes_oops. assert(1 == (r->oop_is_immediate()) + (r->oop_addr() >= oops_begin() && r->oop_addr() < oops_end()), "oop must be found in exactly one place"); if (r->oop_is_immediate() && r->oop_value() != NULL) { if (can_unload(is_alive, keep_alive, r->oop_addr(), unloading_occurred)) { return; } } ... // Scopes for (oop* p = oops_begin(); p < oops_end(); p++) { if (*p == Universe::non_oop_word()) continue; // skip non-oops if (can_unload(is_alive, keep_alive, p, unloading_occurred)) { return; } } ... } Then:- // If this oop is not live, the nmethod can be unloaded. bool nmethod::can_unload(BoolObjectClosure* is_alive, OopClosure* keep_alive, oop* root, bool unloading_occurred) { assert(root != NULL, "just checking"); oop obj = *root; if (obj == NULL || is_alive->do_object_b(obj)) { return false; } if (obj->is_compiledICHolder()) { compiledICHolderOop cichk_oop = compiledICHolderOop(obj); if (is_alive->do_object_b( cichk_oop->holder_method()->method_holder()) && is_alive->do_object_b(cichk_oop->holder_klass())) { // The oop should be kept alive keep_alive->do_oop(root); return false; } } assert(unloading_occurred, "Inconsistency in unloading"); make_unloaded(is_alive, obj); return true; } Here we seem to have ended up with a scope oop that is not a CICHolder, so we call make_unloaded on the nmethod:- nmethod::CodeBlob::_name = 0xfed2f3e4 "nmethod" nmethod::CodeBlob::_size = 34300 nmethod::CodeBlob::_header_size = 184 nmethod::CodeBlob::_relocation_size = 2544 nmethod::CodeBlob::_instructions_offset = 2744 nmethod::CodeBlob::_frame_complete_offset = 16 nmethod::CodeBlob::_data_offset = 18188 nmethod::CodeBlob::_oops_offset = 33896 nmethod::CodeBlob::_oops_length = 101 nmethod::CodeBlob::_frame_size = 48 nmethod::CodeBlob::_oop_maps = 0x9f3188 nmethod::CodeBlob::_comments = { nmethod::CodeBlob::CodeComments::_comments = (nil) } nmethod::_method = 0xf5df2240 nmethod::_entry_bci = 221 nmethod::_link = (nil) nmethod::_compiler = 0x105030 nmethod::_exception_offset = 18160 nmethod::_deoptimize_offset = 18172 nmethod::_trap_offset = 0 nmethod::_stub_offset = 17240 nmethod::_consts_offset = 18188 nmethod::_scopes_data_offset = 18188 nmethod::_scopes_pcs_offset = 24836 nmethod::_dependencies_offset = 31724 nmethod::_handler_table_offset = 31748 nmethod::_nul_chk_table_offset = 33668 nmethod::_nmethod_end_offset = 33896 nmethod::_orig_pc_offset = 188 nmethod::_compile_id = 3 nmethod::_comp_level = 2 nmethod::_entry_point = 0xfb93c740 "\x91\xd0 ^P^G?\xff\xe0\xc0#\x80^C\x9d\xe3\xbf@\xea^F ^H\xec^F ^L\x90^P" nmethod::_verified_entry_point = 0xfb93c740 "\x91\xd0 ^P^G?\xff\xe0\xc0#\x80^C\x9d\xe3\xbf@\xea^F ^H\xec^F ^L\x90^P" nmethod::_osr_entry_point = 0xfb93c744 "^G?\xff\xe0\xc0#\x80^C\x9d\xe3\xbf@\xea^F ^H\xec^F ^L\x90^P" nmethod::flags = { nmethod::nmFlags::version = 0 nmethod::nmFlags::level = 0 nmethod::nmFlags::age = 0 nmethod::nmFlags::state = 0 nmethod::nmFlags::isUncommonRecompiled = 0 nmethod::nmFlags::isToBeRecompiled = 0 nmethod::nmFlags::hasFlushedDependencies = 0 nmethod::nmFlags::markedForReclamation = 0 nmethod::nmFlags::has_unsafe_access = 0 } nmethod::_markedForDeoptimization = false nmethod::_unload_reported = false nmethod::_has_debug_info = false nmethod::_lock_count = 0 nmethod::_stack_traversal_mark = 0 nmethod::_exception_cache = (nil) nmethod::_pc_desc_cache = { nmethod::PcDescCache::_last_pc_desc = 0xfb943268 nmethod::PcDescCache::_pc_descs = (0xfb942e00, 0xfb942cd4, 0xfb942cb0, 0xfb942c74) } nmethod::_compiled_synchronized_native_basic_lock_owner_sp_offset = { nmethod::ByteSize::_size = -1 } nmethod::_compiled_synchronized_native_basic_lock_sp_offset = { nmethod::ByteSize::_size = -1 } nmethod::_zombie_instruction_size = 12 We then go flush_dependencies as part of unloading it, but this does not seem to involve removing it from the osr_nmethod_head. ... then, once it's eligible for unloading, it's marked "unloaded", and the sweeper summarily flushes it without removing it from the osr_method_head:- ... } else if (nm->is_unloaded()) { // Unloaded code, just make it a zombie if (PrintMethodFlushing && Verbose) tty->print_cr("### Nmethod 0x%x (unloaded) being made zombie", nm); if (nm->is_osr_only_method()) { // No inline caches will ever point to osr methods, so we can just remove it nm->flush(); } else { nm->make_zombie(); _rescan = true; } ... Do you believe the hole here may be in the way the nmethod is being unloaded (perhaps flush_dependencies or related should unlink the nmethod from the osr method list) or that the criteria for unloading are here too weak and allowing a premature unload? thanks for all your help so far, and talk to you tomorrow. -- ramki PS: Given the nitty-gritty of this exchange, i am tempted to pull this from the O.J.N. list and take it off-line 1-on-1 with Tom. Let me know if you have read this far and want to be included in the conversation or want the lists to continue being copied. > > tom > > On Aug 5, 2009, at 4:57 PM, Y.S.Ramakrishna at Sun.COM wrote: > >> >> Can there be a situation where an osr nmethod associated >> with a method oop gets unloaded while the method and its >> class are still alive? I see that happening with my workspace >> with the changes for 4957990 (yet to figure out why the osr >> nmethod was unloaded). >> >> Shortly after said unload, the sweeper flushes the nmethod, >> but the nmethod is still left linked off of the klass's _osr_nmethod_head >> list, and a subsequent invocation counter overflow at a bci does >> an osr nmethod lookup and falls foul of the flushed nmethod left >> in the instanceKlass's osr nmethod head. >> >> So I have two questions: >> >> (a) can an osr nmethod be unloaded while its klass is still alive ? >> (b) if the answer to (a) is yes, then we need to take special steps >> (not present in current code) to unlink said nmethod from the >> list of osr nmethods in its klass. >> >> Am I making sense? Otherwise i can provide more direct detail. >> (I am still digging to find out why we decided to unload the >> nmethod and will have more follow-up info in a subsequent email.) >> >> thanks. >> -- ramki > From Thomas.Rodriguez at Sun.COM Thu Aug 6 02:57:01 2009 From: Thomas.Rodriguez at Sun.COM (Tom Rodriguez) Date: Wed, 05 Aug 2009 19:57:01 -0700 Subject: request for review (m): 4957990: Perm heap bloat in JVM In-Reply-To: References: <4A789E4C.20109@Sun.COM> <4A78A5DB.3040901@Sun.COM> <4A78E69C.4030604@sun.com> <4A78EDE3.1090703@sun.com> <4A7920B1.7010301@sun.com> <0AA576C1-BA1B-40EF-8ABA-B088C47E3D7B@sun.com> <4A79DBCF.6060506@Sun.COM> <4A79FF45.8060101@sun.com> <4A7A0D33.8030700@Sun.COM> <4A7A1232.7080802@Sun.COM> <287E57C2-5D3D-45C7-87C0-BBB1F5F6212D@Sun.COM> <4A7A17FB.20606@Sun.COM> <4A7A1C81.3020508@Sun.COM> Message-ID: <4A9428BE-AA39-49E7-B948-87650AC3A7B6@sun.com> After I wrote this I realized that this is a natural out growth of your fix. Without profiling information an nmethod should only refer to types which are statically reachable. Having the MDO act as a strong root would keep the nmethod from getting unloaded when using predicted call sites. Once the MDO is a weak root then the nmethod could want to be unloaded. I guess without your fix CHA could produce a case where an OSR nmethod would be unloaded without being unlinked from the OSR nmethod list but I'd have to think about that more. tom On Aug 5, 2009, at 6:15 PM, Tom Rodriguez wrote: > My understanding was that OSR nmethods could/should only be > reclaimed once the klass of their holder was unloaded. The reason > for this is that the normal not_entrant sweeping logic isn't > implemented safely for OSR methods so the sweeper can't safely > reclaim them. If the klass itself is being reclaimed then it should > be safe to reclaim the OSR nmethods. It's possible that we have a > hole in the logic which doesn't account for dealing with unloaded > OSR methods properly and you changes just make it more likely to > happen. We either need to close the not_entrant hole for OSR > nmethods, which isn't that hard, and then correct > nmethod::make_unloaded to unlink the OSR nmethod or we have to make > do_unloading disallow unloading for OSR nmethods is the methodOop is > strongly reachable. > > tom > > On Aug 5, 2009, at 4:57 PM, Y.S.Ramakrishna at Sun.COM wrote: > >> >> Can there be a situation where an osr nmethod associated >> with a method oop gets unloaded while the method and its >> class are still alive? I see that happening with my workspace >> with the changes for 4957990 (yet to figure out why the osr >> nmethod was unloaded). >> >> Shortly after said unload, the sweeper flushes the nmethod, >> but the nmethod is still left linked off of the klass's >> _osr_nmethod_head >> list, and a subsequent invocation counter overflow at a bci does >> an osr nmethod lookup and falls foul of the flushed nmethod left >> in the instanceKlass's osr nmethod head. >> >> So I have two questions: >> >> (a) can an osr nmethod be unloaded while its klass is still alive ? >> (b) if the answer to (a) is yes, then we need to take special steps >> (not present in current code) to unlink said nmethod from the >> list of osr nmethods in its klass. >> >> Am I making sense? Otherwise i can provide more direct detail. >> (I am still digging to find out why we decided to unload the >> nmethod and will have more follow-up info in a subsequent email.) >> >> thanks. >> -- ramki > From Y.S.Ramakrishna at Sun.COM Thu Aug 6 06:10:48 2009 From: Y.S.Ramakrishna at Sun.COM (Y. Srinivas Ramakrishna) Date: Wed, 05 Aug 2009 23:10:48 -0700 Subject: request for review (m): 4957990: Perm heap bloat in JVM In-Reply-To: <4A9428BE-AA39-49E7-B948-87650AC3A7B6@sun.com> References: <4A789E4C.20109@Sun.COM> <4A78A5DB.3040901@Sun.COM> <4A78E69C.4030604@sun.com> <4A78EDE3.1090703@sun.com> <4A7920B1.7010301@sun.com> <0AA576C1-BA1B-40EF-8ABA-B088C47E3D7B@sun.com> <4A79DBCF.6060506@Sun.COM> <4A79FF45.8060101@sun.com> <4A7A0D33.8030700@Sun.COM> <4A7A1232.7080802@Sun.COM> <287E57C2-5D3D-45C7-87C0-BBB1F5F6212D@Sun.COM> <4A7A17FB.20606@Sun.COM> <4A7A1C81.3020508@Sun.COM> <4A9428BE-AA39-49E7-B948-87650AC3A7B6@sun.com> Message-ID: <4A7A73E8.4020008@sun.com> Tom Rodriguez wrote: > After I wrote this I realized that this is a natural out growth of > your fix. Without profiling information an nmethod should only refer > to types which are statically reachable. Having the MDO act as a > strong root would keep the nmethod from getting unloaded when using > predicted call sites. Once the MDO is a weak root then the nmethod > could want to be unloaded. I guess without your fix CHA could produce > a case where an OSR nmethod would be unloaded without being unlinked > from the OSR nmethod list but I'd have to think about that more. So, Tom, is my understanding correct that the criteria for unloading of the nmethod are not too weak. Do you suggest that make_unloaded should just go unlink the nmethod from the osr list? I'll give that a try tonight and update later on how that looks wrt the current test, but let me know if i am misunderstanding and that would not be the correct way to fix this problem, thanks! -- ramki > > tom > > On Aug 5, 2009, at 6:15 PM, Tom Rodriguez wrote: > >> My understanding was that OSR nmethods could/should only be reclaimed >> once the klass of their holder was unloaded. The reason for this is >> that the normal not_entrant sweeping logic isn't implemented safely >> for OSR methods so the sweeper can't safely reclaim them. If the >> klass itself is being reclaimed then it should be safe to reclaim the >> OSR nmethods. It's possible that we have a hole in the logic which >> doesn't account for dealing with unloaded OSR methods properly and >> you changes just make it more likely to happen. We either need to >> close the not_entrant hole for OSR nmethods, which isn't that hard, >> and then correct nmethod::make_unloaded to unlink the OSR nmethod or >> we have to make do_unloading disallow unloading for OSR nmethods is >> the methodOop is strongly reachable. >> >> tom >> >> On Aug 5, 2009, at 4:57 PM, Y.S.Ramakrishna at Sun.COM wrote: >> >>> >>> Can there be a situation where an osr nmethod associated >>> with a method oop gets unloaded while the method and its >>> class are still alive? I see that happening with my workspace >>> with the changes for 4957990 (yet to figure out why the osr >>> nmethod was unloaded). >>> >>> Shortly after said unload, the sweeper flushes the nmethod, >>> but the nmethod is still left linked off of the klass's >>> _osr_nmethod_head >>> list, and a subsequent invocation counter overflow at a bci does >>> an osr nmethod lookup and falls foul of the flushed nmethod left >>> in the instanceKlass's osr nmethod head. >>> >>> So I have two questions: >>> >>> (a) can an osr nmethod be unloaded while its klass is still alive ? >>> (b) if the answer to (a) is yes, then we need to take special steps >>> (not present in current code) to unlink said nmethod from the >>> list of osr nmethods in its klass. >>> >>> Am I making sense? Otherwise i can provide more direct detail. >>> (I am still digging to find out why we decided to unload the >>> nmethod and will have more follow-up info in a subsequent email.) >>> >>> thanks. >>> -- ramki >> > From john.coomes at sun.com Thu Aug 6 09:37:23 2009 From: john.coomes at sun.com (john.coomes at sun.com) Date: Thu, 06 Aug 2009 09:37:23 +0000 Subject: hg: jdk7/hotspot-gc/hotspot: 6868991: JPRT: elide GCBasher_G1 test on winx64 until 6867250 is resolved Message-ID: <20090806093730.2746AE479@hg.openjdk.java.net> Changeset: 703065c670fa Author: ysr Date: 2009-08-05 18:54 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/hotspot/rev/703065c670fa 6868991: JPRT: elide GCBasher_G1 test on winx64 until 6867250 is resolved Summary: JPRT: elide GCBasher_G1 test on winx64 until 6867250 is resolved Reviewed-by: jcoomes ! make/jprt.properties From vikram.account at gmail.com Thu Aug 6 10:38:46 2009 From: vikram.account at gmail.com (Vikram A) Date: Thu, 6 Aug 2009 16:08:46 +0530 Subject: Code Review Request: 6819085 G1: use larger and/or user settable region size In-Reply-To: <4A731626.6050106@sun.com> References: <4A720EE2.90404@sun.com> <10ffa8f60907302012u628325a7q682995927644d077@mail.gmail.com> <4A731626.6050106@sun.com> Message-ID: <10ffa8f60908060338l25198e82v78ff5876f5dbd52@mail.gmail.com> hi Tony, missed that part of bounding the region size. thanks. rgds, Vikram On Fri, Jul 31, 2009 at 9:34 PM, Tony Printezis wrote: > Vikram, > > Hi. With testing we have done so far with 1G-4G heaps, 1m region size seemed > to work well. However, We have been recently experimenting with 24g-32g > heaps and for that we've seen that larger region sizes are beneficial (in > order to cut down the number of regions). Which is one of the reasons why I > worked on this CR. Also note that, after the region size calculation you > showed, I do bound the region size by MIN_REGION_SIZE and MAX_REGION_SIZE. > So, the minimum region size, currently, will be 1m and in some cases ,we > might use a larger one (up to currently 32m). > > Tony > > Vikram A wrote: >> >> hi Tony, >> >> Just thinking out loud here. >> >> You had once outlined ?that we get most benefit with 1MB regions based >> on your testing. >> >> ?in arguments.cpp >> >> + ? uintx region_size = G1HeapRegionSize; >> + ? if (FLAG_IS_DEFAULT(G1HeapRegionSize)) { >> + ? ? // We base the automatic calculation on the min heap size. This >> + ? ? // can be problematic if the spread between min and max is quite >> + ? ? // wide, imagine -Xms128m -Xmx32g. But, if we decided it based on >> + ? ? // the max size, the region size might be way too small for the >> + ? ? // min size. Either way, some users might have to set the region >> + ? ? // size manually for some -Xms / -Xmx combos. >> + ? ? region_size = min_heap_size() / TARGET_REGION_NUMBER; >> + ? } >> >> with this for many small application it seems to me that the region >> size is disturbed. >> >> eg. in the above doc. you mention >> -Xms128, consider the heap to be ?and TARGET_REGION_NUMBER is defined as >> 2048. >> So, total heap will be >> 128 * 1024(K) = 131072K >> now dividing 131072K/2048 = 64K for each region. >> >> If this inpterpretation is right and there is a reason for doing it >> this way, aren't we losing the adv we gained with 1024K region. >> this seems like a very small region size and would induce frequent GC, >> although could be with small pause time. >> >> I would assume that many enterprise would run their java with larger >> heaps than this, but considering this is also for every one, should >> the 1024K region size be useful to keep by default while allowing this >> fix to modify it for advanced user. >> >> Like I said just my thoughts. >> >> regards, >> Vikram. >> >> On Fri, Jul 31, 2009 at 2:51 AM, Tony Printezis >> wrote: >> >>> >>> http://cr.openjdk.java.net/~tonyp/6819085/webrev.0/ >>> >>> The idea is to allow the user to set the region size with a parameter >>> (-XX:G1HeapRegionSize=N). >>> >>> Tony >>> >>> -- >>> ---------------------------------------------------------------------- >>> | Tony Printezis, Staff Engineer ? ?| Sun Microsystems Inc. ? ? ? ? ?| >>> | ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? | MS BUR02-311 ? ? ? ? ? ? ? ? ? | >>> | e-mail: tony.printezis at sun.com ? ?| 35 Network Drive ? ? ? ? ? ? ? | >>> | office: +1 781 442 0998 (x20998) ?| Burlington, MA01803-0902, USA ?| >>> ---------------------------------------------------------------------- >>> e-mail client: Thunderbird (Solaris) >>> >>> >>> > > -- > --------------------------------------------------------------------- > | Tony Printezis, Staff Engineer ? | Sun Microsystems Inc. ? ? ? ? ?| > | ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?| MS UBUR02-311 ? ? ? ? ? ? ? ? ?| > | e-mail: tony.printezis at sun.com ? | 35 Network Drive ? ? ? ? ? ? ? | > | office: +1 781 442 0998 (x20998) | Burlington, MA 01803-2756, USA | > --------------------------------------------------------------------- > e-mail client: Thunderbird (Linux) > > > From john.coomes at sun.com Thu Aug 6 13:24:33 2009 From: john.coomes at sun.com (john.coomes at sun.com) Date: Thu, 06 Aug 2009 13:24:33 +0000 Subject: hg: jdk7/hotspot-gc/hotspot: 6821693: 64-bit TaskQueue capacity still too small; ... Message-ID: <20090806132440.98EA8E4DD@hg.openjdk.java.net> Changeset: 3ee342e25e57 Author: jcoomes Date: 2009-08-05 12:33 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/hotspot/rev/3ee342e25e57 6821693: 64-bit TaskQueue capacity still too small 6821507: Alignment problem in GC taskqueue Reviewed-by: tonyp, apetrusenko ! src/share/vm/utilities/taskqueue.hpp From John.Coomes at sun.com Thu Aug 6 17:40:10 2009 From: John.Coomes at sun.com (John Coomes) Date: Thu, 6 Aug 2009 10:40:10 -0700 Subject: review request (S) - 6861660 OopMapBlock count/size confusion Message-ID: <19067.5498.720216.329521@sun.com> Several places assumed OopMapBlock was one HeapWord in size, but that has to change. http://cr.openjdk.java.net/~jcoomes/6861660-oopmapblock/ Comments appreciated. This is a prerequisite to fixing 6845368 large objects cause a crash or unexpected exception -John From Thomas.Rodriguez at Sun.COM Thu Aug 6 21:28:23 2009 From: Thomas.Rodriguez at Sun.COM (Tom Rodriguez) Date: Thu, 06 Aug 2009 14:28:23 -0700 Subject: request for review (m): 4957990: Perm heap bloat in JVM In-Reply-To: <4A7A73E8.4020008@sun.com> References: <4A789E4C.20109@Sun.COM> <4A78A5DB.3040901@Sun.COM> <4A78E69C.4030604@sun.com> <4A78EDE3.1090703@sun.com> <4A7920B1.7010301@sun.com> <0AA576C1-BA1B-40EF-8ABA-B088C47E3D7B@sun.com> <4A79DBCF.6060506@Sun.COM> <4A79FF45.8060101@sun.com> <4A7A0D33.8030700@Sun.COM> <4A7A1232.7080802@Sun.COM> <287E57C2-5D3D-45C7-87C0-BBB1F5F6212D@Sun.COM> <4A7A17FB.20606@Sun.COM> <4A7A1C81.3020508@Sun.COM> <4A9428BE-AA39-49E7-B948-87650AC3A7B6@sun.com> <4A7A73E8.4020008@sun.com> Message-ID: On Aug 5, 2009, at 11:10 PM, Y. Srinivas Ramakrishna wrote: > Tom Rodriguez wrote: >> After I wrote this I realized that this is a natural out growth of >> your fix. Without profiling information an nmethod should only >> refer to types which are statically reachable. Having the MDO act >> as a strong root would keep the nmethod from getting unloaded when >> using predicted call sites. Once the MDO is a weak root then the >> nmethod could want to be unloaded. I guess without your fix CHA >> could produce a case where an OSR nmethod would be unloaded without >> being unlinked from the OSR nmethod list but I'd have to think >> about that more. > > So, Tom, is my understanding correct that the criteria for unloading > of the nmethod are not too > weak. Do you suggest that make_unloaded should just go unlink the > nmethod from the osr list? > I'll give that a try tonight and update later on how that looks wrt > the current test, > but let me know if i am misunderstanding and that would not be the > correct way to > fix this problem, We can't allow the sweeper to free an nmethod unless we are certain that it's impossible for new activations of that nmethod to form. Note this comment: void nmethod::make_not_entrant_or_zombie(int state) { assert(state == zombie || state == not_entrant, "must be zombie or not_entrant"); // Code for an on-stack-replacement nmethod is removed when a class gets unloaded. // They never become zombie/non-entrant, so the nmethod sweeper will never remove // them. Instead the entry_bci is set to InvalidOSREntryBci, so the osr nmethod // will never be used anymore. That the nmethods only gets removed when class unloading // happens, make life much simpler, since the nmethods are not just going to disappear // out of the blue. So I don't think reclamation of OSR nmethods in the current code is safe. I do believe that OSR nmethods could be reclaimed like other normal nmethods and I have an old webrev that illustrates this at http://javaweb.sfbay.sun.com/~never/webrev/osr . I think that the changes in the assembly code are unneeded since the requirement we're trying to enforce is that if an OSR nmethod becomes unloaded at a safepoint it won't be used for form a new activation which is accomplished by the interpeterRuntime.cpp changes. I'm not sure we want to include the reclaiming of OSR nmethods into hs16 at this point. So maybe OSR nmethods need to act as strong roots for now? tom > > thanks! > -- ramki >> >> tom >> >> On Aug 5, 2009, at 6:15 PM, Tom Rodriguez wrote: >> >>> My understanding was that OSR nmethods could/should only be >>> reclaimed once the klass of their holder was unloaded. The reason >>> for this is that the normal not_entrant sweeping logic isn't >>> implemented safely for OSR methods so the sweeper can't safely >>> reclaim them. If the klass itself is being reclaimed then it >>> should be safe to reclaim the OSR nmethods. It's possible that we >>> have a hole in the logic which doesn't account for dealing with >>> unloaded OSR methods properly and you changes just make it more >>> likely to happen. We either need to close the not_entrant hole >>> for OSR nmethods, which isn't that hard, and then correct >>> nmethod::make_unloaded to unlink the OSR nmethod or we have to >>> make do_unloading disallow unloading for OSR nmethods is the >>> methodOop is strongly reachable. >>> >>> tom >>> >>> On Aug 5, 2009, at 4:57 PM, Y.S.Ramakrishna at Sun.COM wrote: >>> >>>> >>>> Can there be a situation where an osr nmethod associated >>>> with a method oop gets unloaded while the method and its >>>> class are still alive? I see that happening with my workspace >>>> with the changes for 4957990 (yet to figure out why the osr >>>> nmethod was unloaded). >>>> >>>> Shortly after said unload, the sweeper flushes the nmethod, >>>> but the nmethod is still left linked off of the klass's >>>> _osr_nmethod_head >>>> list, and a subsequent invocation counter overflow at a bci does >>>> an osr nmethod lookup and falls foul of the flushed nmethod left >>>> in the instanceKlass's osr nmethod head. >>>> >>>> So I have two questions: >>>> >>>> (a) can an osr nmethod be unloaded while its klass is still alive ? >>>> (b) if the answer to (a) is yes, then we need to take special steps >>>> (not present in current code) to unlink said nmethod from the >>>> list of osr nmethods in its klass. >>>> >>>> Am I making sense? Otherwise i can provide more direct detail. >>>> (I am still digging to find out why we decided to unload the >>>> nmethod and will have more follow-up info in a subsequent email.) >>>> >>>> thanks. >>>> -- ramki >>> >> > From Y.S.Ramakrishna at Sun.COM Thu Aug 6 22:39:07 2009 From: Y.S.Ramakrishna at Sun.COM (Y.S.Ramakrishna at Sun.COM) Date: Thu, 06 Aug 2009 15:39:07 -0700 Subject: request for review (m): 4957990: Perm heap bloat in JVM In-Reply-To: References: <4A789E4C.20109@Sun.COM> <4A78A5DB.3040901@Sun.COM> <4A78E69C.4030604@sun.com> <4A78EDE3.1090703@sun.com> <4A7920B1.7010301@sun.com> <0AA576C1-BA1B-40EF-8ABA-B088C47E3D7B@sun.com> <4A79DBCF.6060506@Sun.COM> <4A79FF45.8060101@sun.com> <4A7A0D33.8030700@Sun.COM> <4A7A1232.7080802@Sun.COM> <287E57C2-5D3D-45C7-87C0-BBB1F5F6212D@Sun.COM> <4A7A17FB.20606@Sun.COM> <4A7A1C81.3020508@Sun.COM> <4A9428BE-AA39-49E7-B948-87650AC3A7B6@sun.com> <4A7A73E8.4020008@sun.com> Message-ID: <4A7B5B8B.6080001@Sun.COM> On 08/06/09 14:28, Tom Rodriguez wrote: > > On Aug 5, 2009, at 11:10 PM, Y. Srinivas Ramakrishna wrote: > >> Tom Rodriguez wrote: >>> After I wrote this I realized that this is a natural out growth of >>> your fix. Without profiling information an nmethod should only refer >>> to types which are statically reachable. Having the MDO act as a >>> strong root would keep the nmethod from getting unloaded when using >>> predicted call sites. Once the MDO is a weak root then the nmethod >>> could want to be unloaded. I guess without your fix CHA could >>> produce a case where an OSR nmethod would be unloaded without being >>> unlinked from the OSR nmethod list but I'd have to think about that >>> more. >> >> So, Tom, is my understanding correct that the criteria for unloading >> of the nmethod are not too >> weak. Do you suggest that make_unloaded should just go unlink the >> nmethod from the osr list? >> I'll give that a try tonight and update later on how that looks wrt >> the current test, >> but let me know if i am misunderstanding and that would not be the >> correct way to >> fix this problem, Bummer! The "fix", of removing the osr method (and marking it non-entrant) when GC decides to unload it, was working really nicely with this test! (I was in the midst of running more extensive tests.) I was hoping you'd bless it! > > We can't allow the sweeper to free an nmethod unless we are certain that > it's impossible for new activations of that nmethod to form. Note this > comment: > > void nmethod::make_not_entrant_or_zombie(int state) { > assert(state == zombie || state == not_entrant, "must be zombie or > not_entrant"); > > // Code for an on-stack-replacement nmethod is removed when a class > gets unloaded. > // They never become zombie/non-entrant, so the nmethod sweeper will > never remove > // them. Instead the entry_bci is set to InvalidOSREntryBci, so the > osr nmethod > // will never be used anymore. That the nmethods only gets removed > when class unloading > // happens, make life much simpler, since the nmethods are not just > going to disappear > // out of the blue. > > So I don't think reclamation of OSR nmethods in the current code is > safe. I do believe that OSR nmethods could be reclaimed like other > normal nmethods and I have an old webrev that illustrates this at > http://javaweb.sfbay.sun.com/~never/webrev/osr. I think that the > changes in the assembly code are unneeded since the requirement we're > trying to enforce is that if an OSR nmethod becomes unloaded at a > safepoint it won't be used for form a new activation which is > accomplished by the interpeterRuntime.cpp changes. I'm not sure we want > to include the reclaiming of OSR nmethods into hs16 at this point. So > maybe OSR nmethods need to act as strong roots for now? I agree that it is too close to hs16b01 for this. However, we have a few weeks more for hs16, so i think this is a good opportunity to include the long-term fix of reclaiming OSR nmethods along the lines of yr webrev above and to roll it in with 4957990. If it passes muster we could consider putting it in hs16b2. I'll take this up with you offline. IMHO, I see little point in the interim step of making OSR methods always act as strong roots and never become eligible for reclamation. Naively, that would see to me to be almost worse than the original problem we were trying to fix in 4957990. -- ramki > > tom > >> >> thanks! >> -- ramki >>> >>> tom >>> >>> On Aug 5, 2009, at 6:15 PM, Tom Rodriguez wrote: >>> >>>> My understanding was that OSR nmethods could/should only be >>>> reclaimed once the klass of their holder was unloaded. The reason >>>> for this is that the normal not_entrant sweeping logic isn't >>>> implemented safely for OSR methods so the sweeper can't safely >>>> reclaim them. If the klass itself is being reclaimed then it should >>>> be safe to reclaim the OSR nmethods. It's possible that we have a >>>> hole in the logic which doesn't account for dealing with unloaded >>>> OSR methods properly and you changes just make it more likely to >>>> happen. We either need to close the not_entrant hole for OSR >>>> nmethods, which isn't that hard, and then correct >>>> nmethod::make_unloaded to unlink the OSR nmethod or we have to make >>>> do_unloading disallow unloading for OSR nmethods is the methodOop is >>>> strongly reachable. >>>> >>>> tom >>>> >>>> On Aug 5, 2009, at 4:57 PM, Y.S.Ramakrishna at Sun.COM wrote: >>>> >>>>> >>>>> Can there be a situation where an osr nmethod associated >>>>> with a method oop gets unloaded while the method and its >>>>> class are still alive? I see that happening with my workspace >>>>> with the changes for 4957990 (yet to figure out why the osr >>>>> nmethod was unloaded). >>>>> >>>>> Shortly after said unload, the sweeper flushes the nmethod, >>>>> but the nmethod is still left linked off of the klass's >>>>> _osr_nmethod_head >>>>> list, and a subsequent invocation counter overflow at a bci does >>>>> an osr nmethod lookup and falls foul of the flushed nmethod left >>>>> in the instanceKlass's osr nmethod head. >>>>> >>>>> So I have two questions: >>>>> >>>>> (a) can an osr nmethod be unloaded while its klass is still alive ? >>>>> (b) if the answer to (a) is yes, then we need to take special steps >>>>> (not present in current code) to unlink said nmethod from the >>>>> list of osr nmethods in its klass. >>>>> >>>>> Am I making sense? Otherwise i can provide more direct detail. >>>>> (I am still digging to find out why we decided to unload the >>>>> nmethod and will have more follow-up info in a subsequent email.) >>>>> >>>>> thanks. >>>>> -- ramki >>>> >>> >> > From john.coomes at sun.com Fri Aug 7 06:07:34 2009 From: john.coomes at sun.com (john.coomes at sun.com) Date: Fri, 07 Aug 2009 06:07:34 +0000 Subject: hg: jdk7/hotspot-gc: 4 new changesets Message-ID: <20090807060734.9605BE6D1@hg.openjdk.java.net> Changeset: 59c202ab8a94 Author: jjg Date: 2009-07-27 15:19 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/rev/59c202ab8a94 6854244: change source/target used to compile JDK to 7 Reviewed-by: ohair ! make/README.pre-components Changeset: fbc75d7ed6dc Author: tbell Date: 2009-07-27 23:03 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/rev/fbc75d7ed6dc Merge Changeset: e1b972ff53cd Author: tbell Date: 2009-07-30 23:36 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/rev/e1b972ff53cd Merge Changeset: 82e6c820c51a Author: xdono Date: 2009-08-06 10:25 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/rev/82e6c820c51a Added tag jdk7-b68 for changeset e1b972ff53cd ! .hgtags From john.coomes at sun.com Fri Aug 7 06:13:38 2009 From: john.coomes at sun.com (john.coomes at sun.com) Date: Fri, 07 Aug 2009 06:13:38 +0000 Subject: hg: jdk7/hotspot-gc/corba: 4 new changesets Message-ID: <20090807061342.417F7E6DB@hg.openjdk.java.net> Changeset: 2a160e4e0d06 Author: jjg Date: 2009-07-27 15:19 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/corba/rev/2a160e4e0d06 6854244: change source/target used to compile JDK to 7 Reviewed-by: ohair ! make/Makefile ! make/common/shared/Defs-java.gmk Changeset: ad500347ebc8 Author: tbell Date: 2009-07-27 23:03 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/corba/rev/ad500347ebc8 Merge Changeset: 5182bcc9c60c Author: tbell Date: 2009-07-30 23:37 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/corba/rev/5182bcc9c60c Merge ! make/Makefile ! make/common/shared/Defs-java.gmk Changeset: 8120d308ec4e Author: xdono Date: 2009-08-06 10:25 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/corba/rev/8120d308ec4e Added tag jdk7-b68 for changeset 5182bcc9c60c ! .hgtags From john.coomes at sun.com Fri Aug 7 06:23:10 2009 From: john.coomes at sun.com (john.coomes at sun.com) Date: Fri, 07 Aug 2009 06:23:10 +0000 Subject: hg: jdk7/hotspot-gc/jaxp: 4 new changesets Message-ID: <20090807062317.2BCFFE705@hg.openjdk.java.net> Changeset: 59cdcbf2c10d Author: jjg Date: 2009-07-27 15:19 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/jaxp/rev/59cdcbf2c10d 6854244: change source/target used to compile JDK to 7 Reviewed-by: ohair ! make/build.properties Changeset: ef9c2dee8a40 Author: tbell Date: 2009-07-27 23:05 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/jaxp/rev/ef9c2dee8a40 Merge Changeset: 83b2a9331383 Author: tbell Date: 2009-07-30 23:38 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/jaxp/rev/83b2a9331383 Merge ! make/build.properties Changeset: a4ab0d6ded63 Author: xdono Date: 2009-08-06 10:25 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/jaxp/rev/a4ab0d6ded63 Added tag jdk7-b68 for changeset 83b2a9331383 ! .hgtags From john.coomes at sun.com Fri Aug 7 06:29:14 2009 From: john.coomes at sun.com (john.coomes at sun.com) Date: Fri, 07 Aug 2009 06:29:14 +0000 Subject: hg: jdk7/hotspot-gc/jaxws: 4 new changesets Message-ID: <20090807062920.BE9B1E710@hg.openjdk.java.net> Changeset: c5dfd37d18a0 Author: jjg Date: 2009-07-27 15:19 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/jaxws/rev/c5dfd37d18a0 6854244: change source/target used to compile JDK to 7 Reviewed-by: ohair ! make/build.properties Changeset: a98e41351006 Author: tbell Date: 2009-07-27 23:05 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/jaxws/rev/a98e41351006 Merge Changeset: 845fa487f0f7 Author: tbell Date: 2009-07-30 23:39 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/jaxws/rev/845fa487f0f7 Merge ! make/build.properties Changeset: 3e64fdfb9291 Author: xdono Date: 2009-08-06 10:25 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/jaxws/rev/3e64fdfb9291 Added tag jdk7-b68 for changeset 845fa487f0f7 ! .hgtags From john.coomes at sun.com Fri Aug 7 06:36:47 2009 From: john.coomes at sun.com (john.coomes at sun.com) Date: Fri, 07 Aug 2009 06:36:47 +0000 Subject: hg: jdk7/hotspot-gc/jdk: 45 new changesets Message-ID: <20090807064739.30756E717@hg.openjdk.java.net> Changeset: aaf0cb20646e Author: darcy Date: 2009-07-15 12:08 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/jdk/rev/aaf0cb20646e 6857789: (reflect) Create common superclass of reflective exceptions Reviewed-by: martin ! src/share/classes/java/lang/ClassNotFoundException.java ! src/share/classes/java/lang/IllegalAccessException.java ! src/share/classes/java/lang/InstantiationException.java ! src/share/classes/java/lang/NoSuchFieldException.java ! src/share/classes/java/lang/NoSuchMethodException.java + src/share/classes/java/lang/ReflectiveOperationException.java ! src/share/classes/java/lang/reflect/InvocationTargetException.java Changeset: 2a1b1075f583 Author: darcy Date: 2009-07-15 14:43 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/jdk/rev/2a1b1075f583 6463998: Undocumented NullPointerExeption from Float.parseFloat and Double.parseDouble Reviewed-by: lancea, iris ! src/share/classes/java/lang/Double.java ! src/share/classes/java/lang/Float.java Changeset: 3acfd7c1f984 Author: tbell Date: 2009-07-17 09:14 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/jdk/rev/3acfd7c1f984 Merge Changeset: 1203425b5742 Author: mullan Date: 2009-07-20 17:16 -0400 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/jdk/rev/1203425b5742 6787645: CRL validation code should permit some clock skew when checking validity of CRLs Reviewed-by: vinnie ! src/share/classes/java/security/cert/CertPathHelperImpl.java ! src/share/classes/java/security/cert/X509CRLSelector.java ! src/share/classes/sun/security/provider/certpath/CertPathHelper.java ! src/share/classes/sun/security/provider/certpath/CrlRevocationChecker.java ! src/share/classes/sun/security/provider/certpath/OCSPResponse.java Changeset: 81e3117803a5 Author: weijun Date: 2009-07-22 16:39 +0800 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/jdk/rev/81e3117803a5 6858589: more changes to Config on system properties Reviewed-by: valeriep ! src/share/classes/sun/security/krb5/Config.java ! src/share/classes/sun/security/krb5/KrbApReq.java ! test/sun/security/krb5/ConfPlusProp.java Changeset: 8bb89d9fd061 Author: weijun Date: 2009-07-22 16:40 +0800 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/jdk/rev/8bb89d9fd061 6847026: keytool should be able to generate certreq and cert without subject name Reviewed-by: xuelei ! src/share/classes/sun/security/tools/KeyTool.java ! src/share/classes/sun/security/util/Resources.java + test/sun/security/tools/keytool/emptysubject.sh Changeset: f4f55c2473b6 Author: weijun Date: 2009-07-22 16:40 +0800 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/jdk/rev/f4f55c2473b6 6854308: more ktab options Reviewed-by: mullan ! src/share/classes/sun/security/krb5/internal/ktab/KeyTab.java ! src/windows/classes/sun/security/krb5/internal/tools/Klist.java ! src/windows/classes/sun/security/krb5/internal/tools/Ktab.java Changeset: 29b076bfeafd Author: weijun Date: 2009-07-22 16:41 +0800 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/jdk/rev/29b076bfeafd 6561126: keytool should use larger default keysize for keypairs Reviewed-by: mullan ! 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/newsize7.sh + test/sun/security/tools/keytool/NewSize7.java Changeset: dba7dc47b78e Author: poonam Date: 2009-07-22 07:49 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/jdk/rev/dba7dc47b78e 6814140: deadlock due to synchronized demandLogger() code that locks ServerLogManager Summary: Making demandLogger() non-synchronized resolves the deadlock. Reviewed-by: dcubed ! src/share/classes/java/util/logging/LogManager.java Changeset: 645c1d0b9db9 Author: chegar Date: 2009-07-23 14:06 +0100 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/jdk/rev/645c1d0b9db9 6863110: Newly connected/accepted SctpChannel should fire OP_READ if registered with a Selector Reviewed-by: jccollet ! src/solaris/classes/sun/nio/ch/SctpChannelImpl.java ! src/solaris/classes/sun/nio/ch/SctpMultiChannelImpl.java ! src/solaris/native/sun/nio/ch/SctpChannelImpl.c + test/com/sun/nio/sctp/SctpChannel/CommUp.java ! test/com/sun/nio/sctp/SctpMultiChannel/Branch.java ! test/com/sun/nio/sctp/SctpMultiChannel/SocketOptionTests.java Changeset: cd7758c85d13 Author: valeriep Date: 2009-07-22 17:52 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/jdk/rev/cd7758c85d13 6823905: crash in sun.security.pkcs11.wrapper.PKCS11.C_Sign during stress-test Summary: Initialize relevant return value to NULL Reviewed-by: vinnie ! src/share/native/sun/security/pkcs11/wrapper/p11_general.c ! src/share/native/sun/security/pkcs11/wrapper/p11_keymgmt.c ! src/share/native/sun/security/pkcs11/wrapper/p11_objmgmt.c ! src/share/native/sun/security/pkcs11/wrapper/p11_sign.c ! src/share/native/sun/security/pkcs11/wrapper/p11_util.c ! src/share/native/sun/security/pkcs11/wrapper/pkcs11wrapper.h Changeset: 4b287af811ba Author: valeriep Date: 2009-07-23 12:36 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/jdk/rev/4b287af811ba Merge Changeset: abb221aa23e4 Author: martin Date: 2009-07-24 18:16 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/jdk/rev/abb221aa23e4 6639443: Character.toCodePoint and Character.toSurrogates can be optimized Summary: rearranging code saves 5 bytes of bytecode Reviewed-by: sherman ! src/share/classes/java/lang/Character.java Changeset: e749fe2ed114 Author: martin Date: 2009-07-24 18:24 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/jdk/rev/e749fe2ed114 6639458: Improvements to Surrogate.java Summary: Optimize Surrogate.java Reviewed-by: sherman ! src/share/classes/sun/nio/cs/Surrogate.java Changeset: d78bfd73ee42 Author: xuelei Date: 2009-07-27 22:04 +0800 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/jdk/rev/d78bfd73ee42 6449574: Invalid ldap filter is accepted and processed Reviewed-by: vinnie ! src/share/classes/com/sun/jndi/ldap/Filter.java + test/com/sun/jndi/ldap/BalancedParentheses.java Changeset: 3eb4506815b6 Author: alanb Date: 2009-07-27 18:44 +0100 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/jdk/rev/3eb4506815b6 6863864: (fs) Path.createSymbolicLink doesn't set directory flag when creating sym link to directory (win) Reviewed-by: sherman ! src/windows/classes/sun/nio/fs/WindowsPath.java ! test/java/nio/file/Path/Links.java Changeset: 6fcddeeadd8c Author: alanb Date: 2009-07-27 18:46 +0100 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/jdk/rev/6fcddeeadd8c 6863667: (ch) Several tests in java/nio/channels/* need to be updated after 6638712 Reviewed-by: mcimadamore ! test/java/nio/channels/AsynchronousChannelGroup/GroupOfOne.java ! test/java/nio/channels/AsynchronousChannelGroup/Identity.java ! test/java/nio/channels/AsynchronousChannelGroup/Restart.java ! test/java/nio/channels/AsynchronousChannelGroup/Unbounded.java ! test/java/nio/channels/AsynchronousDatagramChannel/Basic.java ! test/java/nio/channels/AsynchronousFileChannel/Basic.java ! test/java/nio/channels/AsynchronousServerSocketChannel/Basic.java ! test/java/nio/channels/AsynchronousSocketChannel/Basic.java ! test/java/nio/channels/AsynchronousSocketChannel/StressLoopback.java Changeset: 74c4b8c743fb Author: alanb Date: 2009-07-27 19:22 +0100 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/jdk/rev/74c4b8c743fb 6864319: (fs) Eliminate static dependency on fdopendir (lnx) Reviewed-by: martin ! src/solaris/native/sun/nio/fs/UnixNativeDispatcher.c Changeset: 15878be84b9d Author: jjg Date: 2009-07-27 15:19 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/jdk/rev/15878be84b9d 6854244: change source/target used to compile JDK to 7 Reviewed-by: ohair ! make/common/shared/Defs-control.gmk ! make/common/shared/Defs-java.gmk ! make/java/dyn/Makefile Changeset: 056c8e724015 Author: xuelei Date: 2009-07-28 11:15 +0800 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/jdk/rev/056c8e724015 6865482: test case BalancedParentheses.java is missing GPL header. Reviewed-by: weijun ! test/com/sun/jndi/ldap/BalancedParentheses.java Changeset: aed3ce4ba35b Author: tbell Date: 2009-07-27 23:06 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/jdk/rev/aed3ce4ba35b Merge Changeset: 03b4ab24cd2a Author: jjg Date: 2009-07-29 12:50 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/jdk/rev/03b4ab24cd2a 6865753: 6854244 breaks partial (jdk-only) builds Summary: Makefiles which set -target 5 now need to set -source 5 as well. Reviewed-by: wetmore, tbell ! make/com/sun/crypto/provider/Makefile ! make/javax/crypto/Makefile Changeset: 18fee5159090 Author: tbell Date: 2009-07-30 23:40 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/jdk/rev/18fee5159090 Merge Changeset: f214db928124 Author: art Date: 2009-07-17 15:40 +0400 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/jdk/rev/f214db928124 6844297: java/awt/EventQueue/6638195/bug6638195.java test failed in jdk7 on Windows just on b59,passed on b57 Reviewed-by: bchristi, dcherepanov ! test/java/awt/EventQueue/6638195/bug6638195.java Changeset: 29a065ef8341 Author: dcherepanov Date: 2009-07-22 13:00 +0400 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/jdk/rev/29a065ef8341 6859935: REGRESSION: Settings are missing in JCP/Advanced tab on windows Reviewed-by: art ! src/windows/classes/sun/awt/windows/WToolkit.java Changeset: ab4860d7cf28 Author: anthony Date: 2009-07-23 13:46 +0400 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/jdk/rev/ab4860d7cf28 6848424: java/awt/Frame/FrameSize/TestFrameSize.java needs improvement Summary: The test now thoroughly verifies the pack() method Reviewed-by: art, dcherepanov ! test/java/awt/Frame/FrameSize/TestFrameSize.java Changeset: 045c3f367b06 Author: dcherepanov Date: 2009-07-27 15:37 +0400 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/jdk/rev/045c3f367b06 6856929: Frame is not getting resized using Robot in OpenSolaris and Ubuntu Reviewed-by: art, dav ! src/solaris/classes/sun/awt/X11/XRobotPeer.java ! src/solaris/native/sun/awt/awt_Robot.c Changeset: 2fb41bc4d896 Author: yan Date: 2009-07-27 23:42 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/jdk/rev/2fb41bc4d896 Merge Changeset: dfd0f4b7c7d1 Author: yan Date: 2009-07-29 00:12 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/jdk/rev/dfd0f4b7c7d1 Merge Changeset: b624f8613cc6 Author: gsm Date: 2009-07-15 19:05 +0400 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/jdk/rev/b624f8613cc6 6612541: api/javax_swing/text/LabelView/index.html#getXXX[LabelView0004] fails since JDK 7 b20 Reviewed-by: peterz ! src/share/classes/javax/swing/text/GlyphView.java Changeset: f727cac13697 Author: malenkov Date: 2009-07-16 20:12 +0400 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/jdk/rev/f727cac13697 6505027: terminateEditOnFocusLost making problems for table in JDesktopPane Reviewed-by: alexp ! src/share/classes/javax/swing/JInternalFrame.java + test/javax/swing/JInternalFrame/Test6505027.java Changeset: 59249ab7aa16 Author: peterz Date: 2009-07-17 15:25 +0400 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/jdk/rev/59249ab7aa16 6387360: Usage of package-private class as a parameter of a method (javax.swing.text.ParagraphView) Reviewed-by: malenkov ! src/share/classes/javax/swing/text/ParagraphView.java Changeset: 4575323d917c Author: peterz Date: 2009-07-20 13:33 +0400 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/jdk/rev/4575323d917c 6857360: NimbusLAF: Menu indicator looks ugly with RTL orientation. Reviewed-by: rupashka ! src/share/classes/javax/swing/plaf/nimbus/NimbusIcon.java ! src/share/classes/sun/swing/MenuItemLayoutHelper.java Changeset: a2114bbf7f3e Author: peterz Date: 2009-07-20 13:34 +0400 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/jdk/rev/a2114bbf7f3e 6849331: Nimbus L&F: AbstractRegionPainter's paint context is not initialized Reviewed-by: rupashka ! src/share/classes/javax/swing/plaf/nimbus/AbstractRegionPainter.java Changeset: 125eff6f653f Author: malenkov Date: 2009-07-22 12:21 +0400 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/jdk/rev/125eff6f653f 6802868: JInternalFrame is not maximized when maximized parent frame. Reviewed-by: rupashka ! src/share/classes/javax/swing/plaf/basic/BasicDesktopIconUI.java ! src/share/classes/javax/swing/plaf/basic/BasicInternalFrameUI.java - src/share/classes/javax/swing/plaf/basic/DesktopIconMover.java + test/javax/swing/JInternalFrame/Test6802868.java Changeset: 9fc588f78952 Author: rupashka Date: 2009-07-23 17:56 +0400 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/jdk/rev/9fc588f78952 6460525: javax/swing/JFileChooser/6396844/TwentyThousandTest.java times out Reviewed-by: malenkov, peterz ! src/share/classes/javax/swing/JFileChooser.java ! src/share/classes/javax/swing/plaf/basic/BasicDirectoryModel.java ! src/share/classes/sun/awt/shell/ShellFolder.java ! src/share/classes/sun/awt/shell/ShellFolderManager.java ! src/share/classes/sun/swing/FilePane.java ! src/windows/classes/sun/awt/shell/Win32ShellFolder2.java ! src/windows/classes/sun/awt/shell/Win32ShellFolderManager2.java Changeset: 5054103dc032 Author: naoto Date: 2009-06-30 17:12 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/jdk/rev/5054103dc032 6852429: IME should call ImmIsUIMessage() or DefWindowProc() when it receives WM_IME_SETCONTEX Reviewed-by: peytoia ! src/windows/native/sun/windows/awt_Component.cpp Changeset: 584fe3163de9 Author: naoto Date: 2009-07-23 11:29 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/jdk/rev/584fe3163de9 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/javax/swing/plaf/basic/DesktopIconMover.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 ! src/windows/native/sun/windows/awt_Component.cpp - 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: 80d076251250 Author: yan Date: 2009-07-27 03:42 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/jdk/rev/80d076251250 Merge Changeset: 0ab4157789d9 Author: malenkov Date: 2009-07-28 13:10 +0400 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/jdk/rev/0ab4157789d9 6864297: Right-to-left oriented JScrollPane is aligned to the wrong direction while resizing the container Reviewed-by: peterz ! src/share/classes/javax/swing/plaf/basic/BasicScrollPaneUI.java + test/javax/swing/JScrollPane/Test6526631.java + test/javax/swing/SwingTest.java Changeset: 425fcb6d8af4 Author: yan Date: 2009-07-29 00:14 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/jdk/rev/425fcb6d8af4 Merge - src/share/classes/javax/swing/plaf/basic/DesktopIconMover.java Changeset: a48b0984ef2e Author: yan Date: 2009-08-05 00:07 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/jdk/rev/a48b0984ef2e Merge - src/share/classes/javax/swing/plaf/basic/DesktopIconMover.java Changeset: fe61ef5aada9 Author: wetmore Date: 2009-08-03 18:06 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/jdk/rev/fe61ef5aada9 6647452: Remove obfuscation, framework and provider self-verification checking Reviewed-by: valeriep, vinnie ! make/com/sun/crypto/provider/Makefile ! make/javax/crypto/Defs-jce.gmk ! make/javax/crypto/Makefile ! make/sun/security/mscapi/Makefile ! make/sun/security/pkcs11/Makefile ! src/share/classes/com/sun/crypto/provider/AESCipher.java ! src/share/classes/com/sun/crypto/provider/AESKeyGenerator.java ! src/share/classes/com/sun/crypto/provider/AESWrapCipher.java ! src/share/classes/com/sun/crypto/provider/ARCFOURCipher.java ! src/share/classes/com/sun/crypto/provider/BlowfishCipher.java ! src/share/classes/com/sun/crypto/provider/BlowfishKeyGenerator.java ! src/share/classes/com/sun/crypto/provider/DESCipher.java ! src/share/classes/com/sun/crypto/provider/DESKeyFactory.java ! src/share/classes/com/sun/crypto/provider/DESKeyGenerator.java ! src/share/classes/com/sun/crypto/provider/DESedeCipher.java ! src/share/classes/com/sun/crypto/provider/DESedeKeyFactory.java ! src/share/classes/com/sun/crypto/provider/DESedeKeyGenerator.java ! src/share/classes/com/sun/crypto/provider/DESedeWrapCipher.java ! src/share/classes/com/sun/crypto/provider/DHKeyAgreement.java ! src/share/classes/com/sun/crypto/provider/DHKeyFactory.java ! src/share/classes/com/sun/crypto/provider/HmacCore.java ! src/share/classes/com/sun/crypto/provider/HmacMD5.java ! src/share/classes/com/sun/crypto/provider/HmacMD5KeyGenerator.java ! src/share/classes/com/sun/crypto/provider/HmacPKCS12PBESHA1.java ! src/share/classes/com/sun/crypto/provider/HmacSHA1.java ! src/share/classes/com/sun/crypto/provider/HmacSHA1KeyGenerator.java - src/share/classes/com/sun/crypto/provider/JarVerifier.java ! src/share/classes/com/sun/crypto/provider/KeyGeneratorCore.java ! src/share/classes/com/sun/crypto/provider/PBEKeyFactory.java ! src/share/classes/com/sun/crypto/provider/PBEWithMD5AndDESCipher.java ! src/share/classes/com/sun/crypto/provider/PBEWithMD5AndTripleDESCipher.java ! src/share/classes/com/sun/crypto/provider/PBKDF2HmacSHA1Factory.java ! src/share/classes/com/sun/crypto/provider/PKCS12PBECipherCore.java ! src/share/classes/com/sun/crypto/provider/RC2Cipher.java ! src/share/classes/com/sun/crypto/provider/RSACipher.java ! src/share/classes/com/sun/crypto/provider/SslMacCore.java ! src/share/classes/com/sun/crypto/provider/SunJCE.java ! src/share/classes/com/sun/crypto/provider/TlsKeyMaterialGenerator.java ! src/share/classes/com/sun/crypto/provider/TlsMasterSecretGenerator.java ! src/share/classes/com/sun/crypto/provider/TlsPrfGenerator.java ! src/share/classes/com/sun/crypto/provider/TlsRsaPremasterSecretGenerator.java ! src/share/classes/javax/crypto/JarVerifier.java ! src/share/classes/javax/crypto/JceSecurity.java - src/share/classes/sun/security/pkcs11/JarVerifier.java ! src/share/classes/sun/security/pkcs11/SunPKCS11.java - src/windows/classes/sun/security/mscapi/JarVerifier.java ! src/windows/classes/sun/security/mscapi/RSACipher.java ! src/windows/classes/sun/security/mscapi/SunMSCAPI.java Changeset: b23d905cb5d3 Author: xdono Date: 2009-08-05 11:06 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/jdk/rev/b23d905cb5d3 Merge - src/share/classes/javax/swing/plaf/basic/DesktopIconMover.java Changeset: 9ae4027c5fe1 Author: xdono Date: 2009-08-06 10:25 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/jdk/rev/9ae4027c5fe1 Added tag jdk7-b68 for changeset b23d905cb5d3 ! .hgtags From john.coomes at sun.com Fri Aug 7 07:01:53 2009 From: john.coomes at sun.com (john.coomes at sun.com) Date: Fri, 07 Aug 2009 07:01:53 +0000 Subject: hg: jdk7/hotspot-gc/langtools: 12 new changesets Message-ID: <20090807070217.63979E71E@hg.openjdk.java.net> Changeset: ad07b7ea9685 Author: mcimadamore Date: 2009-07-15 10:25 +0100 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/langtools/rev/ad07b7ea9685 6846972: cannot access member of raw type when erasure change overriding into overloading Summary: fix of 6400189 caused a nasty problem in method resolution Reviewed-by: jjg ! src/share/classes/com/sun/tools/javac/comp/Resolve.java + test/tools/javac/generics/rawOverride/T6846972.java Changeset: 90d40dd5cfc7 Author: mcimadamore Date: 2009-07-15 17:01 +0100 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/langtools/rev/90d40dd5cfc7 6860795: NullPointerException when compiling a negative java source Summary: Rich formatter shouldn't propagate visits on method symbols that have a null type Reviewed-by: jjg ! src/share/classes/com/sun/tools/javac/util/RichDiagnosticFormatter.java + test/tools/javac/Diagnostics/6860795/T6860795.java + test/tools/javac/Diagnostics/6860795/T6860795.out Changeset: 86ad2753f3be Author: tbell Date: 2009-07-17 09:14 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/langtools/rev/86ad2753f3be Merge Changeset: 99b7a25185aa Author: jjg Date: 2009-07-23 11:37 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/langtools/rev/99b7a25185aa 6863814: javap crashes when facing array class literals Reviewed-by: jjg Contributed-by: mali at csail.mit.edu ! src/share/classes/com/sun/tools/classfile/ExtendedAnnotation.java + test/tools/javap/typeAnnotations/ArrayClassLiterals.java Changeset: 49387c1440d0 Author: jjg Date: 2009-07-23 14:15 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/langtools/rev/49387c1440d0 6863914: bug number missing from test Reviewed-by: tbell ! test/tools/javap/typeAnnotations/ArrayClassLiterals.java Changeset: 631425840408 Author: jjg Date: 2009-07-24 14:47 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/langtools/rev/631425840408 6863746: javap should not scan ct.sym by default Reviewed-by: mcimadamore ! src/share/classes/com/sun/tools/javap/JavapFileManager.java ! src/share/classes/com/sun/tools/javap/JavapTask.java ! src/share/classes/com/sun/tools/javap/Options.java + test/tools/javap/T6863746.java Changeset: d043adadc8b6 Author: darcy Date: 2009-07-26 21:27 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/langtools/rev/d043adadc8b6 6381698: Warn of decommissioning of apt Reviewed-by: jjg ! make/build.properties ! src/share/classes/com/sun/mirror/apt/AnnotationProcessor.java ! src/share/classes/com/sun/mirror/apt/AnnotationProcessorEnvironment.java ! src/share/classes/com/sun/mirror/apt/AnnotationProcessorFactory.java ! src/share/classes/com/sun/mirror/apt/AnnotationProcessorListener.java ! src/share/classes/com/sun/mirror/apt/AnnotationProcessors.java ! src/share/classes/com/sun/mirror/apt/Filer.java ! src/share/classes/com/sun/mirror/apt/Messager.java ! src/share/classes/com/sun/mirror/apt/RoundCompleteEvent.java ! src/share/classes/com/sun/mirror/apt/RoundCompleteListener.java ! src/share/classes/com/sun/mirror/apt/RoundState.java + src/share/classes/com/sun/mirror/apt/package-info.java - src/share/classes/com/sun/mirror/apt/package.html ! src/share/classes/com/sun/mirror/declaration/AnnotationMirror.java ! src/share/classes/com/sun/mirror/declaration/AnnotationTypeDeclaration.java ! src/share/classes/com/sun/mirror/declaration/AnnotationTypeElementDeclaration.java ! src/share/classes/com/sun/mirror/declaration/AnnotationValue.java ! src/share/classes/com/sun/mirror/declaration/ClassDeclaration.java ! src/share/classes/com/sun/mirror/declaration/ConstructorDeclaration.java ! src/share/classes/com/sun/mirror/declaration/Declaration.java ! src/share/classes/com/sun/mirror/declaration/EnumConstantDeclaration.java ! src/share/classes/com/sun/mirror/declaration/EnumDeclaration.java ! src/share/classes/com/sun/mirror/declaration/ExecutableDeclaration.java ! src/share/classes/com/sun/mirror/declaration/FieldDeclaration.java ! src/share/classes/com/sun/mirror/declaration/InterfaceDeclaration.java ! src/share/classes/com/sun/mirror/declaration/MemberDeclaration.java ! src/share/classes/com/sun/mirror/declaration/MethodDeclaration.java ! src/share/classes/com/sun/mirror/declaration/Modifier.java ! src/share/classes/com/sun/mirror/declaration/PackageDeclaration.java ! src/share/classes/com/sun/mirror/declaration/ParameterDeclaration.java ! src/share/classes/com/sun/mirror/declaration/TypeDeclaration.java ! src/share/classes/com/sun/mirror/declaration/TypeParameterDeclaration.java + src/share/classes/com/sun/mirror/declaration/package-info.java - src/share/classes/com/sun/mirror/declaration/package.html ! src/share/classes/com/sun/mirror/type/AnnotationType.java ! src/share/classes/com/sun/mirror/type/ArrayType.java ! src/share/classes/com/sun/mirror/type/ClassType.java ! src/share/classes/com/sun/mirror/type/DeclaredType.java ! src/share/classes/com/sun/mirror/type/EnumType.java ! src/share/classes/com/sun/mirror/type/InterfaceType.java ! src/share/classes/com/sun/mirror/type/MirroredTypeException.java ! src/share/classes/com/sun/mirror/type/MirroredTypesException.java ! src/share/classes/com/sun/mirror/type/PrimitiveType.java ! src/share/classes/com/sun/mirror/type/ReferenceType.java ! src/share/classes/com/sun/mirror/type/TypeMirror.java ! src/share/classes/com/sun/mirror/type/TypeVariable.java ! src/share/classes/com/sun/mirror/type/VoidType.java ! src/share/classes/com/sun/mirror/type/WildcardType.java + src/share/classes/com/sun/mirror/type/package-info.java - src/share/classes/com/sun/mirror/type/package.html ! src/share/classes/com/sun/mirror/util/DeclarationFilter.java ! src/share/classes/com/sun/mirror/util/DeclarationScanner.java ! src/share/classes/com/sun/mirror/util/DeclarationVisitor.java ! src/share/classes/com/sun/mirror/util/DeclarationVisitors.java ! src/share/classes/com/sun/mirror/util/Declarations.java ! src/share/classes/com/sun/mirror/util/SimpleDeclarationVisitor.java ! src/share/classes/com/sun/mirror/util/SimpleTypeVisitor.java ! src/share/classes/com/sun/mirror/util/SourceOrderDeclScanner.java ! src/share/classes/com/sun/mirror/util/SourcePosition.java ! src/share/classes/com/sun/mirror/util/TypeVisitor.java ! src/share/classes/com/sun/mirror/util/Types.java + src/share/classes/com/sun/mirror/util/package-info.java - src/share/classes/com/sun/mirror/util/package.html ! src/share/classes/com/sun/tools/apt/comp/Apt.java ! src/share/classes/com/sun/tools/apt/comp/BootstrapAPF.java ! src/share/classes/com/sun/tools/apt/comp/PrintAP.java ! src/share/classes/com/sun/tools/apt/main/JavaCompiler.java ! src/share/classes/com/sun/tools/apt/main/Main.java ! src/share/classes/com/sun/tools/apt/mirror/AptEnv.java ! src/share/classes/com/sun/tools/apt/mirror/apt/AnnotationProcessorEnvironmentImpl.java ! src/share/classes/com/sun/tools/apt/mirror/apt/FilerImpl.java ! src/share/classes/com/sun/tools/apt/mirror/apt/MessagerImpl.java ! src/share/classes/com/sun/tools/apt/mirror/apt/RoundCompleteEventImpl.java ! src/share/classes/com/sun/tools/apt/mirror/apt/RoundStateImpl.java ! src/share/classes/com/sun/tools/apt/mirror/declaration/AnnotationMirrorImpl.java ! src/share/classes/com/sun/tools/apt/mirror/declaration/AnnotationProxyMaker.java ! src/share/classes/com/sun/tools/apt/mirror/declaration/AnnotationTypeDeclarationImpl.java ! src/share/classes/com/sun/tools/apt/mirror/declaration/AnnotationTypeElementDeclarationImpl.java ! src/share/classes/com/sun/tools/apt/mirror/declaration/AnnotationValueImpl.java ! src/share/classes/com/sun/tools/apt/mirror/declaration/ClassDeclarationImpl.java ! src/share/classes/com/sun/tools/apt/mirror/declaration/Constants.java ! src/share/classes/com/sun/tools/apt/mirror/declaration/ConstructorDeclarationImpl.java ! src/share/classes/com/sun/tools/apt/mirror/declaration/DeclarationImpl.java ! src/share/classes/com/sun/tools/apt/mirror/declaration/DeclarationMaker.java ! src/share/classes/com/sun/tools/apt/mirror/declaration/EnumConstantDeclarationImpl.java ! src/share/classes/com/sun/tools/apt/mirror/declaration/EnumDeclarationImpl.java ! src/share/classes/com/sun/tools/apt/mirror/declaration/ExecutableDeclarationImpl.java ! src/share/classes/com/sun/tools/apt/mirror/declaration/FieldDeclarationImpl.java ! src/share/classes/com/sun/tools/apt/mirror/declaration/InterfaceDeclarationImpl.java ! src/share/classes/com/sun/tools/apt/mirror/declaration/MemberDeclarationImpl.java ! src/share/classes/com/sun/tools/apt/mirror/declaration/MethodDeclarationImpl.java ! src/share/classes/com/sun/tools/apt/mirror/declaration/PackageDeclarationImpl.java ! src/share/classes/com/sun/tools/apt/mirror/declaration/ParameterDeclarationImpl.java ! src/share/classes/com/sun/tools/apt/mirror/declaration/TypeDeclarationImpl.java ! src/share/classes/com/sun/tools/apt/mirror/declaration/TypeParameterDeclarationImpl.java ! src/share/classes/com/sun/tools/apt/mirror/type/AnnotationTypeImpl.java ! src/share/classes/com/sun/tools/apt/mirror/type/ArrayTypeImpl.java ! src/share/classes/com/sun/tools/apt/mirror/type/ClassTypeImpl.java ! src/share/classes/com/sun/tools/apt/mirror/type/DeclaredTypeImpl.java ! src/share/classes/com/sun/tools/apt/mirror/type/EnumTypeImpl.java ! src/share/classes/com/sun/tools/apt/mirror/type/InterfaceTypeImpl.java ! src/share/classes/com/sun/tools/apt/mirror/type/PrimitiveTypeImpl.java ! src/share/classes/com/sun/tools/apt/mirror/type/TypeMaker.java ! src/share/classes/com/sun/tools/apt/mirror/type/TypeMirrorImpl.java ! src/share/classes/com/sun/tools/apt/mirror/type/TypeVariableImpl.java ! src/share/classes/com/sun/tools/apt/mirror/type/VoidTypeImpl.java ! src/share/classes/com/sun/tools/apt/mirror/type/WildcardTypeImpl.java ! src/share/classes/com/sun/tools/apt/mirror/util/DeclarationsImpl.java ! src/share/classes/com/sun/tools/apt/mirror/util/SourcePositionImpl.java ! src/share/classes/com/sun/tools/apt/mirror/util/TypesImpl.java ! src/share/classes/com/sun/tools/apt/resources/apt.properties ! test/tools/apt/Basics/apt.sh ! test/tools/apt/Compile/compile.sh Changeset: cf08b64e87da Author: jjg Date: 2009-07-27 15:20 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/langtools/rev/cf08b64e87da 6854244: change source/target used to compile JDK to 7 Reviewed-by: ohair ! make/build.properties Changeset: 7c2d6da61646 Author: jjg Date: 2009-07-27 19:52 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/langtools/rev/7c2d6da61646 6865399: some javac files are missing Sun internal API comment Reviewed-by: darcy ! src/share/classes/com/sun/tools/javac/api/DiagnosticFormatter.java ! src/share/classes/com/sun/tools/javac/api/Formattable.java ! src/share/classes/com/sun/tools/javac/api/Messages.java ! src/share/classes/com/sun/tools/javac/code/BoundKind.java ! src/share/classes/com/sun/tools/javac/code/Printer.java ! src/share/classes/com/sun/tools/javac/file/BaseFileObject.java ! src/share/classes/com/sun/tools/javac/file/CacheFSInfo.java ! src/share/classes/com/sun/tools/javac/file/FSInfo.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/RelativePath.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/ZipFileIndex.java ! src/share/classes/com/sun/tools/javac/file/ZipFileIndexArchive.java ! src/share/classes/com/sun/tools/javac/parser/ParserFactory.java ! src/share/classes/com/sun/tools/javac/util/AbstractDiagnosticFormatter.java ! src/share/classes/com/sun/tools/javac/util/BasicDiagnosticFormatter.java ! src/share/classes/com/sun/tools/javac/util/ForwardingDiagnosticFormatter.java ! src/share/classes/com/sun/tools/javac/util/RawDiagnosticFormatter.java ! src/share/classes/com/sun/tools/javac/util/RichDiagnosticFormatter.java ! src/share/classes/com/sun/tools/javac/util/Warner.java Changeset: e4ce529b2249 Author: tbell Date: 2009-07-27 23:07 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/langtools/rev/e4ce529b2249 Merge - src/share/classes/com/sun/mirror/apt/package.html - src/share/classes/com/sun/mirror/declaration/package.html - src/share/classes/com/sun/mirror/type/package.html - src/share/classes/com/sun/mirror/util/package.html Changeset: 95c1212b07e3 Author: tbell Date: 2009-07-30 23:41 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/langtools/rev/95c1212b07e3 Merge Changeset: ce9bcdcb7859 Author: xdono Date: 2009-08-06 10:25 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/langtools/rev/ce9bcdcb7859 Added tag jdk7-b68 for changeset 95c1212b07e3 ! .hgtags From y.s.ramakrishna at sun.com Mon Aug 10 07:29:18 2009 From: y.s.ramakrishna at sun.com (y.s.ramakrishna at sun.com) Date: Mon, 10 Aug 2009 07:29:18 +0000 Subject: hg: jdk7/hotspot-gc/hotspot: 16 new changesets Message-ID: <20090810072957.BF725E962@hg.openjdk.java.net> Changeset: a94af87c3357 Author: never Date: 2009-07-24 12:40 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/hotspot/rev/a94af87c3357 6861984: solaris version of libsaproc.so should support SA_ALTROOT directly Reviewed-by: kvn, twisti ! agent/make/saenv.sh ! agent/make/saenv64.sh ! agent/src/os/solaris/proc/Makefile ! agent/src/os/solaris/proc/mapfile ! agent/src/os/solaris/proc/saproc.cpp + agent/src/os/solaris/proc/saproc_audit.cpp Changeset: dd0a4e1e219b Author: kvn Date: 2009-07-26 12:59 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/hotspot/rev/dd0a4e1e219b 6851386: assert(b->find_node(def) < j,"uses must follow definitions") Summary: Add additional check for a tight loop. Reviewed-by: never ! src/share/vm/opto/block.cpp Changeset: 665be97e8704 Author: kvn Date: 2009-07-26 16:40 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/hotspot/rev/665be97e8704 6863420: os::javaTimeNanos() go backward on Solaris x86 Summary: Use new atomic long load method Atomic::load() to load max_hrtime. Reviewed-by: never, ysr, johnc, phh, dcubed, acorn ! src/os/solaris/vm/os_solaris.cpp ! src/os_cpu/solaris_sparc/vm/atomic_solaris_sparc.inline.hpp ! src/os_cpu/solaris_x86/vm/atomic_solaris_x86.inline.hpp ! src/os_cpu/solaris_x86/vm/solaris_x86_32.il ! src/share/vm/runtime/atomic.hpp + test/compiler/6863420/Test.java Changeset: 94b6d06fd759 Author: twisti Date: 2009-07-20 08:20 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/hotspot/rev/94b6d06fd759 6860920: serialize.cpp shouldn't use objArrayOopDesc::base_offset_in_bytes(T_BYTE) Summary: serialize.cpp currently uses objArrayOopDesc::base_offset_in_bytes(T_BYTE), which seems to be wrong. Reviewed-by: coleenp, kvn ! src/share/vm/memory/serialize.cpp ! src/share/vm/oops/objArrayOop.hpp ! src/share/vm/opto/library_call.cpp Changeset: 1cef5ec3ca56 Author: twisti Date: 2009-07-27 06:15 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/hotspot/rev/1cef5ec3ca56 Merge ! src/share/vm/opto/library_call.cpp Changeset: 52898b0c43e9 Author: twisti Date: 2009-07-28 09:02 +0200 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/hotspot/rev/52898b0c43e9 6863155: Server compiler generates incorrect code (x86, long, bitshift, bitmask) Summary: Code compiled with server compiler generates an incorrect result. Reviewed-by: cfang, never, kvn ! src/share/vm/opto/mulnode.cpp + test/compiler/6863155/Test6863155.java Changeset: 60fea60a6db5 Author: kvn Date: 2009-07-30 16:05 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/hotspot/rev/60fea60a6db5 6864914: SPECjvm2008 produces invalid result with zero based Compressed Oops Summary: Always use "lea" instruction for narrow oop decoding instead of "shift". Reviewed-by: never ! src/cpu/x86/vm/assembler_x86.cpp Changeset: 55cb84cd1247 Author: kvn Date: 2009-07-31 12:04 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/hotspot/rev/55cb84cd1247 6865031: Application gives bad result (throws bad exception) with compressed oops Summary: Produce narrow type for new Phi from the original Phi type. Reviewed-by: cfang ! src/share/vm/opto/cfgnode.cpp + test/compiler/6865031/Test.java Changeset: 9987d9d5eb0e Author: cfang Date: 2009-07-31 17:12 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/hotspot/rev/9987d9d5eb0e 6833129: specjvm98 fails with NullPointerException in the compiler with -XX:DeoptimizeALot Summary: developed a reexecute logic for the interpreter to reexecute the bytecode when deopt happens Reviewed-by: kvn, never, jrose, twisti ! agent/src/share/classes/sun/jvm/hotspot/code/DebugInfoReadStream.java ! agent/src/share/classes/sun/jvm/hotspot/code/PCDesc.java ! agent/src/share/classes/sun/jvm/hotspot/code/ScopeDesc.java ! src/share/vm/c1/c1_IR.cpp ! src/share/vm/c1/c1_IR.hpp ! src/share/vm/c1/c1_LIRAssembler.cpp ! src/share/vm/classfile/javaClasses.cpp ! src/share/vm/code/debugInfo.hpp ! src/share/vm/code/debugInfoRec.cpp ! src/share/vm/code/debugInfoRec.hpp ! src/share/vm/code/scopeDesc.cpp ! src/share/vm/code/scopeDesc.hpp ! src/share/vm/interpreter/abstractInterpreter.hpp ! src/share/vm/interpreter/interpreter.cpp ! src/share/vm/interpreter/templateInterpreter.cpp ! src/share/vm/interpreter/templateInterpreter.hpp ! src/share/vm/opto/bytecodeInfo.cpp ! src/share/vm/opto/callnode.cpp ! src/share/vm/opto/callnode.hpp ! src/share/vm/opto/graphKit.cpp ! src/share/vm/opto/graphKit.hpp ! src/share/vm/opto/library_call.cpp ! src/share/vm/opto/output.cpp ! src/share/vm/runtime/vframe.hpp ! src/share/vm/runtime/vframeArray.cpp ! src/share/vm/runtime/vframeArray.hpp ! src/share/vm/runtime/vframe_hp.cpp ! src/share/vm/runtime/vframe_hp.hpp + test/compiler/6833129/Test.java Changeset: 2b9164d13ce9 Author: kvn Date: 2009-08-04 17:11 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/hotspot/rev/2b9164d13ce9 6868486: timouts and outOfMemory in regression tests Summary: Increase timeout for tests and heap size for 6851282 test. Reviewed-by: never, cfang ! test/compiler/6826736/Test.java ! test/compiler/6851282/Test.java Changeset: fc2281ddce3c Author: cfang Date: 2009-08-04 21:32 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/hotspot/rev/fc2281ddce3c 6868269: CompileTheWorld assertion failure introduced by the reexecute bit implementation Summary: Improvement on reexecute implementation to fix the assertion failure Reviewed-by: kvn, never ! src/share/vm/opto/library_call.cpp Changeset: 15bbd3f505c0 Author: kvn Date: 2009-08-06 09:37 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/hotspot/rev/15bbd3f505c0 Merge ! agent/src/share/classes/sun/jvm/hotspot/code/DebugInfoReadStream.java ! agent/src/share/classes/sun/jvm/hotspot/code/ScopeDesc.java ! src/share/vm/opto/bytecodeInfo.cpp ! src/share/vm/opto/callnode.cpp ! src/share/vm/opto/callnode.hpp ! src/share/vm/opto/cfgnode.cpp ! src/share/vm/opto/output.cpp ! src/share/vm/runtime/vframe.hpp ! src/share/vm/runtime/vframeArray.cpp ! src/share/vm/runtime/vframe_hp.cpp Changeset: ef671fb22f73 Author: never Date: 2009-08-06 12:24 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/hotspot/rev/ef671fb22f73 6868051: (SA) FreeChunk support for compressed oops is broken Reviewed-by: kvn, dcubed ! agent/src/share/classes/sun/jvm/hotspot/memory/CompactibleFreeListSpace.java ! agent/src/share/classes/sun/jvm/hotspot/memory/FreeChunk.java Changeset: bd2b1f617a4e Author: jrose Date: 2009-08-06 14:28 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/hotspot/rev/bd2b1f617a4e 6868487: EnableInvokeDynamic and EnableMethodHandles should not be visible flags in JDK6 or JDK7 Summary: switch them from product to experimental; 6817525 will toggle them and switch to diagnostic Reviewed-by: kvn ! src/share/vm/runtime/globals.hpp Changeset: 9c65a08a31a3 Author: jrose Date: 2009-08-06 16:15 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/hotspot/rev/9c65a08a31a3 Merge Changeset: b1773b9a2ca1 Author: ysr Date: 2009-08-09 17:03 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/hotspot/rev/b1773b9a2ca1 Merge From Jon.Masamitsu at Sun.COM Mon Aug 10 17:39:53 2009 From: Jon.Masamitsu at Sun.COM (Jon Masamitsu) Date: Mon, 10 Aug 2009 10:39:53 -0700 Subject: request for review (m) - CR 6798898 Message-ID: <4A805B69.5070902@sun.com> 6798898: CMS: bugs related to class unloading Override the should_remember_klasses() and remember_klass() in more closures derived from OopClosure in cases where the closures are doing marking of classes when class unloading is on. http://cr.openjdk.java.net/~jmasa/6798898/webrev.00/ From Thomas.Rodriguez at Sun.COM Tue Aug 11 18:31:08 2009 From: Thomas.Rodriguez at Sun.COM (Tom Rodriguez) Date: Tue, 11 Aug 2009 11:31:08 -0700 Subject: for review (M): 6863023: need non-perm oops in code cache for JSR 292 In-Reply-To: <01A90166-7F50-4218-B38A-345C7CA7ABF7@sun.com> References: <01A90166-7F50-4218-B38A-345C7CA7ABF7@sun.com> Message-ID: <7575205F-F595-4348-A57F-B226AADBEB50@sun.com> I don't really like the non_perm naming being baked into this. I expect at some point we'll want/need to fix this to have a more refined notion of whether the GC needs to scan the nmethods that won't be based on is_perm. I expect that a lot of nmethods will start ending up on the list and scanning a significant portion of the code cache twice for every scavenge seems like an overhead we'd want to avoid. Maybe scavengeable or some other more descriptive but less specific term would be better. If the GC interface provided a BoolObjectClosure to identify scavengable oops then we could use that to easily distinguish which ones need to be scanned. Minor nit: In the ad files could you write all the asserts in the same way: + assert(oop(d64)->is_oop() && (NonPermCodeRefs || oop(d64)->is_perm()), ciObject.cpp: I don't think I get the distinction between has_encoding and should_be_constant. I always thought has_encoding was a stupid name. Maybe has_encoding should be can_be_embedded and should_be_constant -> should_be_embedded. I guess should_be_constant is ok but then has_encoding should be can_be_constant. The relationship between these two should be clearer. What's the plan for this? I think we want to pick a default and stick with it. codecache.cpp: why isn't the logic for drop_non_perm_nmethod part of nmethod::flush instead of being buried in CodeCache::free? nmethod.hpp: The enum names shouldn't look like variable declarations. Remove the underscore. + enum { _npl_on_list = 0x01, _npl_marked = 0x10 }; nmethod.cpp: There are quite a few returns here... +bool nmethod::detect_non_perm_oops() { + DetectNonPerm detect_non_perm; + if (PrintRelocations) NOT_PRODUCT(detect_non_perm._print_nm = this); + oops_do(&detect_non_perm); + return detect_non_perm.detected_non_perm(); + return false; + return true; +} I don't think your marking changes are right. I think the new rule has to be that during a scavenge a the non-perm subset of nmethods are scanned as strong roots and during a full collection all nmethods are treated as weak roots as they are right now. We could make them be weak during a scavenge but then we'd need to perform the do_unloading/ make_unloaded logic during a scavenge and it seems like we should avoid that. Given this I think the call to non_perm_nmethod_oops_do in psMarkSweep is wrong since it makes them into strong roots. As far as I can tell the others are probably right though I don't claim to understand the layering in our gcs. tom On Jul 22, 2009, at 1:53 AM, John Rose wrote: > In order to inline method handles at invokedynamic instructions, it > is necessary to manipulate MethodHandle and CallSite constants from > generated code. Since these objects are created by ordinary user > code and subject to usual GC, they are not preallocated in the perm > gen. > > Currently compiled code requires that any oop embedded as an > instruction constant or any other nmethod part must be > OopDesc::is_perm. For example, internal method objects and classes > and interned strings are permanent so that they can be manipulated > from compiled code. > > This restriction is a bug for JSR 292. Luckily, there is a simple > fix. > > http://cr.openjdk.java.net/~jrose/6862576/webrev.00/ > From John.Coomes at sun.com Tue Aug 11 18:51:30 2009 From: John.Coomes at sun.com (John Coomes) Date: Tue, 11 Aug 2009 11:51:30 -0700 Subject: review request (M?) 6845368 large objects Message-ID: <19073.48562.277350.750538@sun.com> I'd appreciate reviews for 6845368 large objects cause a crash or unexpected exception http://cr.openjdk.java.net/~jcoomes/6845368-large-obj/ The hotspot code changes are fairly small (60 lines, 3 files), mostly changing int to unsigned. The test case is 64K lines but still simple; most of it is a class w/more than 65000 fields. -John From John.Coomes at sun.com Tue Aug 11 19:14:41 2009 From: John.Coomes at sun.com (John Coomes) Date: Tue, 11 Aug 2009 12:14:41 -0700 Subject: review request (M?) 6845368 large objects In-Reply-To: <19073.48562.277350.750538@sun.com> References: <19073.48562.277350.750538@sun.com> Message-ID: <19073.49953.16110.680742@sun.com> John Coomes (John.Coomes at Sun.COM) wrote: > I'd appreciate reviews for > > 6845368 large objects cause a crash or unexpected exception > > http://cr.openjdk.java.net/~jcoomes/6845368-large-obj/ > > The hotspot code changes are fairly small (60 lines, 3 files), mostly > changing int to unsigned. The test case is 64K lines but still > simple; most of it is a class w/more than 65000 fields. Sigh, sent this a few minutes too early. There are some 'signed/unsigned comparison' errors when compiling on one platform, so I'll have to fix and regenerate the webrev. Please hold off reviewing this for now. -John From John.Coomes at sun.com Wed Aug 12 05:27:56 2009 From: John.Coomes at sun.com (John Coomes) Date: Tue, 11 Aug 2009 22:27:56 -0700 Subject: review request (M?) 6845368 large objects In-Reply-To: <19073.49953.16110.680742@sun.com> References: <19073.48562.277350.750538@sun.com> <19073.49953.16110.680742@sun.com> Message-ID: <19074.21212.314193.368609@sun.com> I (John.Coomes at sun.com) wrote: > John Coomes (John.Coomes at Sun.COM) wrote: > > I'd appreciate reviews for > > > > 6845368 large objects cause a crash or unexpected exception > > > > http://cr.openjdk.java.net/~jcoomes/6845368-large-obj/ > > > > The hotspot code changes are fairly small (60 lines, 3 files), mostly > > changing int to unsigned. The test case is 64K lines but still > > simple; most of it is a class w/more than 65000 fields. > > Sigh, sent this a few minutes too early. There are some > 'signed/unsigned comparison' errors when compiling on one platform, so > I'll have to fix and regenerate the webrev. Please hold off reviewing > this for now. It now compiles everywhere, so I've updated the webrev at http://cr.openjdk.java.net/~jcoomes/6845368-large-obj/ More files were touched, but most are trivial--just a few lines each. -John From john.coomes at sun.com Wed Aug 12 13:17:08 2009 From: john.coomes at sun.com (john.coomes at sun.com) Date: Wed, 12 Aug 2009 13:17:08 +0000 Subject: hg: jdk7/hotspot-gc/hotspot: 6866585: debug code in ciObjectFactory too slow for large objects Message-ID: <20090812131714.CE690EB18@hg.openjdk.java.net> Changeset: b32a809aab08 Author: jcoomes Date: 2009-08-11 23:24 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/hotspot/rev/b32a809aab08 6866585: debug code in ciObjectFactory too slow for large objects Reviewed-by: ysr, never, kvn ! src/share/vm/ci/ciObjectFactory.cpp ! src/share/vm/runtime/globals.hpp From shane.cox at gmail.com Wed Aug 12 18:55:04 2009 From: shane.cox at gmail.com (Shane Cox) Date: Wed, 12 Aug 2009 14:55:04 -0400 Subject: Strange gc log output In-Reply-To: References: Message-ID: I was wondering if anyone might know the cause of the following behaviors illustrated by the log excerpt below: 1) Huge jump in the timestamp printed to the GC log (150 days in this example .. though the process was started last night). 2) All of the GC timings are reported to be 0.0000000 seconds. 43329.690: [GC 43329.690: [ParNew: 37248K->5312K(37248K), 0.1000674 secs] 626205K->599580K(1698624K), 0.1006993 secs] 43332.695: [GC 43332.695: [ParNew: 37248K->5311K(37248K), 0.1070853 secs] 631516K->606736K(1698624K), 0.1079122 secs] 43340.565: [GC 43340.565: [ParNew: 37247K->5312K(37248K), 0.0807989 secs] 638672K->610581K(1698624K), 0.0811694 secs] 43348.221: [GC 43348.222: [ParNew: 37247K->5311K(37248K), 0.1515881 secs] 642517K->616038K(1698624K), 0.1529900 secs] 13060256.654: [GC 13060256.654: [ParNew: 37247K->5312K(37248K), 0.0000000 secs] 647974K->620519K(1698624K), 0.0000000 secs] 13060256.654: [GC 13060256.654: [ParNew: 37248K->5312K(37248K), 0.0000000 secs] 652455K->625737K(1698624K), 0.0000000 secs] 13060256.654: [GC 13060256.654: [ParNew: 37248K->5312K(37248K), 0.0000000 secs] 657673K->632234K(1698624K), 0.0000000 secs] 13060256.654: [GC 13060256.654: [ParNew: 37248K->5312K(37248K), 0.0000000 secs] 664170K->636084K(1698624K), 0.0000000 secs] I'm running the 64-bit JVM - version 1.6 update 7 on x86 Solaris. I tried to attach a zipped copy of the full gc log, but it exceeded the 100K limit. Any help would be appreciated. -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- _______________________________________________ hotspot-gc-use mailing list hotspot-gc-use at openjdk.java.net http://mail.openjdk.java.net/mailman/listinfo/hotspot-gc-use From Y.S.Ramakrishna at Sun.COM Wed Aug 12 19:18:27 2009 From: Y.S.Ramakrishna at Sun.COM (Y. Srinivas Ramakrishna) Date: Wed, 12 Aug 2009 12:18:27 -0700 Subject: Strange gc log output In-Reply-To: References: Message-ID: <4A831583.6030302@sun.com> Your platform? There was discussion of this in the context of an old version of Solaris 10 on x64 recently and it turned out to be lack of a required kernel patch 137138-09. It is part of the the recommended patch cluster for Java SE on Solaris can be found here:- http://sunsolve.sun.com/show.do?target=patches/patch-access scroll down to the bottom and expand the "J2SE" patch cluster link. Download may require registration. Let us know whether it addresses yr issue or not (and the platform on which you observed the problem). -- ramki Shane Cox wrote: > I was wondering if anyone might know the cause of the following behaviors > illustrated by the log excerpt below: > 1) Huge jump in the timestamp printed to the GC log (150 days in this > example .. though the process was started last night). > 2) All of the GC timings are reported to be 0.0000000 seconds. > > > 43329.690: [GC 43329.690: [ParNew: 37248K->5312K(37248K), 0.1000674 secs] > 626205K->599580K(1698624K), 0.1006993 secs] > 43332.695: [GC 43332.695: [ParNew: 37248K->5311K(37248K), 0.1070853 secs] > 631516K->606736K(1698624K), 0.1079122 secs] > 43340.565: [GC 43340.565: [ParNew: 37247K->5312K(37248K), 0.0807989 secs] > 638672K->610581K(1698624K), 0.0811694 secs] > 43348.221: [GC 43348.222: [ParNew: 37247K->5311K(37248K), 0.1515881 secs] > 642517K->616038K(1698624K), 0.1529900 secs] > 13060256.654: [GC 13060256.654: [ParNew: 37247K->5312K(37248K), 0.0000000 > secs] 647974K->620519K(1698624K), 0.0000000 secs] > 13060256.654: [GC 13060256.654: [ParNew: 37248K->5312K(37248K), 0.0000000 > secs] 652455K->625737K(1698624K), 0.0000000 secs] > 13060256.654: [GC 13060256.654: [ParNew: 37248K->5312K(37248K), 0.0000000 > secs] 657673K->632234K(1698624K), 0.0000000 secs] > 13060256.654: [GC 13060256.654: [ParNew: 37248K->5312K(37248K), 0.0000000 > secs] 664170K->636084K(1698624K), 0.0000000 secs] > > I'm running the 64-bit JVM - version 1.6 update 7 on x86 Solaris. > > I tried to attach a zipped copy of the full gc log, but it exceeded the 100K > limit. > > Any help would be appreciated. > > > ------------------------------------------------------------------------ > > _______________________________________________ > hotspot-gc-use mailing list > hotspot-gc-use at openjdk.java.net > http://mail.openjdk.java.net/mailman/listinfo/hotspot-gc-use > _______________________________________________ hotspot-gc-use mailing list hotspot-gc-use at openjdk.java.net http://mail.openjdk.java.net/mailman/listinfo/hotspot-gc-use From john.coomes at sun.com Thu Aug 13 02:28:23 2009 From: john.coomes at sun.com (john.coomes at sun.com) Date: Thu, 13 Aug 2009 02:28:23 +0000 Subject: hg: jdk7/hotspot-gc/hotspot: 6867645: java -Xshare:dump failed - read only space too small Message-ID: <20090813022829.E63CAEC07@hg.openjdk.java.net> Changeset: 10d8c0d0d60e Author: jcoomes Date: 2009-08-12 14:27 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/hotspot/rev/10d8c0d0d60e 6867645: java -Xshare:dump failed - read only space too small Reviewed-by: iveresov, tonyp, ysr ! src/share/vm/runtime/globals.hpp From john.coomes at sun.com Fri Aug 14 05:22:55 2009 From: john.coomes at sun.com (john.coomes at sun.com) Date: Fri, 14 Aug 2009 05:22:55 +0000 Subject: hg: jdk7/hotspot-gc: Added tag jdk7-b69 for changeset 82e6c820c51a Message-ID: <20090814052255.6A659EDAA@hg.openjdk.java.net> Changeset: 51a71c2c4b80 Author: xdono Date: 2009-08-13 12:11 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/rev/51a71c2c4b80 Added tag jdk7-b69 for changeset 82e6c820c51a ! .hgtags From john.coomes at sun.com Fri Aug 14 05:28:30 2009 From: john.coomes at sun.com (john.coomes at sun.com) Date: Fri, 14 Aug 2009 05:28:30 +0000 Subject: hg: jdk7/hotspot-gc/corba: Added tag jdk7-b69 for changeset 8120d308ec4e Message-ID: <20090814052832.4388AEDAF@hg.openjdk.java.net> Changeset: 07b3e9ba5085 Author: xdono Date: 2009-08-13 12:11 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/corba/rev/07b3e9ba5085 Added tag jdk7-b69 for changeset 8120d308ec4e ! .hgtags From john.coomes at sun.com Fri Aug 14 05:39:41 2009 From: john.coomes at sun.com (john.coomes at sun.com) Date: Fri, 14 Aug 2009 05:39:41 +0000 Subject: hg: jdk7/hotspot-gc/jaxp: Added tag jdk7-b69 for changeset a4ab0d6ded63 Message-ID: <20090814053943.BBD22EDB4@hg.openjdk.java.net> Changeset: 8287833daabc Author: xdono Date: 2009-08-13 12:11 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/jaxp/rev/8287833daabc Added tag jdk7-b69 for changeset a4ab0d6ded63 ! .hgtags From john.coomes at sun.com Fri Aug 14 05:45:45 2009 From: john.coomes at sun.com (john.coomes at sun.com) Date: Fri, 14 Aug 2009 05:45:45 +0000 Subject: hg: jdk7/hotspot-gc/jaxws: Added tag jdk7-b69 for changeset 3e64fdfb9291 Message-ID: <20090814054547.E33E1EDBA@hg.openjdk.java.net> Changeset: 1041c9cce799 Author: xdono Date: 2009-08-13 12:11 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/jaxws/rev/1041c9cce799 Added tag jdk7-b69 for changeset 3e64fdfb9291 ! .hgtags From john.coomes at sun.com Fri Aug 14 05:51:46 2009 From: john.coomes at sun.com (john.coomes at sun.com) Date: Fri, 14 Aug 2009 05:51:46 +0000 Subject: hg: jdk7/hotspot-gc/jdk: 4 new changesets Message-ID: <20090814055301.D2FF4EDC0@hg.openjdk.java.net> Changeset: 7e491e39ea0f Author: tbell Date: 2009-08-06 17:16 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/jdk/rev/7e491e39ea0f 6865853: Additional code changes needed to build deploy using WXP SP2 and Visual Studio 2008 Reviewed-by: ohair ! src/windows/native/sun/jkernel/kernel.cpp Changeset: 08baaf8638c9 Author: tbell Date: 2009-08-06 17:26 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/jdk/rev/08baaf8638c9 Merge - src/share/classes/com/sun/crypto/provider/JarVerifier.java - src/share/classes/javax/swing/plaf/basic/DesktopIconMover.java - src/share/classes/sun/security/pkcs11/JarVerifier.java - src/windows/classes/sun/security/mscapi/JarVerifier.java Changeset: 226b20019b1f Author: xdono Date: 2009-08-12 10:32 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/jdk/rev/226b20019b1f Merge Changeset: 36c8ddbe9bc5 Author: xdono Date: 2009-08-13 12:11 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/jdk/rev/36c8ddbe9bc5 Added tag jdk7-b69 for changeset 226b20019b1f ! .hgtags From john.coomes at sun.com Fri Aug 14 06:03:21 2009 From: john.coomes at sun.com (john.coomes at sun.com) Date: Fri, 14 Aug 2009 06:03:21 +0000 Subject: hg: jdk7/hotspot-gc/langtools: Added tag jdk7-b69 for changeset ce9bcdcb7859 Message-ID: <20090814060325.1757EEDC5@hg.openjdk.java.net> Changeset: 4ac89259512f Author: xdono Date: 2009-08-13 12:11 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/langtools/rev/4ac89259512f Added tag jdk7-b69 for changeset ce9bcdcb7859 ! .hgtags From Antonios.Printezis at sun.com Fri Aug 14 15:41:04 2009 From: Antonios.Printezis at sun.com (Tony Printezis) Date: Fri, 14 Aug 2009 11:41:04 -0400 Subject: Code Review Request: 6819085 G1: use larger and/or user settable region size In-Reply-To: <4A7A29CB.8020204@sun.com> References: <4A720EE2.90404@sun.com> <4A78A334.5060303@Sun.COM> <4A79B337.8070709@sun.com> <4A7A209C.5080809@sun.com> <4A7A29CB.8020204@sun.com> Message-ID: <4A858590.20905@sun.com> OK, one more try for this one! http://cr.openjdk.java.net/~tonyp/6819085/webrev.3/ One of the changes was to make HeapRegion::GrainBytes an int instead of a size_t that I had originally declared it as. Lots of places in the code assumed it was an int (as it was a member of an enum before) and gcc and the Windows compiler complained. I chose not to fix all the places where it was used and declare it as an int instead to minimize the number of changes. I also re-organized it a bit based on more feedback from the group (moved the heap region calculation to HeapRegion from arguments.cpp). I'll only need one extra review and then I'll push. Thanks, Tony Tony Printezis wrote: > John, > > Thanks for the review! Yes, I will make the change you're > recommending; it's an excellent suggestion. > > Tony > > john cuthbertson - Sun Microsystems wrote: >> Hi Tony, >> >> The changes look good to me. I do have one question: should we change >> the line >> "const size_t cards_per_region = HeapRegion::GrainBytes >> >> CardTableModRefBS::card_shift;" in g1CollectedHeap.cpp (it's around >> line 1551) to use HeapRegion::CardsPerRegion for the sake of >> consistency? >> >> Regards, >> >> JohnC >> >> On 08/05/09 09:28, Tony Printezis wrote: >>> Jon, >>> >>> Thanks for the review! See inline. >>> >>> Jon Masamitsu wrote: >>>> g1CollectedHeap.hpp >>>> >>>> Does this deserve a comment on what it is or >>>> what it is used for? >>>> >>>> 173 static size_t _very_large_in_words; >>>> >>>> Ok, having read down a little further, how about >>>> just changing the variable to _humungous_region_threshold. >>> That's a good point. I tried to stay close to the existing name but >>> I agree, the one you propose is more appropriate. I actually changed >>> it to _humongous_object_threshold_in_words (yes, a bit verbose; but >>> it's only used in a handful of places and it's more descriptive). >>>> arguments.cpp >>>> >>>> 1281 // Maximum region size; we don't go higher than that >>>> 1282 #define MAX_REGION_SIZE ( 32 * 1024 * 1024 ) >>>> >>>> A comment on why there is a max would be nice. >>> // Maximum region size; we don't go higher than that. There are a >>> // couple of reasons for having an upper bound. We don't want >>> // regions to get too large, otherwise cleanup's effectiveness would >>> // decrease as there will be fewer opportunities to find totally empty >>> // regions after marking. >>>> heapRegion.hpp >>>> >>>> Just because set_heap_region_size() looks like an >>>> accessor function, a comment that it is doing more >>>> than just setting a field would be helpful. >>>> >>>> 306 static void set_heap_region_size(uintx heap_region_size_bytes, >>>> 307 uintx heap_region_size_log); >>> Done. I included a comment and I also enamed it to >>> setup_heap_region_size() >>> >>> // It sets up the heap region size (GrainBytes / GrainWords), as >>> // well as other related fields that are based on the heap region >>> // size (LogOfHRGrainBytes / LogOfHRGrainWords / >>> // CardsPerRegion). All those fields are considered constant >>> // throughout the JVM's execution, therefore they should only be set >>> // up once during initialization time. >>> static void setup_heap_region_size(uintx heap_region_size_bytes, >>> uintx heap_region_size_log); >>> >>> >>> The new webrev is here: >>> >>> http://cr.openjdk.java.net/~tonyp/6819085/webrev.1/ >>> >>> Apart from the changes Jon suggested, I also added a couple of casts >>> to keep gcc happy. >>>> Otherwise, looks good. >>> Thanks! >>> >>> Tony >>>> On 07/30/09 14:21, Tony Printezis wrote: >>>>> http://cr.openjdk.java.net/~tonyp/6819085/webrev.0/ >>>>> >>>>> The idea is to allow the user to set the region size with a >>>>> parameter (-XX:G1HeapRegionSize=N). >>>>> >>>>> Tony >>>>> >>> >> > -- --------------------------------------------------------------------- | Tony Printezis, Staff Engineer | Sun Microsystems Inc. | | | MS UBUR02-311 | | e-mail: tony.printezis at sun.com | 35 Network Drive | | office: +1 781 442 0998 (x20998) | Burlington, MA 01803-2756, USA | --------------------------------------------------------------------- e-mail client: Thunderbird (Linux) From Antonios.Printezis at sun.com Fri Aug 14 15:53:47 2009 From: Antonios.Printezis at sun.com (Tony Printezis) Date: Fri, 14 Aug 2009 11:53:47 -0400 Subject: Code review request: 6871111: G1: remove the concurrent overhead tracker Message-ID: <4A85888B.3040006@sun.com> Straightforward: lots of unused code removed. :-) http://cr.openjdk.java.net/~tonyp/6871111/webrev.0/ Tony -- --------------------------------------------------------------------- | Tony Printezis, Staff Engineer | Sun Microsystems Inc. | | | MS UBUR02-311 | | e-mail: tony.printezis at sun.com | 35 Network Drive | | office: +1 781 442 0998 (x20998) | Burlington, MA 01803-2756, USA | --------------------------------------------------------------------- e-mail client: Thunderbird (Linux) From Antonios.Printezis at sun.com Fri Aug 14 18:15:19 2009 From: Antonios.Printezis at sun.com (Tony Printezis) Date: Fri, 14 Aug 2009 14:15:19 -0400 Subject: Code Review Request: 6819085 G1: use larger and/or user settable region size (resending) In-Reply-To: <4A858590.20905@sun.com> References: <4A720EE2.90404@sun.com> <4A78A334.5060303@Sun.COM> <4A79B337.8070709@sun.com> <4A7A209C.5080809@sun.com> <4A7A29CB.8020204@sun.com> <4A858590.20905@sun.com> Message-ID: <4A85A9B7.50800@sun.com> For some reason, this message never arrived in my inbox. Trying again... Tony Printezis wrote: > OK, one more try for this one! > > http://cr.openjdk.java.net/~tonyp/6819085/webrev.3/ > > One of the changes was to make HeapRegion::GrainBytes an int instead > of a size_t that I had originally declared it as. Lots of places in > the code assumed it was an int (as it was a member of an enum before) > and gcc and the Windows compiler complained. I chose not to fix all > the places where it was used and declare it as an int instead to > minimize the number of changes. I also re-organized it a bit based on > more feedback from the group (moved the heap region calculation to > HeapRegion from arguments.cpp). > > I'll only need one extra review and then I'll push. Thanks, > > Tony > > Tony Printezis wrote: >> John, >> >> Thanks for the review! Yes, I will make the change you're >> recommending; it's an excellent suggestion. >> >> Tony >> >> john cuthbertson - Sun Microsystems wrote: >>> Hi Tony, >>> >>> The changes look good to me. I do have one question: should we >>> change the line >>> "const size_t cards_per_region = HeapRegion::GrainBytes >> >>> CardTableModRefBS::card_shift;" in g1CollectedHeap.cpp (it's around >>> line 1551) to use HeapRegion::CardsPerRegion for the sake of >>> consistency? >>> >>> Regards, >>> >>> JohnC >>> >>> On 08/05/09 09:28, Tony Printezis wrote: >>>> Jon, >>>> >>>> Thanks for the review! See inline. >>>> >>>> Jon Masamitsu wrote: >>>>> g1CollectedHeap.hpp >>>>> >>>>> Does this deserve a comment on what it is or >>>>> what it is used for? >>>>> >>>>> 173 static size_t _very_large_in_words; >>>>> >>>>> Ok, having read down a little further, how about >>>>> just changing the variable to _humungous_region_threshold. >>>> That's a good point. I tried to stay close to the existing name but >>>> I agree, the one you propose is more appropriate. I actually >>>> changed it to _humongous_object_threshold_in_words (yes, a bit >>>> verbose; but it's only used in a handful of places and it's more >>>> descriptive). >>>>> arguments.cpp >>>>> >>>>> 1281 // Maximum region size; we don't go higher than that >>>>> 1282 #define MAX_REGION_SIZE ( 32 * 1024 * 1024 ) >>>>> >>>>> A comment on why there is a max would be nice. >>>> // Maximum region size; we don't go higher than that. There are a >>>> // couple of reasons for having an upper bound. We don't want >>>> // regions to get too large, otherwise cleanup's effectiveness would >>>> // decrease as there will be fewer opportunities to find totally empty >>>> // regions after marking. >>>>> heapRegion.hpp >>>>> >>>>> Just because set_heap_region_size() looks like an >>>>> accessor function, a comment that it is doing more >>>>> than just setting a field would be helpful. >>>>> >>>>> 306 static void set_heap_region_size(uintx heap_region_size_bytes, >>>>> 307 uintx heap_region_size_log); >>>> Done. I included a comment and I also enamed it to >>>> setup_heap_region_size() >>>> >>>> // It sets up the heap region size (GrainBytes / GrainWords), as >>>> // well as other related fields that are based on the heap region >>>> // size (LogOfHRGrainBytes / LogOfHRGrainWords / >>>> // CardsPerRegion). All those fields are considered constant >>>> // throughout the JVM's execution, therefore they should only be set >>>> // up once during initialization time. >>>> static void setup_heap_region_size(uintx heap_region_size_bytes, >>>> uintx heap_region_size_log); >>>> >>>> >>>> The new webrev is here: >>>> >>>> http://cr.openjdk.java.net/~tonyp/6819085/webrev.1/ >>>> >>>> Apart from the changes Jon suggested, I also added a couple of >>>> casts to keep gcc happy. >>>>> Otherwise, looks good. >>>> Thanks! >>>> >>>> Tony >>>>> On 07/30/09 14:21, Tony Printezis wrote: >>>>>> http://cr.openjdk.java.net/~tonyp/6819085/webrev.0/ >>>>>> >>>>>> The idea is to allow the user to set the region size with a >>>>>> parameter (-XX:G1HeapRegionSize=N). >>>>>> >>>>>> Tony >>>>>> >>>> >>> >> > -- --------------------------------------------------------------------- | Tony Printezis, Staff Engineer | Sun Microsystems Inc. | | | MS UBUR02-311 | | e-mail: tony.printezis at sun.com | 35 Network Drive | | office: +1 781 442 0998 (x20998) | Burlington, MA 01803-2756, USA | --------------------------------------------------------------------- e-mail client: Thunderbird (Linux) From Igor.Veresov at Sun.COM Fri Aug 14 18:34:29 2009 From: Igor.Veresov at Sun.COM (Igor Veresov) Date: Fri, 14 Aug 2009 11:34:29 -0700 Subject: Code review request: 6871111: G1: remove the concurrent overhead tracker In-Reply-To: <4A85888B.3040006@sun.com> References: <4A85888B.3040006@sun.com> Message-ID: <4A85AE35.30002@sun.com> Looks good. igor On 8/14/09 8:53 AM, Tony Printezis wrote: > Straightforward: lots of unused code removed. :-) > > http://cr.openjdk.java.net/~tonyp/6871111/webrev.0/ > > Tony > From shane.cox at gmail.com Fri Aug 14 21:53:31 2009 From: shane.cox at gmail.com (Shane Cox) Date: Fri, 14 Aug 2009 17:53:31 -0400 Subject: GC log parsing tools Message-ID: I was wondering if someone could recommend tools that parse GC log files and report statistics (gc counts, pause time, bytes promoted, etc.) I've used GC Portal in the past, but it doesn't seem to support all formats/syntax produced by 1.6 VMs. My objective is to compare GC logs from different benchmarks/tests to determine optimal gc settings. Thanks -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- _______________________________________________ hotspot-gc-use mailing list hotspot-gc-use at openjdk.java.net http://mail.openjdk.java.net/mailman/listinfo/hotspot-gc-use From shane.cox at gmail.com Sat Aug 15 00:23:26 2009 From: shane.cox at gmail.com (Shane Cox) Date: Fri, 14 Aug 2009 20:23:26 -0400 Subject: objects hanging around after 1st Full GC Message-ID: I'm observing a strange pattern in my GC logs: the first Full collection doesn't reclaim much space, then the second Full collection reclaims a large percentage of Tenured space. This pattern repeats itself over and over again. Here is an excerpt from my GC logs: First Full GC only reclaims 142,813K: 910.866: [GC [PSYoungGen: 123712K->5136K(124544K)] 1168575K->1051327K(1173120K), 0.0112247 secs] [Times: user=0.04 sys=0.00, real=0.01 secs] 911.139: [GC [PSYoungGen: 123152K->3976K(124608K)] 1169343K->1051797K(1173184K), 0.0108060 secs] [Times: user=0.04 sys=0.01, real=0.01 secs] 911.150: [Full GC [PSYoungGen: 3976K->0K(124608K)] [PSOldGen: 1047821K->905008K(1048576K)] 1051797K->905008K(1173184K) [PSPermGen: 26536K->26536K(53248K)], 2.1919067 secs] [Times: user=2.20 sys=0.00, real=2.19 secs] 913.640: [GC [PSYoungGen: 118144K->6456K(124608K)] 1023152K->918339K(1173184K), 0.0300898 secs] [Times: user=0.11 sys=0.00, real=0.03 secs] 913.881: [GC [PSYoungGen: 124600K->6464K(113088K)] 1036483K->926045K(1161664K), 0.0242545 secs] [Times: user=0.09 sys=0.01, real=0.02 secs] Second Full GC reclaims 796,079K: 933.943: [GC [PSYoungGen: 123280K->4736K(124992K)] 1167463K->1049778K(1173568K), 0.0099996 secs] [Times: user=0.04 sys=0.00, real=0.01 secs] 934.247: [GC [PSYoungGen: 123520K->4240K(124864K)] 1168562K->1050930K(1173440K), 0.0099813 secs] [Times: user=0.04 sys=0.00, real=0.01 secs] 934.258: [Full GC [PSYoungGen: 4240K->0K(124864K)] [PSOldGen: 1046690K->250611K(1048576K)] 1050930K->250611K(1173440K) [PSPermGen: 26537K->26537K(61440K)], 1.0611080 secs] [Times: user=1.07 sys=0.01, real=1.06 secs] 935.516: [GC [PSYoungGen: 118784K->6073K(122816K)] 369395K->258744K(1171392K), 0.0122732 secs] [Times: user=0.05 sys=0.00, real=0.01 secs] 935.704: [GC [PSYoungGen: 122809K->7164K(123904K)] 375480K->262140K(1172480K), 0.0124191 secs] [Times: user=0.05 sys=0.01, real=0.01 secs] Then the pattern repeats. It's as if many of the objects require two Full GCs in order to be reclaimed. Any idea what's going on or how to further investigate the cause of this behavior? Thanks -------------- next part -------------- An HTML attachment was scrubbed... URL: From Antonios.Printezis at sun.com Sat Aug 15 00:27:06 2009 From: Antonios.Printezis at sun.com (Tony Printezis) Date: Fri, 14 Aug 2009 20:27:06 -0400 Subject: objects hanging around after 1st Full GC In-Reply-To: References: Message-ID: <4A8600DA.5090409@sun.com> Shane, 99.9% of the time this is called by finalization. If there are a lot of finalizable objects that retain a lot of space, then the first Full GC will process them and add them to the finalization queue (but still retain what' reachable from them). Then, after the finalization queue has been processed, the second Full GC will actually reclaim the space. Do you (or a library that you're using) rely heavily on finalizers? Tony Shane Cox wrote: > I'm observing a strange pattern in my GC logs: the first Full > collection doesn't reclaim much space, then the second Full collection > reclaims a large percentage of Tenured space. This pattern repeats > itself over and over again. Here is an excerpt from my GC logs: > > First Full GC only reclaims 142,813K: > 910.866: [GC [PSYoungGen: 123712K->5136K(124544K)] > 1168575K->1051327K(1173120K), 0.0112247 secs] [Times: user=0.04 > sys=0.00, real=0.01 secs] > 911.139: [GC [PSYoungGen: 123152K->3976K(124608K)] > 1169343K->1051797K(1173184K), 0.0108060 secs] [Times: user=0.04 > sys=0.01, real=0.01 secs] > 911.150: [Full GC [PSYoungGen: 3976K->0K(124608K)] [PSOldGen: > 1047821K->905008K(1048576K)] 1051797K->905008K(1173184K) [PSPermGen: > 26536K->26536K(53248K)], 2.1919067 secs] [Times: user=2.20 sys=0.00, > real=2.19 secs] > 913.640: [GC [PSYoungGen: 118144K->6456K(124608K)] > 1023152K->918339K(1173184K), 0.0300898 secs] [Times: user=0.11 > sys=0.00, real=0.03 secs] > 913.881: [GC [PSYoungGen: 124600K->6464K(113088K)] > 1036483K->926045K(1161664K), 0.0242545 secs] [Times: user=0.09 > sys=0.01, real=0.02 secs] > > Second Full GC reclaims 796,079K: > 933.943: [GC [PSYoungGen: 123280K->4736K(124992K)] > 1167463K->1049778K(1173568K), 0.0099996 secs] [Times: user=0.04 > sys=0.00, real=0.01 secs] > 934.247: [GC [PSYoungGen: 123520K->4240K(124864K)] > 1168562K->1050930K(1173440K), 0.0099813 secs] [Times: user=0.04 > sys=0.00, real=0.01 secs] > 934.258: [Full GC [PSYoungGen: 4240K->0K(124864K)] [PSOldGen: > 1046690K->250611K(1048576K)] 1050930K->250611K(1173440K) [PSPermGen: > 26537K->26537K(61440K)], 1.0611080 secs] [Times: user=1.07 sys=0.01, > real=1.06 secs] > 935.516: [GC [PSYoungGen: 118784K->6073K(122816K)] > 369395K->258744K(1171392K), 0.0122732 secs] [Times: user=0.05 > sys=0.00, real=0.01 secs] > 935.704: [GC [PSYoungGen: 122809K->7164K(123904K)] > 375480K->262140K(1172480K), 0.0124191 secs] [Times: user=0.05 > sys=0.01, real=0.01 secs] > > Then the pattern repeats. > > > It's as if many of the objects require two Full GCs in order to be > reclaimed. Any idea what's going on or how to further investigate the > cause of this behavior? > > Thanks From John.Cuthbertson at Sun.COM Sat Aug 15 00:47:51 2009 From: John.Cuthbertson at Sun.COM (john cuthbertson - Sun Microsystems) Date: Fri, 14 Aug 2009 17:47:51 -0700 Subject: Code Review Request: 6871109: G1: remove the concept of the scan only prefix Message-ID: <4A8605B7.8030500@sun.com> Hi Everyone, Can I have a couple of volunteers review the changes to remove the scan only prefix code? The changes can be found at http://cr.openjdk.java.net/~johnc/6871109/webrev.00/. In particular pay close attention to the changes in g1CollectorPolicy.cpp (specifically G1CollectorPolicy::calculate_young_list_target_config) where the code that calculates the length of the young list (the innermost loop) had to be separated from the code that varied the size of the so-prefix. Testing: refworkload, SPECjbb2005 (with fixed and variable sized young generation size). I also enabled the tracing the young list config code and compared the output from a reference workspace. Regards, JohnC From john.coomes at sun.com Sun Aug 16 08:49:00 2009 From: john.coomes at sun.com (john.coomes at sun.com) Date: Sun, 16 Aug 2009 08:49:00 +0000 Subject: hg: jdk7/hotspot-gc/hotspot: 6872000: G1: compilation fails on linux/older gcc Message-ID: <20090816084911.1FE44EEBA@hg.openjdk.java.net> Changeset: 308762b2bf14 Author: apetrusenko Date: 2009-08-14 13:44 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/hotspot/rev/308762b2bf14 6872000: G1: compilation fails on linux/older gcc Reviewed-by: jcoomes, tonyp ! src/share/vm/gc_implementation/g1/concurrentMark.cpp From Y.S.Ramakrishna at Sun.COM Sun Aug 16 18:04:53 2009 From: Y.S.Ramakrishna at Sun.COM (Y. Srinivas Ramakrishna) Date: Mon, 17 Aug 2009 02:04:53 +0800 Subject: objects hanging around after 1st Full GC In-Reply-To: <4A8600DA.5090409@sun.com> References: <4A8600DA.5090409@sun.com> Message-ID: <4A884A45.4070308@sun.com> What Tony said; if on a post-6.0 JVM, you might try the additional option -XX:+PrintReferenceGC for more detail on #refs etc. -- ramki Tony Printezis wrote: > Shane, > > 99.9% of the time this is called by finalization. If there are a lot > of finalizable objects that retain a lot of space, then the first Full > GC will process them and add them to the finalization queue (but still > retain what' reachable from them). Then, after the finalization queue > has been processed, the second Full GC will actually reclaim the space. > > Do you (or a library that you're using) rely heavily on finalizers? > > Tony > > Shane Cox wrote: >> I'm observing a strange pattern in my GC logs: the first Full >> collection doesn't reclaim much space, then the second Full >> collection reclaims a large percentage of Tenured space. This >> pattern repeats itself over and over again. Here is an excerpt from >> my GC logs: >> >> First Full GC only reclaims 142,813K: >> 910.866: [GC [PSYoungGen: 123712K->5136K(124544K)] >> 1168575K->1051327K(1173120K), 0.0112247 secs] [Times: user=0.04 >> sys=0.00, real=0.01 secs] >> 911.139: [GC [PSYoungGen: 123152K->3976K(124608K)] >> 1169343K->1051797K(1173184K), 0.0108060 secs] [Times: user=0.04 >> sys=0.01, real=0.01 secs] >> 911.150: [Full GC [PSYoungGen: 3976K->0K(124608K)] [PSOldGen: >> 1047821K->905008K(1048576K)] 1051797K->905008K(1173184K) [PSPermGen: >> 26536K->26536K(53248K)], 2.1919067 secs] [Times: user=2.20 sys=0.00, >> real=2.19 secs] >> 913.640: [GC [PSYoungGen: 118144K->6456K(124608K)] >> 1023152K->918339K(1173184K), 0.0300898 secs] [Times: user=0.11 >> sys=0.00, real=0.03 secs] >> 913.881: [GC [PSYoungGen: 124600K->6464K(113088K)] >> 1036483K->926045K(1161664K), 0.0242545 secs] [Times: user=0.09 >> sys=0.01, real=0.02 secs] >> >> Second Full GC reclaims 796,079K: >> 933.943: [GC [PSYoungGen: 123280K->4736K(124992K)] >> 1167463K->1049778K(1173568K), 0.0099996 secs] [Times: user=0.04 >> sys=0.00, real=0.01 secs] >> 934.247: [GC [PSYoungGen: 123520K->4240K(124864K)] >> 1168562K->1050930K(1173440K), 0.0099813 secs] [Times: user=0.04 >> sys=0.00, real=0.01 secs] >> 934.258: [Full GC [PSYoungGen: 4240K->0K(124864K)] [PSOldGen: >> 1046690K->250611K(1048576K)] 1050930K->250611K(1173440K) [PSPermGen: >> 26537K->26537K(61440K)], 1.0611080 secs] [Times: user=1.07 sys=0.01, >> real=1.06 secs] >> 935.516: [GC [PSYoungGen: 118784K->6073K(122816K)] >> 369395K->258744K(1171392K), 0.0122732 secs] [Times: user=0.05 >> sys=0.00, real=0.01 secs] >> 935.704: [GC [PSYoungGen: 122809K->7164K(123904K)] >> 375480K->262140K(1172480K), 0.0124191 secs] [Times: user=0.05 >> sys=0.01, real=0.01 secs] >> >> Then the pattern repeats. >> >> >> It's as if many of the objects require two Full GCs in order to be >> reclaimed. Any idea what's going on or how to further investigate >> the cause of this behavior? >> >> Thanks From charlie.hunt at sun.com Mon Aug 17 02:16:07 2009 From: charlie.hunt at sun.com (charlie hunt) Date: Sun, 16 Aug 2009 21:16:07 -0500 Subject: GC log parsing tools In-Reply-To: References: Message-ID: <4A88BD67.70906@sun.com> I'd suggest looking at PrintGCStats and/or a graphical tool called GCHisto. PrintGCStats: http://java.sun.com/developer/technicalArticles/Programming/turbo/PrintGCStats.zip GCHisto: http://gchisto.dev.java.net/ * You'll need to build it from source. But, it's pretty trivial to build. hths, charlie ... Shane Cox wrote: > I was wondering if someone could recommend tools that parse GC log > files and report statistics (gc counts, pause time, bytes promoted, > etc.) I've used GC Portal in the past, but it doesn't seem to support > all formats/syntax produced by 1.6 VMs. My objective is to compare GC > logs from different benchmarks/tests to determine optimal gc settings. > > Thanks > ------------------------------------------------------------------------ > > _______________________________________________ > hotspot-gc-use mailing list > hotspot-gc-use at openjdk.java.net > http://mail.openjdk.java.net/mailman/listinfo/hotspot-gc-use > _______________________________________________ hotspot-gc-use mailing list hotspot-gc-use at openjdk.java.net http://mail.openjdk.java.net/mailman/listinfo/hotspot-gc-use From John.Cuthbertson at Sun.COM Tue Aug 18 06:44:07 2009 From: John.Cuthbertson at Sun.COM (John Cuthbertson) Date: Mon, 17 Aug 2009 23:44:07 -0700 Subject: Code review request: 6871111: G1: remove the concurrent overhead tracker In-Reply-To: <4A85888B.3040006@sun.com> References: <4A85888B.3040006@sun.com> Message-ID: <6fd0fa78526a.4a89eb47@sun.com> Hi Tony, These changes look OK to me. JohnC ----- Original Message ----- From: Tony Printezis Date: Friday, August 14, 2009 8:56 am Subject: Code review request: 6871111: G1: remove the concurrent overhead tracker To: "hotspot-gc-dev at openjdk.java.net" > Straightforward: lots of unused code removed. :-) > > http://cr.openjdk.java.net/~tonyp/6871111/webrev.0/ > > Tony > > -- > --------------------------------------------------------------------- > | Tony Printezis, Staff Engineer | Sun Microsystems Inc. | > | | MS UBUR02-311 | > | e-mail: tony.printezis at sun.com | 35 Network Drive | > | office: +1 781 442 0998 (x20998) | Burlington, MA 01803-2756, USA | > --------------------------------------------------------------------- > e-mail client: Thunderbird (Linux) > > > From John.Coomes at sun.com Tue Aug 18 20:34:28 2009 From: John.Coomes at sun.com (John Coomes) Date: Tue, 18 Aug 2009 13:34:28 -0700 Subject: request for review (m) - CR 6798898 In-Reply-To: <4A805B69.5070902@sun.com> References: <4A805B69.5070902@sun.com> Message-ID: <19083.4180.737461.930417@sun.com> Jon Masamitsu (Jon.Masamitsu at Sun.COM) wrote: > 6798898: CMS: bugs related to class unloading > > Override the should_remember_klasses() and remember_klass() in > more closures derived from OopClosure in cases where the closures are > doing marking of classes when class unloading is on. > > http://cr.openjdk.java.net/~jmasa/6798898/webrev.00/ Generally looks good, I like abstracting the revisit / remembering info into new classes. Found some nits and have some suggestions on the debug-only code. cmsOopClosures.hpp: this assert is replicated a number of times in different files 102 assert(_should_remember_klasses || !must_remember_klasses(), 103 "Should be remembering classes in this context."); Would be nice to have a single copy in a debug-only function, e.g., check_remember_klasses() or verify_remember_klasses() or something. Also, can you strengthen it to the following? (Which makes it easier to read, IMHO.) assert(_should_remember_klasses == must_remember_klasses(), "mismatch"); indentation nit on lines 116-117 115 Par_OopWithRevisitClosure(CMSCollector* collector, 116 ReferenceProcessor* rp, 117 CMSMarkStack* revisit_stack): Comment nit: should this start with "See comment ..."? 262 // Comment on should_remember_klasses() above. concurrentMarkSweepGeneration.hpp: line wrap nit - fits on one line 1799 _mark_and_push(collector, span, bit_map, 1800 revisit_stack, work_queue) { } iterator.hpp & iterator.cpp: MarkingChecker & MarkingUnchecker - they check whether we should be remembering classes. Call them RememberKlassesChecker? All the uses of _must_remember_klasses, must_remember_klasses(), set_must_remember_klasses() are in asserts or in the MarkingChecker classes, which are in an #ifdef ASSERT block. But the decls in iterator.hpp use PRODUCT_RETURN. I'd drop PRODUCT_RETURN and instead use #ifdef ASSERT consistently for the decls and the bodies. -John From dragonken at gmail.com Wed Aug 19 17:47:04 2009 From: dragonken at gmail.com (Ken--@newsgroupstats.hk) Date: Wed, 19 Aug 2009 10:47:04 -0700 (PDT) Subject: JVM 32bits Xmx limitation In-Reply-To: <19056.32646.674850.439624@sun.com> References: <24719844.post@talk.nabble.com> <19056.32646.674850.439624@sun.com> Message-ID: <25048879.post@talk.nabble.com> john.coomes wrote: > > Ken-- at newsgroupstats.hk (dragonken at gmail.com) wrote: >> >> Hi All, >> >> I have an old java application running on old 32bits windows 2000 server, >> 2G >> Ram with JDK5. Originally I can startup my apps with -Xmx1412M. It's work >> for a year. One day, I restart windows but fail to start my app. It said >> 'Could not reserve enough space for object heap'. I have to decrease the >> Xmx >> to 1200M to make it work. Please advise. >> >> The server reboots everyday. No windows updates (and no software newly >> installed) for 3 months. > > This is most likely because the JVM can't get a contiguous range of > virtual addresses for the java heap. 32-bit windows reserves half for > its own use, so everything else has to live in 2G. > > Something changed to reduce the size of the largest available range of > addresses. Most often it's a windows update, but we've also seen some > correlation with virus scanner updates--there's a current thread on > the java forums discussing a similar problem when running Sophos AV. > >> I increase the physical memory to 4GB, it didn't help. >> >> Any workaround? > > There used to be a utility on sysinternals.com that would print out > what address ranges were in use and what was using them. I can't find > it now, but process explorer might give you that info. You might be > able to see what's taking up the space and use the 'rebase' utility to > relocate things (including the JDK itself). > > -John > > > Hi John, Thanks to your reply. I have to dig out what is actually taking up space. I use process explorer but i cannot figure out how to list processes by address ranges. Please kindly advise. Regards, Ken -- View this message in context: http://www.nabble.com/JVM-32bits-Xmx-limitation-tp24719844p25048879.html Sent from the OpenJDK Hotspot Garbage Collection mailing list archive at Nabble.com. From john.coomes at sun.com Fri Aug 21 06:25:16 2009 From: john.coomes at sun.com (john.coomes at sun.com) Date: Fri, 21 Aug 2009 06:25:16 +0000 Subject: hg: jdk7/hotspot-gc: 4 new changesets Message-ID: <20090821062516.8D6B81223B@hg.openjdk.java.net> Changeset: 4cad5a3f5038 Author: asaha Date: 2009-08-07 11:31 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/rev/4cad5a3f5038 6803688: Integrate latest JAX-WS (2.1.6) in to JDK 6u14 Reviewed-by: darcy, ramap ! THIRD_PARTY_README Changeset: fb676d15f20f Author: asaha Date: 2009-08-10 10:49 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/rev/fb676d15f20f Merge Changeset: 175cb3fe6159 Author: tbell Date: 2009-08-14 08:49 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/rev/175cb3fe6159 Merge Changeset: de7a3e98c159 Author: xdono Date: 2009-08-20 11:20 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/rev/de7a3e98c159 Added tag jdk7-b70 for changeset 175cb3fe6159 ! .hgtags From john.coomes at sun.com Fri Aug 21 06:31:19 2009 From: john.coomes at sun.com (john.coomes at sun.com) Date: Fri, 21 Aug 2009 06:31:19 +0000 Subject: hg: jdk7/hotspot-gc/corba: 4 new changesets Message-ID: <20090821063123.EDFB812240@hg.openjdk.java.net> Changeset: f3f572ea0cf2 Author: asaha Date: 2009-08-07 11:31 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/corba/rev/f3f572ea0cf2 6803688: Integrate latest JAX-WS (2.1.6) in to JDK 6u14 Reviewed-by: darcy, ramap ! THIRD_PARTY_README Changeset: 691649734a70 Author: asaha Date: 2009-08-10 10:50 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/corba/rev/691649734a70 Merge Changeset: 175bd6877954 Author: tbell Date: 2009-08-14 08:49 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/corba/rev/175bd6877954 Merge Changeset: 9f1959c73473 Author: xdono Date: 2009-08-20 11:20 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/corba/rev/9f1959c73473 Added tag jdk7-b70 for changeset 175bd6877954 ! .hgtags From john.coomes at sun.com Fri Aug 21 06:41:08 2009 From: john.coomes at sun.com (john.coomes at sun.com) Date: Fri, 21 Aug 2009 06:41:08 +0000 Subject: hg: jdk7/hotspot-gc/jaxp: 11 new changesets Message-ID: <20090821064125.0EF3312245@hg.openjdk.java.net> Changeset: 1687f5192ce7 Author: asaha Date: 2009-06-22 13:56 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/jaxp/rev/1687f5192ce7 6845701: Xerces2 Java XML library infinite loop with malformed XML input Reviewed-by: hawtin ! src/share/classes/com/sun/org/apache/xerces/internal/impl/XMLScanner.java Changeset: 1b3c6eec7d31 Author: asaha Date: 2009-06-30 16:23 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/jaxp/rev/1b3c6eec7d31 Merge Changeset: e8d3c15bb7f6 Author: asaha Date: 2009-07-06 11:16 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/jaxp/rev/e8d3c15bb7f6 Merge Changeset: 1c82b475604f Author: asaha Date: 2009-07-21 11:32 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/jaxp/rev/1c82b475604f Merge Changeset: fb3829850f08 Author: asaha Date: 2009-07-27 22:25 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/jaxp/rev/fb3829850f08 Merge Changeset: 66f9efcdd76c Author: asaha Date: 2009-08-03 12:20 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/jaxp/rev/66f9efcdd76c Merge Changeset: 16184436ba33 Author: asaha Date: 2009-08-06 22:37 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/jaxp/rev/16184436ba33 Merge Changeset: c7914d53581c Author: asaha Date: 2009-08-07 11:31 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/jaxp/rev/c7914d53581c 6803688: Integrate latest JAX-WS (2.1.6) in to JDK 6u14 Reviewed-by: darcy, ramap ! THIRD_PARTY_README Changeset: deec13478962 Author: asaha Date: 2009-08-10 10:52 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/jaxp/rev/deec13478962 Merge Changeset: c83f0106b78a Author: tbell Date: 2009-08-14 08:50 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/jaxp/rev/c83f0106b78a Merge Changeset: ff94d8ce0dad Author: xdono Date: 2009-08-20 11:20 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/jaxp/rev/ff94d8ce0dad Added tag jdk7-b70 for changeset c83f0106b78a ! .hgtags From john.coomes at sun.com Fri Aug 21 06:58:19 2009 From: john.coomes at sun.com (john.coomes at sun.com) Date: Fri, 21 Aug 2009 06:58:19 +0000 Subject: hg: jdk7/hotspot-gc/jdk: 98 new changesets Message-ID: <20090821072511.DB8731224F@hg.openjdk.java.net> Changeset: 12e479399ced Author: dl Date: 2009-07-28 13:24 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/jdk/rev/12e479399ced 6785442: ConcurrentLinkedQueue.remove() and poll() can both remove the same element 6493942: ConcurrentLinkedQueue.remove sometimes very slow Summary: new algorithm for handling concurrent linked lists Reviewed-by: martin ! src/share/classes/java/util/concurrent/ConcurrentLinkedQueue.java - test/java/util/concurrent/ConcurrentLinkedQueue/ConcurrentQueueLoops.java - test/java/util/concurrent/ConcurrentLinkedQueue/LoopHelpers.java + test/java/util/concurrent/ConcurrentQueues/ConcurrentQueueLoops.java + test/java/util/concurrent/ConcurrentQueues/GCRetention.java + test/java/util/concurrent/ConcurrentQueues/LoopHelpers.java + test/java/util/concurrent/ConcurrentQueues/RemovePollRace.java ! test/java/util/concurrent/LinkedBlockingQueue/OfferRemoveLoops.java Changeset: 49573ab3096a Author: dl Date: 2009-07-28 17:17 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/jdk/rev/49573ab3096a 6805775: LinkedBlockingQueue Nodes should unlink themselves before becoming garbage 6815766: LinkedBlockingQueue's iterator can return null if drainTo(c) executes concurrently Summary: Faster, more correct. Use self-linking trick to avoid gc retention Reviewed-by: martin, dholmes ! src/share/classes/java/util/concurrent/LinkedBlockingDeque.java ! src/share/classes/java/util/concurrent/LinkedBlockingQueue.java ! test/java/util/Collection/MOAT.java + test/java/util/concurrent/BlockingQueue/OfferDrainToLoops.java + test/java/util/concurrent/ConcurrentQueues/IteratorWeakConsistency.java Changeset: 8cabd2931621 Author: sherman Date: 2009-07-24 11:06 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/jdk/rev/8cabd2931621 5063507: (fmt) missing exception for "%#s" format specifier Summary: throw appropriate exception when necessary Reviewed-by: alanb ! src/share/classes/java/util/Formatter.java ! test/java/util/Formatter/Basic-X.java ! test/java/util/Formatter/Basic.java ! test/java/util/Formatter/BasicBigDecimal.java ! test/java/util/Formatter/BasicBigInteger.java ! test/java/util/Formatter/BasicBoolean.java ! test/java/util/Formatter/BasicBooleanObject.java ! test/java/util/Formatter/BasicByte.java ! test/java/util/Formatter/BasicByteObject.java ! test/java/util/Formatter/BasicChar.java ! test/java/util/Formatter/BasicCharObject.java ! test/java/util/Formatter/BasicDateTime.java ! test/java/util/Formatter/BasicDouble.java ! test/java/util/Formatter/BasicDoubleObject.java ! test/java/util/Formatter/BasicFloat.java ! test/java/util/Formatter/BasicFloatObject.java ! test/java/util/Formatter/BasicInt.java ! test/java/util/Formatter/BasicIntObject.java ! test/java/util/Formatter/BasicLong.java ! test/java/util/Formatter/BasicLongObject.java ! test/java/util/Formatter/BasicShort.java ! test/java/util/Formatter/BasicShortObject.java Changeset: eb5173d782ca Author: sherman Date: 2009-07-24 11:22 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/jdk/rev/eb5173d782ca Merge Changeset: eb27b5587e18 Author: sherman Date: 2009-07-29 11:19 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/jdk/rev/eb27b5587e18 Merge - test/java/util/concurrent/ConcurrentLinkedQueue/ConcurrentQueueLoops.java - test/java/util/concurrent/ConcurrentLinkedQueue/LoopHelpers.java Changeset: 61d174a58edf Author: martin Date: 2009-07-29 13:56 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/jdk/rev/61d174a58edf 6866554: Misc. javadoc warnings Reviewed-by: alanb ! src/share/classes/java/nio/channels/DatagramChannel.java ! src/share/classes/java/nio/channels/package-info.java ! src/share/classes/java/nio/file/DirectoryStream.java ! src/share/classes/java/nio/file/Path.java ! src/share/classes/java/nio/file/attribute/package-info.java ! src/share/classes/java/util/concurrent/ConcurrentLinkedQueue.java ! src/share/classes/java/util/concurrent/LinkedBlockingDeque.java ! src/share/classes/java/util/concurrent/LinkedBlockingQueue.java Changeset: bfd7abda8f79 Author: jjb Date: 2009-07-29 14:24 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/jdk/rev/bfd7abda8f79 6804124: Replace "modified mergesort" in java.util.Arrays.sort with timsort Summary: Easy port of timsort from android Reviewed-by: martin ! make/java/java/FILES_java.gmk ! src/share/classes/java/util/Arrays.java ! src/share/classes/java/util/Collections.java + src/share/classes/java/util/ComparableTimSort.java + src/share/classes/java/util/TimSort.java + test/java/util/TimSort/ArrayBuilder.java + test/java/util/TimSort/README + test/java/util/TimSort/SortPerf.java + test/java/util/TimSort/Sorter.java Changeset: 15a7df80058e Author: martin Date: 2009-07-29 21:45 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/jdk/rev/15a7df80058e 6866719: Rename execvpe to avoid symbol clash with glibc 2.10 Reviewed-by: darcy ! src/solaris/native/java/lang/UNIXProcess_md.c Changeset: 0c58a7b6b978 Author: weijun Date: 2009-07-31 16:21 +0800 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/jdk/rev/0c58a7b6b978 6867231: Regression: jdk/test/sun/security/krb5/ConfPlusProp.java error against jdk7/pit/b68 Reviewed-by: xuelei ! test/sun/security/krb5/ConfPlusProp.java Changeset: e2d9696aa701 Author: alanb Date: 2009-07-31 08:44 +0100 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/jdk/rev/e2d9696aa701 6867101: Path.checkAccess fails with sharing violation on special files such as pagefile.sys Reviewed-by: sherman ! src/windows/classes/sun/nio/fs/WindowsConstants.java ! src/windows/classes/sun/nio/fs/WindowsFileAttributes.java ! test/java/nio/file/Path/Misc.java Changeset: d5ee8b871362 Author: alanb Date: 2009-07-31 08:45 +0100 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/jdk/rev/d5ee8b871362 6867244: Tests missing @run tag Reviewed-by: sherman ! test/java/nio/channels/DatagramChannel/BasicMulticastTests.java ! test/java/nio/channels/DatagramChannel/MulticastSendReceiveTests.java ! test/java/nio/file/Files/ContentType.java Changeset: 160e02039cf7 Author: alanb Date: 2009-07-31 19:23 +0100 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/jdk/rev/160e02039cf7 Merge Changeset: 358ec67d3252 Author: tbell Date: 2009-07-31 17:19 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/jdk/rev/358ec67d3252 Merge - test/java/util/concurrent/ConcurrentLinkedQueue/ConcurrentQueueLoops.java - test/java/util/concurrent/ConcurrentLinkedQueue/LoopHelpers.java Changeset: 2536ab04dc68 Author: weijun Date: 2009-08-02 13:40 +0800 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/jdk/rev/2536ab04dc68 6867687: keytool's standard.sh test timeout sometimes Reviewed-by: xuelei ! test/sun/security/tools/keytool/standard.sh Changeset: 1c9cfd050949 Author: tbell Date: 2009-08-02 10:07 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/jdk/rev/1c9cfd050949 Merge Changeset: c390fd8fa885 Author: sherman Date: 2009-08-04 12:44 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/jdk/rev/c390fd8fa885 4116222: Errors in Arabic code-conversion tables, part II Summary: updated the IBM420 datatable Reviewed-by: alanb ! make/tools/CharsetMapping/IBM420.c2b ! make/tools/CharsetMapping/IBM420.map ! make/tools/CharsetMapping/IBM420.nr ! make/tools/src/build/tools/charsetmapping/GenerateSBCS.java Changeset: 55186701bdbc Author: martin Date: 2009-08-04 19:18 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/jdk/rev/55186701bdbc 6868160: (process) Use vfork, not fork, on Linux to avoid swap exhaustion Summary: Boldly go where no jdk has dared go before Reviewed-by: michaelm ! src/solaris/native/java/lang/UNIXProcess_md.c Changeset: a789c68f1cf3 Author: martin Date: 2009-08-04 19:18 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/jdk/rev/a789c68f1cf3 6856590: (process) Use RESTARTABLE in UNIXProcess_md.c Summary: Wrap all system calls with RESTARTABLE Reviewed-by: michaelm ! src/solaris/native/java/lang/UNIXProcess_md.c Changeset: 92394e48eed3 Author: dcubed Date: 2009-08-05 13:17 -0600 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/jdk/rev/92394e48eed3 6868533: 3/4 JDI: remove '-source 1.5' and '-target 1.5' options from com.sun.jdi tests Summary: We are long past needing to make sure these tests can build on Tiger/JDK1.5.0. Reviewed-by: tbell ! test/com/sun/jdi/EnumTest.java ! test/com/sun/jdi/GenericsTest.java ! test/com/sun/jdi/JdbVarargsTest.sh ! test/com/sun/jdi/StepTest.java ! test/com/sun/jdi/UTF8Test.java ! test/com/sun/jdi/VarargsTest.java Changeset: 2aa570c01c69 Author: wetmore Date: 2009-08-06 17:56 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/jdk/rev/2aa570c01c69 6867657: Many JSN tests do not run under cygwin Reviewed-by: ohair ! test/java/net/Authenticator/B4933582.sh ! test/java/net/DatagramSocket/SetDatagramSocketImplFactory/ADatagramSocket.sh ! test/java/net/Socket/OldSocketImpl.sh ! test/java/net/URL/B5086147.sh ! test/java/net/URL/runconstructor.sh ! test/java/net/URLClassLoader/B5077773.sh ! test/java/net/URLClassLoader/sealing/checksealed.sh ! test/java/net/URLConnection/6212146/test.sh ! test/java/security/Security/ClassLoaderDeadlock/ClassLoaderDeadlock.sh ! test/java/security/Security/ClassLoaderDeadlock/Deadlock.sh ! test/java/security/Security/signedfirst/Dyn.sh ! test/java/security/Security/signedfirst/Static.sh ! test/javax/crypto/SecretKeyFactory/FailOverTest.sh ! test/javax/security/auth/Subject/doAs/Test.sh ! test/lib/security/java.policy/Ext_AllPolicy.sh ! test/sun/net/www/MarkResetTest.sh ! test/sun/net/www/http/ChunkedInputStream/ChunkedCharEncoding.sh ! test/sun/net/www/http/HttpClient/RetryPost.sh ! test/sun/net/www/protocol/jar/B5105410.sh ! test/sun/net/www/protocol/jar/jarbug/run.sh ! test/sun/security/pkcs11/Provider/ConfigQuotedString.sh ! test/sun/security/pkcs11/Provider/Login.sh ! test/sun/security/provider/PolicyFile/getinstance/getinstance.sh ! test/sun/security/ssl/com/sun/net/ssl/internal/ssl/SSLSocketImpl/NotifyHandshakeTest.sh ! test/sun/security/ssl/sun/net/www/protocol/https/HttpsURLConnection/PostThruProxy.sh ! test/sun/security/ssl/sun/net/www/protocol/https/HttpsURLConnection/PostThruProxyWithAuth.sh ! test/sun/security/tools/jarsigner/AlgOptions.sh ! test/sun/security/tools/jarsigner/PercentSign.sh ! test/sun/security/tools/jarsigner/oldsig.sh ! test/sun/security/tools/keytool/AltProviderPath.sh ! test/sun/security/tools/keytool/CloneKeyAskPassword.sh ! test/sun/security/tools/keytool/NoExtNPE.sh ! test/sun/security/tools/keytool/SecretKeyKS.sh ! test/sun/security/tools/keytool/StandardAlgName.sh ! test/sun/security/tools/keytool/i18n.sh ! test/sun/security/tools/keytool/printssl.sh ! test/sun/security/tools/keytool/resource.sh ! test/sun/security/tools/keytool/standard.sh Changeset: bc1deb18bfb1 Author: jrose Date: 2009-08-06 18:30 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/jdk/rev/bc1deb18bfb1 6838598: Legal notice repair: jdk/src/share/classes/sun/dyn/FilterGeneric.java Reviewed-by: xdono ! src/share/classes/sun/dyn/FilterGeneric.java Changeset: bf41e885717f Author: tbell Date: 2009-08-06 19:01 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/jdk/rev/bf41e885717f Merge - test/java/util/concurrent/ConcurrentLinkedQueue/ConcurrentQueueLoops.java - test/java/util/concurrent/ConcurrentLinkedQueue/LoopHelpers.java Changeset: 0d99696fec64 Author: chegar Date: 2009-08-07 10:50 +0100 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/jdk/rev/0d99696fec64 6826780: URLClassPath should use HashMap instead of HashMap Summary: Replace URL with a String representation. Reviewed-by: michaelm, jccollet ! make/sun/net/FILES_java.gmk ! src/share/classes/sun/misc/URLClassPath.java + src/share/classes/sun/net/util/URLUtil.java Changeset: 9424d836691f Author: chegar Date: 2009-08-07 10:51 +0100 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/jdk/rev/9424d836691f 6826801: JarFileFactory should not use HashMap Summary: Replace URL with a String representation. Reviewed-by: michaelm, jccollet ! src/solaris/classes/sun/net/www/protocol/jar/JarFileFactory.java ! src/windows/classes/sun/net/www/protocol/jar/JarFileFactory.java Changeset: c43105502f46 Author: malenkov Date: 2009-04-29 20:03 +0400 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/jdk/rev/c43105502f46 6660539: Introspector shares cache of mutable BeanInfo between AppContexts. Reviewed-by: peterz ! src/share/classes/java/beans/Introspector.java + test/java/beans/Introspector/Test6660539.java Changeset: 3aeaa5784b3a Author: malenkov Date: 2009-04-29 20:55 +0400 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/jdk/rev/3aeaa5784b3a 6777487: Encoder allows reading private variables with certain names Reviewed-by: peterz ! src/share/classes/java/beans/MetaData.java + test/java/beans/XMLEncoder/6777487/TestBox.java + test/java/beans/XMLEncoder/6777487/TestCheckedCollection.java + test/java/beans/XMLEncoder/6777487/TestCheckedList.java + test/java/beans/XMLEncoder/6777487/TestCheckedMap.java + test/java/beans/XMLEncoder/6777487/TestCheckedRandomAccessList.java + test/java/beans/XMLEncoder/6777487/TestCheckedSet.java + test/java/beans/XMLEncoder/6777487/TestCheckedSortedMap.java + test/java/beans/XMLEncoder/6777487/TestCheckedSortedSet.java + test/java/beans/XMLEncoder/6777487/TestEncoder.java + test/java/beans/XMLEncoder/6777487/TestEnumMap.java + test/java/beans/XMLEncoder/6777487/TestEnumSet.java Changeset: 903ce4bda292 Author: asaha Date: 2009-04-29 11:43 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/jdk/rev/903ce4bda292 Merge Changeset: 5b166df43d63 Author: peterz Date: 2009-05-05 12:07 +0400 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/jdk/rev/5b166df43d63 6837293: Reapply fix for 6588003 to JDK7 Reviewed-by: alexp ! src/share/classes/javax/swing/text/LayoutQueue.java Changeset: ead34d1e3c9f Author: jccollet Date: 2009-05-05 11:02 +0200 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/jdk/rev/ead34d1e3c9f 6801497: Proxy is assumed to be immutable but is non-final Summary: Cloned the proxy instance when necessary Reviewed-by: chegar ! src/share/classes/java/net/Socket.java ! src/share/classes/java/net/URL.java Changeset: 38a0e21f345a Author: anthony Date: 2009-05-05 17:47 +0400 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/jdk/rev/38a0e21f345a 6805231: Security Warning Icon is missing in Windows 2000 Prof from Jdk build 6u12 Summary: The icon becomes layered only when the fading-out effect is being performed. Reviewed-by: art, dcherepanov ! src/windows/native/sun/windows/awt_Window.cpp ! src/windows/native/sun/windows/awt_Window.h Changeset: e0636bb69562 Author: anthony Date: 2009-05-05 17:56 +0400 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/jdk/rev/e0636bb69562 6818787: It is possible to reposition the security icon too far from the border of the window on X11 Summary: The constraints for the position of the icon are moved to the shared code Reviewed-by: art, dcherepanov ! src/share/classes/java/awt/Window.java ! src/windows/native/sun/windows/awt_Window.cpp Changeset: 4b498e41c1c2 Author: art Date: 2009-05-06 15:17 +0400 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/jdk/rev/4b498e41c1c2 6656586: Cursor.predefined is protected static mutable (findbugs) Reviewed-by: hawtin, igor ! src/share/classes/java/awt/Cursor.java + test/java/awt/Cursor/PredefinedPrivate/PredefinedPrivate.java Changeset: a53a57a3260c Author: emcmanus Date: 2009-05-07 10:44 +0200 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/jdk/rev/a53a57a3260c 6736293: OpenType checks can be bypassed through finalizer resurrection Reviewed-by: hawtin ! src/share/classes/java/awt/Window.java ! src/share/classes/javax/management/openmbean/OpenMBeanAttributeInfoSupport.java ! src/share/classes/javax/management/openmbean/OpenType.java Changeset: 7b50813648d8 Author: bae Date: 2009-05-08 15:38 +0400 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/jdk/rev/7b50813648d8 6656625: ImageReaderSpi.STANDARD_INPUT_TYPE/ImageWriterSpi.STANDARD_OUTPUT_TYPE are mutable static (findbugs) Reviewed-by: prr ! src/share/classes/com/sun/imageio/plugins/bmp/BMPImageReaderSpi.java ! src/share/classes/com/sun/imageio/plugins/bmp/BMPImageWriterSpi.java ! src/share/classes/com/sun/imageio/plugins/gif/GIFImageReaderSpi.java ! src/share/classes/com/sun/imageio/plugins/gif/GIFImageWriterSpi.java ! src/share/classes/com/sun/imageio/plugins/jpeg/JPEGImageReaderSpi.java ! src/share/classes/com/sun/imageio/plugins/jpeg/JPEGImageWriterSpi.java ! src/share/classes/com/sun/imageio/plugins/png/PNGImageReaderSpi.java ! src/share/classes/com/sun/imageio/plugins/png/PNGImageWriterSpi.java ! src/share/classes/com/sun/imageio/plugins/wbmp/WBMPImageReaderSpi.java ! src/share/classes/com/sun/imageio/plugins/wbmp/WBMPImageWriterSpi.java ! src/share/classes/javax/imageio/spi/ImageReaderSpi.java ! src/share/classes/javax/imageio/spi/ImageWriterSpi.java Changeset: c6ea5b6c3a8d Author: bae Date: 2009-05-08 15:57 +0400 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/jdk/rev/c6ea5b6c3a8d 6657133: Mutable statics in imageio plugins (findbugs) Reviewed-by: prr ! src/share/classes/com/sun/imageio/stream/StreamCloser.java ! src/share/classes/javax/imageio/plugins/bmp/BMPImageWriteParam.java ! src/share/classes/javax/imageio/stream/FileCacheImageInputStream.java ! src/share/classes/javax/imageio/stream/FileCacheImageOutputStream.java ! src/share/lib/security/java.security ! src/share/lib/security/java.security-solaris ! src/share/lib/security/java.security-windows Changeset: 597377f1ee71 Author: bae Date: 2009-05-08 16:15 +0400 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/jdk/rev/597377f1ee71 6823373: [ZDI-CAN-460] Java Web Start JPEG header parsing needs more scruity Reviewed-by: igor ! src/share/native/sun/awt/splashscreen/splashscreen_jpeg.c Changeset: 3de7b0daf355 Author: chegar Date: 2009-05-12 16:32 +0100 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/jdk/rev/3de7b0daf355 6801071: Remote sites can compromise user privacy and possibly hijack web sessions Reviewed-by: jccollet, hawtin ! make/sun/net/FILES_java.gmk ! src/share/classes/java/net/Socket.java ! src/share/classes/java/net/SocksSocketImpl.java ! src/share/classes/java/net/URL.java + src/share/classes/sun/net/ApplicationProxy.java ! src/share/classes/sun/net/www/protocol/http/HttpURLConnection.java Changeset: 05200aff312e Author: amenkov Date: 2009-05-13 13:52 +0400 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/jdk/rev/05200aff312e 6657625: RmfFileReader/StandardMidiFileWriter.types are public mutable statics (findbugs) Reviewed-by: hawtin ! src/share/classes/com/sun/media/sound/StandardMidiFileWriter.java Changeset: d09b81d1eb85 Author: amenkov Date: 2009-05-13 14:32 +0400 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/jdk/rev/d09b81d1eb85 6738524: JDK13Services allows read access to system properties from untrusted code Reviewed-by: hawtin ! src/share/classes/com/sun/media/sound/JDK13Services.java Changeset: 43ed4f9a781a Author: amenkov Date: 2009-05-13 14:32 +0400 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/jdk/rev/43ed4f9a781a 6777448: JDK13Services.getProviders creates instances with full privileges [hawtin, alexp] Reviewed-by: hawtin, alexp ! src/share/classes/com/sun/media/sound/JSSecurityManager.java Changeset: ae62878e6eef Author: asaha Date: 2009-05-07 13:18 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/jdk/rev/ae62878e6eef Merge ! src/share/classes/java/awt/Window.java - src/share/native/sun/java2d/pipe/RenderBuffer.c ! src/windows/native/sun/windows/awt_Window.cpp ! src/windows/native/sun/windows/awt_Window.h - test/com/sun/awt/Translucency/TranslucentJAppletTest/TranslucentJAppletTest.java - test/com/sun/awt/Translucency/TranslucentShapedFrameTest/TSFrame.java - test/com/sun/awt/Translucency/TranslucentShapedFrameTest/TranslucentShapedFrameTest.form - test/com/sun/awt/Translucency/TranslucentShapedFrameTest/TranslucentShapedFrameTest.java Changeset: bf002235470d Author: asaha Date: 2009-06-12 10:54 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/jdk/rev/bf002235470d Merge Changeset: 8156e661d016 Author: asaha Date: 2009-06-12 12:26 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/jdk/rev/8156e661d016 Merge ! src/share/classes/java/awt/Window.java ! src/share/classes/sun/net/www/protocol/http/HttpURLConnection.java - src/share/classes/sun/nio/cs/ext/DBCSDecoderMapping.java - src/share/classes/sun/nio/cs/ext/DBCS_IBM_ASCII_Decoder.java - src/share/classes/sun/nio/cs/ext/DBCS_IBM_ASCII_Encoder.java - src/share/classes/sun/nio/cs/ext/DBCS_IBM_EBCDIC_Decoder.java - src/share/classes/sun/nio/cs/ext/DBCS_IBM_EBCDIC_Encoder.java - src/share/classes/sun/nio/cs/ext/DBCS_ONLY_IBM_EBCDIC_Decoder.java - src/share/classes/sun/nio/cs/ext/IBM1381.java - src/share/classes/sun/nio/cs/ext/IBM1383.java - src/share/classes/sun/nio/cs/ext/IBM930.java - src/share/classes/sun/nio/cs/ext/IBM933.java - src/share/classes/sun/nio/cs/ext/IBM935.java - src/share/classes/sun/nio/cs/ext/IBM937.java - src/share/classes/sun/nio/cs/ext/IBM939.java - src/share/classes/sun/nio/cs/ext/IBM942.java - src/share/classes/sun/nio/cs/ext/IBM943.java - src/share/classes/sun/nio/cs/ext/IBM948.java - src/share/classes/sun/nio/cs/ext/IBM949.java - src/share/classes/sun/nio/cs/ext/IBM950.java - src/share/classes/sun/nio/cs/ext/IBM970.java - src/share/classes/sun/nio/cs/ext/SimpleEUCDecoder.java ! src/windows/native/sun/windows/awt_Window.cpp ! src/windows/native/sun/windows/awt_Window.h Changeset: f2d65a92ffb2 Author: malenkov Date: 2009-06-18 14:08 +0400 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/jdk/rev/f2d65a92ffb2 6660049: Synth Region.uiToRegionMap/lowerCaseNameMap are mutable statics Reviewed-by: hawtin ! src/share/classes/javax/swing/plaf/synth/Region.java + test/javax/swing/plaf/synth/Test6660049.java Changeset: a209372d6de8 Author: asaha Date: 2009-06-17 13:12 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/jdk/rev/a209372d6de8 Merge Changeset: 2f126d8c369d Author: asaha Date: 2009-06-18 22:45 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/jdk/rev/2f126d8c369d Merge Changeset: 94bd5497a0d3 Author: asaha Date: 2009-06-18 22:53 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/jdk/rev/94bd5497a0d3 Merge Changeset: 75fe05d49f44 Author: asaha Date: 2009-06-22 13:36 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/jdk/rev/75fe05d49f44 6656610: AccessibleResourceBundle.getContents exposes mutable static (findbugs) Reviewed-by: hawtin ! src/share/classes/javax/accessibility/AccessibleResourceBundle.java Changeset: ffb8e36b668c Author: mullan Date: 2009-06-23 13:54 -0400 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/jdk/rev/ffb8e36b668c 6824440: XML Signature HMAC issue Reviewed-by: asaha ! src/share/classes/com/sun/org/apache/xml/internal/security/algorithms/implementations/IntegrityHmac.java ! src/share/classes/org/jcp/xml/dsig/internal/dom/DOMHMACSignatureMethod.java + test/com/sun/org/apache/xml/internal/security/TruncateHMAC.java + test/com/sun/org/apache/xml/internal/security/signature-enveloping-hmac-sha1-trunclen-0-attack.xml + test/com/sun/org/apache/xml/internal/security/signature-enveloping-hmac-sha1-trunclen-8-attack.xml ! test/javax/xml/crypto/dsig/GenerationTests.java ! test/javax/xml/crypto/dsig/ValidationTests.java + test/javax/xml/crypto/dsig/data/signature-enveloping-hmac-sha1-trunclen-0-attack.xml + test/javax/xml/crypto/dsig/data/signature-enveloping-hmac-sha1-trunclen-8-attack.xml Changeset: 7352778840c7 Author: ksrini Date: 2009-06-22 07:23 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/jdk/rev/7352778840c7 6830335: Java JAR Pack200 Decompression Integer Overflow Vulnerability Summary: Fixes a potential vulnerability in the unpack200 logic, by adding extra checks, a back-port. Reviewed-by: asaha ! src/share/native/com/sun/java/util/jar/pack/unpack.cpp Changeset: 043280e1fc76 Author: asaha Date: 2009-07-01 09:59 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/jdk/rev/043280e1fc76 Merge ! make/sun/net/FILES_java.gmk ! src/share/classes/java/net/SocksSocketImpl.java - 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/net/www/protocol/http/HttpURLConnection.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 - 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: 46e4a2e56801 Author: asaha Date: 2009-07-06 11:42 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/jdk/rev/46e4a2e56801 Merge ! src/share/classes/com/sun/imageio/plugins/wbmp/WBMPImageReaderSpi.java ! src/share/classes/sun/net/www/protocol/http/HttpURLConnection.java - src/share/native/sun/font/bidi/cmemory.h - src/share/native/sun/font/bidi/jbidi.c - src/share/native/sun/font/bidi/jbidi.h - src/share/native/sun/font/bidi/ubidi.c - src/share/native/sun/font/bidi/ubidi.h - src/share/native/sun/font/bidi/ubidiimp.h - src/share/native/sun/font/bidi/ubidiln.c - src/share/native/sun/font/bidi/uchardir.c - src/share/native/sun/font/bidi/uchardir.h - src/share/native/sun/font/bidi/utypes.h Changeset: e2726b43d1cc Author: mullan Date: 2009-07-08 16:57 -0400 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/jdk/rev/e2726b43d1cc 6858484: If an invalid HMAC XML Signature is validated, all subsequent valid HMAC signatures are invalid Reviewed-by: asaha ! src/share/classes/com/sun/org/apache/xml/internal/security/algorithms/implementations/IntegrityHmac.java ! test/com/sun/org/apache/xml/internal/security/TruncateHMAC.java + test/com/sun/org/apache/xml/internal/security/signature-enveloping-hmac-sha1.xml Changeset: 78a1ffa5a675 Author: asaha Date: 2009-07-08 14:24 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/jdk/rev/78a1ffa5a675 Merge Changeset: 9b15d9813292 Author: asaha Date: 2009-07-08 14:27 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/jdk/rev/9b15d9813292 Merge Changeset: 537d8716d8cd Author: asaha Date: 2009-07-13 08:05 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/jdk/rev/537d8716d8cd Merge Changeset: 599a7f770842 Author: asaha Date: 2009-07-15 10:46 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/jdk/rev/599a7f770842 Merge Changeset: 97a5d7c6fbfb Author: vinnie Date: 2009-07-17 20:29 +0100 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/jdk/rev/97a5d7c6fbfb 6657619: DnsContext.debug is public static mutable (findbugs) Reviewed-by: alanb ! src/share/classes/com/sun/jndi/dns/DnsContext.java + test/com/sun/jndi/dns/CheckAccess.java Changeset: df7d8ae860cf Author: vinnie Date: 2009-07-17 20:43 +0100 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/jdk/rev/df7d8ae860cf 6657695: AbstractSaslImpl.logger is a static mutable (findbugs) Reviewed-by: alanb ! src/share/classes/com/sun/security/sasl/util/AbstractSaslImpl.java + test/com/sun/security/sasl/util/CheckAccess.java Changeset: 83d1885b22d6 Author: asaha Date: 2009-07-21 13:02 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/jdk/rev/83d1885b22d6 Merge ! src/share/classes/java/awt/Window.java ! src/share/classes/java/beans/MetaData.java - src/share/classes/sun/swing/AccessibleMethod.java Changeset: 14c81c80a7f3 Author: asaha Date: 2009-07-21 13:06 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/jdk/rev/14c81c80a7f3 Merge Changeset: baec332a0ff4 Author: asaha Date: 2009-07-27 22:28 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/jdk/rev/baec332a0ff4 Merge Changeset: ebc7d26588b8 Author: asaha Date: 2009-08-04 08:01 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/jdk/rev/ebc7d26588b8 Merge ! src/share/classes/java/awt/Window.java ! src/share/classes/java/beans/Introspector.java ! src/share/classes/java/beans/MetaData.java - test/java/util/concurrent/ConcurrentLinkedQueue/ConcurrentQueueLoops.java - test/java/util/concurrent/ConcurrentLinkedQueue/LoopHelpers.java Changeset: 6fe590dcc49c Author: asaha Date: 2009-08-05 14:16 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/jdk/rev/6fe590dcc49c Merge Changeset: c223ce2294c1 Author: asaha Date: 2009-08-06 22:37 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/jdk/rev/c223ce2294c1 Merge - src/share/classes/com/sun/crypto/provider/JarVerifier.java - src/share/classes/javax/swing/plaf/basic/DesktopIconMover.java - src/share/classes/sun/security/pkcs11/JarVerifier.java - src/windows/classes/sun/security/mscapi/JarVerifier.java Changeset: 1774d87963ad Author: asaha Date: 2009-08-07 09:21 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/jdk/rev/1774d87963ad Merge ! make/sun/net/FILES_java.gmk Changeset: 88229bdd8aae Author: andrew Date: 2009-08-07 18:15 +0100 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/jdk/rev/88229bdd8aae 6869697: Missing entry in makefiles for java/lang/ReflectiveOperationException.java Summary: Add new dependency explicitly so all compilers pick it up Reviewed-by: darcy, ohair ! make/java/java/FILES_java.gmk Changeset: 5439d705c04e Author: weijun Date: 2009-08-11 12:15 +0800 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/jdk/rev/5439d705c04e 6866479: libzip.so caused JVM to crash when running jarsigner Reviewed-by: mullan ! src/share/classes/sun/security/tools/JarSigner.java + test/sun/security/tools/jarsigner/samename.sh Changeset: c98d2798e16f Author: weijun Date: 2009-08-11 12:17 +0800 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/jdk/rev/c98d2798e16f 6710360: export Kerberos session key to applications Reviewed-by: valeriep + src/share/classes/com/sun/security/jgss/ExtendedGSSContext.java + src/share/classes/com/sun/security/jgss/InquireSecContextPermission.java + src/share/classes/com/sun/security/jgss/InquireType.java ! src/share/classes/sun/security/jgss/GSSContextImpl.java ! src/share/classes/sun/security/jgss/krb5/Krb5Context.java ! src/share/classes/sun/security/jgss/spi/GSSContextSpi.java ! src/share/classes/sun/security/jgss/spnego/SpNegoContext.java ! src/share/classes/sun/security/jgss/wrapper/NativeGSSContext.java ! src/share/classes/sun/security/tools/PolicyTool.java + test/com/sun/security/jgss/InquireSecContextPermissionCheck.java ! test/sun/security/krb5/auto/Context.java Changeset: 6db21e653d99 Author: weijun Date: 2009-08-11 12:20 +0800 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/jdk/rev/6db21e653d99 6821190: more InquireType values for ExtendedGSSContext Reviewed-by: valeriep + src/share/classes/com/sun/security/jgss/AuthorizationDataEntry.java ! src/share/classes/com/sun/security/jgss/ExtendedGSSContext.java ! src/share/classes/com/sun/security/jgss/InquireType.java ! src/share/classes/sun/security/jgss/krb5/InitSecContextToken.java ! src/share/classes/sun/security/jgss/krb5/Krb5Context.java ! src/share/classes/sun/security/krb5/Credentials.java ! src/share/classes/sun/security/krb5/KrbApReq.java ! src/share/classes/sun/security/krb5/internal/AuthorizationData.java ! src/share/classes/sun/security/tools/PolicyTool.java ! test/sun/security/krb5/auto/Context.java Changeset: efe2d2a55b3b Author: weijun Date: 2009-08-11 15:36 +0800 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/jdk/rev/efe2d2a55b3b 6868867: Test: sun/security/tools/keytool/standard.sh fails under windows/cygwin Reviewed-by: wetmore ! src/share/classes/sun/security/tools/KeyTool.java Changeset: aface89bfcf6 Author: xuelei Date: 2009-08-11 18:27 +0800 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/jdk/rev/aface89bfcf6 6585239: Regression: 2 DNS tests fail with JDK 5.0u13 b01 and pass with 5.0u12fcs Reviewed-by: vinnie ! src/share/classes/com/sun/jndi/dns/DnsContext.java Changeset: 5b5df0632ecf Author: alanb Date: 2009-08-11 12:37 +0100 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/jdk/rev/5b5df0632ecf 4516760: (so) Intermittent SocketException: Transport endpoint is not connected (lnx) Reviewed-by: sherman ! src/solaris/native/sun/nio/ch/Net.c ! test/java/nio/channels/SocketChannel/Shutdown.java Changeset: 18554eea6ce6 Author: alanb Date: 2009-08-11 12:38 +0100 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/jdk/rev/18554eea6ce6 6867781: (file) Examples in javadoc use newFileAttributeView instead of getFileAttributeView Reviewed-by: sherman ! src/share/classes/java/nio/file/attribute/AclFileAttributeView.java ! src/share/classes/java/nio/file/attribute/PosixFileAttributeView.java Changeset: a9a5aabecc01 Author: alanb Date: 2009-08-11 12:49 +0100 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/jdk/rev/a9a5aabecc01 6865748: (file) SimpleFileVisitor methods ignore null arguments Reviewed-by: sherman ! src/share/classes/java/nio/file/SimpleFileVisitor.java ! test/java/nio/file/Files/Misc.java Changeset: 8b97f8827d08 Author: asaha Date: 2009-08-07 11:32 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/jdk/rev/8b97f8827d08 6803688: Integrate latest JAX-WS (2.1.6) in to JDK 6u14 Reviewed-by: darcy, ramap ! THIRD_PARTY_README Changeset: 1ec22dda0652 Author: asaha Date: 2009-08-10 09:47 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/jdk/rev/1ec22dda0652 Merge - src/share/classes/com/sun/crypto/provider/JarVerifier.java - src/share/classes/javax/swing/plaf/basic/DesktopIconMover.java - src/share/classes/sun/security/pkcs11/JarVerifier.java - src/windows/classes/sun/security/mscapi/JarVerifier.java Changeset: 7681fa43d310 Author: asaha Date: 2009-08-11 08:22 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/jdk/rev/7681fa43d310 Merge Changeset: 1ff7163fc5f7 Author: vinnie Date: 2009-08-11 16:52 +0100 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/jdk/rev/1ff7163fc5f7 6840752: Provide out-of-the-box support for ECC algorithms Reviewed-by: alanb, mullan, wetmore ! make/sun/security/Makefile + make/sun/security/ec/FILES_c.gmk + make/sun/security/ec/Makefile + make/sun/security/ec/mapfile-vers ! 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/lib/security/java.security ! src/share/lib/security/java.security-solaris ! src/share/lib/security/java.security-windows + src/share/native/sun/security/ec/ECC_JNI.cpp + 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 + test/sun/security/ec/TestEC.java + test/sun/security/ec/p12passwords.txt + test/sun/security/ec/pkcs12/secp256r1server-secp384r1ca.p12 + test/sun/security/ec/pkcs12/sect193r1server-rsa1024ca.p12 Changeset: 485d3eb9b50b Author: vinnie Date: 2009-08-11 16:57 +0100 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/jdk/rev/485d3eb9b50b Merge Changeset: 95ae810b66fb Author: vinnie Date: 2009-08-11 17:01 +0100 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/jdk/rev/95ae810b66fb Merge Changeset: 36e0f4e00f20 Author: dcubed Date: 2009-08-11 20:02 -0600 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/jdk/rev/36e0f4e00f20 6870298: 4/4 fix minor typos in java/lang/instrument/Instrumentation.java Summary: Fix typos in the JavaDoc. Reviewed-by: tbell ! src/share/classes/java/lang/instrument/Instrumentation.java Changeset: 82b66d0368ff Author: dcubed Date: 2009-08-11 20:06 -0600 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/jdk/rev/82b66d0368ff Merge - src/share/classes/com/sun/crypto/provider/JarVerifier.java - src/share/classes/javax/swing/plaf/basic/DesktopIconMover.java - src/share/classes/sun/security/pkcs11/JarVerifier.java - src/windows/classes/sun/security/mscapi/JarVerifier.java Changeset: abac33c4bd67 Author: tbell Date: 2009-08-14 08:51 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/jdk/rev/abac33c4bd67 Merge Changeset: fb51d4974400 Author: uta Date: 2009-07-31 17:24 +0400 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/jdk/rev/fb51d4974400 6851688: Hung up in applet application Reviewed-by: art, dcherepanov ! src/windows/native/sun/windows/awt_Toolkit.cpp ! src/windows/native/sun/windows/awt_Toolkit.h Changeset: e6f6765a20f2 Author: yan Date: 2009-08-06 01:12 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/jdk/rev/e6f6765a20f2 Merge - src/share/classes/com/sun/crypto/provider/JarVerifier.java - src/share/classes/javax/swing/plaf/basic/DesktopIconMover.java - src/share/classes/sun/security/pkcs11/JarVerifier.java - src/windows/classes/sun/security/mscapi/JarVerifier.java Changeset: e066c998e4f3 Author: yan Date: 2009-08-12 00:32 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/jdk/rev/e066c998e4f3 Merge Changeset: 4c6a5ea563ba Author: peytoia Date: 2009-07-30 14:45 +0900 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/jdk/rev/4c6a5ea563ba 6866243: Javadoc for java.lang.Character still refers to Unicode 4 instead of 5 Reviewed-by: okutsu ! src/share/classes/java/lang/Character.java Changeset: 389cecd0ca18 Author: malenkov Date: 2009-07-31 16:27 +0400 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/jdk/rev/389cecd0ca18 6865565: Test failed: /test/closed/javax/swing/JInternalFrame/6325652/bug6325652.java Reviewed-by: peterz + test/javax/swing/JInternalFrame/Test6325652.java ! test/javax/swing/JInternalFrame/Test6505027.java ! test/javax/swing/JInternalFrame/Test6802868.java ! test/javax/swing/JScrollPane/Test6526631.java ! test/javax/swing/SwingTest.java Changeset: 23dfc2c451e3 Author: gsm Date: 2009-08-03 19:22 +0400 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/jdk/rev/23dfc2c451e3 6539700: JTextPane line wrap radically different from previous versions in jre 1.5.0_10+ Reviewed-by: peterz ! src/share/classes/javax/swing/text/GlyphView.java ! src/share/classes/javax/swing/text/ParagraphView.java + test/javax/swing/text/GlyphView/6539700/bug6539700.java Changeset: e548894909dc Author: andrew Date: 2009-08-06 16:04 +0100 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/jdk/rev/e548894909dc 6593649: Word wrap broken for JTextArea Summary: Layout correctly resizes components based on actual dimensions of the window they are in. Reviewed-by: gsm Contributed-by: Lillian Angel ! src/share/classes/javax/swing/text/WrappedPlainView.java + test/javax/swing/JTextArea/Test6593649.java Changeset: 7f2d92517f09 Author: yan Date: 2009-08-07 02:20 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/jdk/rev/7f2d92517f09 Merge - src/share/classes/com/sun/crypto/provider/JarVerifier.java ! src/share/classes/java/lang/Character.java - src/share/classes/sun/security/pkcs11/JarVerifier.java - src/windows/classes/sun/security/mscapi/JarVerifier.java Changeset: 082ffa4c6749 Author: malenkov Date: 2009-08-07 19:06 +0400 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/jdk/rev/082ffa4c6749 6868189: Nested enum class with custom BeanInfo fails Reviewed-by: peterz ! src/share/classes/com/sun/beans/finder/BeanInfoFinder.java + test/java/beans/Introspector/Test6868189.java Changeset: 6794e1f16729 Author: rupashka Date: 2009-08-10 14:55 +0400 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/jdk/rev/6794e1f16729 6461173: One JCK test([NewFolderAction0001]) failed on Windows due to lack of PropertyPermission(s) Reviewed-by: peterz, malenkov ! src/share/classes/javax/swing/filechooser/FileSystemView.java ! src/windows/classes/sun/awt/shell/Win32ShellFolder2.java ! src/windows/classes/sun/awt/shell/Win32ShellFolderManager2.java Changeset: 8e65977e4969 Author: alexp Date: 2009-08-10 16:29 +0400 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/jdk/rev/8e65977e4969 6822696: Integrating JXLayer component to Swing library Reviewed-by: peterz, art + src/share/classes/javax/swing/JLayer.java + src/share/classes/javax/swing/plaf/LayerUI.java + test/javax/swing/JLayer/SerializationTest/SerializationTest.java Changeset: 5ff018677b2d Author: yan Date: 2009-08-12 00:33 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/jdk/rev/5ff018677b2d Merge Changeset: 893bcca951b7 Author: yan Date: 2009-08-18 23:40 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/jdk/rev/893bcca951b7 Merge Changeset: de49d1343d86 Author: xdono Date: 2009-08-20 11:20 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/jdk/rev/de49d1343d86 Added tag jdk7-b70 for changeset 893bcca951b7 ! .hgtags From john.coomes at sun.com Fri Aug 21 07:38:06 2009 From: john.coomes at sun.com (john.coomes at sun.com) Date: Fri, 21 Aug 2009 07:38:06 +0000 Subject: hg: jdk7/hotspot-gc/langtools: 32 new changesets Message-ID: <20090821073858.B561412254@hg.openjdk.java.net> Changeset: 777a3efad0d5 Author: jjg Date: 2009-07-28 10:36 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/langtools/rev/777a3efad0d5 6855990: javap InstructionDetailWriter should support new 308 annotations attribute Reviewed-by: mcimadamore ! src/share/classes/com/sun/tools/classfile/ExtendedAnnotation.java ! src/share/classes/com/sun/tools/javap/AnnotationWriter.java ! src/share/classes/com/sun/tools/javap/CodeWriter.java ! src/share/classes/com/sun/tools/javap/InstructionDetailWriter.java + src/share/classes/com/sun/tools/javap/TypeAnnotationWriter.java + test/tools/javap/typeAnnotations/T6855990.java Changeset: 85b317ac8a0c Author: jjg Date: 2009-07-28 11:00 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/langtools/rev/85b317ac8a0c 6734068: Some variable length attributes set their size incorrectly. Reviewed-by: mcimadamore ! src/share/classes/com/sun/tools/classfile/CharacterRangeTable_attribute.java ! src/share/classes/com/sun/tools/classfile/LineNumberTable_attribute.java ! src/share/classes/com/sun/tools/classfile/LocalVariableTable_attribute.java ! src/share/classes/com/sun/tools/classfile/LocalVariableTypeTable_attribute.java ! src/share/classes/com/sun/tools/classfile/ModuleExportTable_attribute.java ! src/share/classes/com/sun/tools/classfile/ModuleMemberTable_attribute.java Changeset: c2dfab9e2f39 Author: jjg Date: 2009-07-29 13:26 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/langtools/rev/c2dfab9e2f39 4777949: Javap Rewrite : Warn javap usage on package classes with simple name. Reviewed-by: mcimadamore ! src/share/classes/com/sun/tools/javap/JavapFileManager.java ! src/share/classes/com/sun/tools/javap/JavapTask.java ! src/share/classes/com/sun/tools/javap/resources/javap.properties + test/tools/javap/T4777949.java Changeset: 85fecace920b Author: mcimadamore Date: 2009-07-30 10:29 +0100 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/langtools/rev/85fecace920b 6827648: Extremely slow compilation time for visitor pattern code + generics Summary: Javac unnecessarily recomputates type-substitutions multiple times Reviewed-by: jjg ! src/share/classes/com/sun/tools/javac/code/Symbol.java ! src/share/classes/com/sun/tools/javac/code/Types.java Changeset: b1e027181dd4 Author: mcimadamore Date: 2009-07-30 10:30 +0100 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/langtools/rev/b1e027181dd4 6862608: rich diagnostic sometimes contain wrong type variable numbering Summary: The rich formatter generates worng numbers for type-variables in where clauses Reviewed-by: jjg ! src/share/classes/com/sun/tools/javac/resources/compiler.properties ! src/share/classes/com/sun/tools/javac/util/RichDiagnosticFormatter.java + test/tools/javac/Diagnostics/6862608/T6862608a.java + test/tools/javac/Diagnostics/6862608/T6862608a.out + test/tools/javac/Diagnostics/6862608/T6862608b.java + test/tools/javac/Diagnostics/6862608/T6862608b.out Changeset: dd5c51734ad9 Author: mcimadamore Date: 2009-07-30 10:30 +0100 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/langtools/rev/dd5c51734ad9 6864382: NPE in the rich formatter when processing an unattributed type-variable Summary: Unattributed type variable should not be accessed by the rich formatter when emitting where clauses Reviewed-by: jjg ! src/share/classes/com/sun/tools/javac/util/RichDiagnosticFormatter.java + test/tools/javac/Diagnostics/6864382/T6864382.java + test/tools/javac/Diagnostics/6864382/T6864382.out Changeset: 6d0add6ad778 Author: mcimadamore Date: 2009-07-30 10:30 +0100 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/langtools/rev/6d0add6ad778 6861837: JCK compilation failures Summary: Type-annotations processing is accessing type info before they are available in MemberEnter Reviewed-by: jjg Contributed-by: mali at csail.mit.edu ! src/share/classes/com/sun/tools/javac/comp/MemberEnter.java ! src/share/classes/com/sun/tools/javac/comp/TransTypes.java ! test/tools/javac/typeAnnotations/InnerClass.java Changeset: 23505e6ea22d Author: jjg Date: 2009-07-30 07:48 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/langtools/rev/23505e6ea22d 6866657: add byteLength method to primary classfile types Reviewed-by: mchung ! src/share/classes/com/sun/tools/classfile/AccessFlags.java ! src/share/classes/com/sun/tools/classfile/Attribute.java ! src/share/classes/com/sun/tools/classfile/Attributes.java ! src/share/classes/com/sun/tools/classfile/ClassFile.java ! src/share/classes/com/sun/tools/classfile/ConstantPool.java ! src/share/classes/com/sun/tools/classfile/Field.java ! src/share/classes/com/sun/tools/classfile/Method.java + test/tools/javap/T6866657.java Changeset: e33efb09ed75 Author: jjg Date: 2009-07-30 09:18 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/langtools/rev/e33efb09ed75 4880672: javap does not output inner interfaces of an interface Reviewed-by: mcimadamore ! src/share/classes/com/sun/tools/javap/JavapTask.java ! src/share/classes/com/sun/tools/javap/Options.java ! src/share/classes/com/sun/tools/javap/resources/javap.properties + test/tools/javap/T4880672.java Changeset: dbf8a2816201 Author: tbell Date: 2009-07-31 17:20 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/langtools/rev/dbf8a2816201 Merge Changeset: 743f17b55b44 Author: jjg Date: 2009-08-04 17:26 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/langtools/rev/743f17b55b44 6867671: javap whitespace formatting issues Reviewed-by: mcimadamore ! src/share/classes/com/sun/tools/javap/AttributeWriter.java ! src/share/classes/com/sun/tools/javap/BasicWriter.java ! src/share/classes/com/sun/tools/javap/ClassWriter.java ! src/share/classes/com/sun/tools/javap/CodeWriter.java ! src/share/classes/com/sun/tools/javap/ConstantWriter.java ! src/share/classes/com/sun/tools/javap/JavapTask.java ! src/share/classes/com/sun/tools/javap/Options.java Changeset: bc0b1f404c40 Author: jjg Date: 2009-08-05 07:43 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/langtools/rev/bc0b1f404c40 6868553: 6867671 breaks some tests Reviewed-by: mcimadamore ! src/share/classes/com/sun/tools/javap/AttributeWriter.java ! test/tools/javac/code/ArrayClone.java ! test/tools/javap/4111861/T4111861.java ! test/tools/javap/T4884240.java ! test/tools/javap/T4975569.java ! test/tools/javap/stackmap/T6271292.sh Changeset: 526de25e0b28 Author: jjg Date: 2009-08-05 08:38 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/langtools/rev/526de25e0b28 6729471: javap should accept class files on the command line Reviewed-by: mcimadamore ! src/share/classes/com/sun/tools/javap/JavapTask.java + test/tools/javap/T6729471.java Changeset: b5ab848ba68f Author: tbell Date: 2009-08-06 19:03 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/langtools/rev/b5ab848ba68f Merge Changeset: 160d7a994e69 Author: jjg Date: 2009-08-06 19:35 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/langtools/rev/160d7a994e69 6858429: javap classfile library a minor bug Reviewed-by: ksrini ! src/share/classes/com/sun/tools/classfile/ClassWriter.java Changeset: 3e38c6da72ec Author: tbell Date: 2009-08-06 20:24 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/langtools/rev/3e38c6da72ec Merge Changeset: cba827f72977 Author: jjg Date: 2009-08-08 17:50 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/langtools/rev/cba827f72977 6868548: remove spurious ';' from after constant pool entries Reviewed-by: ksrini ! src/share/classes/com/sun/tools/javap/CodeWriter.java ! src/share/classes/com/sun/tools/javap/ConstantWriter.java ! test/tools/javac/code/ArrayClone.java Changeset: 961dc3acdb06 Author: jjg Date: 2009-08-08 17:56 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/langtools/rev/961dc3acdb06 6868539: javap should use current names for constant pool tags Reviewed-by: ksrini ! src/share/classes/com/sun/tools/javap/CodeWriter.java ! src/share/classes/com/sun/tools/javap/ConstantWriter.java + test/tools/javap/T6868539.java Changeset: d5f6c475f475 Author: mcimadamore Date: 2009-08-11 01:11 +0100 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/langtools/rev/d5f6c475f475 6806876: ClassCastException occurs in assignment expressions without any heap pollutions Summary: intersection types should be considered as non-reifiable by javac Reviewed-by: jjg ! src/share/classes/com/sun/tools/javac/code/Types.java ! src/share/classes/com/sun/tools/javac/resources/compiler.properties + test/tools/javac/varargs/6806876/T6806876.java + test/tools/javac/varargs/6806876/T6806876.out Changeset: abe992640c5a Author: mcimadamore Date: 2009-08-11 01:12 +0100 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/langtools/rev/abe992640c5a 6390045: Unexpected error "cannot access java.lang.Void" with '-target cldc1.0' with -source >=1.5 Summary: javac needs to synthetize a fake java.lang.Void symbol if one is not given on the classpath Reviewed-by: jjg ! src/share/classes/com/sun/tools/javac/code/Symtab.java + test/tools/javac/6390045/T6390045a.java + test/tools/javac/6390045/T6390045b.java Changeset: 62073a5becc5 Author: mcimadamore Date: 2009-08-11 01:12 +0100 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/langtools/rev/62073a5becc5 6840059: regression: javac silently crashes when resolving erroneous anonymous inner constructor Summary: resolved an internal crash with constructor resolution Reviewed-by: jjg ! src/share/classes/com/sun/tools/javac/comp/Attr.java + test/tools/javac/6840059/T6840059.java + test/tools/javac/6840059/T6840059.out Changeset: 8227961c64d3 Author: mcimadamore Date: 2009-08-11 01:13 +0100 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/langtools/rev/8227961c64d3 6521805: Regression: JDK5/JDK6 javac allows write access to outer class reference Summary: javac should warn/complain about identifiers with the same name as synthetic symbol Reviewed-by: jjg ! src/share/classes/com/sun/tools/javac/comp/Check.java ! src/share/classes/com/sun/tools/javac/comp/Lower.java ! src/share/classes/com/sun/tools/javac/main/JavaCompiler.java ! src/share/classes/com/sun/tools/javac/resources/compiler.properties + test/tools/javac/6521805/T6521805a.java + test/tools/javac/6521805/T6521805a_1.out + test/tools/javac/6521805/T6521805a_2.out + test/tools/javac/6521805/T6521805b.java + test/tools/javac/6521805/T6521805c.java + test/tools/javac/6521805/T6521805d.java + test/tools/javac/6521805/T6521805d.out + test/tools/javac/6521805/T6521805e.java + test/tools/javac/6521805/T6521805e.out + test/tools/javac/6521805/p/Outer.java + test/tools/javac/6521805/p/Sub.java ! test/tools/javac/6734819/T6734819a.out ! test/tools/javac/6734819/T6734819b.out ! test/tools/javac/policy/test2/byfile.AB.out ! test/tools/javac/policy/test2/bytodo.AB.out Changeset: 62fb6cafa93b Author: mcimadamore Date: 2009-08-11 01:13 +0100 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/langtools/rev/62fb6cafa93b 6869075: regression: javac crashes when compiling compound string assignment with generics Summary: javac should not add syntehtic cast to the LHS of an assignment expression Reviewed-by: jjg ! src/share/classes/com/sun/tools/javac/comp/TransTypes.java + test/tools/javac/generics/T6869075.java Changeset: 13902c0c9b83 Author: mcimadamore Date: 2009-08-11 01:14 +0100 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/langtools/rev/13902c0c9b83 6569404: Cannot instantiate an inner class of a type variable Summary: javac is too strict in rejecting member selction from a type-var Reviewed-by: jjg ! src/share/classes/com/sun/tools/javac/comp/Attr.java + test/tools/javac/generics/typevars/6569404/T6569404a.java + test/tools/javac/generics/typevars/6569404/T6569404b.java + test/tools/javac/generics/typevars/6569404/T6569404b.out + test/tools/javac/generics/typevars/6569404/T6569404c.java Changeset: c4c424badb83 Author: mcimadamore Date: 2009-08-11 01:14 +0100 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/langtools/rev/c4c424badb83 6199153: Generic throws and overriding Summary: javac incorrectly rejects an uchecked overriding Reviewed-by: jjg ! src/share/classes/com/sun/tools/javac/comp/Check.java ! src/share/classes/com/sun/tools/javac/resources/compiler.properties + test/tools/javac/OverrideChecks/6199153/T6199153.java + test/tools/javac/OverrideChecks/6199153/T6199153.out Changeset: 21f1d2462c7c Author: asaha Date: 2009-08-07 11:32 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/langtools/rev/21f1d2462c7c 6803688: Integrate latest JAX-WS (2.1.6) in to JDK 6u14 Reviewed-by: darcy, ramap ! THIRD_PARTY_README Changeset: 91852fb12e2e Author: asaha Date: 2009-08-10 09:36 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/langtools/rev/91852fb12e2e Merge Changeset: 38f54dbd2e5b Author: asaha Date: 2009-08-11 08:22 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/langtools/rev/38f54dbd2e5b Merge Changeset: beefdeb352e6 Author: jjg Date: 2009-08-11 14:05 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/langtools/rev/beefdeb352e6 6870591: langtools build sets javac.bootclasspath incorrectly Reviewed-by: ohair ! make/build.xml Changeset: 5a26c8fd0830 Author: jjg Date: 2009-08-11 18:35 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/langtools/rev/5a26c8fd0830 6870743: update comments in langtools/make/build.properties Reviewed-by: darcy ! make/build.properties Changeset: 97d06f3e8787 Author: tbell Date: 2009-08-14 08:53 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/langtools/rev/97d06f3e8787 Merge Changeset: 6f07b50a8796 Author: xdono Date: 2009-08-20 11:20 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/langtools/rev/6f07b50a8796 Added tag jdk7-b70 for changeset 97d06f3e8787 ! .hgtags From john.coomes at sun.com Fri Aug 21 06:47:54 2009 From: john.coomes at sun.com (john.coomes at sun.com) Date: Fri, 21 Aug 2009 06:47:54 +0000 Subject: hg: jdk7/hotspot-gc/jaxws: 5 new changesets Message-ID: <20090821064802.DFE3B1224A@hg.openjdk.java.net> Changeset: 860b95cc8d1d Author: asaha Date: 2009-08-07 11:27 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/jaxws/rev/860b95cc8d1d 6813167: 6u14 JAX-WS audit mutable static bugs 6803688: Integrate latest JAX-WS (2.1.6) in to JDK 6u14 Reviewed-by: darcy, ramap ! THIRD_PARTY_README + jaxws.patch + patch.out ! src/share/classes/com/sun/codemodel/internal/JAnnotatable.java ! src/share/classes/com/sun/codemodel/internal/JAnnotationUse.java ! src/share/classes/com/sun/codemodel/internal/JAnnotationWriter.java ! src/share/classes/com/sun/codemodel/internal/JBlock.java ! src/share/classes/com/sun/codemodel/internal/JCommentPart.java ! src/share/classes/com/sun/codemodel/internal/JDirectClass.java ! src/share/classes/com/sun/codemodel/internal/JExpr.java ! src/share/classes/com/sun/codemodel/internal/JJavaName.java ! src/share/classes/com/sun/codemodel/internal/JMethod.java ! src/share/classes/com/sun/codemodel/internal/JPackage.java ! src/share/classes/com/sun/codemodel/internal/JTypeWildcard.java ! src/share/classes/com/sun/codemodel/internal/TypedAnnotationWriter.java - src/share/classes/com/sun/codemodel/internal/fmt/package.html ! src/share/classes/com/sun/codemodel/internal/package-info.java ! src/share/classes/com/sun/codemodel/internal/util/EncoderFactory.java ! src/share/classes/com/sun/codemodel/internal/util/MS1252Encoder.java ! src/share/classes/com/sun/codemodel/internal/writer/FilterCodeWriter.java + src/share/classes/com/sun/istack/internal/Builder.java ! src/share/classes/com/sun/istack/internal/Pool.java ! src/share/classes/com/sun/istack/internal/XMLStreamReaderToContentHandler.java + src/share/classes/com/sun/istack/internal/localization/Localizable.java + src/share/classes/com/sun/istack/internal/localization/LocalizableMessage.java + src/share/classes/com/sun/istack/internal/localization/LocalizableMessageFactory.java + src/share/classes/com/sun/istack/internal/localization/Localizer.java ! src/share/classes/com/sun/istack/internal/ws/AnnotationProcessorFactoryImpl.java ! src/share/classes/com/sun/tools/internal/jxc/ConfigReader.java ! src/share/classes/com/sun/tools/internal/jxc/MessageBundle.properties ! src/share/classes/com/sun/tools/internal/jxc/Messages.java ! src/share/classes/com/sun/tools/internal/jxc/SchemaGenerator.java + src/share/classes/com/sun/tools/internal/jxc/SchemaGeneratorFacade.java ! src/share/classes/com/sun/tools/internal/jxc/apt/AnnotationParser.java ! src/share/classes/com/sun/tools/internal/jxc/apt/AnnotationProcessorFactoryImpl.java ! src/share/classes/com/sun/tools/internal/jxc/apt/Const.java ! src/share/classes/com/sun/tools/internal/jxc/apt/ErrorReceiverImpl.java ! src/share/classes/com/sun/tools/internal/jxc/apt/InlineAnnotationReaderImpl.java ! src/share/classes/com/sun/tools/internal/jxc/apt/MessageBundle.properties ! src/share/classes/com/sun/tools/internal/jxc/apt/Messages.java ! src/share/classes/com/sun/tools/internal/jxc/apt/Options.java ! src/share/classes/com/sun/tools/internal/jxc/apt/SchemaGenerator.java ! src/share/classes/com/sun/tools/internal/jxc/gen/config/Classes.java ! src/share/classes/com/sun/tools/internal/jxc/gen/config/Config.java ! src/share/classes/com/sun/tools/internal/jxc/gen/config/Schema.java ! src/share/classes/com/sun/tools/internal/jxc/gen/config/config.xsd ! src/share/classes/com/sun/tools/internal/jxc/model/nav/APTNavigator.java ! src/share/classes/com/sun/tools/internal/ws/Invoker.java ! src/share/classes/com/sun/tools/internal/ws/api/TJavaGeneratorExtension.java + src/share/classes/com/sun/tools/internal/ws/api/WsgenExtension.java + src/share/classes/com/sun/tools/internal/ws/api/WsgenProtocol.java ! src/share/classes/com/sun/tools/internal/ws/api/wsdl/TWSDLExtensible.java ! src/share/classes/com/sun/tools/internal/ws/api/wsdl/TWSDLExtension.java ! src/share/classes/com/sun/tools/internal/ws/api/wsdl/TWSDLExtensionHandler.java ! src/share/classes/com/sun/tools/internal/ws/api/wsdl/TWSDLOperation.java ! src/share/classes/com/sun/tools/internal/ws/api/wsdl/TWSDLParserContext.java ! src/share/classes/com/sun/tools/internal/ws/package-info.java ! src/share/classes/com/sun/tools/internal/ws/processor/generator/GeneratorBase.java ! src/share/classes/com/sun/tools/internal/ws/processor/generator/SeiGenerator.java ! src/share/classes/com/sun/tools/internal/ws/processor/generator/ServiceGenerator.java ! src/share/classes/com/sun/tools/internal/ws/processor/generator/W3CAddressingJavaGeneratorExtension.java ! src/share/classes/com/sun/tools/internal/ws/processor/model/Port.java ! src/share/classes/com/sun/tools/internal/ws/processor/model/java/JavaMethod.java ! src/share/classes/com/sun/tools/internal/ws/processor/model/jaxb/JAXBType.java ! src/share/classes/com/sun/tools/internal/ws/processor/modeler/annotation/WebServiceAP.java ! src/share/classes/com/sun/tools/internal/ws/processor/modeler/annotation/WebServiceVisitor.java ! src/share/classes/com/sun/tools/internal/ws/processor/modeler/annotation/WebServiceWrapperGenerator.java ! src/share/classes/com/sun/tools/internal/ws/processor/modeler/wsdl/ConsoleErrorReporter.java ! src/share/classes/com/sun/tools/internal/ws/processor/modeler/wsdl/PseudoSchemaBuilder.java ! src/share/classes/com/sun/tools/internal/ws/processor/modeler/wsdl/WSDLModeler.java ! src/share/classes/com/sun/tools/internal/ws/processor/modeler/wsdl/WSDLModelerBase.java ! src/share/classes/com/sun/tools/internal/ws/processor/util/ClassNameCollector.java ! src/share/classes/com/sun/tools/internal/ws/resources/GeneratorMessages.java ! src/share/classes/com/sun/tools/internal/ws/resources/ModelMessages.java ! src/share/classes/com/sun/tools/internal/ws/resources/ModelerMessages.java ! src/share/classes/com/sun/tools/internal/ws/resources/WebserviceapMessages.java ! src/share/classes/com/sun/tools/internal/ws/resources/WscompileMessages.java ! src/share/classes/com/sun/tools/internal/ws/resources/WsdlMessages.java ! src/share/classes/com/sun/tools/internal/ws/resources/configuration.properties ! src/share/classes/com/sun/tools/internal/ws/resources/generator.properties ! src/share/classes/com/sun/tools/internal/ws/resources/javacompiler.properties ! src/share/classes/com/sun/tools/internal/ws/resources/model.properties ! src/share/classes/com/sun/tools/internal/ws/resources/modeler.properties ! src/share/classes/com/sun/tools/internal/ws/resources/processor.properties ! src/share/classes/com/sun/tools/internal/ws/resources/util.properties ! src/share/classes/com/sun/tools/internal/ws/resources/webserviceap.properties ! src/share/classes/com/sun/tools/internal/ws/resources/wscompile.properties ! src/share/classes/com/sun/tools/internal/ws/resources/wsdl.properties ! src/share/classes/com/sun/tools/internal/ws/version.properties ! src/share/classes/com/sun/tools/internal/ws/wscompile/AbortException.java + src/share/classes/com/sun/tools/internal/ws/wscompile/AuthInfo.java ! src/share/classes/com/sun/tools/internal/ws/wscompile/BadCommandLineException.java + src/share/classes/com/sun/tools/internal/ws/wscompile/DefaultAuthTester.java + src/share/classes/com/sun/tools/internal/ws/wscompile/DefaultAuthenticator.java ! src/share/classes/com/sun/tools/internal/ws/wscompile/ErrorReceiver.java ! src/share/classes/com/sun/tools/internal/ws/wscompile/ErrorReceiverFilter.java ! src/share/classes/com/sun/tools/internal/ws/wscompile/JavaCompilerHelper.java ! src/share/classes/com/sun/tools/internal/ws/wscompile/Options.java ! src/share/classes/com/sun/tools/internal/ws/wscompile/WsgenOptions.java ! src/share/classes/com/sun/tools/internal/ws/wscompile/WsgenTool.java ! src/share/classes/com/sun/tools/internal/ws/wscompile/WsimportListener.java ! src/share/classes/com/sun/tools/internal/ws/wscompile/WsimportOptions.java ! src/share/classes/com/sun/tools/internal/ws/wscompile/WsimportTool.java ! src/share/classes/com/sun/tools/internal/ws/wsdl/document/Message.java ! src/share/classes/com/sun/tools/internal/ws/wsdl/document/jaxws/JAXWSBinding.java ! src/share/classes/com/sun/tools/internal/ws/wsdl/framework/AbstractDocument.java ! src/share/classes/com/sun/tools/internal/ws/wsdl/parser/AbstractReferenceFinderImpl.java ! src/share/classes/com/sun/tools/internal/ws/wsdl/parser/DOMBuilder.java ! src/share/classes/com/sun/tools/internal/ws/wsdl/parser/DOMForest.java + src/share/classes/com/sun/tools/internal/ws/wsdl/parser/DOMForestParser.java ! src/share/classes/com/sun/tools/internal/ws/wsdl/parser/DOMForestScanner.java ! src/share/classes/com/sun/tools/internal/ws/wsdl/parser/InternalizationLogic.java ! src/share/classes/com/sun/tools/internal/ws/wsdl/parser/Internalizer.java ! src/share/classes/com/sun/tools/internal/ws/wsdl/parser/MemberSubmissionAddressingExtensionHandler.java ! src/share/classes/com/sun/tools/internal/ws/wsdl/parser/MetadataFinder.java ! src/share/classes/com/sun/tools/internal/ws/wsdl/parser/NamespaceContextImpl.java ! src/share/classes/com/sun/tools/internal/ws/wsdl/parser/VersionChecker.java ! src/share/classes/com/sun/tools/internal/ws/wsdl/parser/W3CAddressingExtensionHandler.java ! src/share/classes/com/sun/tools/internal/ws/wsdl/parser/WSDLInternalizationLogic.java ! src/share/classes/com/sun/tools/internal/ws/wsdl/parser/WSDLParser.java ! src/share/classes/com/sun/tools/internal/ws/wsdl/parser/WhitespaceStripper.java + src/share/classes/com/sun/tools/internal/xjc/ClassLoaderBuilder.java ! src/share/classes/com/sun/tools/internal/xjc/Driver.java ! src/share/classes/com/sun/tools/internal/xjc/Language.java ! src/share/classes/com/sun/tools/internal/xjc/MessageBundle.properties ! src/share/classes/com/sun/tools/internal/xjc/ModelLoader.java ! src/share/classes/com/sun/tools/internal/xjc/Options.java ! src/share/classes/com/sun/tools/internal/xjc/ProgressCodeWriter.java ! src/share/classes/com/sun/tools/internal/xjc/SchemaCache.java + src/share/classes/com/sun/tools/internal/xjc/XJCFacade.java ! src/share/classes/com/sun/tools/internal/xjc/XJCListener.java ! src/share/classes/com/sun/tools/internal/xjc/addon/at_generated/PluginImpl.java ! src/share/classes/com/sun/tools/internal/xjc/addon/code_injector/Const.java ! src/share/classes/com/sun/tools/internal/xjc/addon/code_injector/PluginImpl.java ! src/share/classes/com/sun/tools/internal/xjc/addon/episode/PluginImpl.java ! src/share/classes/com/sun/tools/internal/xjc/addon/episode/package-info.java ! src/share/classes/com/sun/tools/internal/xjc/api/ClassNameAllocator.java ! src/share/classes/com/sun/tools/internal/xjc/api/J2SJAXBModel.java ! src/share/classes/com/sun/tools/internal/xjc/api/Reference.java ! src/share/classes/com/sun/tools/internal/xjc/api/S2JJAXBModel.java ! src/share/classes/com/sun/tools/internal/xjc/api/SchemaCompiler.java ! src/share/classes/com/sun/tools/internal/xjc/api/SpecVersion.java ! src/share/classes/com/sun/tools/internal/xjc/api/TypeAndAnnotation.java ! src/share/classes/com/sun/tools/internal/xjc/api/impl/j2s/JAXBModelImpl.java ! src/share/classes/com/sun/tools/internal/xjc/api/impl/j2s/JavaCompilerImpl.java - src/share/classes/com/sun/tools/internal/xjc/api/impl/j2s/Messages.java - src/share/classes/com/sun/tools/internal/xjc/api/impl/j2s/Messages.properties ! src/share/classes/com/sun/tools/internal/xjc/api/impl/s2j/AbstractMappingImpl.java ! src/share/classes/com/sun/tools/internal/xjc/api/impl/s2j/BeanMappingImpl.java ! src/share/classes/com/sun/tools/internal/xjc/api/impl/s2j/DowngradingErrorHandler.java ! src/share/classes/com/sun/tools/internal/xjc/api/impl/s2j/ElementAdapter.java ! src/share/classes/com/sun/tools/internal/xjc/api/impl/s2j/ElementCollectionAdapter.java ! src/share/classes/com/sun/tools/internal/xjc/api/impl/s2j/ElementMappingImpl.java ! src/share/classes/com/sun/tools/internal/xjc/api/impl/s2j/ElementSingleAdapter.java ! src/share/classes/com/sun/tools/internal/xjc/api/impl/s2j/PropertyImpl.java ! src/share/classes/com/sun/tools/internal/xjc/api/impl/s2j/SchemaCompilerImpl.java ! src/share/classes/com/sun/tools/internal/xjc/api/impl/s2j/TypeAndAnnotationImpl.java ! src/share/classes/com/sun/tools/internal/xjc/api/package.html ! src/share/classes/com/sun/tools/internal/xjc/api/util/APTClassLoader.java ! src/share/classes/com/sun/tools/internal/xjc/api/util/FilerCodeWriter.java ! src/share/classes/com/sun/tools/internal/xjc/api/util/Messages.properties ! src/share/classes/com/sun/tools/internal/xjc/api/util/ToolsJarNotFoundException.java + src/share/classes/com/sun/tools/internal/xjc/generator/annotation/ri/OverrideAnnotationOfWriter.java ! src/share/classes/com/sun/tools/internal/xjc/generator/annotation/spec/XmlElementRefWriter.java ! src/share/classes/com/sun/tools/internal/xjc/generator/bean/BeanGenerator.java ! src/share/classes/com/sun/tools/internal/xjc/generator/bean/DualObjectFactoryGenerator.java ! src/share/classes/com/sun/tools/internal/xjc/generator/bean/ElementOutlineImpl.java ! src/share/classes/com/sun/tools/internal/xjc/generator/bean/ImplStructureStrategy.java ! src/share/classes/com/sun/tools/internal/xjc/generator/bean/MessageBundle.properties ! src/share/classes/com/sun/tools/internal/xjc/generator/bean/MethodWriter.java ! src/share/classes/com/sun/tools/internal/xjc/generator/bean/ObjectFactoryGeneratorImpl.java ! src/share/classes/com/sun/tools/internal/xjc/generator/bean/PackageOutlineImpl.java ! src/share/classes/com/sun/tools/internal/xjc/generator/bean/PrivateObjectFactoryGenerator.java ! src/share/classes/com/sun/tools/internal/xjc/generator/bean/PublicObjectFactoryGenerator.java ! src/share/classes/com/sun/tools/internal/xjc/generator/bean/field/AbstractField.java ! src/share/classes/com/sun/tools/internal/xjc/generator/bean/field/AbstractFieldWithVar.java ! src/share/classes/com/sun/tools/internal/xjc/generator/bean/field/AbstractListField.java ! src/share/classes/com/sun/tools/internal/xjc/generator/bean/field/ArrayField.java ! src/share/classes/com/sun/tools/internal/xjc/generator/bean/field/ConstFieldRenderer.java + src/share/classes/com/sun/tools/internal/xjc/generator/bean/field/ContentListField.java ! src/share/classes/com/sun/tools/internal/xjc/generator/bean/field/DefaultFieldRenderer.java + src/share/classes/com/sun/tools/internal/xjc/generator/bean/field/DummyListField.java ! src/share/classes/com/sun/tools/internal/xjc/generator/bean/field/FieldRenderer.java ! src/share/classes/com/sun/tools/internal/xjc/generator/bean/field/FieldRendererFactory.java ! src/share/classes/com/sun/tools/internal/xjc/generator/bean/field/IsSetFieldRenderer.java ! src/share/classes/com/sun/tools/internal/xjc/generator/bean/field/MessageBundle.properties ! src/share/classes/com/sun/tools/internal/xjc/generator/bean/field/Messages.java + src/share/classes/com/sun/tools/internal/xjc/generator/bean/field/NoExtendedContentField.java ! src/share/classes/com/sun/tools/internal/xjc/generator/bean/field/SingleField.java ! src/share/classes/com/sun/tools/internal/xjc/generator/bean/field/SinglePrimitiveAccessField.java ! src/share/classes/com/sun/tools/internal/xjc/generator/bean/field/UnboxedField.java ! src/share/classes/com/sun/tools/internal/xjc/generator/bean/field/UntypedListFieldRenderer.java ! src/share/classes/com/sun/tools/internal/xjc/generator/package-info.java ! src/share/classes/com/sun/tools/internal/xjc/model/AbstractCElement.java ! src/share/classes/com/sun/tools/internal/xjc/model/AbstractCTypeInfoImpl.java ! src/share/classes/com/sun/tools/internal/xjc/model/AutoClassNameAllocator.java ! src/share/classes/com/sun/tools/internal/xjc/model/CAdapter.java ! src/share/classes/com/sun/tools/internal/xjc/model/CArrayInfo.java ! src/share/classes/com/sun/tools/internal/xjc/model/CAttributePropertyInfo.java ! src/share/classes/com/sun/tools/internal/xjc/model/CBuiltinLeafInfo.java ! src/share/classes/com/sun/tools/internal/xjc/model/CClass.java ! src/share/classes/com/sun/tools/internal/xjc/model/CClassInfo.java ! src/share/classes/com/sun/tools/internal/xjc/model/CClassInfoParent.java ! src/share/classes/com/sun/tools/internal/xjc/model/CClassRef.java ! src/share/classes/com/sun/tools/internal/xjc/model/CCustomizable.java ! src/share/classes/com/sun/tools/internal/xjc/model/CCustomizations.java ! src/share/classes/com/sun/tools/internal/xjc/model/CDefaultValue.java ! src/share/classes/com/sun/tools/internal/xjc/model/CElement.java ! src/share/classes/com/sun/tools/internal/xjc/model/CElementInfo.java ! src/share/classes/com/sun/tools/internal/xjc/model/CElementPropertyInfo.java ! src/share/classes/com/sun/tools/internal/xjc/model/CEnumConstant.java ! src/share/classes/com/sun/tools/internal/xjc/model/CNonElement.java ! src/share/classes/com/sun/tools/internal/xjc/model/CPluginCustomization.java ! src/share/classes/com/sun/tools/internal/xjc/model/CPropertyInfo.java ! src/share/classes/com/sun/tools/internal/xjc/model/CPropertyVisitor.java ! src/share/classes/com/sun/tools/internal/xjc/model/CReferencePropertyInfo.java ! src/share/classes/com/sun/tools/internal/xjc/model/CSingleTypePropertyInfo.java ! src/share/classes/com/sun/tools/internal/xjc/model/CTypeInfo.java ! src/share/classes/com/sun/tools/internal/xjc/model/CTypeRef.java ! src/share/classes/com/sun/tools/internal/xjc/model/CValuePropertyInfo.java ! src/share/classes/com/sun/tools/internal/xjc/model/CWildcardTypeInfo.java ! src/share/classes/com/sun/tools/internal/xjc/model/ClassNameAllocatorWrapper.java ! src/share/classes/com/sun/tools/internal/xjc/model/Model.java ! src/share/classes/com/sun/tools/internal/xjc/model/Populatable.java ! src/share/classes/com/sun/tools/internal/xjc/model/TypeUse.java ! src/share/classes/com/sun/tools/internal/xjc/model/TypeUseFactory.java ! src/share/classes/com/sun/tools/internal/xjc/model/TypeUseImpl.java ! src/share/classes/com/sun/tools/internal/xjc/model/nav/EagerNClass.java ! src/share/classes/com/sun/tools/internal/xjc/model/nav/EagerNType.java ! src/share/classes/com/sun/tools/internal/xjc/model/nav/NClass.java ! src/share/classes/com/sun/tools/internal/xjc/model/nav/NClassByJClass.java ! src/share/classes/com/sun/tools/internal/xjc/model/nav/NParameterizedType.java ! src/share/classes/com/sun/tools/internal/xjc/model/nav/NType.java ! src/share/classes/com/sun/tools/internal/xjc/model/nav/NavigatorImpl.java ! src/share/classes/com/sun/tools/internal/xjc/model/package-info.java ! src/share/classes/com/sun/tools/internal/xjc/outline/Aspect.java ! src/share/classes/com/sun/tools/internal/xjc/outline/ClassOutline.java ! src/share/classes/com/sun/tools/internal/xjc/outline/ElementOutline.java ! src/share/classes/com/sun/tools/internal/xjc/outline/EnumConstantOutline.java ! src/share/classes/com/sun/tools/internal/xjc/outline/EnumOutline.java ! src/share/classes/com/sun/tools/internal/xjc/package-info.java ! src/share/classes/com/sun/tools/internal/xjc/reader/AbstractExtensionBindingChecker.java ! src/share/classes/com/sun/tools/internal/xjc/reader/Const.java ! src/share/classes/com/sun/tools/internal/xjc/reader/MessageBundle.properties ! src/share/classes/com/sun/tools/internal/xjc/reader/ModelChecker.java ! src/share/classes/com/sun/tools/internal/xjc/reader/RawTypeSet.java ! src/share/classes/com/sun/tools/internal/xjc/reader/Ring.java ! src/share/classes/com/sun/tools/internal/xjc/reader/dtd/Block.java ! src/share/classes/com/sun/tools/internal/xjc/reader/dtd/Element.java ! src/share/classes/com/sun/tools/internal/xjc/reader/dtd/MessageBundle.properties ! src/share/classes/com/sun/tools/internal/xjc/reader/dtd/ModelGroup.java ! src/share/classes/com/sun/tools/internal/xjc/reader/dtd/Occurence.java ! src/share/classes/com/sun/tools/internal/xjc/reader/dtd/Term.java ! src/share/classes/com/sun/tools/internal/xjc/reader/dtd/bindinfo/DOMBuilder.java ! src/share/classes/com/sun/tools/internal/xjc/reader/dtd/bindinfo/DOMUtil.java ! src/share/classes/com/sun/tools/internal/xjc/reader/dtd/bindinfo/DTDExtensionBindingChecker.java ! src/share/classes/com/sun/tools/internal/xjc/reader/dtd/bindinfo/MessageBundle.properties ! src/share/classes/com/sun/tools/internal/xjc/reader/dtd/bindinfo/bindingfile.rng ! src/share/classes/com/sun/tools/internal/xjc/reader/dtd/bindinfo/bindingfile.xsd ! src/share/classes/com/sun/tools/internal/xjc/reader/dtd/bindinfo/xjc.xsd ! src/share/classes/com/sun/tools/internal/xjc/reader/gbind/Choice.java ! src/share/classes/com/sun/tools/internal/xjc/reader/gbind/ConnectedComponent.java ! src/share/classes/com/sun/tools/internal/xjc/reader/gbind/Element.java ! src/share/classes/com/sun/tools/internal/xjc/reader/gbind/ElementSet.java ! src/share/classes/com/sun/tools/internal/xjc/reader/gbind/ElementSets.java ! src/share/classes/com/sun/tools/internal/xjc/reader/gbind/Expression.java ! src/share/classes/com/sun/tools/internal/xjc/reader/gbind/Graph.java ! src/share/classes/com/sun/tools/internal/xjc/reader/gbind/OneOrMore.java ! src/share/classes/com/sun/tools/internal/xjc/reader/gbind/Sequence.java ! src/share/classes/com/sun/tools/internal/xjc/reader/gbind/SinkNode.java ! src/share/classes/com/sun/tools/internal/xjc/reader/gbind/SourceNode.java ! src/share/classes/com/sun/tools/internal/xjc/reader/internalizer/ContentHandlerNamespacePrefixAdapter.java ! src/share/classes/com/sun/tools/internal/xjc/reader/internalizer/MessageBundle.properties ! src/share/classes/com/sun/tools/internal/xjc/reader/internalizer/NamespaceContextImpl.java ! src/share/classes/com/sun/tools/internal/xjc/reader/internalizer/SCDBasedBindingSet.java ! src/share/classes/com/sun/tools/internal/xjc/reader/internalizer/WhitespaceStripper.java ! src/share/classes/com/sun/tools/internal/xjc/reader/relaxng/BindStyle.java ! src/share/classes/com/sun/tools/internal/xjc/reader/relaxng/ContentModelBinder.java ! src/share/classes/com/sun/tools/internal/xjc/reader/relaxng/DatatypeLib.java ! src/share/classes/com/sun/tools/internal/xjc/reader/relaxng/DefineFinder.java ! src/share/classes/com/sun/tools/internal/xjc/reader/relaxng/NameCalculator.java ! src/share/classes/com/sun/tools/internal/xjc/reader/relaxng/RELAXNGCompiler.java ! src/share/classes/com/sun/tools/internal/xjc/reader/relaxng/RawTypeSetBuilder.java ! src/share/classes/com/sun/tools/internal/xjc/reader/relaxng/TypePatternBinder.java ! src/share/classes/com/sun/tools/internal/xjc/reader/relaxng/TypeUseBinder.java ! src/share/classes/com/sun/tools/internal/xjc/reader/xmlschema/Abstractifier.java ! src/share/classes/com/sun/tools/internal/xjc/reader/xmlschema/BGMBuilder.java ! src/share/classes/com/sun/tools/internal/xjc/reader/xmlschema/BindBlue.java ! src/share/classes/com/sun/tools/internal/xjc/reader/xmlschema/BindGreen.java ! src/share/classes/com/sun/tools/internal/xjc/reader/xmlschema/BindPurple.java ! src/share/classes/com/sun/tools/internal/xjc/reader/xmlschema/BindRed.java ! src/share/classes/com/sun/tools/internal/xjc/reader/xmlschema/BindYellow.java ! src/share/classes/com/sun/tools/internal/xjc/reader/xmlschema/BindingComponent.java ! src/share/classes/com/sun/tools/internal/xjc/reader/xmlschema/ClassBinderFilter.java ! src/share/classes/com/sun/tools/internal/xjc/reader/xmlschema/CollisionInfo.java ! src/share/classes/com/sun/tools/internal/xjc/reader/xmlschema/ColorBinder.java ! src/share/classes/com/sun/tools/internal/xjc/reader/xmlschema/DefaultParticleBinder.java ! src/share/classes/com/sun/tools/internal/xjc/reader/xmlschema/ExpressionBuilder.java ! src/share/classes/com/sun/tools/internal/xjc/reader/xmlschema/ExpressionParticleBinder.java ! src/share/classes/com/sun/tools/internal/xjc/reader/xmlschema/GElement.java ! src/share/classes/com/sun/tools/internal/xjc/reader/xmlschema/GElementImpl.java ! src/share/classes/com/sun/tools/internal/xjc/reader/xmlschema/GWildcardElement.java ! src/share/classes/com/sun/tools/internal/xjc/reader/xmlschema/MessageBundle.properties ! src/share/classes/com/sun/tools/internal/xjc/reader/xmlschema/Messages.java ! src/share/classes/com/sun/tools/internal/xjc/reader/xmlschema/MultiplicityCounter.java ! src/share/classes/com/sun/tools/internal/xjc/reader/xmlschema/RawTypeSetBuilder.java ! src/share/classes/com/sun/tools/internal/xjc/reader/xmlschema/RefererFinder.java ! src/share/classes/com/sun/tools/internal/xjc/reader/xmlschema/SimpleTypeBuilder.java ! src/share/classes/com/sun/tools/internal/xjc/reader/xmlschema/UnusedCustomizationChecker.java ! src/share/classes/com/sun/tools/internal/xjc/reader/xmlschema/bindinfo/AnnotationParserFactoryImpl.java ! src/share/classes/com/sun/tools/internal/xjc/reader/xmlschema/bindinfo/BIConversion.java + src/share/classes/com/sun/tools/internal/xjc/reader/xmlschema/bindinfo/BIFactoryMethod.java ! src/share/classes/com/sun/tools/internal/xjc/reader/xmlschema/bindinfo/BIGlobalBinding.java + src/share/classes/com/sun/tools/internal/xjc/reader/xmlschema/bindinfo/BIInlineBinaryData.java ! src/share/classes/com/sun/tools/internal/xjc/reader/xmlschema/bindinfo/BIProperty.java ! src/share/classes/com/sun/tools/internal/xjc/reader/xmlschema/bindinfo/BIXDom.java ! src/share/classes/com/sun/tools/internal/xjc/reader/xmlschema/bindinfo/BIXPluginCustomization.java ! src/share/classes/com/sun/tools/internal/xjc/reader/xmlschema/bindinfo/BIXSubstitutable.java ! src/share/classes/com/sun/tools/internal/xjc/reader/xmlschema/bindinfo/BindInfo.java ! src/share/classes/com/sun/tools/internal/xjc/reader/xmlschema/bindinfo/CollectionTypeAttribute.java ! src/share/classes/com/sun/tools/internal/xjc/reader/xmlschema/bindinfo/DomHandlerEx.java ! src/share/classes/com/sun/tools/internal/xjc/reader/xmlschema/bindinfo/EnumMemberMode.java ! src/share/classes/com/sun/tools/internal/xjc/reader/xmlschema/bindinfo/ForkingFilter.java ! src/share/classes/com/sun/tools/internal/xjc/reader/xmlschema/bindinfo/LocalScoping.java ! src/share/classes/com/sun/tools/internal/xjc/reader/xmlschema/bindinfo/MessageBundle.properties ! src/share/classes/com/sun/tools/internal/xjc/reader/xmlschema/bindinfo/OptionalPropertyMode.java ! src/share/classes/com/sun/tools/internal/xjc/reader/xmlschema/bindinfo/binding.rng ! src/share/classes/com/sun/tools/internal/xjc/reader/xmlschema/bindinfo/binding.xsd ! src/share/classes/com/sun/tools/internal/xjc/reader/xmlschema/bindinfo/package-info.java ! src/share/classes/com/sun/tools/internal/xjc/reader/xmlschema/bindinfo/package.html ! src/share/classes/com/sun/tools/internal/xjc/reader/xmlschema/bindinfo/xjc.xsd ! src/share/classes/com/sun/tools/internal/xjc/reader/xmlschema/bindinfo/xs.xsd + src/share/classes/com/sun/tools/internal/xjc/reader/xmlschema/ct/AbstractExtendedComplexTypeBuilder.java ! src/share/classes/com/sun/tools/internal/xjc/reader/xmlschema/ct/ChoiceContentComplexTypeBuilder.java ! src/share/classes/com/sun/tools/internal/xjc/reader/xmlschema/ct/ComplexTypeBindingMode.java ! src/share/classes/com/sun/tools/internal/xjc/reader/xmlschema/ct/ComplexTypeFieldBuilder.java ! src/share/classes/com/sun/tools/internal/xjc/reader/xmlschema/ct/ExtendedComplexTypeBuilder.java ! src/share/classes/com/sun/tools/internal/xjc/reader/xmlschema/ct/MessageBundle.properties ! src/share/classes/com/sun/tools/internal/xjc/reader/xmlschema/ct/Messages.java ! src/share/classes/com/sun/tools/internal/xjc/reader/xmlschema/ct/MixedComplexTypeBuilder.java + src/share/classes/com/sun/tools/internal/xjc/reader/xmlschema/ct/MixedExtendedComplexTypeBuilder.java ! src/share/classes/com/sun/tools/internal/xjc/reader/xmlschema/ct/RestrictedComplexTypeBuilder.java ! src/share/classes/com/sun/tools/internal/xjc/reader/xmlschema/parser/LSInputSAXWrapper.java ! src/share/classes/com/sun/tools/internal/xjc/reader/xmlschema/parser/MessageBundle.properties ! src/share/classes/com/sun/tools/internal/xjc/runtime/JAXBContextFactory.java ! src/share/classes/com/sun/tools/internal/xjc/runtime/ZeroOneBooleanAdapter.java ! src/share/classes/com/sun/tools/internal/xjc/util/ForkContentHandler.java ! src/share/classes/com/sun/tools/internal/xjc/util/ForkEntityResolver.java ! src/share/classes/com/sun/tools/internal/xjc/util/MessageBundle.properties ! src/share/classes/com/sun/tools/internal/xjc/util/MimeTypeRange.java ! src/share/classes/com/sun/tools/internal/xjc/util/NamespaceContextAdapter.java ! src/share/classes/com/sun/tools/internal/xjc/util/ReadOnlyAdapter.java ! src/share/classes/com/sun/tools/internal/xjc/util/StringCutter.java ! src/share/classes/com/sun/tools/internal/xjc/util/SubtreeCutter.java ! src/share/classes/com/sun/xml/internal/bind/AccessorFactoryImpl.java ! src/share/classes/com/sun/xml/internal/bind/AnyTypeAdapter.java ! src/share/classes/com/sun/xml/internal/bind/CycleRecoverable.java ! src/share/classes/com/sun/xml/internal/bind/DatatypeConverterImpl.java ! src/share/classes/com/sun/xml/internal/bind/IDResolver.java ! src/share/classes/com/sun/xml/internal/bind/Locatable.java ! src/share/classes/com/sun/xml/internal/bind/Util.java ! src/share/classes/com/sun/xml/internal/bind/ValidationEventLocatorEx.java ! src/share/classes/com/sun/xml/internal/bind/XmlAccessorFactory.java + src/share/classes/com/sun/xml/internal/bind/annotation/OverrideAnnotationOf.java ! src/share/classes/com/sun/xml/internal/bind/annotation/XmlIsSet.java ! src/share/classes/com/sun/xml/internal/bind/annotation/XmlLocation.java ! src/share/classes/com/sun/xml/internal/bind/api/AccessorException.java ! src/share/classes/com/sun/xml/internal/bind/api/Bridge.java ! src/share/classes/com/sun/xml/internal/bind/api/BridgeContext.java ! src/share/classes/com/sun/xml/internal/bind/api/ClassResolver.java ! src/share/classes/com/sun/xml/internal/bind/api/CompositeStructure.java ! src/share/classes/com/sun/xml/internal/bind/api/ErrorListener.java ! src/share/classes/com/sun/xml/internal/bind/api/JAXBRIContext.java + src/share/classes/com/sun/xml/internal/bind/api/Messages.java + src/share/classes/com/sun/xml/internal/bind/api/Messages.properties ! src/share/classes/com/sun/xml/internal/bind/api/RawAccessor.java ! src/share/classes/com/sun/xml/internal/bind/api/TypeReference.java ! src/share/classes/com/sun/xml/internal/bind/api/impl/NameConverter.java ! src/share/classes/com/sun/xml/internal/bind/api/impl/NameUtil.java ! src/share/classes/com/sun/xml/internal/bind/api/package-info.java ! src/share/classes/com/sun/xml/internal/bind/marshaller/DataWriter.java ! src/share/classes/com/sun/xml/internal/bind/marshaller/Messages.properties ! src/share/classes/com/sun/xml/internal/bind/marshaller/MinimumEscapeHandler.java ! src/share/classes/com/sun/xml/internal/bind/marshaller/NamespacePrefixMapper.java ! src/share/classes/com/sun/xml/internal/bind/marshaller/XMLWriter.java ! src/share/classes/com/sun/xml/internal/bind/unmarshaller/DOMScanner.java ! src/share/classes/com/sun/xml/internal/bind/unmarshaller/Messages.properties ! src/share/classes/com/sun/xml/internal/bind/unmarshaller/Patcher.java ! src/share/classes/com/sun/xml/internal/bind/util/AttributesImpl.java ! src/share/classes/com/sun/xml/internal/bind/util/ValidationEventLocatorExImpl.java ! src/share/classes/com/sun/xml/internal/bind/util/Which.java ! src/share/classes/com/sun/xml/internal/bind/v2/ClassFactory.java ! src/share/classes/com/sun/xml/internal/bind/v2/ContextFactory.java ! src/share/classes/com/sun/xml/internal/bind/v2/Messages.properties ! src/share/classes/com/sun/xml/internal/bind/v2/TODO.java ! src/share/classes/com/sun/xml/internal/bind/v2/bytecode/ClassTailor.java ! src/share/classes/com/sun/xml/internal/bind/v2/model/annotation/AbstractInlineAnnotationReaderImpl.java ! src/share/classes/com/sun/xml/internal/bind/v2/model/annotation/AnnotationReader.java ! src/share/classes/com/sun/xml/internal/bind/v2/model/annotation/AnnotationSource.java ! src/share/classes/com/sun/xml/internal/bind/v2/model/annotation/ClassLocatable.java ! src/share/classes/com/sun/xml/internal/bind/v2/model/annotation/FieldLocatable.java ! src/share/classes/com/sun/xml/internal/bind/v2/model/annotation/Init.java ! src/share/classes/com/sun/xml/internal/bind/v2/model/annotation/Locatable.java ! src/share/classes/com/sun/xml/internal/bind/v2/model/annotation/LocatableAnnotation.java ! src/share/classes/com/sun/xml/internal/bind/v2/model/annotation/Messages.java ! src/share/classes/com/sun/xml/internal/bind/v2/model/annotation/Messages.properties ! src/share/classes/com/sun/xml/internal/bind/v2/model/annotation/MethodLocatable.java ! src/share/classes/com/sun/xml/internal/bind/v2/model/annotation/Quick.java ! src/share/classes/com/sun/xml/internal/bind/v2/model/annotation/RuntimeAnnotationReader.java ! src/share/classes/com/sun/xml/internal/bind/v2/model/annotation/RuntimeInlineAnnotationReader.java + src/share/classes/com/sun/xml/internal/bind/v2/model/annotation/XmlSchemaTypeQuick.java ! src/share/classes/com/sun/xml/internal/bind/v2/model/core/Adapter.java ! src/share/classes/com/sun/xml/internal/bind/v2/model/core/ArrayInfo.java ! src/share/classes/com/sun/xml/internal/bind/v2/model/core/AttributePropertyInfo.java ! src/share/classes/com/sun/xml/internal/bind/v2/model/core/BuiltinLeafInfo.java ! src/share/classes/com/sun/xml/internal/bind/v2/model/core/ClassInfo.java ! src/share/classes/com/sun/xml/internal/bind/v2/model/core/Element.java ! src/share/classes/com/sun/xml/internal/bind/v2/model/core/ElementInfo.java ! src/share/classes/com/sun/xml/internal/bind/v2/model/core/ElementPropertyInfo.java ! src/share/classes/com/sun/xml/internal/bind/v2/model/core/EnumConstant.java ! src/share/classes/com/sun/xml/internal/bind/v2/model/core/EnumLeafInfo.java ! src/share/classes/com/sun/xml/internal/bind/v2/model/core/ErrorHandler.java ! src/share/classes/com/sun/xml/internal/bind/v2/model/core/ID.java ! src/share/classes/com/sun/xml/internal/bind/v2/model/core/LeafInfo.java ! src/share/classes/com/sun/xml/internal/bind/v2/model/core/MapPropertyInfo.java ! src/share/classes/com/sun/xml/internal/bind/v2/model/core/MaybeElement.java ! src/share/classes/com/sun/xml/internal/bind/v2/model/core/NonElement.java ! src/share/classes/com/sun/xml/internal/bind/v2/model/core/NonElementRef.java ! src/share/classes/com/sun/xml/internal/bind/v2/model/core/PropertyInfo.java ! src/share/classes/com/sun/xml/internal/bind/v2/model/core/PropertyKind.java ! src/share/classes/com/sun/xml/internal/bind/v2/model/core/Ref.java ! src/share/classes/com/sun/xml/internal/bind/v2/model/core/ReferencePropertyInfo.java ! src/share/classes/com/sun/xml/internal/bind/v2/model/core/RegistryInfo.java ! src/share/classes/com/sun/xml/internal/bind/v2/model/core/TypeInfo.java ! src/share/classes/com/sun/xml/internal/bind/v2/model/core/TypeInfoSet.java ! src/share/classes/com/sun/xml/internal/bind/v2/model/core/TypeRef.java ! src/share/classes/com/sun/xml/internal/bind/v2/model/core/ValuePropertyInfo.java ! src/share/classes/com/sun/xml/internal/bind/v2/model/core/WildcardMode.java ! src/share/classes/com/sun/xml/internal/bind/v2/model/core/WildcardTypeInfo.java ! src/share/classes/com/sun/xml/internal/bind/v2/model/core/package-info.java ! src/share/classes/com/sun/xml/internal/bind/v2/model/impl/AnyTypeImpl.java ! src/share/classes/com/sun/xml/internal/bind/v2/model/impl/ArrayInfoImpl.java ! src/share/classes/com/sun/xml/internal/bind/v2/model/impl/AttributePropertyInfoImpl.java ! src/share/classes/com/sun/xml/internal/bind/v2/model/impl/BuiltinLeafInfoImpl.java ! src/share/classes/com/sun/xml/internal/bind/v2/model/impl/ClassInfoImpl.java + src/share/classes/com/sun/xml/internal/bind/v2/model/impl/DummyPropertyInfo.java ! src/share/classes/com/sun/xml/internal/bind/v2/model/impl/ERPropertyInfoImpl.java ! src/share/classes/com/sun/xml/internal/bind/v2/model/impl/ElementInfoImpl.java ! src/share/classes/com/sun/xml/internal/bind/v2/model/impl/ElementPropertyInfoImpl.java ! src/share/classes/com/sun/xml/internal/bind/v2/model/impl/EnumConstantImpl.java ! src/share/classes/com/sun/xml/internal/bind/v2/model/impl/EnumLeafInfoImpl.java ! src/share/classes/com/sun/xml/internal/bind/v2/model/impl/FieldPropertySeed.java ! src/share/classes/com/sun/xml/internal/bind/v2/model/impl/GetterSetterPropertySeed.java ! src/share/classes/com/sun/xml/internal/bind/v2/model/impl/LeafInfoImpl.java ! src/share/classes/com/sun/xml/internal/bind/v2/model/impl/MapPropertyInfoImpl.java ! src/share/classes/com/sun/xml/internal/bind/v2/model/impl/Messages.java ! src/share/classes/com/sun/xml/internal/bind/v2/model/impl/Messages.properties ! src/share/classes/com/sun/xml/internal/bind/v2/model/impl/ModelBuilder.java ! src/share/classes/com/sun/xml/internal/bind/v2/model/impl/PropertyInfoImpl.java ! src/share/classes/com/sun/xml/internal/bind/v2/model/impl/PropertySeed.java ! src/share/classes/com/sun/xml/internal/bind/v2/model/impl/ReferencePropertyInfoImpl.java ! src/share/classes/com/sun/xml/internal/bind/v2/model/impl/RegistryInfoImpl.java ! src/share/classes/com/sun/xml/internal/bind/v2/model/impl/RuntimeAnyTypeImpl.java ! src/share/classes/com/sun/xml/internal/bind/v2/model/impl/RuntimeArrayInfoImpl.java ! src/share/classes/com/sun/xml/internal/bind/v2/model/impl/RuntimeAttributePropertyInfoImpl.java ! src/share/classes/com/sun/xml/internal/bind/v2/model/impl/RuntimeBuiltinLeafInfoImpl.java ! src/share/classes/com/sun/xml/internal/bind/v2/model/impl/RuntimeClassInfoImpl.java ! src/share/classes/com/sun/xml/internal/bind/v2/model/impl/RuntimeElementInfoImpl.java ! src/share/classes/com/sun/xml/internal/bind/v2/model/impl/RuntimeElementPropertyInfoImpl.java ! src/share/classes/com/sun/xml/internal/bind/v2/model/impl/RuntimeEnumConstantImpl.java ! src/share/classes/com/sun/xml/internal/bind/v2/model/impl/RuntimeEnumLeafInfoImpl.java ! src/share/classes/com/sun/xml/internal/bind/v2/model/impl/RuntimeMapPropertyInfoImpl.java ! src/share/classes/com/sun/xml/internal/bind/v2/model/impl/RuntimeModelBuilder.java ! src/share/classes/com/sun/xml/internal/bind/v2/model/impl/RuntimeReferencePropertyInfoImpl.java ! src/share/classes/com/sun/xml/internal/bind/v2/model/impl/RuntimeTypeInfoSetImpl.java ! src/share/classes/com/sun/xml/internal/bind/v2/model/impl/RuntimeTypeRefImpl.java ! src/share/classes/com/sun/xml/internal/bind/v2/model/impl/RuntimeValuePropertyInfoImpl.java ! src/share/classes/com/sun/xml/internal/bind/v2/model/impl/SingleTypePropertyInfoImpl.java ! src/share/classes/com/sun/xml/internal/bind/v2/model/impl/TypeInfoImpl.java ! src/share/classes/com/sun/xml/internal/bind/v2/model/impl/TypeInfoSetImpl.java ! src/share/classes/com/sun/xml/internal/bind/v2/model/impl/TypeRefImpl.java ! src/share/classes/com/sun/xml/internal/bind/v2/model/impl/Util.java ! src/share/classes/com/sun/xml/internal/bind/v2/model/impl/ValuePropertyInfoImpl.java ! src/share/classes/com/sun/xml/internal/bind/v2/model/nav/GenericArrayTypeImpl.java ! src/share/classes/com/sun/xml/internal/bind/v2/model/nav/Navigator.java ! src/share/classes/com/sun/xml/internal/bind/v2/model/nav/ParameterizedTypeImpl.java ! src/share/classes/com/sun/xml/internal/bind/v2/model/nav/ReflectionNavigator.java ! src/share/classes/com/sun/xml/internal/bind/v2/model/nav/TypeVisitor.java ! src/share/classes/com/sun/xml/internal/bind/v2/model/nav/WildcardTypeImpl.java ! src/share/classes/com/sun/xml/internal/bind/v2/model/runtime/RuntimeArrayInfo.java ! src/share/classes/com/sun/xml/internal/bind/v2/model/runtime/RuntimeAttributePropertyInfo.java ! src/share/classes/com/sun/xml/internal/bind/v2/model/runtime/RuntimeBuiltinLeafInfo.java ! src/share/classes/com/sun/xml/internal/bind/v2/model/runtime/RuntimeClassInfo.java ! src/share/classes/com/sun/xml/internal/bind/v2/model/runtime/RuntimeElement.java ! src/share/classes/com/sun/xml/internal/bind/v2/model/runtime/RuntimeElementInfo.java ! src/share/classes/com/sun/xml/internal/bind/v2/model/runtime/RuntimeElementPropertyInfo.java ! src/share/classes/com/sun/xml/internal/bind/v2/model/runtime/RuntimeEnumLeafInfo.java ! src/share/classes/com/sun/xml/internal/bind/v2/model/runtime/RuntimeLeafInfo.java ! src/share/classes/com/sun/xml/internal/bind/v2/model/runtime/RuntimeMapPropertyInfo.java ! src/share/classes/com/sun/xml/internal/bind/v2/model/runtime/RuntimeNonElement.java ! src/share/classes/com/sun/xml/internal/bind/v2/model/runtime/RuntimeNonElementRef.java ! src/share/classes/com/sun/xml/internal/bind/v2/model/runtime/RuntimePropertyInfo.java ! src/share/classes/com/sun/xml/internal/bind/v2/model/runtime/RuntimeReferencePropertyInfo.java ! src/share/classes/com/sun/xml/internal/bind/v2/model/runtime/RuntimeTypeInfo.java ! src/share/classes/com/sun/xml/internal/bind/v2/model/runtime/RuntimeTypeInfoSet.java ! src/share/classes/com/sun/xml/internal/bind/v2/model/runtime/RuntimeTypeRef.java ! src/share/classes/com/sun/xml/internal/bind/v2/model/runtime/RuntimeValuePropertyInfo.java ! src/share/classes/com/sun/xml/internal/bind/v2/model/runtime/package-info.java ! src/share/classes/com/sun/xml/internal/bind/v2/package-info.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/AnyTypeBeanInfo.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/ArrayBeanInfoImpl.java + src/share/classes/com/sun/xml/internal/bind/v2/runtime/AttributeAccessor.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/BinderImpl.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/BridgeAdapter.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/BridgeContextImpl.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/BridgeImpl.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/ClassBeanInfoImpl.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/CompositeStructureBeanInfo.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/Coordinator.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/DomPostInitAction.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/ElementBeanInfoImpl.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/FilterTransducer.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/IllegalAnnotationException.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/IllegalAnnotationsException.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/InlineBinaryTransducer.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/InternalBridge.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/JAXBContextImpl.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/JaxBeanInfo.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/LeafBeanInfoImpl.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/LifecycleMethods.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/Location.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/MarshallerImpl.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/Messages.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/Messages.properties ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/MimeTypedTransducer.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/Name.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/NameBuilder.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/NameList.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/RuntimeUtil.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/SchemaTypeTransducer.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/StAXPostInitAction.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/SwaRefAdapter.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/Transducer.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/ValueListBeanInfoImpl.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/XMLSerializer.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/output/C14nXmlOutput.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/output/DOMOutput.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/output/Encoded.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/output/FastInfosetStreamWriterOutput.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/output/ForkXmlOutput.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/output/InPlaceDOMOutput.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/output/IndentingUTF8XmlOutput.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/output/MTOMXmlOutput.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/output/NamespaceContextImpl.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/output/Pcdata.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/output/SAXOutput.java + src/share/classes/com/sun/xml/internal/bind/v2/runtime/output/StAXExStreamWriterOutput.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/output/UTF8XmlOutput.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/output/XMLEventWriterOutput.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/output/XMLStreamWriterOutput.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/output/XmlOutput.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/output/XmlOutputAbstractImpl.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/output/package-info.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/property/ArrayERProperty.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/property/ArrayElementLeafProperty.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/property/ArrayElementNodeProperty.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/property/ArrayElementProperty.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/property/ArrayProperty.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/property/ArrayReferenceNodeProperty.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/property/AttributeProperty.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/property/ListElementProperty.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/property/Messages.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/property/Messages.properties ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/property/Property.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/property/PropertyFactory.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/property/PropertyImpl.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/property/SingleElementLeafProperty.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/property/SingleElementNodeProperty.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/property/SingleMapNodeProperty.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/property/SingleReferenceNodeProperty.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/property/StructureLoaderBuilder.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/property/TagAndType.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/property/UnmarshallerChain.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/property/ValueProperty.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/reflect/Accessor.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/reflect/AdaptedAccessor.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/reflect/AdaptedLister.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/reflect/DefaultTransducedAccessor.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/reflect/ListIterator.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/reflect/ListTransducedAccessorImpl.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/reflect/Lister.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/reflect/Messages.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/reflect/Messages.properties ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/reflect/NullSafeAccessor.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/reflect/PrimitiveArrayListerBoolean.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/reflect/PrimitiveArrayListerByte.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/reflect/PrimitiveArrayListerCharacter.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/reflect/PrimitiveArrayListerDouble.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/reflect/PrimitiveArrayListerFloat.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/reflect/PrimitiveArrayListerInteger.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/reflect/PrimitiveArrayListerLong.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/reflect/PrimitiveArrayListerShort.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/reflect/TransducedAccessor.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/reflect/opt/AccessorInjector.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/reflect/opt/Bean.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/reflect/opt/Const.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/reflect/opt/FieldAccessor_Boolean.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/reflect/opt/FieldAccessor_Byte.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/reflect/opt/FieldAccessor_Character.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/reflect/opt/FieldAccessor_Double.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/reflect/opt/FieldAccessor_Float.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/reflect/opt/FieldAccessor_Integer.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/reflect/opt/FieldAccessor_Long.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/reflect/opt/FieldAccessor_Ref.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/reflect/opt/FieldAccessor_Short.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/reflect/opt/Injector.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/reflect/opt/MethodAccessor_Boolean.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/reflect/opt/MethodAccessor_Byte.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/reflect/opt/MethodAccessor_Character.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/reflect/opt/MethodAccessor_Double.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/reflect/opt/MethodAccessor_Float.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/reflect/opt/MethodAccessor_Integer.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/reflect/opt/MethodAccessor_Long.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/reflect/opt/MethodAccessor_Ref.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/reflect/opt/MethodAccessor_Short.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/reflect/opt/OptimizedAccessorFactory.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/reflect/opt/OptimizedTransducedAccessorFactory.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/reflect/opt/Ref.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/reflect/opt/TransducedAccessor_field_Boolean.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/reflect/opt/TransducedAccessor_field_Byte.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/reflect/opt/TransducedAccessor_field_Double.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/reflect/opt/TransducedAccessor_field_Float.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/reflect/opt/TransducedAccessor_field_Integer.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/reflect/opt/TransducedAccessor_field_Long.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/reflect/opt/TransducedAccessor_field_Short.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/reflect/opt/TransducedAccessor_method_Boolean.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/reflect/opt/TransducedAccessor_method_Byte.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/reflect/opt/TransducedAccessor_method_Double.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/reflect/opt/TransducedAccessor_method_Float.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/reflect/opt/TransducedAccessor_method_Integer.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/reflect/opt/TransducedAccessor_method_Long.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/reflect/opt/TransducedAccessor_method_Short.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/unmarshaller/AttributesEx.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/unmarshaller/AttributesExImpl.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/unmarshaller/Base64Data.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/unmarshaller/ChildLoader.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/unmarshaller/DefaultIDResolver.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/unmarshaller/DefaultValueLoaderDecorator.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/unmarshaller/Discarder.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/unmarshaller/DomLoader.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/unmarshaller/FastInfosetConnector.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/unmarshaller/IntArrayData.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/unmarshaller/IntData.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/unmarshaller/Intercepter.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/unmarshaller/InterningXmlVisitor.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/unmarshaller/LeafPropertyLoader.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/unmarshaller/Loader.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/unmarshaller/LocatorEx.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/unmarshaller/LocatorExWrapper.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/unmarshaller/MTOMDecorator.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/unmarshaller/Messages.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/unmarshaller/Messages.properties ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/unmarshaller/Patcher.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/unmarshaller/ProxyLoader.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/unmarshaller/Receiver.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/unmarshaller/SAXConnector.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/unmarshaller/Scope.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/unmarshaller/StAXConnector.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/unmarshaller/StAXEventConnector.java + src/share/classes/com/sun/xml/internal/bind/v2/runtime/unmarshaller/StAXExConnector.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/unmarshaller/StAXStreamConnector.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/unmarshaller/StructureLoader.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/unmarshaller/TagName.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/unmarshaller/TextLoader.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/unmarshaller/UnmarshallerImpl.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/unmarshaller/UnmarshallingContext.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/unmarshaller/ValuePropertyLoader.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/unmarshaller/WildcardLoader.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/unmarshaller/XmlVisitor.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/unmarshaller/XsiNilLoader.java ! src/share/classes/com/sun/xml/internal/bind/v2/runtime/unmarshaller/XsiTypeLoader.java ! src/share/classes/com/sun/xml/internal/bind/v2/schemagen/FoolProofResolver.java ! src/share/classes/com/sun/xml/internal/bind/v2/schemagen/Form.java ! src/share/classes/com/sun/xml/internal/bind/v2/schemagen/GroupKind.java ! src/share/classes/com/sun/xml/internal/bind/v2/schemagen/Messages.java ! src/share/classes/com/sun/xml/internal/bind/v2/schemagen/Messages.properties ! src/share/classes/com/sun/xml/internal/bind/v2/schemagen/MultiMap.java ! src/share/classes/com/sun/xml/internal/bind/v2/schemagen/Tree.java ! src/share/classes/com/sun/xml/internal/bind/v2/schemagen/XmlSchemaGenerator.java ! src/share/classes/com/sun/xml/internal/bind/v2/schemagen/episode/Bindings.java ! src/share/classes/com/sun/xml/internal/bind/v2/schemagen/episode/Klass.java ! src/share/classes/com/sun/xml/internal/bind/v2/schemagen/episode/SchemaBindings.java ! src/share/classes/com/sun/xml/internal/bind/v2/schemagen/episode/package-info.java ! src/share/classes/com/sun/xml/internal/bind/v2/schemagen/package-info.java ! src/share/classes/com/sun/xml/internal/bind/v2/schemagen/xmlschema/ContentModelContainer.java ! src/share/classes/com/sun/xml/internal/bind/v2/schemagen/xmlschema/Element.java ! src/share/classes/com/sun/xml/internal/bind/v2/schemagen/xmlschema/Occurs.java ! src/share/classes/com/sun/xml/internal/bind/v2/schemagen/xmlschema/Particle.java ! src/share/classes/com/sun/xml/internal/bind/v2/schemagen/xmlschema/Schema.java ! src/share/classes/com/sun/xml/internal/bind/v2/schemagen/xmlschema/SimpleType.java ! src/share/classes/com/sun/xml/internal/bind/v2/schemagen/xmlschema/Wildcard.java ! src/share/classes/com/sun/xml/internal/bind/v2/util/ByteArrayOutputStreamEx.java ! src/share/classes/com/sun/xml/internal/bind/v2/util/CollisionCheckStack.java ! src/share/classes/com/sun/xml/internal/bind/v2/util/DataSourceSource.java ! src/share/classes/com/sun/xml/internal/bind/v2/util/EditDistance.java ! src/share/classes/com/sun/xml/internal/bind/v2/util/FatalAdapter.java ! src/share/classes/com/sun/xml/internal/bind/v2/util/FlattenIterator.java ! src/share/classes/com/sun/xml/internal/bind/v2/util/QNameMap.java + src/share/classes/com/sun/xml/internal/bind/v2/util/StackRecorder.java ! src/share/classes/com/sun/xml/internal/bind/v2/util/TypeCast.java ! src/share/classes/com/sun/xml/internal/dtdparser/DTDParser.java ! src/share/classes/com/sun/xml/internal/dtdparser/resources/Messages.properties ! src/share/classes/com/sun/xml/internal/fastinfoset/AbstractResourceBundle.java ! src/share/classes/com/sun/xml/internal/fastinfoset/Decoder.java ! src/share/classes/com/sun/xml/internal/fastinfoset/DecoderStateTables.java ! src/share/classes/com/sun/xml/internal/fastinfoset/Encoder.java ! src/share/classes/com/sun/xml/internal/fastinfoset/algorithm/BuiltInEncodingAlgorithmFactory.java ! src/share/classes/com/sun/xml/internal/fastinfoset/algorithm/HexadecimalEncodingAlgorithm.java ! src/share/classes/com/sun/xml/internal/fastinfoset/algorithm/LongEncodingAlgorithm.java ! src/share/classes/com/sun/xml/internal/fastinfoset/algorithm/UUIDEncodingAlgorithm.java ! src/share/classes/com/sun/xml/internal/fastinfoset/dom/DOMDocumentParser.java ! src/share/classes/com/sun/xml/internal/fastinfoset/dom/DOMDocumentSerializer.java ! src/share/classes/com/sun/xml/internal/fastinfoset/org/apache/xerces/util/XMLChar.java ! src/share/classes/com/sun/xml/internal/fastinfoset/resources/ResourceBundle.properties ! src/share/classes/com/sun/xml/internal/fastinfoset/sax/AttributesHolder.java ! src/share/classes/com/sun/xml/internal/fastinfoset/sax/SAXDocumentParser.java ! src/share/classes/com/sun/xml/internal/fastinfoset/sax/SAXDocumentSerializer.java ! src/share/classes/com/sun/xml/internal/fastinfoset/sax/SAXDocumentSerializerWithPrefixMapping.java ! src/share/classes/com/sun/xml/internal/fastinfoset/stax/StAXDocumentParser.java ! src/share/classes/com/sun/xml/internal/fastinfoset/stax/StAXDocumentSerializer.java - src/share/classes/com/sun/xml/internal/fastinfoset/stax/events/StAXEventAllocator.java ! src/share/classes/com/sun/xml/internal/fastinfoset/tools/VocabularyGenerator.java ! src/share/classes/com/sun/xml/internal/fastinfoset/util/CharArrayIntMap.java ! src/share/classes/com/sun/xml/internal/fastinfoset/util/DuplicateAttributeVerifier.java ! src/share/classes/com/sun/xml/internal/fastinfoset/util/NamespaceContextImplementation.java ! src/share/classes/com/sun/xml/internal/fastinfoset/util/StringIntMap.java ! src/share/classes/com/sun/xml/internal/messaging/saaj/SOAPExceptionImpl.java ! src/share/classes/com/sun/xml/internal/messaging/saaj/client/p2p/HttpSOAPConnection.java ! src/share/classes/com/sun/xml/internal/messaging/saaj/client/p2p/HttpSOAPConnectionFactory.java ! src/share/classes/com/sun/xml/internal/messaging/saaj/client/p2p/LocalStrings.properties ! src/share/classes/com/sun/xml/internal/messaging/saaj/soap/AttachmentPartImpl.java ! src/share/classes/com/sun/xml/internal/messaging/saaj/soap/Envelope.java ! src/share/classes/com/sun/xml/internal/messaging/saaj/soap/EnvelopeFactory.java ! src/share/classes/com/sun/xml/internal/messaging/saaj/soap/FastInfosetDataContentHandler.java ! src/share/classes/com/sun/xml/internal/messaging/saaj/soap/GifDataContentHandler.java ! src/share/classes/com/sun/xml/internal/messaging/saaj/soap/ImageDataContentHandler.java ! src/share/classes/com/sun/xml/internal/messaging/saaj/soap/JpegDataContentHandler.java ! src/share/classes/com/sun/xml/internal/messaging/saaj/soap/LocalStrings.properties ! src/share/classes/com/sun/xml/internal/messaging/saaj/soap/MessageFactoryImpl.java ! src/share/classes/com/sun/xml/internal/messaging/saaj/soap/MessageImpl.java ! src/share/classes/com/sun/xml/internal/messaging/saaj/soap/MultipartDataContentHandler.java ! src/share/classes/com/sun/xml/internal/messaging/saaj/soap/SAAJMetaFactoryImpl.java ! src/share/classes/com/sun/xml/internal/messaging/saaj/soap/SOAPDocument.java ! src/share/classes/com/sun/xml/internal/messaging/saaj/soap/SOAPDocumentFragment.java ! src/share/classes/com/sun/xml/internal/messaging/saaj/soap/SOAPDocumentImpl.java ! src/share/classes/com/sun/xml/internal/messaging/saaj/soap/SOAPFactoryImpl.java ! src/share/classes/com/sun/xml/internal/messaging/saaj/soap/SOAPIOException.java ! src/share/classes/com/sun/xml/internal/messaging/saaj/soap/SOAPPartImpl.java ! src/share/classes/com/sun/xml/internal/messaging/saaj/soap/SOAPVersionMismatchException.java ! src/share/classes/com/sun/xml/internal/messaging/saaj/soap/StringDataContentHandler.java ! src/share/classes/com/sun/xml/internal/messaging/saaj/soap/XmlDataContentHandler.java ! src/share/classes/com/sun/xml/internal/messaging/saaj/soap/dynamic/SOAPFactoryDynamicImpl.java ! src/share/classes/com/sun/xml/internal/messaging/saaj/soap/dynamic/SOAPMessageFactoryDynamicImpl.java ! src/share/classes/com/sun/xml/internal/messaging/saaj/soap/impl/BodyElementImpl.java ! src/share/classes/com/sun/xml/internal/messaging/saaj/soap/impl/BodyImpl.java ! src/share/classes/com/sun/xml/internal/messaging/saaj/soap/impl/CDATAImpl.java ! src/share/classes/com/sun/xml/internal/messaging/saaj/soap/impl/CommentImpl.java ! src/share/classes/com/sun/xml/internal/messaging/saaj/soap/impl/DetailEntryImpl.java ! src/share/classes/com/sun/xml/internal/messaging/saaj/soap/impl/DetailImpl.java ! src/share/classes/com/sun/xml/internal/messaging/saaj/soap/impl/ElementFactory.java ! src/share/classes/com/sun/xml/internal/messaging/saaj/soap/impl/ElementImpl.java ! src/share/classes/com/sun/xml/internal/messaging/saaj/soap/impl/EnvelopeImpl.java ! src/share/classes/com/sun/xml/internal/messaging/saaj/soap/impl/FaultElementImpl.java ! src/share/classes/com/sun/xml/internal/messaging/saaj/soap/impl/FaultImpl.java ! src/share/classes/com/sun/xml/internal/messaging/saaj/soap/impl/HeaderElementImpl.java ! src/share/classes/com/sun/xml/internal/messaging/saaj/soap/impl/HeaderImpl.java ! src/share/classes/com/sun/xml/internal/messaging/saaj/soap/impl/LocalStrings.properties ! src/share/classes/com/sun/xml/internal/messaging/saaj/soap/impl/TextImpl.java ! src/share/classes/com/sun/xml/internal/messaging/saaj/soap/impl/TreeException.java ! src/share/classes/com/sun/xml/internal/messaging/saaj/soap/name/LocalStrings.properties ! src/share/classes/com/sun/xml/internal/messaging/saaj/soap/name/NameImpl.java ! src/share/classes/com/sun/xml/internal/messaging/saaj/soap/ver1_1/Body1_1Impl.java ! src/share/classes/com/sun/xml/internal/messaging/saaj/soap/ver1_1/BodyElement1_1Impl.java ! src/share/classes/com/sun/xml/internal/messaging/saaj/soap/ver1_1/Detail1_1Impl.java ! src/share/classes/com/sun/xml/internal/messaging/saaj/soap/ver1_1/DetailEntry1_1Impl.java ! src/share/classes/com/sun/xml/internal/messaging/saaj/soap/ver1_1/Envelope1_1Impl.java ! src/share/classes/com/sun/xml/internal/messaging/saaj/soap/ver1_1/Fault1_1Impl.java ! src/share/classes/com/sun/xml/internal/messaging/saaj/soap/ver1_1/FaultElement1_1Impl.java ! src/share/classes/com/sun/xml/internal/messaging/saaj/soap/ver1_1/Header1_1Impl.java ! src/share/classes/com/sun/xml/internal/messaging/saaj/soap/ver1_1/HeaderElement1_1Impl.java ! src/share/classes/com/sun/xml/internal/messaging/saaj/soap/ver1_1/LocalStrings.properties ! src/share/classes/com/sun/xml/internal/messaging/saaj/soap/ver1_1/Message1_1Impl.java ! src/share/classes/com/sun/xml/internal/messaging/saaj/soap/ver1_1/SOAPFactory1_1Impl.java ! src/share/classes/com/sun/xml/internal/messaging/saaj/soap/ver1_1/SOAPMessageFactory1_1Impl.java ! src/share/classes/com/sun/xml/internal/messaging/saaj/soap/ver1_1/SOAPPart1_1Impl.java ! src/share/classes/com/sun/xml/internal/messaging/saaj/soap/ver1_2/Body1_2Impl.java ! src/share/classes/com/sun/xml/internal/messaging/saaj/soap/ver1_2/BodyElement1_2Impl.java ! src/share/classes/com/sun/xml/internal/messaging/saaj/soap/ver1_2/Detail1_2Impl.java ! src/share/classes/com/sun/xml/internal/messaging/saaj/soap/ver1_2/DetailEntry1_2Impl.java ! src/share/classes/com/sun/xml/internal/messaging/saaj/soap/ver1_2/Envelope1_2Impl.java ! src/share/classes/com/sun/xml/internal/messaging/saaj/soap/ver1_2/Fault1_2Impl.java ! src/share/classes/com/sun/xml/internal/messaging/saaj/soap/ver1_2/FaultElement1_2Impl.java ! src/share/classes/com/sun/xml/internal/messaging/saaj/soap/ver1_2/Header1_2Impl.java ! src/share/classes/com/sun/xml/internal/messaging/saaj/soap/ver1_2/HeaderElement1_2Impl.java ! src/share/classes/com/sun/xml/internal/messaging/saaj/soap/ver1_2/LocalStrings.properties ! src/share/classes/com/sun/xml/internal/messaging/saaj/soap/ver1_2/Message1_2Impl.java ! src/share/classes/com/sun/xml/internal/messaging/saaj/soap/ver1_2/SOAPFactory1_2Impl.java ! src/share/classes/com/sun/xml/internal/messaging/saaj/soap/ver1_2/SOAPMessageFactory1_2Impl.java ! src/share/classes/com/sun/xml/internal/messaging/saaj/soap/ver1_2/SOAPPart1_2Impl.java ! src/share/classes/com/sun/xml/internal/messaging/saaj/util/Base64.java ! src/share/classes/com/sun/xml/internal/messaging/saaj/util/ByteInputStream.java ! src/share/classes/com/sun/xml/internal/messaging/saaj/util/ByteOutputStream.java ! src/share/classes/com/sun/xml/internal/messaging/saaj/util/CharReader.java ! src/share/classes/com/sun/xml/internal/messaging/saaj/util/CharWriter.java ! src/share/classes/com/sun/xml/internal/messaging/saaj/util/FastInfosetReflection.java ! src/share/classes/com/sun/xml/internal/messaging/saaj/util/FinalArrayList.java ! src/share/classes/com/sun/xml/internal/messaging/saaj/util/JAXMStreamSource.java ! src/share/classes/com/sun/xml/internal/messaging/saaj/util/JaxmURI.java ! src/share/classes/com/sun/xml/internal/messaging/saaj/util/LocalStrings.properties ! src/share/classes/com/sun/xml/internal/messaging/saaj/util/LogDomainConstants.java ! src/share/classes/com/sun/xml/internal/messaging/saaj/util/MimeHeadersUtil.java ! src/share/classes/com/sun/xml/internal/messaging/saaj/util/NamespaceContextIterator.java ! src/share/classes/com/sun/xml/internal/messaging/saaj/util/ParseUtil.java ! src/share/classes/com/sun/xml/internal/messaging/saaj/util/ParserPool.java ! src/share/classes/com/sun/xml/internal/messaging/saaj/util/RejectDoctypeSaxFilter.java ! src/share/classes/com/sun/xml/internal/messaging/saaj/util/TeeInputStream.java ! src/share/classes/com/sun/xml/internal/messaging/saaj/util/XMLDeclarationParser.java ! src/share/classes/com/sun/xml/internal/messaging/saaj/util/transform/EfficientStreamingTransformer.java ! src/share/classes/com/sun/xml/internal/org/jvnet/fastinfoset/FastInfosetSerializer.java ! src/share/classes/com/sun/xml/internal/org/jvnet/fastinfoset/sax/helpers/EncodingAlgorithmAttributesImpl.java + src/share/classes/com/sun/xml/internal/org/jvnet/mimepull/Chunk.java + src/share/classes/com/sun/xml/internal/org/jvnet/mimepull/ChunkInputStream.java + src/share/classes/com/sun/xml/internal/org/jvnet/mimepull/Data.java + src/share/classes/com/sun/xml/internal/org/jvnet/mimepull/DataFile.java + src/share/classes/com/sun/xml/internal/org/jvnet/mimepull/DataHead.java + src/share/classes/com/sun/xml/internal/org/jvnet/mimepull/FileData.java + src/share/classes/com/sun/xml/internal/org/jvnet/mimepull/FinalArrayList.java + src/share/classes/com/sun/xml/internal/org/jvnet/mimepull/Header.java + src/share/classes/com/sun/xml/internal/org/jvnet/mimepull/InternetHeaders.java + src/share/classes/com/sun/xml/internal/org/jvnet/mimepull/MIMEConfig.java + src/share/classes/com/sun/xml/internal/org/jvnet/mimepull/MIMEEvent.java + src/share/classes/com/sun/xml/internal/org/jvnet/mimepull/MIMEMessage.java + src/share/classes/com/sun/xml/internal/org/jvnet/mimepull/MIMEParser.java + src/share/classes/com/sun/xml/internal/org/jvnet/mimepull/MIMEParsingException.java + src/share/classes/com/sun/xml/internal/org/jvnet/mimepull/MIMEPart.java + src/share/classes/com/sun/xml/internal/org/jvnet/mimepull/MemoryData.java + src/share/classes/com/sun/xml/internal/org/jvnet/mimepull/WeakDataFile.java ! src/share/classes/com/sun/xml/internal/org/jvnet/staxex/Base64Data.java ! src/share/classes/com/sun/xml/internal/org/jvnet/staxex/Base64Encoder.java ! src/share/classes/com/sun/xml/internal/org/jvnet/staxex/ByteArrayOutputStreamEx.java ! src/share/classes/com/sun/xml/internal/org/jvnet/staxex/NamespaceContextEx.java + src/share/classes/com/sun/xml/internal/org/jvnet/staxex/StreamingDataHandler.java ! src/share/classes/com/sun/xml/internal/org/jvnet/staxex/XMLStreamReaderEx.java ! src/share/classes/com/sun/xml/internal/org/jvnet/staxex/XMLStreamWriterEx.java ! src/share/classes/com/sun/xml/internal/rngom/binary/Messages.properties ! src/share/classes/com/sun/xml/internal/rngom/dt/builtin/Messages.properties ! src/share/classes/com/sun/xml/internal/rngom/parse/Messages.properties ! src/share/classes/com/sun/xml/internal/rngom/parse/compact/Messages.properties ! src/share/classes/com/sun/xml/internal/rngom/parse/xml/Messages.properties ! src/share/classes/com/sun/xml/internal/stream/buffer/AbstractProcessor.java ! src/share/classes/com/sun/xml/internal/stream/buffer/MutableXMLStreamBuffer.java ! src/share/classes/com/sun/xml/internal/stream/buffer/sax/SAXBufferCreator.java ! src/share/classes/com/sun/xml/internal/stream/buffer/sax/SAXBufferProcessor.java ! src/share/classes/com/sun/xml/internal/stream/buffer/stax/StreamBufferCreator.java ! src/share/classes/com/sun/xml/internal/stream/buffer/stax/StreamReaderBufferCreator.java ! src/share/classes/com/sun/xml/internal/stream/buffer/stax/StreamReaderBufferProcessor.java ! src/share/classes/com/sun/xml/internal/stream/buffer/stax/StreamWriterBufferCreator.java ! src/share/classes/com/sun/xml/internal/stream/buffer/stax/StreamWriterBufferProcessor.java ! src/share/classes/com/sun/xml/internal/txw2/NamespaceSupport.java ! src/share/classes/com/sun/xml/internal/txw2/TXW.java ! src/share/classes/com/sun/xml/internal/txw2/annotation/XmlValue.java ! src/share/classes/com/sun/xml/internal/txw2/output/ResultFactory.java + src/share/classes/com/sun/xml/internal/txw2/output/TXWResult.java + src/share/classes/com/sun/xml/internal/txw2/output/TXWSerializer.java ! src/share/classes/com/sun/xml/internal/ws/addressing/EndpointReferenceUtil.java + src/share/classes/com/sun/xml/internal/ws/addressing/W3CWsaClientTube.java + src/share/classes/com/sun/xml/internal/ws/addressing/W3CWsaServerTube.java ! src/share/classes/com/sun/xml/internal/ws/addressing/WsaClientTube.java + src/share/classes/com/sun/xml/internal/ws/addressing/WsaPropertyBag.java ! src/share/classes/com/sun/xml/internal/ws/addressing/WsaServerTube.java ! src/share/classes/com/sun/xml/internal/ws/addressing/WsaTube.java ! src/share/classes/com/sun/xml/internal/ws/addressing/WsaTubeHelper.java ! src/share/classes/com/sun/xml/internal/ws/addressing/WsaTubeHelperImpl.java ! src/share/classes/com/sun/xml/internal/ws/addressing/model/ActionNotSupportedException.java + src/share/classes/com/sun/xml/internal/ws/addressing/model/InvalidAddressingHeaderException.java - src/share/classes/com/sun/xml/internal/ws/addressing/model/InvalidMapException.java - src/share/classes/com/sun/xml/internal/ws/addressing/model/MapRequiredException.java + src/share/classes/com/sun/xml/internal/ws/addressing/model/MissingAddressingHeaderException.java + src/share/classes/com/sun/xml/internal/ws/addressing/v200408/MemberSubmissionWsaClientTube.java + src/share/classes/com/sun/xml/internal/ws/addressing/v200408/MemberSubmissionWsaServerTube.java ! src/share/classes/com/sun/xml/internal/ws/addressing/v200408/WsaTubeHelperImpl.java ! src/share/classes/com/sun/xml/internal/ws/api/BindingID.java ! src/share/classes/com/sun/xml/internal/ws/api/EndpointAddress.java + src/share/classes/com/sun/xml/internal/ws/api/ResourceLoader.java ! src/share/classes/com/sun/xml/internal/ws/api/SOAPVersion.java ! src/share/classes/com/sun/xml/internal/ws/api/WSService.java ! src/share/classes/com/sun/xml/internal/ws/api/addressing/AddressingVersion.java ! src/share/classes/com/sun/xml/internal/ws/api/addressing/OutboundReferenceParameterHeader.java ! src/share/classes/com/sun/xml/internal/ws/api/addressing/WSEndpointReference.java + src/share/classes/com/sun/xml/internal/ws/api/handler/MessageHandler.java + src/share/classes/com/sun/xml/internal/ws/api/handler/MessageHandlerContext.java + src/share/classes/com/sun/xml/internal/ws/api/message/FilterMessageImpl.java ! src/share/classes/com/sun/xml/internal/ws/api/message/Message.java ! src/share/classes/com/sun/xml/internal/ws/api/message/Messages.java ! src/share/classes/com/sun/xml/internal/ws/api/message/Packet.java ! src/share/classes/com/sun/xml/internal/ws/api/model/JavaMethod.java + src/share/classes/com/sun/xml/internal/ws/api/model/wsdl/WSDLBoundFault.java ! src/share/classes/com/sun/xml/internal/ws/api/model/wsdl/WSDLBoundOperation.java ! src/share/classes/com/sun/xml/internal/ws/api/model/wsdl/WSDLBoundPortType.java ! src/share/classes/com/sun/xml/internal/ws/api/model/wsdl/WSDLExtensible.java ! src/share/classes/com/sun/xml/internal/ws/api/model/wsdl/WSDLFault.java ! src/share/classes/com/sun/xml/internal/ws/api/model/wsdl/WSDLInput.java ! src/share/classes/com/sun/xml/internal/ws/api/model/wsdl/WSDLMessage.java ! src/share/classes/com/sun/xml/internal/ws/api/model/wsdl/WSDLModel.java ! src/share/classes/com/sun/xml/internal/ws/api/model/wsdl/WSDLOperation.java ! src/share/classes/com/sun/xml/internal/ws/api/model/wsdl/WSDLOutput.java ! src/share/classes/com/sun/xml/internal/ws/api/model/wsdl/WSDLPortType.java ! src/share/classes/com/sun/xml/internal/ws/api/pipe/ClientPipeAssemblerContext.java ! src/share/classes/com/sun/xml/internal/ws/api/pipe/ClientTubeAssemblerContext.java ! src/share/classes/com/sun/xml/internal/ws/api/pipe/Engine.java ! src/share/classes/com/sun/xml/internal/ws/api/pipe/Fiber.java ! src/share/classes/com/sun/xml/internal/ws/api/pipe/NextAction.java ! src/share/classes/com/sun/xml/internal/ws/api/pipe/ServerPipeAssemblerContext.java ! src/share/classes/com/sun/xml/internal/ws/api/pipe/ServerTubeAssemblerContext.java ! src/share/classes/com/sun/xml/internal/ws/api/pipe/StreamSOAPCodec.java ! src/share/classes/com/sun/xml/internal/ws/api/pipe/TransportTubeFactory.java ! src/share/classes/com/sun/xml/internal/ws/api/pipe/helper/AbstractFilterTubeImpl.java ! src/share/classes/com/sun/xml/internal/ws/api/pipe/helper/AbstractTubeImpl.java ! src/share/classes/com/sun/xml/internal/ws/api/server/BoundEndpoint.java + src/share/classes/com/sun/xml/internal/ws/api/server/EndpointComponent.java + src/share/classes/com/sun/xml/internal/ws/api/server/HttpEndpoint.java ! src/share/classes/com/sun/xml/internal/ws/api/server/InstanceResolver.java ! src/share/classes/com/sun/xml/internal/ws/api/server/PortAddressResolver.java ! src/share/classes/com/sun/xml/internal/ws/api/server/SDDocument.java ! src/share/classes/com/sun/xml/internal/ws/api/server/WSEndpoint.java ! src/share/classes/com/sun/xml/internal/ws/api/streaming/XMLStreamReaderFactory.java ! src/share/classes/com/sun/xml/internal/ws/api/streaming/XMLStreamWriterFactory.java ! src/share/classes/com/sun/xml/internal/ws/api/wsdl/parser/WSDLParserExtension.java ! src/share/classes/com/sun/xml/internal/ws/api/wsdl/parser/WSDLParserExtensionContext.java ! src/share/classes/com/sun/xml/internal/ws/binding/BindingImpl.java ! src/share/classes/com/sun/xml/internal/ws/binding/HTTPBindingImpl.java ! src/share/classes/com/sun/xml/internal/ws/binding/SOAPBindingImpl.java ! src/share/classes/com/sun/xml/internal/ws/binding/WebServiceFeatureList.java ! src/share/classes/com/sun/xml/internal/ws/client/AsyncInvoker.java ! src/share/classes/com/sun/xml/internal/ws/client/AsyncResponseImpl.java ! src/share/classes/com/sun/xml/internal/ws/client/BindingProviderProperties.java + src/share/classes/com/sun/xml/internal/ws/client/ClientContainer.java + src/share/classes/com/sun/xml/internal/ws/client/ClientSchemaValidationTube.java ! src/share/classes/com/sun/xml/internal/ws/client/HandlerConfiguration.java - src/share/classes/com/sun/xml/internal/ws/client/ResponseImpl.java ! src/share/classes/com/sun/xml/internal/ws/client/Stub.java ! src/share/classes/com/sun/xml/internal/ws/client/WSServiceDelegate.java ! src/share/classes/com/sun/xml/internal/ws/client/dispatch/DataSourceDispatch.java ! src/share/classes/com/sun/xml/internal/ws/client/dispatch/DispatchImpl.java ! src/share/classes/com/sun/xml/internal/ws/client/dispatch/RESTSourceDispatch.java ! src/share/classes/com/sun/xml/internal/ws/client/dispatch/SOAPMessageDispatch.java - src/share/classes/com/sun/xml/internal/ws/client/sei/AsyncBuilder.java ! src/share/classes/com/sun/xml/internal/ws/client/sei/AsyncMethodHandler.java ! src/share/classes/com/sun/xml/internal/ws/client/sei/BodyBuilder.java ! src/share/classes/com/sun/xml/internal/ws/client/sei/CallbackMethodHandler.java ! src/share/classes/com/sun/xml/internal/ws/client/sei/MessageFiller.java ! src/share/classes/com/sun/xml/internal/ws/client/sei/MethodHandler.java ! src/share/classes/com/sun/xml/internal/ws/client/sei/PollingMethodHandler.java ! src/share/classes/com/sun/xml/internal/ws/client/sei/ResponseBuilder.java + src/share/classes/com/sun/xml/internal/ws/client/sei/SEIMethodHandler.java ! src/share/classes/com/sun/xml/internal/ws/client/sei/SEIStub.java ! src/share/classes/com/sun/xml/internal/ws/client/sei/SyncMethodHandler.java ! src/share/classes/com/sun/xml/internal/ws/client/sei/ValueGetter.java + src/share/classes/com/sun/xml/internal/ws/client/sei/ValueGetterFactory.java ! src/share/classes/com/sun/xml/internal/ws/client/sei/ValueSetter.java + src/share/classes/com/sun/xml/internal/ws/client/sei/ValueSetterFactory.java + src/share/classes/com/sun/xml/internal/ws/client/sei/pacakge-info.java - src/share/classes/com/sun/xml/internal/ws/client/sei/package-info.java + src/share/classes/com/sun/xml/internal/ws/developer/BindingTypeFeature.java + src/share/classes/com/sun/xml/internal/ws/developer/JAXBContextFactory.java ! src/share/classes/com/sun/xml/internal/ws/developer/JAXWSProperties.java ! src/share/classes/com/sun/xml/internal/ws/developer/MemberSubmissionAddressing.java ! src/share/classes/com/sun/xml/internal/ws/developer/MemberSubmissionAddressingFeature.java ! src/share/classes/com/sun/xml/internal/ws/developer/MemberSubmissionEndpointReference.java + src/share/classes/com/sun/xml/internal/ws/developer/SchemaValidation.java + src/share/classes/com/sun/xml/internal/ws/developer/SchemaValidationFeature.java ! src/share/classes/com/sun/xml/internal/ws/developer/StatefulFeature.java + src/share/classes/com/sun/xml/internal/ws/developer/StreamingAttachment.java + src/share/classes/com/sun/xml/internal/ws/developer/StreamingAttachmentFeature.java + src/share/classes/com/sun/xml/internal/ws/developer/StreamingDataHandler.java + src/share/classes/com/sun/xml/internal/ws/developer/UsesJAXBContext.java + src/share/classes/com/sun/xml/internal/ws/developer/UsesJAXBContextFeature.java + src/share/classes/com/sun/xml/internal/ws/developer/ValidationErrorHandler.java ! src/share/classes/com/sun/xml/internal/ws/developer/WSBindingProvider.java - src/share/classes/com/sun/xml/internal/ws/encoding/AbstractXMLStreamWriterExImpl.java + src/share/classes/com/sun/xml/internal/ws/encoding/ContentType.java ! src/share/classes/com/sun/xml/internal/ws/encoding/ContentTypeImpl.java + src/share/classes/com/sun/xml/internal/ws/encoding/DataSourceStreamingDataHandler.java + src/share/classes/com/sun/xml/internal/ws/encoding/HeaderTokenizer.java + src/share/classes/com/sun/xml/internal/ws/encoding/ImageDataContentHandler.java + src/share/classes/com/sun/xml/internal/ws/encoding/MIMEPartStreamingDataHandler.java ! src/share/classes/com/sun/xml/internal/ws/encoding/MimeCodec.java ! src/share/classes/com/sun/xml/internal/ws/encoding/MimeMultipartParser.java ! src/share/classes/com/sun/xml/internal/ws/encoding/MtomCodec.java + src/share/classes/com/sun/xml/internal/ws/encoding/ParameterList.java + src/share/classes/com/sun/xml/internal/ws/encoding/RootOnlyCodec.java ! src/share/classes/com/sun/xml/internal/ws/encoding/SOAPBindingCodec.java ! src/share/classes/com/sun/xml/internal/ws/encoding/StreamSOAP11Codec.java ! src/share/classes/com/sun/xml/internal/ws/encoding/StreamSOAP12Codec.java ! src/share/classes/com/sun/xml/internal/ws/encoding/StreamSOAPCodec.java + src/share/classes/com/sun/xml/internal/ws/encoding/StringDataContentHandler.java ! src/share/classes/com/sun/xml/internal/ws/encoding/SwACodec.java ! src/share/classes/com/sun/xml/internal/ws/encoding/TagInfoset.java ! src/share/classes/com/sun/xml/internal/ws/encoding/XMLHTTPBindingCodec.java + src/share/classes/com/sun/xml/internal/ws/encoding/XmlDataContentHandler.java ! src/share/classes/com/sun/xml/internal/ws/encoding/fastinfoset/FastInfosetCodec.java ! src/share/classes/com/sun/xml/internal/ws/encoding/xml/XMLCodec.java ! src/share/classes/com/sun/xml/internal/ws/encoding/xml/XMLMessage.java ! src/share/classes/com/sun/xml/internal/ws/fault/SOAP11Fault.java ! src/share/classes/com/sun/xml/internal/ws/fault/SOAP12Fault.java ! src/share/classes/com/sun/xml/internal/ws/fault/SOAPFaultBuilder.java ! src/share/classes/com/sun/xml/internal/ws/handler/ClientLogicalHandlerTube.java + src/share/classes/com/sun/xml/internal/ws/handler/ClientMessageHandlerTube.java ! src/share/classes/com/sun/xml/internal/ws/handler/ClientSOAPHandlerTube.java ! src/share/classes/com/sun/xml/internal/ws/handler/HandlerTube.java + src/share/classes/com/sun/xml/internal/ws/handler/MessageHandlerContextImpl.java ! src/share/classes/com/sun/xml/internal/ws/handler/SOAPMessageContextImpl.java ! src/share/classes/com/sun/xml/internal/ws/handler/ServerLogicalHandlerTube.java + src/share/classes/com/sun/xml/internal/ws/handler/ServerMessageHandlerTube.java ! src/share/classes/com/sun/xml/internal/ws/handler/ServerSOAPHandlerTube.java ! src/share/classes/com/sun/xml/internal/ws/message/AttachmentUnmarshallerImpl.java ! src/share/classes/com/sun/xml/internal/ws/message/ByteArrayAttachment.java ! src/share/classes/com/sun/xml/internal/ws/message/DOMHeader.java ! src/share/classes/com/sun/xml/internal/ws/message/DataHandlerAttachment.java + src/share/classes/com/sun/xml/internal/ws/message/FaultMessage.java ! src/share/classes/com/sun/xml/internal/ws/message/JAXBAttachment.java ! src/share/classes/com/sun/xml/internal/ws/message/MimeAttachmentSet.java ! src/share/classes/com/sun/xml/internal/ws/message/jaxb/JAXBHeader.java ! src/share/classes/com/sun/xml/internal/ws/message/jaxb/JAXBMessage.java ! src/share/classes/com/sun/xml/internal/ws/message/jaxb/MarshallerBridge.java ! src/share/classes/com/sun/xml/internal/ws/message/saaj/SAAJMessage.java ! src/share/classes/com/sun/xml/internal/ws/message/stream/StreamAttachment.java ! src/share/classes/com/sun/xml/internal/ws/message/stream/StreamHeader.java ! src/share/classes/com/sun/xml/internal/ws/message/stream/StreamHeader11.java ! src/share/classes/com/sun/xml/internal/ws/message/stream/StreamHeader12.java ! src/share/classes/com/sun/xml/internal/ws/message/stream/StreamMessage.java ! src/share/classes/com/sun/xml/internal/ws/model/AbstractSEIModelImpl.java + src/share/classes/com/sun/xml/internal/ws/model/FieldSignature.java + src/share/classes/com/sun/xml/internal/ws/model/Injector.java ! src/share/classes/com/sun/xml/internal/ws/model/JavaMethodImpl.java ! src/share/classes/com/sun/xml/internal/ws/model/RuntimeModeler.java ! src/share/classes/com/sun/xml/internal/ws/model/SOAPSEIModel.java + src/share/classes/com/sun/xml/internal/ws/model/WrapperBeanGenerator.java + src/share/classes/com/sun/xml/internal/ws/model/wsdl/WSDLBoundFaultImpl.java ! src/share/classes/com/sun/xml/internal/ws/model/wsdl/WSDLBoundOperationImpl.java ! src/share/classes/com/sun/xml/internal/ws/model/wsdl/WSDLBoundPortTypeImpl.java ! src/share/classes/com/sun/xml/internal/ws/model/wsdl/WSDLFaultImpl.java ! src/share/classes/com/sun/xml/internal/ws/model/wsdl/WSDLInputImpl.java ! src/share/classes/com/sun/xml/internal/ws/model/wsdl/WSDLMessageImpl.java ! src/share/classes/com/sun/xml/internal/ws/model/wsdl/WSDLOutputImpl.java + src/share/classes/com/sun/xml/internal/ws/org/objectweb/asm/AnnotationVisitor.java + src/share/classes/com/sun/xml/internal/ws/org/objectweb/asm/AnnotationWriter.java + src/share/classes/com/sun/xml/internal/ws/org/objectweb/asm/Attribute.java + src/share/classes/com/sun/xml/internal/ws/org/objectweb/asm/ByteVector.java + src/share/classes/com/sun/xml/internal/ws/org/objectweb/asm/ClassReader.java + src/share/classes/com/sun/xml/internal/ws/org/objectweb/asm/ClassVisitor.java + src/share/classes/com/sun/xml/internal/ws/org/objectweb/asm/ClassWriter.java + src/share/classes/com/sun/xml/internal/ws/org/objectweb/asm/Edge.java + src/share/classes/com/sun/xml/internal/ws/org/objectweb/asm/FieldVisitor.java + src/share/classes/com/sun/xml/internal/ws/org/objectweb/asm/FieldWriter.java + src/share/classes/com/sun/xml/internal/ws/org/objectweb/asm/Frame.java + src/share/classes/com/sun/xml/internal/ws/org/objectweb/asm/Handler.java + src/share/classes/com/sun/xml/internal/ws/org/objectweb/asm/Item.java + src/share/classes/com/sun/xml/internal/ws/org/objectweb/asm/Label.java + src/share/classes/com/sun/xml/internal/ws/org/objectweb/asm/MethodVisitor.java + src/share/classes/com/sun/xml/internal/ws/org/objectweb/asm/MethodWriter.java + src/share/classes/com/sun/xml/internal/ws/org/objectweb/asm/Opcodes.java + src/share/classes/com/sun/xml/internal/ws/org/objectweb/asm/Type.java ! src/share/classes/com/sun/xml/internal/ws/protocol/soap/MUTube.java + src/share/classes/com/sun/xml/internal/ws/protocol/soap/MessageCreationException.java ! src/share/classes/com/sun/xml/internal/ws/resources/AddressingMessages.java ! src/share/classes/com/sun/xml/internal/ws/resources/ClientMessages.java ! src/share/classes/com/sun/xml/internal/ws/resources/ModelerMessages.java ! src/share/classes/com/sun/xml/internal/ws/resources/ProviderApiMessages.java ! src/share/classes/com/sun/xml/internal/ws/resources/ServerMessages.java ! src/share/classes/com/sun/xml/internal/ws/resources/WsservletMessages.java ! src/share/classes/com/sun/xml/internal/ws/resources/addressing.properties ! src/share/classes/com/sun/xml/internal/ws/resources/client.properties ! src/share/classes/com/sun/xml/internal/ws/resources/dispatch.properties ! src/share/classes/com/sun/xml/internal/ws/resources/encoding.properties ! src/share/classes/com/sun/xml/internal/ws/resources/handler.properties ! src/share/classes/com/sun/xml/internal/ws/resources/httpserver.properties ! src/share/classes/com/sun/xml/internal/ws/resources/modeler.properties ! src/share/classes/com/sun/xml/internal/ws/resources/providerApi.properties ! src/share/classes/com/sun/xml/internal/ws/resources/sender.properties ! src/share/classes/com/sun/xml/internal/ws/resources/server.properties ! src/share/classes/com/sun/xml/internal/ws/resources/soap.properties ! src/share/classes/com/sun/xml/internal/ws/resources/streaming.properties ! src/share/classes/com/sun/xml/internal/ws/resources/util.properties ! src/share/classes/com/sun/xml/internal/ws/resources/wsdlmodel.properties ! src/share/classes/com/sun/xml/internal/ws/resources/wsservlet.properties ! src/share/classes/com/sun/xml/internal/ws/resources/xmlmessage.properties ! src/share/classes/com/sun/xml/internal/ws/server/AbstractInstanceResolver.java + src/share/classes/com/sun/xml/internal/ws/server/DraconianValidationErrorHandler.java ! src/share/classes/com/sun/xml/internal/ws/server/EndpointFactory.java + src/share/classes/com/sun/xml/internal/ws/server/JMXAgent.java ! src/share/classes/com/sun/xml/internal/ws/server/SDDocumentImpl.java + src/share/classes/com/sun/xml/internal/ws/server/ServerSchemaValidationTube.java ! src/share/classes/com/sun/xml/internal/ws/server/StatefulInstanceResolver.java ! src/share/classes/com/sun/xml/internal/ws/server/UnsupportedMediaException.java ! src/share/classes/com/sun/xml/internal/ws/server/WSDLPatcher.java ! src/share/classes/com/sun/xml/internal/ws/server/WSEndpointImpl.java ! src/share/classes/com/sun/xml/internal/ws/server/provider/ProviderArgumentsBuilder.java ! src/share/classes/com/sun/xml/internal/ws/server/provider/XMLProviderArgumentBuilder.java ! src/share/classes/com/sun/xml/internal/ws/server/sei/EndpointArgumentsBuilder.java ! src/share/classes/com/sun/xml/internal/ws/server/sei/EndpointMethodDispatcher.java ! src/share/classes/com/sun/xml/internal/ws/server/sei/EndpointMethodDispatcherGetter.java ! src/share/classes/com/sun/xml/internal/ws/server/sei/EndpointMethodHandler.java ! src/share/classes/com/sun/xml/internal/ws/server/sei/PayloadQNameBasedDispatcher.java ! src/share/classes/com/sun/xml/internal/ws/server/sei/SEIInvokerTube.java + src/share/classes/com/sun/xml/internal/ws/server/sei/SOAPActionBasedDispatcher.java ! src/share/classes/com/sun/xml/internal/ws/spi/ProviderImpl.java ! src/share/classes/com/sun/xml/internal/ws/streaming/DOMStreamReader.java + src/share/classes/com/sun/xml/internal/ws/streaming/MtomStreamWriter.java - src/share/classes/com/sun/xml/internal/ws/streaming/XMLReader.java ! src/share/classes/com/sun/xml/internal/ws/streaming/XMLReaderException.java ! src/share/classes/com/sun/xml/internal/ws/streaming/XMLStreamReaderUtil.java ! src/share/classes/com/sun/xml/internal/ws/streaming/XMLStreamWriterUtil.java ! src/share/classes/com/sun/xml/internal/ws/transport/Headers.java ! src/share/classes/com/sun/xml/internal/ws/transport/http/DeploymentDescriptorParser.java ! src/share/classes/com/sun/xml/internal/ws/transport/http/HttpAdapter.java + src/share/classes/com/sun/xml/internal/ws/transport/http/HttpDump.java + src/share/classes/com/sun/xml/internal/ws/transport/http/HttpDumpMBean.java + src/share/classes/com/sun/xml/internal/ws/transport/http/HttpMetadataPublisher.java ! src/share/classes/com/sun/xml/internal/ws/transport/http/WSHTTPConnection.java ! src/share/classes/com/sun/xml/internal/ws/transport/http/client/HttpClientTransport.java ! src/share/classes/com/sun/xml/internal/ws/transport/http/client/HttpTransportPipe.java ! src/share/classes/com/sun/xml/internal/ws/transport/http/server/EndpointImpl.java ! src/share/classes/com/sun/xml/internal/ws/transport/http/server/HttpEndpoint.java ! src/share/classes/com/sun/xml/internal/ws/transport/http/server/ServerConnectionImpl.java ! src/share/classes/com/sun/xml/internal/ws/transport/http/server/ServerMgr.java ! src/share/classes/com/sun/xml/internal/ws/transport/http/server/WSHttpHandler.java ! src/share/classes/com/sun/xml/internal/ws/util/ByteArrayBuffer.java ! src/share/classes/com/sun/xml/internal/ws/util/DOMUtil.java ! src/share/classes/com/sun/xml/internal/ws/util/HandlerAnnotationProcessor.java + src/share/classes/com/sun/xml/internal/ws/util/MetadataUtil.java ! src/share/classes/com/sun/xml/internal/ws/util/Pool.java ! src/share/classes/com/sun/xml/internal/ws/util/QNameMap.java ! src/share/classes/com/sun/xml/internal/ws/util/RuntimeVersion.java + src/share/classes/com/sun/xml/internal/ws/util/RuntimeVersionMBean.java + src/share/classes/com/sun/xml/internal/ws/util/pipe/AbstractSchemaValidationTube.java ! src/share/classes/com/sun/xml/internal/ws/util/pipe/DumpTube.java ! src/share/classes/com/sun/xml/internal/ws/util/pipe/StandaloneTubeAssembler.java ! src/share/classes/com/sun/xml/internal/ws/util/resources/Messages_en.properties ! src/share/classes/com/sun/xml/internal/ws/util/version.properties ! src/share/classes/com/sun/xml/internal/ws/util/xml/ContentHandlerToXMLStreamWriter.java + src/share/classes/com/sun/xml/internal/ws/util/xml/MetadataDocument.java ! src/share/classes/com/sun/xml/internal/ws/util/xml/StAXSource.java ! src/share/classes/com/sun/xml/internal/ws/util/xml/XMLStreamReaderToXMLStreamWriter.java ! src/share/classes/com/sun/xml/internal/ws/util/xml/XmlUtil.java ! src/share/classes/com/sun/xml/internal/ws/wsdl/parser/DelegatingParserExtension.java ! src/share/classes/com/sun/xml/internal/ws/wsdl/parser/FoolProofParserExtension.java ! src/share/classes/com/sun/xml/internal/ws/wsdl/parser/ParserUtil.java ! src/share/classes/com/sun/xml/internal/ws/wsdl/parser/RuntimeWSDLParser.java + src/share/classes/com/sun/xml/internal/ws/wsdl/parser/W3CAddressingMetadataWSDLParserExtension.java ! src/share/classes/com/sun/xml/internal/ws/wsdl/parser/WSDLParserExtensionContextImpl.java ! src/share/classes/com/sun/xml/internal/ws/wsdl/parser/WSDLParserExtensionFacade.java ! src/share/classes/com/sun/xml/internal/ws/wsdl/writer/UsingAddressing.java ! src/share/classes/com/sun/xml/internal/ws/wsdl/writer/W3CAddressingWSDLGeneratorExtension.java ! src/share/classes/com/sun/xml/internal/ws/wsdl/writer/WSDLGenerator.java ! src/share/classes/com/sun/xml/internal/xsom/ForeignAttributes.java ! src/share/classes/com/sun/xml/internal/xsom/SCD.java ! src/share/classes/com/sun/xml/internal/xsom/XSAnnotation.java ! src/share/classes/com/sun/xml/internal/xsom/XSAttContainer.java ! src/share/classes/com/sun/xml/internal/xsom/XSAttGroupDecl.java ! src/share/classes/com/sun/xml/internal/xsom/XSAttributeDecl.java ! src/share/classes/com/sun/xml/internal/xsom/XSAttributeUse.java ! src/share/classes/com/sun/xml/internal/xsom/XSComplexType.java ! src/share/classes/com/sun/xml/internal/xsom/XSComponent.java ! src/share/classes/com/sun/xml/internal/xsom/XSContentType.java ! src/share/classes/com/sun/xml/internal/xsom/XSDeclaration.java ! src/share/classes/com/sun/xml/internal/xsom/XSElementDecl.java ! src/share/classes/com/sun/xml/internal/xsom/XSFacet.java ! src/share/classes/com/sun/xml/internal/xsom/XSIdentityConstraint.java ! src/share/classes/com/sun/xml/internal/xsom/XSListSimpleType.java ! src/share/classes/com/sun/xml/internal/xsom/XSModelGroup.java ! src/share/classes/com/sun/xml/internal/xsom/XSModelGroupDecl.java ! src/share/classes/com/sun/xml/internal/xsom/XSNotation.java ! src/share/classes/com/sun/xml/internal/xsom/XSParticle.java ! src/share/classes/com/sun/xml/internal/xsom/XSRestrictionSimpleType.java ! src/share/classes/com/sun/xml/internal/xsom/XSSchema.java ! src/share/classes/com/sun/xml/internal/xsom/XSSchemaSet.java ! src/share/classes/com/sun/xml/internal/xsom/XSSimpleType.java ! src/share/classes/com/sun/xml/internal/xsom/XSTerm.java ! src/share/classes/com/sun/xml/internal/xsom/XSType.java ! src/share/classes/com/sun/xml/internal/xsom/XSUnionSimpleType.java ! src/share/classes/com/sun/xml/internal/xsom/XSVariety.java ! src/share/classes/com/sun/xml/internal/xsom/XSWildcard.java ! src/share/classes/com/sun/xml/internal/xsom/XSXPath.java ! src/share/classes/com/sun/xml/internal/xsom/XmlString.java ! src/share/classes/com/sun/xml/internal/xsom/impl/AnnotationImpl.java ! src/share/classes/com/sun/xml/internal/xsom/impl/AttGroupDeclImpl.java ! src/share/classes/com/sun/xml/internal/xsom/impl/AttributeDeclImpl.java ! src/share/classes/com/sun/xml/internal/xsom/impl/AttributeUseImpl.java ! src/share/classes/com/sun/xml/internal/xsom/impl/AttributesHolder.java ! src/share/classes/com/sun/xml/internal/xsom/impl/ComplexTypeImpl.java ! src/share/classes/com/sun/xml/internal/xsom/impl/ComponentImpl.java ! src/share/classes/com/sun/xml/internal/xsom/impl/Const.java ! src/share/classes/com/sun/xml/internal/xsom/impl/ContentTypeImpl.java ! src/share/classes/com/sun/xml/internal/xsom/impl/DeclarationImpl.java ! src/share/classes/com/sun/xml/internal/xsom/impl/ElementDecl.java ! src/share/classes/com/sun/xml/internal/xsom/impl/EmptyImpl.java ! src/share/classes/com/sun/xml/internal/xsom/impl/FacetImpl.java ! src/share/classes/com/sun/xml/internal/xsom/impl/ForeignAttributesImpl.java ! src/share/classes/com/sun/xml/internal/xsom/impl/IdentityConstraintImpl.java ! src/share/classes/com/sun/xml/internal/xsom/impl/ListSimpleTypeImpl.java ! src/share/classes/com/sun/xml/internal/xsom/impl/ModelGroupDeclImpl.java ! src/share/classes/com/sun/xml/internal/xsom/impl/ModelGroupImpl.java ! src/share/classes/com/sun/xml/internal/xsom/impl/NotationImpl.java ! src/share/classes/com/sun/xml/internal/xsom/impl/ParticleImpl.java ! src/share/classes/com/sun/xml/internal/xsom/impl/Ref.java ! src/share/classes/com/sun/xml/internal/xsom/impl/RestrictionSimpleTypeImpl.java ! src/share/classes/com/sun/xml/internal/xsom/impl/SchemaImpl.java ! src/share/classes/com/sun/xml/internal/xsom/impl/SchemaSetImpl.java ! src/share/classes/com/sun/xml/internal/xsom/impl/SimpleTypeImpl.java ! src/share/classes/com/sun/xml/internal/xsom/impl/UName.java ! src/share/classes/com/sun/xml/internal/xsom/impl/UnionSimpleTypeImpl.java ! src/share/classes/com/sun/xml/internal/xsom/impl/Util.java ! src/share/classes/com/sun/xml/internal/xsom/impl/WildcardImpl.java ! src/share/classes/com/sun/xml/internal/xsom/impl/XPathImpl.java ! src/share/classes/com/sun/xml/internal/xsom/impl/package.html ! src/share/classes/com/sun/xml/internal/xsom/impl/parser/BaseContentRef.java ! src/share/classes/com/sun/xml/internal/xsom/impl/parser/DefaultAnnotationParser.java ! src/share/classes/com/sun/xml/internal/xsom/impl/parser/DelayedRef.java ! src/share/classes/com/sun/xml/internal/xsom/impl/parser/Messages.java ! src/share/classes/com/sun/xml/internal/xsom/impl/parser/Messages.properties ! src/share/classes/com/sun/xml/internal/xsom/impl/parser/Messages_ja.properties ! src/share/classes/com/sun/xml/internal/xsom/impl/parser/NGCCRuntimeEx.java ! src/share/classes/com/sun/xml/internal/xsom/impl/parser/ParserContext.java ! src/share/classes/com/sun/xml/internal/xsom/impl/parser/Patch.java ! src/share/classes/com/sun/xml/internal/xsom/impl/parser/PatcherManager.java ! src/share/classes/com/sun/xml/internal/xsom/impl/parser/SAXParserFactoryAdaptor.java ! src/share/classes/com/sun/xml/internal/xsom/impl/parser/SchemaDocumentImpl.java ! src/share/classes/com/sun/xml/internal/xsom/impl/parser/SubstGroupBaseTypeRef.java ! src/share/classes/com/sun/xml/internal/xsom/impl/parser/state/Schema.java ! src/share/classes/com/sun/xml/internal/xsom/impl/parser/state/SimpleType_List.java ! src/share/classes/com/sun/xml/internal/xsom/impl/parser/state/SimpleType_Restriction.java ! src/share/classes/com/sun/xml/internal/xsom/impl/parser/state/SimpleType_Union.java ! src/share/classes/com/sun/xml/internal/xsom/impl/parser/state/annotation.java ! src/share/classes/com/sun/xml/internal/xsom/impl/parser/state/attributeDeclBody.java ! src/share/classes/com/sun/xml/internal/xsom/impl/parser/state/attributeGroupDecl.java ! src/share/classes/com/sun/xml/internal/xsom/impl/parser/state/attributeUses.java ! src/share/classes/com/sun/xml/internal/xsom/impl/parser/state/complexType.java ! src/share/classes/com/sun/xml/internal/xsom/impl/parser/state/complexType_complexContent_body.java ! src/share/classes/com/sun/xml/internal/xsom/impl/parser/state/elementDeclBody.java ! src/share/classes/com/sun/xml/internal/xsom/impl/parser/state/erSet.java ! src/share/classes/com/sun/xml/internal/xsom/impl/parser/state/facet.java ! src/share/classes/com/sun/xml/internal/xsom/impl/parser/state/group.java ! src/share/classes/com/sun/xml/internal/xsom/impl/parser/state/identityConstraint.java ! src/share/classes/com/sun/xml/internal/xsom/impl/parser/state/importDecl.java ! src/share/classes/com/sun/xml/internal/xsom/impl/parser/state/includeDecl.java ! src/share/classes/com/sun/xml/internal/xsom/impl/parser/state/modelGroupBody.java ! src/share/classes/com/sun/xml/internal/xsom/impl/parser/state/notation.java ! src/share/classes/com/sun/xml/internal/xsom/impl/parser/state/occurs.java ! src/share/classes/com/sun/xml/internal/xsom/impl/parser/state/particle.java ! src/share/classes/com/sun/xml/internal/xsom/impl/parser/state/qname.java ! src/share/classes/com/sun/xml/internal/xsom/impl/parser/state/redefine.java ! src/share/classes/com/sun/xml/internal/xsom/impl/parser/state/simpleType.java ! src/share/classes/com/sun/xml/internal/xsom/impl/parser/state/wildcardBody.java ! src/share/classes/com/sun/xml/internal/xsom/impl/parser/state/xpath.java ! src/share/classes/com/sun/xml/internal/xsom/impl/scd/AbstractAxisImpl.java ! src/share/classes/com/sun/xml/internal/xsom/impl/scd/Axis.java ! src/share/classes/com/sun/xml/internal/xsom/impl/scd/Iterators.java ! src/share/classes/com/sun/xml/internal/xsom/impl/scd/ParseException.java ! src/share/classes/com/sun/xml/internal/xsom/impl/scd/SCDImpl.java ! src/share/classes/com/sun/xml/internal/xsom/impl/scd/SCDParserConstants.java ! src/share/classes/com/sun/xml/internal/xsom/impl/scd/Step.java ! src/share/classes/com/sun/xml/internal/xsom/impl/util/DraconianErrorHandler.java ! src/share/classes/com/sun/xml/internal/xsom/impl/util/ResourceEntityResolver.java ! src/share/classes/com/sun/xml/internal/xsom/impl/util/SchemaTreeTraverser.java ! src/share/classes/com/sun/xml/internal/xsom/impl/util/SchemaWriter.java ! src/share/classes/com/sun/xml/internal/xsom/impl/util/Uri.java ! src/share/classes/com/sun/xml/internal/xsom/parser/AnnotationContext.java ! src/share/classes/com/sun/xml/internal/xsom/parser/AnnotationParser.java ! src/share/classes/com/sun/xml/internal/xsom/parser/AnnotationParserFactory.java ! src/share/classes/com/sun/xml/internal/xsom/parser/JAXPParser.java ! src/share/classes/com/sun/xml/internal/xsom/parser/SchemaDocument.java ! src/share/classes/com/sun/xml/internal/xsom/parser/XMLParser.java ! src/share/classes/com/sun/xml/internal/xsom/parser/XSOMParser.java ! src/share/classes/com/sun/xml/internal/xsom/parser/package.html ! src/share/classes/com/sun/xml/internal/xsom/util/ComponentNameFunction.java ! src/share/classes/com/sun/xml/internal/xsom/util/DeferedCollection.java ! src/share/classes/com/sun/xml/internal/xsom/util/DomAnnotationParserFactory.java ! src/share/classes/com/sun/xml/internal/xsom/util/NameGetter.java ! src/share/classes/com/sun/xml/internal/xsom/util/NameGetter.properties ! src/share/classes/com/sun/xml/internal/xsom/util/SimpleTypeSet.java ! src/share/classes/com/sun/xml/internal/xsom/util/TypeClosure.java ! src/share/classes/com/sun/xml/internal/xsom/util/TypeSet.java ! src/share/classes/com/sun/xml/internal/xsom/util/XSFinder.java ! src/share/classes/com/sun/xml/internal/xsom/util/XSFunctionFilter.java ! src/share/classes/com/sun/xml/internal/xsom/visitor/XSContentTypeFunction.java ! src/share/classes/com/sun/xml/internal/xsom/visitor/XSContentTypeVisitor.java ! src/share/classes/com/sun/xml/internal/xsom/visitor/XSFunction.java ! src/share/classes/com/sun/xml/internal/xsom/visitor/XSSimpleTypeFunction.java ! src/share/classes/com/sun/xml/internal/xsom/visitor/XSSimpleTypeVisitor.java ! src/share/classes/com/sun/xml/internal/xsom/visitor/XSTermFunction.java ! src/share/classes/com/sun/xml/internal/xsom/visitor/XSTermFunctionWithParam.java ! src/share/classes/com/sun/xml/internal/xsom/visitor/XSTermVisitor.java ! src/share/classes/com/sun/xml/internal/xsom/visitor/XSVisitor.java ! src/share/classes/com/sun/xml/internal/xsom/visitor/XSWildcardFunction.java ! src/share/classes/com/sun/xml/internal/xsom/visitor/XSWildcardVisitor.java ! src/share/classes/com/sun/xml/internal/xsom/visitor/package.html ! src/share/classes/javax/xml/bind/ContextFinder.java ! src/share/classes/javax/xml/bind/DatatypeConverter.java ! src/share/classes/javax/xml/bind/DatatypeConverterImpl.java ! src/share/classes/javax/xml/bind/DatatypeConverterInterface.java ! src/share/classes/javax/xml/bind/Element.java ! src/share/classes/javax/xml/bind/JAXBContext.java ! src/share/classes/javax/xml/bind/JAXBException.java ! src/share/classes/javax/xml/bind/MarshalException.java ! src/share/classes/javax/xml/bind/Marshaller.java ! src/share/classes/javax/xml/bind/Messages.properties ! src/share/classes/javax/xml/bind/NotIdentifiableEvent.java ! src/share/classes/javax/xml/bind/ParseConversionEvent.java ! src/share/classes/javax/xml/bind/PrintConversionEvent.java ! src/share/classes/javax/xml/bind/PropertyException.java ! src/share/classes/javax/xml/bind/TypeConstraintException.java ! src/share/classes/javax/xml/bind/UnmarshalException.java ! src/share/classes/javax/xml/bind/Unmarshaller.java ! src/share/classes/javax/xml/bind/UnmarshallerHandler.java ! src/share/classes/javax/xml/bind/ValidationEvent.java ! src/share/classes/javax/xml/bind/ValidationEventHandler.java ! src/share/classes/javax/xml/bind/ValidationEventLocator.java ! src/share/classes/javax/xml/bind/ValidationException.java ! src/share/classes/javax/xml/bind/Validator.java ! src/share/classes/javax/xml/bind/annotation/XmlAccessOrder.java ! src/share/classes/javax/xml/bind/annotation/XmlAccessType.java ! src/share/classes/javax/xml/bind/annotation/XmlAccessorOrder.java ! src/share/classes/javax/xml/bind/annotation/XmlAccessorType.java ! src/share/classes/javax/xml/bind/annotation/XmlAttribute.java ! src/share/classes/javax/xml/bind/annotation/XmlElement.java ! src/share/classes/javax/xml/bind/annotation/XmlID.java ! src/share/classes/javax/xml/bind/annotation/XmlIDREF.java ! src/share/classes/javax/xml/bind/annotation/XmlNs.java ! src/share/classes/javax/xml/bind/annotation/XmlNsForm.java ! src/share/classes/javax/xml/bind/annotation/XmlSchema.java ! src/share/classes/javax/xml/bind/annotation/XmlSeeAlso.java ! src/share/classes/javax/xml/bind/annotation/XmlTransient.java ! src/share/classes/javax/xml/bind/annotation/XmlType.java ! src/share/classes/javax/xml/bind/annotation/XmlValue.java ! src/share/classes/javax/xml/bind/annotation/adapters/XmlJavaTypeAdapter.java ! src/share/classes/javax/xml/bind/annotation/adapters/package.html ! src/share/classes/javax/xml/bind/annotation/package.html ! src/share/classes/javax/xml/bind/attachment/package.html ! src/share/classes/javax/xml/bind/helpers/AbstractMarshallerImpl.java ! src/share/classes/javax/xml/bind/helpers/AbstractUnmarshallerImpl.java ! src/share/classes/javax/xml/bind/helpers/DefaultValidationEventHandler.java ! src/share/classes/javax/xml/bind/helpers/Messages.properties ! src/share/classes/javax/xml/bind/helpers/NotIdentifiableEventImpl.java ! src/share/classes/javax/xml/bind/helpers/ParseConversionEventImpl.java ! src/share/classes/javax/xml/bind/helpers/PrintConversionEventImpl.java ! src/share/classes/javax/xml/bind/helpers/ValidationEventImpl.java ! src/share/classes/javax/xml/bind/helpers/ValidationEventLocatorImpl.java ! src/share/classes/javax/xml/bind/helpers/package.html ! src/share/classes/javax/xml/bind/package.html ! src/share/classes/javax/xml/bind/util/Messages.properties ! src/share/classes/javax/xml/bind/util/ValidationEventCollector.java ! src/share/classes/javax/xml/bind/util/package.html ! src/share/classes/javax/xml/soap/AttachmentPart.java ! src/share/classes/javax/xml/soap/Detail.java ! src/share/classes/javax/xml/soap/DetailEntry.java ! src/share/classes/javax/xml/soap/FactoryFinder.java ! src/share/classes/javax/xml/soap/MessageFactory.java ! src/share/classes/javax/xml/soap/MimeHeader.java ! src/share/classes/javax/xml/soap/MimeHeaders.java ! src/share/classes/javax/xml/soap/Name.java ! src/share/classes/javax/xml/soap/Node.java ! src/share/classes/javax/xml/soap/SAAJMetaFactory.java ! src/share/classes/javax/xml/soap/SAAJResult.java ! src/share/classes/javax/xml/soap/SOAPBody.java ! src/share/classes/javax/xml/soap/SOAPBodyElement.java ! src/share/classes/javax/xml/soap/SOAPConnection.java ! src/share/classes/javax/xml/soap/SOAPConnectionFactory.java ! src/share/classes/javax/xml/soap/SOAPConstants.java ! src/share/classes/javax/xml/soap/SOAPElement.java ! src/share/classes/javax/xml/soap/SOAPElementFactory.java ! src/share/classes/javax/xml/soap/SOAPEnvelope.java ! src/share/classes/javax/xml/soap/SOAPException.java ! src/share/classes/javax/xml/soap/SOAPFactory.java ! src/share/classes/javax/xml/soap/SOAPFault.java ! src/share/classes/javax/xml/soap/SOAPFaultElement.java ! src/share/classes/javax/xml/soap/SOAPHeader.java ! src/share/classes/javax/xml/soap/SOAPHeaderElement.java ! src/share/classes/javax/xml/soap/SOAPMessage.java ! src/share/classes/javax/xml/soap/SOAPPart.java ! src/share/classes/javax/xml/soap/Text.java ! src/share/classes/javax/xml/soap/package.html ! src/share/classes/javax/xml/ws/spi/FactoryFinder.java ! src/share/classes/javax/xml/ws/wsaddressing/W3CEndpointReference.java ! src/share/classes/org/relaxng/datatype/Datatype.java ! src/share/classes/org/relaxng/datatype/DatatypeBuilder.java ! src/share/classes/org/relaxng/datatype/DatatypeException.java ! src/share/classes/org/relaxng/datatype/DatatypeLibrary.java ! src/share/classes/org/relaxng/datatype/DatatypeLibraryFactory.java ! src/share/classes/org/relaxng/datatype/DatatypeStreamingValidator.java ! src/share/classes/org/relaxng/datatype/ValidationContext.java ! src/share/classes/org/relaxng/datatype/helpers/DatatypeLibraryLoader.java ! src/share/classes/org/relaxng/datatype/helpers/ParameterlessDatatypeBuilder.java ! src/share/classes/org/relaxng/datatype/helpers/StreamingValidatorImpl.java Changeset: 3d1c5fd9c01d Author: asaha Date: 2009-08-10 10:52 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/jaxws/rev/3d1c5fd9c01d Merge Changeset: 6608dd3dae86 Author: tbell Date: 2009-08-14 08:51 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/jaxws/rev/6608dd3dae86 Merge Changeset: dd3c5f3ec28d Author: tbell Date: 2009-08-18 16:15 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/jaxws/rev/dd3c5f3ec28d 6873200: patch.out and jaxws.patch do not belong in jaxws repository Reviewed-by: xdono, ohair - jaxws.patch - patch.out Changeset: 03314cf56a72 Author: xdono Date: 2009-08-20 11:20 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/jaxws/rev/03314cf56a72 Added tag jdk7-b70 for changeset dd3c5f3ec28d ! .hgtags From Jon.Masamitsu at Sun.COM Fri Aug 21 17:57:20 2009 From: Jon.Masamitsu at Sun.COM (Jon Masamitsu) Date: Fri, 21 Aug 2009 10:57:20 -0700 Subject: request for review (m) - 6858496 Message-ID: <4A8EE000.2060401@sun.com> Fixed 6858496: Clear all SoftReferences before an out-of-memory due to GC overhead limit. Also did some tuning of the policy for out-of-memory due to GC overhead to make it more restrictive. A successful scavenge will reset the count on consecutive GC's needed to exceed the GC overhead limit. This is intended for HSX17. http://cr.openjdk.java.net/~jmasa/6858496/webrev.00/ Thanks. From gustav.trede at gmail.com Sat Aug 22 05:06:21 2009 From: gustav.trede at gmail.com (gustav trede) Date: Sat, 22 Aug 2009 07:06:21 +0200 Subject: Bits.reserveMemory Message-ID: <311e0eaf0908212206ha2585f9xfc7bc4d6fb859c4f@mail.gmail.com> Hello, Is it possible to make the use of Bits.reserveMemory , unreserveMemory configurable ?. Usage cases that do not have need for this extra check could benefit from improved concurrency, where the gc and allocating threads don't have the risk of fighting around this static synchronized lock. A volatile boolean check before entering the lock could do this. Even low contention usage would benefit from using a cheap read of volatile boolean compared to a synchronized around multiple memory writes that must be flushed. -- regards gustav trede -------------- next part -------------- An HTML attachment was scrubbed... URL: From jon.masamitsu at sun.com Mon Aug 24 19:47:55 2009 From: jon.masamitsu at sun.com (jon.masamitsu at sun.com) Date: Mon, 24 Aug 2009 19:47:55 +0000 Subject: hg: jdk7/hotspot-gc/hotspot: 6798898: CMS: bugs related to class unloading Message-ID: <20090824194802.AB34A12424@hg.openjdk.java.net> Changeset: 05f89f00a864 Author: jmasa Date: 2009-08-24 10:36 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/hotspot/rev/05f89f00a864 6798898: CMS: bugs related to class unloading Summary: Override should_remember_klasses() and remember_klass() as needed. Reviewed-by: ysr, jcoomes ! src/share/vm/gc_implementation/concurrentMarkSweep/cmsOopClosures.hpp ! src/share/vm/gc_implementation/concurrentMarkSweep/cmsOopClosures.inline.hpp ! src/share/vm/gc_implementation/concurrentMarkSweep/concurrentMarkSweepGeneration.cpp ! src/share/vm/gc_implementation/concurrentMarkSweep/concurrentMarkSweepGeneration.hpp ! src/share/vm/gc_implementation/includeDB_gc_concurrentMarkSweep ! src/share/vm/memory/iterator.cpp ! src/share/vm/memory/iterator.hpp ! src/share/vm/memory/referenceProcessor.cpp From antonios.printezis at sun.com Tue Aug 25 00:05:32 2009 From: antonios.printezis at sun.com (antonios.printezis at sun.com) Date: Tue, 25 Aug 2009 00:05:32 +0000 Subject: hg: jdk7/hotspot-gc/hotspot: 2 new changesets Message-ID: <20090825000543.744801244C@hg.openjdk.java.net> Changeset: e1fdf4fd34dc Author: tonyp Date: 2009-08-19 12:53 -0400 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/hotspot/rev/e1fdf4fd34dc 6871111: G1: remove the concurrent overhead tracker Summary: Removing the concurrent overhead tracker from G1, along with the GC overhead reporter and the G1AccountConcurrentOverhead (both of which rely on the the concurrent overhead tracker). Reviewed-by: iveresov, johnc ! src/share/vm/gc_implementation/g1/concurrentG1RefineThread.cpp ! src/share/vm/gc_implementation/g1/concurrentG1RefineThread.hpp ! src/share/vm/gc_implementation/g1/concurrentMark.cpp ! src/share/vm/gc_implementation/g1/concurrentMark.hpp ! src/share/vm/gc_implementation/g1/concurrentMarkThread.cpp ! src/share/vm/gc_implementation/g1/concurrentZFThread.cpp ! src/share/vm/gc_implementation/g1/concurrentZFThread.hpp ! src/share/vm/gc_implementation/g1/g1CollectedHeap.cpp ! src/share/vm/gc_implementation/g1/g1CollectorPolicy.cpp ! src/share/vm/gc_implementation/g1/g1CollectorPolicy.hpp ! src/share/vm/gc_implementation/g1/g1MMUTracker.cpp ! src/share/vm/gc_implementation/g1/g1MMUTracker.hpp ! src/share/vm/gc_implementation/g1/g1_globals.hpp ! src/share/vm/gc_implementation/includeDB_gc_g1 ! src/share/vm/gc_implementation/includeDB_gc_shared - 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 Changeset: ead53f6b615d Author: tonyp Date: 2009-08-24 13:52 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/hotspot/rev/ead53f6b615d 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 From john.coomes at sun.com Tue Aug 25 06:41:15 2009 From: john.coomes at sun.com (john.coomes at sun.com) Date: Tue, 25 Aug 2009 06:41:15 +0000 Subject: hg: jdk7/hotspot-gc/hotspot: 6861660: OopMapBlock count/size confusion Message-ID: <20090825064121.80E8A124F5@hg.openjdk.java.net> Changeset: b37c246bf7ce Author: jcoomes Date: 2009-08-11 15:37 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/hotspot/rev/b37c246bf7ce 6861660: OopMapBlock count/size confusion Reviewed-by: tonyp, iveresov ! src/share/vm/classfile/classFileParser.cpp ! src/share/vm/classfile/classFileParser.hpp ! src/share/vm/memory/oopFactory.cpp ! src/share/vm/memory/oopFactory.hpp ! src/share/vm/oops/instanceKlass.cpp ! src/share/vm/oops/instanceKlass.hpp ! src/share/vm/oops/instanceKlassKlass.cpp ! src/share/vm/oops/instanceKlassKlass.hpp ! src/share/vm/oops/instanceRefKlass.cpp From John.Rose at Sun.COM Tue Aug 25 08:42:17 2009 From: John.Rose at Sun.COM (John Rose) Date: Tue, 25 Aug 2009 01:42:17 -0700 Subject: for review (M): 6863023: need non-perm oops in code cache for JSR 292 In-Reply-To: <7575205F-F595-4348-A57F-B226AADBEB50@sun.com> References: <01A90166-7F50-4218-B38A-345C7CA7ABF7@sun.com> <7575205F-F595-4348-A57F-B226AADBEB50@sun.com> Message-ID: <458FA846-61F1-4DCC-A83B-C89B3F8D95B0@Sun.COM> On Aug 11, 2009, at 11:31 AM, Tom Rodriguez wrote: > I don't really like the non_perm naming being baked into this. I > expect at some point we'll want/need to fix this to have a more > refined notion of whether the GC needs to scan the nmethods that > won't be based on is_perm. OK, that's fair. > I expect that a lot of nmethods will start ending up on the list and > scanning a significant portion of the code cache twice for every > scavenge seems like an overhead we'd want to avoid. The new root list is used instead of walking the whole code cache. Both scans don't need to happen in the same operation. So I don't get what you mean here by "scanning twice". > Maybe scavengeable or some other more descriptive but less specific > term would be better. If the GC interface provided a > BoolObjectClosure to identify scavengable oops then we could use > that to easily distinguish which ones need to be scanned. Since it's a global property, a simple subroutine would do as well as a closure. This makes sense. I'll change "non-perm" to "scavengable", and put in a note what they term is trying to indicate. That will decouple the policy we might want to extend from the old non-perm category. To do this, I'll add parallel definitions to oopDesc::is_perm and SharedHeap::is_permanent. Some of the renames are: non_perm_{nmethods,link,state} => scavenge_root_{nmethods,...} {add,drop,prune,...}_non_perm_nmethod => {add,...}_scavenge_root_nmethod NonPermCodeRefs => ScavengeRootsInCode > Minor nit: In the ad files could you write all the asserts in the > same way: > > + assert(oop(d64)->is_oop() && (NonPermCodeRefs || oop(d64)- > >is_perm()), Yes, will do. > ciObject.cpp: > I don't think I get the distinction between has_encoding and > should_be_constant. I always thought has_encoding was a stupid > name. Maybe has_encoding should be can_be_embedded and > should_be_constant -> should_be_embedded. I guess > should_be_constant is ok but then has_encoding should be > can_be_constant. The relationship between these two should be > clearer. I'll change has_encoding to can_be_constant. I'll also rename ciObject::encoding to constant_encoding, to keep that correspondence clear. It will also make the term "encoding" a little less overloaded; it also refers to machine register names and maybe other instruction operands. BTW, I found during testing that some non-perm oops were getting into the code cache even if the config flag was set to zero. The bug fix is in type.cpp, with a little extra "can vs. should" logic in TypeOopPtr::make_from_constant: http://cr.openjdk.java.net/~jrose/6863023/webrev.02/src/share/vm/opto/type.cpp.udiff.html > What's the plan for this? I think we want to pick a default and > stick with it. You mean the plan for the setting of NonPermCodeRefs? We'll need to set it to the middle option "1" by default when JSR 292 stuff is turned on by default. We need some such constants for invokedynamic targets. We'll want to put more such constants into code, I think, when we improve our constant-finding to look through final fields at run-time. (The ball's in your court on that one, with the "effectively final" work.) Whether or not we should have the compiler put all possible constants into the code cache will need some experimentation; for now the conservative thing is to allow them but have the compiler be selective about which to put in. That's the middle option of NonPermCodeRefs. > codecache.cpp: > why isn't the logic for drop_non_perm_nmethod part of nmethod::flush > instead of being buried in CodeCache::free? Oops; thanks! > nmethod.hpp: > The enum names shouldn't look like variable declarations. Remove > the underscore. > + enum { _npl_on_list = 0x01, _npl_marked = 0x10 }; OK. > nmethod.cpp: > There are quite a few returns here... > +bool nmethod::detect_non_perm_oops() { > + DetectNonPerm detect_non_perm; > + if (PrintRelocations) NOT_PRODUCT(detect_non_perm._print_nm = > this); > + oops_do(&detect_non_perm); > + return detect_non_perm.detected_non_perm(); > + return false; > + return true; > +} Yes; an incomplete edit. Fixed. (JPRT kicked it out at me also.) > I don't think your marking changes are right. I think the new rule > has to be that during a scavenge a the non-perm subset of nmethods > are scanned as strong roots and during a full collection all > nmethods are treated as weak roots as they are right now. We could > make them be weak during a scavenge but then we'd need to perform > the do_unloading/make_unloaded logic during a scavenge and it seems > like we should avoid that. Given this I think the call to > non_perm_nmethod_oops_do in psMarkSweep is wrong since it makes them > into strong roots. As far as I can tell the others are probably > right though I don't claim to understand the layering in our gcs. That's a good catch. Thanks for explaining it. I agree that making those nmethods strong roots will inhibit class unloading for the affected code (that which uses invokedynamic). Most of the extra oops we're putting into the nmethods are also rooted in the method's constant pool, so they won't go dead until the enclosing nmethod also needs to get unloaded. Some of the extra oops might be rooted uniquely in the nmethod, because they are optimistic tests on cases that no longer exist. This is similar to what happens to our type-predicted virtual calls, when the predicted type disappears. At that point, the nmethod holds the last remaining reference to the predicted type, and needs to be flushed. There is a lighter-weight case where an inline cache has a stale pointer; the IC gets reset, instead of the whole nmethod getting unloaded. In the case of a predicted invokedynamic target, the whole nmethod needs to be flushed. Does this sound reasonable? If so, I just need to remove the call in phase 1 of psMarkSweep to non_perm_nmethod_oops_do, and let nmethods with stale oops get flushed. Thanks for the review. I've updated the webrev: http://cr.openjdk.java.net/~jrose/6863023/webrev.02 -- John > On Jul 22, 2009, at 1:53 AM, John Rose wrote: > >> In order to inline method handles at invokedynamic instructions, it >> is necessary to manipulate MethodHandle and CallSite constants from >> generated code. Since these objects are created by ordinary user >> code and subject to usual GC, they are not preallocated in the perm >> gen. >> >> Currently compiled code requires that any oop embedded as an >> instruction constant or any other nmethod part must be >> OopDesc::is_perm. For example, internal method objects and classes >> and interned strings are permanent so that they can be manipulated >> from compiled code. >> >> This restriction is a bug for JSR 292. Luckily, there is a simple >> fix. >> >> http://cr.openjdk.java.net/~jrose/6862576/webrev.00/ -------------- next part -------------- An HTML attachment was scrubbed... URL: From john.coomes at sun.com Tue Aug 25 08:48:09 2009 From: john.coomes at sun.com (john.coomes at sun.com) Date: Tue, 25 Aug 2009 08:48:09 +0000 Subject: hg: jdk7/hotspot-gc/hotspot: 6845368: large objects cause a crash or unexpected exception Message-ID: <20090825084818.4DB1B12508@hg.openjdk.java.net> Changeset: 9eebd3ac74cf Author: jcoomes Date: 2009-08-13 16:22 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/hotspot/rev/9eebd3ac74cf 6845368: large objects cause a crash or unexpected exception Reviewed-by: jmasa, iveresov ! src/share/vm/classfile/classFileParser.cpp ! src/share/vm/classfile/classFileParser.hpp ! src/share/vm/memory/oopFactory.cpp ! src/share/vm/memory/oopFactory.hpp ! src/share/vm/oops/instanceKlass.cpp ! src/share/vm/oops/instanceKlass.hpp ! src/share/vm/oops/instanceKlassKlass.cpp ! src/share/vm/oops/instanceKlassKlass.hpp ! src/share/vm/oops/instanceRefKlass.cpp + test/gc/6845368/bigobj.java From Thomas.Rodriguez at Sun.COM Tue Aug 25 16:24:42 2009 From: Thomas.Rodriguez at Sun.COM (Tom Rodriguez) Date: Tue, 25 Aug 2009 09:24:42 -0700 Subject: for review (M): 6863023: need non-perm oops in code cache for JSR 292 In-Reply-To: <458FA846-61F1-4DCC-A83B-C89B3F8D95B0@Sun.COM> References: <01A90166-7F50-4218-B38A-345C7CA7ABF7@sun.com> <7575205F-F595-4348-A57F-B226AADBEB50@sun.com> <458FA846-61F1-4DCC-A83B-C89B3F8D95B0@Sun.COM> Message-ID: <9934F3AA-5B11-4369-BB69-EF9C378DD610@sun.com> On Aug 25, 2009, at 1:42 AM, John Rose wrote: > On Aug 11, 2009, at 11:31 AM, Tom Rodriguez wrote: > >> I don't really like the non_perm naming being baked into this. I >> expect at some point we'll want/need to fix this to have a more >> refined notion of whether the GC needs to scan the nmethods that >> won't be based on is_perm. > > OK, that's fair. > >> I expect that a lot of nmethods will start ending up on the list >> and scanning a significant portion of the code cache twice for >> every scavenge seems like an overhead we'd want to avoid. > > The new root list is used instead of walking the whole code cache. > Both scans don't need to happen in the same operation. So I don't > get what you mean here by "scanning twice". Once for marking and once to update any pointers. >> I don't think your marking changes are right. I think the new rule >> has to be that during a scavenge a the non-perm subset of nmethods >> are scanned as strong roots and during a full collection all >> nmethods are treated as weak roots as they are right now. We could >> make them be weak during a scavenge but then we'd need to perform >> the do_unloading/make_unloaded logic during a scavenge and it seems >> like we should avoid that. Given this I think the call to >> non_perm_nmethod_oops_do in psMarkSweep is wrong since it makes >> them into strong roots. As far as I can tell the others are >> probably right though I don't claim to understand the layering in >> our gcs. > > That's a good catch. Thanks for explaining it. I agree that making > those nmethods strong roots will inhibit class unloading for the > affected code (that which uses invokedynamic). > > Most of the extra oops we're putting into the nmethods are also > rooted in the method's constant pool, so they won't go dead until > the enclosing nmethod also needs to get unloaded. Some of the extra > oops might be rooted uniquely in the nmethod, because they are > optimistic tests on cases that no longer exist. This is similar to > what happens to our type-predicted virtual calls, when the predicted > type disappears. At that point, the nmethod holds the last > remaining reference to the predicted type, and needs to be flushed. > There is a lighter-weight case where an inline cache has a stale > pointer; the IC gets reset, instead of the whole nmethod getting > unloaded. In the case of a predicted invokedynamic target, the > whole nmethod needs to be flushed. > > Does this sound reasonable? If so, I just need to remove the call > in phase 1 of psMarkSweep to non_perm_nmethod_oops_do, and let > nmethods with stale oops get flushed. Yes that sounds right. tom > > Thanks for the review. I've updated the webrev: > http://cr.openjdk.java.net/~jrose/6863023/webrev.02 > > -- John > >> On Jul 22, 2009, at 1:53 AM, John Rose wrote: >> >>> In order to inline method handles at invokedynamic instructions, >>> it is necessary to manipulate MethodHandle and CallSite constants >>> from generated code. Since these objects are created by ordinary >>> user code and subject to usual GC, they are not preallocated in >>> the perm gen. >>> >>> Currently compiled code requires that any oop embedded as an >>> instruction constant or any other nmethod part must be >>> OopDesc::is_perm. For example, internal method objects and >>> classes and interned strings are permanent so that they can be >>> manipulated from compiled code. >>> >>> This restriction is a bug for JSR 292. Luckily, there is a simple >>> fix. >>> >>> http://cr.openjdk.java.net/~jrose/6862576/webrev.00/ > > From Thomas.Rodriguez at Sun.COM Thu Aug 27 16:24:53 2009 From: Thomas.Rodriguez at Sun.COM (Tom Rodriguez) Date: Thu, 27 Aug 2009 09:24:53 -0700 Subject: for review (M): 6863023: need non-perm oops in code cache for JSR 292 In-Reply-To: <458FA846-61F1-4DCC-A83B-C89B3F8D95B0@Sun.COM> References: <01A90166-7F50-4218-B38A-345C7CA7ABF7@sun.com> <7575205F-F595-4348-A57F-B226AADBEB50@sun.com> <458FA846-61F1-4DCC-A83B-C89B3F8D95B0@Sun.COM> Message-ID: There's a bug in these changes that Christian just tripped across. In drop_scavenge_root_nmethod the next == nm case doesn't does call clear_on_scavenge_root_list or set the link to NULL. You should move that case into the body of the loop so you don't have to duplicate the code. tom On Aug 25, 2009, at 1:42 AM, John Rose wrote: > On Aug 11, 2009, at 11:31 AM, Tom Rodriguez wrote: > >> I don't really like the non_perm naming being baked into this. I >> expect at some point we'll want/need to fix this to have a more >> refined notion of whether the GC needs to scan the nmethods that >> won't be based on is_perm. > > OK, that's fair. > >> I expect that a lot of nmethods will start ending up on the list >> and scanning a significant portion of the code cache twice for >> every scavenge seems like an overhead we'd want to avoid. > > The new root list is used instead of walking the whole code cache. > Both scans don't need to happen in the same operation. So I don't > get what you mean here by "scanning twice". > >> Maybe scavengeable or some other more descriptive but less specific >> term would be better. If the GC interface provided a >> BoolObjectClosure to identify scavengable oops then we could use >> that to easily distinguish which ones need to be scanned. > > Since it's a global property, a simple subroutine would do as well > as a closure. This makes sense. > > I'll change "non-perm" to "scavengable", and put in a note what they > term is trying to indicate. That will decouple the policy we might > want to extend from the old non-perm category. To do this, I'll add > parallel definitions to oopDesc::is_perm and SharedHeap::is_permanent. > > Some of the renames are: > non_perm_{nmethods,link,state} => scavenge_root_{nmethods,...} > {add,drop,prune,...}_non_perm_nmethod => > {add,...}_scavenge_root_nmethod > NonPermCodeRefs => ScavengeRootsInCode > >> Minor nit: In the ad files could you write all the asserts in the >> same way: >> >> + assert(oop(d64)->is_oop() && (NonPermCodeRefs || oop(d64)- >> >is_perm()), > > Yes, will do. > >> ciObject.cpp: >> I don't think I get the distinction between has_encoding and >> should_be_constant. I always thought has_encoding was a stupid >> name. Maybe has_encoding should be can_be_embedded and >> should_be_constant -> should_be_embedded. I guess >> should_be_constant is ok but then has_encoding should be >> can_be_constant. The relationship between these two should be >> clearer. > > I'll change has_encoding to can_be_constant. > > I'll also rename ciObject::encoding to constant_encoding, to keep > that correspondence clear. It will also make the term "encoding" a > little less overloaded; it also refers to machine register names and > maybe other instruction operands. > > BTW, I found during testing that some non-perm oops were getting > into the code cache even if the config flag was set to zero. The > bug fix is in type.cpp, with a little extra "can vs. should" logic > in TypeOopPtr::make_from_constant: > http://cr.openjdk.java.net/~jrose/6863023/webrev.02/src/share/vm/opto/type.cpp.udiff.html > >> What's the plan for this? I think we want to pick a default and >> stick with it. > > You mean the plan for the setting of NonPermCodeRefs? We'll need to > set it to the middle option "1" by default when JSR 292 stuff is > turned on by default. We need some such constants for invokedynamic > targets. We'll want to put more such constants into code, I think, > when we improve our constant-finding to look through final fields at > run-time. (The ball's in your court on that one, with the > "effectively final" work.) Whether or not we should have the > compiler put all possible constants into the code cache will need > some experimentation; for now the conservative thing is to allow > them but have the compiler be selective about which to put in. > That's the middle option of NonPermCodeRefs. > >> codecache.cpp: >> why isn't the logic for drop_non_perm_nmethod part of >> nmethod::flush instead of being buried in CodeCache::free? > > Oops; thanks! > >> nmethod.hpp: >> The enum names shouldn't look like variable declarations. Remove >> the underscore. >> + enum { _npl_on_list = 0x01, _npl_marked = 0x10 }; > > OK. > >> nmethod.cpp: >> There are quite a few returns here... >> +bool nmethod::detect_non_perm_oops() { >> + DetectNonPerm detect_non_perm; >> + if (PrintRelocations) NOT_PRODUCT(detect_non_perm._print_nm = >> this); >> + oops_do(&detect_non_perm); >> + return detect_non_perm.detected_non_perm(); >> + return false; >> + return true; >> +} > > Yes; an incomplete edit. Fixed. (JPRT kicked it out at me also.) > >> I don't think your marking changes are right. I think the new rule >> has to be that during a scavenge a the non-perm subset of nmethods >> are scanned as strong roots and during a full collection all >> nmethods are treated as weak roots as they are right now. We could >> make them be weak during a scavenge but then we'd need to perform >> the do_unloading/make_unloaded logic during a scavenge and it seems >> like we should avoid that. Given this I think the call to >> non_perm_nmethod_oops_do in psMarkSweep is wrong since it makes >> them into strong roots. As far as I can tell the others are >> probably right though I don't claim to understand the layering in >> our gcs. > > That's a good catch. Thanks for explaining it. I agree that making > those nmethods strong roots will inhibit class unloading for the > affected code (that which uses invokedynamic). > > Most of the extra oops we're putting into the nmethods are also > rooted in the method's constant pool, so they won't go dead until > the enclosing nmethod also needs to get unloaded. Some of the extra > oops might be rooted uniquely in the nmethod, because they are > optimistic tests on cases that no longer exist. This is similar to > what happens to our type-predicted virtual calls, when the predicted > type disappears. At that point, the nmethod holds the last > remaining reference to the predicted type, and needs to be flushed. > There is a lighter-weight case where an inline cache has a stale > pointer; the IC gets reset, instead of the whole nmethod getting > unloaded. In the case of a predicted invokedynamic target, the > whole nmethod needs to be flushed. > > Does this sound reasonable? If so, I just need to remove the call > in phase 1 of psMarkSweep to non_perm_nmethod_oops_do, and let > nmethods with stale oops get flushed. > > Thanks for the review. I've updated the webrev: > http://cr.openjdk.java.net/~jrose/6863023/webrev.02 > > -- John > >> On Jul 22, 2009, at 1:53 AM, John Rose wrote: >> >>> In order to inline method handles at invokedynamic instructions, >>> it is necessary to manipulate MethodHandle and CallSite constants >>> from generated code. Since these objects are created by ordinary >>> user code and subject to usual GC, they are not preallocated in >>> the perm gen. >>> >>> Currently compiled code requires that any oop embedded as an >>> instruction constant or any other nmethod part must be >>> OopDesc::is_perm. For example, internal method objects and >>> classes and interned strings are permanent so that they can be >>> manipulated from compiled code. >>> >>> This restriction is a bug for JSR 292. Luckily, there is a simple >>> fix. >>> >>> http://cr.openjdk.java.net/~jrose/6862576/webrev.00/ > > From John.Rose at Sun.COM Thu Aug 27 18:40:12 2009 From: John.Rose at Sun.COM (John Rose) Date: Thu, 27 Aug 2009 11:40:12 -0700 Subject: for review (M): 6863023: need non-perm oops in code cache for JSR 292 In-Reply-To: References: <01A90166-7F50-4218-B38A-345C7CA7ABF7@sun.com> <7575205F-F595-4348-A57F-B226AADBEB50@sun.com> <458FA846-61F1-4DCC-A83B-C89B3F8D95B0@Sun.COM> Message-ID: <0DA85138-5F50-461C-8A4D-C0F77218E022@Sun.COM> On Aug 27, 2009, at 9:24 AM, Tom Rodriguez wrote: > There's a bug in these changes that Christian just tripped across. > In drop_scavenge_root_nmethod the next == nm case doesn't does call > clear_on_scavenge_root_list or set the link to NULL. You should > move that case into the body of the loop so you don't have to > duplicate the code. Thanks; will fix. On Aug 27, 2009, at 9:32 AM, Tom Rodriguez wrote: > The scanning twice one is probably caused by an nmethod both being > on stack and containing scavengeable oops so it will get scanned > during stack walk and again when all the scavengeable nmethods are > scanned by marking in a minor collection. There needs to be some > marking so it can't get scanned twice. Yes. Double scanning may be the root of several other failures. I think I'll set a bit on the header of each on-stack nmethod in the gc_prologue, and clear it in the gc_epilogue. That way the distinction can be made explicit and clear through all GC phases. What do you think of that? Also, what do you think of setting ScavengeRootsInCode = 1 by default, so that the mechanism gets exercised right away, instead of waiting for EnableInvokeDynamic to be turned on by default? The choice is set SRIC=0 by default (as in webrev) for maximum stability, vs SRIC=1 to default in order to start exploring the GC bug tail (if any :-) right away. SRIC=1 means that if a static final variable contains a non- perm oop, it will still get folded into the code. This currently happens for a handful of methods that use names like java.nio.charset.CoderResult.UNDERFLOW. -- John From Thomas.Rodriguez at Sun.COM Thu Aug 27 19:00:22 2009 From: Thomas.Rodriguez at Sun.COM (Tom Rodriguez) Date: Thu, 27 Aug 2009 12:00:22 -0700 Subject: for review (M): 6863023: need non-perm oops in code cache for JSR 292 In-Reply-To: <0DA85138-5F50-461C-8A4D-C0F77218E022@Sun.COM> References: <01A90166-7F50-4218-B38A-345C7CA7ABF7@sun.com> <7575205F-F595-4348-A57F-B226AADBEB50@sun.com> <458FA846-61F1-4DCC-A83B-C89B3F8D95B0@Sun.COM> <0DA85138-5F50-461C-8A4D-C0F77218E022@Sun.COM> Message-ID: <9F4EB16A-77A4-49C8-8E4E-CC79921B0847@Sun.COM> On Aug 27, 2009, at 11:40 AM, John Rose wrote: > On Aug 27, 2009, at 9:24 AM, Tom Rodriguez wrote: > >> There's a bug in these changes that Christian just tripped across. >> In drop_scavenge_root_nmethod the next == nm case doesn't does call >> clear_on_scavenge_root_list or set the link to NULL. You should >> move that case into the body of the loop so you don't have to >> duplicate the code. > > Thanks; will fix. > > On Aug 27, 2009, at 9:32 AM, Tom Rodriguez wrote: > >> The scanning twice one is probably caused by an nmethod both being >> on stack and containing scavengeable oops so it will get scanned >> during stack walk and again when all the scavengeable nmethods are >> scanned by marking in a minor collection. There needs to be some >> marking so it can't get scanned twice. > > Yes. Double scanning may be the root of several other failures. I > think I'll set a bit on the header of each on-stack nmethod in the > gc_prologue, and clear it in the gc_epilogue. That way the > distinction can be made explicit and clear through all GC phases. > What do you think of that? Hmm. Having to scan the stacks an extra time seems bad, particularly since it's only needed during a scavenge because we're treating some nmethods as strong roots. Can't you just mark the nmethods during the stack walk and clear it during the gc_epilogue? > > Also, what do you think of setting ScavengeRootsInCode = 1 by > default, so that the mechanism gets exercised right away, instead of > waiting for EnableInvokeDynamic to be turned on by default? The > choice is set SRIC=0 by default (as in webrev) for maximum > stability, vs SRIC=1 to default in order to start exploring the GC > bug tail (if any :-) right away. SRIC=1 means that if a static > final variable contains a non-perm oop, it will still get folded > into the code. This currently happens for a handful of methods that > use names like java.nio.charset.CoderResult.UNDERFLOW. I think we'd want to let it sit in hotspot-comp for a while after that change to let nightlies shake out any issues. Running a bunch of tests with it == 1 would probably shake out quite a few of them before putback. tom > > -- John From John.Rose at Sun.COM Thu Aug 27 19:12:30 2009 From: John.Rose at Sun.COM (John Rose) Date: Thu, 27 Aug 2009 12:12:30 -0700 Subject: for review (M): 6863023: need non-perm oops in code cache for JSR 292 In-Reply-To: <9F4EB16A-77A4-49C8-8E4E-CC79921B0847@Sun.COM> References: <01A90166-7F50-4218-B38A-345C7CA7ABF7@sun.com> <7575205F-F595-4348-A57F-B226AADBEB50@sun.com> <458FA846-61F1-4DCC-A83B-C89B3F8D95B0@Sun.COM> <0DA85138-5F50-461C-8A4D-C0F77218E022@Sun.COM> <9F4EB16A-77A4-49C8-8E4E-CC79921B0847@Sun.COM> Message-ID: On Aug 27, 2009, at 12:00 PM, Tom Rodriguez wrote: > Hmm. Having to scan the stacks an extra time seems bad, > particularly since it's only needed during a scavenge because we're > treating some nmethods as strong roots. Can't you just mark the > nmethods during the stack walk and clear it during the gc_epilogue? Yes, that's what I was intending. In the epilogue either a stack walk or a code-cache walk will suffice to clear the bits, and I think there's already a code-cache walk in all the relevant cases. -- John From John.Rose at Sun.COM Thu Aug 27 19:13:46 2009 From: John.Rose at Sun.COM (John Rose) Date: Thu, 27 Aug 2009 12:13:46 -0700 Subject: for review (M): 6863023: need non-perm oops in code cache for JSR 292 In-Reply-To: <9F4EB16A-77A4-49C8-8E4E-CC79921B0847@Sun.COM> References: <01A90166-7F50-4218-B38A-345C7CA7ABF7@sun.com> <7575205F-F595-4348-A57F-B226AADBEB50@sun.com> <458FA846-61F1-4DCC-A83B-C89B3F8D95B0@Sun.COM> <0DA85138-5F50-461C-8A4D-C0F77218E022@Sun.COM> <9F4EB16A-77A4-49C8-8E4E-CC79921B0847@Sun.COM> Message-ID: On Aug 27, 2009, at 12:00 PM, Tom Rodriguez wrote: > I think we'd want to let it sit in hotspot-comp for a while after > that change to let nightlies shake out any issues. Running a bunch > of tests with it == 1 would probably shake out quite a few of them > before putback. I guess I'll stick to the plan of =0 for starts. As a separate putback (& bugid) I'll set it =1, but only after testing vigorously with it =2. -- John From Thomas.Rodriguez at Sun.COM Thu Aug 27 19:33:53 2009 From: Thomas.Rodriguez at Sun.COM (Tom Rodriguez) Date: Thu, 27 Aug 2009 12:33:53 -0700 Subject: for review (M): 6863023: need non-perm oops in code cache for JSR 292 In-Reply-To: References: <01A90166-7F50-4218-B38A-345C7CA7ABF7@sun.com> <7575205F-F595-4348-A57F-B226AADBEB50@sun.com> <458FA846-61F1-4DCC-A83B-C89B3F8D95B0@Sun.COM> <0DA85138-5F50-461C-8A4D-C0F77218E022@Sun.COM> <9F4EB16A-77A4-49C8-8E4E-CC79921B0847@Sun.COM> Message-ID: <65B20C88-A940-43BE-AD22-31B6FFDDE3B0@Sun.COM> Sounds good. tom On Aug 27, 2009, at 12:13 PM, John Rose wrote: > On Aug 27, 2009, at 12:00 PM, Tom Rodriguez wrote: > >> I think we'd want to let it sit in hotspot-comp for a while after >> that change to let nightlies shake out any issues. Running a bunch >> of tests with it == 1 would probably shake out quite a few of them >> before putback. > > I guess I'll stick to the plan of =0 for starts. As a separate > putback (& bugid) I'll set it =1, but only after testing vigorously > with it =2. > > -- John From Thomas.Rodriguez at Sun.COM Thu Aug 27 19:34:08 2009 From: Thomas.Rodriguez at Sun.COM (Tom Rodriguez) Date: Thu, 27 Aug 2009 12:34:08 -0700 Subject: for review (M): 6863023: need non-perm oops in code cache for JSR 292 In-Reply-To: References: <01A90166-7F50-4218-B38A-345C7CA7ABF7@sun.com> <7575205F-F595-4348-A57F-B226AADBEB50@sun.com> <458FA846-61F1-4DCC-A83B-C89B3F8D95B0@Sun.COM> <0DA85138-5F50-461C-8A4D-C0F77218E022@Sun.COM> <9F4EB16A-77A4-49C8-8E4E-CC79921B0847@Sun.COM> Message-ID: <490D444C-294F-46F9-AA59-B7CE77C08145@Sun.COM> On Aug 27, 2009, at 12:12 PM, John Rose wrote: > On Aug 27, 2009, at 12:00 PM, Tom Rodriguez wrote: > >> Hmm. Having to scan the stacks an extra time seems bad, >> particularly since it's only needed during a scavenge because we're >> treating some nmethods as strong roots. Can't you just mark the >> nmethods during the stack walk and clear it during the gc_epilogue? > > Yes, that's what I was intending. In the epilogue either a stack > walk or a code-cache walk will suffice to clear the bits, and I > think there's already a code-cache walk in all the relevant cases. Oh, I thought you meant an additional walk in gc_prologue. gc_epiloque already includes a code cache walk so in the end it should require no extra walks, just some extra marking. tom > > -- John From andrey.petrusenko at sun.com Mon Aug 31 17:59:21 2009 From: andrey.petrusenko at sun.com (andrey.petrusenko at sun.com) Date: Mon, 31 Aug 2009 17:59:21 +0000 Subject: hg: jdk7/hotspot-gc/hotspot: 6841313: G1: dirty cards of survivor regions in parallel Message-ID: <20090831175930.183DA128E9@hg.openjdk.java.net> Changeset: 8624da129f0b Author: apetrusenko Date: 2009-08-31 05:27 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/hotspot/rev/8624da129f0b 6841313: G1: dirty cards of survivor regions in parallel Reviewed-by: tonyp, iveresov ! src/share/vm/gc_implementation/g1/g1CollectedHeap.cpp ! src/share/vm/gc_implementation/g1/g1_globals.hpp ! src/share/vm/memory/cardTableModRefBS.cpp ! src/share/vm/memory/cardTableModRefBS.hpp